@charset "UTF-8";
/* ベース部分 */
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

html {
  height: 100%;
}

body, input, textarea, td, th {
  color: #030001;
  /* ゴシック */
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
}

body, input, textarea {
  background-color: #fff;
}

input[type=checkbox], input[type=radio] {
  background-color: inherit;
}

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  overflow: hidden;
  text-size-adjust: 100%;
}

body > img[id^=Vesicomyid] {
  display: none;
}

a,
a:hover,
a img,
a:hover img {
  -webkit-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}

a.op:not(.lnk_no_opacity):hover img,
a:not(.lnk_no_opacity):hover img,
#sSubmit:hover {
  filter: alpha(opacity=80);
  opacity: 0.8;
}

a {
  color: #4da6ff;
  text-decoration: none;
}

a:visited {
  color: #4da6ff;
}

a:hover {
  color: #006dd9;
  text-decoration: underline;
  filter: alpha(opacity=80);
  opacity: 0.8;
}

a.lnk_no_txt_dec:hover, .single_post_link a {
  text-decoration: none;
}

a.lnk_no_opacity:hover {
  filter: alpha(opacity=100);
  opacity: 1;
}

a.lnk_color_inherit, .lnk_color_inherit a {
  color: inherit;
}

a:active {
  color: #4da6ff;
  text-decoration: none;
}

a:focus {
  outline: none;
}

/* 電話番号のリンクイベント */
a[href^="tel:"] {
  word-break: keep-all;
  pointer-events: none;
}

[data-anchor] {
  cursor: pointer;
}

/*res start　481px*/
/*res end 481px*/
input[type=submit],
input[type=button] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

em {
  font-style: normal;
  font-weight: bold;
}

strong {
  font-style: normal;
  font-weight: bold;
}

img {
  -webkit-backface-visibility: hidden;
  max-width: 100%;
  height: auto;
  backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}

body#tinymce {
  padding: 10px;
  background: none;
  background-color: #FFF;
  background-image: none;
}

#tinymce .alignleft,
#tinymce img.alignleft,
.section .alignleft,
.section img.alignleft {
  margin-top: 4px;
  margin-right: 24px;
  float: left;
}

#tinymce .alignright,
#tinymce img.alignright,
.section .alignright,
.section img.alignright {
  margin-top: 4px;
  margin-left: 24px;
  float: right;
}

#tinymce .aligncenter,
#tinymce img.aligncenter,
.section .aligncenter,
.section img.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
  clear: both;
}

#tinymce img.alignleft,
#tinymce img.alignright,
#tinymce img.aligncenter,
.section img.alignleft,
.section img.alignright,
.section img.aligncenter {
  margin-bottom: 12px;
}

#tinymce ul:not([class]) li,
.section ul:not([class]) li {
  margin-bottom: 8px;
  margin-left: 20px;
  line-height: 1.3;
  list-style: disc;
}

#tinymce ul[class] li,
.section ul[class] li {
  list-style: none;
}

#tinymce ol:not([class]) li,
.section ol:not([class]) li {
  margin-bottom: 8px;
  margin-left: 25px;
  line-height: 1.3;
  list-style: decimal;
}

/* --------------------------------------------
   【topics】
-------------------------------------------- */
.section_topics {
  margin: 1em 0;
  padding: 1em;
}

.topics_container {
  margin: 0 -0.5em;
}

.topics_item {
  padding: 0 0.5em;
}
.topics_content_date {
  color: #666;
  font-size: 0.8em;
}

.topics_content_title {
  margin: 0.5em 0;
  font-size: 1.2em;
}

.topics_content_txt {
  word-break: break-all;
}

/* --------------------------------------------
   【sidebar】
-------------------------------------------- */
/* --------------------------------------------
   共通パーツ
-------------------------------------------- */
/* ユーティリティ・レイアウト等 */
/* ---------------------------------------------------------
   【レイアウト】
--------------------------------------------------------- */
.widthBase {
  width: 1100px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 0 10px;
}

.wrap_reset {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

.section_base {
  width: 100%;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.widthHalf {
  width: 50%;
}

.width4Half {
  width: 25%;
}

.center {
  text-align: center !important;
}

.right {
  text-align: right !important;
}

.left {
  text-align: left !important;
}

.top {
  vertical-align: top !important;
}

.bottom {
  vertical-align: bottom !important;
}

.grid_container {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.grid_1,
.grid_2,
.grid_2-4,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11 {
  margin-right: 2.8571428571%;
}

.gm_small .grid_1,
.gm_small .grid_2,
.gm_small .grid_2-4,
.gm_small .grid_3,
.gm_small .grid_4,
.gm_small .grid_5,
.gm_small .grid_6,
.gm_small .grid_7,
.gm_small .grid_8,
.gm_small .grid_9,
.gm_small .grid_10,
.gm_small .grid_11 {
  margin-right: 1.4084507042%;
}

.grid_1 img,
.grid_2 img,
.grid_2-4 img,
.grid_3 img,
.grid_4 img,
.grid_5 img,
.grid_6 img,
.grid_7 img,
.grid_8 img,
.grid_9 img,
.grid_10 img,
.grid_11 img {
  max-width: 100%;
  height: auto;
}

.grid_1:last-child,
.grid_2:last-child,
.grid_2-4:last-child,
.grid_3:last-child,
.grid_4:last-child,
.grid_5:last-child,
.grid_6:last-child,
.grid_7:last-child,
.grid_8:last-child,
.grid_9:last-child,
.grid_10:last-child,
.grid_11:last-child {
  margin-right: 0;
}

.col2:nth-child(even),
.col3:nth-of-type(3n),
.col4:nth-of-type(4n),
.col5:nth-of-type(5n),
.col6:nth-of-type(6n),
.col7:nth-of-type(7n),
.col8:nth-of-type(8n) {
  margin-right: 0;
}

.grid_1 {
  width: 5.7142857143%;
}

.grid_2 {
  width: 14.2857142857%;
}

.grid_2-4 {
  width: 17.7142857143%;
}

.grid_3 {
  width: 22.8571428571%;
}

.grid_4 {
  width: 31.4285714286%;
}

.grid_5 {
  width: 40%;
}

.grid_6 {
  width: 48.5714285714%;
}

.grid_7 {
  width: 57.1428571429%;
}

.grid_8 {
  width: 65.7142857143%;
}

.grid_9 {
  width: 74.2857142857%;
}

.grid_10 {
  width: 82.8571428571%;
}

.grid_11 {
  width: 91.4285714286%;
}

.grid_12 {
  width: 100%;
}

.gm_small .grid_1 {
  width: 7.0422535211%;
}

.gm_small .grid_2 {
  width: 15.4929577465%;
}

.gm_small .grid_2-4 {
  width: 18.8732394366%;
}

.gm_small .grid_3 {
  width: 23.9436619718%;
}

.gm_small .grid_4 {
  width: 32.3943661972%;
}

.gm_small .grid_5 {
  width: 40.8450704225%;
}

.gm_small .grid_6 {
  width: 49.2957746479%;
}

.gm_small .grid_7 {
  width: 57.7464788732%;
}

.gm_small .grid_8 {
  width: 66.1971830986%;
}

.gm_small .grid_9 {
  width: 74.6478873239%;
}

.gm_small .grid_10 {
  width: 83.0985915493%;
}

.gm_small .grid_11 {
  width: 91.5492957746%;
}

.block_1 img,
.block_2 img,
.block_2-4 img,
.block_3 img,
.block_4 img,
.block_5 img,
.block_6 img,
.block_7 img,
.block_8 img,
.block_9 img,
.block_10 img,
.block_11 img {
  max-width: 100%;
  height: auto;
}

.block_1 {
  width: 8.333%;
}

.block_2 {
  width: 16.666%;
}

.block_2-4 {
  width: 20%;
}

.block_3 {
  width: 25%;
}

.block_4 {
  width: 33.333%;
}

.block_5 {
  width: 41.665%;
}

.block_6 {
  width: 50%;
}

.block_7 {
  width: 58.331%;
}

.block_8 {
  width: 66.666%;
}

.block_9 {
  width: 75%;
}

.block_10 {
  width: 83.33%;
}

.block_11 {
  width: 91.663%;
}

.block_12 {
  width: 100%;
}

.nav_block li {
  float: left;
}

.nav_block a {
  display: block;
}

.nav_block_3 {
  width: 33.3333333333%;
  width: 320px;
}

.nav_block_4 {
  width: 25%;
  width: 240px;
}

.nav_block_5 {
  width: 20%;
  width: 192px;
}

.nav_block_6 {
  width: 16.6666666667%;
  width: 160px;
}

.nav_block_7 {
  width: 14.2708333333%;
  width: 137px;
}

.nav_block_7:last-child {
  width: 14.375%;
  width: 138px;
}

.nav_block_8 {
  width: 12.5%;
  width: 120px;
}

.tab {
  display: none;
}

.tab_over_ib {
  display: inline-block;
}

.tab_und {
  display: none;
}

.tab_ib {
  display: none;
}

.tab_und_ib {
  display: none;
}

.tab_hide_ib {
  display: inline-block;
}

.sp {
  display: none;
}

.sp_ib {
  display: none;
}

.d-b {
  display: block;
}

.d-ib {
  display: inline-block;
}

.va-t {
  vertical-align: top;
}

.va-m {
  vertical-align: middle;
}

.va-b {
  vertical-align: bottom;
}

/* d-ibの親にセットすることで隙間を消す */
.ib-nospace {
  font-size: 0;
}

/* 上記の指定により文字が消滅するのを防ぐ */
.ib-nospace > * {
  font-size: 1rem;
}

.mxw-100per {
  max-width: 100%;
}

.mxh-100per {
  max-height: 100%;
}

/* ---------------------------------------------------------
   【utility】
--------------------------------------------------------- */
/* （親）フレックスボックス基本設定 */
.u-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* （親）上から下へ垂直方向に配置 */
.u-flex-fdc {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* （親）右から左に配置 */
.u-flex-fdrr {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* （親）横複数行に配置 */
.u-flex-fww {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/* （親）親要素の高さいっぱいに配置 */
.u-flex-ais {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  height: auto;
}

/* （親）クロス軸の中央に配置 */
.u-flex-aic {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/* （親）クロス軸の最後に配置 */
.u-flex-aife {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

/* （親）中央に配置 */
.u-flex-jcc {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* （親）等間隔に配置 */
.u-flex-jcsa {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

/* （親）最初と最後のアイテムは端に、残りは等間隔で配置 */
.u-flex-jcsb {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

/* （親）最後に配置 */
.u-flex-jcfe {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

/* フリーのポジティブなスペースがある場合に
flexアイテムが他のflexアイテムと比較してどのくらいの大きさになるかを指定 */
.u-flex-item-fg-1 {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

/* 最初のメインとなるサイズを元に、幅と高さのプロパティを同じ値に */
.u-flex-item-fb-full {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%;
}

.u-flex-item-fb-25p {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  max-width: 25%;
}

.u-flex-item-fb-one-thirds {
  -ms-flex-preferred-size: 33.3%;
  flex-basis: 33.3%;
  max-width: 33.3%;
}

.u-flex-item-fb-half {
  -ms-flex-preferred-size: 49%;
  flex-basis: 49%;
  max-width: 49%;
}

.flex-row {
  margin-right: -15px;
  margin-left: -15px;
}

.flex-row > .flex-item {
  padding-right: 15px;
  padding-left: 15px;
}

.flex-row._small {
  margin-right: -10px;
  margin-left: -10px;
}

.flex-row._small > .flex-item {
  padding-right: 10px;
  padding-left: 10px;
}

/* iframeに自動振り分けされるクラス */
.u-obj-box {
  position: relative;
  max-width: 100%;
  height: 0;
  padding-top: 40%;
  overflow: hidden;
  background-color: #222;
}

.u-obj-box video,
.u-obj-box object,
.u-obj-box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.u-obj-box object {
  height: auto;
}

/* object-fit */
.object-fit-cover img {
  /*
      ↓適宜指定
      width: ;
      height: ;
  */
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

/* アコーディオンクラス */
.accordion {
  position: relative;
  cursor: pointer;
}

.u-hide {
  display: none;
}

/* アコーディオンの矢印 使用する場合は有効に */
[class*=accordion]::after {
  display: inline-block;
  z-index: 5;
  position: absolute;
  top: 0;
  right: 0.5em;
  bottom: 0;
  height: 10px;
  margin: auto 0;
  font-size: 0.8em;
}

.accordion::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  content: ">";
}

.accordion.open::after {
  -webkit-transform: rotate(-90deg);
  right: 1.4em;
  transform: rotate(-90deg);
}

/* 画像を4:3の比率に切り取る。imgタグのコンテナにいずれかをセット */
/* ※flex-box内で使用する場合は、flex-itemのpadding-bottom:100%が効かなくなる(高さに対する割合になる？)ため、flex-box内にもう一段divで囲う。
flex-box>div1>div2>img の様に。
div1にflex-basisで幅を指定、div2に.u-imgFrame をセットし、width:100%;とする。
参考) https://stackoverflow.com/questions/36783190/why-doesnt-percentage-padding-margin-work-on-flex-items-in-firefox/36783414
*/
.u-imgFrame,
.u-imgFrame--Vertical {
  display: block;
  position: relative;
  /*	width: 横幅を決める必要がある場合は任意の数値を入れて下さい;*/
  padding-bottom: 75%;
  /* 横幅に対する縦の比率。ここを変更すれば4:3以外の比率も可能です。 */
  overflow: hidden;
}

.u-imgFrame--Vertical.u-imgFrame--square {
  padding-bottom: 100%;
}

.u-imgFrame img,
.u-imgFrame--Vertical img {
  -webkit-transform: translate(-50%, -50%);
  /* 真ん中に */
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 100%;
  transform: translate(-50%, -50%);
}

.u-imgFrame--Vertical img {
  width: auto;
  max-width: none;
  height: 100%;
}

/*ボックスの中の位置揃え*/
.u-box-container {
  position: relative;
}

[class*=u-box-in-] {
  position: absolute;
}

.u-box-in-center {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.u-box-in-top-center {
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.u-box-in-bottom-center {
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0 auto;
}

.u-box-in-top-left {
  top: 0;
  left: 0;
}

.u-box-in-top-right {
  top: 0;
  right: 0;
}

.u-box-in-bottom-left {
  bottom: 0;
  left: 0;
}

.u-box-in-bottom-right {
  right: 0;
  bottom: 0;
}

/*animation*/
.u-effect {
  -webkit-transition: 0.6s;
  -webkit-transition-delay: 0.4s;
  transition: 0.6s;
  transition-delay: 0.4s;
}

.u-effect + .u-effect {
  -webkit-transition-delay: 0.7s;
  transition-delay: 0.7s;
}

.u-effect + .u-effect + .u-effect {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}
/* ---------------------------------------------------------
   【テキストスタイル】
--------------------------------------------------------- */
.fc-green {
  color: #009747;
}

.fc-brown {
  color: #c27d2f;
}

.fc-red {
  color: #cc0000;
}

.fc-blue {
  color: #4c9cb6;
}

.fc-navy {
  color: #080850;
}

.fc-yellow {
  color: #f90;
}

.fc-orange {
  color: #f60;
}

.fc-site-orange {
  color: #dd5012;
}

.fc-lnk-blue, a.fc-lnk-blue {
  color: #036eb7;
}

.fc-white, a.fc-white {
  color: #fff;
}

.fc-black, a.fc-black {
  color: #000;
}

.fc-dark-gray, a.fc-dark-gray {
  color: #231815;
}

.fb-yelow {
  background-color: #ff9;
}

a:hover .fb-yelow {
  background-color: #ff9;
  text-decoration: underline;
}

.bg-orange {
  border: solid 1px #fff0d0;
  background-color: #fff8e8;
}

/* フォント */
.ff-notosansjp {
  font-family: "Noto Sans JP", sans-serif;
}

.ff-notosansjapanese {
  font-family: "Noto Sans Japanese", sans-serif;
}

.ff-cinzel {
  font-family: "Cinzel", serif;
}

.ff-mincho {
  font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "MS Mincho", "Noto Serif JP", serif;
}

.ff-gothic {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
}

.ff-roundedmplus1c {
  font-family: "M PLUS Rounded 1c", sans-serif;
}

.ff-hannari {
  font-family: "Hannari", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "MS Mincho", "Noto Serif JP", serif;
}

.ff-notoserifjp {
  font-family: "Noto Serif JP", serif;
}

/* フォントウェイト */
.fw-inherit {
  font-weight: inherit;
}

.bold {
  font-weight: bold;
}

.fw-normal {
  font-weight: normal;
}

/* notosansjp */
.fw-notojp100thin {
  font-weight: 100;
}

.fw-notojp200light {
  font-weight: 300;
}

/*.fw-notojp300demilight {font-weight:350;}*/
/* DemiLightは Noto Sans Japaneseにはあるが、Noto Sans JPには現在、存在しない */
.fw-notojp400regular {
  font-weight: 400;
}

.fw-notojp500medium {
  font-weight: 500;
}

.fw-notojp700bold {
  font-weight: 700;
}

.fw-notojp900black {
  font-weight: 900;
}

/* notosansjp */
.fw-notojapanese100thin {
  font-weight: 100;
}

.fw-notojapanese200light {
  font-weight: 200;
}

.fw-notojapanese300demilight {
  font-weight: 300;
}

.fw-notojapanese400regular {
  font-weight: 400;
}

.fw-notojapanese500medium {
  font-weight: 500;
}

.fw-notojapanese700bold {
  font-weight: 700;
}

.fw-notojapanese900black {
  font-weight: 900;
}

/* cinzel */
.fw-cinzel400regular {
  font-weight: 400;
}

.fw-cinzel700bold {
  font-weight: 700;
}

.fw-cinzel900black {
  font-weight: 900;
}

/* Mincho */
.fw-mincho300light {
  font-weight: 300;
}

.fw-mincho400regular {
  font-weight: 400;
}

.fw-mincho600demibold {
  font-weight: 600;
}

/* Gochic */
.fw-gothic300light {
  font-weight: 300;
}

.fw-gothic400regular {
  font-weight: 400;
}

.fw-gothic500medium {
  font-weight: 500;
}

.fw-gothic600bold {
  font-weight: 600;
}

/* フォントスタイル */
.fs-normal {
  font-style: normal;
}

/* テキストトランスフォーム */
.tt_upper {
  text-transform: uppercase;
}

.tt_lower {
  text-transform: lowercase;
}

/* リストスタイル */
.ls-none {
  list-style: none;
}

.ls-none-imp {
  list-style: none !important;
}

/* ---------------------------------------------------------
   【font-size 13px 100%】
--------------------------------------------------------- */
.f10 {
  font-size: 10px;
}

.f11 {
  font-size: 11px;
}

.f12 {
  font-size: 12px;
}

.f13 {
  font-size: 13px;
}

.f14 {
  font-size: 14px;
}

.f15 {
  font-size: 15px;
}

.f16 {
  font-size: 16px;
}

.f17 {
  font-size: 17px;
}

.f18 {
  font-size: 18px;
}

.f19 {
  font-size: 19px;
}

.f20 {
  font-size: 20px;
}

.f21 {
  font-size: 21px;
}

.f22 {
  font-size: 22px;
}

.f24 {
  font-size: 24px;
}

.f26 {
  font-size: 26px;
}

.f28 {
  font-size: 28px;
}
/* ---------------------------------------------------------
   【余白】	5px未満は個別に追加
--------------------------------------------------------- */
.mt00 {
  margin-top: 0 !important;
}

.mt05 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mt120 {
  margin-top: 120px !important;
}

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

.mb01 {
  margin-bottom: 1px !important;
}

.mb05 {
  margin-bottom: 5px !important;
}

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

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

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

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

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

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

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

.ml00 {
  margin-left: 0px !important;
}

.ml05 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.mr00 {
  margin-right: 0px !important;
}

.mr05 {
  margin-right: 5px !important;
}

.mr08 {
  margin-right: 8px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mr100 {
  margin-right: 100px !important;
}
.pt00 {
  padding-top: 0px !important;
}

.pt05 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb00 {
  padding-bottom: 0px !important;
}

.pb05 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pl00 {
  padding-left: 0px !important;
}

.pl05 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pr04 {
  padding-right: 4px !important;
}

.pr05 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr50 {
  padding-right: 50px !important;
}
.inner00 {
  padding: 0;
}

.inner05 {
  padding: 5px;
}

.inner10 {
  padding: 10px;
}

.inner15 {
  padding: 15px;
}

.inner20 {
  padding: 20px;
}

.inner25 {
  padding: 25px;
}

.inner30 {
  padding: 30px;
}

/* ---------------------------------------------------------
   【フロート】
--------------------------------------------------------- */
.fl {
  float: left;
}

.fr {
  float: right;
}

.both {
  clear: both;
}

.both03 {
  height: 3px;
  clear: both;
}

.both05 {
  height: 5px;
  clear: both;
}

.both09 {
  height: 9px;
  clear: both;
}

.both10 {
  height: 10px;
  clear: both;
}

.both15 {
  height: 15px;
  clear: both;
}

.both20 {
  height: 20px;
  clear: both;
}

.both25 {
  height: 25px;
  clear: both;
}

.both30 {
  height: 30px;
  clear: both;
}

.both40 {
  height: 40px;
  clear: both;
}

.both50 {
  height: 50px;
  clear: both;
}

.both60 {
  height: 60px;
  clear: both;
}

.both70 {
  height: 70px;
  clear: both;
}

.both80 {
  height: 80px;
  clear: both;
}

.both90 {
  height: 90px;
  clear: both;
}

.both100 {
  height: 100px;
  clear: both;
}

.clearfix:after {
  display: block;
  clear: both;
  content: "";
}
/* ---------------------------------------------------------
   width
--------------------------------------------------------- */
.w100 {
  width: 100%;
}

/* 共通パーツ */
/* space */
.both_cnt {
  height: 6em;
}

.both_cnt--small {
  height: 2em;
}

.bg-gray {
  padding: 5em 0;
  background: #F2F2F2;
}

.bg-brick {
  padding: 5em 0;
  background: url(../images/bg_brick.jpg) center center/cover no-repeat;
}

.common-btn {
  display: inline-block;
  min-width: 21.25em;
  padding: 0.7em 1.5em;
  border-radius: 8em;
  background: #aaa;
  font-size: 1.125em;
  font-weight: bold;
}
a.common-btn {
  color: #fff;
  text-decoration: none;
}

.common-btn + .common-btn {
  margin-left: 1em;
}
.common-btn.-primary {
  background: #247e09;
}
.common-btn.-primary::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin: 0.1em 0 0 0.8em;
  border-width: 0.4em 0 0.4em 0.5em;
  border-color: transparent transparent transparent #fff;
  content: "";
}
.common-btn.narrow {
  min-width: 10em;
}

.common-btn-wrap {
  margin-top: 2.2rem;
}

.pd-box {
  display: inline-block;
  padding: 0.2em 0.5em;
  color: #fff;
  font-weight: bold;
}
.pd-box.-black {
  background: #333;
}
.pd-box.-blue {
  background: #1F4BB4;
}
.pd-box.-orange {
  background: #DF5012;
}
.pd-box.-white {
  background: #fff;
  color: #333;
}

.stamp-giza {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: absolute;
  flex-direction: column;
  justify-content: center;
  width: 6em;
  height: 6em;
  background: url(../images/bg_point.png) center center/contain no-repeat;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.stamp-giza span {
  line-height: 1;
}
.stamp-giza .fzlg {
  font-size: 2.1875em;
}
.stamp-giza .fzmd {
  font-size: 1.875em;
}
.stamp-giza .fzms {
  font-size: 1.25em;
}
.stamp-giza .fzsm {
  font-size: 1em;
}

.under-line {
  text-decoration: underline;
}

.message__inner {
  width: 950px;
  max-width: 100%;
  margin: 2em auto 0;
}
.message__inner.under-message {
  margin: 5em auto 0;
  padding: 1.25em;
  border: solid 3px;
}

.message__text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-right: 2em;
  font-size: 1.1em;
  font-weight: bold;
  line-height: 1.8;
}

.message__text-move {
  margin-inline: auto;
  z-index: 1;
  position: relative;
  width: 560px;
  height: 315px;
}
.message__text-move iframe {
  -webkit-transform: translate(-50%, -50%);
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}

.message__text p + p {
  margin-top: 1em;
}

.message__image {
  width: 11.25em;
}

.message__name {
  margin-top: 0.8em;
  font-weight: bold;
}

.message__name .font-large {
  margin-left: 0.5em;
  font-size: 1.125em;
}

.detail-item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 2.5em 0 0;
}

.detail-item__inner-other {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  padding: 0 0 1em 0;
}
a.detail-item__inner-other {
  color: inherit;
  text-decoration: none;
}

.detail-item__inner-other:hover .detail-item__attention {
  opacity: 1;
}
.detail-item__inner-other:hover .detail-item__img {
  opacity: 1;
}
.detail-item__inner-other:hover .detail-item__img img {
  opacity: 1;
}

.detail-item__inner-title {
  background: #333;
}

.detail-wrap {
  margin: 3em -1em 0;
}

.detail-item {
  width: 98%;
  margin: 1em 0.5em;
  background: #Fff;
}

.detail-item__category {
  z-index: 1;
  position: relative;
  padding: 0.37em;
  background: #DF5012;
  color: #fff;
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
}
.detail-item__category::after {
  -webkit-transform: translate(-50%, 0) rotate(45deg);
  display: block;
  z-index: 1;
  position: absolute;
  bottom: -0.3888888889em;
  left: 50%;
  width: 0.7222222222em;
  height: 0.7222222222em;
  transform: translate(-50%, 0) rotate(45deg);
  background: #DF5012;
  content: "";
}

.detail-item__type {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 9em;
  height: 100%;
  padding: 1em 0.5em;
  color: #fff;
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
}
.detail-item__type .pd-box {
  margin-top: 1em;
}

.detail-item__title {
  margin-top: 0.8em;
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.detail-item__cost {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1em;
}

.detail-item__cost-title {
  margin-right: 1em;
  font-size: 1.125em;
}

.detail-item__cost-num {
  color: #DF1212;
  font-size: 3.75em;
  font-weight: bold;
}
.detail-item__cost-num::after {
  font-size: 0.333em;
  content: "万円";
}
.detail-item__cost-num.detail-item__cost-num--add::after {
  font-size: 0.333em;
  content: "万円";
}

.detail-item__service {
  margin-top: 0.5em;
  margin-right: auto;
  margin-left: auto;
  font-size: 0.85em;
  text-align: center;
}

.detail-item__service-item {
  z-index: 1;
  position: relative;
  margin-top: 0.5em;
  margin-right: 1em;
  font-size: 1.125em;
}
.detail-item__service-item::before {
  -webkit-transform: translate(0, -50%);
  position: absolute;
  top: 50%;
  right: -1em;
  transform: translate(0, -50%);
  color: #333;
  content: "＋";
}
.detail-item__service-item:last-of-type::before {
  display: none;
}

.detail-item__service-bottom {
  margin-top: 0.5em;
  color: #333;
  font-size: 1.375em;
  font-weight: bold;
}

.detail-item__comment {
  margin-top: 1.1em;
  padding-bottom: 1em;
  font-size: 0.9em;
  font-weight: bold;
}

.detail-item__text {
  margin-top: 1em;
  padding: 0 3em;
}

.detail-item__img {
  z-index: 0;
  position: relative;
  width: 22em;
  margin-right: auto;
  margin-left: auto;
}

.detail-item__attention {
  top: -1.2em;
  right: -1.3em;
}

.detail-item__cnt {
  margin-right: auto;
  margin-left: auto;
}

.star-box {
  position: relative;
  width: 7.1875em;
  height: 1.875em;
  margin-top: 0.4em;
  border: solid 2px #353333;
  border-radius: 5px;
  background: #fff;
  white-space: nowrap;
}
.star-box::after {
  -webkit-transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100%;
  transform: translate(-50%, -50%);
  color: #DF1212;
}
.star-box.stars-1::after {
  content: "★";
}
.star-box.stars-2::after {
  content: "★★";
}
.star-box.stars-3::after {
  content: "★★★";
}
.star-box.stars-4::after {
  content: "★★★★";
}
.star-box.stars-5::after {
  content: "★★★★★";
}

.level-box {
  background: #fff;
}

.level-box__title {
  padding: 0.43em 0.1em;
  background: #DF1212;
  color: #fff;
  font-size: 2.25em;
  font-weight: bold;
  text-align: center;
}

.level-box__inner {
  max-width: 62.5em;
  margin-right: auto;
  margin-left: auto;
  padding: 0.875em 0 2.5em;
}

.level-box__top-primary {
  width: 32%;
  max-width: 19.8125em;
  border: solid 2px #353333;
  border-radius: 5px;
  background: #F2F2F2;
  text-align: center;
}

.level-box__top-primary-title {
  display: inline-block;
  margin-top: 1.25em;
  padding: 0.2em 0.5em;
  background: #DF1212;
  color: #fff;
  font-size: 1.25em;
  font-weight: bold;
}

.level-box__top-primary-text {
  margin-top: 0.45em;
  color: #DF1212;
  font-size: 2.5em;
  font-weight: bold;
}

.level-box__top-secondary {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  -webkit-box-align: start;
  -ms-flex-align: start;
  z-index: 1;
  position: relative;
  flex: 1;
  align-items: flex-start;
  margin-left: 0.75em;
}
.level-box__top-secondary::after {
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 42.1875em;
  height: 8.625em;
  background: url(../images/illust_arrow.png) center center/contain no-repeat;
  content: "";
}

.level-box__top-secondary-item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 2em;
}
.level-box__top-secondary-item:nth-of-type(1) {
  margin-left: 2em;
}
.level-box__top-secondary-item:nth-of-type(2) {
  margin-left: 3em;
}
.level-box__top-secondary-item:nth-of-type(3) {
  margin-left: 4em;
}

.level-box__top-secondary-item-circle {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 4.9375em;
  height: 4.9375em;
  border-radius: 7em;
  background: #353333;
  color: #fff;
  font-weight: bold;
}
.level-box__top-secondary-item-circle .fzsm {
  font-size: 1em;
}
.level-box__top-secondary-item-circle .fzlg {
  font-size: 2em;
  line-height: 1;
}

.level-box__top-secondary-item-text {
  margin-top: 0.5em;
  text-align: center;
}
.level-box__top-secondary-item-text .fzmd {
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1;
}
.level-box__top-secondary-item-text .fzsm {
  font-size: 1em;
}

.img_level-box {
  width: 75%;
  margin: 2.5em auto 0;
}

.level-box__bottom {
  margin-top: 2.5em;
}

.level-box__bottom-title {
  padding: 0.25em 0;
  background: #333;
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
}

.level-box__bottom-inner {
  margin-right: -1em;
  margin-left: -1em;
}

.level-box__bottom-item {
  width: 33%;
  margin-top: 1.25em;
  padding: 0 1em;
}

.level-box__bottom-item-title {
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
}

.level-box__bottom-item-img {
  z-index: 1;
  position: relative;
}

.level-box__bottom-item-stars {
  -webkit-transform: translate(-50%, 0);
  z-index: 1;
  position: absolute;
  top: 0.2em;
  left: 50%;
  transform: translate(-50%, 0);
}

.width-full {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

/* area-title */
.area-title {
  font-size: 1.5em;
  font-weight: bold;
}

.area-title__inner {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, white), color-stop(65%, #ffeb2b), to(#ffeb2b));
  background: -webkit-linear-gradient(top, white 65%, #ffeb2b 65%, #ffeb2b 100%);
  background: linear-gradient(180deg, white 65%, #ffeb2b 65%, #ffeb2b 100%);
}

/* title-large */
.title-large {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2em 0 1.5em;
  background: #eee;
  font-weight: bold;
  text-align: center;
}

.title-large__sub {
  z-index: 1;
  position: relative;
  font-size: 1.1em;
}
.title-large__sub::before, .title-large__sub::after {
  z-index: 1;
  position: absolute;
  top: 50%;
  width: 1px;
  height: 1em;
  background: #222;
  content: "";
}
.title-large__sub::before {
  -webkit-transform: rotate(-45deg) translate(-100%, -50%);
  left: -0.4em;
  transform: rotate(-45deg) translate(-100%, -50%);
}
.title-large__sub::after {
  -webkit-transform: rotate(45deg) translate(100%, -50%);
  right: -0.4em;
  transform: rotate(45deg) translate(100%, -50%);
}

.title-large__main {
  font-size: 2em;
}
.title-large__main .font-large {
  position: relative;
  top: 0.05em;
  font-size: 1.5em;
}

/* tag-primary */
.tag-primary {
  display: inline-block;
  z-index: 1;
  position: relative;
  padding: 0.3em 1em;
  background: tomato;
  color: #fff;
  font-weight: bold;
}
.tag-primary::after {
  z-index: -1;
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  left: 2px;
  border: 1px solid #fff;
  content: "";
  opacity: 0.7;
}

/* watch-only */
.watch-only-wrap {
  z-index: 1;
  position: relative;
}

.watch-only {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: absolute;
  top: 0.5em;
  left: 0.5em;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 7em;
  height: 7em;
  border-radius: 50%;
  background: #DF5012;
  color: #fff;
  font-weight: bold;
}
.watch-only .font-small {
  font-size: 1.125em;
}
.watch-only .font-large {
  font-size: 1.5em;
}

/* ショールーム案内記事 */
.flex-item {
  width: 40%;
}
.flex-item + .flex-item {
  margin-left: 1.5em;
}

.utility-text {
  font-size: 1.125em;
  line-height: 1.6;
}

/* catch-title */
.catch-title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
}

.catch-title__copy {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10.125em;
  height: 10.125em;
  padding-top: 0.6em;
  background: url(../images/mct_reason_copy.jpg) center center/contain no-repeat;
}

.catch-title__copy-inner {
  color: #fff;
  font-size: 1.375em;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}
.catch-title__copy-inner.font-large {
  font-size: 1.75em;
}

.catch-title__main {
  padding-left: 1em;
  font-size: 2em;
  font-weight: bold;
}

.catch-title__sub {
  display: block;
  margin-bottom: 0.5em;
  font-size: 0.7em;
}

/* dl-primary */
.dl-primary {
  padding: 0 1em;
}
.dl-primary dt {
  padding: 0.7em 1em 0.5em;
  border-radius: 0.2em 0.2em 0 0;
  background: #e8a486;
  font-size: 1.2em;
  font-weight: bold;
}
.dl-primary dd {
  padding: 1em 1.3em;
  border-radius: 0 0 0.3em 0.3em;
  background: #fff0e9;
}
.dl-primary dd + dt {
  margin-top: 0.8em;
}

/* utility-cnt */
.utility-cnt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.utility-cnt__image {
  width: 25em;
}

.utility-cnt__text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-left: 2em;
}

.utility-cnt__title {
  padding: 0.3em 0.7em 0.2em;
  background: #DF5012;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
}
.utility-cnt__title + .utility-cnt__body {
  margin-top: 1em;
}

.utility-cnt__body {
  line-height: 1.8;
}
.utility-cnt__body .bg-text {
  background: #FFDED0;
}
.utility-cnt__body .bg-text + .bg-text {
  margin-left: 0.5em;
}
.utility-cnt__body .strong-text {
  color: #DF5012;
  font-size: 1.2em;
  font-weight: bold;
}

/* 動画 */
.movie {
  margin-inline: auto;
  width: 35em;
  height: auto;
}

.movie iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
  margin: auto;
}

/* reason-title */
.reason-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.reason-title__num {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 6.25em;
  height: 6.25em;
  padding-top: 0.5em;
  background: #DF5012;
}
.reason-title__num::after {
  z-index: -1;
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  left: 2px;
  border: 1px solid #fff;
  content: "";
  opacity: 0.7;
}

.reason-title__num-inner {
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}
.reason-title__num-inner .font-large {
  font-size: 1.75em;
}

.reason-title__main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 1;
  align-items: center;
  padding-left: 0.7em;
  background: #ffded0;
  font-size: 2em;
  font-weight: bold;
  line-height: 1.3;
}
.reason-subtitle {
  font-size: 0.7em;
}
.reason-achievement__list {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  margin-top: 3em;
}
.reason-achievement__txt {
  margin-top: 0.5em;
  font-size: 0.7em;
  text-align: center;
}
.reason-margin__figure {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin: 2em 0 2em;
}
.reason-margin__figure img {
  width: 70%;
  max-width: 1062px;
}
.reason-subcontractor__figure {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin: 2em 0 2em;
}
.reason-subcontractor__figure img {
  width: 70%;
  max-width: 824px;
}

.sec-title {
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.sec-title__add {
  display: inline-block;
  z-index: 1;
  position: relative;
  padding-bottom: 0.1em;
  font-size: 1.4375em;
}
.sec-title__add::after, .sec-title__add::before {
  display: block;
  z-index: 1;
  position: absolute;
  bottom: 0.7em;
  width: 1.25em;
  height: 0.0625em;
  background: #030001;
  content: "";
}
.sec-title__add::after {
  -webkit-transform: rotate(-45deg);
  right: -1.5em;
  transform: rotate(-45deg);
}
.sec-title__add::before {
  -webkit-transform: rotate(45deg);
  left: -1.5em;
  transform: rotate(45deg);
}

.sec-title__normal {
  font-size: 2.25em;
}
.sec-title__normal.-strong-orange {
  color: #DF5012;
  font-size: 2.8em;
}

.sec-title__en {
  color: #DF5012;
}

/* --------------------------------------------
   MW WP Form
-------------------------------------------- */
.form-intro__button {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 1em -0.5em -0.5em;
}
.form-intro__button + .form-intro__paragraph {
  margin-top: 1.5em;
}

.form-button__item {
  margin: 0.5em;
  color: #999;
}
.form-button__item a {
  color: inherit;
  text-decoration: none;
}
.form-button__item i {
  margin-right: 1em;
}

.form-button__inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20em;
  height: 3em;
  border: 1px solid #bbb;
  border-radius: 100em;
  font-size: 1.1em;
}

.field-tag {
  padding: 0.3em 0.5em;
  border-radius: 2px;
  font-size: 0.75em;
}
.field-tag.primary {
  background: #f33c14;
  color: #fff;
  font-weight: bold;
}
.field-tag.secondary {
  background: #e9e9e9;
  color: #111;
  font-weight: normal;
}

.form-area {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  width: 750px;
  max-width: 100%;
  margin: 1em auto;
}
.form-area dt, .form-area dd {
  margin-top: 2.3em;
}
.form-area dt {
  z-index: 1;
  position: relative;
  width: 12.5em;
  padding: 0.4em 0 0 2.7em;
  font-weight: bold;
}
.form-area dt.title-wide {
  width: 100%;
}
.form-area dt.title-wide + dd {
  width: 100%;
  margin-top: 0.8em;
  padding-left: 2.7em;
}
.form-area dt .field-tag {
  z-index: 1;
  position: absolute;
  top: 0.5em;
  left: 0;
}
.form-area dd {
  width: calc(100% - 12.5em);
  padding-left: 1em;
}
.form-area input[type=text],
.form-area input[type=email],
.form-area input[type=tel],
.form-area input[type=number],
.form-area input[type=password],
.form-area textarea {
  width: 100%;
  padding: 0.3em 0.5em;
  border-radius: 2px;
  background: #E6E6E6;
}
.form-area input[type=radio],
.form-area input[type=checkbox] {
  margin: 0.2em 1.2em 0 0;
}
.form-area input.half-tab_over {
  width: 48%;
}
.form-area input.half-all {
  width: 48%;
}
.form-area textarea {
  display: block;
  height: 12em;
}
.form-area label {
  display: inline-block;
  cursor: pointer;
}
.form-area label > span {
  position: relative;
  right: 1.1em;
  bottom: 0.3em;
}
.form-area select {
  padding: 0.3em;
  border: 1px solid #ccc;
  border-radius: 3px;
  cursor: pointer;
}

.form-area__comment {
  margin-top: 0.4em;
  font-size: 0.85em;
}

.form-btn {
  margin-top: 3.5em;
}
.form-btn input[type=submit] {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-transition: 0.2s;
  -webkit-box-shadow: 0 3px 0 #0e8c73;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 15em;
  height: 3em;
  margin: 15px auto 0;
  border-radius: 4px;
  background: #1abc9c;
  box-shadow: 0 3px 0 #0e8c73;
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  text-shadow: 0 0.05em 0.05em rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: 0.2s;
}
.form-btn input[type=submit].sub-button {
  -webkit-box-shadow: none;
  width: 8em;
  height: 2.5em;
  background: #777;
  box-shadow: none;
  font-size: 1em;
  font-weight: normal;
}
.form-btn input[type=submit].sub-button:hover {
  -webkit-box-shadow: none;
  background: #777;
  box-shadow: none;
  opacity: 0.8;
}
.form-btn input[type=submit].sub-button:active {
  top: 0;
}
.form-btn input[type=submit]:hover {
  -webkit-box-shadow: 0 3px 0 #23a188;
  background: #31c8aa;
  box-shadow: 0 3px 0 #23a188;
}
.form-btn input[type=submit]:active {
  -webkit-box-shadow: none;
  top: 3px;
  box-shadow: none;
}

.form-intro__caution {
  display: inline-block;
  position: relative;
  padding-left: 1em;
}
.form-intro__caution::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}

/* 確認画面 */
.confirm-comment {
  display: none;
  margin-top: 3em;
  text-align: center;
}

.confirm-comment__title {
  font-size: 1.2em;
  font-weight: bold;
}

.mw_wp_form_confirm {
  /* 確認画面の時に付くクラス */
}
.mw_wp_form_confirm .confirm-comment {
  display: block;
}
.mw_wp_form_confirm .form-area {
  margin-top: 0;
}
.mw_wp_form_confirm .form-area dt, .mw_wp_form_confirm .form-area dd {
  margin-top: 2em;
}
.mw_wp_form_confirm .form-area dt.title-wide + dd {
  margin-top: 0.3em;
}
.mw_wp_form_confirm .form-area dd {
  padding-top: 0.4em;
}
.mw_wp_form_confirm .form-area__comment {
  opacity: 0.5;
}

/* MW WP Form デフォルトスタイル調整 */
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: initial !important;
}
.mw_wp_form .error {
  margin-top: 0.4em;
  color: #f33c14;
  font-size: 0.85em;
}

h2.entry-title {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: relative;
  align-items: center;
  justify-content: center;
  margin-top: 2em;
  margin-bottom: 30px;
  padding: 0.6em 1em;
  font-size: 1.6875em;
  font-weight: bold;
  text-align: center;
}
h2.entry-title::after, h2.entry-title::before {
  display: block;
  z-index: 1;
  min-width: 0.3333333333em;
  max-width: 0.3333333333em;
  min-height: 0.3333333333em;
  border-radius: 10em;
  background: #DF5012;
  content: "";
}
h2.entry-title::after {
  -webkit-box-shadow: 1em 0 0 #E8A486;
  margin-left: 0.8em;
  box-shadow: 1em 0 0 #E8A486;
}
h2.entry-title::before {
  -webkit-box-shadow: -1em 0 0 #E8A486;
  margin-right: 0.8em;
  box-shadow: -1em 0 0 #E8A486;
}

/* list-primary */
.list-primary li {
  z-index: 1;
  position: relative;
  padding: 0.3em 0;
  padding-left: 1.3em;
  font-size: 1.375em;
  font-weight: bold;
}
.list-primary li::before {
  z-index: 1;
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 1.0909090909em;
  height: 1.0909090909em;
  background: url(../images/icon_check.png) center center/contain no-repeat;
  content: "";
}

/* 設備系修繕メニュー */
.repair-menu {
  -ms-flex-wrap: wrap;
  gap: 1em 1.2%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.repair-menu__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  gap: 0.7em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  width: 32.5%;
  padding: 0.2em;
  border: solid 1px #ddd;
}
.repair-menu__item-img {
  width: 50%;
  max-width: 120px;
}
.repair-menu__item-cnt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.repair-menu__item-cnt-title {
  font-size: 1.25em;
  font-weight: bold;
}
.repair-menu__item-cnt-sub {
  font-size: 0.9em;
}
.repair-menu__item-cnt-price {
  color: #D90909;
  font-size: 2.625em;
  font-weight: bold;
}
.repair-menu__item-cnt-price .font-small {
  color: #030001;
  font-size: 0.5em;
}

/* 原状回復工事　料金(税込)の目安 */
.restoration-wrap {
  -ms-flex-wrap: wrap;
  gap: 1em 2%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 2em;
}

.restoration-item {
  width: 32%;
  border: solid 1px;
}
.restoration-item__title {
  padding-block: 0.5em;
  background: #030001;
  color: #fff;
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
}
.restoration-item__price {
  padding-block: 0.4em;
  border-bottom: solid 1px;
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
}
.restoration-item__list {
  padding: 0.7em 0.5em;
}
.restoration-item__list-item {
  z-index: 0;
  position: relative;
  padding-left: 1.3em;
}
.restoration-item__list-item::after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 0.8em;
  height: 0.8em;
  background: #030001;
  content: "";
}

/* 設備交換はすべてお任せ！ */
.sec-equipment-replacement {
  margin-top: 4em;
}

.equipment-replacement__title {
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
}

.equipment-replacement {
  -ms-flex-wrap: wrap;
  gap: 2em 2%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 2em;
}
.equipment-replacement__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 23.5%;
  background: #eee;
}
.equipment-replacement__item-title {
  padding-block: 0.4em;
  width: 100%;
  background: #030001;
  color: #fff;
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
}
.equipment-replacement__item-icon {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80%;
  max-width: 95px;
  height: 7em;
}

.reason-tehai__figure {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin: 2em 0 2em;
}
.reason-tehai__figure img {
  width: 70%;
  max-width: 769px;
}

/* アンカーリンク */
.page-anchor-wrap {
  -ms-flex-wrap: wrap;
  gap: 1em 1.3%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 2em;
}
.page-anchor-wrap.-center {
  display: block !important;
  text-align: center !important;
}

.page-anchor {
  width: 24%;
  padding: 0.7em 0.5em;
  background: #DF5012;
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
}
a.page-anchor {
  color: #fff;
  text-decoration: none;
}
.page-anchor.-center {
  font-size: 2em;
}
.page-anchor__inner {
  z-index: 0;
  position: relative;
  padding-right: 1.3em;
}
.page-anchor__inner::after {
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  -webkit-transform: translate(0, -50%);
  display: block;
  z-index: 1;
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.625em;
  height: 0.4375em;
  transform: translate(0, -50%);
  background: #fff;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  content: "";
}

.asterisk {
  padding-left: 1em;
  text-indent: -1em;
}
.asterisk::before {
  content: "※";
}

.area-map {
  max-width: 37.5em;
  margin: 1.5em auto 0;
}

.sec-works .flickity-button {
  display: none;
}
.sec-works .swipe_wrap_02 {
  width: 100%;
}

.case-title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.case-title__add {
  padding: 0 0.15em 0.05em;
  border-bottom: 6px double;
  font-size: 1.2em;
}
.case-title__normal {
  margin-top: 0.2em;
  font-size: 2.5em;
}
.case-title__bold {
  padding: 0.1em 0.3em 0;
  border-radius: 0.3em;
  background: #D20707;
  color: #fff;
  font-size: 2.5em;
}

.plan-card {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 1;
  overflow: hidden;
  border: 1px solid;
  border-radius: 0.3em;
}
a.plan-card {
  color: inherit;
  text-decoration: none;
}

.plan-card__wrap {
  -ms-grid-columns: 1fr 1fr;
  gap: 2em;
  display: -ms-grid;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 1.5em 0 2.5em;
}
.plan-card__left {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  width: 10em;
}
.plan-card__right {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-left: 1px solid;
}
.plan-card__left-title {
  width: 100%;
  padding: 0.3em;
  background: #DF5012;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
}
.plan-card__price {
  width: 100%;
  color: #DF1212;
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
}
.plan-card__price .fz_lg {
  font-size: 2em;
}
.plan-card__stamp {
  position: relative;
  margin: auto auto 1em;
}
.plan-card__right-title {
  z-index: 1;
  position: relative;
  padding: 0.5em;
  background: #DF5012;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
}
.plan-card__right-title::after {
  -webkit-transform: translateY(-50%);
  z-index: 1;
  position: absolute;
  top: 50%;
  right: 0.8em;
  transform: translateY(-50%);
  border-width: 0.4em 0 0.4em 0.6em;
  border-color: transparent transparent transparent #fff;
  content: "";
}
.plan-card__main-title {
  margin-top: 0.8em;
  font-size: 1.3em;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
.plan-card__txt {
  margin-top: 1em;
  padding: 0 0.5em 0.6em;
  font-size: 1.1em;
}
.plan-card__txt.-mini {
  font-size: 0.95em;
}
.plan-card__txt.asterisk {
  padding: 0 0.5em 0.6em 1.5em;
}
.plan-card .detail-item__service {
  margin-top: 1em;
}

.card_sub {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -ms-flex-wrap: wrap;
  gap: 2em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 2.5em;
}
.card_sub__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: calc(25% - 0.75em);
  padding: 0.8em 0.5em 0.5em;
  border: 2px solid #000;
  border-radius: 6px;
  background: #fff;
}
a.card_sub__item {
  color: inherit;
  text-decoration: none;
}

.card_sub__img {
  margin-inline: auto;
  width: 65%;
}
.card_sub__title {
  margin-top: 1em;
  background: #DF5012;
  color: #fff;
  font-size: 1.3em;
  font-weight: bold;
  text-align: center;
}
.card_sub__cnt {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4em;
  font-size: 0.7em;
  text-align: center;
}

/* ヘッダー */
/* PCナビ */
/* PCナビ 追従 */
.hdrNav.scroll {
  z-index: 100000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
}

/* PCナビ カレント */
.hdrNav [aria-current] a {
  pointer-events: none;
}
.hdr {
  padding: 0.4375em 1em 0.5625em;
}

.hdrMain {
  width: 100%;
  text-align: center;
}
.headerLogo--select {
  padding: 0.5em 1em;
  background-color: #fff;
}

.headerLogo__wrap {
  max-width: 78.75em;
  margin-right: auto;
  margin-left: auto;
}

.headerLogo__img {
  width: 17.375em;
}

.hdr_slidemenu .headerLogo__img {
  padding: 1em;
}

.headerLogo__other {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  flex: 1;
  justify-content: flex-end;
}

.header__embrem {
  width: 8.25em;
  margin-left: 1.25em;
}

/* 電話番号 */
.tel__title {
  border-radius: 100em;
  background: #247e09;
  color: #fff;
  font-size: 0.8125em;
  font-weight: bold;
}

.header__tel {
  width: 23.125em;
  margin-left: 1.25em;
}

.tel__number {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.1em;
  color: #D20707 !important;
  font-size: 2.5em;
  font-weight: bold;
  line-height: 1.1;
}

.icon_tel {
  width: 0.85em;
  margin-right: 0.1em;
}

.tel__info {
  margin-top: 0.3em;
  font-size: 0.875em;
  line-height: 1.1;
}

.tel__attention {
  border-bottom: 1px solid #444;
  font-size: 0.75em;
  font-weight: bold;
  letter-spacing: -0.3px;
  line-height: 1.1;
}

.br_lg {
  display: none;
}

/* ボタン */
.header__button {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  gap: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 1.5em;
}

.hdr-btn {
  width: 11.875em;
}

.button-primary {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-shadow: 0 4px #431400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 21.5em;
  height: 5em;
  padding: 0 1em;
  border-radius: 0.3em;
  background: #DF5012;
  box-shadow: 0 4px #431400;
  color: #fff;
  line-height: 1.3;
}

a.button-primary {
  color: #fff;
  text-decoration: none;
}

.button-primary__main {
  font-size: 1.4375em;
  font-weight: bold;
}

.button-primary__sub {
  margin-top: 0.3em;
}

.header__button .button-primary + .button-primary {
  margin-left: 0.5em;
}

.icon-paper {
  width: 1.9375em;
}

.icon-calc {
  width: 2.1875em;
}

/*グロナビ*/
.hdrNav-list {
  margin-top: 1.5625em;
  padding-bottom: 1em;
}

.hdrNav-list__item {
  width: 9.6875em;
  border-right: dotted 1px #222222;
}
.hdrNav-list__item:first-child {
  border-left: dotted 1px #222222;
}

.hdrNav-list__item-link {
  display: block;
  z-index: 1;
  position: relative;
  padding-top: 2.875em;
  padding-bottom: 0.1875em;
  font-weight: bold;
  text-align: center;
}
a.hdrNav-list__item-link {
  color: inherit;
  text-decoration: none;
}

.hdrNav-list__item-link::after {
  -webkit-transform: translate(-50%, 0);
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 50%;
  width: 2.5em;
  height: 2.5em;
  transform: translate(-50%, 0);
  background: url(../images/icon_house_orange.png) center center/contain no-repeat;
  content: "";
}
.hdrNav-list__item-link.reason::after {
  background: url(../images/icon_light_orange.png) center center/contain no-repeat;
}
.hdrNav-list__item-link.first::after {
  background: url(../images/icon_leaf_orange.png) center center/contain no-repeat;
}
.hdrNav-list__item-link.menu::after {
  background: url(../images/icon_roller_orange.png) center center/contain no-repeat;
}
.hdrNav-list__item-link.works::after {
  background: url(../images/icon_file_orange.png) center center/contain no-repeat;
}
.hdrNav-list__item-link.company::after {
  background: url(../images/icon_building_orange.png) center center/contain no-repeat;
}
.hdrNav-list__item-link.diagnosis::after {
  background: url(../images/icon_diagnosis_orange.png) center center/contain no-repeat;
}
.hdrNav-list__item-link.seminar::after {
  background: url(../images/icon_comment_orange.png) center center/contain no-repeat;
}
.hdrNav-list__item-link.showroom::after {
  background: url(../images/icon_shop_orange.png) center center/contain no-repeat;
}
.hdrNav-list__item-link.staff-blog::after {
  background: url(../images/icon_pen.png) center center/79% no-repeat;
}

.swipe_wrap {
  max-height: 400px;
  overflow: hidden;
}

.swipe-item {
  width: 100%;
}

.hdr_slidemenu_top {
  margin: 1em auto;
}

.hdr_slide_top-item + .hdr_slide_top-item {
  margin-top: 0.7em;
}

.hdr_slide_top-item-link {
  display: block;
  z-index: 1;
  position: relative;
  width: 85%;
  margin-right: auto;
  margin-left: auto;
  padding: 1em;
  border: solid 1px #353333;
  border-radius: 5px;
  background: #DF5012;
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
}
a.hdr_slide_top-item-link {
  color: #fff !important;
  text-decoration: none;
}

.hamburger-inner {
  padding: 1.5em;
}

.hamburger-tel {
  display: block;
  overflow: hidden;
  border-radius: 5px;
  color: #fff;
  text-align: center;
}
a.hamburger-tel {
  color: #fff;
  text-decoration: none;
}

.hamburger-tel__num {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.2em;
  background: #f06a31;
  font-size: 2.5em;
  font-weight: bold;
}
.hamburger-tel__num::before {
  width: 1em;
  height: 1em;
  margin-right: 0.2em;
  background: url(../images/icon_tel2.png) center center/contain no-repeat;
  content: "";
}
.hamburger-tel__txt {
  display: block;
  padding: 0.2em;
  background: #DF5012;
}

.hamburger-nav {
  -ms-flex-wrap: wrap;
  gap: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 1em;
}
.hamburger-nav__item {
  width: calc(50% - .25em);
  list-style: none;
}
.hamburger-nav__item.-wide {
  width: 100%;
}
.hamburger-nav__item.-wide .hamburger-nav__link {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  height: 4.5em;
}
.hamburger-nav__item.-bold {
  margin-top: 0.5em;
}
.hamburger-nav__item.-bold .hamburger-nav__link {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  height: 6em;
  background: #ffb596;
}
.hamburger-nav__item.-bold .hamburger-nav__icon {
  width: 2.5em;
  height: 2.5em;
}
.hamburger-nav__link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  gap: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 6em;
  border-radius: 5px;
  background: #ddd;
}
a.hamburger-nav__link {
  color: #333;
  text-decoration: none;
}

.hamburger-nav__icon {
  width: 2em;
  height: 2em;
}
.hamburger-nav__txt {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 1.3em;
  font-weight: bold;
}
.hamburger-nav__txt .font_small {
  font-size: 0.55em;
}
.hamburger-nav__txt .font_large {
  font-size: 1.3em;
}

.hamburger-conversion {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6em;
  margin-top: 0.5em;
  border-radius: 5px;
  background: #DF5012;
  color: #fff;
}
.hamburger-conversion::after {
  margin-left: 2.8em;
  border-width: 0.6em 0 0.6em 0.8em;
  border-color: transparent transparent transparent #fff;
  content: "";
}
a.hamburger-conversion {
  color: #fff;
  text-decoration: none;
}

.hamburger-conversion__icon {
  width: 2.8em;
  margin-right: 1.5em;
}
.hamburger-conversion__txt {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-weight: bold;
}
.hamburger-conversion__txt .font_small {
  font-size: 1em;
}
.hamburger-conversion__txt .font_large {
  font-size: 1.8em;
}

.hdr-slide {
  margin-top: 3em;
}
.hdr-slide__item {
  width: 30em;
  margin: 0 1em;
}

/* フッター */
.scroll-height {
  padding-bottom: 6.7em;
}

/* 会社情報 */
.ftr address {
  font-style: normal;
}

/* コピーライト */
.copy {
  padding-top: 2.1875em;
  padding-bottom: 2.1875em;
  background: #353333;
  color: #fff;
  font-size: 0.75em;
  text-align: center;
}
.copy small {
  font-size: 100%;
}

/* ページトップ */
/* PC表示で画像を使用しない場合、imgタグを消して下さい。
 * 色・形等、適宜変更して下さい。
*/
/*
.pagetop img {
	display: none;
}
*/
/* ベース */
.pagetop {
  z-index: 10;
  width: 3.125em;
  height: 3.125em;
  cursor: pointer;
}

/* リキャプチャ */
.grecaptcha-badge {
  z-index: 100;
}

.ftr {
  margin-top: 7.5em;
  border-top: solid 5px #DF5012;
}

.ftr-item {
  width: 50%;
}

.ftr-info {
  width: 82%;
  margin-top: 3.75em;
  margin-right: 0;
  margin-right: 0.5em;
  margin-left: auto;
  padding-bottom: 4.5em;
}

.ftr-info__logo {
  width: 18.625em;
}

.ftr-info__company-name {
  margin-top: 1em;
  font-weight: bold;
}

.ftr-info__detail-wrap {
  margin-top: 1em;
}

.ftr-info__detail-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.ftr-info__detail-term::after {
  content: "／";
}

.ftr-info__box-title {
  display: inline-block;
  padding: 0.2em 0.6em;
  background: #353333;
  color: #fff;
}

.ftr-info__box {
  margin-top: 1.875em;
}

.ftr-info__box-text {
  max-width: 577px;
  margin-top: 0.625em;
}

.ftr-links {
  padding: 2em 1em;
  border-top: dotted 1px;
}

.ftr-links-list__item a {
  color: inherit;
}

.ftr-links-list {
  width: 19%;
}
.ftr-links-list + .ftr-links-list {
  margin-left: 1.5em;
}
.ftr-links-list:last-of-type {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 3em;
  margin-left: 0;
}
.ftr-links-list:last-of-type .ftr-links-list__item {
  width: 13em;
  font-size: 1em;
}

.ftr-links-list__item {
  font-size: 1.125em;
  line-height: 2;
  list-style: none;
  text-decoration: underline;
}

.ftrScroll {
  z-index: 10;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.8);
}
.ftrScroll .widthBase {
  display: block;
  position: relative;
  height: 100%;
}
.ftrScroll-inner {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ftr-scroll-bnr {
  z-index: 0;
  position: relative;
  margin-right: 1.25em;
  padding: 1.25em;
}

.pagetop-wrap {
  -webkit-transform: translateY(-50%);
  position: fixed;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

a.scroll-bnr-tel-link[href^="tel:"] {
  display: none;
}

.no-form {
  right: 1em;
  bottom: 6em;
  left: auto;
  width: 3em;
  background: none;
}

.floating-bnr {
  display: none;
  z-index: 100;
  position: fixed;
  bottom: 11em;
  left: 0;
  width: 25.4375em;
  height: 13.375em;
  font-size: 0.7em;
}
.floating-bnr.show {
  display: block;
}
.floating-bnr.hidden {
  display: none;
}
.floating-bnr .close-btn {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  background: #333;
  color: #fff;
}
.floating-bnr .close-btn:hover {
  cursor: pointer;
  opacity: 0.8;
}

/* --------------------------------------------
   コンバージョン
-------------------------------------------- */
.sns_cnt_wrap {
  width: 100%;
  max-width: 1080px;
  margin-top: 2.2em;
  margin-right: auto;
  margin-left: auto;
  padding: 0.5em;
}

.sns_cnt_first {
  width: 60%;
  margin-right: 2%;
}

.sns_cnt_second {
  width: 38%;
}

.searchBlock {
  zoom: 1;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.3%;
  overflow: hidden;
  border: solid 1px #BABBBB;
  background-color: #fff;
}

#sInput {
  -webkit-transition: all 0.4s ease 0s;
  width: 85%;
  height: 35px;
  padding: 0 10px;
  float: left;
  transition: all 0.4s ease 0s;
}

#sSubmit {
  width: 15%;
  height: 35px;
  float: right;
  cursor: pointer;
}

/* サイト内検索 虫眼鏡マークでない場合削除 */
#sSubmit {
  display: none;
}

.l_submit {
  margin-right: 2%;
  font-size: 1.5em;
  cursor: pointer;
}

/* サイト内検索 虫眼鏡マークでない場合削除 */
/* プレースホルダー */
#hdrSearchInput:-moz-placeholder-shown {
  /*	color: inherit;*/
}
#hdrSearchInput:-ms-input-placeholder {
  /*	color: inherit;*/
}
#hdrSearchInput:placeholder-shown {
  /*	color: inherit;*/
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
#hdrSearchInput::-webkit-input-placeholder {
  /*	color: inherit;*/
}

/* Firefox 18- */
#hdrSearchInput:-moz-placeholder {
  /*	color: inherit; opacity: 1;*/
}

/* Firefox 19+ */
#hdrSearchInput::-moz-placeholder {
  /*	color: inherit; opacity: 1;*/
}

/* IE 10+ */
#hdrSearchInput:-ms-input-placeholder {
  /*	color: inherit;*/
}

/* プレースホルダー フォーカス時 */
#sInput:focus {
  -webkit-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
}

#sInput:focus::-webkit-input-placeholder {
  -webkit-transition: all 0.4s ease 0s;
  color: transparent;
  transition: all 0.4s ease 0s;
}

#sInput:focus:-moz-placeholder {
  -moz-transition: all 0.4s ease 0s;
  color: transparent;
  transition: all 0.4s ease 0s;
}

#sInput:focus::-moz-placeholder {
  -moz-transition: all 0.4s ease 0s;
  color: transparent;
  transition: all 0.4s ease 0s;
}

/* Facebookのレスポンシブ化 */
/* FBの幅を最大の500、縦幅がお隣さんと揃う高さに、data-adapt-container-width="true"にし、あとはコンテナのpaddingで制御すれば良さそう */
.fbBox {
  padding: 5%;
}

/* SNSボタン */
.snsText {
  color: #3E3A39;
  font-size: 0.9rem;
  vertical-align: middle;
}
.snsText::after {
  margin-right: 1em;
  vertical-align: middle;
  content: "⇒";
}

.snsBlock {
  display: inline-block;
  line-height: 0;
  vertical-align: middle;
}
.snsBlock li {
  display: inline-block;
  margin: auto 2px;
  vertical-align: middle;
}
.snsBlock li iframe {
  vertical-align: middle;
}

/* RSS */
.fa-rss-square {
  color: #dd770e;
}

/* RSSボタン重ね版 ※コンテナのpadding上下別設定なども必要かも */
/*
.fa-stack {
	margin-top: -.3rem
}
.fa-rss {
	color: #FFF;
}
.fa-square {
	color: #dd770e;
	font-size: 1.5rem !important;
}
*/
.bg-slash {
  background: url(../images/bg_slash.png) 0 0/2em;
}

.bg-slash-short {
  width: 1180px;
  max-width: 95%;
  margin: 3em auto 3em;
  background: url(../images/bg_slash.png) 0 0/2em;
}

.conversion-secondary {
  margin-top: 0em;
  padding: 2.375em 0 2.375em;
}

.conversion-secondary.bg-slash-short {
  margin-top: 3em;
}

.conversion-secondary-wrap {
  z-index: 1;
  position: relative;
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto;
}

.conversion-seconadary-contact {
  z-index: 1;
  position: absolute;
  top: 7.8em;
  right: 16.1em;
  width: 20.5625em;
  height: 4em;
  border-radius: 5em;
}

.section_conversion {
  margin-top: 7.0625em;
}

.con-deterioration {
  margin-top: 3.125em;
  margin-bottom: 3.125em;
  border: solid 4px #353333;
  background: #F2F2F2;
}

.con-deterioration__primary {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  z-index: 1;
  position: relative;
  flex: 1;
  padding: 1.3125em 0;
}

.con-deterioration__secondary {
  width: 32%;
  max-width: 21.25em;
}

.con-deterioration__title {
  margin-left: 2em;
  color: #DF1212;
  font-size: 2.5em;
  font-weight: bold;
  text-align: center;
}

.con-deterioration__text {
  margin-top: 0.5em;
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.79999;
  text-align: center;
}

.con-deterioration__button {
  margin-top: 1.5em;
  text-align: center;
}
.con-deterioration__button .common-btn {
  font-size: 1.1875em;
}

.con-deterioration__primary-stamp {
  -webkit-transform: rotate(-10deg);
  top: -2em;
  left: 0.5em;
  width: 7.3125em;
  height: 7.3125em;
  transform: rotate(-10deg);
}

.con-flex-box {
  margin-top: 3.75em;
}

.con-flex-item {
  width: 48.3%;
  border: solid 1px #353333;
}
a.con-flex-item {
  text-decoration: none;
}

.con-flex-item__category {
  padding: 0.5em 0;
  background: #DF5012;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.con-flex-item__title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em;
  background: #F2F2F2;
  color: #DF5012;
  font-size: 1.875em;
  font-weight: bold;
  text-align: center;
}

.pd-text {
  margin-left: 1em;
  padding: 0 0.2em;
  border-radius: 5px;
  background: #DF1212;
  color: #fff;
  font-size: 0.6em;
  font-weight: 500;
}

@media screen and (max-width: 1900px) {
  /* ベース部分 */
  /* ユーティリティ・レイアウト等 */
  /* 共通パーツ */
  /* ヘッダー */
  /* コンバージョン */
}

@media screen and (max-width: 1540px) {
  /* ベース部分 */
  /* ユーティリティ・レイアウト等 */
  /* 共通パーツ */
  /* ヘッダー */
  /* フッター */
  /* コンバージョン */
}

@media screen and (max-width: 1260px) {
  /* ベース部分 */
  /* ユーティリティ・レイアウト等 */
  /* 共通パーツ */
  /* ヘッダー */
  .headerLogo__wrap {
    font-size: 0.9em;
  }
  /* フッター */
  .ftr-info {
    width: 90%;
  }
  /* コンバージョン */
}

@media screen and (max-width: 1100px) {
  /* ベース部分 */
  body, input, textarea, td, th {
    font-size: 1.4vw;
  }
  a:hover {
    text-decoration: none;
  }
  /* 【topics】 */
  /* 【sidebar】 */
  /* 共通パーツ */
  /* ユーティリティ・レイアウト等 */
  /* 【レイアウト】 */
  .widthBase {
    width: 95%;
    padding: 0;
  }
  /* 【utility】 */
  /* （親）フレックスボックス基本設定 */
  .u-flex-t-l {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  /* （親）上から下へ垂直方向に配置 */
  .u-flex-fdc-t-l {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  /* （親）横複数行に配置 */
  .u-flex-fww-t-l {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  /* （親）親要素の高さいっぱいに配置 */
  .u-flex-ais-t-l {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    height: auto;
  }

  /* （親）クロス軸の中央に配置 */
  .u-flex-aic-t-l {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  /* （親）中央に配置 */
  .u-flex-jcc-t-l {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  /* （親）等間隔に配置 */
  .u-flex-jcsa-t-l {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }

  /* （親）最初と最後のアイテムは端に、残りは等間隔で配置 */
  .u-flex-jcsb-t-l {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  /* 最初のメインとなるサイズを元に、幅と高さのプロパティを同じ値に */
  .u-flex-item-fb-half-t-l {
    -ms-flex-preferred-size: 49%;
    flex-basis: 49%;
    max-width: 49%;
  }

  .u-flex-item-fb-full-t-l {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }

  /* 表示優先度 */
  .u-flex-item-o-0-t-l {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }

  .u-flex-item-o-1-t-l {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  /* 【テキストスタイル】 */
  /* 【font-size】 */
  /* 【余白】 */
  /* 【フロート】 */
  /* 共通パーツ */
  /* MW WP Form */
  /* ヘッダー */
  .br_lg {
    display: block;
  }
  /* フッター */
  .scroll-height {
    padding-bottom: 6.9em;
  }
  /* コンバージョン */
}

@media screen and (max-width: 840px) {
  /* ベース部分 */
  body, input, textarea, td, th {
    font-size: 1.8vw;
  }
  /* 【topics】 */
  /* 【sidebar】 */
  /* 共通パーツ */
  /* ユーティリティ・レイアウト等 */
  /* 【レイアウト】 */
  .tab_center {
    text-align: center !important;
  }

  .tab_left {
    text-align: left !important;
  }

  .tab_right {
    text-align: right !important;
  }

  .col_tab_reset[class*=col] {
    margin-right: 2.8571428571%;
  }

  .col_tab_reset[class*=block] {
    margin-right: 0%;
  }

  .gm_small .col_tab_reset[class*=col] {
    margin-right: 1.4084507042%;
  }

  .col2_tab[class*=col]:nth-of-type(even),
.col3_tab[class*=col]:nth-of-type(3n),
.col4_tab[class*=col]:nth-of-type(4n),
.col5_tab[class*=col]:nth-of-type(5n),
.col6_tab[class*=col]:nth-of-type(6n),
.col7_tab[class*=col]:nth-of-type(7n),
.col8_tab[class*=col]:nth-of-type(8n) {
    margin-right: 0;
  }

  .col2_tab {
    width: 48.5714285714%;
  }

  .col3_tab {
    width: 31.4285714286%;
  }

  .col4_tab {
    width: 22.8571428571%;
  }

  .gm_small .col2_tab {
    width: 49.2957746479%;
  }

  .gm_small .col3_tab {
    width: 32.3943661972%;
  }

  .gm_small .col4_tab {
    width: 23.9436619718%;
  }

  .col2_tab[class*=block] {
    width: 50%;
  }

  .col3_tab[class*=block] {
    width: 33.3%;
  }

  .col4_tab[class*=block] {
    width: 25%;
  }

  .col_tab_all_reset[class*=col] {
    width: 100%;
    margin-right: 0;
    float: none;
  }
  .pc {
    display: none;
  }
  .tab {
    display: block;
  }
  .tab_und {
    display: block;
  }
  .tab_ib {
    display: inline-block;
  }
  .tab_und_ib {
    display: inline-block;
  }
  .tab_hide {
    display: none;
  }
  .tab_hide_ib {
    display: none;
  }
  /* 【utility】 */
  .u-flex-reset_tab_und {
    display: block;
  }
  /* （親）フレックスボックス基本設定 */
  .u-flex-t {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  /* （親）上から下へ垂直方向に配置 */
  .u-flex-fdc-t {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  /* （親）横複数行に配置 */
  .u-flex-fww-t {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  /* （親）親要素の高さいっぱいに配置 */
  .u-flex-ais-t {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    height: auto;
  }

  /* （親）クロス軸の中央に配置 */
  .u-flex-aic-t {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  /* （親）中央に配置 */
  .u-flex-jcc-t {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  /* （親）等間隔に配置 */
  .u-flex.u-flex-jcsa-t {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }

  /* （親）最初と最後のアイテムは端に、残りは等間隔で配置 */
  .u-flex-jcsb-t {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  /* 最初のメインとなるサイズを元に、幅と高さのプロパティを同じ値に */
  .u-flex-item-fb-half-t {
    -ms-flex-preferred-size: 49%;
    flex-basis: 49%;
    max-width: 49%;
  }

  .u-flex-item-fb-full-t {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }

  /* 表示優先度 */
  .u-flex-item-o-0-t {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }

  .u-flex-item-o-1-t {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  /* アコーディオン */
  .accordion-tab {
    position: relative;
    cursor: pointer;
  }

  .u-hide-tab {
    display: none;
  }

  /* アコーディオン矢印（任意） */
  .accordion-tab::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    content: ">";
  }

  .accordion-tab.open::after {
    -webkit-transform: rotate(-90deg);
    right: 1.4em;
    transform: rotate(-90deg);
  }
  /* 【テキストスタイル】 */
  /* 【font-size】 */
  .f10_tab {
    font-size: 10px;
  }

  .f11_tab {
    font-size: 11px;
  }

  .f12_tab {
    font-size: 12px;
  }

  .f13_tab {
    font-size: 13px;
  }

  .f14_tab {
    font-size: 14px;
  }

  .f15_tab {
    font-size: 15px;
  }

  .f16_tab {
    font-size: 16px;
  }

  .f18_tab {
    font-size: 18px;
  }

  .f20_tab {
    font-size: 20px;
  }

  .f21_tab {
    font-size: 21px;
  }

  .f22_tab {
    font-size: 22px;
  }

  .f24_tab {
    font-size: 24px;
  }

  .f26_tab {
    font-size: 26px;
  }

  .f28_tab {
    font-size: 28px;
  }

  .f42_tab {
    font-size: 42px;
  }

  .f56_tab {
    font-size: 56px;
  }
  /* 【余白】 */
  .mt00_tab {
    margin-top: 0 !important;
  }

  .mt05_tab {
    margin-top: 5px !important;
  }

  .mt10_tab {
    margin-top: 10px !important;
  }

  .mt15_tab {
    margin-top: 15px !important;
  }

  .mt20_tab {
    margin-top: 20px !important;
  }

  .mt25_tab {
    margin-top: 25px !important;
  }

  .mt30_tab {
    margin-top: 30px !important;
  }

  .mt40_tab {
    margin-top: 40px !important;
  }

  .mt50_tab {
    margin-top: 50px !important;
  }

  .ml00_tab {
    margin-left: 0 !important;
  }

  .ml05_tab {
    margin-left: 5px !important;
  }

  .ml10_tab {
    margin-left: 10px !important;
  }

  .ml15_tab {
    margin-left: 15px !important;
  }

  .ml20_tab {
    margin-left: 20px !important;
  }

  .ml25_tab {
    margin-left: 25px !important;
  }

  .ml30_tab {
    margin-left: 30px !important;
  }

  .mr00_tab {
    margin-right: 0 !important;
  }

  .mr05_tab {
    margin-right: 5px !important;
  }

  .mr10_tab {
    margin-right: 10px !important;
  }

  .mr15_tab {
    margin-right: 15px !important;
  }

  .mr20_tab {
    margin-right: 20px !important;
  }

  .mr25_tab {
    margin-right: 25px !important;
  }

  .mr30_tab {
    margin-right: 30px !important;
  }

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

  .mb05_tab {
    margin-bottom: 5px !important;
  }

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

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

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

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

  .mb30_tab {
    margin-bottom: 30px !important;
  }
  .pt00_tab {
    padding-top: 0 !important;
  }

  .pt05_tab {
    padding-top: 5px !important;
  }

  .pt10_tab {
    padding-top: 10px !important;
  }

  .pt15_tab {
    padding-top: 15px !important;
  }

  .pt20_tab {
    padding-top: 20px !important;
  }

  .pt25_tab {
    padding-top: 25px !important;
  }

  .pt30_tab {
    padding-top: 30px !important;
  }

  .pl00_tab {
    padding-left: 0 !important;
  }

  .pl05_tab {
    padding-left: 5px !important;
  }

  .pl10_tab {
    padding-left: 10px !important;
  }

  .pl15_tab {
    padding-left: 15px !important;
  }

  .pl20_tab {
    padding-left: 20px !important;
  }

  .pl25_tab {
    padding-left: 25px !important;
  }

  .pl30_tab {
    padding-left: 30px !important;
  }

  .pr00_tab {
    padding-right: 0 !important;
  }

  .pr05_tab {
    padding-right: 5px !important;
  }

  .pr10_tab {
    padding-right: 10px !important;
  }

  .pr15_tab {
    padding-right: 15px !important;
  }

  .pr20_tab {
    padding-right: 20px !important;
  }

  .pr25_tab {
    padding-right: 25px !important;
  }

  .pr30_tab {
    padding-right: 30px !important;
  }

  .pb00_tab {
    padding-bottom: 0 !important;
  }

  .pb05_tab {
    padding-bottom: 5px !important;
  }

  .pb10_tab {
    padding-bottom: 10px !important;
  }

  .pb15_tab {
    padding-bottom: 15px !important;
  }

  .pb20_tab {
    padding-bottom: 20px !important;
  }

  .pb25_tab {
    padding-bottom: 25px !important;
  }

  .pb30_tab {
    padding-bottom: 30px !important;
  }
  /* 【フロート】 */
  .fl.tab_set,
.fr.tab_set {
    float: none;
  }
  /* 共通パーツ */
  .common-btn.narrow {
    min-width: 4em;
  }
  .level-box__inner {
    padding: 2.5em;
  }
  .level-box__top-primary {
    width: 100%;
    max-width: 100%;
    padding-bottom: 1em;
  }
  .level-box__top-secondary {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    width: 100%;
    margin-left: 0;
  }
  .level-box__top-secondary::after {
    -webkit-transform: translate(-50%, 0);
    left: 50%;
    transform: translate(-50%, 0);
  }
  .level-box__top-secondary-item {
    margin-top: 2em;
  }
  .level-box__top-secondary-item:nth-of-type(1) {
    margin-left: 5em;
  }
  .catch-title__copy {
    font-size: 0.85em;
  }
  .catch-title__main {
    font-size: 1.5em;
  }
  .utility-cnt__image {
    width: 40%;
  }
  /* MW WP Form */
  h2.entry-title {
    margin-right: 0;
    margin-left: 0;
  }
  .repair-menu {
    font-size: 0.8em;
  }
  .repair-menu__item-img {
    width: 40%;
  }
  .card_sub__title {
    font-size: 1em;
  }
  .card_sub__cnt {
    font-size: 0.5em;
  }
  /* ヘッダー */
  .scroll-prevent {
    z-index: -1;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /* モバイルメニュー */
  .hdr_slidemenu {
    -webkit-transform: translateX(100%);
    display: none;
    z-index: -1;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    overflow-y: auto;
    transform: translateX(100%);
    background-color: #fff;
    opacity: 0;
  }

  /* オープン時 */
  .hdr_slidemenu.select {
    -webkit-transform: translateX(0);
    display: block;
    z-index: 100001;
    width: 100%;
    transform: translateX(0);
    opacity: 1;
    /*追従するモバイルロゴより上に*/
  }

  .hdr_slidemenu_top_nav {
    -ms-grid-columns: 13.75em 13.75em;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    gap: 1em;
    display: -ms-grid;
    display: grid;
    grid-template-columns: 13.75em 13.75em;
    justify-content: center;
    margin-top: 1.25em;
    list-style-type: none;
  }

  /* モバイルメニュー */

  /* モバイルメニュー 追従 */

  /* モバイル お問い合わせ */
  .hdr_slidemenu_top_item {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 13.75em;
    height: 13.75em;
    padding: 0.5em;
    border-radius: 50%;
    background-color: #fff;
    text-align: center;
  }
  .hdr_slidemenu_top_item--reason a {
    background-image: url(../images/icon_light.png);
  }
  .hdr_slidemenu_top_item--menu a {
    background-image: url(../images/icon_brush.png);
  }
  .hdr_slidemenu_top_item--beginner a {
    background-image: url(../images/icon_biginer.png);
  }
  .hdr_slidemenu_top_item--showroom a {
    background-image: url(../images/icon_shop.png);
  }
  .hdr_slidemenu_top_item--company a {
    background-image: url(../images/icon_building.png);
  }
  .hdr_slidemenu_top_item--seminar a {
    background-image: url(../images/icon_human.png);
  }
  .hdr_slidemenu_top_item a {
    padding-top: 3em;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    background-size: 1.875em 1.875em;
    font-size: 1em;
    font-weight: bold;
  }
  .hdr_slidemenu_nav {
    -ms-flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 1em;
    padding-right: 0.625em;
    padding-left: 0.625em;
    list-style-type: none;
  }
  .hdr_slidemenu_nav li {
    width: 49%;
    margin-top: 0.3125em;
    padding: 0.8em 0.5em;
    border-radius: 6px;
    background-color: #fff;
  }
  .hdr_slidemenu_nav li.hdr_slidemenu_nav-item--lg {
    margin-right: 0;
  }
  .hdr_slidemenu_nav li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1em;
  }
  .hdr_slidemenu_nav li a::before {
    -webkit-transform: scaleX(0.5);
    display: inline-block;
    margin-right: 0.5em;
    transform: scaleX(0.5);
    color: #DF5012;
    content: ">";
  }
  .menu_bar {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background-color: #DF5012;
    color: #fff;
    cursor: pointer;
  }
  .menu_bar i {
    font-size: 1.7rem;
  }
  .menuTitle {
    font-size: 0.8rem;
  }
  .menu_bar.select {
    padding-top: 0.3em;
  }
  .menu_bar.select .menuTitle {
    margin-top: 0.3em;
    letter-spacing: 0;
  }
  .menu_bar.select i {
    font-size: 1.3rem;
    font-weight: normal;
  }
  .hdrLogo.scroll,
.headerLogo.scroll {
    z-index: 100000;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    padding: 1em;
    background-color: #fff;
  }
  .contact_area li {
    width: 100%;
    background: #353333;
  }
  .contact_area li:nth-of-type(2) {
    margin-left: auto;
  }
  .contact_area li a {
    display: block;
    padding: 10vw 0 3vw;
    border-right: 1px solid #fff;
    color: #fff;
    font-weight: bold;
  }
  .hdr_slidemenu .contact_area li a {
    padding: 5vw 0;
  }
  .contact_area li.contact_area_tel a {
    background: url(../images/hdr_phone.svg) center 2vw/4vw no-repeat;
  }
  .contact_area li.contact_area_web a {
    background: url(../images/hdr_mail.svg) center 3vw/6vw no-repeat;
  }
  .contact_area li a:hover {
    opacity: 0.7;
  }
  .headerLogo {
    width: 100%;
  }
  .headerLogo__other {
    display: none;
  }
  .header__embrem {
    margin-left: 0;
  }
  .tel__number {
    font-size: 2.1em;
  }
  /* フッター */
  .scroll-height {
    padding-bottom: 6.2em;
  }
  .pagetop {
    /* .fa-stack */
    /*	position: relative;*/
    display: none;
    width: 2em;
    height: 2em;
    /* .fa-2x */
    font-size: 2em;
    /* .fa-lg */
    font-size: 1.33333333em;
    line-height: 2em;
    vertical-align: middle;
  }
  .pagetop::before, .pagetop::after {
    /* .fa */
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
  }
  .pagetop::before {
    /* .fa-stack-1x, .fa-stack-2x */
    position: absolute;
    left: 0;
    width: 100%;
    color: #dbdcdc;
    /* .fa-stack-2x */
    font-size: 2em;
    text-align: center;
    /* .fa-circle */
    content: "";
  }
  .pagetop::after {
    /* .fa-stack-1x, .fa-stack-2x */
    position: absolute;
    left: 0;
    width: 100%;
    /* .fa-inverse */
    color: #fff;
    /* .fa-stack-1x */
    line-height: inherit;
    text-align: center;
    /* .fa-angle-up  */
    content: "";
  }
  .pagetop * {
    /* imgタグを消す */
    display: none;
  }
  .ftr-info {
    width: 95%;
  }
  .ftr-links-list {
    width: 30%;
  }
  .ftr-scroll-bnr {
    margin-right: auto;
    margin-left: auto;
  }
  a.scroll-bnr-tel-link[href^="tel:"] {
    display: block;
    z-index: 1;
    position: absolute;
    top: 1.2em;
    left: 15.3em;
    width: 16em;
    height: 3.7em;
  }
  /* コンバージョン */
  .sns_cnt_wrap {
    display: block;
    margin-top: 0;
    margin-top: 2em;
    padding: 1em;
    background-color: #F2F2F2;
  }
  .sns_cnt_first {
    width: 100%;
    margin-right: 0;
  }
  .sns_cnt_second {
    width: 100%;
  }
  .snsText::after {
    content: none;
  }
  /* SNSボタン */
  .sns {
    margin: 0 auto;
    text-align: center;
  }
  .sns ul {
    margin: 0 auto 2% -2%;
    list-style: outside none none;
  }
  .sns li {
    width: 24%;
    margin-bottom: 2%;
    margin-left: 1%;
    float: left;
  }
  .sns li:nth-child(4n) {
    margin-right: 0;
  }
  .sns li a {
    display: block;
    position: relative;
    padding: 10px 2px;
    border-radius: 6px;
    color: #fff;
    font-size: 1.1em;
    text-align: center;
    text-decoration: none;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
  }
  .sns li a:hover {
    -webkit-box-shadow: none;
    -webkit-transform: translate3d(0px, 5px, 1px);
    transform: translate3d(0px, 5px, 1px);
    box-shadow: none;
  }
  .sns .twitter a {
    -webkit-box-shadow: 0 5px 0 #0092ca;
    background: #00acee none repeat scroll 0 0;
    box-shadow: 0 5px 0 #0092ca;
  }
  .sns .twitter a:hover {
    background: #0092ca none repeat scroll 0 0;
  }
  .sns .facebook a {
    -webkit-box-shadow: 0 5px 0 #2c4373;
    background: #3b5998 none repeat scroll 0 0;
    box-shadow: 0 5px 0 #2c4373;
  }
  .sns .facebook a:hover {
    background: #2c4373 none repeat scroll 0 0;
  }
  .sns .hatebu a {
    -webkit-box-shadow: 0 5px 0 #43638b;
    background: #5d8ac1 none repeat scroll 0 0;
    box-shadow: 0 5px 0 #43638b;
  }
  .sns .hatebu a:hover {
    background: #43638b none repeat scroll 0 0;
  }
  .sns .line a {
    -webkit-box-shadow: 0 5px 0 #219900;
    background: #25af00 none repeat scroll 0 0;
    box-shadow: 0 5px 0 #219900;
  }
  .sns .line a:hover {
    background: #219900 none repeat scroll 0 0;
  }
  .sns .pocket a {
    -webkit-box-shadow: 0 5px 0 #c0392b;
    background: #f03e51 none repeat scroll 0 0;
    box-shadow: 0 5px 0 #c0392b;
  }
  .sns .pocket a:hover {
    background: #c0392b none repeat scroll 0 0;
  }
  .sns .rss a {
    -webkit-box-shadow: 0 5px 0 #e09900;
    background: #ffb53c none repeat scroll 0 0;
    box-shadow: 0 5px 0 #e09900;
  }
  .sns .rss a:hover {
    background: #e09900 none repeat scroll 0 0;
  }
  .sns .feedly a {
    -webkit-box-shadow: 0 5px 0 #74a436;
    background: #87c040 none repeat scroll 0 0;
    box-shadow: 0 5px 0 #74a436;
  }
  .sns .feedly a:hover {
    background: #74a436 none repeat scroll 0 0;
  }
  .conversion-seconadary-contact {
    font-size: 0.79em;
  }
  .con-deterioration__secondary {
    width: 30%;
  }
  .con-deterioration__title {
    font-size: 2em;
  }
  .con-deterioration__primary-stamp {
    left: 0;
    width: 6.25em;
    height: 6.25em;
  }
}

@media screen and (max-width: 480px) {
  /* ベース部分 */
  body, input, textarea, td, th {
    font-size: 3.3vw;
  }
  a[href^="tel:"] {
    /* ベース部分 */
    pointer-events: auto;
  }
  #tinymce .alignleft,
#tinymce img.alignleft,
.section .alignleft,
.section img.alignleft {
    display: inline-block;
    width: 100% !important;
    margin-bottom: 15px;
    margin-left: 0;
    float: none;
    text-align: center;
  }
  #tinymce .alignright,
#tinymce img.alignright,
.section .alignright,
.section img.alignright {
    display: inline-block;
    width: 100% !important;
    margin-bottom: 15px;
    margin-left: 0;
    float: none;
    text-align: center;
  }
  /* 【topics】 */
  .topics_item img {
    margin-bottom: 1em;
  }
  /* 【sidebar】 */
  /* 共通パーツ */
  /* ユーティリティ・レイアウト等 */
  /* 【レイアウト】 */
  .sp_center {
    text-align: center !important;
  }

  .sp_left {
    text-align: left !important;
  }

  .sp_right {
    text-align: right !important;
  }

  .col_sp_reset[class*=col] {
    margin-right: 2.8571428571% !important;
  }

  .col_sp_reset[class*=block] {
    margin-right: 0% !important;
  }

  .gm_small .col_sp_reset[class*=col] {
    margin-right: 1.4084507042% !important;
  }

  .col2_sp[class*=col]:nth-of-type(even),
.col3_sp[class*=col]:nth-of-type(3n),
.col4_sp[class*=col]:nth-of-type(4n),
.col5_sp[class*=col]:nth-of-type(5n),
.col6_sp[class*=col]:nth-of-type(6n),
.col7_sp[class*=col]:nth-of-type(7n),
.col8_sp[class*=col]:nth-of-type(8n) {
    margin-right: 0 !important;
  }

  .col2_sp {
    width: 48.5714285714% !important;
  }

  .col3_sp {
    width: 31.4285714286% !important;
  }

  .col4_sp {
    width: 22.8571428571% !important;
  }

  .gm_small .col2_sp {
    width: 49.2957746479% !important;
  }

  .gm_small .col3_sp {
    width: 32.3943661972% !important;
  }

  .gm_small .col4_sp {
    width: 23.9436619718% !important;
  }

  .col2_sp[class*=block] {
    width: 50% !important;
  }

  .col3_sp[class*=block] {
    width: 33.3% !important;
  }

  .col4_sp[class*=block] {
    width: 25% !important;
  }

  .col_sp_all_reset[class*=col],
.gm_small .col_sp_all_reset[class*=col],
.col_sp_all_reset[class*=block] {
    width: 100% !important;
    margin-right: 0 !important;
    float: none !important;
  }
  .tab {
    display: none;
  }
  .tab_over {
    display: none;
  }
  .tab_over_ib {
    display: none;
  }
  .tab_ib {
    display: none;
  }
  .tab_hide {
    display: block;
  }
  .tab_hide_ib {
    display: inline-block;
  }
  .sp {
    display: block;
  }
  .sp_ib {
    display: inline-block;
  }
  /* 【utility】 */
  .u-flex-reset_sp {
    display: block;
  }
  /* （親）フレックスボックス基本設定 */
  .u-flex-s {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  /* （親）上から下へ垂直方向に配置 */
  .u-flex-fdc-s {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  /* （親）横複数行に配置 */
  .u-flex-fww-s {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  /* （親）親要素の高さいっぱいに配置 */
  .u-flex-ais-s {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    height: auto;
  }

  /* （親）クロス軸の中央に配置 */
  .u-flex-aic-s {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  /* （親）中央に配置 */
  .u-flex-jcc-s {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  /* （親）等間隔に配置 */
  .u-flex.u-flex-jcsa-s {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }

  /* （親）最初と最後のアイテムは端に、残りは等間隔で配置 */
  .u-flex-jcsb-s {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  /* 最初のメインとなるサイズを元に、幅と高さのプロパティを同じ値に */
  .u-flex-item-fb-half-s {
    -ms-flex-preferred-size: 49%;
    flex-basis: 49%;
    max-width: 49%;
  }

  .u-flex-item-fb-full-s {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }

  /* 表示優先度 */
  .u-flex-item-o-0-s {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }

  .u-flex-item-o-1-s {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  /* iframeに自動振り分けされるクラス */
  .u-obj-box {
    padding-top: 80%;
  }

  /* アコーディオン */
  .accordion-sp {
    position: relative;
    cursor: pointer;
  }

  .u-hide-sp {
    display: none;
  }

  /* アコーディオン矢印（任意） */
  .accordion-sp::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    content: ">";
  }

  .accordion-sp.open::after {
    -webkit-transform: rotate(-90deg);
    right: 1.4em;
    transform: rotate(-90deg);
  }
  /* 【テキストスタイル】 */
  /* 【font-size】 */
  .f10_sp {
    font-size: 10px;
  }

  .f11_sp {
    font-size: 11px;
  }

  .f12_sp {
    font-size: 12px;
  }

  .f13_sp {
    font-size: 13px;
  }

  .f14_sp {
    font-size: 14px;
  }

  .f15_sp {
    font-size: 15px;
  }

  .f16_sp {
    font-size: 16px;
  }

  .f18_sp {
    font-size: 18px;
  }

  .f20_sp {
    font-size: 20px;
  }

  .f21_sp {
    font-size: 21px;
  }

  .f22_sp {
    font-size: 22px;
  }

  .f24_sp {
    font-size: 24px;
  }

  .f26_sp {
    font-size: 26px;
  }

  .f28_sp {
    font-size: 28px;
  }

  .f42_sp {
    font-size: 42px;
  }

  .f56_sp {
    font-size: 56px;
  }
  /* 【余白】 */
  .mt00_sp {
    margin-top: 0 !important;
  }

  .mt05_sp {
    margin-top: 5px !important;
  }

  .mt10_sp {
    margin-top: 10px !important;
  }

  .mt15_sp {
    margin-top: 15px !important;
  }

  .mt20_sp {
    margin-top: 20px !important;
  }

  .mt25_sp {
    margin-top: 25px !important;
  }

  .mt30_sp {
    margin-top: 30px !important;
  }

  .ml00_sp {
    margin-left: 0 !important;
  }

  .ml05_sp {
    margin-left: 5px !important;
  }

  .ml10_sp {
    margin-left: 10px !important;
  }

  .ml15_sp {
    margin-left: 15px !important;
  }

  .ml20_sp {
    margin-left: 20px !important;
  }

  .ml25_sp {
    margin-left: 25px !important;
  }

  .ml30_sp {
    margin-left: 30px !important;
  }

  .mr00_sp {
    margin-right: 0 !important;
  }

  .mr05_sp {
    margin-right: 5px !important;
  }

  .mr10_sp {
    margin-right: 10px !important;
  }

  .mr15_sp {
    margin-right: 15px !important;
  }

  .mr20_sp {
    margin-right: 20px !important;
  }

  .mr25_sp {
    margin-right: 25px !important;
  }

  .mr30_sp {
    margin-right: 30px !important;
  }

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

  .mb05_sp {
    margin-bottom: 5px !important;
  }

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

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

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

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

  .mb30_sp {
    margin-bottom: 30px !important;
  }
  .pt00_sp {
    padding-top: 0 !important;
  }

  .pt05_sp {
    padding-top: 5px !important;
  }

  .pt10_sp {
    padding-top: 10px !important;
  }

  .pt15_sp {
    padding-top: 15px !important;
  }

  .pt20_sp {
    padding-top: 20px !important;
  }

  .pt25_sp {
    padding-top: 25px !important;
  }

  .pt30_sp {
    padding-top: 30px !important;
  }

  .pl00_sp {
    padding-left: 0 !important;
  }

  .pl05_sp {
    padding-left: 5px !important;
  }

  .pl10_sp {
    padding-left: 10px !important;
  }

  .pl15_sp {
    padding-left: 15px !important;
  }

  .pl20_sp {
    padding-left: 20px !important;
  }

  .pl25_sp {
    padding-left: 25px !important;
  }

  .pl30_sp {
    padding-left: 30px !important;
  }

  .pr00_sp {
    padding-right: 0 !important;
  }

  .pr05_sp {
    padding-right: 5px !important;
  }

  .pr10_sp {
    padding-right: 10px !important;
  }

  .pr15_sp {
    padding-right: 15px !important;
  }

  .pr20_sp {
    padding-right: 20px !important;
  }

  .pr25_sp {
    padding-right: 25px !important;
  }

  .pr30_sp {
    padding-right: 30px !important;
  }

  .pb00_sp {
    padding-bottom: 0 !important;
  }

  .pb05_sp {
    padding-bottom: 5px !important;
  }

  .pb10_sp {
    padding-bottom: 10px !important;
  }

  .pb15_sp {
    padding-bottom: 15px !important;
  }

  .pb20_sp {
    padding-bottom: 20px !important;
  }

  .pb25_sp {
    padding-bottom: 25px !important;
  }

  .pb30_sp {
    padding-bottom: 30px !important;
  }
  /* 【フロート】 */
  .fl.sp_set,
.fr.sp_set {
    float: none;
  }
  /* 共通パーツ */
  .common-btn + .common-btn {
    margin-top: 1em;
    margin-left: 0;
  }
  .common-btn.narrow {
    min-width: 21.25em;
  }
  .message__inner {
    display: block;
  }
  .message__inner.under-message {
    display: block;
    padding: 1.25em 0.625em;
  }
  .message__text {
    padding-right: 0;
  }
  .message__text-move {
    width: 100%;
    height: 16.5em;
  }
  .message__text-move iframe {
    height: 100%;
  }
  .message__image {
    width: 70%;
    margin: 2em auto 0;
  }
  .message__name {
    margin-top: 0.5em;
    text-align: center;
  }
  .detail-item__inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .detail-item__inner-title {
    width: 100%;
  }
  .detail-item {
    width: 100%;
    max-width: 90%;
  }
  .detail-item__type {
    width: 100%;
  }
  .detail-item__service {
    width: 100%;
  }
  .detail-item__img {
    margin-top: 1em;
    margin-right: auto;
    margin-left: auto;
  }
  .level-box__title {
    font-size: 1.8em;
  }
  .level-box__inner {
    padding: 2.5em 1.25em;
  }
  .level-box__top-primary-text {
    font-size: 1.9em;
  }
  .level-box__top-secondary {
    display: none;
  }
  .level-box__top-secondary::after {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    top: 50%;
    height: 50em;
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .level-box__top-secondary-item {
    width: 100%;
  }
  .level-box__top-secondary-item:nth-of-type(1) {
    margin-top: 0;
    margin-left: 0;
  }
  .level-box__top-secondary-item:nth-of-type(2) {
    margin-left: 0;
  }
  .level-box__top-secondary-item:nth-of-type(3) {
    margin-left: 0;
  }
  .level-box__top-secondary-item-text .fc-red {
    text-shadow: 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff;
  }
  .level-box__bottom-item {
    width: 50%;
    padding: 0 0.5em;
  }
  .level-box__bottom-item-img {
    text-align: center;
  }
  .area-title {
    font-size: 1.5em;
  }
  .title-large__main {
    font-size: 1.5em;
  }
  .flex-item {
    width: 100%;
  }
  .flex-item + .flex-item {
    margin-top: 1.5em;
    margin-left: 0;
  }
  .catch-title {
    -ms-flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    flex-wrap: wrap;
    font-size: 0.85em;
    text-align: center;
  }
  .catch-title__copy {
    font-size: 0.8em;
  }
  .catch-title__main {
    margin-top: 0.5em;
    padding-left: 0;
  }
  .utility-cnt {
    display: block;
  }
  .utility-cnt__image {
    width: 70%;
    margin: 0 auto;
  }
  .utility-cnt__text {
    margin-top: 1.5em;
    padding-left: 0;
  }
  .movie {
    width: 100%;
  }
  .reason-title__num {
    font-size: 0.8em;
  }
  .reason-title__main {
    font-size: 1.5em;
  }
  .reason-achievement__list {
    -ms-grid-columns: 1fr 1fr 1fr;
    display: -ms-grid;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .reason-margin__figure img {
    width: 100%;
    max-width: 730px;
  }
  .reason-subcontractor__figure img {
    width: 100%;
    max-width: 586px;
  }
  .sec-title__normal.-strong-orange {
    font-size: 2em;
  }
  /* MW WP Form */
  .form-area dt {
    width: 100%;
  }
  .form-area dt.title-wide + dd {
    padding-left: 0;
  }
  .form-area dd {
    width: 100%;
    margin-top: 0.8em;
    padding-left: 0;
  }
  .form-area input.half-tab_over {
    width: 100%;
  }
  h2.entry-title::after, h2.entry-title::before {
    width: 0.6em;
  }
  .repair-menu__item {
    width: 49.4%;
  }
  .repair-menu__item-cnt-title {
    font-size: 1em;
  }
  .restoration-item {
    width: 100%;
  }
  .reason-tehai__figure img {
    width: 100%;
  }
  .page-anchor {
    width: 49%;
  }
  .page-anchor.-center {
    font-size: 1.5em;
  }
  .plan-card__wrap {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .card_sub {
    margin-inline: auto;
    display: block;
    width: 80%;
  }
  .card_sub__item {
    width: 100%;
    margin: 0 1em;
  }
  .card_sub__title {
    font-size: 1.1em;
  }
  .card_sub__cnt {
    font-size: 0.9em;
  }
  /* ヘッダー */
  /* モバイル お問い合わせ */
  .contact_area li {
    width: 50%;
  }

  .menu_bar {
    width: 3.75em;
    height: 3.75em;
  }

  .menu_bar i {
    font-size: 1.8em;
  }

  .menuTitle {
    font-size: 0.8em;
  }

  .menu_bar.select i {
    font-size: 1.3em;
  }
  .hdrMain {
    margin-top: 1.2em;
  }
  .tel__title {
    font-size: 1.1em;
  }
  .header__tel {
    width: 100%;
    margin-top: 1em;
    margin-left: 0;
  }
  .tel__number {
    font-size: 3.5em;
  }
  .tel__attention {
    padding-bottom: 0.2em;
    font-size: 1.2em;
    line-height: 1.4;
  }
  .tel__attention a {
    color: #247e09;
  }
  .header__button {
    width: 100%;
    margin-top: 1em;
    margin-left: 0;
  }
  .header__button .button-primary {
    width: 23.5em;
  }
  .button-primary__text {
    margin-left: 1.5em;
  }
  .swipe_wrap {
    max-height: none;
  }
  .hdr-slide__item {
    width: 20em;
  }
  /* フッター */
  .scroll-height {
    padding-bottom: 5.8em;
  }
  .ftr-item {
    width: 100%;
    min-height: 20em;
  }
  .ftr-info__logo {
    margin-right: auto;
    margin-left: auto;
  }
  .ftr-info__company-name {
    text-align: center;
  }
  .ftr-links {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .ftr-links-list {
    width: 48%;
  }
  .ftr-links-list + .ftr-links-list {
    margin-left: 0;
  }
  .ftr-scroll-bnr {
    padding: 0.5em 0;
  }
  a.scroll-bnr-tel-link[href^="tel:"] {
    top: 1em;
    left: 22.2em;
    width: 5.5em;
  }
  .floating-bnr {
    font-size: 0.5em;
  }
  /* コンバージョン */
  .sns li a {
    font-size: 0.95em;
  }
  .conversion-seconadary-contact {
    top: 18em;
    right: 23.1em;
    width: 19.5625em;
    height: 4em;
    font-size: 0.65em;
  }
  .con-deterioration__primary {
    padding: 4.375em 1em 1.3125em;
  }
  .con-deterioration__secondary {
    width: 100%;
    max-width: 100%;
  }
  .con-deterioration__title {
    margin-left: 0;
    font-size: 1.8em;
  }
  .con-flex-item {
    width: 100%;
  }
  .con-flex-item + .con-flex-item {
    margin-top: 1em;
  }
}

@media screen and (min-width: 481px) {
  a[href^="tel:"] {
    color: inherit;
  }
}

@media screen and (max-width: 840px) and (max-width: 480px) {
  .hdr_slidemenu_top_nav {
    -ms-grid-columns: 11.25em 11.25em;
    grid-template-columns: 11.25em 11.25em;
  }
  .hdr_slidemenu_top_item {
    width: 11.25em;
    height: 11.25em;
  }
}