@charset "UTF-8";
/*------------------------------------------------------------
	Reset
------------------------------------------------------------*/
* {
  margin: 0;
  padding: 0;
}

img {
  display: block;
  max-width: 100%;
  margin-inline: auto;
}

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

ul {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  transition: 0.3s all ease-in-out;
}
a:hover {
  opacity: 0.6;
}

/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Layout .l-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
#header {
  padding: 5.46875cqw 3.125cqw;
}

/*------------------------------------------------------------
footer
------------------------------------------------------------*/
#footer {
  margin-top: 18.75cqw;
}

#footer-foot {
  margin-top: 5.46875cqw;
}

#footer-logo {
  padding-block: 9.375cqw;
}

.footer-tit-01 {
  width: 31.5cqw;
  margin-inline: auto;
  margin-bottom: 7.1875cqw;
}

.footer-map-01 {
  width: 80.1%;
  aspect-ratio: 1/0.537;
  margin-inline: auto;
}
.footer-map-01 iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.footer-btn-01 {
  display: block;
  width: 46.609375cqw;
  margin-inline: auto;
  margin-top: 7.03125cqw;
}

.footer-text-01 {
  width: 70.46875cqw;
  margin-inline: auto;
  margin-top: 12.5cqw;
}

/* layout
------------------------------------------------------------*/
html {
  background-color: #000;
}

body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  max-width: 640px;
  background-color: #fff;
  margin-inline: auto;
  container-type: inline-size;
  min-height: 100svh;
}

input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=reset]):not([type=button]):not([type=image]),
select,
textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  color: #000;
  border: 1px solid currentColor;
  background-color: #fff;
  border-radius: 5px;
  padding: 3.4375cqw 2.34375cqw;
  letter-spacing: 0.05em;
}

select {
  -moz-appearance: none; /* Firefox */ /* Safari and Chrome */
  appearance: none;
  position: relative;
  padding-right: calc(3.125cqw + 13px);
  background: url(../img/arrow_01.svg) #fff no-repeat center right 2.34375cqw;
  background-size: 13px;
}

textarea {
  min-height: 21.875cqw;
  resize: vertical;
}

address {
  font-style: normal;
  font-weight: inherit;
}

/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Component .c-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
other
------------------------------------------------------------*/
.com-tit-01 {
  width: 80%;
  margin-inline: auto;
}

.com-panel-01 :is(.panel, .catch) {
  width: 80%;
}
.com-panel-01 .catch {
  margin-top: 4.6875cqw;
}

.com-text-center {
  text-align: center;
}

.com-logo-01 {
  display: flex;
  justify-content: center;
}
.com-logo-01 img {
  width: 32.8125cqw;
}

.com-fz-15 {
  font-size: 2.34375cqw;
}

.mt40 {
  margin-top: 6.25cqw;
}

.mt50 {
  margin-top: 7.8125cqw;
}

.mt65 {
  margin-top: 10.15625cqw;
}

.mt120 {
  margin-top: 18.75cqw;
}

/*
------------------------------------------------------------*/
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Project .p-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
.home-panel-01 {
  position: relative;
}
.home-panel-01 .bg {
  width: 90%;
  position: relative;
  margin-inline: auto;
}
.home-panel-01 .tit {
  width: 74.8%;
  margin-inline: auto;
  margin-bottom: -7.8125cqw;
  position: relative;
  z-index: 2;
}
.home-panel-01 .tit-02 {
  position: absolute;
  width: 39.6%;
  top: 9.5%;
  left: 7%;
}
.home-panel-01 .panel {
  position: absolute;
  right: 0;
  bottom: -12.5cqw;
  width: 100%;
}

.home-panel-02 {
  padding-block: 27.34375cqw 0;
  background: url(../img/02_01.png) no-repeat top center/100%;
}
.home-panel-02 .tit {
  width: 22.9%;
  margin-inline: auto;
}
.home-panel-02 .text {
  width: 73.7%;
  margin-top: 9.375cqw;
}
.home-panel-02 .foot {
  transform: translateY(40%);
}
.home-panel-02 .com-panel-01 {
  margin-top: 14.0625cqw;
}

.home-panel-03 {
  padding-block: 41.5625cqw 0;
}
.home-panel-03 .tit {
  width: 35.6%;
  margin-inline: auto;
}
.home-panel-03 .panel {
  width: 80%;
}
.home-panel-03 .panel-01 {
  margin-top: 4.375cqw;
}
.home-panel-03 .catch {
  width: 69.9%;
  position: relative;
  margin-block: -7.8125cqw;
}

.home-panel-04 {
  padding-block: 15.625cqw 0;
}
.home-panel-04 .tit {
  margin-bottom: 3.125cqw;
}
.home-panel-04 :is(.text, .text-02) {
  margin-inline: auto;
}
.home-panel-04 .text {
  width: 45.7%;
}
.home-panel-04 .text-02 {
  width: 60%;
  margin-top: 7.8125cqw;
}
.home-panel-04 .wrapper {
  position: relative;
  z-index: 2;
  margin-top: 5.46875cqw;
  padding-block: 2.34375cqw;
}
.home-panel-04 .wrapper::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 20.3%;
  height: 100%;
  background-color: #F2EEDE;
  z-index: -1;
}
.home-panel-04 .panel {
  width: 79.7%;
}
.home-panel-04 .panel + .panel {
  margin-top: 3.125cqw;
}

.home-panel-05 {
  padding-block: 17.1875cqw 0;
}
.home-panel-05 .panel {
  width: 84.7%;
}

.home-panel-06 {
  padding-block: 18.75cqw 0;
}
.home-panel-06 .panel {
  width: 80%;
  margin-top: 15.15625cqw;
}

.home-panel-07 {
  padding-top: 15.625cqw;
}

.home-panel-08 {
  padding-top: 21.875cqw;
}
.home-panel-08 .tit {
  width: 52.34%;
  margin-inline: auto;
}
.home-panel-08 .panel {
  width: 80%;
}
.home-panel-08 .panel + .panel {
  margin-top: 11.71875cqw;
}

.home-panel-09 {
  padding-top: 21.875cqw;
}

.home-form-01 {
  width: 84%;
  margin-inline: auto;
  background-color: #F0F0EC;
  font-family: "YuMincho", sans-serif;
}
.home-form-01 .head {
  width: 100%;
}
.home-form-01 .wrapper {
  padding: 4.6875cqw 9.375cqw 10.15625cqw;
}
.home-form-01 .tit {
  font-size: 3.28125cqw;
  font-weight: 500;
  letter-spacing: 0.2em;
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.78125cqw;
  margin-bottom: 5.46875cqw;
}
.home-form-01 .form-table dt {
  margin-top: 6.25cqw;
  display: flex;
  gap: 3.125cqw;
  align-items: center;
  font-size: 2.8125cqw;
  font-weight: 500;
  letter-spacing: 0.16em;
}
.home-form-01 .form-table dt.required::after {
  content: "必 須";
  font-size: 1.875cqw;
  line-height: 1;
  background-color: #9F912E;
  color: #fff;
  border-radius: 0.46875cqw;
  padding: 0.625cqw 1.71875cqw;
}
.home-form-01 .form-table dt small {
  font-size: 78%;
  letter-spacing: 0.16em;
}
.home-form-01 .form-table dd {
  margin-top: 1.5625cqw;
}
.home-form-01 .form-table > :first-child {
  margin-top: 0;
}
.home-form-01 .placeholder {
  display: block;
  font-size: 2.1875cqw;
  font-weight: 500;
  letter-spacing: 0.2em;
  color: #8A8A8A;
  margin-top: 1.5625cqw;
}
.home-form-01 .policy {
  color: 414852;
  font-size: 1.875cqw;
}
.home-form-01 .policy a {
  display: inline-block;
  padding-bottom: 0.46875cqw;
  border-bottom: 0.3125cqw solid currentColor;
}
.home-form-01 .submit {
  display: block;
  border: none;
  background-color: none;
  cursor: pointer;
  transition: 0.3s all ease-in-out;
  width: 95%;
  margin-inline: auto;
  margin-top: 6.25cqw;
}
.home-form-01 .submit:hover {
  opacity: 0.6;
}
.home-form-01 .submit img {
  width: 100%;
}

/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Utility .u-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*# sourceMappingURL=style.css.map */
