@charset "UTF-8";
/* foundation */
html, body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

html {
  color: #000;
  background: #FFF;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-size: 100%;
}

a {
  text-decoration: none;
}

html {
  font-size: 0.7501875469vw;
  scroll-behavior: smooth;
}
@media screen and (max-width: 768px) {
  html {
    font-size: 1.3020833333vw;
  }
}

* {
  color: #120101;
  box-sizing: border-box;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  background: #F9F9F9;
}

body.active {
  overflow: hidden;
}

.wrap {
  width: 100%;
  overflow: hidden;
}
.wrap.no {
  overflow: visible;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.object-fit {
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
/* inner */
.inner01 {
  width: 85%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .inner01 {
    width: 80%;
  }
}

.inner02 {
  width: 65%;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .inner02 {
    width: 80%;
  }
}

.inner03 {
  width: 85%;
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .inner03 {
    width: 80%;
  }
}

@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes scroll {
  0% {
    top: -5px;
  }
  90% {
    top: 100%;
  }
  100% {
    top: 100%;
  }
}
@keyframes slideIn {
  from {
    top: -100%;
  }
  to {
    top: 0;
  }
}
/* layout */
header {
  width: 100%;
  background: url("../images/top/mv-bg.jpg") center center no-repeat;
  background-size: cover;
  border-bottom: 1px solid #FFF;
  padding: 0 3rem;
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.5s ease;
}
@media screen and (min-width: 1333px) {
  header {
    padding: 0 30px;
  }
}
@media screen and (max-width: 768px) {
  header {
    padding: 0 10px;
  }
}
header.fix {
  background: #C41C0F;
  box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.35);
  position: fixed;
  top: 0;
  left: 0;
  animation: slideIn 0.5s ease;
}
header.fix::before, header.fix::after {
  display: none;
}
header.active {
  background: #C41C0F;
  box-shadow: none;
  transition: all 0.5s ease;
}
header::before {
  content: "";
  width: 3.5rem;
  height: 3.5rem;
  background: url("../images/common/header-item.png") center center no-repeat;
  background-size: cover;
  position: absolute;
  bottom: -3.5rem;
  left: 3rem;
  z-index: 1;
}
@media screen and (min-width: 1333px) {
  header::before {
    width: 35px;
    height: 35px;
    bottom: -35px;
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  header::before {
    width: 20px;
    height: 20px;
    bottom: -20px;
    left: 10px;
  }
}
header:after {
  content: "";
  width: 3.5rem;
  height: 3.5rem;
  background: url("../images/common/header-item.png") center center no-repeat;
  background-size: cover;
  position: absolute;
  bottom: -3.5rem;
  right: 3rem;
  transform: rotate(90deg);
  z-index: 1;
}
@media screen and (min-width: 1333px) {
  header:after {
    width: 35px;
    height: 35px;
    bottom: -35px;
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  header:after {
    width: 20px;
    height: 20px;
    bottom: -20px;
    right: 10px;
  }
}
header .header__logo {
  width: 27%;
  max-width: 40rem;
  min-width: 25rem;
  height: 8rem;
  border-left: 1px solid #FFF;
  padding-left: 2%;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1333px) {
  header .header__logo {
    max-width: 400px;
    min-width: 250px;
    height: 80px;
  }
}
@media screen and (max-width: 768px) {
  header .header__logo {
    width: 280px;
    height: auto;
    max-width: none;
    min-width: 0;
    padding: 15px 10px;
  }
}
header .header__logo a {
  width: 100%;
  display: block;
}
header .header__logo a img {
  width: 100%;
  vertical-align: middle;
}
header nav .header__menu {
  max-width: 115rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 1333px) {
  header nav .header__menu {
    max-width: 1150px;
  }
}
header nav .header__menu .header__menu__list {
  position: relative;
  transition: all 0.5s ease;
}
header nav .header__menu .header__menu__list:hover {
  background: #FFF;
  transition: all 0.5s ease;
}
header nav .header__menu .header__menu__list:hover .header__menu__list--btn {
  color: #C41C0F;
  transition: all 0.5s ease;
}
header nav .header__menu .header__menu__list .header__menu__list--btn {
  width: 11vw;
  height: 8rem;
  max-width: 18rem;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  border-left: 1px solid #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1333px) {
  header nav .header__menu .header__menu__list .header__menu__list--btn {
    height: 80px;
    max-width: 180px;
    font-size: 14px;
  }
}
header nav .header__menu .header__menu__list .header__menu__list--btn.hover {
  pointer-events: none;
  cursor: default;
}
header nav .header__menu .header__menu__list .header__menu__list--btn.gold {
  width: 12.5vw;
  max-width: 24rem;
  background: #D0A949;
  border-right: 1px solid #FFF;
  transition: all 0.5s ease;
}
@media screen and (min-width: 1333px) {
  header nav .header__menu .header__menu__list .header__menu__list--btn.gold {
    max-width: 240px;
  }
}
header nav .header__menu .header__menu__list .header__menu__list--btn.gold:hover {
  color: #C41C0F;
  background: #FFF;
  transition: all 0.5s ease;
}
header nav .header__menu .header__menu__list .header__menu__detail {
  display: none;
  width: 100%;
  background: #FFF;
  border-top: 1px solid #C41C0F;
  box-shadow: 0 10px 10px -6px rgba(0, 0, 0, 0.35);
  padding: 1rem;
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  transition: all 0.5s ease;
}
@media screen and (min-width: 1333px) {
  header nav .header__menu .header__menu__list .header__menu__detail {
    padding: 10px;
  }
}
header nav .header__menu .header__menu__list .header__menu__detail .header__menu__detail__list {
  width: 100%;
}
header nav .header__menu .header__menu__list .header__menu__detail .header__menu__detail__list a {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #D0D0D0;
  padding: 1rem 0.5rem;
  transition: all 0.5s ease;
}
@media screen and (min-width: 1333px) {
  header nav .header__menu .header__menu__list .header__menu__detail .header__menu__detail__list a {
    font-size: 12px;
    padding: 10px 5px;
  }
}
header nav .header__menu .header__menu__list .header__menu__detail .header__menu__detail__list a:hover {
  color: #C41C0F;
  transition: all 0.5s ease;
}
header nav .header__menu .header__menu__list .header__menu__detail .header__menu__detail__list:last-child a {
  border-bottom: none;
}
header nav .header__menu .header__menu__list .header__menu__detail.active {
  display: block;
  animation: appear 0.5s ease;
}
header .sns__menu__wrap {
  height: 67px;
  padding: 0 2rem;
  border-right: 1px solid #FFF;
}
@media screen and (max-width: 768px) {
  header .sns__menu__wrap {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
header .sns__menu__wrap .sns__menu {
  width: 30px;
  height: 30px;
  background: #FFF;
  border-radius: 100%;
  cursor: pointer;
  position: relative;
}
header .sns__menu__wrap .sns__menu span {
  width: 60%;
  height: 1px;
  background: #C41C0F;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.3s ease;
}
header .sns__menu__wrap .sns__menu span:nth-child(1) {
  top: 35%;
}
header .sns__menu__wrap .sns__menu span:nth-child(2) {
  top: 51%;
  transform: translate(-50%, -50%);
}
header .sns__menu__wrap .sns__menu span:nth-child(3) {
  top: 65%;
}
header .sns__menu__wrap .sns__menu span.active:nth-child(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(30deg);
}
header .sns__menu__wrap .sns__menu span.active:nth-child(2) {
  opacity: 0;
}
header .sns__menu__wrap .sns__menu span.active:nth-child(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-30deg);
}

.sp-nav {
  display: none;
  width: 100%;
  min-height: 100vh;
  background: #C41C0F;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
}
.sp-nav.active {
  display: block;
}
.sp-nav::before, .sp-nav::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
}
.sp-nav::before {
  left: 10px;
}
.sp-nav::after {
  right: 10px;
}
.sp-nav .sp-nav__main {
  width: 80%;
  padding: 80px 0 20px;
  margin: 0 auto;
}
.sp-nav .sp-nav__main .sp-nav__main__list {
  cursor: pointer;
}
.sp-nav .sp-nav__main .sp-nav__main__list .sp-nav__main__list--link {
  display: block;
  width: 100%;
  color: #FFF;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #FFF;
  padding: 15px 0;
}
.sp-nav .sp-nav__main .sp-nav__main__list .sp-nav__main__list--link.gold {
  text-align: center;
  background: #D0A949;
  border-bottom: none;
  margin-top: 30px;
}
.sp-nav .sp-nav__main .sp-nav__main__list p {
  color: #FFF;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #FFF;
  padding: 15px 0;
  position: relative;
}
.sp-nav .sp-nav__main .sp-nav__main__list p span {
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.sp-nav .sp-nav__main .sp-nav__main__list p span::before, .sp-nav .sp-nav__main .sp-nav__main__list p span::after {
  content: "";
  background: #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sp-nav .sp-nav__main .sp-nav__main__list p span::before {
  width: 100%;
  height: 1px;
}
.sp-nav .sp-nav__main .sp-nav__main__list p span::after {
  width: 1px;
  height: 100%;
  transition: all 0.5s ease;
}
.sp-nav .sp-nav__main .sp-nav__main__list p span.active::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: all 0.5s ease;
}
.sp-nav .sp-nav__main .sp-nav__main__list .sp-nav__detail {
  display: none;
  padding-top: 10px;
}
.sp-nav .sp-nav__main .sp-nav__main__list .sp-nav__detail .sp-nav__detail__list {
  border-bottom: 1px solid #C41C0F;
}
.sp-nav .sp-nav__main .sp-nav__main__list .sp-nav__detail .sp-nav__detail__list a {
  display: block;
  width: 100%;
  color: #FFF;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.1em;
  padding: 10px 0 10px 10px;
}
.sp-nav .sp-nav__sns {
  width: 80%;
  max-width: 150px;
  padding-bottom: 50px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sp-nav .sp-nav__sns li {
  width: 20px;
}
.sp-nav .sp-nav__sns li a {
  display: block;
}
.sp-nav .sp-nav__sns li a img {
  width: 100%;
}

footer {
  background: #120101;
  position: relative;
}
footer:before, footer:after {
  content: "";
  width: 1px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
}
footer:before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  footer:before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  footer:before {
    left: 10px;
  }
}
footer:after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  footer:after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  footer:after {
    right: 10px;
  }
}
footer .footer__inner {
  width: 80%;
  padding-top: 10rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner {
    padding-top: 10rem;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__inner {
    justify-content: center;
  }
}
footer .footer__inner .footer__info .footer__info__logo {
  width: 35rem;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__info .footer__info__logo {
    width: 350px;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__inner .footer__info .footer__info__logo {
    width: 220px;
  }
}
footer .footer__inner .footer__info .footer__info__logo img {
  width: 100%;
}
footer .footer__inner .footer__info .footer__info__sns {
  max-width: 12rem;
  margin-top: 5rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__info .footer__info__sns {
    max-width: 120px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__inner .footer__info .footer__info__sns {
    max-width: 120px;
    margin: 30px auto 0;
  }
}
footer .footer__inner .footer__info .footer__info__sns li {
  height: 2rem;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__info .footer__info__sns li {
    height: 20px;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__inner .footer__info .footer__info__sns li {
    height: 20px;
  }
}
footer .footer__inner .footer__info .footer__info__sns li a {
  display: block;
  height: 100%;
  transition: all 0.5s ease;
}
footer .footer__inner .footer__info .footer__info__sns li a:hover {
  transform: scale(1.2, 1.2);
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  footer .footer__inner .footer__info .footer__info__sns li a:hover {
    transform: scale(1, 1);
  }
}
footer .footer__inner .footer__info .footer__info__sns li a img {
  height: 100%;
}
footer .footer__inner .footer__info .footer__info__add {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__info .footer__info__add {
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__inner .footer__info .footer__info__add {
    margin-top: 30px;
  }
}
footer .footer__inner .footer__info .footer__info__add .footer__info__add__link {
  margin-top: 1rem;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__info .footer__info__add .footer__info__add__link {
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__inner .footer__info .footer__info__add .footer__info__add__link {
    text-align: center;
    margin-top: 10px;
  }
}
footer .footer__inner .footer__info .footer__info__add .footer__info__add__link a {
  color: #FFF;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  border-bottom: 1px solid transparent;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__info .footer__info__add .footer__info__add__link a {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__inner .footer__info .footer__info__add .footer__info__add__link a {
    font-size: 10px;
    text-align: center;
  }
}
footer .footer__inner .footer__info .footer__info__add .footer__info__add__link a:hover {
  border-bottom: 1px solid #FFF;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  footer .footer__inner .footer__info .footer__info__add .footer__info__add__link a:hover {
    border-bottom: 1px solid transparent;
  }
}
footer .footer__inner .footer__info .footer__info__add .footer__info__add__link a:first-child {
  margin-top: 0;
}
footer .footer__inner .footer__nav {
  width: 50rem;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__nav {
    width: 500px;
  }
}
footer .footer__inner .footer__nav ul {
  display: flex;
  justify-content: space-between;
}
footer .footer__inner .footer__nav ul li {
  display: flex;
  flex-direction: column;
}
footer .footer__inner .footer__nav ul li p {
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__nav ul li p {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
footer .footer__inner .footer__nav ul li .footer__nav__list {
  display: block;
  margin-top: 1.5rem;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__nav ul li .footer__nav__list {
    margin-top: 15px;
  }
}
footer .footer__inner .footer__nav ul li .footer__nav__list:first-child {
  margin-top: 0;
}
footer .footer__inner .footer__nav ul li .footer__nav__list a {
  color: #FFF;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid transparent;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__nav ul li .footer__nav__list a {
    font-size: 12px;
    padding-bottom: 3px;
  }
}
footer .footer__inner .footer__nav ul li .footer__nav__list a:hover {
  border-bottom: 1px solid #FFF;
  transition: all 0.3s ease;
}
footer .footer__inner .footer__nav ul li .footer__nav__list a:first-child {
  margin-top: 0;
}
footer .footer__inner .footer__nav ul li .footer__nav__list.main {
  margin-top: 2.5rem;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__nav ul li .footer__nav__list.main {
    margin-top: 25px;
  }
}
footer .footer__inner .footer__nav ul li .footer__nav__list.main:first-child {
  margin-top: 0;
}
footer .footer__inner .footer__nav ul li .footer__nav__list.main a {
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 700;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid transparent;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  footer .footer__inner .footer__nav ul li .footer__nav__list.main a {
    font-size: 14px;
    padding-bottom: 3px;
  }
}
footer .footer__inner .footer__nav ul li .footer__nav__list.main a:hover {
  border-bottom: 1px solid #FFF;
  transition: all 0.3s ease;
}
footer .footer__inner .footer__nav ul li .footer__nav__list.main a:first-child {
  margin-top: 0;
}
footer .footer__copy {
  border-top: 1px solid #FFF;
  padding: 2.5rem 0;
  margin-top: 8rem;
  position: relative;
}
@media screen and (min-width: 1333px) {
  footer .footer__copy {
    padding: 25px 0;
    margin-top: 80px;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__copy {
    padding: 10px 0;
    margin-top: 50px;
  }
}
footer .footer__copy p {
  color: #FFF;
  font-size: 1.2rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1333px) {
  footer .footer__copy p {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__copy p {
    font-size: 10px;
    transform: scale(0.8);
  }
}
footer .footer__copy .footer__item01 {
  width: 3.5rem;
  position: absolute;
  top: -3.5rem;
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  footer .footer__copy .footer__item01 {
    width: 35px;
    top: -35px;
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__copy .footer__item01 {
    width: 20px;
    top: -20px;
    left: 10px;
  }
}
footer .footer__copy .footer__item01 img {
  width: 100%;
  vertical-align: bottom;
}
footer .footer__copy .footer__item02 {
  width: 3.5rem;
  position: absolute;
  top: -3.5rem;
  right: 3rem;
  transform: rotate(-90deg);
}
@media screen and (min-width: 1333px) {
  footer .footer__copy .footer__item02 {
    width: 35px;
    top: -35px;
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__copy .footer__item02 {
    width: 20px;
    top: -20px;
    right: 10px;
  }
}
footer .footer__copy .footer__item02 img {
  width: 100%;
  vertical-align: bottom;
}

body.active {
  overflow: hidden;
}

/* PARTNER */
.partner {
  background: #FFF;
  padding: 10rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .partner {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .partner {
    padding: 50px 0;
  }
}
.partner::before, .partner::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.partner::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .partner::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .partner::before {
    left: 10px;
  }
}
.partner::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .partner::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .partner::after {
    right: 10px;
  }
}
.partner .t-sec-ttl {
  color: #C41C0F;
  text-align: center;
}
.partner .t-sec-ttl span {
  color: #C41C0F;
  text-align: center;
}
.partner .partner__cnt {
  margin-top: 7rem;
}
@media screen and (min-width: 1333px) {
  .partner .partner__cnt {
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt {
    margin-top: 30px;
  }
}
.partner .partner__cnt .partner__cnt--top {
  width: 45rem;
  margin: 0 auto;
}
@media screen and (min-width: 1333px) {
  .partner .partner__cnt .partner__cnt--top {
    width: 450px;
  }
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt .partner__cnt--top {
    width: 250px;
  }
}
.partner .partner__cnt .partner__cnt--top ul li a {
  display: block;
  width: 100%;
  transition: all 0.3s ease;
}
.partner .partner__cnt .partner__cnt--top ul li a:hover {
  opacity: 0.5;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt .partner__cnt--top ul li a:hover {
    opacity: 1;
  }
}
.partner .partner__cnt .partner__cnt--top ul li a img {
  width: 100%;
}
.partner .partner__cnt .partner__cnt--middle {
  width: 110rem;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .partner .partner__cnt .partner__cnt--middle {
    width: 1100px;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt .partner__cnt--middle {
    width: 100%;
    margin: 20px auto 0;
  }
}
.partner .partner__cnt .partner__cnt--middle ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt .partner__cnt--middle ul {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.partner .partner__cnt .partner__cnt--middle ul li a {
  display: block;
  height: 5rem;
}
@media screen and (min-width: 1333px) {
  .partner .partner__cnt .partner__cnt--middle ul li a {
    height: 50px;
    transition: all 0.3s ease;
  }
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt .partner__cnt--middle ul li a {
    height: 25px;
    margin: 10px;
  }
}
.partner .partner__cnt .partner__cnt--middle ul li a:hover {
  opacity: 0.5;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt .partner__cnt--middle ul li a:hover {
    opacity: 1;
  }
}
.partner .partner__cnt .partner__cnt--middle ul li a img {
  height: 100%;
}
.partner .partner__cnt .partner__cnt--middle ul li:nth-last-of-type() a {
  height: 6rem;
}
@media screen and (min-width: 1333px) {
  .partner .partner__cnt .partner__cnt--middle ul li:nth-last-of-type() a {
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt .partner__cnt--middle ul li:nth-last-of-type() a {
    height: 30px;
  }
}
.partner .partner__cnt .partner__cnt--bottom {
  width: 90rem;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .partner .partner__cnt .partner__cnt--bottom {
    width: 900px;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt .partner__cnt--bottom {
    width: 100%;
    margin: 20px auto 0;
  }
}
.partner .partner__cnt .partner__cnt--bottom ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt .partner__cnt--bottom ul {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.partner .partner__cnt .partner__cnt--bottom ul li a {
  display: block;
  height: 4rem;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  .partner .partner__cnt .partner__cnt--bottom ul li a {
    height: 40px;
  }
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt .partner__cnt--bottom ul li a {
    height: 20px;
    margin: 10px;
  }
}
.partner .partner__cnt .partner__cnt--bottom ul li a:hover {
  opacity: 0.5;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .partner .partner__cnt .partner__cnt--bottom ul li a:hover {
    opacity: 1;
  }
}
.partner .partner__cnt .partner__cnt--bottom ul li a img {
  height: 100%;
}

.link {
  display: flex;
}
@media screen and (max-width: 768px) {
  .link {
    flex-wrap: wrap;
  }
}
.link .link__trial {
  display: block;
  width: 50%;
  height: 42rem;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .link .link__trial {
    height: 420px;
  }
}
@media screen and (max-width: 768px) {
  .link .link__trial {
    width: 100%;
    height: 250px;
  }
}
.link .link__trial::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/common/link-trial-bg.jpg") center center no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  transition: all 0.5s ease;
}
.link .link__trial::after {
  content: "";
  width: calc(100% - 6rem);
  height: calc(100% - 6rem);
  border: 1px solid #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1333px) {
  .link .link__trial::after {
    width: calc(100% - 60px);
    height: calc(100% - 60px);
  }
}
@media screen and (max-width: 768px) {
  .link .link__trial::after {
    width: calc(100% - 20px);
    height: calc(100% - 20px);
  }
}
.link .link__trial:hover::before {
  transform: translate(-50%, -50%) scale(1.1, 1.1);
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .link .link__trial:hover::before {
    transform: translate(-50%, -50%) scale(1, 1);
  }
}
.link .link__trial .link__trial__inner {
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.link .link__trial .link__trial__inner .link__ttl {
  color: #FFF;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0.25em;
  text-align: center;
}
@media screen and (min-width: 1333px) {
  .link .link__trial .link__trial__inner .link__ttl {
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .link .link__trial .link__trial__inner .link__ttl {
    font-size: 26px;
  }
}
.link .link__trial .link__trial__inner .link__ttl span {
  display: block;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 0.5rem;
}
@media screen and (min-width: 1333px) {
  .link .link__trial .link__trial__inner .link__ttl span {
    font-size: 14px;
    margin-top: 5px;
  }
}
@media screen and (max-width: 768px) {
  .link .link__trial .link__trial__inner .link__ttl span {
    font-size: 12px;
    margin-top: 5px;
  }
}
.link .link__trial .link__trial__inner p {
  color: #FFF;
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .link .link__trial .link__trial__inner p {
    font-size: 14px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .link .link__trial .link__trial__inner p {
    font-size: 12px;
    margin-top: 30px;
  }
}
.link .link__blog {
  display: block;
  width: 50%;
  height: 42rem;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 1333px) {
  .link .link__blog {
    height: 420px;
  }
}
@media screen and (max-width: 768px) {
  .link .link__blog {
    width: 100%;
    height: 250px;
  }
}
.link .link__blog::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/common/link-blog-bg.jpg") center center no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  transition: all 0.5s ease;
}
.link .link__blog::after {
  content: "";
  width: calc(100% - 6rem);
  height: calc(100% - 6rem);
  border: 1px solid #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1333px) {
  .link .link__blog::after {
    width: calc(100% - 60px);
    height: calc(100% - 60px);
  }
}
@media screen and (max-width: 768px) {
  .link .link__blog::after {
    width: calc(100% - 20px);
    height: calc(100% - 20px);
  }
}
.link .link__blog:hover::before {
  transform: translate(-50%, -50%) scale(1.1, 1.1);
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .link .link__blog:hover::before {
    transform: translate(-50%, -50%) scale(1, 1);
  }
}
.link .link__blog.comming {
  pointer-events: none;
}
.link .link__blog .link__blog__inner {
  width: 80%;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.link .link__blog .link__blog__inner .link__ttl {
  color: #FFF;
  font-size: 4rem;
  text-align: center;
}
@media screen and (min-width: 1333px) {
  .link .link__blog .link__blog__inner .link__ttl {
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .link .link__blog .link__blog__inner .link__ttl {
    font-size: 24px;
  }
}
.link .link__blog .link__blog__inner .link__ttl span {
  display: block;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 0.5rem;
}
@media screen and (min-width: 1333px) {
  .link .link__blog .link__blog__inner .link__ttl span {
    font-size: 14px;
    margin-top: 5px;
  }
}
@media screen and (max-width: 768px) {
  .link .link__blog .link__blog__inner .link__ttl span {
    font-size: 12px;
    margin-top: 5px;
  }
}
.link .link__blog .link__blog__inner p {
  color: #FFF;
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .link .link__blog .link__blog__inner p {
    font-size: 14px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .link .link__blog .link__blog__inner p {
    font-size: 12px;
    margin-top: 30px;
  }
}
.link .link__blog .comming__bg {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.link .link__blog .comming__bg::before {
  content: "COMMING SOON";
  width: 100%;
  color: #FFF;
  font-size: 2.2rem;
  font-family: "Bruno Ace SC", "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
@media screen and (min-width: 1333px) {
  .link .link__blog .comming__bg::before {
    font-size: 22px;
  }
}
@media screen and (max-width: 768px) {
  .link .link__blog .comming__bg::before {
    font-size: 4rem;
  }
}
.link .link__blog .comming__bg::after {
  content: "";
  background: inherit;
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(12px);
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  z-index: 2;
}

/* PAGE TTL */
.page-ttl {
  width: 100%;
  background: url("../images/top/mv-bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 10rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .page-ttl {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .page-ttl {
    padding: 50px 0;
  }
}
.page-ttl::before, .page-ttl::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
}
.page-ttl::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .page-ttl::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .page-ttl::before {
    left: 10px;
  }
}
.page-ttl::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .page-ttl::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .page-ttl::after {
    right: 10px;
  }
}
.page-ttl h2 {
  width: 90%;
  color: #FFF;
  font-size: 5rem;
  text-align: center;
  margin: 0 auto;
}
@media screen and (min-width: 1333px) {
  .page-ttl h2 {
    font-size: 50px;
  }
}
@media screen and (max-width: 768px) {
  .page-ttl h2 {
    font-size: 30px;
  }
}
.page-ttl h2 span {
  display: block;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 1rem;
}
@media screen and (min-width: 1333px) {
  .page-ttl h2 span {
    font-size: 16px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .page-ttl h2 span {
    font-size: 12px;
    margin-top: 5px;
  }
}

/* object */
.btn01 {
  display: block;
  width: 18rem;
  max-height: 56px;
  color: #C41C0F;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  border-radius: 30px;
  border: 1px solid #C41C0F;
  padding: 1.2rem 0;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  .btn01 {
    width: 180px;
    font-size: 14px;
    padding: 12px 0;
  }
}
@media screen and (max-width: 768px) {
  .btn01 {
    width: 90%;
    max-width: 170px;
    font-size: 12px;
    padding: 10px 0;
  }
}
.btn01:hover {
  color: #FFF;
  background: #C41C0F;
  border: 1px solid transparent;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .btn01:hover {
    color: #C41C0F;
    background: transparent;
    border: 1px solid #C41C0F;
  }
}

.btn02 {
  display: block;
  width: 18rem;
  max-height: 56px;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  border-radius: 30px;
  border: 1px solid #FFF;
  padding: 1.2rem 0;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  .btn02 {
    width: 180px;
    font-size: 14px;
    padding: 12px 0;
  }
}
@media screen and (max-width: 768px) {
  .btn02 {
    width: 90%;
    max-width: 170px;
    font-size: 12px;
    padding: 10px 0;
  }
}
.btn02:hover {
  color: #C41C0F;
  background: #FFF;
  border: 1px solid transparent;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .btn02:hover {
    color: #FFF;
    background: transparent;
    border: 1px solid #FFF;
  }
}

/* font style */
.font01 {
  font-family: "Noto Sans JP", sans-serif;
}

.font02 {
  font-family: "Bruno Ace SC", "Noto Sans JP", sans-serif;
}

/* SECTION TTl */
.t-sec-ttl {
  font-size: 6.6rem;
}
@media screen and (min-width: 1333px) {
  .t-sec-ttl {
    font-size: 66px;
  }
}
@media screen and (max-width: 768px) {
  .t-sec-ttl {
    font-size: 30px;
  }
}
.t-sec-ttl span {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1333px) {
  .t-sec-ttl span {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .t-sec-ttl span {
    font-size: 12px;
  }
}

/* POP UP */
.popup {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: none;
}
.popup.active {
  display: block;
}
.popup .popup__cnt {
  background: #FFF;
  padding: 2.5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1333px) {
  .popup .popup__cnt {
    padding: 25px;
  }
}
@media screen and (max-width: 768px) {
  .popup .popup__cnt {
    width: 80%;
  }
}
.popup .popup__cnt span {
  content: "";
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: -4rem;
  right: -4rem;
  transform: rotate(45deg);
  cursor: pointer;
}
@media screen and (min-width: 1333px) {
  .popup .popup__cnt span {
    width: 30px;
    height: 30px;
    top: -40px;
    right: -40px;
  }
}
@media screen and (max-width: 768px) {
  .popup .popup__cnt span {
    width: 30px;
    height: 30px;
    top: -40px;
    right: 0;
  }
}
.popup .popup__cnt span::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.popup .popup__cnt span::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.popup .popup__cnt .popup__img {
  width: 60rem;
  height: 30rem;
}
@media screen and (min-width: 1333px) {
  .popup .popup__cnt .popup__img {
    width: 600px;
    height: 300px;
  }
}
@media screen and (max-width: 768px) {
  .popup .popup__cnt .popup__img {
    width: 100%;
    height: 30rem;
  }
}
.popup .popup__cnt .popup__img img {
  width: 100%;
  height: 100%;
}
.popup .popup__cnt p {
  color: #000;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 2rem;
}
@media screen and (min-width: 1333px) {
  .popup .popup__cnt p {
    font-size: 24px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .popup .popup__cnt p {
    font-size: 3.2rem;
    margin-top: 2.5rem;
  }
}
.popup .popup__cnt a {
  display: block;
  width: 25rem;
  color: #D0A949;
  font-size: 1.6rem;
  text-align: center;
  border: 1px solid #D0A949;
  padding: 1rem;
  margin: 1.5rem auto 0;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  .popup .popup__cnt a {
    width: 250px;
    font-size: 16px;
    padding: 10px;
    margin: 15px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .popup .popup__cnt a {
    width: 40rem;
    font-size: 2.2rem;
    padding: 1.5rem;
    margin: 2rem auto 0;
  }
}
.popup .popup__cnt a:hover {
  color: #FFF;
  background: #D0A949;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .popup .popup__cnt a:hover {
    color: #D0A949;
    background: none;
  }
}

/* MV */
.t-mv {
  width: 100vw;
  background: url("../images/top/mv-bg.jpg") center center no-repeat;
  background-size: cover;
  padding-bottom: 8.5rem;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .t-mv {
    padding-bottom: 85px;
  }
}
@media screen and (max-width: 768px) {
  .t-mv {
    padding-bottom: 20px;
  }
}
.t-mv::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-mv::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-mv::before {
    left: 10px;
  }
}
.t-mv::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-mv::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-mv::after {
    right: 10px;
  }
}
.t-mv .inner02 {
  padding-top: 4rem;
}
@media screen and (min-width: 1920px) {
  .t-mv .inner02 {
    padding-top: 40px;
  }
}
@media screen and (max-width: 768px) {
  .t-mv .inner02 {
    width: 85%;
    padding-top: 30px;
  }
}
.t-mv .inner02 h2 {
  width: 100%;
  color: #FFF;
  font-size: 6.2rem;
  line-height: 1.2;
  margin: 1rem auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .t-mv .inner02 h2 {
    font-size: 4.6rem;
    margin: 4rem auto 0;
  }
}
@media screen and (min-width: 1920px) {
  .t-mv .inner02 h2 {
    font-size: 62px;
    margin: 10px auto 0;
  }
}
.t-mv .inner02 h2 span {
  display: block;
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.25em;
  line-height: 1.5;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .t-mv .inner02 h2 span {
    display: block;
    font-size: 3rem;
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 1920px) {
  .t-mv .inner02 h2 span {
    font-size: 20px;
    margin-top: 10px;
  }
}
.t-mv .inner02 .t-mv__mv {
  width: 100%;
  aspect-ratio: 2.068/1;
  background: #FFF;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .t-mv .inner02 .t-mv__mv {
    max-height: 400px;
    aspect-ratio: 0.5/1;
  }
}
.t-mv .inner02 .t-mv__mv .slick-list {
  width: 100%;
  height: 100%;
}
.t-mv .inner02 .t-mv__mv .slick-list .slick-track {
  height: 100%;
}
.t-mv .inner02 .t-mv__mv .slick-list .slick-track li {
  width: 100%;
  height: 100%;
}
.t-mv .inner02 .t-mv__mv .slick-list .slick-track li img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .t-mv .inner02 .t-mv__mv .slick-list .slick-track li img {
    height: 100%;
  }
}
.t-mv .t-mv__sns {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: -11rem;
  transform: translateY(-50%) rotate(90deg);
}
@media screen and (min-width: 1333px) {
  .t-mv .t-mv__sns {
    left: -110px;
  }
}
@media screen and (max-width: 768px) {
  .t-mv .t-mv__sns {
    width: 85%;
    margin: 70px auto 0;
    justify-content: left;
    position: static;
    top: 0;
    left: 0;
    transform: rotate(0deg);
  }
}
.t-mv .t-mv__sns li {
  height: -moz-fit-content;
  height: fit-content;
  padding-right: 2rem;
}
@media screen and (min-width: 1333px) {
  .t-mv .t-mv__sns li {
    padding-right: 20px;
  }
}
@media screen and (max-width: 768px) {
  .t-mv .t-mv__sns li {
    padding-right: 10px;
  }
}
.t-mv .t-mv__sns li p {
  color: #FFF;
  font-size: 2rem;
  padding-right: 1rem;
}
@media screen and (min-width: 1333px) {
  .t-mv .t-mv__sns li p {
    font-size: 20px;
    padding-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  .t-mv .t-mv__sns li p {
    font-size: 12px;
    padding-right: 5px;
  }
}
.t-mv .t-mv__sns li a {
  display: block;
  width: 3rem;
  transition: all 0.5s ease;
}
@media screen and (min-width: 1333px) {
  .t-mv .t-mv__sns li a {
    width: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-mv .t-mv__sns li a {
    width: 18px;
  }
}
.t-mv .t-mv__sns li a:hover {
  transform: scale(1.2, 1.2);
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .t-mv .t-mv__sns li a:hover {
    transform: scale(1, 1);
  }
}
.t-mv .t-mv__sns li a img {
  width: 100%;
  vertical-align: middle;
}
.t-mv .t-mv__scroll {
  position: absolute;
  bottom: 3rem;
  right: 4rem;
}
@media screen and (min-width: 1333px) {
  .t-mv .t-mv__scroll {
    bottom: 30px;
    right: 40px;
  }
}
@media screen and (max-width: 768px) {
  .t-mv .t-mv__scroll {
    bottom: 15px;
    right: 20px;
  }
}
.t-mv .t-mv__scroll a {
  color: #FFF;
  font-size: 1.4rem;
  writing-mode: vertical-rl;
  padding: 3rem 1rem;
}
@media screen and (min-width: 1333px) {
  .t-mv .t-mv__scroll a {
    font-size: 14px;
    padding: 30px 10px;
  }
}
@media screen and (max-width: 768px) {
  .t-mv .t-mv__scroll a {
    font-size: 12px;
    padding: 3px;
    transform: scale(0.8);
  }
}
.t-mv .t-mv__scroll::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.t-mv .t-mv__scroll::after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: #FFF;
  border-radius: 100%;
  position: absolute;
  top: -0.5rem;
  left: -0.45rem;
  animation: scroll 3s ease-in-out infinite;
}
@media screen and (min-width: 1333px) {
  .t-mv .t-mv__scroll::after {
    width: 10px;
    height: 10px;
    top: -5px;
    left: -4.5px;
  }
}
@media screen and (max-width: 768px) {
  .t-mv .t-mv__scroll::after {
    width: 5px;
    height: 5px;
    top: -2.5px;
    left: -2px;
  }
}

/* BANNER */
.t-banner {
  width: 100%;
  background: #FFF;
  padding: 8rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .t-banner {
    padding: 80px 0;
  }
}
@media screen and (max-width: 768px) {
  .t-banner {
    padding: 30px 0;
  }
}
.t-banner::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-banner::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-banner::before {
    left: 10px;
  }
}
.t-banner::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-banner::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-banner::after {
    right: 10px;
  }
}
.t-banner .slider-banner {
  width: 90%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.t-banner .slider-banner .slider-banner__item {
  margin: 1vw !important;
}
.t-banner .slider-banner .slider-banner__item a {
  display: block;
  width: 100%;
  transition: all 0.5s ease;
}
.t-banner .slider-banner .slider-banner__item a.comming {
  position: relative;
  pointer-events: none;
}
.t-banner .slider-banner .slider-banner__item a.comming::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}
.t-banner .slider-banner .slider-banner__item a.comming::after {
  content: "COMMING SOON";
  width: 100%;
  color: #FFF;
  font-size: 2.2rem;
  font-family: "Bruno Ace SC", "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1333px) {
  .t-banner .slider-banner .slider-banner__item a.comming::after {
    font-size: 22px;
  }
}
@media screen and (max-width: 768px) {
  .t-banner .slider-banner .slider-banner__item a.comming::after {
    font-size: 4rem;
  }
}
.t-banner .slider-banner .slider-banner__item a:hover {
  opacity: 0.8;
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .t-banner .slider-banner .slider-banner__item a:hover {
    opacity: 1;
  }
}
.t-banner .slider-banner .slider-banner__item a img {
  width: 100%;
}

/* slick-add */
.slick-slider .slick-prev, .slick-slider .slick-next {
  display: block !important;
  width: 5rem !important;
  height: 5rem !important;
  border-radius: 100% !important;
  border: 1px solid #C41C0F !important;
}
@media screen and (min-width: 1333px) {
  .slick-slider .slick-prev, .slick-slider .slick-next {
    width: 50px !important;
    height: 50px !important;
  }
}
@media screen and (max-width: 768px) {
  .slick-slider .slick-prev, .slick-slider .slick-next {
    width: 30px !important;
    height: 30px !important;
  }
}
.slick-slider .slick-prev {
  left: -6rem !important;
}
@media screen and (min-width: 1333px) {
  .slick-slider .slick-prev {
    left: -60px !important;
  }
}
@media screen and (max-width: 768px) {
  .slick-slider .slick-prev {
    left: -35px !important;
  }
}
.slick-slider .slick-prev::before {
  content: "";
  font-size: 0 !important;
  border-top: 0.7rem solid transparent;
  border-right: 0.9rem solid #C41C0F;
  border-bottom: 0.7rem solid transparent;
  opacity: 1 !important;
  position: absolute !important;
  top: 50% !important;
  left: 47% !important;
  transform: translate(-50%, -50%) !important;
  transition: all 0.5s ease;
}
@media screen and (min-width: 1333px) {
  .slick-slider .slick-prev::before {
    border-top: 7px solid transparent;
    border-right: 9px solid #C41C0F;
    border-bottom: 7px solid transparent;
  }
}
@media screen and (max-width: 768px) {
  .slick-slider .slick-prev::before {
    border-top: 3px solid transparent;
    border-right: 5px solid #C41C0F;
    border-bottom: 3px solid transparent;
  }
}
.slick-slider .slick-prev:hover::before {
  transform: translate(-90%, -50%) !important;
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .slick-slider .slick-prev:hover::before {
    transform: translate(-50%, -50%) !important;
  }
}
.slick-slider .slick-next {
  right: -6rem !important;
}
@media screen and (min-width: 1333px) {
  .slick-slider .slick-next {
    right: -60px !important;
  }
}
@media screen and (max-width: 768px) {
  .slick-slider .slick-next {
    right: -35px !important;
  }
}
.slick-slider .slick-next::before {
  content: "";
  font-size: 0 !important;
  border-top: 0.7rem solid transparent;
  border-left: 0.9rem solid #C41C0F;
  border-bottom: 0.7rem solid transparent;
  opacity: 1 !important;
  position: absolute !important;
  top: 50% !important;
  left: 53% !important;
  transform: translate(-50%, -50%) !important;
  transition: all 0.5s ease;
}
@media screen and (min-width: 1333px) {
  .slick-slider .slick-next::before {
    border-top: 7px solid transparent;
    border-left: 9px solid #C41C0F;
    border-bottom: 7px solid transparent;
  }
}
@media screen and (max-width: 768px) {
  .slick-slider .slick-next::before {
    border-top: 3px solid transparent;
    border-left: 5px solid #C41C0F;
    border-bottom: 3px solid transparent;
  }
}
.slick-slider .slick-next:hover::before {
  transform: translate(-10%, -50%) !important;
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .slick-slider .slick-next:hover::before {
    transform: translate(-50%, -50%) !important;
  }
}
.slick-slider .slick-dots {
  width: auto;
  left: 50%;
  bottom: -3rem;
  transform: translateX(-50%);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 1333px) {
  .slick-slider .slick-dots {
    bottom: -30px;
  }
}
@media screen and (max-width: 768px) {
  .slick-slider .slick-dots {
    bottom: -20px;
  }
}
.slick-slider .slick-dots li {
  display: block;
  width: 1rem;
  height: 1rem;
  margin: 0 1.5rem;
}
@media screen and (min-width: 1333px) {
  .slick-slider .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 15px;
  }
}
@media screen and (max-width: 768px) {
  .slick-slider .slick-dots li {
    width: 5px !important;
    height: 5px !important;
    margin: 0 7px !important;
  }
}
.slick-slider .slick-dots li button {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 3px !important;
  background: #E8E8E8;
  border-radius: 100%;
}
.slick-slider .slick-dots li button::before {
  display: none;
}
.slick-slider .slick-dots li.slick-active button {
  background: #C41C0F;
}

/* ABOUT US */
.t-about {
  width: 100%;
  padding: 12rem 0 22rem;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .t-about {
    padding: 120px 0 220px;
  }
}
@media screen and (max-width: 768px) {
  .t-about {
    padding: 50px 0;
  }
}
.t-about::before, .t-about::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.t-about::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-about::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-about::before {
    left: 10px;
  }
}
.t-about::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-about::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-about::after {
    right: 10px;
  }
}
.t-about .t-about__item {
  width: 85%;
  max-width: 1100px;
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
}
.t-about .t-about__item img {
  width: 100%;
}
.t-about .inner01 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .t-about .inner01 {
    flex-wrap: wrap;
  }
}
.t-about .inner01 .t-about__txt {
  width: 46%;
}
@media screen and (max-width: 768px) {
  .t-about .inner01 .t-about__txt {
    width: 100%;
  }
}
.t-about .inner01 .t-about__txt h2 {
  color: #C41C0F;
}
.t-about .inner01 .t-about__txt h2 span {
  color: #C41C0F;
}
.t-about .inner01 .t-about__txt p {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 2.5;
  margin-top: 7rem;
}
@media screen and (min-width: 1333px) {
  .t-about .inner01 .t-about__txt p {
    font-size: 20px;
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .t-about .inner01 .t-about__txt p {
    font-size: 14px;
    margin-top: 30px;
  }
}
.t-about .inner01 .t-about__txt a {
  margin: 7rem 0 0 auto;
}
@media screen and (min-width: 1333px) {
  .t-about .inner01 .t-about__txt a {
    margin: 70px 0 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .t-about .inner01 .t-about__txt a {
    margin: 30px auto 0;
  }
}
.t-about .inner01 .t-about__img {
  width: 46.6%;
}
@media screen and (max-width: 768px) {
  .t-about .inner01 .t-about__img {
    width: 100%;
    margin-top: 50px;
  }
}
.t-about .inner01 .t-about__img img {
  width: 100%;
}

/* TEAM */
.t-team {
  position: relative;
}
.t-team::before, .t-team::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.t-team::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-team::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-team::before {
    left: 10px;
  }
}
.t-team::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-team::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-team::after {
    right: 10px;
  }
}
.t-team .t-team__txt {
  width: calc(640px + (100vw - 1100px) / 2);
  background: url("../images/top/sec-bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 5rem 6rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1333px) {
  .t-team .t-team__txt {
    padding: 50px 60px;
  }
}
@media screen and (max-width: 768px) {
  .t-team .t-team__txt {
    width: 90%;
    padding: 40px 7vw;
  }
}
.t-team .t-team__txt .t-team__txt__inner {
  max-width: 800px;
  margin-left: auto;
}
.t-team .t-team__txt .t-team__txt__inner h2 {
  color: #FFF;
  line-height: 1;
  display: flex;
  align-items: end;
}
@media screen and (max-width: 768px) {
  .t-team .t-team__txt .t-team__txt__inner h2 {
    flex-wrap: wrap;
  }
}
.t-team .t-team__txt .t-team__txt__inner h2 span {
  color: #FFF;
  margin-left: 2rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .t-team .t-team__txt .t-team__txt__inner h2 span {
    width: 100%;
    margin: 5px 0 0 0;
  }
}
.t-team .t-team__txt .t-team__txt__inner p {
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-team .t-team__txt .t-team__txt__inner p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-team .t-team__txt .t-team__txt__inner p {
    font-size: 14px;
    margin-top: 20px;
  }
}
.t-team .t-team__txt .t-team__txt__inner a {
  margin: 5rem 0 0 auto;
}
@media screen and (min-width: 1333px) {
  .t-team .t-team__txt .t-team__txt__inner a {
    margin: 50px 0 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .t-team .t-team__txt .t-team__txt__inner a {
    margin: 30px 0 0 auto;
  }
}
.t-team .t-team__img {
  width: 73vw;
  height: 45rem;
  margin: -25rem 0 0 auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1333px) {
  .t-team .t-team__img {
    height: 450px;
    margin: -250px 0 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .t-team .t-team__img {
    width: 90%;
    height: 400px;
    margin: -110px 0 0 auto;
  }
}
.t-team .t-team__img img {
  width: 100%;
  height: 100%;
}

/* SCHOOL */
.t-school {
  padding: 8rem 0 30rem;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .t-school {
    padding: 80px 0 300px;
  }
}
@media screen and (max-width: 768px) {
  .t-school {
    padding: 50px 0 150px;
  }
}
.t-school::before, .t-school::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.t-school::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-school::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-school::before {
    left: 10px;
  }
}
.t-school::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-school::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-school::after {
    right: 10px;
  }
}
.t-school .t-school__txt {
  width: calc(640px + (100vw - 1100px) / 2);
  background: url("../images/top/sec-bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 5rem 6rem;
  margin-left: auto;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1333px) {
  .t-school .t-school__txt {
    padding: 50px 60px;
  }
}
@media screen and (max-width: 768px) {
  .t-school .t-school__txt {
    width: 90%;
    padding: 40px 7vw;
  }
}
.t-school .t-school__txt .t-school__txt__inner {
  max-width: 800px;
  margin-right: auto;
}
.t-school .t-school__txt .t-school__txt__inner h2 {
  color: #FFF;
  display: flex;
  align-items: end;
}
@media screen and (max-width: 768px) {
  .t-school .t-school__txt .t-school__txt__inner h2 {
    flex-wrap: wrap;
  }
}
.t-school .t-school__txt .t-school__txt__inner h2 span {
  color: #FFF;
  margin-bottom: 1rem;
  margin-left: 2rem;
}
@media screen and (max-width: 768px) {
  .t-school .t-school__txt .t-school__txt__inner h2 span {
    width: 100%;
    margin: 5px 0 0 0;
  }
}
.t-school .t-school__txt .t-school__txt__inner p {
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-school .t-school__txt .t-school__txt__inner p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-school .t-school__txt .t-school__txt__inner p {
    font-size: 14px;
    margin-top: 20px;
  }
}
.t-school .t-school__txt .t-school__txt__inner a {
  margin: 5rem 0 0 auto;
}
@media screen and (min-width: 1333px) {
  .t-school .t-school__txt .t-school__txt__inner a {
    margin: 50px 0 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .t-school .t-school__txt .t-school__txt__inner a {
    margin: 30px 0 0 auto;
  }
}
.t-school .t-school__img {
  width: 73vw;
  height: 45rem;
  margin: -25rem auto 0 0;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1333px) {
  .t-school .t-school__img {
    height: 450px;
    margin: -250px auto 0 0;
  }
}
@media screen and (max-width: 768px) {
  .t-school .t-school__img {
    width: 90%;
    height: 400px;
    margin: -110px auto 0 0;
  }
}
.t-school .t-school__img picture {
  width: 100%;
  height: 100%;
}
.t-school .t-school__img picture img {
  width: 100%;
  height: 100%;
  -o-object-position: 50% 10%;
     object-position: 50% 10%;
}
@media screen and (max-width: 768px) {
  .t-school .t-school__img picture img {
    -o-object-position: 50% 40%;
       object-position: 50% 40%;
  }
}
.t-school .t-school__bg {
  width: 100%;
  background: url("../images/top/school-bg.jpg") center center no-repeat;
  background-size: cover;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .t-school .t-school__bg {
    width: 130%;
  }
}
.t-school .t-school__bg img {
  width: 100%;
  vertical-align: middle;
}

/* NEWS */
.t-news {
  padding: 10rem 0 13rem;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .t-news {
    padding: 100px 0 130px;
  }
}
@media screen and (max-width: 768px) {
  .t-news {
    padding: 50px 0;
  }
}
.t-news::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-news::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-news::before {
    left: 10px;
  }
}
.t-news::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .t-news::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-news::after {
    right: 10px;
  }
}
.t-news .t-news__ttl__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .t-news .t-news__ttl__wrap {
    flex-wrap: wrap;
  }
}
.t-news .t-news__ttl__wrap .t-news__ttl {
  color: #FFF;
  font-size: 7.4rem;
  display: flex;
  align-items: end;
}
@media screen and (min-width: 1333px) {
  .t-news .t-news__ttl__wrap .t-news__ttl {
    font-size: 74px;
  }
}
@media screen and (max-width: 768px) {
  .t-news .t-news__ttl__wrap .t-news__ttl {
    width: 100%;
    font-size: 30px;
    flex-wrap: wrap;
  }
}
.t-news .t-news__ttl__wrap .t-news__ttl span {
  width: 100%;
  display: block;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-left: 3rem;
  margin-bottom: 1.2rem;
}
@media screen and (min-width: 1333px) {
  .t-news .t-news__ttl__wrap .t-news__ttl span {
    font-size: 18px;
    margin-left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .t-news .t-news__ttl__wrap .t-news__ttl span {
    font-size: 12px;
    margin: 5px 0 0 0;
  }
}
.t-news .t-news__ttl__wrap .t-news__ttl__btn {
  color: #FFF;
  border: 1px solid #FFF;
}
@media screen and (max-width: 768px) {
  .t-news .t-news__ttl__wrap .t-news__ttl__btn {
    display: none;
  }
}
.t-news .t-news__ttl__wrap .t-news__ttl__btn:hover {
  color: #C41C0F;
  background: #FFF;
  border: 1px solid transparent;
}
.t-news .t-news__container {
  width: 100%;
  margin-top: 5rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1333px) {
  .t-news .t-news__container {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .t-news .t-news__container {
    margin-top: 30px;
  }
}
.t-news .t-news__container .t-news__cnt {
  width: 45%;
  margin-top: 7rem;
}
@media screen and (min-width: 1333px) {
  .t-news .t-news__container .t-news__cnt {
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .t-news .t-news__container .t-news__cnt {
    width: 100%;
    margin-top: 30px;
  }
}
.t-news .t-news__container .t-news__cnt:nth-child(1) {
  margin-top: 0;
}
.t-news .t-news__container .t-news__cnt:nth-child(2) {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .t-news .t-news__container .t-news__cnt:nth-child(2) {
    margin-top: 30px;
  }
}
.t-news .t-news__container .t-news__cnt .t-news__cnt__img {
  display: block;
  width: 100%;
  aspect-ratio: 1.8/1;
  overflow: hidden;
  /* testのみ */
  pointer-events: none;
}
.t-news .t-news__container .t-news__cnt .t-news__cnt__img:hover img {
  transform: scale(1.1, 1.1);
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .t-news .t-news__container .t-news__cnt .t-news__cnt__img:hover img {
    transform: scale(1, 1);
  }
}
.t-news .t-news__container .t-news__cnt .t-news__cnt__img img {
  width: 100%;
  height: 100%;
  transition: all 0.5s ease;
}
.t-news .t-news__container .t-news__cnt .t-news__cnt__txt {
  margin-top: 2rem;
}
@media screen and (min-width: 1333px) {
  .t-news .t-news__container .t-news__cnt .t-news__cnt__txt {
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .t-news .t-news__container .t-news__cnt .t-news__cnt__txt {
    margin-top: 20px;
  }
}
.t-news .t-news__container .t-news__cnt .t-news__cnt__txt .t-news__cnt__txt--date {
  color: #C41C0F;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1333px) {
  .t-news .t-news__container .t-news__cnt .t-news__cnt__txt .t-news__cnt__txt--date {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .t-news .t-news__container .t-news__cnt .t-news__cnt__txt .t-news__cnt__txt--date {
    font-size: 12px;
  }
}
.t-news .t-news__container .t-news__cnt .t-news__cnt__txt .t-news__cnt__txt--date span {
  display: block;
  color: #FFF;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  background: #C41C0F;
  padding: 0.5rem 1rem;
  margin-left: 1rem;
}
@media screen and (min-width: 1333px) {
  .t-news .t-news__container .t-news__cnt .t-news__cnt__txt .t-news__cnt__txt--date span {
    font-size: 12px;
    padding: 5px 10px;
    margin-left: 10px;
  }
}
@media screen and (max-width: 768px) {
  .t-news .t-news__container .t-news__cnt .t-news__cnt__txt .t-news__cnt__txt--date span {
    font-size: 10px;
    padding: 2px 6px;
    margin-left: 10px;
  }
}
.t-news .t-news__container .t-news__cnt .t-news__cnt__txt h2 {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-top: 1rem;
}
@media screen and (min-width: 1333px) {
  .t-news .t-news__container .t-news__cnt .t-news__cnt__txt h2 {
    font-size: 20px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .t-news .t-news__container .t-news__cnt .t-news__cnt__txt h2 {
    font-size: 14px;
    margin-top: 10px;
  }
}
.t-news .t-news__container .t-news__cnt .t-news__cnt__txt p {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 1.5rem;
}
@media screen and (min-width: 1333px) {
  .t-news .t-news__container .t-news__cnt .t-news__cnt__txt p {
    font-size: 14px;
    margin-top: 15px;
  }
}
@media screen and (max-width: 768px) {
  .t-news .t-news__container .t-news__cnt .t-news__cnt__txt p {
    font-size: 12px;
    margin-top: 10px;
  }
}
.t-news .t-news__bg {
  width: 100%;
  height: 40rem;
  background: url("../images/top/news-bg.jpg") center center no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (min-width: 1333px) {
  .t-news .t-news__bg {
    height: 400px;
  }
}
@media screen and (max-width: 768px) {
  .t-news .t-news__bg {
    height: 200px;
  }
}
.t-news .t-news__bg::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
  left: 30px;
}
@media screen and (max-width: 768px) {
  .t-news .t-news__bg::before {
    left: 10px;
  }
}
.t-news .t-news__bg::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
  right: 30px;
}
@media screen and (max-width: 768px) {
  .t-news .t-news__bg::after {
    right: 10px;
  }
}
.t-news .t-news__bg img {
  width: 100%;
  height: 100%;
}

/* SLIDER */
.slider-img {
  width: 100vw;
}
.slider-img .slider-img__item {
  max-width: 400px;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
  .slider-img .slider-img__item {
    max-width: 200px;
  }
}
.slider-img .slider-img__item img {
  width: 100%;
  height: 100%;
}

/* HISTORY */
.news {
  padding: 20rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .news {
    padding: 200px 0;
  }
}
@media screen and (max-width: 768px) {
  .news {
    padding: 100px 0;
  }
}
.news::before, .news::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.news::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .news::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .news::before {
    left: 10px;
  }
}
.news::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .news::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .news::after {
    right: 10px;
  }
}
.news .inner01 p {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.7;
}
@media screen and (min-width: 1333px) {
  .news .inner01 p {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .news .inner01 p {
    font-size: 14px;
  }
}

/* news */
/* .news {
    padding: 10rem 0;
    position: relative;

    @include mixin.inner {
        padding: 100px 0;
    }
    @include mixin.sp {
        padding: 50px 0;
    }

    &::before, &::after {
        content: '';
        width: 1px;
        height: 100%;
        background: #C41C0F;
        position: absolute;
        top: 0;
    }

    &::before {
        left: 3rem;

        @include mixin.inner {
            left: 30px;
        }
        @include mixin.sp {
            left: 10px;
        }
    }

    &::after {
        right: 3rem;

        @include mixin.inner {
            right: 30px;
        }
        @include mixin.sp {
            right: 10px;
        }
    }

    .inner01 {

        .news__wrap {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;

            .news__cat {
                width: 17%;

                @include mixin.sp {
                    width: 100%;
                }

                ul {
                    position: sticky;
                    position: -webkit-sticky;
                    top: 12rem;

                    @include mixin.inner {
                        top: 120px;
                    }
                    @include mixin.sp {
                        position: static;
                        display: flex;
                        flex-wrap: wrap;
                        gap: 10px;
                    }

                    li {
                        width: 100%;
                        margin-top: 1rem;

                        @include mixin.inner {
                            margin-top: 10px;
                        }
                        @include mixin.sp {
                            width: calc(50% - 5px);
                            margin-top: 0;
                        }

                        &:first-child {
                            margin-top: 0;
                        }

                        a {
                            display: block;
                            color: #C41C0F;
                            font-size: 1.4rem;
                            font-weight: 500;
                            text-align: center;
                            border: 1px solid #C41C0F;
                            padding: 1rem 0;

                            @include mixin.inner {
                                font-size: 14px;
                                padding: 10px 0;
                            }
                            @include mixin.sp {
                                font-size: 12px;
                                padding: 10px 0;
                            }

                            &.active {
                                color: #FFF;
                                background: #C41C0F;
                            }
                        }
                    }
                }
            }

            .news__container {
                width: 78%;

                @include mixin.sp {
                    width: 100%;
                    margin-top: 50px;
                }

                .news__cnt {
                    border-bottom: 1px solid #D0D0D0;
                    padding: 5rem 0;

                    @include mixin.inner {
                        padding: 50px 0;
                    }
                    @include mixin.sp {
                        padding: 30px 0;
                    }

                    &:first-child {
                        padding: 0 0 5rem 0;

                        @include mixin.inner {
                            padding: 0 0 50px 0;
                        }
                        @include mixin.sp {
                            padding: 0 0 30px 0;
                        }
                    }

                    &:hover .news__img img {
                        transform: scale(1.1, 1.1);
                        transition: all 0.5s ease;

                        @include mixin.sp {
                            transform: scale(1, 1);
                        }
                    }

                    .news__link {
                        display: flex;
                        justify-content: space-between;
                        flex-wrap: wrap;

                        .news__img {
                            width: 37%;
                            overflow: hidden;

                            @include mixin.sp {
                                width: 100%;
                                height: 200px;
                            }

                            img {
                                width: 100%;
                                height: 100%;
                                transition: all 0.5s ease;
                            }
                        }

                        .news__txt {
                            width: 60%;

                            @include mixin.sp {
                                width: 100%;
                                margin-top: 15px;
                            }

                            .news__index {
                                display: flex;
                                align-items: center;

                                .news__index--date {
                                    color: #C41C0F;
                                    font-size: 1.4rem;
                                    font-weight: 500;

                                    @include mixin.inner {
                                        font-size: 14px;
                                    }
                                    @include mixin.sp {
                                        font-size: 12px;
                                    }
                                }

                                .news__index--cat {
                                    color: #FFF;
                                    font-size: 1.2rem;
                                    font-weight: 500;
                                    letter-spacing: 0.05em;
                                    background: #C41C0F;
                                    padding: .5rem 2rem;
                                    margin-left: 2rem;

                                    @include mixin.inner {
                                        font-size: 12px;
                                        padding: 5px 20px;
                                        margin-left: 20px;
                                    }
                                    @include mixin.sp {
                                        font-size: 10px;
                                        padding: 3px 10px;
                                        margin-left: 10px;
                                    }
                                }
                            }

                            h3 {
                                font-size: 2.2rem;
                                font-weight: 700;
                                letter-spacing: 0.1em;
                                margin-top: 1rem;

                                @include mixin.inner {
                                    font-size: 22px;
                                    margin-top: 10px;
                                }
                                @include mixin.sp {
                                    font-size: 16px;
                                    margin-top: 5px;
                                }
                            }

                            p {
                                font-size: 1.4rem;
                                font-weight: 400;
                                letter-spacing: 0.05em;
                                line-height: 2;
                                margin-top: 2rem;

                                @include mixin.inner {
                                    font-size: 14px;
                                    margin-top: 20px;
                                }
                                @include mixin.sp {
                                    font-size: 12px;
                                    margin-top: 10px;
                                }
                            }
                        }
                    }
                }
            }
        }

        .news__page {
            width: 90%;
            max-width: 40rem;
            margin: 10rem auto 0;
            display: flex;
            justify-content: space-between;
            align-items: center;

            @include mixin.inner {
                max-width: 400px;
                margin: 100px auto 0;
            }
            @include mixin.sp {
                margin: 50px auto 0;
            }

            li {

                a {
                    display: block;
                    width: 3.5rem;
                    height: 3.5rem;
                    border-radius: 100%;
                    position: relative;

                    @include mixin.inner {
                        width: 35px;
                        height: 35px;
                    }
                    @include mixin.sp {
                        width: 30px;
                        height: 30px;
                    }

                    &:hover {

                        .news__page--num, span {
                            opacity: 1;
                            transition: all 0.3s ease;
                        }
                    }

                    &.active {
                        background: #C41C0F;
                        pointer-events: none;
                        cursor: default;

                        .news__page--num {
                            color: #FFF;
                            opacity: 1;
                        }
                    }

                    .news__page--num {
                        color: #C41C0F;
                        font-size: 1.6rem;
                        font-weight: 500;
                        position: absolute;
                        top: 45%;
                        left: 51%;
                        transform: translate(-50%, -50%);
                        opacity: 0.5;
                        transition: all 0.3s ease;

                        @include mixin.inner {
                            font-size: 16px;
                        }
                        @include mixin.sp {
                            font-size: 12px;
                        }
                    }

                    span {
                        display: block;
                        border-top: 6px solid transparent;
                        border-bottom: 6px solid transparent;
                        position: absolute;
                        top: 50%;
                        left: 50%;
                        transform: translate(-50%, -50%);
                        opacity: 0.5;
                        transition: all 0.3s ease;

                        @include mixin.sp {
                            border-top: 6px solid transparent;
                            border-bottom: 6px solid transparent;
                        }

                        &.prev {
                            border-right: 10px solid #C41C0F;

                            @include mixin.sp {
                                border-right: 10px solid #C41C0F;
                            }
                        }

                        &.next {
                            border-left: 10px solid #C41C0F;

                            @include mixin.sp {
                                border-left: 10px solid #C41C0F;
                            }
                        }
                    }
                }
            }
        }
    }
} */
/* news detail */
.news__detail {
  width: 100%;
  padding: 10rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .news__detail {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .news__detail {
    padding: 50px 0;
  }
}
.news__detail::before, .news__detail::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.news__detail::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .news__detail::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .news__detail::before {
    left: 10px;
  }
}
.news__detail::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .news__detail::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .news__detail::after {
    right: 10px;
  }
}
.news__detail .news__detail__img {
  width: 100%;
  aspect-ratio: 1.6/1;
}
.news__detail .news__detail__img img {
  width: 100%;
  height: 100%;
}
.news__detail .news__detail__index {
  margin-top: 3rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1333px) {
  .news__detail .news__detail__index {
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .news__detail .news__detail__index {
    margin-top: 20px;
  }
}
.news__detail .news__detail__index .news__detail__index--date {
  color: #C41C0F;
  font-size: 1.4rem;
}
@media screen and (min-width: 1333px) {
  .news__detail .news__detail__index .news__detail__index--date {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .news__detail .news__detail__index .news__detail__index--date {
    font-size: 12px;
  }
}
.news__detail .news__detail__index .news__detail__index--cat {
  color: #FFF;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  background: #C41C0F;
  padding: 0.5rem 2rem;
  margin-left: 2rem;
}
@media screen and (min-width: 1333px) {
  .news__detail .news__detail__index .news__detail__index--cat {
    font-size: 12px;
    padding: 5px 20px;
    margin-left: 20px;
  }
}
@media screen and (max-width: 768px) {
  .news__detail .news__detail__index .news__detail__index--cat {
    font-size: 10px;
    padding: 3px 10px;
    margin-left: 10px;
  }
}
.news__detail h3 {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 1rem;
}
@media screen and (min-width: 1333px) {
  .news__detail h3 {
    font-size: 30px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .news__detail h3 {
    font-size: 20px;
    margin-top: 5px;
  }
}
.news__detail p {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .news__detail p {
    font-size: 14px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .news__detail p {
    font-size: 12px;
  }
}
.news__detail a {
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .news__detail a {
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .news__detail a {
    margin: 30px auto 0;
  }
}

/* PAGE SECTION TTl */
.p-sec-ttl {
  font-size: 6.6rem;
  word-break: break-all;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl {
    font-size: 66px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl {
    font-size: 30px;
  }
}
.p-sec-ttl span {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl span {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl span {
    font-size: 12px;
  }
}

/* club */
.club {
  /* exp */
  /* img */
  /* dream */
  /* business */
  /* company */
}
.club .club__exp {
  position: relative;
}
.club .club__exp::before, .club .club__exp::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.club .club__exp::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .club .club__exp::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp::before {
    left: 10px;
  }
}
.club .club__exp::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .club .club__exp::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp::after {
    right: 10px;
  }
}
.club .club__exp .inner01 {
  padding: 10rem 0;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1333px) {
  .club .club__exp .inner01 {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .inner01 {
    padding: 50px 0;
  }
}
.club .club__exp .inner01 .club__exp__index strong {
  display: block;
  color: #C41C0F;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 1333px) {
  .club .club__exp .inner01 .club__exp__index strong {
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .inner01 .club__exp__index strong {
    font-size: 20px;
  }
}
.club .club__exp .inner01 .club__exp__index p {
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 2.5;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .club .club__exp .inner01 .club__exp__index p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .inner01 .club__exp__index p {
    font-size: 14px;
    line-height: 2;
    margin-top: 20px;
  }
}
.club .club__exp .inner01 .club__exp__philosophy {
  margin: 10rem auto 0;
}
@media screen and (min-width: 1333px) {
  .club .club__exp .inner01 .club__exp__philosophy {
    margin: 100px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .inner01 .club__exp__philosophy {
    margin: 50px auto 0;
  }
}
.club .club__exp .inner01 .club__exp__philosophy .club__exp__philosophy__ttl {
  color: #C41C0F;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 1333px) {
  .club .club__exp .inner01 .club__exp__philosophy .club__exp__philosophy__ttl {
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .inner01 .club__exp__philosophy .club__exp__philosophy__ttl {
    font-size: 20px;
  }
}
.club .club__exp .inner01 .club__exp__philosophy ul {
  margin-top: 3rem;
  display: flex;
  justify-content: space-between;
  gap: 0 5rem;
}
@media screen and (min-width: 1333px) {
  .club .club__exp .inner01 .club__exp__philosophy ul {
    margin-top: 30px;
    gap: 0 50px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .inner01 .club__exp__philosophy ul {
    margin-top: 20px;
    flex-wrap: wrap;
    gap: 20px 0;
  }
}
.club .club__exp .inner01 .club__exp__philosophy ul li {
  width: calc(50% - 2.5rem);
}
@media screen and (min-width: 1333px) {
  .club .club__exp .inner01 .club__exp__philosophy ul li {
    width: calc(50% - 25px);
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .inner01 .club__exp__philosophy ul li {
    width: 100%;
  }
}
.club .club__exp .inner01 .club__exp__philosophy ul li strong {
  display: block;
  font-size: 2rem;
  font-weight: 500;
  border-bottom: 1px solid #C41C0F;
  padding: 1rem 0 1rem 2rem;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .club .club__exp .inner01 .club__exp__philosophy ul li strong {
    font-size: 20px;
    padding: 10px 0 10px 20px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .inner01 .club__exp__philosophy ul li strong {
    font-size: 16px;
    padding: 5px 0 5px 13px;
  }
}
.club .club__exp .inner01 .club__exp__philosophy ul li strong::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background: #C41C0F;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (min-width: 1333px) {
  .club .club__exp .inner01 .club__exp__philosophy ul li strong::before {
    width: 10px;
    height: 10px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .inner01 .club__exp__philosophy ul li strong::before {
    width: 5px;
    height: 5px;
  }
}
.club .club__exp .inner01 .club__exp__philosophy ul li p {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 2rem;
}
@media screen and (min-width: 1333px) {
  .club .club__exp .inner01 .club__exp__philosophy ul li p {
    font-size: 16px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .inner01 .club__exp__philosophy ul li p {
    font-size: 12px;
    line-height: 2;
    margin-top: 10px;
  }
}
.club .club__exp .inner01 .club__exp__img {
  width: 90%;
  max-width: 900px;
  margin: 10rem auto 0;
}
@media screen and (min-width: 1333px) {
  .club .club__exp .inner01 .club__exp__img {
    margin: 100px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .inner01 .club__exp__img {
    width: 100%;
    margin: 30px auto 0;
  }
}
.club .club__exp .inner01 .club__exp__img img {
  width: 100%;
  vertical-align: middle;
}
.club .club__exp .club__exp__item {
  width: 32rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1333px) {
  .club .club__exp .club__exp__item {
    width: 320px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__exp .club__exp__item {
    width: 200px;
  }
}
.club .club__exp .club__exp__item img {
  width: 100%;
}
.club .club__img {
  width: 100%;
  height: 45rem;
}
@media screen and (min-width: 1333px) {
  .club .club__img {
    height: 450px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__img {
    height: 300px;
  }
}
.club .club__img img {
  width: 100%;
  height: 100%;
}
.club .club__dream {
  position: relative;
}
.club .club__dream::before, .club .club__dream::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.club .club__dream::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .club .club__dream::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__dream::before {
    left: 10px;
  }
}
.club .club__dream::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .club .club__dream::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__dream::after {
    right: 10px;
  }
}
.club .club__dream .inner01 {
  display: flex;
  justify-content: space-between;
  padding: 10rem 0;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1333px) {
  .club .club__dream .inner01 {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .club .club__dream .inner01 {
    padding: 50px 0;
    flex-wrap: wrap;
  }
}
.club .club__dream .inner01 .club__dream__txt {
  width: 48%;
  border-top: 1px solid #C41C0F;
  border-bottom: 1px solid #C41C0F;
  padding: 4rem 0;
}
@media screen and (min-width: 1333px) {
  .club .club__dream .inner01 .club__dream__txt {
    padding: 40px 0;
  }
}
@media screen and (max-width: 768px) {
  .club .club__dream .inner01 .club__dream__txt {
    width: 100%;
    padding: 20px 0;
    margin-top: 20px;
  }
}
.club .club__dream .inner01 .club__dream__txt h4 {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1333px) {
  .club .club__dream .inner01 .club__dream__txt h4 {
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__dream .inner01 .club__dream__txt h4 {
    font-size: 18px;
  }
}
.club .club__dream .inner01 .club__dream__txt h4 span {
  display: block;
  color: #C41C0F;
  font-size: 1.6rem;
  margin-top: 1rem;
}
@media screen and (min-width: 1333px) {
  .club .club__dream .inner01 .club__dream__txt h4 span {
    font-size: 16px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__dream .inner01 .club__dream__txt h4 span {
    font-size: 12px;
    margin-top: 5px;
  }
}
.club .club__dream .inner01 .club__dream__txt p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .club .club__dream .inner01 .club__dream__txt p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__dream .inner01 .club__dream__txt p {
    font-size: 12px;
    margin-top: 20px;
  }
}
.club .club__dream .inner01 .club__dream__img {
  width: 48%;
}
@media screen and (max-width: 768px) {
  .club .club__dream .inner01 .club__dream__img {
    width: 100%;
  }
}
.club .club__dream .inner01 .club__dream__img img {
  width: 100%;
  height: 100%;
}
.club .club__business {
  background: url("../../asset/images/club/club-business-bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 10rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .club .club__business {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .club .club__business {
    padding: 50px 0;
  }
}
.club .club__business::before, .club .club__business::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
}
.club .club__business::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .club .club__business::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__business::before {
    left: 10px;
  }
}
.club .club__business::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .club .club__business::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__business::after {
    right: 10px;
  }
}
.club .club__business .inner01 h3 {
  color: #FFF;
  text-align: center;
}
.club .club__business .inner01 h3 span {
  color: #FFF;
  text-align: center;
}
.club .club__business .inner01 .club__business__container {
  display: flex;
  justify-content: space-between;
  margin-top: 7rem;
}
@media screen and (min-width: 1333px) {
  .club .club__business .inner01 .club__business__container {
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__business .inner01 .club__business__container {
    margin-top: 30px;
    flex-wrap: wrap;
  }
}
.club .club__business .inner01 .club__business__container .club__business__cnt {
  width: 48%;
  position: relative;
  display: flex;
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  .club .club__business .inner01 .club__business__container .club__business__cnt {
    width: 100%;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__business .inner01 .club__business__container .club__business__cnt:first-child {
    margin-top: 0;
  }
}
.club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__inner {
  width: calc(100% - 3.5rem);
  border: 1px solid #FFF;
  padding: 5rem;
  margin: 0 0 0 auto;
}
@media screen and (min-width: 1333px) {
  .club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__inner {
    width: calc(100% - 35px);
    padding: 50px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__inner {
    width: calc(100% - 20px);
    padding: 25px;
  }
}
.club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__inner h4 {
  color: #FFF;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 1333px) {
  .club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__inner h4 {
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__inner h4 {
    font-size: 16px;
  }
}
.club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__inner p {
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 4rem;
}
@media screen and (min-width: 1333px) {
  .club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__inner p {
    font-size: 16px;
    margin-top: 40px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__inner p {
    font-size: 12px;
    margin-top: 15px;
  }
}
.club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__num {
  color: #FFF;
  font-size: 2rem;
  position: absolute;
  top: 7.5rem;
  left: -7rem;
  transform: rotate(90deg);
}
@media screen and (min-width: 1333px) {
  .club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__num {
    font-size: 20px;
    top: 75px;
    left: -70px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__business .inner01 .club__business__container .club__business__cnt .club__business__cnt__num {
    font-size: 12px;
    top: 40px;
    left: -45px;
  }
}
.club .club__company {
  padding: 10rem 0;
  position: relative;
}
.club .club__company::before, .club .club__company::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.club .club__company::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .club .club__company::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__company::before {
    left: 10px;
  }
}
.club .club__company::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .club .club__company::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__company::after {
    right: 10px;
  }
}
.club .club__company .inner01 h3 {
  color: #C41C0F;
  text-align: center;
}
.club .club__company .inner01 h3 span {
  color: #C41C0F;
  text-align: center;
}
.club .club__company .inner01 table {
  width: 100%;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .club .club__company .inner01 table {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__company .inner01 table {
    margin-top: 20px;
  }
}
.club .club__company .inner01 table tr th {
  width: 23rem;
  color: #C41C0F;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2;
  border-bottom: 1px solid #D0D0D0;
  padding: 2.5rem 5rem;
  vertical-align: top;
}
@media screen and (min-width: 1333px) {
  .club .club__company .inner01 table tr th {
    width: 230px;
    font-size: 16px;
    padding: 25px 50px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__company .inner01 table tr th {
    display: block;
    width: 100%;
    font-size: 14px;
    border-bottom: none;
    padding: 15px 10px 5px;
  }
}
.club .club__company .inner01 table tr td {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  border-bottom: 1px solid #D0D0D0;
  padding: 2.5rem 5rem;
}
@media screen and (min-width: 1333px) {
  .club .club__company .inner01 table tr td {
    font-size: 16px;
    padding: 25px 50px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__company .inner01 table tr td {
    display: block;
    width: 100%;
    font-size: 14px;
    padding: 0 10px 15px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__company .inner01 table tr td ul li {
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__company .inner01 table tr td ul li:nth-child(1) {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .club .club__company .inner01 table tr td ul li:nth-child(2) {
    margin-top: 0;
  }
}
.club .club__company .inner01 table tr td ul li span {
  display: inline-block;
  width: 11rem;
}
@media screen and (min-width: 1333px) {
  .club .club__company .inner01 table tr td ul li span {
    width: 110px;
  }
}
@media screen and (max-width: 768px) {
  .club .club__company .inner01 table tr td ul li span {
    display: block;
    width: 100%;
  }
}

/* HISTORY */
.history {
  padding: 20rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .history {
    padding: 200px 0;
  }
}
@media screen and (max-width: 768px) {
  .history {
    padding: 100px 0;
  }
}
.history::before, .history::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.history::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .history::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .history::before {
    left: 10px;
  }
}
.history::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .history::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .history::after {
    right: 10px;
  }
}
.history .inner01 p {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.7;
}
@media screen and (min-width: 1333px) {
  .history .inner01 p {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .history .inner01 p {
    font-size: 14px;
  }
}

/* PAGE SECTION TTl */
.p-sec-ttl {
  font-size: 6.6rem;
  word-break: break-all;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl {
    font-size: 66px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl {
    font-size: 30px;
  }
}
.p-sec-ttl span {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl span {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl span {
    font-size: 12px;
  }
}

/* team */
.team {
  /* concept */
}
.team .team__exp {
  background: url("../../asset/images/team/team-exp-bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 15rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .team .team__exp {
    padding: 150px 0;
  }
}
@media screen and (max-width: 768px) {
  .team .team__exp {
    padding: 50px 0;
  }
}
.team .team__exp::before, .team .team__exp::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.team .team__exp::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .team .team__exp::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__exp::before {
    left: 10px;
  }
}
.team .team__exp::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .team .team__exp::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__exp::after {
    right: 10px;
  }
}
.team .team__exp .inner01 .team__exp__index {
  display: block;
  color: #C41C0F;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 1333px) {
  .team .team__exp .inner01 .team__exp__index {
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__exp .inner01 .team__exp__index {
    font-size: 20px;
  }
}
.team .team__exp .inner01 .team__exp__img {
  width: 90%;
  max-width: 900px;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .team .team__exp .inner01 .team__exp__img {
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .team .team__exp .inner01 .team__exp__img {
    width: 100%;
    margin: 30px auto 0;
  }
}
.team .team__exp .inner01 .team__exp__img img {
  width: 100%;
  vertical-align: middle;
}
.team .team__exp .inner01 p {
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 2.5;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .team .team__exp .inner01 p {
    font-size: 16px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__exp .inner01 p {
    font-size: 14px;
    margin-top: 30px;
  }
}
.team .team__concept {
  position: relative;
}
.team .team__concept::before, .team .team__concept::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.team .team__concept::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .team .team__concept::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept::before {
    left: 10px;
  }
}
.team .team__concept::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .team .team__concept::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept::after {
    right: 10px;
  }
}
.team .team__concept .inner01 {
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 {
    padding: 50px 0;
  }
}
.team .team__concept .inner01 h3 {
  color: #C41C0F;
  text-align: center;
}
.team .team__concept .inner01 h3 span {
  color: #C41C0F;
}
.team .team__concept .inner01 .team__concept__container {
  margin-top: 7rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__container {
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__container {
    margin-top: 30px;
    flex-wrap: wrap;
  }
}
.team .team__concept .inner01 .team__concept__container .team__concept__cnt {
  width: 32.5%;
  background: url("../../asset/images/team/team-concept-bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 8rem 2rem 5rem;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__container .team__concept__cnt {
    padding: 80px 20px 50px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__container .team__concept__cnt {
    width: 100%;
    padding: 40px 20px 30px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__container .team__concept__cnt:first-child {
    margin-top: 0;
  }
}
.team .team__concept .inner01 .team__concept__container .team__concept__cnt .team__concept__number {
  color: #FFF;
  font-size: 8rem;
  position: absolute;
  top: -2rem;
  left: -0.5rem;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__container .team__concept__cnt .team__concept__number {
    font-size: 80px;
    top: -20px;
    left: -5px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__container .team__concept__cnt .team__concept__number {
    font-size: 40px;
    top: -10px;
    left: -2px;
  }
}
.team .team__concept .inner01 .team__concept__container .team__concept__cnt .team__concept__img {
  width: 100%;
  height: 24rem;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__container .team__concept__cnt .team__concept__img {
    height: 240px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__container .team__concept__cnt .team__concept__img {
    height: 150px;
  }
}
.team .team__concept .inner01 .team__concept__container .team__concept__cnt .team__concept__img img {
  width: 100%;
  height: 100%;
}
.team .team__concept .inner01 .team__concept__container .team__concept__cnt h4 {
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__container .team__concept__cnt h4 {
    font-size: 20px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__container .team__concept__cnt h4 {
    font-size: 16px;
    margin-top: 20px;
  }
}
.team .team__concept .inner01 .team__concept__container .team__concept__cnt p {
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 1.5rem;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__container .team__concept__cnt p {
    font-size: 16px;
    margin-top: 15px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__container .team__concept__cnt p {
    font-size: 12px;
    margin-top: 10px;
  }
}
.team .team__concept .inner01 .team__concept__exp__container {
  margin-top: 10rem;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__exp__container {
    margin-top: 100px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__exp__container {
    margin-top: 50px;
  }
}
.team .team__concept .inner01 .team__concept__exp__container .team__concept__exp {
  margin-top: 7rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp {
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp {
    margin-top: 50px;
    flex-wrap: wrap;
  }
}
.team .team__concept .inner01 .team__concept__exp__container .team__concept__exp:nth-child(2) .club__concept__exp__img {
  order: 2;
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp:nth-child(2) .club__concept__exp__img {
    order: 1;
  }
}
.team .team__concept .inner01 .team__concept__exp__container .team__concept__exp:nth-child(2) .club__concept__exp__txt {
  order: 1;
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp:nth-child(2) .club__concept__exp__txt {
    order: 2;
  }
}
.team .team__concept .inner01 .team__concept__exp__container .team__concept__exp:first-child {
  margin-top: 0;
}
.team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__img {
  width: 48%;
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__img {
    width: 100%;
  }
}
.team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__img img {
  width: 100%;
  height: 100%;
}
.team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt {
  width: 48%;
  border-top: 1px solid #C41C0F;
  border-bottom: 1px solid #C41C0F;
  padding: 4rem 0;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt {
    padding: 40px 0;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt {
    width: 100%;
    padding: 20px 0;
    margin-top: 20px;
  }
}
.team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt h4 {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt h4 {
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt h4 {
    font-size: 18px;
  }
}
.team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt h4 span {
  display: block;
  color: #C41C0F;
  font-size: 1.6rem;
  margin-top: 1rem;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt h4 span {
    font-size: 16px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt h4 span {
    font-size: 12px;
    margin-top: 5px;
  }
}
.team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__concept .inner01 .team__concept__exp__container .team__concept__exp .team__concept__exp__txt p {
    font-size: 12px;
    margin-top: 20px;
  }
}
.team .team__develop {
  background: #FFF;
  padding: 10rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .team .team__develop {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .team .team__develop {
    padding: 50px 0;
  }
}
.team .team__develop::before, .team .team__develop::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.team .team__develop::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .team .team__develop::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__develop::before {
    left: 10px;
  }
}
.team .team__develop::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .team .team__develop::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__develop::after {
    right: 10px;
  }
}
.team .team__develop .inner01 h3 {
  color: #C41C0F;
  text-align: center;
}
.team .team__develop .inner01 h3 span {
  color: #C41C0F;
  text-align: center;
}
.team .team__develop .inner01 .team__develop__img {
  width: 100%;
  max-width: 100rem;
  margin-top: 7rem;
}
@media screen and (min-width: 1333px) {
  .team .team__develop .inner01 .team__develop__img {
    max-width: 1000px;
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__develop .inner01 .team__develop__img {
    max-width: 400px;
    margin: 50px auto 0;
  }
}
.team .team__develop .inner01 .team__develop__img img {
  width: 100%;
}
.team .team__link {
  padding: 10rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .team .team__link {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .team .team__link {
    padding: 50px 0;
  }
}
.team .team__link::before, .team .team__link::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.team .team__link::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .team .team__link::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__link::before {
    left: 10px;
  }
}
.team .team__link::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .team .team__link::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__link::after {
    right: 10px;
  }
}
.team .team__link .inner01 .team__link__container .team__link__cnt {
  display: flex;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt {
    flex-wrap: wrap;
    margin-top: 30px;
  }
}
.team .team__link .inner01 .team__link__container .team__link__cnt:first-child {
  margin-top: 0;
}
.team .team__link .inner01 .team__link__container .team__link__cnt:hover .team__link__img img {
  transform: scale(1.1, 1.1);
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt:hover .team__link__img img {
    transform: scale(1, 1);
  }
}
.team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt {
  width: 50%;
  background: url("../../asset/images/team/team-link-bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 5rem;
}
@media screen and (min-width: 1333px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt {
    padding: 50px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt {
    width: 100%;
    padding: 25px;
    order: 2;
  }
}
.team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt h4 {
  color: #FFF;
  font-size: 3rem;
}
@media screen and (min-width: 1333px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt h4 {
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt h4 {
    font-size: 20px;
  }
}
.team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt h4 span {
  display: block;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 0.5rem;
}
@media screen and (min-width: 1333px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt h4 span {
    font-size: 16px;
    margin-top: 5px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt h4 span {
    font-size: 12px;
  }
}
.team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt p {
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt p {
    font-size: 14px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt .team__link__txt p {
    font-size: 12px;
    margin-top: 20px;
  }
}
.team .team__link .inner01 .team__link__container .team__link__cnt .team__link__img {
  width: 50%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt .team__link__img {
    width: 100%;
    height: 200px;
    order: 1;
  }
}
.team .team__link .inner01 .team__link__container .team__link__cnt .team__link__img img {
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .team .team__link .inner01 .team__link__container .team__link__cnt .team__link__img img {
    -o-object-position: 50% 25%;
       object-position: 50% 25%;
  }
}

/* U12 */
.u12 {
  position: relative;
}
.u12::before, .u12::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.u12::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .u12::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u12::before {
    left: 10px;
  }
}
.u12::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .u12::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u12::after {
    right: 10px;
  }
}
.u12 .u12__exp {
  background: #FFF;
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__exp {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__exp {
    padding: 50px 0;
  }
}
.u12 .u12__exp .inner01 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .u12 .u12__exp .inner01 {
    flex-wrap: wrap;
  }
}
.u12 .u12__exp .inner01 .u12__exp__img {
  width: 45%;
  height: 60rem;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__exp .inner01 .u12__exp__img {
    height: 600px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__exp .inner01 .u12__exp__img {
    width: 100%;
    height: 350px;
  }
}
.u12 .u12__exp .inner01 .u12__exp__img img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .u12 .u12__exp .inner01 .u12__exp__img img {
    -o-object-position: 50% 20%;
       object-position: 50% 20%;
  }
}
.u12 .u12__exp .inner01 .u12__exp__txt {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .u12 .u12__exp .inner01 .u12__exp__txt {
    width: 100%;
    margin-top: 30px;
  }
}
.u12 .u12__exp .inner01 .u12__exp__txt h3 {
  color: #C41C0F;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__exp .inner01 .u12__exp__txt h3 {
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__exp .inner01 .u12__exp__txt h3 {
    font-size: 24px;
  }
}
.u12 .u12__exp .inner01 .u12__exp__txt p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__exp .inner01 .u12__exp__txt p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__exp .inner01 .u12__exp__txt p {
    font-size: 14px;
    margin-top: 15px;
  }
}
.u12 .u12__exp .inner01 .u12__exp__txt p:nth-child(1) {
  margin-top: 0;
}
.u12 .u12__info {
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info {
    padding: 50px 0;
  }
}
.u12 .u12__info .u12__ttl {
  width: 100%;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  background: linear-gradient(-45deg, #770000, #120101);
  padding: 2rem 0;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__ttl {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__ttl {
    font-size: 14px;
    padding: 15px 0;
  }
}
.u12 .u12__info .u12__info__btn__wrap {
  display: flex;
  justify-content: space-between;
}
.u12 .u12__info .u12__info__btn__wrap .u12__info__btn {
  width: 48%;
  border: 1px solid #120101;
  padding: 2rem 0;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__info__btn__wrap .u12__info__btn {
    padding: 20px 0;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__btn__wrap .u12__info__btn {
    padding: 10px 0;
  }
}
.u12 .u12__info .u12__info__btn__wrap .u12__info__btn.active {
  background: linear-gradient(-45deg, #770000, #120101);
  border: 1px solid transparent;
  transition: all 0.3s ease;
}
.u12 .u12__info .u12__info__btn__wrap .u12__info__btn.active p {
  color: #FFF;
  transition: all 0.3s ease;
}
.u12 .u12__info .u12__info__btn__wrap .u12__info__btn p {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__info__btn__wrap .u12__info__btn p {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__btn__wrap .u12__info__btn p {
    font-size: 12px;
  }
}
.u12 .u12__info .u12__info__table__wrap {
  display: none;
  background: #FFF;
  padding: 5rem;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__info__table__wrap {
    padding: 50px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__table__wrap {
    padding: 15px;
    margin-top: 15px;
  }
}
.u12 .u12__info .u12__info__table__wrap.active {
  display: block;
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table {
  width: 100%;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table {
    margin-top: 30px;
    overflow: auto;
  }
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table:first-child {
  margin-top: 0;
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table h3 {
  width: 100%;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #C41C0F;
  padding: 15px 0;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table h3 {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table h3 {
    font-size: 12px;
    padding: 10px 0;
  }
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table table {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table table {
    min-width: 500px;
  }
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table table tr th, .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
  border: 1px solid #D0D0D0;
  padding: 0 0.5rem;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr th, .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td {
    font-size: 14px;
    padding: 0 5px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr th, .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td {
    font-size: 11px;
  }
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table table tr th {
  width: 15%;
  font-weight: 700;
  background: #F9F9F9;
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table table tr th.bold {
  color: #C41C0F;
  font-weight: 700;
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td {
  width: 12.1428571429%;
  height: 6rem;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td {
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td {
    height: 60px;
  }
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td.bold {
  color: #C41C0F;
  font-weight: 700;
  background: #F9F9F9;
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td.detail {
  text-align: left;
  padding: 3rem;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td.detail {
    padding: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td.detail {
    padding: 15px;
  }
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td.total {
  width: 70%;
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td.total {
    width: 76%;
  }
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td ul li {
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-indent: -1.7rem;
  padding-left: 1.7rem;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td ul li {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table table tr td ul li {
    font-size: 12px;
    text-indent: -2.5rem;
    padding-left: 1.5rem;
  }
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table .u12__info__list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2px;
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table .u12__info__list li {
  width: 50%;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.7;
  border: 1px solid #D0D0D0;
  padding: 1.5rem 3rem;
  margin-top: -1px;
  margin-left: -1px;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table .u12__info__list li {
    font-size: 14px;
    padding: 15px 30px;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__table .u12__info__list li {
    width: 100%;
    font-size: 12px;
    padding: 10px 20px;
  }
}
.u12 .u12__info .u12__info__table__wrap .u12__info__table .u12__info__list li.u12__info__list__ttl {
  width: 100%;
  font-weight: 700;
  text-align: center;
  background: #F9F9F9;
  border: 1px solid #D0D0D0;
}
.u12 .u12__info .u12__info__table__wrap .u12__info__schedule {
  display: block;
  width: 40rem;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #D8B868;
  padding: 1.5rem 0;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__schedule {
    width: 400px;
    font-size: 18px;
    padding: 15px 0;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .u12 .u12__info .u12__info__table__wrap .u12__info__schedule {
    width: 100%;
    font-size: 14px;
    padding: 15px;
    margin: 30px auto 0;
  }
}

/* U15 */
.u15 {
  position: relative;
}
.u15::before, .u15::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.u15::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .u15::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u15::before {
    left: 10px;
  }
}
.u15::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .u15::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u15::after {
    right: 10px;
  }
}
.u15 .u15__exp {
  background: #FFF;
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__exp {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__exp {
    padding: 50px 0;
  }
}
.u15 .u15__exp .inner01 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .u15 .u15__exp .inner01 {
    flex-wrap: wrap;
  }
}
.u15 .u15__exp .inner01 .u15__exp__img {
  width: 45%;
  height: 60rem;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__exp .inner01 .u15__exp__img {
    height: 600px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__exp .inner01 .u15__exp__img {
    width: 100%;
    height: 350px;
  }
}
.u15 .u15__exp .inner01 .u15__exp__img img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .u15 .u15__exp .inner01 .u15__exp__img img {
    -o-object-position: 50% 20%;
       object-position: 50% 20%;
  }
}
.u15 .u15__exp .inner01 .u15__exp__txt {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .u15 .u15__exp .inner01 .u15__exp__txt {
    width: 100%;
    margin-top: 30px;
  }
}
.u15 .u15__exp .inner01 .u15__exp__txt h3 {
  color: #C41C0F;
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__exp .inner01 .u15__exp__txt h3 {
    font-size: 38px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__exp .inner01 .u15__exp__txt h3 {
    font-size: 22px;
  }
}
.u15 .u15__exp .inner01 .u15__exp__txt p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__exp .inner01 .u15__exp__txt p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__exp .inner01 .u15__exp__txt p {
    font-size: 14px;
    margin-top: 15px;
  }
}
.u15 .u15__exp .inner01 .u15__exp__txt p:nth-child(1) {
  margin-top: 0;
}
.u15 .u15__info {
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info {
    padding: 50px 0;
  }
}
.u15 .u15__info .u15__info__btn__wrap {
  display: flex;
  justify-content: space-between;
}
.u15 .u15__info .u15__info__btn__wrap .u15__info__btn {
  width: 48%;
  border: 1px solid #120101;
  padding: 2rem 0;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info .u15__info__btn__wrap .u15__info__btn {
    padding: 20px 0;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__btn__wrap .u15__info__btn {
    padding: 15px 0;
  }
}
.u15 .u15__info .u15__info__btn__wrap .u15__info__btn.active {
  background: linear-gradient(-45deg, #770000, #120101);
  border: 1px solid transparent;
  transition: all 0.3s ease;
}
.u15 .u15__info .u15__info__btn__wrap .u15__info__btn.active p {
  color: #FFF;
  transition: all 0.3s ease;
}
.u15 .u15__info .u15__info__btn__wrap .u15__info__btn p {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info .u15__info__btn__wrap .u15__info__btn p {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__btn__wrap .u15__info__btn p {
    font-size: 14px;
  }
}
.u15 .u15__info .u15__info__table__wrap {
  display: none;
  background: #FFF;
  padding: 5rem;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info .u15__info__table__wrap {
    padding: 50px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap {
    padding: 15px;
    margin-top: 15px;
  }
}
.u15 .u15__info .u15__info__table__wrap.active {
  display: block;
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table {
  width: 100%;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table {
    margin-top: 30px;
    overflow: auto;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table.none {
    overflow: visible;
  }
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table:first-child {
  margin-top: 0;
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table h3 {
  width: 100%;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #C41C0F;
  padding: 15px 0;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table h3 {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table h3 {
    font-size: 12px;
    padding: 10px 0;
  }
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table table {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table table {
    min-width: 500px;
  }
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table table tr th, .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
  border: 1px solid #D0D0D0;
  padding: 0 0.5rem;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr th, .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td {
    font-size: 14px;
    padding: 0 5px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr th, .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td {
    font-size: 11px;
  }
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table table tr th {
  width: 15%;
  font-weight: 700;
  background: #F9F9F9;
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table table tr th.bold {
  color: #C41C0F;
  font-weight: 700;
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td {
  width: 12.1428571429%;
  height: 6rem;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td {
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td {
    height: 60px;
  }
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td.bold {
  color: #C41C0F;
  font-weight: 700;
  background: #F9F9F9;
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td.detail {
  text-align: left;
  padding: 3rem;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td.detail {
    padding: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td.detail {
    padding: 15px;
  }
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td.total {
  width: 70%;
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td.total {
    width: 76%;
  }
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td ul li {
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-indent: -1.7rem;
  padding-left: 1.7rem;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td ul li {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table table tr td ul li {
    font-size: 12px;
    text-indent: -2.5rem;
    padding-left: 1.5rem;
  }
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table .u15__info__list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2px;
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table .u15__info__list li {
  width: 50%;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.7;
  border: 1px solid #D0D0D0;
  padding: 1.5rem 3rem;
  margin-top: -1px;
  margin-left: -1px;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table .u15__info__list li {
    font-size: 14px;
    padding: 15px 30px;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__table .u15__info__list li {
    width: 100%;
    font-size: 12px;
    padding: 10px 20px;
  }
}
.u15 .u15__info .u15__info__table__wrap .u15__info__table .u15__info__list li.u15__info__list__ttl {
  width: 100%;
  font-weight: 700;
  text-align: center;
  background: #F9F9F9;
  border: 1px solid #CACACA;
}
.u15 .u15__info .u15__info__table__wrap .u15__info__schedule {
  display: block;
  width: 40rem;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #D8B868;
  padding: 1.5rem 0;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__schedule {
    width: 400px;
    font-size: 18px;
    padding: 15px 0;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .u15 .u15__info .u15__info__table__wrap .u15__info__schedule {
    width: 100%;
    font-size: 14px;
    padding: 15px;
    margin: 30px auto 0;
  }
}

/* PAGE SECTION TTl */
.p-sec-ttl {
  font-size: 6.6rem;
  word-break: break-all;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl {
    font-size: 66px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl {
    font-size: 30px;
  }
}
.p-sec-ttl span {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl span {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl span {
    font-size: 12px;
  }
}

/* school */
.school .school__link {
  padding: 10rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .school .school__link {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .school .school__link {
    padding: 50px 0;
  }
}
.school .school__link::before, .school .school__link::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.school .school__link::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .school .school__link::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .school .school__link::before {
    left: 10px;
  }
}
.school .school__link::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .school .school__link::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .school .school__link::after {
    right: 10px;
  }
}
.school .school__link .inner01 .school__link__container .school__link__cnt {
  display: flex;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt {
    flex-wrap: wrap;
    margin-top: 30px;
  }
}
.school .school__link .inner01 .school__link__container .school__link__cnt:first-child {
  margin-top: 0;
}
.school .school__link .inner01 .school__link__container .school__link__cnt:hover .school__link__img img {
  transform: scale(1.1, 1.1);
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt:hover .school__link__img img {
    transform: scale(1, 1);
  }
}
.school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt {
  width: 50%;
  background: url("../../asset/images/team/team-link-bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 5rem;
}
@media screen and (min-width: 1333px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt {
    padding: 50px;
  }
}
@media screen and (max-width: 768px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt {
    width: 100%;
    padding: 25px;
    order: 2;
  }
}
.school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt h4 {
  color: #FFF;
  font-size: 2.8rem;
}
@media screen and (min-width: 1333px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt h4 {
    font-size: 28px;
  }
}
@media screen and (max-width: 768px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt h4 {
    font-size: 20px;
  }
}
.school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt h4 span {
  display: block;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 0.5rem;
}
@media screen and (min-width: 1333px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt h4 span {
    font-size: 16px;
    margin-top: 5px;
  }
}
@media screen and (max-width: 768px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt h4 span {
    font-size: 12px;
  }
}
.school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt p {
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt p {
    font-size: 14px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt .school__link__txt p {
    font-size: 12px;
    margin-top: 20px;
  }
}
.school .school__link .inner01 .school__link__container .school__link__cnt .school__link__img {
  width: 50%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt .school__link__img {
    width: 100%;
    height: 200px;
    order: 1;
  }
}
.school .school__link .inner01 .school__link__container .school__link__cnt .school__link__img img {
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .school .school__link .inner01 .school__link__container .school__link__cnt .school__link__img img {
    -o-object-position: 50% 25%;
       object-position: 50% 25%;
  }
}

/* SPECIAL */
.special {
  position: relative;
}
.special::before, .special::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.special::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .special::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .special::before {
    left: 10px;
  }
}
.special::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .special::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .special::after {
    right: 10px;
  }
}
.special .special__exp {
  background: #FFF;
  padding: 10rem 0 5rem;
}
@media screen and (min-width: 1333px) {
  .special .special__exp {
    padding: 100px 0 50px;
  }
}
@media screen and (max-width: 768px) {
  .special .special__exp {
    padding: 50px 0 25px;
  }
}
.special .special__exp .inner01 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .special .special__exp .inner01 {
    flex-wrap: wrap;
  }
}
.special .special__exp .inner01 .special__exp__img {
  width: 45%;
  height: 55rem;
}
@media screen and (min-width: 1333px) {
  .special .special__exp .inner01 .special__exp__img {
    height: 550px;
  }
}
@media screen and (max-width: 768px) {
  .special .special__exp .inner01 .special__exp__img {
    width: 100%;
    height: 350px;
  }
}
.special .special__exp .inner01 .special__exp__img img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .special .special__exp .inner01 .special__exp__img img {
    -o-object-position: 50% 20%;
       object-position: 50% 20%;
  }
}
.special .special__exp .inner01 .special__exp__txt {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .special .special__exp .inner01 .special__exp__txt {
    width: 100%;
    margin-top: 30px;
  }
}
.special .special__exp .inner01 .special__exp__txt h3 {
  color: #C41C0F;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 1333px) {
  .special .special__exp .inner01 .special__exp__txt h3 {
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .special .special__exp .inner01 .special__exp__txt h3 {
    font-size: 24px;
  }
}
.special .special__exp .inner01 .special__exp__txt p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .special .special__exp .inner01 .special__exp__txt p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .special .special__exp .inner01 .special__exp__txt p {
    font-size: 14px;
    margin-top: 15px;
  }
}
.special .special__exp .inner01 .special__exp__txt p:nth-child(1) {
  margin-top: 0;
}
.special .special__exp .inner01 .special__exp__txt .special__exp__txt__item {
  width: 90%;
  max-width: 300px;
  margin: 3rem auto 0;
}
@media screen and (min-width: 1333px) {
  .special .special__exp .inner01 .special__exp__txt .special__exp__txt__item {
    margin: 30px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .special .special__exp .inner01 .special__exp__txt .special__exp__txt__item {
    margin: 5rem auto 0;
  }
}
.special .special__exp .inner01 .special__exp__txt .special__exp__txt__item img {
  width: 100%;
}
.special .special__info {
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .special .special__info {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .special .special__info {
    padding: 50px 0;
  }
}
.special .special__info .special__ttl {
  width: 100%;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  background: linear-gradient(-45deg, #770000, #120101);
  padding: 2rem 0;
}
@media screen and (min-width: 1333px) {
  .special .special__info .special__ttl {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .special .special__info .special__ttl {
    font-size: 14px;
    padding: 15px 0;
  }
}
.special .special__info .special__info__table__wrap {
  display: none;
  background: #FFF;
  padding: 5rem;
}
@media screen and (min-width: 1333px) {
  .special .special__info .special__info__table__wrap {
    padding: 50px;
  }
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap {
    padding: 15px;
  }
}
.special .special__info .special__info__table__wrap.active {
  display: block;
}
.special .special__info .special__info__table__wrap .special__info__table {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap .special__info__table {
    overflow: auto;
  }
}
.special .special__info .special__info__table__wrap .special__info__table:first-child {
  margin-top: 0;
}
.special .special__info .special__info__table__wrap .special__info__table h3 {
  width: 100%;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #C41C0F;
  padding: 15px 0;
}
@media screen and (min-width: 1333px) {
  .special .special__info .special__info__table__wrap .special__info__table h3 {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap .special__info__table h3 {
    font-size: 12px;
    padding: 10px 0;
  }
}
.special .special__info .special__info__table__wrap .special__info__table table {
  width: 100%;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap .special__info__table table {
    min-width: 500px;
  }
}
.special .special__info .special__info__table__wrap .special__info__table table tr th, .special .special__info .special__info__table__wrap .special__info__table table tr td {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
  border: 1px solid #D0D0D0;
  padding: 0 0.5rem;
}
@media screen and (min-width: 1333px) {
  .special .special__info .special__info__table__wrap .special__info__table table tr th, .special .special__info .special__info__table__wrap .special__info__table table tr td {
    font-size: 14px;
    padding: 0 5px;
  }
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap .special__info__table table tr th, .special .special__info .special__info__table__wrap .special__info__table table tr td {
    font-size: 11px;
  }
}
.special .special__info .special__info__table__wrap .special__info__table table tr th {
  width: 26rem;
  max-width: 260px;
  font-weight: 500;
  background: #F9F9F9;
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap .special__info__table table tr th {
    width: 130px;
  }
}
.special .special__info .special__info__table__wrap .special__info__table table tr th.bold {
  color: #C41C0F;
  font-weight: 700;
}
.special .special__info .special__info__table__wrap .special__info__table table tr td {
  height: 6rem;
}
@media screen and (min-width: 1333px) {
  .special .special__info .special__info__table__wrap .special__info__table table tr td {
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap .special__info__table table tr td {
    height: 60px;
  }
}
.special .special__info .special__info__table__wrap .special__info__table table tr td.gray {
  font-weight: 500;
  background: #F9F9F9;
}
.special .special__info .special__info__table__wrap .special__info__table table tr td.bold {
  color: #C41C0F;
  font-weight: 700;
  background: #F9F9F9;
}
.special .special__info .special__info__table__wrap .special__info__table table tr td.detail {
  text-align: left;
  padding: 3rem;
}
@media screen and (min-width: 1333px) {
  .special .special__info .special__info__table__wrap .special__info__table table tr td.detail {
    padding: 30px;
  }
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap .special__info__table table tr td.detail {
    padding: 15px;
  }
}
.special .special__info .special__info__table__wrap .special__info__table table tr td.total {
  width: 70%;
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap .special__info__table table tr td.total {
    width: 76%;
  }
}
.special .special__info .special__info__table__wrap .special__info__table table tr td ul li {
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-indent: -1.7rem;
  padding-left: 1.7rem;
}
@media screen and (min-width: 1333px) {
  .special .special__info .special__info__table__wrap .special__info__table table tr td ul li {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap .special__info__table table tr td ul li {
    font-size: 12px;
    text-indent: -2.5rem;
    padding-left: 1.5rem;
  }
}
.special .special__info .special__info__table__wrap .special__info__table .special__info__list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2px;
}
.special .special__info .special__info__table__wrap .special__info__table .special__info__list li {
  width: 50%;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.7;
  border: 1px solid #D0D0D0;
  padding: 1.5rem 0;
  margin-top: -1px;
  margin-left: -1px;
}
@media screen and (min-width: 1333px) {
  .special .special__info .special__info__table__wrap .special__info__table .special__info__list li {
    font-size: 14px;
    padding: 15px 0;
  }
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap .special__info__table .special__info__list li {
    width: 100%;
    font-size: 12px;
    padding: 10px 0;
  }
}
.special .special__info .special__info__table__wrap .special__info__schedule {
  display: block;
  width: 40rem;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #D8B868;
  padding: 1.5rem 0;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .special .special__info .special__info__table__wrap .special__info__schedule {
    width: 400px;
    font-size: 18px;
    padding: 15px 0;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .special .special__info .special__info__table__wrap .special__info__schedule {
    width: 100%;
    font-size: 14px;
    padding: 15px;
    margin: 30px auto 0;
  }
}

/* ADVANCE */
.advance {
  position: relative;
}
.advance::before, .advance::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.advance::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .advance::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .advance::before {
    left: 10px;
  }
}
.advance::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .advance::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .advance::after {
    right: 10px;
  }
}
.advance .advance__exp {
  background: #FFF;
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .advance .advance__exp {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__exp {
    padding: 50px 0;
  }
}
.advance .advance__exp .inner01 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .advance .advance__exp .inner01 {
    flex-wrap: wrap;
  }
}
.advance .advance__exp .inner01 .advance__exp__img {
  width: 45%;
  height: 55rem;
}
@media screen and (min-width: 1333px) {
  .advance .advance__exp .inner01 .advance__exp__img {
    height: 550px;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__exp .inner01 .advance__exp__img {
    width: 100%;
    height: 350px;
  }
}
.advance .advance__exp .inner01 .advance__exp__img img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .advance .advance__exp .inner01 .advance__exp__img img {
    -o-object-position: 50% 20%;
       object-position: 50% 20%;
  }
}
.advance .advance__exp .inner01 .advance__exp__txt {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .advance .advance__exp .inner01 .advance__exp__txt {
    width: 100%;
    margin-top: 30px;
  }
}
.advance .advance__exp .inner01 .advance__exp__txt h3 {
  color: #C41C0F;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 1333px) {
  .advance .advance__exp .inner01 .advance__exp__txt h3 {
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__exp .inner01 .advance__exp__txt h3 {
    font-size: 24px;
  }
}
.advance .advance__exp .inner01 .advance__exp__txt p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .advance .advance__exp .inner01 .advance__exp__txt p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__exp .inner01 .advance__exp__txt p {
    font-size: 14px;
    margin-top: 15px;
  }
}
.advance .advance__exp .inner01 .advance__exp__txt p:nth-child(1) {
  margin-top: 0;
}
.advance .advance__info {
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .advance .advance__info {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__info {
    padding: 50px 0;
  }
}
.advance .advance__info .advance__ttl {
  width: 100%;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  background: linear-gradient(-45deg, #770000, #120101);
  padding: 2rem 0;
}
@media screen and (min-width: 1333px) {
  .advance .advance__info .advance__ttl {
    font-size: 18px;
    padding: 20px 0;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__ttl {
    font-size: 14px;
    padding: 15px 0;
  }
}
.advance .advance__info .advance__info__table__wrap {
  display: none;
  background: #FFF;
  padding: 5rem;
}
@media screen and (min-width: 1333px) {
  .advance .advance__info .advance__info__table__wrap {
    padding: 50px;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__info__table__wrap {
    padding: 15px;
  }
}
.advance .advance__info .advance__info__table__wrap.active {
  display: block;
}
.advance .advance__info .advance__info__table__wrap .advance__info__table {
  width: 100%;
}
.advance .advance__info .advance__info__table__wrap .advance__info__table:first-child {
  margin-top: 0;
}
.advance .advance__info .advance__info__table__wrap .advance__info__table h3 {
  width: 100%;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #C41C0F;
  padding: 15px 0;
}
@media screen and (min-width: 1333px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table h3 {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table h3 {
    font-size: 12px;
    padding: 10px 0;
  }
}
.advance .advance__info .advance__info__table__wrap .advance__info__table table {
  width: 100%;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table table {
    min-width: 500px;
  }
}
.advance .advance__info .advance__info__table__wrap .advance__info__table table tr th, .advance .advance__info .advance__info__table__wrap .advance__info__table table tr td {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
  border: 1px solid #D0D0D0;
  padding: 0 0.5rem;
}
@media screen and (min-width: 1333px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table table tr th, .advance .advance__info .advance__info__table__wrap .advance__info__table table tr td {
    font-size: 14px;
    padding: 0 5px;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table table tr th, .advance .advance__info .advance__info__table__wrap .advance__info__table table tr td {
    font-size: 11px;
  }
}
.advance .advance__info .advance__info__table__wrap .advance__info__table table tr th {
  width: 26rem;
  max-width: 260px;
  font-weight: 500;
  background: #F9F9F9;
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table table tr th {
    width: 130px;
  }
}
.advance .advance__info .advance__info__table__wrap .advance__info__table table tr th.bold {
  color: #C41C0F;
  font-weight: 700;
}
.advance .advance__info .advance__info__table__wrap .advance__info__table table tr td {
  height: 6rem;
}
@media screen and (min-width: 1333px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table table tr td {
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table table tr td {
    height: 60px;
  }
}
.advance .advance__info .advance__info__table__wrap .advance__info__table table tr td.gray {
  font-weight: 500;
  background: #F9F9F9;
}
.advance .advance__info .advance__info__table__wrap .advance__info__table table tr td.bold {
  color: #C41C0F;
  font-weight: 700;
  background: #F9F9F9;
}
.advance .advance__info .advance__info__table__wrap .advance__info__table table tr td.detail {
  text-align: left;
  padding: 3rem;
}
@media screen and (min-width: 1333px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table table tr td.detail {
    padding: 30px;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table table tr td.detail {
    padding: 15px;
  }
}
.advance .advance__info .advance__info__table__wrap .advance__info__table table tr td.total {
  width: 70%;
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table table tr td.total {
    width: 76%;
  }
}
.advance .advance__info .advance__info__table__wrap .advance__info__table table tr td ul li {
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-indent: -1.7rem;
  padding-left: 1.7rem;
}
@media screen and (min-width: 1333px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table table tr td ul li {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table table tr td ul li {
    font-size: 12px;
    text-indent: -2.5rem;
    padding-left: 1.5rem;
  }
}
.advance .advance__info .advance__info__table__wrap .advance__info__table .advance__info__list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2px;
}
.advance .advance__info .advance__info__table__wrap .advance__info__table .advance__info__list li {
  width: 50%;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.7;
  border: 1px solid #D0D0D0;
  padding: 1.5rem 0;
  margin-top: -1px;
  margin-left: -1px;
}
@media screen and (min-width: 1333px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table .advance__info__list li {
    font-size: 14px;
    padding: 15px 0;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__table .advance__info__list li {
    width: 100%;
    font-size: 12px;
    padding: 10px 0;
  }
}
.advance .advance__info .advance__info__table__wrap .advance__info__schedule {
  display: block;
  width: 40rem;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #D8B868;
  padding: 1.5rem 0;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__schedule {
    width: 400px;
    font-size: 18px;
    padding: 15px 0;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .advance .advance__info .advance__info__table__wrap .advance__info__schedule {
    width: 100%;
    font-size: 14px;
    padding: 15px;
    margin: 30px auto 0;
  }
}

/* GK */
.gk {
  position: relative;
}
.gk::before, .gk::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.gk::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .gk::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .gk::before {
    left: 10px;
  }
}
.gk::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .gk::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .gk::after {
    right: 10px;
  }
}
.gk .gk__exp {
  background: #FFF;
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .gk .gk__exp {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__exp {
    padding: 50px 0;
  }
}
.gk .gk__exp .inner01 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .gk .gk__exp .inner01 {
    flex-wrap: wrap;
  }
}
.gk .gk__exp .inner01 .gk__exp__img {
  width: 45%;
  height: 55rem;
}
@media screen and (min-width: 1333px) {
  .gk .gk__exp .inner01 .gk__exp__img {
    height: 550px;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__exp .inner01 .gk__exp__img {
    width: 100%;
    height: 350px;
  }
}
.gk .gk__exp .inner01 .gk__exp__img img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .gk .gk__exp .inner01 .gk__exp__img img {
    -o-object-position: 50% 20%;
       object-position: 50% 20%;
  }
}
.gk .gk__exp .inner01 .gk__exp__txt {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .gk .gk__exp .inner01 .gk__exp__txt {
    width: 100%;
    margin-top: 30px;
  }
}
.gk .gk__exp .inner01 .gk__exp__txt h3 {
  color: #C41C0F;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 1333px) {
  .gk .gk__exp .inner01 .gk__exp__txt h3 {
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__exp .inner01 .gk__exp__txt h3 {
    font-size: 24px;
  }
}
.gk .gk__exp .inner01 .gk__exp__txt p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .gk .gk__exp .inner01 .gk__exp__txt p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__exp .inner01 .gk__exp__txt p {
    font-size: 14px;
    margin-top: 15px;
  }
}
.gk .gk__exp .inner01 .gk__exp__txt p:nth-child(1) {
  margin-top: 0;
}
.gk .gk__info {
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .gk .gk__info {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__info {
    padding: 50px 0;
  }
}
.gk .gk__info .gk__ttl {
  width: 100%;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  background: linear-gradient(-45deg, #770000, #120101);
  padding: 2rem 0;
}
@media screen and (min-width: 1333px) {
  .gk .gk__info .gk__ttl {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__ttl {
    font-size: 14px;
    padding: 15px 0;
  }
}
.gk .gk__info .gk__info__table__wrap {
  display: none;
  background: #FFF;
  padding: 5rem;
}
@media screen and (min-width: 1333px) {
  .gk .gk__info .gk__info__table__wrap {
    padding: 50px;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__info__table__wrap {
    padding: 15px;
  }
}
.gk .gk__info .gk__info__table__wrap.active {
  display: block;
}
.gk .gk__info .gk__info__table__wrap .gk__info__table {
  width: 100%;
}
.gk .gk__info .gk__info__table__wrap .gk__info__table:first-child {
  margin-top: 0;
}
.gk .gk__info .gk__info__table__wrap .gk__info__table h3 {
  width: 100%;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #C41C0F;
  padding: 15px 0;
}
@media screen and (min-width: 1333px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table h3 {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table h3 {
    font-size: 12px;
    padding: 10px 0;
  }
}
.gk .gk__info .gk__info__table__wrap .gk__info__table table {
  width: 100%;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table table {
    min-width: 500px;
  }
}
.gk .gk__info .gk__info__table__wrap .gk__info__table table tr th, .gk .gk__info .gk__info__table__wrap .gk__info__table table tr td {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
  border: 1px solid #D0D0D0;
  padding: 0 0.5rem;
}
@media screen and (min-width: 1333px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table table tr th, .gk .gk__info .gk__info__table__wrap .gk__info__table table tr td {
    font-size: 14px;
    padding: 0 5px;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table table tr th, .gk .gk__info .gk__info__table__wrap .gk__info__table table tr td {
    font-size: 11px;
  }
}
.gk .gk__info .gk__info__table__wrap .gk__info__table table tr th {
  width: 26rem;
  max-width: 260px;
  font-weight: 500;
  background: #F9F9F9;
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table table tr th {
    width: 130px;
  }
}
.gk .gk__info .gk__info__table__wrap .gk__info__table table tr th.bold {
  color: #C41C0F;
  font-weight: 700;
}
.gk .gk__info .gk__info__table__wrap .gk__info__table table tr td {
  height: 6rem;
}
@media screen and (min-width: 1333px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table table tr td {
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table table tr td {
    height: 60px;
  }
}
.gk .gk__info .gk__info__table__wrap .gk__info__table table tr td.gray {
  font-weight: 500;
  background: #F9F9F9;
}
.gk .gk__info .gk__info__table__wrap .gk__info__table table tr td.bold {
  color: #C41C0F;
  font-weight: 700;
  background: #F9F9F9;
}
.gk .gk__info .gk__info__table__wrap .gk__info__table table tr td.detail {
  text-align: left;
  padding: 3rem;
}
@media screen and (min-width: 1333px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table table tr td.detail {
    padding: 30px;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table table tr td.detail {
    padding: 15px;
  }
}
.gk .gk__info .gk__info__table__wrap .gk__info__table table tr td.total {
  width: 70%;
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table table tr td.total {
    width: 76%;
  }
}
.gk .gk__info .gk__info__table__wrap .gk__info__table table tr td ul li {
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-indent: -1.7rem;
  padding-left: 1.7rem;
}
@media screen and (min-width: 1333px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table table tr td ul li {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table table tr td ul li {
    font-size: 12px;
    text-indent: -2.5rem;
    padding-left: 1.5rem;
  }
}
.gk .gk__info .gk__info__table__wrap .gk__info__table .gk__info__list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2px;
}
.gk .gk__info .gk__info__table__wrap .gk__info__table .gk__info__list li {
  width: 50%;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.7;
  border: 1px solid #D0D0D0;
  padding: 1.5rem 0;
  margin-top: -1px;
  margin-left: -1px;
}
@media screen and (min-width: 1333px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table .gk__info__list li {
    font-size: 14px;
    padding: 15px 0;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__table .gk__info__list li {
    width: 100%;
    font-size: 12px;
    padding: 10px 0;
  }
}
.gk .gk__info .gk__info__table__wrap .gk__info__schedule {
  display: block;
  width: 40rem;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #D8B868;
  padding: 1.5rem 0;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__schedule {
    width: 400px;
    font-size: 18px;
    padding: 15px 0;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .gk .gk__info .gk__info__table__wrap .gk__info__schedule {
    width: 100%;
    font-size: 14px;
    padding: 15px;
    margin: 30px auto 0;
  }
}

/* RIODAN */
.riodan {
  position: relative;
}
.riodan::before, .riodan::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.riodan::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .riodan::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .riodan::before {
    left: 10px;
  }
}
.riodan::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .riodan::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .riodan::after {
    right: 10px;
  }
}
.riodan .riodan__exp {
  background: #FFF;
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__exp {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__exp {
    padding: 50px 0;
  }
}
.riodan .riodan__exp .inner01 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .riodan .riodan__exp .inner01 {
    flex-wrap: wrap;
  }
}
.riodan .riodan__exp .inner01 .riodan__exp__img {
  width: 45%;
  height: 55rem;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__exp .inner01 .riodan__exp__img {
    height: 550px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__exp .inner01 .riodan__exp__img {
    width: 100%;
    height: 350px;
  }
}
.riodan .riodan__exp .inner01 .riodan__exp__img img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .riodan .riodan__exp .inner01 .riodan__exp__img img {
    -o-object-position: 50% 20%;
       object-position: 50% 20%;
  }
}
.riodan .riodan__exp .inner01 .riodan__exp__txt {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .riodan .riodan__exp .inner01 .riodan__exp__txt {
    width: 100%;
    margin-top: 30px;
  }
}
.riodan .riodan__exp .inner01 .riodan__exp__txt h3 {
  color: #C41C0F;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__exp .inner01 .riodan__exp__txt h3 {
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__exp .inner01 .riodan__exp__txt h3 {
    font-size: 24px;
  }
}
.riodan .riodan__exp .inner01 .riodan__exp__txt p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__exp .inner01 .riodan__exp__txt p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__exp .inner01 .riodan__exp__txt p {
    font-size: 14px;
    margin-top: 15px;
  }
}
.riodan .riodan__exp .inner01 .riodan__exp__txt p:nth-child(1) {
  margin-top: 0;
}
.riodan .riodan__add {
  background: #FFF;
  padding: 5rem 0 10rem;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__add {
    padding: 50px 0 100px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__add {
    padding: 25px 0 50px;
  }
}
.riodan .riodan__add .inner01 {
  background: url("../../asset/images/school/school-riodan-add-bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__add .inner01 {
    padding: 50px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__add .inner01 {
    padding: 30px;
  }
}
.riodan .riodan__add .inner01 .riodan__add__txt {
  width: 63%;
}
@media screen and (max-width: 768px) {
  .riodan .riodan__add .inner01 .riodan__add__txt {
    width: 100%;
  }
}
.riodan .riodan__add .inner01 .riodan__add__txt .riodan__add__txt__index {
  display: flex;
  align-items: center;
}
.riodan .riodan__add .inner01 .riodan__add__txt .riodan__add__txt__index .riodan__add__txt__index__img {
  width: 5rem;
  margin-right: 2rem;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__add .inner01 .riodan__add__txt .riodan__add__txt__index .riodan__add__txt__index__img {
    width: 50px;
    margin-right: 20px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__add .inner01 .riodan__add__txt .riodan__add__txt__index .riodan__add__txt__index__img {
    width: 40px;
    margin-right: 10px;
  }
}
.riodan .riodan__add .inner01 .riodan__add__txt .riodan__add__txt__index .riodan__add__txt__index__img img {
  width: 100%;
}
.riodan .riodan__add .inner01 .riodan__add__txt .riodan__add__txt__index h3 {
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__add .inner01 .riodan__add__txt .riodan__add__txt__index h3 {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__add .inner01 .riodan__add__txt .riodan__add__txt__index h3 {
    font-size: 16px;
  }
}
.riodan .riodan__add .inner01 .riodan__add__txt p {
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 2rem;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__add .inner01 .riodan__add__txt p {
    font-size: 14px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__add .inner01 .riodan__add__txt p {
    font-size: 12px;
    margin-top: 10px;
  }
}
.riodan .riodan__add .inner01 .riodan__add__img {
  width: 32%;
}
@media screen and (max-width: 768px) {
  .riodan .riodan__add .inner01 .riodan__add__img {
    width: 100%;
    max-width: 400px;
    margin: 20px auto 0;
  }
}
.riodan .riodan__add .inner01 .riodan__add__img img {
  width: 100%;
}
.riodan .riodan__info {
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info {
    padding: 50px 0;
  }
}
.riodan .riodan__info .riodan__ttl {
  width: 100%;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  background: linear-gradient(-45deg, #770000, #120101);
  padding: 2rem 0;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info .riodan__ttl {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__ttl {
    font-size: 14px;
    padding: 15px 0;
  }
}
.riodan .riodan__info .riodan__info__table__wrap {
  display: none;
  background: #FFF;
  padding: 5rem;
  margin-top: 5rem;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info .riodan__info__table__wrap {
    padding: 50px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap {
    padding: 15px;
    margin-top: 15px;
  }
}
.riodan .riodan__info .riodan__info__table__wrap.active {
  display: block;
}
.riodan .riodan__info .riodan__info__table__wrap .comming__bg {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.riodan .riodan__info .riodan__info__table__wrap .comming__bg::before {
  content: "COMMING SOON";
  width: 100%;
  color: #FFF;
  font-size: 2.2rem;
  font-family: "Bruno Ace SC", "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info .riodan__info__table__wrap .comming__bg::before {
    font-size: 22px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap .comming__bg::before {
    font-size: 4rem;
  }
}
.riodan .riodan__info .riodan__info__table__wrap .comming__bg::after {
  content: "";
  background: inherit;
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(12px);
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  z-index: 2;
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table {
  width: 100%;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table {
    margin-top: 30px;
  }
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table:first-child {
  margin-top: 0;
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table h3 {
  width: 100%;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #C41C0F;
  padding: 15px 0;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table h3 {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table h3 {
    font-size: 12px;
    padding: 10px 0;
  }
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table {
    min-width: 500px;
  }
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr th, .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
  border: 1px solid #D0D0D0;
  padding: 0 0.5rem;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr th, .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td {
    font-size: 14px;
    padding: 0 5px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr th, .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td {
    font-size: 11px;
  }
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr th {
  width: 15%;
  font-weight: 700;
  background: #F9F9F9;
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr th.bold {
  color: #C41C0F;
  font-weight: 700;
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td {
  width: 12.1428571429%;
  height: 6rem;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td {
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td {
    height: 60px;
  }
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td.bold {
  color: #C41C0F;
  font-weight: 700;
  background: #F9F9F9;
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td.detail {
  text-align: left;
  padding: 3rem;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td.detail {
    padding: 30px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td.detail {
    padding: 15px;
  }
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td.total {
  width: 70%;
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td.total {
    width: 76%;
  }
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td ul li {
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-indent: -1.7rem;
  padding-left: 1.7rem;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td ul li {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table table tr td ul li {
    font-size: 12px;
    text-indent: -2.5rem;
    padding-left: 1.5rem;
  }
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table .riodan__info__list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2px;
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__table .riodan__info__list li {
  width: 50%;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.7;
  border: 1px solid #D0D0D0;
  padding: 1.5rem 0;
  margin-top: -1px;
  margin-left: -1px;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table .riodan__info__list li {
    font-size: 14px;
    padding: 15px 0;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__table .riodan__info__list li {
    width: 100%;
    font-size: 12px;
    padding: 10px 0;
  }
}
.riodan .riodan__info .riodan__info__table__wrap .riodan__info__schedule {
  display: block;
  width: 40rem;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #D8B868;
  padding: 1.5rem 0;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__schedule {
    width: 400px;
    font-size: 18px;
    padding: 15px 0;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .riodan .riodan__info .riodan__info__table__wrap .riodan__info__schedule {
    width: 100%;
    font-size: 14px;
    padding: 15px;
    margin: 30px auto 0;
  }
}

/* YOGA */
.yoga {
  position: relative;
}
.yoga::before, .yoga::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.yoga::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .yoga::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .yoga::before {
    left: 10px;
  }
}
.yoga::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .yoga::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .yoga::after {
    right: 10px;
  }
}
.yoga .yoga__exp {
  background: #FFF;
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__exp {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__exp {
    padding: 50px 0;
  }
}
.yoga .yoga__exp .inner01 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .yoga .yoga__exp .inner01 {
    flex-wrap: wrap;
  }
}
.yoga .yoga__exp .inner01 .yoga__exp__img {
  width: 45%;
  height: 55rem;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__exp .inner01 .yoga__exp__img {
    height: 550px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__exp .inner01 .yoga__exp__img {
    width: 100%;
    height: 350px;
  }
}
.yoga .yoga__exp .inner01 .yoga__exp__img img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .yoga .yoga__exp .inner01 .yoga__exp__img img {
    -o-object-position: 50% 20%;
       object-position: 50% 20%;
  }
}
.yoga .yoga__exp .inner01 .yoga__exp__txt {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .yoga .yoga__exp .inner01 .yoga__exp__txt {
    width: 100%;
    margin-top: 30px;
  }
}
.yoga .yoga__exp .inner01 .yoga__exp__txt h3 {
  color: #C41C0F;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__exp .inner01 .yoga__exp__txt h3 {
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__exp .inner01 .yoga__exp__txt h3 {
    font-size: 24px;
  }
}
.yoga .yoga__exp .inner01 .yoga__exp__txt p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__exp .inner01 .yoga__exp__txt p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__exp .inner01 .yoga__exp__txt p {
    font-size: 14px;
    margin-top: 15px;
  }
}
.yoga .yoga__exp .inner01 .yoga__exp__txt p:nth-child(1) {
  margin-top: 0;
}
.yoga .yoga__info {
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info {
    padding: 50px 0;
  }
}
.yoga .yoga__info .yoga__ttl {
  width: 100%;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  background: linear-gradient(-45deg, #770000, #120101);
  padding: 2rem 0;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info .yoga__ttl {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__ttl {
    font-size: 14px;
    padding: 15px 0;
  }
}
.yoga .yoga__info .yoga__info__table__wrap {
  display: none;
  background: #FFF;
  padding: 5rem;
  margin-top: 5rem;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info .yoga__info__table__wrap {
    padding: 50px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap {
    padding: 15px;
    margin-top: 15px;
  }
}
.yoga .yoga__info .yoga__info__table__wrap.active {
  display: block;
}
.yoga .yoga__info .yoga__info__table__wrap .comming__bg {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.yoga .yoga__info .yoga__info__table__wrap .comming__bg::before {
  content: "COMMING SOON";
  width: 100%;
  color: #FFF;
  font-size: 2.2rem;
  font-family: "Bruno Ace SC", "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info .yoga__info__table__wrap .comming__bg::before {
    font-size: 22px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap .comming__bg::before {
    font-size: 4rem;
  }
}
.yoga .yoga__info .yoga__info__table__wrap .comming__bg::after {
  content: "";
  background: inherit;
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(12px);
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  z-index: 2;
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table {
  width: 100%;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table {
    margin-top: 30px;
  }
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table:first-child {
  margin-top: 0;
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table h3 {
  width: 100%;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #C41C0F;
  padding: 15px 0;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table h3 {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table h3 {
    font-size: 12px;
    padding: 10px 0;
  }
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table {
    min-width: 500px;
  }
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr th, .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
  border: 1px solid #D0D0D0;
  padding: 0 0.5rem;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr th, .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td {
    font-size: 14px;
    padding: 0 5px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr th, .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td {
    font-size: 11px;
  }
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr th {
  width: 15%;
  font-weight: 700;
  background: #F9F9F9;
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr th.bold {
  color: #C41C0F;
  font-weight: 700;
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td {
  width: 12.1428571429%;
  height: 6rem;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td {
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td {
    height: 60px;
  }
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td.bold {
  color: #C41C0F;
  font-weight: 700;
  background: #F9F9F9;
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td.detail {
  text-align: left;
  padding: 3rem;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td.detail {
    padding: 30px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td.detail {
    padding: 15px;
  }
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td.total {
  width: 70%;
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td.total {
    width: 76%;
  }
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td ul li {
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-indent: -1.7rem;
  padding-left: 1.7rem;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td ul li {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table table tr td ul li {
    font-size: 12px;
    text-indent: -2.5rem;
    padding-left: 1.5rem;
  }
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table .yoga__info__list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2px;
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__table .yoga__info__list li {
  width: 50%;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.7;
  border: 1px solid #D0D0D0;
  padding: 1.5rem 0;
  margin-top: -1px;
  margin-left: -1px;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table .yoga__info__list li {
    font-size: 14px;
    padding: 15px 0;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__table .yoga__info__list li {
    width: 100%;
    font-size: 12px;
    padding: 10px 0;
  }
}
.yoga .yoga__info .yoga__info__table__wrap .yoga__info__schedule {
  display: block;
  width: 40rem;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #D8B868;
  padding: 1.5rem 0;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__schedule {
    width: 400px;
    font-size: 18px;
    padding: 15px 0;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .yoga .yoga__info .yoga__info__table__wrap .yoga__info__schedule {
    width: 100%;
    font-size: 14px;
    padding: 15px;
    margin: 30px auto 0;
  }
}

/* CROSS */
.cross {
  position: relative;
}
.cross::before, .cross::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.cross::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .cross::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .cross::before {
    left: 10px;
  }
}
.cross::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .cross::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .cross::after {
    right: 10px;
  }
}
.cross .cross__exp {
  background: #FFF;
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .cross .cross__exp {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__exp {
    padding: 50px 0;
  }
}
.cross .cross__exp .inner01 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .cross .cross__exp .inner01 {
    flex-wrap: wrap;
  }
}
.cross .cross__exp .inner01 .cross__exp__img {
  width: 45%;
  height: 55rem;
}
@media screen and (min-width: 1333px) {
  .cross .cross__exp .inner01 .cross__exp__img {
    height: 550px;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__exp .inner01 .cross__exp__img {
    width: 100%;
    height: 350px;
  }
}
.cross .cross__exp .inner01 .cross__exp__img img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .cross .cross__exp .inner01 .cross__exp__img img {
    -o-object-position: 50% 20%;
       object-position: 50% 20%;
  }
}
.cross .cross__exp .inner01 .cross__exp__txt {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .cross .cross__exp .inner01 .cross__exp__txt {
    width: 100%;
    margin-top: 30px;
  }
}
.cross .cross__exp .inner01 .cross__exp__txt h3 {
  color: #C41C0F;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 1333px) {
  .cross .cross__exp .inner01 .cross__exp__txt h3 {
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__exp .inner01 .cross__exp__txt h3 {
    font-size: 24px;
  }
}
.cross .cross__exp .inner01 .cross__exp__txt p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .cross .cross__exp .inner01 .cross__exp__txt p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__exp .inner01 .cross__exp__txt p {
    font-size: 14px;
    margin-top: 15px;
  }
}
.cross .cross__exp .inner01 .cross__exp__txt p:nth-child(1) {
  margin-top: 0;
}
.cross .cross__info {
  padding: 10rem 0;
}
@media screen and (min-width: 1333px) {
  .cross .cross__info {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__info {
    padding: 50px 0;
  }
}
.cross .cross__info .cross__ttl {
  width: 100%;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  background: linear-gradient(-45deg, #770000, #120101);
  padding: 2rem 0;
}
@media screen and (min-width: 1333px) {
  .cross .cross__info .cross__ttl {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__info .cross__ttl {
    font-size: 14px;
    padding: 15px 0;
  }
}
.cross .cross__info .cross__info__table__wrap {
  display: none;
  background: #FFF;
  padding: 5rem;
}
@media screen and (min-width: 1333px) {
  .cross .cross__info .cross__info__table__wrap {
    padding: 50px;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__info .cross__info__table__wrap {
    padding: 15px;
  }
}
.cross .cross__info .cross__info__table__wrap.active {
  display: block;
}
.cross .cross__info .cross__info__table__wrap .cross__info__table {
  width: 100%;
}
.cross .cross__info .cross__info__table__wrap .cross__info__table:first-child {
  margin-top: 0;
}
.cross .cross__info .cross__info__table__wrap .cross__info__table h3 {
  width: 100%;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #C41C0F;
  padding: 15px 0;
}
@media screen and (min-width: 1333px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table h3 {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table h3 {
    font-size: 12px;
    padding: 10px 0;
  }
}
.cross .cross__info .cross__info__table__wrap .cross__info__table table {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table table {
    min-width: 500px;
  }
}
.cross .cross__info .cross__info__table__wrap .cross__info__table table tr th, .cross .cross__info .cross__info__table__wrap .cross__info__table table tr td {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
  border: 1px solid #D0D0D0;
  padding: 0 0.5rem;
}
@media screen and (min-width: 1333px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table table tr th, .cross .cross__info .cross__info__table__wrap .cross__info__table table tr td {
    font-size: 14px;
    padding: 0 5px;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table table tr th, .cross .cross__info .cross__info__table__wrap .cross__info__table table tr td {
    font-size: 11px;
  }
}
.cross .cross__info .cross__info__table__wrap .cross__info__table table tr th {
  width: 15%;
  font-weight: 700;
  background: #F9F9F9;
}
.cross .cross__info .cross__info__table__wrap .cross__info__table table tr th.bold {
  color: #C41C0F;
  font-weight: 700;
}
.cross .cross__info .cross__info__table__wrap .cross__info__table table tr td {
  width: 12.1428571429%;
  height: 6rem;
}
@media screen and (min-width: 1333px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table table tr td {
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table table tr td {
    height: 60px;
  }
}
.cross .cross__info .cross__info__table__wrap .cross__info__table table tr td.bold {
  color: #C41C0F;
  font-weight: 700;
  background: #F9F9F9;
}
.cross .cross__info .cross__info__table__wrap .cross__info__table table tr td.detail {
  text-align: left;
  padding: 3rem;
}
@media screen and (min-width: 1333px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table table tr td.detail {
    padding: 30px;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table table tr td.detail {
    padding: 15px;
  }
}
.cross .cross__info .cross__info__table__wrap .cross__info__table table tr td.total {
  width: 70%;
}
@media screen and (max-width: 768px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table table tr td.total {
    width: 76%;
  }
}
.cross .cross__info .cross__info__table__wrap .cross__info__table table tr td ul li {
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-indent: -1.7rem;
  padding-left: 1.7rem;
}
@media screen and (min-width: 1333px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table table tr td ul li {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table table tr td ul li {
    font-size: 12px;
    text-indent: -2.5rem;
    padding-left: 1.5rem;
  }
}
.cross .cross__info .cross__info__table__wrap .cross__info__table .cross__info__list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2px;
}
.cross .cross__info .cross__info__table__wrap .cross__info__table .cross__info__list li {
  width: 50%;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.7;
  border: 1px solid #D0D0D0;
  padding: 1.5rem 0;
  margin-top: -1px;
  margin-left: -1px;
}
@media screen and (min-width: 1333px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table .cross__info__list li {
    font-size: 14px;
    padding: 15px 0;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__table .cross__info__list li {
    width: 100%;
    font-size: 12px;
    padding: 10px 0;
  }
}
.cross .cross__info .cross__info__table__wrap .cross__info__schedule {
  display: block;
  width: 40rem;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #D8B868;
  padding: 1.5rem 0;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__schedule {
    width: 400px;
    font-size: 18px;
    padding: 15px 0;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .cross .cross__info .cross__info__table__wrap .cross__info__schedule {
    width: 100%;
    font-size: 14px;
    padding: 15px;
    margin: 30px auto 0;
  }
}

/* PAGE SECTION TTl */
.p-sec-ttl {
  font-size: 6.6rem;
  word-break: break-all;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl {
    font-size: 66px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl {
    font-size: 30px;
  }
}
.p-sec-ttl span {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl span {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl span {
    font-size: 12px;
  }
}

.coach {
  padding: 10rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .coach {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .coach {
    padding: 50px 0;
  }
}
.coach::before, .coach::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.coach::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .coach::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .coach::before {
    left: 10px;
  }
}
.coach::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .coach::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .coach::after {
    right: 10px;
  }
}
.coach .inner01 .coach__cnt {
  margin-top: 10rem;
}
@media screen and (min-width: 1333px) {
  .coach .inner01 .coach__cnt {
    margin-top: 100px;
  }
}
@media screen and (max-width: 768px) {
  .coach .inner01 .coach__cnt {
    margin-top: 50px;
  }
}
.coach .inner01 .coach__cnt:nth-child(1) {
  margin-top: 0;
}
.coach .inner01 .coach__cnt h3 {
  width: 100%;
  color: #FFF;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  background: #C41C0F;
  padding: 2rem 0;
}
@media screen and (min-width: 1333px) {
  .coach .inner01 .coach__cnt h3 {
    font-size: 30px;
    padding: 20px 0;
  }
}
@media screen and (max-width: 768px) {
  .coach .inner01 .coach__cnt h3 {
    font-size: 18px;
    padding: 10px 0;
  }
}
.coach .inner01 .coach__cnt ul {
  margin-top: 5rem;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 3.5%;
}
@media screen and (min-width: 1333px) {
  .coach .inner01 .coach__cnt ul {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .coach .inner01 .coach__cnt ul {
    max-width: 300px;
    margin: 30px auto 0;
  }
}
.coach .inner01 .coach__cnt ul li {
  width: 31%;
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1333px) {
  .coach .inner01 .coach__cnt ul li {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .coach .inner01 .coach__cnt ul li {
    width: 100%;
    margin-top: 30px;
  }
}
.coach .inner01 .coach__cnt ul li:nth-child(1) {
  margin-top: 0;
}
.coach .inner01 .coach__cnt ul li:nth-child(2), .coach .inner01 .coach__cnt ul li:nth-child(3) {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .coach .inner01 .coach__cnt ul li:nth-child(2), .coach .inner01 .coach__cnt ul li:nth-child(3) {
    margin-top: 30px;
  }
}
.coach .inner01 .coach__cnt ul li .coach__img {
  width: 100%;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
  .coach .inner01 .coach__cnt ul li .coach__img {
    height: 250px;
  }
}
.coach .inner01 .coach__cnt ul li .coach__img img {
  width: 100%;
  height: 100%;
}
.coach .inner01 .coach__cnt ul li .coach__exp {
  width: 100%;
  background: #FFF;
  padding: 3rem;
  flex-grow: 1;
}
@media screen and (min-width: 1333px) {
  .coach .inner01 .coach__cnt ul li .coach__exp {
    padding: 30px;
  }
}
@media screen and (max-width: 768px) {
  .coach .inner01 .coach__cnt ul li .coach__exp {
    padding: 20px;
  }
}
.coach .inner01 .coach__cnt ul li .coach__exp h4 {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1333px) {
  .coach .inner01 .coach__cnt ul li .coach__exp h4 {
    font-size: 22px;
  }
}
@media screen and (max-width: 768px) {
  .coach .inner01 .coach__cnt ul li .coach__exp h4 {
    font-size: 16px;
  }
}
.coach .inner01 .coach__cnt ul li .coach__exp span {
  display: block;
  color: #C41C0F;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 1rem;
}
@media screen and (min-width: 1333px) {
  .coach .inner01 .coach__cnt ul li .coach__exp span {
    font-size: 14px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .coach .inner01 .coach__cnt ul li .coach__exp span {
    font-size: 12px;
    margin-top: 5px;
  }
}
.coach .inner01 .coach__cnt ul li .coach__exp p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .coach .inner01 .coach__cnt ul li .coach__exp p {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .coach .inner01 .coach__cnt ul li .coach__exp p {
    font-size: 12px;
    margin-top: 15px;
  }
}

/* PAGE SECTION TTl */
.p-sec-ttl {
  font-size: 6.6rem;
  word-break: break-all;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl {
    font-size: 66px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl {
    font-size: 30px;
  }
}
.p-sec-ttl span {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl span {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl span {
    font-size: 12px;
  }
}

/* FLOW */
.contact__flow {
  padding: 10rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .contact__flow {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow {
    padding: 50px 0;
  }
}
.contact__flow::before, .contact__flow::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.contact__flow::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .contact__flow::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow::before {
    left: 10px;
  }
}
.contact__flow::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .contact__flow::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow::after {
    right: 10px;
  }
}
.contact__flow .inner01 h3 {
  color: #C41C0F;
  text-align: center;
}
.contact__flow .inner01 h3 span {
  color: #C41C0F;
}
.contact__flow .inner01 .contact__flow__container {
  margin-top: 7rem;
}
@media screen and (min-width: 1333px) {
  .contact__flow .inner01 .contact__flow__container {
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow .inner01 .contact__flow__container {
    margin-top: 50px;
  }
}
.contact__flow .inner01 .contact__flow__container .contact__flow__cnt {
  width: calc(100% - 5rem);
  background: #FFF;
  padding: 5rem 25rem 5rem 10rem;
  margin: 6rem 0 0 5rem;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt {
    width: calc(100% - 50px);
    padding: 50px 250px 50px 100px;
    margin: 60px 0 0 50px;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt {
    width: 100%;
    padding: 40px 20px 130px 20px;
    margin: 60px 0 0 0;
  }
}
.contact__flow .inner01 .contact__flow__container .contact__flow__cnt:nth-child(1)::before, .contact__flow .inner01 .contact__flow__container .contact__flow__cnt:nth-child(2)::before, .contact__flow .inner01 .contact__flow__container .contact__flow__cnt:nth-child(3)::before {
  content: "";
  border-top: 2rem solid #D0D0D0;
  border-left: 2.5rem solid transparent;
  border-right: 2.5rem solid transparent;
  position: absolute;
  left: 50%;
  bottom: -4rem;
  transform: translateX(-50%);
}
@media screen and (min-width: 1333px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt:nth-child(1)::before, .contact__flow .inner01 .contact__flow__container .contact__flow__cnt:nth-child(2)::before, .contact__flow .inner01 .contact__flow__container .contact__flow__cnt:nth-child(3)::before {
    border-top: 20px solid #D0D0D0;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    bottom: -40px;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt:nth-child(1)::before, .contact__flow .inner01 .contact__flow__container .contact__flow__cnt:nth-child(2)::before, .contact__flow .inner01 .contact__flow__container .contact__flow__cnt:nth-child(3)::before {
    border-top: 20px solid #D0D0D0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    bottom: -40px;
  }
}
.contact__flow .inner01 .contact__flow__container .contact__flow__cnt:first-child {
  margin-top: 0;
}
.contact__flow .inner01 .contact__flow__container .contact__flow__cnt h4 {
  color: #C41C0F;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1333px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt h4 {
    font-size: 22px;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt h4 {
    font-size: 16px;
    text-align: center;
  }
}
.contact__flow .inner01 .contact__flow__container .contact__flow__cnt p {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 2rem;
}
@media screen and (min-width: 1333px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt p {
    font-size: 16px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt p {
    font-size: 14px;
    margin-top: 10px;
  }
}
.contact__flow .inner01 .contact__flow__container .contact__flow__cnt .contact__flow__icon {
  display: block;
  width: 19rem;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  overflow: hidden;
}
@media screen and (min-width: 1333px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt .contact__flow__icon {
    width: 190px;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt .contact__flow__icon {
    width: auto;
    height: 80px;
    right: auto;
    left: 50%;
    top: auto;
    bottom: 20px;
    transform: translateX(-50%);
  }
}
.contact__flow .inner01 .contact__flow__container .contact__flow__cnt .contact__flow__icon img {
  height: 100%;
}
@media screen and (max-width: 768px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt .contact__flow__icon img {
    height: 100%;
  }
}
.contact__flow .inner01 .contact__flow__container .contact__flow__cnt .contact__flow__number {
  width: 10rem;
  height: 10rem;
  background: #C41C0F;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: -5rem;
  transform: translateY(-50%);
}
@media screen and (min-width: 1333px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt .contact__flow__number {
    width: 100px;
    height: 100px;
    left: -50px;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt .contact__flow__number {
    width: 60px;
    height: 60px;
    top: 10px;
    left: 10px;
  }
}
.contact__flow .inner01 .contact__flow__container .contact__flow__cnt .contact__flow__number span {
  color: #FFF;
  font-size: 3rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1333px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt .contact__flow__number span {
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__cnt .contact__flow__number span {
    font-size: 16px;
  }
}
.contact__flow .inner01 .contact__flow__container .contact__flow__add {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__add {
    font-size: 14px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .contact__flow .inner01 .contact__flow__container .contact__flow__add {
    font-size: 12px;
    margin-top: 30px;
  }
}

/* FORM */
.contact__form {
  background: #FFF;
  padding: 10rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .contact__form {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__form {
    padding: 50px 0;
  }
}
.contact__form::before, .contact__form::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.contact__form::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .contact__form::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form::before {
    left: 10px;
  }
}
.contact__form::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .contact__form::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form::after {
    right: 10px;
  }
}
.contact__form .inner01 h3 {
  color: #C41C0F;
  text-align: center;
}
.contact__form .inner01 h3 span {
  color: #C41C0F;
  text-align: center;
}
.contact__form .inner01 .contact__form__container {
  max-width: 1000px;
  margin: 7rem auto 0;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container {
    margin: 70px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container {
    margin: 30px auto 0;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__exp {
  font-size: 1.6rem;
  line-height: 2;
  text-align: center;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__exp {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__exp {
    font-size: 14px;
    text-align: left;
  }
}
.contact__form .inner01 .contact__form__container table {
  width: 100%;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table {
    margin-top: 30px;
  }
}
.contact__form .inner01 .contact__form__container table tr {
  display: flex;
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr {
    flex-wrap: wrap;
  }
}
.contact__form .inner01 .contact__form__container table tr th {
  width: 30rem;
  border-bottom: 1px solid #D0D0D0;
  padding: 3rem 0;
  vertical-align: top;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr th {
    width: 300px;
    padding: 30px 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr th {
    display: block;
    width: 100%;
    padding: 20px 0 5px;
    border-bottom: none;
  }
}
.contact__form .inner01 .contact__form__container table tr th .form__ttl__inner {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr th .form__ttl__inner {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr th .form__ttl__inner {
    font-size: 14px;
  }
}
.contact__form .inner01 .contact__form__container table tr th .form__ttl__inner span {
  display: block;
  background: #D8B868;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  padding: 0.6rem 1.2rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr th .form__ttl__inner span {
    font-size: 14px;
    padding: 6px 12px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr th .form__ttl__inner span {
    font-size: 12px;
    padding: 3px 6px;
  }
}
.contact__form .inner01 .contact__form__container table tr td {
  width: calc(100% - 30rem);
  border-bottom: 1px solid #D0D0D0;
  padding: 3rem 0 3rem 7rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td {
    width: calc(100% - 300px);
    padding: 30px 0 30px 70px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td {
    width: 100%;
    padding: 5px 0 20px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .radio__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 0;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .radio__wrap {
    gap: 15px 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .radio__wrap {
    gap: 10px 0;
  }
}
.contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list {
  padding-right: 5rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list {
    padding-right: 50px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list {
    padding-right: 30px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list input {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list input:checked + label::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background: #C41C0F;
  position: absolute;
  top: 50%;
  left: -2.65rem;
  transform: translateY(-50%);
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list input:checked + label::after {
    width: 10px;
    height: 10px;
    left: -24px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list input:checked + label::after {
    width: 10px;
    height: 10px;
    left: -21.5px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list label {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-left: 3rem;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list label {
    font-size: 16px;
    margin-left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list label {
    font-size: 14px;
    margin-left: 25px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list label::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: 100%;
  border: 1px solid #C41C0F;
  position: absolute;
  top: 50%;
  left: -3rem;
  transform: translateY(-50%);
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list label::before {
    width: 20px;
    height: 20px;
    left: -30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .radio__wrap .radio__list label::before {
    width: 15px;
    height: 15px;
    left: -25px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .select__wrap {
  width: 100%;
  position: relative;
}
.contact__form .inner01 .contact__form__container table tr td .select__wrap::after {
  content: "";
  border-top: 0.8rem solid #707070;
  border-right: 0.6rem solid transparent;
  border-left: 0.6rem solid transparent;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .select__wrap::after {
    border-top: 8px solid #707070;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    right: 20px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .select__wrap::after {
    border-top: 7px solid #707070;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    right: 15px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .select__wrap select {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
  background: #F7F7F7;
  border: none;
  padding: 1rem;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .select__wrap select {
    font-size: 16px;
    padding: 10px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .select__wrap select {
    font-size: 14px;
    padding: 5px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .text__wrap {
  width: 100%;
}
.contact__form .inner01 .contact__form__container table tr td .text__wrap .text__list {
  width: 100%;
  margin-top: 1.5rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .text__wrap .text__list {
    margin-top: 15px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .text__wrap .text__list {
    margin-top: 10px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .text__wrap .text__list:first-child {
  margin-top: 0;
}
.contact__form .inner01 .contact__form__container table tr td .text__wrap .text__list p {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .text__wrap .text__list p {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .text__wrap .text__list p {
    font-size: 14px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .text__wrap .text__list input {
  width: 100%;
  margin-top: 0.5rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .text__wrap .text__list input {
    margin-top: 5px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .text__wrap .text__list input {
    font-size: 14px;
    margin-top: 5px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .text__add {
  margin-top: 2rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .text__add {
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .text__add {
    margin-top: 10px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .text__add li {
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-top: 0.5rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .text__add li {
    font-size: 12px;
    margin-top: 5px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .text__add li {
    font-size: 12px;
    margin-top: 5px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .text__add li:first-child {
  margin-top: 0;
}
.contact__form .inner01 .contact__form__container table tr td .text__add li a {
  border-bottom: 1px solid #000;
  transition: all 0.3s ease;
}
.contact__form .inner01 .contact__form__container table tr td .text__add li a:hover {
  opacity: 0.3;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .text__add li a:hover {
    opacity: 1;
  }
}
.contact__form .inner01 .contact__form__container table tr td input.text {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
  background: #F7F7F7;
  border: none;
  border-radius: 0;
  padding: 1rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td input.text {
    font-size: 16px;
    padding: 10px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td input.text {
    font-size: 14px;
    padding: 5px;
  }
}
.contact__form .inner01 .contact__form__container table tr td textarea {
  width: 100%;
  min-height: 20rem;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
  background: #F7F7F7;
  border: none;
  border-radius: 0;
  padding: 1rem;
  resize: none;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td textarea {
    min-height: 200px;
    font-size: 16px;
    padding: 10px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td textarea {
    min-height: 250px;
    font-size: 14px;
    padding: 5px;
  }
}
.contact__form .inner01 .contact__form__container table tr td .error {
  color: #C41C0F;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-top: 1rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container table tr td .error {
    font-size: 14px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container table tr td .error {
    font-size: 12px;
    margin-top: 10px;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__privacy {
  max-width: 80rem;
  margin: 7rem auto 0;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy {
    max-width: 800px;
    margin: 70px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy {
    max-width: 500px;
    margin: 50px auto 0;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__privacy h4 {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy h4 {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy h4 {
    font-size: 16px;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt {
  height: 18rem;
  background: #F9F9F9;
  padding: 3rem 5rem;
  margin-top: 2.5rem;
  overflow-y: auto;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt {
    height: 180px;
    padding: 30px 50px;
    margin-top: 25px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt {
    height: 200px;
    padding: 20px;
    margin-top: 20px;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt h5 {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt h5 {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt h5 {
    font-size: 12px;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt {
  margin-top: 1rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt {
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt {
    margin-top: 5px;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt p {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt p {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt p {
    font-size: 12px;
    line-height: 1.7;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block {
  margin-top: 1.5rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block {
    margin-top: 15px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block {
    margin-top: 10px;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block h6 {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block h6 {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block h6 {
    font-size: 12px;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block p {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block p {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block p {
    font-size: 12px;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block ul li {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  text-indent: -1.5rem;
  padding-left: 1.5rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block ul li {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__privacy .contact__form__privacy__cnt .contact__form__privacy__txt .contact__form__privacy__txt__block ul li {
    font-size: 12px;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__agree {
  max-width: 80rem;
  margin: 5rem auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__agree {
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__agree {
    margin: 30px auto 0;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__agree input {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.contact__form .inner01 .contact__form__container .contact__form__agree input:checked + label::after {
  content: "";
  display: block;
  width: 1.3rem;
  height: 1rem;
  background: url("../../asset/images/contact/check.png") center center no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: -2.8rem;
  transform: translateY(-50%);
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__agree input:checked + label::after {
    width: 13px;
    height: 10px;
    left: -28px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__agree input:checked + label::after {
    width: 10px;
    height: 10px;
    left: -20px;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__agree label {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-left: 1rem;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__agree label {
    font-size: 14px;
    margin-left: 10px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__agree label {
    font-size: 12px;
    margin-left: 5px;
  }
}
.contact__form .inner01 .contact__form__container .contact__form__agree label::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #707070;
  position: absolute;
  top: 50%;
  left: -3rem;
  transform: translateY(-50%);
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .contact__form__agree label::before {
    width: 15px;
    height: 15px;
    left: -30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .contact__form__agree label::before {
    width: 10px;
    height: 10px;
    left: -20px;
  }
}
.contact__form .inner01 .contact__form__container .submit {
  display: block;
  width: 35rem;
  color: #D8B868;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #FFF;
  border: 1px solid #D8B868;
  padding: 2rem 0;
  margin: 2rem auto 0;
  transition: all 0.3s ease;
  opacity: 0.5;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .contact__form__container .submit {
    font-size: 18px;
    padding: 20px 0;
    margin: 20px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .contact__form__container .submit {
    width: 250px;
    color: #FFF;
    font-size: 16px;
    background: #D8B868;
    border: none;
    padding: 15px 0;
    margin: 20px auto 0;
  }
}
.contact__form .inner01 .contact__form__container .submit.hover {
  opacity: 1;
  cursor: pointer;
}
.contact__form .inner01 .contact__form__container .submit.hover:hover {
  color: #FFF;
  background: #D8B868;
  transition: all 0.3s ease;
}
.contact__form .inner01 .confirm__container {
  width: 100%;
  max-width: 1000px;
  margin: 5rem auto 0;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .confirm__container {
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .confirm__container {
    margin: 30px auto 0;
  }
}
.contact__form .inner01 .confirm__container .confirm__exp {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .confirm__container .confirm__exp {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .confirm__container .confirm__exp {
    font-size: 14px;
  }
}
.contact__form .inner01 .confirm__container .confirm__form {
  width: 100%;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .confirm__container .confirm__form {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .confirm__container .confirm__form {
    margin-top: 30px;
  }
}
.contact__form .inner01 .confirm__container .confirm__form table {
  width: 100%;
}
.contact__form .inner01 .confirm__container .confirm__form table tr {
  display: flex;
  flex-wrap: wrap;
}
.contact__form .inner01 .confirm__container .confirm__form table tr th {
  width: 30rem;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  border-bottom: 1px solid #D0D0D0;
  padding: 2rem 0;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .confirm__container .confirm__form table tr th {
    width: 300px;
    font-size: 16px;
    padding: 20px 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .confirm__container .confirm__form table tr th {
    width: 100%;
    font-size: 14px;
    border-bottom: none;
    padding: 10px 0 5px;
  }
}
.contact__form .inner01 .confirm__container .confirm__form table tr th.first {
  padding-top: 0;
}
.contact__form .inner01 .confirm__container .confirm__form table tr th .confirm__ttl__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contact__form .inner01 .confirm__container .confirm__form table tr th .confirm__ttl__inner span {
  display: block;
  background: #D8B868;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  padding: 0.6rem 1.2rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .confirm__container .confirm__form table tr th .confirm__ttl__inner span {
    font-size: 14px;
    padding-top: 6px 12px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .confirm__container .confirm__form table tr th .confirm__ttl__inner span {
    font-size: 12px;
    padding-top: 3px 6px;
  }
}
.contact__form .inner01 .confirm__container .confirm__form table tr td {
  width: calc(100% - 30rem);
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
  border-bottom: 1px solid #D0D0D0;
  padding: 2rem 0 2rem 7rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .confirm__container .confirm__form table tr td {
    width: calc(100% - 300px);
    font-size: 16px;
    padding: 20px 0 20px 70px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .confirm__container .confirm__form table tr td {
    width: 100%;
    font-size: 14px;
    padding: 0 0 10px 0;
  }
}
.contact__form .inner01 .confirm__container .confirm__form table tr td.first {
  padding-top: 0;
}
.contact__form .inner01 .confirm__container .confirm__form table tr td .confirm__txt:nth-child(2) {
  margin-left: 3rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .confirm__container .confirm__form table tr td .confirm__txt:nth-child(2) {
    margin-left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .confirm__container .confirm__form table tr td .confirm__txt:nth-child(2) {
    margin-left: 20px;
  }
}
.contact__form .inner01 .confirm__container .confirm__form .submit {
  display: block;
  width: 35rem;
  color: #D8B868;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #FFF;
  border: 1px solid #D8B868;
  padding: 2rem 0;
  margin: 5rem auto 0;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .confirm__container .confirm__form .submit {
    width: 350px;
    font-size: 18px;
    padding: 20px 0;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .confirm__container .confirm__form .submit {
    width: 250px;
    color: #FFF;
    font-size: 16px;
    background: #D8B868;
    border: none;
    padding: 15px 0;
    margin: 30px auto 0;
  }
}
.contact__form .inner01 .confirm__container .confirm__form .submit:hover {
  color: #FFF;
  background: #D8B868;
  transition: all 0.3s ease;
}
.contact__form .inner01 .thanks__exp {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
  margin-top: 7rem;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .thanks__exp {
    font-size: 16px;
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .thanks__exp {
    font-size: 14px;
    margin-top: 50px;
  }
}
.contact__form .inner01 .thanks__btn {
  display: block;
  width: 30rem;
  color: #D8B868;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  background: #FFF;
  border: 1px solid #D8B868;
  padding: 1.5rem 0;
  margin: 5rem auto 0;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  .contact__form .inner01 .thanks__btn {
    width: 300px;
    font-size: 16px;
    padding: 15px 0;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__form .inner01 .thanks__btn {
    width: 250px;
    color: #FFF;
    font-size: 14px;
    background: #D8B868;
    border: none;
    padding: 15px 0;
    margin: 30px auto 0;
  }
}
.contact__form .inner01 .thanks__btn:hover {
  color: #FFF;
  background: #D8B868;
  transition: all 0.3s ease;
}

/* DOWNLOAD */
.contact__download {
  background: url("../../asset/images/contact/contact-download-bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 10rem 0;
  position: relative;
}
.contact__download::before, .contact__download::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
}
.contact__download::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .contact__download::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__download::before {
    left: 10px;
  }
}
.contact__download::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .contact__download::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__download::after {
    right: 10px;
  }
}
.contact__download .inner01 h3 {
  color: #FFF;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 1333px) {
  .contact__download .inner01 h3 {
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__download .inner01 h3 {
    font-size: 18px;
  }
}
.contact__download .inner01 p {
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .contact__download .inner01 p {
    font-size: 16px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .contact__download .inner01 p {
    font-size: 14px;
    text-align: left;
    margin-top: 30px;
  }
}
.contact__download .inner01 .contact__download__btn__wrap {
  margin-top: 3rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 1333px) {
  .contact__download .inner01 .contact__download__btn__wrap {
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .contact__download .inner01 .contact__download__btn__wrap {
    margin-top: 30px;
    flex-wrap: wrap;
  }
}
.contact__download .inner01 .contact__download__btn__wrap .contact__download__btn {
  width: 30%;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  border: 1px solid #FFF;
  padding: 2rem 0;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  .contact__download .inner01 .contact__download__btn__wrap .contact__download__btn {
    font-size: 16px;
    padding: 20px 0;
  }
}
@media screen and (max-width: 768px) {
  .contact__download .inner01 .contact__download__btn__wrap .contact__download__btn {
    width: 100%;
    color: #C41C0F;
    font-size: 14px;
    background: #FFF;
    border: none;
    padding: 15px 0;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .contact__download .inner01 .contact__download__btn__wrap .contact__download__btn:first-child {
    margin-top: 0;
  }
}
.contact__download .inner01 .contact__download__btn__wrap .contact__download__btn:hover {
  color: #C41C0F;
  background: #FFF;
  border: 1px solid transparent;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .contact__download .inner01 .contact__download__btn__wrap .contact__download__btn:hover {
    color: #C41C0F;
    background: #FFF;
    border: none;
  }
}

/* PAGE SECTION TTl */
.p-sec-ttl {
  font-size: 6.6rem;
  word-break: break-all;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl {
    font-size: 66px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl {
    font-size: 30px;
  }
}
.p-sec-ttl span {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1333px) {
  .p-sec-ttl span {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-sec-ttl span {
    font-size: 12px;
  }
}

/* schedule */
.schedule {
  padding: 10rem 0;
  position: relative;
}
@media screen and (min-width: 1333px) {
  .schedule {
    padding: 100px 0;
  }
}
@media screen and (max-width: 768px) {
  .schedule {
    padding: 50px 0;
  }
}
.schedule::before, .schedule::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #C41C0F;
  position: absolute;
  top: 0;
}
.schedule::before {
  left: 3rem;
}
@media screen and (min-width: 1333px) {
  .schedule::before {
    left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .schedule::before {
    left: 10px;
  }
}
.schedule::after {
  right: 3rem;
}
@media screen and (min-width: 1333px) {
  .schedule::after {
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .schedule::after {
    right: 10px;
  }
}
.schedule .inner01 .schedule__cnt__add {
  margin-top: 3rem;
}
@media screen and (min-width: 1333px) {
  .schedule .inner01 .schedule__cnt__add {
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .schedule .inner01 .schedule__cnt__add {
    margin-top: 20px;
  }
}
.schedule .inner01 .schedule__cnt__add p {
  font-size: 1.6rem;
}
@media screen and (min-width: 1333px) {
  .schedule .inner01 .schedule__cnt__add p {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .schedule .inner01 .schedule__cnt__add p {
    font-size: 12px;
  }
}
.schedule .inner01 .schedule__cnt__add ul {
  margin-top: 2rem;
}
@media screen and (min-width: 1333px) {
  .schedule .inner01 .schedule__cnt__add ul {
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .schedule .inner01 .schedule__cnt__add ul {
    margin-top: 10px;
  }
}
.schedule .inner01 .schedule__cnt__add ul li {
  font-size: 1.6rem;
  margin-top: 1rem;
}
@media screen and (min-width: 1333px) {
  .schedule .inner01 .schedule__cnt__add ul li {
    font-size: 16px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .schedule .inner01 .schedule__cnt__add ul li {
    font-size: 12px;
    margin-top: 5px;
  }
}
.schedule .inner01 .schedule__cnt__add ul li.first {
  font-weight: 700;
}
.schedule .inner01 .schedule__btn__wrap {
  margin-top: 5rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 1%;
}
@media screen and (min-width: 1333px) {
  .schedule .inner01 .schedule__btn__wrap {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .schedule .inner01 .schedule__btn__wrap {
    margin-top: 30px;
    gap: 10px 0;
    justify-content: space-between;
  }
}
.schedule .inner01 .schedule__btn__wrap .schedule__btn {
  width: 19%;
  color: #C41C0F;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-align: center;
  border: 1px solid #C41C0F;
  padding: 1.5rem 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1333px) {
  .schedule .inner01 .schedule__btn__wrap .schedule__btn {
    font-size: 14px;
    padding: 15px 10px;
  }
}
@media screen and (max-width: 768px) {
  .schedule .inner01 .schedule__btn__wrap .schedule__btn {
    width: 47%;
    font-size: 12px;
    padding: 10px 0;
  }
}
.schedule .inner01 .schedule__btn__wrap .schedule__btn:hover {
  color: #FFF;
  background: #C41C0F;
  transition: all 0.3s ease;
}
.schedule .inner01 .schedule__btn__wrap .schedule__btn.active {
  color: #FFF;
  background: #C41C0F;
}
.schedule .inner01 .schedule__cnt__wrap {
  width: 100%;
  margin-top: 5rem;
}
@media screen and (min-width: 1333px) {
  .schedule .inner01 .schedule__cnt__wrap {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .schedule .inner01 .schedule__cnt__wrap {
    margin-top: 30px;
  }
}
.schedule .inner01 .schedule__cnt__wrap .schedule__cnt {
  width: 100%;
  height: 600px !important;
  display: none;
}
.schedule .inner01 .schedule__cnt__wrap .schedule__cnt.active {
  display: block;
}
.schedule .inner01 .schedule__cnt__wrap .schedule__cnt iframe {
  width: 100% !important;
  height: 100% !important;
}/*# sourceMappingURL=style.css.map */