@charset "UTF-8";

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}

body {
  line-height: 1
}

ol,
ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: 1px solid #888;
  border-radius: none;
  font: inherit;
  outline: none;
  display: block;
  width: 100%
}

figure {
  margin: 0
}

textarea {
  resize: vertical
}

* {
  box-sizing: border-box
}

*:focus {
  outline: none
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  min-height: -webkit-fill-available
}

body {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  min-height: -webkit-fill-available;
  overflow-y: scroll
}

picture {
  display: block
}

img {
  max-width: 100%;
  height: auto;
  margin-right: auto;
  margin-left: auto;
  vertical-align: middle;
  object-fit: cover
}

address {
  font-style: normal
}

a {
  text-decoration: none;
  color: inherit
}

body {
  font-family: Zen Kaku Gothic New, sans-serif;
  overflow-x: hidden
}

picture {
  max-width: 1100px;
  display: block;
  margin-right: auto;
  margin-left: auto
}

.header__pc {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background-color: #fff
}

.header__pc {
  display: none
}

.header__pc__image {
  display: flex;
  align-items: center;
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  min-height: 118px
}

.header__pc__list {
  padding: 16px 4%;
  margin-right: auto;
  margin-left: auto;
  column-gap: clamp(8rem, 9.7442143727vw, 10rem);
  display: flex;
  justify-content: center;
  background-color: #007364
}

.header__pc__list {
  display: none
}


.header__pc__list li {
  line-height: 1.5;
  font-size: 16px;
  color: #fff;
  font-weight: 700
}

.header__pc__list li a {
  color: inherit;
  cursor: pointer;
  transition: opacity .7s
}

@media (hover: hover) and (pointer: fine) {
  .header__pc__list li a:hover {
    opacity: .7
  }
}

.header__sp {
  display: none
}

.header__sp {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background-color: #fff
}


.header__sp__inner {
  display: flex;
  column-gap: 5%;
  align-items: center;
  padding-right: 1%;
  position: relative
}

.header__sp__image {
  width: 62%
}

.header__sp__tel {
  width: 33%
}

.header__sp__tel .tel {
  display: inline-block;
  width: 100px;
  width: clamp(6rem, 16vw, 12rem)
}

.header__sp__tel .tel img {
  max-width: 100%
}

.header__sp .hamburger--btn {
  position: fixed;
  top: 5%;
  top: clamp(2.4rem, 6.4vw, 7.4rem);
  right: 1%;
  z-index: 9998;
  cursor: pointer;
  width: 100px;
  width: clamp(6rem, 16vw, 12rem);
  height: 48px;
  height: clamp(3.2rem, 8.5333333333vw, 4.8rem);
  border-radius: 5px
}

.header__sp .hamburger--btn span {
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 6px;
  height: clamp(.3rem, .8vw, .6rem);
  border-radius: 2px;
  background: #000;
  width: 68%;
  transition: opacity .4s, transform .4s
}

.header__sp .hamburger--btn span:nth-of-type(1) {
  top: 0
}

.header__sp .hamburger--btn span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%)
}

.header__sp .hamburger--btn span:nth-of-type(3) {
  bottom: 0
}

.header__sp .hamburger--btn.active span:nth-of-type(1) {
  top: 44%;
  transform: rotate(-45deg)
}

.header__sp .hamburger--btn.active span:nth-of-type(2) {
  visibility: hidden;
  opacity: 0
}

.header__sp .hamburger--btn.active span:nth-of-type(3) {
  bottom: 44%;
  transform: rotate(45deg)
}

.header__sp__menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  z-index: 9997;
  background-color: #f4fcfc;
  transform: translate(100%);
  transition: transform .6s
}

.header__sp__menu.active {
  transform: translate(0)
}

.header__sp__menu .header__sp__image {
  width: 52%
}

.header__sp__menu__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: clamp(5.6rem, 14.9333333333vw, 7.2rem)
}

.header__sp__menu__inner li {
  font-size: clamp(1.6rem, 4.2666666667vw, 1.8rem);
  font-weight: 700;
  line-height: 40px;
  color: #000;
  border-bottom: 2px solid #D9F1F1
}

.header__sp__menu__inner li:not(:first-of-type) {
  margin-top: 16px
}

.header__sp__menu__inner li a {
  color: inherit;
  transition: opacity .7s
}

@media (hover: hover) and (pointer: fine) {
  .header__sp__menu__inner li a:hover {
    opacity: .7
  }
}

.header__sp__menu__link {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  margin-right: auto;
  margin-left: auto;
  width: clamp(30rem, 80vw, 40rem)
}

.header__sp__menu__link a {
  transition: opacity .7s
}

@media (hover: hover) and (pointer: fine) {
  .header__sp__menu__link a:hover {
    opacity: .7
  }
}

main {
  margin-top: 174px
}

main {
  margin-top: clamp(7.8rem, 20.8vw, 17.7rem)
}

main .hero {
  background-image: url(/promotion/assets/hero-back.jpg);
  background-position: top;
  background-size: cover;
  background-repeat: no-repeat
}

main .hero__image,
main .hero__image--contact {
  display: block;
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto
}

main .hero__contact {
  margin-right: auto;
  margin-left: auto;
  max-width: 1100px;
  position: relative
}

main .hero__contact .hero__contact__link {
  position: absolute;
  display: inline-block;
  width: clamp(30rem, 36.5408038977vw, 40rem);
  bottom: clamp(6.5rem, 7.9171741778vw, 8.5rem);
  right: 0;
  transform: translate(-65%);
  cursor: pointer;
  transition: opacity .7s
}

@media (hover: hover) and (pointer: fine) {
  main .hero__contact .hero__contact__link:hover {
    opacity: .7
  }
}

main .hero__contact .hero__contact__link {
  width: clamp(28rem, 74.6666666667vw, 60rem);
  right: 50%;
  transform: translate(50%);
  bottom: clamp(4.2rem, 11.2vw, 9.2rem)
}

main .hero__contact .hero__contact__link img {
  width: 100%
}

main .worries {
  background-image: url(/promotion/assets/worries-back.jpg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat
}

main .caution {
  background-image: url(/promotion/assets/caution_back.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat
}

main .prevention {
  background-image: url(/promotion/assets/prevention_back.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat
}

main .flow .flow__bg {
  background-color: #d8eeeb
}

main .common__area {
  background-color: #007364
}

main .common__area.first {
  margin-top: -1px
}

main .common__area .common__link {
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  position: relative
}

main .common__area .common__link .common__link__contact {
  position: absolute;
  display: inline-block;
  width: clamp(30rem, 36.5408038977vw, 40rem);
  bottom: clamp(6.5rem, 7.9171741778vw, 8.5rem);
  right: 0;
  transform: translate(-65%);
  cursor: pointer;
  transition: opacity .7s
}

@media (hover: hover) and (pointer: fine) {
  main .common__area .common__link .common__link__contact:hover {
    opacity: .7
  }
}

@media (max-width: 820px) {
  main .common__area .common__link .common__link__contact {
    width: clamp(28rem, 74.6666666667vw, 60rem);
    right: 50%;
    transform: translate(50%);
    bottom: clamp(4.2rem, 11.2vw, 9.2rem)
  }
}

main .common__area .common__link .common__link__contact img {
  width: 100%
}

main .plan {
  background-image: url(/promotion/assets/plan-back.jpg);
  background-position: bottom;
  background-size: cover;
  background-repeat: no-repeat
}

main .about {
  background-image: url(/promotion/assets/about-back.jpg);
  background-position: bottom;
  background-size: cover;
  background-repeat: no-repeat
}

main .about__column {
  transition: opacity .7s
}

@media (hover: hover) and (pointer: fine) {
  main .about__column:hover {
    opacity: .7
  }
}

.footer__inner {
  max-width: min(92%, 1100px);
  margin-right: auto;
  margin-left: auto
}

.footer__inner__list {
  margin-right: auto;
  margin-left: auto;
  column-gap: 100px;
  padding-top: 24px;
  padding-bottom: 20px;
  display: flex;
  justify-content: center;
  border-bottom: 1px dotted #007364
}

@media (max-width: 820px) {
  .footer__inner__list {
    display: none
  }
}

.footer__inner__list li {
  line-height: 1.5;
  font-size: 16px;
  color: #007364;
  font-weight: 700
}

.footer__inner__list li a {
  color: inherit;
  cursor: pointer;
  transition: opacity .7s
}

@media (hover: hover) and (pointer: fine) {
  .footer__inner__list li a:hover {
    opacity: .7
  }
}

.footer__inner__content {
  display: flex;
  margin-left: auto;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  margin-top: 24px;
  padding-bottom: 40px
}

@media (max-width: 820px) {
  .footer__inner__content {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 6px
  }
}

.footer__inner__content picture {
  width: auto;
  margin-right: 0;
  margin-left: 0
}

@media (max-width: 820px) {
  .footer__inner__content picture {
    margin-left: -16px
  }
}

.footer__inner__content .pageTop {
  position: absolute;
  top: 0;
  right: 0
}

@media (max-width: 820px) {
  .footer__inner__content .pageTop {
    width: 80px;
    width: clamp(4rem, 10.6666666667vw, 8rem);
    top: 60px;
    top: clamp(2.8rem, 7.4666666667vw, 6rem)
  }
}

.footer__inner__content .pageTop img {
  width: 100%
}