/* HEX */
:root {
  --leading-trim: calc((1em - 1lh) / 2);
  /* width */
  --w1200:1200px;
  --w980:980px;
  --w860:860px;
  --c_white: #ffffff;
  --c_black: #212121;
  --c_gray: #b1b1b1;
  --c_bgcolor1:#f9f9f9;
  --c_bgcolor2:#f4f4f4;
  --c_bgcolor3:#00abd3;
  --c_txt1: #3a3735;
  --c_link: #19619c;
  --c_blue1: #003084;
  --c_red1: #c90027;
  --c_green1: #4a6d41;
  --c_yellow1: #ffe818;
  --sec_block:6rem;
  --sec_block-l:7rem;
  --sec_block-m:3.4rem;
  --sec_block-s:1.2rem;
}

@font-face {
  font-family: "Local Noto Sans JP";
  src: local("Noto Sans JP"), local("Noto Sans CJK JP Regular");
}
.font_lineseed {
  font-family: "LINE Seed JP";
  font-weight: 700;
  font-style: normal;
}

/* reset
----------------- */
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

body {
  -webkit-font-smoothing: antialiased;
  overflow-y: scroll;
}

section, div {
  position: relative;
}

img, picture, video, canvas, svg {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
  margin-block-end: 1.2rem;
  position: relative;
}

* > :last-child {
  margin-block-end: 0;
}

a {
  word-break: break-all;
}

svg {
  display: inline-block;
  fill: currentColor;
}

/* common
----------------- */
html,
body {
  padding: 0;
  margin: 0;
  background-color: var(--c_white);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 180px;
}

body {
  font-family: "Local Noto Sans JP", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  background: rgb(var(--white));
  color: rgb(var(--c_txt1));
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
  scroll-snap-type: y proximity;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
@media screen and (min-width: 768px) {
  body {
    background-image: url("../images/bg01.jpg");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    background-attachment: fixed;
  }
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  transition: 0.3s;
}
@media (any-hover: hover) {
  a {
    text-decoration: none;
  }
}
a[href^="tel:"] {
  pointer-events: auto;
}
@media screen and (min-width: 980px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

br.spon {
  display: block;
}
@media screen and (min-width: 980px) {
  br.spon {
    display: none;
  }
}
br.spoff {
  display: none;
}
@media screen and (min-width: 980px) {
  br.spoff {
    display: block;
  }
}

.nolist {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* font */
h1, h2, h3, h4, h5, h6 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}

/* container
------------------- */
.container {
  display: flex;
  justify-content: center;
  width: 100%;
}

.wrapper {
  max-width: 100%;
  min-height: 100dvh;
}
@media screen and (min-width: 768px) {
  .wrapper {
    display: flex;
    width: 100%;
    max-width: 1200px; /* 340 + 860 */
  }
}

.sidebar {
  display: none;
}
@media screen and (min-width: 768px) {
  .sidebar {
    width: 340px;
    min-width: 340px;
    height: 100vh;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 40px;
    text-align: center;
  }
}

.main-content {
  max-width: 100%;
  padding-inline: 6vw;
}
@media screen and (min-width: 768px) {
  .main-content {
    padding-inline: 40px;
    flex: 1;
    max-width: 860px;
  }
}

/* sidebar
------------------ */
.side_logo {
  margin-block-end: 4rem;
}

/* main
------------------ */
.main-content {
  background-color: var(--c_white);
}

/* hero
------------------ */
.sec {
  margin-block: var(--sec_block);
}

.sec_title {
  line-height: 1;
  margin-block-end: 0.6rem;
}

.sec_subtitle {
  margin-block: 0.86rem;
  font-size: clamp(1.25rem, 0.641rem + 3.04vw, 2.125rem);
  color: #665146;
}

.sec_caption {
  margin-block: var(--sec_block-s);
}

/* hero
------------------ */
.hero_visual {
  text-align: center;
  margin-inline: -6vw;
}
@media screen and (min-width: 768px) {
  .hero_visual {
    margin-inline: -40px;
  }
}

.hero_text1 {
  text-align: center;
  margin-block: 0.8rem;
}

.hero_text2 {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.hero_line_btn {
  text-align: center;
  margin-block: 2rem;
}

/* yoridocoro
------------------ */
.yoridocoro {
  margin-block: var(--sec_block-m) var(--sec_block);
}

.yoridocoro_logo {
  text-align: center;
  margin-block: var(--sec_block-s);
}

.yoridocoro_caption {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.yoridocoro_image {
  text-align: center;
}

/* schedule_setsumeikai
------------------ */
.schedule_setsumeikai {
  margin-block: var(--sec_block-s) var(--sec_block);
}
.schedule_setsumeikai .schedule_title {
  text-align: center;
}
.schedule_setsumeikai .setsumeikai_area {
  margin-block: 1.2rem;
  container-type: inline-size;
  container-name: schedule;
}
.schedule_setsumeikai .setsumeikai_area .area_title {
  text-align: center;
  color: var(--c_green1);
  margin-block-end: 0.5rem;
}
.schedule_setsumeikai .setsumeikai_area .nittei {
  display: grid;
  gap: 0.8rem;
  text-align: center;
  font-weight: 600;
  color: var(--c_green1);
  font-size: 0.94rem;
  grid-template-columns: repeat(2, 1fr);
}
.schedule_setsumeikai .setsumeikai_area .nittei:not(:has(li:nth-child(2))) {
  width: calc((100% - 0.8rem) / 2);
  margin-inline: auto;
  grid-template-columns: 1fr;
}
@container schedule (min-width: 768px) {
  .schedule_setsumeikai .setsumeikai_area .nittei {
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
  }
  .schedule_setsumeikai .setsumeikai_area .nittei:not(:has(li:nth-child(2))) {
    width: calc((100% - 1.6rem) / 3);
    margin-inline: auto;
    grid-template-columns: 1fr;
  }
  .schedule_setsumeikai .setsumeikai_area .nittei:has(li:nth-child(2)):not(:has(li:nth-child(3))) {
    width: calc((100% - 1.6rem) / 3 * 2 + 0.8rem);
    margin-inline: auto;
    grid-template-columns: repeat(2, 1fr);
  }
}
.schedule_setsumeikai .setsumeikai_area .nittei li {
  line-height: 1.3;
  border-radius: 4lh;
  background-color: #f8f8f8;
  border: 1px solid #c1cebd;
  padding: 0.6em 0.9em;
}
@container schedule (min-width: 768px) {
  .schedule_setsumeikai .setsumeikai_area .nittei li {
    padding: 0.8em 0.9em;
  }
}

/* instructor
------------------ */
.instructor_item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px 20px;
  margin-bottom: 1.94rem;
}
@media screen and (min-width: 768px) {
  .instructor_item {
    grid-template-columns: auto 1fr;
  }
}

.inst_img {
  text-align: center;
}

.inst_text-name {
  font-size: clamp(0.938rem, 0.807rem + 0.65vw, 1.125rem);
  font-weight: 600;
  margin-block-end: 0.6rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .inst_text-name {
    margin-inline: 0;
  }
}

.inst_text-desc {
  font-size: 0.75rem;
}

.instructor_caption2 {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

/* studio
------------------ */
.studio_image {
  text-align: center;
}

/* groupbnr
------------------ */
.groupbnr {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-block: 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .groupbnr {
    gap: 30px;
  }
}
.groupbnr img {
  border: 1px solid var(--c_gray);
}

/* poweredby
------------------ */
.poweredby {
  font-size: 0.9rem;
  background-color: var(--c_bgcolor1);
  margin-inline: -6vw;
  border-top: 1px dotted var(--c_gray);
  border-bottom: 1px dotted var(--c_gray);
  padding-block: var(--sec_block-s);
  padding-inline: 6vw;
}
@media screen and (min-width: 768px) {
  .poweredby {
    margin-inline: -40px;
    padding-inline: 40px;
  }
}
.poweredby p {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

/* yoridocoro_prof
------------------ */
.yoridocoro_prof {
  padding-block: var(--sec_block);
  background-color: var(--c_bgcolor1);
  padding: 1.2rem;
  font-size: 15px;
  border-radius: 18px;
}

.pf_yoridocoro_logo {
  text-align: center;
}

.pf_yoridocoro_title {
  font-size: 1.1em;
  text-align: center;
}

.pf_yoridocoro_basic {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .pf_yoridocoro_basic {
    grid-template-columns: auto 1fr;
  }
}
.pf_yoridocoro_basic dt {
  padding-inline-end: 1.2em;
  padding-block: 0.86em 0.4em;
  border-bottom: 1px solid #e4e4e4;
}
@media screen and (min-width: 768px) {
  .pf_yoridocoro_basic dt {
    padding-block: 0.86em;
  }
}
.pf_yoridocoro_basic dd {
  padding-block: 0.86em;
}
@media screen and (min-width: 768px) {
  .pf_yoridocoro_basic dd {
    border-bottom: 1px solid #e4e4e4;
  }
}
.pf_yoridocoro_basic span {
  display: inline-block;
}

/* footer
------------------ */
.copyright {
  padding-block: 3rem 1rem;
  text-align: center;
  font-size: 10px;
}/*# sourceMappingURL=style.css.map */