@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0;
}

body {
  min-width: 375px;
  font-size: 16px;
  line-height: 1.6;
  background: #ffffff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #333333;
}

.wrap {
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
}

p {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

.clear::after {
  content: "";
  clear: both;
  display: block;
}

@media (min-width: 1200px) {
  a[href^="tel:"] {
    display: inline-block;
    pointer-events: none;
  }
}
@media (max-width: 1199px) {
  a[href^="tel:"] {
    display: inline-block;
    pointer-events: none;
  }
}
@media (max-width: 767px) {
  a[href^="tel:"] {
    display: block;
    pointer-events: painted;
  }
}

/*デバイスごとの表示切り替え*/
@media (max-width: 1199px) {
  .pc-only {
    display: none;
  }
}
@media (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

@media (max-width: 767px) {
  .pc-tab {
    display: none;
  }
}

.tab-below {
  display: none;
}
@media (max-width: 1199px) {
  .tab-below {
    display: block;
  }
}

@media (min-width: 1200px) {
  .tab-only {
    display: none;
  }
}
@media (max-width: 1199px) {
  .tab-only {
    display: block;
  }
}
@media (max-width: 767px) {
  .tab-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

/*************************************************************************************
共通インナー幅
**************************************************************************************/
.common-inner {
  max-width: 1000px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 767px) {
  .common-inner {
    width: 92%;
  }
}

.common-inner--840 {
  max-width: 840px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  padding: 80px 0;
}
@media (max-width: 1199px) {
  .common-inner--840 {
    padding: 60px 0;
  }
}
@media (max-width: 767px) {
  .common-inner--840 {
    padding: 40px 0;
  }
}

/*************************************************************************************
セクションタイトル
**************************************************************************************/
.section__title {
  font-size: 32px;
  text-align: center;
}
@media (max-width: 1199px) {
  .section__title {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .section__title {
    font-size: 22px;
  }
}
.section__title::after {
  display: block;
  content: attr(data-en);
  margin-top: 5px;
  color: #FF8575;
  font-size: 14px;
}

.section__title--under {
  font-size: 32px;
  color: #FF8575;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  margin-bottom: 10px;
}
@media (max-width: 1199px) {
  .section__title--under {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .section__title--under {
    font-size: 24px;
  }
}
.section__title--under::after {
  position: absolute;
  content: "";
  bottom: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 172px;
  height: 4px;
  background: url(../img/common/section-title-under.webp) no-repeat center/cover;
}
@media (max-width: 767px) {
  .section__title--under::after {
    width: 120%;
    height: 3px;
  }
}

.accent-heading {
  background-color: #F8F8E9;
  padding: 8px 0;
  padding-left: 20px;
  border-left: 5px solid #FF8575;
  font-size: 24px;
}
@media (max-width: 767px) {
  .accent-heading {
    font-size: 20px;
    padding: 5px 0;
    padding-left: 15px;
  }
}

/*************************************************************************************
ボタン
**************************************************************************************/
.btn a {
  display: block;
  text-decoration: none;
  background-color: #FF8575;
  color: #ffffff;
  padding: 10px;
  text-align: center;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50px;
  position: relative;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
.btn a::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(../img/top/btn-arrow-white.webp) no-repeat center/cover;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
@media (min-width: 1200px) {
  .btn a:hover {
    opacity: 0.8;
  }
  .btn a:hover::after {
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    right: 15px;
  }
}
@media (max-width: 1199px) {
  .btn a {
    max-width: 230px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    margin-top: 30px;
  }
}
@media (max-width: 1199px) {
  .btn {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

/*************************************************************************************
ページタイトル
**************************************************************************************/
.page-title {
  background-color: #F8F8E9;
  padding-top: 90px;
  height: 365px;
  position: relative;
  margin-bottom: 65px;
}
@media (max-width: 1199px) {
  .page-title {
    height: 320px;
  }
}
@media (max-width: 767px) {
  .page-title {
    height: 250px;
    margin-bottom: 25px;
  }
}
.page-title::after {
  position: absolute;
  content: "";
  bottom: -65px;
  left: 0;
  width: 100%;
  height: 65px;
  background: url(../img/common/page-title-wave.webp) no-repeat center bottom/cover;
}
@media (max-width: 767px) {
  .page-title::after {
    background-size: 100%;
    height: 28px;
    bottom: -18px;
  }
}

.page-title__contents {
  position: absolute;
  top: 50%;
  left: 11%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 1199px) {
  .page-title__contents {
    left: 8%;
  }
}
@media (max-width: 767px) {
  .page-title__contents {
    left: 5%;
  }
}

.page-title__title {
  font-size: 32px;
  color: #FF8575;
}
@media (max-width: 1199px) {
  .page-title__title {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .page-title__title {
    font-size: 24px;
  }
}

@media (max-width: 767px) {
  .page-title__en {
    font-size: 14px;
  }
}

/*************************************************************************************
セクションタイトルとリード文
**************************************************************************************/
.section__lead {
  padding: 80px 0;
}
@media (max-width: 1199px) {
  .section__lead {
    padding: 60px 0;
  }
}
@media (max-width: 767px) {
  .section__lead {
    padding: 40px 0;
  }
}

.section__lead__text {
  line-height: 180%;
  margin-top: 40px;
}

/*************************************************************************************
フォーム共通
**************************************************************************************/
.tel-box {
  background-color: #F8F8E9;
  max-width: 650px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  margin-top: 50px;
  padding: 20px 0;
}
@media (max-width: 767px) {
  .tel-box {
    margin-top: 30px;
  }
}

.tel-box__label {
  color: #FF8575;
  font-size: 24px;
  text-align: center;
}
@media (max-width: 767px) {
  .tel-box__label {
    font-size: 20px;
  }
}

.tel-box__tel a {
  display: block;
  text-decoration: none;
  text-align: center;
  font-size: 48px;
  color: #FF8575;
  font-family: "Lato", sans-serif;
}
@media (max-width: 767px) {
  .tel-box__tel a {
    font-size: 36px;
  }
}

.tel-box__attention {
  display: block;
  text-align: center;
  font-size: 12px;
}
@media (max-width: 767px) {
  .tel-box__attention {
    margin-top: -10px;
  }
}

.common-form {
  border: 4px solid #FF8575;
  border-radius: 50px;
  padding: 30px;
  max-width: 820px;
  width: 95%;
  margin: 0 auto;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .common-form {
    padding: 30px 15px;
    border: 3px solid #FF8575;
  }
}

.course-form {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .course-form {
    margin-top: 30px;
  }
}

.form {
  max-width: 650px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .form {
    margin-top: 30px;
  }
}
.form .smf-item {
  margin-top: 15px;
}
.form .smf-item .smf-item__col--label strong {
  margin-left: 10px;
  background-color: #FF8575;
  padding: 1px 5px;
  font-size: 12px;
  color: #ffffff;
}
.form .smf-item .smf-item__col--controls textarea {
  resize: none;
  min-height: 200px;
}
.form .form-privacy {
  text-align: center;
}
@media (max-width: 767px) {
  .form .form-privacy .smf-item__description {
    font-size: 13px;
  }
}
@media (max-width: 767px) {
  .form .form-privacy .smf-checkbox-control__label {
    font-size: 15px;
  }
}

.smf-action .smf-button-control__control {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: none !important;
  display: block;
  width: 250px;
  margin-right: auto;
  margin-left: auto;
  background-color: #FF8575 !important;
  color: #ffffff;
  border: 1px solid #FF8575;
  border-radius: 50px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-top: 30px;
}

.snow-monkey-form[data-screen=confirm] .smf-placeholder[data-name=your-request1],
.snow-monkey-form[data-screen=confirm] .smf-placeholder[data-name=your-request2] {
  display: none;
}
.snow-monkey-form[data-screen=confirm] .smf-placeholder[data-name=your-request1] {
  display: none;
}
.snow-monkey-form[data-screen=confirm] .smf-placeholder[data-name=your-request2] {
  display: none;
}
.snow-monkey-form[data-screen=confirm] .form-privacy {
  display: none;
}
.snow-monkey-form[data-screen=confirm] .smf-action .smf-button-control:first-of-type .smf-button-control__control {
  background-color: gray !important;
  border: 1px solid gray !important;
  margin-top: 30px;
}
.snow-monkey-form[data-screen=confirm] .smf-action .smf-button-control:last-of-type .smf-button-control__control {
  margin-left: auto !important;
  margin-top: 0 !important;
}

.snow-monkey-form[data-screen=complete] h2 {
  text-align: center;
  color: #FF8575;
  font-size: 24px;
  margin-top: 30px;
}
@media (max-width: 767px) {
  .snow-monkey-form[data-screen=complete] h2 {
    font-size: 22px;
  }
}
.snow-monkey-form[data-screen=complete] p {
  text-align: center;
  margin-top: 20px;
}
.snow-monkey-form[data-screen=complete] .complete-btn {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  margin-top: 30px;
}
.snow-monkey-form[data-screen=complete] .complete-btn a {
  min-width: 250px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.hidden-field {
  display: none;
}

/*************************************************************************************
ヘッダー
**************************************************************************************/
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 999;
}
.header.change-color {
  background-color: #ffffff;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

.header__wrap {
  max-width: 1200px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header__logo a {
  display: block;
  width: 256px;
}
@media (max-width: 1199px) {
  .header__logo a {
    width: 185px;
  }
}

@media (max-width: 767px) {
  .header__nav {
    display: none;
  }
}

.header__menus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__menu a {
  text-decoration: none;
  display: block;
  padding: 15px;
}
@media (max-width: 1199px) {
  .header__menu a {
    padding: 10px;
    font-size: 15px;
  }
}

/*************************************************************************************
ドロワーメニュー
**************************************************************************************/
#drawer-nav {
  position: fixed;
  z-index: 999;
  top: 0;
  right: -120%;
  width: 312px;
  height: 78%;
  border-radius: 0 0 0 100px;
  background: #FF8575;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
@media (min-width: 1200px) {
  #drawer-nav {
    display: none;
  }
}
@media (max-width: 1199px) {
  #drawer-nav {
    display: none;
  }
}
@media (max-width: 767px) {
  #drawer-nav {
    display: block;
  }
}

#drawer-nav.panelactive {
  right: 0;
}

.drawer-nav-list {
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#drawer-nav ul {
  position: absolute;
  z-index: 999;
  top: 100px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 55%;
}

#drawer-nav li {
  list-style: none;
}
#drawer-nav li a {
  text-decoration: none;
  padding: 19px 0;
  display: block;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #ffffff;
}
#drawer-nav li a img {
  width: 30px;
  height: 30px;
}
#drawer-nav .drawer-under {
  margin-left: 40px;
}

.drawer__school {
  width: 120px;
  margin-right: auto;
  margin-left: auto;
}
.drawer__school a {
  display: block;
  border: 1px solid #271507;
  padding: 3px 20px !important;
  border-radius: 50px;
  margin: 20px 0;
}

.drawer-nav-logo {
  width: 160px;
  margin-top: 20px;
}

/*************************************************************************************
ハンバーガーボタン
**************************************************************************************/
.hamburger {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 50%;
  position: fixed;
  z-index: 9999;
  background-color: transparent;
  top: 5px;
  right: 11px;
  cursor: pointer;
  width: 50px;
  height: 50px;
}
@media (min-width: 1200px) {
  .hamburger {
    display: none;
  }
}
@media (max-width: 1199px) {
  .hamburger {
    display: none;
  }
}
@media (max-width: 767px) {
  .hamburger {
    display: block;
  }
}

.hamburger span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: absolute;
  left: 10px;
  height: 2px;
  border-radius: 2px;
  background-color: #FF8575;
  width: 28px;
}

.hamburger span:nth-of-type(1) {
  top: 13px;
}

.hamburger span:nth-of-type(2) {
  top: 22px;
}

.hamburger span:nth-of-type(3) {
  top: 31px;
}

.hamburger.active span:nth-of-type(1) {
  top: 23px;
  left: 14px;
  -webkit-transform: translateY(6px) rotate(-45deg);
          transform: translateY(6px) rotate(-45deg);
  width: 33px;
  background-color: #ffffff;
}

.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}

.hamburger.active span:nth-of-type(3) {
  top: 35px;
  left: 14px;
  -webkit-transform: translateY(-6px) rotate(45deg);
          transform: translateY(-6px) rotate(45deg);
  width: 33px;
  background-color: #ffffff;
}

#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 998;
  display: none;
}
@media (min-width: 1200px) {
  #overlay {
    position: static;
  }
}

/* Prevent background scrolling when menu is active */
body.panelactive {
  overflow: hidden;
}
@media (min-width: 1200px) {
  body.panelactive {
    overflow: auto;
  }
}

/*************************************************************************************
フッター
**************************************************************************************/
.footer {
  background-color: #FF8575;
}

.footer__wrap {
  padding: 80px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media (max-width: 767px) {
  .footer__wrap {
    padding-top: 60px;
    padding-bottom: 40px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.footer__info {
  color: #ffffff;
}
@media (max-width: 767px) {
  .footer__info {
    max-width: 260px;
    width: 92%;
    margin-right: auto;
    margin-left: auto;
  }
}

.footer__logo a {
  display: block;
  width: 256px;
}
@media (max-width: 1199px) {
  .footer__logo a {
    width: 220px;
  }
}

.footer__address {
  font-style: normal;
  font-size: 15px;
}
@media (max-width: 1199px) {
  .footer__address {
    font-size: 14px;
  }
}

.footer__tel a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 30px;
  font-weight: 700;
  margin: 10px 0;
}
.footer__tel a img {
  width: 30px;
  height: 30px;
}

.footer__small {
  display: block;
  font-size: 12px;
}

.footer__nav {
  color: #ffffff;
}
@media (max-width: 767px) {
  .footer__nav {
    max-width: 280px;
    width: 92%;
    margin-right: auto;
    margin-left: auto;
    margin-top: 30px;
  }
}

.footer__menus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 360px;
}

.footer__menu a {
  display: block;
  text-decoration: none;
  padding: 10px;
}
@media (max-width: 767px) {
  .footer__menu a {
    padding: 5px 10px;
  }
}

.footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 40px;
  gap: 20px;
}
@media (max-width: 767px) {
  .footer__sns {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 20px;
    margin-left: 10px;
  }
}

.footer__sns__link a {
  display: block;
}
.footer__sns__link a img {
  width: 25px;
}

.footer__copy {
  display: block;
  text-align: center;
  padding-bottom: 20px;
  color: #ffffff;
  font-size: 12px;
}

/*************************************************************************************
追従バナー
**************************************************************************************/
.course-banner a {
  position: fixed;
  top: 150px;
  right: 0;
  width: 65px;
  height: 225px;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease;
}
@media (max-width: 1199px) {
  .course-banner a {
    width: 55px;
    height: 200px;
  }
}
@media (max-width: 767px) {
  .course-banner a {
    display: none;
  }
}
.course-banner.is-show a {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.course-banner--sp {
  display: none;
}
@media (max-width: 767px) {
  .course-banner--sp {
    display: block;
    position: fixed;
    bottom: -10px;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
    -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
    transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
    transition: opacity 0.4s ease, transform 0.4s ease;
    transition: opacity 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease;
  }
}
.course-banner--sp.is-show {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/*************************************************************************************
FV
**************************************************************************************/
.fv {
  background: url(../img/top/fv-bg.webp) no-repeat center bottom/cover;
  padding-top: 90px;
  padding-bottom: 130px;
}
@media (max-width: 767px) {
  .fv {
    background: url(../img/top/fv-bg-sp.webp) no-repeat center bottom/cover;
    padding-bottom: 80px;
    margin-bottom: 30px;
  }
}

.fv__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 60px;
  max-width: 1280px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1199px) {
  .fv__wrap {
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .fv__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.fv__contents {
  max-width: 510px;
  width: 100%;
  color: #ffffff;
}
@media (max-width: 767px) {
  .fv__contents {
    max-width: 300px;
    margin-right: auto;
    margin-left: auto;
  }
}

.fv__message {
  font-size: 42px;
}
@media (max-width: 1199px) {
  .fv__message {
    font-size: 30px;
  }
}
@media (max-width: 767px) {
  .fv__message {
    font-size: 24px;
  }
}

.fv__text {
  font-size: 24px;
  margin-top: 24px;
  line-height: 180%;
}
@media (max-width: 1199px) {
  .fv__text {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .fv__text {
    font-size: 15px;
  }
}

@media (max-width: 1199px) {
  .fv__img {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .fv__img {
    width: 100%;
  }
}

.fv__topics a {
  text-decoration: none;
  background-color: #ffffff;
  border: 2px solid #FF8575;
  border-radius: 20px;
  max-width: 650px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  padding: 24px 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  position: relative;
}
.fv__topics a::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url(../img/top/btn-arrow-pink.webp) no-repeat center/cover;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
@media (max-width: 767px) {
  .fv__topics a::after {
    right: 15px;
    width: 18px;
    height: 18px;
  }
}
@media (min-width: 1200px) {
  .fv__topics a:hover::after {
    right: 15px;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
}
@media (max-width: 767px) {
  .fv__topics a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    padding: 12px;
  }
}

.fv-topics__label {
  font-size: 16px;
  font-weight: 700;
  color: #FF8575;
  font-weight: 700;
  padding-right: 15px;
  border-right: 1px solid #FF8575;
}
@media (max-width: 767px) {
  .fv-topics__label {
    border-right: none;
    text-align: left;
  }
}

.fv-topics__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media (max-width: 767px) {
  .fv-topics__wrap {
    gap: 15px;
  }
}
.fv-topics__title {
  font-size: 16px;
}

/*************************************************************************************
紹介文
**************************************************************************************/
.about {
  position: relative;
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  .about {
    margin-bottom: 40px;
  }
}
.about::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 296px;
  height: 208px;
  background: url(../img/top/about-img.webp) no-repeat center/cover;
}
@media (max-width: 1199px) {
  .about::after {
    width: 200px;
    height: 140px;
  }
}
@media (max-width: 767px) {
  .about::after {
    display: none;
  }
}

.about__message {
  font-size: 36px;
  color: #FF8575;
  font-weight: 700;
}
@media (max-width: 1199px) {
  .about__message {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .about__message {
    font-size: 22px;
  }
}

.about__text {
  max-width: 550px;
  width: 100%;
  margin-left: auto;
  margin-top: 65px;
}
@media (max-width: 1199px) {
  .about__text {
    width: calc(100% - 240px);
  }
}
@media (max-width: 767px) {
  .about__text {
    max-width: 100%;
    width: 100%;
    margin-top: 30px;
  }
}
.about__text p {
  margin-top: 20px;
  line-height: 220%;
}
@media (max-width: 767px) {
  .about__text p {
    font-size: 15px;
    line-height: 180%;
  }
}

/*************************************************************************************
できること(アンカーリンク)
**************************************************************************************/
.anchor {
  background-color: #FF8575;
  max-width: 1135px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  padding: 32px;
  border-radius: 20px;
}
@media (max-width: 767px) {
  .anchor {
    padding: 24px 15px;
  }
}

.anchor__title {
  font-size: 28px;
  color: #ffffff;
  text-align: center;
}
@media (max-width: 767px) {
  .anchor__title {
    font-size: 24px;
  }
}

.anchor-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 52px;
}
@media (max-width: 1199px) {
  .anchor-links {
    gap: 15px;
  }
}
@media (max-width: 767px) {
  .anchor-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 30px;
  }
}

.anchor-link a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  background-color: #F8F8E9;
  border-radius: 15px;
  padding: 15px;
}
@media (max-width: 1199px) {
  .anchor-link a {
    padding: 10px;
  }
}
.anchor-link a span {
  display: block;
  text-align: center;
  margin-top: 10px;
}
@media (max-width: 1199px) {
  .anchor-link a span {
    font-size: 14px;
  }
}
.anchor-link a img {
  display: block;
  width: 178px;
  margin-right: auto;
  margin-left: auto;
}

/*************************************************************************************
講座のご案内
**************************************************************************************/
.top-course {
  margin: 150px 0;
  background-color: #F8F8E9;
  padding-bottom: 40px;
  position: relative;
}
@media (max-width: 767px) {
  .top-course {
    margin: 65px auto;
    padding: 40px 0;
  }
}
.top-course::before {
  position: absolute;
  content: "";
  top: -75px;
  left: 0;
  width: 100vw;
  height: 75px;
  background: url(../img/top/course-wave.webp) no-repeat center top/cover;
}
@media (max-width: 767px) {
  .top-course::before {
    background-size: contain;
    top: -18px;
    height: 20px;
  }
}
.top-course::after {
  position: absolute;
  content: "";
  bottom: -75px;
  left: 0;
  width: 100vw;
  height: 75px;
  background: url(../img/top/course-wave.webp) no-repeat center bottom/cover;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media (max-width: 767px) {
  .top-course::after {
    bottom: -18px;
    height: 20px;
  }
}

.top-course__lead {
  text-align: center;
  margin-top: 40px;
  line-height: 160%;
}
@media (max-width: 767px) {
  .top-course__lead {
    font-size: 15px;
    text-align: left;
    width: 92%;
    margin-right: auto;
    margin-left: auto;
  }
}

.top-course__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 40px;
  margin-top: 40px;
}
@media (max-width: 1199px) {
  .top-course__wrap {
    gap: 30px;
  }
}
@media (max-width: 767px) {
  .top-course__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-top: 20px;
    max-width: 400px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}

.top-course__list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  text-decoration: none;
  background-color: #ffffff;
  border-radius: 30px;
  padding: 10px;
}

.top-course__texts {
  padding: 10px 0;
}

.top-course__label {
  color: #FF8575;
  font-size: 22px;
  text-align: center;
}
@media (max-width: 767px) {
  .top-course__label {
    font-size: 20px;
  }
}

.top-course__text {
  margin-top: 10px;
  text-align: center;
}
@media (max-width: 1199px) {
  .top-course__text {
    font-size: 14px;
  }
}

.top-course__img {
  width: 100%;
  aspect-ratio: 436/260;
  -o-object-fit: cover;
     object-fit: cover;
}

/*************************************************************************************
施設の紹介
**************************************************************************************/
.top-facility {
  margin: 100px auto;
}
@media (max-width: 767px) {
  .top-facility {
    margin: 60px auto;
  }
}

.top-facility__lead {
  text-align: center;
  margin-top: 40px;
  line-height: 180%;
}
@media (max-width: 767px) {
  .top-facility__lead {
    text-align: left;
    margin-top: 20px;
  }
}

.top-facility__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  margin-top: 40px;
}
@media (max-width: 1199px) {
  .top-facility__wrap {
    gap: 25px;
  }
}
@media (max-width: 767px) {
  .top-facility__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 20px;
    max-width: 400px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}

.top-facility__list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  text-decoration: none;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
@media (min-width: 1200px) {
  .top-facility__list a:hover {
    opacity: 0.8;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .top-facility__list a:hover .top-facility__label::after {
    right: -5px;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
}

.top-facility__label {
  color: #FF8575;
  font-size: 18px;
  margin-top: 10px;
  padding-right: 40px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}
.top-facility__label::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(../img/top/btn-arrow-pink.webp) no-repeat center/cover;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
@media (max-width: 1199px) {
  .top-facility__label {
    font-size: 16px;
  }
}

.top-facility__img {
  max-width: 303px;
  width: 100%;
  aspect-ratio: 303/208;
  -o-object-fit: cover;
     object-fit: cover;
}

/*************************************************************************************
お知らせ
**************************************************************************************/
.top-news {
  background-color: #F8F8E9;
  padding: 90px 0;
}
@media (max-width: 767px) {
  .top-news {
    padding: 40px 0;
  }
}

.top-news__container {
  border: 3px solid #FF8575;
  border-radius: 50px;
  background-color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 80px 60px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  position: relative;
}
@media (max-width: 1199px) {
  .top-news__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 60px 30px;
  }
}
@media (max-width: 767px) {
  .top-news__container {
    padding: 40px 15px;
  }
}
.top-news__container::before {
  position: absolute;
  content: "";
  top: -90px;
  right: 0;
  width: 151px;
  height: 183px;
  background: url(../img/top/top-news-img1.webp) no-repeat center/cover;
}
@media (max-width: 1199px) {
  .top-news__container::before {
    width: 121px;
    height: 153px;
  }
}
@media (max-width: 767px) {
  .top-news__container::before {
    top: -50px;
    width: 73px;
    height: 92px;
  }
}

.top-news__parts {
  max-width: 230px;
  width: 100%;
  position: relative;
}
@media (max-width: 1199px) {
  .top-news__parts {
    display: contents;
  }
}
.top-news__parts::after {
  position: absolute;
  content: "";
  bottom: -170px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 89px;
  height: 162px;
  background: url(../img/top/top-news-img2.webp) no-repeat center/cover;
}
@media (max-width: 1199px) {
  .top-news__parts::after {
    -webkit-transform: none;
            transform: none;
    left: 0;
    bottom: -50px;
  }
}
@media (max-width: 767px) {
  .top-news__parts::after {
    width: 60px;
    height: 110px;
    bottom: -30px;
  }
}

@media (max-width: 1199px) {
  .top-news__title {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.top-news__btn a {
  margin-top: 65px;
}

.top-news__wrap {
  max-width: 560px;
  width: 100%;
}
@media (max-width: 1199px) {
  .top-news__wrap {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 92%;
    margin-right: auto;
    margin-left: auto;
    margin-top: 20px;
  }
}

.news__list a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid #D9D9D9;
}
.news__list a h3 {
  font-size: 16px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media (min-width: 1200px) {
  .news__list a {
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .news__list a:hover {
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    opacity: 0.7;
  }
}
@media (max-width: 1199px) {
  .news__list a {
    padding: 15px 0;
  }
}

/*************************************************************************************
相談業務のご案内
**************************************************************************************/
.top-consultation {
  background: url(../img/top/consultation-bg.webp) no-repeat center/cover;
  padding-top: 300px;
  padding-bottom: 100px;
}
@media (max-width: 1199px) {
  .top-consultation {
    padding-top: 200px;
    padding-bottom: 60px;
  }
}
@media (max-width: 767px) {
  .top-consultation {
    padding-top: 150px;
    padding-bottom: 50px;
  }
}

.top-consultation__container {
  background-color: #ffffff;
  border-radius: 50px;
  max-width: 1147px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  padding: 60px 0;
}
@media (max-width: 1199px) {
  .top-consultation__container {
    padding: 40px 15px;
  }
}

.top-consultation__message {
  font-size: 28px;
  text-align: center;
  margin-top: 30px;
}
@media (max-width: 1199px) {
  .top-consultation__message {
    font-size: 24px;
  }
}

.top-consultation__text {
  text-align: center;
  line-height: 220%;
  margin-top: 35px;
}
@media (max-width: 1199px) {
  .top-consultation__text {
    margin-top: 20px;
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .top-consultation__text {
    text-align: left;
    line-height: 180%;
  }
}

.top-consultation__btn {
  max-width: 230px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  margin-top: 30px;
}

/*************************************************************************************
cta
**************************************************************************************/
.cta {
  background-color: #FFE1DE;
  padding-top: 60px;
  padding-bottom: 100px;
  position: relative;
}
.cta::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: url(../img/top/cta-en.webp) no-repeat center/contain;
}
@media (max-width: 1199px) {
  .cta::after {
    height: 65px;
  }
}
@media (max-width: 767px) {
  .cta::after {
    display: none;
  }
}
@media (max-width: 1199px) {
  .cta {
    padding-bottom: 70px;
  }
}
@media (max-width: 767px) {
  .cta {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.cta__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 50px;
}
@media (max-width: 1199px) {
  .cta__wrap {
    gap: 25px;
  }
}
@media (max-width: 767px) {
  .cta__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.cta__btn a {
  display: block;
  min-width: 464px;
  width: 100%;
  text-decoration: none;
  background-color: #ffffff;
  border: 3px solid #FF8575;
  border-radius: 100px;
  padding: 30px 15px;
}
@media (max-width: 1199px) {
  .cta__btn a {
    min-width: 350px;
    padding: 15px;
  }
}

.cta__lead {
  text-align: center;
  margin-top: 15px;
}
@media (max-width: 1199px) {
  .cta__lead {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .cta__lead {
    font-size: 14px;
  }
}

/*************************************************************************************
施設概要
**************************************************************************************/
.facility {
  margin-top: 100px;
  margin-bottom: 60px;
}

.facility__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 30px;
}
@media (max-width: 767px) {
  .facility__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}

.facility__text {
  max-width: 604px;
  width: 100%;
}
.facility__text p {
  margin-top: 20px;
}

.facility__img {
  display: block;
  width: 280px;
}
@media (max-width: 1199px) {
  .facility__img {
    width: 220px;
  }
}
@media (max-width: 767px) {
  .facility__img {
    width: 120px;
    margin-left: auto;
  }
}

/*************************************************************************************
施設紹介共通レイアウト
**************************************************************************************/
.facility-rental {
  background-color: #FFFFF9;
  padding: 80px 0;
}
@media (max-width: 767px) {
  .facility-rental {
    padding: 40px 0;
  }
}

.facility__flex {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 20px;
}
@media (max-width: 1199px) {
  .facility__flex {
    max-width: 800px;
  }
}
@media (max-width: 767px) {
  .facility__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    max-width: 500px;
    margin-top: 40px;
  }
}

.facility__btn a {
  width: 230px;
  margin-right: 0;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .facility__btn a {
    margin-top: 20px;
  }
}

.facility__flex__img {
  max-width: 453px;
  width: 100%;
}
@media (max-width: 1199px) {
  .facility__flex__img {
    max-width: 350px;
  }
}
@media (max-width: 767px) {
  .facility__flex__img {
    max-width: 100%;
  }
}

/*************************************************************************************
自主クラブ紹介
**************************************************************************************/
.facility-club {
  padding: 80px 0;
}
@media (max-width: 767px) {
  .facility-club {
    padding: 40px 0;
  }
}

/*************************************************************************************
友の会紹介
**************************************************************************************/
.facility-association {
  padding: 80px 0;
  background-color: #FFFFF9;
}
@media (max-width: 767px) {
  .facility-association {
    padding: 40px 0;
  }
}

.rental-room {
  margin-bottom: 80px;
}

.room {
  margin: 40px auto;
}

.room__wrap {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 25px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 767px) {
  .room__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 15px;
  }
}

.room__text {
  line-height: 180%;
}

.room__detail {
  border: 2px solid #FF8575;
  border-radius: 15px;
  padding: 20px;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .room__detail {
    margin-top: 15px;
  }
}
.room__detail dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin: 0;
}
.room__detail dl dt {
  white-space: nowrap;
}
.room__detail dl dd {
  margin: 0;
}

.room__img {
  max-width: 426px;
  width: 100%;
  aspect-ratio: 426/304;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 1199px) {
  .room__img {
    max-width: 350px;
  }
}

/*************************************************************************************
貸館お申し込みフォーム
**************************************************************************************/
.rental-form {
  margin: 60px auto;
}

.rental-form__lead {
  margin-top: 40px;
  max-width: 680px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  font-size: 15px;
}

/*************************************************************************************
自主クラブ一覧
**************************************************************************************/
.club-table__wrap {
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .club-table__wrap {
    margin-bottom: 60px;
  }
}
@media (max-width: 767px) {
  .club-table__wrap {
    overflow-x: scroll;
  }
}

.club__table {
  width: 100%;
  border-collapse: collapse;
  border-color: transparent;
}
@media (max-width: 1199px) {
  .club__table {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .club__table {
    width: 768px;
  }
}
.club__table thead {
  background-color: #F8F8E9;
}
.club__table thead th {
  width: 20%;
  padding: 10px 0;
}
.club__table tbody tr {
  border-bottom: 1px solid #EAEAEA;
}
.club__table tbody tr td {
  text-align: center;
  padding: 10px 0;
}
@media (max-width: 767px) {
  .club__table tbody tr td {
    font-size: 14px;
    white-space: nowrap;
  }
}

/*************************************************************************************
友の会 活動内容
**************************************************************************************/
.association-content {
  background-color: #FFFFF9;
  border: 2px dashed #FF8575;
  border-radius: 50px;
  padding: 50px;
  padding-bottom: 30px;
  position: relative;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .association-content {
    padding: 30px 15px;
    margin-bottom: 40px;
    border-radius: 35px;
  }
}

.association-content__label {
  background-color: #FF8575;
  color: #ffffff;
  padding: 10px 25px;
  font-size: 20px;
  display: block;
  position: absolute;
  top: -30px;
  left: 50px;
}
@media (max-width: 767px) {
  .association-content__label {
    font-size: 16px;
    left: 20px;
  }
}

.association-content__list {
  line-height: 180%;
}
.association-content__list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.association-content__list dl dt {
  white-space: nowrap;
  font-weight: 700;
  margin-right: 10px;
}
.association-content__list dl dd {
  margin: 0;
  font-weight: 300;
}

/*************************************************************************************
活動写真
**************************************************************************************/
.association-photos {
  margin: 80px auto;
}
@media (max-width: 767px) {
  .association-photos {
    margin-top: 40px;
    margin-bottom: 60px;
  }
}

.association-photos__lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 767px) {
  .association-photos__lists {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

@media (max-width: 767px) {
  .association-photos__list {
    font-size: 14px;
  }
}
.association-photos__list figure {
  margin: 0;
  width: 100%;
}
.association-photos__list figure img {
  width: 100%;
  aspect-ratio: 306/222;
  -o-object-fit: cover;
     object-fit: cover;
}

/*************************************************************************************
お知らせ(一覧ページ)
**************************************************************************************/
.information-category {
  max-width: 835px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
  padding-top: 80px;
}
@media (max-width: 1199px) {
  .information-category {
    padding-top: 60px;
  }
}
@media (max-width: 767px) {
  .information-category {
    padding-top: 40px;
    gap: 10px;
  }
}

.information-category__list a {
  min-width: 150px;
  width: 100%;
  text-align: center;
  display: block;
  background-color: #FFE1DE;
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 50px;
}
@media (max-width: 767px) {
  .information-category__list a {
    font-size: 14px;
    padding: 5px 10px;
    min-width: 120px;
  }
}

.information-archive {
  margin-top: 40px;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .information-archive {
    margin-top: 30px;
  }
}

.information-archive__lists {
  max-width: 835px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  border: 3px solid #FF8575;
  border-radius: 50px;
  padding: 60px 0;
}
@media (max-width: 1199px) {
  .information-archive__lists {
    padding: 30px 0;
  }
}
@media (max-width: 767px) {
  .information-archive__lists {
    padding: 20px 0;
    border-radius: 40px;
  }
}

.information-archive__list a {
  max-width: 680px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  text-decoration: none;
  padding: 15px 0;
  border-bottom: 1px solid #D9D9D9;
}
@media (max-width: 767px) {
  .information-archive__list a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    width: 89%;
    padding: 10px 0;
  }
}

.information-archive__list__parts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}

.information-archive__category {
  background-color: #FFE1DE;
  padding: 5px 15px;
  font-size: 13px;
  border-radius: 50px;
}

.information-archive__title {
  font-size: 16px;
}

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 50px;
}

.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi .page, .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
  border: 1px solid #FF8575;
  border-radius: 50px;
  padding: 5px 12px;
  color: #FF8575;
}
.wp-pagenavi .current {
  background-color: #FF8575;
  color: #ffffff;
  border: 1px solid #FF8575 !important;
  border-radius: 50px;
  padding: 5px 12px;
}
.wp-pagenavi .page, .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink, .wp-pagenavi .current {
  margin: 0 5px;
}

/*************************************************************************************
お知らせ(詳細ページ)
**************************************************************************************/
.article {
  padding: 80px 0;
}
@media (max-width: 1199px) {
  .article {
    padding: 40px 0;
  }
}
@media (max-width: 767px) {
  .article {
    padding: 30px 0;
  }
}

.article__parts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  margin-bottom: 10px;
}

.article__category {
  background-color: #FFE1DE;
  padding: 5px 10px;
  border-radius: 50px;
  font-size: 13px;
}

.article__content {
  margin-top: 30px;
  margin-bottom: 40px;
}
.article__content p {
  margin: 20px 0;
}
.article__content figure {
  margin: 20px 0;
}
.article__content a {
  color: #FF8575;
}

.information__btn a {
  max-width: 250px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

/*************************************************************************************
講座(一覧ページ)
**************************************************************************************/
.course-archive {
  padding-top: 80px;
}
@media (max-width: 767px) {
  .course-archive {
    padding-top: 40px;
  }
}

.course-container {
  max-width: 1100px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 80px;
}
@media (max-width: 1199px) {
  .course-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.course__wrap {
  width: 100%;
}

.course__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
@media (max-width: 1199px) {
  .course__list {
    gap: 10px;
  }
}
@media (max-width: 767px) {
  .course__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.course__card a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  border: 1px solid #FF8575;
  border-radius: 18px;
  text-decoration: none;
  padding: 10px;
}
@media (max-width: 1199px) {
  .course__card a {
    padding: 5px;
  }
}

.course__title {
  text-align: center;
  border-bottom: 1px solid #FF8575;
  font-size: 16px;
  font-weight: 700;
}

.course__card__lead {
  font-size: 14px;
  margin-bottom: 10px;
}

.course__card__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
}
@media (max-width: 1199px) {
  .course__card__detail {
    padding: 0 5px;
    font-size: 12px;
  }
}
.course__card__detail dt {
  white-space: nowrap;
  min-width: 60px;
}
@media (max-width: 1199px) {
  .course__card__detail dt {
    min-width: 50px;
  }
}
.course__card__detail dd {
  margin: 0;
}

.course__card__img {
  width: 100%;
}
.course__card__img img {
  width: 100%;
  aspect-ratio: 247/155;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 15px;
}

.course-request {
  max-width: 1100px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  margin-top: 40px;
  margin-bottom: 80px;
  border: 3px solid #FF8575;
  border-radius: 40px;
  padding: 30px;
}
@media (max-width: 767px) {
  .course-request {
    padding: 30px 15px;
    margin-bottom: 40px;
  }
}

.course-request__title {
  font-size: 24px;
  color: #FF8575;
  text-align: center;
  margin-bottom: 20px;
}

.course-request__btn a {
  margin-top: 30px;
  max-width: 280px !important;
  margin-right: auto;
  margin-left: auto;
}

/*************************************************************************************
サイドバー
**************************************************************************************/
.course__side {
  min-width: 230px;
  background-color: #FFFFF9;
  padding: 20px 10px;
}
@media (max-width: 1199px) {
  .course__side {
    min-width: 200px;
  }
}
@media (max-width: 767px) {
  .course__side {
    max-width: 100%;
    padding: 20px 15px;
  }
}

.course__side__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 18px;
  gap: 5px;
}
.course__side__title img {
  width: 20px;
}
@media (max-width: 1199px) {
  .course__side__title {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media (max-width: 1199px) {
  .course__side__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 750px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}
@media (max-width: 767px) {
  .course__side__wrap {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.course__side__block {
  margin-top: 15px;
}
@media (max-width: 767px) {
  .course__side__block {
    width: 150px;
  }
}

.course__side__label {
  font-size: 16px;
  color: #FF8575;
}

.course__side__check label span {
  white-space: nowrap;
}
@media (max-width: 767px) {
  .course__side__check label span {
    font-size: 15px;
  }
}
.course__side__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 250px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.course__side__submit {
  background-color: #FF8575;
  color: #ffffff;
  border: 1px solid #FF8575;
  padding: 8px;
  width: 80%;
  border-radius: 5px;
  margin-top: 10px;
  max-width: 250px;
  display: block;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1199px) {
  .course__side__submit {
    margin-top: 20px;
  }
}

.course__side__clear {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 5px;
}

/*************************************************************************************
講座詳細ページ
**************************************************************************************/
.course-article {
  padding: 80px;
}
@media (max-width: 767px) {
  .course-article {
    padding: 40px 0;
  }
}

.course-article__title {
  margin-bottom: 30px;
}

.course-article__detail {
  border: 3px dashed #FF8575;
  border-radius: 50px;
  background-color: #FFFFF9;
  padding: 40px;
  margin-top: 40px;
}
@media (max-width: 1199px) {
  .course-article__detail {
    padding: 30px;
  }
}
@media (max-width: 767px) {
  .course-article__detail {
    font-size: 15px;
    padding: 20px 15px;
    margin-top: 30px;
    border-radius: 40px;
  }
}

.course-article__detail__list {
  border-bottom: 1px solid #d9d9d9;
  padding: 10px 0;
}
@media (max-width: 767px) {
  .course-article__detail__list {
    padding: 5px 0;
  }
}
.course-article__detail__list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.course-article__detail__list dl dt {
  min-width: 80px;
  padding: 5px 10px;
  text-align: center;
  background-color: #FFE1DE;
}
.course-article__detail__list dl dd {
  margin: 0;
}

/*************************************************************************************
相談内容の例
**************************************************************************************/
.consultation-example {
  border: 3px dashed #FF8575;
  background-color: #FFFFF9;
  border-radius: 30px;
  padding-top: 50px;
  padding-bottom: 20px;
  position: relative;
  margin-top: 80px;
}
@media (max-width: 767px) {
  .consultation-example {
    margin-top: 50px;
  }
}

.consultation-example__label {
  position: absolute;
  top: -20px;
  left: 10%;
  background-color: #FF8575;
  color: #ffffff;
  padding: 10px;
  text-align: center;
  min-width: 200px;
}
@media (max-width: 767px) {
  .consultation-example__label {
    font-size: 18px;
    padding: 8px;
    min-width: 180px;
    left: 5%;
  }
}

.consultation-example__lists {
  max-width: 550px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 767px) {
  .consultation-example__lists {
    width: 92%;
  }
}

.consultation-example__list {
  margin-bottom: 8px;
}
.consultation-example__list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin: 0;
}
@media (max-width: 767px) {
  .consultation-example__list dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.consultation-example__list dl dt {
  color: #FF8575;
  white-space: nowrap;
}
.consultation-example__list dl dd {
  margin: 0;
}
@media (max-width: 767px) {
  .consultation-example__list dl dd {
    font-size: 15px;
  }
}