@charset "UTF-8";
/*　*/
/**************************************************
		Foundation
**************************************************/
/* ===== Reset ===== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #fff;
  color: #000;
  text-align: left;
  -webkit-text-size-adjust: 100%;
}

main, article, aside, dialog, figure, header, footer, hgroup, nav, section {
  display: block;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
  box-sizing: content-box;
}

svg {
  max-width: 100%;
  height: auto;
  box-sizing: content-box;
}

ul, ol {
  list-style-type: none;
  list-style-position: outside;
}

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

caption {
  text-align: left;
}

th, td {
  text-align: left;
  vertical-align: top;
}

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

sub {
  bottom: -0.1em;
}

sup {
  top: -0.5em;
}

input, textarea, select, button {
  border-radius: 0;
  font: inherit;
  color: inherit;
  box-shadow: none;
  outline: none;
}

textarea {
  resize: vertical;
}

button {
  cursor: pointer;
}

/* ===== Setting ===== */
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 100;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 200;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 300;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 400;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 500;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 600;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 700;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 800;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 900;
}

html {
  font-size: 62.5%;
}

body {
  background: #fff;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Yu Gothic", "游ゴシック", Meiryo, "メイリオ", "MS P Gothic", "ＭＳ Ｐゴシック", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #333;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

a {
  color: inherit;
  text-decoration: none;
}

:-ms-input-placeholder {
  color: #999;
  opacity: 1;
}

::-ms-input-placeholder {
  color: #999;
  opacity: 1;
}

::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}

::placeholder {
  color: #999;
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  html {
    font-size: 2.667vw;
  }
  img {
    width: auto;
  }
}

@media print, screen and (min-width: 768px) {
  a, a::before, a::after, a *::before, a *::after, button, input[type="submit"] {
    transition: background-image 0.3s, background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1299px) {
  html {
    font-size: 0.769vw;
  }
}

/**************************************************
		Libs
**************************************************/
/**************************************************
		Layout
**************************************************/
/* ===== Header ===== */
.l-header {
  position: relative;
  background: #fff;
  z-index: 20;
}

.l-header_container {
  position: relative;
  height: 6rem;
}

@media print, screen and (min-width: 768px) {
  .l-header_container {
    margin: 0 auto;
    height: 10rem;
    max-width: 150rem;
  }
}

.l-header_logo {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 1.5rem;
  margin-top: 0.1em;
  width: 18rem;
  line-height: 0;
}

@media print, screen and (min-width: 768px) {
  .l-header_logo {
    left: 1rem;
    width: 29rem;
  }
}

.l-header_logo img {
  width: 100%;
}

.l-header_menu {
  display: flex;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.5rem;
  font-size: 1.2rem;
  flex: 1;
}

@media print, screen and (min-width: 768px) {
  .l-header_menu {
    right: 1rem;
    font-size: 2rem;
  }
}

.l-header_menu li {
  margin-left: 1rem;
}

.l-header_menu a {
  display: block;
  position: relative;
  padding: 0.7rem 3rem;
  border-radius: 5rem;
  background: #932536;
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .l-header_menu a:hover {
    opacity: 0.7;
  }
}

@media print, screen and (min-width: 768px) {
  .l-header_menu a {
    padding: 1rem 8rem;
  }
}

.l-header_menu a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.3rem;
  margin-top: -0.4rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 0.8rem;
  height: 0.8rem;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  content: "";
}

@media print, screen and (min-width: 768px) {
  .l-header_menu a::before {
    right: 2rem;
    width: 1rem;
    height: 1rem;
  }
}

/* ===== Main ===== */
.l-main {
  position: relative;
  padding-bottom: 5rem;
  overflow: hidden;
  z-index: 10;
}

@media print, screen and (min-width: 768px) {
  .l-main {
    padding-bottom: 10rem;
  }
}

/* ===== Pagetop ===== */
.l-pagetop {
  position: relative;
}

.l-pagetop p {
  font-size: 1.3rem;
}

@media print, screen and (min-width: 768px) {
  .l-pagetop p {
    font-size: 1.6rem;
  }
}

.l-pagetop a {
  display: block;
  padding: 0.5rem 0;
  background: #333;
  color: #fff;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .l-pagetop a:hover {
    opacity: 0.7;
  }
}

@media print, screen and (min-width: 768px) {
  .l-pagetop a {
    padding: 0.9rem 0;
  }
}

.l-pagetop span {
  display: inline-block;
  position: relative;
  padding-left: 2rem;
}

@media print, screen and (min-width: 768px) {
  .l-pagetop span {
    padding-left: 3rem;
  }
}

.l-pagetop span::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  margin-top: -0.4rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 0.8rem;
  height: 0.8rem;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin-top: -0.1em;
  content: "";
}

@media print, screen and (min-width: 768px) {
  .l-pagetop span::before {
    width: 1rem;
    height: 1rem;
  }
}

/* ===== Footer ===== */
.l-footer {
  position: relative;
  background: #932536;
  color: #fff;
  z-index: 20;
}

.l-footer_container {
  position: relative;
  padding: 3rem 1rem;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .l-footer_container {
    margin: 0 auto;
    padding: 4rem 1rem;
    max-width: 130rem;
  }
}

.l-footer_address {
  margin-bottom: 1rem;
  font-size: 1.2rem;
  font-style: normal;
}

@media print, screen and (min-width: 768px) {
  .l-footer_address {
    margin-bottom: 2rem;
    font-size: 1.6rem;
  }
}

.l-footer_address dt {
  margin-bottom: 1.5rem;
}

@media print, screen and (min-width: 768px) {
  .l-footer_address dt {
    margin-bottom: 2.5rem;
  }
}

.l-footer_address dt img {
  width: 22rem;
}

@media print, screen and (min-width: 768px) {
  .l-footer_address dt img {
    width: 29rem;
  }
}

.l-footer_copyright {
  font-size: 0.9rem;
}

@media print, screen and (min-width: 768px) {
  .l-footer_copyright {
    font-size: 1.4rem;
  }
}

.l-footer_copyright span {
  display: inline-block;
}

/**************************************************
		Object
**************************************************/
/* ===== section ===== */
.m-sec01 {
  position: relative;
}

.m-sec01_container {
  position: relative;
  padding: 0 1.5rem;
}

.is-full .m-sec01_container {
  padding-left: 0;
  padding-right: 0;
}

@media print, screen and (min-width: 768px) {
  .m-sec01_container {
    margin: 0 auto;
    padding: 0 1rem;
    max-width: 130rem;
  }
  .is-narrow .m-sec01_container {
    max-width: 110rem;
  }
  .is-wide .m-sec01_container {
    max-width: 150rem;
  }
  .is-max .m-sec01_container {
    max-width: 160rem;
  }
  .is-min .m-sec01_container {
    max-width: 80rem;
  }
  .is-full .m-sec01_container {
    max-width: 100%;
  }
}

.m-sec02 {
  position: relative;
  margin-bottom: 5rem;
}

@media print, screen and (min-width: 768px) {
  .m-sec02 {
    margin-bottom: 7rem;
  }
}

@media only screen and (max-width: 767px) {
  .m-sec02_container {
    padding: 0 1.5rem;
  }
}

.m-sec02:last-child {
  margin-bottom: 0;
}

/* ===== Title ===== */
.m-ttl01 {
  margin-bottom: 3rem;
  text-align: center;
  line-height: 0;
}

@media print, screen and (min-width: 768px) {
  .m-ttl01 {
    margin-bottom: 6rem;
  }
}

.m-ttl02 {
  margin-bottom: 3rem;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .m-ttl02 {
    margin-bottom: 6rem;
  }
}

.m-ttl02_bg {
  display: inline-block;
  padding: 1.3rem 5rem;
  border-radius: 5rem;
  background: #932536;
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .m-ttl02_bg {
    padding: 1.7rem 6rem;
  }
}

/* ===== Text ===== */
.m-txt01 {
  font-size: 1.2rem;
  line-height: 2;
}

.m-txt01.is-xxs {
  font-size: 0.7rem;
}

.m-txt01.is-xs {
  font-size: 0.8rem;
}

.m-txt01.is-sm {
  font-size: 1rem;
}

.m-txt01.is-lg {
  font-size: 1.4rem;
}

.m-txt01.is-xl {
  font-size: 1.6rem;
}

.m-txt01.is-xxl {
  font-size: 1.8rem;
}

@media print, screen and (min-width: 768px) {
  .m-txt01 {
    font-size: 1.6rem;
    line-height: 2;
  }
  .m-txt01.is-xxs {
    font-size: 1.1rem;
  }
  .m-txt01.is-xs {
    font-size: 1.2rem;
  }
  .m-txt01.is-sm {
    font-size: 1.4rem;
  }
  .m-txt01.is-lg {
    font-size: 1.8rem;
  }
  .m-txt01.is-xl {
    font-size: 2rem;
  }
  .m-txt01.is-xxl {
    font-size: 2.2rem;
  }
}

.m-txt01.is-center {
  text-align: center;
}

.m-txt02 {
  font-size: 1.6rem;
  line-height: 1.8;
}

.m-txt02.is-xxs {
  font-size: 1.1rem;
}

.m-txt02.is-xs {
  font-size: 1.2rem;
}

.m-txt02.is-sm {
  font-size: 1.4rem;
}

.m-txt02.is-lg {
  font-size: 1.8rem;
}

.m-txt02.is-xl {
  font-size: 2rem;
}

.m-txt02.is-xxl {
  font-size: 2.2rem;
}

@media print, screen and (min-width: 768px) {
  .m-txt02 {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .m-txt02.is-xxs {
    font-size: 1.1rem;
  }
  .m-txt02.is-xs {
    font-size: 1.2rem;
  }
  .m-txt02.is-sm {
    font-size: 1.4rem;
  }
  .m-txt02.is-lg {
    font-size: 1.8rem;
  }
  .m-txt02.is-xl {
    font-size: 2rem;
  }
  .m-txt02.is-xxl {
    font-size: 2.2rem;
  }
}

.m-txt02.is-center {
  text-align: center;
}

.m-txtLink01 {
  text-decoration: underline;
}

@media print, screen and (min-width: 768px) {
  .m-txtLink01:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media print, screen and (min-width: 768px) {
  .m-txtLink02:hover {
    opacity: 0.7;
  }
}

.m-txtLink03 {
  color: #932536;
  text-decoration: underline;
}

@media print, screen and (min-width: 768px) {
  .m-txtLink03:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.m-txtLink04 {
  color: #932536;
}

@media print, screen and (min-width: 768px) {
  .m-txtLink04:hover {
    opacity: 0.7;
  }
}

.m-txtLink05 {
  text-decoration: underline;
}

@media print, screen and (min-width: 768px) {
  .m-txtLink05:hover {
    color: #932536;
    text-decoration: none;
  }
}

@media print, screen and (min-width: 768px) {
  .m-txtLink06:hover {
    color: #932536;
  }
}

/* ===== Icon ===== */
.m-iconArrow01 {
  display: inline-block;
  position: relative;
  padding-right: 1.5rem;
}

@media print, screen and (min-width: 768px) {
  .m-iconArrow01 {
    padding-right: 2rem;
  }
}

.m-iconArrow01::before, .m-iconArrow01::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-top: -0.4rem;
  border-top: 0.2rem solid #932536;
  border-right: 0.2rem solid #932536;
  width: 0.8rem;
  height: 0.8rem;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  content: "";
}

@media print, screen and (min-width: 768px) {
  .m-iconArrow01::before, .m-iconArrow01::after {
    width: 1rem;
    height: 1rem;
  }
}

.m-iconArrow01::before {
  display: none;
  left: 0;
}

.m-iconArrow01::after {
  right: 0;
}

.m-iconArrow01.is-before {
  padding-left: 2rem;
  padding-right: 0;
}

.m-iconArrow01.is-before::before {
  display: block;
}

.m-iconArrow01.is-before::after {
  display: none;
}

.m-iconArrow01.is-left::before, .m-iconArrow01.is-left::after {
  -webkit-transform: translateY(-50%) rotate(45deg) scale(-1, -1);
          transform: translateY(-50%) rotate(45deg) scale(-1, -1);
}

.m-iconArrow01.is-top::before, .m-iconArrow01.is-top::after {
  -webkit-transform: translateY(-50%) rotate(45deg) scale(-1, 1);
          transform: translateY(-50%) rotate(45deg) scale(-1, 1);
}

.m-iconArrow01.is-bottom::before, .m-iconArrow01.is-bottom::after {
  -webkit-transform: translateY(-50%) rotate(45deg) scale(1, -1);
          transform: translateY(-50%) rotate(45deg) scale(1, -1);
}

.m-iconArrow01.is-white::before, .m-iconArrow01.is-white::after {
  border-color: #fff;
}

.m-iconArrow01.is-black::before, .m-iconArrow01.is-black::after {
  border-color: #333;
}

.m-iconTriangle01 {
  display: inline-block;
  position: relative;
  padding-right: 2.5rem;
}

@media print, screen and (min-width: 768px) {
  .m-iconTriangle01 {
    padding-right: 3.5rem;
  }
}

.m-iconTriangle01::before, .m-iconTriangle01::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-top: 0.4rem solid transparent;
  border-bottom: 0.4rem solid transparent;
  border-left: 1.4rem solid #932536;
  border-right: 0;
  content: "";
}

@media print, screen and (min-width: 768px) {
  .m-iconTriangle01::before, .m-iconTriangle01::after {
    border-top: 0.6rem solid transparent;
    border-bottom: 0.6rem solid transparent;
    border-left: 2.4rem solid #932536;
    border-right: 0;
  }
}

.m-iconTriangle01::before {
  display: none;
  left: 0;
}

.m-iconTriangle01::after {
  right: 0;
}

.m-iconTriangle01.is-before {
  padding-left: 2.5rem;
  padding-right: 0;
}

@media print, screen and (min-width: 768px) {
  .m-iconTriangle01.is-before {
    padding-left: 3.5rem;
  }
}

.m-iconTriangle01.is-before::before {
  display: block;
}

.m-iconTriangle01.is-before::after {
  display: none;
}

.m-iconTriangle01.is-left::before, .m-iconTriangle01.is-left::after {
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}

.m-iconTriangle01.is-top::before, .m-iconTriangle01.is-top::after {
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
}

.m-iconTriangle01.is-bottom::before, .m-iconTriangle01.is-bottom::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.m-iconTriangle01.is-white::before, .m-iconTriangle01.is-white::after {
  border-left-color: #fff;
}

.m-iconTriangle01.is-black::before, .m-iconTriangle01.is-black::after {
  border-left-color: #333;
}

/* ===== Button ===== */
.m-btn01 {
  display: inline-block;
  position: relative;
  padding: 1.1rem 1.8rem;
  border: 0.2rem solid #932536;
  border-radius: 5rem;
  background: #932536;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.5;
  text-align: center;
  justify-content: center;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
}

@media print, screen and (min-width: 768px) {
  .m-btn01:hover {
    opacity: 0.7;
  }
}

@media print, screen and (min-width: 768px) {
  .m-btn01 {
    padding: 1.8rem 2.3rem;
    font-size: 2rem;
  }
}

.m-btn01.is-sm {
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  font-size: 1.3rem;
}

@media print, screen and (min-width: 768px) {
  .m-btn01.is-sm {
    padding-top: 1.3rem;
    padding-bottom: 1.3rem;
    font-size: 1.6rem;
  }
}

.m-btn01.is-white {
  border-color: #fff;
  background-color: #fff;
  color: #333;
}

.m-btn01.is-black {
  border-color: #1b2852;
  background-color: #1b2852;
}

.m-btn01.is-shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

@media print, screen and (min-width: 768px) {
  .m-btn01.is-shadow {
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.15);
  }
}

/* ===== List ===== */
.m-listDisc, .m-listCircle, .m-listSquare, .m-listDot, .m-listNotes, .m-listDecimal, .m-listNumParentheses {
  font-size: 1.2rem;
  line-height: 2;
}

.is-xxs.m-listDisc, .is-xxs.m-listCircle, .is-xxs.m-listSquare, .is-xxs.m-listDot, .is-xxs.m-listNotes, .is-xxs.m-listDecimal, .is-xxs.m-listNumParentheses {
  font-size: 0.7rem;
}

.is-xs.m-listDisc, .is-xs.m-listCircle, .is-xs.m-listSquare, .is-xs.m-listDot, .is-xs.m-listNotes, .is-xs.m-listDecimal, .is-xs.m-listNumParentheses {
  font-size: 0.8rem;
}

.is-sm.m-listDisc, .is-sm.m-listCircle, .is-sm.m-listSquare, .is-sm.m-listDot, .is-sm.m-listNotes, .is-sm.m-listDecimal, .is-sm.m-listNumParentheses {
  font-size: 1rem;
}

.is-lg.m-listDisc, .is-lg.m-listCircle, .is-lg.m-listSquare, .is-lg.m-listDot, .is-lg.m-listNotes, .is-lg.m-listDecimal, .is-lg.m-listNumParentheses {
  font-size: 1.4rem;
}

.is-xl.m-listDisc, .is-xl.m-listCircle, .is-xl.m-listSquare, .is-xl.m-listDot, .is-xl.m-listNotes, .is-xl.m-listDecimal, .is-xl.m-listNumParentheses {
  font-size: 1.6rem;
}

.is-xxl.m-listDisc, .is-xxl.m-listCircle, .is-xxl.m-listSquare, .is-xxl.m-listDot, .is-xxl.m-listNotes, .is-xxl.m-listDecimal, .is-xxl.m-listNumParentheses {
  font-size: 1.8rem;
}

@media print, screen and (min-width: 768px) {
  .m-listDisc, .m-listCircle, .m-listSquare, .m-listDot, .m-listNotes, .m-listDecimal, .m-listNumParentheses {
    font-size: 1.6rem;
    line-height: 2;
  }
  .is-xxs.m-listDisc, .is-xxs.m-listCircle, .is-xxs.m-listSquare, .is-xxs.m-listDot, .is-xxs.m-listNotes, .is-xxs.m-listDecimal, .is-xxs.m-listNumParentheses {
    font-size: 1.1rem;
  }
  .is-xs.m-listDisc, .is-xs.m-listCircle, .is-xs.m-listSquare, .is-xs.m-listDot, .is-xs.m-listNotes, .is-xs.m-listDecimal, .is-xs.m-listNumParentheses {
    font-size: 1.2rem;
  }
  .is-sm.m-listDisc, .is-sm.m-listCircle, .is-sm.m-listSquare, .is-sm.m-listDot, .is-sm.m-listNotes, .is-sm.m-listDecimal, .is-sm.m-listNumParentheses {
    font-size: 1.4rem;
  }
  .is-lg.m-listDisc, .is-lg.m-listCircle, .is-lg.m-listSquare, .is-lg.m-listDot, .is-lg.m-listNotes, .is-lg.m-listDecimal, .is-lg.m-listNumParentheses {
    font-size: 1.8rem;
  }
  .is-xl.m-listDisc, .is-xl.m-listCircle, .is-xl.m-listSquare, .is-xl.m-listDot, .is-xl.m-listNotes, .is-xl.m-listDecimal, .is-xl.m-listNumParentheses {
    font-size: 2rem;
  }
  .is-xxl.m-listDisc, .is-xxl.m-listCircle, .is-xxl.m-listSquare, .is-xxl.m-listDot, .is-xxl.m-listNotes, .is-xxl.m-listDecimal, .is-xxl.m-listNumParentheses {
    font-size: 2.2rem;
  }
}

.m-listDisc > li, .m-listCircle > li, .m-listSquare > li, .m-listDot > li, .m-listNotes > li, .m-listDecimal > li, .m-listNumParentheses > li {
  margin-left: 1.2em;
}

.m-listDisc > li::before, .m-listCircle > li::before, .m-listSquare > li::before, .m-listDot > li::before, .m-listNotes > li::before, .m-listDecimal > li::before, .m-listNumParentheses > li::before {
  display: inline-block;
  margin-left: -1.2em;
  width: 1.2em;
}

.m-listNormal {
  font-size: 1.2rem;
  line-height: 2;
}

.m-listNormal.is-xxs {
  font-size: 0.7rem;
}

.m-listNormal.is-xs {
  font-size: 0.8rem;
}

.m-listNormal.is-sm {
  font-size: 1rem;
}

.m-listNormal.is-lg {
  font-size: 1.4rem;
}

.m-listNormal.is-xl {
  font-size: 1.6rem;
}

.m-listNormal.is-xxl {
  font-size: 1.8rem;
}

@media print, screen and (min-width: 768px) {
  .m-listNormal {
    font-size: 1.6rem;
    line-height: 2;
  }
  .m-listNormal.is-xxs {
    font-size: 1.1rem;
  }
  .m-listNormal.is-xs {
    font-size: 1.2rem;
  }
  .m-listNormal.is-sm {
    font-size: 1.4rem;
  }
  .m-listNormal.is-lg {
    font-size: 1.8rem;
  }
  .m-listNormal.is-xl {
    font-size: 2rem;
  }
  .m-listNormal.is-xxl {
    font-size: 2.2rem;
  }
}

.m-listDisc > li::before {
  content: "●";
}

.m-listCircle > li::before {
  content: "○";
}

.m-listSquare > li::before {
  content: "■";
}

.m-listDot > li::before {
  content: "・";
}

.m-listNotes > li::before {
  content: "※";
}

.m-listDecimal {
  counter-reset: decimal-cnt;
}

.m-listDecimal > li {
  counter-increment: decimal-cnt;
}

.m-listDecimal > li::before {
  content: counter(decimal-cnt) ".";
}

.m-listNumParentheses {
  counter-reset: parentheses-cnt;
}

.m-listNumParentheses > li {
  counter-increment: parentheses-cnt;
}

.m-listNumParentheses > li::before {
  content: "(" counter(parentheses-cnt) ")";
}

.m-listIndent01,
.m-listIndent02 {
  font-size: 1.4rem;
  line-height: 1.8;
}

.m-listIndent01.is-xxs,
.m-listIndent02.is-xxs {
  font-size: 0.9rem;
}

.m-listIndent01.is-xs,
.m-listIndent02.is-xs {
  font-size: 1rem;
}

.m-listIndent01.is-sm,
.m-listIndent02.is-sm {
  font-size: 1.2rem;
}

.m-listIndent01.is-lg,
.m-listIndent02.is-lg {
  font-size: 1.6rem;
}

.m-listIndent01.is-xl,
.m-listIndent02.is-xl {
  font-size: 1.8rem;
}

.m-listIndent01.is-xxl,
.m-listIndent02.is-xxl {
  font-size: 2rem;
}

@media print, screen and (min-width: 768px) {
  .m-listIndent01,
  .m-listIndent02 {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .m-listIndent01.is-xxs,
  .m-listIndent02.is-xxs {
    font-size: 1.1rem;
  }
  .m-listIndent01.is-xs,
  .m-listIndent02.is-xs {
    font-size: 1.2rem;
  }
  .m-listIndent01.is-sm,
  .m-listIndent02.is-sm {
    font-size: 1.4rem;
  }
  .m-listIndent01.is-lg,
  .m-listIndent02.is-lg {
    font-size: 1.8rem;
  }
  .m-listIndent01.is-xl,
  .m-listIndent02.is-xl {
    font-size: 2rem;
  }
  .m-listIndent01.is-xxl,
  .m-listIndent02.is-xxl {
    font-size: 2.2rem;
  }
}

.m-listIndent01 dd,
.m-listIndent02 dd {
  margin-top: -1.8em;
}

.m-listIndent01 > dt {
  width: 1.5em;
}

.m-listIndent01 > dd {
  margin-left: 1.5em;
}

.m-listIndent02 > dt {
  width: 2.5em;
}

.m-listIndent02 > dd {
  margin-left: 2.5em;
}

/* ===== table ===== */
/* ===== Form ===== */
/* ===== Box ===== */
/* ===== others ===== */
.m-img01 {
  display: block;
  position: relative;
  padding-bottom: calc(3 / 4 * 100%);
  width: 100%;
  height: 0;
  overflow: hidden;
}

.m-img01 img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: initial;
  max-width: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  font-family: 'object-fit: contain;';
}

.m-img01.is-size01 {
  padding-bottom: calc(3 / 4 * 100%);
}

.m-img01.is-size02 {
  padding-bottom: 100%;
}

.m-img01.is-size03 {
  padding-bottom: calc(9 / 16 * 100%);
}

.m-img01.is-cover img {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
}

.m-img02 {
  display: block;
  position: relative;
  padding-bottom: 100%;
  border-radius: 100%;
  width: 100%;
  height: 0;
  background: #f2f2f2;
  overflow: hidden;
}

.m-img02 img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: initial;
  max-width: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
}

.m-img02.is-contain img {
  -o-object-fit: contain;
     object-fit: contain;
  font-family: 'object-fit: contain;';
}

.m-vid01 {
  display: block;
  position: relative;
  padding-bottom: calc(9 / 16 * 100%);
  width: 100%;
  height: 0;
  max-width: 100%;
  background: #333;
  overflow: hidden;
}

.m-vid01 iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}

.m-vid01.is-size01 {
  padding-bottom: calc(9 / 16 * 100%);
}

.m-vid01.is-size02 {
  padding-bottom: calc(3 / 4 * 100%);
}

.m-figure01 {
  display: block;
}

.m-figure01_img {
  display: block;
}

.m-figure01_txt {
  display: block;
  margin: 1rem 0.5rem 0 0.5rem;
  font-size: 1.3rem;
}

@media print, screen and (min-width: 768px) {
  .m-figure01_txt {
    margin: 1rem 1rem 0 1rem;
    font-size: 1.4rem;
  }
}

.m-marker01 {
  font-weight: 500;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .m-marker01 {
    font-size: 1.3rem;
  }
  .m-marker01 .line_sp {
    display: block;
    margin-bottom: 0.7rem;
  }
  .m-marker01 .line_sp > .bg {
    display: inline-block;
    padding: 0.1rem 0.75em;
    background: #932536;
    color: #fff;
  }
}

@media print, screen and (min-width: 768px) {
  .m-marker01 {
    font-size: 1.8rem;
  }
  .m-marker01 .line_pc {
    display: block;
    margin-bottom: 1rem;
  }
  .m-marker01 .line_pc > .bg {
    display: inline-block;
    padding: 0.1rem 0.75em;
    background: #932536;
    color: #fff;
  }
}

.m-marker01 b {
  font-weight: bold;
  color: #000;
}

/**************************************************
		Utility
**************************************************/
/* ===== others ===== */
.u-clearfix::after {
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  content: "";
}

@media only screen and (max-width: 767px) {
  .u-onlyPC {
    display: none !important;
  }
  .u-block_sp {
    display: block !important;
  }
  .u-inline_sp {
    display: inline !important;
  }
  .u-inlineBlock_sp {
    display: inline-block !important;
  }
  .u-fl_sp {
    float: left !important;
  }
  .u-fr_sp {
    float: right !important;
  }
  .u-clear_sp {
    clear: both !important;
  }
}

@media print, screen and (min-width: 768px) {
  .u-onlySP {
    display: none !important;
  }
  .u-block {
    display: block !important;
  }
  .u-inline {
    display: inline !important;
  }
  .u-inlineBlock {
    display: inline-block !important;
  }
  .u-fl {
    float: left !important;
  }
  .u-fr {
    float: right !important;
  }
  .u-clear {
    clear: both !important;
  }
}

/**************************************************
		Contents
**************************************************/
/* ===== MV ===== */
.mv_sec {
  position: relative;
  margin-bottom: 3rem;
}

@media print, screen and (min-width: 768px) {
  .mv_sec {
    margin-bottom: 6rem;
  }
}

.mv_container {
  position: relative;
  padding: 0 1.5rem;
}

@media print, screen and (min-width: 768px) {
  .mv_container {
    display: flex;
    margin: 0 auto;
    padding: 0 1rem;
    max-width: 150rem;
  }
}

.mv_img {
  position: relative;
  border-radius: 1.5rem;
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .mv_img {
    border-radius: 2rem;
  }
}

/* ===== gallery ===== */
.gallery_sec {
  margin-bottom: 2.5rem;
}

@media print, screen and (min-width: 768px) {
  .gallery_sec {
    margin-bottom: 6rem;
  }
}

@media print, screen and (min-width: 768px) {
  .gallery_img {
    position: relative;
    left: 50%;
    width: 320rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

/* ===== point ===== */
.point_sec {
  margin-bottom: 5rem;
}

@media print, screen and (min-width: 768px) {
  .point_sec {
    margin-bottom: 10rem;
  }
}

@media print, screen and (min-width: 768px) {
  .point_list {
    display: flex;
    margin: 0 -2rem;
    justify-content: center;
  }
}

.point_list > li {
  display: flex;
  position: relative;
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .point_list > li:not(:last-child) {
    margin-bottom: 3rem;
  }
}

@media print, screen and (min-width: 768px) {
  .point_list > li {
    margin: 0 2rem;
    width: calc(33.333% - 4rem);
  }
}

.point_list_btn {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 30rem;
}

@media print, screen and (min-width: 768px) {
  .point_list_btn {
    width: 24rem;
  }
}

.point_list_btn a {
  display: block;
}

@media print, screen and (min-width: 768px) {
  .point_list_btn a:hover {
    opacity: 0.7;
  }
}

@media print, screen and (min-width: 768px) {
  .point_list > li:nth-child(1) .point_list_btn {
    width: 26rem;
  }
}

.point_list_inner {
  margin-top: 7rem;
  background: #f2f2f2;
  padding: 3rem 3rem 2rem 3rem;
  border-radius: 0.7rem;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .point_list_inner {
    display: flex;
    margin-top: 18rem;
    padding: 7.5rem 2.5rem 2rem 2.5rem;
    border-radius: 1rem;
    width: 100%;
    flex-direction: column;
  }
}

.point_list > li:nth-child(1) .point_list_inner {
  background-color: #f3f2ff;
}

.point_list > li:nth-child(2) .point_list_inner {
  background-color: #fef1f7;
}

.point_list > li:nth-child(3) .point_list_inner {
  background-color: #edfaef;
}

.point_list_ttl {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: 0.02em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .point_list_ttl {
    display: flex;
    height: 9rem;
    font-size: 3rem;
    align-items: center;
    justify-content: center;
  }
}

.point_list_ttl > span {
  display: block;
}

.point_list > li:nth-child(2) .point_list_ttl {
  font-size: 1.3rem;
}

@media print, screen and (min-width: 768px) {
  .point_list > li:nth-child(2) .point_list_ttl {
    font-size: 1.6rem;
  }
}

.point_list > li:nth-child(2) .point_list_ttl span span {
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1.2;
}

@media print, screen and (min-width: 768px) {
  .point_list > li:nth-child(2) .point_list_ttl span span {
    font-size: 2.4rem;
  }
}

.point_list > li:nth-child(3) .point_list_ttl {
  font-size: 1.9rem;
}

@media print, screen and (min-width: 768px) {
  .point_list > li:nth-child(3) .point_list_ttl {
    font-size: 2.4rem;
    height: 100%;
  }
}

.point_list_list {
  margin-top: 1rem;
  line-height: 1.8;
}

@media print, screen and (min-width: 768px) {
  .point_list_list {
    letter-spacing: 0.02em;
  }
}

/* ===== global ===== */
.global_sec {
  margin-bottom: 5rem;
  padding-top: 4rem;
  padding-bottom: 3rem;
  background: #21b7c5 url(../img/bg_global.png) 50% 0 no-repeat;
}

@media only screen and (max-width: 767px) {
  .global_sec {
    background-size: 38rem auto;
  }
}

@media print, screen and (min-width: 768px) {
  .global_sec {
    margin-bottom: 10rem;
    padding-top: 8rem;
    padding-bottom: 7rem;
    background-position: 50% 50%;
  }
}

.global_ttl01 {
  margin-bottom: 2rem;
  line-height: 0;
}

@media print, screen and (min-width: 768px) {
  .global_ttl01 {
    margin-bottom: 4rem;
  }
}

.global_ttl01 .m-ttl02_bg {
  background: rgba(0, 0, 0, 0.5);
}

.global_ttl01 img {
  width: 18.2rem;
}

@media print, screen and (min-width: 768px) {
  .global_ttl01 img {
    width: 52.4rem;
  }
}

.global_box01 {
  padding: 2.5rem 2rem 3rem 2rem;
  border-radius: 0.7rem;
  background: #fff;
}

@media print, screen and (min-width: 768px) {
  .global_box01 {
    padding: 5rem 10rem 6rem 10rem;
    border-radius: 1rem;
  }
}

.global_ttl02 {
  margin-bottom: 1.5rem;
  font-size: 2.2rem;
  font-weight: bold;
  color: #21b7c5;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .global_ttl02 {
    margin-bottom: 2.5rem;
    font-size: 3rem;
  }
}

.global_ttl02_line {
  display: inline-block;
  position: relative;
  padding: 0 0.7rem;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .global_ttl02_line {
    padding: 0 1.5rem;
  }
}

.global_ttl02_line::before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1rem;
  background: #fff028;
  content: "";
  z-index: -1;
}

@media print, screen and (min-width: 768px) {
  .global_ttl02_line::before {
    height: 1.4rem;
  }
}

.global_txt01 {
  font-weight: 500;
}

.global_txt01_line {
  position: relative;
  font-weight: bold;
  background: linear-gradient(transparent 0, transparent 70%, #fff028 70%, #fff028 100%);
}

.global_list01 {
  margin-bottom: 1.5rem;
  font-weight: 500;
}

@media print, screen and (min-width: 768px) {
  .global_list01 {
    margin-bottom: 3rem;
  }
}

@media print, screen and (min-width: 768px) {
  .global_list02 {
    display: flex;
    margin: 0 -2rem;
  }
}

.global_list02 > li {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #21b7c5;
}

@media only screen and (max-width: 767px) {
  .global_list02 > li:not(:last-child) {
    margin-bottom: 2rem;
  }
}

@media print, screen and (min-width: 768px) {
  .global_list02 > li {
    margin: 0 2rem;
    padding-bottom: 2.5rem;
    border-bottom-width: 2px;
    width: calc(50% - 4rem - 0.1px);
  }
}

.global_list02_ttl {
  position: relative;
  margin-bottom: 2rem;
  padding: 0.7rem;
  background: #21b7c5;
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.6;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .global_list02_ttl {
    margin-bottom: 2.5rem;
    padding: 1rem;
    font-size: 1.8rem;
  }
}

.global_list02_ttl::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -0.7rem;
  border-top: 0.7rem solid #21b7c5;
  border-bottom: 0;
  border-left: 0.75rem solid transparent;
  border-right: 0.75rem solid transparent;
  content: "";
}

@media print, screen and (min-width: 768px) {
  .global_list02_ttl::before {
    bottom: -1rem;
    border-top: 1rem solid #21b7c5;
    border-bottom: 0;
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
  }
}

.global_list02_txt {
  font-size: 1.1rem;
  font-weight: 500;
}

@media print, screen and (min-width: 768px) {
  .global_list02_txt {
    font-size: 1.4rem;
  }
}

/* ===== abroad ===== */
.abroad_sec {
  margin-bottom: 5rem;
}

@media print, screen and (min-width: 768px) {
  .abroad_sec {
    margin-bottom: 10rem;
  }
}

.abroad_box01 {
  padding: 2rem 2rem 4rem 2rem;
  border-radius: 1.5rem;
  background: linear-gradient(rgba(165, 65, 255, 0.15), rgba(63, 187, 254, 0.15));
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .abroad_box01 {
    padding: 5rem 2rem 8rem 2rem;
    border-radius: 2rem;
  }
}

@media print, screen and (min-width: 768px) {
  .abroad_ttl01 img {
    width: 70rem;
  }
}

.abroad_img01 {
  margin-bottom: 2rem;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .abroad_img01 {
    margin-bottom: 3rem;
  }
}

@media only screen and (max-width: 767px) {
  .abroad_img01 img {
    width: 28.2rem;
  }
}

.abroad_list01 {
  margin-bottom: 3rem;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .abroad_list01 {
    margin-bottom: 5rem;
  }
}

@media print, screen and (min-width: 768px) {
  .abroad_list01 > li {
    display: inline-block;
    margin: 0 1.5em;
  }
}

.abroad_txt01 {
  margin-bottom: 3rem;
}

@media print, screen and (min-width: 768px) {
  .abroad_txt01 {
    margin-bottom: 6rem;
  }
}

.abroad_txt01 .line_sp > .bg,
.abroad_txt01 .line_pc > .bg {
  background-color: #8c82ff;
}

@media print, screen and (min-width: 768px) {
  .abroad_box02 {
    display: flex;
    margin: 0 -4rem;
    justify-content: center;
  }
}

@media only screen and (max-width: 767px) {
  .abroad_box02_inner:not(:last-child) {
    margin-bottom: 3rem;
  }
}

@media print, screen and (min-width: 768px) {
  .abroad_box02_inner {
    margin: 0 4rem;
    width: 60rem;
  }
}

.abroad_box03 {
  padding: 0.2rem;
  border-radius: 0.5rem;
  background: linear-gradient(to left, #a541ff, #3fbbfe);
}

@media print, screen and (min-width: 768px) {
  .abroad_box03 {
    padding: 0.4rem;
    border-radius: 1rem;
  }
}

.abroad_box03_ttl {
  padding: 1.3rem;
  text-align: center;
  line-height: 0;
}

@media print, screen and (min-width: 768px) {
  .abroad_box03_ttl {
    padding: 1.5rem;
  }
}

.abroad_box03_inner {
  padding: 1.5rem 1.8rem 1.8rem 1.8rem;
  border-radius: 0 0 0.3rem 0.3rem;
  background: #fff;
}

@media print, screen and (min-width: 768px) {
  .abroad_box03_inner {
    padding: 3.1rem 4.6rem 3.6rem 4.6rem;
    border-radius: 0 0 0.7rem 0.7rem;
  }
}

.abroad_box03_txt {
  margin-bottom: 1.5rem;
  font-weight: 500;
}

@media print, screen and (min-width: 768px) {
  .abroad_box03_txt {
    margin-bottom: 2.5rem;
  }
}

.abroad_box02_inner:nth-child(1) .abroad_box03_ttl img {
  width: 14.5rem;
}

@media print, screen and (min-width: 768px) {
  .abroad_box02_inner:nth-child(1) .abroad_box03_ttl img {
    width: 20.7rem;
  }
}

.abroad_box02_inner:nth-child(2) .abroad_box03_ttl img {
  width: 17.1rem;
}

@media print, screen and (min-width: 768px) {
  .abroad_box02_inner:nth-child(2) .abroad_box03_ttl img {
    width: 43.4rem;
  }
}

.abroad_btn01 {
  text-align: center;
}

.abroad_btn01 .m-btn01 {
  border-color: #8c82ff;
  background-color: #8c82ff;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .abroad_btn01 .m-btn01 {
    width: 38rem;
  }
}

.abroad_btn01 .m-iconArrow01 {
  display: block;
}

/* ===== scholarship ===== */
.scholarship_sec {
  margin-bottom: 5rem;
}

@media print, screen and (min-width: 768px) {
  .scholarship_sec {
    margin-bottom: 10rem;
  }
}

.scholarship_box01 {
  padding: 2rem 2rem 4rem 2rem;
  border-radius: 1.5rem;
  background: linear-gradient(rgba(245, 98, 133, 0.15), rgba(240, 137, 229, 0.15));
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .scholarship_box01 {
    padding: 5rem 2rem 8rem 2rem;
    border-radius: 2rem;
  }
}

.scholarship_ttl01 {
  margin-bottom: 1.5rem;
}

@media print, screen and (min-width: 768px) {
  .scholarship_ttl01 {
    margin-bottom: 3rem;
  }
}

@media print, screen and (min-width: 768px) {
  .scholarship_ttl01 img {
    width: 70rem;
  }
}

.scholarship_txt01 {
  margin-bottom: 3rem;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .scholarship_txt01 {
    margin-bottom: 6rem;
    font-size: 2rem;
  }
}

.scholarship_txt01 .bg {
  display: inline-block;
  padding: 0.5rem 2rem;
  border-radius: 0.5rem;
  background: #000;
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .scholarship_txt01 .bg {
    padding: 0.8rem 3rem;
  }
}

.scholarship_txt02 {
  margin: 0 -1.5rem 4rem -1.5rem;
}

@media print, screen and (min-width: 768px) {
  .scholarship_txt02 {
    margin-bottom: 8rem;
  }
}

.scholarship_txt02 .line_sp > .bg,
.scholarship_txt02 .line_pc > .bg {
  background-color: #f578b4;
}

.scholarship_ttl02 {
  line-height: 0;
}

.scholarship_ttl02 .m-ttl02_bg {
  background-color: #f578b4;
}

@media only screen and (max-width: 767px) {
  .scholarship_ttl02 .m-ttl02_bg {
    display: block;
  }
}

.scholarship_ttl02 img {
  width: 19rem;
}

@media print, screen and (min-width: 768px) {
  .scholarship_ttl02 img {
    width: 26.4rem;
  }
}

.scholarship_list01 {
  margin-bottom: 4rem;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .scholarship_list01 {
    margin: 0 auto 8rem auto;
    padding: 0 1rem;
    max-width: 130rem;
  }
}

.scholarship_list01 > li:not(:last-child) {
  margin-bottom: 2rem;
}

@media print, screen and (min-width: 768px) {
  .scholarship_list01 > li:not(:last-child) {
    margin-bottom: 6rem;
  }
}

.scholarship_box02 {
  margin: 0 -2rem -4rem -2rem;
  padding: 3.5rem 2rem;
  background: #f578b4;
}

@media print, screen and (min-width: 768px) {
  .scholarship_box02 {
    margin: 0 -2rem -8rem -2rem;
    padding: 4.5rem;
  }
}

.scholarship_btn01 {
  text-align: center;
}

.scholarship_btn01 .m-btn01 {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .scholarship_btn01 .m-btn01 {
    width: 54rem;
  }
}

.scholarship_btn01 .m-iconArrow01 {
  display: block;
}

/* ===== support ===== */
.support_sec {
  margin-bottom: 5rem;
}

@media print, screen and (min-width: 768px) {
  .support_sec {
    margin-bottom: 10rem;
  }
}

.support_box01 {
  padding: 2rem 2rem 4rem 2rem;
  border-radius: 1.5rem;
  background: linear-gradient(rgba(13, 227, 172, 0.15), rgba(152, 224, 95, 0.15));
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .support_box01 {
    padding: 5rem 2rem 8rem 2rem;
    border-radius: 2rem;
  }
}

@media print, screen and (min-width: 768px) {
  .support_ttl01 img {
    width: 70rem;
  }
}

.support_txt01 {
  margin-bottom: 2rem;
}

@media print, screen and (min-width: 768px) {
  .support_txt01 {
    margin-bottom: 4rem;
  }
}

.support_txt01 .line_sp > .bg,
.support_txt01 .line_pc > .bg {
  background-color: #50d264;
}

.support_img01 {
  margin-bottom: 3rem;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .support_img01 {
    margin-bottom: 6rem;
  }
}

.support_img01 img {
  width: 28rem;
}

@media print, screen and (min-width: 768px) {
  .support_img01 img {
    width: 56rem;
  }
}

.support_list01 {
  margin-bottom: 3rem;
}

@media print, screen and (min-width: 768px) {
  .support_list01 {
    margin: 0 auto 6rem auto;
    padding: 0 1rem;
    max-width: 130rem;
  }
}

@media print, screen and (min-width: 768px) {
  .support_list01 > li {
    display: flex;
  }
}

.support_list01 > li:not(:last-child) {
  margin-bottom: 3rem;
}

@media print, screen and (min-width: 768px) {
  .support_list01 > li:not(:last-child) {
    margin-bottom: 6rem;
  }
}

.support_list01_ttl {
  position: relative;
}

@media only screen and (max-width: 767px) {
  .support_list01_ttl {
    padding-bottom: 4rem;
  }
  .support_list01_ttl::before {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 1rem;
    border-top: 1.5rem solid #50d264;
    border-bottom: 0;
    border-left: 1.1rem solid transparent;
    border-right: 1.1rem solid transparent;
    content: "";
  }
}

@media print, screen and (min-width: 768px) {
  .support_list01_ttl {
    padding-right: 8rem;
    width: 68rem;
  }
  .support_list01_ttl::before {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 3rem;
    border-top: 1.5rem solid transparent;
    border-bottom: 1.5rem solid transparent;
    border-left: 2rem solid #50d264;
    border-right: 0;
    content: "";
  }
}

.support_list01_txt {
  font-weight: 500;
}

@media print, screen and (min-width: 768px) {
  .support_list01_txt {
    -ms-grid-row-align: center;
        align-self: center;
    flex: 1;
  }
}

.support_list02 {
  margin-bottom: 4rem;
}

@media print, screen and (min-width: 768px) {
  .support_list02 {
    display: flex;
    margin: 0 auto 8rem auto;
    max-width: 132rem;
  }
}

.support_list02 > li {
  position: relative;
}

@media only screen and (max-width: 767px) {
  .support_list02 > li {
    display: flex;
    margin: 2rem 0;
  }
}

@media print, screen and (min-width: 768px) {
  .support_list02 > li {
    margin: 0 2rem;
    width: calc(33.333% - 4rem - 0.1px);
  }
}

.support_list02 > li::before {
  position: absolute;
  background: transparent url("../img/bg_support_01.png") 50% 50% no-repeat;
  background-size: contain;
  content: "";
  z-index: 20;
}

@media only screen and (max-width: 767px) {
  .support_list02 > li::before {
    bottom: -3rem;
    left: 4rem;
    margin-left: -2.1rem;
    width: 4.1rem;
    height: 4.2rem;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}

@media print, screen and (min-width: 768px) {
  .support_list02 > li::before {
    top: 7rem;
    right: -6rem;
    margin-top: -4.2rem;
    width: 8.2rem;
    height: 8.4rem;
  }
}

@media only screen and (max-width: 767px) {
  .support_list02 > li:nth-child(1)::before {
    bottom: -5rem;
  }
}

@media only screen and (max-width: 767px) {
  .support_list02 > li:nth-child(2)::before {
    bottom: 0;
  }
}

.support_list02_ttl {
  position: relative;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .support_list02_ttl {
    display: flex;
    width: 8rem;
    justify-content: center;
    align-items: center;
  }
}

.support_list02_ttl::before, .support_list02_ttl::after {
  position: absolute;
  content: "";
  z-index: 20;
}

@media only screen and (max-width: 767px) {
  .support_list02_ttl::before, .support_list02_ttl::after {
    left: 50%;
    margin-left: -1px;
    border-left: 1px dotted #969696;
    height: calc(50% - 3.5rem + 2rem);
  }
}

@media print, screen and (min-width: 768px) {
  .support_list02_ttl::before, .support_list02_ttl::after {
    top: 50%;
    margin-top: -1px;
    border-top: 2px dotted #969696;
    width: calc(50% - 8rem + 4rem);
  }
}

@media only screen and (max-width: 767px) {
  .support_list02_ttl::before {
    top: -1rem;
  }
}

@media print, screen and (min-width: 768px) {
  .support_list02_ttl::before {
    left: -2rem;
  }
}

@media only screen and (max-width: 767px) {
  .support_list02_ttl::after {
    bottom: -1rem;
  }
}

@media print, screen and (min-width: 768px) {
  .support_list02_ttl::after {
    right: -2rem;
  }
}

.support_list02_ttl span {
  display: inline-block;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .support_list02_ttl span {
    width: 16rem;
  }
}

.support_list02_ttl span::before,
.support_list02_ttl span::after {
  position: absolute;
  border-radius: 100%;
  background: #fff;
  content: "";
}

@media only screen and (max-width: 767px) {
  .support_list02_ttl span::before,
  .support_list02_ttl span::after {
    left: 50%;
    margin-left: -0.3rem;
    width: 0.6rem;
    height: 0.6rem;
  }
}

@media print, screen and (min-width: 768px) {
  .support_list02_ttl span::before,
  .support_list02_ttl span::after {
    top: 50%;
    margin-top: -0.5rem;
    width: 1rem;
    height: 1rem;
  }
}

@media only screen and (max-width: 767px) {
  .support_list02_ttl span::before {
    top: 1rem;
  }
}

@media print, screen and (min-width: 768px) {
  .support_list02_ttl span::before {
    left: 2rem;
  }
}

@media only screen and (max-width: 767px) {
  .support_list02_ttl span::after {
    bottom: 1rem;
  }
}

@media print, screen and (min-width: 768px) {
  .support_list02_ttl span::after {
    right: 2rem;
  }
}

.support_list02 > li:last-child::before,
.support_list02 > li:last-child::after,
.support_list02 > li:first-child .support_list02_ttl::before,
.support_list02 > li:last-child .support_list02_ttl::after,
.support_list02 > li:first-child .support_list02_ttl span::before,
.support_list02 > li:last-child .support_list02_ttl span::after {
  display: none;
}

.support_list02_inner {
  background: #fff;
}

@media only screen and (max-width: 767px) {
  .support_list02_inner {
    margin-left: -2.5rem;
    padding: 1.5rem 1.5rem 1.5rem 4rem;
    border-radius: 0.7rem;
    flex: 1;
  }
}

@media print, screen and (min-width: 768px) {
  .support_list02_inner {
    margin-top: -3rem;
    padding: 6rem 3rem 3rem 3rem;
    border-radius: 1rem;
    height: calc(100% - 11rem);
  }
}

.support_list02_txt {
  font-weight: 500;
}

.support_box02 {
  margin: 0 -2rem -4rem -2rem;
  padding: 3.5rem 2rem;
  background: #50d264;
}

@media print, screen and (min-width: 768px) {
  .support_box02 {
    margin: 0 -2rem -8rem -2rem;
    padding: 4.5rem;
  }
}

@media print, screen and (min-width: 768px) {
  .support_btn01 {
    display: flex;
    margin: 0 -2rem;
    justify-content: center;
  }
}

@media only screen and (max-width: 767px) {
  .support_btn01 li:not(:last-child) {
    margin-bottom: 2rem;
  }
}

@media print, screen and (min-width: 768px) {
  .support_btn01 li {
    margin: 0 2rem;
    width: 40rem;
  }
}

.support_btn01 .m-btn01 {
  width: 100%;
}

.support_btn01 .m-iconArrow01 {
  display: block;
}

/* ===== banner ===== */
.banner_box01 {
  padding: 2rem;
  border-radius: 1.5rem;
  background: #f2f2f2;
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .banner_box01 {
    padding: 6rem;
    border-radius: 2rem;
  }
}

@media print, screen and (min-width: 768px) {
  .banner_list01 > li {
    display: flex;
    align-items: center;
  }
}

@media only screen and (max-width: 767px) {
  .banner_list01_img {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 768px) {
  .banner_list01_img {
    margin-right: 6rem;
    width: 68rem;
  }
}

.banner_list01_img a {
  display: block;
  border-radius: 1rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .banner_list01_img a:hover {
    opacity: 0.7;
  }
}

@media print, screen and (min-width: 768px) {
  .banner_list01_img a {
    border-radius: 2rem;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.15);
  }
}

@media print, screen and (min-width: 768px) {
  .banner_list01_inner {
    flex: 1;
  }
}

.banner_list01_txt {
  margin-bottom: 2.5rem;
  text-align: center;
  line-height: 0;
}

@media print, screen and (min-width: 768px) {
  .banner_list01_txt {
    margin-bottom: 6rem;
  }
}

@media print, screen and (min-width: 768px) {
  .banner_list01_txt img {
    width: 45rem;
  }
}

.banner_list01_btn {
  text-align: center;
}

.banner_list01_btn .m-btn01 {
  width: 27rem;
}

@media print, screen and (min-width: 768px) {
  .banner_list01_btn .m-btn01 {
    width: 38rem;
  }
}

.banner_list01_btn .m-iconArrow01 {
  display: block;
}
