@charset "UTF-8";
/* recruit layout */
/* config
---------------------------------------------------------------------------*/
/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
/* サイズ */
/* flexbox */
/* フォント */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/* regular: 400, medium: 500, bold: 700 */
/*@mixin font-hdl {
	font-family: fot-udkakugo-large-pr6n, sans-serif;
	font-style: normal;
	font-weight: 600;
}*/
/* regular: 500 */
/* regular: 400 */
/*@mixin font-deco {
	font-family: "dnp-shuei-nmincho-std", sans-serif;
	font-weight: 400;
	font-style: normal;
}*/
/* 色 */
/* グラデ背景色 */
/* 中央揃え */
/* objectfit */
/* ホバーアクション */
/* 角丸 */
/* ボタン */
/* ボタンの中のspan */
/* フォントサイズ */
/* padding margin */
/* 縦書き */
/* 内径 */
/* 色調整
---------------------------------------------------------------------------*/
.sb-tx-en,
.hdl {
  color: #FA8D62; }

/* message
---------------------------------------------------------------------------*/
.message {
  position: relative; }
  .message::before {
    position: absolute;
    content: "";
    width: 100%;
    height: calc(100% - 356px);
    background-color: #ffffff;
    z-index: -1;
    bottom: 0;
    left: 0; }
    @media screen and (max-width: 1300px) {
      .message::before {
        height: calc(100% - 27.3vw); } }
    @media screen and (max-width: 480px) {
      .message::before {
        height: calc(100% - 140vw); } }
  .message .en {
    position: absolute;
    width: 100%;
    text-align: center;
    top: -.1em;
    left: 0;
    font-size: 157px;
    color: #FDDDD0;
    font-family: "Tilt Warp", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "XROT" 0, "YROT" 0;
    z-index: -1; }
    @media screen and (max-width: 1300px) {
      .message .en {
        font-size: 12.0769230769vw; } }
    @media screen and (max-width: 480px) {
      .message .en {
        font-size: 41.8666666667vw; } }
    @media screen and (max-width: 480px) {
      .message .en {
        font-size: 18.6666666667vw; } }
  .message .name {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 30px;
    z-index: 10; }
    @media screen and (max-width: 1300px) {
      .message .name {
        padding: 1.5384615385vw 2.3076923077vw; } }
    @media screen and (max-width: 480px) {
      .message .name {
        padding: 2.6666666667vw 6vw;
        margin-top: 9.6vw; } }
    .message .name span:nth-of-type(1) {
      font-size: 24px;
      line-height: 1.4; }
      @media screen and (max-width: 1300px) {
        .message .name span:nth-of-type(1) {
          font-size: 1.8461538462vw; } }
      @media screen and (max-width: 480px) {
        .message .name span:nth-of-type(1) {
          font-size: 6.4vw; } }
      @media screen and (max-width: 480px) {
        .message .name span:nth-of-type(1) {
          font-size: 5.0666666667vw; } }
    .message .name span:nth-of-type(2) {
      font-size: 48px;
      margin-left: 0.6em; }
      @media screen and (max-width: 1300px) {
        .message .name span:nth-of-type(2) {
          font-size: 3.6923076923vw; } }
      @media screen and (max-width: 480px) {
        .message .name span:nth-of-type(2) {
          font-size: 12.8vw; } }
      @media screen and (max-width: 480px) {
        .message .name span:nth-of-type(2) {
          font-size: 7.7333333333vw; } }
    .message .name::before {
      position: absolute;
      content: "";
      width: calc(100% + 98px);
      height: 100%;
      background: linear-gradient(90deg, rgba(255, 200, 191, 0.65), rgba(255, 245, 171, 0.65));
      top: 50%;
      transform: translateY(-50%);
      left: 0;
      z-index: -1; }
      @media screen and (max-width: 1300px) {
        .message .name::before {
          width: calc(100% + 7.5vw); } }
      @media screen and (max-width: 480px) {
        .message .name::before {
          width: 100%; } }
  @media screen and (max-width: 480px) {
    .message .hdl01 {
      padding-top: 0; } }
  .message .imgtx-tx {
    position: relative; }
  .message .deco {
    position: absolute;
    width: 700px;
    z-index: -1; }
    @media screen and (max-width: 1300px) {
      .message .deco {
        width: 53.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .message .deco {
        width: 80vw; } }
  .message .deco01 {
    top: -128px;
    left: 124px; }
    @media screen and (max-width: 1300px) {
      .message .deco01 {
        top: -9.8461538462vw;
        left: 9.5384615385vw; } }
    @media screen and (max-width: 480px) {
      .message .deco01 {
        top: 0;
        left: 20vw; } }
  .message .deco02 {
    top: -300px;
    left: -173px; }
    @media screen and (max-width: 1300px) {
      .message .deco02 {
        top: -23.0769230769vw;
        left: -13.3076923077vw; } }
    @media screen and (max-width: 480px) {
      .message .deco02 {
        top: 0;
        left: 20vw; } }

/* numbers
---------------------------------------------------------------------------*/
.numbers {
  background: linear-gradient(45deg, rgba(255, 200, 191, 0.8), rgba(255, 245, 171, 0.8)); }

/* environment
---------------------------------------------------------------------------*/
.environment {
  background-image: url(../img/recruit/environment-bg.png);
  background-size: 2000px auto;
  background-repeat: no-repeat;
  background-position: center top; }
  @media screen and (max-width: 1300px) {
    .environment {
      background-size: 153.8461538462vw auto; } }
  @media screen and (max-width: 480px) {
    .environment {
      background-size: 100vw auto; } }
  @media screen and (max-width: 480px) {
    .environment {
      background-size: 400vw auto;
      background-position: -120vw top; } }
  .environment .area {
    padding-left: 50%; }
    @media screen and (max-width: 480px) {
      .environment .area {
        padding-top: 25vw;
        padding-left: 0; }
        .environment .area .hdl, .environment .area .desc {
          padding-left: 28vw; } }
  .environment .system .wrap-min {
    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;
    gap: 24px; }
    @media screen and (max-width: 1300px) {
      .environment .system .wrap-min {
        gap: 1.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .environment .system .wrap-min {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 5.3333333333vw; } }
  .environment .system dl {
    width: calc((100% - 48px) / 2);
    padding: 16px; }
    @media screen and (max-width: 1300px) {
      .environment .system dl {
        width: calc((100% - 3.6923vw) / 3);
        padding: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .environment .system dl {
        width: 100%;
        padding: 3.3333333333vw; } }
    .environment .system dl:nth-of-type(1) {
      background: linear-gradient(#FFBFD4, #D6D1F0); }
    .environment .system dl:nth-of-type(2) {
      background: linear-gradient(#C6EDBE, #B8E1FF); }
    .environment .system dl:nth-of-type(3) {
      background: linear-gradient(#FFF5AB, #FFC8BF); }
    .environment .system dl dd {
      background-color: white;
      padding: 30px; }
      @media screen and (max-width: 1300px) {
        .environment .system dl dd {
          padding: 2.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .environment .system dl dd {
          padding: 3.3333333333vw; } }
  .environment .benefits .imgtx-tx {
    position: relative; }
.benefits_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 24px;
}
.benefits_list dl{
	width: calc((100% - 48px) / 3);
	background-color: #2b616d;
	border-radius: 30px;
	padding: 24px 16px;
}
.benefits_list dl dt{
	font-size: 32px;
	color: #FFF;
	text-align: center;
	font-weight: 900;
}
.benefits_list dl .dd_wrapper{
	padding: 24px;
	margin-top: 24px;
	border-radius: 30px;
	background-color: rgba(255,255,255,0.8);
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.benefits_list dl dd+dd{
	margin-top: 1em;
}
.benefits_list dl dd{
	line-height: 1.4;
}
@media screen and (max-width: 1300px) {
	.benefits_list dl dt{
		font-size: 2.8vw;
	}
	.benefits_list dl{
		border-radius: 2.3vw;
		padding: 16px;
	}
	.benefits_list dl .dd_wrapper{
		border-radius: 2.3vw;
		padding: 16px;
	}
}
@media screen and (max-width: 480px) {
	.benefits_list{
		gap: 8px;
	}
	.benefits_list dl{
		width: calc((100% - 8px) / 2);
		border-radius: 4vw;
		padding: 3vw;
	}
	.benefits_list dl:last-of-type{
		width: 100%;
	}
	.benefits_list dl .dd_wrapper{
		padding: 3vw;
	}
	.benefits_list dl dt{
		font-size: 5vw;
	}
	.benefits_list dl dd{
		font-size: 3.2vw;
	}
}
/*  .environment .benefits ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 26px 40px; }
    @media screen and (max-width: 1300px) {
      .environment .benefits ul {
        gap: 2vw 3.0769230769vw; } }
    @media screen and (max-width: 480px) {
      .environment .benefits ul {
        gap: 3.3333333333vw; } }
    .environment .benefits ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: calc((100% - 160px) / 5);
      height: calc((1080px - 160px) / 5);
      background-color: #2B616D;
      color: #ffffff;
      border-radius: 50%; }
      @media screen and (max-width: 1300px) {
        .environment .benefits ul li {
          width: calc((100% - 12.30769vw) / 5);
          height: calc((83.07692vw - 12.30769vw) / 5); } }
      @media screen and (max-width: 480px) {
        .environment .benefits ul li {
          width: 40vw;
          height: 40vw; } }
      .environment .benefits ul li p {
        display: block;
        width: 100%;
        white-space: nowrap;
        text-align: center;
        font-size: 24px;
        line-height: 1.58; }
        @media screen and (max-width: 1300px) {
          .environment .benefits ul li p {
            font-size: 1.8461538462vw; } }
        @media screen and (max-width: 480px) {
          .environment .benefits ul li p {
            font-size: 6.4vw; } }
        @media screen and (max-width: 480px) {
          .environment .benefits ul li p {
            font-size: 5.0666666667vw; } }
        .environment .benefits ul li p span {
          font-size: 60%; }
*/
  .environment .deco {
    position: absolute;
    width: 608px;
    z-index: -1; }
    @media screen and (max-width: 1300px) {
      .environment .deco {
        width: 46.7692307692vw; } }
    @media screen and (max-width: 480px) {
      .environment .deco {
        width: 80vw; } }
    .environment .deco.deco01 {
      top: -40px;
      right: -228px; }
      @media screen and (max-width: 1300px) {
        .environment .deco.deco01 {
          top: -3.0769230769vw;
          right: -17.5384615385vw; } }
      @media screen and (max-width: 480px) {
        .environment .deco.deco01 {
          top: -60vw;
          right: 20vw; } }
    .environment .deco.deco02 {
      left: -220px;
      bottom: 16px; }
      @media screen and (max-width: 1300px) {
        .environment .deco.deco02 {
          left: -16.9230769231vw;
          bottom: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .environment .deco.deco02 {
          bottom: 40vw;
          left: 20vw; } }

/* internship
---------------------------------------------------------------------------*/
.internship {
  background: linear-gradient(45deg, rgba(255, 200, 191, 0.8), rgba(255, 245, 171, 0.8)); }
  @media screen and (max-width: 480px) {
    .internship .img img {
      width: 100%;
      height: 70vw;
      object-fit: cover;
      object-position: center;
      font-family: "object-fit: cover; object-position: center;"; } }

/* staff
---------------------------------------------------------------------------*/
.staff .imgtx-tx {
  position: relative; }
.staff .deco {
  position: absolute;
  width: 608px;
  z-index: -1;
  top: -40px;
  left: -282px; }
  @media screen and (max-width: 1300px) {
    .staff .deco {
      width: 46.7692307692vw;
      top: -3.0769230769vw;
      left: -22.4615384615vw; } }
  @media screen and (max-width: 480px) {
    .staff .deco {
      width: 80vw;
      top: -40vw;
      left: 20vw; } }

/* requirements
---------------------------------------------------------------------------*/
.requirements {
  background: linear-gradient(45deg, rgba(255, 200, 191, 0.8), rgba(255, 245, 171, 0.8)); }
  .requirements .list > li {
    position: relative;
    z-index: 10;
    padding: 40px 0; }
    @media screen and (max-width: 1300px) {
      .requirements .list > li {
        padding: 3.0769230769vw 0; } }
    @media screen and (max-width: 480px) {
      .requirements .list > li {
        padding: 5.3333333333vw 6.6666666667vw; } }
    .requirements .list > li::before {
      position: absolute;
      content: "";
      width: calc(100% + 200px);
      height: 100%;
      border-radius: 30px;
      background-color: rgba(255, 255, 255, 0.5);
      z-index: -1;
      left: 50%;
      transform: translateX(-50%);
      top: 0; }
      @media screen and (max-width: 1300px) {
        .requirements .list > li::before {
          width: calc(100% + 15.38461vw);
          border-radius: 2.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .requirements .list > li::before {
          width: 100%;
          border-radius: 4vw; } }
    .requirements .list > li .icn {
      position: absolute;
      right: 0;
      top: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 16px; }
      @media screen and (max-width: 1300px) {
        .requirements .list > li .icn {
          gap: 1.2307692308vw;
          top: 3.0769230769vw; } }
      @media screen and (max-width: 480px) {
        .requirements .list > li .icn {
          position: relative;
          right: auto;
          top: auto;
          gap: 3.3333333333vw;
          top: 5.3333333333vw; } }
      .requirements .list > li .icn li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 148px;
        height: 48px;
        border-radius: 24px; }
        @media screen and (max-width: 1300px) {
          .requirements .list > li .icn li {
            width: 11.3846153846vw;
            height: 3.6923076923vw;
            border-radius: 1.8461538462vw; } }
        @media screen and (max-width: 480px) {
          .requirements .list > li .icn li {
            width: 29.6vw;
            height: 9.6vw;
            border-radius: 4.8vw; } }
        .requirements .list > li .icn li.green {
          background-color: #B3DE81; }
        .requirements .list > li .icn li.pink {
          background-color: #F6B7AA; }
        .requirements .list > li .icn li p {
          display: block;
          width: 100%;
          white-space: nowrap;
          text-align: center; }
      .requirements .list > li .icn.cat-general li {
        background-color: #B3DE81; }
      .requirements .list > li .icn.cat-regular li {
        background-color: #F6B7AA; }
    .requirements .list > li .link {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end; }
      @media screen and (max-width: 480px) {
        .requirements .list > li .link {
          margin-top: 5.3333333333vw; } }
      .requirements .list > li .link a {
        display: block;
        position: relative;
        font-size: 16px;
        padding-left: 34px; }
        @media screen and (max-width: 1300px) {
          .requirements .list > li .link a {
            font-size: 1.2307692308vw; } }
        @media screen and (max-width: 480px) {
          .requirements .list > li .link a {
            font-size: 4.2666666667vw; } }
        @media screen and (max-width: 1300px) {
          .requirements .list > li .link a {
            padding-left: 2.6153846154vw; } }
        @media screen and (max-width: 480px) {
          .requirements .list > li .link a {
            font-size: 3.2vw;
            padding-left: 6.8vw; } }
        .requirements .list > li .link a::before {
          position: absolute;
          content: "";
          background-repeat: no-repeat;
          background-position: center;
          background-size: contain;
          width: 18px;
          height: 12px;
          left: 0;
          top: 50%;
          transform: translateY(-50%);
          background-image: url(../img/cmn/btn-arw-vit.png); }
          @media screen and (max-width: 1300px) {
            .requirements .list > li .link a::before {
              width: 1.3846153846vw;
              height: 0.9230769231vw; } }
          @media screen and (max-width: 480px) {
            .requirements .list > li .link a::before {
              width: 3.4666666667vw;
              height: 2.4vw; } }
