@charset "UTF-8";

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

body {
  margin: 0
}

h1 {
  font-size: 2em;
  margin: .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;
  -webkit-text-decoration: underline dotted;
  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: -.25em
}

sup {
  top: -.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
}

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

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

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

fieldset {
  padding: .35em .75em .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
}

[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
}

[hidden], template {
  display: none
}

:root {
  --font-family-base: "Noto Sans JP", sans-serif, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana;
  --text-color: #454545;
  --link-color: #479d57;
  --link-hover: #68b975;
  --color-orange: #fd9b01;
  --box-shadow: 0 3px 10px hsla(0, 0%, 47%, .65)
}

* {
  box-sizing: border-box
}

html {
  font-size: 2.66667vw;
  height: 100%;
  touch-action: manipulation;
  width: 100%
}

@media screen and (min-width:375px) {
  html {
    font-size: 10px
  }
}

@media screen and (min-width:750px) {
  html {
    font-size: 1vw
  }
}

@media screen and (min-width:1000px) {
  html {
    font-size: 10px
  }
}

body {
  color: var(--text-color);
  font-family: var(--font-family-base);
  height: 100%;
  line-height: 1.8;
  width: 100%;
  word-break: break-word;
  word-wrap: break-word;
  overflow-wrap: break-word;
  overflow-x: hidden
}

a img {
  backface-visibility: hidden;
  border: none;
  outline: none
}

a:hover img {
  opacity: .7
}

a:focus {
  outline: none
}

a, a img, button {
  box-shadow: 0 0 0 #000;
  transition: all .3s ease
}

a[href^="tel:"] {
  cursor: default
}

img {
  height: auto;
  vertical-align: top
}

figure, iframe, img {
  max-width: 100%
}

table {
  border-collapse: collapse
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0
}

button, input, select, textarea {
  color: var(--text-color);
  font-family: var(--font-family-base);
  font-size: 1.6rem;
  line-height: 1.4
}

select::-ms-expand {
  display: none
}

textarea {
  resize: vertical
}

div:focus {
  outline: none
}

@media screen and (min-width:750px) {
  .pc-hidden {
    display: none
  }
}

.pc-show {
  display: none
}

@media screen and (min-width:750px) {
  .pc-show {
    display: block
  }
}

.container {
  margin-left: auto;
  margin-right: auto;
  max-width: calc(1000px + 8rem);
  padding-left: 4%;
  padding-right: 4%;
  width: 100%
}

@media screen and (min-width:750px) {
  .container {
    padding-left: 4rem;
    padding-right: 4rem
  }
}

.site-header {
  background: #fff;
  width: 100%
}

.site-header__inner {
    align-items: flex-end;
  display: flex;
  margin: 0 auto;
  max-width: 1380px;
  padding: 2rem 1rem;
  width: 100%
}

.site-header__logo {
  flex: 0 0 auto;
  margin: 0
}

.site-header__logo img {
  height: auto;
  width: 7.3rem
}

.site-header__text {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  justify-content: center
}

.site-header__text p {
  color: #2e3034;
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.3;
  margin: 0;
  text-align: left
}

.site-header__text p span {
  display: none
}

.site-header__button {
  flex: 0 0 auto
}

.site-header__button a {
  align-items: center;
  background: #e7253d;
  border-radius: 3rem;
  color: #fff;
  display: flex;
  font-size: 1.6rem;
  font-weight: 900;
  gap: 1rem;
  height: 6rem;
  justify-content: center;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  width: 14rem
}

.site-header__button a img {
  height: auto;
  width: 7px
}

.site-header__button a:hover {
  opacity: .7
}

.site-header__button a:hover img {
  opacity: 1
}

@media screen and (min-width:750px) {
  .site-header__inner {
    gap: 1rem
  }

  .site-header__logo img {
    width: 14rem
  }

  .site-header__text {
    justify-content: flex-end
  }

  .site-header__text p {
    font-size: 2.7rem
  }

  .site-header__text p span {
    display: inline-block;
    font-size: 1.8rem
  }

  .site-header__button a {
    border-radius: 4rem;
    font-size: 3rem;
    /* height: 8rem; */
    width: 25rem
  }

  .site-header__button a img {
    width: 1.3rem
  }
}

.site-content {
  overflow: hidden
}

.fixed-button {
  background: #ffffffa8;
  bottom: 0;
  box-shadow: 0 0 15px rgba(0, 0, 0, .2);
  display: flex;
  justify-content: center;
  left: 0;
  padding: 1.6rem 4%;
  position: fixed;
  width: 100%;
  z-index: 10
}

@media screen and (min-width:1000px) {
  .fixed-button {
    padding: 1rem
  }

 .fixed-button a{
   text-align: center;
 }

 .fixed-button a img{
   width: 65%;
 }

}

.kv__image {
  width: 100%
}

.kv__text {
  background:#f9ad35;
  padding: 2rem 0
}

.kv__text p {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.5;
  margin: 0;
  text-align: center;
  text-shadow: 8px 5px 13px rgba(0, 0, 0, .6)
}

.kv__text p #pref {
  color: #fbf547;
  font-size: 2.4rem
}

@media screen and (min-width:750px) {
  .kv__image {
    height: 51vw;
    position: relative
  }

  .kv__image img {
    left: 50%;
    max-width: 152vw;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 152vw
  }

  .kv__text {
    padding: 4rem 0
  }

  .kv__text p, .kv__text p #pref {
    font-size: 3.2rem
  }
}

@media (min-width:1300px) {
  .kv__image {
    height: 665px
  }

  .kv__image img {
    max-width: 1980px;
    width: 1980px
  }
}

@media (min-width:1980px) {
  .kv__image {
    height: auto
  }

  .kv__image img {
    max-width: 100%;
    position: static;
    transform: none;
    width: 100%
  }
}

.sec1 {
  padding: 4.5rem 0
}

.sec1__heading {
  color: #2e3034;
  font-size: 3rem;
  font-style: italic;
  font-weight: 900;
  line-height: 1.3;
  margin: 0 0 3rem;
  text-align: center
}

.sec1__heading span {
  color: #fd9b01
}

.sec1__image {
  margin-bottom: 5rem
}

.sec1__image img {
  width: 100%
}

.sec1__button {
  text-align: center
}

.sec1__button a img {
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, .4));
  width: 95%
}

@media screen and (min-width:750px) {
  .sec1 {
    padding: 10rem 0
  }

  .sec1__heading {
    font-size: 6.4rem;
    margin-bottom: 5rem
  }

  .sec1__image {
    margin-bottom: 6rem
  }

  .sec1__button a img {
    width: 79%
  }
}

.sec2 {
  background: #fceacf;
  padding: 4.5rem 0
}

.sec2__heading {
  color: #2e3034;
  font-size: 3.2rem;
  font-style: italic;
  font-weight: 900;
  line-height: 1;
  margin: 0 0 5rem;
  text-align: center
}

.sec2__heading .orange {
  color: #fd9b01;
  font-size: 3.5rem
}

.sec2__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 3.6rem
}

.sec2__list__item {
  background: #fff;
  border: 1px solid var(--color-orange);
  padding: 3rem 1.5rem 2rem;
  position: relative
}

.sec2__list__item h3 {
  font-size: 2.4rem;
  font-weight: 900;
  margin: 0 0 1rem
}

.sec2__list__item h3 .orange {
  color: var(--color-orange)
}

.sec2__list__item h3 .large {
  font-size: 1.4em
}

.sec2__list__item p {
  font-size: 1.6rem;
  margin: 0
}

.sec2__list__label {
  height: 40px;
  left: -1px;
  position: absolute;
  top: -20.5px;
  width: auto
}

@media screen and (min-width:750px) {
  .sec2 {
    padding: 9rem 0
  }

  .sec2__heading {
    font-size: 6.4rem;
    margin-bottom: 12rem
  }

  .sec2__heading .orange {
    font-size: 7rem
  }

  .sec2__list {
    flex-direction: row;
    gap: 80px 40px;
    justify-content: center
  }

  .sec2__list__item {
    flex: 0 0 calc(50% - 20px);
    padding: 6rem 3rem 4rem
  }

  .sec2__list__item h3 {
    font-size: 4rem;
    line-height: 1.3;
    margin-bottom: 2.4rem
  }

  .sec2__list__item p {
    font-size: 2rem
  }

  .sec2__list__item.no2 h3, .sec2__list__item.no3 h3, .sec2__list__item.no6 h3 {
    margin-top: 2.1rem
  }

  .sec2__list__label {
    height: 8.1rem;
    top: -41px
  }
}

.sec3 {
  padding: 5rem 0
}

.sec3__heading {
  color: #2e3034;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.3;
  margin: 0 auto 3rem;
  max-width: calc(1000px + 8rem);
  padding-left: 4%;
  padding-right: 4%;
  text-align: center;
  width: 100%
}

@media screen and (min-width:750px) {
  .sec3__heading {
    padding-left: 4rem;
    padding-right: 4rem
  }
}

.sec3__heading .orange {
  color: var(--color-orange);
  font-size: 1.3em
}

.sec3__slider {
  background: #ddd;
  overflow: hidden;
  padding: 2rem 0;
  width: 100%
}

.sec3__slider .swiper-wrapper {
  transition-timing-function: linear
}

.sec3__slider .swiper-slide {
  padding: 0 .5rem;
  width: 20rem
}

.sec3__slider .swiper-slide img {
  width: 100%
}

@media screen and (min-width:750px) {
  .sec3 {
    padding: 14rem 0
  }

  .sec3__heading {
    font-size: 5.4rem;
    margin-bottom: 7rem
  }

  .sec3__slider {
    padding: 4rem 0
  }

  .sec3__slider .swiper-slide {
    width: 42rem
  }
}

.sec4 {
  background: #faad34;
  padding: 1.5rem 0
}

.sec4__inner {
  position: relative
}

.sec4__image img {
  width: 100%
}

.sec4__button {
  bottom: 2.4rem;
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%
}

.sec4__button img {
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, .4));
  width: 88%
}

@media screen and (min-width:750px) {
  .sec4 {
    padding: 4.5rem 0
  }

  .sec4__button {
    bottom: 4.2rem
  }

  .sec4__button img {
    width: 79%
  }
}

.sec5 {
  padding: 5rem 0
}

.sec5__heading {
  line-height: 1.3;
  margin-bottom: 3.5rem;
  text-align: center
}

.sec5__heading h2 {
  color: var(--color-orange);
  font-size: 3.2rem;
  font-style: italic;
  font-weight: 900;
  margin: 0 0 2.2rem
}

.sec5__heading p {
  color: #2e3034;
  font-size: 2.2rem;
  font-weight: 900;
  margin: 0
}

.sec5__image img {
  width: 100%
}

@media screen and (min-width:750px) {
  .sec5 {
    padding: 12rem 0 5rem
  }

  .sec5__heading {
    margin-bottom: 5.6rem
  }

  .sec5__heading h2 {
    font-size: 7rem;
    margin-bottom: 4.5rem
  }

  .sec5__heading p {
    font-size: 4.5rem
  }
}

.sec6 {
  background: url(../img/sec6_bg_sp.png) no-repeat 50%/cover;
  color: #fff;
  font-style: italic;
  line-height: 1.3;
  padding: 2.4rem 0;
  text-align: center
}

.sec6__heading {
  font-size: 2.7rem;
  font-weight: 900;
  margin: 0 0 1.5rem
}

.sec6__text {
  font-size: 1.6rem;
  font-weight: 900;
  margin: 0
}

@media screen and (min-width:750px) {
  .sec6 {
    background-image: url(../img/sec6_bg.png);
    padding: 5rem 0
  }

  .sec6__heading {
    font-size: 5.4rem;
    margin-bottom: 2.7rem
  }

  .sec6__text {
    font-size: 3.2rem
  }
}

.sec7 {
  padding: 4.5rem 0
}

.sec7__heading {
  color: var(--color-orange);
  font-size: 3.2rem;
  font-style: italic;
  font-weight: 900;
  line-height: 1.3;
  margin: 0 0 3rem;
  text-align: center
}

.sec7__image {
  margin-bottom: 1.7rem
}

.sec7__image img {
  width: 100%
}

.sec7__logo-text {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-bottom: 1.5rem
}

.sec7__logo-text p {
  color: #2e3034;
  font-size: 2.4rem;
  font-style: italic;
  font-weight: 900;
  margin: 0
}

.sec7__logo-text img {
  width: 80px
}

.sec7__list {
  background: #fceacf;
  border-radius: 4rem;
  display: flex;
  justify-content: center;
  margin-bottom: 6rem;
  padding: 3rem 1.7rem
}

.sec7__list ul {
  color: #2e3034;
  display: flex;
  flex-direction: column;
  font-size: 1.6rem;
  font-weight: 900;
  gap: 1.5rem;
  line-height: 1.3
}

.sec7__list ul li {
  padding-left: 2rem;
  position: relative
}

.sec7__list ul li:before {
  background: url(../img/icon_light.png) no-repeat 50%/contain;
  content: "";
  display: inline-block;
  height: 2.1rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 1.4rem
}

.sec7__step__heading {
  color: #2e3034;
  font-size: 2.1rem;
  font-weight: 900;
  line-height: 1.3;
  margin: 0 0 4.5rem;
  text-align: center
}

.sec7__step__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-bottom: 3.5rem
}

.sec7__step__list__item {
  align-items: center;
  border: 2px solid var(--color-orange);
  display: flex;
  padding: 1.5rem;
  position: relative
}

.sec7__step__list__item:after {
  background: #faa51f;
  bottom: -2.9rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  height: 1.9rem;
  left: 50%;
  margin-left: -2.1rem;
  position: absolute;
  width: 4.2rem
}

.sec7__step__list__item:last-child:after {
  content: none
}

.sec7__step__list__item p {
  color: #2e3034;
  font-size: 2.1rem;
  font-weight: 900;
  line-height: 1.3;
  margin: 0;
  text-align: center;
  width: 50%
}

.sec7__step__list__item img {
  width: 50%
}

.sec7__step__list__label {
  align-items: center;
  background: #faa51f;
  border-radius: 4rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 1.2rem;
  font-weight: 900;
  height: 6.5rem;
  justify-content: center;
  left: -1.2rem;
  line-height: 1;
  position: absolute;
  top: -1.8rem;
  width: 6.5rem
}

.sec7__step__list__label span {
  font-size: 2em
}

.sec7__step__notice {
  font-size: 1.2rem;
  font-weight: 500;
  margin: 0;
  padding-left: 2.5em;
  position: relative
}

.sec7__step__notice span {
  left: 0;
  position: absolute;
  top: 0
}

@media screen and (min-width:750px) {
  .sec7 {
    padding: 12rem 0 9rem
  }

  .sec7__heading {
    font-size: 6.4rem;
    margin-bottom: 4.4rem
  }

  .sec7__image {
    margin-bottom: 4rem
  }

  .sec7__logo-text {
    flex-direction: row;
    gap: 2rem;
    justify-content: center;
    margin-bottom: 3rem
  }

  .sec7__logo-text p {
    font-size: 4.8rem
  }

  .sec7__logo-text img {
    width: 16rem
  }

  .sec7__list {
    margin-bottom: 15rem;
    padding: 3.5rem
  }

  .sec7__list ul {
    font-size: 3.2rem
  }

  .sec7__list ul li {
    padding-left: 5rem
  }

  .sec7__list ul li:before {
    height: 4.4rem;
    width: 2.9rem
  }

  .sec7__step__heading {
    font-size: 3.6rem;
    margin-bottom: 9rem
  }

  .sec7__step__list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8rem 4rem;
    margin-bottom: 4.5rem
  }

  .sec7__step__list__item {
    flex-direction: column-reverse;
    gap: 2.8rem;
    justify-content: flex-end;
    padding: 4rem 1.3rem 2.7rem;
    width: 30%
  }

  .sec7__step__list__item:after {
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    height: 5rem;
    left: auto;
    margin: -2.5rem 0 0;
    right: -3.3rem;
    top: 50%;
    width: 2.3rem
  }

  .sec7__step__list__item img {
    width: 100%
  }

  .sec7__step__list__item p {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    font-size: 2.4rem;
    justify-content: center;
    width: 100%
  }

  .sec7__step__list__label {
    border-radius: 5rem;
    height: 10rem;
    left: 50%;
    margin-left: -5rem;
    top: -5rem;
    width: 10rem
  }

  .sec7__step__notice {
    font-size: 1.6rem
  }
}

.sec8 {
  background: #faad34;
  padding: 1.5rem 0
}

.sec8__inner {
  position: relative
}

.sec8__image img {
  width: 100%
}

.sec8__button {
  bottom: 2rem;
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%
}

.sec8__button img {
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, .4));
  width: 88%
}

@media screen and (min-width:750px) {
  .sec8 {
    padding: 4.5rem 0
  }

  .sec8__button {
    bottom: 5.7rem
  }

  .sec8__button img {
    width: 79%
  }
}

.sec9 {
  padding: 5rem 0
}

.sec9__heading {
  color: var(--color-orange);
  font-size: 3.2rem;
  font-weight: 900;
  margin: 0 0 3.5rem;
  text-align: center
}

.sec9__voice {
  display: flex;
  gap: 2rem;
  margin-bottom: 1.3rem
}

.sec9__voice__image {
  flex: 0 0 80px
}

.sec9__voice__image img {
  width: 100%
}

.sec9__voice__text {
  background: #fff;
  border: 5px solid #faad34;
  border-radius: 1.5rem;
  color: #454545;
  flex: 1 1 auto;
  padding: 1.8rem;
  position: relative
}

.sec9__voice__text:before {
  background: url(../img/icon_voice_sp.png) no-repeat 50%/contain;
  content: "";
  display: block;
  height: 1.7rem;
  left: -1.8rem;
  position: absolute;
  top: 3.6rem;
  width: 3.4rem
}

.sec9__voice__text h3 {
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.3;
  margin: 0 0 1rem
}

.sec9__voice__text p {
  font-size: 1.45rem
}

.sec9__voice__text p span {
  background: linear-gradient(transparent 75%, #fff263 0);
  color: #e7253d;
  font-weight: 700
}

.sec9__voice__text p.detail {
  font-weight: 500;
  margin: 0 0 .6rem
}

.sec9__voice__text p.name {
  font-weight: 900;
  margin: 0;
  text-align: right
}

@media screen and (min-width:750px) {
  .sec9 {
    padding: 12rem 0
  }

  .sec9__heading {
    font-size: 7rem;
    margin-bottom: 5rem
  }

  .sec9__voice {
    gap: 4rem;
    margin-bottom: 2.4rem
  }

  .sec9__voice__image {
    flex: 0 0 16rem
  }

  .sec9__voice__text {
    padding: 3.5rem 4rem
  }

  .sec9__voice__text:before {
    background: url(../img/icon_voice.png) no-repeat 50%/contain;
    height: 3.3rem;
    left: -3.2rem;
    top: 7.2rem;
    width: 6.8rem
  }

  .sec9__voice__text h3 {
    font-size: 2.6rem;
    margin-bottom: 2rem
  }

  .sec9__voice__text p {
    font-size: 2rem
  }
}

.sec10 {
  background: url(../img/sec10_bg.jpg) no-repeat 50%/cover;
  padding: 6rem 0 0
}

.sec10__heading {
  color: #2e3034;
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1.3;
  margin: 0 0 3rem;
  text-align: center;
  text-shadow: 0 0 1.5rem #fff, 0 0 1.5rem #fff, 0 0 1.5rem #fff, 0 0 1.5rem #fff
}

.sec10__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8rem;
  justify-content: center;
  margin-bottom: 4.5rem
}

.sec10__list__item {
  flex: 0 0 calc(50% - 0.9rem);
  position: relative
}

.sec10__list__item img {
  width: 100%
}

.sec10__list__item p {
  background: #faad34;
  bottom: 0;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 900;
  left: 0;
  line-height: 1.3;
  margin: 0;
  padding: 1rem;
  position: absolute;
  text-align: center;
  width: 100%
}

.sec10__copy {
  text-align: right
}

.sec10__copy p {
  color: #fff;
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1.3;
  margin: 0 0 1.3rem;
  text-align: left;
  text-shadow: 8px 5px 13px rgba(0, 0, 0, .6)
}

.sec10__copy img {
  width: 63%
}

@media screen and (min-width:750px) {
  .sec10 {
    padding: 10rem 0 0
  }

  .sec10__heading {
    font-size: 5.4rem;
    margin-bottom: 8.5rem
  }

  .sec10__list {
    gap: 3.6rem;
    margin-bottom: 5.4rem
  }

  .sec10__list__item {
    flex: 0 0 calc(33.33% - 2.4rem)
  }

  .sec10__list__item p {
    font-size: 3.6rem;
    padding: 1.5rem
  }

  .sec10__copy {
    display: flex
  }

  .sec10__copy p {
    flex: 0 0 auto;
    font-size: 5.4rem
  }

  .sec10__copy img {
    flex: 1 1 auto
  }
}

.sec11 {
  padding: 4.5rem 0 0
}

.sec11__explain {
  color: #2e3034;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 2.7rem
}

.sec11__explain, .sec11__image {
  text-align: center
}

.sec11__image img {
  max-width: 920px;
  width: 100%
}

@media screen and (min-width:750px) {
  .sec11 {
    padding: 10rem 0 0
  }

  .sec11__explain {
    font-size: 3.2rem;
    margin-bottom: 6rem
  }
}

.sec12 {
  padding: 2.5rem 0 4.5rem
}

.sec12__intro {
  color: #2e3034;
  font-size: 2.1rem;
  font-weight: 900;
  line-height: 1.4;
  margin: 0 0 5rem;
  text-align: center
}

.sec12__heading {
  align-items: flex-end;
  color: #fd9b01;
  display: flex;
  font-size: 3.2rem;
  font-style: italic;
  font-weight: 900;
  justify-content: center;
  line-height: 1.3;
  margin: 0 0 3.6rem
}

.sec12__heading span {
  font-size: 2em;
  line-height: 1;
  margin-right: .4rem;
  margin-top: -2rem
}

.sec12__heading img {
  align-self: flex-start;
  flex: 0 0 11rem
}

.sec12__point {
  display: flex;
  flex-direction: column;
  gap: 4rem
}

.sec12__point__heading {
  align-items: center;
  color: #2e3034;
  display: flex;
  font-size: 2.2rem;
  font-weight: 900;
  gap: .8rem;
  margin: 0 0 .6rem
}

.sec12__point__heading img {
  width: 10rem
}

.sec12__point__image img {
  width: 100%
}

.sec12__point__text {
  color: #2e3034;
  font-size: 1.3rem;
  margin: 1rem 0 0
}

@media screen and (min-width:750px) {
  .sec12 {
    padding: 6rem 0 12rem
  }

  .sec12__intro {
    font-size: 3.6rem;
    margin-bottom: 8rem
  }

  .sec12__heading {
    font-size: 7rem;
    margin-bottom: 8rem
  }

  .sec12__heading img {
    flex-basis: 21.9rem
  }

  .sec12__heading span {
    font-size: 13rem
  }

  .sec12__point {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5rem
  }

  .sec12__point__item {
    flex: 0 0 calc(50% - 2.5rem)
  }

  .sec12__point__heading {
    font-size: 2.6rem;
    gap: 1.4rem;
    margin-bottom: 1rem
  }

  .sec12__point__heading img {
    width: 16rem
  }

  .sec12__point__text {
    font-size: 2.1rem;
    margin-top: 1.6rem
  }
}

.voice{
    background-color: #fbad34;
    padding: 4.5rem 0;
}
.voice .voice__heading{
    color: #ffffff;
    font-size: 3.2rem;
    font-style: italic;
    font-weight: 900;
    margin: 0 0 3.5rem;
    text-align: center
}
@media screen and (min-width:750px) {
    .voice{
        padding: 9rem 0;
    }
    .voice .voice__heading{
        font-size: 7rem;
        margin-bottom: 5rem
    }
}

.products{
    padding: 4.5rem 0;
}
.products .products__heading{
    color: #2e3034;
    font-size: 3.2rem;
    font-style: italic;
    font-weight: 900;
    margin: 0 0 3.5rem;
    text-align: center
}
@media screen and (min-width:750px) {
    .products{
        padding: 9rem 0;
    }
    .products .products__heading{
        font-size: 7rem;
        margin-bottom: 5rem
    }
}

.case{
    background-color: #fceacf;
    padding: 4.5rem 0;
}
.case .case__heading{
    color: #2e3034;
    font-size: 3.2rem;
    font-style: italic;
    font-weight: 900;
    margin: 0 0 3.5rem;
    text-align: center
}
@media screen and (min-width:750px) {
    .case{
        padding: 9rem 0;
    }
    .case .case__heading{
        font-size: 7rem;
        margin-bottom: 5rem
    }
}

.form {
    padding: 8rem 0 10rem 0;
}

.form__heading {
  color: #2e3034;
  font-size: 3.2rem;
  font-weight: 900;
  margin: 0 0 3.5rem;
  text-align: center
}

.form__subtitle {
  border-left: 3px solid #faa51f;
  color: #2e3034;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 1.5rem;
  padding-left: 1rem
}

.form__block {
  margin-bottom: 4rem
}

.form__estimate {
  display: flex;
  flex-direction: column;
  gap: 1rem
}

.form__estimate label {
  cursor: pointer
}

.form__estimate__item {
  align-items: center;
  background: #f6f6f6;
  border-radius: 10px;
  display: flex;
  gap: 1rem;
  padding: 1.5rem 2.5rem
}

.form__estimate__image {
  flex: 0 0 10rem
}

.form__estimate__image img {
  width: 100%
}

.form__estimate__text {
  display: flex;
  flex: 1 1 auto;
  justify-content: center
}

.form__estimate__text h4 {
  font-size: 1.3rem;
  font-weight: 900;
  margin: 0
}

.form__estimate__text p {
  font-size: 1.4rem;
  font-weight: 500;
  margin: 0
}

.form__estimate input[type=radio] {
  display: none
}

.form__estimate input[type=radio]:checked+.form__estimate__item {
  background: #faad34;
  color: #fff
}

.form__row {
  border-bottom: 1px solid #868686;
  display: flex;
  flex-direction: column;
  padding-bottom: 2rem
}

.form__row+div {
  margin-top: 2rem
}

.form__row:last-child {
  border-bottom: none
}

.form__label {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem
}

.form__label .required {
  background: #faad34;
  border-radius: .5rem;
  color: #fff;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  margin-top: .5rem;
  padding: .5rem 1rem
}

.form input[type=email], .form input[type=text], .form select, .form textarea {
  background: #fbf1e0;
  border: 1px solid #fbc165;
  border-radius: 2px;
  font-size: 1.3rem;
  padding: 1rem 1.5rem
}

.form__input input[type=email], .form__input input[type=text], .form__input select, .form__input textarea {
  width: 100%
}

.form__input input[type=email]::-moz-placeholder, .form__input input[type=text]::-moz-placeholder, .form__input select::-moz-placeholder, .form__input textarea::-moz-placeholder {
  color: #bdb8b8
}

.form__input input[type=email]::placeholder, .form__input input[type=text]::placeholder, .form__input select::placeholder, .form__input textarea::placeholder {
  color: #bdb8b8
}

.form__input input[type=email]:-ms-input-placeholder, .form__input input[type=text]:-ms-input-placeholder, .form__input select:-ms-input-placeholder, .form__input textarea:-ms-input-placeholder {
  color: #bdb8b8
}

.form__input input[type=email]::-ms-input-placeholder, .form__input input[type=text]::-ms-input-placeholder, .form__input select::-ms-input-placeholder, .form__input textarea::-ms-input-placeholder {
  color: #bdb8b8
}

.form__row.tel .form__input span {
  color: #000;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 700;
  margin-top: .5rem
}

.form__row.current-waterheater-maker .form__label__text {
  align-items: flex-start;
  display: flex;
  flex-direction: column
}

.form__row.current-waterheater-maker .form__label .required {
  margin: 0 0 .5rem
}

.form__row.current-waterheater-maker .form__label__image {
  margin-top: .5rem;
  text-align: center;
  width: 100%
}

.form__row.current-waterheater-maker .form__input label {
  color: #000;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem
}

.form__row.current-waterheater-maker .form__input select {
  margin-bottom: 2rem
}

.form__row.current-waterheater-type .form__input label {
  color: #000;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem
}

.form__row.current-waterheater-installation {
  border: none
}

.form__row.desired-waterheater-maker .form__input label {
  color: #000;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem
}

.form__row.desired-waterheater-maker .form__input select {
  margin-bottom: 2rem
}

.form__installation {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 0;
  padding-top: 1rem
}

.form__installation__item {
  display: flex;
  flex: 1 1 50%;
  justify-content: center;
  padding-right: 1rem
}

.form__installation__item label {
  border: 3px solid #ddd;
  border-radius: 5px;
  cursor: pointer;
  display: block;
  position: relative;
  width: 11.5rem
}

.form__installation__item input[type=radio] {
  border: 1px solid #999;
  box-sizing: border-box;
  font-size: 0;
  height: 2rem;
  left: -5px;
  line-height: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  top: -5px;
  width: 2rem
}

.form__installation__image img {
  width: 100%
}

.form__installation__text {
  align-items: center;
  background: #ddd;
  display: flex;
  flex-direction: column;
  height: 7rem;
  justify-content: center;
  width: 100%
}

.form__installation__text p {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0
}

.form__installation__text span {
  color: #39f;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: 1.2
}

.form__privacy {
  margin-bottom: 3.5rem
}

.form__privacy__heading {
  color: #000;
  font-size: 1.4rem;
  margin: 0 0 1.5rem;
  text-align: center
}

.form__privacy__inner {
  border: 1px solid #707070;
  height: 12rem;
  margin-bottom: 3rem;
  overflow: auto;
  padding: 1rem;
  width: 100%
}

.form__privacy__inner p {
  font-size: 1.2rem;
  margin: 0
}

.form__privacy__checkbox {
  display: flex;
  justify-content: center
}

.form__privacy__checkbox label {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 1.4rem;
  font-weight: 700;
  gap: .5rem
}

.form__privacy__checkbox label input[type=checkbox] {
  height: 2rem;
  width: 2rem
}

.form__submit {
  display: flex;
  justify-content: center
}

.form__submit button, .form__submit input[type=button], .form__submit input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #faa51f;
  border: none;
  border-radius: .4rem;
  color: #fff;
  cursor: pointer;
  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, .4));
  font-size: 2.4rem;
  font-weight: 700;
  height: 6rem;
  max-width: 100%;
  width: 34.5rem
}

.form__submit button:hover, .form__submit input[type=button]:hover, .form__submit input[type=submit]:hover {
  opacity: .7
}

.form__submit button:disabled, .form__submit input[type=button]:disabled, .form__submit input[type=submit]:disabled {
  background: #ddd;
  cursor: not-allowed
}

.form__submit button:disabled:hover, .form__submit input[type=button]:disabled:hover, .form__submit input[type=submit]:disabled:hover {
  opacity: 1
}

@media screen and (min-width:750px) {
  .form {
    padding: 14rem 0 17rem 0;
  }

  .form__heading {
    font-size: 7rem;
    margin-bottom: 8rem
  }

  .form__subtitle {
    font-size: 1.8rem
  }

  .form__block {
    margin-bottom: 7rem
  }

  .form__estimate {
    flex-direction: row;
    gap: 4rem
  }

  .form__estimate label {
    flex: 1 1 calc(50% - 2rem)
  }

  .form__estimate__item {
    height: 100%;
    padding: 2rem 3rem
  }

  .form__estimate__text h4 {
    font-size: 2.4rem
  }

  .form__estimate__text p {
    font-size: 1.5rem
  }

  .form__row {
    align-items: center;
    flex-direction: row;
    gap: 4.5rem
  }

  .form__label {
    align-items: center;
    flex: 0 0 36rem;
    flex-direction: row;
    justify-content: space-between;
    margin: 0;
    padding-left: 4rem
  }

  .form__label label {
    font-size: 1.6rem
  }

  .form__label .required {
    margin: 0
  }

  .form__input {
    flex: 1 1 auto;
    padding-right: 4rem
  }

  .form__input select {
    width: auto
  }

  .form__row.tel .form__input {
    align-items: center;
    display: flex;
    gap: 1.5rem
  }

  .form__row.tel .form__input input {
    width: 36rem
  }

  .form__row.tel .form__input span {
    margin: 0
  }

  .form__row.email .form__input input {
    width: 36rem
  }

  .form__row.address2 .form__label {
    flex-basis: 46rem
  }

  .form__row.current-waterheater-maker {
    gap: 2rem
  }

  .form__row.current-waterheater-maker .form__label {
    flex-basis: 56rem
  }

  .form__row.current-waterheater-maker .form__label img {
    margin-top: 0
  }

  .form__row.current-waterheater-maker .form__label__image {
    width: 243px
  }

  .form__row.current-waterheater-maker .form__input {
    flex: 1 1 auto
  }

  .form__row.current-waterheater-maker .form__input label {
    margin-bottom: 0
  }

  .form__row.current-waterheater-maker .form__input select {
    width: 100%
  }

  .form__row.current-waterheater-type .form__label {
    flex-basis: 27.2rem
  }

  .form__row.current-waterheater-type .form__input label {
    display: block;
    margin-bottom: 0
  }

  .form__row.current-waterheater-installation {
    align-items: flex-start;
    gap: 0
  }

  .form__row.current-waterheater-installation .form__label {
    flex-basis: 32rem;
    padding-top: 2rem
  }

  .form__row.desired-waterheater-maker {
    gap: 0
  }

  .form__row.desired-waterheater-maker .form__label {
    flex-basis: 32rem
  }

  .form__row.desired-waterheater-maker .form__input {
    display: flex;
    gap: 3rem
  }

  .form__row.desired-waterheater-maker .form__input .desired-waterheater-maker__item {
    flex: 1 1 calc(50% - 1.5rem)
  }

  .form__row.desired-waterheater-maker .form__input .desired-waterheater-maker__item label {
    display: block
  }

  .form__row.desired-waterheater-maker .form__input .desired-waterheater-maker__item input, .form__row.desired-waterheater-maker .form__input .desired-waterheater-maker__item select {
    margin: 0;
    width: 100%
  }

  .form__row.remarks .form__label {
    flex-basis: 14rem
  }

  .form__installation {
    justify-content: flex-start
  }

  .form__installation__item {
    flex: 0 0 20%
  }

  .form__privacy {
    margin-bottom: 5rem
  }

  .form__privacy__heading {
    font-size: 1.8rem
  }

  .form__privacy__inner {
    height: 20rem;
    margin-bottom: 3.5rem;
    padding: 1.5rem 3rem
  }

  .form__privacy__inner p {
    font-size: 1.6rem
  }

  .form__privacy__checkbox label {
    font-size: 1.7rem
  }

  .form__submit button, .form__submit input[type=button], .form__submit input[type=submit] {
    font-size: 3.6rem;
    height: 9rem;
    width: 74rem
  }
}

.form__error__heading {
  color: #000;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 2rem
}

.form__error .error_messe {
  font-size: 1.2rem;
  font-weight: 500
}

.form__error .form__submit {
  margin-top: 4rem
}

@media screen and (min-width:750px) {
  .form__error__heading {
    font-size: 2.4rem;
    margin-bottom: 4rem
  }

  .form__error .error_messe {
    font-size: 1.6rem
  }

  .form__error .form__submit {
    margin-top: 8rem
  }
}

.form__confirm__heading {
  color: #000;
  font-size: 2.4rem;
  font-weight: 700;
  margin: 0 0 2rem;
  text-align: center
}

.form__confirm__message {
  color: #000;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 2rem
}

.form__confirm__content {
  width: 100%
}

.form__confirm__content td, .form__confirm__content th {
  display: block;
  font-size: 1.4rem;
  text-align: left
}

.form__confirm__content td {
  border-bottom: 1px solid #868686;
  margin-bottom: 1rem;
  padding-bottom: 1rem
}

.form__confirm .form__submit {
  align-items: center;
  flex-direction: column;
  gap: 2rem;
  margin-top: 4rem
}

@media screen and (min-width:750px) {
  .form__confirm__heading {
    font-size: 3.2rem
  }

  .form__confirm__message {
    font-size: 2.1rem
  }

  .form__confirm__content tr {
    border-bottom: 1px solid #868686
  }

  .form__confirm__content td, .form__confirm__content th {
    display: table-cell;
    font-size: 1.8rem;
    padding: 1rem
  }

  .form__confirm__content td {
    border: none
  }

  .form__confirm .form__submit {
    margin-top: 8rem
  }
}

.form__complete__heading {
  color: #000;
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0 0 2rem;
  text-align: center
}

.form__complete__content p {
  font-size: 1.4rem
}

.form__complete__button {
  display: flex;
  justify-content: center;
  margin-top: 4rem
}

.form__complete__button a {
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #faa51f;
  border: none;
  border-radius: .4rem;
  color: #fff;
  cursor: pointer;
  display: flex;
  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, .4));
  font-size: 2.4rem;
  font-weight: 700;
  height: 6rem;
  justify-content: center;
  max-width: 100%;
  text-decoration: none;
  width: 34.5rem
}

.form__complete__button a:hover {
  opacity: .7
}

@media screen and (min-width:750px) {
  .form__complete__heading {
    font-size: 3.2rem;
    margin-bottom: 4rem
  }

  .form__complete__content p {
    font-size: 1.6rem
  }

  .form__complete__button {
    margin-top: 8rem
  }
}


.kv__toptx {
text-align: center;
    font-size: 2.3em;
    font-weight: 800;
    background: #fffb6e;
}
@media screen and (min-width:751px) {
.kv__toptx {
    font-size: 3em;
}
}
.site-header__right {
    display: flex;
    /* margin-left: 1%; */
    align-items: flex-end;
}
@media screen and (min-width:751px) {
.site-header__right {
    padding-left: 1%;
    border-left: #7f7f7f solid 1px;
}
}

.site-header__button {
order: 2;
}
.site-header__tell {
    order: 1;
}
.site-header__tell .telltx {
    display: flex;
    align-items: flex-end;
}
.site-header__tell .telltx img {
    width: 30px;
    height: 100%;
    margin-right: 3px;
    margin-bottom: 5px;
}
.site-header__tell .telltx p {
    margin: 0;
    line-height: 1.3;
    font-weight: 800;
font-size: 1.8rem;
color: #2e3034;
}
.site-header__tell .telltx .tx {
margin-left: -30px;
}
.site-header__tell .telltx p .no {
font-size: 3.0rem;
    color: #e7253d;
}
.site-header__button a {
margin-left: 10px;
}
.site-header__tell .tellbtn img {
max-width: 50px;
}

@media screen and (max-width:1200px) {
.site-header__tell .telltx p {
font-size: 1.8rem;
}
.site-header__tell .telltx p .no {
font-size: 2.6rem;
}
.site-header__tell .telltx .tx {
margin-left: -35px;
}
.site-header__tell .telltx img {
width: 25px;
}
    .site-header__text p {
        font-size: 2.3rem;
    }

    .site-header__text p span {
        font-size: 1.8rem;
    }
.site-header__button a {
height: 6rem;
}
.site-header__logo img {
        width: 12rem;
}
}
@media screen and (max-width:850px) {
.site-header__tell .telltx img {
width: 22px;
}
.site-header__tell .telltx .tx {
margin-left: -25px;
}
}
@media screen and (max-width:750px) {
.site-header__logo {
    width: 20%;
}
.site-header__logo img {
width: auto;
        max-width: 100%;
}
.site-header__button {
order: 1;
}
.site-header__tell {
    order: 2;
}
.site-header__button a {
font-size: 1.8rem;
        border-radius: 1.5rem;
        margin-left: 0;
        margin-right: 10px;
        padding: 12px 10px;
        width: auto;
        height: auto;
}
.site-header__text p {
font-size: 3.5vw;
}
}
@media screen and (max-width:480px) {
.site-header__inner {
padding: 2rem 1rem;
}
.site-header__button a {
        font-size: 4vw;
}
}
footer {
padding-bottom:120px;
background:#f9ad35;
}
footer .navi {
text-align: center;
padding: 10px;
}
footer .navi li {
display:inline-block;
    margin: 0 5px;
    font-size: 2.3rem;
}
footer .navi li a {
    color: #FFF;
}
@media screen and (max-width:750px) {
footer {
    padding-bottom: 20%;
}
footer .navi li {
    font-size: 1.8rem;
}
}


.btn.tel-btn {
    text-align: center;
    margin-top: 40px;
}
.btn.tel-btn .tel-btn-txbox {
    border: #FF0000 solid 3px;
    border-radius: 20px;
    padding: 20px;
    max-width: 790px;
    margin: 0 auto;
}
.btn.tel-btn .tel-btn-txbox img {
    height: 100%;
    margin-right:10px;
    width: 35px;
    vertical-align: baseline;
}
.btn.tel-btn .tel-btn-txbox p {
    font-size: 26px;
    font-weight: 800;
    margin: 0;
    line-height: 1.3;
}
.btn.tel-btn .tel-btn-txbox p .no {
    font-size: 45px;
    color: #e7253d;
}

/*******************
モーダル
*******************/
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .1s;
  box-sizing: border-box;
  z-index: 999;
}
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
.modal-body{
	position: relative;
	display: block;
	max-width: 100%;
	width: max-content;
  margin-left: auto;
  margin-right: auto;
}
.modal-close{
	position: absolute;
	display: flex;
  align-items: center;
  justify-content: center;
	top: -40px;
	right: 0;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
.modal-content{
	background: #fff;
	padding: 30px;
}
.modal-content a:hover{
  opacity: 0.9;
}
.modal-content a img:hover{
  opacity: 1 !important;
}

.modal-content #form{
  padding: 0;
}
.form-open{
  cursor: pointer;
}