@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
.school02 {
  color: #012c44;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  box-sizing: border-box;
}

.school02 * {
  box-sizing: border-box;
}

.school02 .c-btnCv {
  background-image: url(/common/img/school02/bg-btn-cv.png);
  background-size: 100%;
  width: 650px;
  height: 134px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin: auto;
  font-family: "Noto Serif JP", serif;
}

.school02 .c-btnCv img {
  width: 40px;
  margin: 4px 10px 0 0;
}

.school02 .c-btnCv > span {
  font-size: 38px;
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.75);
  font-weight: 700;
}

.school02 .c-btnCv > span span {
  font-size: 72%;
}

.school02 .c-btnCv--header {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  background-color: #9d241b;
  width: auto;
  height: auto;
  background-image: initial;
  margin: initial;
}

.school02 .c-btnCv--header > span {
  display: block;
  font-size: 22px;
  font-weight: 500;
}

.school02 .c-btnCv--header > span:nth-of-type(1) {
  display: flex;
  align-items: center;
  width: 20px;
  margin-right: 10px;
}

.school02 .c-btnCv--header > span:nth-of-type(1) img {
  width: initial;
  margin: initial;
}

.school02 .c-btnCv--header > span:nth-of-type(2) {
  margin-top: -3px;
}

.school02 .c-btnCv--case {
  width: auto;
  height: auto;
  background-image: initial;
  background-color: #012c44;
  border-radius: 1000px;
  box-shadow: 0px 0px 15px -5px #777777;
  padding: 8px 10px 11px;
  max-width: 220px;
  margin: auto;
}

.school02 .c-btnCv--case img {
  width: 13px;
  margin: 3px 6px 0 0;
}

.school02 .c-btnCv--case > span {
  font-size: 16px;
  font-weight: 500;
}

.school02 .c-btnCv--voice {
  background-image: initial;
  background-color: #fff;
  border-radius: 1000px;
  box-shadow: 0px 0px 15px -5px #777777;
  color: #012c44;
  width: auto;
  height: auto;
  padding: 25px 30px 30px;
  max-width: 620px;
}

.school02 .c-btnCv--voice img {
  width: 48px;
  margin: 3px 0 0 0;
}

.school02 .c-btnCv--voice > span {
  text-shadow: initial;
  font-weight: 500;
  font-size: 33px;
}

.school02 .c-secTtl {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 40px;
}

.school02 .c-secTtl .c-secTtl-en {
  font-size: 100px;
  font-weight: 600;
}

.school02 .c-secTtl .c-secTtl-en span {
  display: inline-block;
  letter-spacing: -6px;
  color: #dde0e2;
}

.school02 .c-secTtl .c-secTtl-en span:nth-of-type(2n) {
  color: #dde8f0;
}

.school02 .c-secTtl .c-secTtl-ja {
  font-size: 40px;
  font-weight: 700;
}

.school02 .c-secTtl .c-secTtl-ja span {
  color: #9d241b;
  font-size: 150%;
}

.school02 .c-secTtl--v2 .c-secTtl-en {
  font-size: 50px;
}

.school02 .c-secTtl--v2 .c-secTtl-en span {
  color: #9d241b;
  font-size: 150%;
}

.school02 .c-secTtlYWrap {
  text-align: center;
  margin-bottom: 50px;
}

.school02 .c-secTtlY {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  color: #012c44;
  font-size: 40px;
  position: relative;
  padding: 0 65px;
  font-weight: 700;
  display: inline-block;
}

.school02 .c-secTtlY::before, .school02 .c-secTtlY::after {
  position: absolute;
  top: 20px;
}

.school02 .c-secTtlY::before {
  content: '＼';
  left: 0;
}

.school02 .c-secTtlY::after {
  content: '／';
  right: 0;
}

.school02 .c-secTtlY .red {
  font-size: 140%;
}

.school02 .c-secTtlY--v2 {
  padding: 0 150px 20px;
}

.school02 .c-secTtlY--v2::before, .school02 .c-secTtlY--v2::after {
  font-size: 250%;
  top: initial;
  bottom: 0;
}

.school02 .c-block1 {
  max-width: 894px;
  margin: auto;
}

.school02 .c-block1 + .c-block1 {
  margin-top: 50px;
}

.school02 .c-block1 .c-block1-ttl {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  background-color: #012c44;
  padding: 25px 20px;
}

.school02 .c-block1 .c-block1-ttl p:nth-of-type(1) {
  font-size: 40px;
}

.school02 .c-block1 .c-block1-ttl p:nth-of-type(2) {
  font-size: 35px;
  font-style: italic;
}

.school02 .c-block1 .c-block1-cnt {
  display: flex;
  padding: 20px;
  border: 3px solid #012c44;
  border-top: none;
  background-color: #fff;
}

.school02 .c-block1 .c-block1-left {
  width: calc(100% - 400px);
  padding-right: 20px;
}

.school02 .c-block1 .c-block1-right {
  width: 400px;
}

.school02 .c-block1 .c-block1-right-txt {
  font-size: 18px;
  line-height: 2;
  margin-bottom: 20px;
}

.school02 .c-block1 .c-block1-right-table {
  border: 3px solid #012c44;
}

.school02 .c-block1 .c-block1-right-table tr {
  border-top: 1px solid #012c44;
}

.school02 .c-block1 .c-block1-right-table tr th, .school02 .c-block1 .c-block1-right-table tr td {
  padding: 3px 20px;
}

.school02 .c-block1 .c-block1-right-table tr th {
  background-color: #dde8f0;
  text-align: center;
}

.school02 .c-hexagon {
  display: inline-block;
  background-color: #ffeb00;
  padding: 8px 65px;
  text-align: center;
  clip-path: polygon(10% 0%, 90% 0%, 100% 50%, 90% 100%, 10% 100%, 0% 50%);
}

.school02 .c-hexagon--gray {
  background-color: #D9D9D9;
}

.school02 .c-inlineB {
  display: inline-block;
}

.school02 a {
  cursor: pointer;
}

.school02 .red {
  color: #9d241b;
}

.school02 .italic {
  font-style: italic;
}

.school02 header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  background-color: #fff;
  padding: 10px 15px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.school02 header .menu {
  display: none;
  position: relative;
  width: 40px;
  height: 30px;
  cursor: pointer;
}

.school02 header .menu span {
  position: absolute;
  width: 40px;
  height: 1px;
  background-color: #012c44;
}

.school02 header .menu span:nth-of-type(1) {
  top: 0;
}

.school02 header .menu span:nth-of-type(2) {
  top: 50%;
}

.school02 header .menu span:nth-of-type(3) {
  top: 100%;
}

.school02 header h1 {
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
}

.school02 header h1 img {
  width: 190px;
}

.school02 .sec-inner {
  padding: 120px 20px;
}

.school02 .sec--mv {
  font-family: "Noto Serif JP", serif;
  color: #fff;
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.75);
  background-image: url(/common/img/school02/bg-mv.jpg);
  background-size: auto 800px;
  background-position: center;
  background-repeat: no-repeat;
  width: 100vw;
  height: 800px;
  margin-top: 70px;
  position: relative;
}

.school02 .sec--mv .sec-inner > div {
  position: absolute;
  left: 50%;
  width: 594px;
}

.school02 .sec--mv .sec-inner > div.mv-txt1 {
  font-size: 66px;
  top: 28%;
}

.school02 .sec--mv .sec-inner > div.mv-txt2 {
  font-size: 46px;
  top: 61%;
  z-index: 1;
}

.school02 .sec--mv .mv-ico {
  background-image: url(/common/img/school02/bg-circle.png);
  background-size: 100%;
  width: 218px;
  height: 218px;
  text-align: center;
  position: absolute;
  left: calc(50% + 460px);
  top: 64%;
  color: #000;
  text-shadow: initial;
  font-weight: 500;
}

.school02 .sec--mv .mv-ico .mv-ico-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.school02 .sec--mv .mv-ico .mv-ico-inner > span:nth-of-type(1) {
  font-size: 21px;
}

.school02 .sec--mv .mv-ico .mv-ico-inner > span:nth-of-type(2) {
  font-size: 28px;
}

.school02 .sec--mv .mv-ico .mv-ico-inner > span:nth-of-type(3) {
  font-size: 22px;
}

.school02 .sec--mv .mv-ico .mv-ico-inner > span:nth-of-type(4) {
  font-size: 12px;
}

.school02 .sec--mvUnder {
  padding: 120px 30px;
}

.school02 .sec--mvUnder .sec-inner {
  margin: auto;
  font-family: "Noto Serif JP", serif;
  font-size: 46px;
  font-weight: 600;
  background-image: url(/common/img/school02/bg-bdl.jpg);
  background-size: 10px 100%;
  background-repeat: no-repeat;
  padding: 0 0 0 40px;
  line-height: 1.6;
  max-width: 594px;
}

.school02 .sec--point {
  background-image: linear-gradient(rgba(231, 231, 233, 0.8), rgba(231, 231, 233, 0.8)), url(/common/img/school02/bg-point.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.school02 .sec--point .point {
  display: flex;
  justify-content: space-between;
  max-width: 1140px;
  width: 100%;
  margin: auto;
}

.school02 .sec--point .point > div {
  max-width: 560px;
  width: calc(50% - 10px);
  background-color: #fff;
  padding: 55px 20px;
  position: relative;
}

.school02 .sec--point .point-badge {
  position: absolute;
  right: 14px;
  top: 25px;
  font-family: "Noto Serif JP", serif;
  width: 100px;
  height: 100px;
  text-align: center;
  background-image: url(/common/img/school02/bg-badge-point.png);
  background-size: 100%;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.school02 .sec--point .point-badge span:nth-of-type(1) {
  font-size: 22px;
}

.school02 .sec--point .point-badge span:nth-of-type(2) {
  font-size: 37px;
}

.school02 .sec--point .point-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 31px;
  margin: 15px 0 20px;
  color: #9d241b;
  font-weight: 700;
  line-height: 1.3;
}

.school02 .sec--point .point-txt {
  color: #494949;
}

.school02 .sec--cv {
  padding: 120px 20px;
}

.school02 .sec--voice {
  background-image: url(/common/img/school02/bg-voice.jpg);
  background-size: cover;
}

.school02 .sec--voice .voiceTtl {
  color: #fff;
  font-size: 50px;
  text-align: center;
  margin-bottom: 110px;
  text-shadow: 0px 0px 6px rgba(65, 105, 225, 0.75);
}

.school02 .sec--voice .voiceTtl span {
  font-size: 72%;
}

.school02 .sec--voice .voiceTtl span .italic {
  font-size: 100%;
}

.school02 .sec--voice .voice {
  display: flex;
  justify-content: space-between;
  max-width: 1620px;
  width: 100%;
  margin: 0 auto 100px;
  font-family: "Noto Serif JP", serif;
}

.school02 .sec--voice .voice > div {
  max-width: 520px;
  width: calc(100% / 3 - 10px);
  background-color: #fff;
  padding: 20px;
}

.school02 .sec--voice .voice-header {
  display: flex;
  margin-bottom: 25px;
}

.school02 .sec--voice .voice-header .voice-img {
  width: 120px;
  margin-right: 15px;
}

.school02 .sec--voice .voice-header .voice-img img {
  border-radius: 1000px;
}

.school02 .sec--voice .voice-header .voice-prof p:nth-of-type(1) {
  font-size: 24px;
  margin-bottom: 10px;
}

.school02 .sec--voice .voice-header .voice-prof p:nth-of-type(2) {
  font-size: 15px;
}

.school02 .sec--voice .voice-cnt p:nth-of-type(1) {
  color: #9d241b;
  font-size: 21px;
  margin-bottom: 15px;
}

.school02 .sec--case {
  background-image: url(/common/img/school02/bg-case.jpg);
  background-size: cover;
}

.school02 .sec--case .case {
  display: flex;
  justify-content: space-between;
  max-width: 1450px;
  width: 100%;
  margin: auto;
  font-family: "Noto Serif JP", serif;
}

.school02 .sec--case .case > div {
  max-width: 460px;
  width: calc(100% / 3 - 15px);
  background-color: #ededed;
}

.school02 .sec--case .case .case-ttl {
  color: #fff;
  font-size: 28px;
  text-align: center;
  font-weight: 700;
  background-color: #012c44;
  padding: 18px 10px 21px;
  line-height: 1;
  position: relative;
}

.school02 .sec--case .case .case-ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 12px 8px 0 8px;
  border-color: #012c44 transparent transparent;
  translate: -50% 100%;
}

.school02 .sec--case .case .case-ttl span {
  font-size: 130%;
}

.school02 .sec--case .case .case-inner {
  padding: 30px 20px 40px;
}

.school02 .sec--case .case .case-list {
  font-size: 20px;
  margin-top: 10px;
}

.school02 .sec--case .case .case-list div {
  position: relative;
  display: flex;
  padding-left: 32px;
}

.school02 .sec--case .case .case-list div::before {
  position: absolute;
  left: 0;
  top: 5.5px;
  content: '';
  background-image: url(/common/img/school02/ico-check.png);
  background-size: 100%;
  background-repeat: no-repeat;
  width: 26px;
  height: 22px;
}

.school02 .sec--case .case .case-list div + div {
  margin-top: 8px;
}

.school02 .sec--case .case .case-arrow {
  text-align: center;
  margin: 25px 0 20px;
}

.school02 .sec--case .case .case-arrow img {
  width: 75px;
}

.school02 .sec--case .case .case-recommend {
  text-align: center;
  margin-bottom: 20px;
}

.school02 .sec--case .case .case-recommend p {
  font-size: 18px;
}

.school02 .sec--case .case .case-recommend p.red {
  font-size: 22px;
  font-weight: 600;
  margin: 15px 0;
}

.school02 .sec--program .sec-inner {
  padding: 60px 20px;
}

.school02 .sec--curriculum .sec-inner {
  padding: 60px 20px 0;
}

.school02 .sec--curriculum .curriculum {
  max-width: 1100px;
  margin: auto;
}

.school02 .sec--curriculum .curriculum-tab {
  font-family: "Noto Serif JP", serif;
  display: flex;
  align-items: flex-end;
}

.school02 .sec--curriculum .curriculum-tab > div {
  color: #fff;
  background-color: #012c44;
  font-size: 28px;
  display: flex;
  justify-content: center;
  position: relative;
  height: 120px;
  min-width: 158px;
  align-items: center;
  flex: 1;
  cursor: pointer;
}

.school02 .sec--curriculum .curriculum-tab > div::before {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 90%;
  background-color: #fff;
}

.school02 .sec--curriculum .curriculum-tab > div.row2 {
  min-width: 230px;
  font-size: 24px;
}

.school02 .sec--curriculum .curriculum-tab > div.row2.active {
  font-size: 30px;
  padding: 0;
}

.school02 .sec--curriculum .curriculum-tab > div.active {
  color: #012c44;
  background-color: #fff;
  font-size: 40px;
  height: 170px;
  border: 3px solid #012c44;
  border-bottom: none;
}

.school02 .sec--curriculum .curriculum-cnt {
  border: 3px solid #012c44;
  border-top: none;
  padding: 20px;
}

.school02 .sec--curriculum .curriculum-cnt > div {
  display: none;
}

.school02 .sec--curriculum .curriculum-cnt > div.active {
  display: flex;
}

.school02 .sec--curriculum .curriculum-left {
  width: 50%;
  padding-right: 20px;
  line-height: 2;
}

.school02 .sec--curriculum .curriculum-left-ttl {
  color: #9d241b;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  margin: 10px 0;
  line-height: 1.5;
  font-weight: 600;
}

.school02 .sec--curriculum .curriculum-left-txt {
  font-size: 14px;
}

.school02 .sec--curriculum .curriculum-left-txt span {
  font-weight: 500;
}

.school02 .sec--curriculum .curriculum-right {
  width: 50%;
  line-height: 2;
}

.school02 .sec--curriculum .curriculum-right p.ttl {
  font-size: 22px;
  margin-top: 20px;
  font-weight: 500;
}

.school02 .sec--curriculum .curriculum-right p.min {
  font-size: 14px;
}

.school02 .sec--curriculum .curriculumAttention {
  max-width: 1100px;
  margin: 30px auto 0;
}

.school02 .sec--group {
  background-image: linear-gradient(rgba(231, 231, 233, 0.8), rgba(231, 231, 233, 0.8)), url(/common/img/school02/bg-group.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.school02 .sec--group .c-block1 .c-block1-cnt {
  border: none;
}

.school02 .sec--course .course {
  display: flex;
  justify-content: space-between;
  max-width: 1100px;
  margin: auto;
  text-shadow: 0px 0px 8px white;
}

.school02 .sec--course .course > div {
  width: calc(100% / 2 - 15px);
  padding: 20px 20px 30px;
  border: 3px solid #e7e7e9;
  background-position: center;
}

.school02 .sec--course .course > div:nth-of-type(1) {
  background-image: linear-gradient(rgba(231, 231, 233, 0.8), rgba(231, 231, 233, 0.8)), url(/common/img/school02/pic-case-2.jpg);
}

.school02 .sec--course .course > div:nth-of-type(2) {
  background-image: linear-gradient(rgba(231, 231, 233, 0.8), rgba(231, 231, 233, 0.8)), url(/common/img/school02/bg-cource-2.jpg);
}

.school02 .sec--course .course-ttl {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 30px;
  text-align: center;
  line-height: 1;
}

.school02 .sec--course .course-ttl > p:nth-of-type(1) {
  font-size: 40px;
  font-style: italic;
  margin-bottom: 10px;
}

.school02 .sec--course .course-ttl > p:nth-of-type(1) span {
  font-size: 150%;
}

.school02 .sec--course .course-ttl > p:nth-of-type(2) {
  font-size: 22px;
}

.school02 .sec--course .course-cnt {
  display: flex;
}

.school02 .sec--course .course-left {
  width: 40%;
  padding-right: 10px;
}

.school02 .sec--course .course-right {
  width: 60%;
  font-size: 18px;
}

.school02 .sec--timeTable {
  background-image: linear-gradient(rgba(231, 231, 233, 0.8), rgba(231, 231, 233, 0.8)), url(/common/img/school02/bg-timetable.jpg);
  background-position: center;
}

.school02 .sec--timeTable .timeTable {
  max-width: 800px;
  margin: auto;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  display: flex;
  flex-direction: column;
}

.school02 .sec--timeTable .timeTable tr {
  border-bottom: 3px solid #012c44;
  width: 100%;
  display: flex;
}

.school02 .sec--timeTable .timeTable tr:first-of-type, .school02 .sec--timeTable .timeTable tr:last-of-type {
  border-bottom: none;
}

.school02 .sec--timeTable .timeTable tr th, .school02 .sec--timeTable .timeTable tr td {
  padding: 20px;
}

.school02 .sec--timeTable .timeTable tr th {
  text-align: center;
  background-color: #e2e2e2;
  font-size: 24px;
}

.school02 .sec--timeTable .timeTable tr td {
  background-color: #fff;
}

.school02 .sec--timeTable .timeTable tr td p:not(.red) {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  margin-top: 20px;
  font-weight: 400;
}

.school02 .sec--timeTable .timeTable tr td p.red {
  font-size: 22px;
}

.school02 .sec--timeTable .timeTable tr:nth-of-type(1) th {
  color: #fff;
  font-size: 28px;
}

.school02 .sec--timeTable .timeTable tr:nth-of-type(1) th:nth-of-type(1) {
  background-color: #9d241b;
  width: 240px;
}

.school02 .sec--timeTable .timeTable tr:nth-of-type(1) th:nth-of-type(2) {
  background-color: #012c44;
  width: calc(100% - 240px);
}

.school02 .sec--timeTable .timeTable tr:nth-of-type(n+2) th {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 240px;
}

.school02 .sec--timeTable .timeTable tr:nth-of-type(n+2) td {
  width: calc(100% - 240px);
}

.school02 .sec--tuitionFee {
  max-width: 700px;
  margin: auto;
}

.school02 .sec--tuitionFee .sec-inner {
  padding-bottom: 0;
}

.school02 .sec--tuitionFee .tuitionFee > div {
  margin-top: 50px;
}

.school02 .sec--tuitionFee .tuitionFee > div:first-of-type {
  margin-top: 0;
  position: relative;
}

.school02 .sec--tuitionFee .tuitionFee-ttl {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 6px;
}

.school02 .sec--tuitionFee .tuitionFee-ttl::first-letter {
  color: #9d241b;
}

.school02 .sec--tuitionFee .tuitionFee-attention {
  position: absolute;
  top: 14px;
  right: 0;
  font-size: 13.5px;
}

.school02 .sec--tuitionFee table {
  border: 2px solid #012c44;
  text-align: center;
  font-weight: 600;
  width: 100%;
}

.school02 .sec--tuitionFee table tr {
  border-bottom: 2px solid #012c44;
}

.school02 .sec--tuitionFee table tr:last-of-type {
  border-bottom: none;
}

.school02 .sec--tuitionFee table tr th, .school02 .sec--tuitionFee table tr td {
  padding: 5px 10px;
  border-right: 2px solid #012c44;
}

.school02 .sec--tuitionFee table tr th span, .school02 .sec--tuitionFee table tr td span {
  font-size: 140%;
  font-weight: 700;
}

.school02 .sec--tuitionFee table tr td[rowspan="2"] {
  font-size: 140%;
}

.school02 .sec--tuitionFee table tr td[rowspan="3"] {
  font-size: 140%;
}

.school02 .sec--tuitionFee table tr:nth-of-type(1) th {
  background-color: #012c44;
  color: #fff;
}

.school02 .sec--tuitionFee table tr:nth-of-type(n+2) th {
  background-color: #d9e0e3;
}

.school02 .sec--tuitionFee table tr:nth-of-type(n+2) td {
  background-color: #fff;
}

.school02 .sec--summer {
  background-image: url(/common/img/school02/bg-summer.jpg);
  background-size: cover;
  background-position: top center;
  padding: 80px 30px;
  margin-top: 80px;
}

.school02 .sec--summer .sec-inner {
  background-color: #fff;
  max-width: 1220px;
  margin: auto;
  padding: 100px 30px;
  overflow: hidden;
}

.school02 .sec--summer .summer {
  color: #012c44;
  text-align: center;
}

.school02 .sec--summer .summer-ttl {
  position: relative;
}

.school02 .sec--summer .summer-ttl .inner {
  position: relative;
}

.school02 .sec--summer .summer-ttl .before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 365px;
  height: 378px;
  overflow: hidden;
}

.school02 .sec--summer .summer-ttl .before img {
  transform: scale(-1, 1);
  width: auto;
  max-width: initial;
  height: 410.33px;
  position: absolute;
  top: -34px;
  left: -113px;
}

.school02 .sec--summer .summer-ttl .after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 362px;
  height: 365px;
  overflow: hidden;
}

.school02 .sec--summer .summer-ttl .after img {
  width: auto;
  max-width: initial;
  height: 448px;
  position: absolute;
  top: -84px;
  right: -57px;
}

.school02 .sec--summer .summer-ttl > div.row1 {
  font-size: 29px;
}

.school02 .sec--summer .summer-ttl > div.row2 {
  font-size: 120px;
  line-height: 1.2;
  letter-spacing: 2.5rem;
  font-family: "Noto Serif JP", serif;
  transform: translateX(15px);
}

.school02 .sec--summer .summer-ttl > div.row3 {
  font-size: 31px;
  margin-top: 20px;
}

.school02 .sec--summer .summer-desc {
  font-size: 23px;
  margin: 50px 0;
  color: #333333;
}

.school02 .sec--summer .summer-block {
  border: 1px solid #012c44;
  max-width: 900px;
  margin: 75px auto 0;
}

.school02 .sec--summer .summer-block-ttl {
  background: #012c44;
  color: #fff;
  display: inline-block;
  padding: 9px 36px 11px;
  margin: 0 0 50px;
  transform: translateY(-25px);
  font-size: 24px;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.5rem;
}

.school02 .sec--summer .summer-block-cntWrap {
  display: flex;
  flex-wrap: wrap;
}

.school02 .sec--summer .summer-block-cntWrap .summer-block-cnt {
  width: 50%;
  padding: 0 50px 30px;
  font-size: 17px;
}

.school02 .sec--summer .summer-block-cntWrap .summer-block-cnt + .summer-block-cnt {
  border-left: 1px solid #012c44;
}

.school02 .sec--summer .summer-block-cnt {
  padding: 0 50px 50px;
}

.school02 .sec--summer .summer-block-cnt > p {
  color: #333333;
}

.school02 .sec--summer .summer-block-cnt > div p {
  color: #333333;
}

.school02 .sec--summer .summer-block-cnt--program > p {
  font-size: 29px;
  line-height: 1.2;
}

.school02 .sec--summer .summer-block-cnt--program > p span {
  font-size: 20px;
}

.school02 .sec--summer .summer-block-cnt--program > div {
  display: flex;
  align-items: center;
  margin-top: 50px;
  font-weight: bold;
}

.school02 .sec--summer .summer-block-cnt--program > div .c-hexagonWrap {
  width: 260px;
}

.school02 .sec--summer .summer-block-cnt--program > div .c-hexagon {
  font-size: 19px;
}

.school02 .sec--summer .summer-block-cnt--program > div .c-hexagon--gray {
  font-size: 17px;
  padding: 3px 0;
  width: 170px;
}

.school02 .sec--summer .summer-block-cnt--program > div p {
  width: calc(100% - 260px);
  text-align: left;
  font-size: 18px;
}

.school02 .sec--summer .summer-block-cnt--program > div.em p {
  font-size: 26px;
}

.school02 .sec--summer .summer-block-cnt--course p.small {
  margin-top: 30px;
  text-align: left;
}

.school02 .sec--summer .summer-block-cnt--course p.small.s40 {
  margin-top: 40px;
}

.school02 .sec--summer .summer-block-cnt--course p.small.s40 + .c-hexagon {
  margin-top: 40px;
}

.school02 .sec--summer .summer-block-cnt--course .c-hexagon {
  margin-top: 30px;
  line-height: 1.2;
  font-weight: bold;
  width: 100%;
  padding: 6px 0;
}

.school02 .sec--summer .summer-block-cnt--course .c-hexagon span {
  font-size: 83%;
}

.school02 .sec--summer .summer-block-cnt--course .c-hexagon + p.small {
  text-align: center;
  margin-top: 30px;
}

.school02 .sec--summer .summer-block-cnt--cost > div {
  display: flex;
  margin-top: 30px;
}

.school02 .sec--summer .summer-block-cnt--cost > div:nth-of-type(1) {
  margin-top: 0;
}

.school02 .sec--summer .summer-block-cnt--cost > div > div:nth-of-type(1) {
  width: 260px;
  font-weight: bold;
}

.school02 .sec--summer .summer-block-cnt--cost > div > div:nth-of-type(1) .c-hexagon {
  font-size: 17px;
  padding: 3px 0;
  width: 170px;
}

.school02 .sec--summer .summer-block-cnt--cost > div > div:nth-of-type(2) {
  width: calc(100% - 260px);
  text-align: left;
}

.school02 .sec--summer .summer-block-cnt--cost > div > div:nth-of-type(2) p:nth-of-type(1) {
  font-weight: bold;
  font-size: 20px;
}

.school02 .sec--summer .summer-block-cnt--cost > div > div:nth-of-type(2) p:nth-of-type(2) {
  font-size: 14px;
}

.school02 .sec--summer .summer-block-cnt-ttlWithIco div {
  background: #012c44;
  border-radius: 1000px;
  width: 125px;
  height: 125px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}

.school02 .sec--summer .summer-block-cnt-ttlWithIco div img {
  height: 70px;
  width: auto;
}

.school02 .sec--summer .summer-block-cnt-ttlWithIco p {
  font-size: 27px;
  font-weight: bold;
  color: #012c44 !important;
}

.school02 .sec--summer .summer-block-bottom {
  color: #333333;
  font-size: 13px;
  width: 100%;
  padding: 30px 40px 50px;
}

.school02 footer {
  background-color: #012c44;
  color: #fff;
  text-align: center;
  padding: 40px 20px;
  font-family: "Noto Serif JP", serif;
}

.school02 .fade-in {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.school02 .fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

.school02 .pc {
  display: block;
}

.school02 .sp {
  display: none;
}

@media (max-width: 1350px) {
  .school02 .sec--mv .mv-ico {
    left: initial;
    top: initial;
    right: 0;
    bottom: 0;
  }
}

@media (max-width: 1250px) and (min-width: 769px) {
  .school02 .sec--summer .summer-ttl > div.row1 {
    font-size: 2.3vw;
  }
  .school02 .sec--summer .summer-ttl > div.row2 {
    font-size: 9vw;
  }
  .school02 .sec--summer .summer-ttl > div.row3 {
    font-size: 2.3vw;
    margin-top: 1.5vw;
    padding: 0.7vw 5.2vw;
  }
  .school02 .sec--summer .summer-ttl .before {
    width: 29vw;
    height: 30vw;
    left: -30px;
  }
  .school02 .sec--summer .summer-ttl .before img {
    height: 33vw;
    top: -3vw;
    left: -10vw;
  }
  .school02 .sec--summer .summer-ttl .after {
    width: 29vw;
    height: 29vw;
    right: -30px;
  }
  .school02 .sec--summer .summer-ttl .after img {
    height: 36vw;
    top: -7vw;
    right: -5vw;
  }
}

@media (max-width: 1200px) {
  .school02 .sec--mv .sec-inner > div {
    width: 540px;
  }
  .school02 .sec--mv .sec-inner > div.mv-txt1, .school02 .sec--mv .sec-inner > div.mv-txt2 {
    left: initial;
    right: 20px;
  }
  .school02 .sec--mv .sec-inner > div.mv-txt1 {
    font-size: 60px;
  }
  .school02 .sec--mv .sec-inner > div.mv-txt2 {
    font-size: 40px;
  }
}

@media (max-width: 1100px) {
  .school02 .swiper--2 {
    max-width: 932px;
  }
}

@media (max-width: 974px) {
  .school02 .c-secTtl .c-secTtl-en {
    font-size: 80px;
  }
  .school02 .c-secTtl .c-secTtl-ja {
    font-size: 36px;
  }
  .school02 .c-secTtl--v2 .c-secTtl-en {
    font-size: 58px;
  }
  .school02 .c-secTtlY {
    font-size: 35px;
  }
}

@media (max-width: 768px) {
  .school02 {
    font-size: 15px;
  }
  .school02 .swiper--2 {
    max-width: 750px;
  }
  .school02 .c-btnCv {
    width: 90vw;
    height: 19vw;
    background-repeat: no-repeat;
  }
  .school02 .c-btnCv img {
    width: 8vw;
    margin: 0vw 2vw 0 0;
  }
  .school02 .c-btnCv > span {
    font-size: 5.1vw;
    margin-top: -1vw;
  }
  .school02 .c-btnCv--header {
    display: none;
  }
  .school02 .c-btnCv--case {
    max-width: 100%;
    padding: 0;
    height: 13vw;
  }
  .school02 .c-btnCv--case img {
    width: 3.5vw;
  }
  .school02 .c-btnCv--case > span {
    font-size: 4.5vw;
    margin-top: -0.5vw;
  }
  .school02 .c-btnCv--voice {
    padding: 0;
    height: 13vw;
    width: 78vw;
  }
  .school02 .c-btnCv--voice img {
    width: 7vw;
    margin: 0vw 1vw 0 0;
  }
  .school02 .c-btnCv--voice > span {
    font-size: 4.2vw;
    margin-top: -0.5vw;
  }
  .school02 .c-secTtl {
    width: calc(100% + 1000px);
    transform: translateX(-500px);
    margin-bottom: 20px;
  }
  .school02 .c-secTtl .c-secTtl-en {
    font-size: 44px;
  }
  .school02 .c-secTtl .c-secTtl-en span {
    letter-spacing: -4px;
  }
  .school02 .c-secTtl .c-secTtl-ja {
    font-size: 28px;
  }
  .school02 .c-secTtl--v2 .c-secTtl-en {
    font-size: 34px;
  }
  .school02 .c-secTtlYWrap {
    margin-bottom: 20px;
  }
  .school02 .c-secTtlY {
    font-size: 27px;
    padding: 0 35px;
  }
  .school02 .c-secTtlY::before, .school02 .c-secTtlY::after {
    top: initial;
    bottom: 0;
  }
  .school02 .c-secTtlY--v2 {
    padding: 0 36px 13px;
    font-size: 20px;
  }
  .school02 .c-secTtlY--v2::before, .school02 .c-secTtlY--v2::after {
    font-size: 200%;
    top: initial;
    bottom: 0;
  }
  .school02 .c-block1 + .c-block1 {
    margin-top: 30px;
  }
  .school02 .c-block1 .c-block1-ttl {
    padding: 15px;
  }
  .school02 .c-block1 .c-block1-ttl p:nth-of-type(1) {
    font-size: 24px;
  }
  .school02 .c-block1 .c-block1-ttl p:nth-of-type(2) {
    font-size: 18px;
  }
  .school02 .c-block1 .c-block1-cnt {
    display: block;
    border: 2px solid #012c44;
    padding: 15px;
  }
  .school02 .c-block1 .c-block1-left {
    width: 100%;
    padding: 0;
  }
  .school02 .c-block1 .c-block1-right {
    width: 100%;
  }
  .school02 .c-block1 .c-block1-right-txt {
    font-size: 15px;
    line-height: 1.8;
    margin: 20px 0;
  }
  .school02 .c-block1 .c-block1-right-table {
    border: 2px solid #012c44;
    font-size: 13px;
    width: 100%;
  }
  .school02 .c-block1 .c-block1-right-table tr th, .school02 .c-block1 .c-block1-right-table tr td {
    padding: 3px 15px;
  }
  .school02 .c-hexagon {
    padding: 7px 40px 10px;
  }
  .school02 .sec {
    width: 100vw;
    overflow: hidden;
  }
  .school02 .italic {
    font-style: italic;
  }
  .school02 header {
    justify-content: flex-start;
  }
  .school02 header h1 {
    position: static;
    transform: initial;
  }
  .school02 header h1 img {
    width: 130px;
  }
  .school02 .sec-inner {
    padding: 60px 15px;
  }
  .school02 .sec--mv {
    margin-top: 44px;
    background-image: url(/common/img/school02/bg-mv-sp.png);
    background-size: 100%;
    height: 159vw;
    overflow: visible;
  }
  .school02 .sec--mv .sec-inner > div.mv-txt1 {
    display: flex;
    justify-content: center;
    top: 6%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    font-size: 10vw;
  }
  .school02 .sec--mv .sec-inner > div.mv-txt2 {
    display: none;
  }
  .school02 .sec--mv .mv-ico {
    width: 40vw;
    height: 40vw;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20vw;
  }
  .school02 .sec--mv .mv-ico .mv-ico-inner > span:nth-of-type(1) {
    font-size: 5vw;
  }
  .school02 .sec--mv .mv-ico .mv-ico-inner > span:nth-of-type(2) {
    font-size: 6.4vw;
  }
  .school02 .sec--mv .mv-ico .mv-ico-inner > span:nth-of-type(3) {
    font-size: 4.5vw;
  }
  .school02 .sec--mv .mv-ico .mv-ico-inner > span:nth-of-type(4) {
    font-size: 3vw;
  }
  .school02 .sec--mvUnder {
    padding: 110px 15px 60px;
  }
  .school02 .sec--mvUnder .sec-inner {
    font-size: 24px;
    background-size: 5px 100%;
    padding: 0 0 0 25px;
    max-width: 314px;
  }
  .school02 .sec--point .point {
    display: block;
  }
  .school02 .sec--point .point > div {
    width: 100%;
    margin: 20px auto 0;
    padding: 35px 15px;
  }
  .school02 .sec--point .point > div:first-of-type {
    margin-top: 0;
  }
  .school02 .sec--point .point-badge {
    top: 5px;
    right: 5px;
    width: 80px;
    height: 80px;
  }
  .school02 .sec--point .point-badge span:nth-of-type(1) {
    font-size: 17px;
  }
  .school02 .sec--point .point-badge span:nth-of-type(2) {
    font-size: 32px;
  }
  .school02 .sec--point .point-ttl {
    font-size: 26px;
    margin: 10px 0 15px;
  }
  .school02 .sec--cv {
    padding: 60px 15px;
  }
  .school02 .sec--voice .sec-inner {
    padding: 60px 0;
  }
  .school02 .sec--voice .voiceTtl {
    font-size: 30px;
    margin-bottom: 30px;
  }
  .school02 .sec--voice .voice {
    margin-bottom: 60px;
  }
  .school02 .sec--voice .voice > div {
    width: 100%;
    max-width: 100%;
  }
  .school02 .sec--case .sec-inner {
    padding: 60px 0;
  }
  .school02 .sec--case .case > div {
    width: 100%;
    max-width: 100%;
  }
  .school02 .sec--case .case .case-inner {
    padding: 25px 15px 30px;
  }
  .school02 .sec--case .case .case-ttl {
    font-size: 23px;
    padding: 8px 10px 13px;
  }
  .school02 .sec--case .case .case-list {
    font-size: 17px;
  }
  .school02 .sec--case .case .case-arrow img {
    margin: auto;
    width: 55px;
  }
  .school02 .sec--case .case .case-recommend {
    margin-bottom: 30px;
  }
  .school02 .sec--case .case .case-recommend p {
    font-size: 16px;
  }
  .school02 .sec--program .sec-inner {
    padding-top: 30px;
  }
  .school02 .sec--curriculum .sec-inner {
    padding-top: 0;
  }
  .school02 .sec--curriculum .curriculum + .curriculum {
    margin-top: 30px;
  }
  .school02 .sec--curriculum .curriculum + .curriculum .curriculum-tab > div.row2 {
    font-size: 18px;
  }
  .school02 .sec--curriculum .curriculum + .curriculum .curriculum-tab > div.row2.active {
    font-size: 21px;
  }
  .school02 .sec--curriculum .curriculum-tab > div {
    font-size: 20px;
    min-width: 100px;
    height: 80px;
  }
  .school02 .sec--curriculum .curriculum-tab > div.row2 {
    font-size: 16px;
    min-width: 130px;
  }
  .school02 .sec--curriculum .curriculum-tab > div.row2.active {
    font-size: 26px;
  }
  .school02 .sec--curriculum .curriculum-tab > div.active {
    font-size: 26px;
    height: 110px;
  }
  .school02 .sec--curriculum .curriculum-cnt {
    padding: 15px;
  }
  .school02 .sec--curriculum .curriculum-cnt > div.active {
    display: block;
  }
  .school02 .sec--curriculum .curriculum-left {
    width: 100%;
    padding: 0;
  }
  .school02 .sec--curriculum .curriculum-left-txt {
    margin-bottom: 20px;
  }
  .school02 .sec--curriculum .curriculum-left-ttl {
    font-size: 26px;
  }
  .school02 .sec--curriculum .curriculum-right {
    width: 100%;
    font-size: 14px;
  }
  .school02 .sec--curriculum .curriculum-right p.ttl {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 8px;
  }
  .school02 .sec--curriculum .curriculum-right p.min {
    font-size: 14px;
  }
  .school02 .sec--curriculum .curriculumAttention {
    font-size: 13px;
    margin-top: 15px;
  }
  .school02 .sec--group .sec-inner {
    padding-top: 30px;
  }
  .school02 .sec--course .course {
    display: block;
  }
  .school02 .sec--course .course > div {
    width: 100%;
    padding: 20px 15px;
    margin-top: 20px;
  }
  .school02 .sec--course .course > div:first-of-type {
    margin-top: 0;
  }
  .school02 .sec--course .course-ttl {
    margin-bottom: 20px;
  }
  .school02 .sec--course .course-ttl > p:nth-of-type(1) {
    font-size: 28px;
    margin-bottom: 7px;
  }
  .school02 .sec--course .course-ttl > p:nth-of-type(2) {
    font-size: 18px;
  }
  .school02 .sec--course .course-cnt {
    justify-content: center;
  }
  .school02 .sec--course .course-left {
    max-width: 150px;
  }
  .school02 .sec--course .course-right {
    font-size: 14px;
  }
  .school02 .sec--timeTable .timeTable tr {
    border-bottom: 2px solid #012c44;
  }
  .school02 .sec--timeTable .timeTable tr td, .school02 .sec--timeTable .timeTable tr th {
    padding: 10px;
  }
  .school02 .sec--timeTable .timeTable tr td p.red {
    font-size: 18px;
  }
  .school02 .sec--timeTable .timeTable tr td p:not(.red) {
    font-size: 14px;
    margin-top: 12px;
  }
  .school02 .sec--timeTable .timeTable tr:nth-of-type(1) th {
    font-size: 20px;
  }
  .school02 .sec--timeTable .timeTable tr:nth-of-type(1) th:nth-of-type(1) {
    width: 150px;
  }
  .school02 .sec--timeTable .timeTable tr:nth-of-type(1) th:nth-of-type(2) {
    width: calc(100% - 150px);
  }
  .school02 .sec--timeTable .timeTable tr:nth-of-type(n+2) th {
    width: 150px;
    font-size: 18px;
  }
  .school02 .sec--timeTable .timeTable tr:nth-of-type(n+2) td {
    width: calc(100% - 150px);
  }
  .school02 .sec--tuitionFee .tuitionFee-ttl {
    font-size: 20px;
  }
  .school02 .sec--tuitionFee .tuitionFee-attention {
    top: initial;
    bottom: -18px;
    right: 0;
    font-size: 10px;
  }
  .school02 .sec--tuitionFee .tuitionFeeTableWrap {
    overflow: scroll;
  }
  .school02 .sec--tuitionFee table {
    font-size: 14px;
    min-width: 550px;
  }
  .school02 .sec--tuitionFee table tr th, .school02 .sec--tuitionFee table tr td {
    padding: 5px 8px;
  }
  .school02 .sec--summer {
    padding: 60px 15px;
    margin-top: 60px;
  }
  .school02 .sec--summer .sec-inner {
    padding: 30px 15px;
  }
  .school02 .sec--summer .summer-ttl {
    display: flex;
    flex-wrap: wrap;
  }
  .school02 .sec--summer .summer-ttl > div {
    width: 100%;
  }
  .school02 .sec--summer .summer-ttl > div.row1 {
    font-size: 14px;
  }
  .school02 .sec--summer .summer-ttl > div.row2 {
    font-size: 54px;
    letter-spacing: 1rem;
    transform: translateX(2vw);
  }
  .school02 .sec--summer .summer-ttl > div.row3 {
    font-size: 26px;
    margin-top: 15px;
  }
  .school02 .sec--summer .summer-ttl .before,
  .school02 .sec--summer .summer-ttl .after {
    position: static;
    transform: initial;
    width: 50%;
  }
  .school02 .sec--summer .summer-ttl .before {
    height: 74vw;
  }
  .school02 .sec--summer .summer-ttl .before img {
    height: 73vw;
    top: 1vw;
    left: -26vw;
  }
  .school02 .sec--summer .summer-ttl .after {
    height: 74vw;
  }
  .school02 .sec--summer .summer-ttl .after img {
    height: 80vw;
    top: -6vw;
    right: -22vw;
  }
  .school02 .sec--summer .summer-desc {
    font-size: 16px;
  }
  .school02 .sec--summer .summer-block-ttl {
    padding: 7px 30px 9px;
    margin: 0 0 20px;
    font-size: 20px;
  }
  .school02 .sec--summer .summer-block-cnt {
    padding: 0 15px 40px;
  }
  .school02 .sec--summer .summer-block-cnt--program > p {
    font-size: 25px;
  }
  .school02 .sec--summer .summer-block-cnt--program > p span {
    font-size: 17px;
  }
  .school02 .sec--summer .summer-block-cnt--program > div {
    flex-wrap: wrap;
    margin-top: 30px;
    text-align: left;
  }
  .school02 .sec--summer .summer-block-cnt--program > div .c-hexagonWrap {
    width: 100%;
    text-align: center;
    margin-bottom: 8px;
  }
  .school02 .sec--summer .summer-block-cnt--program > div .c-hexagon {
    font-size: 17px;
  }
  .school02 .sec--summer .summer-block-cnt--program > div .c-hexagon--gray {
    font-size: 15px;
    padding: 0px 40px 1px;
    width: auto;
  }
  .school02 .sec--summer .summer-block-cnt--program > div p {
    width: 100%;
    font-size: 16px;
  }
  .school02 .sec--summer .summer-block-cnt--program > div.em p {
    font-size: 17px;
  }
  .school02 .sec--summer .summer-block-cnt--course p.small.s40 {
    margin-top: 30px;
  }
  .school02 .sec--summer .summer-block-cnt--course p.small.s40 + .c-hexagon {
    margin-top: 30px;
  }
  .school02 .sec--summer .summer-block-cnt--course .c-hexagon {
    margin-top: 40px;
  }
  .school02 .sec--summer .summer-block-cnt--course .c-hexagon + p.small {
    margin-top: 10px;
  }
  .school02 .sec--summer .summer-block-cnt--cost > div {
    display: block;
  }
  .school02 .sec--summer .summer-block-cnt--cost > div > div:nth-of-type(1) {
    width: 100%;
    margin-bottom: 8px;
  }
  .school02 .sec--summer .summer-block-cnt--cost > div > div:nth-of-type(1) .c-hexagon {
    font-size: 15px;
    padding: 0px 40px 1px;
    width: auto;
  }
  .school02 .sec--summer .summer-block-cnt--cost > div > div:nth-of-type(2) {
    width: 100%;
  }
  .school02 .sec--summer .summer-block-cnt--cost > div > div:nth-of-type(2) p:nth-of-type(1) {
    font-size: 18px;
  }
  .school02 .sec--summer .summer-block-cntWrap .summer-block-cnt {
    width: 100%;
    padding: 0 15px 60px;
    font-size: 15px;
  }
  .school02 .sec--summer .summer-block-cntWrap .summer-block-cnt + .summer-block-cnt {
    border: none;
  }
  .school02 .sec--summer .summer-block-cnt-ttlWithIco p {
    font-size: 25px;
  }
  .school02 .sec--summer .summer-block-bottom {
    padding: 0 15px 50px;
    text-align: left;
    font-size: 12px;
  }
  .school02 footer {
    padding: 20px;
  }
  .school02 .pc {
    display: none;
  }
  .school02 .sp {
    display: block;
  }
}
