@charset "utf-8";
/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html

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

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}
:focus {
  outline: 0;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: inherit;
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: separate;
  border-spacing: 0;
}
caption, th, td {
  font-weight: normal;
  text-align: left;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}
blockquote, q {
  quotes: """";
}
img {
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
}
body {
  background-color: #FAFAFA;
  font-size: 16px;
  color: #181717;
  line-height: 1.8;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}



/* リンク設定
------------------------------------------------------------*/
a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  color: #181717;
}
a:hover, a:active, a:visited {
  outline: none;
  color: #181717;
  text-decoration: none;
}
article a, article a:hover, article a:active, article a:visited {
  text-decoration: underline;
  color: #6c2f8d;
}
a:hover, a:hover img {
  opacity: 0.7;
}
h1 a:hover img {
  opacity: 1.0 !important;
}
img {
  border: none;
  vertical-align: bottom
}
/*clearfix*/
.clear {
  clear: both;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1%;
  overflow: hidden;
}



/* フォント設定
------------------------------------------------------------*/

/* Noto Sans JP */
.f01R {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/* Inter */
.f02R {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/* Helvetica */
.f03R {
  font-family: "Helvetica", sans-serif;
  font-weight: 400;
  font-style: normal;
}



/* レイアウト
------------------------------------------------------------*/
#container {
  width: 100%;
  margin: 0;
  padding: 0;
}
#container img {
  width: 100%;
  height: auto;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {

  #container {
    display: block;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {


}


/* PC */
@media only screen and (min-width: 751px) {
  .pc-only {
    display: block;
  }
  .sp-only {
    display: none;
  }
}

/* SP */
@media only screen and (max-width: 750px) {
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}



/* ヘッダ
------------------------------------------------------------*/
/* PC用 */
#header-pc {
  box-sizing: border-box;
  position: fixed;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #FFF;
  width: 244px;
  height: 100vh;
  padding: 50px 32px;
}
#header-pc .logo {
  width: 90px;
}
#header-pc .header_schedule > p:first-child {
  font-size: 12px;
}
#header-pc .header_schedule .schedule_item {
  background: url(../images/arrow-black-right1.svg) no-repeat left bottom / 16px auto;
  margin: 1.3em 0 0;
  padding: 0 0 11px;
}
#header-pc .header_schedule .schedule_item .schedule_item_year {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.2px;
}
#header-pc .header_schedule .schedule_item .schedule_item_date {
  margin: 0 4px 0 0;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.2px;
}
#header-pc .header_schedule .schedule_item .schedule_item_week {
  margin: 0 4px 0 0;
  font-size: 12px;
  line-height: 1.5;
}
#header-pc .header_nav .header_nav_menu li {
  margin: 0.57em 0 0;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.2px;
}
#header-pc .header_nav .header_nav_menu li a {
  background: url(../images/icon-black-dot1.svg) no-repeat left center / 0.21em;
  padding: 0 0 0 0.85em;
}
#header-pc .header_nav .apply_btn {
  margin: 30px 0 0;
}
#header-pc .header_nav .apply_btn a {
  display: flex;
  align-items: center;
  border: 1px solid #181717;
  border-radius: 100vh;
  width: fit-content;
  padding: 10px 16px 10px 24px;
  font-size: 12px;
  line-height: 1;
}
#header-pc .header_nav .apply_btn a::after {
  content: '';
  display: block;
  background: url(../images/arrow-black-up-right1.svg) no-repeat center / contain;
  width: 0.66em;
  height: 0.66em;
}
#header-pc .header_nav .apply_btn a span {
  display: block;
  border-right: 1px solid #EEE;
  margin: 0 12px 0 0;
  padding: 0 12px 0 0;
}

/* タブレット・スマホ用 */
#header-sp {
  display: none;
  position: relative;
  width: 100%;
}
#header-sp .logo {
  position: absolute;
  top: 32px;
  left: 20px;
  z-index: 3;
  width: 74px;
}
#header-sp .mobile_menu_btn {
  position: fixed;
  top: 32px;
  right: 20px;
  z-index: 11;
  background: url(../images/icon-mobile-menu.svg) no-repeat center / contain;
  width: 38px;
  height: 38px;
  cursor: pointer;
}
#header-sp .mobile_menu_btn.active {
  background: url(../images/icon-circle-black-minus.svg) no-repeat center / contain;
}
#header-sp #mobile-nav {
  display: none;
  position: fixed;
  z-index: 10;
  background-color: #FFF;
  width: 100%;
  height: 100dvh;
}
#header-sp #mobile-nav .mobile-nav_inner {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 32px;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .mobile-nav_menu {
  flex-grow: 1;
  padding: 96px 0 0;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .mobile-nav_menu li {
  margin: 0 0 24px;
  font-size: 28px;
  line-height: 1.3;
  letter-spacing: 0.25px;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .mobile-nav_schedule > p:first-child {
  font-size: 12px;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .mobile-nav_schedule .schedule_item {
  background: url(../images/arrow-black-right1.svg) no-repeat left bottom / 16px auto;
  margin: 1.3em 0 0;
  padding: 0 0 11px;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .mobile-nav_schedule .schedule_item .schedule_item_year {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.2px;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .mobile-nav_schedule .schedule_item .schedule_item_date {
  margin: 0 4px 0 0;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.2px;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .mobile-nav_schedule .schedule_item .schedule_item_week {
  margin: 0 4px 0 0;
  font-size: 12px;
  line-height: 1.5;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .apply_btn {
  margin: 32px 0 0;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .apply_btn a {
  display: flex;
  align-items: center;
  background-color: #FFF;
  border: 1px solid #181717;
  border-radius: 100vh;
  width: fit-content;
  padding: 10px 16px 10px 24px;
  font-size: 16px;
  line-height: 1;
  color: #181717;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .apply_btn a::after {
  content: '';
  display: block;
  background: url(../images/arrow-black-up-right1.svg) no-repeat center / contain;
  width: 0.66em;
  height: 0.66em;
}
#header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .apply_btn a span {
  display: block;
  border-right: 1px solid #EEE;
  margin: 0 12px 0 0;
  padding: 0 12px 0 0;
}
#header-sp #mobile-nav .mobile-nav_inner .link_box {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  background-color: #181717;
  padding: 24px 24px 24px 32px;
  margin-top: 48px;
}
#header-sp #mobile-nav .mobile-nav_inner .link_box > figure {
  align-self: center;
  width: 48px;
}
#header-sp #mobile-nav .mobile-nav_inner .link_box > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}
#header-sp #mobile-nav .mobile-nav_inner .link_box > div > p {
  margin: 0 0 32px;
  font-size: 14px;
  text-align: right;
  color: #FFF;
}
#header-sp #mobile-nav .mobile-nav_inner .link_box > div > .link_icon {
  background-image: url(../images/arrow-circle-white-right1.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 32px;
  height: 32px;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {

  #header-pc {
    display: none;
  }
  #header-sp {
    display: block;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {

  #header-sp .logo {
    /* width: 60px; */
    width: 15.6%;
  }
  #header-sp #mobile-nav .mobile-nav_inner {
    padding: 32px 32px 50px;
  }
  #header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .mobile-nav_menu {
    padding: 29px 0 0;
  }
  #header-sp #mobile-nav .mobile-nav_inner .mobile-nav_box .mobile-nav_menu li {
    font-size: 24px;
  }

}

@media only screen and (max-height: 800px) {

  #header-sp #mobile-nav .mobile-nav_inner .link_box {
    display: none;
  }

}



/* コンテンツ
------------------------------------------------------------*/
#contents {
  position: relative;
  width: calc(100% - 244px);
  margin: 0 0 0 auto;
}
#contents .bg_line {
  position: absolute;
  top: 0;
  z-index: 1;
  background-color: #EEE;
  width: 1px;
  height: 100%;
}
#contents .line1 {
  left: 0;
}
#contents .line2 {
  left: 39.61813%;
}
#contents .line3 {
  right: 21.42004%;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {

  #contents {
    width: 100%;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {


}



/* キービジュアル
------------------------------------------------------------*/
#keyvisual {
  position: relative;
  z-index: 2;
}
#keyvisual .section_inner {
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 100vh;
}
#keyvisual .section_inner .kv_column {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
#keyvisual .section_inner .kv_column header {
  flex-grow: 1;
}
#keyvisual .section_inner .kv_column .kv_column_image {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
}
#keyvisual .section_inner .kv_column01 {
  width: 39.6778%;
  padding: 0 2px 0 0;
}
#keyvisual .section_inner .kv_column02 {
  width: 38.96181%;
  padding: 0 2px 0 0;
}
#keyvisual .section_inner .kv_column03 {
  width: 21.36038%;
}
#keyvisual .section_inner .kv_column01 header {
  padding: 48px 32px 0;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#keyvisual .section_inner .kv_column01 h1 {
  padding: 0 20px 21px 32px;
}
#keyvisual .section_inner .kv_column01 h1 span:first-child {
  display: block;
  /* font-size: 22px; */
  font-size: 1.1458vw;
}
#keyvisual .section_inner .kv_column01 h1 span:last-child {
  display: block;
  margin: 76px 0 0;
  /* font-size: 72px; */
  font-size: 3.75vw;
  line-height: 1.3;
}
#keyvisual .section_inner .kv_column01 .kv_column_image {
  background-image: url(../images/kv1.png);
  height: 30.55vh;
}
#keyvisual .section_inner .kv_column02 header {
  padding: 48px 20px 0;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#keyvisual .section_inner .kv_column02 .kv_column_box {
  position: relative;
  padding: 0 20px 38px;
}
#keyvisual .section_inner .kv_column02 .kv_column_box .kv_column_message .kv_column_message_item {
  position: relative;
  border-bottom: 1px solid #181717;
  padding: 0 50px 19px 0;
}
#keyvisual .section_inner .kv_column02 .kv_column_box .kv_column_message .kv_column_message_item > p {
  font-size: 1.388vw;
}
#keyvisual .section_inner .kv_column02 .kv_column_box .kv_column_message .kv_column_message_item > div {
  position: absolute;
  bottom: 2px;
  right: 6px;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#keyvisual .section_inner .kv_column02 .scroll_btn {
  position: absolute;
  bottom: 82px;
  right: 24px;
}
#keyvisual .section_inner .kv_column02 .scroll_btn a {
  display: block;
  background: url(../images/arrow-circle-black-down1.svg) no-repeat center / contain;
  width: 32px;
  height: 32px;
}
#keyvisual .section_inner .kv_column02 .kv_column_image {
  background-image: url(../images/kv2.png);
  height: 49.07vh;
}
#keyvisual .section_inner .kv_column03 header > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 48px 20px 0;
}
#keyvisual .section_inner .kv_column03 header p {
  width: calc(100% - 24px - 20px);
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#keyvisual .section_inner .kv_column03 header p a {
  text-decoration: underline;
}
#keyvisual .section_inner .kv_column03 header .link_btn a {
  display: block;
  background: url(../images/icon-window.svg) no-repeat center / contain;
  width: 24px;
  height: 24px;
}
#keyvisual .section_inner .kv_column03 .kv_column_image {
  background-image: url(../images/kv3.png);
  height: 76.94vh;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {

  #keyvisual .section_inner .kv_column {
    justify-content: flex-end;
  }
  #keyvisual .section_inner .kv_column header {
    display: none;
  }
  #keyvisual .section_inner .kv_column01 h1 {
    padding: 0 0 32px 20px;
  }
  #keyvisual .section_inner .kv_column01 h1 span:first-child {
    font-size: 1.823vw;
  }
  #keyvisual .section_inner .kv_column01 h1 span:last-child {
    font-size: 4.6875vw;
  }
  #keyvisual .section_inner .kv_column02 .kv_column_box .kv_column_message .kv_column_message_item > p {
    font-size: 1.822vw;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {

  #keyvisual .section_inner .kv_column01 h1 {
    position: absolute;
    left: 20px;
    bottom: 48.62vh;
    padding: 0;
  }
  #keyvisual .section_inner .kv_column01 h1 span:first-child {
    font-size: 3.5vw;
  }
  #keyvisual .section_inner .kv_column01 h1 span:last-child {
    margin-top: 16px;
    font-size: 9vw;
  }
  #keyvisual .section_inner .kv_column01 .kv_column_image {
    height: 30.37vh;
  }
  #keyvisual .section_inner .kv_column02 .kv_column_box {
    position: static;
    padding: 0;
  }
  #keyvisual .section_inner .kv_column02 .kv_column_box .kv_column_message {
    display: none;
  }
  #keyvisual .section_inner .kv_column02 .scroll_btn {
    position: absolute;
    bottom: 82px;
    right: 24px;
  }
  #keyvisual .section_inner .kv_column02 .scroll_btn {
    position: absolute;
    left: 20px;
    bottom: calc(30.37vh + 16px);
    padding: 0;
  }
  #keyvisual .section_inner .kv_column02 .kv_column_image {
    height: 39.5vh;
  }
  #keyvisual .section_inner .kv_column03 .kv_column_image {
    height: 48.62vh;
  }

}



/* 共通パーツ
------------------------------------------------------------*/
#contents .section_header h2 span {
  display: block;
  font-size: 50px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#contents .section_header h2 small {
  display: block;
  font-size: 16px;
}
#contents .bx-wrapper {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  background: none;
  margin-bottom: 0;
}

/* モーダルウィンドウ */
.modal_window {
  box-sizing: border-box;
  padding: 7vw 8vw 1.2vw;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {


}

/* スマートフォン */
@media only screen and (max-width: 750px) {

  .modal_window {
    padding: 6vw 8vw 4vw;
  }

}



/* Introduction
------------------------------------------------------------*/
#introduction {
  position: relative;
  z-index: 2;
}
#introduction .section_inner {
  padding: 96px 0 0;
}
#introduction .section_inner .introduction_contents {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 0 96px;
}
#introduction .section_inner .section_header {
  box-sizing: border-box;
  position: sticky;
  top: 96px;
  width: 39.6778%;
  padding: 0 64px 0 32px;
}
#introduction .section_inner .section_header h3 {
  margin: 96px 0 0;
  font-size: 24px;
}
#introduction .section_inner .introduction_contents > p {
  box-sizing: border-box;
  width: calc(100% - 39.6778%);
  padding: calc(50px + 25px + 16px + 12.8px + 96px) 32px 0;
  font-size: 14px;
}
#introduction .section_inner .introduction_slide_wrap .introduction_slide > li {
  width: 20vw !important;
  margin-right: 2px !important;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {

  #introduction .section_inner {
    padding: 48px 20px 0;
  }
  #introduction .section_inner .introduction_contents {
    flex-direction: column;
  }
  #introduction .section_inner .introduction_contents .section_header {
    position: static;
    top: auto;
    width: 100%;
    padding: 0;
  }
  #introduction .section_inner .section_header h3 {
    margin: 32px 0 0;
  }
  #introduction .section_inner .section_header h3 br {
    display: none;
  }
  #introduction .section_inner .introduction_contents > p {
    width: 100%;
    padding: 48px 0 0;
  }
  #introduction .section_inner .introduction_slide_wrap .introduction_slide > li {
    width: 35vw !important;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {

  #introduction .section_inner .introduction_contents {
    margin: 0 0 50px;
  }
  #introduction .section_inner .introduction_slide_wrap .introduction_slide > li {
    width: 67.5vw !important;
  }

}



/* Goal
------------------------------------------------------------*/
#goal {
  position: relative;
  z-index: 2;
}
#goal .section_inner {
  padding: 64px 32px 0;
}
#goal .section_inner .section_header {
  display: none;
}
#goal .section_inner .goal_contents {
  display: flex;
  justify-content: space-between;
}
#goal .section_inner .goal_contents .goal_box {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 4px;
  width: calc( calc(100% - 20px) / 2 );
  padding: 32px 24px 24px;
}
#goal .section_inner .goal_contents .goal_box > h3 span {
  display: block;
  font-size: 24px;
}
#goal .section_inner .goal_contents .goal_box > h3 small {
  display: block;
  font-size: 16px;
  line-height: 1.5;
}
#goal .section_inner .goal_contents .problem {
  background-color: #EEE;
}
#goal .section_inner .goal_contents .problem > h3 {
  color: #181717;
}
#goal .section_inner .goal_contents .problem > p {
  margin: 24px 0 18px;
  font-size: 14px;
  letter-spacing: 0.75px;
  color: #181717;
}
#goal .section_inner .goal_contents .problem > ul {
  border-bottom: 1px solid #181717;
  padding: 0 0 24px;
}
#goal .section_inner .goal_contents .problem > ul li {
  box-sizing: border-box;
  background-color: #000;
  border-radius: 4px;
  width: fit-content;
  margin: 14px 0 0;
  padding: 10px 16px;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 1.6px;
  color: #FFF;
}
#goal .section_inner .goal_contents .problem > ul li span {
  background: url(../images/icon-white-dot1.svg) no-repeat left center / 0.33em;
  padding: 0 0 0 0.83em;
}
#goal .section_inner .goal_contents .goal {
  background-color: #181717;
}
#goal .section_inner .goal_contents .goal > h3 {
  color: #FFF;
}
#goal .section_inner .goal_contents .goal > dl dt {
  font-size: 24px;
  letter-spacing: 0.75px;
  color: #FFF;
}
#goal .section_inner .goal_contents .goal > dl dd {
  margin: 32px 0 0;
  font-size: 18px;
  letter-spacing: 0.75px;
  color: #FFF;
}
#goal .section_inner .goal_contents .goal > div {
  border-bottom: 1px solid #FFF;
  padding: 0 0 24px;
}
#goal .section_inner .goal_contents .goal > div a {
  display: flex;
  align-items: center;
  column-gap: 16px;
  width: fit-content;
  font-size: 14px;
  letter-spacing: 0.75px;
  color: #FFF;
}
#goal .section_inner .goal_contents .goal > div a::after {
  content: '';
  display: block;
  background: url(../images/arrow-circle-white-right1.svg) no-repeat center / contain;
  width: 32px;
  height: 32px;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {

  #goal .section_inner {
    padding: 48px 20px 0;
  }
  #goal .section_inner .section_header {
    display: block;
  }
  #goal .section_inner .goal_contents {
    flex-direction: column;
    row-gap: 26px;
    margin: 32px 0 0;
  }
  #goal .section_inner .goal_contents .goal_box {
    width: 100%;
  }
  #goal .section_inner .goal_contents .goal > dl {
    margin: 110px 0;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {

  #goal .section_inner .goal_contents .problem > ul li {
    width: 100%;
  }

}



/* Voices
------------------------------------------------------------*/
#voices {
  position: relative;
  z-index: 2;
}
#voices .section_inner {
  padding: 96px 0 64px 32px;
}
#voices .section_inner .voices_contents {
  margin: 32px 0 0;
}
#voices .section_inner .voices_contents .voices_slide {
  display: flex;
  align-items: flex-end;
}
#voices .section_inner .voices_contents .voices_slide > li {
  box-sizing: border-box;
  border-bottom: 1px solid #000;
  /* width: calc( calc(100vw - 244px) * 0.3776849 ) !important; */
  /* margin-right: 20px !important; */
  padding: 0 10px 32px;
}
#voices .section_inner .voices_contents .voices_slide > li > p {
  font-size: 15px;
}
#voices .section_inner .voices_contents .voices_slide > li > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 22px 0 0;
}
#voices .section_inner .voices_contents .voices_slide > li > div .voices_slide_name {
  display: block;
  font-size: 14px;
}
#voices .section_inner .voices_contents .voices_slide > li > div .voices_slide_tag {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #EEE;
  border-radius: 4px;
  width: fit-content;
  padding: 4px 10px;
  font-size: 12px;
  color: #181717;
}
#voices .section_inner .voices_contents .voices_slide > li > div .voices_slide_tag::before {
  content: '';
  display: block;
  background: url(../images/icon-black-dot1.svg) no-repeat center / contain;
  width: 0.33em;
  height: 0.33em;
  margin-right: 10px;
}
#voices .section_inner .voices_contents .bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: auto;
  bottom: -64px;
  margin-top: 0;
  outline: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  z-index: 9999;
  background-position: center;
  background-size: contain;
}
#voices .section_inner .voices_contents .bx-wrapper .bx-prev {
  left: auto;
  right: calc(14.51% + 32px + 12px);
  background: url('../images/arrow-circle-black-right1.svg') no-repeat;
  transform: scale(-1, 1);
}
#voices .section_inner .voices_contents .bx-wrapper .bx-next {
  right: 14.51%;
  background: url('../images/arrow-circle-black-right1.svg') no-repeat;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {

  #voices .section_inner .voices_contents .bx-wrapper .bx-prev {
    right: calc(11% + 32px + 12px);
  }
  #voices .section_inner .voices_contents .bx-wrapper .bx-next {
    right: 11%;
  }

}

/* タブレット */
@media only screen and (max-width: 960px) {

  #voices .section_inner {
    padding: 48px 20px 64px;
  }
  #voices .section_inner .voices_contents .bx-wrapper .bx-prev {
    right: calc(32px + 12px);
  }
  #voices .section_inner .voices_contents .bx-wrapper .bx-next {
    right: 0;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {


}



/* Program
------------------------------------------------------------*/
#program {
  position: relative;
  z-index: 2;
}
#program .section_inner {
  padding: 96px 0 80px 32px;
}
#program .section_inner .program_contents {
  margin: 48px 0 0;
}
#program .section_inner .program_contents .program_slide {
  display: flex;
}
#program .section_inner .program_contents .program_slide > li {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background-color: #EEE;
  border-radius: 4px;
  padding: 48px 32px 32px;
}
#program .section_inner .program_contents .program_slide > li > header > div {
  box-sizing: border-box;
  background-color: #000;
  border-radius: 100vh;
  width: fit-content;
  padding: 9px 16px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 1.6px;
  color: #FFF;
}
#program .section_inner .program_contents .program_slide > li > header > p {
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#program .section_inner .program_contents .program_slide > li > .program_slide_title {
  display: flex;
  justify-content: space-between;
  margin: 32px 0;
}
#program .section_inner .program_contents .program_slide > li > .program_slide_title .program_slide_title_number {
  width: 1em;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#program .section_inner .program_contents .program_slide > li > .program_slide_title .program_slide_title_text {
  width: calc(100% - 1.5em);
  font-size: 24px;
}
#program .section_inner .program_contents .program_slide > li > .program_slide_title .program_slide_title_text h3 {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#program .section_inner .program_contents .program_slide > li > .program_slide_title .program_slide_title_text h3 + p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#program .section_inner .program_contents .program_slide > li > ol {
  box-sizing: border-box;
  background-color: #FFF;
  border-radius: 4px;
  margin: auto 0 0;
  padding: 24px;
}
#program .section_inner .program_contents .program_slide > li > ol > li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 8px 0 0;
  font-size: 14px;
}
#program .section_inner .program_contents .program_slide > li > ol > li:first-child {
  margin-top: 0;
}
#program .section_inner .program_contents .program_slide > li > ol > li > span:first-child {
  width: 1em;
}
#program .section_inner .program_contents .program_slide > li > ol > li > span:last-child {
  width: calc(100% - 1.5em);
}
#program .section_inner .program_contents .program_slide > li > ol > li > span.work {
  box-sizing: border-box;
  background-color: #EEE;
  border-radius: 100vh;
  padding: 4px;
  width: 5.5em;
  font-size: 8px;
  text-align: center;
}
#program .section_inner .program_contents .program_slide > li > ol > li > span.work + span {
  width: calc(100% - 3.6em);
}
#program .section_inner .program_contents .bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: auto;
  bottom: -80px;
  margin-top: 0;
  outline: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  z-index: 9999;
  background-position: center;
  background-size: contain;
}
#program .section_inner .program_contents .bx-wrapper .bx-prev {
  left: auto;
  right: calc(14.51% + 32px + 12px);
  background: url('../images/arrow-circle-black-right1.svg') no-repeat;
  transform: scale(-1, 1);
}
#program .section_inner .program_contents .bx-wrapper .bx-next {
  right: 14.51%;
  background: url('../images/arrow-circle-black-right1.svg') no-repeat;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {

  #program .section_inner .program_contents .bx-wrapper .bx-prev {
    right: calc(11% + 32px + 12px);
  }
  #program .section_inner .program_contents .bx-wrapper .bx-next {
    right: 11%;
  }

}

/* タブレット */
@media only screen and (max-width: 960px) {

  #program .section_inner {
    padding: 48px 20px 64px;
  }
  #program .section_inner .program_contents {
    margin: 32px 0 0;
  }
  #program .section_inner .program_contents .program_slide > li {
    padding: 32px 20px 32px;
  }
  #program .section_inner .program_contents .bx-wrapper .bx-controls-direction a {
    bottom: -64px;
  }
  #program .section_inner .program_contents .bx-wrapper .bx-prev {
    right: calc(32px + 12px);
  }
  #program .section_inner .program_contents .bx-wrapper .bx-next {
    right: 0;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {

  #program .section_inner {
    padding: 48px 20px 0;
  }
  #program .section_inner .program_contents .program_slide {
    flex-direction: column;
    row-gap: 32px;
  }

}



/* About Us
------------------------------------------------------------*/
#about-us {
  position: relative;
  z-index: 2;
}
#about-us .section_inner {
  padding: 96px 0 64px 0;
}
#about-us .section_inner .section_header {
  margin: 0 32px;
}
#about-us .section_inner .about-us_contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin: 96px 0 0;
}
#about-us .section_inner .about-us_contents .about-us_box {
  box-sizing: border-box;
  width: 39.6778%;
  padding: 0 32px;
}
#about-us .section_inner .about-us_contents .about-us_box > figure {
  width: 241px;
}
#about-us .section_inner .about-us_contents .about-us_box > p {
  margin: 47px 0;
  font-size: 14px;
}
#about-us .section_inner .about-us_contents .about-us_box .link {
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#about-us .section_inner .about-us_contents .about-us_box .link a {
  display: flex;
  align-items: center;
  width: fit-content;
  text-decoration: underline;
  color: #181717;
}
#about-us .section_inner .about-us_contents .about-us_box .link a::after {
  content: '';
  display: block;
  background: url(../images/icon-window.svg) no-repeat center / contain;
  width: 2em;
  height: 2em;
  margin-left: 16px;
}
#about-us .section_inner .about-us_contents .about-us_slide_wrap {
  width: calc(100% - 39.6778%);
}
#about-us .section_inner .about-us_contents .about-us_slide_wrap .about-us_slide {
  display: flex;
}
#about-us .section_inner .about-us_contents .about-us_slide_wrap .about-us_slide > li {
  box-sizing: border-box;
  border-width: 1px 0 1px 1px;
  border-style: solid;
  border-color: #000;
  width: 229px !important;
  padding: 32px 24px;
}
#about-us .section_inner .about-us_contents .about-us_slide_wrap .about-us_slide > li > h4 {
  background-color: #FFF;
  border: 1px solid #181717;
  border-radius: 100vh;
  width: fit-content;
  padding: 6px 18px;
  font-size: 12px;
  line-height: 1;
}
#about-us .section_inner .about-us_contents .about-us_slide_wrap .about-us_slide > li > div {
  margin: 32px 0 24px;
  font-size: 24px;
  line-height: 1.6;
}
#about-us .section_inner .about-us_contents .about-us_slide_wrap .about-us_slide > li > div span {
  font-size: 50px;
  font-weight: 500;
  line-height: 1;
}
#about-us .section_inner .about-us_contents .about-us_slide_wrap .about-us_slide > li > div small {
  font-size: 24px;
  line-height: 1.6;
  letter-spacing: 0.75px;
}
#about-us .section_inner .about-us_contents .about-us_slide_wrap .about-us_slide > li > p {
  font-size: 14px;
}
#about-us .section_inner .about-us_contents .bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: auto;
  bottom: -64px;
  margin-top: 0;
  outline: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  z-index: 9999;
  background-position: center;
  background-size: contain;
}
#about-us .section_inner .about-us_contents .bx-wrapper .bx-prev {
  left: auto;
  right: calc(23.37% + 32px + 12px);
  background: url('../images/arrow-circle-black-right1.svg') no-repeat;
  transform: scale(-1, 1);
}
#about-us .section_inner .about-us_contents .bx-wrapper .bx-next {
  right: 23.37%;
  background: url('../images/arrow-circle-black-right1.svg') no-repeat;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {

  #about-us .section_inner {
    padding: 48px 0 64px 32px;
  }
  #about-us .section_inner .section_header {
    margin: 0 32px 0 0;
  }
  #about-us .section_inner .about-us_contents {
    flex-direction: column;
    align-items: flex-start;
  }
  #about-us .section_inner .about-us_contents .about-us_box {
    width: 100%;
    padding: 0 32px 0 0;
  }
  #about-us .section_inner .about-us_contents .about-us_slide_wrap {
    width: 100%;
    margin: 32px 0 0;
  }
  #about-us .section_inner .about-us_contents .bx-wrapper .bx-prev {
    right: calc(11% + 32px + 12px);
  }
  #about-us .section_inner .about-us_contents .bx-wrapper .bx-next {
    right: 11%;
  }

}

/* タブレット */
@media only screen and (max-width: 960px) {

  #about-us .section_inner {
    padding: 48px 0 64px 20px;
  }
  #about-us .section_inner .section_header {
    margin: 0 20px 0 0;
  }
  #about-us .section_inner .about-us_contents .about-us_box {
    width: 100%;
    padding: 0 20px 0 0;
  }
  #about-us .section_inner .about-us_contents .bx-wrapper .bx-prev {
    right: calc(20px + 32px + 12px);
  }
  #about-us .section_inner .about-us_contents .bx-wrapper .bx-next {
    right: 20px;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {


}



/* Members
------------------------------------------------------------*/
#members {
  position: relative;
  z-index: 2;
}
#members .section_inner {
  padding: 48px 0 96px 32px;
}
#members .section_inner .section_header {
  display: none;
}
#members .section_inner .members_contents .members_slide > li {
  box-sizing: border-box;
  position: relative;
}
#members .section_inner .members_contents .members_slide > li > h3 {
  margin: 32px 0 0;
}
#members .section_inner .members_contents .members_slide > li > h3 small {
  display: block;
  font-size: 12px;
  line-height: 2.2;
  letter-spacing: 0.75px;
}
#members .section_inner .members_contents .members_slide > li > h3 span {
  display: block;
  font-size: 16px;
  line-height: 2.2;
  letter-spacing: 0.75px;
}
#members .section_inner .members_contents .members_slide > li .members_slide_btn {
  position: absolute;
  right: 0;
  bottom: 0;
  background: #EEE url(../images/icon-black-plus.svg) no-repeat center / 8px;
  border-radius: 4px;
  width: 28px;
  height: 28px;
}
#members .section_inner .members_contents .members_slide > li .members_slide_btn a {
  display: block;
  width: 28px;
  height: 28px;
}
#members .section_inner .members_contents .bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: auto;
  bottom: -64px;
  margin-top: 0;
  outline: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  z-index: 9999;
  background-position: center;
  background-size: contain;
}
#members .section_inner .members_contents .bx-wrapper .bx-prev {
  left: auto;
  right: calc(14.51% + 32px + 12px);
  background: url('../images/arrow-circle-black-right1.svg') no-repeat;
  transform: scale(-1, 1);
}
#members .section_inner .members_contents .bx-wrapper .bx-next {
  right: 14.51%;
  background: url('../images/arrow-circle-black-right1.svg') no-repeat;
}

/* モーダルウィンドウ */
.members_modal_window {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 5vw;
}
.members_modal_window > figure {
  width: 24%;
}
.members_modal_window > figure figcaption {
  display: block;
  margin: 32px 0 0;
}
.members_modal_window > figure figcaption small {
  display: block;
  font-size: 12px;
  line-height: 2.2;
  letter-spacing: 0.75px;
}
.members_modal_window > figure figcaption .members_modal_name1 {
  display: block;
  font-size: 20px;
  line-height: 2.2;
  letter-spacing: 0.75px;
}
.members_modal_window > figure figcaption .members_modal_name2 {
  display: block;
  font-size: 14px;
  line-height: 2.2;
  letter-spacing: 0.75px;
}
.members_modal_window > .members_modal_box {
  width: 66%;
}
.members_modal_window > .members_modal_box h3 {
  font-size: 16px;
  line-height: 2.2;
}
.members_modal_window > .members_modal_box p {
  margin: 16px 0 0;
  font-size: 14px;
  letter-spacing: 0.75px;
}
.members_modal_window > .members_modal_box .members_modal_message {
  background-color: #EEE;
  margin: 64px 0 0;
  padding: 24px;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {

  #members .section_inner .members_contents .bx-wrapper .bx-prev {
    right: calc(11% + 32px + 12px);
  }
  #members .section_inner .members_contents .bx-wrapper .bx-next {
    right: 11%;
  }

}

/* タブレット */
@media only screen and (max-width: 960px) {

  #members .section_inner .members_contents .bx-wrapper .bx-prev {
    right: calc(20px + 32px + 12px);
  }
  #members .section_inner .members_contents .bx-wrapper .bx-next {
    right: 20px;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {

  #members .section_inner {
    padding: 32px 0 117px 20px;
  }

  /* モーダルウィンドウ */
  .members_modal_window {
    display: block;
  }
  .members_modal_window > figure {
    width: 100%;
  }
  .members_modal_window > .members_modal_box {
    width: 100%;
    margin-top: 16px;
    padding: 0;
  }
  .members_modal_window > .members_modal_box .members_modal_message {
    margin: 32px 0 0;
    padding: 20px;
  }

}



/* Schedule
------------------------------------------------------------*/
#schedule {
  position: relative;
  z-index: 2;
}
#schedule .section_inner {
  display: flex;
  background-color: #FFF;
  padding: 96px 0 168px;
}
#schedule .section_inner .section_header {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 39.6778%;
  padding: 0 32px;
}
#schedule .section_inner .section_header > dl dt {
  background-color: #181717;
  border-radius: 100vh;
  width: fit-content;
  padding: 4px 16px;
  font-size: 14px;
  letter-spacing: 0.75px;
  color: #FFF;
}
#schedule .section_inner .section_header > dl dd {
  margin: 10px 0 0;
  font-size: 14px;
  letter-spacing: 0.75px;
}
#schedule .section_inner .schedule_contents {
  width: calc(100% - 39.6778%);
}
#schedule .section_inner .schedule_contents .schedule_slide {
  display: flex;
}
#schedule .section_inner .schedule_contents .schedule_slide > li {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  background-color: #181717;
  border-radius: 4px;
  padding: 50px 32px 40px;
}
#schedule .section_inner .schedule_contents .schedule_slide > li > header {
  display: flex;
  justify-content: space-between;
  column-gap: 32px;
}
#schedule .section_inner .schedule_contents .schedule_slide > li > header .seminar_title {
  border: 1px solid #FFF;
  padding: 10px 24px;
  font-size: 14px;
  letter-spacing: 0.75px;
  color: #FFF;
}
#schedule .section_inner .schedule_contents .schedule_slide > li > header .seminar_number {
  flex-shrink: 0;
  font-size: 14px;
  line-height: 2.3;
  letter-spacing: 0.75px;
  color: #FFF;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_schedule {
  margin: 24px 0 16px;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_schedule .seminar_schedule_item {
  font-size: 18px;
  letter-spacing: 0.75px;
  color: #FFF;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_type {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 24px;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_type div {
  border: 1px solid #FFF;
  border-radius: 100vh;
  padding: 4px 12px;
  font-size: 12px;
  letter-spacing: 0.75px;
  color: #FFF;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_free {
  margin: 0 0 24px;
  font-size: 14px;
  letter-spacing: 0.75px;
  color: #FFF;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_bottom {
  border-top: 1px dashed #757575;
  margin: auto 0 0;
  padding: 24px 0 0;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_bottom .seminar_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_bottom .seminar_box .seminar_coach {
  display: flex;
  align-items: center;
  column-gap: 12px;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_bottom .seminar_box .seminar_coach .seminar_coach_thumb {
  overflow: hidden;
  border-radius: 50%;
  width: 59px;
  height: 59px;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_bottom .seminar_box .seminar_coach .seminar_coach_text dt {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.75px;
  color: #FFF;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_bottom .seminar_box .seminar_coach .seminar_coach_text .seminar_coach_name {
  margin: 8px 0 0;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.75px;
  color: #FFF;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_bottom .seminar_box .seminar_fee dt {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  line-height: 1.16;
  letter-spacing: 0.75px;
  color: #FFF;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_bottom .seminar_box .seminar_fee dd {
  margin: 8px 0 0;
  text-align: right;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_bottom .seminar_box .seminar_fee dd .seminar_fee_yen {
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0.75px;
  color: #FFF;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .seminar_bottom .seminar_box .seminar_fee dd small {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.75px;
  color: #FFF;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .apply_btn {
  margin: 24px 0 0;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .apply_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FFF;
  border-radius: 100vh;
  padding: 20px 32px;
  font-size: 18px;
  line-height: 1;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .apply_btn a::after {
  content: '';
  display: block;
  background: url(../images/arrow-black-up-right1.svg) no-repeat center / contain;
  width: 0.66em;
  height: 0.66em;
}
#schedule .section_inner .schedule_contents .schedule_slide > li .apply_btn a span {
  display: block;
  border-right: 1px solid #181717;
  margin: 0 20px 0 0;
  padding: 0 20px 0 0;
}
#schedule .section_inner .schedule_contents .bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: auto;
  bottom: -64px;
  margin-top: 0;
  outline: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  z-index: 9999;
  background-position: center;
  background-size: contain;
}
#schedule .section_inner .schedule_contents .bx-wrapper .bx-prev {
  left: auto;
  right: calc(23.3% + 32px + 12px);
  background: url('../images/arrow-circle-black-right1.svg') no-repeat;
  transform: scale(-1, 1);
}
#schedule .section_inner .schedule_contents .bx-wrapper .bx-next {
  right: 23.3%;
  background: url('../images/arrow-circle-black-right1.svg') no-repeat;
}
#schedule .section_inner .schedule_contents .schedule_address {
  display: none;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {

  #schedule .section_inner {
    flex-direction: column;
    padding: 48px 32px;
  }
  #schedule .section_inner .section_header {
    width: 100%;
    padding: 0;
  }
  #schedule .section_inner .section_header > dl {
    margin: 32px 0 0;
  }
  #schedule .section_inner .schedule_contents {
    width: 100%;
    margin: 32px 0 0;
  }
  #schedule .section_inner .schedule_contents .schedule_slide > li {
    padding: 32px;
  }
  #schedule .section_inner .schedule_contents .bx-wrapper .bx-prev {
    right: calc(7.8% + 32px + 12px);
  }
  #schedule .section_inner .schedule_contents .bx-wrapper .bx-next {
    right: 7.8%;
  }

}

/* タブレット */
@media only screen and (max-width: 960px) {

  #schedule .section_inner {
    padding: 48px 20px;
  }
  #schedule .section_inner .section_header > dl {
    display: none;
  }
  #schedule .section_inner .schedule_contents .bx-wrapper .bx-prev {
    right: calc(32px + 12px);
  }
  #schedule .section_inner .schedule_contents .bx-wrapper .bx-next {
    right: 0;
  }
  #schedule .section_inner .schedule_contents .schedule_address {
    display: block;
    margin: 96px 0 0;
  }
  #schedule .section_inner .schedule_contents .schedule_address dt {
    background-color: #181717;
    border-radius: 100vh;
    width: fit-content;
    padding: 4px 16px;
    font-size: 14px;
    letter-spacing: 0.75px;
    color: #FFF;
  }
  #schedule .section_inner .schedule_contents .schedule_address dd {
    margin: 10px 0 0;
    font-size: 14px;
    letter-spacing: 0.75px;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {


}



/* Intent
------------------------------------------------------------*/
#intent {
  position: relative;
  z-index: 2;
}
#intent .section_inner {
  padding: 96px 32px 0;
}
#intent .section_inner .intent_contents {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 50px 0 0;
}
#intent .section_inner .intent_contents .intent_box {
  box-sizing: border-box;
  background-color: #FFF;
  border-radius: 4px;
  width: calc( calc(100% - 20px) / 2 );
  padding: 32px;
}
#intent .section_inner .intent_contents .intent_box > header {
  margin: 0 0 68px;
}
#intent .section_inner .intent_contents .intent_box > header > div {
  background-color: #181717;
  border-radius: 100vh;
  width: fit-content;
  padding: 8px 16px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 1.6px;
  color: #FFF;
}
#intent .section_inner .intent_contents .intent_box > header > h3 {
  margin: 16px 0 0;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#intent .section_inner .intent_contents .intent_box > p {
  font-size: 14px;
}
#intent .section_inner .intent_contents .intent_box .intent_box_all {
  display: none;
}
#intent .section_inner .intent_contents .intent_box .intent_box_more {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 16px;
  width: fit-content;
  margin: 32px auto 0;
  cursor: pointer;
}
#intent .section_inner .intent_contents .intent_box .intent_box_more span:first-child {
  display: block;
  font-size: 16px;
  letter-spacing: 0.75px;
}
#intent .section_inner .intent_contents .intent_box .intent_box_more .more_icon {
  display: block;
  background: url(../images/icon-circle-black-plus.svg) no-repeat center / contain;
  width: 32px;
  height: 32px;
}
#intent .section_inner .intent_contents .intent_box .intent_box_more .more_icon.show {
  background: url(../images/icon-circle-black-minus.svg) no-repeat center / contain;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {


}

/* スマートフォン */
@media only screen and (max-width: 750px) {

  #intent .section_inner {
    padding: 96px 20px 0;
  }
  #intent .section_inner .intent_contents {
    flex-direction: column;
    row-gap: 20px;
  }
  #intent .section_inner .intent_contents .intent_box {
    width: 100%;
    padding: 32px 24px;
  }
  #intent .section_inner .intent_contents .intent_box > header {
    margin: 0 0 32px;
  }

}



/* FAQ
------------------------------------------------------------*/
#faq {
  position: relative;
  z-index: 2;
}
#faq .section_inner {
  display: flex;
  padding: 96px 0 48px;
}
#faq .section_inner .section_header {
  box-sizing: border-box;
  width: 39.6778%;
  padding: 0 32px;
}
#faq .section_inner .faq_contents {
  box-sizing: border-box;
  width: calc(100% - 39.6778%);
  padding: 0 32px 0 0;
}
#faq .section_inner .faq_contents dl .faq_q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 20px;
  font-size: 16px;
  letter-spacing: 0.75px;
  cursor: pointer;
}
#faq .section_inner .faq_contents dl .faq_q .faq_icon {
  flex-shrink: 0;
  display: block;
  background: url(../images/icon-circle-black-plus.svg) no-repeat center / contain;
  width: 32px;
  height: 32px;
  margin-left: 16px;
}
#faq .section_inner .faq_contents dl .faq_q.active .faq_icon {
  background: url(../images/icon-circle-black-minus.svg) no-repeat center / contain;
}
#faq .section_inner .faq_contents dl .faq_a {
  display: none;
  padding: 0 96px 20px 20px;
  font-size: 14px;
  letter-spacing: 0.75px;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {

  #faq .section_inner {
    flex-direction: column;
    padding: 50px 20px 0;
  }
  #faq .section_inner .section_header {
    width: 100%;
    padding: 0;
  }
  #faq .section_inner .faq_contents {
    width: 100%;
    padding: 32px 0 0;
  }
  #faq .section_inner .faq_contents dl .faq_q {
    padding: 24px 0;
  }
  #faq .section_inner .faq_contents dl .faq_a {
    padding: 0 0 20px;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {


}



/* Link
------------------------------------------------------------*/
#link {
  position: relative;
  z-index: 2;
}
#link .section_inner {
  display: flex;
  justify-content: space-between;
  padding: 48px 32px;
}
#link .section_inner .link_box {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  width: calc( calc(100% - 16px) / 2 );
}
#link .section_inner .link_box > figure {
  align-self: center;
}
#link .section_inner .link_box > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}
#link .section_inner .link_box > div > p {
  margin: 0 0 32px;
  font-size: 14px;
  letter-spacing: 0.75px;
  text-align: right;
}
#link .section_inner .link_box > div > .link_icon {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 32px;
  height: 32px;
}
#link .section_inner .link_box:first-child {
  background-color: #181717;
  padding: 32px 32px 32px 48px;
}
#link .section_inner .link_box:first-child > figure {
  width: 64px;
}
#link .section_inner .link_box:first-child > div > p {
  color: #FFF;
}
#link .section_inner .link_box:first-child > div > .link_icon {
  background-image: url(../images/arrow-circle-white-right1.svg);
}
#link .section_inner .link_box:last-child {
  background-color: #EEE;
  padding: 32px 32px 32px 48px;
}
#link .section_inner .link_box:last-child > figure {
  width: 241px;
}
#link .section_inner .link_box:last-child > div > .link_icon {
  background-image: url(../images/arrow-circle-white-right1.svg);
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {

  #link .section_inner {
    padding: 48px 20px 0;
  }
  #link .section_inner .link_box > div > p {
    font-size: 12px;
  }
  #link .section_inner .link_box:first-child {
    padding: 16px 20px 16px 24px;
  }
  #link .section_inner .link_box:first-child > figure {
    width: 38px;
  }
  #link .section_inner .link_box:last-child {
    padding: 16px 20px 16px 24px;
  }
  #link .section_inner .link_box:last-child > figure {
    width: 133px;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {

  #link .section_inner {
    flex-direction: column;
    padding: 48px 0 0;
  }
  #link .section_inner .link_box {
    width: 100%;
  }
  #link .section_inner .link_box:first-child {
    padding: 16px 32px 16px 48px;
  }
  #link .section_inner .link_box:first-child > figure {
    width: 64px;
  }
  #link .section_inner .link_box:last-child {
    padding: 16px 32px 16px 48px;
  }
  #link .section_inner .link_box:last-child > figure {
    width: auto;
    max-width: 241px;
  }
  #link .section_inner .link_box:last-child > div {
    flex-shrink: 0;
    margin-left: 16px;
  }

}



/* Entry Form
------------------------------------------------------------*/
#entry-form {
  position: relative;
  z-index: 2;
}
#entry-form .section_inner {
  display: flex;
  justify-content: space-between;
  padding: 96px 0 0;
}
#entry-form .section_inner .section_header {
  box-sizing: border-box;
  width: 39.6778%;
  max-width: calc(330px + 64px + 32px);
  padding: 0 64px 0 32px;
}
#entry-form .section_inner .section_header > h3 {
  margin: 125px 0 50px;
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.75px;
}
#entry-form .section_inner .section_header > p {
  font-size: 14px;
  letter-spacing: 0.75px;
}
#entry-form .section_inner .entry-form_contents {
  box-sizing: border-box;
  width: calc(100% - 39.6778%);
  padding: 0 32px 0 20px;
}
#entry-form .section_inner .entry-form_contents form dl {
  margin: 16px 0 0;
  padding: 0 0 16px;
}
#entry-form .section_inner .entry-form_contents form > div > dl:first-child,
#entry-form .section_inner .entry-form_contents form .half:first-child dl {
  margin-top: 0;
}
#entry-form .section_inner .entry-form_contents form dl dt {
  font-size: 14px;
  letter-spacing: 0.75px;
}
#entry-form .section_inner .entry-form_contents form dl dd {
  position: relative;
  margin: 6px 0 0;
}
#entry-form .section_inner .entry-form_contents form dl dd input[type="text"],
#entry-form .section_inner .entry-form_contents form dl dd input[type="email"],
#entry-form .section_inner .entry-form_contents form dl dd input[type="tel"] {
  box-sizing: border-box;
  background-color: #FFF;
  border: none;
  width: 100%;
  padding: 16px 10px;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.75px;
  color: #181717;
}
#entry-form .section_inner .entry-form_contents form dl dd input::placeholder {
  color: #757575;
}
#entry-form .section_inner .entry-form_contents form dl dd select {
  appearance: none;
  box-sizing: border-box;
  background-color: #FFF;
  border: none;
  width: 100%;
  padding: 16px 10px;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.75px;
  color: #181717;
  background-image: none;
  box-shadow: none;
  cursor: pointer;
}
#entry-form .section_inner .entry-form_contents form dl dd:has(select)::after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 9px);
  right: 16px;
  background: url(../images/arrow-circle-black-down2.svg) no-repeat center / contain;
  width: 18px;
  height: 18px;
}
#entry-form .section_inner .entry-form_contents form dl dd textarea {
  box-sizing: border-box;
  background-color: #FFF;
  border: none;
  width: 100%;
  height: 10.8em;
  padding: 16px 10px;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.75px;
  color: #181717;
}
#entry-form .section_inner .entry-form_contents form dl dd textarea::placeholder {
  color: #757575;
}
#entry-form .section_inner .entry-form_contents form dl dd input[type="radio"] {
  box-sizing: border-box;
  position: relative;
  background-color: #D9D9D9;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  margin: 0;
  vertical-align: -7px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
#entry-form .section_inner .entry-form_contents form dl dd input[type="radio"]:checked::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #181717;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  content: '';
}
#entry-form .section_inner .entry-form_contents form dl dd input[type="radio"] + label {
  margin-left: 12px;
  font-size: 14px;
  letter-spacing: 0.75px;
}
#entry-form .section_inner .entry-form_contents form dl dd input[type="radio"] + label + input[type="radio"] {
  margin-left: 47px;
}
#entry-form .section_inner .entry-form_contents form div input[type="checkbox"] {
  box-sizing: border-box;
  position: relative;
  width: 18px;
  height: 18px;
  border: 1px solid #181717;
  margin: 0;
  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
#entry-form .section_inner .entry-form_contents form div input[type="checkbox"]:checked::before {
  position: absolute;
  top: 1px;
  left: 4px;
  transform: rotate(50deg);
  width: 4px;
  height: 8px;
  border-right: 2px solid #181717;
  border-bottom: 2px solid #181717;
  content: '';
}
#entry-form .section_inner .entry-form_contents form div input[type="checkbox"] + label {
  margin-left: 12px;
  font-size: 14px;
  letter-spacing: 0.75px;
}
#entry-form .section_inner .entry-form_contents form div input[type="submit"] {
  display: inline-block;
  background-color: #FFF;
  border: 1px solid #181717;
  border-radius: 100vh;
  padding: 16px 32px;
  font-family: "Shippori Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 1.6px;
  color: #181717;
  cursor: pointer;
}
#entry-form .section_inner .entry-form_contents form .error_message {
  display: block;
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.75px;
  color: #DC3232;
}
#entry-form .section_inner .entry-form_contents .half {
  display: flex;
  justify-content: space-between;
}
#entry-form .section_inner .entry-form_contents .half dl {
  width: calc( calc(100% - 24px) / 2 );
}

#entry-form .section_inner .entry-form_contents .entry-form_block1 {
  border-bottom: 1px solid #757575;
  padding: 0 0 50px;
}
#entry-form .section_inner .entry-form_contents .entry-form_block2 {
  border-bottom: 1px solid #757575;
  margin: 50px 0 0;
  padding: 0 0 50px;
}
#entry-form .section_inner .entry-form_contents .entry-form_block3 {
  margin: 50px 0 0;
}
#entry-form .section_inner .entry-form_contents .entry-form_block4 {
  margin: 50px 0 0;
}
#entry-form .section_inner .entry-form_contents .entry-form_block4 .entry-form_agree2 p {
  margin: 32px 0 16px;
  font-size: 14px;
  letter-spacing: 0.75px;
}
#entry-form .section_inner .entry-form_contents .entry-form_block5 {
  margin: 50px 0 0;
  padding: 16px 0 20px;
}
#entry-form .section_inner .entry-form_contents .entry-form_block5 .submit_btn {
  margin: 0 0 32px;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {

  #entry-form .section_inner .section_header {
    max-width: none;
    padding: 0 20px;
  }
  #entry-form .section_inner .section_header > h3 {
    margin: 48px 0 32px;
  }
  #entry-form .section_inner .entry-form_contents {
    padding: 0 20px;
  }
  #entry-form .section_inner .entry-form_contents .half {
    display: block;
  }
  #entry-form .section_inner .entry-form_contents .half dl {
    width: 100%;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {

  #entry-form .section_inner {
    flex-direction: column;
  }
  #entry-form .section_inner .section_header {
    width: 100%;
    max-width: none;
  }
  #entry-form .section_inner .section_header > h3 {
    font-size: 32px;
  }
  #entry-form .section_inner .entry-form_contents {
    width: 100%;
    padding: 48px 20px 0;
  }
  #entry-form .section_inner .entry-form_contents form div input[type="submit"] {
    box-sizing: border-box;
    display: block;
    width: 100%;
  }

}



/* フッター
------------------------------------------------------------*/
#footer {
  position: relative;
  z-index: 2;
  margin: 120px 0 0;
}
#footer .footer_inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 96px 0 48px;
}
#footer .footer_inner .logo {
  box-sizing: border-box;
  width: 241px;
  padding: 0 0 0 32px;
}
#footer .footer_inner .footer_box {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(100% - 39.6778%);
  padding: 0 32px 0 20px;
}
#footer .footer_inner .footer_box .footer_menu {
  display: flex;
  column-gap: 32px;
}
#footer .footer_inner .footer_box .footer_menu li {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.75px;
}
#footer .footer_inner .footer_box .pagetop a {
  display: block;
  background: url(../images/arrow-circle-black-up1.svg) no-repeat center / contain;
  width: 32px;
  height: 32px;
}


/* パソコン・画面幅狭い時 */
@media only screen and (max-width: 1200px) {


}

/* タブレット */
@media only screen and (max-width: 960px) {

  #footer {
    margin: 96px 0 0;
  }
  #footer .footer_inner {
  }
  #footer .footer_inner .logo {
    padding: 0 0 0 20px;
  }
  #footer .footer_inner .footer_box {
    padding: 0 20px;
  }

}

/* スマートフォン */
@media only screen and (max-width: 750px) {

  #footer .footer_inner {
    flex-wrap: wrap;
    padding: 48px 20px 20px;
  }
  #footer .footer_inner .logo {
    order: 1;
    padding: 0;
  }
  #footer .footer_inner .footer_box {
    display: contents;
  }
  #footer .footer_inner .footer_box .footer_menu {
    order: 3;
    justify-content: space-between;
    column-gap: normal;
    width: 100%;
    margin-top: 96px;
  }
  #footer .footer_inner .footer_box .pagetop {
    order: 2;
  }

}
