/* Generic */
/* ================================================= 
reset setting
================================================= */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0;
  margin-right: 3px;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

*, *::before, *::after {
  box-sizing: border-box;
}

/* ================================================= 
base setting
================================================= */
html {
  height: 100%;
  font-size: 62.5%;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "Avenir", Arial, "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  font-weight: 400;
  font-size: 16px;
  font-size: 1.6rem;
  color: #444;
  background-color: transparent;
  line-height: 1.6;
  text-align: left;
  width: 100%;
  height: 100%;
  word-wrap: break-word;
  /*word-break:break-all;*/
  -webkit-text-size-adjust: none;
}

h1 {
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}

h2, h3, h4, h5, h6 {
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
}

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

p, figure {
  margin: 0;
}

ol, ul, li {
  margin: 0;
  padding: 0;
}

ol:not([class]), ul:not([class]) {
  margin: 1em 0;
}
ol:not([class]) li, ul:not([class]) li {
  list-style-position: outside;
  margin: 0 0 0.5em 20px;
  padding: 0;
  line-height: 1.6;
}
ol:not([class]) li:last-child, ul:not([class]) li:last-child {
  margin-bottom: 0;
}

a, a:link {
  text-decoration: none;
  transition: all 0.4s;
}
a.none, a:link.none {
  color: #444;
  text-decoration: none;
}
a.link-txt, a:link.link-txt {
  color: #3877aa;
  text-decoration: underline;
}

a:hover, a.link_txt:hover {
  color: #ccc;
}

a:hover:not(.bnrLink) img {
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
}

table {
  margin: 0;
}

/* iframe */
.ggmap {
  position: relative;
  padding-top: 56.25%;
  height: 0;
  overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ================================================= 
 form setting
================================================= */
input[type=text],
input[type=tel],
input[type=email],
textarea {
  -webkit-appearance: none;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  padding: 8px 10px;
  margin: 0 6px;
  outline: none;
  border: none;
  border: 1px solid #dfdfdf;
  border-radius: 5px;
  background-color: white;
  font-size: 16px;
  font-size: 1.6rem;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  transition: all 0.2s;
}
input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
textarea:focus {
  border-color: #ff0;
  background-color: #fafafa;
}
input[type=text]:first-child,
input[type=tel]:first-child,
input[type=email]:first-child,
textarea:first-child {
  margin-left: 0;
}

select {
  width: 20%;
  padding: 6px 5px 9px;
  margin: 0 65x;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.2;
  border: 1px solid #dfdfdf;
  background-color: #fcfcfc;
  border-radius: 5px;
}

textarea {
  height: 12em;
  border-radius: 0;
  margin-left: 0;
}
textarea:focus {
  background-color: #fafafa;
}
textarea:placeholder-shown, textarea::-webkit-input-placeholder {
  color: #fafafa;
}

@media screen and (max-width: 819px) {
  input[type=text],
  input[type=tel],
  input[type=email],
  textarea,
  select {
    margin: 5px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  input[type=text]:first-child,
  input[type=tel]:first-child,
  input[type=email]:first-child,
  textarea:first-child,
  select:first-child {
    margin-left: 0;
  }
  textarea {
    margin-left: 0;
  }
  select {
    width: auto;
  }
  textarea {
    height: 6em;
  }
}
/*$minFont　最小のフォントサイズを引数として受け取る（単位なし）*/
/* ================================================= 
 layout setting
================================================= */
#l-page {
  padding-top: 115px;
  margin: auto;
  background-color: #f4f4f4;
  position: relative;
}
@media screen and (max-width: 819px) {
  #l-page {
    padding-top: 60px;
  }
}

/*$minFont　最小のフォントサイズを引数として受け取る（単位なし）*/
/* ================================================= 
flex setting
================================================= */
.Row,
[class^=Row--],
[class*=" Row--"] {
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
  width: calc(100% + 30px);
}

.Row {
  margin-top: -1em;
}

div[class^=Column--] {
  margin-top: 1em;
}
div[class^=Column--] .img-wrap {
  margin-bottom: 1em;
}

/* Column */
.Column, [class*=" Column-"], [class^=Column-] {
  padding: 0 15px;
  position: relative;
}

.Column--2_5 {
  width: 20%;
}

.ColumnOffset--2_5 {
  margin-left: 20%;
}

.Column--1 {
  width: 8.33333%;
}

.ColumnOffset--0 {
  margin-left: 0%;
}

.Column--2 {
  width: 16.66667%;
}

.ColumnOffset--1 {
  margin-left: 8.33333%;
}

.Column--3 {
  width: 25%;
}

.ColumnOffset--2 {
  margin-left: 16.66667%;
}

.Column--4 {
  width: 33.33333%;
}

.ColumnOffset--3 {
  margin-left: 25%;
}

.Column--5 {
  width: 41.66667%;
}

.ColumnOffset--4 {
  margin-left: 33.33333%;
}

.Column--6 {
  width: 50%;
}

.ColumnOffset--5 {
  margin-left: 41.66667%;
}

.Column--7 {
  width: 58.33333%;
}

.ColumnOffset--6 {
  margin-left: 50%;
}

.Column--8 {
  width: 66.66667%;
}

.ColumnOffset--7 {
  margin-left: 58.33333%;
}

.Column--9 {
  width: 75%;
}

.ColumnOffset--8 {
  margin-left: 66.66667%;
}

.Column--10 {
  width: 83.33333%;
}

.ColumnOffset--9 {
  margin-left: 75%;
}

.Column--11 {
  width: 91.66667%;
}

.ColumnOffset--10 {
  margin-left: 83.33333%;
}

.Column--12 {
  width: 100%;
}

.ColumnOffset--11 {
  margin-left: 91.66667%;
}

@media (max-width: 1599px) {
  .Column--xxLarge-1 {
    width: 8.33333%;
  }
  .ColumnOffset--xxLarge-0 {
    margin-left: 0%;
  }
  .Column--xxLarge-2 {
    width: 16.66667%;
  }
  .ColumnOffset--xxLarge-1 {
    margin-left: 8.33333%;
  }
  .Column--xxLarge-3 {
    width: 25%;
  }
  .ColumnOffset--xxLarge-2 {
    margin-left: 16.66667%;
  }
  .Column--xxLarge-4 {
    width: 33.33333%;
  }
  .ColumnOffset--xxLarge-3 {
    margin-left: 25%;
  }
  .Column--xxLarge-5 {
    width: 41.66667%;
  }
  .ColumnOffset--xxLarge-4 {
    margin-left: 33.33333%;
  }
  .Column--xxLarge-6 {
    width: 50%;
  }
  .ColumnOffset--xxLarge-5 {
    margin-left: 41.66667%;
  }
  .Column--xxLarge-7 {
    width: 58.33333%;
  }
  .ColumnOffset--xxLarge-6 {
    margin-left: 50%;
  }
  .Column--xxLarge-8 {
    width: 66.66667%;
  }
  .ColumnOffset--xxLarge-7 {
    margin-left: 58.33333%;
  }
  .Column--xxLarge-9 {
    width: 75%;
  }
  .ColumnOffset--xxLarge-8 {
    margin-left: 66.66667%;
  }
  .Column--xxLarge-10 {
    width: 83.33333%;
  }
  .ColumnOffset--xxLarge-9 {
    margin-left: 75%;
  }
  .Column--xxLarge-11 {
    width: 91.66667%;
  }
  .ColumnOffset--xxLarge-10 {
    margin-left: 83.33333%;
  }
  .Column--xxLarge-12 {
    width: 100%;
  }
  .ColumnOffset--xxLarge-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 1399px) {
  .Column--xLarge-1 {
    width: 8.33333%;
  }
  .ColumnOffset--xLarge-0 {
    margin-left: 0%;
  }
  .Column--xLarge-2 {
    width: 16.66667%;
  }
  .ColumnOffset--xLarge-1 {
    margin-left: 8.33333%;
  }
  .Column--xLarge-3 {
    width: 25%;
  }
  .ColumnOffset--xLarge-2 {
    margin-left: 16.66667%;
  }
  .Column--xLarge-4 {
    width: 33.33333%;
  }
  .ColumnOffset--xLarge-3 {
    margin-left: 25%;
  }
  .Column--xLarge-5 {
    width: 41.66667%;
  }
  .ColumnOffset--xLarge-4 {
    margin-left: 33.33333%;
  }
  .Column--xLarge-6 {
    width: 50%;
  }
  .ColumnOffset--xLarge-5 {
    margin-left: 41.66667%;
  }
  .Column--xLarge-7 {
    width: 58.33333%;
  }
  .ColumnOffset--xLarge-6 {
    margin-left: 50%;
  }
  .Column--xLarge-8 {
    width: 66.66667%;
  }
  .ColumnOffset--xLarge-7 {
    margin-left: 58.33333%;
  }
  .Column--xLarge-9 {
    width: 75%;
  }
  .ColumnOffset--xLarge-8 {
    margin-left: 66.66667%;
  }
  .Column--xLarge-10 {
    width: 83.33333%;
  }
  .ColumnOffset--xLarge-9 {
    margin-left: 75%;
  }
  .Column--xLarge-11 {
    width: 91.66667%;
  }
  .ColumnOffset--xLarge-10 {
    margin-left: 83.33333%;
  }
  .Column--xLarge-12 {
    width: 100%;
  }
  .ColumnOffset--xLarge-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 1199px) {
  .Column--large-1 {
    width: 8.33333%;
  }
  .ColumnOffset--large-0 {
    margin-left: 0%;
  }
  .Column--large-2 {
    width: 16.66667%;
  }
  .ColumnOffset--large-1 {
    margin-left: 8.33333%;
  }
  .Column--large-3 {
    width: 25%;
  }
  .ColumnOffset--large-2 {
    margin-left: 16.66667%;
  }
  .Column--large-4 {
    width: 33.33333%;
  }
  .ColumnOffset--large-3 {
    margin-left: 25%;
  }
  .Column--large-5 {
    width: 41.66667%;
  }
  .ColumnOffset--large-4 {
    margin-left: 33.33333%;
  }
  .Column--large-6 {
    width: 50%;
  }
  .ColumnOffset--large-5 {
    margin-left: 41.66667%;
  }
  .Column--large-7 {
    width: 58.33333%;
  }
  .ColumnOffset--large-6 {
    margin-left: 50%;
  }
  .Column--large-8 {
    width: 66.66667%;
  }
  .ColumnOffset--large-7 {
    margin-left: 58.33333%;
  }
  .Column--large-9 {
    width: 75%;
  }
  .ColumnOffset--large-8 {
    margin-left: 66.66667%;
  }
  .Column--large-10 {
    width: 83.33333%;
  }
  .ColumnOffset--large-9 {
    margin-left: 75%;
  }
  .Column--large-11 {
    width: 91.66667%;
  }
  .ColumnOffset--large-10 {
    margin-left: 83.33333%;
  }
  .Column--large-12 {
    width: 100%;
  }
  .ColumnOffset--large-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 1039px) {
  .Column--mediumLarge-1 {
    width: 8.33333%;
  }
  .ColumnOffset--mediumLarge-0 {
    margin-left: 0%;
  }
  .Column--mediumLarge-2 {
    width: 16.66667%;
  }
  .ColumnOffset--mediumLarge-1 {
    margin-left: 8.33333%;
  }
  .Column--mediumLarge-3 {
    width: 25%;
  }
  .ColumnOffset--mediumLarge-2 {
    margin-left: 16.66667%;
  }
  .Column--mediumLarge-4 {
    width: 33.33333%;
  }
  .ColumnOffset--mediumLarge-3 {
    margin-left: 25%;
  }
  .Column--mediumLarge-5 {
    width: 41.66667%;
  }
  .ColumnOffset--mediumLarge-4 {
    margin-left: 33.33333%;
  }
  .Column--mediumLarge-6 {
    width: 50%;
  }
  .ColumnOffset--mediumLarge-5 {
    margin-left: 41.66667%;
  }
  .Column--mediumLarge-7 {
    width: 58.33333%;
  }
  .ColumnOffset--mediumLarge-6 {
    margin-left: 50%;
  }
  .Column--mediumLarge-8 {
    width: 66.66667%;
  }
  .ColumnOffset--mediumLarge-7 {
    margin-left: 58.33333%;
  }
  .Column--mediumLarge-9 {
    width: 75%;
  }
  .ColumnOffset--mediumLarge-8 {
    margin-left: 66.66667%;
  }
  .Column--mediumLarge-10 {
    width: 83.33333%;
  }
  .ColumnOffset--mediumLarge-9 {
    margin-left: 75%;
  }
  .Column--mediumLarge-11 {
    width: 91.66667%;
  }
  .ColumnOffset--mediumLarge-10 {
    margin-left: 83.33333%;
  }
  .Column--mediumLarge-12 {
    width: 100%;
  }
  .ColumnOffset--mediumLarge-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 959px) {
  .Column--medium-1 {
    width: 8.33333%;
  }
  .ColumnOffset--medium-0 {
    margin-left: 0%;
  }
  .Column--medium-2 {
    width: 16.66667%;
  }
  .ColumnOffset--medium-1 {
    margin-left: 8.33333%;
  }
  .Column--medium-3 {
    width: 25%;
  }
  .ColumnOffset--medium-2 {
    margin-left: 16.66667%;
  }
  .Column--medium-4 {
    width: 33.33333%;
  }
  .ColumnOffset--medium-3 {
    margin-left: 25%;
  }
  .Column--medium-5 {
    width: 41.66667%;
  }
  .ColumnOffset--medium-4 {
    margin-left: 33.33333%;
  }
  .Column--medium-6 {
    width: 50%;
  }
  .ColumnOffset--medium-5 {
    margin-left: 41.66667%;
  }
  .Column--medium-7 {
    width: 58.33333%;
  }
  .ColumnOffset--medium-6 {
    margin-left: 50%;
  }
  .Column--medium-8 {
    width: 66.66667%;
  }
  .ColumnOffset--medium-7 {
    margin-left: 58.33333%;
  }
  .Column--medium-9 {
    width: 75%;
  }
  .ColumnOffset--medium-8 {
    margin-left: 66.66667%;
  }
  .Column--medium-10 {
    width: 83.33333%;
  }
  .ColumnOffset--medium-9 {
    margin-left: 75%;
  }
  .Column--medium-11 {
    width: 91.66667%;
  }
  .ColumnOffset--medium-10 {
    margin-left: 83.33333%;
  }
  .Column--medium-12 {
    width: 100%;
  }
  .ColumnOffset--medium-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 819px) {
  .Column--mediumSmall-1 {
    width: 8.33333%;
  }
  .ColumnOffset--mediumSmall-0 {
    margin-left: 0%;
  }
  .Column--mediumSmall-2 {
    width: 16.66667%;
  }
  .ColumnOffset--mediumSmall-1 {
    margin-left: 8.33333%;
  }
  .Column--mediumSmall-3 {
    width: 25%;
  }
  .ColumnOffset--mediumSmall-2 {
    margin-left: 16.66667%;
  }
  .Column--mediumSmall-4 {
    width: 33.33333%;
  }
  .ColumnOffset--mediumSmall-3 {
    margin-left: 25%;
  }
  .Column--mediumSmall-5 {
    width: 41.66667%;
  }
  .ColumnOffset--mediumSmall-4 {
    margin-left: 33.33333%;
  }
  .Column--mediumSmall-6 {
    width: 50%;
  }
  .ColumnOffset--mediumSmall-5 {
    margin-left: 41.66667%;
  }
  .Column--mediumSmall-7 {
    width: 58.33333%;
  }
  .ColumnOffset--mediumSmall-6 {
    margin-left: 50%;
  }
  .Column--mediumSmall-8 {
    width: 66.66667%;
  }
  .ColumnOffset--mediumSmall-7 {
    margin-left: 58.33333%;
  }
  .Column--mediumSmall-9 {
    width: 75%;
  }
  .ColumnOffset--mediumSmall-8 {
    margin-left: 66.66667%;
  }
  .Column--mediumSmall-10 {
    width: 83.33333%;
  }
  .ColumnOffset--mediumSmall-9 {
    margin-left: 75%;
  }
  .Column--mediumSmall-11 {
    width: 91.66667%;
  }
  .ColumnOffset--mediumSmall-10 {
    margin-left: 83.33333%;
  }
  .Column--mediumSmall-12 {
    width: 100%;
  }
  .ColumnOffset--mediumSmall-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 767px) {
  .Column--ipad-1 {
    width: 8.33333%;
  }
  .ColumnOffset--ipad-0 {
    margin-left: 0%;
  }
  .Column--ipad-2 {
    width: 16.66667%;
  }
  .ColumnOffset--ipad-1 {
    margin-left: 8.33333%;
  }
  .Column--ipad-3 {
    width: 25%;
  }
  .ColumnOffset--ipad-2 {
    margin-left: 16.66667%;
  }
  .Column--ipad-4 {
    width: 33.33333%;
  }
  .ColumnOffset--ipad-3 {
    margin-left: 25%;
  }
  .Column--ipad-5 {
    width: 41.66667%;
  }
  .ColumnOffset--ipad-4 {
    margin-left: 33.33333%;
  }
  .Column--ipad-6 {
    width: 50%;
  }
  .ColumnOffset--ipad-5 {
    margin-left: 41.66667%;
  }
  .Column--ipad-7 {
    width: 58.33333%;
  }
  .ColumnOffset--ipad-6 {
    margin-left: 50%;
  }
  .Column--ipad-8 {
    width: 66.66667%;
  }
  .ColumnOffset--ipad-7 {
    margin-left: 58.33333%;
  }
  .Column--ipad-9 {
    width: 75%;
  }
  .ColumnOffset--ipad-8 {
    margin-left: 66.66667%;
  }
  .Column--ipad-10 {
    width: 83.33333%;
  }
  .ColumnOffset--ipad-9 {
    margin-left: 75%;
  }
  .Column--ipad-11 {
    width: 91.66667%;
  }
  .ColumnOffset--ipad-10 {
    margin-left: 83.33333%;
  }
  .Column--ipad-12 {
    width: 100%;
  }
  .ColumnOffset--ipad-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 639px) {
  .Column--small-1 {
    width: 8.33333%;
  }
  .ColumnOffset--small-0 {
    margin-left: 0%;
  }
  .Column--small-2 {
    width: 16.66667%;
  }
  .ColumnOffset--small-1 {
    margin-left: 8.33333%;
  }
  .Column--small-3 {
    width: 25%;
  }
  .ColumnOffset--small-2 {
    margin-left: 16.66667%;
  }
  .Column--small-4 {
    width: 33.33333%;
  }
  .ColumnOffset--small-3 {
    margin-left: 25%;
  }
  .Column--small-5 {
    width: 41.66667%;
  }
  .ColumnOffset--small-4 {
    margin-left: 33.33333%;
  }
  .Column--small-6 {
    width: 50%;
  }
  .ColumnOffset--small-5 {
    margin-left: 41.66667%;
  }
  .Column--small-7 {
    width: 58.33333%;
  }
  .ColumnOffset--small-6 {
    margin-left: 50%;
  }
  .Column--small-8 {
    width: 66.66667%;
  }
  .ColumnOffset--small-7 {
    margin-left: 58.33333%;
  }
  .Column--small-9 {
    width: 75%;
  }
  .ColumnOffset--small-8 {
    margin-left: 66.66667%;
  }
  .Column--small-10 {
    width: 83.33333%;
  }
  .ColumnOffset--small-9 {
    margin-left: 75%;
  }
  .Column--small-11 {
    width: 91.66667%;
  }
  .ColumnOffset--small-10 {
    margin-left: 83.33333%;
  }
  .Column--small-12 {
    width: 100%;
  }
  .ColumnOffset--small-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 413px) {
  .Column--mobileLarge-1 {
    width: 8.33333%;
  }
  .ColumnOffset--mobileLarge-0 {
    margin-left: 0%;
  }
  .Column--mobileLarge-2 {
    width: 16.66667%;
  }
  .ColumnOffset--mobileLarge-1 {
    margin-left: 8.33333%;
  }
  .Column--mobileLarge-3 {
    width: 25%;
  }
  .ColumnOffset--mobileLarge-2 {
    margin-left: 16.66667%;
  }
  .Column--mobileLarge-4 {
    width: 33.33333%;
  }
  .ColumnOffset--mobileLarge-3 {
    margin-left: 25%;
  }
  .Column--mobileLarge-5 {
    width: 41.66667%;
  }
  .ColumnOffset--mobileLarge-4 {
    margin-left: 33.33333%;
  }
  .Column--mobileLarge-6 {
    width: 50%;
  }
  .ColumnOffset--mobileLarge-5 {
    margin-left: 41.66667%;
  }
  .Column--mobileLarge-7 {
    width: 58.33333%;
  }
  .ColumnOffset--mobileLarge-6 {
    margin-left: 50%;
  }
  .Column--mobileLarge-8 {
    width: 66.66667%;
  }
  .ColumnOffset--mobileLarge-7 {
    margin-left: 58.33333%;
  }
  .Column--mobileLarge-9 {
    width: 75%;
  }
  .ColumnOffset--mobileLarge-8 {
    margin-left: 66.66667%;
  }
  .Column--mobileLarge-10 {
    width: 83.33333%;
  }
  .ColumnOffset--mobileLarge-9 {
    margin-left: 75%;
  }
  .Column--mobileLarge-11 {
    width: 91.66667%;
  }
  .ColumnOffset--mobileLarge-10 {
    margin-left: 83.33333%;
  }
  .Column--mobileLarge-12 {
    width: 100%;
  }
  .ColumnOffset--mobileLarge-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 479px) {
  .Column--xSmall-1 {
    width: 8.33333%;
  }
  .ColumnOffset--xSmall-0 {
    margin-left: 0%;
  }
  .Column--xSmall-2 {
    width: 16.66667%;
  }
  .ColumnOffset--xSmall-1 {
    margin-left: 8.33333%;
  }
  .Column--xSmall-3 {
    width: 25%;
  }
  .ColumnOffset--xSmall-2 {
    margin-left: 16.66667%;
  }
  .Column--xSmall-4 {
    width: 33.33333%;
  }
  .ColumnOffset--xSmall-3 {
    margin-left: 25%;
  }
  .Column--xSmall-5 {
    width: 41.66667%;
  }
  .ColumnOffset--xSmall-4 {
    margin-left: 33.33333%;
  }
  .Column--xSmall-6 {
    width: 50%;
  }
  .ColumnOffset--xSmall-5 {
    margin-left: 41.66667%;
  }
  .Column--xSmall-7 {
    width: 58.33333%;
  }
  .ColumnOffset--xSmall-6 {
    margin-left: 50%;
  }
  .Column--xSmall-8 {
    width: 66.66667%;
  }
  .ColumnOffset--xSmall-7 {
    margin-left: 58.33333%;
  }
  .Column--xSmall-9 {
    width: 75%;
  }
  .ColumnOffset--xSmall-8 {
    margin-left: 66.66667%;
  }
  .Column--xSmall-10 {
    width: 83.33333%;
  }
  .ColumnOffset--xSmall-9 {
    margin-left: 75%;
  }
  .Column--xSmall-11 {
    width: 91.66667%;
  }
  .ColumnOffset--xSmall-10 {
    margin-left: 83.33333%;
  }
  .Column--xSmall-12 {
    width: 100%;
  }
  .ColumnOffset--xSmall-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 374px) {
  .Column--mobileMedium-1 {
    width: 8.33333%;
  }
  .ColumnOffset--mobileMedium-0 {
    margin-left: 0%;
  }
  .Column--mobileMedium-2 {
    width: 16.66667%;
  }
  .ColumnOffset--mobileMedium-1 {
    margin-left: 8.33333%;
  }
  .Column--mobileMedium-3 {
    width: 25%;
  }
  .ColumnOffset--mobileMedium-2 {
    margin-left: 16.66667%;
  }
  .Column--mobileMedium-4 {
    width: 33.33333%;
  }
  .ColumnOffset--mobileMedium-3 {
    margin-left: 25%;
  }
  .Column--mobileMedium-5 {
    width: 41.66667%;
  }
  .ColumnOffset--mobileMedium-4 {
    margin-left: 33.33333%;
  }
  .Column--mobileMedium-6 {
    width: 50%;
  }
  .ColumnOffset--mobileMedium-5 {
    margin-left: 41.66667%;
  }
  .Column--mobileMedium-7 {
    width: 58.33333%;
  }
  .ColumnOffset--mobileMedium-6 {
    margin-left: 50%;
  }
  .Column--mobileMedium-8 {
    width: 66.66667%;
  }
  .ColumnOffset--mobileMedium-7 {
    margin-left: 58.33333%;
  }
  .Column--mobileMedium-9 {
    width: 75%;
  }
  .ColumnOffset--mobileMedium-8 {
    margin-left: 66.66667%;
  }
  .Column--mobileMedium-10 {
    width: 83.33333%;
  }
  .ColumnOffset--mobileMedium-9 {
    margin-left: 75%;
  }
  .Column--mobileMedium-11 {
    width: 91.66667%;
  }
  .ColumnOffset--mobileMedium-10 {
    margin-left: 83.33333%;
  }
  .Column--mobileMedium-12 {
    width: 100%;
  }
  .ColumnOffset--mobileMedium-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 319px) {
  .Column--xxSmall-1 {
    width: 8.33333%;
  }
  .ColumnOffset--xxSmall-0 {
    margin-left: 0%;
  }
  .Column--xxSmall-2 {
    width: 16.66667%;
  }
  .ColumnOffset--xxSmall-1 {
    margin-left: 8.33333%;
  }
  .Column--xxSmall-3 {
    width: 25%;
  }
  .ColumnOffset--xxSmall-2 {
    margin-left: 16.66667%;
  }
  .Column--xxSmall-4 {
    width: 33.33333%;
  }
  .ColumnOffset--xxSmall-3 {
    margin-left: 25%;
  }
  .Column--xxSmall-5 {
    width: 41.66667%;
  }
  .ColumnOffset--xxSmall-4 {
    margin-left: 33.33333%;
  }
  .Column--xxSmall-6 {
    width: 50%;
  }
  .ColumnOffset--xxSmall-5 {
    margin-left: 41.66667%;
  }
  .Column--xxSmall-7 {
    width: 58.33333%;
  }
  .ColumnOffset--xxSmall-6 {
    margin-left: 50%;
  }
  .Column--xxSmall-8 {
    width: 66.66667%;
  }
  .ColumnOffset--xxSmall-7 {
    margin-left: 58.33333%;
  }
  .Column--xxSmall-9 {
    width: 75%;
  }
  .ColumnOffset--xxSmall-8 {
    margin-left: 66.66667%;
  }
  .Column--xxSmall-10 {
    width: 83.33333%;
  }
  .ColumnOffset--xxSmall-9 {
    margin-left: 75%;
  }
  .Column--xxSmall-11 {
    width: 91.66667%;
  }
  .ColumnOffset--xxSmall-10 {
    margin-left: 83.33333%;
  }
  .Column--xxSmall-12 {
    width: 100%;
  }
  .ColumnOffset--xxSmall-11 {
    margin-left: 91.66667%;
  }
}
@media (max-width: 319px) {
  .Column--mobileSmall-1 {
    width: 8.33333%;
  }
  .ColumnOffset--mobileSmall-0 {
    margin-left: 0%;
  }
  .Column--mobileSmall-2 {
    width: 16.66667%;
  }
  .ColumnOffset--mobileSmall-1 {
    margin-left: 8.33333%;
  }
  .Column--mobileSmall-3 {
    width: 25%;
  }
  .ColumnOffset--mobileSmall-2 {
    margin-left: 16.66667%;
  }
  .Column--mobileSmall-4 {
    width: 33.33333%;
  }
  .ColumnOffset--mobileSmall-3 {
    margin-left: 25%;
  }
  .Column--mobileSmall-5 {
    width: 41.66667%;
  }
  .ColumnOffset--mobileSmall-4 {
    margin-left: 33.33333%;
  }
  .Column--mobileSmall-6 {
    width: 50%;
  }
  .ColumnOffset--mobileSmall-5 {
    margin-left: 41.66667%;
  }
  .Column--mobileSmall-7 {
    width: 58.33333%;
  }
  .ColumnOffset--mobileSmall-6 {
    margin-left: 50%;
  }
  .Column--mobileSmall-8 {
    width: 66.66667%;
  }
  .ColumnOffset--mobileSmall-7 {
    margin-left: 58.33333%;
  }
  .Column--mobileSmall-9 {
    width: 75%;
  }
  .ColumnOffset--mobileSmall-8 {
    margin-left: 66.66667%;
  }
  .Column--mobileSmall-10 {
    width: 83.33333%;
  }
  .ColumnOffset--mobileSmall-9 {
    margin-left: 75%;
  }
  .Column--mobileSmall-11 {
    width: 91.66667%;
  }
  .ColumnOffset--mobileSmall-10 {
    margin-left: 83.33333%;
  }
  .Column--mobileSmall-12 {
    width: 100%;
  }
  .ColumnOffset--mobileSmall-11 {
    margin-left: 91.66667%;
  }
}
/*$minFont　最小のフォントサイズを引数として受け取る（単位なし）*/
/* ================================================= 
Component setting
================================================= */
/* section */
.c-sect {
  padding: 4em 0;
}
@media screen and (max-width: 767px) {
  .c-sect {
    padding: 2em 0;
  }
}

.c-container {
  max-width: 1080px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.c-container-inner {
  margin-top: 3em;
}
.c-container p {
  margin-bottom: 1em;
  letter-spacing: 0.025rem;
}
.c-container p:last-child {
  margin-bottom: 0;
  width: 100%;
}
@media screen and (max-width: 819px) {
  .c-container-inner {
    margin-top: 2.5em;
  }
}

/* title */
.c-heading {
  margin-bottom: 40px;
  font-weight: 500;
  line-height: 1.4;
}
.c-heading--small {
  margin-bottom: 32px;
}
.c-heading--small h2 {
  font-size: 15px;
  font-size: 1.5rem;
}
.c-heading--small h2 span {
  font-size: 42px;
}
.c-heading--small h2 span::after {
  content: "/";
  font-size: 15px;
  font-size: 1.5rem;
  margin: 0 5px;
}

/* cta */
.c-cta {
  text-align: center;
}
.c-cta .u-justify--center {
  gap: 20px 30px;
}
@media screen and (max-width: 819px) {
  .c-cta .u-justify--center {
    flex-direction: column;
    row-gap: 20px;
  }
}

/* image */
/* list */
ul.c-discList li {
  list-style: disc outside;
  margin: 0.5em 0 0 20px;
  line-height: 1.4;
}
ul.c-discList li:first-child {
  margin-top: 0;
}

ol:not([class]) li {
  list-style: decimal outside;
  margin: 0.5em 0 0 20px;
  line-height: 1.4;
}
ol:not([class]) li:first-child {
  margin-top: 0;
}

.c-check__list {
  list-style: none;
}
.c-check__list li {
  font-weight: 500;
  padding: 15px 30px;
  position: relative;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMyAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEyLjE3NjIgMC40ODcwMjlDMTIuMzQzIDAuNjU0MDIxIDEyLjQzNjcgMC44ODAzODcgMTIuNDM2NyAxLjExNjRDMTIuNDM2NyAxLjM1MjQyIDEyLjM0MyAxLjU3ODc5IDEyLjE3NjIgMS43NDU3OEw0LjkzNjAyIDguOTg1OTdDNC44NTI0NCA5LjA2OTQ3IDQuNzUzMDggOS4xMzU1IDQuNjQzNzIgOS4xODAyM0M0LjUzNDM3IDkuMjI0OTYgNC40MTcyMSA5LjI0NzQ4IDQuMjk5MDcgOS4yNDY0OUM0LjE4MDkyIDkuMjQ1NDkgNC4wNjQxNiA5LjIyMSAzLjk1NTU3IDkuMTc0NDRDMy44NDY5OSA5LjEyNzg4IDMuNzQ4NzUgOS4wNjAxOCAzLjY2NjU5IDguOTc1MjhMMC44MTMwMjQgNi4wMjU1M0MwLjczMDk1NCA1Ljk0MTYzIDAuNjY2Mjc3IDUuODQyMzMgMC42MjI3MTIgNS43MzMzNUMwLjU3OTE0NiA1LjYyNDM2IDAuNTU3NTUgNS41MDc4NSAwLjU1OTE2NiA1LjM5MDQ5QzAuNTYwNzgzIDUuMjczMTMgMC41ODU1NzkgNS4xNTcyNSAwLjYzMjEzIDUuMDQ5NTFDMC42Nzg2OCA0Ljk0MTc3IDAuNzQ2MDY3IDQuODQ0MjkgMC44MzA0MTcgNC43NjI2OEMwLjkxNDc2NiA0LjY4MTA3IDEuMDE0NDEgNC42MTY5NCAxLjEyMzYzIDQuNTczOTdDMS4yMzI4NSA0LjUzMSAxLjM0OTQ5IDQuNTEwMDQgMS40NjY4MyA0LjUxMjI5QzEuNTg0MTggNC41MTQ1NSAxLjY5OTkyIDQuNTM5OTggMS44MDc0MSA0LjU4NzEyQzEuOTE0ODkgNC42MzQyNiAyLjAxMiA0LjcwMjE3IDIuMDkzMTUgNC43ODY5N0w0LjMxNzM0IDcuMDg1OTdMMTAuOTE3NSAwLjQ4NzAyOUMxMS4wODQ1IDAuMzIwMjQ0IDExLjMxMDggMC4yMjY1NjIgMTEuNTQ2OCAwLjIyNjU2MkMxMS43ODI5IDAuMjI2NTYyIDEyLjAwOTIgMC4zMjAyNDQgMTIuMTc2MiAwLjQ4NzAyOVoiIGZpbGw9IiNFRjg3MUUiLz48L3N2Zz4=");
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 14px auto;
  border-bottom: 1px dashed #ddd;
}
.c-check__list li:last-child {
  border-bottom: none;
}
@media screen and (max-width: 819px) {
  .c-check__list li {
    padding: 15px 0 15px 30px;
  }
}

/* btn */
.c-button {
  margin-left: auto;
  margin-right: auto;
  max-width: 360px;
  padding: 12px 24px;
  color: white;
  font-weight: 700;
  border-radius: 100px;
  border: 1px solid #444;
  background: #E00E2E;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  line-height: 1.2;
}
.c-button__tag {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid white;
  border-radius: 5px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1;
  white-space: nowrap;
}
.c-button__ico {
  margin-left: 10px;
  display: flex;
  width: 34px;
  height: 34px;
  padding: 10px;
  border-radius: 50%;
  background-color: white;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.c-button--small {
  padding: 10px 20px;
}
.c-button--small .c-button__ico {
  width: 26px;
  height: 26px;
  padding: 7px;
}
.c-button:hover {
  color: white;
  opacity: 0.7;
}

/* box */
.c-round__box {
  border-radius: 200px;
  background: white;
  box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3) inset, -1px -1px 2px 0px rgba(230, 230, 230, 0.5) inset, -24px 24px 48px 0px rgba(230, 230, 230, 0.2), 24px -24px 48px 0px rgba(230, 230, 230, 0.2), 24px 24px 40px 0px rgba(230, 230, 230, 0.9);
}

.c-box__border {
  padding: 30px;
  border: 1px solid #444;
  border-radius: 5px;
  position: relative;
}
.c-box__border::before {
  content: "";
  width: 30px;
  height: 3px;
  background-color: #EF871E;
  position: absolute;
  top: 0;
  left: 20px;
}
.c-box--white {
  padding: 60px 100px;
  background-color: white;
  border-radius: 10px;
  box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3) inset, -1px -1px 2px 0px rgba(230, 230, 230, 0.5) inset, -24px 24px 48px 0px rgba(230, 230, 230, 0.2), 24px -24px 48px 0px rgba(230, 230, 230, 0.2), 24px 24px 40px 0px rgba(230, 230, 230, 0.9);
}
.c-box--white__title {
  color: #202020;
}
.c-box--white__title h3 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  font-size: 22px;
  font-size: 2.2rem;
}
.c-box--white__title h3 img {
  width: auto;
  height: 24px;
}
.c-box--white__title p {
  margin-bottom: 5px;
}
@media screen and (max-width: 819px) {
  .c-box__border {
    padding: 20px;
  }
  .c-box--white {
    padding: 30px 20px 20px;
  }
  .c-box--white__title h3 {
    gap: 5;
    font-size: 20px;
    font-size: 2rem;
    align-items: center;
  }
  .c-box--white__title h3 img {
    width: auto;
    height: 18px;
  }
  .c-box--white__title p {
    margin-bottom: 5px;
  }
}

/* panel */
.c-panel-title {
  padding: 1rem 2rem 0.75rem;
  background-color: #666;
  color: white;
  font-weight: 700;
  font-size: 1.2em;
  line-height: 1.6;
  position: relative;
}
.c-panel-body {
  padding: 2rem;
  background-color: #FFF7FA;
}

.js-accordion .c-panel-title {
  cursor: pointer;
}
.js-accordion .c-panel-title .p_btn {
  width: 30px;
  height: 30px;
  background-color: #444;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.js-accordion .c-panel-title .p_btn:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  margin: auto;
  width: 15px;
  height: 3px;
  background-color: white;
  transition: 0.2s;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}
.js-accordion .c-panel-title .p_btn:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  margin: auto;
  width: 15px;
  height: 3px;
  background-color: white;
  transition: 0.3s;
}
.js-accordion .c-panel-title.active .p_btn:before {
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
}
.js-accordion .c-panel-title.active .p_btn:after {
  background-color: transparent;
}
.js-accordion .c-panel-body {
  display: none;
}
.js-accordion .c-panel-body.open {
  display: block;
}

/* link */
.c-link__blank {
  padding-right: 20px;
  display: inline-block;
  color: #444;
  background: url(https://45838553.fs1.hubspotusercontent-na2.net/hubfs/45838553/hometact/images/smarthome-renovation/ico_blank.svg) no-repeat center right;
}

/* table */
table:not([class]) {
  max-width: 730px;
  width: 100%;
  margin: 0 auto 4em;
}
table:not([class]) tr:last-child th, table:not([class]) tr:last-child td {
  border-bottom: none;
}
table:not([class]) tr th, table:not([class]) tr td {
  padding: 2rem;
  border-bottom: 1px dashed #ddd;
}
table:not([class]) tr th {
  font-weight: 400;
}
@media screen and (max-width: 819px) {
  table:not([class]) tr th, table:not([class]) tr td {
    width: 100%;
    display: block;
    padding: 1.5rem;
  }
  table:not([class]) tr th {
    padding-bottom: 0;
    border-bottom: none;
    font-weight: 700;
  }
  table:not([class]) tr td {
    padding-top: 0.5rem;
  }
}

.c-table {
  margin: 0.5em 0;
  border-collapse: separate;
  border-spacing: 2px;
  width: 100%;
  background-color: #ddd;
}
.c-table tr th, .c-table tr td {
  font-weight: 500;
  padding: 1rem;
  text-align: center;
  box-sizing: border-box;
  background-color: white;
}
.c-table tr th {
  background-color: #3877aa;
  color: white;
}

@media screen and (max-width: 767px) {
  .c-table {
    width: 100%;
  }
  .c-table-head {
    display: none;
  }
  .c-table td {
    display: block;
    width: 100%;
    border-bottom: 1px solid #ddd;
  }
  .c-table td:last-child {
    border-bottom: none;
  }
  .c-table td:before {
    content: attr(data-label);
    font-size: 16px;
    font-weight: bold;
    color: #999;
    display: block;
  }
  .c-table tr th, .c-table tr td {
    display: block;
    width: 100%;
  }
}
/* tooltip */
.c-tooltip__button {
  cursor: pointer;
  position: absolute;
  display: inline-block;
  animation: blink-animation 1s infinite;
  z-index: 0;
  /*&:hover + .c-tooltip__box {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }*/
}
.c-tooltip__box {
  margin-top: 60px;
  padding: 30px 20px 10px;
  max-width: 300px;
  width: 90%;
  border-radius: 5px;
  background-color: white;
  border: 1px solid #444;
  text-align: left;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  position: absolute;
  transform: translateX(43%);
  z-index: 100;
}
.c-tooltip__box.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.c-tooltip__box::before, .c-tooltip__box::after {
  content: "";
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  border-right: 11px solid transparent;
  border-bottom: solid 20px #444;
  border-left: 11px solid transparent;
}
.c-tooltip__box::after {
  top: -18px;
  border-bottom: solid 20px white;
}
.c-tooltip__box h3 {
  position: relative;
  margin-bottom: 5px;
}
.c-tooltip__box h3::before {
  content: "";
  width: 30px;
  height: 3px;
  background-color: #EF871E;
  position: absolute;
  top: -30px;
  left: 0;
}
.c-tooltip__box h3 span {
  margin-right: 3px;
  display: inline-block;
  height: 24px;
  vertical-align: text-bottom;
}
.c-tooltip__box h3 span img {
  width: auto;
  height: 100%;
  line-height: 0;
}
.c-tooltip__box p {
  font-size: 13px;
  font-size: 1.3rem;
}
.c-tooltip__box__close {
  cursor: pointer;
  font-size: 11px;
  display: block;
  color: #EF871E;
  text-align: right;
}
.c-tooltip.__left .c-tooltip__box {
  transform: translateX(-43%);
}

/* 動画 */
.c-movie__content__heading {
  margin-bottom: 20px;
}
.c-movie__content__heading__tag {
  margin-right: 5px;
  padding: 5px 10px;
  font-size: 13px;
  font-size: 1.3rem;
  color: white;
  background-color: #444;
  border-radius: 30px;
}
.c-movie__content__thumb {
  margin-left: auto;
  margin-right: auto;
  display: block;
  max-width: 440px;
  position: relative;
}
.c-movie__content__thumb span {
  max-width: 58px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

/* ループ */
.c-loop {
  width: 100%;
  display: flex;
  flex-shrink: 0;
  overflow: hidden;
  font-size: 56px;
  font-size: 17.5vw;
  color: white;
  line-height: 1;
}
.c-loop__text {
  animation: loop_animation_right_double 30s linear infinite;
  white-space: nowrap;
}
.c-loop__list {
  animation: loop_animation_right_double 30s linear infinite;
  white-space: nowrap;
}
.c-loop--right .c-loop__list {
  animation: loop_animation_left_double 30s linear infinite;
  white-space: nowrap;
}

@keyframes loop_animation_left_double {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes loop_animation_right_double {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
/* image */
.c-pos__image {
  position: absolute;
}
.c-pos__image img {
  max-width: 100%;
  height: auto;
}

/* 必須・エラー */
.c-eq {
  font-size: 0.85em;
  font-weight: 400;
  margin-left: 10px;
  line-height: 1;
  color: #ED0000;
  border-radius: 0;
}
@media screen and (max-width: 819px) {
  .c-eq {
    top: 1.65rem;
    left: 1rem;
    right: auto;
  }
}

.c-err {
  font-size: 0.9em;
  color: #E00E2E;
}

/*$minFont　最小のフォントサイズを引数として受け取る（単位なし）*/
/* ================================================= 
utility setting
================================================= */
/* pc/sp */
.u-sp {
  display: none;
}

@media screen and (max-width: 819px) {
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
}
/* inline */
.u-inline {
  display: inline-block;
}

.u-list__inline {
  display: inline-block;
}
.u-list__inline li {
  margin-bottom: 0.5em;
  list-style-position: inside;
}
.u-list__inline li:last-child {
  margin-bottom: 0;
}

/* width */
.u-wid--small {
  max-width: 900px;
}
.u-wid--medium {
  max-width: 1100px;
}
.u-wid--large {
  max-width: 1366px;
}

/* padding,margin */
.u-mt0 {
  margin-top: 0 !important;
}
.u-mt5 {
  margin-top: 5px !important;
}
.u-mt10 {
  margin-top: 10px !important;
}
.u-mt15 {
  margin-top: 15px !important;
}
.u-mt20 {
  margin-top: 20px !important;
}
.u-mt25 {
  margin-top: 25px !important;
}
.u-mt30 {
  margin-top: 30px !important;
}
.u-mt40 {
  margin-top: 40px !important;
}
.u-mt50 {
  margin-top: 50px !important;
}
.u-mt60 {
  margin-top: 60px !important;
}
.u-mt70 {
  margin-top: 70px !important;
}
.u-mt80 {
  margin-top: 80px !important;
}
.u-mt90 {
  margin-top: 90px !important;
}
.u-mt100 {
  margin-top: 100px !important;
}

.u-mb0 {
  margin-bottom: 0 !important;
}
.u-mb5 {
  margin-bottom: 5px !important;
}
.u-mb10 {
  margin-bottom: 10px !important;
}
.u-mb15 {
  margin-bottom: 15px !important;
}
.u-mb20 {
  margin-bottom: 20px !important;
}
.u-mb25 {
  margin-bottom: 25px !important;
}
.u-mb30 {
  margin-bottom: 30px !important;
}
.u-mb40 {
  margin-bottom: 40px !important;
}
.u-mb50 {
  margin-bottom: 50px !important;
}
.u-mb60 {
  margin-bottom: 60px !important;
}
.u-mb70 {
  margin-bottom: 70px !important;
}
.u-mb80 {
  margin-bottom: 80px !important;
}
.u-mb90 {
  margin-bottom: 90px !important;
}
.u-mb100 {
  margin-bottom: 100px !important;
}

.u-pt0 {
  padding-top: 0 !important;
}
.u-pt5 {
  padding-top: 5px !important;
}
.u-pt10 {
  padding-top: 10px !important;
}
.u-pt15 {
  padding-top: 15px !important;
}
.u-pt20 {
  padding-top: 20px !important;
}
.u-pt25 {
  padding-top: 25px !important;
}
.u-pt30 {
  padding-top: 30px !important;
}
.u-pt40 {
  padding-top: 40px !important;
}
.u-pt50 {
  padding-top: 50px !important;
}
.u-pt60 {
  padding-top: 60px !important;
}
.u-pt70 {
  padding-top: 70px !important;
}
.u-pt80 {
  padding-top: 80px !important;
}
.u-pt90 {
  padding-top: 90px !important;
}
.u-pt100 {
  padding-top: 100px !important;
}

.u-pb0 {
  padding-bottom: 0 !important;
}
.u-pb5 {
  padding-bottom: 5px !important;
}
.u-pb10 {
  padding-bottom: 10px !important;
}
.u-pb15 {
  padding-bottom: 15px !important;
}
.u-pb20 {
  padding-bottom: 20px !important;
}
.u-pb25 {
  padding-bottom: 25px !important;
}
.u-pb30 {
  padding-bottom: 30px !important;
}
.u-pb40 {
  padding-bottom: 40px !important;
}
.u-pb50 {
  padding-bottom: 50px !important;
}
.u-pb60 {
  padding-bottom: 60px !important;
}
.u-pb70 {
  padding-bottom: 70px !important;
}
.u-pb80 {
  padding-bottom: 80px !important;
}
.u-pb90 {
  padding-bottom: 90px !important;
}
.u-pb100 {
  padding-bottom: 100px !important;
}

/* flex */
.u-flex {
  display: -ms-flexbox;
  display: flex;
}

.u-direction--row {
  flex-direction: row-reverse;
}

.u-justify--end {
  justify-content: flex-end;
}
.u-justify--center {
  justify-content: center;
}
.u-justify--bet {
  justify-content: space-between;
}
.u-justify--space {
  justify-content: space-around;
}

.u-flex__align--center {
  align-items: center;
}
.u-flex__align--end {
  align-items: flex-end;
}

.u-stretch {
  -ms-flex-align: stretch;
  align-items: stretch;
}

.u-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.u-wrap--row {
  -ms-flex-wrap: column;
  flex-wrap: column;
  display: none;
}

/* grid */
.u-grid {
  display: grid;
}
.u-grid__column2 {
  gap: 2em;
  grid-template-columns: repeat(2, 1fr);
}
.u-grid__column3 {
  gap: 2em;
  grid-template-columns: repeat(3, 1fr);
}
.u-grid__column4 {
  gap: 2em;
  grid-template-columns: repeat(4, 1fr);
}

/* font */
.u-font--xsmall {
  font-size: 13px;
  font-size: 1.3rem;
}
.u-font--small {
  font-size: 14px;
  font-size: 1.4rem;
}
.u-font--medium {
  font-size: 18px;
  font-size: 1.8rem;
}
.u-font--large {
  font-size: 20px;
  font-size: 2rem;
}
.u-font--xlarge {
  font-size: 24px;
  font-size: 2.4rem;
}
.u-font--xxlarge {
  font-size: 34px;
  font-size: 3.4rem;
}
@media screen and (max-width: 819px) {
  .u-font--medium {
    font-size: 17px;
    font-size: 1.7rem;
  }
  .u-font--large {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .u-font--xlarge {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .u-font--xxlarge {
    font-size: 20px;
    font-size: 2rem;
  }
}
.u-font--super {
  font-size: 0.75em;
  vertical-align: super;
  margin-left: 5px;
}
.u-font--sbold {
  font-weight: 500;
}
.u-font--bold {
  font-weight: 700;
}
.u-font--marker {
  font-size: 1.1em;
  font-weight: 700;
  background: linear-gradient(transparent 60%, #ffff66 60%);
}
@media screen and (max-width: 819px) {
  .u-font--marker {
    font-size: 1em;
  }
}
.u-font--white {
  color: white;
}
.u-font--gray {
  color: #a0a0a0;
}
.u-font--black {
  color: #444;
}
.u-font--blue {
  color: #3877aa;
}
.u-font--blue2 {
  color: #3777A9;
}
.u-font--blue3 {
  color: #2BAEE6;
}
.u-font--green {
  color: #58A56D;
}
.u-font--red {
  color: #E00E2E;
}
.u-font--orange {
  color: #EF871E;
}
.u-font--yellow {
  color: #ff0;
}
.u-font--brown {
  color: #6A5942;
}
.u-font--gold {
  color: #BA9F26;
}
.u-font--pink {
  color: #F772AE;
}
.u-font--purple {
  color: #9854DB;
}

/* text-align */
.u-align--left {
  text-align: left;
}
.u-align--center {
  text-align: center;
}
.u-align--right {
  text-align: right;
}

/* background */
.u-bg--gray {
  background-color: #f6f6f6;
}
.u-bg--blue {
  background-color: #E6F8FE;
}

/* Objects */
/* ================================================= 
 header setting
================================================= */
header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  transition: 0.4s;
  background-color: #f4f4f4;
}
header #header-inner {
  padding-right: 80px;
  width: 94%;
  height: 100px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header #header-inner #h_logo {
  line-height: 1;
  margin: 0;
}
header #header-inner #h_logo a {
  width: 210px;
  display: inline-block;
}
header #header-inner #header-right {
  display: flex;
  align-items: center;
  gap: 28px;
}
header #header-inner #header-right .c-link__blank {
  font-size: 13px;
  font-size: 1.3rem;
}
header #header-inner #header-right .btn._type01 a {
  padding: 1rem 2rem;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 819px) {
  header #header-inner {
    height: 60px;
  }
  header #header-inner #h_logo a {
    width: 120px;
    font-size: 1.8em;
    text-align: center;
  }
  header #header-inner #h_logo a span {
    font-size: 11px;
  }
  header #header-inner #header-right {
    display: none;
  }
}

/* ================================================= 
 hero setting
================================================= */
.hero {
  position: relative;
  z-index: 0;
}
.hero .hero-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  width: 90%;
}
.hero .hero-inner__item {
  flex: 1;
  padding-top: 100px;
  padding-right: 75px;
  position: relative;
}
.hero .hero-inner__item .c-pos__image {
  max-width: 200px;
  top: 0;
  right: 0;
}
.hero .hero-inner__item h1 {
  font-size: 30px;
  font-size: 3rem;
  margin: 24px 0 58px;
}
.hero .hero-inner__item h1 img {
  margin-top: 5px;
}
.hero .hero-inner__item .hero-inner--small__pic {
  max-width: 290px;
}
.hero .hero-inner__pic {
  max-width: 744px;
  width: 60%;
}
.hero .c-loop {
  margin-top: -100px;
}
@media screen and (max-width: 1240px) {
  .hero .hero-inner__item h1 {
    font-size: 6.2px;
    font-size: 1.9375vw;
  }
  .hero .hero-inner__item h1 .u-font--xlarge {
    font-size: 5.2px;
    font-size: 1.625vw;
  }
}
@media screen and (max-width: 819px) {
  .hero .hero-inner {
    margin-right: 0;
    width: 95%;
    flex-direction: column;
  }
  .hero .hero-inner__item {
    padding-top: 50px;
  }
  .hero .hero-inner__item .c-pos__image {
    width: 35%;
    top: 50px;
  }
  .hero .hero-inner__item p {
    max-width: 220px;
    width: 70%;
  }
  .hero .hero-inner__item h1 {
    margin: 15px 0 24px;
    font-size: 18px;
    font-size: 5.625vw;
  }
  .hero .hero-inner__item h1 .u-font--xlarge {
    font-size: 14px;
    font-size: 4.375vw;
  }
  .hero .hero-inner__pic {
    max-width: 764px;
    width: 100%;
  }
}

/* ================================================= 
 contents setting
================================================= */
#intoro {
  position: relative;
  z-index: 0;
}
#intoro .c-pos__image:nth-child(1) {
  max-width: 300px;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
}
#intoro .c-pos__image:nth-child(2) {
  max-width: 80px;
  top: 30px;
  right: 15%;
  z-index: 1;
}
#intoro .balloon-block {
  padding: 20px 40px;
  background-color: white;
  border-radius: 20px;
  gap: 20px 80px;
  position: relative;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}
#intoro .balloon-block::after {
  margin: auto;
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-style: solid;
  border-color: transparent white white transparent;
  border-width: 20px;
  left: 0;
  right: 0;
  bottom: -20px;
  border-radius: 0 0 3px 0;
  transform: scaleX(1) rotate(45deg);
}
#intoro .solution {
  margin: auto;
  max-width: 1000px;
  gap: 20px 40px;
}
#intoro .solution .u-flex__pic {
  max-width: 110px;
}
#intoro .solution .c-check__list li {
  padding: 10px 30px;
  border-bottom: none;
}
@media screen and (max-width: 819px) {
  #intoro.u-pt100 {
    padding-top: 80px !important;
  }
  #intoro .c-pos__image:nth-child(1) {
    max-width: 170px;
    top: -40px;
    right: 5%;
    transform: translateX(0);
  }
  #intoro .c-pos__image:nth-child(2) {
    max-width: 50px;
    top: 40px;
    left: 15px;
    right: auto;
    z-index: 1;
  }
  #intoro .balloon-block {
    padding: 20px;
    flex-direction: column;
  }
  #intoro .balloon-block h2 {
    text-align: center;
  }
  #intoro .solution {
    flex-direction: column;
  }
  #intoro .c-box--white .u-font--large {
    margin-top: 20px;
  }
}

#about {
  position: relative;
  z-index: 1;
}
#about .c-pos__image:nth-child(1) {
  max-width: 120px;
  top: 30%;
  right: 5%;
}
#about .c-pos__image:nth-child(2) {
  max-width: 150px;
  top: 10%;
  left: 5%;
}
#about .c-round__box {
  padding: 80px;
  gap: 20px 80px;
}
#about .c-round__box .c-flex__pic {
  max-width: 190px;
}
@media screen and (max-width: 819px) {
  #about .c-pos__image:nth-child(1) {
    display: none;
  }
  #about .c-pos__image:nth-child(3) {
    max-width: 56px;
    top: 68%;
    right: 2%;
  }
  #about .c-pos__image:nth-child(4) {
    max-width: 45px;
    bottom: -150px;
    left: 2%;
  }
  #about .u-align--center p:last-child {
    text-align: left;
  }
  #about .c-round__box {
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    width: 80%;
    flex-direction: column;
    background-color: transparent;
    box-shadow: none;
  }
  #about .c-round__box .c-flex__pic {
    max-width: initial;
  }
}

#movie {
  padding: 15em 0;
  background: url(https://45838553.fs1.hubspotusercontent-na2.net/hubfs/45838553/hometact/images/smarthome-renovation/movie_bgimage.webp) no-repeat center center;
  background-size: cover;
  position: relative;
  z-index: 0;
}
#movie::before {
  content: "";
  width: 100%;
  height: 15%;
  background: url(https://45838553.fs1.hubspotusercontent-na2.net/hubfs/45838553/hometact/images/smarthome-renovation/movie_mask_top.svg) no-repeat bottom center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}
#movie::after {
  content: "";
  width: 100%;
  height: 15%;
  background: url(https://45838553.fs1.hubspotusercontent-na2.net/hubfs/45838553/hometact/images/smarthome-renovation/movie_mask_bottom.svg) no-repeat top center;
  background-size: cover;
  position: absolute;
  bottom: 0;
  left: 0;
}
#movie .movie-button a {
  color: white;
  font-size: 20px;
  font-size: 2rem;
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
}
#movie .movie-button a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 819px) {
  #movie {
    padding: 0;
  }
  #movie .c-container {
    padding: 80px 0 !important;
  }
}

#point {
  margin-top: -20px;
}

.loop-title {
  position: relative;
  z-index: 0;
}
.loop-title .c-pos__image:nth-child(1) {
  max-width: 92px;
  top: 25rem;
  right: 5%;
}
.loop-title .c-pos__image:nth-child(2) {
  max-width: 168px;
  top: 45rem;
  left: 3%;
}
.loop-title .c-loop {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.loop-title .reason__title {
  padding: 25px 0;
}
.loop-title .reason__title h2 {
  font-size: 46px;
  font-size: 4.6rem;
  text-align: center;
}
.loop-title .point__wrap {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.loop-title .point__wrap .point__item {
  width: 240px;
  height: 240px;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.6;
  position: relative;
}
.loop-title .point__wrap .point__item:nth-child(1) .point__item--heading {
  color: #EF871E;
}
.loop-title .point__wrap .point__item:nth-child(2) .point__item--heading {
  color: #3777A9;
}
.loop-title .point__wrap .point__item:nth-child(3) .point__item--heading {
  color: #58A56D;
}
.loop-title .point__wrap .point__item p {
  color: initial;
}
.loop-title .point__wrap .point__item:hover {
  opacity: 0.7;
}
.loop-title .point__wrap .point__item::before {
  margin: auto;
  content: "";
  position: absolute;
  left: auto;
  right: auto;
  bottom: 25px;
  width: 12px;
  height: 12px;
  border-top: 2px solid #444;
  border-right: 2px solid #444;
  transform: rotate(135deg);
}
@media screen and (max-width: 819px) {
  .loop-title {
    margin-top: 20px;
    padding-top: 0 !important;
  }
  .loop-title .c-pos__image:nth-child(1) {
    max-width: 46px;
    top: -80px;
    right: 5%;
  }
  .loop-title .c-pos__image:nth-child(2) {
    max-width: 100px;
    top: auto;
    left: 3%;
    bottom: 0;
  }
  .loop-title .reason__title {
    padding: 40px 0;
  }
  .loop-title .reason__title h2 {
    font-size: 20px;
    font-size: 2rem;
  }
  .loop-title .point__wrap {
    width: 90%;
    flex-direction: column;
    row-gap: 10px;
  }
  .loop-title .point__wrap .point__item {
    padding: 15px 50px 15px 25px;
    width: 100%;
    height: auto;
    border-radius: 60px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: row;
    column-gap: 15px;
    text-align: left;
    line-height: 1.5;
  }
  .loop-title .point__wrap .point__item--heading {
    margin-bottom: 0;
    font-size: 20px;
    font-size: 2rem;
  }
  .loop-title .point__wrap .point__item p br {
    display: none;
  }
  .loop-title .point__wrap .point__item::before {
    margin-top: -8px;
    top: 50%;
    left: auto;
    right: 25px;
    bottom: auto;
  }
}

.point__item--heading {
  margin-bottom: 15px;
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1;
  opacity: 0.6;
  text-align: center;
}
.point__item--heading span {
  font-size: 12px;
  font-size: 1.2rem;
  display: block;
  font-weight: 700;
}

#point01 .c-movie__content {
  position: relative;
}
#point01 .c-movie__content .c-pos__image:nth-child(1) {
  max-width: 172px;
  top: 20rem;
  left: 3rem;
}
#point01 .c-movie__content .c-pos__image:nth-child(2) {
  max-width: 98px;
  top: 10rem;
  right: 3rem;
}
#point01 .scene__scroll {
  display: flex;
  justify-content: space-between;
  position: relative;
  gap: 1%;
}
#point01 .scene__scroll__heading {
  width: 39%;
  height: 100vh;
  display: flex;
  justify-content: end;
  align-items: center;
  position: sticky;
  position: -webkit-sticky;
  top: 0;
}
#point01 .scene__scroll__heading__inner {
  max-width: 260px;
}
#point01 .scene__scroll__heading__tag {
  display: inline-block;
  margin-bottom: 10px;
  padding: 2px 10px;
  border: 1px solid #444;
  border-radius: 2px;
}
#point01 .scene__scroll__heading p {
  font-size: 18px;
  font-size: 1.8rem;
  text-align: left;
}
#point01 .scene__scroll__heading__pic {
  margin: 30px auto 0;
  max-width: 116px;
}
#point01 .scene__scroll__contents {
  width: 60%;
}
#point01 .scene__scroll__contents__item {
  padding-top: 5vh;
}
#point01 .scene__scroll__contents__item:first-child {
  padding-top: 0;
}
#point01 .scene__scroll__contents__item:last-child {
  padding-bottom: 20vh;
}
#point01 .scene__scroll__contents__item .c-box--white {
  padding: 80px 20px 60px 40px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  gap: 20px;
  position: relative;
}
#point01 .scene__scroll__contents__item .c-box--white .box__pager {
  width: 32px;
  height: 36px;
  position: absolute;
  top: 20px;
  left: 0;
}
#point01 .scene__scroll__contents__item .c-box--white .box__pager .border {
  display: inline-block;
  width: 50%;
  height: 2px;
  background-color: #EF871E;
  position: absolute;
}
#point01 .scene__scroll__contents__item .c-box--white .box__pager .border:nth-child(1) {
  top: 0;
}
#point01 .scene__scroll__contents__item .c-box--white .box__pager .border:nth-child(2) {
  top: 12px;
}
#point01 .scene__scroll__contents__item .c-box--white .box__pager .border:nth-child(3) {
  top: 24px;
}
#point01 .scene__scroll__contents__item .c-box--white .box__pager .border:nth-child(4) {
  top: 36px;
}
#point01 .scene__scroll__contents__item .c-box--white .inner__text {
  flex: 1;
}
#point01 .scene__scroll__contents__item .c-box--white .inner__text h3 {
  margin-top: 8px;
}
#point01 .scene__scroll__contents__item .c-box--white .inner__text p {
  margin-bottom: 12px;
}
#point01 .scene__scroll__contents__item .c-box--white .inner__text p:last-child {
  margin-bottom: 0;
}
#point01 .scene__scroll__contents__item .c-box--white .inner__pic {
  width: 65%;
}
#point01 .scene__scroll__contents__item:nth-child(1) .box__pager .border:nth-child(1) {
  width: 100%;
}
#point01 .scene__scroll__contents__item:nth-child(2) .box__pager .border:nth-child(2) {
  width: 100%;
}
#point01 .scene__scroll__contents__item:nth-child(3) .box__pager .border:nth-child(3) {
  width: 100%;
}
#point01 .scene__scroll__contents__item:nth-child(4) .box__pager .border:nth-child(4) {
  width: 100%;
}
@media screen and (max-width: 992px) {
  #point01 .scene__scroll {
    display: block;
  }
  #point01 .scene__scroll__heading {
    width: 100%;
    height: auto;
    display: block;
    position: static;
  }
  #point01 .scene__scroll__heading__inner {
    max-width: initial;
  }
  #point01 .scene__scroll__heading__tag {
    display: inline-block;
    margin-bottom: 10px;
    padding: 2px 10px;
    border: 1px solid #444;
    border-radius: 2px;
  }
  #point01 .scene__scroll__heading p {
    font-size: 18px;
    font-size: 1.8rem;
    text-align: center;
  }
  #point01 .scene__scroll__heading__pic {
    margin: 30px auto 0;
    max-width: 116px;
  }
  #point01 .scene__scroll__contents {
    width: 100%;
  }
  #point01 .scene__scroll__contents__item {
    padding: 20px 20px 0;
  }
  #point01 .scene__scroll__contents__item:first-child {
    padding-top: 0;
  }
  #point01 .scene__scroll__contents__item:last-child {
    padding-bottom: 40px;
  }
  #point01 .scene__scroll__contents__item .c-box--white {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
  }
}
@media screen and (max-width: 819px) {
  #point01 {
    position: relative;
  }
  #point01 .c-pos__image {
    max-width: 100px;
    top: -50px;
    right: 2%;
  }
  #point01 .scene__scroll__heading {
    margin-bottom: 20px;
  }
  #point01 .scene__scroll__heading p {
    color: #999;
  }
  #point01 .scene__scroll__heading__pic {
    display: none;
  }
  #point01 .scene__scroll__contents__item .c-box--white {
    padding: 20px 20px 20px 40px;
    display: block;
  }
  #point01 .scene__scroll__contents__item .c-box--white .box__pager {
    width: 20px;
  }
  #point01 .scene__scroll__contents__item .c-box--white .inner__text {
    width: 65%;
  }
  #point01 .scene__scroll__contents__item .c-box--white .inner__text h3 {
    margin-top: 4px;
  }
  #point01 .scene__scroll__contents__item .c-box--white .inner__pic {
    max-width: 150px;
    width: 30%;
    position: absolute;
    top: 80px;
    right: 20px;
  }
  #point01 .c-movie__content {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  #point01 .c-movie__content .c-pos__image:nth-child(1) {
    max-width: 110px;
    top: auto;
    left: -5%;
    bottom: -30px;
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  #point01 .scene__scroll__heading p {
    font-size: 13px;
    font-size: 1.3rem;
  }
  #point01 .scene__scroll__contents__item .c-box--white {
    padding: 20px 20px 20px 40px;
    display: block;
  }
  #point01 .scene__scroll__contents__item .c-box--white .inner__text {
    width: 60%;
  }
  #point01 .scene__scroll__contents__item .c-box--white .inner__pic {
    top: 180px;
  }
}

@keyframes blink-animation {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    opacity: 0;
  }
}
#point02 .logo__flex__wrap {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  flex-wrap: wrap;
  gap: 1.25%;
}
#point02 .logo__flex__wrap .logo__flex__item {
  width: 10%;
}
#point02 .logo__flex__wrap .logo__flex__item img {
  mix-blend-mode: multiply;
}
#point02 .c-loop {
  margin: 30px auto 20px;
  font-size: 0;
}
#point02 .c-loop__list {
  display: flex;
}
#point02 .c-loop__list__image {
  width: 10vw;
}
#point02 .location__image__wrap {
  gap: 10px;
}
#point02 .location__image__wrap .grid__item {
  width: calc(100% - 5px);
}
#point02 .p-btn--column .u-flex {
  gap: 20px 30px;
}
#point02 .p-btn--column .c-button {
  min-width: 320px;
  text-align: center;
  background-color: #444;
  flex-direction: column;
}
#point02 .c-cta {
  position: relative;
}
#point02 .c-cta .c-pos__image {
  max-width: 148px;
  top: -100px;
  right: 5%;
}
@media screen and (max-width: 819px) {
  #point02 .c-heading + p {
    text-align: left;
  }
  #point02 .logo__flex__wrap {
    gap: 0 1.25%;
  }
  #point02 .logo__flex__wrap .logo__flex__item {
    width: 24%;
  }
  #point02 .c-loop {
    margin: 30px auto 20px;
    font-size: 0;
  }
  #point02 .c-loop__list__image {
    width: 25vw;
  }
  #point02 .p-btn--column .u-flex {
    flex-direction: column;
  }
  #point02 .c-cta {
    position: relative;
  }
  #point02 .c-cta .c-pos__image {
    max-width: 84px;
    top: -80px;
    right: 5%;
  }
}

#point03 .c-box--white {
  padding: 50px;
}
#point03 .c-box--white .u-flex:nth-child(1) {
  gap: 30px;
  position: relative;
}
#point03 .c-box--white .u-flex:nth-child(1) .u-flex__pic {
  max-width: 600px;
}
#point03 .c-box--white .u-flex:nth-child(1) .u-flex__item .c-pos__image {
  max-width: 200px;
  right: 0;
  bottom: 0;
}
#point03 .c-box--white .u-flex:nth-child(3) {
  gap: 30px;
}
#point03 .c-box--white .u-flex:nth-child(3) .u-flex__pic {
  max-width: 500px;
}
#point03 .c-box--white .u-flex:nth-child(3) .u-flex__item {
  padding: 30px;
  flex: 1;
  border-radius: 20px;
  background-color: #f4f4f4;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#point03 .c-box__border {
  padding: 0;
}
#point03 .c-box__border__pic {
  max-width: 470px;
  line-height: 0;
}
#point03 .c-box__border__item {
  flex: 1;
  padding: 0 60px;
}
@media screen and (max-width: 819px) {
  #point03 .c-box--white {
    padding: 20px;
  }
  #point03 .c-box--white .u-flex {
    flex-direction: column;
  }
  #point03 .c-box--white .u-flex:nth-child(1) {
    gap: 20px;
  }
  #point03 .c-box--white .u-flex:nth-child(1) .u-flex__item .c-pos__image {
    position: static;
    margin: auto;
  }
  #point03 .c-box--white .u-flex:nth-child(3) {
    gap: 20px;
  }
  #point03 .c-box--white .u-flex:nth-child(3) .u-flex__item {
    padding: 0 0 20px;
    background-color: transparent;
  }
  #point03 .c-box--white > .u-align--center p {
    text-align: left;
  }
  #point03 .c-box__border {
    margin-top: 32px;
    flex-direction: column;
  }
  #point03 .c-box__border__pic {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
  #point03 .c-box__border__item {
    padding: 20px 20px 0;
  }
}

.sns__link {
  max-width: 820px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.sns__link .u-flex {
  gap: 40px;
}
.sns__link .u-flex .u-flex__item .ico {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background-color: white;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sns__link .u-flex .u-flex__item .c-link__blank {
  margin-top: 5px;
  font-size: 16px;
  font-size: 1.6rem;
}
.sns__link .u-flex .u-flex__item:hover {
  opacity: 0.7;
}

#case .u-grid__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 10px;
  color: initial;
}
#case .u-grid__item__tag {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
}
#case .u-grid__item__text {
  padding-bottom: 10px;
  border-bottom: 1px solid #a0a0a0;
}
#case .u-grid__item__date {
  margin-top: -5px;
  text-align: right;
  color: #a0a0a0;
  font-size: 11px;
  font-size: 1.1rem;
}
@media screen and (max-width: 819px) {
  #case .case__wrap {
    padding-bottom: 20px;
    overflow-x: auto;
  }
  #case .case__wrap .u-grid {
    min-width: 1440px;
  }
  #case .case__wrap .u-grid.u-grid__column4 {
    grid-template-columns: repeat(6, 1fr);
  }
}

#voice .voice__wrap {
  gap: 40px;
  flex-wrap: wrap;
}
#voice .voice__wrap .u-flex__item {
  width: calc(50% - 20px);
}
#voice .c-box__border {
  gap: 20px 30px;
  position: relative;
  z-index: 0;
}
#voice .c-box__border__pic {
  max-width: 76px;
  width: 100%;
}
#voice .c-box__border::after {
  content: url(https://45838553.fs1.hubspotusercontent-na2.net/hubfs/45838553/hometact/images/smarthome-renovation/ico_indent.svg);
  position: absolute;
  top: 20px;
  right: 30px;
  z-index: -1;
}
@media screen and (max-width: 819px) {
  #voice {
    margin-top: -20px;
  }
  #voice .voice__wrap {
    flex-direction: column;
    gap: 20px;
  }
  #voice .voice__wrap .u-flex__item {
    width: 100%
  }
  #voice .voice__wrap .c-box__border {
    gap: 15px;
  }
}

#reason01 .scene__description__content {
  justify-content: center;
}
#reason01 .scene__description__content .u-flex__item {
  flex: 1;
}
#reason01 .scene__description__content .pos__text {
  font-weight: 500;
  color: #EF871E;
  text-align: center;
  position: absolute;
  bottom: 40px;
}
#reason01 .scene__description__content__title {
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: 700;
  color: #202020;
  line-height: 1.5;
}
#reason01 .scene__description__content__title span {
  display: inline-block;
  height: 22px;
}
#reason01 .scene__description__content__title span img {
  width: auto;
  height: 100%;
}
#reason01 .scene__description__content__pic {
  margin-left: auto;
  max-width: 300px;
}
#reason01 .scene__description__content__tooltip {
  padding: 0 20px;
  position: relative;
}
#reason01 .scene__description__content__tooltip__image {
  max-width: 560px;
  width: 100%;
  height: auto;
}
#reason01 .scene__description__content__tooltip .aircon > * {
  top: 100px;
  right: 110px;
}
#reason01 .scene__description__content__tooltip .light > * {
  top: 100px;
  right: 230px;
}
#reason01 .scene__description__content__tooltip .bath > * {
  top: 150px;
  left: 100px;
}
#reason01 .scene__description__content__tooltip .speaker > * {
  top: 280px;
  left: 250px;
}
#reason01 .scene__description__content__tooltip .robot > * {
  top: 300px;
  left: 180px;
}
#reason01 .scene__description__content__tooltip .audio > * {
  top: 400px;
  right: 120px;
}
#reason01 .scene__description__content__tooltip .tv > * {
  top: 360px;
  right: 150px;
}
#reason01 .scene__description__content__tooltip .floor_heating > * {
  top: 380px;
  right: 230px;
}
#reason01 .scene__description__content__tooltip .curtain > * {
  top: 440px;
  right: 280px;
}
#reason01 .scene__description__content__tooltip .distribution > * {
  top: 340px;
  left: 140px;
}
#reason01 .scene__description__content__tooltip .smart_rock > * {
  top: 380px;
  left: 80px;
}
@media screen and (max-width: 992px) {
  #reason01 .scene__description .pos__text {
    position: static;
  }
  #reason01 .scene__description__content {
    flex-direction: column;
    align-items: center;
  }
  #reason01 .scene__description__content__tooltip {
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    max-width: 560px;
  }
}
@media screen and (max-width: 767px) {
  #reason01 .scene__description__content__pic {
    margin-left: auto;
    margin-right: auto;
    max-width: 105px;
  }
  #reason01 .scene__description__content__tooltip {
    padding: 0;
  }
  #reason01 .scene__description__content__tooltip .aircon > * {
    top: 50px;
    right: 50px;
  }
  #reason01 .scene__description__content__tooltip .light > * {
    top: 60px;
    right: 150px;
  }
  #reason01 .scene__description__content__tooltip .bath > * {
    top: 90px;
    left: 40px;
  }
  #reason01 .scene__description__content__tooltip .speaker > * {
    top: 180px;
    left: 160px;
  }
  #reason01 .scene__description__content__tooltip .robot > * {
    top: 200px;
    left: 100px;
  }
  #reason01 .scene__description__content__tooltip .audio > * {
    top: 250px;
    right: 50px;
  }
  #reason01 .scene__description__content__tooltip .tv > * {
    top: 230px;
    right: 80px;
  }
  #reason01 .scene__description__content__tooltip .floor_heating > * {
    top: 230px;
    right: 150px;
  }
  #reason01 .scene__description__content__tooltip .curtain > * {
    top: 280px;
    right: 180px;
  }
  #reason01 .scene__description__content__tooltip .distribution > * {
    top: 230px;
    left: 80px;
  }
  #reason01 .scene__description__content__tooltip .smart_rock > * {
    top: 250px;
    left: 20px;
  }
  #reason01 .scene__description__content__tooltip .c-tooltip__box {
    margin: auto;
    max-width: initial;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #reason01 .scene__description__content__tooltip .c-tooltip__box::before, #reason01 .scene__description__content__tooltip .c-tooltip__box::after {
    content: none;
  }
}

#reason02 .c-twocolumn__layout {
  margin-left: auto;
  margin-right: auto;
  max-width: 980px;
  gap: 30px;
}
#reason02 .c-twocolumn__layout__pic {
  max-width: 525px;
}
#reason02 .c-twocolumn__layout__item {
  flex: 1;
}
@media screen and (max-width: 1240px) {
  #reason02 .c-twocolumn__layout__pic {
    width: 50%;
  }
}
@media screen and (max-width: 819px) {
  #reason02 .c-twocolumn__layout {
    margin: 0 auto 32px;
    width: 90%;
    flex-direction: column;
    gap: 0;
  }
  #reason02 .c-twocolumn__layout__pic {
    width: 100%;
  }
}

#reason03 .support__content > .u-flex {
  gap: 20px 30px;
}
#reason03 .support__content > .u-flex .u-flex__item {
  gap: 10px;
  width: 33.333%;
  padding: 0 15px;
}
#reason03 .support__content > .u-flex .u-flex__item:nth-child(2) {
  border-left: 1px dashed #a0a0a0;
  border-right: 1px dashed #a0a0a0;
}
#reason03 .support__content > .u-flex .u-flex__item .ico {
  width: 56px;
  height: 56px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  border-radius: 50%;
}
#reason03 .support__content > .u-flex .u-flex__item .inner__text {
  flex: 1;
}
#reason03 .support__content > .u-flex .u-flex__item .inner__text h5 {
  font-size: 15px;
  font-size: 1.5rem;
  margin-bottom: 5px;
}
@media screen and (max-width: 819px) {
  #reason03 .support__content {
    margin-top: 20px !important;
  }
  #reason03 .support__content h4 {
    text-align: center;
  }
  #reason03 .support__content > .u-flex {
    flex-direction: column;
  }
  #reason03 .support__content > .u-flex .u-flex__item {
    width: 100%;
  }
  #reason03 .support__content > .u-flex .u-flex__item:nth-child(2) {
    margin: 0;
    padding: 20px 0;
    border-top: 1px dashed #a0a0a0;
    border-bottom: 1px dashed #a0a0a0;
    border-left: none;
    border-right: none;
  }
  #reason03 .support__content > .u-flex .u-flex__item .inner__text {
    padding-top: 15px;
  }
  #reason03 .support__content > .u-flex .u-flex__item .inner__text h5 {
    margin-bottom: 10px;
  }
}

.other .c-box--white {
  padding: 40px;
}
.other .c-box--white .u-grid__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 10px;
}
@media screen and (max-width: 819px) {
  .other .c-box--white {
    padding: 20px;
  }
  .other .c-box--white .u-grid__column3 {
    grid-template-columns: repeat(1, 1fr);
  }
  .other .c-box--white .u-grid__item {
    display: flex;
    gap: 15px;
  }
  .other .c-box--white .u-grid__item__pic {
    max-width: 90px;
  }
  .other .c-box--white .u-grid__item__text {
    flex: 1;
    text-align: left;
  }
  .other .c-box--white .u-grid__item__text h3.u-align--center {
    font-size: 13px;
    font-size: 1.3rem;
    text-align: left;
    margin-bottom: 5px;
  }
}

#howto .flow__content {
  gap: 20px 60px;
}
#howto .flow__content .c-cta {
  position: relative;
}
#howto .flow__content .c-cta .c-pos__image:nth-child(1) {
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  max-width: 190px;
}
#howto .flow__content .c-cta .c-pos__image:nth-child(2) {
  top: 50%;
  right: 0%;
  transform: translateY(-50%);
  max-width: 150px;
}
#howto .flow__content__list {
  margin: auto;
  max-width: 700px;
}
#howto .flow__content__list dl {
  margin: 0 0 34px;
  padding-top: 24px;
  padding-bottom: 24px;
  display: flex;
  gap: 5px;
}
#howto .flow__content__list dl dt {
  color: #EF871E;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1;
}
#howto .flow__content__list dl dd {
  margin: 0;
  padding-top: 5px;
}
#howto .flow__content__list dl dd h4 {
  margin-bottom: 5px;
}
#howto .flow__content__list dl::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 20px 0 20px;
  border-color: #EF871E transparent transparent transparent;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 819px) {
  #howto .flow__content {
    flex-direction: column;
  }
  #howto .flow__content__list {
    flex: 1;
  }
  #howto .flow__content__list dl dt {
    font-size: 20px;
    font-size: 2rem;
  }
  #howto .flow__content__list dl dd {
    margin: 0;
    padding-top: 5px;
  }
  #howto .flow__content__list dl dd h4 {
    margin-bottom: 5px;
  }
  #howto .flow__content__list .u-font--large {
    font-size: 24px;
    font-size: 2.4rem;
  }
  #howto .flow__content__image {
    margin-left: auto;
    margin-right: auto;
    max-width: 235px;
  }
}

#faq .faq__content__q {
  padding-left: 30px;
  font-weight: 700;
  margin-bottom: 10px;
  position: relative;
}
#faq .faq__content__q::before {
  content: "Q";
  color: #EF871E;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 500;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#faq .faq__content p {
  font-size: 13px;
  font-size: 1.3rem;
}
@media screen and (max-width: 819px) {
  #faq .faq__content {
    gap: 8px;
    grid-template-columns: repeat(1, 1fr);
  }
}

/* ================================================= 
 pagetop setting
================================================= */
.pagetop {
  width: 80px;
  position: fixed;
  right: 4%;
  bottom: 5%;
  z-index: 2;
  opacity: 0;
  z-index: 100;
  transition: all 0.4s;
}
.pagetop._fold {
  opacity: 1;
}
.pagetop a {
  display: block;
  height: 80px;
  line-height: 80px;
}
@media screen and (max-width: 819px) {
  .pagetop {
    width: 50px;
    position: fixed;
    right: 4%;
    bottom: 120px;
    z-index: 2;
    opacity: 0;
    z-index: 100;
    transition: all 0.4s;
  }
  .pagetop._fold {
    opacity: 1;
  }
  .pagetop a {
    display: block;
    height: 50px;
    line-height: 50px;
  }
  .pagetop a img {
    width: 100%;
    height: auto;
  }
}

/* ================================================= 
 footer setting
================================================= */
footer {
  padding: 60px 0;
}
footer .footer__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1080px;
  width: 90%;
  display: flex;
  justify-content: space-between;
}
footer .footer__inner .footer__inner__sns {
  display: flex;
  gap: 10px;
  align-items: center;
}
footer .footer__inner .footer__inner__sns a {
  height: 21px;
}
footer .footer__inner .footer__inner__sns a img {
  width: auto;
  height: 100%;
}
footer #copyright {
  margin-top: 20px;
  font-size: 11px;
  font-size: 1.1rem;
  text-align: center;
}
@media screen and (max-width: 819px) {
  footer {
    padding: 60px 0 120px;        
  }
  footer .footer__inner {
    flex-direction: column;
    gap: 30px;
    text-align: center;
  }
  footer .footer__inner .footer__inner__sns {
    justify-content: center;
  }
  footer .footer__inner .footer__inner__sns a {
    height: 21px;
  }
  footer .footer__inner .footer__inner__sns a img {
    width: auto;
    height: 100%;
  }
}

/* ================================================= 
 thanks setting
================================================= */
.thanks-page {
  background-color: #f4f4f4;
}
.thanks-page .g-content {
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
  width: 90%;
}
.thanks-page .hero-section {
  padding: 80px 0;
}
.thanks-page .hero-section h1 {
  text-align: center;
}
.thanks-page #contents {
  min-height: 44vh;
}
.thanks-page .u-align-center {
  margin-top: 50px;
  text-align: center;
}
.thanks-page .u-align-center .button {
  margin-left: auto;
  margin-right: auto;
  max-width: 280px;
  padding: 12px 24px;
  color: white;
  font-weight: 700;
  border-radius: 100px;
  border: 1px solid #444;
  background: #E00E2E;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  line-height: 1.2;
}
@media screen and (max-width: 819px) {
  .thanks-page .hero-section {
    padding: 60px 0 40px;
  }
  .thanks-page .hero-section h1 {
    font-size: 20px;
    font-size: 2rem;
  }
}

/* mobile ctas */

.mobile__cta{
  display:none;
}

@media screen and (max-width: 819px) {

  .mobile__cta{
      display: block;
      background: hsla(0, 0%, 100%, .9);
      bottom: 0;
      left: 50%;
      opacity: 0;
      padding: 20px 45px;
      position: fixed;
      transform: translateX(-50%);
      transition: opacity .3s ease, visibility .3s ease;
      visibility: visible;
      z-index: 1000;
      width: 100%;
  }


  .mobile__cta.is-visible {
    opacity: 1;
    visibility: visible;
  }

  .mobile__cta .c-button{
      position: relative;
      padding: 20px;    
  }

  .mobile__cta .c-button .c-button__ico{
      position: absolute;
      margin: 0;
      right: 20px;
  }

}

/* Elements */
#contact .c-box--white h3 {
  font-size: 24px;
}
#contact .c-box--white > p {
  font-weight: 500;
}
#contact .c-box--white form {
  margin-top: 40px;
}

.m-form-section .form-twocolumn-content {
  gap: 100px;
}
.m-form-section .form-twocolumn-content .left-column {
  flex: 1;
}
.m-form-section .form-twocolumn-content .left-column h1 {
  margin-bottom: 30px;
}
.m-form-section .form-twocolumn-content .left-column h3 {
  margin-bottom: 10px;
}
.m-form-section .form-twocolumn-content .left-column h3 + * {
  margin-top: 0;
}
.m-form-section .form-twocolumn-content .right-column {
  width: calc(50% - 10px);
}
.form-wrap {
  padding: 2.5rem;
  background-color: white;
  border-radius: 8px;
  box-shadow: 3px 12px 23px 0px rgba(0, 0, 0, 0.10);
}

@media screen and (max-width: 1024px) {
  .m-form-section .form-twocolumn-content {
    flex-direction: column;
    gap: 20px; 
  }
  .m-form-section .form-twocolumn-content .right-column {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .form-wrap {
    padding: 40px 20px;
  }
}


/* form setting */
form.hs-form fieldset {
  margin: 0 0 30px;
  max-width: initial;
}

form.hs-form fieldset.hidden {
  margin: 0;  
}

form.hs-form fieldset.form-columns-0 {
  margin-top: -30px;
  margin-left: 45px;
  margin-bottom: 36px;
}

form.hs-form fieldset.form-columns-1 .hs-form-field {
  width: 100%;
}

form.hs-form fieldset.form-columns-1 .hs-form-field .hs-input {
  width: 100%;
}

form.hs-form fieldset.form-columns-2 .hs-form-field:last-child {
  margin-left: 26px;
}

section.contents form.hs-form fieldset.form-columns-2 .hs-form-field:last-child {
  margin-left: 20px;
}

form.hs-form fieldset label .hs-form-required {
  font-size: 0;
}

form.hs-form fieldset .hs-fieldtype-booleancheckbox {
  text-align: center;
}

form.hs-form fieldset .hs-form-booleancheckbox label .hs-form-required {
  font-size: 0;
}

form.hs-form .hs-fieldtype-file .input {
  border: none !important;
}

form.hs-form .hs_product_image legend {
  margin-bottom: 10px;
}

form.hs-form input[type="file"] {
  color: #444;
}

form.hs-form input[type="file"]:before {
  color: #444;
}

form.hs-form .form-columns-0 .hs-richtext {
  width: 100%;
}

form.hs-form .form-columns-0 .hs-richtext a {
  color: #3777A9;
  text-decoration: underline;
}

form.hs-form fieldset p {
  font-size: 14px;
}

form.hs-form .privacySet {
  margin: 0;
  text-align: center;
}

form.hs-form .privacySet h3 {
  font-weight: 700;
  font-size: 18px;
  margin-top: 0.8em !important;
  margin-bottom: 0.8em;
  color: #444;
}
form.hs-form .privacySet p {
  margin: 0 0 1em 0;
}

form.hs-form .privacySet p a {
  text-decoration: underline;
}

form.hs-form .privacySet p a:hover {
  text-decoration: none;
}

form.hs-form .hs-error-msgs {
  margin: .5em 0 0 0;
  list-style: none;
}

form.hs-form .hs_error_rollup {
  text-align: center;
  margin: 0 0 1em 0;
}

form.hs-form .form-columns-1 .hs_error_rollup {
  text-align: left;
}

form.hs-form .hs-form-field .grecaptcha-badge {
  text-align: center;
  margin: 0 auto 30px;
}

form.hs-form fieldset.form-columns-2 {
  display: grid;
  grid-template-columns: 48% 48%;
}

form.hs-form fieldset.form-columns-3 {
  display: grid;
  grid-template-columns: 31% 31% 31%;
  grid-column-gap: 23px;
}

section.contents form.hs-form fieldset.form-columns-3 {
  grid-column-gap: 19px;
}

form.hs-form fieldset.form-columns-2 .hs-form-field {
  width: 100%;
}

form.hs-form fieldset.form-columns-3 .hs-form-field {
  width: 100%;
}

form.hs-form fieldset.form-columns-2 .hs-form-field:not(.hs-fieldtype-checkbox):not(.hs-fieldtype-radio),
section.contents form.hs-form fieldset.form-columns-2 .hs-form-field:not(.hs-fieldtype-checkbox):not(.hs-fieldtype-radio),
section.contents form.hs-form fieldset.form-columns-3 .hs-form-field:not(.hs-fieldtype-checkbox):not(.hs-fieldtype-radio) {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

form.hs-form fieldset legend {
  font-size: 14px;
  line-height: 1.45;
  color: #444;
  margin: 0 0 8px;
}

form.hs-form fieldset legend a {
  border-bottom: 1px solid #444;
  color: #444;
  display: inline-block;
  margin-bottom: -1px;
}

form.hs-form fieldset legend a:hover {
  border: 0;
}

form.hs-form p.text {
  font-size: 16px;
  line-height: 2;
  color: #444;
  margin-bottom: 30px;
}

form.hs-form fieldset ul li {
  list-style: none;
}

form.hs-form fieldset ul.inputs-list.multi-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

form.hs-form fieldset ul.inputs-list li.hs-form-radio, form.hs-form fieldset ul.inputs-list li.hs-form-checkbox  {
    width: calc(33.333% - 8px);
}

form.hs-form fieldset label:not(.hs-form-radio-display):not(.hs-error-msg):not(.hs-form-booleancheckbox-display):not(.hs-form-checkbox-display) {
  cursor: default;
  position: relative;
  color: #444;
  text-align: left;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 1.4px;
  margin-bottom: 8px;
  display: inline-block;
}

form.hs-form .hs-error-msgs label.hs-error-msg,
form.hs-form .hs_error_rollup label.hs-main-font-element {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  color: #ff0000;
}


form.hs-form fieldset .hs-form-field .input {
  margin: 0;
}

form.hs-form fieldset .hs-form-field .input textarea {
  width: 100%;
  padding: 17px 14px;
  margin-right: 0;
  border: 1px solid #444;
  border-radius: 5px;
}

form.hs-form fieldset .hs-form-field .input input:not([type=radio]):not([type=file]) {
  border: 1px solid #444;
  border-radius: 5px;
  height: 52px;
  margin-right: 0;
  padding: 12px 12px;
  width: 100%;
  background-color: #fff;
}
form.hs-form fieldset .hs-form-field .input input:-internal-autofill-selected {
  background-color: #E00E2E !important;
}
form.hs-form fieldset .hs-form-field .input:has(input[type=file]) {
  padding: 8px;
}

form.hs-form fieldset .hs-form-field .input input::placeholder {
  font-size: 16px;
  font-weight: 1.45;
  color: #ccc;

}

form.hs-form fieldset .hs-form-field .input textarea::placeholder {
  font-size: 16px;
  font-weight: 1.45;
  color: #ccc;
}

form.hs-form fieldset .hs-form-field:not(.hs-fieldtype-booleancheckbox):not(.hs-fieldtype-checkbox) .input input:focus,
form.hs-form fieldset .hs-form-field .input textarea:focus {
  outline: 0;
}

form.hs-form fieldset .hs-form-field .input input.invalid,
form.hs-form fieldset .hs-fieldtype-select .input select.invalid,
form.hs-form fieldset .hs-fieldtype-select .input:has(select.invalid):after,
form.hs-form ul.inputs-list.invalid,
form.hs-form fieldset .hs-fieldtype-file:has(.hs-error-msgs) .input:has(input[type=file]) {
  background: #fbefee;
}

form.hs-form fieldset label .hs-form-required:after {
  border: 1px solid  #EF871E;
  border-radius: 30px;
  color: #EF871E;
  content: "必須";
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1;
  margin-left: 3px;
  padding: 3px 10px 2px;
  white-space: nowrap;
  position: absolute;
  top: 1px;
}

form.hs-form .form-privacy {
  font-size: 12px;
  line-height: 1.45;
  color: #444;
  margin-top: 10px;
  margin-bottom: 35px;
  display: flex;
  gap: 20px;
}
form.hs-form .form-privacy > a {
  max-width: 80px;
  width: 100%;
}
form.hs-form fieldset .form-privacy p.att {
  font-size: 12px;
}
form.hs-form .form-privacy p.att a {
  color: #444;
  border-bottom: 1px solid #444;
  margin-bottom: -1px;
}


form.hs-form .hs-form fieldset .hs-fieldtype-booleancheckbox span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  color: #444;
}

form.hs-form .actions:has(.hs-button.primary) {
  text-align: center;
}

form.hs-form .hs-button.primary {
  background: #E00E2E;
  border: 1px solid #444;
  color: white;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 1.6px;
  width: 220px;
  padding: 16px;
  text-align: center;
  border-radius: 50px;
  transition: .3s;
  position: relative;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDEyIDEwIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMS4yMTU5NyA0Ljk5NjA5TDkuNTk2OTIgNC45OTYwOSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNy4wNTE0OCA4LjU5ODQ0TDEwLjE5NDMgNC45OTg0NEw3LjA1MTQ4IDEuMzk4NDQiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+");
  background-repeat: no-repeat;
  background-position: 95% center;
  background-size: 10px auto;
}

form.hs-form .hs-button.primary:hover {
  opacity: .8;
}

form.hs-form [type=checkbox]:checked {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E");
}

form.hs-form [type=checkbox]:checked, form.hs-form [type=checkbox]:checked:focus {
  border-color: transparent;
  background-color: #444 !important;
  background-size: 22px 22px;
  background-position: center;
  background-repeat: no-repeat;
  border: none !important;
}

form.hs-form fieldset .hs-fieldtype-radio label:has([type=radio]) {
  border: 1px solid #444;
  border-radius: 5px;
}
form.hs-form fieldset .hs-fieldtype-radio label:has([type=radio]:checked) {
  border-color: #EF871E;
  color: #EF871E;
}

form.hs-form fieldset .hs-fieldtype-radio label:has(input)::before {
  content: "";
  background: white;
  border-radius: 100%;
  border: 1px solid #444;
  display: inline-block;
  min-width: 20px;
  height: 20px;
  position: relative;
  text-align: center;
  transition: all 250ms ease;
}

form.hs-form fieldset .hs-fieldtype-radio label:has([type=radio]:checked)::before {
  background-color: #EF871E !important;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 22px 22px;
  border-color: transparent;
  border: none !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E");
}

form.hs-form fieldset .hs-fieldtype-radio label:has(input) {
  display: flex;
  grid-column-gap: 15px;
  align-items: center;
  padding: 12px 8px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
  color: #444;
}

form.hs-form fieldset .hs-fieldtype-radio label>input {
  display: none;
}

form.hs-form fieldset .hs-form-booleancheckbox label {
  display: flex;
  grid-column-gap: 15px;
  align-items: center;
  justify-content: start;
  width: fit-content;
  margin: 0;
  padding: 8px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  color: #444;
}
form.hs-form fieldset .hs_privacy_policy .hs-form-booleancheckbox label {
  text-align: left;
}

form.hs-form fieldset .hs-fieldtype-checkbox .input label {
  display: flex;
  grid-column-gap: 15px;
  align-items: center;
  margin: 0 auto;
  padding: 8px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
  cursor: default;
  color: #444;
}

form.hs-form fieldset .hs_privacy_policy_check:has(ul.hs-error-msgs) .hs-form-booleancheckbox label {
  background: #FBEFEE;
}

form.hs-form fieldset .hs-form-booleancheckbox label input,
form.hs-form fieldset .hs-fieldtype-checkbox label input {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px;
  min-width: 20px;
  padding: 0 !important;
  background: white;
}

form.hs-form fieldset .hs-form-booleancheckbox label input:focus {
  outline: 0;
}

form.hs-form fieldset .hs-fieldtype-checkbox label input:focus {
  outline: 0;
}

form.hs-form fieldset .hs-fieldtype-select .input select {
  border: 1px solid #ADB5BD;
  border-radius: 3px;
  color: #444;
  font-size: 1rem;
  height: 48px;
  line-height: 1.45;
  margin-right: 0;
  padding: 10px 14px;
  width: 100% !important;
  background: #fff;
}

form.hs-form fieldset .hs-fieldtype-select .input select option {
  color: #444;
}
form.hs-form fieldset .hs-fieldtype-select .hs-input.is-placeholder, form.hs-form fieldset .hs-fieldtype-select .input select option:first-child {
  color: #ADB5BD;
}

form.hs-form fieldset .hs-fieldtype-date .input>.hs-dateinput input {
  font-size: 16px;
  line-height: 1.45;
  color: #444;
}

form.hs-form fieldset .hs-fieldtype-select .input {
  position: relative;
  width: 100%;
}

form.hs-form fieldset .hs-fieldtype-select .input:after {
  align-items: center;
  background: #fff;
  content: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2036%22%20fill%3D%22none%22%3E%3Cg%20clip-path%3D%22url(%23clip0_1818_4177)%22%3E%3Cpath%20d%3D%22M0.857422%200.999023L0.999268%2034.999%22%20stroke%3D%22%236C757D%22%2F%3E%3Cpath%20d%3D%22M13%2012.999L18%207.99902L23%2012.999%22%20stroke%3D%22%236C757D%22%2F%3E%3Cpath%20d%3D%22M23%2023.999L18%2028.999L13%2023.999%22%20stroke%3D%22%236C757D%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_1818_4177%22%3E%3Crect%20width%3D%2224%22%20height%3D%2236%22%20fill%3D%22white%22%20transform%3D%22translate(0%20-0.000976562)%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E');
  display: flex;
  font-size: 10px;
  height: 25px;
  padding-left: 15px;
  padding-top: 3px;
  pointer-events: none;
  position: absolute;
  right: 22px;
  top: 12px;
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  width: 30px;
}

form.hs-form fieldset .hs-fieldtype-select .input select:focus {
  outline: 0;
}

form.hs-form fieldset .hs-form-booleancheckbox label span {
  position: relative;
  display: flex;
}

form.hs-form fieldset .hs-form-booleancheckbox label:has(.hs-form-required) {
  padding-right: 60px;
}

@media screen and (max-width: 1024px) {
  h3.form-title {
    font-size: 18px;
    margin-bottom: 20px;
  }

  form.hs-form fieldset {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0;
  }

  form.hs-form fieldset.form-columns-0,
  form.hs-form fieldset.form-columns-1 .hs-form-field,
  form.hs-form fieldset.form-columns-2 .hs-form-field,
  form.hs-form fieldset.form-columns-3 .hs-form-field {
    width: 100% !important;
    margin: 0 0 30px;
  }

  form.hs-form fieldset.form-columns-2 .hs-form-field .hs-input {
    width: 100% !important;
  }

  form.hs-form fieldset .input:last-child {
    margin: 0 0 0 0;
  }

  form.hs-form .privacySet {
    margin: 0 0 30px 0;
    text-align: center;
  }

  form.hs-form #agreeWrap {
    display: flex !important;
    align-items: flex-start;
    text-align: left;
  }

  form.hs-form fieldset.form-columns-2 .hs-form-field:last-child {
    margin-left: 0;
  }

  section.contents form.hs-form fieldset.form-columns-2 .hs-form-field:last-child {
    margin-left: 0;
  }

  form.hs-form p.text {
    font-size: 15px;
  }

  form.hs-form .form-privacy {
    font-size: 15px;
    margin: 0 0 30px;
  }

  form.hs-form .form-privacy a.tac {
    width: 100%;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 20px;
  }

  form.hs-form fieldset label {
    font-size: 12px;
  }

  form.hs-form .hs-button.primary {
        width: auto;
  }

  form.hs-form fieldset .hs-form-booleancheckbox label {
    font-size: 15px;
    text-align: left;
  }

  form.hs-form .hs_recaptcha {
    margin-top: 10px;
  }

  form.hs-form fieldset .hs-fieldtype-radio label:has(input) {
    font-size: 15px;
    width: 100%;
  }

  form.hs-form fieldset .hs-fieldtype-checkbox .input label {
    font-size: 15px;
  }

  form.hs-form fieldset .hs-fieldtype-select .input select {
    font-size: 15px;
  }

  form.hs-form fieldset .hs-fieldtype-date .input input[type=date] {
    font-size: 15px;
  }

  form.hs-form fieldset .hs-fieldtype-date .input input[type=file] {
    font-size: 15px;
  }
}

@media screen and (max-width: 819px) {
  #contact .c-box--white {
    padding-bottom: 30px;
  }
  form.hs-form fieldset ul.inputs-list.multi-container {
    gap: 12px;
  }
  form.hs-form fieldset ul.inputs-list li.hs-form-radio, form.hs-form fieldset ul.inputs-list li.hs-form-checkbox  {
      width: calc(50% - 6px);
  }
}

@media screen and (max-width: 599px) {
  form.hs-form fieldset.form-columns-2,
  form.hs-form fieldset.form-columns-3 {
    display: block;
  }
  form.hs-form .hs-button.primary {
    padding: 15px 30px;
  }
  form.hs-form fieldset ul.inputs-list.multi-container {
    flex-direction: column;
  }
  form.hs-form fieldset ul.inputs-list li.hs-form-radio, form.hs-form fieldset ul.inputs-list li.hs-form-checkbox  {
      width: 100%;
  }
}

/* vendor */
/*!
 * jquery-drawer v3.2.0
 * Flexible drawer menu using jQuery, iScroll and CSS.
 * http://git.blivesta.com/drawer
 * License : MIT
 * Author : blivesta <design@blivesta.com> (http://blivesta.com/)
 */

/*!------------------------------------*\
    Base
\*!------------------------------------*/
.drawer-nav {
  position: fixed;
  z-index: 101;
  top: 0;
  overflow: hidden;
  /*width: 16.25rem;*/
  width: 35rem;
  height: 100%;
  font-weight: 500;
  color: #444;
  background-color: white;
}
.drawer-nav a:not(.c-button) {
  display: block;
  color: #444;
}

.drawer-brand {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 3.75rem;
  display: block;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  text-decoration: none;
  color: #222;
}

.drawer-menu {
  margin: 0;
  padding: 80px  30px;
  list-style: none;
  font-size: 15px;
}
.drawer-menu .c-button {
  font-size: 13px;
}
.drawer-menu li:not(.drawer-menu__button) {
  padding: 10px 0 10px 20px;
  position: relative;
}
.drawer-menu li:not(.drawer-menu__button):not(.drawer-menu__child ):before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 2px #444;
  border-right: solid 2px #444;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

.drawer-menu li.drawer-menu__child {
  margin: 5px 0;
  padding: 15px 0;
  border-top: 1px dashed #a0a0a0;
  border-bottom: 1px dashed #a0a0a0;
  font-size: 12px;
}

.drawer-menu li.drawer-menu__child ul {
  margin: 0;
}
.drawer-menu li.drawer-menu__child ul li {
  margin: 0;
  list-style: none;
  font-size: 13px;
  line-height: 1.4;
}

.drawer-menu li.drawer-menu__child ul li span {
  display: block;
  font-size: 12px;
  opacity: .6;
}

.drawer-menu-item {
  font-size: 1rem;
  display: block;
  padding: 0.75rem;
  text-decoration: none;
  color: #222;
}

.drawer-menu-item:hover {
  text-decoration: underline;
  color: #555;
  background-color: transparent;
}

/*! overlay */
.drawer-overlay {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}

.drawer-open .drawer-overlay {
  display: block;
}
/*!------------------------------------*\
    Top
\*!------------------------------------*/
.drawer--top .drawer-nav {
  top: -100%;
  left: 0;
  width: 100%;
  height: auto;
  max-height: 100%;
  -webkit-transition: top 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: top 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.drawer--top.drawer-open .drawer-nav {
  top: 0;
}

.drawer--top .drawer-hamburger,
.drawer--top.drawer-open .drawer-hamburger {
  right: 0;
}
/*!------------------------------------*\
    Left
\*!------------------------------------*/
.drawer--left .drawer-nav {
  left: -34rem;
  -webkit-transition: left 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: left 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.drawer--left.drawer-open .drawer-nav {
  left: 0;
}

.drawer--left.drawer-open .drawer-hamburger {
  left: 16.25rem;
}
/*!------------------------------------*\
    Right
\*!------------------------------------*/
.drawer--right .drawer-nav {
  right: -35rem;
  -webkit-transition: right 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: right 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.drawer--right.drawer-open .drawer-nav,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
  right: 0;
}

/*.drawer--right.drawer-open .drawer-hamburger {
  right: 16.25rem;
}*/
.drawer--right.drawer-open .drawer-hamburger {
  background-color: transparent;
}
/*!------------------------------------*\
    Hamburger
*!------------------------------------*/
.drawer-hamburger {
  padding: 0;
  position: fixed;
  z-index: 104;
  top: 0;
  right: 0;
  display: block;
  box-sizing: content-box;
  width: 100px;
  height: 100px;
  -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  border: none;
  outline: 0;
  background-color: white;
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.drawer-hamburger:hover {
  cursor: pointer;
  outline: 0;
}

.drawer-hamburger-icon {
  width: 32px;
  height: 20px;
  position: relative;
  display: block;
}

.drawer-hamburger-icon span {
  display: block;
}
.drawer-hamburger-icon span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  background-color: #a0a0a0;
}

.drawer-hamburger-icon span:nth-child(1) {
  top: 0;
}

.drawer-hamburger-icon span:nth-child(2) {
  max-width: 22px;
  top: 9px;
  left: 10px;
}

.drawer-hamburger-icon span:nth-child(3) {
  top: 18px;
}

.drawer-open .drawer-hamburger-icon span:nth-child(1),
.drawer-open .drawer-hamburger-icon span:nth-child(3) {
  max-width: 22px;
  left: 10px;
}

.drawer-open .drawer-hamburger-icon span:nth-child(2) {
  max-width: initial;
  left: 0;
}

/*!------------------------------------*\
    accessibility
\*!------------------------------------*/

/*!
 * Only display content to screen readers
 * See: http://a11yproject.com/posts/how-to-hide-content
 */
.sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

/*!
 * Use in conjunction with .sr-only to only display content when it's focused.
 * Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
 * Credit: HTML5 Boilerplate
 */
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
  margin: 0;
}
/*!------------------------------------*\
    Sidebar
\*!------------------------------------*/
.drawer--sidebar {
  background-color: #fff;
}

.drawer--sidebar .drawer-contents {
  background-color: #fff;
}

@media (min-width: 64em) {
  .drawer--sidebar .drawer-hamburger {
    display: none;
    visibility: hidden;
  }

  .drawer--sidebar .drawer-nav {
    display: block;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    position: fixed;
    width: 12.5rem;
    height: 100%;
  }

  /*! Left */
  .drawer--sidebar.drawer--left .drawer-nav {
    left: 0;
    border-right: 1px solid #ddd;
  }

  .drawer--sidebar.drawer--left .drawer-contents {
    margin-left: 12.5rem;
  }

  /*! Right */
  .drawer--sidebar.drawer--right .drawer-nav {
    right: 0;
    border-left: 1px solid #ddd;
  }

  .drawer--sidebar.drawer--right .drawer-contents {
    margin-right: 12.5rem;
  }

  /*! container */
  .drawer--sidebar .drawer-container {
    max-width: 48rem;
  }
}

@media (min-width: 75em) {
  .drawer--sidebar .drawer-nav {
    width: 16.25rem;
  }

  .drawer--sidebar.drawer--left .drawer-contents {
    margin-left: 16.25rem;
  }

  .drawer--sidebar.drawer--right .drawer-contents {
    margin-right: 16.25rem;
  }

  /*! container */
  .drawer--sidebar .drawer-container {
    max-width: 60rem;
  }
}
/*!------------------------------------*\
    Navbar
\*!------------------------------------*/
.drawer--navbarTopGutter {
  padding-top: 3.75rem;
}

.drawer-navbar .drawer-navbar-header {
  border-bottom: 1px solid #ddd;
  background-color: #fff;
}

.drawer-navbar {
  z-index: 102;
  top: 0;
  width: 100%;
}

/*! .drawer-navbar modifier */
.drawer-navbar--fixed {
  position: fixed;
}

.drawer-navbar-header {
  position: relative;
  z-index: 102;
  box-sizing: border-box;
  width: 100%;
  height: 3.75rem;
  padding: 0 0.75rem;
  text-align: center;
}

.drawer-navbar .drawer-brand {
  line-height: 3.75rem;
  display: inline-block;
  padding-top: 0;
  padding-bottom: 0;
  text-decoration: none;
}

.drawer-navbar .drawer-brand:hover {
  background-color: transparent;
}

.drawer-navbar .drawer-nav {
  padding-top: 3.75rem;
}

.drawer-navbar .drawer-menu {
  padding-bottom: 7.5rem;
}

@media (min-width: 64em) {
  .drawer-navbar {
    height: 3.75rem;
    border-bottom: 1px solid #ddd;
    background-color: #fff;
  }

  .drawer-navbar .drawer-navbar-header {
    position: relative;
    display: block;
    float: left;
    width: auto;
    padding: 0;
    border: 0;
  }

  .drawer-navbar .drawer-menu--right {
    float: right;
  }

  .drawer-navbar .drawer-menu li {
    float: left;
  }

  .drawer-navbar .drawer-menu-item {
    line-height: 3.75rem;
    padding-top: 0;
    padding-bottom: 0;
  }

  .drawer-navbar .drawer-hamburger {
    display: none;
  }

  .drawer-navbar .drawer-nav {
    position: relative;
    left: 0;
    overflow: visible;
    width: auto;
    height: 3.75rem;
    padding-top: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  .drawer-navbar .drawer-menu {
    padding: 0;
  }

  /*! dropdown */
  .drawer-navbar .drawer-dropdown-menu {
    position: absolute;
    width: 16.25rem;
    border: 1px solid #ddd;
  }

  .drawer-navbar .drawer-dropdown-menu-item {
    padding-left: 0.75rem;
  }
}
/*!------------------------------------*\
    Dropdown
\*!------------------------------------*/
.drawer-dropdown-menu {
  display: none;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #fff;
}

.drawer-dropdown-menu > li {
  width: 100%;
  list-style: none;
}

.drawer-dropdown-menu-item {
  line-height: 3.75rem;
  display: block;
  padding: 0;
  padding-right: 0.75rem;
  padding-left: 1.5rem;
  text-decoration: none;
  color: #222;
}

.drawer-dropdown-menu-item:hover {
  text-decoration: underline;
  color: #555;
  background-color: transparent;
}

/*! open */
.drawer-dropdown.open > .drawer-dropdown-menu {
  display: block;
}

/*! drawer-caret */
.drawer-dropdown .drawer-caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 4px;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: transform 0.2s ease, opacity 0.2s ease;
  transition: transform 0.2s ease, opacity 0.2s ease,
    -webkit-transform 0.2s ease;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  vertical-align: middle;
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

/*! open */
.drawer-dropdown.open .drawer-caret {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
/*!------------------------------------*\
    Container
\*!------------------------------------*/
.drawer-container {
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 64em) {
  .drawer-container {
    max-width: 60rem;
  }
}

@media (min-width: 75em) {
  .drawer-container {
    max-width: 70rem;
  }
}

@media (max-width: 819px) {
  .drawer-hamburger {
    width: 60px;
    height: 60px;
  }
}

/* add elp 190727 */
.drawer-nav .inner {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}