@charset "UTF-8";
body {
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: white;
  font-family: "dnp-shuei-shogomincho-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: rgb(29, 29, 29);
}

h1,
h2,
h3,
h4 {
  font-family: "dnp-shuei-shogomincho-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}

p {
  font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN";
  font-weight: 300;
}

html {
  padding: 0;
  width: 100% !important;
  margin: 0 !important;
  height: 100% !important;
}

html::-webkit-scrollbar {
  display: none;
}

style {
  margin: 0 !important;
}

a {
  display: block !important;
}

img {
  display: block;
  width: 100%;
}

/**********************************
header
***********************************/
.header-right {
  width: 10%;
  position: fixed;
  z-index: 500;
  top: 0;
  right: 0;
}

.logo {
  width: 65px;
  margin: 100px auto 5% auto;
}

.a-logo {
  width: 150px;
  margin: 5% auto 5% 5%;
}

/*
.logo-sp {
    width: 150px;
    margin: 5% auto 5% 5%;
}*/
.recruit {
  font-family: "YuMincho", "游教科書体", "YuKyokasho", serif;
  font-weight: 400;
  writing-mode: vertical-rl;
  margin: 0 auto;
  font-size: 16px;
  margin-top: 25px;
  letter-spacing: 0.1em;
  padding-bottom: 30px;
}

.insta-box {
  margin: 0 14%;
  border-bottom: solid 1px rgb(29, 29, 29);
}
.insta-box .insta {
  width: 50px;
  margin: 0 auto 30px auto;
}

.recruit2 {
  font-family: "YuMincho", "游教科書体", "YuKyokasho", serif;
  font-weight: 400;
  writing-mode: vertical-rl;
  margin: 0 auto;
  font-size: 15px;
  margin-top: 20px;
  letter-spacing: 0.1em;
  padding-bottom: 20px;
}
.recruit2 a {
  color: rgb(29, 29, 29);
}

.blue {
  font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
  font-weight: 900;
  font-style: normal;
  background-color: #009dff;
  margin: 0;
  text-align: center;
  padding-bottom: 8px;
  padding-top: 9px;
  font-size: 15px;
  color: white;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 10%;
  z-index: 500;
}

.co-box {
  position: relative;
  margin: 7% 0 5% 0;
}

/**********************************
body
***********************************/
.top {
  display: flex;
  width: 100%;
  position: relative;
  z-index: 1;
}
.top .top-left {
  flex: 90%;
  width: 90%;
  overflow-x: hidden;
}
.top .top-right {
  flex: 10%;
  width: 10%;
  position: relative;
  z-index: 1;
}

.top-box {
  display: flex;
}
.top-box .top-img-left {
  width: 75%;
  flex: 75%;
}
.top-box .top-img-left img {
  width: 100%;
}
.top-box .top-img-text {
  width: 25%;
  flex: 25%;
}
.top-box .top-img-text .top-text {
  font-family: "dnp-shuei-shogomincho-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-left: auto;
  margin-right: auto;
  writing-mode: vertical-rl;
  font-size: 2.7vw;
  margin-top: 15%;
  line-height: 270%;
  font-weight: 800;
  white-space: nowrap;
}

.co-box {
  position: relative;
}
.co-box .co-box1 {
  position: absolute;
  color: white;
  top: 5%;
  right: 3%;
}
.co-box .co-box1 h2 {
  font-size: 2.5vw;
  margin-bottom: 2%;
}
.co-box .co-box1 p {
  font-family: "dnp-shuei-shogomincho-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.5vw;
  line-height: 170%;
}
.co-box .co-box2 {
  position: absolute;
  color: white;
  bottom: 25%;
  left: 4%;
}
.co-box .co-box2 h3 {
  line-height: 200%;
  letter-spacing: 0.05em;
  font-size: 1.5vw;
  border-left: solid 1em white;
  white-space: nowrap;
  padding-left: 5%;
}
.co-box .co-box3 {
  position: absolute;
  bottom: -2%;
  left: 12%;
  width: 100%;
}
.co-box .co-box3 a {
  color: white;
}

.button2 {
  font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: max(1.3vw, 10px);
  display: inline-block;
  width: 9%;
  padding: 1% 12% 1% 2%;
  text-align: center;
  color: rgb(29, 29, 29);
  margin: 3%;
  margin-top: 10%;
  margin-left: 70%;
  background-color: #009dff;
  cursor: pointer;
  position: relative;
  text-decoration: none;
}

.button2::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 7px);
  right: -10%;
  width: 60%;
  height: 7px;
  border: none;
  border-right: 2px solid white;
  border-bottom: 1px solid white;
  transform: skew(60deg);
  transition: 0.3s;
  z-index: 1;
}

/*
.button2::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50%);
    right: -10%;
    width: 60%;
    height: 7px;
    border: none;
    border-right: 3px solid white;
    //border-bottom: 1px solid white;
    transform: skew(-60deg);
    transition: 0.3s;
    z-index: 1;
}*/
.button2:hover::before {
  right: -20%;
  width: 70%;
}

.button2:hover::after {
  right: -20%;
  width: 70%;
}

.card-box {
  display: flex;
  margin-bottom: 5%;
  padding: 1%;
}
.card-box .card {
  flex: 33.3333%;
  padding: 1%;
}
.card-box .card img {
  box-shadow: 0.1em 0.2em 0.5em rgba(0, 0, 0, 0.322);
}

.card-box2 {
  display: flex;
}
.card-box2 a {
  flex: 50%;
}
.card-box2 a .card {
  position: relative;
}
.card-box2 a .card .card-more {
  position: absolute;
  left: 10%;
  top: 10%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  width: 32%;
  padding: 1% 0;
}
.card-box2 a .card .card-left {
  font-family: "toppan-bunkyu-midashi-min-st", serif;
  font-weight: 900;
  font-style: normal;
  flex: 60%;
  color: #00326c;
  text-align: center;
  font-size: 1.7vw;
}
.card-box2 a .card .card-btn {
  flex: 40%;
}
.card-box2 a .card .card-btn img {
  width: 50%;
  display: block;
  margin: 0 auto;
  padding: 5%;
}
.card-box2 a .card .card-text {
  font-family: "dnp-shuei-shogomincho-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2.3vw;
  text-shadow: 0.1em 0.1em 0.2em rgb(29, 29, 29);
}
.card-box2 a .card-text {
  position: absolute;
  left: 12%;
  bottom: 10%;
  font-size: 2.7vw;
  line-height: 130%;
}

.bg-gray {
  background-color: #484646;
}
.bg-gray .gray-flex {
  display: flex;
  align-items: center;
  width: 100%;
}
.bg-gray .gray-flex .gray-btn {
  flex: 40%;
  width: 40%;
}
.bg-gray .gray-flex .gray-btn a {
  display: block;
  width: 39%;
  margin-left: 13%;
}
.bg-gray .gray-flex .gray-title {
  flex: 60%;
  width: 60%;
  text-align: left;
  color: white;
  padding: 6% 15% 3% 0%;
}
.bg-gray .gray-flex .gray-title .gray-title1 {
  text-align: center;
  border-bottom: solid 1px white;
  font-size: 2.4vw;
  color: white;
}
.bg-gray .gray-flex .gray-title .gray-title1-black {
  color: rgb(29, 29, 29);
  border-bottom: solid 1px rgb(29, 29, 29);
}
.bg-gray .gray-flex .gray-title p {
  font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN";
  font-weight: 300;
  font-size: 1.5vw;
  margin-top: 2%;
}
.bg-gray .gray-flex .gray-title .p2 {
  color: rgb(29, 29, 29);
}
.bg-gray .gray-flex .card-more {
  flex: 40%;
  display: flex;
  align-items: center;
  background-color: #007bd5;
  color: white;
  padding: 4% 5%;
}
.bg-gray .gray-flex .card-more .card-left {
  font-family: "toppan-bunkyu-midashi-min-st", serif;
  font-weight: 900;
  font-style: normal;
  flex: 60%;
  width: 60%;
  text-align: center;
  font-size: 1.7vw;
}
.bg-gray .gray-flex .card-more .card-btn {
  flex: 40%;
  width: 40%;
}
.bg-gray .gray-flex .card-more .card-btn img {
  width: 50%;
  display: block;
  margin: 0 auto;
  padding: 5%;
}
.bg-gray .gray-flex2 {
  display: flex;
  margin: 2%;
  padding-bottom: 3%;
  margin-bottom: 0;
}
.bg-gray .gray-flex2 .card {
  margin: 1.25%;
  flex: 33.3%;
}
.bg-gray .gray-flex2 .card .card-re {
  position: relative;
  border-bottom: solid 1.5px rgb(29, 29, 29);
  padding-bottom: 5%;
}
.bg-gray .gray-flex2 .card .division {
  color: rgb(29, 29, 29);
  position: absolute;
  bottom: -2%;
  left: 0%;
  z-index: 5;
  font-size: 3.4vw;
  font-weight: 800;
}
.bg-gray .gray-flex2 .card .div2 {
  font-size: 2.5vw;
  left: -4%;
  font-weight: 800;
}
.bg-gray .gray-flex2 .name-flex {
  display: flex;
  align-items: center;
}
.bg-gray .gray-flex2 .name-flex .name-text {
  flex: 75%;
  display: flex;
  color: rgb(29, 29, 29);
  margin-top: 2%;
  font-weight: 800;
}
.bg-gray .gray-flex2 .name-flex .name-text .n-text1 {
  font-family: "din-2014", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 3.5vw;
  border-right: solid 1.5px rgb(29, 29, 29);
  border-bottom: solid 1.5px rgb(29, 29, 29);
  padding-right: 2%;
}
.bg-gray .gray-flex2 .name-flex .name-text .n-text2 {
  font-size: 2vw;
  line-height: 100%;
  padding-left: 3%;
  color: #007bd5;
}
.bg-gray .gray-flex2 .name-flex .name-text .n-text2 span {
  font-size: max(1.3vw, 10px);
}
.bg-gray .gray-flex2 .name-flex .more {
  flex: 25%;
  display: flex;
  align-items: center;
  margin-top: 3%;
}
.bg-gray .gray-flex2 .name-flex .more .btn-left {
  font-size: max(1.2vw, 10px);
  padding-top: 2%;
  font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
  font-weight: 900;
  font-style: normal;
  color: rgb(29, 29, 29);
}
.bg-gray .gray-flex2 .name-flex .more .btn-right {
  padding: 0% 7%;
}

.bg-gray2 {
  background-color: #c7e6fa;
  margin-top: 7%;
}

/**************************************
footer
***************************************/
footer {
  background-color: #e6e6e6;
  margin-top: 10%;
  font-size: max(1.2vw, 10px);
  padding: 5% 5%;
}
footer a {
  color: rgb(29, 29, 29);
}
footer .footer-flex {
  display: flex;
  line-height: 200%;
}
footer .footer-flex .f-flex1 {
  display: flex;
  flex: 50%;
  justify-content: center;
}
footer .footer-flex .f-flex1 .footer-title {
  font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
  font-weight: 900;
  font-style: normal;
  padding-bottom: 3%;
  border-bottom: solid 1px rgb(29, 29, 29);
  padding-left: 8%;
  margin-right: 30%;
}
footer .footer-flex .f-flex1 ul {
  padding-left: 8%;
  margin-top: 3%;
}
footer .footer-flex .f-flex1 ul li {
  font-family: "HiraginoSans-W2", "Hiragino Sans", "ヒラギノ角ゴシック";
  font-weight: 200;
  list-style: "> ";
  line-height: 150%;
}
footer .footer-flex .f-flex1 .f-flex1-1 {
  justify-content: center;
  padding-left: 10%;
  flex: 50%;
}
footer .footer-flex .f-flex1 .f-flex1-2 {
  flex: 50%;
}
footer .footer-flex .f-flex2 {
  display: flex;
  flex: 50%;
  font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
  font-weight: 900;
  font-style: normal;
}
footer .footer-flex .f-flex2 .f-flex2-2 {
  padding-left: 5%;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.f-flex2-1 {
  margin-left: 10%;
  line-height: 150%;
}

/**********************************
phone
***********************************/
@media (max-width: 700px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .top .top-left {
    width: 100%;
    flex: 100%;
  }
  .top .top-right {
    flex: 0;
    width: 0;
  }
  .top-box .top-img-left {
    width: 60%;
    flex: 60%;
    overflow-x: hidden;
  }
  .top-box .top-img-left img {
    width: 100%;
  }
  .top-box .top-img-text {
    width: 40%;
    flex: 40%;
  }
  .top-box .top-img-text .top-text {
    font-size: 6.5vw;
    margin-top: 80px;
  }
  .blue {
    width: auto;
    writing-mode: vertical-rl;
    padding-right: 10px;
    padding-left: 10px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .co-box {
    margin-top: 20%;
    width: 100%;
  }
  .co-box img {
    width: 300%;
    margin-left: -95%;
  }
  .co-box .co-box1 {
    line-height: 170%;
    width: 60%;
    margin-left: auto;
  }
  .co-box .co-box1 h2 {
    font-size: 5vw;
    line-height: 170%;
    text-shadow: 0.1em 0.1em 0.2em rgb(29, 29, 29);
  }
  .co-box .co-box1 p {
    font-size: 4vw;
    line-height: 170%;
    text-shadow: 0.1em 0.1em 0.2em rgb(29, 29, 29);
  }
  .co-box .co-box2 {
    bottom: 5%;
  }
  .co-box .co-box2 h3 {
    font-size: 3.5vw;
    text-shadow: 0.1em 0.1em 0.2em rgb(29, 29, 29);
  }
  .card-box2 {
    display: block;
  }
  .card-box2 a .card {
    margin: 5%;
    margin-bottom: 10%;
  }
  .card-box2 a .card .card-more {
    left: 5%;
    width: 120px;
    font-size: 15px;
  }
  .card-box2 a .card .card-left {
    font-size: 15px;
  }
  .card-box2 a .card .card-btn img {
    width: 60%;
  }
  .card-box2 a .card .card-text {
    width: 100%;
    text-align: center;
    font-size: 20px;
    left: 50%;
    top: 65%;
    transform: translate(-50%, -50%);
  }
  .button2 {
    margin-left: 45%;
    font-size: 15px;
    width: 15%;
    padding: 1% 100px 1% 2%;
    margin-bottom: 8%;
  }
  .bg-gray .gray-flex {
    display: block;
    padding-top: 5%;
    margin-top: 0%;
  }
  .bg-gray .gray-flex .gray-btn {
    width: 69%;
    margin-top: 5%;
  }
  .bg-gray .gray-flex .gray-title {
    width: 90%;
    margin: 0 auto;
    padding: 10% 0;
    padding-top: 0;
  }
  .bg-gray .gray-flex .gray-title .gray-title1 {
    margin-top: 10%;
    font-size: 20px;
  }
  .bg-gray .gray-flex .gray-title p {
    margin-top: 5%;
    font-size: 12px;
  }
  .bg-gray .gray-flex2 {
    display: block;
  }
  .bg-gray .gray-flex2 .card {
    margin-bottom: 20%;
  }
  .bg-gray .gray-flex2 .card .division {
    font-size: 9vw;
  }
  .bg-gray .gray-flex2 .name-flex .more .btn-left {
    font-size: 15px;
  }
  .bg-gray .gray-flex2 .name-flex .more .btn-right img {
    width: 35px;
    padding-left: 5px;
  }
  .bg-gray .gray-flex .card-more {
    width: 120px;
  }
  .bg-gray .gray-flex .card-more .card-left {
    font-size: 15px;
  }
  .bg-gray .gray-flex .card-more .card-btn img {
    width: 60%;
  }
  .bg-gray .gray-flex2 .name-flex .name-text .n-text1 {
    font-size: 40px;
  }
  .bg-gray .gray-flex2 .name-flex .name-text .n-text2 {
    font-size: 25px;
    line-height: 120%;
    padding-left: 10%;
  }
  .bg-gray .gray-flex2 .name-flex .name-text .n-text2 span {
    font-size: 20px;
    margin-left: -10%;
  }
  .bg-gray .gray-flex2 .card .division {
    bottom: 5%;
    margin-left: 5%;
    text-align: left;
  }
  .bg-gray .gray-flex2 .card .div2 {
    width: 98%;
    border-bottom: solid 2px rgb(29, 29, 29);
  }
  .bg-gray .gray-flex2 .card .card-re {
    padding-bottom: 3%;
    width: 90%;
    margin: 0 auto;
  }
  .bg-gray .gray-flex2 .card .re2 {
    padding-bottom: 0%;
    border: none;
  }
  footer .footer-flex {
    display: block;
    margin-top: 5%;
  }
  footer .footer-flex .f-flex1 {
    display: block;
  }
  footer .footer-flex .f-flex1 .footer-title {
    font-size: 15px;
    margin-right: 0;
    line-height: 200%;
  }
  footer .footer-flex .f-flex1 ul {
    font-size: 16px;
  }
  footer .footer-flex .f-flex1 ul li {
    padding-top: 2.5%;
    padding-bottom: 2.5%;
  }
  footer .footer-flex .f-flex1 .f-flex1-1 {
    width: 60%;
    padding: 0;
    margin: 0 auto;
    margin-bottom: 5%;
  }
  footer .footer-flex .f-flex1-2 {
    width: 60%;
    padding: 0;
    margin: 0 auto;
    margin-bottom: 15%;
  }
  footer .footer-flex .f-flex2 {
    display: block;
    width: 80%;
    margin: 0 auto;
    font-size: 15px;
  }
  footer .footer-flex .f-flex2 .sp {
    margin-bottom: 10%;
  }
  .f-flex2-1 {
    margin-left: 0%;
  }
  .bg-gray .gray-flex2 .name-flex {
    width: 90%;
    margin: 0 auto;
  }
  .bg-gray .gray-flex2 .name-flex .name-text {
    flex: 60%;
  }
}/*# sourceMappingURL=index.css.map */