@charset "utf-8";

/* ======================================================================================
    common
====================================================================================== */
.cid-none {
  display: none;
}
.text-link,
.font-red {
  color: #e75f5f;
}
.font-wht {
  color: #fff;
}
.font-blue {
  color: #8cabb8;
}
.font-orange {
  color: #dc5626;
}
.font-size-l {
  font-size: 116%;
}
.txt-bld {
  font-weight: bold;
}
.post--link::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
/* リマーケティングタグ余白削除 */
iframe[name='google_conversion_frame'] {
  position: absolute;
  top: 0;
}

/* =====================================================================================
    COMMON
===================================================================================== */

/* layout
**************************************** */
.container {
  position: relative;
  overflow: hidden;
}

/* --- inner --- */
.inner {
  width: 90%;
  max-width: 1064px;
  margin-inline: auto;
}
.inner-sm {
  max-width: 800px;
}
.inner-lg {
  max-width: calc(100% - 40px);
}
.section_pdg {
  padding-block: 96px;
}
.section_pdg-sm {
  padding-block: 40px;
}
.main-column {
  float: left;
  width: 720px;
}
.side-column {
  float: right;
  width: 240px;
}
@media screen and (max-width: 767px) {
  .inner {
    width: 88%;
  }
  .inner .inner {
    width: 100%;
  }
  .section_pdg {
    padding-block: 48px;
  }
  .section_pdg-sm {
    padding-block: 20px;
  }
  .main-column,
  .side-column {
    float: none;
    width: 100%;
  }
  .main-column {
    margin-bottom: 40px;
  }
}

/* ttl
**************************************** */
.page_ttl {
  position: relative;
  z-index: 10;
  overflow: hidden;
  height: 400px;
  padding-top: 130px;
  color: #fff;
  text-align: center;
  background-image: var(--bg);
  background-color: #abb7b3;
  background-attachment: fixed;
  background-repeat: repeat-x;
  background-position: top center;
  background-size: auto;
}
.page_ttl-en {
  display: block;
  font-size: 3.5rem;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0;
  text-transform: capitalize;
  vertical-align: middle;
}
.page_ttl-en-sub {
  display: block;
  width: fit-content;
  margin-top: 2.5rem;
  margin-inline: auto;
  padding: 0.3em 3em;
  font-size: 0.9375rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: capitalize;
  border-radius: 0.1875rem;
  background-color: #deceba;
}
.page_ttl-jp {
  display: block;
  margin-top: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
}
.page_ttl--bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background-size: cover;
  background-position: center;
}
.mini-ttl {
  position: relative;
  margin: 2em 0 1em;
  padding-left: 16px;
  line-height: 1;
}
.mini-ttl::before {
  position: absolute;
  content: '';
  display: inline-block;
  width: 6px;
  height: 15px;
  background: #deceba;
  border-radius: 3px;
  left: 0;
  top: 0;
}
.catch-copy {
  font-size: 160%;
  font-weight: normal;
  color: #e75f5f;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .page_ttl {
    height: auto;
    padding-top: 64px;
  }
  .page_ttl--bg {
    position: absolute;
    inset: 0;
    background-position: top 64px center;
    background-size: auto 100%;
    background-image: var(--bg-sp);
  }
  .page_ttl-en {
    font-size: 2.5rem;
  }
  .page_ttl-jp {
    margin-top: 1rem;
    font-size: 1rem;
  }
  .catch-copy {
    font-size: 138%;
    margin-bottom: 16px;
  }
}

/* btn
**************************************** */
*:not(.flex) > .btn:not(:last-child) {
  margin-bottom: 8px;
}
.flex > .btn a {
  min-width: 100%;
}

/* bg
**************************************** */
.bg-wh {
  background: #fff;
}
.bg-bl-p01 {
  background: url(../images/common/bg_blue_pattern01.webp);
}
.bg-bl-p02 {
  background: url(../images/common/bg_blue_pattern02.webp);
}
.bg-iv-p01 {
  background: url(../images/common/bg_ivory_pattern.webp);
}
.bg-be-p1 {
  background: url(../images/common/bg_beige_pattern01.webp);
}

/* parts
**************************************** */
/* white-box */
.white-box {
  background: #fff;
  padding: 48px;
  border-radius: 3px;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
  margin: auto;
}

/* table */
.style-table th,
.style-table td {
  padding: 8px 40px;
  background: #fff;
  border: 1px solid #eee;
  vertical-align: middle;
}
.style-table th {
  background: #b6d2db url(../images/common/bg_blue_pattern01.webp);
  border: none;
}
.style-table p {
  font-size: 94%;
  padding: 4px 12px;
  background: #fff;
  border: 1px solid #eee;
  text-align: center;
  line-height: 1.6em;
  background-color: #f6f6f6;
}

/* dl */
.style-dl {
  line-height: 1.6;
  background: rgba(255, 255, 255, 0.75);
  padding: 48px;
  border-radius: 3px;
}
.style-dl dt {
  color: #99bac5;
  float: left;
  clear: left;
  font-size: 93%;
  line-height: 1.6;
  padding: 14px 0;
  font-weight: bold;
}
.style-dl dd {
  line-height: 1.6;
  padding: 12px 0 12px 160px;
  border-bottom: 1px dotted #e0d1be;
}
@media screen and (max-width: 767px) {
  /* white-box */
  .white-box {
    padding: 16px;
  }

  /* table */
  .style-table th,
  .style-table td {
    line-height: 1.5;
    padding: 8px 4px;
  }
  .style-table td:nth-child(even) {
    padding: 8px;
  }

  /* dl */
  .style-dl {
    padding: 24px;
  }
  .style-dl dt {
    padding-bottom: 0;
    float: none;
  }
  .style-dl dd {
    padding-left: 0;
    padding-top: 4px;
  }
}

/* kazari
**************************************** */
.kazari-wrap {
  position: relative;
  overflow: hidden;
}
.kazari {
  display: inline-block;
  width: 50px;
  height: 50px;
  position: absolute;
  background: center no-repeat;
  z-index: 0;
  pointer-events: none;
}
.jq1,
.jq2 {
  animation:
    wobbling_x 1.8s ease-in-out infinite alternate,
    wobbling_y 2.1s ease-in-out infinite alternate;
}
.jq2 {
  animation-delay: -0.9s;
}
@keyframes wobbling_x {
  0% {
    transform: translateX(8px);
  }

  100% {
    transform: translateX(0);
  }
}
@keyframes wobbling_y {
  0% {
    translate: 0 0;
  }

  100% {
    translate: 0 8px;
  }
}

/* home_eventの飾り */
/*left*/
.kazari-a {
  background-image: url(../images/kazari_a.webp);
  width: 214px;
  height: 164px;
  top: 3%;
  left: 68px;
}
.kazari-b {
  background-image: url(../images/kazari_b.webp);
  width: 157px;
  height: 102px;
  top: 44%;
  left: -56px;
}
.kazari-c {
  background-image: url(../images/kazari_c.webp);
  width: 171px;
  height: 177px;
  bottom: 40px;
  left: 16px;
}
.kazari.kazari-c.campaign-2 {
  left: 87%;
  top: 70%;
  transform: scaleX(-1);
  filter: FlipH;
}

/*right*/
.kazari-d {
  background-image: url(../images/kazari_d.webp);
  width: 130px;
  height: 102px;
  right: 180px;
  top: 150px;
}
.kazari.kazari-d.campaign {
  top: 410px;
}
.kazari.kazari-e.campaign {
  top: 480px;
}
.kazari.kazari-e.campaign-2 {
  top: 70%;
  left: 0px;
  transform: scaleX(-1);
  filter: FlipH;
}
.kazari-e {
  background-image: url(../images/kazari_e.webp);
  width: 142px;
  height: 198px;
  right: 40px;
  top: 64px;
}
.kazari-f {
  background-image: url(../images/kazari_f.webp);
  width: 237px;
  height: 222px;
  right: -72px;
  bottom: 60px;
}
.kazari.kazari-f.campaign-2 {
  left: 0px;
  transform: scaleX(-1);
  filter: FlipH;
  top: 30%;
}

/*ten*/
.ten-a {
  background-image: url(../images/ten_a.webp);
  width: 81px;
  height: 141px;
  top: 28%;
  left: 60px;
}
.ten-b {
  background-image: url(../images/ten_b.webp);
  width: 48px;
  height: 58px;
  bottom: 10px;
  left: 35px;
}
.kazari.ten-b.campaign-2 {
  transform: scaleX(-1);
  filter: FlipH;
  top: 75%;
  left: 96%;
}
.ten-c {
  background-image: url(../images/ten_c.webp);
  width: 261px;
  height: 521px;
  right: 20px;
  top: -20px;
  z-index: -1;
}
.kazari.ten-c.campaign {
  top: 330px;
}
.kazari.kazari-b.campaign {
  right: 0;
  top: 53%;
  left: 90%;
  transform: rotate(-30deg);
}
.kazari.kazari-d.campaign-2 {
  top: 60%;
  transform: rotate(-45deg);
  left: 110px;
}
.kazari.ten-a.campaign {
  top: 62%;
  transform: rotate(25deg);
  zoom: 1.5;
  z-index: -1;
}

/*onpu*/
.onpu-a {
  background-image: url(../images/onp_a.webp);
  width: 30px;
  height: 37px;
  top: 58px;
  left: 300px;
}
.kazari.onpu-a.jq2.campaign {
  top: 589px !important;
  left: 100px !important;
}
.onpu-b {
  background-image: url(../images/onp_b.webp);
  width: 24px;
  height: 30px;
  top: 220px;
  left: 27px;
}
.onpu-c {
  background-image: url(../images/onp_c.webp);
  width: 19px;
  height: 27px;
  left: 100px;
  bottom: 220px;
}
.onpu-d {
  background-image: url(../images/onp_d.webp);
  width: 27px;
  height: 32px;
  right: 320px;
  top: 180px;
}
.onpu-e {
  background-image: url(../images/onp_e.webp);
  width: 24px;
  height: 30px;
  right: 232px;
  top: 92px;
}
.onpu-f {
  background-image: url(../images/onp_f.webp);
  width: 30px;
  height: 37px;
  right: 90px;
  top: 268px;
}
.onpu-g {
  background-image: url(../images/onp_g.webp);
  width: 19px;
  height: 27px;
  right: 22px;
  bottom: 268px;
}
.onpu-h {
  background-image: url(../images/onp_h.webp);
  width: 27px;
  height: 32px;
  right: 22px;
  bottom: 268px;
}
.onpu-i {
  background-image: url(../images/onp_i.webp);
  width: 27px;
  height: 32px;
  right: 22px;
  bottom: 268px;
}
.onpu-j {
  background-image: url(../images/onp_j.webp);
  width: 19px;
  height: 25px;
  right: 22px;
  bottom: 268px;
}
.onpu-k {
  background-image: url(../images/onp_k.webp);
  width: 19px;
  height: 25px;
  right: 22px;
  bottom: 268px;
}
.onpu-l {
  background-image: url(../images/onp_l.webp);
  width: 18px;
  height: 25px;
  right: 22px;
  bottom: 268px;
}

/* border-double */
.border-wrap {
  position: relative;
}
.border-top,
.border-bottom {
  position: absolute;
  z-index: 0;
  background: url(../images/common/border_double_yoko.webp) repeat-x;
  height: 8px;
  left: 18px;
  right: 18px;
  pointer-events: none;
}
.border-left,
.border-right {
  position: absolute;
  z-index: 0;
  background: url(../images/common/border_double_tate.webp) repeat-y;
  width: 8px;
  top: 18px;
  bottom: 18px;
  pointer-events: none;
}
.border-top {
  top: 18px;
}
.border-bottom {
  bottom: 18px;
}
.border-left {
  left: 18px;
}
.border-right {
  right: 18px;
}
@media screen and (max-width: 767px) {
  .kazari {
    background-size: contain;
  }
  .kazari-a {
    width: 107px;
    top: 22%;
    height: 82px;
    left: -20px;
  }
  .kazari-b {
    width: 78px;
    height: 50px;
    left: -16px;
  }
  .kazari-c {
    width: 85px;
    height: 88px;
    bottom: 16px;
    left: -16px;
  }
  .kazari-d {
    width: 65px;
    height: 51px;
    right: 0;
  }
  .kazari-e {
    width: 71px;
    height: 99px;
    right: -16px;
    top: 0px;
  }
  .kazari-f {
    width: 118px;
    height: 111px;
    right: -40px;
  }
  .ten-a {
    width: 40px;
    height: 70px;
    top: 0;
    left: 32px;
  }
  .ten-b {
    width: 24px;
    height: 29px;
    bottom: 0;
    left: -7px;
  }
  .ten-c {
    width: 130px;
    height: 260px;
    right: -35px;
  }
  .onpu-a {
    width: 15px;
    height: 18px;
  }
  .onpu-b {
    width: 12px;
    height: 15px;
  }
  .onpu-c {
    width: 9px;
    height: 13px;
  }
  .onpu-d {
    width: 13px;
    height: 16px;
  }
  .onpu-e {
    width: 12px;
    height: 15px;
  }
  .onpu-f {
    width: 15px;
    height: 18px;
  }
  .onpu-g {
    width: 9px;
    height: 13px;
  }
  .kazari.campaign {
    display: none;
  }
  .kazari-b.campaign-2 {
    width: 78px;
    height: 50px;
    left: 73%;
    top: 45%;
  }
  .kazari.kazari-d.campaign-2 {
    top: 57%;
    transform: rotate(-45deg);
    left: 10px;
  }
  .kazari.kazari-f.campaign-2 {
    top: 25%;
    width: 80px;
    left: -18px;
  }
  .kazari.kazari-c.campaign-2 {
    display: none;
  }

  /* border-double */
  .border-wrap {
    position: relative;
  }
  .border-top,
  .border-bottom {
    position: absolute;
    z-index: 0;
    height: 8px;
    left: 6px;
    right: 6px;
  }
  .border-left,
  .border-right {
    position: absolute;
    z-index: 0;
    background: url(../images/common/border_double_tate.webp) repeat-y;
    width: 8px;
    top: 6px;
    bottom: 6px;
  }
  .border-top {
    top: 6px;
  }
  .border-bottom {
    bottom: 6px;
  }
  .border-left {
    left: 6px;
  }
  .border-right {
    right: 6px;
  }
  .border-wrap.white-box {
    padding: 32px;
  }
}

/* cta_area
**************************************** */
.cta_area {
  position: relative;
  z-index: 1;
  width: 100vw;
  height: 580px;
  margin-left: calc(50% - 50vw);
  background-image: url(../images/common/cta-bg.webp);
  background-position: bottom;
  background-size: cover;
}
.cta_area::before,
.cta_area::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 4px;
  background-image: url(../images/common/border_yoko-wh.webp);
}
.cta_area::before {
  top: 14px;
}
.cta_area::after {
  bottom: 14px;
}
.cta_area .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.cta_area .inner::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(35.7%, 380px);
  aspect-ratio: 380/519;
  background-image: url(../images/common/cta-img.webp);
  background-position: center;
  background-size: cover;
}
.cta_area--txt {
  margin-left: -2vw;
}
.cta_area--list {
  gap: 24px;
}
.cta_area--cont {
  width: min(67.48%, 718px);
}
.cta_area--btn {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 0.3em 1em;
  color: #fff;
  font-size: 3rem;
  line-height: 1;
  background-color: #cd2e2c;
  border-radius: 100px;
  transition: 0.4s ease-out;
  border: none;
  cursor: pointer;
}
.cta_area--btn::after {
  content: '';
  position: absolute;
  top: calc(50% - 11px / 2);
  right: 30px;
  display: block;
  width: 7px;
  height: 11px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #fff;
}
.cta_area--btn em {
  font-style: normal;
}
.cta_area--btn i {
  font-size: 3.5rem;
  font-style: normal;
}
.cta_area--btn span {
  color: #ffe591;
}
.cta_area--btn:hover {
  background-color: #f08786;
}
.win .cta_area--btn {
  padding: 0.1em 1em 0.5em;
}
.lps_sec .cta_area {
  margin-bottom: 96px;
}
.lps_sec .cta_area:not(:first-child) {
  margin-top: 96px;
}
.lps_sec .cta_area:last-child {
  margin-bottom: -96px;
}

/* online-contact-btn */
.online-contact-btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 340px;
  height: 52px;
  font-size: 1.25rem;
  background: #8cabb8;
  color: #fff;
  border-radius: 100px;
  line-height: 0;
  vertical-align: middle;
  text-align: center;
  letter-spacing: 0.1em;
}
.online-contact-btn a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .online-contact-btn {
    margin: auto;
  }

  /* cta_area */
  .cta_area {
    height: auto;
    background-image: url(../images/common/cta-bg_sp.webp);
    background-position: top;
    background-repeat: no-repeat;
    background-size: 100%;
    aspect-ratio: 828/680;
  }
  .cta_area::before,
  .cta_area::after {
    display: none;
  }
  .cta_area .inner {
    display: block;
    width: 88%;
    height: auto;
  }
  .cta_area .inner::before {
    display: none;
  }
  .cta_area--cont {
    width: auto;
  }
  .cta_area--txt {
    width: 74.4%;
    padding-top: 13vw;
    margin-bottom: 5vw;
  }
  .cta_area--btn {
    padding: 0.5em 1em;
    font-size: 1.5rem;
    border-radius: 6px;
  }
  .cta_area--btn::after {
    top: calc(50% - 8px / 2);
    right: 8px;
    width: 5px;
    height: 8px;
  }
  .cta_area--btn i {
    font-size: 1.875rem;
  }
  .cta_area--list {
    margin-top: 13vw;
  }
  .lps_sec .cta_area:not(:first-child) {
    margin-top: 48px;
  }
  .lps_sec .cta_area:last-child {
    margin-bottom: -48px;
  }
}

/* =====================================================================================
    search_box
===================================================================================== */
/* studio_area_ttl
**************************************** */
.archive-post.category .studio_area_ttl {
  padding-top: 64px;
}
.studio_area_ttl--inner {
  padding: 54px;
  border-radius: 8px;
  background: url(../images/common/bg_beige_pattern01.webp);
}
.studio_area_ttl + .breadcrumbs {
  display: none;
}
.studio_area_ttl--txt {
  font-size: 3rem;
  letter-spacing: 0.02em;
}
.studio_area_ttl--main {
  display: block;
  line-height: 1.3;
  color: #d44040;
}
@media screen and (max-width: 767px) {
  .archive-post.category .studio_area_ttl {
    padding-top: 24px;
  }
  .studio_area_ttl--inner {
    padding: 24px 16px;
  }
  .studio_area_ttl--txt {
    font-size: 1.6rem;
  }
}

/* search-sub-ttl
**************************************** */
.search-sub-ttl {
  font-size: 120%;
  line-height: 1;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #deceba;
}
.search-sub-ttl::before {
  content: '';
  background: url(../images/common/search_sub_ttl.webp) center no-repeat;
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .search-sub-ttl {
    font-size: 108%;
    padding-bottom: 8px;
    margin-bottom: 8px;
  }
}

/* slash-ttl
**************************************** */
/* slash-ttl */
.slash-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
}
.slash-ttl::before,
.slash-ttl::after {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  background: url(../images/common/slash-ttl-deco.svg) center no-repeat;
}
.slash-ttl::after {
  transform: scale(-1, 1);
}
@media screen and (max-width: 767px) {
  /* slash-ttl */
  .slash-ttl {
    font-size: 1.2rem;
  }
}

/* search-area
**************************************** */
.select2-hidden-accessible:nth-of-type(2) {
  margin-left: 50%;
}
.search-area .area_name {
  font-size: 160%;
  font-weight: bold;
  line-height: 1.6;
}
.search-box {
  display: table;
  width: 100%;
  background: #fff;
  border-radius: 3px;
  margin-bottom: 32px;
  border-top: 3px solid #b5dbe8;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
}
.search-box-cell {
  display: table-cell;
  vertical-align: top;
  padding: 40px;
}
.area-choice {
  background: #f2ece4;
}
.lesson-choice {
  width: 292px;
}
.lesson-choice .search-box-item label {
  width: 100%;
  height: 24px;
  display: inline-block;
  vertical-align: top;
  border-radius: 3px;
  padding-top: 0;
  overflow: hidden;
}
.search-box-item {
  position: relative;
  display: block;
  vertical-align: top;
}
.search-box-item input.all_check_input {
  display: none;
}
.search-box-item-child {
  padding-left: 1em;
}
.search-box-item input[type='checkbox'] {
  display: none;
}
.search-box-item label {
  position: relative;
  display: inline-block;
  border-radius: 3px;
  font-size: 94%;
  padding: 2px 2px 2px 30px;
  cursor: pointer;
}
.child .search-box-item label.openner.open,
.search-box-item label:hover {
  background: #b5dbe8 !important;
}
.search-box-item label .lever:before {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  border: 2px solid #b5dbe8;
  left: 6px;
  top: 6px;
}
.child .search-box-item label.openner.open:before,
.search-box-item label:hover .lever:before {
  border-color: #fff;
}
.search-box-item input[type='checkbox']:checked + label .lever {
  color: #e75f5f;
  font-weight: bold;
}
.search-box-item input[type='checkbox']:checked + label .lever::after {
  content: '';
  width: 10px;
  height: 18px;
  border-right: 2px solid #e75f5f;
  border-bottom: 2px solid #e75f5f;
  display: block;
  position: absolute;
  z-index: 10;
  transform: rotate(45deg);
  top: 1px;
  left: 10px;
}
.search-box-item input[type='checkbox']:checked + label .lever2 {
  color: #333;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .search-area .area_name {
    font-size: 134%;
    font-weight: bold;
    line-height: 1.4;
  }
  .search-area .tokyo h3 img {
    height: 30px;
  }
  .search-box,
  .search-box-cell {
    display: block;
    width: 100%;
  }
  .search-box-cell {
    padding: 14px;
  }
  .lesson-choice {
    width: 100%;
  }
  .lesson-choice .search-box-ttl img {
    width: 148px;
  }
  .area-choice .search-box-ttl img {
    width: 201px;
  }

  /* search-box-item */
  .lesson-choice .search-box-item {
    display: inline-block;
    width: 48.5%;
  }
  .search-box-item label {
    padding: 0 0 0 16px;
    letter-spacing: 0;
  }
  .search-box-item.tiny label {
    letter-spacing: -0.1em;
  }
  .search-box-item label:hover {
    background: transparent !important;
  }
  .search-box-item label:hover .lever:before {
    border-color: #b5dbe8;
  }
  .search-box-item label .lever:before {
    top: 5px;
    width: 12px;
    height: 12px;
    left: 0;
  }
  .search-box-item input[type='checkbox']:checked + label .lever::after {
    width: 6px;
    height: 14px;
    left: 4px;
  }
  .search-box-item-child {
    padding-left: 0;
  }
}

/* 親
**************************************** */
.openner {
  display: block;
}

/* 子
**************************************** */
.child {
  background: rgba(255, 255, 255, 0.7);
  padding: 16px;
  border-radius: 3px;
}
.child .search-box-item label {
  width: 100%;
  padding: 4px 8px 4px 32px;
}
.child > .search-box-item > label .lever2:before {
  content: '';
  display: block;
  position: absolute;
  left: 13px;
  top: 13px;
  z-index: 10;
  border-style: solid;
  border-width: 6.9px 4px 0 4px;
  border-color: #b5dbe8 transparent transparent transparent;
}
.child .search-box-item label.openner.open .lever2:before,
.child > .search-box-item > label:hover .lever2:before {
  background: #b5dbe8;
  border-color: #fff transparent transparent transparent;
}
.child > .search-box-item > input[type='checkbox']:checked + label .lever2:after {
  content: none;
}
.search-box-item label.btn-all_check {
  position: absolute;
  width: fit-content;
  right: 16px;
  top: 4px;
  border: 2px solid #b7dce9;
  background: #ffffff;
  color: #333;
  font-weight: bold;
  padding: 4px 16px;
  box-sizing: border-box;
  display: inline-block;
  line-height: 1em;
  border-radius: 50px;
  font-size: 90%;
  z-index: 1;
  cursor: pointer;
  opacity: 0;
}
.search-box-item label.btn-all_check {
  transition: 0.4s ease-out;
}
.search-box-item label.btn-all_check.open {
  opacity: 1;
}
.search-box-item label.btn-all_check:hover {
  background: #b7dce9;
}
input.all_check_input:checked + .btn-all_check {
  border: 2px solid #e86666;
  background: #fff;
  color: #e86666;
  opacity: 1;
}
input.all_check_input:checked + .btn-all_check:hover {
  background: #e86666 !important;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .child {
    padding: 8px;
  }
  .child .search-box-item label {
    padding-right: 0;
  }
  .search-box-item label.btn-all_check {
    position: relative;
    inset: auto;
    margin: 8px 0 0;
    width: 100%;
    padding: 6px 16px;
    text-align: center;
    display: none;
  }
}

/* 孫
**************************************** */
.grandson {
  margin: 8px 24px 24px;
  position: relative;
  padding: 8px 0;
  border-top: 2px dotted #b5dbe8;
  border-bottom: 2px dotted #b5dbe8;
}
.grandson .search-box-item {
  display: inline-block;
  line-height: 1.4;
  float: left;
  width: 25%;
}
.grandson .search-box-item label {
  width: 148px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.grandson .search-box-item label .lever:before {
  top: 6px;
}

@media screen and (max-width: 767px) {
  .grandson {
    margin: 8px;
  }
  .grandson .search-box-item {
    width: 50%;
  }
  .grandson .search-box-item label {
    width: 132px;
  }
}

/* search_btn
**************************************** */
.search_btn {
  position: relative;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: all 0.2s ease-out;
  flex-shrink: 0;
  background: #e75f5f;
  border-radius: 100px;
  padding: 10px;
  width: fit-content;
  height: 72px;
  color: #fff;
  font-size: 12px;
  min-width: min(360px, 100%);
  letter-spacing: 0.1em;
}
.search_btn::after {
  content: '';
  width: 10px;
  height: 10px;
  border-right: 1px solid;
  border-top: 1px solid;
  color: #fff;
  display: block;
  position: absolute;
  right: 30px;
  top: calc(50% - 10px / 2);
  transform: rotate(45deg);
}
.search_btn span:first-child {
  display: block;
  font-size: 1.375rem;
}
.search_btn:hover {
  opacity: 0.8;
}
.search_btn-sm {
  position: relative;
  border: none;
  padding: 0;
  cursor: pointer;
  margin-left: 16px;
  border: none;
  width: 100px;
  background-color: #4ca5c3;
  border-radius: 50px;
  color: #fff;
  font-size: 1.1rem;
  padding: 0.5em 1em;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
}
@media screen and (max-width: 767px) {
  .search_btn-sm {
    width: 100%;
    margin-left: 0;
    margin-top: 8px;
    padding: 0.7em 1em;
  }
}

/* =====================================================================================
    search_box-studio-list
===================================================================================== */

/* search_box-studio-list
**************************************** */
.search-btnarea li {
  display: inline-block;
  vertical-align: top;
  margin: 0 3px 3px 0;
}
.search-check {
  display: inline-block;
  line-height: 1;
  padding: 8px 16px;
  background: #b5dbe8;
  border-radius: 3px;
  font-size: 94%;
  font-weight: bold;
}
.search-check:hover,
.search-check.checked {
  color: #000;
  background: #deceba;
}
@media screen and (max-width: 767px) {
  .search-btnarea li {
    line-height: 1;
  }
  .search-check {
    padding: 6px 10px;
    width: 100%;
    overflow-x: hidden;
    white-space: nowrap;
  }
}

/* =====================================================================================
    HEADER
===================================================================================== */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px;
  height: 130px;
  background: linear-gradient(rgba(49, 49, 62, 0.2), transparent);
  z-index: 1000000001;
}
.home .header,
.page-lp-piano .header {
  opacity: 0;
  transition: all 0.4s ease-out;
}
.home .header.fixed,
.page-lp-piano .header.fixed {
  opacity: 1;
}
.header-box {
  background: #fff;
  border-radius: 3px;
  padding: 16px 0;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.header-box .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  width: 96%;
  max-width: 1410px;
}
.header--logo {
  position: relative;
  z-index: 9991;
  display: inline-block;
  flex-shrink: 0;
  vertical-align: top;
  width: clamp(136px, 13.177vw, 180px);
}
.header--logo a {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .header {
    height: 64px;
    padding: 8px;
    background: #fff;
  }
  .header-box {
    background: none;
    border-radius: 0;
    padding: 0;
    border: none;
  }
  .header-box,
  .header-box .inner {
    height: 100%;
  }
  .header-btn {
    position: relative;
    z-index: 9991;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-right: 60px;
  }
  .home .header,
  .page-lp-piano .header {
    opacity: 1;
    background: transparent;
  }
  .home .header .header--logo,
  .home .header .header-btn,
  .page-lp-piano .header--logo,
  .page-lp-piano .header-btn {
    opacity: 0;
    transition: all 0.2s ease-out;
  }
  .home .header .gnav-btn span,
  .page-lp-piano .gnav-btn span {
    background: #fff;
    transition: all 0.2s ease-out;
  }
  .home .header.fixed,
  .page-lp-piano .header.fixed {
    background: #fff;
  }
  .home .header.fixed .header--logo,
  .home .header.fixed .header-btn,
  .page-lp-piano .header.fixed .header--logo,
  .page-lp-piano .header.fixed .header-btn {
    opacity: 1;
  }
  .home .header.fixed .gnav-btn span,
  .page-lp-piano .header.fixed .gnav-btn span {
    background: #000;
  }
}

/* gnav
**************************************** */
.gnav {
  flex: 1;
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 0.5rem;
}
.gnav--menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}
.gnav-item {
  vertical-align: top;
}
.gnav-item span {
  display: block;
  color: #deceba;
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.1em;
}
.gnav-item a {
  position: relative;
  display: block;
  z-index: 10;
  color: #333;
  font-size: 1rem;
  padding-inline: 0.7em;
  -webkit-font-smoothing: subpixel-antialiased;
}
.gnav-item.header-lesson a::before,
.gnav-item .openner::before {
  content: '';
  position: absolute;
  display: block;
  top: 0.7em;
  width: 7px;
  height: 7px;
  right: 0;
  transform-origin: center center;
  transform: rotate(-45deg);
  border-bottom: 1px solid #acbbc2;
  border-left: 1px solid #acbbc2;
}
@media screen and (min-width: 768px) {
  .gnav-item a::after {
    content: '';
    display: block;
    width: 40px;
    height: 40px;
    background: #b5dbe8;
    border-radius: 50%;
    top: 0;
    position: absolute;
    z-index: -1;
    left: 50%;
    margin-left: -34px;
    filter: blur(20px);
    opacity: 0;
    transition: all 0.2s ease-out;
  }
  .gnav-item:hover a::after {
    opacity: 1;
  }
}

/* レッスンコースの子メニュー */
.header-lesson {
  position: relative;
}
.gnav-child-area {
  position: absolute;
  width: 480px;
  top: 0;
  left: 50%;
  padding-top: 72px;
  translate: -50% 0;
}
.bg-blue {
  background-color: #aed2df;
}
.gnav-child {
  border-radius: 3px;
  padding: 24px;
}
.gnav-child::before {
  content: '';
  display: inline-block;
  border: 8px solid transparent;
  border-bottom-color: #aed2df;
  position: absolute;
  right: 50%;
  top: 56px;
  margin-right: -8px;
}
.gnav-item--instructors .gnav-child {
  margin-top: 0;
  padding: 0;
}
.gnav-child > ul {
  flex: 1;
}
.gnav-child-item a {
  margin: 0;
  padding: 0 0 0 32px;
  border-radius: 3px;
  font-size: 0.9375rem;
}
.gnav-child-item a:hover {
  background: #fff;
  color: #000;
}
.gnav-child-item a::before {
  width: 5px;
  height: 5px;
  right: auto;
  left: 12px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  border-color: #fff;
  top: 24px;
}
.gnav-child-item a::after {
  display: none;
}
.gnav-child-item a:hover::before {
  border-color: #e75f5f;
}
.gnav-child-item-child {
  padding-left: 24px;
}

/* gnav-area-tabs */
.gnav-area-tabs {
  margin-top: 50px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  margin: 0 auto;
}
.gnav-area-tabs .tab_item {
  width: calc(100% / 2);
  height: 40px;
  border-bottom: 2px ​solid #aed2df;
  background-color: #d9d9d9;
  line-height: 40px;
  font-size: 16px;
  text-align: center;
  color: #080808;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
}
.gnav-area-tabs .tab_item:hover {
  opacity: 0.75;
}
.gnav-area-tabs input[name='tab_item'] {
  display: none;
}
.gnav-area-tabs .gnav-area-item {
  display: none;
  padding: 20px 0;
  clear: both;
  overflow: hidden;
}
#inst-kanto:checked ~ #inst-kanto,
#inst-kansai:checked ~ #inst-kansai {
  display: block;
}
.gnav-area-tabs input:checked + .tab_item {
  background: #aed2df;
}

/* 右メニュー */
.sub-links {
  flex-shrink: 0;
}
.sub-links-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-bottom: 8px;
  font-size: 0.8125rem;
  line-height: 1;
}
.sub-links-list a {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.sub-links-list a img {
  flex-shrink: 0;
}
.header-trial a {
  display: inline-block;
  background: #b6d2db url(../images/common/bg_blue_pattern01.webp);
  width: 100%;
  padding: 0.6em;
  text-align: center;
  border-radius: 3px;
  color: #fff;
  font-size: 1.18rem;
  letter-spacing: 0.22em;
  line-height: 1;
}
.header-trial a:hover {
  background: #e75f5f;
}
.header #header-search {
  display: none;
}
@media screen and (min-width: 768px) {
  .gnav-child-area {
    opacity: 0;
    pointer-events: none;
  }
  .header-lesson:hover .gnav-child-area {
    opacity: 1;
    pointer-events: auto;
  }
}
@media screen and (max-width: 767px) {
  .gnav {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 0;
    padding: 90px 12% 48px;
    background: #eee;
    overflow-y: scroll;
    z-index: 9990;
  }
  .gnav--menu {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px dotted #fff;
    flex-direction: column;
  }
  .gnav-btn,
  .gnav-btn span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
  }
  .gnav-btn {
    position: fixed;
    width: 40px;
    height: 19px;
    top: 15px;
    right: 6%;
    z-index: 9999;
  }
  .gnav-btn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #000;
  }
  .gnav-btn span:nth-of-type(1) {
    top: 0;
  }
  .gnav-btn span:nth-of-type(2) {
    top: 8px;
  }
  .gnav-btn span:nth-of-type(3) {
    bottom: 2px;
  }
  .gnav-btn:after {
    content: 'MENU';
    position: absolute;
    color: #000;
    bottom: 0;
    top: 18px;
    margin-top: 2px;
    font-size: 80%;
    letter-spacing: 0.3em;
    white-space: nowrap;
    width: 100%;
  }
  .home .gnav-btn:after,
  .page-lp-piano .gnav-btn:after {
    color: #fff;
  }
  .fixed .gnav-btn:after {
    color: #000;
  }
  .home .gnav-btn.open:after,
  .page-lp-piano .gnav-btn.open:after {
    color: #000;
  }
  .gnav-btn.open span:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(-30deg);
    transform: translateY(7px) rotate(-30deg);
    background: #000 !important;
  }
  .gnav-btn.open span:nth-of-type(2) {
    opacity: 0;
  }
  .gnav-btn.open span:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(30deg);
    transform: translateY(-8px) rotate(30deg);
    background: #000 !important;
  }
  .header-lesson-parent > a {
    pointer-events: none;
  }
  .gnav-item {
    display: block;
  }
  .gnav-item a {
    font-size: 1.307rem;
  }
  .gnav-item span {
    text-align: left;
  }
  .gnav-item a,
  .gnav-item .openner {
    padding: 4px 0;
  }
  .gnav-item a::before {
    content: none;
  }
  .gnav-item .openner::before {
    top: 0;
    margin-top: 18px;
  }
  .gnav-item a.op_none::before,
  .gnav-item .openner._none::before {
    content: none;
  }
  .sub-links {
    text-align: center;
  }
  .sub-links-list {
    display: none;
  }
  .header-trial a {
    width: 100%;
    height: 48px;
    padding-top: 14px;
  }
  .gnav-child-area {
    display: none;
    position: relative;
    left: 0;
    padding: 0;
    width: 100%;
    translate: none;
  }
  .gnav-child {
    display: block;
    margin-top: 16px;
    background: #fff;
    padding: 8px 8px 8px 32px;
    margin-bottom: 8px;
  }
  .gnav-child::before {
    display: none;
  }
  .gnav-child-item a {
    padding: 1px 0;
    font-size: 0.923rem;
  }
  .gnav-child-item a::before {
    border-color: #000;
    left: -18px;
  }
  .gnav-area-tabs .gnav-area-item {
    padding: 15px 30px;
  }
  .gnav-area-tabs {
    box-shadow: none;
    margin-bottom: 20px;
  }
}

/* left-bnr
*************************************************** */
.left-bnr {
  display: none;
  position: fixed;
  z-index: 99999;
  right: 24px;
  top: 130px;
}
.left-bnr::before {
  content: '';
  height: 130px;
  width: 1px;
  border-left: 1px dashed #cdcdcb;
  position: fixed;
  right: 96px;
  top: 0;
}
.left-bnr:hover {
  opacity: 0.75;
}
.left-bnr.show {
  display: block !important;
}
.left-bnr-online {
  right: 5px;
  top: 499px;
}
.bnr-btn {
  position: fixed;
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  background: #eacea7;
  border-radius: 50%;
  top: 130px;
  right: 6px;
  z-index: 100000;
  transition: 0.4s all ease;
}
.bnr-btn:before {
  content: '';
  display: block;
  height: 25px;
  width: 9px;
  background-size: contain;
  background-repeat: no-repeat;
  background: url(../images/close_btn.webp);
}
.bnr-btn.show:before {
  content: '';
  width: 20px;
  height: 20px;
  background: url(../images/open_btn.webp);
  line-height: 1em;
}
.bnr-btn.show {
  transition: 0.4s all ease;
  background: #e9e9e7;
}

/* breadcrumbs
*************************************************** */
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  margin-inline: auto;
  padding-block: 0.5em;
  font-size: 0.75rem;
}
.page-lp-piano .breadcrumbs {
  display: none;
}
.breadcrumbs p {
  color: transparent;
}
.breadcrumbs .post-lessons-archive {
  display: none;
}
.breadcrumbs .post {
  position: relative;
  padding: 0;
  width: auto;
  height: 100%;
  margin: 0;
  float: left;
}
.breadcrumbs span {
  position: relative;
  padding-right: 10px;
}
.breadcrumbs a {
  position: relative;
}
.breadcrumbs a:hover {
  opacity: 0.5;
}
.breadcrumbs li:not(:last-child) a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 2px;
  right: -4px;
  display: block;
  width: 5px;
  height: 5px;
  margin: auto;
  transform-origin: center center;
  transform: rotate(45deg);
  border-top: 1px solid #f6f6f6;
  border-right: 1px solid #f6f6f6;
}
.breadcrumbs-pc {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 8px;
}
.breadcrumbs-pc a {
  color: #fff;
}
.breadcrumbs-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .breadcrumbs-pc {
    display: none;
  }
  .breadcrumbs-sp {
    display: flex;
  }
  .breadcrumbs li {
    float: left;
  }
  .breadcrumbs .post {
    padding-bottom: 0;
  }
  .breadcrumbs a {
    color: #7d8f98;
  }
  .breadcrumbs li:not(:last-child) a::after {
    border-top: 1px solid #7d8f98;
    border-right: 1px solid #7d8f98;
  }
}

/* =====================================================================================
    FOOTER
===================================================================================== */
/* pagetop
*************************************************** */
.pagetop {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 100;
  font-size: 86%;
  letter-spacing: 0;
  display: block;
  width: 40px;
  height: 56px;
  line-height: 96px;
  text-align: center;
  color: #000;
}
.pagetop::before {
  content: '';
  position: absolute;
  display: block;
  top: 24px;
  width: 24px;
  height: 24px;
  right: 8px;
  transform-origin: center center;
  transform: rotate(-45deg);
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transition: all 0.2s ease-out;
}
.pagetop:hover::before {
  border-color: #c5ccd6;
}

/* blog
*************************************************** */
.topics-blog {
  padding-bottom: 0;
}
.foot-blog li p {
  font-size: 90%;
}
.foot-blog-ttl {
  font-size: 110%;
  margin-bottom: 14px;
}
.topics-news {
  width: 480px;
  float: right;
}
.post-dt {
  color: #99bac5;
  float: none;
  clear: left;
  font-size: 87%;
  line-height: 1.6;
  padding: 14px 0;
  font-weight: bold;
}
.post-dd {
  line-height: 1.6;
  padding: 0px 0 14px 0;
  border-bottom: 1px dotted #e0d1be;
}
@media screen and (max-width: 767px) {
  .post-dt {
    float: none;
    padding-top: 12px;
    padding-bottom: 0;
  }
  .post-dd {
    padding-left: 0;
    margin-bottom: 0;
    padding-top: 0;
  }
  .topics-blog {
    margin-bottom: 40px;
  }
  .foot-blog-ttl {
    font-size: 110%;
    margin-bottom: 0;
  }
}

/* sns-share
*************************************************** */
.sns-share {
  text-align: center;
  margin-block: 40px;
}
.sns-share li {
  display: inline-block;
  line-height: 1;
  vertical-align: top;
}

/* studio_area
*************************************************** */
.studio_area {
  background-color: #484860;
  background-image: url(../images/common/studio_area-bg01.webp), url(../images/common/studio_area-bg02.webp);
  background-repeat: no-repeat;
  background-position:
    left 10% top 20%,
    right 10% bottom 20%;
  background-size: min(32.7vw, 348px), min(34.21vw, 364px);
}
.studio_area .inner {
  display: grid;
  grid-template-columns: 206px 1fr;
  gap: 1rem;
}
.studio_area--ttl {
  line-height: 2;
}
.studio_area--ttl .font-en2 {
  display: block;
  font-size: 2rem;
  line-height: 1;
}
.studio_area--ttl .font-jp {
  font-size: 0.8125rem;
  letter-spacing: 0.16em;
}
.studio_list {
  font-size: 0.8125rem;
}
.studio_list a {
  display: block;
  text-decoration: underline;
}
.studio_list > .cat-item {
  display: grid;
  grid-template-columns: 6rem 1fr;
  gap: 1rem;
}
.studio_list > .cat-item:not(:last-child) {
  margin-bottom: 1rem;
}
.studio_list > .cat-item > a {
  font-weight: bold;
  text-decoration: none;
  pointer-events: none;
}
.studio_list .children {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 1rem;
}
.studio_list .children > .cat-item {
  position: relative;
  padding-left: 16px;
}
.studio_list .children > .cat-item::before {
  content: '';
  position: absolute;
  top: calc(50% - 6px / 2);
  left: 0;
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1px solid;
  border-top: 1px solid;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .studio_area .inner,
  .studio_list > .cat-item {
    grid-template-columns: 1fr;
  }
  .studio_list .children {
    grid-template-columns: repeat(2, 1fr);
  }
  .studio_list .children > .cat-item {
    padding-left: 12px;
    letter-spacing: 0.03em;
  }
  .studio_list .children > .cat-item::before {
    top: calc(50% - 4px / 2);
    width: 4px;
    height: 4px;
  }
}

/* footer-nav
*************************************************** */
.footer-nav {
  font-size: 87%;
  background: #fff;
  padding: 56px 0;
  letter-spacing: 0;
}
.footer-nav a {
  color: #c5b49d;
}
.footer-nav a:hover {
  color: #000;
}
.footer-main-list {
  display: inline-block;
  min-width: 170px;
  vertical-align: top;
}
.footer-sub-list {
  max-width: 580px;
}
.footer-sub-list li {
  display: inline-block;
  width: 190px;
  float: left;
}

/* footer-main
*************************************************** */
.footer-main {
  background: #31313e;
  padding: 64px 0;
}
.footer-inner {
  display: table;
  margin: auto;
}
.footer-logo,
.footer-tel-area {
  display: table-cell;
  vertical-align: middle;
}
.footer-logo {
  padding-right: 48px;
}
.copyright-area {
  color: #fff;
  line-height: 1.4;
}
.pbl {
  opacity: 0.7;
  line-height: 16px;
}
.footer-tel-tel a {
  display: flex !important;
  gap: 1rem;
  align-items: center;
  color: #fff;
  font-size: 2.25rem;
  line-height: 1;
}
.footer-tel-tel a img {
  flex-shrink: 0;
  width: 32px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .footer-nav,
  .footer-main {
    padding: 48px 0;
    font-size: 93%;
  }
  .footer-inner,
  .footer-logo,
  .footer-tel-area {
    display: block;
  }
  .footer-inner {
    width: 88%;
    margin: 0 auto;
    text-align: center;
  }
  .footer-sub-list {
    margin-left: 1.5em !important;
    margin-bottom: 8px;
  }
  .footer-sub-list li {
    width: 140px;
  }
  .footer-main-list {
    min-width: 132px;
  }
  .footer-logo {
    padding: 0;
    margin-bottom: 32px;
  }
  .footer-logo img {
    width: 140px;
  }
  .footer-tel-tel {
    margin-top: 32px;
  }
  .footer-tel-tel img {
    width: 217px;
  }
  .copyright-area {
    margin-top: 32px;
  }
  .copyright {
    margin-bottom: 4px;
  }
  .footer-tel-area {
    font-size: 1.23rem;
  }
  .footer-tel-tel a {
    justify-content: center;
  }
}

/* =====================================================================================
    PAGE (INDEX/TOPPAGE)
===================================================================================== */

/* .main_visual */
.main_visual {
  position: relative;
  height: 100vh;
  height: 100svh;
  text-align: center;
}
.top-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -184px;
  margin-left: -144px;
  z-index: 10;
}
.hero-nav {
  position: absolute;
  width: 100%;
  top: 0;
  z-index: 1000000002;
}
.hero-nav-list {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 40px 0 64px;
  line-height: 1;
  background: linear-gradient(rgba(49, 49, 62, 0.2), transparent);
  z-index: 10;
}
.hero-nav-list li {
  display: inline-block;
  vertical-align: middle;
  margin: 0 4px;
}
.hero-nav-list a {
  display: block;
  padding: 4px 12px;
  color: #fff;
  font-size: 1.125rem;
}
.hero-nav-list a:hover {
  background: #31313e;
}

/* main-visual slider */
.mainvisual-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}
.mainvisual-slider .bx-wrapper,
.mainvisual-slider .bx-viewport,
#mainvisual-slider {
  height: 100%;
}
.mainvisual-slide {
  display: block;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
  width: 100% !important;
  height: 100% !important;
}
.main_visual div {
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
}

/* home_news */
.home_news {
  position: absolute;
  left: 24px;
  bottom: 24px;
  text-align: left;
  z-index: 10;
  width: 460px;
}
.home_news--ttl {
  margin-bottom: 12px;
  font-size: 18px;
  line-height: 1;
  font-weight: bold;
}
.posts-home_news {
  background: #fff;
  padding: 0 40px;
  width: 460px;
}
.posts-home_news .post {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  padding: 0;
  height: 28px;
  line-height: 28px;
}
.posts-home_news .post--date {
  flex-shrink: 0;
  letter-spacing: 0;
}
.posts-home_news .post--ttl {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news-slider {
  display: block;
  height: 28px;
}
.news-slider .slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 32px;
  cursor: pointer;
}
.news-slider .slick-arrow::before {
  content: '';
  width: 8px;
  height: 8px;
  display: block;
  transform: rotate(45deg);
}
.news-slider .slick-prev {
  left: 0;
}
.news-slider .slick-prev::before {
  border-bottom: 1px solid;
  border-left: 1px solid;
}
.news-slider .slick-next {
  right: 0;
}
.news-slider .slick-next::before {
  border-top: 1px solid;
  border-right: 1px solid;
}
@media screen and (max-width: 1200px) {
  .mainvisual-slide,
  .main_visual div {
    background-attachment: unset !important;
  }
}
@media screen and (max-width: 767px) {
  .main_visual {
    height: 100vh;
    height: 100svh;
  }
  .main_visual div {
    background-attachment: scroll !important;
  }
  .top-logo {
    width: 200px;
    height: 195px;
    margin-top: -124px;
    margin-left: -97px;
  }
  .top-online {
    width: 311px;
    height: 145px;
    margin-top: 79px;
    margin-left: -132px;
  }
  .home_news {
    width: 88%;
  }
  .posts-home_news,
  .posts-home_news .post {
    width: 100%;
  }
}

/* .home_search */
.home_search {
  padding: 32px 0;
}
.select2-container:nth-of-type(1) {
  margin-right: 16px;
  order: -2;
}
.studio-search-form-keyword::after {
  content: '×';
  z-index: 10000;
  order: -1;
  font-size: 2rem;
  margin-right: 16px;
}
.studio-search-form-keyword .select2-container {
  position: relative;
  z-index: 1000000000;
  height: 56px;
  border: none;
  display: flex;
  flex: 1;
}
.studio-search-form-keyword .selection {
  position: relative;
  z-index: 1052;
  width: 100%;
}
.select2-results__option {
  padding: 0.2em 1em !important;
}
.select2-container--default .select2-results > .select2-results__options {
  max-height: 300px !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  font-size: 16px;
}
.studio-search-form-keyword .select2-container--default .select2-search--dropdown .select2-search__field {
  height: 2rem;
  padding: 0.5em;
  border: 1px solid #ccc;
}
.studio-search-form-keyword .select2-container--default .select2-selection--single {
  border: none;
  height: 100%;
  border-radius: 50px !important;
  overflow: hidden;
}
.studio-search-form-keyword .select2-container--default .select2-selection--single .select2-selection__rendered {
  height: 100%;
  display: grid;
  align-items: center;
  padding-left: 2em;
}
.studio-search-form-keyword .select2-container--default .select2-selection--single .select2-selection__arrow {
  right: 11px;
  height: 100%;
}
.select2-container--default .select2-dropdown--below {
  width: 480px;
  margin-top: -28px;
  border: none;
  box-shadow: 0 20px 20px -10px rgb(0 0 0 / 10%);
}
.select2-container--default .select2-search--dropdown {
  padding-top: 30px;
}
@media screen and (max-width: 767px) {
  .studio-search-form-keyword .select2-container {
    width: auto !important;
    height: 50px;
  }
  .studio-search-form-keyword::after {
    margin-right: 8px;
  }
  .select2-container:nth-of-type(1) {
    margin-right: 8px;
  }
  .select2-container--default .select2-search--dropdown {
    padding-top: 28px;
  }
  .select2-search--dropdown .select2-search__field {
    height: 40px;
  }
  .select2-results__option {
    padding: 0.5em 1em !important;
  }
}
.button-txt {
  font-size: 125%;
  color: #fff;
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .home_search {
    padding: 24px 0;
  }
  .searchtext {
    width: 100%;
    padding: 0 60px 0 24px;
  }
}

/* home_event */
.event-posts {
  max-width: 930px;
  margin: 40px auto 40px;
}
.event-posts .post {
  position: relative;
  margin-bottom: 7px;
  padding-bottom: 12px;
  width: 200px;
  margin: 0 21px;
  float: left;
}
.event-posts .post:first-child {
  margin-left: 0;
}
.event-posts .post:last-child {
  margin-right: 0;
}
.event-posts .post .linkArea {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  background: url(../images/common/bg_ivory_pattern02.webp) fixed;
  opacity: 0;
  z-index: 10;
}
.event-posts .post .linkArea:hover {
  opacity: 0.4;
}
.post-category {
  position: relative;
  z-index: 10;
}
.event-area .img-area {
  position: relative;
  overflow: hidden;
  width: 200px;
  height: 120px;
  border: 5px solid #dad5ce;
  margin: 0 auto;
}
.event-area .post-eyecatch {
  width: 200px;
  height: 120px;
}
.post-eyecatch.no-image {
  background: #c5beb3;
  text-align: center;
  line-height: 1.5;
  font-size: 68%;
  color: #fff;
  padding-top: 42px;
}
.post-time {
  font-size: 84%;
  margin-top: 20px;
  margin-bottom: 10px;
  line-height: 1;
}
.post-textarea {
  padding: 0;
  margin: 0 auto;
  width: 198px;
}
.post-textarea .post-info {
  font-size: 86%;
  margin-bottom: 12px;
  line-height: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.post-textarea .post-content {
  font-weight: normal;
  font-size: 93.9%;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-top: 10px;
}
.topics-area {
  margin-top: 73px;
  margin: 0 auto;
  height: 100% !important;
}
.topics-slider {
  width: 100%;
  margin: 0 auto;
}
.topics-list-item {
  position: relative;
  display: inline-block;
  margin-right: 20px;
  width: 290px;
  vertical-align: top;
  margin-bottom: 10px;
}
.topics-list-item:last-child {
  margin-right: 0;
}
.topics-list-item .post-time {
  margin-top: 20px;
  font-size: 84%;
  line-height: 1.5;
}
.topics-list-item .post-title {
  text-align: center;
  margin-top: 10px;
  font-size: 94%;
  line-height: 1.5;
}
.topics-area .slick-arrow {
  position: absolute;
  top: 85px;
  width: 32px;
  height: 32px;
  cursor: pointer;
  background-repeat: no-repeat;
  z-index: 10;
}
.topics-area .slick-prev {
  background: url(../images/bx-prev.webp);
  left: -45px;
}
.topics-area .slick-next {
  background: url(../images/bx-next.webp);
  right: -45px;
}
.topics-area .slick-dots {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 42px;
  margin-bottom: 50px;
}
.topics-area .slick-dots li {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: none;
  border: 2px solid #b5dbe8;
  text-align: center;
}
.topics-area .slick-dots li.slick-active {
  border-radius: 50%;
  background: #b5dbe8;
  border: 2px solid #b5dbe8;
  text-align: center;
  cursor: pointer;
}
.topics-area .slick-dots li:hover,
.topics-area .slick-dots li.active,
.topics-area .slick-dots li:focus {
  background: #b5dbe8;
}
.video-area-img {
  width: 100%;
  height: 100%;
}
.moreBtn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.moreBtn a {
  display: inline-block;
  padding: 1em;
  color: #fff;
  border-radius: 4px;
  line-height: 1;
  background-color: #a3c5d0;
}
.video-area.under {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}
.campaign-thumbnail.under {
  display: none;
}
.video-thumbnail.list:before,
.video-thumbnail.list:after {
  content: none;
}
@media screen and (max-width: 767px) {
  .home_event h2 {
    position: relative;
    z-index: 10;
  }
  .event-area {
    margin-bottom: 80px;
  }
  .home_event .post {
    width: 100%;
    margin: 0;
    padding: 10px 0;
    z-index: 10;
  }
  .event-area .img-area {
    width: 140px;
    height: 90px;
    margin-left: 0;
    margin-right: 15px;
    float: left;
  }
  .event-area .post-eyecatch {
    position: absolute;
    width: 100%;
    height: 120px;
    padding-top: 30px;
  }
  .post-textarea {
    padding: 8px 0;
    font-size: 107.6%;
    width: 100%;
  }
  .post-textarea .post-content {
    margin-top: 0;
  }
  .post-time {
    margin-top: 10px;
    margin-bottom: 5px;
  }
  .no-campaign .event-posts .post {
    width: 100%;
    padding-left: 0;
    margin: 0 0 16px;
  }
  .event-posts {
    margin: 0 auto;
  }
  .topics-slider {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  .video-area.under {
    padding: 15px 0;
  }
  .movie-thumbnail iframe {
    max-width: 100%;
    height: 200px;
  }
  .video-thumbnail.under {
    background-size: 120%;
    padding: 75px 115px;
  }
  .video-thumbnail:after {
    left: -15%;
  }
  .video-thumbnail:before {
    left: -20%;
  }
  .moreBtn {
    flex-direction: column;
    margin-top: 16px;
  }
  .moreBtn a {
    width: fit-content;
    min-width: min(100%, 190px);
    padding: 1.5em;
    text-align: center;
  }
  .top_moreBtn02 a {
    margin: 0 auto;
  }
}

/* #top-onlinebnr */
.online_bnr {
  padding: 96px 0 0;
  text-align: center;
  position: relative;
  max-width: 840px;
  margin: 0 auto;
}
.online_bnr a {
  position: absolute;
  display: block;
  width: 100%;
  height: calc(100% - 96px);
}
.online_bnr a:hover {
  background: rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 767px) {
  .online_bnr {
    padding: 0 0 48px;
    width: calc(100% - 6%);
    margin: 0 auto;
  }
  .online_bnr a {
    height: 100%;
  }
}

/* home_course
*************************************************** */
.home_course {
  margin-inline: 40px;
}
.home_course .slick-arrow {
  position: absolute;
  top: 50%;
  margin-top: -50px;
  outline: 0;
  width: 80px;
  height: 80px;
  text-indent: -9999px;
  z-index: 9999;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
}
.home_course .slick-prev {
  left: 65px;
  background-image: url(../images/common/prev.svg);
}
.home_course .slick-next {
  right: 65px;
  background-image: url(../images/common/next.svg);
}
.course_list {
  display: flex !important;
  justify-content: center;
  text-align: center;
  width: 1208px;
  margin: auto;
  padding-bottom: 30px;
}
.course_list li {
  position: relative;
  margin: 0 -18px;
}
.course_list li a {
  display: inline-block;
  border-radius: 60px;
}
.course_list li a:hover {
  opacity: 0.5;
}
.course_list li:nth-child(odd) {
  margin-top: 136px;
}
.course_list li::before {
  content: '';
  display: block;
  position: absolute;
  background: center no-repeat;
}
.course_list._pt2 li:nth-child(1)::before {
  background-image: url(../images/icon01.webp);
  width: 75px;
  height: 55px;
  top: 152px;
  right: -35px;
}
.course_list._pt2 li:nth-child(2)::before {
  background-image: url(../images/icon02.webp);
  width: 100px;
  height: 47px;
  top: 11px;
  left: -26px;
}
.course_list._pt2 li:nth-child(3)::before {
  background-image: url(../images/icon03.webp);
  width: 100px;
  height: 45px;
  top: 165px;
  left: 79px;
}
.course_list._pt2 li:nth-child(4)::before {
  background-image: url(../images/icon04.webp);
  width: 128px;
  height: 43px;
  top: 6px;
  right: -25px;
}
.course_list._pt2 li:nth-child(5)::before {
  background-image: url(../images/icon05.webp);
  width: 75px;
  height: 55px;
  top: 162px;
  left: 73px;
}
.course_list._pt2 li:nth-child(6)::before {
  background-image: url(../images/icon06.webp);
  width: 100px;
  left: 65px;
  height: 69px;
  top: -7px;
}
.course_list._pt2 li:nth-child(7)::before {
  background-image: url(../images/icon07.webp);
  width: 75px;
  height: 55px;
  top: 159px;
  left: 102px;
}
.course_list._pt2 li:nth-child(8)::before {
  background-image: url(../images/icon08.webp);
  width: 75px;
  height: 55px;
  top: -5px;
  right: -17px;
}
.course_list._pt2 li:nth-child(9)::before {
  background-image: url(../images/icon09.webp);
  width: 100px;
  height: 55px;
  top: 159px;
  left: 62px;
}
.course_list._pt2 li:nth-child(10)::before {
  background-image: url(../images/icon10.webp);
  width: 75px;
  height: 55px;
  top: 7px;
  right: -24px;
}
.course_list._pt2 li:nth-child(11)::before {
  background-image: url(../images/icon11.webp);
  width: 109px;
  height: 55px;
  top: 149px;
  right: -39px;
}
.course_list._pt2 li:nth-child(12)::before {
  background-image: url(../images/icon12.webp);
  width: 101px;
  height: 55px;
  top: 8px;
  right: -37px;
}
.course_list._pt3 li:nth-child(1)::before {
  background-image: url(../images/icon13.webp);
  width: 80px;
  height: 55px;
  top: 157px;
  right: -39px;
}
.course_list._pt3 li:nth-child(2)::before {
  background-image: url(../images/icon14.webp);
  width: 103px;
  height: 55px;
  top: -3px;
  right: 33px;
}
.course_list._pt3 li:nth-child(3)::before {
  background-image: url(../images/icon15.webp);
  width: 110px;
  height: 73px;
  top: 164px;
  left: 18px;
}
.course_list._pt3 li:nth-child(4)::before {
  background-image: url(../images/icon16.webp);
  width: 156px;
  height: 59px;
  top: -7px;
  right: -21px;
}
.course_list._pt3 li:nth-child(5)::before {
  background-image: url(../images/icon17.webp);
  width: 237px;
  height: 55px;
  top: 167px;
  left: -32px;
}
.course_list._pt3 li:nth-child(6)::before {
  background-image: url(../images/icon18.webp);
  width: 156px;
  height: 56px;
  top: 6px;
  right: -57px;
}
.course_list._pt3 li:nth-child(7)::before {
  background-image: url(../images/icon19.webp);
  width: 78px;
  height: 55px;
  top: 163px;
  left: 84px;
}
.course_list._pt3 li:nth-child(8)::before {
  background-image: url(../images/icon20.webp);
  width: 75px;
  height: 55px;
  top: 3px;
  right: -1px;
}
.course_list._pt3 li:nth-child(9)::before {
  background-image: url(../images/icon21.webp);
  width: 124px;
  height: 79px;
  top: 150px;
  left: 65px;
}
.course_list._pt3 li:nth-child(10)::before {
  background-image: url(../images/icon22.webp);
  width: 112px;
  height: 60px;
  top: 6px;
  right: -38px;
}
.course_list._pt3 li:nth-child(11)::before {
  background-image: url(../images/icon23.webp);
  width: 107px;
  height: 280px;
  left: 49px;
}
.course_list._pt3 li:nth-child(12)::before {
  background-image: url(../images/icon24.webp);
  width: 88px;
  height: 55px;
  top: 4px;
  left: 69px;
}
.course_list._pt2 li {
  padding: 40px 0 0 0;
}
.course_list._pt3 li {
  padding: 40px 0 0 0;
}

@media (max-width: 1400px) and (min-width: 767px) {
  .course_list {
    width: 936px;
  }
  .course_list li img {
    max-width: 110px;
    height: auto;
  }
  .course_list li:nth-child(odd) {
    margin-top: 120px;
  }
}
@media screen and (max-width: 767px) {
  .home_course .slick-arrow {
    transform: translateY(-30%);
    margin-top: -16px;
    width: 26px;
    height: 52px;
    background-size: cover;
  }
  .home_course .slick-prev {
    left: 11px;
    background-image: url(../images/common/prev-sp.webp);
  }
  .home_course .slick-next {
    right: 11px;
    background-image: url(../images/common/next-sp.webp);
  }
  .course-slidersp {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .course_list {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    padding-inline: 32px;
  }
  .home .course_list {
    grid-template-columns: repeat(3, 1fr);
  }
  .course_list {
    display: block;
    padding-bottom: 0;
  }
  .course_list li {
    display: inline-block;
    vertical-align: top;
  }
  .course_list li,
  .course_list li:nth-child(odd) {
    margin: 0 !important;
  }
  .course_list li img {
    width: 114px;
    height: auto;
  }
  .course_list li::before {
    display: none;
  }
  .course_list._pt3_sp li img {
    width: 90px;
  }
  .course_list._pt2_sp li img {
    width: 90px;
  }
  .course_list._pt4_sp li img {
    width: 90px;
  }
  .course_list._pt5_sp li img {
    width: 90px;
  }
}

/* group_bnr
*************************************************** */
.group_bnr {
  padding: 140px 0 0;
  text-align: center;
  position: relative;
  max-width: 1020px;
  margin: 0 auto;
}
.group_bnr a {
  position: absolute;
  display: block;
  width: 100%;
  height: calc(100% - 140px);
}
.group_bnr a:hover {
  background: rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 767px) {
  .group_bnr {
    padding: 0;
    width: 100%;
    margin: 0 auto;
  }
  .group_bnr a {
    height: 100%;
  }
  .home_course {
    margin: 0 3%;
  }
  .home_course h2 img {
    width: 228px;
  }
}

/* home_feature
*************************************************** */
.home_feature .flow_item {
  align-items: flex-start;
  gap: 48px;
}
.home_feature .flow_item .img {
  width: 473px;
}
.home_feature .flow_item .img img {
  z-index: 0;
}
.home_feature .flow_item .img::after {
  left: 50%;
  bottom: 0;
  z-index: -1;
  translate: -50% 0;
}
.home_feature .flow_item.feature-01 .img::after {
  background-image: url(../images/feature_bg_a.webp);
  width: 664px;
  aspect-ratio: 664/201;
  left: 40%;
}
.home_feature .flow_item.feature-02 .img::after {
  background-image: url(../images/feature_bg_b.webp);
  width: 643px;
  aspect-ratio: 643/173;
  left: 60%;
}
.home_feature .flow_item.feature-03 .img::after {
  background-image: url(../images/feature_bg_c.webp);
  width: 526px;
  aspect-ratio: 526/223;
  left: 40%;
}
.home_feature .flow_item.feature-04 .img::after {
  background-image: url(../images/feature_bg_d.webp);
  width: 641px;
  aspect-ratio: 641/320;
  left: 60%;
}
.home_feature .feature-01 .kazari {
  background-image: url(../images/kazari_feature_a.webp);
  width: 279px;
  height: 213px;
  right: -64px;
  top: -130px;
}
.home_feature .feature-02 .kazari {
  background-image: url(../images/kazari_feature_b.webp);
  width: 269px;
  height: 219px;
  bottom: -30px;
  left: -123px;
}
.home_feature .feature-03 .kazari {
  background-image: url(../images/kazari_feature_c.webp);
  width: 179px;
  height: 118px;
  bottom: -20px;
  right: -20px;
}
.home_feature .feature-04 .kazari {
  background-image: url(../images/kazari_feature_d.webp);
  width: 172px;
  height: 200px;
  bottom: 20px;
  left: -73px;
}

@media screen and (max-width: 767px) {
  .home_feature {
    overflow-x: hidden;
  }
  .home_feature .flow_item {
    gap: 24px;
    flex-direction: column !important;
  }
  .home_feature .flow_item .img {
    width: 100%;
  }
  .home_feature .flow_item .img::before {
    background-size: contain;
    width: 118px;
    height: 33px;
    top: -32px;
    left: 0;
    margin: 0;
  }
  .home_feature .feature-02 .img::before,
  .home_feature .feature-04 .img::before {
    left: auto;
    right: 0;
  }
  .feature-contents .img::after {
    display: none;
  }
  .home_feature .feature-01 .kazari {
    width: 139px;
    height: 106px;
    right: -16px;
    top: -48px;
  }
  .home_feature .feature-02 .kazari {
    width: 134px;
    height: 109px;
    left: -24px;
    bottom: auto;
    top: -24px;
  }
  .home_feature .feature-03 .kazari {
    width: 89px;
    height: 59px;
    bottom: auto;
    top: -24px;
  }
  .home_feature .feature-04 .kazari {
    width: 86px;
    height: 100px;
    bottom: auto;
    top: -20px;
    left: -24px;
  }
}

/* video
*************************************************** */
.movie-ttl {
  font-size: 2.5rem;
  line-height: 1;
}
.video-area {
  position: relative;
  overflow: hidden;
  padding: 42px;
}
.topics-area.video-area {
  position: relative;
  overflow: hidden;
  padding: 70px 0px 70px;
}
.video-area .video-thumbnail {
  width: 100%;
  padding: 75px 145px;
  position: relative;
}
.video-thumbnail {
  width: 100%;
  position: relative;
}
.video-thumbnail img {
  max-width: 100%;
}
.blog-list-thumb {
  padding: 0 0 30px;
  text-align: center;
}
.campaign-thumbnail {
  width: 100%;
  position: relative;
  padding: 75px 145px;
  background-position: top 30% center;
  background-size: cover;
  margin: 0 auto;
}
.thumb-link {
  position: absolute;
  width: 100%;
  height: 100%;
  margin: auto;
  top: 0;
  left: 0;
  z-index: 9999;
}
.video-thumbnail::before {
  content: '';
  width: 48px;
  height: 48px;
  top: 36%;
  position: absolute;
  border-radius: 50%;
  background: rgba(51, 51, 51, 0.76);
  border: 1px solid #fff;
  top: 0;
  left: -5px;
  right: 0;
  bottom: 0;
  margin: auto;
}
.video-thumbnail::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 17px;
  border-color: transparent transparent transparent #fff;
  bottom: 41.9%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.topics-area.video-area iframe {
  width: 100% !important;
  height: 100%;
}
.video {
  width: 100%;
  vertical-align: bottom;
}
@media screen and (max-width: 767px) {
  .video-area {
    padding: 22px;
  }
  .thumb-link {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: auto;
    top: 0;
    left: 0;
  }
  .topics-area.video-area {
    position: relative;
    overflow: hidden;
    padding: 0px 0px 0px;
  }
  .topics-area .slide-dots {
    margin-top: 10px;
    margin-bottom: 40px !important;
  }
  .topics-list-item .post-time {
    margin-top: 10px;
    font-size: 100%;
  }
  .topics-list-item .post-title {
    text-align: center;
    margin-top: 10px;
    font-size: 110%;
  }
  .event-posts .post {
    position: relative;
    margin-bottom: 0;
    padding-bottom: 0;
    width: 100%;
    margin: 0 auto;
  }
  .topics-area .slick-arrow {
    top: calc(150px / 2 - 32px / 2);
    z-index: 998;
  }
  .topics-area .slick-prev {
    left: 0;
  }
  .topics-area .slick-next {
    right: 0;
  }
  .campaign-thumbnail {
    display: block;
    width: 100%;
    height: 100%;
    background-size: 100% !important;
  }
  .video-thumbnail {
    display: block;
    background-position: top center !important;
    background-size: 100% !important;
  }
  .campaign-area.fee.inner-mini {
    margin: 0px auto 40px;
    position: relative;
    left: 0;
    width: 100%;
  }
}

/* home_voice
*************************************************** */
.home_voice {
  position: relative;
  background: url(../images/voice_bg.webp) center no-repeat;
  background-size: cover;
}
.voice-list li {
  position: absolute;
  background: center no-repeat;
  background-size: contain;
  line-height: 1.55;
}
.voice-list .voice-01 {
  background-image: url(../images/voice_01.webp);
  width: 163px;
  height: 131px;
  font-size: 93%;
  padding: 26px;
  text-align: center;
  bottom: 56px;
  right: 50%;
  margin-right: 448px;
}
.voice-list .voice-02 {
  background-image: url(../images/voice_02.webp);
  width: 232px;
  height: 142px;
  padding: 22px;
  top: 64px;
  right: 50%;
  margin-right: 280px;
}
.voice-list .voice-03 {
  background-image: url(../images/voice_03.webp);
  width: 142px;
  height: 139px;
  padding: 30px 26px;
  font-size: 114%;
  bottom: 56px;
  right: 50%;
  margin-right: 180px;
  text-align: center;
}
.voice-list .voice-04 {
  background-image: url(../images/voice_04.webp);
  width: 232px;
  height: 142px;
  padding: 22px;
  bottom: 56px;
  left: 50%;
  margin-left: 190px;
}
.voice-list .voice-05 {
  background-image: url(../images/voice_01.webp);
  width: 163px;
  height: 131px;
  font-size: 116%;
  padding: 28px;
  text-align: center;
  top: 56px;
  left: 50%;
  margin-left: 298px;
}
.voice-list .voice-06 {
  background-image: url(../images/voice_05.webp);
  width: 172px;
  height: 121px;
  font-size: 93%;
  padding: 16px;
  top: 180px;
  left: 50%;
  margin-left: 456px;
}
.voice-list .voice-07 {
  background-image: url(../images/voice_02.webp);
  width: 232px;
  height: 142px;
  padding: 22px;
  top: 140px;
  left: 50%;
  margin-left: -120px;
}

/* voice-imglist */
.voice-imglist li a {
  display: block;
  border-radius: 3px;
  overflow: hidden;
  border: 1px solid #8e7867;
  aspect-ratio: 1;
}
.voice-imglist li img {
  object-position: center;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media (max-width: 1270px) and (min-width: 768px) {
  .voice-list .voice-01 {
    margin-right: 330px;
    bottom: 72px;
  }
  .voice-list .voice-02 {
    margin-right: 200px;
  }
  .voice-list .voice-03 {
    margin-right: 140px;
  }
  .voice-list .voice-04 {
    margin-left: 200px;
    bottom: 40px;
  }
  .voice-list .voice-05 {
    margin-left: 136px;
  }
  .voice-list .voice-06 {
    margin-left: 320px;
    top: 100px;
  }
  .voice-list .voice-07 {
    top: 200px;
    margin-left: -90px;
  }
}
@media screen and (max-width: 767px) {
  .home_voice .inner {
    width: 96%;
  }
  .voice-list {
    text-align: center;
  }
  .voice-list li,
  .voice-list .voice-01,
  .voice-list .voice-02,
  .voice-list .voice-03,
  .voice-list .voice-04,
  .voice-list .voice-05,
  .voice-list .voice-06,
  .voice-list .voice-07 {
    position: relative;
    display: inline-block;
    margin: 0 4px 8px;
    top: auto;
    right: auto;
    left: auto;
    bottom: auto;
  }
  .voice-list .voice-01 {
    padding: 20px 14px;
    width: 130px;
    height: 106px;
  }
  .voice-list .voice-02 {
    width: 188px;
    height: 116px;
    padding: 16px;
  }
  .voice-list .voice-03 {
    width: 118px;
    padding: 24px 20px;
    height: 116px;
    float: right;
    clear: right;
  }
  .voice-list .voice-04 {
    width: 192px;
    height: 120px;
    padding: 16px;
  }
  .voice-list .voice-05 {
    width: 132px;
    height: 104px;
    padding: 18px;
  }
  .voice-list .voice-06 {
    width: 150px;
    height: 106px;
    padding: 14px 10px;
  }
  .voice-list .voice-07 {
    width: 188px;
    height: 116px;
    padding: 16px;
  }
}

/* home_teacher
*************************************************** */
.home_teacher {
  position: relative;
  overflow: hidden;
  background: #fff;
}
.home_teacher::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 0;
  left: 40px;
  top: 40px;
  right: 40px;
  bottom: 52px;
  background: url(../images/common/bg_ivory_pattern02.webp);
}
.home_teacher .border-double-left,
.home_teacher .border-double-right,
.home_teacher .border-double-bottom {
  bottom: 29px;
}
.home_teacher .teacher-ttl,
.home_teacher .teacher-ttl {
  position: relative;
  z-index: 2;
}
.home_teacher .bx-wrapper {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
.instructors-slider {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
.instructors-slider .slick-track {
  position: relative;
  background: url(../images/voice_ten.webp) left center repeat-x;
  z-index: 10;
}
.teacher-list-item {
  margin-inline: 16px;
  padding: 40px 0;
}
.teacher-list-item:nth-child(odd) {
  padding-top: 80px;
}
.teacher-list-img {
  position: relative;
  width: 200px;
  height: 200px;
  border-radius: 100px;
  background-color: #cfd9dd;
}
.teacher-list-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.home_teacher .kazari {
  z-index: 999;
}
.home_teacher .onpu-a {
  top: 200px;
  left: 5%;
}
.home_teacher .onpu-b {
  top: 440px;
  left: 15%;
}
.home_teacher .onpu-c {
  top: 200px;
  left: 30%;
}
.home_teacher .onpu-d {
  top: 440px;
  right: 40%;
}
.home_teacher .onpu-e {
  top: 200px;
  right: 25%;
}
.home_teacher .onpu-f {
  top: 440px;
  right: 15%;
}
.home_teacher .onpu-g {
  top: 200px;
  right: 5%;
}
@media screen and (max-width: 767px) {
  .home_teacher::before {
    left: 16px;
    top: 16px;
    right: 16px;
    bottom: 24px;
  }
  .teacher-list {
    background-size: 720px auto;
  }
}

/* =====================================================================================
    PAGE (LESSON-DETAIL)
===================================================================================== */
/* kazari
*************************************************** */

.lps_sec .kazari-lessons-a {
  width: 263px;
  height: 393px;
  top: 64px;
  left: -64px;
}
.lps_sec .kazari-lessons-b {
  width: 243px;
  height: 432px;
  top: 560px;
  right: -80px;
}
.lps_sec .kazari-lessons-c {
  width: 222px;
  height: 384px;
  bottom: 120px;
  left: -56px;
}

/* piano */
.lps_sec .kazari-lessons-a.piano {
  background-image: url(../images/lessons/kazari_piano01.webp);
}
.lps_sec .kazari-lessons-b.piano {
  background-image: url(../images/lessons/kazari_piano02.webp);
}
.lps_sec .kazari-lessons-c.piano {
  background-image: url(../images/lessons/kazari_piano03.webp);
}

/*strings*/
.lps_sec .kazari-lessons-a.strings {
  background-image: url(../images/lessons/kazari_strings01.webp);
}
.lps_sec .kazari-lessons-b.strings {
  background-image: url(../images/lessons/kazari_strings02.webp);
}
.lps_sec .kazari-lessons-c.strings {
  background-image: url(../images/lessons/kazari_strings03.webp);
}

/*guitar*/
.lps_sec .kazari-lessons-a.guitar {
  background-image: url(../images/lessons/kazari_guitar01.webp);
}
.lps_sec .kazari-lessons-b.guitar {
  background-image: url(../images/lessons/kazari_guitar02.webp);
}
.lps_sec .kazari-lessons-c.guitar {
  background-image: url(../images/lessons/kazari_guitar03.webp);
}

/*brass*/
.lps_sec .kazari-lessons-a.brass {
  background-image: url(../images/lessons/kazari_brass01.webp);
}
.lps_sec .kazari-lessons-b.brass {
  background-image: url(../images/lessons/kazari_brass02.webp);
}
.lps_sec .kazari-lessons-c.brass {
  /* background-image: url(../images/lessons/kazari_brass03.webp); */
}

/*woodwind*/
.lps_sec .kazari-lessons-a.woodwind {
  background-image: url(../images/lessons/kazari_woodwind01.webp);
}
.lps_sec .kazari-lessons-b.woodwind {
  background-image: url(../images/lessons/kazari_woodwind02.webp);
}
.lps_sec .kazari-lessons-c.woodwind {
  /* background-image: url(../images/lessons/kazari_woodwind03.webp); */
}

/*drum*/
.lps_sec .kazari-lessons-a.drum {
  background-image: url(../images/lessons/kazari_drum01.webp);
}
.lps_sec .kazari-lessons-b.drum {
  background-image: url(../images/lessons/kazari_drum02.webp);
}
.lps_sec .kazari-lessons-c.drum {
  background-image: url(../images/lessons/kazari_drum03.webp);
}

/*dtm*/
.lps_sec .kazari-lessons-a.dtm {
  background-image: url(../images/lessons/kazari_dtm01.webp);
}
.lps_sec .kazari-lessons-b.dtm {
  background-image: url(../images/lessons/kazari_dtm02.webp);
}

/*reunion*/
.lps_sec .kazari-lessons-a.reunion {
  background-image: url(../images/lessons/kazari_solfege01.webp);
}
.lps_sec .kazari-lessons-b.reunion {
  background-image: url(../images/lessons/kazari_solfege02.webp);
}
.lps_sec .kazari-lessons-c.reunion {
  background-image: url(../images/lessons/kazari_solfege03.webp);
}

/*japanese*/
.lps_sec .kazari-lessons-a.japanese {
  background-image: url(../images/lessons/kazari_japanese01.webp);
}
.lps_sec .kazari-lessons-b.japanese {
  background-image: url(../images/lessons/kazari_japanese02.webp);
}
.lps_sec .kazari-lessons-c.japanese {
  background-image: url(../images/lessons/kazari_japanese03.webp);
}
@media screen and (max-width: 767px) {
  .lps_sec .kazari-lessons-a {
    width: 131px;
    height: 196px;
    top: 460px;
    left: -56px;
    z-index: 0;
  }
  .lps_sec .kazari-lessons-b {
    width: 121px;
    height: 216px;
    right: -40px;
    z-index: 0;
  }
  .lps_sec .kazari-lessons-c {
    width: 111px;
    height: 192px;
    left: -32px;
    z-index: 0;
  }
}

/* lesson-header
*************************************************** */
.lesson-header {
  position: fixed;
  right: -56px;
  top: 128px;
  background: #b6d2db url(../images/common/bg_blue_pattern01.webp);
  border-radius: 5px;
  padding: 16px 0;
  text-align: center;
  z-index: 100;
  opacity: 0;
  transition: all 0.4s ease-out;
}
.lesson-header.fixed {
  opacity: 1;
  right: 16px;
}
.lesson-header::before,
.lesson-header::after {
  content: '';
  position: absolute;
  display: block;
  width: 70%;
  left: 15%;
  height: 1px;
  border-top: 1px dashed #fff;
  top: 8px;
}
.lesson-header::after {
  top: auto;
  bottom: 8px;
}
.lesson-header .mainmenu-item {
  display: block;
  width: 56px;
  padding: 10px 0;
}
.lesson-header .mainmenu-item:hover {
  background: #b5dbe8;
}
.lesson-header .submenu-parents {
  position: relative;
}
.lesson-header .submenu-wrap {
  position: absolute;
  top: 0px;
  right: 56px;
}
.lesson-header .submenu {
  display: inline-block;
  margin-right: 16px;
  width: 232px;
  font-size: 94%;
  background: #b5dbe8;
  padding: 16px;
  border-radius: 3px;
  display: none;
}
.lesson-header .submenu-parents:hover .submenu {
  display: block;
}
.lesson-header .submenu a {
  background: #fff;
  display: block;
  margin-bottom: 4px;
  border-radius: 3px;
  line-height: 1;
  padding: 8px;
  color: #999;
  font-weight: bold;
}
.lesson-header .submenu a:hover {
  color: #e75f5f;
}
.lesson-header .submenu li:last-child a {
  margin: 0;
}
.lesson-header .submenu::before {
  content: '';
  display: inline-block;
  border: 8px solid transparent;
  border-left-color: #b5dbe8;
  position: absolute;
  right: 8px;
  top: 24px;
  margin-right: -8px;
}

/* lessons
**************************************** */
.lesson-studio {
  background: url(../images/common/bg_blue_pattern03.webp);
}
#inst-kanto-b:checked ~ #inst-kanto-b,
#inst-kansai-b:checked ~ #inst-kansai-b {
  display: block;
}
.teacher-area input:checked + .tab_item-b {
  background: #aed2df;
  color: #333;
}
.bg-studio {
  background: url(../images/lessons/bg_studio.webp) center fixed repeat-y;
}

/* =====================================================================================
    PAGE (CLASS)
===================================================================================== */

.parent-ttl {
  font-size: 160%;
  font-weight: normal;
  margin-bottom: 24px;
  line-height: 1;
  text-align: center;
}

/* category-map
 **************************************** */
.category-map .menu-list {
  margin-bottom: 24px;
}
.category-map .menu-item {
  display: inline-block;
}
.category-map .menu-item a {
  display: inline-block;
  padding: 0 8px;
  border-right: 1px solid #ccc;
  line-height: 1;
  color: #8aacb7;
  font-weight: bold;
}
.category-map .menu-item a:hover {
  color: #e75f5f;
}
.category-map .child {
  background: transparent;
  padding: 0;
}
.category-map .child-item {
  background: #f6f6f6;
  padding: 24px;
  border-radius: 5px;
  margin-bottom: 24px;
}
.category-map .grandson {
  display: block !important;
  padding: 0 24px 24px;
  border-top: 2px dotted #fff;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .category-map .child-item {
    padding: 8px;
  }
  .category-map .grandson {
    padding: 0 8px 16px;
  }
  .category-map .menu-item a {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 132px;
    padding: 0 4px;
    font-size: 93%;
  }
}

/* =====================================================================================
    ARCHIVE (common)
===================================================================================== */

/* wp-pagenavi
 **************************************** */
.wp-pagenavi {
  text-align: center;
  padding: 60px 0 0;
}
.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi a,
.wp-pagenavi .current {
  padding: 8px 16px;
  display: inline-block;
  background: #c5ccd6;
  margin: 0 2px;
  text-decoration: none;
  font-weight: 300;
  font-size: 107%;
  border: 2px solid #c5ccd6;
  border-radius: 3px;
  line-height: 1.2;
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wp-pagenavi a:hover {
  background: #c5b49d;
  color: #fff;
  border-color: #c5b49d;
}
.wp-pagenavi .extend {
  color: #c5ccd6;
  margin: 0 8px;
}
.wp-pagenavi .current {
  background: transparent;
}
@media screen and (max-width: 767px) {
  #mainContent .container-mini .wp-pagenavi a {
    display: block;
    margin: 2px;
    line-height: 1.2;
    padding: 8px 15px;
  }
  .wp-pagenavi {
    padding-top: 32px;
  }
  .wp-pagenavi a,
  .wp-pagenavi .current {
    margin: 4px;
  }
}

/* =====================================================================================
    ARCHIVE (instructors)
===================================================================================== */

/* teacher_instrument
 **************************************** */
.teacher_instrument .white-box {
  max-width: 1024px;
  margin-bottom: 24px;
}
.teacher_instrument--ttlimg {
  max-width: calc(100% + 96px);
  margin: -48px -48px 16px;
  border-radius: 3px 3px 0 0;
}
.teacher_instrument--item:not(:last-child) {
  margin-bottom: 24px;
}
.teacher_instrument--list {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}
.teacher_instrument--list li {
  display: inline-block;
  margin: 0 8px;
}
.teacher_instrument--list li img {
  width: 200px;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .teacher_instrument .btn {
    padding-bottom: 16px;
  }
  .teacher_instrument--ttlimg {
    margin: -16px -16px 8px;
    max-width: calc(100% + 32px);
  }
  .teacher_instrument--list {
    padding: 0 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
  }
  .teacher_instrument--list li {
    margin: 4px;
  }
  .teacher_instrument--list li img {
    width: 100px;
  }
}

/* inst-area-switcher
 **************************************** */
.inst-area-switcher {
  margin-bottom: 24px;
}
.inst-area-switcher li {
  width: 240px;
  text-align: center;
}
.inst-area-switcher li:not(:last-child) {
  margin-right: 20px;
}
.inst-area-switcher li a {
  border: 1px solid #c5ccd6;
  display: block;
  font-size: 140%;
  padding: 8px;
  background: #fff;
  color: #878787;
  cursor: pointer;
}
.inst-area-switcher li a:hover {
  color: #333;
}
.inst-area-switcher li a.current {
  background: #aed2df;
  color: #333;
}

/* instructors
**************************************** */
#lesson-teacher .white-box .text-area {
  width: 488px;
  float: right;
}
.teacher-area {
  text-align: center;
}
.teacher-area .tab_item-b {
  border: 1px solid #c5ccd6;
  display: block;
  font-size: 140%;
  padding: 8px;
  background: #fff;
  color: #878787;
  cursor: pointer;
  width: 240px;
  text-align: center;
  margin: 0 10px 40px;
  display: inline-block;
}
.teacher-area .tab_item-b:hover {
  opacity: 0.75;
}
.teacher-area input[name='tab_item-b'] {
  display: none;
}
.teacher-area_mtm .teacher-list-yoko--wrap {
  display: none;
}
.teacher-list-yoko {
  text-align: center;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}
.teacher-list-yoko li {
  position: relative;
  display: inline-block;
  padding: 20px 0;
  overflow: hidden;
  vertical-align: top;
}
.teacher-list-yoko .link-area {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background: url(../images/common/bg_ivory_pattern02.webp);
  opacity: 0;
}
.teacher-list-yoko .link-area:hover {
  opacity: 0.3;
}
.teacher-list-yoko .img-area {
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  margin-inline: auto;
  margin-bottom: 24px;
  background: #deceba center no-repeat;
}
.teacher-list-yoko .img-area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.teacher-list-yoko .name {
  font-size: 133%;
  margin-bottom: 16px;
  line-height: 1;
  font-weight: normal;
}
.teacher-list-yoko .name small {
  display: block;
  font-size: 67%;
  color: #b5dbe8;
  margin-top: 10px;
  font-weight: bold;
  text-transform: uppercase;
}
.teacher-list-yoko .category {
  margin-bottom: 16px;
  line-height: 1;
}
.teacher-list-yoko .category a {
  position: relative;
  background: #8aacb7;
  color: #fff;
  font-size: 87%;
  display: inline-block;
  padding: 4px 10px;
  margin: 0 2px 4px;
  font-weight: bold;
  border-radius: 3px;
  z-index: 11;
}
.teacher-list-yoko .category a:hover {
  background: #deceba;
}
.teacher-list-yoko .detail {
  font-size: 87%;
  line-height: 1.6;
  letter-spacing: 0.01em;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (max-width: 767px) {
  #lesson-teacher .white-box .text-area {
    float: none;
    width: 100%;
  }
  .teacher-area .tab_item-b {
    width: 46%;
    margin: 0 0 20px;
  }
  .teacher-list-yoko {
    display: block;
  }
  .teacher-list-yoko li {
    display: grid;
    grid-template-columns: 100px 1fr;
    align-items: center;
    gap: 16px;
    text-align: left;
  }
  .teacher-list-yoko .img-area {
    margin-bottom: 0;
    height: 100%;
  }
  .teacher-list-yoko .category {
    margin-bottom: 4px;
  }
  .teacher-list-yoko .category a {
    max-width: 180px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .teacher-area input#inst-kanto-b + .tab_item-b {
    margin-right: 4%;
  }
}

/* =====================================================================================
    ARCHIVE (experiences)
===================================================================================== */
.voice--main {
  position: relative;
  height: 440px;
}
.voice--main::before {
  position: absolute;
  left: 50%;
  content: '';
  display: block;
  background: url(../images/voice/pickup.webp);
  width: 229px;
  height: 78px;
  top: 50px;
  margin-left: 50px;
}
.voice-page-list {
  position: relative;
}
.voice-page-list::before {
  content: '';
  position: absolute;
  width: 294px;
  height: 228px;
  display: inline-block;
  left: -84px;
  top: -210px;
  background: url(../images/common/ijin_magnus.webp);
  background-size: contain;
}
.voice-page-list li {
  display: block;
  overflow: hidden;
  background: #fff;
  margin-bottom: 32px;
  padding: 56px;
  vertical-align: top;
  border-radius: 3px;
  box-shadow: 4px 4px 0 #b5dbe8;
}
.voice-page-list .img-area {
  overflow: hidden;
  float: right;
  margin-left: 32px;
  text-align: center;
  font-size: 86%;
  max-width: 220px;
}
.voice-page-list .img-area a {
  display: inline-block;
  border: 1px solid #aaa;
}

@media (max-width: 1270px) and (min-width: 768px) {
  .voice--main::before {
    top: 70px;
    margin-left: -130px;
  }
}
@media screen and (max-width: 767px) {
  .voice--main {
    height: auto;
  }
  .voice--main::before {
    width: 114px;
    height: 39px;
    background-size: contain;
    top: 22px;
  }
  .voice-page-list li {
    padding: 32px;
    margin-bottom: 16px;
  }
  .voice-page-list .img-area {
    margin: 0 0 8px 8px;
    width: 70px;
  }
  .voice-page-list .img-area small {
    display: none;
  }
  .voice-page-list::before {
    width: 147px;
    height: 114px;
    position: relative;
    top: 0;
    left: -24px;
    margin: -64px 0 -10px;
  }
}

/* =====================================================================================
    SINGLE common
===================================================================================== */

/* pagenav
 **************************************** */
#pageNav {
  text-align: center;
}
#pageNav li {
  display: inline-block;
  vertical-align: top;
  color: #eee;
}
#pageNav a {
  display: inline-block;
  line-height: 1.2;
  background: #c5ccd6;
  padding: 8px 32px;
  margin-bottom: 4px;
}
#pageNav a:hover {
  background: #eee;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #pageNav li {
    display: block;
  }
  #pageNav a {
    display: block;
  }
}

/* =====================================================================================
    SINGLE studio
===================================================================================== */

.studio--info .studio-ttl {
  font-size: 1.875rem;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 32px;
  color: #e75f5f;
}
.studio--info .category {
  overflow: hidden;
}
.studio--info .category a {
  position: relative;
  float: left;
  background: #8aacb7;
  color: #fff;
  font-size: 87%;
  display: inline-block;
  padding: 4px 10px;
  margin: 0 2px 4px;
  font-weight: bold;
  border-radius: 3px;
  z-index: 11;
}
.studio--info .category a:hover {
  background: #deceba;
}
@media screen and (max-width: 767px) {
  .studio--info {
    margin-top: 32px;
    padding-top: 24px;
  }
  .studio--info .studio-ttl {
    margin-bottom: 16px;
    font-size: 160%;
  }
  .studio--info .category a {
    display: inline-block;
    width: 104px;
    padding: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
  }
}

/* table
 *************************************************** */
.single-post table iframe {
  width: 100%;
  aspect-ratio: 2/1;
}
.single-post .table1 {
  width: 100%;
}
.single-post .table1 th,
.single-post .table1 td {
  padding: 1em;
  border: 1px solid #eee;
}
.single-post .table1 th {
  width: 300px;
  vertical-align: middle;
  background-color: #f6f6f6;
}
.single-post .table1 td {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .single-post .table-sp-block th {
    padding: 0.5em 1em;
    text-align: left;
    border-bottom: none;
  }
  .single-post .table-sp-block tr:not(:first-child) th {
    border-top: none;
  }
  .single-post .table-sp-block td {
    padding: 1em 2em;
  }
}

/* studio_intro--img
 *************************************************** */
.studio_intro--img {
  position: relative;
  width: 531px;
  margin: auto;
}
.studio_intro--img::before,
.instructors--info .img-area::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 64px solid #fff;
  background: #deceba url(../images/common/footer_logo.webp) center no-repeat;
}
.studio_intro--img > img {
  position: absolute;
  z-index: 1;
  max-width: 80%;
  max-height: 80%;
  width: auto;
  height: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.studio_intro--img .slide-studio {
  height: 100%;
  background: #fff;
}
.studio_intro--img .slick-list {
  background: #fff;
}
.studio_intro--img .slide-item {
  display: grid;
  place-content: center;
}
.studio_intro--img .slide-item p {
  padding: 1em;
}
.studio_intro--img .slide-studio img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1;
}
.studio_intro--img .slick-arrow {
  position: absolute;
  top: 0;
  height: 100%;
  width: 62px;
  display: grid !important;
  place-content: center;
  cursor: pointer;
}
.studio_intro--img .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
}
.studio_intro--img .slick-prev {
  left: -62px;
}
.studio_intro--img .slick-prev::before {
  border-left: 2px solid;
  border-bottom: 2px solid;
}
.studio_intro--img .slick-next {
  right: -62px;
}
.studio_intro--img .slick-next::before {
  border-right: 2px solid;
  border-top: 2px solid;
}
.studio_intro--img .slick-dots {
  position: absolute;
  top: 0;
  right: -140px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-wrap: wrap;
}
.studio_intro--img .slick-dots li {
  position: relative;
  width: 55px;
  height: 55px;
  background: #8aacb7;
  cursor: pointer;
}
.studio_intro--img .slick-dots li span {
  position: absolute;
  inset: 0;
  transition: 0.4s ease-out;
}
.studio_intro--img .slick-dots li span:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .studio_intro--img {
    float: none;
    width: 100%;
    height: auto;
    min-height: 240px;
    margin: 0 auto 16px;
  }
  .studio_intro--img .slick-arrow {
    display: none !important;
  }
  .studio_intro--img .slick-dots {
    position: relative;
    right: auto;
    flex-direction: row;
    margin-top: 16px;
  }
  .studio_intro--img .slick-dots li {
    width: calc(20% - 8px);
    aspect-ratio: 1;
  }
}

/* instrument_table
 *************************************************** */
.instrument_table {
  display: flex;
  flex-wrap: wrap;
  border-top: 2px solid #eee;
}
.instrument_table li {
  width: calc(25% + 2px);
  margin: 0 -1px;
  font-size: 0.875rem;
  text-align: center;
  border-bottom: 2px solid #eee;
  border-inline: 2px solid #eee;
}
.instrument_table .ttl,
.instrument_table .cell {
  padding: 0.3em !important;
  margin: 0 -1px;
}
.instrument_table .ttl {
  font-weight: bold;
  vertical-align: middle;
  background-color: #f6f6f6;
  border-bottom: 2px solid #eee;
}
.instrument_table .cell {
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .instrument_table li {
    width: calc(50% + 2px);
    line-height: 1.3;
    font-size: 0.75rem;
  }
}

/* instructor_info
 *************************************************** */
.instructor_info {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 45px;
  padding: 64px;
}
.instructor_info--txt {
  text-align: justify;
}
.instructor_info--txt .heading-3 {
  color: #555;
  font-size: 1.4375rem;
}
.instructor_info--txt .heading-3 span {
  margin-left: 1em;
  font-size: 0.875rem;
  letter-spacing: 0.12em;
}
.instructor_info--balloon::before {
  content: '';
}
.instructor_info--balloon-ttl {
  position: relative;
  padding-left: 1.2em;
  font-size: 0.9rem;
  line-height: 1;
}
.instructor_info--balloon-ttl::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 4px;
  border-radius: 4px;
  background-color: #dcccb6;
}
.instructor_info--balloon {
  padding: 1.5em 2em;
  background-color: #f6f6f6;
  border-radius: 0.5em;
}
.instructor_info--img img {
  object-fit: cover;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
}
.instructor_info .btn-more a {
  min-width: auto;
  width: 100%;
}
.instructor_info .btn-more.pc-none {
  display: none;
}
.instructor_info .btn-more.sp-none {
  display: block;
}
@media screen and (max-width: 767px) {
  .instructor_info {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: wrap;
    gap: 0;
  }
  .instructor_info .btn-more.sp-none {
    display: none;
  }
  .instructor_info .btn-more.pc-none {
    display: block;
    margin-top: 20px;
    text-align: center;
  }
  .instructor_info .btn-more.pc-none a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .instructor_info--img {
    width: 70%;
    margin-inline: auto;
  }
  .instructor_info--balloon {
    margin-bottom: 16px;
  }
}

/* =====================================================================================
    SINGLE event
===================================================================================== */
.event--info .section_ttl {
  font-size: 1.875rem;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 32px;
  color: #e75f5f;
}
.event--info .img-area {
  display: inline-block;
  width: auto;
  height: auto;
  text-align: center;
  font-size: 86%;
}
.event--info .img-area a {
  border: 1px solid #000;
  display: inline-block;
}
.event--info .img-area img {
  position: relative;
  max-width: 100%;
  max-height: 100%;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
}
@media screen and (max-width: 767px) {
  .event--info .img-area {
    width: 100%;
    text-align: center;
  }
}

/* =====================================================================================
    SINGLE campaign
===================================================================================== */
.campaign-detail {
  position: relative;
}
.campaign-detail .onpu-a {
  left: -24px;
}
.campaign-detail .onpu-d {
  right: -24px;
}
.campaign-detail .onpu-f {
  top: -24px;
}
.campaign-detail .white-box {
  position: relative;
}
.campaign-detail .white-box p {
  line-height: 2.3em;
  text-align: center;
  margin-bottom: 2.3em;
}

/* =====================================================================================
    SINGLE instructors
===================================================================================== */
/* instructors--info
 *************************************************** */
.instructors--info {
  position: relative;
}
.instructors--info .teacher-name {
  font-size: 187%;
  font-weight: normal;
  margin: 72px 0 32px;
  line-height: 1.2;
}
.instructors--info .img-area {
  position: relative;
  width: 400px;
  overflow: hidden;
  display: block;
  height: 560px;
  background: top center no-repeat;
  background-size: cover;
  float: right;
  margin-left: 56px;
}
.instructors--info .img-area img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.instructors--info .text-area {
  width: 560px;
}
.instructors--info .wysiwyg {
  font-size: 108%;
  margin-bottom: 40px;
}
.instructors--info .box {
  background: #fff;
  line-height: 1.6;
  padding: 1em 1.5em;
  margin-right: 4px;
  border-radius: 3px;
}
.instructors--info .box .post-cat {
  display: inline-block;
  padding-right: 1em;
}
.instructors--info .box .post-cat:not(:last-child)::after {
  content: ', ';
}
.instructors--info .instrument {
  font-size: 160px;
  position: absolute;
  z-index: -1;
  color: rgba(181, 219, 232, 0.34);
  top: 10px;
  left: 10px;
  line-height: 1;
}
.teacher-name small {
  display: block;
  font-size: 67%;
  color: #b5dbe8;
  margin-top: 10px;
  font-weight: bold;
  text-transform: uppercase;
}
.studio-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 54px 32px;
}
.studio-list-item {
  position: relative;
  background: #fff;
  border-radius: 3px;
  vertical-align: top;
  border: 1px solid #eee;
  transition: all 0.2s ease-out;
  display: flex;
  flex-direction: column;
}
.studio-list-item:hover {
  opacity: 0.3;
}
.studio-list-item .img-area {
  text-align: center;
  background: #d4c8bc url(../images/common/footer_logo.webp) center no-repeat;
  width: 100%;
  aspect-ratio: 1;
}
.studio-list-item .img-area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.studio-list-item .text-area {
  padding: 24px;
  font-size: 0.8125rem;
  line-height: 1.7;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.studio-list-item .studio-ttl {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 0.5em;
  border-bottom: 2px solid #eee;
  padding-bottom: 1em;
}
.studio-list-item .area {
  margin-bottom: 1em;
  border-bottom: 2px solid #eee;
  padding-bottom: 0.5em;
  font-weight: bold;
}
.studio-list-item .walk {
  font-size: 1.0625rem;
}
.studio-list-item .btn-more a {
  width: 100%;
  min-width: auto;
}
@media screen and (max-width: 767px) {
  .instructors--info .text-area {
    width: 100%;
  }
  .instructors--info .img-area {
    width: 100%;
    height: 360px;
    float: none;
    margin: 0 0 24px;
  }
  .instructors--info .instrument {
    position: relative;
    font-size: 100%;
    top: 0;
    left: 0;
    color: #aaa;
    margin-bottom: 16px;
    float: right;
  }
  .instructors--info .teacher-name {
    margin: 0 0 24px;
  }
  .studio_intro--img.no-image,
  .instructors--info .img-area.no-image {
    border: 10px solid #fff;
    background: #deceba url(../images/common/footer_logo_sp.webp) center no-repeat;
    background-size: 160px auto;
  }
  .instructors--info .category {
    display: block;
  }
  .studio-list {
    display: block;
  }
  .studio-list-item {
    width: 100%;
    margin: 0 0 40px;
  }
  .studio-list-item .category {
    top: -18px;
    font-size: 93%;
    max-width: 100%;
    height: 18px;
    overflow: hidden;
  }
  .studio-list-item .text-area {
    padding: 16px;
  }
}

/* =====================================================================================
    SINGLE blog
===================================================================================== */

/* 記事
 *************************************************** */
.blog-ttl {
  position: relative;
  border-bottom: solid 3px #b5dbe8;
  font-size: 1.75rem;
  font-weight: normal;
  padding-bottom: 8px;
  margin-bottom: 24px;
}
.blog-ttl:after {
  position: absolute;
  content: ' ';
  display: block;
  border-bottom: solid 3px #ffc778;
  bottom: -3px;
  width: 30%;
}
.textarea {
  word-wrap: break-word;
}
.eyecatch-area {
  margin-bottom: 24px;
}
.eyecatch-area img {
  max-width: 100%;
  height: auto;
}

/* side-section */
.side-section {
  margin-bottom: 40px;
  font-size: 94%;
}
.side-section a {
  position: relative;
  display: block;
  line-height: 1.6;
  padding: 3px 0px;
  padding-left: 16px;
}
.side-section a::before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  content: '\f105';
  left: 0;
  top: 8px;
}
.side-section a .count {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 5px;
  line-height: 1;
  text-align: center;
  background: #a4c6d2;
  border-radius: 10px;
  color: #fff;
  font-size: 80%;
}
.side-ttl {
  font-size: 135%;
  color: #99bac5;
  border-bottom: 1px dotted #aaa;
  margin-bottom: 8px;
  padding-bottom: 16px;
  overflow: hidden;
  line-height: 1;
}
.side-ttl small {
  display: block;
  font-size: 60%;
  color: #666;
  float: right;
  padding-top: 8px;
}
#wp-calendar {
  width: 100%;
  text-align: center;
}
#wp-calendar caption {
  background: #b5dbe8;
}
#wp-calendar thead {
  background: #fff;
}
.side-section #wp-calendar a {
  padding: 0;
  color: #e75f5f;
}
#wp-calendar a::before {
  display: none;
}

/* ブログカード */
.blog-card {
  position: relative;
  display: grid;
  grid-template-columns: 40% 1fr;
  align-items: center;
  background-color: #fff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 5px 10px -3px rgb(0 0 0 / 20%);
}
.blog-card:not(:first-child) {
  margin-top: 2em;
}
.blog-card:not(:last-child) {
  margin-bottom: 2em;
}
.blog-card-thumbnail img {
  width: 100%;
  margin: 0 !important;
}
.blog-card-content {
  padding: 1em;
  line-height: 1.5;
  background-color: #fff;
}
.blog-card-title {
  margin-bottom: 0.5em;
}
.blog-card-title a {
  color: #040404 !important;
  font-size: 1.0625rem;
  font-weight: bold;
  text-decoration: none;
}
.blog-card-tax {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.blog-card-tax a {
  position: relative;
  z-index: 1;
  display: block;
  width: fit-content;
  padding: 0.5em;
  color: #040404 !important;
  text-decoration: none;
  font-size: 0.75rem;
  line-height: 1;
  background-color: #cae4ea;
}

@media screen and (max-width: 767px) {
  .blog-card {
    display: block;
  }
  .blog-ttl {
    font-size: 139%;
    line-height: 1.6;
  }
  .blog-card-title a {
    font-size: 1.23rem;
  }
  .blog-card-tax a {
    font-size: 0.846rem;
  }
}

/* =====================================================================================
    PAGE contact
===================================================================================== */

/* contact
*************************************************** */
.contact--txt {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .contact--txt.txt-ctr {
    text-align: left;
  }
}

/* =====================================================================================
    ショートコード
===================================================================================== */
.sc_link,
.supervise_link {
  text-align: center;
  display: table;
  margin-left: auto !important;
  margin-right: auto !important;
}
.sc_link a,
.supervise_link a {
  position: relative;
  display: table-cell;
  min-width: 240px;
  min-height: 48px;
  background: #a3c5d0 url(../images/common/bg_blue_pattern02.webp);
  border-radius: 24px;
  line-height: 1.6;
  vertical-align: middle;
  text-align: center;
  color: #333;
  text-decoration: none;
  padding: 10px 50px 8px 32px;
}
.sc_link a::after,
.supervise_link a::after {
  content: '';
  position: absolute;
  display: block;
  top: 50%;
  transform: translate(0%, -50%);
  width: 7px;
  height: 7px;
  right: 32px;
  transform-origin: center center;
  -webkit-transform-origin: top left;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}
.sc_link a:hover,
.supervise_link a:hover {
  background: #b5dbe8;
  color: #000;
}

/*監修者情報*/
.supervise_link {
  margin-top: 2em;
}
.supervise_wrap {
  margin-top: 35px;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 0 1px rgb(0 0 0 / 20%);
  padding: 35px;
}
.supervise_area {
  display: flex;
  flex-wrap: wrap;
}
.supervise_area_img {
  width: 180px;
  margin-right: 30px;
}
.supervise_area_img figure img {
  width: 180px;
  height: 180px;
  border-radius: 100%;
  object-fit: cover;
}
.supervise_sns {
  margin-top: 20px;
  display: flex;
  gap: 1rem;
  justify-content: center;
}
.supervise_sns li {
  max-width: 30px;
}
.supervise_sns li img {
  width: 100%;
}
.supervise_sns a:hover {
  opacity: 0.8;
}
.supervise_area_cont {
  width: calc(100% - 215px);
}
.supervise_area_cont h3 {
  font-size: 110%;
}
.supervise_area_cont--txt {
  font-size: 0.875rem;
}
.supervise_comment_area {
  margin-top: 1.5em;
}
.supervise_sns--twitter a,
.supervise_sns--instagram a {
  text-decoration: underline;
  color: #d00a23;
}
@media screen and (max-width: 767px) {
  .supervise_wrap {
    padding: 16px;
  }
  .supervise_area {
    margin-bottom: 16px;
  }
  .supervise_area_img {
    width: 100%;
    margin-right: 0;
  }
  .supervise_area_img figure {
    text-align: center;
  }
  .supervise_area_img figure img {
    width: 160px;
    height: 160px;
  }
  .supervise_area_cont {
    width: 100%;
    margin-top: 1em;
  }
}

/* =====================================================================================
    formy
===================================================================================== */
.footer--cta {
  position: relative;
}
.form-tab li a {
  display: block;
  background: #85b7c8;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 10px 20px;
  font-weight: bold;
}
.form-tab li.current a {
  background: rgba(181, 219, 232, 0.8);
}
.form-tab li a:hover {
  color: #333;
}
@media screen and (max-width: 767px) {
  .form-tab li {
    width: 100%;
  }
  .form-tab li a {
    padding: 8px;
    text-align: center;
    line-height: 1.6;
    font-size: 90%;
  }
}
#formyForm {
  background: rgba(181, 219, 232, 0.8);
  padding: 80px 140px;
  position: relative;
}
#formyForm::before {
  content: '';
  position: absolute;
  left: 8px;
  right: 8px;
  top: 8px;
  bottom: 8px;
  border-radius: 3px;
  border: 1px dashed #fff;
  pointer-events: none;
}
#formyForm table {
  width: 100%;
}
#formyForm th,
#formyForm td {
  padding: 16px 0;
  vertical-align: middle;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
#formyForm th {
  font-weight: normal;
  white-space: nowrap;
  text-align: left;
  width: 36%;
}
#formyForm table th:nth-child(1) {
  font-size: 90%;
}
#formyForm table input[type='text'],
#formyForm table input[type='password'],
#formyForm table input[type='date'],
#formyForm table input[type='hidden'],
#formyForm table input[type='tel'],
#formyForm table input[type='email'],
#formyForm table textarea {
  width: 100%;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  vertical-align: bottom;
}
#formyForm table input[type='text'],
#formyForm table input[type='password'],
#formyForm table input[type='date'],
#formyForm table input[type='hidden'],
#formyForm table input[type='tel'],
#formyForm table input[type='email'],
#formyForm select,
#formyForm textarea {
  margin: 0;
  padding: 5px 15px;
  border: 1px solid #fff;
  font: inherit;
  font-size: 100%;
}
#formyForm select {
  height: 42px;
  width: 100%;
}
#formyForm ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#formyForm td li {
  display: inline-block;
  vertical-align: middle;
  margin-right: 24px;
}
#formyForm input:hover {
  opacity: 0.7;
}
#formyForm textarea:hover {
  opacity: 0.7;
}
/*formy ラジオボタン*/
#formyForm ul li input[type='radio'] {
  display: none !important;
}
#formyForm ul li label {
  height: 40px;
  line-height: 40px;
  display: inline-block;
  vertical-align: top;
  position: relative;
  border-radius: 64px;
  padding: 0px 8px 0px 40px;
  margin-top: 4px;
  margin-bottom: 4px;
  cursor: pointer;
  width: 200px;
  background: #fff;
}
#formyForm ul li input[name='element_287_58d86f3714292'] + label,
#formyForm ul li input[name='element_293_58d870c444115'] + label {
  width: 320px;
  margin: 4px 0;
}
#formyForm ul li label:hover {
  opacity: 0.7;
}
#formyForm ul li label:before {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  border: 2px solid #788b93;
  left: 16px;
  top: 12px;
  border-radius: 10px;
}
#formyForm ul li input[type='radio']:checked + label {
  color: #e75f5f;
  font-weight: bold;
}
#formyForm ul li input[type='radio']:checked + label::before {
  border-color: #e75f5f;
}
#formyForm ul li input[type='radio']:checked + label::after {
  content: '';
  width: 10px;
  height: 18px;
  border-right: 2px solid #e75f5f;
  border-bottom: 2px solid #e75f5f;
  display: block;
  position: absolute;
  z-index: 10;
  transform: rotate(45deg);
  top: 4px;
  left: 20px;
}
/*ここまで*/
#formyForm .parsley-validated {
  background-color: #eee;
}
#formyForm .parsley-error {
  background-color: #fee;
}
#formyForm .parsley-success {
  background-color: #fff;
}
.confirm-message {
  text-align: center;
  margin-top: 16px;
  font-size: 93%;
}
.help_text {
  font-size: 85%;
  color: #666;
}
.hidden_help {
  display: none;
}
.formy_privacy div {
  overflow-y: scroll;
  height: 140px;
  background: #fff;
  border: solid 1px #fff;
  border-radius: 3px;
  font-size: 85%;
  padding: 8px;
}
.requiredIcon {
  background: #e75f5f !important;
  color: #fff !important;
  text-align: center;
  margin: 0 16px 0 0 !important;
  font-size: 70% !important;
  width: 32px;
  height: 32px;
  line-height: 32px;
  -moz-border-radius: 16px !important;
  -webkit-border-radius: 16px !important;
  border-radius: 16px !important;
  float: right;
  padding: 0 !important;
  position: static !important;
  right: auto !important;
}
#formy_btn {
  padding: 64px 0 0;
  text-align: center;
}
#formy_btn input {
  border: none;
  cursor: pointer;
  text-indent: -9999px;
}
.formy_confirm {
  width: 360px;
  height: 72px;
  background: url(../images/formy/formy_confilm.webp) no-repeat;
}
.formy_submit_disabled {
  width: 360px;
  height: 72px;
  background: url(../images/formy/formy_disabled.webp) no-repeat;
}
#formy_btn .formy_submit_disabled:hover {
  opacity: 1;
  cursor: default;
}
.autoConfirmBack {
  width: 160px;
  height: 72px;
  background: url(../images/formy/formy_reset.webp) no-repeat;
}
.formy_send {
  width: 360px;
  height: 72px;
  background: url(../images/formy/formy_submit.webp) no-repeat;
}
#total_required,
.form-group_num {
  background: rgba(240, 50, 50, 0.8);
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  color: #fff;
  position: fixed;
  top: 123px;
  left: 16px;
  display: none;
  padding: 16px 24px;
  line-height: 1;
  z-index: 300;
}
#telSp {
  margin: 0px auto;
  width: 800px;
  border-bottom: 1px solid #dddddd;
  padding-bottom: 30px;
  color: #09c;
  text-align: center;
}
.contactBtn a {
  display: inline-block;
  margin: 0 auto;
  padding: 15px 80px;
  text-decoration: none;
  border: 2px solid #28a7e1;
}
.privacy-link {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 180px;
  font-size: 88%;
}
.form-select {
  margin-bottom: 24px;
}
.form-select li:not(:last-child) {
  margin-right: 20px;
}
.form-select li {
  width: 240px;
  text-align: center;
}
.form-select li a {
  border: 1px solid #c5ccd6;
  display: block;
  font-weight: bold;
  padding: 8px;
  cursor: pointer;
  background: #aed2df;
  color: #333;
  transition: all 0.4s;
  border-radius: 4px;
  box-shadow: 5px 0 5px #cdcdcd;
}
.form-select li a:hover {
  background: #e75f5f;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #formyForm {
    padding: 40px 17px;
  }
  .form-select {
    margin-bottom: 0;
  }
  .form-select li:not(:last-child) {
    margin-right: 15px;
    margin-bottom: 15px;
  }
  .form-select li {
    width: 100%;
  }
  #total_required,
  .form-group_num {
    top: 80px;
  }
  #formyForm td li {
    margin-right: 0;
  }
  #formyForm ul li label {
    width: 132px;
    margin: 8px 0 0;
  }
  #formyForm ul li input[name='element_287_58d86f3714292'] + label,
  #formyForm ul li input[name='element_293_58d870c444115'] + label {
    max-width: 100%;
    min-width: 100%;
    width: 260px;
    display: block;
  }
  #formyForm ul li input[name='element_387_5ea636c0cd9fc'] + label {
    max-width: 100%;
    min-width: 100%;
    width: 200px;
    display: block;
  }
  .attention-text::after {
    display: none;
  }
  .contact-tel img {
    width: 232px;
  }
  .formy-wrap {
    margin: 0;
    padding: 16px 0 40px;
  }
  #formyForm th,
  #formyForm td {
    display: block;
    width: 100%;
    padding: 8px 0;
  }
  #formyForm th {
    font-weight: bold;
    padding-bottom: 0;
    border-bottom: 0;
    margin-bottom: 16px;
  }
  #formyForm td {
    padding-top: 0;
  }
  #formy_btn input {
    max-width: 100%;
    background-size: contain;
  }
  .formy_confirm {
    width: 100%;
    height: 72px;
    background: url(../images/formy/formy_confilm_smp.webp) no-repeat;
    background-size: contain;
  }
  .formy_submit_disabled {
    width: 100%;
    height: 72px;
    background: url(../images/formy/formy_disabled_sp.webp) no-repeat;
    background-size: contain;
  }
  #formy_btn .formy_submit_disabled:hover {
    opacity: 1;
    cursor: default;
  }
  .requiredIcon {
    margin: 0 0 3px !important;
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
  }
  .autoConfirmBack {
    width: 100%;
    height: 72px;
    background: url(../images/formy/formy_reset_sp.webp) no-repeat;
    background-size: contain;
    margin-bottom: 8px;
  }
  .formy_send {
    width: 100%;
    height: 72px;
    background: url(../images/formy/formy_submit_sp.webp) no-repeat;
    background-size: contain;
  }
  #formyForm input:hover {
    opacity: 1;
  }
  .privacy-link {
    padding: 0 16px;
    bottom: 132px;
  }
}

/* =====================================================================================
    PAGE lp-piano 以下全部
===================================================================================== */

/* --- whitebox --- */
.whitebox {
  position: relative;
  padding-left: 40px;
  padding-right: 40px;
  padding-bottom: 80px;
  background-color: #fff;
}
.whitebox::before,
.whitebox::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
}
.whitebox::before {
  top: -74px;
  height: 74px;
  background: url(../images/lp-piano/whitebox-bg.webp) top center no-repeat;
}
.whitebox::after {
  bottom: 0;
  height: 2px;
  background: url(../images/lp-piano/whitebox-line.webp) top center no-repeat;
}
@media screen and (max-width: 767px) {
  .whitebox {
    padding-bottom: 40px;
    padding-left: 16px;
    padding-right: 16px;
    text-align: left;
  }
  .whitebox::before {
    top: -10vw;
    height: 10vw;
    background-size: cover;
    background-image: url(../images/lp-piano/whitebox-bg_sp.webp);
  }
  .whitebox::after {
    background-size: 220%;
  }
}

/* lp-hero
 **************************************** */
.lp-hero {
  overflow: hidden;
  padding-top: 15%;
  padding-bottom: 15%;
  background: url(../images/lp-piano/hero-img.webp) center;
  background-size: cover;
}
.lp-hero::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 128px;
  background: url(../images/lp-piano/hero-bg.webp) top center no-repeat;
}
.lp-h1 span {
  display: block;
}
.lp-section_ttl {
  padding-top: 56px;
  background: url(../images/lp-piano/section_ttl-img.webp) top center no-repeat;
}
@media screen and (max-width: 767px) {
  .lp-hero {
    padding-top: 30%;
    padding-bottom: 30%;
    padding-left: 20px;
    padding-right: 20px;
    background: url(../images/lp-piano/hero-img_sp.webp) center;
    background-size: cover;
  }
  .lp-h1 span img {
    width: 100px;
  }
  .lp-hero::after {
    height: 50px;
    background-position: top left 48%;
    background-size: cover;
  }
  .lp-section_ttl {
    padding-top: 56px;
    background-image: url(../images/lp-piano/section_ttl-img_sp.webp);
    background-size: 32px;
  }
  .lp-section-about .lp-section_ttl img,
  .lp-section-charm .lp-section_ttl img,
  .lp-section-companison .lp-section_ttl img,
  .lp-section-questionnaire .lp-section_ttl img {
    width: auto;
    height: 25vw;
  }
  .lp-section-fee .lp-section_ttl img {
    width: auto;
    height: 16vw;
  }
  .questionnaire_box01 h3 img,
  .questionnaire_box02 h3 img {
    width: auto;
    height: 14vw;
  }
  .questionnaire_box03 h3 img {
    width: auto;
    height: 22vw;
  }
  .lp-section-lesson .lp-section_ttl img {
    width: auto;
    height: 28vw;
  }
  .lp-section-questionnaire .lp-section_ttl,
  .lp-section-lesson .lp-section_ttl {
    padding-left: 32px;
    padding-right: 32px;
  }
}

/* lp-section-about
**************************************** */
.lp-section-about {
  position: relative;
  overflow: hidden;
  padding-top: 110px;
  margin-top: -110px;
}
.lp-section-about::before {
  content: '';
  position: absolute;
  top: 0;
  right: calc(50% - 830px);
  display: block;
  width: 411px;
  height: 339px;
  background-image: url(../images/lp-piano/section01-line.webp);
  pointer-events: none;
}
.lp-section-about .kazari-f {
  top: 287px;
  bottom: auto;
  right: calc(50% - 830px);
}
.lp-section-about .onpu01 {
  top: 70px;
  left: auto;
  right: calc(50% - 340px);
}
.lp-section-about .onpu02 {
  top: 120px;
  left: auto;
  right: calc(50% - 740px);
}
.lp-section-about .onpu03 {
  top: 110px;
  left: auto;
  right: calc(50% - 530px);
}
.lp-section-about .onpu04 {
  top: 320px;
  left: auto;
  right: calc(50% - 580px);
}
.lp-section-about .point_contents .img-area {
  margin-right: 64px;
}
@media screen and (max-width: 767px) {
  .lp-section-about .point_contents .img-area {
    margin-right: 0;
    margin-bottom: 24px;
  }
}

/* lp-section-recommend
**************************************** */
.lp-section-recommend {
  position: relative;
  padding-bottom: 0;
  overflow: hidden;
  background: url(../images/lp-piano/section02-bg.webp) center no-repeat;
  background-size: cover;
}
.lp-section-recommend .lp-section_ttl {
  margin-bottom: 130px;
}
.lp-section-recommend .inner {
  position: relative;
}
.recommend_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.recommend_img img {
  position: absolute;
}
.recommend_img .left_img1 {
  bottom: 50px;
  left: 14%;
}
.recommend_img .left_img2 {
  bottom: 340px;
  left: 26%;
}
.recommend_img .left_img3 {
  bottom: 240px;
  left: 0;
}
.recommend_img .right_img1 {
  bottom: 310px;
  right: 20%;
}
.recommend_img .right_img2 {
  bottom: 190px;
  right: 7%;
}
.recommend_img .right_img3 {
  bottom: 40px;
  right: 10%;
}
.lp-section-recommend .onpu01 {
  left: 10%;
  bottom: 200px;
}
.lp-section-recommend .onpu02 {
  left: 18%;
  bottom: 450px;
  transform: scale(-1, 1) rotate(-5deg);
}
.lp-section-recommend .onpu03 {
  right: 10%;
  bottom: 420px;
  transform: scale(-1, 1);
}
.lp-section-recommend .onpu04 {
  right: 30%;
  bottom: 230px;
}
@media screen and (max-width: 767px) {
  .lp-section-recommend {
    padding-bottom: 8px;
  }
  .lp-section-recommend::after {
    background-size: 100%;
    height: 3%;
  }
  .recommend_origin {
    width: 160px;
  }
  .recommend_img img {
    width: 140px;
  }
  .recommend_img .left_img1 {
    bottom: 50px;
    left: -10px;
    width: 100px;
  }
  .recommend_img .left_img2 {
    bottom: 250px;
    left: 40px;
    width: 120px;
  }
  .recommend_img .left_img3 {
    bottom: 140px;
    left: -35px;
    width: 160px;
  }
  .recommend_img .right_img1 {
    bottom: 260px;
    right: 0;
    width: 140px;
  }
  .recommend_img .right_img2 {
    bottom: 160px;
    right: -10px;
    width: 110px;
  }
  .recommend_img .right_img3 {
    bottom: 40px;
    right: -30px;
    width: 140px;
  }
  .lp-section-recommend .kazari {
    display: none;
  }
}

/* lp-section-charm
**************************************** */
.lp-section-charm {
  position: relative;
  overflow: hidden;
}
.point-contents {
  position: relative;
  margin-bottom: 40px;
}
.point-contents:last-child {
  margin-bottom: 0;
}
.point-list {
  position: relative;
  padding-top: 40px;
}
.whitebox + .point-list::before {
  content: '';
  position: absolute;
  top: 0;
  left: 42%;
  display: block;
  width: 242px;
  height: 197px;
  background-image: url(../images/lp-piano/ten_point_c.webp);
}
.point-contents .text-area {
  position: relative;
}
.point-contents .img-area::before,
.point-contents .img-area::after {
  content: '';
  display: block;
  position: absolute;
  background: center no-repeat;
}
.point-contents .img-area::before {
  z-index: 1;
}
.point-bg {
  position: absolute;
  z-index: -1;
}
.point-01 .point-bg {
  top: 210px;
  right: -80px;
  transform: rotate(-90deg);
}
.point-02 .point-bg {
  top: -10px;
  left: -10px;
}
.point-03 .point-bg {
  top: 10px;
  right: -50px;
}
.point-05 {
  margin-top: 40px;
}
.point-05 .point-bg {
  bottom: 0;
  right: 330px;
  transform: rotate(-175deg);
}
.point-06 .point-bg {
  bottom: 80px;
  left: 395px;
}
.point-01 .img-area::before {
  top: 30px;
  right: 486px;
  width: 165px;
  height: 60px;
  background-image: url(../images/lp-piano/point01.webp);
}
.point-02 .img-area::before {
  top: -30px;
  right: 0;
  width: 177px;
  height: 53px;
  background-image: url(../images/lp-piano/point02.webp);
}
.point-03 .img-area::before {
  top: 10px;
  right: 540px;
  width: 174px;
  height: 74px;
  background-image: url(../images/lp-piano/point03.webp);
}
.point-04 .img-area::before {
  top: -20px;
  right: -20px;
  width: 174px;
  height: 60px;
  background-image: url(../images/lp-piano/point04.webp);
}
.point-05 .img-area::before {
  top: 70px;
  left: 380px;
  width: 172px;
  height: 59px;
  background-image: url(../images/lp-piano/point05.webp);
}
.point-06 .img-area::before {
  top: -20px;
  right: 20px;
  width: 171px;
  height: 53px;
  background-image: url(../images/lp-piano/point06.webp);
}
.point-01 .img-area::after,
.point-03 .img-area::after,
.point-05 .img-area::after {
  bottom: -110px;
  left: 38%;
  width: 202px;
  height: 239px;
  background-image: url(../images/lp-piano/ten_point_a.webp);
}
.point-02 .img-area::after,
.point-04 .img-area::after,
.point-06 .img-area::after {
  bottom: -100px;
  left: 40%;
  width: 242px;
  height: 197px;
  background-image: url(../images/lp-piano/ten_point_c.webp);
}
.point-contents.flex-reverse .point-img {
  margin: 0 80px 40px 0;
}
.point-contents .point-img {
  margin: 0 0 40px 80px;
}
.lp-section-charm .trial-btn {
  position: relative;
  z-index: 0;
  border: 1px solid #e87d7e;
  box-shadow: 20px 20px 0 #e87d7e;
}
.lp-section-charm .trial-btn:hover {
  border: 1px solid #000;
  box-shadow: -20px -20px 0 #000;
  background: #e87d7e;
}

/* --- kazari --- */
.lp-section-charm .kazari-piano01 {
  top: 60px;
  left: calc(50% - 800px);
  width: 243px;
  height: 367px;
  background-image: url(../images/lp-piano/kazari-piano01.webp);
}
.lp-section-charm .kazari-piano01 .onpu01 {
  top: auto;
  bottom: 80px;
  left: 180px;
}
.lp-section-charm .kazari-piano01 .onpu02 {
  top: 30px;
  left: 250px;
}
.lp-section-charm .kazari-piano01 .onpu03 {
  left: 110px;
  bottom: -20px;
}
.lp-section-charm .kazari-piano02 {
  top: 25%;
  right: calc(50% - 800px);
  width: 238px;
  height: 432px;
  background-image: url(../images/lp-piano/kazari-piano02.webp);
}
.lp-section-charm .kazari-piano02 .onpu01 {
  top: 10px;
  left: 70px;
}
.lp-section-charm .kazari-piano02 .onpu02 {
  top: 160px;
  left: 140px;
}
.lp-section-charm .kazari-piano03 {
  top: 50%;
  left: calc(50% - 800px);
  width: 231px;
  height: 384px;
  background-image: url(../images/lp-piano/kazari-piano03.webp);
}
.lp-section-charm .kazari-piano03 .onpu01 {
  top: 180px;
  left: 190px;
}
.lp-section-charm .kazari-piano03 .onpu02 {
  top: 130px;
  left: 80px;
}
.lp-section-charm .kazari-piano04 {
  top: 75%;
  right: calc(50% - 800px);
  width: 238px;
  height: 432px;
  background-image: url(../images/lp-piano/kazari-piano04.webp);
}
.lp-section-charm .kazari-piano04 .onpu01 {
  top: 10px;
  left: 70px;
}
.lp-section-charm .kazari-piano04 .onpu02 {
  top: 150px;
  left: 140px;
}
@media screen and (max-width: 767px) {
  .whitebox + .point-list::before,
  .point-contents .img-area::after,
  .point-contents .point-bg {
    display: none;
  }
  .point-contents {
    flex-direction: column-reverse;
  }
  .point-contents .point-img,
  .point-contents.flex-reverse .point-img {
    margin: 0 0 32px 0;
  }
  .point-contents .img-area::before {
    background-size: cover;
  }
  .point-01 .text-area h3 img,
  .point-02 .text-area h3 img,
  .point-04 .text-area h3 img {
    height: 16vw;
    width: auto;
  }
  .point-03 .text-area h3 img,
  .point-05 .text-area h3 img,
  .point-06 .text-area h3 img {
    height: 24vw;
    width: auto;
  }
  .point-list {
    margin-bottom: 80px;
  }
  .point-01 .img-area::before {
    top: -20px;
    left: 0;
    right: auto;
    width: 89px;
    height: 29px;
  }
  .point-02 .img-area::before {
    top: -20px;
    right: 0;
    width: 96px;
    height: 29px;
  }
  .point-03 .img-area::before {
    top: -20px;
    right: 0;
    width: 96px;
    height: 39px;
  }
  .point-04 .img-area::before {
    top: -20px;
    left: 0;
    right: auto;
    width: 89px;
    height: 31px;
  }
  .point-05 .img-area::before {
    top: -20px;
    left: 0;
    width: 92px;
    height: 31px;
  }
  .point-06 .img-area::before {
    top: -20px;
    right: 0;
    width: 98px;
    height: 31px;
  }
  .lp-section-charm .trial-btn {
    box-shadow: 12px 12px 0 #e87d7e;
  }
}

/* lp-section-fee
**************************************** */
.lp-section-fee {
  background-image: url(../images/lp-piano/section04-bg.webp);
}
.table_box--wrap {
  position: relative;
  padding: 48px 80px 80px 80px;
}
.table_box--wrap.ribbon {
  padding-top: 80px;
}
.table_box--wrap.ribbon::before {
  content: '';
  position: absolute;
  top: -12px;
  left: calc(50% - 554px / 2);
  display: block;
  width: 554px;
  height: 91px;
  background-image: url(../images/lp-piano/section04-ribbon.webp);
}
.judge::before {
  content: '';
  display: block;
  width: 100%;
  height: 41px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 8px;
  background-position: center;
  background-repeat: no-repeat;
}
.double_circle::before {
  background-image: url(../images/lp-piano/double_circle.webp);
}
.circle::before {
  background-image: url(../images/lp-piano/circle.webp);
}
.triangle::before {
  background-image: url(../images/lp-piano/triangle.webp);
}
.cross::before {
  background-image: url(../images/lp-piano/cross.webp);
}
.table_box-compare th,
.table_box-compare td {
  padding: 16px;
}
.table_box-compare th {
  height: 102px;
}
.table_box-compare td {
  font-size: 93%;
  line-height: 1.3;
}
.table_box-compare .table_box-th {
  background-color: #b5dbe8;
}
.table_box-compare .table_box-th.tsubaki {
  color: #fff;
  background-color: #ef4b4d;
}
.table_box-compare .table_box-td.tsubaki {
  background-color: #fff2f2;
}
@media screen and (max-width: 767px) {
  .table_box--wrap {
    padding: 24px;
  }
  .scroll_table--wrap .table_box table,
  .scroll_table--wrap .table_box thead,
  .scroll_table--wrap .table_box tbody,
  .scroll_table--wrap .table_box tr {
    width: auto;
  }
  .table_box--wrap.ribbon {
    padding-top: 20%;
  }
  .table_box--wrap.ribbon::before {
    top: -10px;
    left: 20px;
    right: 10px;
    width: 90%;
    height: 8%;
    padding-top: 21%;
    background: url(../images/lp-piano/section04-ribbon_sp.webp) center no-repeat;
    background-size: contain;
  }
  .table_box-td img {
    width: 70%;
  }

  /* --- table_box-compare --- */
  .table_box-compare th,
  .table_box-compare td {
    width: 130px;
    height: auto;
    padding: 8px 16px;
  }
  .table_box-compare td {
    font-size: 82%;
  }

  /* --- scroll_table--wrap --- */
  .scroll_table--wrap {
    width: 100%;
    overflow-x: auto;
    margin-bottom: 64px;
    padding-top: 20px;
    padding-left: 0;
    -webkit-transform: translateZ(0);
  }
  .scroll_table--wrap::-webkit-scrollbar {
    height: 10px;
    /* スクロールバーの幅。横スクロールの場合はheightに変更する*/
  }
  .scroll_table--wrap::-webkit-scrollbar-thumb {
    background-color: #999;
    /*スクロールバーの色*/
    border-radius: 5px;
    /* Rもつけれる*/
  }
  .scroll_table--wrap::-webkit-scrollbar-track-piece {
    background-color: #dcdcdc;
    /* スクロールバーの背景色*/
  }
  .judge::before {
    height: 24px;
    margin-bottom: 4px;
    background-size: auto 100%;
  }
  .scroll--cap {
    display: flex;
    align-items: center;
  }
  .scroll--cap em {
    color: #ef4c4c;
    font-style: normal;
  }
  .scroll--cap span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-right: 8px;
    border: 1px solid #ef4c4c;
    border-radius: 50%;
    animation: scroll 1.5s cubic-bezier(0.72, 0.24, 0.37, 0.9) forwards infinite alternate-reverse;
  }
  @keyframes scroll {
    0% {
      -webkit-transform: translateX(-10%);
      transform: translateX(-10%);
    }
    100% {
      -webkit-transform: translateX(10%);
      transform: translateX(10%);
    }
  }
}

/* lp-section-questionnaire
**************************************** */
.lp-section-questionnaire {
  position: relative;
  overflow: hidden;
  padding-bottom: 160px;
}
.lp-section-questionnaire::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 30px solid #fff;
  pointer-events: none;
}
.lp-section-questionnaire .lp-section_ttl {
  margin-bottom: 130px;
}
.section-line {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.section-line .border-top,
.section-line .border-bottom {
  left: 14px;
  right: 14px;
}
.section-line .border-left,
.section-line .border-right {
  top: 14px;
  bottom: 14px;
}
.section-line .border-top {
  top: 14px;
}
.section-line .border-bottom {
  bottom: 14px;
}
.section-line .border-left {
  left: 14px;
}
.section-line .border-right {
  right: 14px;
}
.lp-section-questionnaire .onpu01 {
  top: 270px;
  left: auto;
  right: calc(50% - 360px);
}
.lp-section-questionnaire .onpu02 {
  top: 230px;
  left: calc(50% - 390px);
}
.lp-section-questionnaire .onpu03 {
  top: 130px;
  right: calc(50% - 240px);
  transform: scale(-1, 1);
}

/* --- questionnaire_box --- */
.questionnaire_box + .questionnaire_box {
  margin-top: 180px;
}
.questionnaire_box strong {
  color: #ef4b4d;
}
.questionnaire_box h3 {
  padding-top: 40px;
  background: url(../images/lp-piano/ribbon.webp) top center no-repeat;
  transform: translateY(-30px);
}
.questionnaire_box h3 span {
  display: block;
}
.questionnaire_answer li {
  padding: 18px 64px;
}
.questionnaire_answer li:nth-child(2n + 1) {
  background-color: #e5f5fa;
}
.questionnaire_answer .txt {
  font-size: 120%;
}
.questionnaire_answer .num {
  font-size: 146%;
}
.questionnaire_answer_other,
.questionnaire_answer_other--ttl {
  border: 1px solid #deceba;
}
.questionnaire_answer_other {
  padding: 0 34px 24px 34px;
  font-size: 106%;
}
.questionnaire_answer_other--ttl {
  display: inline-block;
  min-width: 312px;
  padding: 8px 20px;
  text-align: center;
  line-height: 0;
  border: 1px solid #deceba;
  transform: translateY(-1.2em);
}
.questionnaire_answer_other li {
  position: relative;
  width: 33.33%;
  padding-left: 16px;
  margin-bottom: 16px;
}
.questionnaire_answer_other li::before {
  content: '◆';
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  color: #deceba;
  font-size: 70%;
  line-height: 1;
  transform: translateY(-50%);
}
.questionnaire_box01 {
  padding-left: 100px;
  padding-right: 100px;
}
.questionnaire_box02-img {
  position: absolute;
  left: 20px;
  bottom: 0;
}
.questionnaire_box03 .questionnaire_answer .txt {
  font-size: 100%;
}
.questionnaire_box03 .questionnaire_answer li {
  padding: 4px 24px;
}

/* --- result_box --- */
.result_box--child {
  position: relative;
  width: 50%;
  padding: 24px;
  font-size: 90%;
}
.result_box--child .chart {
  position: relative;
  width: 30%;
  height: 100%;
}
.chartjs-render-monitor {
  position: absolute;
  left: 0;
  top: 0;
}
.result_box--child .legend {
  flex: 1;
  margin-left: 32px;
}

/* --- onpu_list --- */
.onpu_list li {
  padding-top: 24px;
  padding-bottom: 24px;
  padding-left: 24px;
  padding-right: 24px;
  line-height: 1.5;
}
.onpu_list li span {
  display: inline-block;
  padding-left: 32px;
  background-position: left center;
  background-repeat: no-repeat;
}
.onpu_list li:nth-child(2n + 1) span {
  background-image: url(../images/onp_k.webp);
}
.onpu_list li:nth-child(2n) span {
  background-image: url(../images/onp_j.webp);
}
@media screen and (max-width: 767px) {
  .lp-section-questionnaire {
    padding-bottom: 80px;
  }
  .lp-section-questionnaire::before {
    border: 15px solid #fff;
  }
  .lp-section-questionnaire .lp-section_ttl {
    margin-bottom: 80px;
  }
  .section-line .border-top,
  .section-line .border-bottom {
    left: 6px;
    right: 6px;
  }
  .section-line .border-left,
  .section-line .border-right {
    top: 6px;
    bottom: 6px;
  }
  .section-line .border-top {
    top: 6px;
  }
  .section-line .border-bottom {
    bottom: 6px;
  }
  .section-line .border-left {
    left: 6px;
  }
  .section-line .border-right {
    right: 6px;
  }

  /* --- result_box --- */
  .result_box--child {
    width: 100%;
    padding: 0;
    display: block;
  }
  .result_box--child:not(:last-child) {
    margin-bottom: 32px;
  }
  .result_box--child .chart {
    width: 100%;
    height: auto;
    margin-bottom: 16px;
  }
  .result_box--child .legend {
    margin-left: 0;
  }
  .result_box--child .legend h4 {
    text-align: center;
  }
  .chartjs-render-monitor {
    position: relative;
  }

  /* --- questionnaire_box --- */
  .questionnaire_box + .questionnaire_box {
    margin-top: 90px;
  }
  .questionnaire_box h3 {
    margin-bottom: 0;
    padding-top: 56px;
    background-size: 50%;
    background-position: top 16px center;
  }
  .questionnaire_box h3 span {
    margin-bottom: 16px;
  }
  .questionnaire_box h3 span img {
    width: auto;
    height: 28px;
  }
  .questionnaire_answer .txt,
  .questionnaire_answer .num {
    font-size: 100%;
  }
  .questionnaire_answer li {
    padding: 8px 16px;
  }
  .questionnaire_box01 {
    padding-left: 16px;
    padding-right: 16px;
  }
  .questionnaire_answer_other--ttl {
    min-width: auto;
  }
  .questionnaire_answer_other--ttl img {
    width: auto;
    height: 15px;
  }
  .questionnaire_answer_other {
    padding: 0 16px 8px 16px;
  }
  .questionnaire_answer_other li {
    width: 100%;
    margin-bottom: 8px;
  }
  .questionnaire_answer + .questionnaire_answer {
    margin-top: 16px;
  }
  .questionnaire_box-rgt {
    padding-right: 0;
  }
  .questionnaire_box02-img {
    display: none;
  }
  .onpu_list li span {
    background-size: 14px;
  }
}
/* lp-section-banner
**************************************** */
.lp-section-banner {
  background-image: url(../images/lp-piano/section04-bg.webp);
}
/* lp-section-lesson
**************************************** */
.lp-section-lesson {
  overflow: hidden;
  background: url(../images/lp-piano/section06-bg.webp) center no-repeat;
  background-size: cover;
}
.enquete {
  position: relative;
  padding: 58px 48px 32px 48px;
  border-radius: 3px;
}
.enquete::before {
  content: '';
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 10px;
  right: 10px;
  display: block;
  border: 2px dotted #deceba;
  border-radius: 3px;
  pointer-events: none;
}
.enquete--child {
  width: calc(20% - 8px);
  margin-bottom: 32px;
}
.enquete--child h3 {
  margin-bottom: 8px;
  color: #555;
  font-size: 85%;
}
.enquete--child a {
  position: relative;
  display: inline-block;
  border: 1px solid #6f6f6f;
}
.enquete--child a::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: rgba(181, 219, 232, 0.8);
  transition: 0.2s ease-out;
}
.enquete--child a:hover::before {
  opacity: 1;
}
.banner a {
  position: relative;
  display: inline-block;
  border: 1px solid #fff;
}
.banner a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(181, 219, 232, 0);
  pointer-events: none;
  transition: 0.2s ease-out;
}
@media (hover: hover) {
  .banner a:hover::before {
    background-color: rgba(181, 219, 232, 0.5);
  }
}
@media screen and (max-width: 767px) {
  .enquete {
    width: calc(100% + 14%);
    margin-left: -7%;
    padding: 24px 24px 0 24px;
  }
  .enquete::before {
    top: 8px;
    bottom: 8px;
    left: 8px;
    right: 8px;
  }
  .enquete--child {
    width: calc(50% - 4px);
  }
  .enquete--child:nth-child(n + 9) {
    display: none;
  }
}

/* lp-section-companison
**************************************** */
.lp-section-companison {
  background-image: url(../images/lp-piano/section04-bg.webp);
}

/* lp-section-message
**************************************** */
.lp-section-message {
  overflow: hidden;
  padding-top: 160px;
}
.message_box {
  position: relative;
  transition: 0.2s ease-out;
}
.message_box .onpu01 {
  top: 30%;
  left: calc(50% - 400px);
  transform: rotate(-25deg);
}
.message_box .onpu02 {
  top: 77%;
  left: auto;
  right: calc(50% - 360px);
}
.message_box .onpu03 {
  top: 80%;
  left: calc(50% - 340px);
  transform: scale(-1, 1);
}
.message_box .onpu04 {
  top: 30%;
  right: calc(50% - 390px);
}
.message_box .onpu05 {
  top: 0;
  left: auto;
  right: calc(50% - 320px);
  transform: rotate(15deg);
}
.message_box .onpu06 {
  top: 0;
  left: calc(50% - 290px);
  transform: scale(-1, 1);
}
@media screen and (max-width: 767px) {
  .lp-section-message {
    padding-top: 80px;
  }
}
