@charset "UTF-8";
@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }

  main {
    width: 100%;
    margin: auto;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
    line-height: 1.8;
    font-size: 14px;
    color: #292929;
  }
  main img {
    width: 100%;
  }
  main a:hover {
    opacity: 0.8;
  }
  main h2 {
    font-size: 25px;
    font-weight: bold;
    color: #040e88;
    position: relative;
    text-align: center;
    margin-bottom: 40px;
  }
  main h2:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -15px;
    width: 40px;
    height: 2px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: #040e88;
  }
  main h3 {
    color: #040e88;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px;
  }
  main h4 {
    font-size: 25px;
    font-weight: bold;
    color: #040e88;
    line-height: 1.7;
  }
  main .center {
    text-align: center;
  }
  main .blue {
    color: #040e88;
    font-weight: bold;
  }
  main .light-blue {
    color: #00a0e9;
  }
  main .red {
    color: #fb446e;
    font-weight: bold;
  }
  main .inner {
    width: 1000px;
    margin: auto;
  }
  main .inner2 {
    width: 100%;
    margin: auto;
    background: #10C656;
    padding: 30px 0;
  }
  main button {
    font-size: 15px;
    color: white;
    text-align: center;
    padding: 10px 15px;
    background: #00a0e9;
    width: 400px;
    font-weight: bold;
    position: relative;
  }
  main button:after {
    content: url(/img/recruit/arrow.svg);
    position: absolute;
    top: 40%;
    right: 20px;
    width: 10px;
  }
  main button:hover {
    opacity: 0.8;
  }
  main .cta h4 {
    color: #fb446e;
    margin-bottom: 20px;
    text-align: center;
  }
  main .cta ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  main .cta button {
    background: #fb446e;
    text-align: left;
    width: 300px;
  }
  main .cta button span {
    background: white;
    color: #fb446e;
    padding: 5px;
    margin-right: 20px;
  }
  main .acd-check {
    display: none;
  }
  main .acd-label {
    background: #00a0e9;
    color: #fff;
    padding: 10px 30px;
    position: relative;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 15px;
  }
  main .acd-label:after {
    background: #fff;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    content: "＋";
    position: absolute;
    right: 20px;
    top: 32%;
    color: #00a0e9;
    border-radius: 10px;
    width: 20px;
    height: 20px;
    line-height: 1.5;
    padding: 0 2px;
  }
  main .acd-content {
    height: 0;
    opacity: 0;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    visibility: hidden;
    padding: 0% 30px;
    border: 1px solid #00a0e9;
    background: #fff;
  }
  main .acd-check:checked + .acd-label:after {
    content: "ー";
  }
  main .acd-check:checked + .acd-label + .acd-content {
    opacity: 1;
    padding: 20px 30px;
    visibility: visible;
    height: auto;
  }
  main #fv {
    width: 1366px;
    margin: auto;
    position: relative;
  }
  main #fv .swiper-container {
    height: 588px;
  }
  main #fv h1 {
    position: absolute;
    top: 167px;
    left: 184px;
    z-index: 1;
    width: 1000px;
  }
  main #fv .fv-bottom {
    background: #040e88;
    padding: 28px 0;
  }
  main #fv .fv-bottom h4 {
    color: white;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  main #fv .fv-bottom h4::before, main #fv .fv-bottom h4::after {
    content: "";
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    height: 2px;
    background: white;
  }
  main #fv .fv-bottom h4::before {
    margin-right: 30px;
  }
  main #fv .fv-bottom h4::after {
    margin-left: 30px;
  }
  main #message {
    width: 1366px;
    margin: auto;
  }
  main #message .message-title {
    font-size: 31px;
    color: #040e88;
    font-weight: bold;
    text-align: center;
    margin-bottom: 60px;
  }
  main #message .inner {
    padding: 60px 0 100px;
    position: relative;
    background: white;
    margin-top: 0px;
  }
  main #message .inner h4 {
    text-align: center;
    margin-bottom: 40px;
  }
  main #message .inner .center {
    font-weight: bold;
    position: relative;
    margin-bottom: 100px;
    line-height: 2.4;
  }
  main #message .inner .center:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -50px;
    width: 40px;
    height: 2px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: #040e88;
  }
  main #president {
    background: #eff8fd;
    padding: 30px 0 60px;
  }
  main #president li {
    margin-top: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    line-height: 2.4;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  main #president li .image {
    width: 300px;
    text-align: center;
  }
  main #president li .image h4 {
    font-size: 23px;
    margin-bottom: 10px;
  }
  main #president li .image .president-image-logo-1 {
    width: 270px;
    margin-bottom: 20px;
  }
  main #president li .image .president-image-logo-2 {
    width: 200px;
  }
  main #president li .text {
    width: 650px;
  }
  main #president li .text h4 {
    margin-bottom: 20px;
  }
  main #president li button {
    margin-top: 40px;
    background: #040e88;
  }
  main #president li.second .text {
    width: 550px;
  }
  main #group {
    padding: 50px 0 130px;
  }
  main #map {
    text-align: center;
  }
  main #map .inner {
    padding: 80px 0 120px;
    position: relative;
  }
  main #map .map-title {
    background: #fb446e;
    padding: 12px 0;
    position: relative;
  }
  main #map .map-title h4 {
    color: white;
  }
  main #map h4 {
    color: #292929;
  }
  main #map .list-title {
    font-size: 30px;
    color: #fb446e;
    font-weight: bold;
    margin-top: 30px;
  }
  main #map ul.list-btn {
    width: 560px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 50px;
  }
  main #map ul.list-btn li {
    width: 180px;
    background: #00a0e9;
    color: white;
    font-size: 15px;
    padding: 10px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  main #map ul.list-btn li:hover {
    opacity: 0.8;
  }
  main #map ul.list-btn li.active {
    background: #fb446e;
  }
  main #map .list-map {
    width: 500px;
    position: absolute;
    top: 180px;
    right: 0;
  }
  main #map ul.list-detail {
    margin-top: 220px;
  }
  main #map ul.list-detail li {
    margin-bottom: 15px;
  }
  main #map ul.list-detail li .list-detail-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 20px;
  }
  main #map ul.list-detail li .list-detail-content .list-detail-text {
    text-align: left;
    width: 400px;
    margin-top: 20px;
  }
  main #map ul.list-detail li .list-detail-content .list-detail-text .blue {
    text-decoration: underline;
    margin-bottom: 20px;
  }
  main #map ul.list-detail li .list-detail-content .list-detail-map iframe {
    width: 500px;
    height: 180px;
    margin-bottom: 5px;
  }
  main #map ul.list-detail li .list-detail-content .list-detail-map .light-blue {
    text-decoration: underline;
    text-align: right;
  }

  #activities {
    background: #eff8fd;
    padding: 80px 0;
  }
  #activities ul {
    margin-top: 80px;
  }
  #activities ul li {
    position: relative;
    background: white;
    padding: 50px 0;
    margin-bottom: 30px;
  }
  #activities ul li .number {
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(135deg, #040e88 0%, #040e88 50%, white 50%, white 100%);
    color: white;
    font-size: 35px;
    font-weight: bold;
    width: 110px;
    height: 110px;
    line-height: 1.6;
    padding-left: 12px;
  }
  #activities ul li.with_button {
    padding: 50px 0 100px;
  }
  #activities ul li .activities-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #activities ul li .activities-title {
    text-align: center;
    width: 450px;
  }
  #activities ul li .activities-title img {
    width: 80px;
    margin-bottom: 30px;
  }
  #activities ul li .activities-title img.wide {
    width: 100px;
  }
  #activities ul li .activities-title p {
    font-size: 15px;
    color: #040e88;
  }
  #activities ul li .activities-text {
    width: 480px;
  }
  #activities ul li .activities-text img {
    margin-bottom: 20px;
  }
  #activities ul li .activities-text .activities-text-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: -10px 0 20px;
  }
  #activities ul li .activities-text .activities-text-name p {
    width: 50%;
    font-size: 12px;
    color: #040e88;
  }
  #activities ul li .activities-text .activities-text-name p span {
    font-size: 10px;
  }
  #activities ul li .activities-text p.blue {
    margin-bottom: 20px;
  }
  #activities ul li button {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  #activities ul li .acd-label {
    background: #040e88;
    width: 750px;
    margin: 30px auto 0;
  }
  #activities ul li .acd-label:after {
    color: #040e88;
  }
  #activities ul li .acd-content {
    width: 750px;
    margin: auto;
    border: 1px solid #040e88;
  }
  #activities ul li .acd-content p {
    margin-bottom: 20px;
  }

  #school {
    padding: 80px 0 120px;
  }
  #school .school-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 70px;
  }
  #school .school-content img {
    width: 380px;
    margin-right: 80px;
  }
  #school .school-content .school-text li {
    margin-bottom: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #school .school-content .school-text li .school-text-title {
    background: #040e88;
    color: white;
    text-align: center;
    font-weight: bold;
    width: 165px;
    margin-right: 20px;
  }
  #school .school-content .school-text li p {
    width: 300px;
  }

  #recruit {
    padding: 80px 0 150px;
    background: #eff8fd;
  }
  #recruit ul {
    margin-top: 50px;
  }
  #recruit ul li {
    margin-bottom: 100px;
    position: relative;
  }
  #recruit ul li .recruit-image {
    width: 430px;
  }
  #recruit ul li .recruit-text {
    width: 620px;
    position: absolute;
    bottom: -60px;
    right: 0;
  }
  #recruit ul li .recruit-text .recruit-text-title {
    background: #fb446e;
    width: 250px;
    font-size: 23px;
    color: white;
    font-weight: bold;
    padding-left: 20px;
  }
  #recruit ul li .recruit-text .recruit-text-content {
    background: white;
    padding: 40px 70px 90px;
  }
  #recruit ul li .recruit-text .recruit-text-content p {
    margin-top: 20px;
  }
  #recruit ul li .recruit-text .recruit-text-content button {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  #recruit ul li.middle {
    margin-bottom: 90px;
  }
  #recruit ul li.middle .recruit-image {
    position: absolute;
    top: 0px;
    right: 0;
  }
  #recruit ul li.middle .recruit-text {
    bottom: -50px;
    position: relative;
    z-index: 1;
  }
  #recruit ul li.middle .recruit-image-middle {
    width: 190px;
    position: absolute;
    bottom: -50px;
    right: 0;
    background: #00a0e9;
    color: white;
    font-weight: bold;
    text-align: center;
    padding: 20px 0;
    line-height: 1.6;
  }
  #recruit ul li.middle .recruit-image-middle p.large {
    font-size: 28px;
  }
  #recruit ul li.middle .recruit-image-middle img {
    width: 50px;
  }

  #voice {
    padding: 80px 0 120px;
  }
  #voice ul {
    margin-top: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #voice ul li {
    text-align: center;
    width: 450px;
  }
  #voice ul li img {
    margin: 30px 0;
  }
  #voice ul li .voice-name {
    color: #040e88;
    font-weight: bold;
    margin: 10px 0 15px;
    text-align: left;
  }
  #voice ul li .voice-name span {
    background: #040e88;
    color: white;
    padding: 8px 50px;
    margin-right: 20px;
  }
  #voice ul li .voice-text {
    text-align: left;
    margin-bottom: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #voice ul li .voice-text .line {
    content: "";
    height: 5px;
    width: 50px;
    background: #040e88;
    margin: 10px 15px 0 0;
  }
  #voice ul li .voice-text p {
    width: 390px;
  }

  #faq {
    background: #eff8fd;
    padding: 80px 0 120px;
  }
  #faq li {
    margin-bottom: 10px;
  }
  #faq li .acd-label {
    background: #040e88;
  }
  #faq li .acd-label:after {
    color: #040e88;
  }
  #faq li .acd-content {
    border: 1px solid #040e88;
  }

  #application {
    padding: 80px 0 100px;
  }
  #application .application-step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 60px 0;
  }
  #application .application-step ul {
    width: 440px;
    margin-right: 50px;
  }
  #application .application-step ul li {
    margin-bottom: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #application .application-step ul li img {
    width: 220px;
    height: auto;
  }
  #application .application-step ul li .application-step-box {
    background: #00a0e9;
    color: white;
    width: 220px;
    height: auto;
    font-weight: bold;
    padding: 15px 25px;
  }
  #application .application-step ul li .application-step-box span {
    font-size: 17px;
  }
  #application .application-about {
    width: 460px;
  }
  #application .application-about .application-about-title {
    font-size: 15px;
    font-weight: bold;
    color: #040e88;
    margin-bottom: 20px;
  }

  #location {
    background: #eff8fd;
    padding: 40px 0;
  }
  #location .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: bold;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #location .inner .location-text {
    width: 500px;
  }
  #location .inner .location-text h3 {
    margin-bottom: 10px;
  }
  #location .inner .location-text .center {
    color: #040e88;
  }
  #location .inner .location-map {
    width: 500px;
    text-align: right;
  }
  #location .inner .location-map iframe {
    width: 100%;
    height: 280px;
    margin-bottom: 10px;
  }
  #location .inner .location-map a {
    color: #040e88;
    text-decoration: underline;
  }

  #map-top {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 50px;
  }

  #voice_lower {
    background: #eff8fd;
  }
  #voice_lower .title {
    background: #040e88;
    font-size: 25px;
    color: white;
    padding: 20px;
    font-weight: bold;
    text-align: center;
  }
  #voice_lower .inner {
    padding: 70px 0;
  }
  #voice_lower .inner .profile {
    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;
  }
  #voice_lower .inner .profile img {
    width: 430px;
  }
  #voice_lower .inner .profile .profile-text {
    width: 620px;
    margin-left: -50px;
  }
  #voice_lower .inner .profile .profile-text .profile-post {
    background: #040e88;
    font-size: 23px;
    font-weight: bold;
    display: inline-block;
    padding: 5px 60px;
    color: white;
  }
  #voice_lower .inner .profile .profile-text .profile-text-box {
    background: white;
    padding: 30px 0 10px;
  }
  #voice_lower .inner .profile .profile-text .profile-text-box .profile-name {
    font-size: 23px;
    font-weight: bold;
    color: #040e88;
    margin: 0 0 20px 80px;
  }
  #voice_lower .inner .profile .profile-text .profile-text-box .voice-text {
    text-align: left;
    margin-bottom: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #voice_lower .inner .profile .profile-text .profile-text-box .voice-text .line {
    content: "";
    height: 5px;
    width: 70px;
    background: #040e88;
    margin: 10px 15px 0 0;
  }
  #voice_lower .inner .profile .profile-text .profile-text-box .voice-text p {
    width: 470px;
  }
  #voice_lower .inner ul {
    margin: 70px 0 60px;
  }
  #voice_lower .inner ul li {
    margin-bottom: 10px;
  }
  #voice_lower .inner ul li .acd-label {
    background: #040e88;
  }
  #voice_lower .inner ul li .acd-label:after {
    color: #040e88;
  }
  #voice_lower .inner ul li .acd-content {
    border: 1px solid #040e88;
  }
  #voice_lower .inner button {
    background: #00a0e9;
    margin: auto;
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }

  main {
    width: 100%;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
    line-height: 1.8;
    font-size: 13px;
    color: #292929;
    overflow: hidden;
  }
  main img {
    width: 100%;
  }
  main h2 {
    font-size: 20px;
    font-weight: bold;
    color: #040e88;
    position: relative;
    text-align: center;
    margin-bottom: 20px;
  }
  main h2:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -10px;
    width: 40px;
    height: 2px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: #040e88;
  }
  main h3 {
    color: #040e88;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 40px;
  }
  main h4 {
    font-size: 19px;
    font-weight: bold;
    color: #040e88;
    line-height: 1.7;
  }
  main .center {
    text-align: center;
  }
  main .blue {
    color: #040e88;
    font-weight: bold;
  }
  main .light-blue {
    color: #00a0e9;
  }
  main .red {
    color: #fb446e;
    font-weight: bold;
  }
  main .inner {
    width: 92%;
    margin: auto;
  }
  main .inner2 {
    width: 100%;
    margin: auto;
	background: #10C656;
    padding: 20px 0;
  }
  main button {
    font-size: 15px;
    color: white;
    text-align: center;
    padding: 10px 15px;
    background: #00a0e9;
    font-weight: bold;
    position: relative;
  }
  main button:after {
    content: url(/img/recruit/arrow.svg);
    position: absolute;
    top: 40%;
    right: 20px;
    width: 10px;
  }
  main .cta h4 {
    color: #fb446e;
    margin-bottom: 20px;
    text-align: center;
  }
  main .cta button {
    background: #fb446e;
    text-align: left;
    width: 100%;
    margin-bottom: 10px;
  }
  main .cta button span {
    background: white;
    color: #fb446e;
    padding: 5px;
    margin-right: 20px;
  }
  main .acd-check {
    display: none;
  }
  main .acd-label {
    background: #00a0e9;
    color: #fff;
    padding: 10px 10px;
    position: relative;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
  }
  main .acd-label:after {
    background: #fff;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    content: "＋";
    position: absolute;
    right: 5px;
    top: 30%;
    color: #00a0e9;
    border-radius: 10px;
    width: 20px;
    height: 20px;
    line-height: 1.5;
    padding: 0 3px;
  }
  main .acd-content {
    height: 0;
    opacity: 0;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    visibility: hidden;
    padding: 0% 5%;
    border: 1px solid #00a0e9;
    background: #fff;
  }
  main .acd-check:checked + .acd-label:after {
    content: "ー";
  }
  main .acd-check:checked + .acd-label + .acd-content {
    opacity: 1;
    padding: 15px 5%;
    visibility: visible;
    height: auto;
  }
  main #fv {
    position: relative;
  }
  main #fv .swiper-container {
    height: 115vw;
  }
  main #fv h1 {
    position: absolute;
    top: 3%;
    left: 0;
    z-index: 1;
    width: 100%;
  }
  main #fv .fv-bottom {
    background: #040e88;
    padding: 12px 0;
  }
  main #fv .fv-bottom h4 {
    color: white;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  main #fv .fv-bottom h4::before, main #fv .fv-bottom h4::after {
    content: "";
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    height: 2px;
    background: white;
  }
  main #fv .fv-bottom h4::before {
    margin-right: 30px;
  }
  main #fv .fv-bottom h4::after {
    margin-left: 30px;
  }
  main #message .message-title {
    font-size: 18px;
    color: #040e88;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
  }
  main #message .inner {
    padding: 30px 0 30px;
    position: relative;
    background: white;
    margin-top: 0px;
  }
  main #message .inner h4 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 24px;
  }
  main #message .inner .center {
    font-weight: bold;
    position: relative;
    margin-bottom: 100px;
    line-height: 2.4;
  }
  main #message .inner .center:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -50px;
    width: 40px;
    height: 2px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: #040e88;
  }
  main #president {
    background: #eff8fd;
    padding: 30px 0 30px;
  }
  main #president li.first {
    margin-bottom: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  main #president li.first h4 {
    line-height: 1.5;
    font-size: 18px;
  }
  main #president li.first .image {
    width: 60%;
    margin: 10% 2% 0 -15%;
  }
  main #president li.first .text {
    width: 60%;
  }
  main #president li.first .text h4 {
    margin-bottom: 20px;
  }
  main #president li button {
    margin: auto;
    width: 75%;
    background: #040e88;
    display: block;
  }
  main #president li.second h4.small {
    font-size: 15px;
    text-align: center;
    margin: 30px 0 20px;
  }
  main #president li.second .image {
    text-align: center;
  }
  main #president li.second .image h4 {
    margin-bottom: 10px;
  }
  main #president li.second .image .president-image-logo-1 {
    margin-bottom: 20px;
    width: 90%;
  }
  main #president li.second .president-image-logo-2 {
    width: 40%;
    margin: 20px auto;
    display: block;
  }
  main #group {
    padding: 50px 0 40px;
  }
  main #map {
    text-align: center;
  }
  main #map .inner {
    padding: 30px 0 30px;
    position: relative;
  }
  main #map .map-title {
    background: #fb446e;
    padding: 12px 0;
    position: relative;
  }
  main #map .map-title h4 {
    color: white;
  }
  main #map h4 {
    color: #292929;
  }
  main #map .list-title {
    font-size: 20px;
    color: #fb446e;
    font-weight: bold;
    margin-top: 20px;
  }
  main #map ul.list-btn {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 30px;
  }
  main #map ul.list-btn a {
    width: 20%;
  }
  main #map ul.list-btn li {
    background: #00a0e9;
    color: white;
    font-size: 14px;
    padding: 5px 3px;
    font-weight: bold;
    margin-bottom: 5px;
    margin: 0 2% 5px;
  }
  main #map ul.list-btn li.active {
    background: #fb446e;
  }
  main #map .list-map {
    width: 100%;
  }
  main #map ul.list-detail {
    margin-top: 20px;
  }
  main #map ul.list-detail li {
    margin-bottom: 10px;
  }
  main #map ul.list-detail li .list-detail-content {
    margin-bottom: 15px;
  }
  main #map ul.list-detail li .list-detail-content .list-detail-text {
    text-align: left;
    width: 100%;
  }
  main #map ul.list-detail li .list-detail-content .list-detail-text .blue {
    text-decoration: underline;
    margin-bottom: 5px;
  }
  main #map ul.list-detail li .list-detail-content .list-detail-map iframe {
    width: 100%;
    height: 40vw;
    margin: 10px 0 5px;
  }
  main #map ul.list-detail li .list-detail-content .list-detail-map .light-blue {
    text-decoration: underline;
    text-align: right;
  }

  #activities {
    background: #eff8fd;
    padding: 50px 0 10px;
  }
  #activities .inner {
    width: 100%;
  }
  #activities ul {
    margin-top: 30px;
  }
  #activities ul li {
    margin-bottom: 50px;
  }
  #activities ul li .number {
    display: none;
  }
  #activities ul li .activities-title {
    text-align: center;
    width: 92%;
    margin: auto;
  }
  #activities ul li .activities-title img {
    width: 20%;
    margin-bottom: 20px;
  }
  #activities ul li .activities-title img.wide {
    width: 25%;
  }
  #activities ul li .activities-title h4 {
    text-align: left;
    font-size: 18px;
  }
  #activities ul li .activities-title p {
    font-size: 12px;
    color: #040e88;
    text-align: left;
  }
  #activities ul li .activities-title p.blue {
    font-size: 15px;
    margin-top: 10px;
  }
  #activities ul li .activities-image {
    margin: 15px 0 20px 0;
    display: block;
  }
  #activities ul li .activities-text {
    width: 92%;
    margin: auto;
  }
  #activities ul li .activities-text img {
    margin: 15px auto 20px;
  }
  #activities ul li .activities-text .activities-text-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: -15px 0 20px;
  }
  #activities ul li .activities-text .activities-text-name p {
    width: 50%;
    font-size: 12px;
    color: #040e88;
  }
  #activities ul li .activities-text .activities-text-name p span {
    font-size: 8px;
  }
  #activities ul li .activities-text p.blue {
    margin-bottom: 20px;
  }
  #activities ul li button {
    width: 60%;
    margin: 25px auto 0;
    display: block;
  }
  #activities ul li .acd-label {
    background: #040e88;
    width: 92%;
    margin: 30px auto 0;
  }
  #activities ul li .acd-label:after {
    color: #040e88;
  }
  #activities ul li .acd-content {
    width: 92%;
    margin: auto;
    border: 1px solid #040e88;
  }
  #activities ul li .acd-content p {
    margin-bottom: 20px;
  }

  #school {
    padding: 50px 0 50px;
  }
  #school .school-content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 20px;
  }
  #school .school-content img {
    margin-bottom: 20px;
  }
  #school .school-content .school-text li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 10px;
  }
  #school .school-content .school-text li .school-text-title {
    background: #040e88;
    color: white;
    text-align: center;
    font-weight: bold;
    width: 20%;
    margin-right: 2%;
    width: 36%;
  }
  #school .school-content .school-text li p {
    width: 62%;
  }

  #recruit {
    padding: 30px 0 5px;
    background: #eff8fd;
  }
  #recruit .inner {
    width: 100%;
  }
  #recruit .inner .cta {
    width: 92%;
    margin: auto;
  }
  #recruit ul.recruit-list {
    margin-top: 50px;
  }
  #recruit ul.recruit-list li {
    margin-bottom: 50px;
  }
  #recruit ul.recruit-list li .recruit-text-title {
    background: #fb446e;
    font-size: 28px;
    color: white;
    font-weight: bold;
    padding: 0px 20px;
    display: inline-block;
  }
  #recruit ul.recruit-list li .recruit-text {
    width: 88%;
    margin: auto;
  }
  #recruit ul.recruit-list li .recruit-text .recruit-text-content {
    position: relative;
    margin-top: -40px;
    background: white;
    padding: 8% 10% 20%;
  }
  #recruit ul.recruit-list li .recruit-text .recruit-text-content h4 {
    font-size: 23px;
    line-height: 1.5;
  }
  #recruit ul.recruit-list li .recruit-text .recruit-text-content p {
    margin-top: 20px;
  }
  #recruit ul.recruit-list li .recruit-text .recruit-text-content button {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60%;
  }
  #recruit ul.recruit-list li.middle {
    position: relative;
    background: white;
    padding: 50px 0;
  }
  #recruit ul.recruit-list li.middle .recruit-text-content {
    background: #eff8fd;
  }
  #recruit ul.recruit-list li.middle h4 {
    margin-left: 38%;
  }
  #recruit ul.recruit-list li.middle .recruit-image-middle {
    width: 38%;
    position: absolute;
    bottom: 250px;
    left: 0;
    background: #00a0e9;
    color: white;
    font-weight: bold;
    text-align: center;
    padding: 3% 0;
    line-height: 1.6;
  }
  #recruit ul.recruit-list li.middle .recruit-image-middle p.large {
    font-size: 24px;
  }
  #recruit ul.recruit-list li.middle .recruit-image-middle img {
    width: 50px;
  }

  #voice {
    padding: 50px 0 10px;
  }
  #voice ul {
    margin-top: 20px;
  }
  #voice ul li {
    text-align: center;
    width: 100%;
    margin-bottom: 60px;
  }
  #voice ul li h4 {
    font-size: 24px;
  }
  #voice ul li img {
    margin: 30px 0 10px;
  }
  #voice ul li .voice-name {
    color: #040e88;
    font-weight: bold;
    margin: 10px 0 15px;
    text-align: left;
    font-size: 16px;
  }
  #voice ul li .voice-name span {
    background: #040e88;
    color: white;
    padding: 8px 15px;
    margin-right: 15px;
    font-size: 18px;
  }
  #voice ul li .voice-text {
    text-align: left;
    margin-bottom: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #voice ul li .voice-text .line {
    content: "";
    height: 5px;
    width: 5%;
    background: #040e88;
    margin: 8px 2% 0 0;
  }
  #voice ul li .voice-text p {
    width: 93%;
    font-size: 14px;
  }
  #voice ul li button {
    width: 50%;
  }

  #faq {
    background: #eff8fd;
    padding: 50px 0 40px;
  }
  #faq li {
    margin-bottom: 10px;
  }
  #faq li .acd-label {
    background: #040e88;
  }
  #faq li .acd-label:after {
    color: #040e88;
  }
  #faq li .acd-content {
    border: 1px solid #040e88;
  }

  #application {
    padding: 50px 0 50px;
  }
  #application .center {
    text-align: left;
  }
  #application .application-step {
    margin: 30px 0;
  }
  #application .application-step ul {
    width: 100%;
    margin-bottom: 30px;
  }
  #application .application-step ul li {
    margin-bottom: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #application .application-step ul li img {
    width: 50%;
  }
  #application .application-step ul li .application-step-box {
    background: #00a0e9;
    color: white;
    width: 50%;
    font-weight: bold;
    padding: 10px 15px;
    line-height: 1.6;
  }
  #application .application-step ul li .application-step-box span {
    font-size: 17px;
  }
  #application .application-about {
    width: 100%;
  }
  #application .application-about .application-about-title {
    font-size: 15px;
    font-weight: bold;
    color: #040e88;
  }

  #location {
    background: #eff8fd;
    padding: 40px 0;
  }
  #location .inner {
    font-weight: bold;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #location .inner .location-text {
    width: 100%;
  }
  #location .inner .location-text h3 {
    margin-bottom: 10px;
  }
  #location .inner .location-text .center {
    color: #040e88;
  }
  #location .location-map {
    width: 100%;
    text-align: right;
  }
  #location .location-map iframe {
    width: 100%;
    height: 50vw;
    margin: 20px 0 10px;
  }
  #location .location-map a {
    color: #040e88;
    text-decoration: underline;
    margin-right: 2%;
    font-weight: bold;
  }

  #map-top {
    display: none;
    position: fixed;
    bottom: 5%;
    right: 5%;
    width: 10%;
  }

  #voice_lower .title {
    font-size: 25px;
    color: #040e88;
    padding: 20px;
    font-weight: bold;
    text-align: center;
  }
  #voice_lower .inner {
    width: 100%;
    padding-bottom: 30px;
  }
  #voice_lower .inner .profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #voice_lower .inner .profile img {
    width: 55%;
  }
  #voice_lower .inner .profile .profile-text {
    width: 45%;
  }
  #voice_lower .inner .profile .profile-text .profile-post {
    background: #040e88;
    font-size: 22px;
    font-weight: bold;
    display: inline-block;
    padding: 0px 15px;
    color: white;
    margin-bottom: 10px;
  }
  #voice_lower .inner .profile .profile-text .profile-text-box {
    background: #eff8fd;
    padding: 20.7vw 0;
  }
  #voice_lower .inner .profile .profile-text .profile-text-box .profile-name {
    font-size: 22px;
    font-weight: bold;
    color: #040e88;
    line-height: 1.6;
    margin-left: 15px;
  }
  #voice_lower .inner .profile .profile-text .profile-text-box .profile-name span {
    font-size: 17px;
  }
  #voice_lower .inner .voice-text {
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 92%;
    margin: 20px auto;
  }
  #voice_lower .inner .voice-text .line {
    content: "";
    height: 5px;
    width: 5%;
    background: #040e88;
    margin: 10px 3% 0 0;
  }
  #voice_lower .inner .voice-text p {
    width: 92%;
    font-size: 15px;
  }
  #voice_lower .inner ul {
    margin: 25px auto 25px;
    width: 92%;
  }
  #voice_lower .inner ul li {
    margin-bottom: 10px;
  }
  #voice_lower .inner ul li .acd-label {
    background: #040e88;
  }
  #voice_lower .inner ul li .acd-label:after {
    color: #040e88;
  }
  #voice_lower .inner ul li .acd-content {
    border: 1px solid #040e88;
  }
  #voice_lower .inner button {
    background: #00a0e9;
    margin: auto;
    display: block;
    width: 50%;
  }
}

/* LINE就職相談　STEP */
/*
* {
  box-sizing: border-box;
}
body {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
ul {
  padding: 0;
}
li {
  list-style-type: none;
}
dd {
  margin-left: 0;
}
*/
.line_flow {
  border: 3px solid #10C656;
  margin-bottom:20px;
}
.line_flow > li {
  padding: 30px;
}
.line_flow > li:not(:last-child) {
  border-bottom: 3px solid #10C656;
  position: relative;
}
.line_flow > li:not(:last-child)::before,
.line_flow > li:not(:last-child)::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 13%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media only screen and (max-width:768px){
	.line_flow > li:not(:last-child)::before,
	.line_flow > li:not(:last-child)::after {
	  content: "";
	  border: solid transparent;
	  position: absolute;
	  top: 100%;
	  left: 50%;
	  -webkit-transform: translateX(-50%);
	  transform: translateX(-50%);
	}
}
.line_flow > li:not(:last-child)::before {
  border-width: 22px;
  border-top-color: #10C656;
}
.line_flow > li:not(:last-child)::after {
  border-width: 18px;
  border-top-color: #fff;
}
.line_flow > li dl {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width:768px){
	.line_flow > li dl {
	  margin: 0;
	  display: -webkit-box;
	  display: -ms-flexbox;
	  display: flex;
	  display: inline-block;
	  -webkit-box-align: center;
	  -ms-flex-align: center;
	  align-items: center;
	  width: 100%;
	}
}
.line_flow > li dl dt {
  font-size: 1.5rem;
  font-weight: 600;
  color: #10C656;
  line-height: 1.3;
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  margin-right: 1.5vw;
  text-align: center;
}
@media only screen and (max-width:768px){
	.line_flow > li dl dt {
	  font-size: 1.2rem;
	  font-weight: 600;
	  color: #10C656;
      line-height: 1.3;
	  -ms-flex-preferred-size: 100%;
	  flex-basis: 100%;
	  margin-right: 1.7vw;
	  text-align: center;
	}
}
.line_flow > li dl dd {
  font-size: 1.1rem;
  color: #444;
  -ms-flex-preferred-size: 75%;
  flex-basis: 75%;
  /*margin-left: 0;*/
}
@media only screen and (max-width:768px){
	.line_flow > li dl dd {
	  font-size: 0.9rem;
	  -ms-flex-preferred-size: 100%;
	  flex-basis: 100%;
	}
}
.line_flow > li dl dt .icon {
  font-size: 1rem;
  color: #fff;
  background: #10C656;
  /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );*/
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
}

.p-chat__line-friend{width:1000px;margin:auto;background-color:#fff;border-radius:10px;padding:3rem 2rem}
@media only screen and (max-width:768px){
	.p-chat__line-friend{width:90%;background-color:#fff;border-radius:10px;padding:3rem 2rem;}
}
.p-chat__line-head{font-size:2.2rem;font-weight:700;text-align:center;color:#4cc764;letter-spacing:.08em;word-break:auto-phrase}
@media only screen and (max-width:768px){
	.p-chat__line-head{font-size:1rem;letter-spacing:.03em;}
}
.p-chat__line-box{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;gap:1rem;margin-top:2rem}
@media only screen and (max-width:768px){
	.p-chat__line-box{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
}
.p-chat__line-box .p-chat__line-btn{width:50%;text-align:center}
.p-chat__line-box .p-chat__line-btn img{width:237px;}
@media only screen and (max-width:768px){
	.p-chat__line-box .p-chat__line-btn{width:100%}
}
.p-chat__line-qr{width:50%;border-left:1px solid #f3f3f3;text-align:center}
.p-chat__line-qr img{max-width:200px;height:auto}
@media only screen and (max-width:768px){
	.p-chat__line-qr{width:100%}
	.p-chat__line-qr img{max-width:100%}
}
.p-chat__line-text{font-size:1.3rem;font-weight:700;color:#4cc764}
@media only screen and (max-width:768px){
	.p-chat__line-text{font-size:1.2rem}
}
