@charset "UTF-8";
@keyframes slide-in-left {
  0% {
    transform: translateX(20px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slide-in-right {
  0% {
    transform: translateX(-20px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

/* ============================================================================
 * Vendor
 * ========================================================================= */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */

  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: .67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  /* 1 */
  overflow: visible;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  /* 1 */
          text-decoration: underline;
          text-decoration: underline dotted;
  border-bottom: none;
  /* 2 */

  -webkit-text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
  position: relative;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: .35em .75em .625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  /* 3 */
  white-space: normal;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  box-sizing: border-box;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  /* 1 */
  outline-offset: -2px;

  -webkit-appearance: textfield;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  /* 1 */
  font: inherit;

  -webkit-appearance: button;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

html[data-is-scrolling="true"] .nav-local> .inner {
  will-change: position;
}

/* ============================================================================
 * Default Styles
 * ========================================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

html[data-scroll-disabled="true"]> body {
  position: fixed;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

body {
  font-size: 1.4rem;
  color: #333;
  background: #fff;
  position: relative;
  min-width: 320px;
  margin: 0 auto;
  padding: 0;
}

main {
  display: block;
}

a:hover {
  text-decoration: none;
  color: #808080;
}

a:focus {
  outline: 1px dashed #333;
  outline: -webkit-focus-ring-color auto 5px;
}

a[target="_blank"][href^="http"]:not([rel~="noopener"]),
a[target="_blank"][href^="http"]:not([rel~="noreferrer"]) {
  background: #f00 !important;
  opacity: .8 !important;
}

[id^="anc-"] {
  margin-top: -50px;
  padding-top: 50px;
}

[id^="anc-"][id*=" "],
[id^="anc-"][id*="　"] {
  background: #f00 !important;
}

[class^="site-"],
[class^="str-"],
[class^="nav-"],
[class^="mod-"],
[class^="comp-"],
[class^="func-"] {
  font: 14px/1.7 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

[class^="site-"] a:link,
[class^="site-"] a:visited,
[class^="site-"] a:active,
[class^="site-"] a:focus,
[class^="str-"] a:link,
[class^="str-"] a:visited,
[class^="str-"] a:active,
[class^="str-"] a:focus,
[class^="nav-"] a:link,
[class^="nav-"] a:visited,
[class^="nav-"] a:active,
[class^="nav-"] a:focus,
[class^="mod-"] a:link,
[class^="mod-"] a:visited,
[class^="mod-"] a:active,
[class^="mod-"] a:focus,
[class^="comp-"] a:link,
[class^="comp-"] a:visited,
[class^="comp-"] a:active,
[class^="comp-"] a:focus,
[class^="func-"] a:link,
[class^="func-"] a:visited,
[class^="func-"] a:active,
[class^="func-"] a:focus {
  text-decoration: underline;
}

[class^="site-"] a:not([href]),
[class^="str-"] a:not([href]),
[class^="nav-"] a:not([href]),
[class^="mod-"] a:not([href]),
[class^="comp-"] a:not([href]),
[class^="func-"] a:not([href]) {
  cursor: text;
}

[class^="site-"] a[role="button"],
[class^="str-"] a[role="button"],
[class^="nav-"] a[role="button"],
[class^="mod-"] a[role="button"],
[class^="comp-"] a[role="button"],
[class^="func-"] a[role="button"] {
  cursor: default;
}

[class^="site-"] a img,
[class^="str-"] a img,
[class^="nav-"] a img,
[class^="mod-"] a img,
[class^="comp-"] a img,
[class^="func-"] a img {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

[class^="site-"] a img.icn-_blank,
[class^="site-"] a img.icn-pdf,
[class^="str-"] a img.icn-_blank,
[class^="str-"] a img.icn-pdf,
[class^="nav-"] a img.icn-_blank,
[class^="nav-"] a img.icn-pdf,
[class^="mod-"] a img.icn-_blank,
[class^="mod-"] a img.icn-pdf,
[class^="comp-"] a img.icn-_blank,
[class^="comp-"] a img.icn-pdf,
[class^="func-"] a img.icn-_blank,
[class^="func-"] a img.icn-pdf {
  vertical-align: baseline;
  position: relative;
  top: 1px;
  margin: 0 3px 0 4px;
}

[class^="site-"] small,
[class^="str-"] small,
[class^="nav-"] small,
[class^="mod-"] small,
[class^="comp-"] small,
[class^="func-"] small {
  font-size: 100%;
}

[class^="site-"] h1,
[class^="site-"] h2,
[class^="site-"] h3,
[class^="site-"] h4,
[class^="site-"] h5,
[class^="site-"] h6,
[class^="str-"] h1,
[class^="str-"] h2,
[class^="str-"] h3,
[class^="str-"] h4,
[class^="str-"] h5,
[class^="str-"] h6,
[class^="nav-"] h1,
[class^="nav-"] h2,
[class^="nav-"] h3,
[class^="nav-"] h4,
[class^="nav-"] h5,
[class^="nav-"] h6,
[class^="mod-"] h1,
[class^="mod-"] h2,
[class^="mod-"] h3,
[class^="mod-"] h4,
[class^="mod-"] h5,
[class^="mod-"] h6,
[class^="comp-"] h1,
[class^="comp-"] h2,
[class^="comp-"] h3,
[class^="comp-"] h4,
[class^="comp-"] h5,
[class^="comp-"] h6,
[class^="func-"] h1,
[class^="func-"] h2,
[class^="func-"] h3,
[class^="func-"] h4,
[class^="func-"] h5,
[class^="func-"] h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

[class^="site-"] em,
[class^="str-"] em,
[class^="nav-"] em,
[class^="mod-"] em,
[class^="comp-"] em,
[class^="func-"] em {
  font-weight: bold;
  font-style: normal;
}

[class^="site-"] dfn,
[class^="str-"] dfn,
[class^="nav-"] dfn,
[class^="mod-"] dfn,
[class^="comp-"] dfn,
[class^="func-"] dfn {
  font-style: normal;
}

[class^="site-"] button,
[class^="str-"] button,
[class^="nav-"] button,
[class^="mod-"] button,
[class^="comp-"] button,
[class^="func-"] button {
  font-family: inherit;
  line-height: inherit;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-shadow: none;
}

[class^="site-"] input,
[class^="site-"] textarea,
[class^="site-"] select,
[class^="site-"] button,
[class^="site-"] [role="button"],
[class^="str-"] input,
[class^="str-"] textarea,
[class^="str-"] select,
[class^="str-"] button,
[class^="str-"] [role="button"],
[class^="nav-"] input,
[class^="nav-"] textarea,
[class^="nav-"] select,
[class^="nav-"] button,
[class^="nav-"] [role="button"],
[class^="mod-"] input,
[class^="mod-"] textarea,
[class^="mod-"] select,
[class^="mod-"] button,
[class^="mod-"] [role="button"],
[class^="comp-"] input,
[class^="comp-"] textarea,
[class^="comp-"] select,
[class^="comp-"] button,
[class^="comp-"] [role="button"],
[class^="func-"] input,
[class^="func-"] textarea,
[class^="func-"] select,
[class^="func-"] button,
[class^="func-"] [role="button"] {
  max-width: 100%;

  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
}

[class^="site-"] ::-moz-focus-inner,
[class^="str-"] ::-moz-focus-inner,
[class^="nav-"] ::-moz-focus-inner,
[class^="mod-"] ::-moz-focus-inner,
[class^="comp-"] ::-moz-focus-inner,
[class^="func-"] ::-moz-focus-inner {
  padding: 0;
  border: 0;
}

[class^="site-"] select::-ms-expand,
[class^="str-"] select::-ms-expand,
[class^="nav-"] select::-ms-expand,
[class^="mod-"] select::-ms-expand,
[class^="comp-"] select::-ms-expand,
[class^="func-"] select::-ms-expand {
  display: none;
}

[class^="site-"] figure,
[class^="str-"] figure,
[class^="nav-"] figure,
[class^="mod-"] figure,
[class^="comp-"] figure,
[class^="func-"] figure {
  margin: 0;
}

[class^="site-"] ul,
[class^="site-"] ol,
[class^="site-"] dl,
[class^="site-"] dt,
[class^="site-"] dd,
[class^="site-"] li,
[class^="str-"] ul,
[class^="str-"] ol,
[class^="str-"] dl,
[class^="str-"] dt,
[class^="str-"] dd,
[class^="str-"] li,
[class^="nav-"] ul,
[class^="nav-"] ol,
[class^="nav-"] dl,
[class^="nav-"] dt,
[class^="nav-"] dd,
[class^="nav-"] li,
[class^="mod-"] ul,
[class^="mod-"] ol,
[class^="mod-"] dl,
[class^="mod-"] dt,
[class^="mod-"] dd,
[class^="mod-"] li,
[class^="comp-"] ul,
[class^="comp-"] ol,
[class^="comp-"] dl,
[class^="comp-"] dt,
[class^="comp-"] dd,
[class^="comp-"] li,
[class^="func-"] ul,
[class^="func-"] ol,
[class^="func-"] dl,
[class^="func-"] dt,
[class^="func-"] dd,
[class^="func-"] li {
  margin: 0;
  padding: 0;
}

[class^="site-"] li,
[class^="str-"] li,
[class^="nav-"] li,
[class^="mod-"] li,
[class^="comp-"] li,
[class^="func-"] li {
  list-style: none;
}

[class^="site-"],
[class^="str-"],
[class^="nav-"],
[class^="comp-"] {
  text-align: left;
}

/* ============================================================================
 * site-*, str-* 全ページ共通で登場するパーツ、構造
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .str-breadcrumb パンくずリスト
 * ------------------------------------------------------------------------- */
.str-breadcrumb {
  line-height: 1.7;
  display: none;
  padding: 0 16px;
}

.str-breadcrumb> .inner {
  font-size: 1.1rem;
  text-align: left;
  max-width: 960px;
  margin: 0 auto;
  padding: 21px 0;
}

.str-breadcrumb> .inner> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -16px 0 0 -16px;
}

.str-breadcrumb> .inner> .list> li {
  position: relative;
  padding: 16px 0 0 16px;
}

.str-breadcrumb> .inner> .list> li:not(:first-child)::before {
  line-height: 1.7;
  position: absolute;
  top: 15px;
  left: 4px;
  content: ">";
}

.str-breadcrumb a {
  text-decoration: none;
  color: #1391ce;
}

.str-breadcrumb a:visited {
  text-decoration: none;
  color: #005e99;
}

.str-breadcrumb a:hover {
  text-decoration: underline;
}

.str-breadcrumb a:not([href])[aria-current="page"] {
  text-decoration: none;
  color: inherit;
}

/* ----------------------------------------------------------------------------
 * .str-mainvisual メインビジュアル
 * ------------------------------------------------------------------------- */
.str-mainvisual {
  background: #ddd center center no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  margin: 0 0 54px;
}

.str-mainvisual::after {
  display: block;
  min-height: 100px;
  content: "";
}

.str-mainvisual> .inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 12px;
}

.str-mainvisual> .inner> .content {
  width: 100%;
  padding: 0 0 10px;
}

.str-mainvisual> .inner> .content> .hdg {
  font-size: 3rem;
  font-weight: bold;
  color: #fff;
}

.str-mainvisual> .inner> .content> .hdg span {
  font-size: 1.8rem;
  display: block;
}

.str-mainvisual> .inner> .content> .hdg span+ strong {
  font-size: 3rem;
}

.str-mainvisual> .inner> .control> *+ * {
  margin-top: 5px;
}

.str-mainvisual> .inner> .control> .favorite,
.str-mainvisual> .inner> .control> .compare {
  text-align: right;
}

.str-mainvisual> .inner> .control> .favorite a,
.str-mainvisual> .inner> .control> .compare a {
  text-decoration: none;
  letter-spacing: -1px;
  white-space: nowrap;
  color: #333;
  background: #fefefe;
  position: relative;
  display: inline-flex;
  padding: 8px 12px 8px 6px;
  border: 1px solid #505050;
}

.str-mainvisual> .inner> .control> .favorite a> span> .length,
.str-mainvisual> .inner> .control> .compare a> span> .length {
  font-weight: normal;
  line-height: 1;
  color: #fff;
  background: #9fd038;
  display: inline-block;
  margin: 0 2px 0 0;
  padding: 2px 11px;
  border-radius: 8px;
}

.str-mainvisual> .inner> .control> .favorite a> span+ span,
.str-mainvisual> .inner> .control> .compare a> span+ span {
  margin: 0 0 0 auto;
}

.str-mainvisual> .inner> .control> .favorite+ .favorite,
.str-mainvisual> .inner> .control> .favorite+ .compare,
.str-mainvisual> .inner> .control> .compare+ .favorite,
.str-mainvisual> .inner> .control> .compare+ .compare {
  margin-top: 5px;
}

.str-mainvisual> .inner> .control> .favorite a {
  min-width: 245px;
  padding-left: 33px;
}

.str-mainvisual> .inner> .control> .favorite a::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -76px -82px;
  background-size: 111px 97px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 13px;
  display: block;
  width: 12px;
  height: 12px;
  margin: auto 0;
  content: "";
}

.str-mainvisual> .inner> .control> .compare a {
  min-width: 245px;
  padding-left: 34px;
}

.str-mainvisual> .inner> .control> .compare a::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -20px -82px;
  background-size: 111px 97px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  display: block;
  width: 17px;
  height: 13px;
  margin: auto 0;
  content: "";
}

.str-mainvisual> .inner> .control> .compare:only-child a {
  min-width: 210px;
}

.str-mainvisual+ * {
  margin-top: 0;
}

/* ----------------------------------------------------------------------------
 * .str-pageTitle ページタイトル
 * ------------------------------------------------------------------------- */
.str-pageTitle {
  display: flex;
  margin: 24px 0 33px;
  padding: 0 12px;
}

.str-pageTitle> .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

.str-pageTitle> .inner> .content {
  padding: 16px 0 16px;
}

.str-pageTitle> .inner> .content> .hdg {
  font-size: 2.4rem;
  font-weight: bold;
  padding: 6px 0 5px 21px;
  border-left: 3px solid #505050;
}

.str-pageTitle> .inner> .control> .favorite {
  text-align: right;
}

.str-pageTitle> .inner> .control> .favorite a {
  text-decoration: none;
  letter-spacing: -1px;
  white-space: nowrap;
  color: #333;
  background: #fefefe;
  position: relative;
  display: inline-flex;
  min-width: 202px;
  padding: 8px 6px 8px 27px;
  border: 1px solid #505050;
}

.str-pageTitle> .inner> .control> .favorite a::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -76px -82px;
  background-size: 111px 97px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 13px;
  display: block;
  width: 12px;
  height: 12px;
  margin: auto 0;
  content: "";
}

.str-pageTitle> .inner> .control> .favorite a> span> .length {
  font-weight: normal;
  line-height: 1;
  color: #fff;
  background: #9fd038;
  display: inline-block;
  margin: 0 2px 0 0;
  padding: 2px 11px;
  border-radius: 8px;
}

.str-pageTitle> .inner> .control> .favorite a> span+ span {
  margin: 0 0 0 8px;
}

/* ============================================================================
 * site-header 共通ヘッダ
 * ========================================================================= */
body> header:first-child {
  padding-top: 0 !important;
}

/* ============================================================================
 * str-* 主にメインコンテンツエリアで登場する構造
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .str-invisible アクセシビリティ上存在したほうがいいが、デザイン上非表示にしても問題ないコンテンツ
 * ------------------------------------------------------------------------- */
.str-invisible {
  position: absolute;
  z-index: -1;
  overflow: hidden;
  width: 0;
  height: 0;
}

/* ----------------------------------------------------------------------------
 * .str-outer*, .str-inner 共通差分CSS
 * ------------------------------------------------------------------------- */
[class^="str-outer"].var-02,
[class^="str-outer"].var-03,
.str-inner.var-02,
.str-inner.var-03 {
  margin-top: 60px;
  margin-bottom: 40px;
  padding-top: 24px;
  padding-bottom: 22px;
}

[class^="str-outer"].var-02,
.str-inner.var-02 {
  background: #f0f1f2;
}

[class^="str-outer"].var-03,
.str-inner.var-03 {
  background: #e3eecc;
}

/* ----------------------------------------------------------------------------
 * .str-outer* 左右の余白を管理するストラクチャ（子要素には.str-inner以外を受け入れない）
 * ------------------------------------------------------------------------- */
[class^="str-outer"] {
  padding: 0 12px;
}

[class^="str-outer"]:last-child {
  margin-bottom: 130px;
}

[class^="str-outer"].var-02> .str-inner:first-child> *:first-child,
[class^="str-outer"].var-03> .str-inner:first-child> *:first-child {
  margin-top: 0;
}

[class^="str-outer"].var-02> .str-inner:last-child> *:last-child,
[class^="str-outer"].var-03> .str-inner:last-child> *:last-child {
  margin-bottom: 0;
}

[class^="str-outer"].var-02> .str-inner.var-02,
[class^="str-outer"].var-02> .str-inner.var-03,
[class^="str-outer"].var-03> .str-inner.var-02,
[class^="str-outer"].var-03> .str-inner.var-03 {
  background: red !important;
}

/* ------------------------------------
 * .str-outer-full 全幅コンテンツエリア
 * --------------------------------- */
.str-outer-full {
  padding: 0;
}

.str-outer-full .str-inner {
  max-width: none;
}

/* ----------------------------------------------------------------------------
 * .str-inner モジュールを受け入れるストラクチャ
 * ------------------------------------------------------------------------- */
.str-inner {
  max-width: 960px;
  margin: 0 auto;
}

.str-inner.var-02,
.str-inner.var-03 {
  padding-right: 12px;
  padding-left: 12px;
}

.str-inner.var-02> *:first-child,
.str-inner.var-03> *:first-child {
  margin-top: 0;
}

.str-inner.var-02> *:last-child,
.str-inner.var-03> *:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------------------
 * .str-pnl 導線ストラクチャ
 * ------------------------------------------------------------------------- */
.str-pnl {
  background: #f5f9ec;
  padding: 61px 12px 60px;
}

.str-pnl[data-col]> .str-inner> .wrap> .col.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.str-pnl[data-col]> .str-inner> .wrap> .col.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.str-pnl[data-col="auto"]> .str-inner> .wrap> .col {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.str-pnl[data-col="2"]> .str-inner> .wrap> .col {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.str-pnl[data-col="3"]> .str-inner> .wrap> .col {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.str-pnl[data-col="4"]> .str-inner> .wrap> .col {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.str-pnl[data-col="5"]> .str-inner> .wrap> .col {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.str-pnl[data-col="6"]> .str-inner> .wrap> .col {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.str-pnl> .str-inner {
  overflow: hidden;
}

.str-pnl> .str-inner> .wrap {
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 1px);
  margin: -1px 0 0 -1px;
  padding: 0;
}

.str-pnl> .str-inner> .wrap> .col {
  font-size: 1.4rem;
  display: flex;
  flex-basis: 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
}

.str-pnl> .str-inner> .wrap> .col> .pnl {
  text-decoration: none;
  display: flex;
  flex-direction: column-reverse;
  flex-grow: 1;
  width: 100%;
  padding: 1px 0 0 1px;
}

.str-pnl> .str-inner> .wrap> .col> .pnl> .img {
  text-align: center;
  min-height: calc(0%);
}

.str-pnl> .str-inner> .wrap> .col> .pnl> .img img {
  width: 100%;
}

.str-pnl> .str-inner> .wrap> .col> .pnl> .txt {
  position: relative;
  flex-grow: 1;
  padding: 0 45px 0 31px;
}

.str-pnl> .str-inner> .wrap> .col> a.pnl> .txt::before,
.str-pnl> .str-inner> .wrap> .col> a.pnl> .txt::after {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  content: "";
}

.str-pnl> .str-inner> .wrap> .col> a.pnl> .txt::before {
  background: #31b552;
  right: 0;
  width: 18px;
  height: 18px;
}

.str-pnl> .str-inner> .wrap> .col> a.pnl> .txt::after {
  right: 7px;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  border: 1px solid #fff;
  border-width: 1px 1px 0 0;
}

.str-pnl> .str-inner> .wrap> .col p {
  line-height: 1.42857;
  margin: 19px 0 20px;
}

.str-pnl> .str-inner> .wrap> .col p b {
  display: block;
  margin: 19px 0 6px;
}

.str-pnl.var-02> .str-inner> .wrap> .col> a.pnl> .txt {
  padding: 0 31px;
}

.str-pnl.var-02> .str-inner> .wrap> .col> a.pnl> .txt::before,
.str-pnl.var-02> .str-inner> .wrap> .col> a.pnl> .txt::after {
  display: none;
}

.str-pnl.var-02> .str-inner> .wrap> .col> a.pnl> .txt p b.title::after {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0 2px 3px;
  content: "";
  transform: rotate(45deg);
  border: solid #31b552;
  border-width: 2px 2px 0 0;
}

/* ----------------------------------------------------------------------------
 * .str-replaceNavigationWithMainvisual ローカルナビとメインビジュアルを置き換えるストラクチャ
 * ------------------------------------------------------------------------- */
.str-replaceNavigationWithMainvisual {
  display: flex;
  flex-direction: column-reverse;
  margin: 0 0 54px;
}

.str-replaceNavigationWithMainvisual> * {
  min-height: calc(0%);
  margin: 0;
}

/* ----------------------------------------------------------------------------
 * .str-box-contact お問い合わせボックス
 * ------------------------------------------------------------------------- */
.str-box-contact {
  margin: 60px 0;
  padding: 0 12px;
}

.str-box-contact .wrap {
  text-align: center;
  background: #f0f1f2;
  width: auto;
  padding: 31px 12px 39px;
}

.str-box-contact .hdg {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 0 4px;
}

.str-box-contact .tel {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 17px 0 10px;
}

.str-box-contact .tel> p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.str-box-contact .tel .title {
  display: block;
}

.str-box-contact .tel .freedial {
  margin: 0 6px 0 0;
}

.str-box-contact .tel .freedial img {
  vertical-align: middle;
  width: auto;
  height: 26px;
}

.str-box-contact .tel .number {
  font-size: 2rem;
  letter-spacing: 1.6px;
}

.str-box-contact .time {
  font-size: 1rem;
}

/* ============================================================================
 * nav-* ナビゲーションコンポーネント
 * ========================================================================= */
/* ============================================================================
 * _main メインコンテンツエリアのナビゲーション
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .nav-local ローカルナビ
 * ------------------------------------------------------------------------- */

.nav-local a,
.nav-local b {
  font-size: 1.2rem;
  text-decoration: none;
  text-align: left;
  display: flex;
  flex-grow: 1;
  align-items: center;
  padding: 0 16px;
}

.nav-local a br,
.nav-local b br {
  display: none;
}

.nav-local a {
  position: relative;
}

.nav-local a:link,
.nav-local a:visited,
.nav-local a:active,
.nav-local a:focus {
  text-decoration: none;
}

.nav-local a:focus {
  outline: 1px dotted #fff;
  outline: -webkit-focus-ring-color auto 5px;
}

.nav-local a> span::after {
  position: absolute;
  top: 0;
  right: 22px;
  bottom: 0;
  display: block;
  width: 8px;
  height: 8px;
  margin: auto 0;
  content: "";
  transform: rotate(45deg);
  border: solid #13449d;
  border-width: 2px 2px 0 0;
}

.nav-local b {
  font-weight: normal;
  flex-basis: 100%;
}

.nav-local> .inner {
  background: #fff;
  position: relative;
}

.nav-local> .inner> .hdg {
  font-size: 1.2rem;
  line-height: 40px;
  text-align: center;
  color: #fff;
  background: #13449d url("/reform/shared/img/nav/local-icn.png") no-repeat right -40px;
  background-size: 25px 80px;
  display: block;
}

.nav-local> .inner> .list {
  text-align: left;
  max-width: 960px;
  margin: 0 auto;
  box-shadow: 0 3px 6px #999;
}

.nav-local> .inner> .list li {
  margin: -1px 0 0;
  border: solid #eaeaea 1px;
}

.nav-local> .inner> .list li:first-child {
  border-top-width: 2px;
}

.nav-local> .inner> .list li a::after,
.nav-local> .inner> .list li b::after {
  display: block;
  min-height: 36px;
  content: "";
}

.nav-local> .inner> .list li a .break-word,
.nav-local> .inner> .list li b .break-word {
  display: inline-block;
}

.nav-local> .inner> .list li:last-child a span {
  border: 0;
}

.nav-local> .inner> .list li> .list li {
  border-right: 0;
  border-bottom: solid #eaeaea 1px;
  border-left: 0;
}

.nav-local> .inner> .list li> .list li a {
  padding: 0 16px 0 32px;
}

.nav-local> .inner> .list li> .list li:last-child {
  border-bottom: 0;
}

html[data-script-enabled="true"] .nav-local> .inner> .hdg:not([aria-expanded="true"]) {
  background-image: url("/reform/shared/img/nav/local-icn.png");
  background-position-y: 0;
  background-size: 25px 80px;
}

html[data-script-enabled="true"] .nav-local> .inner> .hdg:not([aria-expanded="true"])+ .list {
  display: none;
}

html[data-script-enabled="true"] .nav-local> .inner> .list {
  background: #fff;
  position: absolute;
  z-index: 1;
  top: 100%;
  right: 0;
  left: 0;
  overflow: auto;
  width: 100%;
  max-height: calc(100vh - 128px);
  transition: .2s height ease-out;

  -webkit-overflow-scrolling: touch;
}

html[data-script-enabled="true"] .nav-local> .inner> .list> li> b {
  position: relative;
  padding-right: 5px;
  cursor: default;
}

html[data-script-enabled="true"] .nav-local> .inner> .list> li> b+ .list {
  display: none;
  overflow: hidden;
  transition: .2s height ease-out;
}

html[data-script-enabled="true"] .nav-local> .inner> .list> li> b span:not(.break-word) {
  display: block;
  cursor: inherit;
}

html[data-script-enabled="true"] .nav-local> .inner> .list> li> b span:not(.break-word)::before,
html[data-script-enabled="true"] .nav-local> .inner> .list> li> b span:not(.break-word)::after {
  background: #13449d;
  position: absolute;
  top: 0;
  right: 17px;
  bottom: 0;
  display: block;
  width: 16px;
  height: 2px;
  margin: auto 0;
  content: "";
}

html[data-script-enabled="true"] .nav-local> .inner> .list> li> b span:not(.break-word)::after {
  transition: .2s transform ease-out;
  transform: rotate(90deg);
}

html[data-script-enabled="true"] .nav-local> .inner> .list> li> b[aria-expanded="true"]+ .list {
  display: block;
}

html[data-script-enabled="true"] .nav-local> .inner> .list> li> b[aria-expanded="true"]> span {
  font-weight: bold;
  color: #13449d;
}

html[data-script-enabled="true"] .nav-local> .inner> .list> li> b[aria-expanded="true"]> span::after {
  transform: rotate(180deg);
}

/* ----------------------------------------------------------------------------
 * .nav-local-02 ローカルナビ02
 * ------------------------------------------------------------------------- */
.nav-local-02 {
  margin: 0 0 79px;
}

.nav-local-02[data-col]> .inner> .list> li.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.nav-local-02[data-col]> .inner> .list> li.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.nav-local-02[data-col="auto"]> .inner> .list> li {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.nav-local-02[data-col="2"]> .inner> .list> li {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.nav-local-02[data-col="3"]> .inner> .list> li {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.nav-local-02[data-col="4"]> .inner> .list> li {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.nav-local-02[data-col="5"]> .inner> .list> li {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.nav-local-02[data-col="6"]> .inner> .list> li {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.nav-local-02> .inner {
  font-size: 1.4rem;
  background: #f0f1f2;
  padding: 20px;
  border-radius: 6px;
}

.nav-local-02> .inner> .hdg {
  font-size: 1.8rem;
  font-weight: bold;
  overflow: hidden;
  margin: 0 0 20px;
  padding: 0 0 0 12px;
  border-left: 6px solid #505050;
}

.nav-local-02> .inner> .list> li {
  margin: 0;
}

.nav-local-02> .inner> .list> li+ li {
  margin-top: 2px;
}

.nav-local-02> .inner> .list a {
  text-decoration: none;
  text-align: center;
  background: #fff;
  display: block;
  padding: 15px;
}

.nav-local-02> .inner> .list a:not([href])[aria-current="page"] {
  font-weight: bold;
  color: #fff;
  background: #9fd038;
}

.nav-local-02[data-col]> .inner> .list> li {
  flex-grow: 0;
}

/* ----------------------------------------------------------------------------
 * .nav-toc 目次
 * ------------------------------------------------------------------------- */
.nav-toc {
  font-size: 1.6rem;
  background: #f0f1f2;
  max-width: 500px;
  margin: 0 0 60px;
  padding: 25px 29px 17px;
}

.nav-toc ol.list> li> a {
  text-decoration: none;
  display: table;
}

.nav-toc ol.list> li> a::before {
  text-align: right;
  padding: 0 6px 0 0;
}

.nav-toc ol.list> li> a::before,
.nav-toc ol.list> li> a> span {
  display: table-cell;
}

.nav-toc ol ol.list {
  margin: 4px 0 0 0;
}

.nav-toc ol ol.list> li:not(:last-child)> a {
  margin: 0 0 3px;
}

.nav-toc> ol.list {
  counter-reset: nav-toc-1;
}

.nav-toc> ol.list> li> a {
  margin-bottom: 4px;
}

.nav-toc> ol.list> li> a::before {
  font-weight: bold;
  content: counter(nav-toc-1) ".";
  counter-increment: nav-toc-1;
}

.nav-toc> ol.list> li> *:first-child {
  font-weight: bold;
}

.nav-toc> ol.list> li> ol.list {
  margin-bottom: 7px;
  margin-left: 15px;
  counter-reset: nav-toc-2;
}

.nav-toc> ol.list> li> ol.list> li> a::before {
  content: counter(nav-toc-1) "-" counter(nav-toc-2) ".";
  counter-increment: nav-toc-2;
}

.nav-toc> ol.list> li> ol.list> li> ol.list {
  margin-top: 3px;
  margin-bottom: 3px;
  margin-left: 30px;
  counter-reset: nav-toc-3;
}

.nav-toc> ol.list> li> ol.list> li> ol.list> li> a::before {
  content: counter(nav-toc-1) "-" counter(nav-toc-2) "-" counter(nav-toc-3) ".";
  counter-increment: nav-toc-3;
}

/* ============================================================================
 * _side サイドナビ
 * ========================================================================= */
/* ============================================================================
 * _module
 * ========================================================================= */
[class^="mod-"][id^="anc-"] {
  background: #f00 !important;
}

/* ============================================================================
 * _txt modules
 * ========================================================================= */
[class^="mod-txt"]> p,
[class^="mod-txt"]> pre {
  font-family: inherit;
  margin: 0;
}

[class^="mod-txt"]> p a {
  text-decoration: underline;
  color: #414141;
}

[class^="mod-txt"]> p a:hover,
[class^="mod-txt"]> p a:focus {
  color: #808080;
}

[class^="mod-txt"]> p a.var-02 {
  color: #ff5757;
}

[class^="mod-txt"] strong {
  color: #ff5757;
}

[class^="mod-txt"] pre {
  white-space: pre-wrap;
}

/* ----------------------------------------------------------------------------
 * .mod-txt
 * ------------------------------------------------------------------------- */
.mod-txt {
  margin: 22px 0 30px;
}

.mod-txt> p b.lede {
  font-size: 1.6rem;
  display: block;
  margin: 0 0 8px;
}

.mod-txt pre {
  white-space: pre-wrap;
}

.mod-txt+ .mod-txt {
  margin-top: -16px;
}

/* ----------------------------------------------------------------------------
 * .mod-txt-introduction
 * ------------------------------------------------------------------------- */
.mod-txt-introduction {
  font-size: 2rem;
  margin: 0 0 70px;
}

/* ============================================================================
 * _hdg modules
 * ========================================================================= */
[class^="mod-hdg"] h1,
[class^="mod-hdg"] h2,
[class^="mod-hdg"] h3,
[class^="mod-hdg"] h4,
[class^="mod-hdg"] h5,
[class^="mod-hdg"] h6 {
  margin-top: -50px;
  padding-top: 50px;
}

/* ----------------------------------------------------------------------------
 * .mod-hdg 汎用見出し
 * ------------------------------------------------------------------------- */
.mod-hdg {
  font-size: 1.8rem;
  font-weight: bold;
  overflow: hidden;
  margin: 0 0 20px;
  padding: 0 0 0 12px;
  border-left: 6px solid #505050;
}

.mod-hdg> *> span> span.label {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  background: #9fd038;
  position: relative;
  top: -2px;
  display: inline-block;
  margin: 0 0 0 11px;
  padding: 5px 16px;
}

/* ----------------------------------------------------------------------------
 * .mod-hdg-al2 見出しレベル2（A）
 * ------------------------------------------------------------------------- */
[class^="mod-hdg-al"] {
  font-weight: bold;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

[class^="mod-hdg-al"]> * {
  width: 100%;
}

[class^="mod-hdg-al"]> *> * {
  display: block;
}

[class^="mod-hdg-al"]> *> *+ * {
  margin-top: 3px;
}

[class^="mod-hdg-al"]> *> span:not(:last-child) {
  font-weight: normal;
}

[class^="mod-hdg-al"]> *> strong {
  font-weight: bold;
  color: inherit;
}

/* ------------------------------------
 * .mod-hdg-al2 見出しレベル2（A）
 * --------------------------------- */
.mod-hdg-al2 {
  font-size: 2.2rem;
  margin: 60px 0 40px;
}

.mod-hdg-al2> *> span:not(:last-child) {
  font-size: 1.8rem;
}

/* ------------------------------------
 * .mod-hdg-al3 見出しレベル3（A）
 * --------------------------------- */
.mod-hdg-al3 {
  font-size: 1.8rem;
  margin: 60px 0 30px;
}

.mod-hdg-al3> *:last-child {
  padding-bottom: 4px;
  border-bottom: 4px solid #505050;
}

/* ------------------------------------
 * .mod-hdg-al4 見出しレベル4（A）
 * --------------------------------- */
.mod-hdg-al4 {
  font-size: 1.6rem;
  margin: 40px 0 30px;
}

.mod-hdg-al4> *:last-child {
  padding-bottom: 9px;
  border-bottom: 2px solid #505050;
}

/* ------------------------------------
 * .mod-hdg-al5 見出しレベル5（A）
 * --------------------------------- */
.mod-hdg-al5 {
  font-size: 1.6rem;
  margin: 40px 0 30px;
}

.mod-hdg-al5> *:last-child {
  padding-bottom: 9px;
  border-bottom: 1px solid #ccc;
}

/* ----------------------------------------------------------------------------
 * .mod-hdg-bl2 見出しレベル2（B）
 * ------------------------------------------------------------------------- */
.mod-hdg-bl2 {
  font-size: 2.6rem;
  font-weight: bold;
  margin: 60px 0 40px;
}

/* ----------------------------------------------------------------------------
 * .mod-hdg-bl3 見出しレベル3（B）
 * ------------------------------------------------------------------------- */
.mod-hdg-bl3 {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: left;
  margin: 40px 0 30px;
  padding: 5px 0 5px 12px;
  border-left: 6px solid #505050;
}

/* ----------------------------------------------------------------------------
 * .mod-hdg-bl4 見出しレベル4（B）
 * ------------------------------------------------------------------------- */
.mod-hdg-bl4 {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 40px 0 30px;
  padding: 0 0 9px;
  border-bottom: 2px solid #505050;
}

/* ----------------------------------------------------------------------------
 * .mod-hdg-bl5 見出しレベル5（B）
 * ------------------------------------------------------------------------- */
.mod-hdg-bl5 {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 40px 0 30px;
  padding: 0 0 9px;
  border-bottom: 1px solid #ccc;
}

/* ----------------------------------------------------------------------------
 * .mod-hdg-balloon 吹き出しつき見出し
 * ------------------------------------------------------------------------- */
.mod-hdg-balloon {
  margin: 30px 0 20px;
}

.mod-hdg-balloon> *:first-child {
  font-size: 1.2rem;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.mod-hdg-balloon> *:first-child span {
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 70px;
  min-height: 70px;
  border-radius: 200px;
}

.mod-hdg-balloon> .content {
  background: #f5f9ec;
  position: relative;
  z-index: 0;
  clear: both;
  margin: -30px 0 0 0;
  padding: 33px 23px 15px;
  border-radius: 6px;
}

.mod-hdg-balloon> .content> *:first-child {
  margin-top: 0;
}

.mod-hdg-balloon> .content> *:last-child {
  margin-bottom: 0;
}

.mod-hdg-balloon.of-before> *:first-child span {
  background: #e6e6e6;
}

.mod-hdg-balloon.of-after> *:first-child span {
  color: #fff;
  background: #505050;
}

/* ----------------------------------------------------------------------------
 * .mod-hdg-checkmark チェックマークつき見出し
 * ------------------------------------------------------------------------- */
.mod-hdg-checkmark {
  margin: 40px 0 30px;
}

.mod-hdg-checkmark> *:first-child {
  font-size: 1.8rem;
}

.mod-hdg-checkmark> *:first-child> span {
  font-weight: bold;
  position: relative;
  display: block;
  padding-left: 34px;
}

.mod-hdg-checkmark> *:first-child> span::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -82px 0;
  background-size: 111px 97px;
  position: absolute;
  top: 3px;
  left: 0;
  display: block;
  width: 29px;
  height: 25px;
  content: "";
}

/* ============================================================================
 * _btn modules
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .mod-btn, .mod-btn-02 共通スタイル
 * ------------------------------------------------------------------------- */
.mod-btn,
.mod-btn-02 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 50px 0 80px;
}

.mod-btn[data-col]> .btn.of-full,
.mod-btn-02[data-col]> .btn.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-btn[data-col]> .btn.of-fillIn,
.mod-btn-02[data-col]> .btn.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-btn[data-col="auto"]> .btn,
.mod-btn-02[data-col="auto"]> .btn {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-btn[data-col="2"]> .btn,
.mod-btn-02[data-col="2"]> .btn {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-btn[data-col="3"]> .btn,
.mod-btn-02[data-col="3"]> .btn {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-btn[data-col="4"]> .btn,
.mod-btn-02[data-col="4"]> .btn {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-btn[data-col="5"]> .btn,
.mod-btn-02[data-col="5"]> .btn {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-btn[data-col="6"]> .btn,
.mod-btn-02[data-col="6"]> .btn {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-btn a,
.mod-btn button[type],
.mod-btn-02 a,
.mod-btn-02 button[type] {
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  position: relative;
  display: flex;
  overflow: hidden;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.mod-btn a:focus,
.mod-btn button[type]:focus,
.mod-btn-02 a:focus,
.mod-btn-02 button[type]:focus {
  outline: 1px dashed #333;
  outline: -webkit-focus-ring-color auto 5px;
}

.mod-btn a:link,
.mod-btn a:visited,
.mod-btn a:active,
.mod-btn a:focus,
.mod-btn-02 a:link,
.mod-btn-02 a:visited,
.mod-btn-02 a:active,
.mod-btn-02 a:focus {
  text-decoration: none;
}

.mod-btn a:not([href]):not([role="button"]),
.mod-btn a[role="button"][aria-disabled="true"],
.mod-btn button:disabled,
.mod-btn-02 a:not([href]):not([role="button"]),
.mod-btn-02 a[role="button"][aria-disabled="true"],
.mod-btn-02 button:disabled {
  opacity: .4;
}

.mod-btn> .btn,
.mod-btn-02> .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.mod-btn> .btn> span:first-child,
.mod-btn-02> .btn> span:first-child {
  padding-right: 12px;
}

.mod-btn> .btn.of-full,
.mod-btn-02> .btn.of-full {
  width: 100%;
  max-width: 100%;
}

.mod-btn> .btn.of-full a,
.mod-btn> .btn.of-full button[type],
.mod-btn-02> .btn.of-full a,
.mod-btn-02> .btn.of-full button[type] {
  width: 100%;
}

.mod-btn:not([data-col])> .btn+ .btn,
.mod-btn-02:not([data-col])> .btn+ .btn {
  margin-top: 20px;
}

.mod-btn:not([data-col]).align-left,
.mod-btn-02:not([data-col]).align-left {
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.mod-btn:not([data-col]).align-left> .btn,
.mod-btn-02:not([data-col]).align-left> .btn {
  justify-content: flex-start !important;
}

.mod-btn:not([data-col]).align-right,
.mod-btn-02:not([data-col]).align-right {
  align-items: flex-end !important;
  justify-content: flex-end !important;
}

.mod-btn:not([data-col]).align-right> .btn,
.mod-btn-02:not([data-col]).align-right> .btn {
  justify-content: flex-end !important;
}

.mod-btn[data-col],
.mod-btn-02[data-col] {
  flex-direction: row;
  align-items: stretch;
  margin-top: -24px;
  margin-left: -24px;
}

.mod-btn[data-col]> .btn,
.mod-btn-02[data-col]> .btn {
  padding: 24px 0 0 24px;
}

.mod-btn[data-col]> .btn:not(:last-child),
.mod-btn-02[data-col]> .btn:not(:last-child) {
  margin: 0;
}

.mod-btn[data-col]> .btn.of-full,
.mod-btn-02[data-col]> .btn.of-full {
  flex-basis: 100%;
}

.mod-btn[data-col]> .btn a,
.mod-btn[data-col]> .btn button[type],
.mod-btn-02[data-col]> .btn a,
.mod-btn-02[data-col]> .btn button[type] {
  min-width: 0;
}

.mod-btn[data-col][data-col="1"]> .btn a,
.mod-btn[data-col][data-col="1"]> .btn button[type],
.mod-btn-02[data-col][data-col="1"]> .btn a,
.mod-btn-02[data-col][data-col="1"]> .btn button[type] {
  width: 100%;
}

.mod-btn[data-col].align-left,
.mod-btn-02[data-col].align-left {
  justify-content: flex-start !important;
}

.mod-btn[data-col].align-left> .btn,
.mod-btn-02[data-col].align-left> .btn {
  justify-content: flex-start !important;
}

.mod-btn[data-col].align-right,
.mod-btn-02[data-col].align-right {
  justify-content: flex-end !important;
}

.mod-btn[data-col].align-right> .btn,
.mod-btn-02[data-col].align-right> .btn {
  justify-content: flex-start !important;
}

.mod-btn[data-col="auto"]> .btn a,
.mod-btn[data-col="auto"]> .btn button[type],
.mod-btn-02[data-col="auto"]> .btn a,
.mod-btn-02[data-col="auto"]> .btn button[type] {
  width: auto;
}

/* ----------------------------------------------------------------------------
 * .mod-btn 汎用ボタン
 * ------------------------------------------------------------------------- */

.mod-btn a[href],
.mod-btn a:not([href]),
.mod-btn button[type] {
  font-weight: bold;
  color: #fff;
  background: #505050;
  width: 280px;
  max-width: 100%;
  padding: 16px 27px;
}

.mod-btn a[href]::after,
.mod-btn a:not([href])::after,
.mod-btn button[type]::after {
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  display: block;
  width: 6px;
  height: 6px;
  margin: auto 0;
  content: "";
  transform: rotate(45deg);
  border: 1px solid #fff;
  border-width: 1px 1px 0 0;
}

.mod-btn[data-col="auto"]> .btn a,
.mod-btn[data-col="auto"]> .btn button[type] {
  min-width: 200px;
}

/* ----------------------------------------------------------------------------
 * .mod-btn-02 低優先ボタン
 * ------------------------------------------------------------------------- */

.mod-btn-02> .btn a[href],
.mod-btn-02> .btn a:not([href]),
.mod-btn-02> .btn button[type] {
  font-size: 1.4rem;
  background: transparent;
  position: relative;
  padding: 11px 27px 10px 11px;
  border: 1px solid #505050;
}

.mod-btn-02> .btn a[href]::before,
.mod-btn-02> .btn a[href]::after,
.mod-btn-02> .btn a:not([href])::before,
.mod-btn-02> .btn a:not([href])::after,
.mod-btn-02> .btn button[type]::before,
.mod-btn-02> .btn button[type]::after {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  width: 6px;
  height: 6px;
  margin: auto 0;
  transform: rotate(45deg);
  border: 1px solid #505050;
}

.mod-btn-02> .btn a[href]::after,
.mod-btn-02> .btn a:not([href])::after,
.mod-btn-02> .btn button[type]::after {
  right: 10px;
  content: "";
  border-width: 1px 1px 0 0;
}

.mod-btn-02> .btn.of-simple> a,
.mod-btn-02> .btn.of-simple> button {
  padding-right: 11px;
}

.mod-btn-02> .btn.of-simple> a::after,
.mod-btn-02> .btn.of-simple> button::after {
  display: none;
}

.mod-btn-02> .btn.of-delete> a,
.mod-btn-02> .btn.of-delete> button {
  padding-right: 11px;
  padding-left: 32px;
}

.mod-btn-02> .btn.of-delete> a::before,
.mod-btn-02> .btn.of-delete> a::after,
.mod-btn-02> .btn.of-delete> button::before,
.mod-btn-02> .btn.of-delete> button::after {
  background: #505050;
  left: 10px;
  display: block;
  width: 15px;
  height: 1px;
  content: "";
  border: 0;
}

.mod-btn-02> .btn.of-delete> a::after,
.mod-btn-02> .btn.of-delete> button::after {
  transform: rotate(-45deg);
}

.mod-btn-02> .btn.of-return> a,
.mod-btn-02> .btn.of-return> button {
  padding-right: 11px;
  padding-left: 27px;
}

.mod-btn-02> .btn.of-return> a::before,
.mod-btn-02> .btn.of-return> button::before {
  left: 10px;
  content: "";
  border-width: 0 0 1px 1px;
}

.mod-btn-02> .btn.of-return> a::after,
.mod-btn-02> .btn.of-return> button::after {
  display: none;
}

/* ============================================================================
 * _link modules
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .mod-link-list リンクリスト
 * ------------------------------------------------------------------------- */
.mod-link {
  margin: 0 0 30px;
}

.mod-link> a {
  display: inline-block;
}

.mod-link> a:link,
.mod-link> a:visited,
.mod-link> a:active,
.mod-link> a:focus {
  text-decoration: none;
}

.mod-link> a::after {
  position: relative;
  top: 0;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px 0 6px;
  content: "";
  transform: rotate(45deg);
  border: 2px solid #30b653;
  border-width: 2px 2px 0 0;
}

.mod-link> a[href^="#anc-"]::after {
  top: -3px;
  margin-left: 8px;
  border-width: 0 2px 2px 0;
}

/* ----------------------------------------------------------------------------
 * .mod-link-list リンクリスト
 * ------------------------------------------------------------------------- */
.mod-link-list {
  margin: 0 0 30px;
}

.mod-link-list[data-col]> .list> li.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-link-list[data-col]> .list> li.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-link-list[data-col="auto"]> .list> li {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-link-list[data-col="2"]> .list> li {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-link-list[data-col="3"]> .list> li {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-link-list[data-col="4"]> .list> li {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-link-list[data-col="5"]> .list> li {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-link-list[data-col="6"]> .list> li {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-link-list> .list> li> a {
  display: inline-block;
}

.mod-link-list> .list> li> a:link,
.mod-link-list> .list> li> a:visited,
.mod-link-list> .list> li> a:active,
.mod-link-list> .list> li> a:focus {
  text-decoration: none;
}

.mod-link-list> .list> li> a::after {
  position: relative;
  top: 0;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px 0 6px;
  content: "";
  transform: rotate(45deg);
  border: 2px solid #30b653;
  border-width: 2px 2px 0 0;
}

.mod-link-list> .list> li> a[href^="#anc-"]::after {
  top: -3px;
  margin-left: 8px;
  border-width: 0 2px 2px 0;
}

.mod-link-list[data-col]> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -7px 0 0 -14px;
}

.mod-link-list[data-col]> .list> li {
  padding: 7px 0 0 14px;
}

/* ----------------------------------------------------------------------------
 * .mod-link-anchor ページ内リンク
 * ------------------------------------------------------------------------- */
.mod-link-anchor {
  margin: 0 0 30px;
}

.mod-link-anchor[data-col]> .list> li.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-link-anchor[data-col]> .list> li.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-link-anchor[data-col="auto"]> .list> li {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-link-anchor[data-col="2"]> .list> li {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-link-anchor[data-col="3"]> .list> li {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-link-anchor[data-col="4"]> .list> li {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-link-anchor[data-col="5"]> .list> li {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-link-anchor[data-col="6"]> .list> li {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-link-anchor> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -1px 0 0 -1px;
}

.mod-link-anchor> .list> li {
  display: flex;
  flex-basis: 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  padding: 1px 0 0 1px;
}

.mod-link-anchor> .list> li::after {
  display: block;
  min-height: 60px;
  content: "";
}

.mod-link-anchor> .list> li> a {
  background: #f0f1f2;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 5px 23px 5px 14px;
}

.mod-link-anchor> .list> li> a::before,
.mod-link-anchor> .list> li> a::after {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  content: "";
}

.mod-link-anchor> .list> li> a::before {
  background: #31b552;
  right: 0;
  width: 18px;
  height: 18px;
}

.mod-link-anchor> .list> li> a::after {
  right: 6px;
  width: 6px;
  height: 6px;
  transform: rotate(45deg) translate(-1px, -1px);
  border: 1px solid #fff;
  border-width: 0 1px 1px 0;
}

.mod-link-anchor> .list> li> a:link,
.mod-link-anchor> .list> li> a:visited,
.mod-link-anchor> .list> li> a:active,
.mod-link-anchor> .list> li> a:focus {
  text-decoration: none;
}

.mod-link-anchor> .list> li> a:focus {
  outline: 1px dashed #333;
  outline: -webkit-focus-ring-color auto 5px;
}

.mod-link-anchor.align-center> .list {
  justify-content: center;
}

/* ----------------------------------------------------------------------------
 * .mod-link-tab タブリンク（汎用タブウィジェット）
 * ------------------------------------------------------------------------- */
.mod-link-tab {
  margin: 0 0 47px;
}

.mod-link-tab[data-col]> .tab-list> li.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-link-tab[data-col]> .tab-list> li.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-link-tab[data-col="auto"]> .tab-list> li {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-link-tab[data-col="2"]> .tab-list> li {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-link-tab[data-col="3"]> .tab-list> li {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-link-tab[data-col="4"]> .tab-list> li {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-link-tab[data-col="5"]> .tab-list> li {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-link-tab[data-col="6"]> .tab-list> li {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-link-tab> .tab-list {
  position: relative;
  display: flex;
  overflow: hidden;
  flex-wrap: wrap;
  margin: -2px 0 0 -2px;
  padding: 0 0 3px;
}

.mod-link-tab> .tab-list a {
  text-decoration: none;
}

.mod-link-tab> .tab-list::after {
  position: absolute;
  bottom: 0;
  left: 2px;
  width: 100%;
  content: "";
  border-bottom: 3px solid #9fd038;
}

.mod-link-tab> .tab-list> li {
  font-size: 1.6rem;
  text-align: center;
  display: flex;
  flex-grow: 1;
  padding: 2px 0 0 2px;
}

.mod-link-tab> .tab-list> li> * {
  letter-spacing: .3px;
  background: #f0f1f2;
  flex-grow: 1;
  padding: 12px 10px 11px;
}

.mod-link-tab> .tab-list> li> * span {
  font-size: 1.4rem;
  display: inline-block;
}

.mod-link-tab> .tab-list> li:first-child> * {
  border-radius: 8px 0 0 0;
}

.mod-link-tab> .tab-list> li:last-child> * {
  border-radius: 0 8px 0 0;
}

.mod-link-tab> .tab-list> li:focus {
  outline: 0;
}

.mod-link-tab> .tab-list> li:focus> * {
  outline: 1px dashed #333;
  outline: -webkit-focus-ring-color auto 5px;
}

.mod-link-tab> .tab-list> li[aria-selected="true"]> *,
.mod-link-tab> .tab-list> li a[aria-current="page"] {
  font-weight: bold;
  color: #fff;
  background: #9fd038;
}

.mod-link-tab> .tab-panel {
  margin: 25px 0 0;
}

.mod-link-tab> .tab-panel> *:first-child {
  margin-top: 0;
}

.mod-link-tab> .tab-panel> *:last-child {
  margin-bottom: 0;
}

html:not([data-script-enabled="true"]) .mod-link-tab> .tab-panel> .str-invisible {
  font-size: 1.6rem;
  font-weight: bold;
  position: static;
  width: auto;
  height: auto;
  margin: 0 0 25px;
}

.mod-link-tab> .tab-panel> .str-invisible:first-child+ * {
  margin-top: 0;
}

.mod-link-tab:not(.js-tab)+ .mod-other-detailUtility {
  margin-top: -28px;
}

/* ----------------------------------------------------------------------------
 * .mod-link-bnrList バナーリスト
 * ------------------------------------------------------------------------- */
.mod-link-bnrList {
  margin: 0 0 8px;
}

.mod-link-bnrList.align-center> .list {
  justify-content: center;
}

.mod-link-bnrList.align-right> .list {
  justify-content: flex-end;
}

.mod-link-bnrList> .list {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 9px);
  margin: -9px 0 0;
  transform: translateX(-9px);
}

.mod-link-bnrList> .list> li {
  display: table;
  width: calc(100% - 9px);
  margin: 9px 0 0 9px;
  table-layout: fixed;
}

.mod-link-bnrList> .list> li> * {
  vertical-align: top;
  display: table-cell;
}

.mod-link-bnrList> .list> li> * img {
  display: block;
  max-width: 100%;
}

/* ----------------------------------------------------------------------------
 * .mod-link-step ステップリンクリスト
 * ------------------------------------------------------------------------- */
.mod-link-step {
  margin: 40px 0 30px;
}

.mod-link-step> .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: -10px 0 0 -2px;
}

.mod-link-step> .list> li {
  display: flex;
  flex-grow: 1;
  min-width: 119px;
  height: 110px;
  padding: 10px 0 0 2px;
}

.mod-link-step> .list> li> .wrap {
  font-size: 1.4rem;
  line-height: 1.57143;
  text-decoration: none;
  text-align: center;
  color: #333;
  background: #f0f1f2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 16px 0 0;
}

.mod-link-step> .list> li> .wrap> span:first-child {
  font-size: 1.6rem;
  letter-spacing: 1px;
  margin: 0 0 1px;
}

.mod-link-step> .list> li> .wrap:not([href])[aria-current="page"] {
  font-weight: bold;
  color: #fff;
  background: #9fd038;
}

/* ============================================================================
 * _list modules
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .mod-list
 * ------------------------------------------------------------------------- */
.mod-list {
  margin: 0 0 47px;
}

.mod-list> .list> li {
  position: relative;
  padding: 0 0 0 14px;
}

.mod-list> .list> li> *:first-child {
  margin-top: 0;
}

.mod-list> .list> li> *:last-child {
  margin-bottom: 0;
}

.mod-list> .list> li> span,
.mod-list> .list> li> strong {
  font-size: 1.6rem;
  line-height: 1.375;
  display: block;
}

.mod-list> .list> li> span+ *,
.mod-list> .list> li> strong+ * {
  margin-top: 8px;
}

.mod-list> .list> li> [class^="mod-"]:not([class^="mod-list"]):last-child {
  margin-bottom: 8px;
}

.mod-list> .list> li::before {
  background: #505050;
  position: absolute;
  top: 8px;
  left: 0;
  display: block;
  width: 4px;
  height: 4px;
  content: "";
}

.mod-list> .list> li+ li {
  margin-top: 8px;
}

.mod-list> .list> li.of-error::before {
  background: #ff5757;
}

.mod-list> .list> li.of-error> strong {
  font-weight: bold;
  color: #ff5757;
}

/* ----------------------------------------------------------------------------
 * .mod-list-notice 注釈リスト
 * ------------------------------------------------------------------------- */
.mod-list-notice {
  margin: 0 0 24px;
}

.mod-list-notice> .list {
  font-size: 1.4rem;
  display: table;
  width: 100%;
}

.mod-list-notice> .list> li {
  display: table-row;
}

.mod-list-notice> .list> li> * {
  vertical-align: baseline;
  display: table-cell;
  padding: 0 0 1px;
}

.mod-list-notice> .list> li> .symbol {
  padding-right: 3px;
}

.mod-list-notice> .list> li> .content {
  width: 100%;
}

.mod-list-notice> .list> li> .content> *:first-child {
  margin-top: 0;
}

.mod-list-notice> .list> li> .content> *:last-child {
  margin-bottom: 0;
}

.mod-list-notice> .list> li> .content> small {
  display: block;
}

.mod-list-notice.align-right {
  display: flex;
  justify-content: flex-end;
}

.mod-list-notice.align-right> .list {
  text-align: left;
  float: right;
  width: auto;
}

.mod-list-notice.align-right> .list> li> .content {
  width: auto;
}

/* ----------------------------------------------------------------------------
 * .mod-list-hasSymbol 任意のシンボルを持つ非順序リスト
 * ------------------------------------------------------------------------- */
.mod-list-hasSymbol {
  margin: 0 0 90px;
}

.mod-list-hasSymbol> .list {
  display: table;
}

.mod-list-hasSymbol> .list> li {
  display: table-row;
}

.mod-list-hasSymbol> .list> li> * {
  font-size: 1.6rem;
  line-height: 1.375;
  vertical-align: top;
  display: table-cell;
}

.mod-list-hasSymbol> .list> li> .symbol {
  white-space: pre;
  padding: 0 3px 0 0;
}

.mod-list-hasSymbol> .list> li> .content {
  width: 100%;
}

.mod-list-hasSymbol> .list> li> .content> *:first-child {
  margin-top: 0;
}

.mod-list-hasSymbol> .list> li> .content> *:last-child {
  margin-bottom: 0;
}

.mod-list-hasSymbol> .list> li> .content> span:first-child {
  display: block;
}

.mod-list-hasSymbol> .list> li> .content> span:not(:last-child)+ * {
  margin-top: 6px;
}

.mod-list-hasSymbol> .list> li+ li> .symbol,
.mod-list-hasSymbol> .list> li+ li> .content {
  padding-top: 8px;
}

/* ----------------------------------------------------------------------------
 * .mod-list-description 記述リスト
 * ------------------------------------------------------------------------- */
.mod-list-description {
  margin: 0 0 24px;
}

.mod-list-description> .list {
  display: table;
}

.mod-list-description> .list> div {
  display: table-row;
}

.mod-list-description> .list> div> dt {
  font-weight: bold;
  display: table-cell;
  padding: 0 15px 0 0;
}

.mod-list-description> .list> div> dt dfn {
  font-weight: bold;
  font-style: normal;
}

.mod-list-description> .list> div> dd {
  display: table-cell;
}

.mod-list-description> .list> div> dd> *:first-child {
  margin-top: 0;
}

.mod-list-description> .list> div> dd> *:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------------------
 * .mod-list-step ステップリスト
 * ------------------------------------------------------------------------- */
.mod-list-step {
  margin: 40px 0 30px;
}

.mod-list-step[data-col]> .list> li.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-list-step[data-col]> .list> li.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-list-step[data-col="auto"]> .list> li {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-list-step[data-col="2"]> .list> li {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-list-step[data-col="3"]> .list> li {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-list-step[data-col="4"]> .list> li {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-list-step[data-col="5"]> .list> li {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-list-step[data-col="6"]> .list> li {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-list-step[data-col="7"]> .list> li {
  flex-basis: 14.28571%;
  width: 14.28571%;
  min-width: 14.28571%;
  max-width: 14.28571%;
}

.mod-list-step[data-col="8"]> .list> li {
  flex-basis: 12.5%;
  width: 12.5%;
  min-width: 12.5%;
  max-width: 12.5%;
}

.mod-list-step> .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: -10px 0 0 0;
}

.mod-list-step> .list> li {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  min-width: 118px;
  padding: 10px 9px 0 0;
}

.mod-list-step> .list> li::before,
.mod-list-step> .list> li::after {
  position: absolute;
  top: 10px;
  display: block;
  content: "";
}

.mod-list-step> .list> li::before {
  background: #f0f1f3;
  z-index: -1;
  left: 0;
  width: calc(100% - 18px);
  height: 100px;
}

.mod-list-step> .list> li::after {
  z-index: -2;
  right: 0;
  border: 50px solid transparent;
  border-width: 50px 0 50px 18px;
  border-left-color: #f0f1f3;
}

.mod-list-step> .list> li> .wrap {
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100px;
  padding: 15px 0 0;
}

.mod-list-step> .list> li> .wrap> span {
  display: block;
  width: 100%;
}

.mod-list-step> .list> li> .wrap+ .txt {
  flex-grow: 1;
}

.mod-list-step> .list> li> .txt {
  font-size: 1.2rem;
  word-break: break-all;
  max-width: 100%;
  margin: 5px 0 0;
  padding: 0 0 0 9px;
}

.mod-list-step> .list> li> .txt .link::after {
  position: relative;
  top: -1;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 2px 0 3px;
  content: "";
  transform: rotate(45deg);
  border: 2px solid #30b653;
  border-width: 2px 2px 0 0;
}

.mod-list-step> .list> li.of-last> .wrap {
  color: #fff;
  background: #9fd038;
}

.mod-list-step> .list> li.of-last::before,
.mod-list-step> .list> li.of-last::after {
  display: none;
}

.mod-list-step.var-02> .list> li {
  line-height: 1.57143;
  color: #b2b2b2;
  min-width: 108px;
}

.mod-list-step.var-02> .list> li::before {
  width: calc(100% - 20px);
  height: 96px;
}

.mod-list-step.var-02> .list> li::after {
  border-width: 48px 0 48px 20px;
}

.mod-list-step.var-02> .list> li[aria-current="true"] {
  color: #333;
}

.mod-list-step.var-02> .list> li[aria-current="true"]::before {
  background: #bfe56e;
}

.mod-list-step.var-02> .list> li[aria-current="true"]::after {
  border-left-color: #bfe56e;
}

.mod-list-step.var-02> .list> li> .wrap {
  height: 90px;
  padding-top: 17px;
}

.mod-list-step.var-02> .list> li.of-img {
  font-weight: bold;
  color: #333;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 163px;
  min-width: 163px;
  height: 106px;
  margin: 0 0 0 -20px;
}

.mod-list-step.var-02> .list> li.of-img> .wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  width: auto;
  min-width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
}

.mod-list-step.var-02> .list> li.of-img::before,
.mod-list-step.var-02> .list> li.of-img::after {
  display: none;
}

.mod-list-step.var-02:not([data-col]) li {
  flex-basis: 50%;
  max-width: 50%;
}

/* ----------------------------------------------------------------------------
 * .mod-list-handlingNumber 取り扱い台数リスト
 * ------------------------------------------------------------------------- */
.mod-list-handlingNumber.of-vertical> .list {
  display: block;
}

.mod-list-handlingNumber.of-vertical> .list> div::after {
  display: none;
}

.mod-list-handlingNumber> .list {
  display: flex;
  flex-wrap: wrap;
}

.mod-list-handlingNumber> .list> div {
  line-height: 1.85714;
  vertical-align: bottom;
  display: flex;
  align-items: center;
}

.mod-list-handlingNumber> .list> div> dd {
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0 0 0 5px;
}

.mod-list-handlingNumber> .list> div> dd> .unit {
  font-size: 1.4rem;
  font-weight: normal;
}

.mod-list-handlingNumber> .list> div:not(:last-child)::after {
  padding: 0 5px;
  content: "/";
}

/* ----------------------------------------------------------------------------
 * .mod-list-tag 検索結果リストA
 * ------------------------------------------------------------------------- */
.mod-list-tag> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -10px 0 0 -5px;
}

.mod-list-tag> .list> li {
  display: flex;
  padding: 10px 0 0 5px;
}

.mod-list-tag> .list> li> * {
  font-size: 1.2rem;
  padding: 1px 15px;
  border: 1px solid #505050;
  border-radius: 20px;
}

/* ----------------------------------------------------------------------------
 * .mod-list-searchExample 事例検索結果リスト
 * ------------------------------------------------------------------------- */
.mod-list-searchExample {
  margin: 35px 0 80px;
}

.mod-list-searchExample> .list> li {
  background: #f0f1f2;
  padding: 20px 20px 15px;
}

.mod-list-searchExample> .list> li> .summary {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 316px;
}

.mod-list-searchExample> .list> li> .summary> *:not(.mainvisual) {
  width: 100%;
}

.mod-list-searchExample> .list> li> .summary> .hdg {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.33333;
  position: relative;
  top: -2px;
  margin: 0 0 16px;
}

.mod-list-searchExample> .list> li> .summary> .hdg a {
  text-decoration: none;
}

.mod-list-searchExample> .list> li> .summary> .hdg .title::after {
  position: relative;
  top: -3px;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px 0 6px;
  content: "";
  transform: rotate(45deg);
  border: 2px solid #30b653;
  border-width: 2px 2px 0 0;
}

.mod-list-searchExample> .list> li> .summary> .hdg .tag {
  font-size: 1rem;
  white-space: nowrap;
  color: #666;
  background: #ffe63b;
  position: relative;
  top: -3px;
  padding: 4px 3px;
}

.mod-list-searchExample> .list> li> .summary> .tag {
  margin: 0 0 11px;
}

.mod-list-searchExample> .list> li> .summary> .tag> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -2px 0 0 -2px;
}

.mod-list-searchExample> .list> li> .summary> .tag> .list> li {
  font-size: 1.2rem;
  line-height: 1;
  display: flex;
  padding: 2px 0 0 2px;
}

.mod-list-searchExample> .list> li> .summary> .tag> .list> li.of-2line {
  font-size: 1.1rem;
  line-height: 1.27273;
}

.mod-list-searchExample> .list> li> .summary> .tag> .list> li> b {
  font-weight: inherit;
  letter-spacing: -.9px;
  text-align: center;
  color: #505050;
  background: #fff;
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 2px 17px;
  border: 1px solid #505050;
}

.mod-list-searchExample> .list> li> .summary> .shop {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 0 0 15px;
}

.mod-list-searchExample> .list> li> .summary> .shop> p {
  position: relative;
}

.mod-list-searchExample> .list> li> .summary> .shop> p img {
  position: absolute;
  top: 8px;
  left: 0;
}

.mod-list-searchExample> .list> li> .summary> .shop> p> span {
  display: block;
  padding: 0 0 0 25px;
}

.mod-list-searchExample> .list> li> .summary> .mainvisual {
  position: relative;
  margin: 0 0 20px;
}

.mod-list-searchExample> .list> li> .summary> .mainvisual> .img {
  background: #ccc;
  position: relative;
  width: 280px;
  height: 280px;
}

.mod-list-searchExample> .list> li> .summary> .mainvisual> .img img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin: auto;
}

.mod-list-searchExample> .list> li> .summary> .mainvisual> .caption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 280px;
}

.mod-list-searchExample> .list> li> .summary> .mainvisual> .caption .tag {
  padding: 10px 0 0;
}

.mod-list-searchExample> .list> li> .summary> .mainvisual> .caption .tag> b {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  color: #31b552;
  display: inline-block;
  min-width: 80px;
  padding: 5px 10px;
  border: 1px solid #31b552;
}

.mod-list-searchExample> .list> li> .summary> .mainvisual> .caption .price {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: right;
  flex-grow: 1;
}

.mod-list-searchExample> .list> li> .summary> .mainvisual> .caption .price .unit {
  font-size: 1.6rem;
}

.mod-list-searchExample> .list> li> .summary> .mainvisual .func-btn {
  font-size: 1.1rem;
  line-height: 1.45455;
  white-space: nowrap;
  color: #fff;
  background: rgba(0, 0, 0, .15);
  position: absolute;
  top: 4px;
  right: 5px;
  padding: 2px 4px 1px 20px;
  border: 1px solid #fff;
  border-radius: 2px;
}

.mod-list-searchExample> .list> li> .summary> .mainvisual .func-btn::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -93px -82px;
  background-size: 111px 97px;
  position: absolute;
  top: 4px;
  left: 6px;
  display: block;
  width: 11px;
  height: 11px;
  content: "";
}

.mod-list-searchExample> .list> li> .summary> .mainvisual .func-btn[data-is-favorited="true"]::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -42px -82px;
  background-size: 111px 97px;
  width: 12px;
  height: 12px;
}

.mod-list-searchExample> .list> li> .summary> .part {
  overflow: auto;

  -webkit-overflow-scrolling: touch;
}

.mod-list-searchExample> .list> li> .summary> .part> .list {
  display: flex;
  margin: -14px 0 0 -14px;
}

.mod-list-searchExample> .list> li> .summary> .part> .list> li {
  padding: 14px 0 0 14px;
}

.mod-list-searchExample> .list> li> .summary> .part> .list> li> .item {
  text-decoration: none;
  display: flex;
  flex-direction: column-reverse;
  max-width: 142px;
}

.mod-list-searchExample> .list> li> .summary> .part> .list> li> .item .caption {
  display: flex;
  flex-wrap: wrap;
  padding: 3px 1px 0;
}

.mod-list-searchExample> .list> li> .summary> .part> .list> li> .item .caption .name {
  font-size: 1.2rem;
  font-weight: bold;
  word-break: break-all;
  position: relative;
  max-width: 76px;
  padding: 3px 16px 0 0;
}

.mod-list-searchExample> .list> li> .summary> .part> .list> li> .item .caption .name::after {
  position: absolute;
  top: 9px;
  right: 3px;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 4px;
  content: "";
  transform: rotate(45deg);
  border: 2px solid #30b653;
  border-width: 2px 2px 0 0;
}

.mod-list-searchExample> .list> li> .summary> .part> .list> li> .item .caption .price {
  font-size: 1.2rem;
  text-align: right;
  white-space: nowrap;
  flex-grow: 1;
}

.mod-list-searchExample> .list> li> .summary> .part> .list> li> .item .caption .price> span:first-child {
  font-size: 1.6rem;
  letter-spacing: .3px;
}

.mod-list-searchExample> .list> li> .summary> .part> .list> li> .item .img {
  background: #ccc;
  position: relative;
  width: 142px;
  height: 142px;
}

.mod-list-searchExample> .list> li> .summary> .part> .list> li> .item .img img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin: auto;
}

.mod-list-searchExample> .list> li> .description {
  font-size: 1.6rem;
  line-height: 1.5;
  margin: 17px 2px 0;
}

.mod-list-searchExample> .list> li+ li {
  margin-top: 4px;
}

/* ----------------------------------------------------------------------------
 * .mod-list-searchExample02 事例検索結果リスト02
 * ------------------------------------------------------------------------- */
.mod-list-searchExample02 {
  margin: 0 0 80px;
}

.mod-list-searchExample02[data-col]> .list> li.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-list-searchExample02[data-col]> .list> li.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-list-searchExample02[data-col="auto"]> .list> li {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-list-searchExample02[data-col="2"]> .list> li {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-list-searchExample02[data-col="3"]> .list> li {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-list-searchExample02[data-col="4"]> .list> li {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-list-searchExample02[data-col="5"]> .list> li {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-list-searchExample02[data-col="6"]> .list> li {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-list-searchExample02> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -4px 0 0 -4px;
}

.mod-list-searchExample02> .list> li {
  display: flex;
  flex-basis: 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  padding: 4px 0 0 4px;
}

.mod-list-searchExample02> .list> li> .inner {
  background: #f0f1f2;
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  width: 100%;
}

.mod-list-searchExample02> .list> li> .inner> .summary {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
  padding: 13px 15px 17px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .hdg {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.625;
  margin: 0 0 7px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .hdg .pickup {
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  background: #505050;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  padding: 3px 9px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .hdg .pickup::before,
.mod-list-searchExample02> .list> li> .inner> .summary> .hdg .pickup::after {
  position: absolute;
  top: 100%;
  display: block;
  content: "";
  border: solid transparent;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .hdg .pickup::before {
  left: 0;
  border-width: 0 0 7px 35px;
  border-left-color: #505050;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .hdg .pickup::after {
  right: 0;
  border-width: 0 35px 7px 0;
  border-right-color: #505050;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .hdg a {
  line-height: inherit;
  text-decoration: none;
  color: inherit;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .hdg a::before {
  background: #fff;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  padding: 100% 0 0;
  content: "";
  opacity: 0;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .hdg .tag {
  font-size: 1rem;
  white-space: nowrap;
  color: #666;
  background: #ffe63b;
  padding: 4px 3px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .prop> .status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: -5px 0 6px -5px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .prop> .status> * {
  padding: 5px 0 0 5px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .prop> .status .price {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: right;
  flex-grow: 1;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .prop> .status .price .unit {
  font-size: 1.6rem;
  font-weight: normal;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .prop> .status .tag span {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  color: #31b552;
  position: relative;
  top: 1px;
  display: inline-block;
  min-width: 80px;
  padding: 5px 10px;
  border: 1px solid #31b552;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .prop> .category {
  margin: 0 0 6px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .prop> .category> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -2px 0 0 -2px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .prop> .category> .list> li {
  font-size: 1.2rem;
  line-height: 1;
  display: flex;
  padding: 2px 0 0 2px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .prop> .category> .list> li.of-2line {
  font-size: 1.1rem;
  line-height: 1.27273;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .prop> .category> .list> li> b {
  font-weight: inherit;
  letter-spacing: -.9px;
  text-align: center;
  color: #505050;
  background: #fff;
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 2px 17px;
  border: 1px solid #505050;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .shop {
  font-size: 1.3rem;
  font-weight: bold;
  margin: 0 0 8px;
  padding: 0 0 6px;
  border-bottom: 1px solid #ccc;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .shop p {
  position: relative;
  padding: 0 0 0 23px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .shop p img {
  position: absolute;
  top: 5px;
  left: 1px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .description {
  display: none;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .note {
  font-size: 1.3rem;
  line-height: 1.53846;
  margin: 0 -3px 0;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .note dt {
  font-weight: bold;
  margin: 0 0 2px;
}

.mod-list-searchExample02> .list> li> .inner> .summary> .note dd pre {
  font-family: inherit;
  font-size: 100%;
  white-space: pre-wrap;
}

.mod-list-searchExample02> .list> li> .inner> .mainvisual {
  position: relative;
  max-width: 100%;
}

.mod-list-searchExample02> .list> li> .inner> .mainvisual> .img {
  background: #ccc;
  position: relative;
  padding: 100% 0 0;
}

.mod-list-searchExample02> .list> li> .inner> .mainvisual> .img img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin: auto;
}

.mod-list-searchExample02> .list> li> .inner> .mainvisual .func-btn {
  font-size: 1.1rem;
  line-height: 1.45455;
  white-space: nowrap;
  color: #fff;
  background: rgba(0, 0, 0, .15);
  position: absolute;
  z-index: 2;
  top: 4px;
  right: 5px;
  padding: 2px 4px 1px 20px;
  border: 1px solid #fff;
  border-radius: 2px;
}

.mod-list-searchExample02> .list> li> .inner> .mainvisual .func-btn::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -93px -82px;
  background-size: 111px 97px;
  position: absolute;
  top: 4px;
  left: 6px;
  display: block;
  width: 11px;
  height: 11px;
  content: "";
}

.mod-list-searchExample02> .list> li> .inner> .mainvisual .func-btn[data-is-favorited="true"]::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -42px -82px;
  background-size: 111px 97px;
  width: 12px;
  height: 12px;
}

.mod-list-searchExample02[data-layout="grid"]> .list> li> .inner> .summary> .shop:last-child,
.mod-list-searchExample02[data-layout="grid"]> .list> li> .inner> .summary> .shop:nth-last-child(2) {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.mod-list-searchExample02[data-layout="list"]> .list> li {
  flex-basis: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner {
  flex-direction: column-reverse;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary {
  padding: 15px 20px 14px;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .hdg {
  font-size: 1.8rem;
  margin-bottom: 11px;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .hdg .title {
  position: relative;
  z-index: 1;
  margin-right: 5px;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .hdg .tag {
  position: relative;
  top: -3px;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .hdg a::before {
  height: 250px;
  padding: 0;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .prop {
  display: flex;
  align-items: center;
  margin: -39px 0 0 -39px;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .prop> * {
  padding: 39px 0 0 39px;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .prop> .status {
  margin: -20px 0 0 -20px;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .prop> .status> * {
  padding: 20px 0 0 20px;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .prop> .status .price {
  font-size: 2.6rem;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .prop> .category {
  margin-bottom: 0;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .prop> .category> .list {
  position: relative;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .prop> .category> .list::before {
  background: #ccc;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -19px;
  display: block;
  width: 1px;
  height: calc(100% + 3px);
  margin: auto 0;
  content: "";
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .shop {
  font-size: 1.6rem;
  margin: 11px 0 9px;
  padding-bottom: 11px;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .shop p {
  padding-left: 26px;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .shop p img {
  top: 7px;
  left: 0;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .description {
  font-size: 1.3rem;
  display: block;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .note {
  margin: 7px 2px 0;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .note dd pre {
  white-space: normal;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .mainvisual {
  min-width: 250px;
}

.mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .mainvisual> .img {
  height: 250px;
  padding: 0;
}

/* ============================================================================
 * _tbl modules
 * ========================================================================= */
[class^="mod-tbl"].of-scroll[tabindex] {
  overflow: auto;
}

[class^="mod-tbl"].of-scroll[tabindex]> table {
  width: 960px;
  table-layout: fixed;
}

[class^="mod-tbl"]> table {
  margin: 0 0 1px;
}

[class^="mod-tbl"]> table> *> *> *> *:first-child {
  margin-top: 0;
}

[class^="mod-tbl"]> table> *> *> *> *:last-child {
  margin-bottom: 0;
}

[class^="mod-tbl"]> table> *> *> *.of-borderBottomDotted {
  border-bottom-style: dotted;
}

[class^="mod-tbl"]> table> *> *> *.of-borderTopDotted {
  border-top-style: dotted;
}

[class^="mod-tbl"]> table> *> *> *.of-borderLeftDotted {
  border-left-style: dotted;
}

[class^="mod-tbl"]> table> *> *> *.of-borderRightDotted {
  border-right-style: dotted;
}

[class^="mod-tbl"]> table> *> *> *> .module> * {
  display: inline-block;
}

[class^="mod-tbl"]> table> *> *> *> .module:first-child> * {
  margin-top: 0;
}

[class^="mod-tbl"]> table> *> *> *> .module:last-child> * {
  margin-bottom: 0;
}

[class^="mod-tbl"]> table> *> *> *> pre {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  white-space: pre-wrap;
}

[class^="mod-tbl"]> table> *> *> *> .tag> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -2px 0 0 -2px;
}

[class^="mod-tbl"]> table> *> *> *> .tag> .list> li {
  font-size: 1.2rem;
  line-height: 1;
  display: flex;
  padding: 2px 0 0 2px;
}

[class^="mod-tbl"]> table> *> *> *> .tag> .list> li.of-2line {
  font-size: 1.1rem;
  line-height: 1.27273;
}

[class^="mod-tbl"]> table> *> *> *> .tag> .list> li> b {
  font-weight: inherit;
  letter-spacing: -.9px;
  text-align: center;
  color: #505050;
  background: #fff;
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 2px 17px;
  border: 1px solid #505050;
}

[class^="mod-tbl"]> table> *> *> *> .tag+ * {
  margin-top: 5px;
}

[class^="mod-tbl"]> table> *> *> *> .lyt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: -10px 0 0 -10px;
}

[class^="mod-tbl"]> table> *> *> *> .lyt> .col {
  flex-grow: 1;
  padding: 10px 0 0 10px;
}

[class^="mod-tbl"]> table> *> *> *> .lyt> .col> *:first-child {
  margin-top: 0;
}

[class^="mod-tbl"]> table> *> *> *> .lyt> .col> *:last-child {
  margin-bottom: 0;
}

[class^="mod-tbl"]> table> *> *> *> .specification {
  display: table;
}

[class^="mod-tbl"]> table> *> *> *> .specification> div {
  display: table-row;
}

[class^="mod-tbl"]> table> *> *> *> .specification> div> * {
  vertical-align: top;
  display: table-cell;
}

[class^="mod-tbl"]> table> *> *> *> .specification> div dt {
  white-space: nowrap;
}

[class^="mod-tbl"]> table> *> *> *> .specification> div dt::after {
  content: "：";
}

[class^="mod-tbl"]> table> *> *> *.of-hasUnit {
  font-size: 1.8rem;
  font-weight: bold;
}

[class^="mod-tbl"]> table> *> *> *.of-hasUnit .unit {
  font-size: 1.2rem;
}

[class^="mod-tbl"] [class^="mod-"] {
  text-align: left;
}

[class^="mod-tbl"] [class^="mod-list"]> .list> li> * {
  font-size: inherit;
}

/* ----------------------------------------------------------------------------
 * .mod-tbl
 * ------------------------------------------------------------------------- */
.mod-tbl {
  margin: 0 0 30px;
}

.mod-tbl> table {
  font-size: 1.4rem;
  width: 100%;
}

.mod-tbl> table> caption {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: left;
  margin: 0 0 9px;
}

.mod-tbl> table colgroup col:first-child:not(:last-child) {
  width: 133px;
}

.mod-tbl> table> tbody> tr> th,
.mod-tbl> table> tbody> tr> td,
.mod-tbl> table> tfoot> tr> th,
.mod-tbl> table> tfoot> tr> td {
  line-height: 1.5;
  vertical-align: middle;
  border-top: 1px solid #ccc;
}

.mod-tbl> table> tbody> tr> th,
.mod-tbl> table> tfoot> tr> th {
  font-weight: bold;
  text-align: center;
  background: #f0f1f2;
  padding: 10px;
}

.mod-tbl> table> tbody> tr> td,
.mod-tbl> table> tfoot> tr> td {
  padding: 10px 20px 11px 27px;
}

.mod-tbl> table> tbody> tr> td> .feature,
.mod-tbl> table> tfoot> tr> td> .feature {
  font-weight: bold;
}

.mod-tbl> table> tbody> tr> td> .feature> .list,
.mod-tbl> table> tfoot> tr> td> .feature> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -2px 0 0 -2px;
}

.mod-tbl> table> tbody> tr> td> .feature> .list> li,
.mod-tbl> table> tfoot> tr> td> .feature> .list> li {
  font-size: 1.2rem;
  line-height: 1;
  display: flex;
  padding: 2px 0 0 2px;
}

.mod-tbl> table> tbody> tr> td> .feature> .list> li.of-2line,
.mod-tbl> table> tfoot> tr> td> .feature> .list> li.of-2line {
  font-size: 1.1rem;
  line-height: 1.27273;
}

.mod-tbl> table> tbody> tr> td> .feature> .list> li> b,
.mod-tbl> table> tfoot> tr> td> .feature> .list> li> b {
  font-weight: inherit;
  letter-spacing: -.9px;
  text-align: center;
  color: #fff;
  background: #9fd038;
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 2px 17px;
}

.mod-tbl> table> tbody> tr> td> .feature li,
.mod-tbl> table> tfoot> tr> td> .feature li {
  flex-basis: 25%;
  max-width: 25%;
}

.mod-tbl> table> tbody> tr> td> .feature+ *,
.mod-tbl> table> tfoot> tr> td> .feature+ * {
  margin-top: 5px;
}

.mod-tbl> table> tbody> tr> td> .tag> .list,
.mod-tbl> table> tfoot> tr> td> .tag> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -2px 0 0 -2px;
}

.mod-tbl> table> tbody> tr> td> .tag> .list> li,
.mod-tbl> table> tfoot> tr> td> .tag> .list> li {
  font-size: 1.2rem;
  line-height: 1;
  display: flex;
  padding: 2px 0 0 2px;
}

.mod-tbl> table> tbody> tr> td> .tag> .list> li.of-2line,
.mod-tbl> table> tfoot> tr> td> .tag> .list> li.of-2line {
  font-size: 1.1rem;
  line-height: 1.27273;
}

.mod-tbl> table> tbody> tr> td> .tag> .list> li> b,
.mod-tbl> table> tfoot> tr> td> .tag> .list> li> b {
  font-weight: inherit;
  letter-spacing: -.9px;
  text-align: center;
  color: #505050;
  background: #fff;
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 2px 17px;
  border: 1px solid #505050;
}

.mod-tbl> table> tbody> tr> td> .tag+ *,
.mod-tbl> table> tfoot> tr> td> .tag+ * {
  margin-top: 5px;
}

.mod-tbl> table> tbody> tr> td.of-count,
.mod-tbl> table> tfoot> tr> td.of-count {
  font-size: 2.4rem;
  font-weight: bold;
}

.mod-tbl> table> tbody> tr> td.of-count .unit,
.mod-tbl> table> tfoot> tr> td.of-count .unit {
  font-size: 1.4rem;
}

.mod-tbl> table> tbody> tr:last-child> th,
.mod-tbl> table> tbody> tr:last-child> td,
.mod-tbl> table> tfoot> tr:last-child> th,
.mod-tbl> table> tfoot> tr:last-child> td {
  border-bottom: 1px solid #ccc;
}

/* ----------------------------------------------------------------------------
 * .mod-tbl-02
 * ------------------------------------------------------------------------- */
.mod-tbl-02 {
  margin: 0 0 30px;
}

.mod-tbl-02:not(.of-scroll)> table {
  display: block;
}

.mod-tbl-02:not(.of-scroll)> table> * {
  display: block;
}

.mod-tbl-02:not(.of-scroll)> table> *> * {
  display: block;
}

.mod-tbl-02:not(.of-scroll)> table> *> *> * {
  display: block;
}

.mod-tbl-02.of-scroll> table {
  border: 0;
}

.mod-tbl-02.of-scroll> table> tbody> tr> td {
  padding-left: 30px;
  border-left-width: 10px;
}

.mod-tbl-02.of-scroll> table> tbody> tr:last-child> th,
.mod-tbl-02.of-scroll> table> tbody> tr:last-child> td {
  border-bottom: 1px solid #ccc;
}

.mod-tbl-02> table {
  font-size: 1.4rem;
  width: 100%;
  border-bottom: 1px solid #ccc;
}

.mod-tbl-02> table> caption {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: left;
  margin: 0 0 9px;
}

.mod-tbl-02> table> colgroup col:first-child:not(:last-child) {
  width: 150px;
}

.mod-tbl-02> table> tbody> tr> th,
.mod-tbl-02> table> tbody> tr> td,
.mod-tbl-02> table> tfoot> tr> th,
.mod-tbl-02> table> tfoot> tr> td {
  vertical-align: middle;
  padding: 15px 10px;
  border-top: 1px solid #ccc;
}

.mod-tbl-02> table> tbody> tr> th,
.mod-tbl-02> table> tfoot> tr> th {
  font-weight: bold;
  text-align: left;
}

.mod-tbl-02> table> tbody> tr> td,
.mod-tbl-02> table> tfoot> tr> td {
  padding: 15px 20px 15px 20px;
  border-left: 0 solid #fff;
}

/* ----------------------------------------------------------------------------
 * .mod-tbl-03
 * ------------------------------------------------------------------------- */
.mod-tbl-03 {
  margin: 0 0 30px;
}

.mod-tbl-03> table {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
}

.mod-tbl-03> table> caption {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: left;
  margin: 0 0 9px;
}

.mod-tbl-03> table> thead> tr> td:first-child:empty {
  border-top-color: transparent;
  border-left-color: transparent;
}

.mod-tbl-03> table> thead th,
.mod-tbl-03> table> thead td {
  padding-top: 11px;
  padding-bottom: 11px;
}

.mod-tbl-03> table th,
.mod-tbl-03> table td {
  text-align: center;
  vertical-align: middle;
  padding: 12px 8px;
  border: 1px solid #b3b3b3;
}

.mod-tbl-03> table th {
  font-weight: bold;
  background: #e3eecc;
}

/* ----------------------------------------------------------------------------
 * .mod-tbl-compare 検討リスト比較用テーブル
 * ------------------------------------------------------------------------- */
.mod-tbl-compare {
  overflow: auto;
  margin: 0 0 30px;
}

.mod-tbl-compare[data-compare-list-length="5"]> table> colgroup> col~ col {
  width: 200px;
}

.mod-tbl-compare> table {
  width: 960px;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
}

.mod-tbl-compare> table> colgroup> col:first-child {
  width: 130px;
}

.mod-tbl-compare> table th,
.mod-tbl-compare> table td {
  padding: 14px 8px;
  border: 1px solid #b3b3b3;
}

.mod-tbl-compare> table th {
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  background: #e3eecc;
}

.mod-tbl-compare> table td> *:first-child {
  margin-top: 0;
}

.mod-tbl-compare> table td> *:last-child {
  margin-bottom: 0;
}

.mod-tbl-compare> table td.photo {
  text-align: center;
  padding: 3px;
}

.mod-tbl-compare> table td.photo img {
  max-width: 100%;
}

.mod-tbl-compare> table td.count {
  font-weight: bold;
  text-align: center;
}

.mod-tbl-compare> table td.count span:first-child {
  font-size: 2.4rem;
}

.mod-tbl-compare> table td.scope {
  padding: 3px;
}

.mod-tbl-compare> table td.scope> .list {
  font-size: 1.2rem;
}

.mod-tbl-compare> table td.scope> .list> li {
  margin: 0 0 3px;
}

.mod-tbl-compare> table td.scope> .list> li:last-child {
  margin-bottom: 0;
}

.mod-tbl-compare> table td.scope> .list> li span {
  text-align: center;
  color: #fff;
  background: #505050;
  display: block;
}

.mod-tbl-compare> table td.scope> .list> li[aria-hidden="true"] {
  display: none;
}

.mod-tbl-compare> table td.scope> .list> li[hidden][aria-hidden="true"] {
  display: list-item;
}

.mod-tbl-compare> table td.scope> .list> li[hidden][aria-hidden="true"] span {
  color: #999;
  background: #e6e6e6;
}

/* ============================================================================
 * _box modules
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .mod-box 汎用ボックス
 * ------------------------------------------------------------------------- */
.mod-box {
  background: #f5f9ec;
  margin: 0 0 33px;
  border-radius: 6px;
}

.mod-box> .content {
  padding: 14px 27px;
}

.mod-box> .content> *:first-child {
  margin-top: 0;
}

.mod-box> .content> *:last-child {
  margin-bottom: 0;
}

.mod-box> .content+ .content {
  margin: 6px 0 0;
  padding-top: 20px;
  border-top: 1px solid #ccc;
}

.mod-box.var-02 {
  background: #fff;
}

.mod-box.var-03 {
  background: #f0f1f2;
}

/* ----------------------------------------------------------------------------
 * .mod-box-02 汎用ボックス02
 * ------------------------------------------------------------------------- */
.mod-box-02 {
  background: #f0f1f2;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 30px;
  padding: 30px 20px;
  border-radius: 6px;
}

.mod-box-02> .hdg {
  font-size: 3rem;
  text-align: center;
  max-width: 100%;
  margin: 0 0 12px;
}

.mod-box-02> .content {
  max-width: 100%;
}

.mod-box-02> .content> *:first-child {
  margin-top: 0;
}

.mod-box-02> .content> *:last-child {
  margin-bottom: 0;
}

.mod-box-02.align-left {
  align-items: flex-start;
}

/* ----------------------------------------------------------------------------
 * .mod-box-description 詳細説明用ボックス
 * ------------------------------------------------------------------------- */
.mod-box-description {
  margin: 0 0 40px;
}

.mod-box-description[data-col]> .inner> .col.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-box-description[data-col]> .inner> .col.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-box-description[data-col="auto"]> .inner> .col {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-box-description[data-col="2"]> .inner> .col {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-box-description[data-col="3"]> .inner> .col {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-box-description[data-col="4"]> .inner> .col {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-box-description[data-col="5"]> .inner> .col {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-box-description[data-col="6"]> .inner> .col {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-box-description> .inner {
  display: flex;
  flex-wrap: wrap;
  margin: -9px 0 0 -4px;
}

.mod-box-description> .inner> .col {
  display: flex;
  flex-basis: 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  padding: 9px 0 0 4px;
}

.mod-box-description> .inner> .col> .box {
  background: #f0f1f2;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.mod-box-description> .inner> .col> .box> .head {
  text-align: center;
  background: #e3eecc;
  padding: 7px 7px 6px;
}

.mod-box-description> .inner> .col> .box> .head> .hdg {
  font-size: 1.6rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mod-box-description> .inner> .col> .box> .head> .hdg.of-2row::after {
  display: block;
  min-height: 54px;
  content: "";
}

.mod-box-description> .inner> .col> .box> .head> .hdg> .label {
  font-size: 1.2rem;
  line-height: 1.66667;
  background: #fff;
  position: relative;
  top: -2px;
  display: inline-block;
  margin: 0 14px 0 0;
  padding: 2px 7px;
}

.mod-box-description> .inner> .col> .box> .media> span {
  display: block;
}

.mod-box-description> .inner> .col> .box> .media> span img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.mod-box-description> .inner> .col> .box> .media+ .media {
  padding-top: 2px;
}

.mod-box-description> .inner> .col> .box> .content {
  margin: 0 20px;
  padding: 20px 0;
}

.mod-box-description> .inner> .col> .box> .content> *:first-child {
  margin-top: 0;
}

.mod-box-description> .inner> .col> .box> .content> *:last-child {
  margin-bottom: 0;
}

.mod-box-description> .inner> .col> .box> .content+ .content {
  border-top: 1px solid #ccc;
}

.mod-box-description> .inner> .col> .box> .foot {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: flex-end;
  padding: 0 0 30px;
}

.mod-box-description> .inner> .col> .box> .foot> *:first-child {
  margin-top: 0;
}

.mod-box-description> .inner> .col> .box> .foot> *:last-child {
  margin-bottom: 0;
}

.mod-box-description.var-02> .inner {
  margin: -20px 0 0 -14px;
}

.mod-box-description.var-02> .inner> .col {
  padding: 20px 0 0 14px;
}

.mod-box-description.var-02> .inner> .col> .box {
  background: #f5f9ec;
  overflow: hidden;
  border-radius: 6px;
}

.mod-box-description.var-02> .inner> .col> .box> .head {
  background: #bfe56e;
  padding-top: 10px;
  padding-bottom: 10px;
}

.mod-box-description.var-02> .inner> .col> .box> .head> .hdg {
  font-size: 1.8rem;
  flex-direction: column;
}

.mod-box-description.var-02> .inner> .col> .box> .head> .hdg span {
  font-size: 1.3rem;
  line-height: 1;
  padding: 5px 0 0;
}

/* ----------------------------------------------------------------------------
 * .mod-box-contact お問い合わせ先ボックス
 * ------------------------------------------------------------------------- */
.mod-box-contact {
  margin: 0 0 33px;
}

.mod-box-contact> .inner> div+ div {
  margin-top: 4px;
}

.mod-box-contact> .inner> div> dt {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  background: #e3eecc;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 10px 11px;
}

.mod-box-contact> .inner> div> dt span {
  position: relative;
  display: block;
  padding: 0 50px;
}

.mod-box-contact> .inner> div> dt span img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto 15px auto 0;
}

.mod-box-contact> .inner> div> dd {
  background: #f0f1f2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 20px;
}

.mod-box-contact> .inner> div> dd> *:first-child {
  margin-top: 0;
}

.mod-box-contact> .inner> div> dd> *:last-child {
  margin-bottom: 0;
}

.mod-box-contact> .inner> div> dd> * {
  max-width: 100%;
}

.mod-box-contact> .inner> div.of-tel> dd {
  padding-bottom: 10px;
}

.mod-box-contact> .inner> div.of-tel> dd> .tel {
  font-size: 2rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 0 15px;
}

.mod-box-contact> .inner> div.of-tel> dd> .tel a {
  text-decoration: none;
}

.mod-box-contact> .inner> div.of-web> dd {
  align-items: center;
}

/* ----------------------------------------------------------------------------
 * .mod-box-shop 施工店情報ボックス
 * ------------------------------------------------------------------------- */
.mod-box-shop {
  margin: 0 0 30px -9px;
}

.mod-box-shop> .title {
  position: relative;
  z-index: 1;
  display: inline-block;
  min-width: 202px;
}

.mod-box-shop> .title::before {
  position: absolute;
  top: 100%;
  left: 0;
  content: "";
  border: 0;
  border-right: 10px solid #505050;
  border-bottom: 10px solid transparent;
}

.mod-box-shop> .title> .inner {
  font-size: 1.6rem;
  font-weight: normal;
  background: #fff;
  position: relative;
  display: block;
  padding: 5px 11px 5px 13px;
  border: 1px solid #505050;
  border-right: 0;
}

.mod-box-shop> .title> .inner::before,
.mod-box-shop> .title> .inner::after {
  position: absolute;
  top: 0;
  left: 100%;
  content: "";
  border: 0;
}

.mod-box-shop> .title> .inner::before {
  z-index: 1;
  border-bottom: 18px solid transparent;
  border-left: 10px solid #fff;
}

.mod-box-shop> .title> .inner::after {
  top: -1px;
  border-bottom: 21px solid transparent;
  border-left: 12px solid #505050;
}

.mod-box-shop> .title> .inner span::before,
.mod-box-shop> .title> .inner span::after {
  position: absolute;
  left: 100%;
  content: "";
  border: 0;
}

.mod-box-shop> .title> .inner span::before {
  z-index: 1;
  bottom: 0;
  border-top: 18px solid transparent;
  border-left: 10px solid #fff;
}

.mod-box-shop> .title> .inner span::after {
  bottom: -1px;
  border-top: 21px solid transparent;
  border-left: 12px solid #505050;
}

.mod-box-shop> .inner {
  background: #f0f1f2;
  margin: -28px 0 0 10px;
  padding: 39px 19px 26px;
  border-radius: 6px;
}

.mod-box-shop> .inner> .name {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.44444;
}

.mod-box-shop> .inner> .name+ .content {
  margin: 11px 0 0;
  border-top: 1px solid #ccc;
}

.mod-box-shop> .inner> .content {
  padding: 9px 0 0;
}

.mod-box-shop> .inner> .content> *:first-child {
  margin-top: 0;
}

.mod-box-shop> .inner> .content> *:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------------------
 * .mod-box-showRoom ショールームのご案内ボックス
 * ------------------------------------------------------------------------- */
.mod-box-showRoom {
  background: #f0f1f2;
  margin: 0 0 60px;
  padding: 20px;
}

.mod-box-showRoom> .hdg {
  font-size: 3rem;
  font-weight: bold;
  overflow: hidden;
  margin: 0 0 20px;
  padding: 0 0 0 12px;
  border-left: 6px solid #505050;
}

.mod-box-showRoom> .body {
  margin: 0 0 10px;
}

.mod-box-showRoom> .body> .detail> .content {
  margin: 10px 0;
}

.mod-box-showRoom> .body> .detail> .content> *:first-child {
  margin-top: 0;
}

.mod-box-showRoom> .body> .detail> .content> *:last-child {
  margin-bottom: 0;
}

.mod-box-showRoom> .body> .detail> .nearest {
  background: #fff;
  margin-bottom: 20px;
  padding: 15px 20px;
}

.mod-box-showRoom> .body> .detail> .nearest> .txt {
  font-weight: bold;
  margin-bottom: 10px;
}

.mod-box-showRoom> .body> .detail> .nearest> .content> *:first-child {
  margin-top: 0;
}

.mod-box-showRoom> .body> .detail> .nearest> .content> *:last-child {
  margin-bottom: 0;
}

.mod-box-showRoom> .body> .map {
  text-align: center;
}

.mod-box-showRoom> .foot {
  text-align: center;
}

.mod-box-showRoom> .foot> .content> *:first-child {
  margin-top: 0;
}

.mod-box-showRoom> .foot> .content> *:last-child {
  margin-bottom: 0;
}

.mod-box-showRoom> .foot> .content> .mod-btn {
  margin-top: 0;
}

.mod-box-showRoom> .foot> .content> .mod-btn> .btn+ .btn {
  margin-top: 5px;
}

/* ----------------------------------------------------------------------------
 * .mod-box-cost コスト表示ボックス
 * ------------------------------------------------------------------------- */
.mod-box-cost {
  margin: 0 0 10px;
}

.mod-box-cost> .list {
  display: flex;
  flex-wrap: wrap;
}

.mod-box-cost> .list> div {
  background: #f0f1f2;
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
}

.mod-box-cost> .list> div dt {
  padding: 0 20px 0 0;
}

.mod-box-cost> .list> div dd {
  font-size: 1.6rem;
  line-height: 1.2;
  display: block;
}

.mod-box-cost> .list> div dd> .num {
  font-size: 3rem;
  font-weight: bold;
}

.mod-box-cost> .list> div+ div {
  margin: 0 0 0 4px;
}

/* ============================================================================
 * _pnl modules
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .mod-pnl 汎用パネル
 * ------------------------------------------------------------------------- */
.mod-pnl {
  text-align: left;
  margin: 50px 0 100px;
}

.mod-pnl[data-col]> .inner> .col.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-pnl[data-col]> .inner> .col.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-pnl[data-col="auto"]> .inner> .col {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-pnl[data-col="1"]> .inner> .col {
  flex-basis: 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
}

.mod-pnl[data-col="2"]> .inner> .col {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-pnl[data-col="3"]> .inner> .col {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-pnl[data-col="4"]> .inner> .col {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-pnl[data-col="5"]> .inner> .col {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-pnl[data-col="6"]> .inner> .col {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-pnl> .inner {
  display: flex;
  flex-wrap: wrap;
  margin: -1px 0 0 -1px;
}

.mod-pnl> .inner> .col {
  display: flex;
  flex-basis: 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  padding: 1px 0 0 1px;
}

.mod-pnl> .inner> .col> .pnl {
  text-decoration: none;
  color: inherit;
  background: #f0f1f2;
  display: flex;
  overflow: hidden;
  flex-direction: column-reverse;
  width: 100%;
}

.mod-pnl> .inner> .col> .pnl:focus {
  outline: 1px dotted #333;
  outline: -webkit-focus-ring-color auto 5px;
}

.mod-pnl> .inner> .col> .pnl> * {
  min-height: calc(0%);
}

.mod-pnl> .inner> .col> .pnl> .summary {
  position: relative;
  flex-grow: 1;
  padding: 12px 20px 12px 20px;
}

.mod-pnl> .inner> .col> .pnl> .summary> .title {
  font-size: 1.4rem;
  font-weight: bold;
  padding: 0 5px 0 0;
}

.mod-pnl> .inner> .col> .pnl> .summary> .title> b {
  position: relative;
  display: block;
}

.mod-pnl> .inner> .col> .pnl> .summary> .title> span {
  font-weight: normal;
}

.mod-pnl> .inner> .col> .pnl> .summary> .title:not(:last-child) {
  font-size: 1.8rem;
  letter-spacing: -.3px;
  padding: 1px;
}

.mod-pnl> .inner> .col> .pnl> .summary> .title+ .description {
  margin: 12px 0 0;
  padding-top: 13px;
  border-top: 1px solid #ccc;
}

.mod-pnl> .inner> .col> .pnl> .summary> .description {
  padding: 0 5px 0 0;
}

.mod-pnl> .inner> .col> .pnl> .summary> .description p+ p {
  margin-top: 4px;
}

.mod-pnl> .inner> .col> .pnl> .summary> .description p> .item {
  line-height: 1.21429;
  display: block;
}

.mod-pnl> .inner> .col> .pnl> .summary> .description p> .cost {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  display: block;
}

.mod-pnl> .inner> .col> .pnl> .summary> .description p> .cost> .num {
  font-size: 3rem;
  font-weight: bold;
}

.mod-pnl> .inner> .col> .pnl> .img {
  display: flex;
  align-items: center;
  justify-content: center;
}

.mod-pnl> .inner> .col> .pnl> .img span {
  display: block;
  width: 100%;
}

.mod-pnl> .inner> .col> .pnl> .img img {
  width: 100%;
  max-width: 100%;
  opacity: 1;
}

.mod-pnl> .inner> .col> .pnl.of-video> .summary> .title> b {
  padding-left: 25px;
}

.mod-pnl> .inner> .col> .pnl.of-video> .summary> .title> b::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -82px -30px;
  background-size: 111px 97px;
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 17px;
  height: 17px;
  margin: auto 0;
  content: "";
}

.mod-pnl.var-02> .inner> .col> .pnl> .img {
  display: block;
  overflow: hidden;
}

.mod-pnl.var-02> .inner> .col> .pnl> .img> span {
  position: relative;
  display: block;
  padding: 70.2194% 0 0;
}

.mod-pnl.var-02> .inner> .col> .pnl> .img> span img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  transform: translate(-50%, -50%);
}

.mod-pnl.var-02> .inner> .col> .pnl> .img> span img[data-orientation="square"],
.mod-pnl.var-02> .inner> .col> .pnl> .img> span img[data-orientation="portrait"] {
  width: 100%;
  height: auto;
  max-height: none;
}

.mod-pnl.var-02> .inner> .col> .pnl> .img> span img[data-orientation="landscape"] {
  width: auto;
  max-width: none;
  height: 100%;
}

.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl> .summary> .title::before,
.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl> .summary> .title::after {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  content: "";
}

.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl> .summary> .title::before {
  background: #31b552;
  right: 0;
  width: 18px;
  height: 18px;
}

.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl> .summary> .title::after {
  right: 7px;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  border: 1px solid #fff;
  border-width: 1px 1px 0 0;
}

.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl[href^="#anc-"]> .summary> .title::before,
.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl[href^="#anc-"]> .summary> .title::after {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  content: "";
}

.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl[href^="#anc-"]> .summary> .title::before {
  background: #31b552;
  right: 0;
  width: 18px;
  height: 18px;
}

.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl[href^="#anc-"]> .summary> .title::after {
  right: 6px;
  width: 6px;
  height: 6px;
  transform: rotate(45deg) translate(-1px, -1px);
  border: 1px solid #fff;
  border-width: 0 1px 1px 0;
}

.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl[target="_blank"]> .summary> .title {
  padding-right: 0;
}

.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl[target="_blank"]> .summary> .title b {
  padding-right: 27px;
}

.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl[target="_blank"]> .summary> .title::before,
.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl[target="_blank"]> .summary> .title::after {
  display: none;
}

.mod-pnl:not(.of-mayHaveMultipleLinks) .inner> .col> .pnl[target="_blank"]> .summary> .title .icn-_blank {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto 0;
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary {
  display: flex;
  flex-direction: column;
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description {
  display: flex;
  flex-grow: 1;
  width: 100%;
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list {
  display: flex;
  flex-direction: column;
  width: calc(100% + 45px);
  margin: 0 -25px 0 -20px;
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list> li {
  position: relative;
  display: flex;
  flex-grow: 1;
  width: 100%;
  padding: 0 25px;
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list> li> a {
  text-decoration: none;
  display: block;
  width: 100%;
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list> li> a::before,
.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list> li> a::after {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  content: "";
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list> li> a::before {
  background: #31b552;
  right: 0;
  width: 18px;
  height: 18px;
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list> li> a::after {
  right: 7px;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  border: 1px solid #fff;
  border-width: 1px 1px 0 0;
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list> li> a[href^="#anc-"]::before,
.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list> li> a[href^="#anc-"]::after {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  content: "";
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list> li> a[href^="#anc-"]::before {
  background: #31b552;
  right: 0;
  width: 18px;
  height: 18px;
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list> li> a[href^="#anc-"]::after {
  right: 6px;
  width: 6px;
  height: 6px;
  transform: rotate(45deg) translate(-1px, -1px);
  border: 1px solid #fff;
  border-width: 0 1px 1px 0;
}

.mod-pnl.of-mayHaveMultipleLinks .inner> .col> .pnl> .summary> .description> .list> li+ li {
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid #fff;
}

/* ----------------------------------------------------------------------------
 * .mod-pnl-example 事例一覧パネル
 * ------------------------------------------------------------------------- */
.mod-pnl-example {
  margin: 0 0 80px;
}

.mod-pnl-example[data-col]> .inner> .col.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-pnl-example[data-col]> .inner> .col.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-pnl-example[data-col="auto"]> .inner> .col {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-pnl-example[data-col="2"]> .inner> .col {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-pnl-example[data-col="3"]> .inner> .col {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-pnl-example[data-col="4"]> .inner> .col {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-pnl-example[data-col="5"]> .inner> .col {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-pnl-example[data-col="6"]> .inner> .col {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-pnl-example> .inner {
  display: flex;
  flex-wrap: wrap;
  width: auto;
  margin: -4px 0 0 -4px;
}

.mod-pnl-example> .inner> .col {
  flex-basis: 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  margin-bottom: 0;
  padding: 4px 0 0 4px;
}

.mod-pnl-example> .inner> .row {
  width: 100%;
}

html[data-script-enabled="true"] .mod-pnl-example.js-pnl-lyt> .inner {
  position: relative;
  display: block;
  margin: -4px 0 0 -4px;
}

html[data-script-enabled="true"] .mod-pnl-example.js-pnl-lyt> .inner .col {
  min-width: 0;
  max-width: none;
  padding: 4px 0 0 4px;
  transition: .5s top ease-out, .5s left ease-out, .5s width ease-out;
}

.mod-pnl-example.js-pnl-lyt.is-layouted> .inner .col {
  position: absolute;
}

.mod-pnl-example> .inner .col {
  position: relative;
  display: flex;
  margin: 0 0 4px;
}

.mod-pnl-example> .inner .col> .pnl {
  text-decoration: none;
  color: inherit;
  position: relative;
  z-index: 1;
  overflow: hidden;
  flex-grow: 1;
}

.mod-pnl-example> .inner .col> .pnl:focus {
  outline: 1px dotted #333;
  outline: -webkit-focus-ring-color auto 5px;
}

.mod-pnl-example> .inner .col> .pnl> .summary {
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 15px;
}

.mod-pnl-example> .inner .col> .pnl> .summary> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -4px 0 0 -4px;
}

.mod-pnl-example> .inner .col> .pnl> .summary> .list> li {
  font-size: 1.2rem;
  line-height: 1;
  display: flex;
  padding: 4px 0 0 4px;
}

.mod-pnl-example> .inner .col> .pnl> .summary> .list> li.of-2line {
  font-size: 1.1rem;
  line-height: 1.27273;
}

.mod-pnl-example> .inner .col> .pnl> .summary> .list> li> b {
  font-weight: inherit;
  letter-spacing: -.9px;
  text-align: center;
  color: #fff;
  background: transparent;
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 2px 17px;
  border: 1px solid #fff;
}

.mod-pnl-example> .inner .col> .pnl> .summary> .list> li.of-contest> b {
  font-size: 1rem;
  white-space: nowrap;
  color: #666;
  background: #ffe63b;
  padding: 4px 3px;
  border-color: #ffe63b;
}

.mod-pnl-example> .inner .col> .pnl> .summary p {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  margin: 0 0 10px;
}

.mod-pnl-example> .inner .col> .pnl> .summary::after {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #030303 99%, black 100%);
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 130px;
  content: "";
  opacity: .75;

  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#000000',GradientType=0 );
}

.mod-pnl-example> .inner .col> .pnl> .img {
  padding: 100% 0 0;
}

.mod-pnl-example> .inner .col> .pnl> .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  transform: translate(-50%, -50%);
}

.mod-pnl-example> .inner .col> .pnl> .img img[data-orientation="square"] {
  min-width: 100%;
  min-height: 100%;
}

.mod-pnl-example> .inner .col> .pnl> .img img[data-orientation="landscape"] {
  width: auto;
  max-width: none;
  height: 100%;
}

.mod-pnl-example> .inner .col> .pnl> .img img[data-orientation="portrait"] {
  width: 100%;
  height: auto;
  max-height: none;
}

.mod-pnl-example> .inner .col> .pnl> .img img[data-orientation="squere"] {
  min-width: 100%;
  min-height: 100%;
}

.mod-pnl-example .func-btn {
  font-size: 1.1rem;
  line-height: 1.45455;
  white-space: nowrap;
  color: #fff;
  background: rgba(0, 0, 0, .15);
  position: absolute;
  z-index: 3;
  top: 8px;
  right: 5px;
  padding: 2px 4px 1px 20px;
  border: 1px solid #fff;
  border-radius: 2px;
}

.mod-pnl-example .func-btn::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -93px -82px;
  background-size: 111px 97px;
  position: absolute;
  top: 4px;
  left: 6px;
  display: block;
  width: 11px;
  height: 11px;
  content: "";
}

.mod-pnl-example .func-btn[data-is-favorited="true"]::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -42px -82px;
  background-size: 111px 97px;
  width: 12px;
  height: 12px;
}

/* ============================================================================
 * _lyt modules
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .mod-lyt 汎用レイアウト
 * ------------------------------------------------------------------------- */
.mod-lyt {
  margin: 0 0 60px;
}

.mod-lyt[data-col]> .inner> .col.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-lyt[data-col]> .inner> .col.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-lyt[data-col="auto"]> .inner> .col {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-lyt[data-col="2"]> .inner> .col {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-lyt[data-col="3"]> .inner> .col {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-lyt[data-col="4"]> .inner> .col {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-lyt[data-col="5"]> .inner> .col {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-lyt[data-col="6"]> .inner> .col {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-lyt> .inner {
  display: flex;
  flex-wrap: wrap;
  margin: -10px 0 0 -10px;
}

.mod-lyt> .inner> .col {
  flex-basis: 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  padding: 10px 0 0 10px;
}

.mod-lyt> .inner> .col> *:first-child {
  margin-top: 0;
}

.mod-lyt> .inner> .col> *:last-child {
  margin-bottom: 0;
}

.mod-lyt.of-narrow> .inner {
  margin-top: -4px;
  margin-left: -4px;
}

.mod-lyt.of-narrow> .inner> .col {
  padding-top: 4px;
  padding-left: 4px;
}

.mod-lyt.var-02> .inner> .col {
  position: relative;
  padding-right: 20px;
  padding-left: 30px;
}

.mod-lyt.var-02> .inner> .col::before {
  background: #ccc;
  position: absolute;
  top: 10px;
  left: 6px;
  display: none;
  width: 1px;
  height: calc(100% - 10px);
  content: "";
}

.mod-lyt.var-02.of-narrow> .inner> .col {
  padding-left: 24px;
}

.mod-lyt.var-02.of-narrow> .inner> .col::before {
  top: 4px;
  height: calc(100% - 4px);
}

.mod-lyt.var-02[data-col="2"]> .inner> .col:not(:nth-child(2n+1))::before {
  display: block;
}

.mod-lyt.var-02[data-col="3"]> .inner> .col:not(:nth-child(3n+1))::before {
  display: block;
}

.mod-lyt.var-02[data-col="4"]> .inner> .col:not(:nth-child(4n+1))::before {
  display: block;
}

.mod-lyt.var-02[data-col="4"]> .inner> .col:not(:nth-child(4n+1))::before {
  display: block;
}

.mod-lyt.var-02[data-col="5"]> .inner> .col:not(:nth-child(5n+1))::before {
  display: block;
}

.mod-lyt.var-02[data-col="6"]> .inner> .col:not(:nth-child(6n+1))::before {
  display: block;
}

.mod-lyt.align-center> .inner {
  justify-content: center;
}

.mod-lyt.align-right> .inner {
  justify-content: flex-end;
}

/* ----------------------------------------------------------------------------
 * .mod-lyt-exampleDetail 事例詳細用レイアウト
 * ------------------------------------------------------------------------- */
.mod-lyt-exampleDetail {
  margin: 0 0 30px;
}

.mod-lyt-exampleDetail> .inner {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}

.mod-lyt-exampleDetail> .inner> .media {
  width: 100%;
  max-width: 100%;
  min-height: calc(0%);
  margin: 0 0 40px;
}

.mod-lyt-exampleDetail> .inner> .media> .wrap {
  display: table;
  width: 100%;
  padding: 0;
  table-layout: fixed;
}

.mod-lyt-exampleDetail> .inner> .media> .wrap::after {
  display: none;
}

.mod-lyt-exampleDetail> .inner> .media> .wrap> span {
  text-align: center;
  vertical-align: middle;
  display: table-cell;
}

.mod-lyt-exampleDetail> .inner> .media> .wrap img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
}

.mod-lyt-exampleDetail> .inner> .media> .thums {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 20px 0 0;
}

.mod-lyt-exampleDetail> .inner> .media> .thums> .list {
  display: flex;
  flex-wrap: wrap;
  flex-grow: 1;
  max-width: 100%;
  margin: -10px 0 0 -10px;
}

.mod-lyt-exampleDetail> .inner> .media> .thums> .list> li {
  position: relative;
  flex-basis: 25%;
  min-width: 25%;
  max-width: 25%;
  padding: 10px 0 0 10px;
}

.mod-lyt-exampleDetail> .inner> .media> .thums> .list> li a {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  padding: 100% 0 0;
}

html[data-script-enabled="true"] .mod-lyt-exampleDetail> .inner> .media> .thums> .list> li a::before {
  background: rgba(255, 255, 255, .5);
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  transition: .2s opacity ease-out;
  opacity: 1;
}

html[data-script-enabled="true"] .mod-lyt-exampleDetail> .inner> .media> .thums> .list> li a.is-current::before {
  opacity: 0;
}

.mod-lyt-exampleDetail> .inner> .media> .thums> .list> li img {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  transform: translate(-50%, -50%);
  opacity: 1;
}

.mod-lyt-exampleDetail> .inner> .media> .thums> .list> li img[data-orientation="square"] {
  min-width: 100%;
  min-height: 100%;
}

.mod-lyt-exampleDetail> .inner> .media> .thums> .list> li img[data-orientation="landscape"] {
  width: auto;
  max-width: none;
  height: 100%;
}

.mod-lyt-exampleDetail> .inner> .media> .thums> .list> li img[data-orientation="portrait"] {
  width: 100%;
  height: auto;
  max-height: none;
}

.mod-lyt-exampleDetail> .inner> .content {
  width: 100%;
}

.mod-lyt-exampleDetail> .inner> .content> *:first-child {
  margin-top: 0;
}

.mod-lyt-exampleDetail> .inner> .content> *:last-child {
  margin-bottom: 0;
}

.mod-lyt-exampleDetail.var-02> .inner> .media> .wrap> span {
  height: 50vh;
}

/* ----------------------------------------------------------------------------
 * .mod-lyt-reformFlowGrid 工事の流れ
 * ------------------------------------------------------------------------- */
.mod-lyt-reformFlowGrid {
  margin: 0 0 30px;
}

.mod-lyt-reformFlowGrid> *:first-child {
  display: none;
}

.mod-lyt-reformFlowGrid> .inner:not([id]) {
  background: red;
}

.mod-lyt-reformFlowGrid> .inner> .row {
  margin-bottom: 10px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .day {
  font-weight: bold;
  color: #fff;
  background-color: #333;
  margin: 30px 0 5px;
  padding: 5px 10px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .day+ .summary {
  margin-top: 0;
}

.mod-lyt-reformFlowGrid> .inner> .row> .summary {
  background-color: #e3eecc;
  margin: 10px 0 0;
  padding: 10px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .summary> .hdg {
  font-size: 1.6rem;
  font-weight: bold;
}

.mod-lyt-reformFlowGrid> .inner> .row> .summary> .hdg strong {
  font-size: 2.2rem;
  display: block;
}

.mod-lyt-reformFlowGrid> .inner> .row> .summary.of-before {
  background-color: #f0f1f2;
  margin-bottom: 0;
}

.mod-lyt-reformFlowGrid> .inner> .row> .summary.of-before> .hdg {
  margin-bottom: 20px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .media img {
  width: 100%;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail {
  background-color: #f0f1f2;
  padding: 20px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .state {
  margin-bottom: 15px;
  padding-bottom: 20px;
  border-bottom: solid 1px #ccc;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .state> .hdg {
  font-weight: bold;
  margin-bottom: 10px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .state> .tag> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -2px 0 0 -2px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .state> .tag> .list> li {
  padding: 2px 0 0 2px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data {
  display: flex;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div {
  width: 35%;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div:nth-child(even) {
  width: 74%;
  margin-left: 1%;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div> dt {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div> dd {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div> dd span {
  white-space: nowrap;
  position: relative;
  display: block;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div> dd span> span {
  position: absolute;
  z-index: -1;
  overflow: hidden;
  width: 0;
  height: 0;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div> dd span> sup {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 100%;
  margin: 0 0 0 3px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div> dd span.enabled {
  width: 16px;
  height: 16px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div> dd span.enabled::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  border: solid 1px #6a6a6a;
  border-radius: 50%;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div> dd span.disabled {
  width: 10px;
  height: 10px;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div> dd span.disabled::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1px;
  height: 100%;
  content: "";
  transform: rotate(-45deg);
  border: solid 1px #6a6a6a;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> div> dd span.disabled::after {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1px;
  height: 100%;
  content: "";
  transform: rotate(45deg);
  border: solid 1px #6a6a6a;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .content {
  padding: 20px 0 0;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .content> *:first-child {
  margin-top: 0;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .content> *:last-child {
  margin-bottom: 0;
}

.mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> *.js-adjust-height-item {
  flex-grow: 0;
}

.mod-lyt-reformFlowGrid> .inner> .row> *:first-child {
  margin-top: 0;
}

/* ============================================================================
 * _form フォーム関連モジュール
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * %form-label フォームラベル
 * ------------------------------------------------------------------------- */
.mod-form-txt> label,
.mod-form-select> label,
.mod-form-split> legend,
.mod-form-fieldset> .inner> .group> .label {
  font-size: 1.6rem;
  color: #333;
  position: relative;
  display: inline-block;
}

.mod-form-txt> label> .required,
.mod-form-select> label> .required,
.mod-form-split> legend> .required,
.mod-form-fieldset> .inner> .group> .label> .required {
  font-size: 1.2rem;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  color: #ff5757;
  background: transparent;
  position: relative;
  top: -2px;
  display: inline-block;
  margin: 0 0 0 5px;
  padding: 5px 5px 4px 5px;
  border: 1px solid #ff5757;
}

.mod-form-txt> label~ .note,
.mod-form-select> label~ .note,
.mod-form-split> legend~ .note,
.mod-form-fieldset> .inner> .group> .label~ .note {
  margin-left: 16px;
}

.mod-form-txt> label .func-img,
.mod-form-select> label .func-img,
.mod-form-split> legend .func-img,
.mod-form-fieldset> .inner> .group> .label .func-img {
  vertical-align: text-top;
  position: relative;
  display: inline-block;
  margin: 0 0 0 8px;
}

/* ----------------------------------------------------------------------------
 * %form-note フォーム説明・注釈テキスト
 * ------------------------------------------------------------------------- */
.mod-form-txt> p,
.mod-form-choiceImage> p,
.mod-form-select> p,
.mod-form-split> p {
  font-size: 1.4rem;
  margin: 0 0 7px;
}

.mod-form-txt> p.of-invalid,
.mod-form-choiceImage> p.of-invalid,
.mod-form-select> p.of-invalid,
.mod-form-split> p.of-invalid {
  color: #d30e38;
}

.mod-form-txt> p.of-notice,
.mod-form-choiceImage> p.of-notice,
.mod-form-select> p.of-notice,
.mod-form-split> p.of-notice {
  font-size: 1.2rem;
  display: table;
}

.mod-form-txt> p.of-notice> *,
.mod-form-choiceImage> p.of-notice> *,
.mod-form-select> p.of-notice> *,
.mod-form-split> p.of-notice> * {
  display: table-cell;
}

.mod-form-txt> p.of-notice> span,
.mod-form-choiceImage> p.of-notice> span,
.mod-form-select> p.of-notice> span,
.mod-form-split> p.of-notice> span {
  padding: 0 4px 0 0;
}

.mod-form-txt> p+ p,
.mod-form-choiceImage> p+ p,
.mod-form-select> p+ p,
.mod-form-split> p+ p {
  margin-top: -8px;
}

/* ----------------------------------------------------------------------------
 * %form-txt テキストフィールド
 * ------------------------------------------------------------------------- */
.mod-form-select> .inner> select,
.mod-form-txt> input,
.mod-form-txt> textarea {
  font-size: 1.6rem;
  line-height: 1.15;
  display: block;
  min-height: 38px;
  padding: 11px 14px 9px;
  border: 1px solid #ccc;
}

.mod-form-select> .inner> select[aria-invalid="true"],
.mod-form-txt> input[aria-invalid="true"],
.mod-form-txt> textarea[aria-invalid="true"] {
  background: #ffc0cb;
  border-color: #d30e38;
}

.mod-form-select> .inner> select:focus,
.mod-form-txt> input:focus,
.mod-form-txt> textarea:focus {
  outline: 0;
  box-shadow: 0 0 0 2px #b2c4ff;
}

.mod-form-select> .inner> select[readonly],
.mod-form-txt> input[readonly],
.mod-form-txt> textarea[readonly] {
  padding-right: 0;
  padding-left: 0;
  border: 0;
}

.mod-form-select> .inner> select:not(:last-child),
.mod-form-txt> input:not(:last-child),
.mod-form-txt> textarea:not(:last-child) {
  margin: 0 0 4px;
}

/* ----------------------------------------------------------------------------
 * %form-select セレクトボックス
 * ------------------------------------------------------------------------- */
.mod-form-select> .inner {
  background: #fff;
  position: relative;
  z-index: 1;
  max-width: 221px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.mod-form-select> .inner> select {
  background: transparent;
  position: relative;
  width: 100%;
  padding-right: 40px;
  border: 0;
  border-radius: 4px;
}

.mod-form-select> .inner> select:disabled {
  background: #e6e6e6;
  z-index: 2;
  opacity: .8;
}

.mod-form-select> .inner::before,
.mod-form-select> .inner::after {
  position: absolute;
  display: block;
  content: "";
}

.mod-form-select> .inner::before {
  z-index: -2;
  top: 0;
  right: 0;
  bottom: 0;
  width: 34px;
  margin: auto 0;
}

.mod-form-select> .inner::after {
  pointer-events: none;
  position: absolute;
  top: calc(50% - 3px);
  right: 13px;
  display: block;
  border: solid transparent;
  border-width: 6px 5px;
  border-top-color: #505050;
}

/* ----------------------------------------------------------------------------
 * .mod-form-txt テキストフィールド
 * ------------------------------------------------------------------------- */
.mod-form-txt {
  margin: 0 0 24px;
}

.mod-form-txt> label {
  margin: 0 0 5px;
}

.mod-form-txt+ .mod-form-txt {
  margin-top: -13px;
}

.mod-form-txt> input,
.mod-form-txt> textarea {
  width: 100%;
}

.mod-form-txt> textarea {
  max-width: calc(100% - 2px);
  min-height: 136px;
}

/* ----------------------------------------------------------------------------
 * .mod-form-checkbox チェックボックス
 * ------------------------------------------------------------------------- */
.mod-form-checkbox {
  margin: 0 0 32px;
  padding: 0;
  border: 0;
}

.mod-form-checkbox[data-col]> .list> li.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-form-checkbox[data-col]> .list> li.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-form-checkbox[data-col="auto"]> .list> li {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-form-checkbox[data-col="2"]> .list> li {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-form-checkbox[data-col="3"]> .list> li {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-form-checkbox[data-col="4"]> .list> li {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-form-checkbox[data-col="5"]> .list> li {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-form-checkbox[data-col="6"]> .list> li {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-form-checkbox[data-col]> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -8px 0 0 -38px;
}

.mod-form-checkbox[data-col]> .list> li {
  padding: 8px 0 0 38px;
}

.mod-form-checkbox label {
  font-size: 1.6rem;
  position: relative;
  display: inline-block;
  min-height: 28px;
  padding: 0 0 0 29px;
}

.mod-form-checkbox label img {
  vertical-align: text-top;
  position: relative;
  display: inline-block;
  margin: 0 0 0 8px;
}

.mod-form-checkbox label span::before,
.mod-form-checkbox label span::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
}

.mod-form-checkbox label span::before {
  background: #fff;
  top: .1875em;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
}

.mod-form-checkbox label span::after {
  top: .25em;
  left: 6px;
  width: 9px;
  height: 14px;
  transition: .2s opacity ease-out;
  transform: rotate(45deg);
  border: 3px solid #505050;
  border-width: 0 3px 3px 0;
  opacity: 0;
}

.mod-form-checkbox label input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  opacity: 0;
}

.mod-form-checkbox label input[type="checkbox"]:disabled+ span {
  color: #999;
}

.mod-form-checkbox label input[type="checkbox"]:disabled+ span::before {
  background: #f5f5f5;
}

.mod-form-checkbox label input[type="checkbox"]:checked+ span {
  font-weight: bold;
}

.mod-form-checkbox label input[type="checkbox"]:checked+ span::after {
  opacity: 1;
}

.mod-form-checkbox label input[type="checkbox"]:focus+ span::before {
  outline: 1px dashed #333;
  outline: -webkit-focus-ring-color auto 5px;
}

/* ----------------------------------------------------------------------------
 * .mod-form-radio ラジオボタン
 * ------------------------------------------------------------------------- */
.mod-form-radio {
  margin: 0 0 32px;
  padding: 0;
  border: 0;
}

.mod-form-radio[data-col]> .list> li.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-form-radio[data-col]> .list> li.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-form-radio[data-col="auto"]> .list> li {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-form-radio[data-col="2"]> .list> li {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-form-radio[data-col="3"]> .list> li {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-form-radio[data-col="4"]> .list> li {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-form-radio[data-col="5"]> .list> li {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-form-radio[data-col="6"]> .list> li {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-form-radio[data-col]> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -8px 0 0 -38px;
}

.mod-form-radio[data-col]> .list> li {
  padding: 8px 0 0 38px;
}

.mod-form-radio label {
  font-size: 1.6rem;
  position: relative;
  display: inline-block;
  padding: 0 0 0 29px;
}

.mod-form-radio label span::before,
.mod-form-radio label span::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
}

.mod-form-radio label span::before {
  background: #fff;
  top: .125em;
  left: 0;
  width: 22px;
  height: 22px;
  border: 1px solid #ccc;
  border-radius: 44px;
}

.mod-form-radio label span::after {
  background: #505050;
  top: calc(.125em + 5px);
  left: 5px;
  width: 12px;
  height: 12px;
  transition: .2s opacity ease-out;
  border-radius: 24px;
  opacity: 0;
}

.mod-form-radio label input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  opacity: 0;
}

.mod-form-radio label input[type="radio"]:checked+ span::after {
  opacity: 1;
}

.mod-form-radio label input[type="radio"]:disabled+ span {
  color: #999;
}

.mod-form-radio label input[type="radio"]:disabled+ span::before {
  background: #f5f5f5;
}

.mod-form-radio label input[type="radio"]:focus+ span::before {
  outline: 1px dashed #333;
  outline: -webkit-focus-ring-color auto 5px;
}

/* ----------------------------------------------------------------------------
 * .mod-form-choiceImage  画像選択（チェックボックス、ラジオボタン）
 * ------------------------------------------------------------------------- */
.mod-form-choiceImage {
  margin: 0 0 32px;
  padding: 12px 0 0;
  border: 0;
}

.mod-form-choiceImage[data-col]> .list> li.of-full {
  flex-basis: 100%;
  width: 100%;
  max-width: 100%;
}

.mod-form-choiceImage[data-col]> .list> li.of-fillIn {
  flex-grow: 1;
  flex-basis: auto;
  width: auto;
  max-width: none;
}

.mod-form-choiceImage[data-col="auto"]> .list> li {
  flex-basis: auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.mod-form-choiceImage[data-col="2"]> .list> li {
  flex-basis: 50%;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
}

.mod-form-choiceImage[data-col="3"]> .list> li {
  flex-basis: 33.33333%;
  width: 33.33333%;
  min-width: 33.33333%;
  max-width: 33.33333%;
}

.mod-form-choiceImage[data-col="4"]> .list> li {
  flex-basis: 25%;
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}

.mod-form-choiceImage[data-col="5"]> .list> li {
  flex-basis: 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

.mod-form-choiceImage[data-col="6"]> .list> li {
  flex-basis: 16.66667%;
  width: 16.66667%;
  min-width: 16.66667%;
  max-width: 16.66667%;
}

.mod-form-choiceImage[data-col]> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -18px 0 0 -20px;
}

.mod-form-choiceImage[data-col]> .list> li {
  padding: 18px 0 0 20px;
}

.mod-form-choiceImage[data-col="auto"]> .list {
  justify-content: center;
}

.mod-form-choiceImage> legend {
  font-size: 1.6rem;
  float: left;
  margin: 0 30px 0 0;
}

.mod-form-choiceImage> p {
  margin-top: 4px;
}

.mod-form-choiceImage> .list {
  clear: both;
}

.mod-form-choiceImage> .list> li {
  text-align: center;
  display: flex;
  justify-content: center;
}

.mod-form-choiceImage> .list> li> label {
  font-size: 1.6rem;
  position: relative;
}

.mod-form-choiceImage> .list> li> label> .item {
  font-size: 1.4rem;
  text-align: center;
  display: inline-flex;
  flex-direction: column-reverse;
  align-items: center;
  width: 100%;
}

.mod-form-choiceImage> .list> li> label> .item.align-left {
  align-items: flex-start;
}

.mod-form-choiceImage> .list> li> label> .item> .label {
  margin: 5px 0 0;
}

.mod-form-choiceImage> .list> li> label> .item> .label .func-img {
  vertical-align: text-top;
  position: relative;
  display: inline-block;
  margin: 0 0 0 8px;
}

.mod-form-choiceImage> .list> li> label> .item> .img {
  transition: .2s border ease-out;
  border: 2px solid transparent;
}

.mod-form-choiceImage> .list> li> label> .item> .img img {
  display: block;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"],
.mod-form-choiceImage> .list> li> label input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  opacity: 0;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]+ .item> .label,
.mod-form-choiceImage> .list> li> label input[type="radio"]+ .item> .label {
  position: relative;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]+ .item> .label::before,
.mod-form-choiceImage> .list> li> label input[type="checkbox"]+ .item> .label .txt::before,
.mod-form-choiceImage> .list> li> label input[type="radio"]+ .item> .label::before,
.mod-form-choiceImage> .list> li> label input[type="radio"]+ .item> .label .txt::before {
  position: relative;
  display: inline-block;
  content: "";
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]:checked+ .item,
.mod-form-choiceImage> .list> li> label input[type="radio"]:checked+ .item {
  font-weight: bold;
  color: #30b653;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]:checked+ .item> .img,
.mod-form-choiceImage> .list> li> label input[type="radio"]:checked+ .item> .img {
  border-color: #30b653;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]:focus+ .item> .img img,
.mod-form-choiceImage> .list> li> label input[type="radio"]:focus+ .item> .img img {
  outline: 1px dashed #333;
  outline: -webkit-focus-ring-color auto 5px;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]:disabled+ .item,
.mod-form-choiceImage> .list> li> label input[type="radio"]:disabled+ .item {
  color: #999;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]:disabled+ .item> .label::before,
.mod-form-choiceImage> .list> li> label input[type="radio"]:disabled+ .item> .label::before {
  background: #f5f5f5;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]:disabled:checked+ .item> .img,
.mod-form-choiceImage> .list> li> label input[type="radio"]:disabled:checked+ .item> .img {
  border-color: #999;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]+ .item> .label {
  padding-right: 10px;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]+ .item> .label::before {
  background: #fff;
  z-index: 0;
  top: 5px;
  width: 20px;
  height: 20px;
  margin: 0 9px 0 0;
  border: 1px solid #ccc;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]+ .item> .label .txt::before {
  z-index: 1;
  width: 9px;
  height: 14px;
  margin: 0 15px 0 -24px;
  transition: .2s opacity ease-out;
  transform: rotate(45deg);
  border: 3px solid #505050;
  border-width: 0 3px 3px 0;
  opacity: 0;
}

.mod-form-choiceImage> .list> li> label input[type="checkbox"]:checked+ .item> .label .txt::before {
  opacity: 1;
}

.mod-form-choiceImage> .list> li> label input[type="radio"]+ .item> .label {
  padding-right: 11px;
}

.mod-form-choiceImage> .list> li> label input[type="radio"]+ .item> .label::before {
  background: #fff;
  top: 5px;
  width: 22px;
  height: 22px;
  border: 1px solid #ccc;
  border-radius: 44px;
}

.mod-form-choiceImage> .list> li> label input[type="radio"]+ .item> .label .txt::before {
  background: #505050;
  width: 12px;
  height: 12px;
  margin: 0 10px 0 -17px;
  transition: .2s opacity ease-out;
  border-radius: 24px;
  opacity: 0;
}

.mod-form-choiceImage> .list> li> label input[type="radio"]:checked+ .item> .label .txt::before {
  opacity: 1;
}

/* ----------------------------------------------------------------------------
 * .mod-form-select セレクトボックス
 * ------------------------------------------------------------------------- */
.mod-form-select {
  margin: 0 0 32px;
  padding: 0;
  border: 0;
}

.mod-form-select> label~ .select {
  margin: 10px 0 0;
}

/* ----------------------------------------------------------------------------
 * .mod-form-split 複数の入力項目
 * ------------------------------------------------------------------------- */
.mod-form-split {
  margin: 0 0 32px;
  padding: 0;
  border: 0;
}

.mod-form-split> legend~ .lyt {
  margin: 10px 0 0;
}

.mod-form-split> .lyt {
  font-size: 1.7rem;
  display: flex;
  align-items: center;
}

.mod-form-split> .lyt> .joint {
  white-space: nowrap;
  margin: 0 8px;
}

.mod-form-split> .lyt> .joint:first-child {
  margin-left: 0;
}

.mod-form-split> .lyt> div> *:first-child {
  margin-top: 0;
}

.mod-form-split> .lyt> div> *:last-child {
  margin-bottom: 0;
}

.mod-form-split> .lyt> div:not(.joint)+ div:not(.joint) {
  margin: 0 0 0 8px;
}

.mod-form-split[data-type^="name"]> .lyt> .joint {
  flex-basis: 36px;
  min-width: 36px;
  max-width: 36px;
}

.mod-form-split .mod-form-txt {
  width: 100%;
  max-width: 70px;
}

/* ----------------------------------------------------------------------------
 * .mod-form-fieldset フィールドセット
 * ------------------------------------------------------------------------- */
.mod-form-fieldset {
  margin: 0 0 40px;
  border: solid #ddd;
  border-width: 0;
}

.mod-form-fieldset+ [class^="mod-form"] {
  border-top: 1px solid #ccc;
}

.mod-form-fieldset+ [class^="mod-form"]:not(.mod-form-fieldset) {
  margin-top: -44px;
  padding-top: 12px;
}

.mod-form-fieldset+ [class^="mod-form"].mod-form-fieldset {
  margin-top: -40px;
}

.mod-form-fieldset+ .mod-btn {
  margin-top: -30px;
}

.mod-form-fieldset> .inner {
  padding: 20px 0 20px;
}

.mod-form-fieldset> .inner> .group {
  display: flow-root;
  padding: 0;
  border: 0;
}

html[data-browser-trident="true"] .mod-form-fieldset> .inner> .group {
  display: block;
}

.mod-form-fieldset> .inner> .group::after {
  display: block;
  clear: both;
  content: "";
}

.mod-form-fieldset> .inner> .group> .label {
  top: 6px;
  margin: 0 0 17px;
  padding: 0 41px 0 0;
}

.mod-form-fieldset> .inner> .group> .label> .required {
  position: absolute;
  top: 3px;
  right: 0;
}

.mod-form-fieldset> .inner> .group> .content> *:first-child {
  margin-top: 0;
}

.mod-form-fieldset> .inner> .group> .content> *:last-child {
  margin-bottom: 0;
}

.mod-form-fieldset> .inner> .group> .content> .mod-form-checkbox:first-child {
  margin-top: 5px;
}

.mod-form-fieldset> .inner> div.group> legend {
  background: #f00;
}

.mod-form-fieldset> .inner> fieldset.group> label {
  background: #f00;
}

.mod-form-fieldset.var-02> .inner> .group> .label {
  font-size: 1.8rem;
  font-weight: bold;
  float: none;
  overflow: hidden;
  width: auto;
  margin: 0 0 20px;
  padding: 0 0 0 12px;
  border-left: 6px solid #505050;
}

.mod-form-fieldset.var-02> .inner> .group> .label .required {
  font-size: 1.2rem;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  color: #ff5757;
  background: transparent;
  position: relative;
  top: -2px;
  display: inline-block;
  margin: 0 0 0 5px;
  padding: 5px 5px 4px 5px;
  border: 1px solid #ff5757;
}

.mod-form-fieldset.var-02> .inner> .group> .label~ .content {
  float: none;
  width: auto;
  padding-left: 0;
}

/* ----------------------------------------------------------------------------
 * .mod-form-searchControl 検索画面用UI
 * ------------------------------------------------------------------------- */
.mod-form-searchControl {
  margin: 0 0 26px;
}

.mod-form-searchControl> .inner> .current {
  font-size: 1.6rem;
  flex-grow: 1;
}

.mod-form-searchControl> .inner> .current> p {
  display: flex;
  align-items: center;
}

.mod-form-searchControl> .inner> .current .length {
  font-size: 2.4rem;
  font-weight: bold;
  position: relative;
  top: -2px;
  margin: 0 1px 0 5px;
}

.mod-form-searchControl> .inner> .current .unit {
  font-size: 1.4rem;
  font-weight: bold;
}

.mod-form-searchControl> .inner> .current .count {
  font-weight: bold;
  margin: 0 0 0 6px;
}

.mod-form-searchControl> .inner> .pager {
  flex-grow: 1;
  margin: 15px 0;
}

.mod-form-searchControl> .inner> .pager ul {
  margin: -5px 0 0 -5px;
}

.mod-form-searchControl> .inner> .pager li {
  padding: 5px 0 0 5px;
}

.mod-form-searchControl> .inner> .pager a {
  font-size: 1.4rem;
  text-decoration: none;
  text-align: center;
  color: #333;
  background: #f0f1f2;
  display: block;
  min-width: 36px;
  padding: 6px 0 7px;
}

.mod-form-searchControl> .inner> .pager a:focus {
  outline: 1px dashed #333;
  outline: -webkit-focus-ring-color auto 5px;
}

.mod-form-searchControl> .inner> .pager a[aria-current="page"]:not([href]) {
  color: #fff;
  background: #505050;
}

.mod-form-searchControl> .inner> .pager> .list {
  display: flex;
  align-items: center;
  justify-content: center;
}

.mod-form-searchControl> .inner> .pager> .list> .prev {
  order: 1;
}

.mod-form-searchControl> .inner> .pager> .list> .prev a {
  min-width: 60px;
}

.mod-form-searchControl> .inner> .pager> .list> .next {
  order: 3;
}

.mod-form-searchControl> .inner> .pager> .list> .next a {
  min-width: 60px;
}

.mod-form-searchControl> .inner> .pager> .list> .page {
  display: flex;
  order: 2;
}

.mod-form-searchControl> .inner> .pager> .list> .page> .list {
  display: flex;
  flex-wrap: wrap;
}

.mod-form-searchControl> .inner> .pager> .list> .page> .list> .of-jump:last-child,
.mod-form-searchControl> .inner> .pager> .list> .page> .list> .of-jump:first-child {
  position: relative;
}

.mod-form-searchControl> .inner> .pager> .list> .page> .list> .of-jump:last-child::before,
.mod-form-searchControl> .inner> .pager> .list> .page> .list> .of-jump:first-child::before {
  font-size: 1.4rem;
  color: #666;
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  padding: 11px 0 0;
  content: "…";
}

.mod-form-searchControl> .inner> .pager> .list> .page> .list> .of-jump:last-child {
  padding-left: 21px;
}

.mod-form-searchControl> .inner> .pager> .list> .page> .list> .of-jump:last-child::before {
  left: 4px;
}

.mod-form-searchControl> .inner> .pager> .list> .page> .list> .of-jump:first-child {
  padding-right: 20px;
}

.mod-form-searchControl> .inner> .pager> .list> .page> .list> .of-jump:first-child::before {
  right: 0;
}

.mod-form-searchControl> .inner .adjust {
  float: right;
  flex-basis: 72px;
  max-width: 72px;
  margin: 0 0 10px 32px;
}

.mod-form-searchControl> .inner .adjust> .list {
  display: flex;
}

.mod-form-searchControl> .inner .adjust a {
  background: #f0f1f2;
  display: block;
  width: 36px;
  height: 36px;
}

.mod-form-searchControl> .inner .adjust a span {
  position: absolute;
  z-index: -1;
  overflow: hidden;
  width: 0;
  height: 0;
}

.mod-form-searchControl> .inner .adjust a[aria-current="page"] {
  background: #505050;
}

.mod-form-searchControl> .inner .adjust a[role="button"] {
  cursor: default;
}

.mod-form-searchControl> .inner .adjust a[data-value="grid"]::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -41px -41px;
  background-size: 111px 97px;
  display: block;
  width: 36px;
  height: 36px;
  content: "";
}

.mod-form-searchControl> .inner .adjust a[data-value="grid"][aria-current="page"]::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: 0 -41px;
  background-size: 111px 97px;
  width: 36px;
  height: 36px;
}

.mod-form-searchControl> .inner .adjust a[data-value="list"]::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: 0 0;
  background-size: 111px 97px;
  display: block;
  width: 36px;
  height: 36px;
  content: "";
}

.mod-form-searchControl> .inner .adjust a[data-value="list"][aria-current="page"]::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -41px 0;
  background-size: 111px 97px;
  width: 36px;
  height: 36px;
}

.mod-form-searchControl> .inner .adjust a:focus {
  outline: 1px dashed #333;
  outline: -webkit-focus-ring-color auto 5px;
}

.mod-form-searchControl> .inner> .sort {
  font-size: 1.4rem;
  line-height: 1.7;
  display: flex;
  clear: both;
  flex-basis: 100%;
  justify-content: flex-end;
  margin: 17px 0 0;
}

.mod-form-searchControl> .inner> .sort a {
  font-family: inherit;
  font-size: 1.4rem;
  line-height: 1.7;
  display: block;
}

.mod-form-searchControl> .inner> .sort a[aria-current="page"] {
  font-weight: bold;
}

.mod-form-searchControl> .inner> .sort> .list> div {
  display: flex;
  flex-wrap: wrap;
}

.mod-form-searchControl> .inner> .sort> .list> div> dt {
  font-weight: bold;
  display: flex;
  align-items: center;
}

.mod-form-searchControl> .inner> .sort> .list> div> dt::after {
  content: "：";
}

.mod-form-searchControl> .inner> .sort> .list> div> dd {
  display: flex;
  flex-grow: 1;
  justify-content: flex-end;
}

.mod-form-searchControl> .inner> .sort> .list> div> dd> .list {
  display: flex;
  margin: -14px 0 0 -14px;
}

.mod-form-searchControl> .inner> .sort> .list> div> dd> .list> li {
  position: relative;
  padding: 14px 0 0 14px;
}

.mod-form-searchControl> .inner> .sort> .list> div> dd> .list> li:first-child~ li::before {
  font-size: 1.4rem;
  background: #5d5d5d;
  position: absolute;
  top: 19px;
  left: 6px;
  width: 1px;
  height: 14px;
  content: "";
}

.mod-form-searchControl a {
  text-decoration: none;
}

/* ============================================================================
 * _media [class^="mod-media"]
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .mod-media
 * ------------------------------------------------------------------------- */
.mod-media {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 0 30px;
}

.mod-media> .inner {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  max-width: 100%;
  min-height: calc(0%);
}

.mod-media> .inner> .media {
  width: 100%;
  min-height: calc(0%);
}

.mod-media> .inner> .media> img,
.mod-media> .inner> .media> iframe,
.mod-media> .inner> .media> video,
.mod-media> .inner> .media> picture {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.mod-media> .inner> .caption {
  font-size: 1.3rem;
  width: 100%;
  margin: 5px 0 0;
}

.mod-media> .inner> .caption> *:first-child {
  margin-top: 0;
}

.mod-media> .inner> .caption> *:last-child {
  margin-bottom: 0;
}

.mod-media> .inner> .caption.of-spaceBetween {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.mod-media> .inner> .caption.of-spaceBetween> *:last-child {
  text-align: right;
  flex-grow: 1;
}

.mod-media.align-left {
  align-items: flex-start;
}

.mod-media.align-right {
  align-items: flex-end;
}

/* ----------------------------------------------------------------------------
 * .mod-media-lyt
 * ------------------------------------------------------------------------- */
.mod-media-lyt {
  margin: 40px 0 60px;
}

.mod-media-lyt> .inner {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  margin: -22px 0 0 -22px;
}

.mod-media-lyt> .inner> .content,
.mod-media-lyt> .inner> .media {
  width: 100%;
}

.mod-media-lyt> .inner> .content> *:first-child,
.mod-media-lyt> .inner> .media> *:first-child {
  margin-top: 0;
}

.mod-media-lyt> .inner> .content> *:last-child,
.mod-media-lyt> .inner> .media> *:last-child {
  margin-bottom: 0;
}

.mod-media-lyt> .inner> .content {
  padding: 22px 0 0 22px;
}

.mod-media-lyt> .inner> .media {
  min-height: calc(0%);
  padding: 22px 0 0 22px;
}

.mod-media-lyt.of-reverse> .inner {
  flex-direction: column;
}

/* ----------------------------------------------------------------------------
 * .mod-media-beforeAfter
 * ------------------------------------------------------------------------- */
.mod-media-beforeAfter {
  margin: 53px 0 40px;
}

.mod-media-beforeAfter> .inner> * {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.mod-media-beforeAfter> .inner> *+ * {
  margin: 59px 0 0;
}

.mod-media-beforeAfter> .inner> *> .media {
  position: relative;
  width: 100%;
  min-height: calc(0%);
  border: 1px solid #ccc;
}

.mod-media-beforeAfter> .inner> *> .media> .label {
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 90px;
  margin: -20px 0 0 -20px;
  border-radius: 180px;
}

.mod-media-beforeAfter> .inner> *> .media img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

.mod-media-beforeAfter> .inner> *> .media> .content> *:first-child {
  margin-top: 0;
}

.mod-media-beforeAfter> .inner> *> .media> .content> *:last-child {
  margin-bottom: 0;
}

.mod-media-beforeAfter> .inner> *> .box {
  background: #f5f9ec;
  width: 100%;
  margin: 28px 0 0;
  padding: 14px 21px 22px;
  border-radius: 6px;
}

.mod-media-beforeAfter> .inner> *> .box> p> .title {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  display: block;
  margin: 0 0 11px;
}

.mod-media-beforeAfter> .inner> .before> *> .label {
  background: #e6e6e6;
}

.mod-media-beforeAfter> .inner> .after> *::before {
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 100%;
  left: 0;
  width: 0;
  height: 0;
  margin: 12px auto 0;
  content: "";
  border: solid transparent;
  border-width: 18px 24px;
  border-top-color: #e3eecc;
}

.mod-media-beforeAfter> .inner> .after> *> .label {
  color: #fff;
  background: #505050;
}

.mod-media-beforeAfter.var-02> .inner> *,
.mod-media-beforeAfter.var-03> .inner> * {
  display: flex;
}

.mod-media-beforeAfter.var-02> .inner> *> .media,
.mod-media-beforeAfter.var-03> .inner> *> .media {
  flex-grow: 1;
}

.mod-media-beforeAfter.var-02> .inner> *> .media> .content> *:first-child,
.mod-media-beforeAfter.var-03> .inner> *> .media> .content> *:first-child {
  margin-top: 0;
}

.mod-media-beforeAfter.var-02> .inner> *> .media> .content> *:last-child,
.mod-media-beforeAfter.var-03> .inner> *> .media> .content> *:last-child {
  margin-bottom: 0;
}

.mod-media-beforeAfter.var-02> .inner> *> .media {
  padding: 19px;
}

.mod-media-beforeAfter.of-labelType02 {
  margin-top: 121px;
}

.mod-media-beforeAfter.of-labelType02> .inner> *> .media> .label {
  height: 33px;
  margin: -33px 0 0 -1px;
  border-radius: 5px 5px 0 0;
}

/* ============================================================================
 * _other modules
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .mod-other-detailUtility 詳細画面用ユーティリティ
 * ------------------------------------------------------------------------- */
.mod-other-detailUtility {
  margin: 0 0 20px;
  border-top: 1px solid transparent;
}

.mod-other-detailUtility> .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: -10px 0 0 -10px;
}

.mod-other-detailUtility> .inner> * {
  padding: 10px 0 0 10px;
}

.mod-other-detailUtility> .inner> .label {
  font-size: 1.2rem;
}

.mod-other-detailUtility> .inner> .label> p {
  position: relative;
}

.mod-other-detailUtility> .inner> .label> p::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -82px -52px;
  background-size: 111px 97px;
  position: absolute;
  z-index: 1;
  top: 4px;
  left: 4px;
  display: block;
  width: 16px;
  height: 15px;
  content: "";
}

.mod-other-detailUtility> .inner> .label> p> b {
  color: #666;
  background: #ffe63b;
  position: relative;
  display: inline-block;
  padding: 3px 4px 3px 25px;
}

.mod-other-detailUtility> .inner> .label> p> b::before,
.mod-other-detailUtility> .inner> .label> p> b::after {
  position: absolute;
  left: 100%;
  content: "";
  border: 0;
  border-left: 10px solid #ffe63b;
}

.mod-other-detailUtility> .inner> .label> p> b::before {
  z-index: 1;
  top: 0;
  border-bottom: 26px solid transparent;
}

.mod-other-detailUtility> .inner> .label> p> b::after {
  bottom: 0;
  border-top: 26px solid transparent;
}

.mod-other-detailUtility> .inner> .btn {
  display: flex;
  flex-grow: 1;
  justify-content: flex-end;
}

html[data-script-enabled="true"] .mod-other-detailUtility> .inner> .btn {
  box-sizing: content-box;
  min-height: 33px;
}

html[data-script-enabled="true"] .mod-other-detailUtility> .inner> .btn template~ * {
  display: none;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] {
  font-size: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  margin: -4px 0 0 -4px;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"]> * {
  padding: 4px 0 0 4px;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] dt {
  margin: 0 5px 0 0;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] a,
.mod-other-detailUtility> .inner> .btn> [class$="list"] button {
  position: relative;
  display: inline-block;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] a {
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  color: #fff;
  background: #505050;
  min-width: 145px;
  padding: 4px 15px 5px;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] a[href$=".pdf"] {
  font-weight: normal;
  color: #505050;
  background: #fff;
  padding: 3px 15px 4px 26px;
  border: 1px solid #505050;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] a[href$=".pdf"].pdf-link-02 {
  color: #fff;
  background: #505050;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] a[href$=".pdf"] .icn-pdf {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 8px;
  margin: auto 0;
  transform: translateY(1px);
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] button {
  background: #fff;
  padding: 3px 15px 4px;
  border: 1px solid #505050;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] button::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 9px;
  margin: auto 0;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] .js-require-favoriteBtn .func-btn {
  padding-left: 26px;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] .js-require-favoriteBtn .func-btn::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -76px -82px;
  background-size: 111px 97px;
  position: absolute;
  display: block;
  width: 12px;
  height: 12px;
  content: "";
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] .js-require-favoriteBtn .func-btn[data-is-favorited="true"]::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -59px -82px;
  background-size: 111px 97px;
  width: 12px;
  height: 12px;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] .js-require-compareBtn .func-btn {
  padding-left: 27px;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] .js-require-compareBtn .func-btn::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -20px -82px;
  background-size: 111px 97px;
  position: absolute;
  left: 6px;
  display: block;
  width: 17px;
  height: 13px;
  content: "";
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] .js-require-printBtn .func-btn {
  padding-left: 30px;
}

.mod-other-detailUtility> .inner> .btn> [class$="list"] .js-require-printBtn .func-btn::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: 0 -82px;
  background-size: 111px 97px;
  position: absolute;
  display: block;
  width: 15px;
  height: 15px;
  content: "";
}

/* ============================================================================
 * _widget modules
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .js-carousel 共通スタイル
 * ------------------------------------------------------------------------- */
html[data-script-enabled="true"] .js-carousel> * {
  display: flex;
}

html[data-script-enabled="true"] .js-carousel.is-ready> * {
  transition: .3s transform ease-out;
}

html[data-script-enabled="true"] .js-carousel.is-dragging> * {
  transition: none !important;
}

.js-carousel img {
  pointer-events: none;
}

/* ----------------------------------------------------------------------------
 * .js-tgl 共通スタイル
 * ------------------------------------------------------------------------- */
html[data-script-enabled="true"] .js-tgl> summary.tgl-hook {
  display: list-item;
  list-style: none;
}

html[data-script-enabled="true"] .js-tgl> summary.tgl-hook::-webkit-details-marker {
  display: none;
}

html[data-script-enabled="true"] .js-tgl> .tgl-hook {
  display: block;
  cursor: default;
}

html[data-script-enabled="true"] .js-tgl> .tgl-panel {
  overflow: hidden;
  padding: 0 !important;
  transition: .2s height ease-out;
}

html[data-script-enabled="true"] .js-tgl:not([open]) .tgl-panel {
  display: none;
}

html[data-script-enabled="true"] .js-tgl:not([open]) .tgl-panel> *:first-child {
  margin-top: 0;
}

html[data-script-enabled="true"] .js-tgl:not([open]) .tgl-panel> *:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------------------
 * .js-tab 共通スタイル
 * ------------------------------------------------------------------------- */
html[data-script-enabled="true"] .js-tab [role="tab"] {
  cursor: default;
}

html[data-script-enabled="true"] .js-tab .tab-panel:not(:nth-of-type(1)):not([aria-hidden="false"]) {
  display: none;
}

html[data-script-enabled="true"] .js-tab .tab-panel[aria-hidden="true"] {
  display: none;
}

/* ----------------------------------------------------------------------------
 * .js-accordion 共通スタイル
 * ------------------------------------------------------------------------- */
.js-accordion .accordion-panel {
  overflow: hidden;
  padding: 0 !important;
}

html[data-script-enabled="true"] .js-accordion .accordion-panel {
  display: none;
  transition: .3s height ease-out;
}

html[data-script-enabled="true"] .js-accordion .accordion-panel[role="region"]:not([hidden]) {
  display: block;
}

/* ----------------------------------------------------------------------------
 * .mod-carousel
 * ------------------------------------------------------------------------- */
.mod-carousel {
  overflow: hidden;
}

.mod-carousel .func-dot-wrapper> [role="tablist"] {
  display: flex;
}

.mod-carousel .func-dot-wrapper> [role="tablist"]> li {
  padding: 10px;
}

.mod-carousel .func-dot-wrapper [aria-selected="true"] {
  font-weight: bold;
}

/* ----------------------------------------------------------------------------
 * .mod-tgl-faq
 * ------------------------------------------------------------------------- */
.mod-tgl-faq {
  margin: 0 0 34px;
}

html[data-script-enabled="true"] .mod-tgl-faq.js-tgl> .tgl-hook {
  display: flex;
  overflow: hidden;
  cursor: default;
}

html[data-script-enabled="true"] .mod-tgl-faq.js-tgl> .tgl-hook::before,
html[data-script-enabled="true"] .mod-tgl-faq.js-tgl> .tgl-hook::after {
  background: #30b653;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  display: block;
  width: 20px;
  height: 2px;
  margin: auto 0;
  content: "";
  transition: .2s transform ease-out;
}

html[data-script-enabled="true"] .mod-tgl-faq.js-tgl> .tgl-hook::after {
  transform: rotate(-90deg);
}

html[data-script-enabled="true"] .mod-tgl-faq.js-tgl> .tgl-hook[aria-expanded="true"]::after {
  transform: rotate(0);
}

.mod-tgl-faq> .tgl-hook {
  font-size: 1.8rem;
  background: #f0f1f2;
  position: relative;
  display: flex;
  width: 100%;
  margin: 0;
  padding: 10px 45px 10px 19px;
}

.mod-tgl-faq> .tgl-hook> .symbol {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: .75;
  color: #30b552;
  display: block;
  margin: 6px 18px 0 0;
}

.mod-tgl-faq> .tgl-hook> .txt {
  font-weight: bold;
  margin: 0;
}

.mod-tgl-faq> .tgl-panel> .inner {
  position: relative;
}

.mod-tgl-faq> .tgl-panel> .inner> .symbol {
  font-size: 2.4rem;
  font-weight: bold;
  color: #30b552;
  position: absolute;
  top: 10px;
  left: 19px;
  display: block;
}

.mod-tgl-faq> .tgl-panel> .inner> .content {
  padding: 14px 0 26px 62px;
}

.mod-tgl-faq> .tgl-panel> .inner> .content> *:first-child {
  margin-top: 0;
}

.mod-tgl-faq> .tgl-panel> .inner> .content> *:last-child {
  margin-bottom: 0;
}

.mod-tgl-faq+ .mod-tgl-faq {
  margin-top: -24px;
}

/* ----------------------------------------------------------------------------
 * .mod-accordion-faq
 * ------------------------------------------------------------------------- */
.mod-accordion-faq {
  margin: 0 0 34px;
}

html[data-script-enabled="true"] .mod-accordion-faq.js-accordion> .list> div> dt {
  cursor: default;
}

html[data-script-enabled="true"] .mod-accordion-faq.js-accordion> .list> div> dt::before,
html[data-script-enabled="true"] .mod-accordion-faq.js-accordion> .list> div> dt::after {
  background: #30b653;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  display: block;
  width: 20px;
  height: 2px;
  margin: auto 0;
  content: "";
  transition: .2s transform ease-out;
}

html[data-script-enabled="true"] .mod-accordion-faq.js-accordion> .list> div> dt::after {
  transform: rotate(-90deg);
}

html[data-script-enabled="true"] .mod-accordion-faq.js-accordion> .list> div> dt[aria-expanded="true"]::after {
  transform: rotate(0);
}

.mod-accordion-faq> .list> div+ div {
  margin-top: 10px;
}

.mod-accordion-faq> .list> div> dt {
  font-size: 1.8rem;
  background: #f0f1f2;
  position: relative;
  display: flex;
  width: 100%;
  padding: 10px 45px 10px 19px;
}

.mod-accordion-faq> .list> div> dt> .symbol {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: .75;
  color: #30b552;
  display: block;
  margin: 6px 18px 0 0;
}

.mod-accordion-faq> .list> div> dt> .txt {
  font-weight: bold;
  margin: 0;
}

.mod-accordion-faq> .list> div> dd {
  position: relative;
}

.mod-accordion-faq> .list> div> dd> .symbol {
  font-size: 2.4rem;
  font-weight: bold;
  color: #30b552;
  position: absolute;
  top: 10px;
  left: 19px;
  display: block;
}

.mod-accordion-faq> .list> div> dd> .content {
  padding: 14px 0 26px 62px;
}

.mod-accordion-faq> .list> div> dd> .content> *:first-child {
  margin-top: 0;
}

.mod-accordion-faq> .list> div> dd> .content> *:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------------------
 * モーダル共通スタイル .func-modal
 * ------------------------------------------------------------------------- */
html[data-script-enabled="true"] .func-modal {
  background: rgba(0, 0, 0, .6);
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  display: none;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 0 10px;
  transition: .2s opacity ease-out;
  opacity: 0;
}

html[data-script-enabled="true"] .func-modal[aria-expanded="true"] {
  display: flex;
  align-items: center;
  justify-content: center;
}

html[data-script-enabled="true"] .func-modal[aria-hidden="false"] {
  opacity: 1;
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper {
  max-width: 100%;
  padding: 20px;
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-close,
html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-inner {
  max-width: 1040px;
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-close {
  line-height: 2.375;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-close> span {
  margin: 0 6px 0 0;
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-close> button {
  position: relative;
  width: 22px;
  height: 17px;
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-close> button span {
  position: absolute;
  z-index: -1;
  display: block;
  overflow: hidden;
  width: 0;
  height: 0;
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-close> button::before,
html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-close> button::after {
  background: #ccc;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  overflow: hidden;
  width: 21px;
  height: 1px;
  margin: auto 0;
  content: "";
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-close> button::before {
  transform: rotate(45deg);
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-close> button::after {
  transform: rotate(-45deg);
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-inner {
  background: #fff;
  overflow: auto;
  max-height: calc(100vh - 128px);

  -webkit-overflow-scrolling: touch;
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-inner> *:first-child {
  margin-top: 0;
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-inner> *:last-child {
  margin-bottom: 0;
}

html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-inner .mod-modal-content {
  padding: 25px;
}

html[data-browser-trident="true"] .func-modal> .modal-wrapper> .modal-inner {
  border: 1px dotted transparent;
  outline: 0;
}

html[data-browser-trident="true"] .func-modal> .modal-wrapper> .modal-inner:focus {
  border-color: #333;
}

.func-modal.is-fading {
  will-change: opacity, background, position;
}

/* ----------------------------------------------------------------------------
 * モーダルコンテンツ .mod-modal-content
 * ------------------------------------------------------------------------- */
.mod-modal-content {
  text-align: left;
  margin: 0 0 40px;
}

.mod-modal-content> *:first-child {
  margin-top: 0;
}

.mod-modal-content> *:last-child {
  margin-bottom: 0;
}

html[data-script-enabled="true"] .mod-modal-content {
  display: none;
  margin: 0;
}

html[data-script-enabled="true"] .func-modal .mod-modal-content {
  display: block;
}

.mod-modal-content> .content> *:first-child {
  margin-top: 0;
}

.mod-modal-content> .content> *:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------------------
 * .mod-tgl-searchSetting 検索条件の設定・変更用トグル
 * ------------------------------------------------------------------------- */
.mod-tgl-searchSetting {
  margin: 0 0 30px;
}

.mod-tgl-searchSetting> .tgl-hook {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  background: #ededed;
  position: relative;
  padding: 12px 60px;
}

html[data-script-enabled="true"] .mod-tgl-searchSetting> .tgl-hook::before,
html[data-script-enabled="true"] .mod-tgl-searchSetting> .tgl-hook::after {
  background: #30b653;
  position: absolute;
  z-index: 0;
  top: 0;
  right: 20px;
  bottom: 0;
  display: block;
  width: 20px;
  height: 2px;
  margin: auto 0;
  content: "";
  transition: .2s transform ease-out;
}

html[data-script-enabled="true"] .mod-tgl-searchSetting> .tgl-hook::after {
  transform: rotate(90deg);
}

html[data-script-enabled="true"] .mod-tgl-searchSetting> .tgl-hook[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.mod-tgl-searchSetting> .tgl-panel {
  background: #f0f1f2;
}

.mod-tgl-searchSetting> .tgl-panel> .inner {
  padding: 8px 15px 30px;
}

.mod-tgl-searchSetting> .tgl-panel> .inner> *:first-child {
  margin-top: 0;
}

.mod-tgl-searchSetting> .tgl-panel> .inner> *:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------------------
 * .mod-map 日本地図
 * ------------------------------------------------------------------------- */
.mod-map {
  margin: 0 0 40px;
}

/* ----------------------------------------------------------------------------
 * .mod-gmap GoogleMap
 * ------------------------------------------------------------------------- */
.mod-gmap {
  margin: 0 0 40px;
}

.mod-gmap> .wrap {
  display: block;
  width: 100%;
  height: 400px;
  max-height: 50vh;
  margin: 0 0 20px;
  padding: 0;
}

.mod-gmap> .wrap [target="_blank"] {
  background: transparent !important;
  opacity: 1 !important;
}

.mod-gmap> .wrap> .map {
  width: 100% !important;
  height: 100% !important;
}

.mod-gmap .func-infoWindow {
  text-align: center;
  max-height: 100%;
}

.mod-gmap .func-infoWindow img {
  max-width: 100px;
  height: auto;
}

.mod-gmap .func-infoWindow img+ span {
  display: block;
}

/* ----------------------------------------------------------------------------
 * [class^="mos-form"] .js-tooltip, [class^="mod-form"] func-tooltip
 * フォーム関連モジュール内のツールチップ
 * ------------------------------------------------------------------------- */
[class^="mod-form"] .js-tooltip-help {
  font-weight: normal;
  color: #505050;
}

html[data-script-enabled="true"] [class^="mod-form"] .js-tooltip-help {
  display: none;
}

html[data-script-enabled="true"] .func-tooltip {
  font-size: 1.4rem;
  text-align: left;
  background: #fff;
  position: fixed;
  z-index: 1000;
  display: none;
  overflow: auto;
  width: 235px;
  max-width: calc(100vw - 20px);
  max-height: calc(100vh - 20px);
  padding: 12px;
  border: 2px solid #505050;
}

html[data-script-enabled="true"] .func-tooltip[aria-hidden="false"] {
  display: block;
}

/* ----------------------------------------------------------------------------
 * .mod-graph 棒グラフ
 * ------------------------------------------------------------------------- */
.mod-graph {
  position: relative;
  z-index: 0;
  overflow: hidden;
  margin: 0 0 30px;
}

.mod-graph table {
  border-spacing: 0;
  border-collapse: collapse;
}

.mod-graph table tbody th {
  line-height: 1.5;
}

.mod-graph table .check {
  margin: 0 0 0 5px;
}

.mod-graph table .check::before {
  content: "（";
}

.mod-graph table .check::after {
  content: "）";
}

html[data-script-enabled="true"] .mod-graph.js-graph {
  font-size: 12px;
  padding: 0 16px 0 0;
}

html[data-script-enabled="true"] .mod-graph.js-graph table {
  width: 100%;
}

html[data-script-enabled="true"] .mod-graph.js-graph table thead {
  font-size: 14px;
  line-height: 1.28571;
  position: absolute;
  overflow: hidden;
  width: 0;
  height: 0;
}

html[data-script-enabled="true"] .mod-graph.js-graph table tbody td {
  position: relative;
}

html[data-script-enabled="true"] .mod-graph.js-graph table tbody td> span {
  text-decoration: none;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

html[data-script-enabled="true"] .mod-graph.js-graph table tbody td> span span {
  white-space: nowrap;
}

html[data-script-enabled="true"] .mod-graph.js-graph table tbody td> span .check {
  background: #9fd038;
  display: flex;
  align-items: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  transition: .5s width ease-out;
}

html[data-script-enabled="true"] .mod-graph.js-graph table tbody td> span .check::before,
html[data-script-enabled="true"] .mod-graph.js-graph table tbody td> span .check::after {
  display: none;
}

html[data-script-enabled="true"] .mod-graph.js-graph table tbody td> span .check span {
  color: transparent;
  position: absolute;
  z-index: -1;
  display: block;
  overflow: hidden;
  width: 0;
  height: 0;
}

html[data-script-enabled="true"] .mod-graph.js-graph> table tbody th {
  text-align: center;
  word-break: break-all;
  width: 60px;
  padding: 5px 2px 10px;
  border-right: 1px solid #999;
}

html[data-script-enabled="true"] .mod-graph.js-graph> table tbody td {
  padding: 5px 0 10px;
  border-right: 1px solid #999;
}

html[data-script-enabled="true"] .mod-graph.js-graph> table tbody td> span {
  flex-direction: row-reverse;
}

html[data-script-enabled="true"] .mod-graph.js-graph> table tbody td> span .check {
  min-height: 30px;
  max-height: 30px;
  margin: 0 5px 0 0;
}

html[data-script-enabled="true"] .mod-graph.js-graph> table tbody td> span .check:not(.is-ready) {
  width: 0 !important;
}

html[data-script-enabled="true"] .mod-graph.js-graph> table tbody tr:last-child td {
  padding-bottom: 21px;
  border-bottom: 1px solid #999;
}

html:not([data-script-enabled="true"]) .mod-graph.js-graph table {
  border: 1px solid #999;
}

html:not([data-script-enabled="true"]) .mod-graph.js-graph table th,
html:not([data-script-enabled="true"]) .mod-graph.js-graph table td {
  vertical-align: middle;
  padding: 10px;
  border: 1px solid #ccc;
}

html:not([data-script-enabled="true"]) .mod-graph.js-graph table thead th {
  font-weight: bold;
}

html:not([data-script-enabled="true"]) .mod-graph.js-graph table tbody th {
  text-align: left;
}

.mod-graph .func-scale {
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  margin: 6px -6px 0 57px;
}

.mod-graph .func-scale div {
  position: relative;
}

.mod-graph .func-scale div:not(:first-child):not(:last-child)::before {
  background: #ccc;
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 100%;
  left: 0;
  display: block;
  width: 1px;
  height: 100vh;
  margin: 0 auto 6px;
  content: "";
}

.mod-graph .func-table {
  display: none;
}

/* ----------------------------------------------------------------------------
 * .mod-readmore もっと見る
 * ------------------------------------------------------------------------- */
.mod-readmore {
  margin: 0 0 40px;
}

html[data-script-enabled="true"] .mod-readmore:not(.is-ready) .js-readmore-item {
  display: none;
}

.mod-readmore::after {
  display: block;
  clear: both;
  content: "";
}

.mod-readmore> .func-btn {
  font-size: 1.4rem;
  background: #f0f1f2;
  display: flex;
  float: right;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 10px;
}

.mod-readmore> .func-btn::after {
  position: relative;
  top: 0;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0 0 11px;
  content: "";
  transform: rotate(45deg);
  border: 2px solid #30b653;
  border-width: 0 2px 2px 0;
}

.mod-readmore> .func-btn[aria-expanded="true"]::after {
  top: 3px;
  border-width: 2px 0 0 2px;
}

.mod-readmore.align-left> .func-btn {
  float: left;
}

/* ----------------------------------------------------------------------------
 * .mod-readmore-02 もっと見る2
 * ------------------------------------------------------------------------- */
div.mod-readmore-02 {
  margin: 20px 0 40px;
}

div.mod-readmore-02 .func-btn {
  font-weight: bold;
  text-align: center;
  width: 100%;
  padding: 9px 10px 10px 20px;
  border: 1px solid #505050;
}

div.mod-readmore-02 .func-btn::after {
  position: relative;
  top: 3px;
  left: 8px;
  display: inline-block;
  content: "";
  border: solid transparent;
  border-width: 5px;
  border-top-color: #505050;
}

html[data-script-enabled="true"] .js-readmore-02-item[hidden] {
  display: none !important;
}

/* ----------------------------------------------------------------------------
 * .js-toFixedByScroll 追従
 * ------------------------------------------------------------------------- */
.js-toFixedByScroll.is-fixed> * {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
}

/* ============================================================================
 * _adjust classes
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .align-* 文字揃え
 * ------------------------------------------------------------------------- */
/* ------------------------------------
 * .align-left 左揃え強制
 * --------------------------------- */
.align-left {
  text-align: left !important;
}

/* ------------------------------------
 * .align-center 中央揃え強制
 * --------------------------------- */
.align-center {
  text-align: center !important;
}

/* ------------------------------------
 * .align-right 右揃え強制
 * --------------------------------- */
.align-right {
  text-align: right !important;
}

/* ------------------------------------
 * .align-top 上揃え強制
 * --------------------------------- */
.align-top {
  vertical-align: top !important;
}

/* ------------------------------------
 * .align-middle 中揃え強制
 * --------------------------------- */
.align-middle {
  vertical-align: middle !important;
}

/* ------------------------------------
 * .align-bottom 下揃え強制
 * --------------------------------- */
.align-bottom {
  vertical-align: bottom !important;
}

/* ----------------------------------------------------------------------------
 * .fz-smaller font-size: 77.77751%; 18 → 14
 * ------------------------------------------------------------------------- */
.fz-smaller {
  font-size: 77.77751% !important;
}

/* ----------------------------------------------------------------------------
 * .fz-larger font-size: 138.4612%; 14 → 18
 * ------------------------------------------------------------------------- */
.fz-larger {
  font-size: 138.4612% !important;
}

/* ----------------------------------------------------------------------------
 * .mb-*
 * ------------------------------------------------------------------------- */
.mb-0 {
  margin-bottom: 0 !important;
}

.mb-0+ * {
  margin-top: 0;
}

.mb-2 {
  margin-bottom: 2px !important;
}

.mb-2+ * {
  margin-top: 0;
}

.mb-4 {
  margin-bottom: 4px !important;
}

.mb-4+ * {
  margin-top: 0;
}

.mb-6 {
  margin-bottom: 6px !important;
}

.mb-6+ * {
  margin-top: 0;
}

.mb-8 {
  margin-bottom: 8px !important;
}

.mb-8+ * {
  margin-top: 0;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mb-10+ * {
  margin-top: 0;
}

.mb-12 {
  margin-bottom: 12px !important;
}

.mb-12+ * {
  margin-top: 0;
}

.mb-14 {
  margin-bottom: 14px !important;
}

.mb-14+ * {
  margin-top: 0;
}

.mb-16 {
  margin-bottom: 16px !important;
}

.mb-16+ * {
  margin-top: 0;
}

.mb-18 {
  margin-bottom: 18px !important;
}

.mb-18+ * {
  margin-top: 0;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mb-20+ * {
  margin-top: 0;
}

.mb-22 {
  margin-bottom: 22px !important;
}

.mb-22+ * {
  margin-top: 0;
}

.mb-24 {
  margin-bottom: 24px !important;
}

.mb-24+ * {
  margin-top: 0;
}

.mb-26 {
  margin-bottom: 26px !important;
}

.mb-26+ * {
  margin-top: 0;
}

.mb-28 {
  margin-bottom: 28px !important;
}

.mb-28+ * {
  margin-top: 0;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mb-30+ * {
  margin-top: 0;
}

.mb-32 {
  margin-bottom: 32px !important;
}

.mb-32+ * {
  margin-top: 0;
}

.mb-34 {
  margin-bottom: 34px !important;
}

.mb-34+ * {
  margin-top: 0;
}

.mb-36 {
  margin-bottom: 36px !important;
}

.mb-36+ * {
  margin-top: 0;
}

.mb-38 {
  margin-bottom: 38px !important;
}

.mb-38+ * {
  margin-top: 0;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mb-40+ * {
  margin-top: 0;
}

.mb-42 {
  margin-bottom: 42px !important;
}

.mb-42+ * {
  margin-top: 0;
}

.mb-44 {
  margin-bottom: 44px !important;
}

.mb-44+ * {
  margin-top: 0;
}

.mb-46 {
  margin-bottom: 46px !important;
}

.mb-46+ * {
  margin-top: 0;
}

.mb-48 {
  margin-bottom: 48px !important;
}

.mb-48+ * {
  margin-top: 0;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.mb-50+ * {
  margin-top: 0;
}

.mb-52 {
  margin-bottom: 52px !important;
}

.mb-52+ * {
  margin-top: 0;
}

.mb-54 {
  margin-bottom: 54px !important;
}

.mb-54+ * {
  margin-top: 0;
}

.mb-56 {
  margin-bottom: 56px !important;
}

.mb-56+ * {
  margin-top: 0;
}

.mb-58 {
  margin-bottom: 58px !important;
}

.mb-58+ * {
  margin-top: 0;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mb-60+ * {
  margin-top: 0;
}

.mb-62 {
  margin-bottom: 62px !important;
}

.mb-62+ * {
  margin-top: 0;
}

.mb-64 {
  margin-bottom: 64px !important;
}

.mb-64+ * {
  margin-top: 0;
}

.mb-66 {
  margin-bottom: 66px !important;
}

.mb-66+ * {
  margin-top: 0;
}

.mb-68 {
  margin-bottom: 68px !important;
}

.mb-68+ * {
  margin-top: 0;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.mb-70+ * {
  margin-top: 0;
}

.mb-72 {
  margin-bottom: 72px !important;
}

.mb-72+ * {
  margin-top: 0;
}

.mb-74 {
  margin-bottom: 74px !important;
}

.mb-74+ * {
  margin-top: 0;
}

.mb-76 {
  margin-bottom: 76px !important;
}

.mb-76+ * {
  margin-top: 0;
}

.mb-78 {
  margin-bottom: 78px !important;
}

.mb-78+ * {
  margin-top: 0;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.mb-80+ * {
  margin-top: 0;
}

.mb-82 {
  margin-bottom: 82px !important;
}

.mb-82+ * {
  margin-top: 0;
}

.mb-84 {
  margin-bottom: 84px !important;
}

.mb-84+ * {
  margin-top: 0;
}

.mb-86 {
  margin-bottom: 86px !important;
}

.mb-86+ * {
  margin-top: 0;
}

.mb-88 {
  margin-bottom: 88px !important;
}

.mb-88+ * {
  margin-top: 0;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.mb-90+ * {
  margin-top: 0;
}

.mb-92 {
  margin-bottom: 92px !important;
}

.mb-92+ * {
  margin-top: 0;
}

.mb-94 {
  margin-bottom: 94px !important;
}

.mb-94+ * {
  margin-top: 0;
}

.mb-96 {
  margin-bottom: 96px !important;
}

.mb-96+ * {
  margin-top: 0;
}

.mb-98 {
  margin-bottom: 98px !important;
}

.mb-98+ * {
  margin-top: 0;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.mb-100+ * {
  margin-top: 0;
}

/* ----------------------------------------------------------------------------
 * .mt-*
 * ------------------------------------------------------------------------- */
.mt-0 {
  margin-top: 0 !important;
}

.mt-2 {
  margin-top: 2px !important;
}

.mt-4 {
  margin-top: 4px !important;
}

.mt-6 {
  margin-top: 6px !important;
}

.mt-8 {
  margin-top: 8px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mt-12 {
  margin-top: 12px !important;
}

.mt-14 {
  margin-top: 14px !important;
}

.mt-16 {
  margin-top: 16px !important;
}

.mt-18 {
  margin-top: 18px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mt-22 {
  margin-top: 22px !important;
}

.mt-24 {
  margin-top: 24px !important;
}

.mt-26 {
  margin-top: 26px !important;
}

.mt-28 {
  margin-top: 28px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mt-32 {
  margin-top: 32px !important;
}

.mt-34 {
  margin-top: 34px !important;
}

.mt-36 {
  margin-top: 36px !important;
}

.mt-38 {
  margin-top: 38px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mt-42 {
  margin-top: 42px !important;
}

.mt-44 {
  margin-top: 44px !important;
}

.mt-46 {
  margin-top: 46px !important;
}

.mt-48 {
  margin-top: 48px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mt-52 {
  margin-top: 52px !important;
}

.mt-54 {
  margin-top: 54px !important;
}

.mt-56 {
  margin-top: 56px !important;
}

.mt-58 {
  margin-top: 58px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mt-62 {
  margin-top: 62px !important;
}

.mt-64 {
  margin-top: 64px !important;
}

.mt-66 {
  margin-top: 66px !important;
}

.mt-68 {
  margin-top: 68px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.mt-72 {
  margin-top: 72px !important;
}

.mt-74 {
  margin-top: 74px !important;
}

.mt-76 {
  margin-top: 76px !important;
}

.mt-78 {
  margin-top: 78px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mt-82 {
  margin-top: 82px !important;
}

.mt-84 {
  margin-top: 84px !important;
}

.mt-86 {
  margin-top: 86px !important;
}

.mt-88 {
  margin-top: 88px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mt-92 {
  margin-top: 92px !important;
}

.mt-94 {
  margin-top: 94px !important;
}

.mt-96 {
  margin-top: 96px !important;
}

.mt-98 {
  margin-top: 98px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

/* ----------------------------------------------------------------------------
 * .w-*
 * ------------------------------------------------------------------------- */
.w-5 {
  width: 5% !important;
}

.w-10 {
  width: 10% !important;
}

.w-15 {
  width: 15% !important;
}

.w-20 {
  width: 20% !important;
}

.w-25 {
  width: 25% !important;
}

.w-30 {
  width: 30% !important;
}

.w-35 {
  width: 35% !important;
}

.w-40 {
  width: 40% !important;
}

.w-45 {
  width: 45% !important;
}

.w-50 {
  width: 50% !important;
}

.w-55 {
  width: 55% !important;
}

.w-60 {
  width: 60% !important;
}

.w-65 {
  width: 65% !important;
}

.w-70 {
  width: 70% !important;
}

.w-75 {
  width: 75% !important;
}

.w-80 {
  width: 80% !important;
}

.w-85 {
  width: 85% !important;
}

.w-90 {
  width: 90% !important;
}

.w-95 {
  width: 95% !important;
}

.w-100 {
  width: 100% !important;
}

.w-16 {
  width: 16.6666% !important;
}

.w-33 {
  width: 33.3333% !important;
}

.w-66 {
  width: 66.6666% !important;
}

.w-83 {
  width: 83.3333% !important;
}

/* ----------------------------------------------------------------------------
 * .pc-*
 * ------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------
 * .sp-*
 * ------------------------------------------------------------------------- */

/* ============================================================================
 * _form component
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .comp-box-contact コンタクト用コンポーネント
 * ------------------------------------------------------------------------- */
.comp-box-contact {
  margin: 0 0 40px;
}

.comp-box-contact> .title {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  background: #e3eecc;
  padding: 14px 14px 15px;
}

.comp-box-contact> .inner {
  background: #f0f1f2;
  padding: 31px 12px 23px;
}

.comp-box-contact> .inner> * {
  position: relative;
}

.comp-box-contact> .inner> *+ * {
  margin-top: 20px;
}

.comp-box-contact> .inner> *> .lyt> .lede {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 0 0 5px;
}

.comp-box-contact> .inner> *> .lyt> .lede+ * {
  flex-grow: 1;
}

.comp-box-contact> .inner> .form .mod-link {
  text-align: center;
  margin: 7px 0 0;
}

.comp-box-contact> .inner> .tel .number {
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
}

.comp-box-contact> .inner> .tel .number a {
  text-decoration: none;
}

.comp-box-contact> .inner> .tel .time {
  text-align: center;
}

.comp-box-contact .mod-btn {
  margin-top: 0;
  margin-bottom: 0;
}

.comp-box-contact .mod-btn a {
  width: 100%;
}

.comp-box-contact .mod-link {
  font-size: 1.2rem;
}

/* ============================================================================
 * _form component
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .comp-form-singleTextFieldWithSubmit 1つのテキストフィールドと送信ボタン
 * ------------------------------------------------------------------------- */
.comp-form-singleTextFieldWithSubmit {
  margin: 0 0 24px;
}

.comp-form-singleTextFieldWithSubmit> .inner {
  margin: -10px 0 0 -10px;
}

.comp-form-singleTextFieldWithSubmit> .inner> * {
  margin: 0;
  padding: 10px 0 0 10px;
}

.comp-form-singleTextFieldWithSubmit .mod-form-txt> input {
  min-height: 48px;
  padding: 15px 14px 13px;
}

.comp-form-singleTextFieldWithSubmit .mod-btn button {
  font-weight: normal;
}

.comp-form-singleTextFieldWithSubmit .mod-btn button::after {
  display: none;
}

/* ----------------------------------------------------------------------------
 * .comp-form-selectedAreaControl 市区町村の選択
 * ------------------------------------------------------------------------- */
.comp-form-selectedAreaControl {
  margin: 10px 0;
}

.comp-form-selectedAreaControl> .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: -15px 0 0 -20px;
}

.comp-form-selectedAreaControl> .inner> * {
  padding: 15px 0 0 20px;
}

.comp-form-selectedAreaControl> .inner> *> *:first-child {
  margin-top: 0;
}

.comp-form-selectedAreaControl> .inner> *> *:last-child {
  margin-bottom: 0;
}

.comp-form-selectedAreaControl> .inner .btn> a {
  font-size: 1.3rem;
  text-decoration: none;
  color: #505050;
  display: inline-block;
  padding: 0 9px 1px;
  border: 1px solid #505050;
}

.comp-form-selectedAreaControl .mod-form-select> .inner> select {
  font-size: 1.3rem;
  min-height: 25px;
  padding-top: 6px;
  padding-bottom: 5px;
}

.comp-form-selectedAreaControl output {
  font-weight: bold;
}

.comp-form-selectedAreaControl .mod-modal-content {
  background: #fff;
  margin-top: 20px;
  padding: 0 20px;
}

/* ----------------------------------------------------------------------------
 * .comp-form-search 事例検索フォームコンポーネント
 * ------------------------------------------------------------------------- */
.comp-form-search {
  margin: 0 0 40px;
}

.comp-form-search> .inner {
  background: #f5f9ec;
  border-radius: 8px;
}

.comp-form-search> .inner> .content {
  padding: 12px 30px 28px;
}

.comp-form-search> .inner> .content> *:first-child {
  margin-top: 0;
}

.comp-form-search> .inner> .content> *:last-child {
  margin-bottom: 0;
}

.comp-form-search> .inner> .content> .mod-form-checkbox:first-child {
  margin-bottom: 0;
  padding: 26px 0 15px;
}

.comp-form-search> .inner> .content> .mod-form-fieldset:last-child> .inner {
  padding-bottom: 0;
}

.comp-form-search> .inner> .content+ .content {
  padding-top: 20px;
  border-top: 1px solid #ccc;
}

.comp-form-search> .inner> .scale-or-part> .room> .logo,
.comp-form-search> .inner> .scale-or-part> .home> .logo {
  text-align: center;
  padding: 12px;
}

.comp-form-search> .inner> .scale-or-part> .room> .content,
.comp-form-search> .inner> .scale-or-part> .home> .content {
  padding: 12px;
}

.comp-form-search> .inner> .scale-or-part> .room> .content> *:first-child,
.comp-form-search> .inner> .scale-or-part> .home> .content> *:first-child {
  margin-top: 0;
}

.comp-form-search> .inner> .scale-or-part> .room> .content> *:last-child,
.comp-form-search> .inner> .scale-or-part> .home> .content> *:last-child {
  margin-bottom: 0;
}

.comp-form-search> .inner> .scale-or-part> .room> .content .label-lyt,
.comp-form-search> .inner> .scale-or-part> .home> .content .label-lyt {
  display: table;
}

.comp-form-search> .inner> .scale-or-part> .room> .content .label-lyt> .row,
.comp-form-search> .inner> .scale-or-part> .home> .content .label-lyt> .row {
  display: table-row;
}

.comp-form-search> .inner> .scale-or-part> .room> .content .label-lyt> .row> *,
.comp-form-search> .inner> .scale-or-part> .home> .content .label-lyt> .row> * {
  vertical-align: middle;
  display: table-cell;
}

.comp-form-search> .inner> .scale-or-part> .room> .content .label-lyt> .row> .label,
.comp-form-search> .inner> .scale-or-part> .home> .content .label-lyt> .row> .label {
  font-size: 1.6rem;
}

.comp-form-search> .inner> .scale-or-part> .room> .content .label-lyt> .row> .input,
.comp-form-search> .inner> .scale-or-part> .home> .content .label-lyt> .row> .input {
  padding: 0 0 0 10px;
}

.comp-form-search> .inner> .scale-or-part> .room> .content .label-lyt> .row> .input> *:first-child,
.comp-form-search> .inner> .scale-or-part> .home> .content .label-lyt> .row> .input> *:first-child {
  margin-top: 0;
}

.comp-form-search> .inner> .scale-or-part> .room> .content .label-lyt> .row> .input> *:last-child,
.comp-form-search> .inner> .scale-or-part> .home> .content .label-lyt> .row> .input> *:last-child {
  margin-bottom: 0;
}

.comp-form-search> .inner> .scale-or-part> .room> .content .mod-form-radio,
.comp-form-search> .inner> .scale-or-part> .home> .content .mod-form-radio {
  margin: 2px 0 20px;
}

.comp-form-search> .inner> .scale-or-part> .room> .content .mod-form-fieldset:last-child> .inner,
.comp-form-search> .inner> .scale-or-part> .home> .content .mod-form-fieldset:last-child> .inner {
  padding-bottom: 0;
}

.comp-form-search> .inner> .scale-or-part> .room {
  flex-grow: 1;
}

.comp-form-search> .inner> .scale-or-part> .home {
  margin: 20px 0 0;
  padding-top: 20px;
  border-top: 1px solid #ccc;
}

.comp-form-search> .inner> .submit {
  padding: 30px 12px;
  border-top: 1px solid #ccc;
}

.comp-form-search> .inner> .submit> *:first-child {
  margin-top: 0;
}

.comp-form-search> .inner> .submit> *:last-child {
  margin-bottom: 0;
}

.comp-form-search> .inner> .submit> .result {
  font-size: 1.6rem;
  display: flex;
  justify-content: flex-end;
}

.comp-form-search> .inner> .submit> .result .count {
  font-size: 2.4rem;
  font-weight: bold;
  display: inline-block;
  margin: 0 0 0 3px;
}

.comp-form-search> .inner> .submit> .result .unit {
  font-size: 1.4rem;
}

.comp-form-search> .inner> .submit> .mod-btn {
  margin-top: 0;
  padding: 0 20px;
}

.comp-form-search> .inner> .submit::after {
  display: block;
  content: "";
}

/* ----------------------------------------------------------------------------
 * .comp-form-shopSearchControl お店検索専用フォームコンポーネント
 * ------------------------------------------------------------------------- */
.comp-form-shopSearchControl {
  margin: 0 0 30px;
  border-bottom: 1px solid transparent;
}

.comp-form-shopSearchControl::after {
  display: block;
  clear: both;
  content: "";
}

.comp-form-shopSearchControl> .mod-form-searchControl:first-child {
  margin-right: 10px;
}

.comp-form-shopSearchControl .mod-tgl-searchSetting> .tgl-panel> .inner {
  padding: 0;
}

.comp-form-shopSearchControl> .mod-gmap {
  clear: both;
  width: 100%;
  margin: 0;
}

.comp-form-shopSearchControl> .pager> *:first-child,
.comp-form-shopSearchControl> .result> *:first-child,
.comp-form-shopSearchControl> .contact> *:first-child {
  margin-top: 0;
}

.comp-form-shopSearchControl> .pager> *:last-child,
.comp-form-shopSearchControl> .result> *:last-child,
.comp-form-shopSearchControl> .contact> *:last-child {
  margin-bottom: 0;
}

.comp-form-shopSearchControl> .pager {
  max-width: 100%;
  margin-bottom: 30px;
}

.comp-form-shopSearchControl> .result {
  display: flex;
  clear: both;
  justify-content: flex-end;
}

.comp-form-shopSearchControl> .contact {
  width: 100%;
  max-width: 460px;
  margin: 0 0 20px;
}

.comp-form-shopSearchControl> .contact> .inner {
  background: #e3eecc;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: 20px 19px 16px;
  border-radius: 4px;
}

.comp-form-shopSearchControl> .contact> .inner::after {
  position: absolute;
  top: 100%;
  left: 22px;
  display: block;
  content: "";
  border: solid transparent;
  border-width: 11px 6px;
  border-top-color: #e3eecc;
}

.comp-form-shopSearchControl> .contact> .inner * {
  margin-bottom: 0;
}

.comp-form-shopSearchControl> .contact> .inner> .lede {
  font-weight: bold;
  padding: 10px 18px 0 0;
}

.comp-form-shopSearchControl> .contact> .inner> .btn {
  flex-grow: 1;
}

.comp-form-shopSearchControl> .contact> .inner> .btn button {
  font-size: 1.6rem;
  text-align: center;
  color: #fff;
  background: #505050;
  width: 100%;
  margin: 0 0 2px;
  padding: 8px 8px 7px;
}

.comp-form-shopSearchControl+ * {
  clear: both;
}

/* ----------------------------------------------------------------------------
 * .comp-form-filterControl フィルタコントロールコンポーネント
 * ------------------------------------------------------------------------- */
.comp-form-filterControl {
  margin: 0 0 20px;
}

.comp-form-filterControl> .inner> .hdg {
  display: flex;
  align-items: center;
  margin: 0 0 20px;
}

.comp-form-filterControl> .inner> .hdg .mod-hdg {
  margin: 0;
}

.comp-form-filterControl> .inner> .hdg .mod-btn-02 {
  margin: 0 0 0 19px;
}

.comp-form-filterControl> .inner> .form> .row {
  position: relative;
  padding: 0;
}

.comp-form-filterControl> .inner> .form> .row> legend {
  font-weight: bold;
}

.comp-form-filterControl> .inner> .form> .row> .content {
  margin: 0 0 15px;
  padding: 15px 10px;
  border-bottom: 1px solid #ccc;
}

.comp-form-filterControl> .inner> .form> .row> .content> *:first-child {
  margin-top: 0;
}

.comp-form-filterControl> .inner> .form> .row> .content> *:last-child {
  margin-bottom: 0;
}

.comp-form-filterControl> .inner> .content {
  padding: 8px 0;
  border: solid #ccc;
  border-width: 1px 0;
}

.comp-form-filterControl> .inner> .content> *:first-child {
  margin-top: 0;
}

.comp-form-filterControl> .inner> .content> *:last-child {
  margin-bottom: 0;
}

.comp-form-filterControl> .inner> .mod-btn {
  margin-top: 40px;
}

.comp-form-filterControl .mod-btn-02 {
  margin: 0 0 0 19px;
}

/* ----------------------------------------------------------------------------
 * .comp-form-choiceShop お店選択
 * ------------------------------------------------------------------------- */
.comp-form-choiceShop {
  margin: 0 0 80px;
}

.comp-form-choiceShop> .inner> .item {
  background: #f0f1f2;
  display: flex;
  flex-direction: column;
}

.comp-form-choiceShop> .inner> .item+ .item {
  margin-top: 4px;
}

.comp-form-choiceShop> .inner> .item> .head {
  position: relative;
  order: 2;
  padding: 22px 20px 16px;
}

.comp-form-choiceShop> .inner> .item> .head::after {
  position: absolute;
  bottom: 0;
  left: 20px;
  display: block;
  width: calc(100% - 40px);
  content: "";
  border-bottom: 1px solid #ccc;
}

.comp-form-choiceShop> .inner> .item> .head .address {
  flex-grow: 1;
  margin: 0 0 10px;
}

.comp-form-choiceShop> .inner> .item> .head .address .shopname {
  font-size: 2.4rem;
  font-weight: bold;
  margin: 0 0 4px;
}

.comp-form-choiceShop> .inner> .item> .head .address .shopname a {
  text-decoration: none;
}

.comp-form-choiceShop> .inner> .item> .head .address .shopname a::after {
  position: relative;
  top: -4px;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px 0 6px;
  content: "";
  transform: rotate(45deg);
  border: 2px solid #30b653;
  border-width: 2px 2px 0 0;
}

.comp-form-choiceShop> .inner> .item> .head .tel .number {
  font-size: 2rem;
  font-weight: bold;
  display: block;
  margin: 0 0 -4px;
}

.comp-form-choiceShop> .inner> .item> .checkbox {
  background: #e3eecc;
  order: 1;
}

.comp-form-choiceShop> .inner> .item> .checkbox input {
  position: absolute;
  z-index: -1;
  width: 0;
  height: 0;
}

.comp-form-choiceShop> .inner> .item> .checkbox> label {
  display: block;
  padding: 10px;
}

.comp-form-choiceShop> .inner> .item> .checkbox> label span {
  position: relative;
  display: block;
  padding: 0 0 0 30px;
  cursor: default;
}

.comp-form-choiceShop> .inner> .item> .checkbox> label span::before,
.comp-form-choiceShop> .inner> .item> .checkbox> label span::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
}

.comp-form-choiceShop> .inner> .item> .checkbox> label span::before {
  background: #fff;
  top: 3px;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
}

.comp-form-choiceShop> .inner> .item> .checkbox> label span::after {
  top: 4px;
  left: 6px;
  width: 9px;
  height: 14px;
  transition: .2s opacity ease-out;
  transform: rotate(45deg);
  border: 3px solid #505050;
  border-width: 0 3px 3px 0;
  opacity: 0;
}

.comp-form-choiceShop> .inner> .item> .checkbox> label input:checked+ span::after {
  opacity: 1;
}

.comp-form-choiceShop> .inner> .item> .body {
  order: 3;
  padding: 24px 20px;
}

.comp-form-choiceShop> .inner> .item> .body> *:first-child {
  margin-top: 0;
}

.comp-form-choiceShop> .inner> .item> .body> *:last-child {
  margin-bottom: 0;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .img {
  text-align: center;
  margin: 0 0 10px;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .lede {
  font-size: 2rem;
  line-height: 1.4;
  margin: 0 0 23px;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support {
  margin: 0 0 15px;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div dt {
  margin: 0 16px 0 0;
  padding: 0 13px 0 0;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div dd> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -2px 0 0 -2px;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div dd> .list> li {
  font-size: 1.2rem;
  line-height: 1;
  display: flex;
  padding: 2px 0 0 2px;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div dd> .list> li.of-2line {
  font-size: 1.1rem;
  line-height: 1.27273;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div dd> .list> li> b {
  font-weight: inherit;
  letter-spacing: -.9px;
  text-align: center;
  color: #505050;
  background: #fff;
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 2px 17px;
  border: 1px solid #505050;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div dd .list> li {
  flex-grow: 1;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div dd .list> li:only-child {
  flex-grow: 0;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .feature {
  font-weight: bold;
  margin: 0 0 10px;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .feature> .list {
  display: flex;
  flex-wrap: wrap;
  margin: -2px 0 0 -2px;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .feature> .list> li {
  font-size: 1.2rem;
  line-height: 1;
  display: flex;
  padding: 2px 0 0 2px;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .feature> .list> li.of-2line {
  font-size: 1.1rem;
  line-height: 1.27273;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .feature> .list> li> b {
  font-weight: inherit;
  letter-spacing: -.9px;
  text-align: center;
  color: #fff;
  background: #9fd038;
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 2px;
}

.comp-form-choiceShop> .inner> .item> .body> .description> .summary> .feature li {
  flex-basis: 50%;
  max-width: 50%;
}

.comp-form-choiceShop> .inner> .item> .foot {
  order: 4;
  padding: 22px 20px;
  border-top: 1px solid #ccc;

  -ms-grid-row: 3;
      grid-row: 3;
}

.comp-form-choiceShop> .inner> .item> .foot> *> *:first-child {
  margin-top: 0;
}

.comp-form-choiceShop> .inner> .item> .foot> *> *:last-child {
  margin-bottom: 0;
}

.comp-form-choiceShop> .inner> .item> .foot> .utility {
  display: flex;
  flex-direction: column;
  margin: 0 0 0 -4px;
}

.comp-form-choiceShop> .inner> .item> .foot> .utility .btn {
  text-align: center;
  display: flex;
  justify-content: center;
  padding: 10px 0 0 4px;
}

.comp-form-choiceShop> .inner> .item> .foot> .utility .btn a,
.comp-form-choiceShop> .inner> .item> .foot> .utility .btn button {
  font-weight: bold;
}

.comp-form-choiceShop> .inner> .item> .foot> .utility .btn a {
  text-decoration: none;
  color: #fff;
  background: #505050;
  padding: 9px 22px 8px;
}

.comp-form-choiceShop> .inner> .item> .foot> .utility .btn .func-btn {
  color: #505050;
  position: relative;
  padding: 8px 20px 7px 27px;
  border: 1px solid #505050;
}

.comp-form-choiceShop> .inner> .item> .foot> .utility .btn .func-btn::before {
  background-image: url(/reform/shared/img/sprite.png);
  background-position: -20px -82px;
  background-size: 111px 97px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 8px;
  display: block;
  width: 17px;
  height: 13px;
  margin: auto 0;
  content: "";
}

.comp-form-choiceShop .mod-btn a,
.comp-form-choiceShop .mod-btn button {
  width: auto;
}

.comp-form-choiceShop .mod-tgl-searchSetting .tgl-hook {
  background: #d9d9d9;
}

.comp-form-choiceShop .mod-tgl-searchSetting .tgl-panel> .inner {
  padding: 21px 0;
}

/* ============================================================================
 * _lyt component
 * ========================================================================= */
/* ----------------------------------------------------------------------------
 * .comp-lyt-compareBtn 検討リストのボタンをレイアウトするためだけのルールセット
 * ------------------------------------------------------------------------- */
.comp-lyt-compareBtn {
  margin: -16px 0 80px -32px;
}

.comp-lyt-compareBtn> .col {
  display: flex;
  padding: 16px 0 0 32px;
}

.comp-lyt-compareBtn> .col> *:first-child {
  margin-top: 0;
}

.comp-lyt-compareBtn> .col> *:last-child {
  margin-bottom: 0;
}

.comp-lyt-compareBtn> .col> .mod-btn,
.comp-lyt-compareBtn> .col> .mod-btn-02 {
  flex-grow: 1;
}

.comp-lyt-compareBtn> .col> .mod-btn> .btn,
.comp-lyt-compareBtn> .col> .mod-btn-02> .btn {
  flex-grow: 1;
  align-items: stretch;
}

.comp-lyt-compareBtn a {
  width: 100%;
}

[class^="mod-"] .break-word,
[class^="comp-"] .break-word {
  display: inline-block;
}

@media screen and (min-width: 500px), print {
  .mod-list-searchExample02[data-layout="list"]> .list> li> .inner {
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 700px), print {
  .mod-list-searchExample> .list> li> .summary> *:not(.mainvisual) {
    padding: 0 0 0 309px;
  }
  .mod-list-searchExample> .list> li> .summary> .mainvisual {
    position: absolute;
    top: 0;
    left: 0;
  }
}

@media screen and (min-width: 768px), print {
  a {
    transition: .2s color ease-out;
  }
  [class^="site-"] a img,
  [class^="str-"] a img,
  [class^="nav-"] a img,
  [class^="mod-"] a img,
  [class^="comp-"] a img,
  [class^="func-"] a img {
    transition: .2s opacity ease-out;
  }
  [class^="site-"] a:hover img,
  [class^="site-"] a:focus img,
  [class^="str-"] a:hover img,
  [class^="str-"] a:focus img,
  [class^="nav-"] a:hover img,
  [class^="nav-"] a:focus img,
  [class^="mod-"] a:hover img,
  [class^="mod-"] a:focus img,
  [class^="comp-"] a:hover img,
  [class^="comp-"] a:focus img,
  [class^="func-"] a:hover img,
  [class^="func-"] a:focus img {
    opacity: .7;
  }
  .str-breadcrumb {
    display: block;
  }
  .str-mainvisual {
    padding-top: 0;
    padding-bottom: 0;
  }
  .str-mainvisual::after {
    min-height: 12.5vw;
  }
  .str-mainvisual> .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  body> header:first-child {
    padding-top: 30px !important;
  }
  .str-pnl[data-col-pc]> .str-inner> .wrap> .col.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .str-pnl[data-col-pc]> .str-inner> .wrap> .col.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .str-pnl[data-col-pc="auto"]> .str-inner> .wrap> .col {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .str-pnl[data-col-pc="2"]> .str-inner> .wrap> .col {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .str-pnl[data-col-pc="3"]> .str-inner> .wrap> .col {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .str-pnl[data-col-pc="4"]> .str-inner> .wrap> .col {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .str-pnl[data-col-pc="5"]> .str-inner> .wrap> .col {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .str-pnl[data-col-pc="6"]> .str-inner> .wrap> .col {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .str-pnl> .str-inner> .wrap> .col.of-vertical-pc {
    flex-basis: 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .str-pnl> .str-inner> .wrap> .col.of-vertical-pc> .pnl {
    flex-direction: row-reverse;
  }
  .str-pnl> .str-inner> .wrap> .col.of-vertical-pc> .pnl> .txt {
    display: flex;
    align-items: center;
  }
  .str-pnl> .str-inner> .wrap> .col.of-vertical-pc p {
    margin-top: 0;
    margin-bottom: 0;
  }
  .str-pnl> .str-inner> .wrap> .col.of-vertical-pc p b {
    margin-top: 0;
  }
  .str-replaceNavigationWithMainvisual {
    display: block;
  }
  .str-box-contact .wrap {
    font-size: 1.6rem;
  }
  .str-box-contact .hdg {
    font-size: 2.2rem;
  }
  .str-box-contact .tel {
    font-size: 2rem;
    margin-bottom: 1px;
  }
  .str-box-contact .tel .title {
    margin: 0 22px 0 0;
  }
  .str-box-contact .tel .freedial img {
    height: auto;
  }
  .str-box-contact .tel .number {
    font-size: 2.8rem;
  }
  .str-box-contact .time {
    font-size: 1.4rem;
    padding: 0 15px 0 0;
  }
  .nav-local a,
  .nav-local b {
    font-size: 1.4rem;
    color: #fff;
    padding: 10px 0;
  }
  .nav-local a:hover,
  .nav-local a:focus,
  .nav-local b:hover,
  .nav-local b:focus {
    background: #414141;
  }
  .nav-local a span:not(.break-word),
  .nav-local b span:not(.break-word) {
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    flex-grow: 1;
    align-items: center;
    justify-content: center;
  }
  .nav-local a {
    border-bottom: 1px solid #6a6b6c;
  }
  .nav-local a> span::after {
    display: none;
  }
  .nav-local> .inner> .hdg {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    overflow: hidden;
    width: 0;
    height: 0;
  }
  .nav-local> .inner> .list {
    box-shadow: none;
  }
  html:not([data-script-enabled="true"]) .nav-local> .inner> .list {
    background: #414141;
  }
  .nav-local> .inner> .list> li {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-grow: 1;
    margin-top: 0;
    transition: .1s all ease-in-out;
    border: 0;
  }
  html[data-browser-trident="true"] .nav-local> .inner> .list> li {
    width: 100%;
  }
  .nav-local> .inner> .list> li> a {
    padding: 10px;
  }
  .nav-local> .inner> .list> li:last-child> a::before,
  .nav-local> .inner> .list> li:last-child> b::before {
    width: 100%;
    border-right: 1px solid #6a6b6c;
  }
  .nav-local> .inner> .list> li> .list {
    background: #414141;
    flex-grow: 1;
  }
  .nav-local> .inner> .list> li> .list li {
    border: 0;
  }
  .nav-local> .inner> .list> li> .list li a {
    justify-content: flex-start;
    padding: 9px 0 8px 22px;
    padding-left: 16px;
    border-bottom: 1px solid #6b6b6b;
  }
  .nav-local> .inner> .list> li> .list li a::after {
    display: none;
  }
  .nav-local> .inner> .list> li> .list li a span {
    text-align: left;
    justify-content: flex-start;
    border: 0;
  }
  .nav-local> .inner> .list> li> .list li:last-child a {
    border-bottom: 0;
  }
  html[data-script-enabled="true"] .nav-local> .inner {
    background: #505050;
    overflow: visible;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .hdg:not([aria-expanded="false"])+ .list {
    display: flex;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list {
    background: transparent;
    position: static;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li> b {
    align-items: center;
    justify-content: center;
    padding: 0 18px 0 16px;
    cursor: default;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li> b[aria-expanded="true"] {
    background: #414141;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li> b span:not(.break-word) {
    font-weight: normal;
    color: #fff;
    position: relative;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li> b span:not(.break-word)::before,
  html[data-script-enabled="true"] .nav-local> .inner> .list> li> b span:not(.break-word)::after {
    display: none;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li> b::after {
    background: transparent;
    position: relative;
    display: block;
    min-width: 8px;
    min-height: 8px;
    margin: 0 0 0 9px;
    transform: rotate(45deg);
    border: solid #fff;
    border-width: 0 2px 2px 0;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li[aria-current="true"]> a {
    background: #fff;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li[aria-current="true"]> a::before {
    left: -1px;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li[aria-current="true"]> a span {
    font-weight: bold;
    color: #13449d;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li[aria-current="true"]> b {
    background: #fff;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li[aria-current="true"]> b::before {
    left: -1px;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li[aria-current="true"]> b span:not(.break-word) {
    font-weight: bold;
    color: #13449d;
    padding-right: 6px;
    padding-left: 0;
    border: 0;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li[aria-current="true"]> b::after {
    border-color: #13449d;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li:last-child[aria-current="true"]> a,
  html[data-script-enabled="true"] .nav-local> .inner> .list> li:last-child[aria-current="true"]> b {
    background: #fff;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list> li:last-child[aria-current="true"]> a::before,
  html[data-script-enabled="true"] .nav-local> .inner> .list> li:last-child[aria-current="true"]> b::before {
    width: calc(100% + 2px);
  }
  html[data-script-enabled="true"] .nav-local a,
  html[data-script-enabled="true"] .nav-local b {
    align-items: stretch;
  }
  html[data-script-enabled="true"] .nav-local a span:not(.break-word),
  html[data-script-enabled="true"] .nav-local b span:not(.break-word) {
    text-align: center;
  }
  html[data-script-enabled="true"] .nav-local a br,
  html[data-script-enabled="true"] .nav-local b br {
    display: block;
  }
  html[data-script-enabled="true"] .nav-local a::before,
  html[data-script-enabled="true"] .nav-local b::before {
    background: transparent;
    position: absolute;
    top: 10px;
    left: 0;
    display: block;
    width: 1px;
    height: calc(100% - 20px);
    content: "";
    border-left: 1px solid #6a6b6c;
  }
  html[data-script-enabled="true"] .nav-local a {
    border-bottom: 0;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list {
    overflow: visible;
  }
  html[data-script-enabled="true"] .nav-local> .inner> .list li> .list {
    position: absolute;
    z-index: 1;
    top: 100%;
    right: 0;
    display: none;
    min-width: 300px;
  }
  .nav-local-02[data-col-pc]> .inner> .list> li.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .nav-local-02[data-col-pc]> .inner> .list> li.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .nav-local-02[data-col-pc="auto"]> .inner> .list> li {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .nav-local-02[data-col-pc="2"]> .inner> .list> li {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .nav-local-02[data-col-pc="3"]> .inner> .list> li {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .nav-local-02[data-col-pc="4"]> .inner> .list> li {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .nav-local-02[data-col-pc="5"]> .inner> .list> li {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .nav-local-02[data-col-pc="6"]> .inner> .list> li {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .nav-local-02> .inner> .list {
    display: flex;
    flex-wrap: wrap;
    margin: -2px 0 0 -2px;
  }
  .nav-local-02> .inner> .list> li {
    display: flex;
    flex-grow: 1;
    flex-basis: 25%;
    min-width: 25%;
    padding: 2px 0 0 2px;
  }
  .nav-local-02> .inner> .list> li.of-full {
    max-width: none;
  }
  .nav-local-02> .inner> .list> li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .nav-local-02> .inner> .list> li+ li {
    margin-top: 0;
  }
  .nav-local-02[data-col]> .inner> .list> li,
  .nav-local-02[data-col-pc]> .inner> .list> li {
    flex-grow: 0;
  }
  .nav-toc a:hover> span,
  .nav-toc a:focus> span {
    text-decoration: underline;
  }
  .mod-hdg-al2 {
    font-size: 3rem;
  }
  .mod-hdg-balloon {
    display: flex;
    align-items: flex-start;
  }
  .mod-hdg-balloon> *:first-child {
    font-size: 1.4rem;
  }
  .mod-hdg-balloon> *:first-child span {
    min-width: 89px;
    min-height: 89px;
  }
  .mod-hdg-balloon> .content {
    margin-top: 7px;
    margin-left: 36px;
    padding-top: 15px;
    border-top-left-radius: 0;
  }
  .mod-hdg-balloon> .content::before {
    position: absolute;
    top: 0;
    right: 100%;
    content: "";
    border: solid transparent;
    border-width: 0 24px 17px 24px;
    border-right-color: #f5f9ec;
  }
  .mod-btn a[href],
  .mod-btn button[type]:not(:disabled),
  .mod-btn-02 a[href],
  .mod-btn-02 button[type]:not(:disabled) {
    transition: .2s opacity ease-out;
  }
  .mod-btn a[href]:hover,
  .mod-btn a[href]:focus,
  .mod-btn button[type]:not(:disabled):hover,
  .mod-btn button[type]:not(:disabled):focus,
  .mod-btn-02 a[href]:hover,
  .mod-btn-02 a[href]:focus,
  .mod-btn-02 button[type]:not(:disabled):hover,
  .mod-btn-02 button[type]:not(:disabled):focus {
    opacity: .7;
  }
  .mod-btn[data-col-pc],
  .mod-btn-02[data-col-pc] {
    flex-direction: row;
    align-items: stretch;
    margin-top: -24px;
    margin-left: -24px;
  }
  .mod-btn[data-col-pc]> .btn,
  .mod-btn-02[data-col-pc]> .btn {
    padding: 24px 0 0 24px;
  }
  .mod-btn[data-col-pc]> .btn:not(:last-child),
  .mod-btn-02[data-col-pc]> .btn:not(:last-child) {
    margin: 0;
  }
  .mod-btn[data-col-pc]> .btn a,
  .mod-btn[data-col-pc]> .btn button[type],
  .mod-btn-02[data-col-pc]> .btn a,
  .mod-btn-02[data-col-pc]> .btn button[type] {
    min-width: 0;
  }
  .mod-btn[data-col-pc="auto"]> .btn a,
  .mod-btn[data-col-pc="auto"]> .btn button[type],
  .mod-btn-02[data-col-pc="auto"]> .btn a,
  .mod-btn-02[data-col-pc="auto"]> .btn button[type] {
    width: auto;
  }
  .mod-btn[data-col-pc="1"]> .btn a,
  .mod-btn[data-col-pc="1"]> .btn button[type],
  .mod-btn-02[data-col-pc="1"]> .btn a,
  .mod-btn-02[data-col-pc="1"]> .btn button[type] {
    width: 100%;
  }
  .mod-btn> .btn.of-full a,
  .mod-btn> .btn.of-full button[type],
  .mod-btn-02> .btn.of-full a,
  .mod-btn-02> .btn.of-full button[type] {
    width: 100%;
  }
  .mod-btn:not([data-col])> .btn+ .btn,
  .mod-btn-02:not([data-col])> .btn+ .btn {
    margin-top: 0;
  }
  .mod-btn:not([data-col]):not([data-col-pc])> .btn+ .btn,
  .mod-btn-02:not([data-col]):not([data-col-pc])> .btn+ .btn {
    margin-top: 20px;
  }
  .mod-btn:not([data-col-pc]).align-left-pc,
  .mod-btn-02:not([data-col-pc]).align-left-pc {
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }
  .mod-btn:not([data-col-pc]).align-left-pc> .btn,
  .mod-btn-02:not([data-col-pc]).align-left-pc> .btn {
    justify-content: flex-start !important;
  }
  .mod-btn:not([data-col-pc]).align-right-pc,
  .mod-btn-02:not([data-col-pc]).align-right-pc {
    align-items: flex-end !important;
    justify-content: flex-end !important;
  }
  .mod-btn:not([data-col-pc]).align-right-pc> .btn,
  .mod-btn-02:not([data-col-pc]).align-right-pc> .btn {
    justify-content: flex-end !important;
  }
  .mod-btn[data-col-pc].align-left-pc,
  .mod-btn-02[data-col-pc].align-left-pc {
    justify-content: flex-start !important;
  }
  .mod-btn[data-col-pc].align-left-pc> .btn,
  .mod-btn-02[data-col-pc].align-left-pc> .btn {
    justify-content: flex-start !important;
  }
  .mod-btn[data-col-pc].align-right-pc,
  .mod-btn-02[data-col-pc].align-right-pc {
    justify-content: flex-end !important;
  }
  .mod-btn[data-col-pc].align-right-pc> .btn,
  .mod-btn-02[data-col-pc].align-right-pc> .btn {
    justify-content: flex-start !important;
  }
  .mod-btn[data-col-pc]> .btn.of-full,
  .mod-btn-02[data-col-pc]> .btn.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-btn[data-col-pc]> .btn.of-fillIn,
  .mod-btn-02[data-col-pc]> .btn.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-btn[data-col-pc="auto"]> .btn,
  .mod-btn-02[data-col-pc="auto"]> .btn {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-btn[data-col-pc="2"]> .btn,
  .mod-btn-02[data-col-pc="2"]> .btn {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-btn[data-col-pc="3"]> .btn,
  .mod-btn-02[data-col-pc="3"]> .btn {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-btn[data-col-pc="4"]> .btn,
  .mod-btn-02[data-col-pc="4"]> .btn {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-btn[data-col-pc="5"]> .btn,
  .mod-btn-02[data-col-pc="5"]> .btn {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-btn[data-col-pc="6"]> .btn,
  .mod-btn-02[data-col-pc="6"]> .btn {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-btn[data-col-pc="auto"]> .btn a,
  .mod-btn[data-col-pc="auto"]> .btn button[type] {
    min-width: 235px;
  }
  .mod-btn-02> .btn a[href]:hover,
  .mod-btn-02> .btn a:not([href]):hover,
  .mod-btn-02> .btn button[type]:hover {
    color: inherit;
  }
  .mod-link-list[data-col-pc]> .list> li.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-link-list[data-col-pc]> .list> li.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-link-list[data-col-pc="auto"]> .list> li {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-link-list[data-col-pc="2"]> .list> li {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-link-list[data-col-pc="3"]> .list> li {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-link-list[data-col-pc="4"]> .list> li {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-link-list[data-col-pc="5"]> .list> li {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-link-list[data-col-pc="6"]> .list> li {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-link-list[data-col-pc]> .list {
    display: flex;
    flex-wrap: wrap;
    margin: -7px 0 0 -26px;
  }
  .mod-link-list[data-col-pc]> .list> li {
    padding: 7px 0 0 26px;
  }
  .mod-link-anchor[data-col-pc]> .list> li.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-link-anchor[data-col-pc]> .list> li.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-link-anchor[data-col-pc="auto"]> .list> li {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-link-anchor[data-col-pc="2"]> .list> li {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-link-anchor[data-col-pc="3"]> .list> li {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-link-anchor[data-col-pc="4"]> .list> li {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-link-anchor[data-col-pc="5"]> .list> li {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-link-anchor[data-col-pc="6"]> .list> li {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-link-anchor> .list> li> a {
    transition: .2s opacity ease-out;
  }
  .mod-link-anchor> .list> li> a:hover,
  .mod-link-anchor> .list> li> a:focus {
    opacity: .7;
  }
  .mod-link-tab[data-col-pc]> .tab-list> li.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-link-tab[data-col-pc]> .tab-list> li.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-link-tab[data-col-pc="auto"]> .tab-list> li {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-link-tab[data-col-pc="2"]> .tab-list> li {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-link-tab[data-col-pc="3"]> .tab-list> li {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-link-tab[data-col-pc="4"]> .tab-list> li {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-link-tab[data-col-pc="5"]> .tab-list> li {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-link-tab[data-col-pc="6"]> .tab-list> li {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-link-tab> .tab-list> li> * {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mod-link-tab> .tab-list> li[tabindex] span {
    transition: .2s background ease-out;
  }
  .mod-link-tab> .tab-list> li[tabindex]:not([aria-selected="true"]):hover span {
    background: #f7f7f7;
  }
  .mod-link-tab> .tab-panel {
    margin-top: 45px;
  }
  html:not([data-script-enabled="true"]) .mod-link-tab> .tab-panel> .str-invisible {
    margin: 0 0 45px;
  }
  .mod-link-tab> .tab-panel> .str-invisible:first-child+ * {
    margin-top: 0;
  }
  .mod-link-tab> .tab-panel> .str-invisible:first-child+ .mod-other-detailUtility {
    margin-top: -26px;
  }
  .mod-link-tab> .tab-panel> .mod-other-detailUtility:first-child {
    margin-top: -26px;
  }
  .mod-link-step> .list> li> a[href] {
    transition: .2s opacity ease-out;
  }
  .mod-link-step> .list> li> a[href]:hover,
  .mod-link-step> .list> li> a[href]:focus {
    opacity: .7;
  }
  .mod-list-step[data-col-pc]> .list> li.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-list-step[data-col-pc]> .list> li.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-list-step[data-col-pc="auto"]> .list> li {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-list-step[data-col-pc="2"]> .list> li {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-list-step[data-col-pc="3"]> .list> li {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-list-step[data-col-pc="4"]> .list> li {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-list-step[data-col-pc="5"]> .list> li {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-list-step[data-col-pc="6"]> .list> li {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-list-step[data-col-pc="7"]> .list> li {
    flex-basis: 14.28571%;
    width: 14.28571%;
    min-width: 14.28571%;
    max-width: 14.28571%;
  }
  .mod-list-step[data-col-pc="8"]> .list> li {
    flex-basis: 12.5%;
    width: 12.5%;
    min-width: 12.5%;
    max-width: 12.5%;
  }
  .mod-list-step.var-02:not([data-col-pc]) li {
    flex-basis: 25%;
    max-width: 25%;
  }
  .mod-list-searchExample> .list> li> .summary> .hdg> a> .title::after {
    left: 0;
    transition: .2s left ease-out;
  }
  .mod-list-searchExample> .list> li> .summary> .hdg> a:hover> .title::after,
  .mod-list-searchExample> .list> li> .summary> .hdg> a:focus> .title::after {
    left: 2px;
  }
  .mod-list-searchExample> .list> li> .summary> .part> .list> li> a .name::after {
    transition: .2s right ease-out;
  }
  .mod-list-searchExample> .list> li> .summary> .part> .list> li> a:hover .caption .name::after,
  .mod-list-searchExample> .list> li> .summary> .part> .list> li> a:focus .caption .name::after {
    right: 1px;
  }
  .mod-list-searchExample02[data-col-pc]> .list> li.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-list-searchExample02[data-col-pc]> .list> li.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-list-searchExample02[data-col-pc="auto"]> .list> li {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-list-searchExample02[data-col-pc="2"]> .list> li {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-list-searchExample02[data-col-pc="3"]> .list> li {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-list-searchExample02[data-col-pc="4"]> .list> li {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-list-searchExample02[data-col-pc="5"]> .list> li {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-list-searchExample02[data-col-pc="6"]> .list> li {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-list-searchExample02> .list> li> .inner> .summary> .hdg a::before {
    transition: .2s opacity ease-out;
  }
  .mod-list-searchExample02> .list> li> .inner> .summary> .hdg a:hover::before,
  .mod-list-searchExample02> .list> li> .inner> .summary> .hdg a:focus::before {
    opacity: .2;
  }
  .mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .hdg a::before {
    width: 250px;
  }
  .mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .prop> .status {
    flex-wrap: nowrap;
  }
  .mod-list-searchExample02[data-layout="list"]> .list> li> .inner> .summary> .prop> .status> .price {
    white-space: nowrap;
  }
  .mod-tbl-02:not(.of-scroll)> table {
    display: table;
    border: 0;
  }
  .mod-tbl-02:not(.of-scroll)> table> caption {
    display: table-caption;
  }
  .mod-tbl-02:not(.of-scroll)> table> colgroup {
    display: table-column-group;
  }
  .mod-tbl-02:not(.of-scroll)> table> colgroup> col {
    display: table-column;
  }
  .mod-tbl-02:not(.of-scroll)> table> thead {
    display: table-header-group;
  }
  .mod-tbl-02:not(.of-scroll)> table> tbody {
    display: table-row-group;
  }
  .mod-tbl-02:not(.of-scroll)> table> tfoot {
    display: table-footer-group;
  }
  .mod-tbl-02:not(.of-scroll)> table> *> * {
    display: table-row;
  }
  .mod-tbl-02:not(.of-scroll)> table> *> *> * {
    display: table-cell;
  }
  .mod-tbl-02> table {
    table-layout: fixed;
  }
  .mod-tbl-02> table> tbody> tr> td {
    padding-left: 30px;
    border-left-width: 10px;
  }
  .mod-tbl-02> table> tbody> tr:last-child> th,
  .mod-tbl-02> table> tbody> tr:last-child> td {
    border-bottom: 1px solid #ccc;
  }
  .mod-tbl-03> table> colgroup> col:first-child {
    width: 240px;
  }
  .mod-box-description[data-col-pc]> .inner> .col.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-box-description[data-col-pc]> .inner> .col.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-box-description[data-col-pc="auto"]> .inner> .col {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-box-description[data-col-pc="2"]> .inner> .col {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-box-description[data-col-pc="3"]> .inner> .col {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-box-description[data-col-pc="4"]> .inner> .col {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-box-description[data-col-pc="5"]> .inner> .col {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-box-description[data-col-pc="6"]> .inner> .col {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-box-description> .inner> .col> .box> .head> .hdg.of-2row-pc::after {
    display: block;
    min-height: 54px;
    content: "";
  }
  .mod-box-contact> .inner {
    display: flex;
    flex-wrap: wrap;
    margin: -4px 0 -4px;
  }
  .mod-box-contact> .inner> div {
    display: flex;
    flex-direction: column;
    flex-basis: 50%;
    max-width: 50%;
    min-height: 50%;
    margin: 0;
    padding: 4px 0 0 4px;
  }
  .mod-box-contact> .inner> div> dd {
    flex-grow: 1;
  }
  .mod-box-contact> .inner> div+ div {
    margin-top: 0;
  }
  .mod-box-showRoom> .hdg {
    margin-bottom: 10px;
  }
  .mod-box-showRoom> .body {
    display: flex;
    margin: 0 0 20px -40px;
  }
  .mod-box-showRoom> .body> * {
    padding: 0 0 0 40px;
  }
  .mod-box-showRoom> .body> .detail {
    width: 100%;
  }
  .mod-box-showRoom> .body> .detail> .nearest {
    margin-bottom: 0;
  }
  .mod-box-showRoom> .body> .map img {
    max-width: none;
  }
  .mod-box-showRoom> .foot> .content> .mod-btn> .btn {
    padding-top: 0;
  }
  .mod-box-showRoom> .foot> .content> .mod-btn> .btn+ .btn {
    margin-top: 0;
  }
  .mod-pnl[data-col-pc]> .inner> .col.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-pnl[data-col-pc]> .inner> .col.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-pnl[data-col-pc="auto"]> .inner> .col {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-pnl[data-col-pc="1"]> .inner> .col {
    flex-basis: 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .mod-pnl[data-col-pc="2"]> .inner> .col {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-pnl[data-col-pc="3"]> .inner> .col {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-pnl[data-col-pc="4"]> .inner> .col {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-pnl[data-col-pc="5"]> .inner> .col {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-pnl[data-col-pc="6"]> .inner> .col {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-pnl:not(.of-mayHaveMultipleLinks)> .inner> .col> .pnl {
    transition: .2s opacity ease-out;
  }
  .mod-pnl:not(.of-mayHaveMultipleLinks)> .inner> .col> .pnl:hover {
    opacity: .7;
  }
  .mod-pnl.of-vertical-pc> .inner> .col> .pnl {
    flex-direction: row-reverse;
  }
  .mod-pnl.of-vertical-pc> .inner> .col> .pnl> .summary {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    flex-basis: 0;
    align-items: flex-start;
    justify-content: center;
  }
  .mod-pnl.of-vertical-pc> .inner> .col> .pnl> .summary> * {
    width: 100%;
  }
  .mod-pnl.of-vertical-pc> .inner> .col> .pnl> .img img {
    width: auto;
    max-width: none;
  }
  .mod-pnl-example[data-col-pc]> .inner> .col.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-pnl-example[data-col-pc]> .inner> .col.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-pnl-example[data-col-pc="auto"]> .inner> .col {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-pnl-example[data-col-pc="2"]> .inner> .col {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-pnl-example[data-col-pc="3"]> .inner> .col {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-pnl-example[data-col-pc="4"]> .inner> .col {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-pnl-example[data-col-pc="5"]> .inner> .col {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-pnl-example[data-col-pc="6"]> .inner> .col {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row {
    display: -ms-grid;
    display:     grid;
    width: calc(100% + 4px);
    margin: 0 0 0 -4px;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row> .col {
    margin: 4px 0 0 4px;

    -ms-grid-row: 1;
        grid-row: 1;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row> .col:nth-child(1) {
    -ms-grid-column: 1;
        grid-column: 1;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row> .col:nth-child(2) {
    -ms-grid-column: 2;
        grid-column: 2;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row> .col:nth-child(3) {
    -ms-grid-column: 3;
        grid-column: 3;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row> .col:nth-child(4) {
    -ms-grid-column: 4;
        grid-column: 4;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x1"] {
    -ms-grid-columns: .5fr .5fr;
    grid-template-columns: .5fr .5fr;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x1"]> .col> .pnl> .summary {
    font-size: 1.8rem;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="3:"] {
    -ms-grid-columns: .333333fr .333333fr .333333fr;
    grid-template-columns: .333333fr .333333fr .333333fr;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="4:"] {
    -ms-grid-columns: .25fr .25fr .25fr .25fr;
    grid-template-columns: .25fr .25fr .25fr .25fr;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x4"] {
    -ms-grid-columns: .5fr .25fr .25fr;
    grid-template-columns: .5fr .25fr .25fr;
    -ms-grid-rows: .5fr .5fr;
    grid-template-rows: .5fr .5fr;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x4"]> .col:nth-child(1) {
    -ms-grid-column: 1;
        grid-column: 1;
    -ms-grid-row: 1;
        grid-row: 1 / -1;
    -ms-grid-row-span: 2;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x4"]> .col:nth-child(1)> .pnl> .summary {
    font-size: 1.8rem;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x4"]> .col:nth-child(2),
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x4"]> .col:nth-child(3) {
    -ms-grid-row: 1;
        grid-row: 1;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x4"]> .col:nth-child(4),
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x4"]> .col:nth-child(5) {
    -ms-grid-row: 2;
        grid-row: 2;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x4"]> .col:nth-child(2),
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x4"]> .col:nth-child(4) {
    -ms-grid-column: 2;
        grid-column: 2;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x4"]> .col:nth-child(3),
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:1x4"]> .col:nth-child(5) {
    -ms-grid-column: 3;
        grid-column: 3;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:4x1"] {
    -ms-grid-columns: .25fr .25fr .5fr;
    grid-template-columns: .25fr .25fr .5fr;
    -ms-grid-rows: .5fr .5fr;
    grid-template-rows: .5fr .5fr;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:4x1"]> .col:last-child {
    -ms-grid-column: 3;
        grid-column: 3;
    -ms-grid-row: 1;
        grid-row: 1 / -1;
    -ms-grid-row-span: 2;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:4x1"]> .col:last-child> .pnl> .summary {
    font-size: 1.8rem;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:4x1"]> .col:nth-child(1),
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:4x1"]> .col:nth-child(2) {
    -ms-grid-row: 1;
        grid-row: 1;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:4x1"]> .col:nth-child(3),
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:4x1"]> .col:nth-child(4) {
    -ms-grid-row: 2;
        grid-row: 2;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:4x1"]> .col:nth-child(1),
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:4x1"]> .col:nth-child(3) {
    -ms-grid-column: 1;
        grid-column: 1;
  }
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:4x1"]> .col:nth-child(2),
  .mod-pnl-example:not(.js-pnl-lyt):not([data-col])> .inner> .row[data-layout-pc^="2:4x1"]> .col:nth-child(4) {
    -ms-grid-column: 2;
        grid-column: 2;
  }
  .mod-pnl-example.js-pnl-lyt> .inner .col {
    max-width: 50%;
  }
  .mod-pnl-example[data-col-pc]> .inner {
    display: flex;
    flex-wrap: wrap;
    width: auto;
    margin: -4px 0 0 -4px;
  }
  .mod-pnl-example[data-col-pc]> .inner> .col {
    margin-bottom: 0;
    padding: 4px 0 0 4px;
  }
  .mod-lyt[data-col-pc]> .inner> .col.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-lyt[data-col-pc]> .inner> .col.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-lyt[data-col-pc="auto"]> .inner> .col {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-lyt[data-col-pc="2"]> .inner> .col {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-lyt[data-col-pc="3"]> .inner> .col {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-lyt[data-col-pc="4"]> .inner> .col {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-lyt[data-col-pc="5"]> .inner> .col {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-lyt[data-col-pc="6"]> .inner> .col {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-lyt.var-02[data-col-pc]> .inner> .col::before {
    display: none;
  }
  .mod-lyt.var-02[data-col-pc="2"]> .inner> .col:not(:nth-child(2n+1))::before {
    display: block;
  }
  .mod-lyt.var-02[data-col-pc="3"]> .inner> .col:not(:nth-child(3n+1))::before {
    display: block;
  }
  .mod-lyt.var-02[data-col-pc="4"]> .inner> .col:not(:nth-child(4n+1))::before {
    display: block;
  }
  .mod-lyt.var-02[data-col-pc="4"]> .inner> .col:not(:nth-child(4n+1))::before {
    display: block;
  }
  .mod-lyt.var-02[data-col-pc="5"]> .inner> .col:not(:nth-child(5n+1))::before {
    display: block;
  }
  .mod-lyt.var-02[data-col-pc="6"]> .inner> .col:not(:nth-child(6n+1))::before {
    display: block;
  }
  .mod-lyt-exampleDetail> .inner {
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: space-between;
  }
  .mod-lyt-exampleDetail> .inner> .content {
    flex-grow: 1;
    flex-basis: 44%;
    max-width: 420px;
    padding: 0 0 0 40px;
  }
  .mod-lyt-exampleDetail> .inner> .media {
    overflow: hidden;
    flex-grow: 1;
    flex-basis: 56%;
    max-width: 540px;
    margin: 0;
  }
  .mod-lyt-exampleDetail> .inner> .media> .wrap {
    position: relative;
    width: 100%;
    height: auto;
    padding: 75% 0 0;
    border: 1px solid #ccc;
  }
  .mod-lyt-exampleDetail> .inner> .media> .wrap> span {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
  .mod-lyt-exampleDetail> .inner> .media> .wrap> span img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    transform: translate(-50%, -50%);
  }
  .mod-lyt-exampleDetail.var-02> .inner> .content {
    flex-basis: 51.05%;
    max-width: 490px;
  }
  .mod-lyt-exampleDetail.var-02> .inner> .media {
    flex-basis: 48.95%;
    max-width: 470px;
  }
  .mod-lyt-exampleDetail.var-02> .inner> .media> .wrap {
    padding-top: calc(100% - 2px);
  }
  .mod-lyt-exampleDetail.var-02> .inner> .media> .wrap> span {
    height: auto;
  }
  .mod-lyt-reformFlowGrid> .inner> .row {
    position: relative;
    display: -ms-grid;
    display:     grid;
    width: calc(100% + 4px);
    transform: translate(-4px, -4px);

    -ms-grid-columns: 25% 25% 25% 25%;
    grid-template-columns: 25% 25% 25% 25%;
    -ms-grid-rows: auto auto auto auto auto;
    grid-template-rows: auto auto auto auto auto;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> div {
    margin: 4px 0 0 4px !important;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> .day {
    -ms-grid-row: 1;
        grid-row: 1;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> .summary {
    -ms-grid-row: 2;
        grid-row: 2;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> .media {
    -ms-grid-row: 3;
        grid-row: 3;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> .detail {
    display: flex;

    -ms-grid-row: 4;
        grid-row: 4;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> .detail> .col {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    flex-basis: 100%;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .state {
    flex-grow: 1;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data {
    max-width: 197px;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> .content {
    padding: 20px 0 0;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> .content> *:first-child {
    margin-top: 0;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> .data> .content> *:last-child {
    margin-bottom: 0;
  }
  .mod-lyt-reformFlowGrid> .inner> .row> .detail> .col> *.js-adjust-height-item {
    flex-grow: 0;
  }
  .mod-lyt-reformFlowGrid> .inner> .row+ .row {
    margin-top: 80px;
  }
  .mod-form-checkbox[data-col-pc]> .list> li.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-form-checkbox[data-col-pc]> .list> li.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-form-checkbox[data-col-pc="auto"]> .list> li {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-form-checkbox[data-col-pc="2"]> .list> li {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-form-checkbox[data-col-pc="3"]> .list> li {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-form-checkbox[data-col-pc="4"]> .list> li {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-form-checkbox[data-col-pc="5"]> .list> li {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-form-checkbox[data-col-pc="6"]> .list> li {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-form-radio[data-col-pc]> .list> li.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-form-radio[data-col-pc]> .list> li.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-form-radio[data-col-pc="auto"]> .list> li {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-form-radio[data-col-pc="2"]> .list> li {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-form-radio[data-col-pc="3"]> .list> li {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-form-radio[data-col-pc="4"]> .list> li {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-form-radio[data-col-pc="5"]> .list> li {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-form-radio[data-col-pc="6"]> .list> li {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-form-choiceImage[data-col-pc]> .list> li.of-full {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
  .mod-form-choiceImage[data-col-pc]> .list> li.of-fillIn {
    flex-grow: 1;
    flex-basis: auto;
    width: auto;
    max-width: none;
  }
  .mod-form-choiceImage[data-col-pc="auto"]> .list> li {
    flex-basis: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .mod-form-choiceImage[data-col-pc="2"]> .list> li {
    flex-basis: 50%;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
  }
  .mod-form-choiceImage[data-col-pc="3"]> .list> li {
    flex-basis: 33.33333%;
    width: 33.33333%;
    min-width: 33.33333%;
    max-width: 33.33333%;
  }
  .mod-form-choiceImage[data-col-pc="4"]> .list> li {
    flex-basis: 25%;
    width: 25%;
    min-width: 25%;
    max-width: 25%;
  }
  .mod-form-choiceImage[data-col-pc="5"]> .list> li {
    flex-basis: 20%;
    width: 20%;
    min-width: 20%;
    max-width: 20%;
  }
  .mod-form-choiceImage[data-col-pc="6"]> .list> li {
    flex-basis: 16.66667%;
    width: 16.66667%;
    min-width: 16.66667%;
    max-width: 16.66667%;
  }
  .mod-form-choiceImage[data-col="auto"]> .list {
    justify-content: flex-start;
  }
  .mod-form-choiceImage[data-col-pc="auto"]> .list {
    justify-content: center;
  }
  .mod-form-fieldset> .inner> .group> .label {
    float: left;
    width: 16.6%;
    margin-bottom: 0;
    padding-left: 0;
  }
  .mod-form-fieldset> .inner> .group> .content {
    float: right;
    width: 83.4%;
    padding: 0 0 0 21px;
  }
  .mod-form-fieldset.var-03> .inner> .group> .label {
    width: 113px;
    padding: 0 10px 0 0;
  }
  .mod-form-fieldset.var-03> .inner> .group> .label> .required {
    position: relative;
    top: -1px;
  }
  .mod-form-fieldset.var-03> .inner> .group> .label+ .content {
    width: calc(100% - 113px);
    padding-left: 0;
  }
  .mod-form-searchControl> .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .mod-form-searchControl> .inner> .pager {
    margin: 0;
  }
  .mod-form-searchControl> .inner> .pager:not(:first-child) {
    flex-basis: 453px;
    max-width: 453px;
  }
  .mod-form-searchControl> .inner> .pager> .list {
    justify-content: flex-end;
  }
  .mod-form-searchControl> .inner> .pager a[href] {
    transition: .2s background ease-out;
  }
  .mod-form-searchControl> .inner> .pager a[href]:hover {
    background: #f7f7f7;
  }
  .mod-form-searchControl> .inner .adjust a[href] {
    transition: .2s opacity ease-out;
  }
  .mod-form-searchControl> .inner .adjust a[href]:hover {
    opacity: .7;
  }
  .mod-media-lyt> .inner {
    flex-direction: row-reverse;
    align-items: flex-start;
  }
  .mod-media-lyt> .inner> .content> *:first-child,
  .mod-media-lyt> .inner> .media> *:first-child {
    margin-top: 0;
  }
  .mod-media-lyt> .inner> .content> *:last-child,
  .mod-media-lyt> .inner> .media> *:last-child {
    margin-bottom: 0;
  }
  .mod-media-lyt> .inner> .media {
    width: auto;
  }
  .mod-media-lyt.of-reverse> .inner {
    flex-direction: row-reverse;
  }
  .mod-media-lyt.of-reverse-pc> .inner {
    flex-direction: row;
  }
  .mod-media-lyt.of-reverse-pc> .inner> .media> .mod-media {
    align-items: flex-start;
  }
  .mod-media-lyt.align-middle> .inner {
    align-items: center;
  }
  .mod-media-lyt.align-bottom> .inner {
    align-items: flex-end;
  }
  .mod-media-lyt .mod-media> .inner img {
    max-width: none;
  }
  .mod-media-beforeAfter:not(.of-noBreak)> .inner {
    display: flex;
    justify-content: center;
    margin: 0 0 0 -59px;
  }
  .mod-media-beforeAfter:not(.of-noBreak)> .inner> * {
    margin: 0;
    padding: 0 0 0 59px;
  }
  .mod-media-beforeAfter:not(.of-noBreak)> .inner> .before {
    max-width: 439px;
  }
  .mod-media-beforeAfter:not(.of-noBreak)> .inner> .after {
    max-width: 579px;
  }
  .mod-media-beforeAfter:not(.of-noBreak)> .inner> .after> .media::before {
    top: 0;
    right: 100%;
    bottom: 0;
    left: auto;
    margin: auto 1px auto 0;
    border: solid transparent;
    border-width: 24px 18px;
    border-left-color: #e3eecc;
  }
  .mod-media-beforeAfter:not(.of-noBreak)[data-layout-pc="1:1"]> .inner> .before,
  .mod-media-beforeAfter:not(.of-noBreak)[data-layout-pc="1:1"]> .inner> .after {
    max-width: 50%;
  }
  .mod-media-beforeAfter:not(.of-noBreak)[data-layout-pc="1:2"]> .inner> .before {
    max-width: 33.3333%;
  }
  .mod-media-beforeAfter:not(.of-noBreak)[data-layout-pc="1:2"]> .inner> .after {
    max-width: 66.6666%;
  }
  .mod-other-detailUtility> .inner> .btn> [class$="list"] a {
    transition: .2s opacity ease-out;
  }
  .mod-other-detailUtility> .inner> .btn> [class$="list"] a:hover,
  .mod-other-detailUtility> .inner> .btn> [class$="list"] a:focus {
    opacity: .7;
  }
  html[data-script-enabled="true"] .js-tgl> .tgl-hook {
    transition: .2s opacity ease-out;
  }
  html[data-script-enabled="true"] .js-tgl> .tgl-hook:hover {
    opacity: .7;
  }
  .mod-tgl-faq.js-tgl> .tgl-hook:hover {
    background: #f7f7f7;
  }
  .mod-accordion-faq.js-accordion> .list> div> dt:hover {
    background: #f7f7f7;
  }
  html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-inner {
    min-width: 500px;
  }
  html[data-script-enabled="true"] .func-modal> .modal-wrapper> .modal-inner .mod-modal-content {
    padding: 50px;
  }
  .mod-tgl-searchSetting> .tgl-panel> .inner {
    padding-right: 30px;
    padding-left: 30px;
  }
  .mod-graph.js-graph {
    display: flex;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph {
    margin-top: -50px;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph> table {
    display: none;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-scale {
    font-size: 14px;
    text-align: right;
    position: relative;
    top: 38px;
    flex-direction: column-reverse;
    height: 324px;
    margin: 0;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-scale div {
    padding: 0 12px 0 11px;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-scale div:not(:first-child)::before {
    background: #ccc;
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 100%;
    display: block;
    width: 100vw;
    height: 1px;
    margin: auto 0;
    content: "";
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table {
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    flex-grow: 1;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table> div {
    overflow: hidden;
    padding-top: 50px;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table {
    table-layout: fixed;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table thead {
    position: static;
    display: table-footer-group;
    width: auto;
    height: auto;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table thead th {
    text-align: center;
    word-break: break-all;
    padding: 11px 10px 0;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td {
    text-align: center;
    vertical-align: bottom;
    height: 300px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #999;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td:first-child {
    border-left: 1px solid #999;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span {
    flex-direction: column;
    height: 100%;
    margin: 0 20px;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span> span:first-child {
    height: 23px;
    margin: 0 0 5px;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check {
    position: relative;
    width: 50px !important;
    min-height: auto;
    max-height: none;
    margin: 0;
    transition: .5s height ease-out, .2s background ease-out;
    outline: 0;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check::before,
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check::after {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 100%;
    left: 0;
    display: block;
    width: 0;
    content: "";
    border: solid transparent;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check::before {
    z-index: 3;
    margin: 0 auto 34px;
    border-width: 3px 5px 0 5px;
    border-top-color: #fff;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check::after {
    z-index: 2;
    margin: 0 auto 33px;
    transition: .2s opacity ease-out;
    border-width: 4px 6px 0 6px;
    border-top-color: #000;
    opacity: 0;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check span {
    font-weight: bold;
    text-align: center;
    pointer-events: none;
    color: #414141;
    background: #fff;
    z-index: 1;
    bottom: 100%;
    left: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 40px;
    margin: 0 0 36px;
    padding: 0 20px;
    transition: .2s opacity ease-out;
    transform: translateX(-50%);
    border: 1px solid #414141;
    border-radius: 4px;
    opacity: 0;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check span::after {
    position: relative;
    top: 0;
    display: inline-block;
    min-width: 10px;
    height: 10px;
    margin: 0 0 0 3px;
    content: "";
    transform: rotate(45deg);
    border: 2px solid #30b653;
    border-width: 2px 2px 0 0;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check:hover,
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check:focus {
    background: #30b552;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check:hover::after,
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check:focus::after {
    opacity: 1;
  }
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check:hover span,
  html[data-script-enabled="true"] .mod-graph.js-graph .func-table table tbody td> span .check:focus span {
    pointer-events: auto;
    opacity: 1;
  }
  .pc-hide {
    display: none !important;
  }
  .comp-box-contact> .inner {
    display: flex;
    align-items: center;
    padding-right: 39px;
    padding-left: 39px;
  }
  .comp-box-contact> .inner> * {
    margin: 0;
  }
  .comp-box-contact> .inner> *:not(:last-child) {
    padding-right: 41px;
  }
  .comp-box-contact> .inner> *:not(:first-child) {
    padding-left: 41px;
  }
  .comp-box-contact> .inner> *:not(:first-child)::before {
    background: #ccc;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 1px;
    height: 100%;
    margin: auto 0;
    content: "";
  }
  .comp-box-contact> .inner> *> .lyt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
  .comp-box-contact> .inner> *> .lyt> .lede {
    margin-bottom: 0;
  }
  .comp-box-contact> .inner> .form {
    flex-basis: 56%;
    min-width: 56%;
    max-width: 56%;
  }
  .comp-box-contact> .inner> .form> .lyt> .lede {
    padding-right: 20px;
  }
  .comp-box-contact> .inner> .form .mod-link {
    padding-left: 100px;
  }
  .comp-box-contact> .inner> .tel {
    flex-basis: 44%;
    min-width: 44%;
    max-width: 44%;
  }
  .comp-box-contact> .inner> .tel .number {
    text-align: right;
  }
  .comp-form-singleTextFieldWithSubmit> .inner {
    display: flex;
    align-items: flex-end;
  }
  .comp-form-singleTextFieldWithSubmit .mod-btn {
    width: 140px;
  }
  .comp-form-search> .inner> .scale-or-part {
    display: flex;
    padding: 30px 0 19px;
  }
  .comp-form-search> .inner> .scale-or-part> .room,
  .comp-form-search> .inner> .scale-or-part> .home {
    display: flex;
    padding: 0;
  }
  .comp-form-search> .inner> .scale-or-part> .room> .logo,
  .comp-form-search> .inner> .scale-or-part> .home> .logo {
    flex-grow: 1;
    flex-basis: 100%;
    min-width: 200px;
    max-width: 200px;
  }
  .comp-form-search> .inner> .scale-or-part> .room> .logo img,
  .comp-form-search> .inner> .scale-or-part> .home> .logo img {
    min-width: 100px;
  }
  .comp-form-search> .inner> .scale-or-part> .room> .content,
  .comp-form-search> .inner> .scale-or-part> .home> .content {
    max-width: calc(100% - 200px);
    padding: 0 33px 0 0;
  }
  .comp-form-search> .inner> .scale-or-part> .room {
    flex-grow: 1;
  }
  .comp-form-search> .inner> .scale-or-part> .home {
    flex-basis: 62%;
    max-width: 62%;
    margin-top: 0;
    border-top: 0;
    border-left: 1px solid #ccc;
  }
  .comp-form-search> .inner> .submit {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 0;
  }
  .comp-form-search> .inner> .submit> .result,
  .comp-form-search> .inner> .submit> .mod-btn,
  .comp-form-search> .inner> .submit::after {
    flex-basis: 33.3333%;
    max-width: 33.3333%;
  }
  .comp-form-shopSearchControl> .pager {
    float: right;
  }
  .comp-form-shopSearchControl> .contact {
    float: left;
  }
  .comp-form-filterControl> .inner> .hdg {
    margin-bottom: 40px;
  }
  .comp-form-filterControl> .inner> .form> .row> legend {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 0;
    float: left;
    width: 140px;
    transform: translateY(-50%);
  }
  .comp-form-filterControl> .inner> .form> .row> .content {
    margin: 0 0 0 150px;
    padding: 15px 20px;
    border: 0;
    border-top: 1px solid #ccc;
  }
  .comp-form-filterControl> .inner> .form> .row> .content::before,
  .comp-form-filterControl> .inner> .form> .row> .content::after {
    background: #ccc;
    position: absolute;
    left: 0;
    display: block;
    width: 140px;
    height: 1px;
  }
  .comp-form-filterControl> .inner> .form> .row> .content::before {
    top: 0;
    content: "";
  }
  .comp-form-filterControl> .inner> .form> .row:last-child> .content {
    border-bottom: 1px solid #ccc;
  }
  .comp-form-filterControl> .inner> .form> .row:last-child> .content::after {
    bottom: 0;
    content: "";
  }
  .comp-form-choiceShop> .inner> .item {
    display: -ms-grid;
    display:     grid;

    -ms-grid-columns: 60px 1fr;
    grid-template-columns: 60px 1fr;
    -ms-grid-rows: auto auto auto;
    grid-template-rows: auto auto auto;
  }
  .comp-form-choiceShop> .inner> .item> .head,
  .comp-form-choiceShop> .inner> .item> .body,
  .comp-form-choiceShop> .inner> .item> .foot {
    -ms-grid-column: 2;
        grid-column: 2;
  }
  .comp-form-choiceShop> .inner> .item> .head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    -ms-grid-row: 1;
        grid-row: 1;
  }
  .comp-form-choiceShop> .inner> .item> .head .address {
    flex-grow: 1;
    margin-bottom: 0;
  }
  .comp-form-choiceShop> .inner> .item> .head .tel {
    text-align: right;
    white-space: nowrap;
  }
  .comp-form-choiceShop> .inner> .item> .checkbox {
    background: #e3eecc;
    display: flex;
    justify-content: center;

        grid-row: 1 / -1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 4;
    -ms-grid-column: 1;
        grid-column: 1;
  }
  .comp-form-choiceShop> .inner> .item> .checkbox label {
    text-align: center;
    width: 100%;
    padding: 30px 0 0;
  }
  .comp-form-choiceShop> .inner> .item> .checkbox label span {
        -ms-writing-mode: tb-rl;
    white-space: nowrap;
    display: inline-block;
    padding: 30px 0 0;

    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
  }
  .comp-form-choiceShop> .inner> .item> .checkbox label span::before,
  .comp-form-choiceShop> .inner> .item> .checkbox label span::after {
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  .comp-form-choiceShop> .inner> .item> .checkbox label span::before {
    top: 0;
  }
  html[data-browser-trident="true"] .comp-form-choiceShop> .inner> .item> .checkbox label span::before {
    left: 2px;
  }
  .comp-form-choiceShop> .inner> .item> .checkbox label span::after {
    top: 2px;
  }
  html[data-browser-trident="true"] .comp-form-choiceShop> .inner> .item> .checkbox label span::after {
    top: 0;
    left: 8px;
  }
  .comp-form-choiceShop> .inner> .item> .body {
    -ms-grid-row: 2;
        grid-row: 2;
  }
  .comp-form-choiceShop> .inner> .item> .body> .description {
    display: flex;
  }
  .comp-form-choiceShop> .inner> .item> .body> .description> .img {
    flex-basis: 240px;
    min-width: 240px;
    max-width: 240px;
    margin-bottom: 0;
    padding: 2px 0 0;
  }
  .comp-form-choiceShop> .inner> .item> .body> .description> .summary {
    width: calc(100% - 240px);
    padding: 0 0 0 30px;
  }
  .comp-form-choiceShop> .inner> .item> .body> .description> .summary> .feature li {
    flex-basis: 25%;
    max-width: 25%;
  }
  .comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div {
    display: flex;
  }
  .comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div> dt {
    white-space: nowrap;
    border-right: 1px solid #ccc;
  }
  .comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div> dd {
    width: 100%;
  }
  .comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div> dd .list> li {
    flex-grow: 1;
  }
  .comp-form-choiceShop> .inner> .item> .body> .description> .summary> .support> div> dd .list> li:only-child {
    flex-grow: 0;
  }
  .comp-form-choiceShop> .inner> .item> .foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: -10px 0 0 -4px;

    -ms-grid-row: 3;
        grid-row: 3;
  }
  .comp-form-choiceShop> .inner> .item> .foot> * {
    padding: 10px 0 0 4px;
  }
  .comp-form-choiceShop> .inner> .item> .foot> .utility {
    flex-direction: row;
    margin-top: -4px;
  }
  .comp-form-choiceShop> .inner> .item> .foot> .utility> .btn {
    padding-top: 4px;
  }
  .comp-form-choiceShop .mod-tbl-02 {
    margin-top: 18px;
  }
  .comp-form-choiceShop .mod-tbl-02> table> tbody> tr> td {
    padding-right: 5px;
    padding-left: 5px;
    border-left-color: #f0f1f2;
  }
  .comp-lyt-compareBtn {
    display: flex;
    justify-content: flex-end;
  }
  .comp-lyt-compareBtn> .col:first-child {
    width: calc(100% - 420px);
  }
}

@media screen and (min-width: 940px), print {
  .mod-list-step.var-02:not([data-col-pc]) li {
    flex-basis: auto;
    max-width: none;
  }
}

@media screen and (min-width: 1200px), print {
  .str-mainvisual::after {
    min-height: 150px;
  }
}

@media screen and (max-width: 769px) {
  .sp-hide {
    display: none !important;
  }
}

@media print {
  .comp-form-choiceShop> .inner> .item> .checkbox {
    display: block;
  }
  .comp-form-choiceShop> .inner> .item> .checkbox input {
    display: none;
  }
  body> header,
  body> footer,
  [class^="nav-"],
  [class^="site-header"],
  [class^="site-footer"],
  #f-btn,
  #sns {
    position: static !important;
    display: none !important;
  }
  .js-adjust-height-item {
    height: auto !important;
  }
}
