@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;500;700&display=swap");
* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none;
  -webkit-font-smoothing: antialiased;
  padding: 0;
  margin: 0;
  border: 0;
  list-style: none;
}

a {
  display: block;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

@media screen and (min-width: 769px) {
  a:hover,
  button:hover {
    opacity: 0.8;
  }
}
img {
  height: auto;
  vertical-align: middle;
  max-width: 100%;
  width: 100%;
}

svg {
  width: inherit;
  height: inherit;
}

section {
  display: block;
  margin-top: 50px;
}
section > section {
  margin: 30px 0;
}

body {
  margin: 0 auto;
  font-family: Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo, メイリオ, Osaka, MS PGothic, arial, helvetica, sans-serif;
  letter-spacing: 0.5px;
  font-size: 14px;
  color: #333;
}

main {
  max-width: 560px;
  margin: 0 auto;
}

/* header */
#header {
  position: sticky;
  top: 0;
  width: 100%;
  background: #FFF;
}
#header::after {
  content: "";
  display: block;
  height: 15px;
  width: 100%;
  left: 0;
  position: absolute;
  top: 100%;
  background: linear-gradient(180deg, rgb(229, 229, 229) 0%, rgba(229, 229, 229, 0) 100%);
}
#header .line {
  background: #F4F4F4;
  color: #063994;
  font-size: 11px;
  padding: 4px 12px;
  margin: 0;
}
#header .logo {
  text-align: left;
  padding: 10px;
  background: #FFF;
}
#header .logo img {
  height: 36px;
  width: auto;
}

/* main */
main {
  padding: 30px 15px 15px;
  /* inq */
}
main h2 {
  text-align: center;
  font-size: 18px;
  text-align: center;
  padding: 10px 15px;
  border-bottom: 1px solid #CCC;
  margin: 30px -15px;
  background: linear-gradient(95deg, rgb(6, 57, 148) 0%, rgb(41, 111, 206) 100%);
  color: #FFF;
  font-weight: bold;
}
main h3 {
  width: fit-content;
  margin: 0 auto;
  padding: 5px 20px;
  border-radius: 50vh;
  background: #EFF6FA;
  margin-bottom: 15px;
  font-size: 14px;
}
main .inq {
  border: 2px solid #296FCE;
  background: white;
  border-radius: 20px;
  padding: 3px;
  margin: 15px 0;
}
main .inq a {
  border-radius: 18px;
  display: block;
  background: #063994;
  background: #296FCE;
  padding: 15px;
  color: #FFF;
}
main .inq a dt {
  text-align: center;
  margin-bottom: 5px;
  font-size: 16px;
}
main .inq a dd {
  text-align: center;
}
main .inq a dd span {
  text-decoration: underline;
}

#mv {
  margin: 0 -15px 30px;
}

#service {
  /* furikomi */
}
#service .data {
  margin: 0 auto;
  width: fit-content;
  text-align: center;
}
#service .data dt {
  font-weight: bold;
  border-bottom: 1px solid #CCC;
  margin-bottom: 5px;
}
#service .data dd + dt {
  margin-top: 20px;
}
#service p {
  text-align: center;
}
#service .furikomi .box {
  background: #EFF6FA;
  padding: 15px;
  margin-bottom: 15px;
}
#service .furikomi h4 {
  margin-bottom: 10px;
  font-size: 14px;
  color: #063994;
  border-bottom: 1px solid #063994;
}
#service .furikomi p {
  text-align: left;
}
#service .furikomi p + p {
  margin-top: 15px;
}

/* footer */
footer {
  margin: 30px auto 0;
  padding: 10px 12px;
  background: #EFEFEF;
}
footer p {
  text-align: center;
  font-size: 12px;
}