@charset "UTF-8";
html {
  font-size: 62.5%;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  word-wrap: break-word; }

body {
  font-size: 1.4rem;
  margin: 0;
  padding: 0; }
  @media only screen and (min-width: 750px) {
    body {
      font-size: 1.6rem; } }

*,
*::before,
*::after {
  box-sizing: border-box; }

h1, h2, h3, div, p, ul, li {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

img {
  width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom; }

a {
  text-decoration: underline;
  color: #FFF; }

a:hover {
  color: #e52c0f; }

a img:hover {
  opacity: 0.8; }

.only_pc {
  display: none; }
  @media only screen and (min-width: 750px) {
    .only_pc {
      display: inline; } }

.only_sp {
  display: inline; }
  @media only screen and (min-width: 750px) {
    .only_sp {
      display: none; } }

@media only screen and (min-width: 1000px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }

@media only screen and (min-width: 420px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
.wrap {
  background: #000;
  position: relative; }

.close {
  background: rgba(0, 0, 0, 0.6);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100; }
  .close .comment {
    width: 77%;
    margin: 26vw auto 0; }
    @media only screen and (min-width: 750px) {
      .close .comment {
        width: calc(748/1000* 100vw);
        margin: calc(264/1000* 100vw) auto 0; } }
    @media only screen and (min-width: 1000px) {
      .close .comment {
        width: 748px;
        margin: 264px auto 0; } }

.inner {
  width: 100%;
  overflow-x: hidden;
  margin: 0 auto;
  padding: 3.066vw 0 18vw; }
  @media only screen and (min-width: 750px) {
    .inner {
      padding: calc(62/1000* 100vw) 0 calc(80/1000* 100vw); } }
  @media only screen and (min-width: 1000px) {
    .inner {
      max-width: 1000px;
      padding: 62px 0 80px; } }

h1 {
  width: 94%;
  margin: 0 auto; }
  @media only screen and (min-width: 750px) {
    h1 {
      width: calc(951/1000* 100vw); } }
  @media only screen and (min-width: 1000px) {
    h1 {
      width: 951px; } }

.kv {
  width: 100%;
  margin: 3.733vw auto 0; }
  @media only screen and (min-width: 750px) {
    .kv {
      margin: calc(60/1000* 100vw) auto 0; } }
  @media only screen and (min-width: 1000px) {
    .kv {
      margin: 60px auto 0; } }

.outline {
  background-image: url("../img/bg_outline_sp.jpg");
  background-color: #e52c0f;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
  width: 100%;
  margin: 0 auto;
  padding: 5vw 2vw 3.333vw;
  text-align: center; }
  @media only screen and (min-width: 750px) {
    .outline {
      background-image: url("../img/bg_outline_pc.jpg");
      padding: calc(28/1000* 100vw) 0; } }
  @media only screen and (min-width: 1000px) {
    .outline {
      padding: 13px 0 17px; } }
  .outline .outline01 {
    width: 96%;
    margin: 0 auto; }
    @media only screen and (min-width: 750px) {
      .outline .outline01 {
        width: calc(966/1000* 100%); } }
    @media only screen and (min-width: 1000px) {
      .outline .outline01 {
        width: 966px; } }
  .outline .outline02 {
    width: 96%;
    margin: 1.733vw auto 0; }
    @media only screen and (min-width: 750px) {
      .outline .outline02 {
        width: calc(966/1000* 100%);
        margin: calc(16/1000* 100vw) auto 0; } }
    @media only screen and (min-width: 1000px) {
      .outline .outline02 {
        width: 966px;
        margin: 0 auto; } }

.md {
  width: 96%;
  margin: 15.866vw auto 0;
  text-align: left; }
  @media only screen and (min-width: 750px) {
    .md {
      width: 100%;
      height: calc(31/1000* 100vw);
      margin: calc(50/1000* 100vw) auto 0 calc(20/1000* 100vw); } }
  @media only screen and (min-width: 1000px) {
    .md {
      width: 100%;
      height: 31px;
      margin: 50px auto 0 20px; } }
  .md img {
    width: 100%; }
    @media only screen and (min-width: 750px) {
      .md img {
        width: auto;
        height: 100%; } }

@media only screen and (min-width: 750px) {
  .md_qualification {
    margin-top: calc(56/1000* 100vw); } }
@media only screen and (min-width: 1000px) {
  .md_qualification {
    margin-top: 56px; } }

@media only screen and (min-width: 750px) {
  .md_line {
    margin-top: calc(98/1000* 100vw); } }
@media only screen and (min-width: 1000px) {
  .md_line {
    margin-top: 98px; } }

@media only screen and (min-width: 750px) {
  .md_caution {
    margin-top: calc(98/1000* 100vw); } }
@media only screen and (min-width: 1000px) {
  .md_caution {
    margin-top: 98px; } }

.textarea {
  width: 90.666%;
  margin: 0.5em auto 0;
  color: #FFF;
  font-size: 3.4vw;
  line-height: 1.325em; }
  @media only screen and (min-width: 750px) {
    .textarea {
      width: calc(910/1000* 100vw);
      margin-top: 0.8em;
      font-size: calc(16/1000* 100vw); } }
  @media only screen and (min-width: 1000px) {
    .textarea {
      width: 910px;
      font-size: 1.6rem; } }
  .textarea .number {
    padding-left: 0; }
    .textarea .number li {
      list-style: decimal;
      margin-left: 1em; }
    .textarea .number .list {
      margin-top: 0.2em; }
      .textarea .number .list li {
        list-style: disc;
        margin-left: 1em; }
  .textarea .list_note {
    margin-top: 1em; }
    .textarea .list_note li {
      list-style: disc;
      margin-left: 1em; }

.receipt {
  width: 94vw;
  margin: 6vw auto 0; }
  @media only screen and (min-width: 750px) {
    .receipt {
      width: calc(659/1000* 100vw);
      margin: calc(45/1000* 100vw) auto 0 calc(50/1000* 100vw); } }
  @media only screen and (min-width: 1000px) {
    .receipt {
      width: 658px;
      margin: 45px auto 0 50px; } }

.bt_line {
  width: 88vw;
  margin: 13.6vw auto 0; }
  @media only screen and (min-width: 750px) {
    .bt_line {
      width: calc(698/1000* 100vw);
      margin: calc(65/1000* 100vw) auto 0; } }
  @media only screen and (min-width: 1000px) {
    .bt_line {
      width: 698px;
      margin: 65px auto 0; } }

.schedule {
  width: 96%;
  margin: 3.5vw auto 0;
  background-color: #e52c0f;
  background-image: url("../img/bg_period_sp.png");
  background-position: bottom center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  padding: 2.666vw; }
  @media only screen and (min-width: 750px) {
    .schedule {
      font-size: calc(17.3/1000* 100vw);
      background-image: url("../img/bg_period_pc.png");
      width: calc(960/1000* 100vw);
      margin: calc(17/1000* 100vw) auto 0;
      padding: calc(14/1000* 100vw); } }
  @media only screen and (min-width: 1000px) {
    .schedule {
      width: 960px;
      margin: 17px auto 0;
      font-size: 1.73rem;
      padding: 14px; } }
  .schedule h3 {
    width: 100%; }
  @media only screen and (min-width: 750px) {
    .schedule ul {
      display: flex;
      justify-content: space-between;
      width: 100%;
      margin: calc(14/1000* 100vw) auto 0; } }
  @media only screen and (min-width: 1000px) {
    .schedule ul {
      width: 932px;
      margin: 14px auto 0; } }
  .schedule ul .ph {
    width: 100%;
    margin: 2.666vw auto 0;
    padding: 0; }
    @media only screen and (min-width: 750px) {
      .schedule ul .ph {
        width: 50%;
        margin: 0; } }
    @media only screen and (min-width: 1000px) {
      .schedule ul .ph {
        width: 466px;
        margin: 0; } }
  .schedule ul .textarea {
    width: 100%;
    margin: 2.666vw 0 0;
    padding: 0; }
    @media only screen and (min-width: 750px) {
      .schedule ul .textarea {
        width: 47.4%;
        margin: 0; } }
    @media only screen and (min-width: 1000px) {
      .schedule ul .textarea {
        width: 442px;
        margin: 0; } }
    .schedule ul .textarea .text {
      font-weight: bold;
      font-size: 3.333vw;
      line-height: 1.7em;
      width: 84vw;
      margin: 0 auto; }
      @media only screen and (min-width: 750px) {
        .schedule ul .textarea .text {
          width: 100%;
          font-size: calc(17.3/1000* 100vw);
          line-height: 1.65em;
          margin-top: -0.2em; } }
      @media only screen and (min-width: 1000px) {
        .schedule ul .textarea .text {
          font-size: 1.73rem; } }
    .schedule ul .textarea img {
      margin-top: 2.666vw; }
      @media only screen and (min-width: 750px) {
        .schedule ul .textarea img {
          margin-top: calc(15/1000* 100vw); } }
      @media only screen and (min-width: 1000px) {
        .schedule ul .textarea img {
          margin-top: 15px; } }

.inquiry {
  font-size: 3.4vw;
  line-height: 1.5em; }
  @media only screen and (min-width: 750px) {
    .inquiry {
      font-size: calc(16/1000* 100vw); } }
  @media only screen and (min-width: 1000px) {
    .inquiry {
      font-size: 1.6rem; } }
  .inquiry span {
    margin-left: 6em; }
    @media only screen and (min-width: 750px) {
      .inquiry span {
        margin-left: 0em; } }

.logo {
  width: 34vw;
  margin: 19.466vw auto 0; }
  @media only screen and (min-width: 750px) {
    .logo {
      width: calc(196/1000* 100vw);
      margin: calc(65/1000* 100vw) auto 0; } }
  @media only screen and (min-width: 1000px) {
    .logo {
      width: 196px;
      margin: 65px auto 0; } }

.copy {
  font-size: 2.5vw;
  color: #FFF;
  text-align: center;
  margin: 1em auto 0; }
  @media only screen and (min-width: 750px) {
    .copy {
      font-size: calc(13/1000* 100vw); } }
  @media only screen and (min-width: 1000px) {
    .copy {
      font-size: 1.3rem; } }
