@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

/* -------------------------------------------------------
  initialize
   ------------------------------------------------------- */

body, header, footer, nav, section, div, dl, dt, dd, ol, ul, li, p, figure, blockquote, h1, h2, h3, h4, h5, h6, img {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  color: #000;
  background-color: #fff;
  font-size: 1rem;
  line-height: 1;
}

h1, h2, h3, h4, h5, h6, address {
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  line-height: 100%;
}

dl, ol, ul {
  list-style: none;
}

a {
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  line-height: 100%;
  text-decoration: none;
  outline: none;
}

a:focus {
  overflow: hidden;
}

img {
  border: none;
  vertical-align: bottom;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  background-color: transparent;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px;
}

textarea:focus,
input:focus {
  outline: none;
}

textarea,
input[type="text"] {
  font-size: 100%;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* -------------------------------------------------------
  common
   ------------------------------------------------------- */

body {
  font-size: 1.5rem;
  line-height: 1.866666666666667;
  font-family: 'Noto Sans JP', sans-serif;
}

h1, h2, h3, h4, h5, h6, address {
  line-height: 1.4;
}

a {
  color: #00BEE9;
  text-decoration: none;
}
a img {
  transition: opacity .2s;
}
a:hover {
  text-decoration: underline;
}
a:hover img {
  opacity: .8;
}

header img,
footer img,
.section img {
  display: block;
  width: 100%;
  height: auto;
}
header a,
footer a,
.section a {
  display: block;
}

.wrapper {
  position: relative;
  max-width: 750px;
  margin: 0 auto;
}

/* -------------------------------------------------------
  header
   ------------------------------------------------------- */

.header {
  position: fixed;
  z-index: 10;
  width: 100%;
  max-width: 750px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.header area,
.header img {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	tap-highlight-color: rgba(0, 0, 0, 0);
	outline:0;
}

/* -------------------------------------------------------
  
   ------------------------------------------------------- */

.section {
  position: relative;
}

.mainv-wrapper {
  padding-top: 10%;
  background-color: #b53045;
}

.link-wrapper {
  position: relative;
}
.link-wrapper .content {
  position: relative;
}
.link-wrapper .button {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
}
.link-wrapper.-link-1 .button {
  bottom: 17%;
}
.link-wrapper.-link-2 .button {
  bottom: 16%;
}
.link-wrapper.-link-3 .button {
  bottom: 10%;
}
.link-wrapper.-link-4 .button {
  bottom: 10%;
}
.link-wrapper.-link-5 .button {
  bottom: 26%;
}
.link-wrapper.-link-6 .button {
  bottom: 14%;
}

.map-wrapper {
  border: solid 6px #fff;
}
.map-content {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56%;
}
.map-content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.faq-wrapper {
  max-width: 84%;
  margin: 0 auto;
  padding-bottom: 16%;
  font-size: 3vw;
}
.faq-title {
  font-weight: bold;
  text-align: center;
  color: #b53045;
  margin-top: 12%;
}
.faq-title.-first {
  margin-top: 7%;
}
.faq-list {
  margin-top: 2%;
  border-bottom: solid 1px #b53045;
}
.question-title {
  position: relative;
  border-top: solid 1px #b53045;
  padding: 1.6% 0;
  cursor: pointer;
}
.question-title i {
  display: block;
  position: absolute;
  color: #b53045;
  top: .9em;
  left: 1.6%;
  transition: all .2s;
}
.question-title.-opened i {
  transform: rotate(90deg);
}
.question-title .question-txt {
  display: block;
  position: relative;
  padding-left: 1.6em;
}
.question-data {
  display: none;
  padding-bottom: 4%;
}
.question-data-item {
  background-color: #f8e9ec;
}
.question-data .question-txt {
  display: block;
  padding: .6em 1.2em;
}
@media screen and (min-width: 751px) {
  .faq-wrapper {
    font-size: 2.24rem;
  }
}

/* -------------------------------------------------------
  footer
   ------------------------------------------------------- */

.footer {
  font-size: 2.6vw;
}
.footer-sns-list {
  max-width: 30%;
  margin: 0 auto 9%;
  display: flex;
  justify-content: space-between;
}
.footer-sns-list li {
  flex-basis: 24%;
}
.footer-data-list {
  margin-bottom: 12%;
}
.footer-data-list li {
  text-align: center;
  margin-bottom: 4%;
}
.footer-button-list {
  max-width: 60%;
  margin: 0 auto 24%;
}
.footer-button-list li {
  margin-bottom: 11%;
}
@media screen and (min-width: 751px) {
  .footer {
    font-size: 1.96rem;
  }
}
