@charset "UTF-8";

/* ====================
  ボタン
==================== */
.btn-items {
  display: flex;
  flex-wrap: wrap;
  margin: -16px;
}

.btn-items.--narrow {
  margin: -8px;
}

.btn-item {
  width: 100%;
  padding: 16px;
}

.btn-items.--narrow .btn-item {
  padding: 8px;
}

.btn-item.--half {
  width: 50%;
}

.btn-item.--one-third {
  width: calc(100% / 3);
}

.btn-item.--one-quarter {
  width: 25%;
}

.btn-item__link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 16px 0;
  color: #1c1c1c;
  text-align: center;
  text-decoration: none;
  border: 2px solid #2b2b2b;
  transition: color 0.5s;
}

.btn-item__link::after {
  position: absolute;
  top: 0;
  right: 16px;
  bottom: 0;
  display: block;
  width: 24px;
  height: 24px;
  margin: auto;
  content: "";
  background: center center no-repeat;
  background-size: contain;
}

.btn-item__link.--right::after {
  background-image: url(../img/common/icon_right_black.svg);
}

.btn-item__link.--down::after {
  background-image: url(../img/common/icon_down_black.svg);
}

.btn-item__link.--new-window::after {
  background-image: url(../img/common/icon_new_window_black.png);
}

.btn-item__link.--current {
  color: #fff;
  pointer-events: none;
  background: #2b2b2b;
}

.btn-item__link.--current::after {
  background-image: url(../img/common/icon_down_white.svg);
}

.btn-item__link > span {
  display: block;
}

.btn-item__link:hover {
  color: #d0111b;
}

.btn-item.--half .btn-item__link {
  max-width: 428px;
}

.btn-item.--half:nth-child(odd) .btn-item__link {
  margin-left: auto;
}

.btn-item__link.--small .font-en-link {
  font-size: 22px;
  letter-spacing: 0;
}

.btn-item__link > .font-jp-s {
  line-height: 1.3;
}

/* ====================
  無料カウンセリング
==================== */
.free-counseling {
  padding: 48px 24px;
  text-align: center;
  border: 4px solid #1c1c1c;
}

.free-counseling__btn {
  display: flex;
  justify-content: center;
}

/* ====================
  ヒーローエリア
==================== */
.price_fukuoka_hero::before {
  content: "";
  width: 100%;
  height: 600px;
  background-image: url(../img/price_fukuoka/hero.jpg);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -1;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #000;
  opacity: 0.7;
}

.top-lead, .top-program, .top-location, .top-activity, .top-magazine, section {
  background-color: #FFF;
}

.hero {
  position: relative;
  height: 600px;
}

.hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 100%;
}

.hero__title {
  color: #fff;
}

.hero__title > span {
  display: block;
}

.hero__title > span:last-child {
  margin-top: 30px;
}

.hero__reserve {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
}

.hero__reserve-btn {
  position: absolute;
  right: 0;
  bottom: -115px;
  display: block;
  width: 230px;
  height: 230px;
  text-decoration: none;
  transition: opacity 0.5s;
}

.hero__reserve-btn:hover {
  opacity: 0.7;
}

.hero__reserve-btn > img {
  width: 100%;
}

.hero__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.hero__bg > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
}

/* ====================
  テーブル
==================== */
.information-table--top-border {
  border-top: 1px solid #dfdfdf;
}

.information-table__dl {
  position: relative;
  display: flex;
  padding: 24px;
  border-bottom: 1px solid #dfdfdf;
}

/*
.information-table__dl::before {
  position: absolute;
  bottom: -1px;
  left: 0;
  display: block;
  width: 40%;
  height: 1px;
  content: "";
  background: #a2a2a2;
}
*/

.information-table--dt-wide .information-table__dl::before {
  /*
  width: 380px;
  */
  width: 40%;
}

.information-table__dt {
  flex-shrink: 0;
  width: 160px;
  height: 100%;
  padding-right: 12px;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.05em;
}

.information-table--dt-wide .information-table__dt {
  width: 360px;
}

.information-table__dd {
  flex: 1 1 auto;
  height: 100%;
  font-weight: 400;
}

.information-table__dd--right {
  text-align: right;
}

.information-table__dd > b {
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

/* ====================
  リード
==================== */
.lead {
  overflow: hidden;
}

.lead__heading.--bg-text {
  position: relative;
  padding-top: 80px;
}

.lead__bg-text {
  position: absolute;
  z-index: -1;
  color: #f6f6f6;
  word-break: keep-all;
  white-space: nowrap;
}

.lead__bg-text.--top {
  top: -0.2em;
  left: 15%;
}

.lead__bg-text.--bottom {
  top: 0.8em;
  right: 15%;
}

/* ====================
  数字つきリスト
==================== */
.number-list__item {
  position: relative;
  padding-left: 2.5em;
}

.number-list__num {
  position: absolute;
  top: 0;
  left: 1.5%;
}

/* ====================
  料金
==================== */
.price__figure {
  display: flex;
}

.price__figure-item {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 25%;
  padding: 48px 8px 30px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  background: linear-gradient(#d0111b, #af0b14);
}

.price__figure-item.--gray {
  background: linear-gradient(#616161, #080808);
}

.price__figure-num {
  position: absolute;
  top: 4px;
  left: 16px;
  font-family: "gothic-b", "Century Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN",
    "Yu Gothic", "Meiryo", sans-serif;
  font-size: 40px;
}

.price__figure-en {
  font-family: "gothic-b", "Century Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN",
    "Yu Gothic", "Meiryo", sans-serif;
}

.price__figure-jp {
  margin-top: 12px;
  font-size: 22px;
}

.price__figure-sign {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: 1.7vw;
  padding: 12px;
  font-weight: 700;
  text-align: center;
}

.price__figure-note {
  margin-top: 16px;
  font-size: 16px;
  font-weight: normal;
}

.price__heading {
  position: relative;
  padding: 16px 16px 16px 80px;
  font-size: 30px;
  font-weight: bold;
  color: #fff;
  background: #d0111b;
}

.price__heading > span {
  position: absolute;
  top: 16px;
  left: 24px;
}

.price__heading.--secondary {
  background: #2b2b2b;
}

.price__heading.--gray {
  background: #8c8c8c;
}

.price__heading.--no-num {
  padding-left: 16px;
}

/* 追加 */
.information-table-fukuoka{
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  border-top: 1px solid #dfdfdf;
}

.information-table-fukuoka ul{
  width: 100%;
  border-right: 1px solid #dfdfdf;
  border-left: 1px solid #dfdfdf;
  display: flex;
  justify-content: space-between;
}

.information-table-fukuoka ul li{
  width: 50%;
  padding: 0.5% 0;
  text-align: center;
  border-bottom: 1px solid #dfdfdf;
}

.information-table-fukuoka ul li:nth-child(1){
  border-right: 1px solid #dfdfdf;
}

.information-table-fukuoka ul.title li:nth-child(1){
  background-color: #d8c056;
  color: #FFF;
}

.information-table-fukuoka ul.title li:nth-child(2){
  background-color: #d0111b;
  color: #FFF;
}

.price-fukuoka-7month-table{
  width: 100%;
  height: auto;
}

.price-fukuoka-7month-table table{
  width: 100%;
  height: auto;
}

.price-fukuoka-7month-table tr th{
  width: 25%;
  text-align: center;
  padding: 0.5% 0;
  color: #FFF;
  border: 1px solid #dfdfdf;
}

.price-fukuoka-7month-table tr th:nth-child(1){
  background-color: #FFF;
}

.price-fukuoka-7month-table tr th:nth-child(2){
  background-color: #d8c056;
}

.price-fukuoka-7month-table tr th:nth-child(3){
  background-color: #babfc5;
}

.price-fukuoka-7month-table tr th:nth-child(4){
  background-color: #d0111b;
}

.price-fukuoka-7month-table tr td{
  width: 25%;
  padding: 0.5% 0;
  text-align: center;
  border: 1px solid #dfdfdf;
  vertical-align: middle;
}

.price-fukuoka-7month-table tr td:nth-child(1){
  background-color: #FFF;
}
