@charset "UTF-8";
/* @PC Point Min 1300px~ calclate font-size
================================================*/
.section:last-child {
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* @SP BreakPoint Min 320px */
  /* ================================================================================
  	LARGETABLET Default CSS 640px-
  ================================================================================ */
  /* @TAB BreakPoint Min 640px */
  /* ================================================================================
  	Tablet  CSS 960px-
  ================================================================================ */
  /* @SMALLPC BreakPoint Min 960px */
}
@media screen and (max-width: 639px) {
  .section:last-child {
    margin: 0 0 20px 0;
  }
}
@media screen and (min-width: 640px) and (max-width: 959px) {
  .section:last-child {
    margin: 0 0 50px 0;
  }
}
@media print, screen and (min-width: 960px) {
  .section:last-child {
    margin: 0 0 50px 0;
  }
}

.section-block {
  /*汎用ボタンのCSS追加*/
}
.section-block__btn-block {
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* ================================================================================
  	LARGETABLET Default CSS 640px-
  ================================================================================ */
  margin-top: 35px;
  text-align: center;
}
@media screen and (max-width: 639px) {
  .section-block__btn-block {
    margin-top: 20px;
  }
}
@media screen and (min-width: 640px) and (max-width: 959px) {
  .section-block__btn-block {
    margin-top: 30px;
  }
}
.section-block__btn-block .section-block__btn-list li:not(:first-child) {
  margin-top: 20px;
}
.section-block__btn-block .btn {
  max-width: 300px;
  min-width: inherit;
  width: 100%;
  padding: 10px;
  background-color: #3683c0;
  border: 2px solid #3683c0;
}
.section-block__btn-block .btn:hover {
  text-decoration: none;
  background-color: #8fd3f5;
  border: 2px solid #8fd3f5;
  color: #fff;
}
.section-block__btn-block .btn:hover.large {
  max-width: 300px;
  border-radius: 32px;
  padding: 15px 10px;
}

.heading-2 {
  font-size: 1.375rem;
  text-align: center;
  color: #231815;
  text-align: left;
  padding: 11px 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  margin: 50px 0 0;
}
.heading-2 .notice {
  font-size: 0.9375rem;
  font-weight: normal;
  display: inline-block;
  padding: 0 0 0 20px;
}

.heading-2:first-of-type {
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* @SP BreakPoint Min 320px */
  /* ================================================================================
  	LARGETABLET Default CSS 640px-
  ================================================================================ */
  /* @TAB BreakPoint Min 640px */
  /* ================================================================================
  	Tablet  CSS 960px-
  ================================================================================ */
  /* @SMALLPC BreakPoint Min 960px */
}
@media screen and (max-width: 639px) {
  .heading-2:first-of-type {
    margin: 30px 0 0;
  }
}
@media screen and (min-width: 640px) and (max-width: 959px) {
  .heading-2:first-of-type {
    margin: 50px 0 0;
  }
}
@media print, screen and (min-width: 960px) {
  .heading-2:first-of-type {
    margin: 50px 0 0;
  }
}

.lead-txt {
  margin: 20px 0 0;
}

.btn--box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn--box .btn {
  font-size: 1.25rem;
  width: 340px;
  border-radius: 100px;
  margin: 30px 1% 0 1%;
  padding: 15px 40px;
}
.btn--box .btn span {
  font-size: 0.8125rem;
  display: block;
}

.reserve {
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* @SP BreakPoint Min 320px */
  /* ================================================================================
  	LARGETABLET Default CSS 640px-
  ================================================================================ */
  /* @TAB BreakPoint Min 640px */
  /* ================================================================================
  	Tablet  CSS 960px-
  ================================================================================ */
  /* @SMALLPC BreakPoint Min 960px */
}
.reserve .lead-txt01 {
  font-size: 1.125rem;
  font-weight: bold;
}
.reserve .lead-txt01.is--note {
  color: #ff0000;
}
.reserve .color-r {
  color: #d81136;
  font-weight: bold;
}
.reserve .reserve__photo {
  background: #eef8f8;
}
.reserve .reserve__text {
  font-size: 0.9375rem;
  margin: 15px 0 0;
  text-align: center;
}
.reserve .btn--red {
  font-size: 1.125rem;
  background: #c83c1e;
  display: block;
  margin: 20px auto 0 auto;
  padding: 10px;
  border: 0;
  border-radius: 100px;
  width: 300px;
  line-height: 22px;
}
.reserve .btn--disabled {
  width: 300px;
  font-size: 1.125rem;
  display: block;
  margin: 20px auto 0 auto;
  padding: 10px;
  border: 0;
  border-radius: 100px;
  width: 300px;
  line-height: 22px;
}
.reserve .btn--red:hover {
  background: #c80e36;
}
.reserve .reserve__notice {
  font-size: 0.9375rem;
  position: relative;
}
.reserve .reserve__notice:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.reserve .news-block {
  margin: 15px 0 0 0;
  padding: 20px;
  background-color: #eef8f8;
}
.reserve .news-block__title {
  margin: 0 0 5px;
  font-size: 1.2rem;
  font-weight: bold;
}
.reserve .news-block__list {
  padding: 10px 10px 20px;
  background-color: #fff;
}
.reserve .news-block__item {
  margin: 8px 10px 0;
  padding: 0 0 8px;
  border-bottom: 1px #ddd solid;
}
@media screen and (max-width: 639px) {
  .reserve .lead-txt01 {
    margin: 20px 0 0;
  }
  .reserve .lead-txt01.btn-caption {
    margin: 20px 0 5px;
    text-align: center;
  }
  .reserve .lead-txt02 {
    margin: 15px 0 0;
  }
  .reserve .reserve__photo {
    margin: 10px 0 0;
    padding: 10px;
  }
  .reserve .btn--red {
    width: 100%;
    line-height: 16px;
    padding: 5px;
  }
  .reserve .btn--disabled {
    width: 100%;
    line-height: 16px;
    padding: 5px;
  }
  .reserve .reserve__notice {
    margin: 10px 0 0;
    padding: 0 0 0 20px;
  }
  .reserve .news-block {
    padding: 10px;
  }
  .reserve .news-block__list {
    padding: 10px 5px 20px;
  }
  .reserve .attention__area {
    margin: 15px 0;
    padding: 25px;
    background: #ededed;
    overflow: hidden;
  }
  .reserve .attention__area img.attention__photo {
    display: block;
    width: 70%;
    margin: 0 auto;
  }
  .reserve .attention__area .attention__area__text {
    margin-top: 20px;
    padding-left: 2em;
    text-indent: -2em;
  }
  .reserve .attention__area .attention__area__text span {
    color: #ff0000;
    font-weight: bold;
  }
}
@media screen and (min-width: 640px) and (max-width: 959px) {
  .reserve .lead-txt01 {
    margin: 50px 0 0;
  }
  .reserve .lead-txt01.btn-caption {
    margin: 0 0 5px;
    text-align: center;
  }
  .reserve .lead-txt02 {
    margin: 30px 0 0;
  }
  .reserve .reserve__photo {
    margin: 30px;
    padding: 20px;
  }
  .reserve .reserve__notice {
    margin: 30px 0 0;
    padding: 0 0 0 30px;
  }
  .reserve .attention__area {
    margin: 15px 0;
    padding: 25px;
    background: #ededed;
    overflow: hidden;
  }
  .reserve .attention__area img.attention__photo {
    display: block;
    width: 70%;
    margin: 0 auto;
  }
  .reserve .attention__area .attention__area__text {
    margin-top: 20px;
    padding-left: 2em;
    text-indent: -2em;
  }
  .reserve .attention__area .attention__area__text span {
    color: #ff0000;
    font-weight: bold;
  }
}
@media print, screen and (min-width: 960px) {
  .reserve .lead-txt01 {
    margin: 50px 0 0;
  }
  .reserve .lead-txt01.btn-caption {
    margin: 0 0 5px;
    text-align: center;
  }
  .reserve .lead-txt02 {
    margin: 30px 0 0;
  }
  .reserve .reserve__photo {
    margin: 30px;
    padding: 20px;
  }
  .reserve .reserve__notice {
    margin: 30px 0 0;
    padding: 0 0 0 30px;
  }
  .reserve .attention__area {
    margin: 15px 0;
    padding: 25px;
    background: #ededed;
    overflow: hidden;
  }
  .reserve .attention__area img.attention__photo {
    float: left;
    width: 20%;
    margin-right: 50px;
  }
  .reserve .attention__area .attention__area__text {
    padding-left: 2em;
    text-indent: -2em;
  }
  .reserve .attention__area .attention__area__text span {
    color: #ff0000;
    font-weight: bold;
  }
}

.contact {
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* @SP BreakPoint Min 320px */
  /* ================================================================================
  	LARGETABLET Default CSS 640px-
  ================================================================================ */
  /* @TAB BreakPoint Min 640px */
  /* ================================================================================
  	Tablet  CSS 960px-
  ================================================================================ */
  /* @SMALLPC BreakPoint Min 960px */
}
.contact dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-weight: bold;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 20px 0 0 30px;
}
.contact dt {
  font-size: 1.125rem;
  width: 10%;
}
.contact dd {
  font-size: 1.125rem;
  width: 90%;
}
.contact .notice {
  font-size: 0.8125rem;
  display: block;
  margin: 5px 0 0 30px;
}
.contact .contact__link-lead {
  margin-top: 80px;
}
.contact .contact__link-block .contact__link-block__link-box {
  display: block;
  margin-top: 30px;
}
.contact .contact__link-block .contact__link-block__link-box .contact__link-block__link-box__img-link {
  width: 20%;
}
.contact .contact__link-block .contact__link-block__link-box .contact__link-block__link-box__img-link img {
  width: 100%;
  border: 1px solid #777;
}
.contact .contact__link-block .contact__link-block__link-box p {
  width: 80%;
  padding-left: 15px;
}
.contact .contact__link-block .contact__link-block__link-box p .contact__link-block__link-box__txt-link {
  line-height: 2;
  font-weight: bold;
}
.contact .contact__link-block .contact__link-block__link-box p span {
  display: block;
  text-indent: -2em;
  margin-left: 2em;
  font-size: 0.8125rem;
}
@media screen and (max-width: 639px) {
  .contact dl {
    margin: 20px 0 0 0;
  }
  .contact dt {
    width: 20%;
  }
  .contact dd {
    width: 80%;
  }
  .contact .notice {
    margin: 5px 0 0 0;
  }
  .contact .contact__link-block .contact__link-block__link-box {
    margin: 30px auto 0;
  }
  .contact .contact__link-block .contact__link-block__link-box .contact__link-block__link-box__img-link {
    display: block;
    width: 55%;
    margin: 0 auto;
  }
  .contact .contact__link-block .contact__link-block__link-box p {
    width: 100%;
    padding: 0;
  }
  .contact .contact__link-block .contact__link-block__link-box p .contact__link-block__link-box__txt-link {
    display: block;
    text-align: center;
    margin-bottom: 5px;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
@media screen and (min-width: 640px) and (max-width: 959px) {
  .contact dl {
    margin: 20px 0 0 30px;
  }
  .contact dt {
    width: 10%;
  }
  .contact dd {
    width: 90%;
  }
  .contact .notice {
    margin: 5px 0 0 30px;
  }
  .contact .contact__link-block .contact__link-block__link-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media print, screen and (min-width: 960px) {
  .contact dl {
    margin: 20px 0 0 30px;
  }
  .contact dt {
    width: 10%;
  }
  .contact dd {
    width: 90%;
  }
  .contact .notice {
    margin: 5px 0 0 30px;
  }
  .contact .contact__link-block .contact__link-block__link-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}