@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  height: 100%;
}

body {
  margin: 0;
  height: 100%;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[type=button],
[type=reset],
[type=submit],
button {
  -webkit-appearance: button;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

* {
  box-sizing: border-box;
  margin: 0;
}

html {
  margin: 0;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #3e1803;
  background: #EFEDEC;
}

a:link,
a:visited,
a:hover,
a:active {
  transition: all 0.3s;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

.fit img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ========================================================== */
/* SP用スタイル */
/* ========================================================== */
@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
  body {
    background: url(../img/bg_body.png);
    background-size: 5.3333333333vw;
  }
  .header {
    background: #000000;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
  }
  .header--inner {
    height: 13.3333333333vw;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 5.3333333333vw;
  }
  .header--logo {
    width: 15.0666666667vw;
    height: 7.7333333333vw;
  }
  .header--nav__sp {
    display: none;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 13.3333333333vw;
    left: 0;
    background: #fdeed2;
    padding-top: 13.3333333333vw;
  }
  .header--nav__ul {
    text-align: center;
  }
  .header--nav__ul li {
    margin-bottom: 10.6666666667vw;
  }
  .header--nav__list {
    color: #000000;
    font-size: 6.1333333333vw;
    font-weight: bold;
  }
  .header--nav__btn {
    width: 50.9333333333vw;
    height: 14.1333333333vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #000000;
    background: #ffffff;
    border-radius: 8vw;
    box-sizing: border-box;
    font-size: 4.8vw;
    text-align: center;
    color: #000000;
    margin: 0 auto;
    font-weight: bold;
  }
  .header .menu-open {
    height: 3.6vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .header .menu-open span {
    display: block;
    width: 4.8vw;
    height: 1px;
    background: #ffffff;
    transition: 0.3s;
  }
  .header .menu-open.open {
    display: block;
    height: 3.6vw;
  }
  .header .menu-open.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }
  .header .menu-open.open span:nth-child(2) {
    opacity: 0;
  }
  .header .menu-open.open span:nth-child(3) {
    transform: rotate(-45deg) translate(-3.2px, 3.8px);
  }
  .kv--ttl {
    margin: 16vw auto 10.6666666667vw;
    width: 80vw;
    transform: translateX(-1.3333333333vw);
  }
  .kv--ttl2 {
    width: 31.6vw;
    margin: 0 auto 4vw auto;
  }
  .kv--kikan {
    margin: 0 auto 10.6666666667vw auto;
    width: 68.2666666667vw;
  }
  .kv--read {
    padding: 6.6666666667vw 0;
    background: url(../img/bg_read.svg) no-repeat 50% 50% #fff0a0;
    background-size: 90%;
    position: relative;
    margin-bottom: 13.3333333333vw;
  }
  .kv--read::before {
    content: "";
    width: 100%;
    height: 4.6666666667vw;
    display: block;
    background: url(../img/bg_read_repeat.svg);
    background-size: auto 100%;
    position: absolute;
    top: -2.3333333333vw;
  }
  .kv--read::after {
    content: "";
    width: 100%;
    height: 4.6666666667vw;
    display: block;
    background: url(../img/bg_read_repeat.svg);
    background-size: auto 100%;
    position: absolute;
    bottom: -2.3333333333vw;
  }
  .kv--read p {
    width: 68.5333333333vw;
    margin: 0 auto;
  }
  .outline {
    background: #ffe68c;
    position: relative;
    padding: 5.3333333333vw 0;
  }
  .outline::before {
    content: "";
    width: 100%;
    height: 8.2666666667vw;
    display: block;
    background: url(../img/bg_wave01_top.png);
    background-size: auto 100%;
    position: absolute;
    top: -8.2666666667vw;
  }
  .outline::after {
    content: "";
    width: 100%;
    height: 8.2666666667vw;
    display: block;
    background: url(../img/bg_wave01_bottom.png);
    background-size: auto 100%;
    position: absolute;
    bottom: -8.2666666667vw;
  }
  .outline--text {
    font-size: 4.6666666667vw;
    line-height: 9.3333333333vw;
    font-weight: 700;
    text-align: center;
    margin-bottom: 4vw;
  }
  .outline--charactor {
    width: 85.0666666667vw;
    margin: 0 auto;
  }
  .what {
    margin: 20vw 0 0 0;
  }
  .what--btn {
    width: 86.6666666667vw;
    margin: 0 auto;
    display: block;
    background: none;
    border: none;
    cursor: pointer;
  }
  .theme {
    padding: 20vw 0 0 0;
  }
  .theme--ttl {
    width: 86.6666666667vw;
    margin: 0 auto 5.3333333333vw auto;
  }
  .theme--bumon {
    border: 1.3333333333vw solid;
    background: #ffffff;
    border-radius: 1.3333333333vw;
    width: 86.6666666667vw;
    margin: 0 auto;
  }
  .theme--bumon.shogaku {
    border-color: #107d4e;
    margin-bottom: 21.3333333333vw;
  }
  .theme--bumon.shogaku .theme--bumon__ttl img {
    width: 25.7333333333vw;
    display: block;
    margin: auto;
  }
  .theme--bumon.shogaku .color,
  .theme--bumon.shogaku .theme--bumon__body-ttl {
    color: #107d4e;
  }
  .theme--bumon.shogaku .color::before, .theme--bumon.shogaku .color::after,
  .theme--bumon.shogaku .theme--bumon__body-ttl::before,
  .theme--bumon.shogaku .theme--bumon__body-ttl::after {
    background: #107d4e;
  }
  .theme--bumon.shogaku .theme--bumon__img {
    width: 74.9333333333vw;
    transform: translateX(2vw);
  }
  .theme--bumon.chuko {
    border-color: #1e67b3;
    margin-bottom: 10.6666666667vw;
  }
  .theme--bumon.chuko .theme--bumon__ttl {
    background: #1e67b3;
  }
  .theme--bumon.chuko .theme--bumon__ttl img {
    width: 38vw;
    display: block;
    margin: auto;
  }
  .theme--bumon.chuko .color,
  .theme--bumon.chuko .theme--bumon__body-ttl {
    color: #1e67b3;
  }
  .theme--bumon.chuko .color::before, .theme--bumon.chuko .color::after,
  .theme--bumon.chuko .theme--bumon__body-ttl::before,
  .theme--bumon.chuko .theme--bumon__body-ttl::after {
    background: #1e67b3;
  }
  .theme--bumon.chuko .theme--bumon__img {
    width: 70.4vw;
  }
  .theme--bumon__ttl {
    background: #107d4e;
    padding: 1.3333333333vw 0;
  }
  .theme--bumon__body {
    text-align: center;
    padding-bottom: 6.6666666667vw;
  }
  .theme--bumon__body p {
    font-size: 4.6666666667vw;
    font-weight: 700;
    line-height: 6.6666666667vw;
    margin: 6.6666666667vw 0;
  }
  .theme--bumon__body p span {
    font-weight: 900;
  }
  .theme--bumon__body-ttl {
    font-size: 6.6666666667vw;
    font-weight: 900;
    text-align: center;
    position: relative;
    margin: 0 0 9.3333333333vw 0;
  }
  .theme--bumon__body-ttl::before {
    content: "";
    width: 11.7333333333vw;
    height: 0.5333333333vw;
    border-radius: 2px;
    display: block;
    position: absolute;
    top: 4vw;
    left: 6.6666666667vw;
  }
  .theme--bumon__body-ttl::after {
    content: "";
    width: 11.7333333333vw;
    height: 0.5333333333vw;
    border-radius: 2px;
    display: block;
    position: absolute;
    top: 4vw;
    right: 6.6666666667vw;
  }
  .theme--bumon__img {
    margin: 0 auto;
  }
  .theme--charactor {
    width: 48.8vw;
    margin: 0 auto 10.6666666667vw auto;
  }
  .theme--btn {
    width: 89.7333333333vw;
    margin: 0 auto 13.3333333333vw auto;
    display: block;
    background: none;
    padding: 0;
    border: none;
    cursor: pointer;
  }
  .sinsa {
    background: #ffe68c;
    position: relative;
    padding: 8vw 0;
  }
  .sinsa::before {
    content: "";
    width: 100%;
    height: 2.6666666667vw;
    display: block;
    background: url(../img/bg_wave02_top.png);
    background-size: auto 100%;
    position: absolute;
    top: -2.6666666667vw;
  }
  .sinsa::after {
    content: "";
    width: 100%;
    height: 2.6666666667vw;
    display: block;
    background: url(../img/bg_wave02_bottom.png);
    background-size: auto 100%;
    position: absolute;
    bottom: -2.6666666667vw;
  }
  .sinsa--ttl {
    width: 57.3333333333vw;
    margin: 0 auto 8.8vw auto;
  }
  .sinsa--box {
    width: 86.6666666667vw;
    margin: 0 auto;
  }
  .sinsa--box.shogaku {
    margin-bottom: 10.6666666667vw;
  }
  .sinsa--box.shogaku .sinsa--box__ttl {
    background: #107d4e;
  }
  .sinsa--box.shogaku .sinsa--box__ttl img {
    width: 25.7333333333vw;
    margin: auto;
    display: block;
  }
  .sinsa--box.chuko .sinsa--box__ttl {
    background: #1e67b3;
  }
  .sinsa--box.chuko .sinsa--box__ttl img {
    width: 37.8666666667vw;
    margin: auto;
    display: block;
  }
  .sinsa--box__ttl {
    padding: 1.3333333333vw;
    margin-bottom: 4vw;
  }
  .sinsa--box__list {
    font-size: 4vw;
    line-height: 6.6666666667vw;
    letter-spacing: 0.07em;
    font-weight: 700;
  }
  .sinsa--box__list li {
    padding-left: 1em;
    text-indent: -1em;
  }
  .entry {
    padding: 10.6666666667vw 0 0 0;
  }
  .entry--ttl {
    width: 86.6666666667vw;
    margin: 0 auto 8vw auto;
  }
  .entry .tab-nav {
    display: flex;
    justify-content: space-between;
    width: 86.6666666667vw;
    margin: 0 auto 8vw auto;
  }
  .entry .tab-nav li {
    width: 40vw;
    height: 20vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    border-radius: 4vw;
    cursor: pointer;
    text-indent: -9999999px;
  }
  .entry .tab-nav li.shogaku {
    background: url(../img/ttl_theme_shogaku_sp_on.svg) no-repeat 50% 50% #ffffff;
    background-size: 31.4666666667vw;
  }
  .entry .tab-nav li.shogaku.active {
    background: url(../img/ttl_theme_shogaku_sp_off.svg) no-repeat 50% 50% #107d4e;
    background-size: 31.4666666667vw;
  }
  .entry .tab-nav li.chuko {
    background: url(../img/ttl_theme_chuko_sp_on.svg) no-repeat 50% 50% #ffffff;
    background-size: 33.2vw;
  }
  .entry .tab-nav li.chuko.active {
    background: url(../img/ttl_theme_chuko_sp_off.svg) no-repeat 50% 50% #1e67b3;
    background-size: 33.2vw;
  }
  .entry .tab-content {
    display: none;
    padding: 6.6666666667vw 2.6666666667vw;
    border-radius: 10px;
    width: 86.6666666667vw;
    margin: 0 auto;
    background: #ffffff;
  }
  .entry .tab-content.shogaku {
    border: 1.3333333333vw solid #107d4e;
  }
  .entry .tab-content.shogaku .color,
  .entry .tab-content.shogaku h3 {
    color: #107d4e;
  }
  .entry .tab-content.shogaku .privacy {
    background: #107d4e;
  }
  .entry .tab-content.chuko {
    border: 1.3333333333vw solid #1e67b3;
  }
  .entry .tab-content.chuko .color,
  .entry .tab-content.chuko h3 {
    color: #1e67b3;
  }
  .entry .tab-content.chuko .privacy {
    background: #1e67b3;
  }
  .entry .tab-content.active {
    display: block;
  }
  .entry h3 {
    font-weight: 900;
    font-size: 4.6666666667vw;
    letter-spacing: 0.07em;
    margin: 0 0 4vw 0;
  }
  .entry p {
    font-size: 4vw;
    font-weight: 700;
    letter-spacing: 0.07em;
    line-height: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  .entry p small {
    font-size: 2.6666666667vw;
    display: inline-block;
    line-height: 4vw;
    padding-left: 1em;
    text-indent: -1em;
  }
  .entry a {
    text-decoration: underline;
    color: #3e1803;
  }
  .entry .btn {
    display: block;
    margin: 8vw auto;
    border-radius: 4vw;
    box-shadow: 0 5px 2px rgba(85, 53, 0, 0.35);
  }
  .entry .privacy {
    height: 15.3333333333vw;
    border-radius: 4.2666666667vw;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    font-weight: 700;
    font-size: 4vw;
    margin-top: 10.6666666667vw;
    text-decoration: none;
  }
  .schedule {
    padding: 21.3333333333vw 0 0 0;
    margin: 0 0 21.3333333333vw 0;
  }
  .schedule--ttl {
    width: 86.6666666667vw;
    margin: 0 auto 8vw auto;
  }
  .schedule--body {
    width: 86.6666666667vw;
    margin: 0 auto;
    background: #ffffff;
    border: 1.3333333333vw solid #3e1803;
    border-radius: 1.3333333333vw;
    padding: 9.3333333333vw 4vw;
  }
  .schedule--table {
    width: 100%;
  }
  .schedule--table th {
    display: block;
    color: #f77b1e;
    font-size: 8.6666666667vw;
    font-weight: 900;
    letter-spacing: 0.03em;
    text-align: center;
    margin-bottom: 4vw;
  }
  .schedule--table th div {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 1.3333333333vw;
  }
  .schedule--table th div img {
    width: 9.3333333333vw;
  }
  .schedule--table td {
    display: block;
    font-size: 4.6666666667vw;
    letter-spacing: 0.07em;
    font-weight: 700;
    text-align: center;
  }
  .schedule--table .arrow img {
    margin: 4vw auto;
    width: 9.3333333333vw;
  }
  .schedule--table__inner th {
    text-align: center;
    font-weight: 700;
    font-size: 3.3333333333vw;
    color: #f77b1e;
    border-bottom: 2px solid #f77b1e;
    margin-bottom: 0;
  }
  .schedule--table__inner td {
    text-align: center;
    font-size: 3.3333333333vw;
    padding-left: 0;
    font-weight: 700;
    margin-bottom: 2.6666666667vw;
  }
  .schedule--table__inner tr:last-child td {
    margin-bottom: 0;
  }
  .contact {
    background: #ffe68c;
    position: relative;
    padding: 10.6666666667vw 0;
  }
  .contact::before {
    content: "";
    width: 100%;
    height: 8.2666666667vw;
    display: block;
    background: url(../img/bg_wave01_top.png);
    background-size: auto 100%;
    position: absolute;
    top: -8.2666666667vw;
  }
  .contact--inner {
    width: 86.6666666667vw;
    margin: 0 auto;
  }
  .contact--ttl {
    font-size: 4vw;
    letter-spacing: 0.07em;
    margin-bottom: 3.3333333333vw;
    color: #f77b1e;
  }
  .contact--text {
    font-size: 3.3333333333vw;
    font-weight: 700;
    line-height: 5.3333333333vw;
  }
  .contact--text span {
    padding-left: 1em;
    text-indent: -1em;
    display: block;
  }
  .contact--text a {
    text-decoration: underline;
    color: #3e1803;
  }
  .footer {
    background: #505050;
    padding: 10vw 0;
  }
  .footer--inner {
    width: 86.6666666667vw;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 4vw 0;
  }
  .footer--address {
    order: 3;
    font-size: 3.2vw;
    line-height: 6.9333333333vw;
    color: #ffffff;
  }
  .footer--nav {
    order: 1;
    line-height: 10.6666666667vw;
  }
  .footer--nav a {
    color: #ffffff;
    font-size: 3.7333333333vw;
  }
  .footer--logo {
    order: 2;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .footer--logo .tokyo {
    width: 23.6vw;
  }
  .footer--logo .zaidan {
    width: 12.4vw;
  }
  .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }
  .modal-box {
    position: relative;
    background: #f7aa1e;
    border: 1.3333333333vw solid #3e1803;
    border-radius: 1.3333333333vw;
    padding: 2.6666666667vw;
    width: 90%;
    transform: scale(0.8);
    opacity: 0;
  }
  .modal-close {
    width: 8.8vw;
    height: 8.8vw;
    position: absolute;
    top: -4vw;
    right: -4vw;
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0;
    margin: 0;
  }
  .modal-content {
    height: 80vh;
    overflow-y: scroll;
  }
  .m-edohaku--inner {
    background: url(../img/bg_modal01_sp.png) no-repeat;
    background-size: 100% 100%;
    padding: 5.3333333333vw 6.6666666667vw 6.6666666667vw 5.3333333333vw;
  }
  .m-edohaku--ttl {
    background: #3e1803;
    padding: 10px;
    margin-bottom: 30px;
  }
  .m-edohaku--ttl img {
    width: 44.9333333333vw;
    margin: 0 auto;
  }
  .m-edohaku--text {
    font-size: 2.5333333333vw;
    line-height: 4.6666666667vw;
    font-weight: 700;
    margin-bottom: 4vw;
  }
  .m-edohaku--image figure:first-child {
    margin-bottom: 4vw;
  }
}
/* ========================================================== */
/* PC用スタイル */
/* ========================================================== */
@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
  body {
    min-width: 1300px;
    background: url(../img/bg_body.png);
    background-size: 41px;
  }
  .header {
    background: #000000;
    background: #000000;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 100;
  }
  .header--inner {
    min-width: 1200px;
    width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
  }
  .header--nav__ul {
    display: flex;
    align-items: center;
    gap: 0 20px;
  }
  .header--nav__list {
    color: #ffffff;
    font-size: 12px;
  }
  .header--nav__btn {
    width: 110px;
    height: 26px;
    display: block;
    border: 2px solid #ffffff;
    border-radius: 15px;
    box-sizing: border-box;
    font-size: 12px;
    line-height: 22px;
    text-align: center;
    color: #ffffff;
  }
  .header .menu-open {
    display: none !important;
  }
  .kv {
    padding-top: 90px;
  }
  .kv--ttl {
    width: 1200px;
    margin: 60px auto;
  }
  .kv--ttl2 {
    width: 237px;
    margin: 77px auto 18px auto;
  }
  .kv--kikan {
    width: 1146px;
    margin: 0 auto 100px auto;
  }
  .kv--read {
    padding: 45px 0 50px 0;
    background: url(../img/bg_read.svg) no-repeat 50% 50% #fff0a0;
    background-size: 1241px;
    position: relative;
    margin-bottom: 110px;
  }
  .kv--read::before {
    content: "";
    width: 100%;
    height: 35px;
    display: block;
    background: url(../img/bg_read_repeat.svg);
    background-size: auto 100%;
    position: absolute;
    top: -17.5px;
  }
  .kv--read::after {
    content: "";
    width: 100%;
    height: 35px;
    display: block;
    background: url(../img/bg_read_repeat.svg);
    background-size: auto 100%;
    position: absolute;
    bottom: -17.5px;
  }
  .kv--read p {
    width: 727px;
    margin: 0 auto;
  }
  .outline {
    background: #ffe68c;
    position: relative;
    padding: 80px 0 60px 0;
  }
  .outline::before {
    content: "";
    width: 100%;
    height: 62px;
    display: block;
    background: url(../img/bg_wave01_top.png);
    background-size: auto 100%;
    position: absolute;
    top: -62px;
  }
  .outline::after {
    content: "";
    width: 100%;
    height: 62px;
    display: block;
    background: url(../img/bg_wave01_bottom.png);
    background-size: auto 100%;
    position: absolute;
    bottom: -62px;
  }
  .outline--text {
    font-size: 35px;
    line-height: 70px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-align: center;
  }
  .outline--charactor {
    width: 968px;
    margin: 0 auto;
  }
  .what {
    margin: 150px 0 0 0;
  }
  .what--btn {
    width: 920px;
    margin: 0 auto;
    display: block;
    background: none;
    border: none;
    cursor: pointer;
  }
  .theme {
    padding: 170px 0 0 0;
  }
  .theme--ttl {
    width: 765px;
    margin: 0 auto 85px auto;
  }
  .theme--bumon {
    border: 10px solid;
    background: #ffffff;
    border-radius: 10px;
    width: 1260px;
    margin: 0 auto;
  }
  .theme--bumon.shogaku {
    border-color: #107d4e;
    margin-bottom: 160px;
  }
  .theme--bumon.shogaku .theme--bumon__ttl img {
    width: 193px;
    display: block;
    margin: auto;
  }
  .theme--bumon.shogaku .color,
  .theme--bumon.shogaku .theme--bumon__body-ttl {
    color: #107d4e;
  }
  .theme--bumon.shogaku .color::before, .theme--bumon.shogaku .color::after,
  .theme--bumon.shogaku .theme--bumon__body-ttl::before,
  .theme--bumon.shogaku .theme--bumon__body-ttl::after {
    background: #107d4e;
  }
  .theme--bumon.shogaku .theme--bumon__img {
    width: 1161px;
    transform: translateX(10px);
  }
  .theme--bumon.chuko {
    border-color: #1e67b3;
    margin-bottom: 160px;
  }
  .theme--bumon.chuko .theme--bumon__ttl {
    background: #1e67b3;
  }
  .theme--bumon.chuko .theme--bumon__ttl img {
    width: 285px;
    display: block;
    margin: auto;
  }
  .theme--bumon.chuko .color,
  .theme--bumon.chuko .theme--bumon__body-ttl {
    color: #1e67b3;
  }
  .theme--bumon.chuko .color::before, .theme--bumon.chuko .color::after,
  .theme--bumon.chuko .theme--bumon__body-ttl::before,
  .theme--bumon.chuko .theme--bumon__body-ttl::after {
    background: #1e67b3;
  }
  .theme--bumon.chuko .theme--bumon__img {
    width: 1176px;
    transform: translateX(20px);
  }
  .theme--bumon__ttl {
    background: #107d4e;
    padding: 5px 0 10px 0;
  }
  .theme--bumon__body {
    text-align: center;
    padding-bottom: 50px;
  }
  .theme--bumon__body p {
    font-size: 35px;
    font-weight: 700;
    line-height: 50px;
    letter-spacing: 0.07em;
    margin: 50px 0;
  }
  .theme--bumon__body p span {
    font-weight: 900;
  }
  .theme--bumon__body-ttl {
    font-size: 50px;
    font-weight: 900;
    text-align: center;
    position: relative;
    margin: 0 0 70px 0;
  }
  .theme--bumon__body-ttl::before {
    content: "";
    width: 384px;
    height: 4px;
    border-radius: 2px;
    display: block;
    position: absolute;
    top: 30px;
    left: 50px;
  }
  .theme--bumon__body-ttl::after {
    content: "";
    width: 384px;
    height: 4px;
    border-radius: 2px;
    display: block;
    position: absolute;
    top: 30px;
    right: 50px;
  }
  .theme--bumon__img {
    margin: 0 auto;
  }
  .theme--charactor {
    width: 706px;
    margin: 0 auto 140px auto;
  }
  .theme--btn {
    width: 1036px;
    margin: 0 auto 150px auto;
    display: block;
    background: none;
    padding: 0;
    border: none;
    cursor: pointer;
  }
  .sinsa {
    background: #ffe68c;
    position: relative;
    padding: 80px 0 60px 0;
  }
  .sinsa::before {
    content: "";
    width: 100%;
    height: 20px;
    display: block;
    background: url(../img/bg_wave02_top.png);
    background-size: auto 100%;
    position: absolute;
    top: -20px;
  }
  .sinsa::after {
    content: "";
    width: 100%;
    height: 20px;
    display: block;
    background: url(../img/bg_wave02_bottom.png);
    background-size: auto 100%;
    position: absolute;
    bottom: -20px;
  }
  .sinsa--ttl {
    width: 430px;
    margin: 0 auto 66px auto;
  }
  .sinsa--box {
    width: 938px;
    margin: 0 auto;
  }
  .sinsa--box.shogaku {
    margin-bottom: 80px;
  }
  .sinsa--box.shogaku .sinsa--box__ttl {
    background: #107d4e;
  }
  .sinsa--box.shogaku .sinsa--box__ttl img {
    width: 193px;
    margin: auto;
    display: block;
  }
  .sinsa--box.chuko .sinsa--box__ttl {
    background: #1e67b3;
  }
  .sinsa--box.chuko .sinsa--box__ttl img {
    width: 284px;
    margin: auto;
    display: block;
  }
  .sinsa--box__ttl {
    padding: 10px;
    margin-bottom: 30px;
  }
  .sinsa--box__list {
    font-size: 30px;
    line-height: 50px;
    letter-spacing: 0.07em;
    font-weight: 700;
  }
  .entry {
    padding: 160px 0 0 0;
  }
  .entry--ttl {
    width: 740px;
    margin: 0 auto 60px auto;
  }
  .entry .tab-nav {
    display: flex;
    justify-content: space-between;
    width: 1260px;
    margin: 0 auto 60px auto;
  }
  .entry .tab-nav li {
    width: 570px;
    height: 103px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    border-radius: 30px;
    cursor: pointer;
    text-indent: -9999999px;
  }
  .entry .tab-nav li.shogaku {
    background: url(../img/ttl_theme_shogaku_on.svg) no-repeat 50% 50% #ffffff;
    background-size: 236px;
  }
  .entry .tab-nav li.shogaku.active {
    background: url(../img/ttl_theme_shogaku_off.svg) no-repeat 50% 50% #107d4e;
    background-size: 236px;
  }
  .entry .tab-nav li.chuko {
    background: url(../img/ttl_theme_chuko_on.svg) no-repeat 50% 50% #ffffff;
    background-size: 348px;
  }
  .entry .tab-nav li.chuko.active {
    background: url(../img/ttl_theme_chuko_off.svg) no-repeat 50% 50% #1e67b3;
    background-size: 348px;
  }
  .entry .tab-content {
    display: none;
    padding: 70px 100px;
    border-radius: 10px;
    width: 1260px;
    margin: 0 auto;
    background: #ffffff;
  }
  .entry .tab-content.shogaku {
    border: 10px solid #107d4e;
  }
  .entry .tab-content.shogaku .color,
  .entry .tab-content.shogaku h3 {
    color: #107d4e;
  }
  .entry .tab-content.shogaku .privacy {
    background: #107d4e;
  }
  .entry .tab-content.chuko {
    border: 10px solid #1e67b3;
  }
  .entry .tab-content.chuko .color,
  .entry .tab-content.chuko h3 {
    color: #1e67b3;
  }
  .entry .tab-content.chuko .privacy {
    background: #1e67b3;
  }
  .entry .tab-content.active {
    display: block;
  }
  .entry h3 {
    font-weight: 900;
    font-size: 35px;
    letter-spacing: 0.07em;
    margin: 0 0 30px 0;
  }
  .entry p {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.07em;
    line-height: 40px;
    margin-bottom: 40px;
  }
  .entry p small {
    font-size: 20px;
  }
  .entry a {
    text-decoration: underline;
    color: #3e1803;
  }
  .entry .btn {
    width: 960px;
    display: block;
    margin: 60px auto;
    border-radius: 30px;
    box-shadow: 0 5px 2px rgba(85, 53, 0, 0.35);
  }
  .entry .privacy {
    width: 1035px;
    height: 63px;
    border-radius: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    font-weight: 700;
    font-size: 35px;
    margin-top: 140px;
    text-decoration: none;
  }
  .schedule {
    padding: 160px 0 0 0;
    margin: 0 0 160px 0;
  }
  .schedule--ttl {
    width: 740px;
    margin: 0 auto 60px auto;
  }
  .schedule--body {
    width: 1260px;
    margin: 0 auto;
    background: #ffffff;
    border: 10px solid #3e1803;
    border-radius: 10px;
    padding: 70px;
    white-space: nowrap;
  }
  .schedule--table {
    width: 100%;
  }
  .schedule--table th {
    color: #f77b1e;
    font-size: 65px;
    font-weight: 900;
    letter-spacing: 0.03em;
    text-align: left;
  }
  .schedule--table th div {
    display: flex;
    align-items: center;
    gap: 0 10px;
  }
  .schedule--table td {
    font-size: 35px;
    letter-spacing: 0.07em;
    padding-left: 55px;
    font-weight: 700;
  }
  .schedule--table .arrow img {
    margin: 30px auto;
  }
  .schedule--table__inner {
    font-weight: 700;
  }
  .schedule--table__inner th {
    text-align: right;
    font-size: 25px;
    color: #3e1803;
  }
  .schedule--table__inner td {
    font-size: 25px;
    padding-left: 0;
  }
  .contact {
    background: #ffe68c;
    position: relative;
    padding: 80px 0 60px 0;
  }
  .contact::before {
    content: "";
    width: 100%;
    height: 62px;
    display: block;
    background: url(../img/bg_wave01_top.png);
    background-size: auto 100%;
    position: absolute;
    top: -62px;
  }
  .contact--inner {
    width: 1000px;
    margin: 0 auto;
  }
  .contact--ttl {
    font-size: 30px;
    letter-spacing: 0.07em;
    margin-bottom: 25px;
    color: #f77b1e;
  }
  .contact--text {
    font-size: 25px;
    font-weight: 700;
    line-height: 40px;
  }
  .contact--text span {
    padding-left: 1em;
    text-indent: -1em;
    display: block;
  }
  .contact--text a {
    text-decoration: underline;
    color: #3e1803;
  }
  .footer {
    background: #505050;
    padding: 75px 0;
  }
  .footer--inner {
    width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto auto;
    gap: 50px 75px;
  }
  .footer--address {
    font-size: 12px;
    line-height: 34px;
    color: #ffffff;
  }
  .footer--nav {
    display: flex;
    gap: 0 30px;
    line-height: 34px;
  }
  .footer--nav a {
    color: #ffffff;
    font-size: 12px;
  }
  .footer--logo {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .footer--logo .tokyo {
    width: 137px;
  }
  .footer--logo .zaidan {
    width: 80px;
  }
  .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }
  .modal-box {
    position: relative;
    background: #f7aa1e;
    border: 10px solid #3e1803;
    border-radius: 10px;
    padding: 70px;
    max-width: 1200px;
    width: 90%;
    transform: scale(0.8);
    opacity: 0;
  }
  .modal-close {
    width: 70px;
    height: 70px;
    position: absolute;
    top: -40px;
    right: -40px;
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0;
    margin: 0;
  }
  .m-edohaku--inner {
    background: url(../img/bg_modal01.png) no-repeat;
    background-size: 100% 100%;
    padding: 70px;
  }
  .m-edohaku--ttl {
    background: #3e1803;
    padding: 10px;
    margin-bottom: 30px;
  }
  .m-edohaku--ttl img {
    width: 337px;
    margin: 0 auto;
  }
  .m-edohaku--text {
    font-size: 19px;
    line-height: 40px;
    font-weight: 700;
    margin-bottom: 30px;
  }
  .m-edohaku--image {
    display: flex;
    justify-content: center;
    gap: 30px;
  }
  .m-edohaku--image figure:first-child {
    width: 296px;
  }
  .m-edohaku--image figure:last-child {
    width: 270px;
  }
}/*# sourceMappingURL=style.css.map */