@charset "UTF-8";
/*////////////////

definition.css

////////////////*/
/*////////////////

base.css

////////////////*/
body {
  height: 100%;
  min-height: 100%;
  font-family: "M PLUS Rounded 1c", 游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: normal;
  font-weight: 500;
  color: #231815;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch;
  position: relative;
  overflow-x: hidden;
  background: #cccccc;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5em;
}
@media only screen and (max-width:766px) {
  body {
    font-size: 16px;
    font-size: 1rem;
  }
}
body.active {
  overflow-y: hidden;
}
body.logged-in header {
  top: 32px;
}

html {
  height: 100%;
  min-height: 100%;
  scroll-behavior: smooth;
}

.wrapper {
  max-width: 1366px;
  margin: 0 auto;
  position: relative;
  padding-top: 100px;
  background: #fff;
}
@media only screen and (max-width:766px) {
  .wrapper {
    padding-top: 60px;
  }
}

svg, img {
  width: 100%;
}

select::-ms-expand {
  display: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.anchor_link {
  scroll-margin-top: 100px;
}

/*////////////////

text.css

////////////////*/
.center {
  text-align: center !important;
}

.right {
  text-align: right !important;
}

strong, b {
  font-weight: 700;
}

p {
  text-align: justify;
  text-justify: inter-ideograph;
  -ms-text-justify: inter-ideograph;
}

a {
  text-decoration: none;
  outline: none;
  color: #231815;
}

a:hover {
  text-decoration: none;
  color: #231815;
}

br.sm_br {
  display: none;
}
@media only screen and (max-width:766px) {
  br.sm_br {
    display: inline;
  }
}
br.tb_br {
  display: none;
}
@media only screen and (max-width:1023px) {
  br.tb_br {
    display: inline;
  }
}
@media only screen and (max-width:766px) {
  br.pc_tb_br {
    display: none;
  }
}
@media only screen and (max-width:1023px) {
  br.pc_br {
    display: none;
  }
}

.ttl {
  text-align: center;
  line-height: 1em;
  font-weight: 900;
}
.ttl span {
  display: inline-block;
}
@media only screen and (max-width:766px) {
  .ttl span {
    display: block;
  }
}
@media only screen and (max-width:766px) {
  .ttl span.sm_none {
    display: none;
  }
}

.ttl001 {
  font-size: 86px;
  font-size: 5.375rem;
  font-weight: 900;
}
@media only screen and (min-width:767px) and (max-width:1023px) {
  .ttl001 {
    font-size: 68px;
    font-size: 4.25rem;
  }
}
@media only screen and (max-width:766px) {
  .ttl001 {
    font-size: 34px;
    font-size: 2.125rem;
  }
}

.ttl002 {
  font-size: 48px;
  font-size: 3rem;
  font-weight: 900;
}
@media only screen and (max-width:1023px) {
  .ttl002 {
    font-size: 38px;
    font-size: 2.375rem;
  }
}

.ttl003 {
  text-align: center;
}
.ttl003 span {
  font-size: 33px;
  font-size: 2.0625rem;
  font-weight: 900;
  color: #46af32;
  display: inline-block;
  padding: 20px 30px;
  border-radius: 20px;
  background-color: #fff;
  border: 4px solid #231815;
}
@media only screen and (max-width:766px) {
  .ttl003 span {
    font-size: 26px;
    font-size: 1.625rem;
    padding: 10px 30px;
    border-radius: 10px;
  }
}

.ttl004 {
  font-size: 69px;
  font-size: 4.3125rem;
}
@media only screen and (max-width:766px) {
  .ttl004 {
    font-size: 34px;
    font-size: 2.125rem;
  }
}
.ttl004 span {
  font-size: 30px;
  font-size: 1.875rem;
  display: block;
}
@media only screen and (max-width:766px) {
  .ttl004 span {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

.ttl005 {
  font-size: 28px;
  font-size: 1.75rem;
  padding: 10px;
}

.ttl006 {
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 1.2em;
}
@media only screen and (max-width:766px) {
  .ttl006 {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

.green {
  color: #46af32;
}
.green a {
  color: #46af32;
}

.blue {
  color: #00a0ff;
}
.blue a {
  color: #00a0ff;
}

.yellow {
  color: #ffe100;
}
.yellow a {
  color: #ffe100;
}

.white {
  color: #fff;
}
.white a {
  color: #fff;
}

/*////////////////

button.css

////////////////*/
.link_bt a {
  display: block;
  text-align: center;
  border: 4px solid #231815;
  line-height: 1em;
  font-weight: 900;
  border-radius: 20px;
}

.link001 a {
  background-color: #fff;
  max-width: 320px;
  width: 100%;
  font-size: 33px;
  font-size: 2.0625rem;
  padding: 10px;
  color: #46af32;
}
@media only screen and (max-width:766px) {
  .link001 a {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

.link002 a {
  background-color: #46af32;
  color: #fff;
  max-width: 320px;
  width: 100%;
  font-size: 26px;
  font-size: 1.625rem;
  padding: 10px;
}
@media only screen and (max-width:766px) {
  .link002 a {
    font-size: 21px;
    font-size: 1.3125rem;
  }
}

.link003 a {
  background-color: #46af32;
  color: #fff;
  font-size: 36px;
  font-size: 2.25rem;
  display: inline-block;
  padding: 35px 50px;
}
@media only screen and (max-width:766px) {
  .link003 a {
    font-size: 23px;
    font-size: 1.4375rem;
    padding: 28px;
  }
}

.link004 a {
  color: #00a0ff;
  font-size: 24px;
  font-size: 1.5rem;
  display: inline-block;
  padding: 28px 36px;
}
@media only screen and (max-width:766px) {
  .link004 a {
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 22px 28px;
  }
}

.menu_bt {
  margin-top: -1px;
}
.menu_bt ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 90px;
}
@media only screen and (min-width:767px) and (max-width:1023px) {
  .menu_bt ul {
    gap: 40px;
  }
}
@media only screen and (max-width:766px) {
  .menu_bt ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 28px;
  }
}
.menu_bt ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.menu_bt ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 15px;
  width: 420px;
  border-radius: 30px;
}
@media only screen and (min-width:767px) and (max-width:1023px) {
  .menu_bt ul li a {
    width: 300px;
  }
}
@media only screen and (max-width:766px) {
  .menu_bt ul li a {
    width: 100%;
    height: 166px;
  }
}

.menu_bt001 ul li a {
  background-color: #46af32;
  color: #fff;
  font-weight: 900;
  font-size: 48px;
  font-size: 3rem;
}
@media only screen and (min-width:767px) and (max-width:1023px) {
  .menu_bt001 ul li a {
    font-size: 30px;
    font-size: 1.875rem;
  }
}
@media only screen and (max-width:766px) {
  .menu_bt001 ul li a {
    font-size: 36px;
    font-size: 2.25rem;
  }
}

.interview_card {
  width: 425px;
  height: 177px;
  display: block;
  background-image: url(../images/interview/inteview_bt.svg);
  background-repeat: no-repeat;
  background-size: 400px auto;
  background-position: 25px 0;
  text-align: center;
  padding: 15px 35px;
  font-size: 37px;
  font-size: 2.3125rem;
  font-weight: 900;
}
@media only screen and (max-width:766px) {
  .interview_card {
    width: 340px;
    height: 142px;
    background-size: 315px auto;
    font-size: 30px;
    font-size: 1.875rem;
  }
}
.interview_card .interview_ttl, .interview_card .interview_team {
  font-size: 30px;
  font-size: 1.875rem;
  display: block;
}
@media only screen and (max-width:766px) {
  .interview_card .interview_ttl, .interview_card .interview_team {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.interview_card .interview_ttl {
  color: #00a0ff;
  margin-bottom: 0.3em;
}
.interview_card .interview_team {
  margin-top: 0.5em;
}

/*////////////////

other.css

////////////////*/
.logo a {
  display: block;
  text-indent: -99999px;
}

.gmap {
  width: 100%;
  aspect-ratio: 12/7;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  border: 0;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}

.table001 {
  border-left: 3px solid #46af32;
  border-top: 3px solid #46af32;
  width: 100%;
}
.table001 thead th {
  background-color: #b4d898;
}
.table001 th, .table001 td {
  border-right: 3px solid #46af32;
  border-bottom: 3px solid #46af32;
  padding: 5px;
  font-size: 30px;
  font-size: 1.875rem;
  text-align: center;
  vertical-align: middle;
}
@media only screen and (max-width:766px) {
  .table001 th, .table001 td {
    font-size: 16px;
    font-size: 1rem;
    border-right: 2px solid #46af32;
    border-bottom: 2px solid #46af32;
  }
}

.table002 {
  width: 100%;
}
@media only screen and (max-width:766px) {
  .table002 tr {
    display: block;
    width: 100%;
  }
}
.table002 tr th, .table002 tr td {
  vertical-align: top;
  text-align: left;
  border-bottom: 2px dashed #46af32;
  padding-top: 5px;
  padding-bottom: 5px;
}
@media only screen and (max-width:766px) {
  .table002 tr th, .table002 tr td {
    display: block;
    width: 100% !important;
    text-align: center;
    padding-top: 0px;
    padding-bottom: 0px;
    border-bottom: 1px dashed #46af32;
  }
}
.table002 tr th {
  color: #46af32;
  white-space: nowrap;
  padding-right: 30px;
  border-right: 2px dashed #46af32;
  width: 1%;
}
@media only screen and (max-width:766px) {
  .table002 tr th {
    border-bottom: none;
    border-right: none;
    padding-right: 0px;
    padding-top: 5px;
  }
}
.table002 tr td {
  padding-left: 30px;
}
.table002 tr td a {
  display: inline;
  overflow-wrap: break-word;
  word-break: break-all;
}
@media only screen and (max-width:766px) {
  .table002 tr td {
    padding-left: 0;
    padding-bottom: 5px;
  }
}
@media only screen and (max-width:766px) {
  .table002 tr td.target {
    text-align: center;
    padding-top: 1em;
  }
}
.table002 tr td.target img {
  display: inline-block;
  height: 145px;
  width: auto;
  margin-right: 15px;
}
@media only screen and (max-width:1023px) {
  .table002 tr td.target img {
    height: 100px;
  }
}
.table002 tr td.sns {
  line-height: 1em;
}
.table002 tr td.sns a {
  display: inline-block;
  margin-right: 0.3em;
  font-size: 28px;
  font-size: 1.75rem;
}
@media only screen and (max-width:766px) {
  .table002 tr td.sns a {
    margin-left: 0.3em;
  }
}

/*////////////////

header.css

////////////////*/
header {
  background: #00a0ff;
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  max-width: 1366px;
  height: 100px;
  z-index: 50;
}
@media only screen and (max-width:766px) {
  header {
    height: 60px;
  }
}
header .header_logo {
  position: absolute;
  top: 20px;
  left: 25px;
  z-index: 10;
}
@media only screen and (max-width:766px) {
  header .header_logo {
    top: 14px;
    left: 5px;
  }
}
header .header_logo a {
  background-image: url(../images/common/logo.svg);
  background-repeat: no-repeat;
  background-size: 463px auto;
  width: 463px;
  height: 69px;
}
@media only screen and (min-width:767px) and (max-width:1023px) {
  header .header_logo a {
    width: 374px;
    height: 55px;
    background-size: 374px auto;
  }
}
@media only screen and (max-width:766px) {
  header .header_logo a {
    background-size: 230px auto;
    width: 230px;
    height: 34px;
  }
}
header nav {
  display: none;
  width: 100%;
  max-width: 1366px;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #00a0ff;
  z-index: 50;
}
header nav .nav_inner {
  height: 100%;
  overflow: auto;
  padding-top: 100px;
}
@media only screen and (max-width:766px) {
  header nav .nav_inner {
    padding: 60px 0px 0 0;
  }
}
header nav .gnav_header {
  text-align: center;
  display: -ms-grid;
  display: grid;
  gap: 1.5em;
  margin-bottom: 3em;
}
header nav .gnav_header a {
  color: #fff;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 900;
}
@media only screen and (max-width:766px) {
  header nav .gnav_header a {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
@media only screen and (max-width:766px) {
  header nav .member_area .menber_area__ttl {
    font-size: 20px;
    font-size: 1.25rem;
  }
  header nav .member_area .member_area__bt li a {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
header .header_contact {
  position: absolute;
  top: 50%;
  right: 120px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width:766px) {
  header .header_contact {
    display: none;
  }
}
header .header_contact a {
  display: block;
  background-color: #fff;
  color: #00a0ff;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 900;
  border-radius: 20px;
  padding: 5px 20px;
}
@media only screen and (min-width:767px) and (max-width:1023px) {
  header .header_contact a {
    font-size: 16px;
    font-size: 1rem;
  }
}
header .sm_menu_bt {
  position: absolute;
  z-index: 110;
  -webkit-transition: 0.3s opacity;
  transition: 0.3s opacity;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 40px;
  height: 30px;
  width: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width:766px) {
  header .sm_menu_bt {
    height: 22px;
    width: 40px;
    right: 20px;
  }
}
header .sm_menu_bt .menu-trigger, header .sm_menu_bt .menu-trigger span {
  display: inline-block;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
header .sm_menu_bt .menu-trigger {
  position: relative;
  height: 30px;
  width: 50px;
  display: block;
  text-align: center;
}
@media only screen and (max-width:766px) {
  header .sm_menu_bt .menu-trigger {
    height: 22px;
    width: 40px;
  }
}
header .sm_menu_bt .menu-trigger span {
  position: absolute;
  right: 0;
  height: 3px;
  background-color: #fff;
  width: 100%;
  left: 0px;
}
@media only screen and (max-width:766px) {
  header .sm_menu_bt .menu-trigger span {
    height: 2px;
  }
}
header .sm_menu_bt .menu-trigger span:nth-of-type(1) {
  top: 0;
}
header .sm_menu_bt .menu-trigger span:nth-of-type(2) {
  top: 13px;
}
@media only screen and (max-width:766px) {
  header .sm_menu_bt .menu-trigger span:nth-of-type(2) {
    top: 10px;
  }
}
header .sm_menu_bt .menu-trigger span:nth-of-type(3) {
  top: 27px;
}
@media only screen and (max-width:766px) {
  header .sm_menu_bt .menu-trigger span:nth-of-type(3) {
    top: 20px;
  }
}
header .sm_menu_bt .menu-trigger:hover {
  cursor: pointer;
}
header .sm_menu_bt .menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(15px) translateX(0px) rotate(-45deg);
          transform: translateY(15px) translateX(0px) rotate(-45deg);
  width: 100%;
}
@media only screen and (max-width:766px) {
  header .sm_menu_bt .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) translateX(0px) rotate(-45deg);
            transform: translateY(10px) translateX(0px) rotate(-45deg);
  }
}
header .sm_menu_bt .menu-trigger.active span:nth-of-type(3) {
  display: none;
}
header .sm_menu_bt .menu-trigger.active span:nth-of-type(2) {
  -webkit-transform: translateY(2px) translateX(0px) rotate(45deg);
          transform: translateY(2px) translateX(0px) rotate(45deg);
  width: 100%;
}
@media only screen and (max-width:766px) {
  header .sm_menu_bt .menu-trigger.active span:nth-of-type(2) {
    -webkit-transform: translateY(0px) translateX(0px) rotate(45deg);
            transform: translateY(0px) translateX(0px) rotate(45deg);
  }
}

/*////////////////

footer.css

////////////////*/
footer {
  padding-top: 100px;
}
@media only screen and (max-width:766px) {
  footer {
    padding-top: 40px;
  }
}
footer .link003, footer .link004 {
  text-align: center;
  margin-bottom: 2em;
}
footer .footer_inner {
  padding: 35px 0;
  background-color: #ffe100;
}
@media only screen and (max-width:766px) {
  footer .footer_inner {
    padding: 25px;
  }
}
footer .footer_inner .footer_logo {
  margin-bottom: 0.7em;
}
footer .footer_inner .footer_logo a {
  margin: 0 auto;
  background-image: url(../images/common/logo002.svg);
  background-repeat: no-repeat;
  background-size: 388px auto;
  width: 388px;
  height: 32px;
}
@media only screen and (max-width:766px) {
  footer .footer_inner .footer_logo a {
    background-size: 320px auto;
    width: 320px;
    height: 27px;
    margin: 0;
  }
}
footer .footer_inner .footer_menu {
  margin-bottom: 0.3em;
}
@media only screen and (max-width:766px) {
  footer .footer_inner .footer_menu {
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 900;
  }
}
footer .footer_inner .footer_menu .footer_menu001, footer .footer_inner .footer_menu .footer_menu002 {
  display: none;
}
@media only screen and (max-width:766px) {
  footer .footer_inner .footer_menu .footer_menu001, footer .footer_inner .footer_menu .footer_menu002 {
    display: block;
    margin-bottom: 1em;
  }
}
footer .footer_inner .footer_menu .footer_menu003 {
  text-align: center;
}
@media only screen and (max-width:766px) {
  footer .footer_inner .footer_menu .footer_menu003 {
    text-align: left;
    margin-bottom: 1em;
  }
}
footer .footer_inner .footer_copy {
  text-align: center;
}
@media only screen and (max-width:766px) {
  footer .footer_inner .footer_copy {
    text-align: left;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.5em;
  }
}

/*////////////////

common.css

////////////////*/
.first_sec {
  padding-top: 90px;
}
@media only screen and (max-width:766px) {
  .first_sec {
    padding-top: 16px;
  }
}

.common_page {
  padding-right: 25px;
  padding-left: 25px;
}
.common_page h2.ttl {
  margin-bottom: 1em;
}
.common_page section {
  max-width: 840px;
  margin: 0 auto 100px auto;
}
@media only screen and (max-width:766px) {
  .common_page section {
    margin: 0 auto 80px auto;
  }
}
.common_page section:last-of-type {
  margin-bottom: 0;
}
.common_page section h3.ttl {
  margin-bottom: 1em;
}
@media only screen and (max-width:766px) {
  .common_page section h3.ttl {
    margin-bottom: 0.5em;
  }
}

.back_blue {
  background-color: #00a0ff;
}

.back_yellow {
  background-color: #ffe100;
}

.back_green {
  background-color: #46af32;
}

.back_skyblue {
  background-color: #b9e1fa;
}

.back_img {
  background-repeat: no-repeat;
  background-size: 1366px auto;
}
@media only screen and (max-width:766px) {
  .back_img {
    background-size: 100% auto;
  }
}

.back_img_yellow {
  background-image: url(../images/common/round_back__yellow.png);
}
@media only screen and (max-width:766px) {
  .back_img_yellow {
    background-image: url(../images/common/round_back__yellow_sm.png);
  }
}

.back_img_green {
  background-image: url(../images/common/round_back__green.png);
}
@media only screen and (max-width:766px) {
  .back_img_green {
    background-image: url(../images/common/round_back__green_sm.png);
  }
}

.supporter {
  padding: 65px 30px 0 30px;
  display: -ms-grid;
  display: grid;
  gap: 80px;
}
@media only screen and (max-width:766px) {
  .supporter {
    gap: 40px;
  }
}
.supporter .supporter_sec h3 {
  text-align: center;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 800;
  margin-bottom: 2em;
}
@media only screen and (max-width:766px) {
  .supporter .supporter_sec h3 {
    font-size: 24px;
    font-size: 1.5rem;
    margin-bottom: 1em;
  }
}
.supporter .supporter_sec .supporter_list li.w840 img {
  max-width: 840px;
}
.supporter .supporter_sec .supporter_list li.w400 img {
  max-width: 400px;
}
.supporter .supporter_sec .supporter_list li.w330 img {
  max-width: 330px;
}
.supporter .supporter_sec .supporter_special {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 60px;
}
.supporter .supporter_sec .supporter_special li {
  text-align: center;
}
.supporter .supporter_sec .supporter_gold {
  max-width: 1250px;
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 60px 1fr 60px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 60px;
}
@media only screen and (max-width:766px) {
  .supporter .supporter_sec .supporter_gold {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 20px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
.supporter .supporter_sec .supporter_silver {
  max-width: 1250px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 60px 1fr 60px 1fr;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px 60px;
}
@media only screen and (max-width:766px) {
  .supporter .supporter_sec .supporter_silver {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 20px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
.supporter .supporter_sec .supporter_bronze {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 900px;
  margin: 0 auto;
}
.supporter .supporter_sec .supporter_bronze li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.supporter .supporter_sec .supporter_bronze li:not(:last-child)::after {
  content: "|";
  margin: 0 12px;
  font-weight: normal;
}
.supporter .supporter_sec .supporter_bronze li.not:after {
  content: none;
}
@media only screen and (max-width:766px) {
  .supporter .supporter_sec .supporter_bronze li {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.member_area {
  background-color: #b9e1fa;
  padding: 40px 30px 50px 30px;
}
.member_area .menber_area__ttl {
  font-size: 30px;
  font-size: 1.875rem;
  margin-bottom: 1em;
  font-weight: 900;
  text-align: center;
  color: #00a0ff;
}
@media only screen and (max-width:766px) {
  .member_area .menber_area__ttl {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.member_area .member_area__bt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 50px;
}
@media only screen and (max-width:766px) {
  .member_area .member_area__bt {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.member_area .member_area__bt li a {
  display: block;
  background-color: #00a0ff;
  color: #fff;
  font-size: 30px;
  font-size: 1.875rem;
  padding: 33px 20px;
  width: 270px;
}
@media only screen and (max-width:766px) {
  .member_area .member_area__bt li a {
    font-size: 26px;
    font-size: 1.625rem;
    margin: 0 auto;
    padding: 20px;
  }
}

.w800 {
  max-width: 800px;
  margin: 0 auto;
}

.link_list {
  padding-bottom: 100px;
}
@media only screen and (max-width:766px) {
  .link_list {
    padding-bottom: 40px;
  }
}
.link_list ul {
  display: -ms-grid;
  display: grid;
  gap: 1em;
}
.link_list ul li {
  text-align: center;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 900;
}
@media only screen and (max-width:766px) {
  .link_list ul li {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

/*////////////////

top.css

////////////////*/
#top_cont .ttl {
  margin-bottom: 0.5em;
}

.top_ill {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  background-position: center bottom;
  padding: 0 85px;
  gap: 0 26px;
}
@media only screen and (min-width:767px) and (max-width:1023px) {
  .top_ill {
    padding: 0 25px;
  }
}
@media only screen and (max-width:766px) {
  .top_ill {
    padding: 0 50px 20px 50px;
  }
}
.top_ill .top_ill__cont img {
  width: 100%;
}
@media only screen and (max-width:766px) {
  .top_ill .top_ill__cont img {
    max-width: 100% !important;
  }
}
.top_ill #ill001 img {
  max-width: 220px;
}
@media only screen and (max-width:766px) {
  .top_ill #ill002 {
    padding-top: 50px;
  }
}
.top_ill #ill002 img {
  max-width: 178px;
}
@media only screen and (max-width:766px) {
  .top_ill #ill003 {
    padding-top: 30px;
  }
}
.top_ill #ill003 img {
  max-width: 226px;
}
.top_ill #ill004 {
  padding-top: 50px;
}
@media only screen and (max-width:766px) {
  .top_ill #ill004 {
    padding-top: 90px;
  }
}
.top_ill #ill004 img {
  max-width: 194px;
}
@media only screen and (max-width:766px) {
  .top_ill #ill005 {
    padding-top: 35px;
  }
}
.top_ill #ill005 img {
  max-width: 232px;
}

.menu_bt001, .top_news {
  background-color: #ffe100;
  padding: 0 25px;
}

.top_news {
  padding: 55px 30px;
}
.top_news .news_list {
  max-width: 920px;
  margin: 0 auto 2em auto;
}
.top_news .news_list ul {
  display: -ms-grid;
  display: grid;
  gap: 1em;
}
.top_news .news_list ul li a span {
  font-weight: 900;
  display: block;
}
.top_news .top_news__link {
  display: -ms-grid;
  display: grid;
  gap: 50px;
}
@media only screen and (max-width:766px) {
  .top_news .top_news__link {
    gap: 30px;
  }
}
.top_news .top_news__link .link_bt a {
  margin: 0 auto;
}

.interview {
  padding: 30px;
}
.interview ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/*////////////////

blog.css

////////////////*/
.blog_cont {
  margin-top: -1px;
  padding: 60px 25px;
  background-position: center top;
}
@media only screen and (max-width:766px) {
  .blog_cont {
    padding: 30px 25px;
  }
}
.blog_cont .ttl003 {
  margin-bottom: 2em;
}
@media only screen and (max-width:766px) {
  .blog_cont .ttl003 {
    margin-bottom: 1.5em;
  }
}
.blog_cont .blog_cat_list {
  margin-bottom: 3em;
}
.blog_cont .blog_cat_list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width:766px) {
  .blog_cont .blog_cat_list ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.blog_cont .blog_cat_list ul li a {
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: 900;
  border: 4px solid #231815;
  background: #fff;
  display: block;
  text-align: center;
  width: 8em;
  padding: 10px 10px;
  border-radius: 30px;
  margin: 0 auto;
}
.blog_cont .blog_list {
  max-width: 640px;
  margin: 0 auto;
}
.blog_cont .blog_list ul {
  display: -ms-grid;
  display: grid;
  gap: 2em;
}
.blog_cont .blog_list ul li {
  font-weight: 900;
  text-align: center;
  font-size: 30px;
  font-size: 1.875rem;
}
@media only screen and (max-width:766px) {
  .blog_cont .blog_list ul li {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.blog_cont .blog_list ul li span {
  display: block;
  font-size: 24px;
  font-size: 1.5rem;
}
@media only screen and (max-width:766px) {
  .blog_cont .blog_list ul li span {
    font-size: 19px;
    font-size: 1.1875rem;
  }
}

.cat_name {
  font-size: 21px;
  font-size: 1.3125rem;
  font-weight: 900;
  border: 4px solid #231815;
  background: #fff;
  display: block;
  text-align: center;
  width: 8em;
  padding: 5px 10px;
  border-radius: 30px;
  margin: 0 auto 0.5em auto;
}
@media only screen and (max-width:766px) {
  .cat_name {
    font-size: 16px;
    font-size: 1rem;
    border: 2px solid #231815;
    padding: 2px 10px;
  }
}

.blog_wrapper {
  max-width: 640px;
  margin: 0 auto;
}
.blog_wrapper .blog_ttl {
  text-align: center;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1.3em;
  margin-bottom: 0.2em;
}
@media only screen and (max-width:766px) {
  .blog_wrapper .blog_ttl {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.blog_wrapper .blog_date {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 1em;
}
@media only screen and (max-width:766px) {
  .blog_wrapper .blog_date {
    font-size: 19px;
    font-size: 1.1875rem;
  }
}
.blog_wrapper .blog_nav {
  margin-top: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 900;
}
@media only screen and (max-width:766px) {
  .blog_wrapper .blog_nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    text-align: center;
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.blog_wrapper .link001 {
  padding-top: 2em;
}
.blog_wrapper .link001 a {
  margin: 0 auto;
}

.blog_body p, .blog_body figure {
  margin-bottom: 1em;
}
.blog_body p:last-child, .blog_body figure:last-child {
  margin-bottom: 0;
}
.blog_body figcaption {
  font-size: 16px;
  font-size: 1rem;
}
@media only screen and (max-width:766px) {
  .blog_body figcaption {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

/*////////////////

news.css

////////////////*/
#news_cont .ttl {
  margin-bottom: 0.5em;
}
#news_cont .news_cont {
  padding: 60px 25px;
  background-position: center top;
}
@media only screen and (max-width:766px) {
  #news_cont .news_cont {
    padding: 30px 25px;
  }
}
#news_cont .news_cont .ttl003 {
  margin-bottom: 2em;
}
@media only screen and (max-width:766px) {
  #news_cont .news_cont .ttl003 {
    margin-bottom: 1.5em;
  }
}
#news_cont .news_cont .news_list {
  max-width: 640px;
  margin: 0 auto;
}
#news_cont .news_cont .news_list ul {
  display: -ms-grid;
  display: grid;
  gap: 1.5em;
}
#news_cont .news_cont .news_list ul li {
  font-weight: 900;
  text-align: center;
}
#news_cont .news_cont .news_list ul li span {
  display: block;
}

.blog_wrapper {
  max-width: 640px;
  margin: 0 auto;
}
.blog_wrapper .blog_ttl {
  text-align: center;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1.3em;
  margin-bottom: 0.2em;
}
@media only screen and (max-width:766px) {
  .blog_wrapper .blog_ttl {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.blog_wrapper .blog_date {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 1em;
}
@media only screen and (max-width:766px) {
  .blog_wrapper .blog_date {
    font-size: 19px;
    font-size: 1.1875rem;
  }
}
.blog_wrapper .blog_body p {
  margin-bottom: 1em;
}
.blog_wrapper .blog_body p:last-child {
  margin-bottom: 0;
}
.blog_wrapper .blog_nav {
  margin-top: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 900;
}
@media only screen and (max-width:766px) {
  .blog_wrapper .blog_nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    text-align: center;
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.blog_wrapper .link001 {
  padding-top: 2em;
}
.blog_wrapper .link001 a {
  margin: 0 auto;
}

/*////////////////

event.css

////////////////*/
#event_cont .ttl {
  margin-bottom: 0.5em;
}

/*////////////////

about.css

////////////////*/
.about_text h4 {
  font-size: 30px;
  font-size: 1.875rem;
  margin-bottom: 1em;
  text-align: center;
  line-height: 1.3em;
}
@media only screen and (max-width:766px) {
  .about_text h4 {
    font-size: 24px;
    font-size: 1.5rem;
  }
}

.about_address p {
  text-align: center;
  font-size: 24px;
  font-size: 1.5rem;
}
@media only screen and (max-width:766px) {
  .about_address p {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.about_address p.address {
  margin-bottom: 2em;
}
.about_address p.mail {
  font-size: 48px;
  font-size: 3rem;
  font-weight: 900;
  line-height: 1em;
  margin-bottom: 0.3em;
}
@media only screen and (max-width:766px) {
  .about_address p.mail {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

/*////////////////

supporter.css

////////////////*/
.supporter_course {
  margin: 2em 0;
  text-align: center;
  font-size: 34px;
  font-size: 2.125rem;
  font-weight: 900;
}
@media only screen and (max-width:766px) {
  .supporter_course {
    margin: 1em 0;
    font-size: 27px;
    font-size: 1.6875rem;
  }
}
.supporter_course h3 {
  margin-bottom: 0.5em;
}
.supporter_course h3 span {
  display: inline-block;
  background-color: #00a0ff;
  color: #fff;
  padding: 10px 40px;
  border-radius: 40px;
}
.supporter_course ul {
  display: inline-block;
}
.supporter_course ul li {
  text-align: left;
  margin-bottom: 0.2em;
}
.supporter_course ul li:last-child {
  margin-bottom: 0;
}

.support_merit {
  display: -ms-grid;
  display: grid;
  gap: 1.5em;
  margin-bottom: 2em;
}

.support_contact {
  text-align: center;
  font-weight: 900;
  font-size: 27px;
  font-size: 1.6875rem;
}
@media only screen and (max-width:766px) {
  .support_contact {
    font-size: 17px;
    font-size: 1.0625rem;
  }
}

.supporter_list {
  font-weight: 800;
  text-align: center;
}
@media only screen and (max-width:766px) {
  .supporter_list {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

@media only screen and (max-width:766px) {
  .corporation_supporter_list {
    display: -ms-grid;
    display: grid;
    gap: 0.3em;
  }
}
.corporation_supporter_list li {
  display: inline-block;
  padding: 0 1em;
}
@media only screen and (max-width:766px) {
  .corporation_supporter_list li {
    display: block;
  }
}

/*////////////////

interview.css

////////////////*/
.interview_page {
  padding-bottom: 130px;
}
@media only screen and (max-width:1023px) {
  .interview_page {
    padding-bottom: 0;
  }
}
.interview_page .interview_cont {
  background-color: #fff;
  max-width: 900px;
  margin: 0 auto;
  padding: 50px 25px 25px 25px;
}
.interview_page .interview_cont h2 {
  margin: 0 auto 1em auto;
}
.interview_page .interview_cont .profile {
  margin-bottom: 1.5em;
}
.interview_page .interview_cont .profile p {
  text-align: center;
  color: #00a0ff;
  font-weight: 900;
  font-size: 24px;
  font-size: 1.5rem;
}
@media only screen and (max-width:766px) {
  .interview_page .interview_cont .profile p {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.interview_page .interview_cont .interview_body {
  max-width: 640px;
  margin: 0 auto;
}

/*////////////////

school_map.css

////////////////*/
.school_map_area {
  position: relative;
  padding: 10px 25px 60px 25px;
}
.school_map_area .school_map_ttl {
  position: absolute;
  text-align: center;
  z-index: 10;
  width: 100%;
  max-width: 920px;
  left: 50%;
  top: 70px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: calc(100% - 50px);
}
.school_map_area .school_map_ttl h2 {
  margin-bottom: 0.5em;
}
@media only screen and (max-width:766px) {
  .school_map_area .school_map_ttl {
    top: 30px;
    width: calc(100% - 50px);
  }
}
.school_map_area .school_map_ttl p {
  color: #fff;
}
.school_map_area .map_container {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
.school_map_area .map_container .map_img {
  width: 100%;
  height: auto;
  display: block;
}
.school_map_area .map_container .map_btn {
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #ffe100;
  border-radius: 20px;
  padding: 2px 10px;
  font-size: 14px;
  font-weight: 900;
  color: #231815;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1em;
}
@media only screen and (max-width:766px) {
  .school_map_area .map_container .map_btn {
    font-size: 7px;
    font-size: 0.4375rem;
    padding: 1px 2px;
  }
}
.school_map_area .map_container .btn_sanda {
  top: 50.8%;
  left: 78%;
}
.school_map_area .map_container .btn_kawanishi {
  top: 55%;
  left: 91.5%;
}
.school_map_area .map_container .btn_takarazuka {
  top: 58.2%;
  left: 87.2%;
}
.school_map_area .map_container .btn_itami {
  top: 61.2%;
  left: 95%;
}
.school_map_area .map_container .btn_himeji {
  top: 55.8%;
  left: 33.6%;
}
.school_map_area .map_container .btn_kakogawa {
  top: 58.8%;
  left: 48.8%;
}
.school_map_area .map_container .btn_takasago {
  top: 61.8%;
  left: 42.6%;
}
.school_map_area .map_container .btn_nishinomiya {
  top: 63.4%;
  left: 86.5%;
}
.school_map_area .map_container .btn_amagasaki {
  top: 65.5%;
  left: 94.2%;
}
.school_map_area .map_container .btn_kobe {
  top: 64.8%;
  left: 73%;
}
.school_map_area .map_container .btn_ashiya {
  top: 65.8%;
  left: 82.8%;
}
.school_map_area .map_container .btn_akashi {
  top: 66.8%;
  left: 54.2%;
}
.school_map_area .map_container .btn_awaji {
  top: 87.8%;
  left: 44.5%;
}

.school_map_cont {
  padding: 90px 25px;
  display: -ms-grid;
  display: grid;
  gap: 25px;
}
@media only screen and (max-width:766px) {
  .school_map_cont {
    padding: 70px 25px;
  }
}
.school_map_cont .school_sec {
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
}
.school_map_cont .school_sec h3 {
  background-color: #ffe100;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 900;
  text-align: center;
  padding: 5px;
  border-radius: 30px;
  -webkit-transition: 0.6s all;
  transition: 0.6s all;
}
.school_map_cont .school_sec h3:hover {
  cursor: pointer;
  opacity: 0.6;
}
@media only screen and (max-width:766px) {
  .school_map_cont .school_sec h3 {
    padding: 15px;
  }
}
.school_map_cont .school_sec h3.active {
  background-color: #fff096;
}
.school_map_cont .school_sec .school_info_wrapper {
  padding: 30px 0;
  display: -ms-grid;
  display: grid;
  gap: 30px;
}
.school_map_cont .school_sec .school_info_wrapper > section {
  position: relative;
  background-color: #b4d898;
  border: 5px solid #47a738;
  border-radius: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width:766px) {
  .school_map_cont .school_sec .school_info_wrapper > section {
    border-radius: 15px;
    border: 2px solid #47a738;
  }
}
.school_map_cont .school_sec .school_info_wrapper > section .school_info_cont {
  position: relative;
  top: -10px;
  left: -10px;
  width: 100%;
  background-color: #ffffff;
  border: 5px solid #46af32;
  border-radius: 50px;
  padding: 32px 56px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width:766px) {
  .school_map_cont .school_sec .school_info_wrapper > section .school_info_cont {
    top: -6px;
    left: -6px;
    padding: 15px;
    border-radius: 15px;
    border: 2px solid #46af32;
  }
}
.school_map_cont .school_sec .school_info_wrapper > section .school_info_cont h4 {
  font-size: 40px;
  font-size: 2.5rem;
  color: #46af32;
  margin-bottom: 0.5em;
}
@media only screen and (max-width:766px) {
  .school_map_cont .school_sec .school_info_wrapper > section .school_info_cont h4 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.school_map_cont .school_sec .school_info_wrapper > section .school_info_cont .school_exp {
  margin-bottom: 0.5em;
}

/*////////////////

privacypolicy.css

////////////////*/
.privacy_policy section {
  display: -ms-grid;
  display: grid;
  gap: 1em;
}