@charset "UTF-8";

/* common */
body {
  font-size: 16px;
  font-family: "游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","游ゴシック","Yu Gothic","メイリオ",sans-serif;
  color: #333;
  text-size-adjust: 100%;
}
.site-wrapper {
  padding-top: 30px;
  padding-bottom: 100px;
  min-height: calc(100vh - 61px - 116px);
}
.grid-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -7px;
}
.grid-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -7px;
}

.grid-col {
  padding: 0 7px;
}

.grid-row[data-justify=start] {
  justify-content: flex-start;
}
.grid-row[data-gap=lg]>[class*=grid-col] {
  margin-top: 30px;
  padding: 0 20px
}
.grid-col[data-col="1"] {
  width: 8.3333333333%
}
.grid-col[data-col="2"] {
  width: 16.6666666667%
}
.grid-col[data-col="3"] {
  width: 25%
}
.grid-col[data-col="4"] {
  width: 33.3333333333%
}
.grid-col[data-col="5"] {
  width: 41.6666666667%
}
.grid-col[data-col="6"] {
  width: 50%
}
.grid-col[data-col="7"] {
  width: 58.3333333333%
}
.grid-col[data-col="8"] {
  width: 66.6666666667%
}
.grid-col[data-col="9"] {
  width: 75%
}
.grid-col[data-col="10"] {
  width: 83.3333333333%
}
.grid-col[data-col="11"] {
  width: 91.6666666667%
}
.grid-col[data-col="12"] {
  width: 100%
}
.grid-col[data-col="1-5"] {
  width: 20%
}
@media screen and (min-width: 769px) {
  .grid-col[data-col-pc="1"] {
      width:8.3333333333%
  }
  .grid-col[data-col-pc="2"] {
      width: 16.6666666667%
  }
  .grid-col[data-col-pc="3"] {
      width: 25%
  }
  .grid-col[data-col-pc="4"] {
      width: 33.3333333333%
  }
  .grid-col[data-col-pc="5"] {
      width: 41.6666666667%
  }
  .grid-col[data-col-pc="6"] {
      width: 50%
  }
  .grid-col[data-col-pc="7"] {
      width: 58.3333333333%
  }
  .grid-col[data-col-pc="8"] {
      width: 66.6666666667%
  }
  .grid-col[data-col-pc="9"] {
      width: 75%
  }
  .grid-col[data-col-pc="10"] {
      width: 83.3333333333%
  }
  .grid-col[data-col-pc="11"] {
      width: 91.6666666667%
  }
  .grid-col[data-col-pc="12"] {
      width: 100%
  }
}

@media screen and (max-width: 768px) {
  .site-wrapper {
    padding-bottom: 60px;
  }
}
.container {
  padding-right: 15px;
  padding-left: 15px;
  overflow-x: hidden;
  max-width: 1110px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
h1.page-title {
  margin: 0;
  left: 0;
  padding: 0;
  background-color: inherit;
  line-height: 1.4;
  font-size: 1.375rem;
  font-weight: bold;
  color: #333;
  overflow: hidden;
}
.m-hdg2 {
  font-size: 20px;
  font-weight: bold;
  overflow: hidden;
}
.m-hdg2-s {
  font-size: 16px;
}
.m-hdg3 {
  font-size: 16px;
  font-weight: bold;
  text-align: left;
}
.m-textXXL {
  font-size: 1.75rem !important
}

.m-textXL {
  font-size: 1.625rem !important
}

.m-textLL {
  font-size: 1.375rem !important
}

.m-textL {
  font-size: 1.125rem !important
}

.m-textM {
  font-size: 1rem !important
}

.m-textS {
  font-size: .875rem !important
}

.m-textSS {
  font-size: .75rem !important
}

.m-textSSS {
  font-size: .625rem !important
}

.m-textGrey {
  color: #999
}

.m-textWhite {
  color: #fff
}
.m-text-red {
  color: red
}
.m-text-normal {
  font-weight: normal !important
}

.m-text-bold {
  font-weight: bold !important
}
.m-align-center {
  text-align: center
}

.m-align-left {
  text-align: left
}

.m-align-right {
  text-align: right
}
input:focus,
select:focus {
  outline: none;
}
select {
  -webkit-appearance: none;
  appearance: none;
  font-size: 16px;
  color: #333;
  width: 100%;
  height: auto;
  min-height: 44px;
  border-radius: 0;
  border: 1px solid #666;
  cursor: pointer;
  padding: 9px 35px 9px 20px;
}
.selectbox {
  position: relative;
}
.selectbox::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%) rotate(90deg);
  background-image: url(../images/icon_arrow.png);
  width: 6px;
  height: 9px;
}
input[type=radio], input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}
input, textarea, select, option, button {
  font-style: normal;
  line-height: 1.6;
  color: #333;
  text-size-adjust: none;
  font-family: "游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","游ゴシック","Yu Gothic","メイリオ",sans-serif;
}
label {
  display: inline-block;
}
.m-textbox {
  color: #333;
  font-size: 1rem;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  border: 1px solid #666;
  border-radius: 0;
  padding: 8px 16px;
}
.form-control:focus {
  color: #333;
  border-color: none;
  box-shadow: none;
}
.m-form-input-container .form-control {
  width: 100%;
  min-height: 44px;
  border-radius: 0;
  border: 1px solid #666;
}
.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0;
}
.custom-control-label {
  padding-left: 30px;
  cursor: pointer;
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}
.custom-control-label:before {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50% !important;
  left: 0;
  transform: translateY(-50%);
  box-sizing: border-box;
  content: "";
  border: 1px solid;
  border-color: #ccc;
  background: #fff !important;
  border-radius: 2px;
}
.custom-radioBtn .custom-control-label:before {
  border-radius: 50%;
}
.custom-control-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 50% !important;
  left: 0;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
}
.custom-radioBtn .custom-control-input:checked~.custom-control-label::after {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: red;
  left: 5px;
}
.custom-radioBtn + .custom-radioBtn {
  margin-top: 10px;
}
.m-checkbox-border .custom-control-label {
  cursor: pointer;
  font-size: 1rem;
  text-align: center;
  width: 100%;
}
.custom-checkbox .custom-control-label::before,
.custom-radio .custom-control-label::before {
  border-color: #999;
}
.custom-checkbox .custom-control-input:checked~.custom-control-label::after {
  background: 50%/50% 50% no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23FF0000' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
.m-checkbox-border-red {
  border-color: red;
}
.m-markerList {
  margin-top: 10px;
}
.m-markerList-item {
  display: list-item;
  text-align: left;
  list-style-type: inherit;
  font-size: 14px;
}
.m-markerList-item + .m-markerList-item {
  margin-top: 10px;
}
.m-markerList.asterisk {
  padding-left: 1em;
  list-style-type: '※';
}
.m-markerList.asterisk.m-markerList-item {
  padding-left: 0.3em;
}
.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: rgba(0,0,0,0);
  border: 1px solid rgba(0,0,0,0);
  padding: 0.375rem 0.75rem;
  font-size: 16px;
  line-height: 1.5;
  border-radius: 0.1875rem;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.btn {
  font-family: "游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","游ゴシック","Yu Gothic","メイリオ",sans-serif;
  color: #333;
  text-decoration: none !important;
  width: 100%;
  padding: 10px 25px;
  position: relative;
  height: fit-content;
  transition: .2s all ease;
}
.btn.icon-arrow-right {
  padding: 10px 35px 10px 25px;
}
.btn.btn-primary {
  background-color: red;
  color: #fff;
  font-weight: bold;
  border: none;
}
.btn-outline-primary {
  background-color: #fff;
  border: 2px solid #000;
  color: #333;
}
.btn.icon-arrow-right:after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  background-image: url(../images/icon_arrow.png);
  width: 6px;
  height: 9px;
}
.btn.icon-arrow-right.icon-arrow-white::after {
  background-image: url(../images/icon_arrow_white.png);
}
.btn.disabled,
.btn:disabled {
  background-color: #d9d9d9;
  border: 1px solid #d9d9d9;
  cursor: default;
}
.m-btnArea {
  width: 100%;
  padding-left: 0;
  text-align: center;
  list-style: none;
  max-width: 285px;
  margin-left: auto;
  margin-right: auto;
}
*+.m-btnArea {
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  a:hover,
  button:hover {
    opacity: .7;
  }
  .btn.disabled:hover,
  .btn:disabled:hover {
    opacity: 1;
  }
}
.bsec-btn {
  opacity: 1 !important;
}

.bsec-btn > img {
  width: 100%;
}


/* header */
.m-header_inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap
}

.m-header.m-header-simple {
  display: flex;
  align-items: center;
  min-height: 60px;
  border-bottom: 1px solid #e6e6e6;
  box-sizing: content-box
}

.m-header_right {
  display: flex;
  align-items: center;
  padding: 0 0
}

.m-header_logo {
  width: 221px;
  height: auto;
  margin: 0 0 0;
  font-size: 1rem
}

.m-header_logo .logo-home:hover {
  opacity: 1 !important
}

.m-header_logo img {
  width: 221px;
  height: 21px;
  opacity: 1 !important
}

@media screen and (max-width: 768px) {
  .m-header_inner {
      flex-wrap: nowrap
  }

  .m-header_left {
      flex-grow: 0
  }

  .m-header_logo {
      margin: 0 10px 0 20px
  }

  .m-header_logo img {
      width: 100%;
      max-width: 131px;
      height: auto
  }
}

@media screen and (max-width: 1024px) {
  .m-header {
      border-bottom:1px solid #e6e6e6
  }

  .m-header_inner {
      min-height: 60px;
      align-items: center;
      position: relative
  }

  .m-header.m-header-simple {
      display: flex;
      justify-content: flex-start;
      align-items: center
  }

  .m-header.m-header-simple .m-header_logo {
      text-align: left;
      margin: 0
  }

  .m-header_left {
      flex-grow: 1;
      display: flex;
      align-items: center;
      padding: 0 0
  }

  .m-header_logo {
      order: 2;
      width: 100%
  }
}

@media screen and (min-width: 769px) {
  .m-header {
      height:auto;
      display: flex;
      overflow-x: visible
  }

  .m-header_inner {
      min-height: 60px
  }

  .m-header_right {
      display: flex;
      align-items: center;
      padding: 0 0
  }
}

/* form */
.form-container {
  margin-top: 30px;
}
.form-body {
  margin-top: 15px;
}
.selectbox-row {
  display: flex;
  align-items: flex-end;
}
.form-unit {
  padding-left: 5px;
}
.form-note {
  margin: 10px 0 0;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
  font-size: .875rem;
  color: #666;
}
.invalid-feedback {
  color: #c00;
  width: auto;
  margin-top: 10px;
}
.form-head {
  font-weight: bold;
}

/* footer */
footer {
  padding: 0 0;
  background-color: #fff
}

footer .m-flink_list {
  margin-bottom: 0;
  font-size: .875rem
}

footer .m-flink_list>li {
  line-height: 1.4
}

footer .m-flink_list>li:nth-child(n+2) {
  margin-top: 20px
}

footer .m-flink_list>li a {
  text-decoration: none;
  color: #333
}

@media screen and (min-width: 769px) {
  footer .m-flink_list>li a:hover {
      text-decoration:underline
  }
}

footer .m-footerSns {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 20px 0 0 -10%
}

footer .m-footerSns>li {
  margin: 10px 0 0 10%
}

footer .m-footerSns>li a {
  text-decoration: none;
  font-size: 2.25rem
}

footer .m-footerSns>li a.fa::before {
  color: #000
}

footer .m-footerSslBadge {
  margin: 30px 0 0;
  text-align: right
}

footer .m-copyright {
  margin: 30px 0 0;
  text-align: right;
  font-size: .625rem;
  color: #666
}

footer .m-footer-linklist {
  display: flex;
  flex-wrap: wrap;
  background-color: #1a1a1a
}

@media screen and (min-width: 769px) {
  footer .m-footer-linklist {
      padding:20px 0
  }
}

@media screen and (max-width: 768px) {
  footer .m-footer-linklist {
      border:1px solid #3d3d3d
  }
}

@media screen and (max-width: 768px) {
  footer .m-footer-linklist-item {
      width:50%;
      padding: 15px 13px;
      border-bottom: 1px solid #3d3d3d
  }

  footer .m-footer-linklist-item:nth-child(odd) {
      border-right: 1px solid #3d3d3d
  }

  footer .m-footer-linklist-item:nth-child(n+3) {
      border-bottom: none
  }
}

@media screen and (min-width: 769px) {
  footer .m-footer-linklist-item+.m-footer-linklist-item {
      margin-left:20px
  }
}

footer .m-footer-linklist-item .m-textlink {
  color: #fff;
  font-size: .75rem;
  display: flex;
  justify-content: space-between
}

@media screen and (min-width: 769px) {
  footer .m-footer-linklist-blank {
      display:flex
  }
}

@media screen and (min-width: 769px) {
  footer .m-footer-linklist-blank-item+.m-footer-linklist-blank-item {
      margin-left:40px
  }
}

@media screen and (max-width: 768px) {
  footer .m-footer-linklist-blank-item+.m-footer-linklist-blank-item {
      margin-top:10px
  }
}

footer .m-footer-linklist-blank-item .m-textlink {
  font-weight: normal;
  font-size: .75rem
}

footer .m-footer-snslist {
  display: flex;
  align-items: center;
  justify-content: flex-end
}

footer .m-footer-snslist-item+.m-footer-snslist-item {
  margin-left: 15px
}

.m-footer-top {
  margin: 0 0 60px
}

@media screen and (min-width: 769px) {
  .m-footer-nav {
      max-width:1110px;
      margin-right: auto;
      margin-left: auto;
      padding-left: 15px;
      padding-right: 15px
  }
}

.m-footer-nav .m-accordion-head .m-accordion-head-btn {
  font-weight: normal !important
}

.m-footer-nav .m-accordion-head .m-accordion-head-btn::after {
  background-image: url(../images/icon_plus_gray.svg)
}

.m-footer-nav .m-accordion.is-open .m-accordion-head-btn::after {
  background-image: url(../images/icon_minus_gray.svg)
}

.m-footer-nav .m-textlink {
  font-weight: normal
}

.m-footer-nav .m-nav-link.m-textlink::after {
  content: none
}

.m-footer-middle-links-inner {
  max-width: 1110px;
  margin-right: auto;
  margin-left: auto;
  padding: 20px 15px
}

.m-footer-middle-links-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center
}

@media screen and (max-width: 768px) {
  .m-footer-middle-links-list-item {
      width:50%
  }
}

@media screen and (max-width: 768px) {
  .m-footer-middle-links-list-item+.m-footer-middle-links-list-item:nth-child(n+3) {
      margin-top:15px
  }
}

@media screen and (min-width: 769px) {
  .m-footer-middle-links-list-item+.m-footer-middle-links-list-item {
      margin-left:40px
  }
}

.m-footer-middle-links-list-item .m-textlink {
  font-weight: normal;
  font-size: .75rem
}

.m-footer-middle-top {
  background-color: #f5f5f5
}

.m-footer-middle-top-inner {
  max-width: 1110px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: center;
  padding: 20px 15px
}

.m-footer-middle-top-inner ul {
  width: 50%
}

@media screen and (min-width: 769px) {
  .m-footer-middle-bottom {
      background-color:#1a1a1a
  }
}

.m-footer-middle-bottom-inner {
  max-width: 1110px;
  margin-right: auto;
  margin-left: auto
}

@media screen and (min-width: 769px) {
  .m-footer-middle-bottom-inner {
      padding-left:15px;
      padding-right: 15px
  }
}

.m-footer-bottom {
  background-color: #292929;
  padding: 20px 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center
}

.m-footer-bottom small {
  padding-top: 10px;
  color: #fff;
  font-size: .625rem
}

@media screen and (min-width: 769px) {
  .m-footer-bottom small {
      font-size:.75rem
  }
}

@media screen and (max-width: 768px) {
  footer .m-flink_item:nth-child(n+2) {
      margin-top:30px
  }

  footer .m-flink_list>li:nth-child(n+2) {
      margin-top: 15px
  }

  footer .m-footerSns {
      justify-content: center;
      margin-left: -30px
  }

  footer .m-footerSns>li {
      margin-left: 30px
  }

  footer .m-footerSslBadge {
      text-align: center
  }

  footer .m-copyright {
      margin-top: 30px;
      text-align: center
  }
}

@media screen and (min-width: 769px) {
  footer .m-flink {
      display:flex;
      margin-left: -3%
  }

  footer .m-flink_item {
      flex: 1 1 auto;
      width: 25%;
      margin-left: 3%
  }
}

/* mounting-steps */
.m-mounting-steps-container {
  margin-top: 40px;
}
.m-mounting-steps {
  padding: 30px 15px;
  background-image: url(../images/bg_mounting_steps.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%
}

.m-mounting-steps img {
  width: auto;
  height: auto
}

@media screen and (max-width: 768px) {
  .m-mounting-steps {
      margin:0 -15px
  }
}

.m-mounting-steps::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: inherit;
  filter: brightness(50%);
  z-index: -1
}

.m-mounting-steps-head {
  font-size: 1.125rem;
  color: #fff;
  line-height: 1.2;
}

.m-mounting-steps-stamp {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 15px -15px 0
}

@media screen and (max-width: 355px) {
  .m-mounting-steps-stamp {
      margin:15px -7px 0
  }
}

.m-mounting-steps-stamp-circle {
  width: 90px;
  height: 90px;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 5px 5px;
  position: relative
}

.m-mounting-steps-stamp-circle > img {
  width: 32px;
}

.m-mounting-steps-stamp-circle::after {
  content: "";
  display: block;
  width: 10px;
  height: 16px;
  background-image: url(../images/icon_mounting_steps_arrow.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%)
}

@media screen and (max-width: 355px) {
  .m-mounting-steps-stamp-circle::after {
      width:5px;
      height: 8px;
      right: -10px
  }
}

.m-mounting-steps-stamp li {
  padding: 0 15px
}

@media screen and (max-width: 355px) {
  .m-mounting-steps-stamp li {
      padding:0 7px
  }
}

.m-mounting-steps-stamp li:last-child .m-mounting-steps-stamp-circle::after {
  content: none
}

.m-mounting-steps-stamp-text {
  margin-top: 5px;
  line-height: 1.3
}

.m-mounting-steps-text {
  display: block;
  margin-top: 25px
}

.m-mounting-steps-features {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 15px -15px 0
}

@media screen and (max-width: 355px) {
  .m-mounting-steps-features {
      margin:15px -7px 0
  }
}

.m-mounting-steps-features>li {
  padding: 0 15px
}

@media screen and (max-width: 355px) {
  .m-mounting-steps-features>li {
      padding:0 7px
  }
}

.m-mounting-steps-features-inner {
  display: flex;
  flex-direction: column;
  align-items: center
}

.m-mounting-steps-features-inner > img {
  width: 52px;
}

.m-mounting-steps-features-text {
  margin-top: 3px
}

.m-mounting-steps-br {
  display: none
}

@media screen and (min-width: 769px) {
  .m-mounting-steps-wide .m-mounting-steps-inner {
      display:flex;
      justify-content: center;
      align-items: flex-start;
      margin: 0 -30px
  }

  .m-mounting-steps-wide .m-mounting-steps-inner>* {
      padding: 0 30px
  }

  .m-mounting-steps-wide .m-mounting-steps-text {
      margin-top: 0
  }

  .m-mounting-steps-wide .m-mounting-steps-br {
      display: block
  }

  .m-mounting-steps-wide .m-mounting-steps-bottom {
      border-left: 2px solid #fff
  }
}

/* page */
.survey-form {
  margin-top: 60px;
}
.page-thumb {
  margin-top: 30px;
}
.page-thumb img {
  width: 100%;
}
.page-lead {
  margin-top: 20px;
}
.m-hdg2-container-bg-gray {
  background-color: #f7f7f7;
  padding: 15px;
}
@media screen and (max-width: 768px){
  .m-hdg2-container-bg-gray {
    margin: 0 -15px;
  }
}
.m-box-overflow-y {
  overflow-x: hidden;
  overflow-y: scroll;
  height: 195px;
  margin-top: 20px;
}
.m-box-overflow-y::-webkit-scrollbar {
  width: 6px;
}
.m-box-overflow-y::-webkit-scrollbar-track {
  background-color: #E5E5E5;
}
.m-box-overflow-y::-webkit-scrollbar-thumb {
  background-color: #999999;
}
.terms-of-use {
  font-size: 14px;
}
.next-step-button {
  text-align: center;
  border: none;
  padding: 0;
  margin: 40px 0 0;
  position: static;
  box-shadow: none;
}
.m-form-step-text {
  text-align: center;
}
.m-form-step .m-btnArea>li:nth-child(n+2) {
  margin-top: 20px;
}
.m-checkbox-border {
  max-width: 285px;
  border: 2px solid #000;
  border-radius: 3px;
  padding: 10px;
  margin: 20px auto 0;
}
.m-checkbox-border .custom-control {
  padding-left: 0;
}
.m-checkbox-border+* {
  margin-top: 20px;
}
.m-checkout_cv .next-step-button .m-btnArea {
  max-width: 100%;
}
.m-form-step .next-step-button .btn {
  max-width: 285px;
}
.next-step-button .btn-block {
  margin-top: 0;
}
.m-form-step .m-btnArea .m-btn-container {
  margin-top: 40px !important;
}

