@charset "UTF-8";
@import url(all.css);
/* ###################### */
/* ######## 変数 ######## */
/* ###################### */
/* カラー */
/* パターン */
/* 書式 */
/* ###################### */
/* ######## 関数 ######## */
/* ###################### */
/*===============================================
  切り替え用
===============================================*/
.pc-none {
  display: none !important;
}

a[href^="tel:"] {
  pointer-events: none;
}

/*===============================================
  ページネーション
===============================================*/
.pagenation {
  padding-top: 48px;
}
.pagenation li {
  width: 36px;
  font-size: 1.6rem;
  line-height: 40px;
  margin: 5px 4px 0;
}

/*===============================================
  詳細ページ前後
===============================================*/
.paginated-link {
  padding-top: 24px;
  margin-top: 32px;
}
.paginated-link li {
  width: 110px;
}
.paginated-link li a {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0em;
}
.paginated-link li.prev-link a::before {
  margin-right: 16px;
}
.paginated-link li.next-link a::after {
  margin-left: 16px;
}

/*===============================================
  wrapper
===============================================*/
#wrapper {
  min-width: 1280px;
}

/*===============================================
  header
===============================================*/
#header .h-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1920px;
  padding: 20px 30px 0;
}
/*===============================================
  footer
===============================================*/
#footer {
  border-top-width: 5px;
  padding: 50px 0 13px;
}
#footer .f-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#footer .f-oth > * {
  margin-bottom: 20px;
}
#footer .f-oth > *:last-child {
  margin-bottom: 0;
}
#footer .f-logo {
  padding-bottom: 20px;
}
#footer .f-mail {
  width: 380px;
}
#footer .f-sns {
  padding-bottom: 223px;
}

/*フッターナビ
-----------------------------*/
.fnav {
  width: 1080px;
  margin: 0 auto;
  position: relative;
  z-index: 6;
}
.fnav .fnav-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  width: calc(50% - 90px);
  max-height: 210px;
  margin: -10px 0 -9px;
  position: absolute;
  right: -50px;
  bottom: 0;
}
.fnav .fnav-list-item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  line-height: 2.1875;
  margin-right: 50px;
}
.fnav .fnav-list-item::before {
  content: "－";
  display: block;
  color: #e60e79;
  margin-right: 0.25em;
}
.fnav .fnav-list-item a {
  display: block;
  margin-right: -0.06em;
  transition: all 0.12s;
}
.fnav .fnav-list-item a:hover {
  text-decoration: none;
  color: #e60e79;
}
.fnav .fnav-list-item.current a {
  color: #e60e79;
}

/*コピーライト
-----------------------------*/
.copy {
  padding-top: 57px;
}
.copy p {
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  line-height: 1.83334;
}

/*===============================================
  fixed固定
===============================================*/
/*ページトップ
-----------------------------*/
#pagetop {
  bottom: 10px;
  right: 10px;
}

/*サイドボタン
-----------------------------*/
#side {
  bottom: 10px;
  right: 10px;
}

/*===============================================
  visual
===============================================*/
/*メインビジュアル
-----------------------------*/
.main-visual {
  height: clamp(700px, 40.625vw + 120px, 900px);
  padding-top: 124px;
}
.main-visual .catch {
  width: 66.66667%;
  min-width: 1080px;
  max-width: 1280px;
  filter: drop-shadow(0 0 clamp(30px, 2.0833333333vw, 40px) rgba(0, 0, 0, 0.29));
}
.main-visual .catch img {
  width: clamp(330px, 25.8333333333vw, 496px);
}

/*サブビジュアル
-----------------------------*/
.sub-visual {
  height: clamp(420px, 22.917vw + 120px, 560px);
  padding-top: 100px;
}
.sub-visual .catch {
  width: 1080px;
}
.sub-visual .catch > span {
  font-size: clamp(3rem, 2.0833333333vw, 4rem);
  letter-spacing: 0.04em;
}
.sub-visual .catch > span.en {
  margin: -0.1em 0 0.35em;
  text-shadow: 0 0 40px rgba(13, 13, 13, 0.29);
}
.sub-visual .catch > span.txt {
  line-height: 1.55;
  padding: 0 calc(20px - 0.04em) 0 20px;
  box-shadow: 0 0 clamp(30px, 2.0833333333vw, 40px) rgba(13, 13, 13, 0.29);
}

/*===============================================
  グローバルナビ
===============================================*/
#nav {
  background-color: #0d0d0d;
  padding: 16px 0;
}
#nav .gnav-list {
  display: flex;
  justify-content: center;
  align-items: center;
}
#nav .gnav-list-item {
  margin-right: 45px;
}
#nav .gnav-list-item:last-of-type {
  margin-right: 0;
}
#nav .gnav-list-item a {
  display: block;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0;
  line-height: 1;
  transition: all 0.12s;
}
#nav .gnav-list-item a > span {
  display: block;
}
#nav .gnav-list-item a > span.en {
  color: #e60e79;
  font-size: 1rem;
  letter-spacing: 0.04em;
  margin-right: -0.04em;
  margin-bottom: 0.5em;
}
#nav .gnav-list-item a > span.txt {
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  margin-right: -0.1em;
}
#nav .gnav-list-item a:hover {
  text-decoration: none;
  color: #f2f200;
}
#nav .gnav-list-item.current a {
  color: #f2f200;
}

/*===============================================
  main#container
===============================================*/
#container {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.04em;
}

/*===============================================
  パンくずリスト
===============================================*/
.bread {
  height: 40px;
}
.bread .breadcrumbs {
  width: 1080px;
}
.bread .breadcrumbs li {
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.71429;
}

/*===============================================
  main共通
===============================================*/
.inbox {
  width: 1080px;
}

/*電話番号
-----------------------------*/
.com-tels .txt {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  margin-bottom: 20px;
}
.com-tels .txt dt {
  margin-right: 0.25em;
}
.com-tels .com-tel {
  font-size: 3rem;
  letter-spacing: 0.025em;
}
.com-tels .com-tel::before {
  font-size: 0.6666667em;
  margin-right: 0.25em;
}
.com-tels .com-tel::after {
  font-size: 0.6666667em;
  margin-left: 0.25em;
}
.com-tels .com-tel a {
  margin: -5px 0 -1px;
}
.com-tels .com-replace {
  margin-top: 10px;
}
.com-tels .com-replace img {
  height: 16px;
}
.com-tels.f-tels {
  align-items: flex-start;
}

/*SNS
-----------------------------*/
.com-sns li {
  margin-right: 20px;
}
.com-sns li:last-of-type {
  margin-right: 0;
}
.com-sns li:not(.logo) {
  width: 40px;
}
.com-sns li.logo {
  padding-left: 10px;
}

/*ボタン
-----------------------------*/
.com-btn {
  width: 310px;
  height: 60px;
}
.com-btn::before {
  -webkit-clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
          clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
}
.com-btn a {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
.com-btn a::before {
  -webkit-clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
          clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
}
.com-btn a::after {
  width: 28px;
  height: 2px;
}

/*テーブル
-----------------------------*/
.com-table {
  line-height: 1.875;
}
.com-table tr th {
  text-align: center;
  vertical-align: middle;
  width: 330px;
  padding: 15px 0;
}
.com-table tr td {
  padding: 15px 50px;
  border-right: solid 1px #a6a6a6;
}

/*テキストボックス
-----------------------------*/
.com-text-box {
  margin: -8px 0;
}
.com-text-box p {
  margin-right: -0.04em;
}
.com-text-box .mb {
  margin-bottom: 20px;
}

/*SB未記入テキスト
-----------------------------*/
.com-no-txt {
  font-size: 2.4rem;
  line-height: 1.66667;
  padding: 60px 0;
}

/*===============================================
  タイトル
===============================================*/
/*大タイトル
-----------------------------*/
.com-ttl01 {
  margin-bottom: 50px;
}
.com-ttl01 .en {
  font-size: 8rem;
  line-height: 1.0625;
  margin: -0.2em 0 calc(27px - 0.075em);
}
.com-ttl01 > span:not(.en) {
  font-size: 3rem;
  letter-spacing: 0.04em;
  margin-right: -0.04em;
}
.com-ttl01::after {
  width: 40px;
  height: 4px;
  margin-top: 34px;
}
.com-ttl01.le {
  align-items: flex-start;
  text-align: left;
}

/*中タイトル
-----------------------------*/
.com-ttl02 {
  margin-bottom: 40px;
}
.com-ttl02 > span {
  font-size: 3.4rem;
  line-height: 1.41177;
  letter-spacing: 0.04em;
  margin: -7px -0.04em -7px;
}

/*小タイトル
-----------------------------*/
.com-ttl03 {
  font-size: 2.5rem;
  line-height: 1.28;
  letter-spacing: 0.04em;
  padding: 4px 0 4px 15px;
  border-left-width: 5px;
  margin-bottom: 20px;
}

/*===============================================
  共通セクション
===============================================*/
/*お問い合わせ
-----------------------------*/
.com-contact-sec {
  padding: 115px 0 110px;
}
.com-contact-sec .contact-box {
  padding: 78px 60px 76px;
}
.com-contact-sec .contact-box .box-text {
  text-align: center;
}
.com-contact-sec .contact-box .box-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.com-contact-sec .contact-box .box-links li {
  width: auto;
  min-width: 270px;
  margin: 30px 10px 0;
}
.com-contact-sec .contact-box .box-links li a {
  padding: 0 40px;
}
.com-contact-sec .contact-box .box-tels {
  padding-top: 30px;
}
.com-contact-sec.top-contact {
  padding: 180px 0 195px;
}
.com-contact-sec.top-contact::before {
  height: calc(100% + 74px);
  -webkit-clip-path: polygon(0 0, 32.5% 157px, 32.5% 50%, 100% 50%, 100% 100%, 67.5% calc(100% - 157px), 67.5% 50%, 0 50%);
          clip-path: polygon(0 0, 32.5% 157px, 32.5% 50%, 100% 50%, 100% 100%, 67.5% calc(100% - 157px), 67.5% 50%, 0 50%);
  top: -32px;
}
.com-contact-sec.top-contact::after {
  -webkit-clip-path: polygon(0 120px, 100% 0, 100% calc(100% - 120px), 0 100%);
          clip-path: polygon(0 120px, 100% 0, 100% calc(100% - 120px), 0 100%);
}
.com-contact-sec.company-contact, .com-contact-sec.voice-contact {
  padding-top: 160px;
}
.com-contact-sec.company-contact::before, .com-contact-sec.voice-contact::before {
  height: 157px;
  top: -37px;
}
.com-contact-sec.company-contact::after, .com-contact-sec.voice-contact::after {
  -webkit-clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 100%);
}

/*スケジュール・練習場
-----------------------------*/
.com-schedule-sec {
  padding: 150px 0;
}
.com-schedule-sec .schedule-box {
  margin-bottom: 40px;
}
.com-schedule-sec .schedule-table td,
.com-schedule-sec .schedule-box .box-table td {
  text-align: center;
  vertical-align: middle;
  width: 375px;
  padding: 15px 20px;
}

/*料金
-----------------------------*/
.com-fee-sec {
  padding: 100px 0;
}
.com-fee-sec::before {
  height: 151px;
}
.com-fee-sec::after {
  height: 121px;
}
.com-fee-sec .fee-list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
}
.com-fee-sec .fee-list::before {
  font-size: 1.8rem;
  line-height: 1;
}
.com-fee-sec .fee-list-item {
  width: 340px;
  margin-top: 20px;
  margin-right: 30px;
}
.com-fee-sec .fee-list-item:nth-of-type(3n), .com-fee-sec .fee-list-item:last-of-type {
  margin-right: 0;
}
.com-fee-sec .fee-list-item dt {
  font-size: 2.5rem;
  line-height: 1.2;
  padding: 15px;
}
.com-fee-sec .fee-list-item dd {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  font-size: 3rem;
  line-height: 1.2;
  padding: 20px;
}
.com-fee-sec .fee-list-item dd .min {
  font-size: 0.6em;
  line-height: 1.33334;
}

/*生徒様の声
-----------------------------*/
.com-voice-sec {
  padding: 160px 0 100px;
}
.com-voice-sec::before {
  height: 157px;
  top: -37px;
}
.com-voice-sec::after {
  -webkit-clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 100%);
}
.com-voice-sec .voice-list-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 60px;
  margin-bottom: 50px;
}
.com-voice-sec .voice-list-box::before {
  width: 31.297%;
  -webkit-clip-path: polygon(0 0, 66.5681% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 66.5681% 0, 100% 100%, 0 100%);
}
.com-voice-sec .voice-list-box::after {
  height: 72.6316%;
}
.com-voice-sec .voice-list-box .box-img {
  width: 340px;
}
.com-voice-sec .voice-list-box .box-in {
  width: calc(100% - 390px);
}
.com-voice-sec .voice-list-box .box-status {
  line-height: 1.375;
  margin-bottom: 30px;
}
.com-voice-sec .voice-list-box .box-status li {
  margin-right: 1em;
}
.com-voice-sec .voice-list-box .box-status .tag {
  padding: 0 10px;
}
.com-voice-sec .voice-list-box .box-text {
  margin: -8px 0;
}
.com-voice-sec .voice-btn {
  margin: 60px auto 0;
}

/*===============================================
  トップページ
===============================================*/
.top .com-ttl01 .en {
  font-size: 10rem;
  line-height: 1;
  letter-spacing: 0.025em;
  margin: -0.17em -0.025em calc(24px - 0.05em) 0;
}

/*松ヶ崎FCについて
-----------------------------*/
.top-about {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.top-about .about-in {
  width: calc(50% + 110px);
  min-height: 780px;
  padding: 100px 0 100px calc(50% - 540px);
}
.top-about .about-in::before {
  width: calc(100% + 120px);
  height: 100%;
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 120px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, calc(100% - 120px) 100%, 0 100%);
  background-position: right 426px top 130px;
}
.top-about .about-btn {
  margin-top: 50px;
}
.top-about .about-img {
  width: calc(50% - 110px);
}
.top-about .about-img div {
  height: calc(100% - 50px);
}
.top-about .about-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*マンガ
-----------------------------*/
.top-comic {
  padding: 100px 0 160px;
}
.top-comic::before {
  height: calc(100% + 50px);
  top: -50px;
}

/*クラス・スクール
-----------------------------*/
.top-school {
  padding: 60px 0 110px;
}
.top-school::before {
  height: 151px;
}
.top-school::after {
  height: 121px;
}
.top-school .school-list-box {
  min-height: 400px;
  padding-top: 40px;
  margin-bottom: 60px;
  position: relative;
  z-index: 0;
}
.top-school .school-list-box .box-in {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 630px;
  min-height: 400px;
  padding: 60px 90px;
}
.top-school .school-list-box .box-in::before {
  -webkit-clip-path: polygon(90px 0, 100% 0, calc(100% - 90px) 100%, 0 100%);
          clip-path: polygon(90px 0, 100% 0, calc(100% - 90px) 100%, 0 100%);
}
.top-school .school-list-box .box-text {
  text-align: center;
}
.top-school .school-list-box .box-btn {
  margin: 40px auto 0;
}
.top-school .school-list-box .box-img {
  width: calc(50vw - 70px);
  min-width: 570px;
  max-width: 890px;
  position: absolute;
  top: 0;
  z-index: 0;
}
.top-school .school-list-box .box-img div {
  height: 400px;
}
.top-school .school-list-box .box-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-school .school-list-box:nth-of-type(2n + 1) .box-in {
  margin-left: 40px;
}
.top-school .school-list-box:nth-of-type(2n + 1) .box-img {
  left: calc(50% + 70px);
}
.top-school .school-list-box:nth-of-type(2n + 1) .box-img div {
  -webkit-clip-path: polygon(90px 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(90px 0, 100% 0, 100% 100%, 0 100%);
}
.top-school .school-list-box:nth-of-type(2n) .box-in {
  margin-left: auto;
  margin-right: 40px;
}
.top-school .school-list-box:nth-of-type(2n) .box-img {
  right: calc(50% + 70px);
}
.top-school .school-list-box:nth-of-type(2n) .box-img div {
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 90px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, calc(100% - 90px) 100%, 0 100%);
}

/*リンクセクション
-----------------------------*/
.top-links {
  padding: 120px 0;
}
.top-links .links-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: -60px;
}
.top-links .links-list-item {
  width: calc(50% - 20px);
  height: 120px;
  margin-top: 60px;
  margin-right: 40px;
}
.top-links .links-list-item:nth-of-type(2n), .top-links .links-list-item:last-of-type {
  margin-right: 0;
}
.top-links .links-list-item::before {
  -webkit-clip-path: polygon(40px 0, 100% 0, calc(100% - 40px) 100%, 0 100%);
          clip-path: polygon(40px 0, 100% 0, calc(100% - 40px) 100%, 0 100%);
}
.top-links .links-list-item a::before {
  -webkit-clip-path: polygon(40px 0, 100% 0, calc(100% - 40px) 100%, 0 100%);
          clip-path: polygon(40px 0, 100% 0, calc(100% - 40px) 100%, 0 100%);
}
.top-links .links-list-item a::after {
  width: 48px;
}
.top-links .links-list-item a .en {
  margin-bottom: 1em;
}
.top-links .links-list-item a .txt {
  font-size: 2.4rem;
}
.top-links + .top-news {
  margin-top: -120px;
}

/*お知らせ
-----------------------------*/
.top-news {
  padding: 100px 0 90px;
}
.top-news .news-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
}
.top-news .news-ttl {
  margin-bottom: 0;
  order: 0;
}
.top-news .news-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  order: 2;
}
.top-news .news-list .list-item {
  width: 340px;
  padding-bottom: 17px;
  margin-top: 50px;
  margin-right: 30px;
}
.top-news .news-list .list-item:nth-of-type(3n), .top-news .news-list .list-item:last-of-type {
  margin-right: 0;
}
.top-news .news-list .list-item .item-img {
  margin-bottom: 15px;
}
.top-news .news-list .list-item .item-img div {
  width: 100%;
  height: 0;
  padding-top: 85.2941176471%;
  position: relative;
  z-index: 0;
}
.top-news .news-list .list-item .item-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.top-news .news-list .list-item .item-in {
  line-height: 1.625;
}
.top-news .news-list .list-item .date {
  padding-right: 10px;
}
.top-news .news-list .list-item .tag {
  max-width: calc(100% - 100px);
}
.top-news .news-list .list-item .item-ttl {
  margin-top: 4px;
}
.top-news .news-btn {
  order: 1;
}

/*協力会社様
-----------------------------*/
.top-partner {
  padding: 58px 0 100px;
}
.top-partner .partner-links-wrap {
  padding: 30px 70px 35px;
}
.top-partner .partner-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.top-partner .partner-links li {
  margin: 30px 15px 0;
}

/*===============================================
  松ヶ崎FCについて
===============================================*/
/*代表紹介
-----------------------------*/
.about-greeting {
  padding: 140px 0 165px;
}
.about-greeting::after {
  width: 110%;
  max-width: 1750px;
  padding-top: min(615px, 32.03125%);
  bottom: 120px;
}
.about-greeting .greeting-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
}
.about-greeting .greeting-box .box-img {
  width: 610px;
  margin-right: -100px;
}
.about-greeting .greeting-box .box-img div {
  -webkit-clip-path: polygon(100px 0, 100% 0, calc(100% - 100px) 100%, 0 100%);
          clip-path: polygon(100px 0, 100% 0, calc(100% - 100px) 100%, 0 100%);
}
.about-greeting .greeting-box .box-in {
  width: 520px;
}
.about-greeting .greeting-box .box-ttl {
  padding: 0 30px;
  margin-bottom: 30px;
}
.about-greeting .greeting-box .box-ttl > span {
  line-height: 1.76471;
  margin: 0;
}
.about-greeting .greeting-box .box-ttl .min {
  font-size: 2.6rem;
  line-height: 1;
  margin-right: 1em;
}
.about-greeting .greeting-box .box-text {
  margin: -8px 0;
}

/*コーチ紹介
-----------------------------*/
.about-coach {
  padding: 113px 0 110px;
}
.about-coach::before {
  height: 151px;
}
.about-coach::after {
  height: 121px;
}
.about-coach .coach-list-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 60px;
  margin-bottom: 50px;
}
.about-coach .coach-list-box::before {
  width: 31.297%;
  -webkit-clip-path: polygon(0 0, 66.5681% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 66.5681% 0, 100% 100%, 0 100%);
}
.about-coach .coach-list-box::after {
  height: 72.6316%;
}
.about-coach .coach-list-box > * {
  width: 460px;
}
.about-coach .coach-list-box .box-ttl .label {
  font-size: 2.2rem;
  line-height: 1.45455;
  letter-spacing: 0;
  padding: 0 13px;
  margin: 0 0 16px;
}
.about-coach .coach-list-box .box-text {
  margin: -8px 0;
}

/*松ヶ崎FCの特徴
-----------------------------*/
.about-feature {
  padding: 164px 0 105px;
}
.about-feature::before {
  height: 157px;
  top: -37px;
}
.about-feature::after {
  -webkit-clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 100%);
}
.about-feature .feature-list-box {
  min-height: 400px;
  padding-top: 40px;
  margin-bottom: 60px;
  position: relative;
  z-index: 0;
}
.about-feature .feature-list-box .box-in {
  width: 770px;
  min-height: 400px;
  padding: 74px 135px 35px;
}
.about-feature .feature-list-box .box-in::before {
  -webkit-clip-path: polygon(90px 0, 100% 0, calc(100% - 90px) 100%, 0 100%);
          clip-path: polygon(90px 0, 100% 0, calc(100% - 90px) 100%, 0 100%);
}
.about-feature .feature-list-box .box-num {
  font-size: 5.5rem;
  letter-spacing: -0.02em;
  left: 135px;
  top: -30px;
}
.about-feature .feature-list-box .box-num .b {
  font-size: 6.8rem;
  margin-left: 0.25em;
}
.about-feature .feature-list-box .box-ttl > span {
  font-size: 3rem;
  line-height: 1.6;
  margin: -9px 0;
}
.about-feature .feature-list-box .box-text p {
  display: inline;
}
.about-feature .feature-list-box .box-img {
  width: calc(50vw - 70px);
  min-width: 570px;
  max-width: 890px;
  position: absolute;
  top: 0;
  z-index: 0;
}
.about-feature .feature-list-box .box-img div {
  height: 400px;
}
.about-feature .feature-list-box .box-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.about-feature .feature-list-box:nth-of-type(2n + 1) .box-in {
  margin-left: -100px;
}
.about-feature .feature-list-box:nth-of-type(2n + 1) .box-img {
  left: calc(50% + 70px);
}
.about-feature .feature-list-box:nth-of-type(2n + 1) .box-img div {
  -webkit-clip-path: polygon(90px 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(90px 0, 100% 0, 100% 100%, 0 100%);
}
.about-feature .feature-list-box:nth-of-type(2n) .box-in {
  margin-left: auto;
  margin-right: -80px;
}
.about-feature .feature-list-box:nth-of-type(2n) .box-img {
  right: calc(50% + 70px);
}
.about-feature .feature-list-box:nth-of-type(2n) .box-img div {
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 90px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, calc(100% - 90px) 100%, 0 100%);
}

/*===============================================
  育成クラス
===============================================*/
/*育成クラスについて
-----------------------------*/
.training-about {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.training-about .about-in {
  width: calc(50% + 110px);
  min-height: 780px;
  padding: 152px 0 120px calc(50% - 540px);
}
.training-about .about-in::before {
  width: calc(100% + 120px);
  height: 100%;
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 120px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, calc(100% - 120px) 100%, 0 100%);
  background-position: right 655px top 177px;
}
.training-about .about-text {
  max-width: 635px;
}
.training-about .about-img {
  width: calc(50% - 110px);
}
.training-about .about-img div {
  height: calc(100% - 50px);
}
.training-about .about-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.training-about + .com-schedule-sec {
  margin-top: -50px;
}

/*===============================================
  スクール
===============================================*/
/*スクールについて
-----------------------------*/
.school-about {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.school-about .about-in {
  width: calc(50% + 110px);
  min-height: 810px;
  padding: 140px 0 120px calc(50% - 540px);
}
.school-about .about-in::before {
  width: calc(100% + 120px);
  height: 100%;
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 120px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, calc(100% - 120px) 100%, 0 100%);
  background-position: right 655px top 155px;
}
.school-about .about-text {
  max-width: 635px;
}
.school-about .about-img {
  width: calc(50% - 110px);
}
.school-about .about-img div {
  height: calc(100% - 50px);
}
.school-about .about-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left center;
     object-position: left center;
}
.school-about + .com-schedule-sec {
  margin-top: -50px;
}

/*===============================================
  単発スクール
===============================================*/
/*単発スクールについて
-----------------------------*/
.single-about {
  padding: 137px 0 108px;
}
.single-about .about-text {
  text-align: center;
}
.single-about .about-box {
  padding: 60px;
  margin-top: 50px;
}
.single-about .about-box::before {
  width: 31.297%;
  max-height: 380px;
  -webkit-clip-path: polygon(0 0, 66.5681% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 66.5681% 0, 100% 100%, 0 100%);
}
.single-about .about-box::after {
  height: 72.6316%;
  max-height: 278px;
}
.single-about .about-box .box-in {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
}
.single-about .about-box .box-img {
  width: 340px;
}
.single-about .about-box .box-text {
  width: calc(100% - 390px);
}
.single-about .about-box .box-text .text-in {
  margin: -8px 0;
}
.single-about .about-box .box-list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  padding-top: 10px;
}
.single-about .about-box .box-list .list-item {
  width: 465px;
  padding: 30px;
  margin-top: 30px;
  margin-right: 30px;
}
.single-about .about-box .box-list .list-item:nth-of-type(2n), .single-about .about-box .box-list .list-item:last-of-type {
  margin-right: 0;
}
.single-about .about-box .box-list .list-item dt {
  font-size: 2.5rem;
  line-height: 1.4;
  margin: -5px 0 15px;
}
.single-about .about-box .box-list .list-item dd {
  font-size: 2.5rem;
  line-height: 1.4;
  margin: -5px 0;
}
.single-about .about-box .box-list .list-item dd .min {
  font-size: 1.6rem;
  line-height: 1.5;
}
.single-about .about-box .box-list .list-item dd .min:nth-of-type(2) {
  padding-top: 6px;
}
.single-about .about-box .box-btn {
  margin: 40px auto 0;
}

/*===============================================
  初めての方へ
===============================================*/
/*体験申し込みの流れ
-----------------------------*/
.beginner-flow {
  padding: 140px 0 150px;
}
.beginner-flow .flow-list-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
  padding: 50px 60px 60px;
  margin-bottom: 40px;
}
.beginner-flow .flow-list-box .box-in {
  width: calc(100% - 360px);
}
.beginner-flow .flow-list-box .box-in::after {
  width: 42px;
  height: 21px;
}
.beginner-flow .flow-list-box .box-ttl {
  margin-bottom: 30px;
}
.beginner-flow .flow-list-box .box-ttl > span:not(.label) {
  font-size: 3rem;
  line-height: 1.33334;
  margin: 0;
}
.beginner-flow .flow-list-box .box-ttl .label {
  font-size: 2.2rem;
  line-height: 1;
  padding: 5px 8px;
  margin: 0 20px 0 0;
}
.beginner-flow .flow-list-box .box-ttl .label .b {
  font-size: 3rem;
}
.beginner-flow .flow-list-box .box-img {
  width: 320px;
}

/*よくある質問
-----------------------------*/
.beginner-faq {
  padding: 113px 0 100px;
}
.beginner-faq::before {
  height: 151px;
}
.beginner-faq::after {
  height: 121px;
}
.beginner-faq .faq-list-item {
  margin-bottom: 30px;
}
.beginner-faq .faq-list-item .item-ttl {
  padding: 20px 40px;
}
.beginner-faq .faq-list-item .item-ttl::before {
  width: 40px;
  font-size: 2.4rem;
  line-height: 36px;
  padding-bottom: 4px;
}
.beginner-faq .faq-list-item .item-ttl > span {
  width: calc(100% - 60px);
  font-size: 1.8rem;
  line-height: 1.77778;
  padding-top: 4px;
}
.beginner-faq .faq-list-item .item-text {
  min-height: 90px;
  padding: 20px 40px;
}
.beginner-faq .faq-list-item .item-text::before {
  width: 40px;
  font-size: 2.4rem;
  line-height: 36px;
  padding-bottom: 4px;
}
.beginner-faq .faq-list-item .item-text p {
  width: calc(100% - 60px);
  padding-top: 4px;
}

/*===============================================
  生徒・保護者様の声
===============================================*/
/*生徒様の声
-----------------------------*/
.voice-student {
  padding: 130px 0 155px;
}

/*保護者様の声
-----------------------------*/
.voice-parent {
  padding: 65px 0 100px;
}
.voice-parent::before {
  height: 151px;
}
.voice-parent::after {
  height: 121px;
}
.voice-parent .parent-list-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 50px;
}
.voice-parent .parent-list-item .item-in {
  width: 870px;
  padding: 40px 50px;
}
.voice-parent .parent-list-item .item-in::before {
  width: 26px;
  height: 47px;
  -webkit-clip-path: polygon(0 50%, 100% 0, 100% 100%);
          clip-path: polygon(0 50%, 100% 0, 100% 100%);
  top: 57px;
  right: calc(100% - 1px);
}
.voice-parent .parent-list-item .item-ttl {
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  margin-bottom: 20px;
}
.voice-parent .parent-list-item .item-text {
  margin: -8px 0;
}

/*===============================================
  スクール概要
===============================================*/
/*スクール情報
-----------------------------*/
.company-info {
  padding: 137px 0 157px;
}
.company-info .info-table td .replace {
  display: inline-block;
  padding: 8px 0 7px;
  margin-left: 0.5em;
}
.company-info .info-table td .replace img {
  height: 15px;
}

/*練習場のご案内
-----------------------------*/
.company-practice {
  padding: 75px 0 105px;
}
.company-practice::before {
  height: 151px;
}
.company-practice::after {
  height: 121px;
}
.company-practice .practice-list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: -45px;
}
.company-practice .practice-list-box {
  width: 520px;
  margin-top: 45px;
  margin-right: 40px;
}
.company-practice .practice-list-box:nth-of-type(2n), .company-practice .practice-list-box:last-of-type {
  margin-right: 0;
}
.company-practice .practice-list-box .box-ttl {
  margin-bottom: 30px;
}
.company-practice .practice-list-box .box-text {
  line-height: 1.75;
  margin: -6px 0;
}
.company-practice .practice-list-box .box-map {
  height: 290px;
  margin-top: 20px;
}

/*==================================================
 ニュース一覧
================================================== */
.news-contents {
  padding: 140px 0;
}
.news-contents .news-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
.news-contents .news-list .list-item {
  width: 340px;
  padding-bottom: 17px;
  margin-top: 50px;
  margin-right: 30px;
}
.news-contents .news-list .list-item:nth-of-type(3n), .news-contents .news-list .list-item:last-of-type {
  margin-right: 0;
}
.news-contents .news-list .list-item .item-img {
  margin-bottom: 15px;
}
.news-contents .news-list .list-item .item-img div {
  width: 100%;
  height: 0;
  padding-top: 85.2941176471%;
  position: relative;
  z-index: 0;
}
.news-contents .news-list .list-item .item-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.news-contents .news-list .list-item .item-in {
  line-height: 1.625;
}
.news-contents .news-list .list-item .date {
  padding-right: 10px;
}
.news-contents .news-list .list-item .tag {
  max-width: calc(100% - 100px);
}
.news-contents .news-list .list-item .item-ttl {
  margin-top: 4px;
}

/*タグリスト
-----------------------------*/
.tag-select-box-wrap .tag-select-box {
  min-width: 240px;
  margin-bottom: 48px;
}
.tag-select-box-wrap .tag-select-box::after {
  right: 18px;
}
.tag-select-box-wrap .tag-select-box select {
  font-size: 1.4rem;
  line-height: 1.42858;
  padding: 12px 48px 12px 12px;
}

/*==================================================
 ニュース詳細
================================================== */
.news-detail {
  padding: 140px 0;
}
.news-detail .post-data {
  font-size: 1.4rem;
  line-height: 1.42858;
  margin-bottom: 20px;
}
/*==================================================
 お問い合わせ
================================================== */
.contact-contents {
  padding: 140px 0;
}
.contact-contents .contact-table {
  margin-bottom: 56px;
}
.contact-contents .contact-table th {
  width: 400px;
  text-align: left;
  line-height: 2.375;
  padding: 20px 30px;
}
.contact-contents .contact-table th .optional-mark,
.contact-contents .contact-table th .required-mark {
  font-size: 1.4rem;
  line-height: 2;
  margin-left: 1em;
}
.contact-contents .contact-table td {
  vertical-align: middle;
  line-height: 2.375;
  padding: 20px 30px;
}
.contact-contents .contact-submits-wrap {
  padding-top: 32px;
}
.contact-contents .contact-submits-wrap > * {
  width: 320px;
  height: 60px;
  -webkit-clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
          clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
  margin: 20px 5px 0;
}

/*==================================================
 お問い合わせ完了
================================================== */
.complete-contents {
  padding: 140px 0;
}
.complete-contents .complete-box {
  text-align: center;
}

/*==================================================
プライバシーポリシー
================================================== */
.privacy-contents {
  padding: 140px 0;
}
.privacy-contents .item-box {
  margin-bottom: 60px;
}

/*==================================================
 サイトマップ
================================================== */
.site-contents {
  padding: 140px 0;
}
.site-contents .site-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  max-height: 380px;
}
.site-contents .site-list li {
  width: 500px;
  margin-right: 80px;
}
.site-contents .site-list a {
  font-size: 1.8rem;
  line-height: 1.66667;
  padding: 15px 20px;
}

/*===============================================
  404エラー
===============================================*/
.error-contents {
  padding: 140px 0;
}