@charset "UTF-8";

/* common
------------------------------------*/
.introductionLayout .busyo_box h2 span {
    display: block;
    line-height: 1.2;
    padding: 7px 0;
    background-color: #fff;
    text-align: center;
    max-width: 230px;
}
.introductionLayout .busyo_box {
    margin-bottom: 120px;
}
.introductionLayout .busyo_box h2 .s {
    font-size: 35%;
    margin-bottom: 5px;
    max-width: 230px;
}
.introductionLayout .busyo_box .inner {
    position: relative;
}
.introductionLayout .busyo_box .prf_box {
    position: absolute;
    bottom: -180px;
    right: 0;
    width: 70%;
    max-width: 400px;
    padding: 30px 10px 30px 70px;
    background: url("../img/introduction/common/introduction01_prf_bag01.png")no-repeat center right/contain;
    background-color: #1246b0;
    color: #fff;
}
.introductionLayout .busyo_box .prf_box .name {
    position: relative;
}
.introductionLayout .busyo_box .prf_box .name::before {
    position: absolute;
    content: '';
    background-color: #ffda39;
    width: 50px;
    height: 10px;
    left: -70px;
    top: 44px;
}
.introductionLayout .busyo_box .prf_box .name span {
    display: block;
    font-size: 160%;
    line-height: 1;
    margin-bottom: 20px;
}
.introductionLayout .cassette h3, .introductionLayout .cassette h4 {
    color: #3d62ad;
    line-height: 1.8;
    margin-bottom: 30px;
}
.introductionLayout .img.tabSp {
    margin-bottom: 30px;
}
.introductionLayout #c01 h4 {
    padding: 10px 20px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(210,210,210,0.5);
}
.introductionLayout #c01 .columns:not(:last-child) {
    margin-bottom: 60px;
}
.introductionLayout #c01 .columns p {
    margin: 0 auto;
    width: 96%;
}
.introductionLayout .c02_main h3 {
    font-weight: 500;
    margin-bottom: 20px;
}
.introductionLayout .c02_main h3 span {
    display: block;
    font-weight: normal;
    font-size: 18px;
    padding: 7px 15px;
    background-color: #ffda39;
    max-width: 200px;
    margin-bottom: 20px;
    color: #000;
}
.introductionLayout .m02 h3 span {
    max-width: 280px;
}
.introductionLayout .c02_bg {
    height: 170px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.introductionLayout #c02 {
    padding-top: 0;
}
.introductionLayout .c02_main {
    margin-bottom: 60px;
}
.introductionLayout .holiday_box .flex {
    background-color: rgba(255, 255, 255, 0.7);
    padding: 40px 20px;
    margin: 40px 0;
    --x-gradient: linear-gradient(90deg, #1246b0 0 30px, transparent 0 calc(100% - 30px), #1246b0 calc(100% - 30px));
    --y-gradient: linear-gradient(#1246b0 0 30px, transparent 0 calc(100% - 30px), #1246b0 calc(100% - 30px));
    background-image: var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
    background-repeat: no-repeat;
    background-size: 100% 8px, 8px 100%, 100% 8px, 8px 100%;
    background-position: top, right, bottom, left;
}
.introductionLayout .holiday_box h3, .introductionLayout .holiday_box p {
    position: relative;
    z-index: 0;
}
.introductionLayout .holiday_box h3 {
    padding: 40px 0;
}
.introductionLayout .holiday_box p {
    color: #3d62ad;
}
.introductionLayout .holiday_box h3::before {
    position: absolute;
    content: '';
    z-index: -1;
    background: url("../img/introduction/common/introduction_c03_bg01.png")no-repeat center center/cover;
    width: 341px;
    height: 181px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.introductionLayout .b_box {
    position: relative;
    z-index: 1;
}
.introductionLayout .b_box .flex_box01:first-child {
    margin-bottom: 0;
}
.introductionLayout .b_box h3 {
    color: #ffda39;
}
.introductionLayout .b_box h3 {
    position: relative;
    padding-left: 70px;
    font-size: 150%;
}
.introductionLayout .b_box h3::before {
    position: absolute;
    content: '';
    width: 50px;
    height: 10px;
    background-color: #ffda39;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}
.introductionLayout .b_box .inner {
    width: 100%;
}
.introductionLayout .b_box h3,
.introductionLayout .b_box > p {
    margin-left: auto;
    margin-right: auto;
    width: 96%;
}
.introductionLayout .b_box p {
    color: #fff;
}
.introductionLayout .b_box .flex_box01:last-child {
    padding: 40px 20px;
    background-color: rgba(18, 70, 176, 0.9);
}
.introductionLayout #c02, .introductionLayout #c03 {
    padding-bottom: 0;
}
.introductionLayout .b_box img {
    max-width: 70%;
}
.introductionLayout #c04 {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    color: #fff;
}
.introductionLayout #c04 h3 {
    position: relative;
    padding: 20px 0 20px 80px;
    color: #ffda39;
}
.introductionLayout #c04 h3::before {
    position: absolute;
    content: '';
    background: url("../img/introduction/common/day_img01.png")no-repeat center center/cover;
    width: 61px;
    height: 63px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.introductionLayout #c04 .flex_box01 li {
    position: relative;
    padding-left: 100px;
}
.introductionLayout #c04 .flex_box01 li::before {
    position: absolute;
    content: "●";
    color: #ffda39;
    left: 0;
    top: 0;
}
.introductionLayout #c04 .flex_box01 span {
    display: inline-block;
}
.introductionLayout #c04 .flex_box01 .time {
    position: absolute;
    top: 0;
    left: 30px;
}
.introductionLayout #c04 .flex_box01 li:not(:last-child) {
    margin-bottom: 20px;
}
.introductionLayout #job_cassette {
  padding-top: 100px;
    padding-bottom: 100px;
}
.introductionLayout .c01_main h3 {
    max-width: 970px;
    margin-left: auto;
    margin-right: auto;
    font-weight: 500;
}
.introductionLayout .c01_main {
    margin-bottom: 60px;
}
.introductionLayout #job_cassette .h2_in h2 .sub {
    text-align: center;
    padding-left: 0;
}
.introductionLayout #job_cassette h2 {
    max-width: 560px;
}
.introductionLayout #c04 {
    background-image: url("../img/introduction/01/introduction01_c04_bg01.png");
}
.introductionLayout #c05 {
    background-color: #f2f2f2;
}
.introductionLayout #c05 h4 {
    position: relative;
    padding-left: 70px;
    color: #000;
    font-size: 130%;
}
.introductionLayout #c05 h4::before {
    position: absolute;
    content: '';
    width: 50px;
    height: 10px;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background-color: #1246b0;
}
.introductionLayout #c05 .disc_li li {
    margin-left: 20px;
    list-style-type: disc;
}
.introductionLayout #c05 .flex_box01 .flex {
    margin-left: 70px;
}
.introductionLayout #c05 .flex_box01 .flex .flex_box01 {
    margin-bottom: 0;
}


            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .introductionLayout #c01 h4 {
                    font-size: 140%;
                }
                .introductionLayout #c01 .columns:not(:last-child) {
                    margin-bottom: 80px;
                }
                .introductionLayout .c02_bg {
                    height: 320px;
                }
                .introductionLayout .c02_main {
                    margin-bottom: 80px;
                }
                .introductionLayout .holiday_box .flex {
                    padding: 60px;
                    margin: 60px 0;
                }
                .introductionLayout .holiday_box .flex_box01:first-child {
                    width: 60%;
                }
                .introductionLayout .holiday_box .flex_box01:last-child {
                    width: 38%;
                }
                .introductionLayout .b_box .flex {
                    align-items: flex-end;
                }
                .introductionLayout .b_box::after {
                    position: absolute;
                    content: "";
                    z-index: -1;
                    background-color: rgba(18, 70, 176, 0.9);
                    width: 80%;
                    right: 0;
                    bottom: 0;
                    height: 80%;
                }
                .introductionLayout .b_box .flex_box01:first-child {
                    width: 40%;
                }
                .introductionLayout .b_box .flex_box01:last-child {
                    padding: 0 0 40px 0;
                    width: 56%;
                    background-color: transparent;
                }
                .introductionLayout .busyo_box h2 span {
                    max-width: 300px;
                }
                .introductionLayout .busyo_box h2 .s {
                    max-width: 340px;
                }
                .introductionLayout .c01_main {
                    margin-bottom: 120px;
                }
                .introductionLayout .c01_main h3 {
                    font-size: 270%;
                    line-height: 1.5;
                }
                .introductionLayout .busyo_box .prf_box {
                    bottom: -110px;
                    width: 80%;
                }
                .introductionLayout .b_box h3 {
                    font-size: 180%;
                }
                .introductionLayout .b_box img {
                    max-width: 100%;
                }
            }
            /* 【PC用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                .introductionLayout .busyo_box h2 .s {
                    font-size: 30%;
                }
                .introductionLayout .busyo_box h2 {
                    font-size: 90px;
                }
                .introductionLayout .c02_main {
                    position: relative;
                }
                .introductionLayout .c02_main::before {
                    position: absolute;
                    content: '';
                    left: 0;
                    top: 50%;
                    transform: translateY(-50%);
                    width: 48%;
                    height: 100%;
                    max-height: 505px;
                    background-size: cover;
                    background-repeat: no-repeat;
                    background-position: center center;
                }
                .introductionLayout .c02_main .inner > div {
                    width: 48%;
                    margin-left: auto;
                    padding: 120px 0;
                }
                .introductionLayout .m01 .inner > div {
                    margin-left: 0;
                    margin-right: auto;
                }
                .introductionLayout .m01::before {
                    left: auto;
                    right: 0;
                }
                .introductionLayout .c02_main h3 {
                    font-size: 210%;
                }
                .introductionLayout .c02_bg {
                    height: 530px;
                }
                .introductionLayout .c02_main {
                    margin-bottom: 160px;
                }
                .introductionLayout .holiday_box .flex {
                    margin: 120px 0;
                    padding: 90px 120px;
                }
                .introductionLayout .b_box::after {
                    width: 71%;
                    max-width: 1400px;
                }
                .introductionLayout .b_box .flex_box01:last-child {
                    padding-bottom: 70px;
                    min-height: 330px;
                }
                .introductionLayout .busyo_box h2 span {
                    max-width: 500px;
                    font-weight: 500;
                }
                .introductionLayout .busyo_box h2 .s {
                    max-width: 430px;
                }
                .introductionLayout .m02 {
                    margin-bottom: 40px;
                }
                .introductionLayout #c05 .inner > .flex > .flex_box01:first-child {
                    width: 60%;
                }
                .introductionLayout #c05 .inner > .flex > .flex_box01:last-child {
                    width: 38%;
                }
            }
            /* 【PC用のスタイル記述】 */
            @media screen and (min-width: 2500px) {
                .introductionLayout .b_box::after {
                    max-width: 1800px;
                }
            }

/* index
------------------------------------*/
.introductionIndexLayout #c01::before,
.introductionIndexLayout #c01::after {
    content: none;
}
.introductionIndexLayout #c02::before{
    transform: none;
    left: 0;
    right: auto;
}
.introductionIndexLayout #c02::after {
    transform: none;
    left: auto;
    right: 0;
}
.introductionIndexLayout h3 {
  color: #1246b0;
  font-family: 'Montserrat', sans-serif;
  line-height: 1.5;
  font-size: 200%;
  margin-bottom: 40px;
}
.introductionIndexLayout h3 .light {
  font-weight: 100;
}
.introductionIndexLayout h3 .sub {
  display: block;
  font-size: 16px;
  color: #333;
}
.introductionIndexLayout #c02 .h2_in {
    display: none;
}
.introductionIndexLayout #c02 .induIndex_ttl {
    display: block;
}

            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .introductionIndexLayout #job_cassette .flex > div:nth-child(odd) {
                    margin-right: 2%;
                }
                .introductionIndexLayout #job_cassette .flex > div:nth-child(2n) {
                    margin-right: 0;
                }
                .introductionIndexLayout #job_cassette .flex > div {
                    width: 48%;
                    height: 550px;
                }
                .introductionIndexLayout h3 {
                  font-size: 290%;
                  margin-bottom: 60px;
                }
                
            }
            /* 【PC用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                .introductionIndexLayout #job_cassette h2 {
                    max-width: 680px;
                }
            }


/* c01
------------------------------------*/
.introduction01Layout .midashi h2 {
    font-size: 190%;
}
.introduction01Layout .busyo_box {
    background-image: url("../img/introduction/01/introduction01_h2bg.png");
    background-position-x: 30%;
}
.introduction01Layout .m01::before {
    background-image: url("../img/introduction/01/introduction01_c02_img01.png");
}
.introduction01Layout .m02::before {
    background-image: url("../img/introduction/01/introduction01_c02_img02.png");
}
.introduction01Layout .c02_bg {
    background-image: url("../img/introduction/01/introduction01_c02_img03.png");
}
.introduction01Layout .m01 .inner > div {
    padding: 0;
}



            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .introduction01Layout .midashi h2 {
                    font-size: 330%;
                }
            }
            /* 【PC用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                .introduction01Layout .midashi h2 {
                    font-size: 420%;
                }
                .introduction01Layout .m01 {
                    margin-top: 40px;
                }
            }



/* c02
------------------------------------*/
.introduction02Layout .busyo_box {
    background-image: url("../img/introduction/02/introduction02_h2bg.png");
}
.introduction02Layout .m01::before {
    background-image: url("../img/introduction/02/introduction02_c02_img01.png");
}
.introduction02Layout .m02::before {
    background-image: url("../img/introduction/02/introduction02_c02_img02.png");
}
.introduction02Layout .c02_bg {
    background-image: url("../img/introduction/02/introduction02_c02_img03.png");
}
.introduction02Layout .m01 .inner > div {
    padding: 0;
}
.introduction02Layout .busyo_box h2 .s {
  max-width: 200px;
}
.introduction02Layout .busyo_box h2 span {
    max-width: 190px;
}


            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .introduction02Layout .busyo_box h2 .s {
                  max-width: 300px;
                }
                .introduction02Layout .busyo_box h2 span {
                    max-width: 250px;
                }
            }
            /* 【PC用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                .introduction02Layout .busyo_box h2 .s {
                  max-width: 370px;
                }
                .introduction02Layout .busyo_box h2 span {
                    max-width: 410px;
                }
            }



/* c03
------------------------------------*/
.introduction03Layout .busyo_box {
    background-image: url("../img/introduction/03/introduction03_h2bg.png");
    background-position-x: 70%;
}
.introduction03Layout .m01::before {
    background-image: url("../img/introduction/03/introduction03_c02_img01.png");
}
.introduction03Layout .m02::before {
    background-image: url("../img/introduction/03/introduction03_c02_img02.png");
}
.introduction03Layout .c02_bg {
    background-image: url("../img/introduction/03/introduction03_c02_img03.png");
}
.introduction03Layout .m01 .inner > div {
    padding: 0;
}
.introduction03Layout .busyo_box h2 .s {
  max-width: 140px;
}
.introduction03Layout .busyo_box h2 span {
    max-width: 100px;
}


            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .introduction03Layout .busyo_box h2 .s {
                  max-width: 210px;
                }
                .introduction03Layout .busyo_box h2 span {
                    max-width: 150px;
                }
                .introduction03Layout .m01 .inner > div {
                    padding: 50px 0;
                }
            }
            /* 【PC用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                .introduction03Layout .busyo_box h2 .s {
                  max-width: 250px;
                }
                .introduction03Layout .busyo_box h2 span {
                    max-width: 270px;
                }
                .introduction03Layout #c05 .inner > .flex > .flex_box01:first-child,
                .introduction03Layout #c05 .inner > .flex > .flex_box01:last-child {
                    width: 48%;
                }
            }



/* c04
------------------------------------*/
.introduction04Layout .busyo_box {
    background-image: url("../img/introduction/04/introduction04_h2bg.png");
    background-position-x: 40%;
}
.introduction04Layout .m01::before {
    background-image: url("../img/introduction/04/introduction04_c02_img01.png");
    background-position-x: 70%;
}
.introduction04Layout .m02::before {
    background-image: url("../img/introduction/04/introduction04_c02_img02.png");
}
.introduction04Layout .c02_bg {
    background-image: url("../img/introduction/04/introduction04_c02_img03.png");
}
.introduction04Layout .m01 .inner > div {
    padding: 0;
}
.introduction04Layout .busyo_box h2 .s {
  max-width: 60px;
}
.introduction04Layout .busyo_box h2 span {
    max-width: 240px;
}
.introduction04Layout .busyo_box h2 .s {
  max-width: 150px;
}
.introduction04Layout .busyo_box h2 span {
    max-width: 120px;
}



            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .introduction04Layout .busyo_box h2 .s {
                  max-width: 230px;
                }
                .introduction04Layout .busyo_box h2 span {
                    max-width: 160px;
                }
            }
            /* 【PC用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                .introduction04Layout .busyo_box h2 .s {
                  max-width: 280px;
                }
                .introduction04Layout .busyo_box h2 span {
                    max-width: 280px;
                }
                .introduction04Layout #c05 .inner > .flex > .flex_box01:first-child,
                .introduction05Layout #c05 .inner > .flex > .flex_box01:first-child,
                .introduction06Layout #c05 .inner > .flex > .flex_box01:first-child {
                    width: 41%;
                }
                .introduction04Layout #c05 .inner > .flex > .flex_box01:last-child,
                .introduction05Layout #c05 .inner > .flex > .flex_box01:last-child,
                .introduction06Layout #c05 .inner > .flex > .flex_box01:last-child {
                    width: 55%;
                }
            }



/* c05
------------------------------------*/
.introduction05Layout .busyo_box {
    background-image: url("../img/introduction/05/introduction05_h2bg.png");
    background-position-x: left 30%;
}
.introduction05Layout .m01::before {
    background-image: url("../img/introduction/05/introduction05_c02_img01.png");
}
.introduction05Layout .m02::before {
    background-image: url("../img/introduction/05/introduction05_c02_img02.png");
}
.introduction05Layout .c02_bg {
    background-image: url("../img/introduction/05/introduction05_c02_img03.png");
}
.introduction05Layout .m01 .inner > div {
    padding: 0;
}
.introduction05Layout .busyo_box h2 .s {
  max-width: 155px;
}
.introduction05Layout .busyo_box h2 span {
    max-width: 180px;
}



            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .introduction05Layout .busyo_box h2 .s {
                  max-width: 225px;
                }
                .introduction05Layout .busyo_box h2 span {
                    max-width: 260px;
                }
            }
            /* 【PC用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                .introduction05Layout .busyo_box h2 .s {
                  max-width: 280px;
                }
                .introduction05Layout .busyo_box h2 span {
                    max-width: 410px;
                }
            }



/* c06
------------------------------------*/
.introduction06Layout .busyo_box {
    background-image: url("../img/introduction/06/introduction06_h2bg.png");
    background-position-x: left;
}
.introduction06Layout .m01::before {
    background-image: url("../img/introduction/06/introduction06_c02_img01.png");
}
.introduction06Layout .m02::before {
    background-image: url("../img/introduction/06/introduction06_c02_img02.png");
}
.introduction06Layout .c02_bg {
    background-image: url("../img/introduction/06/introduction06_c02_img03.png");
}
.introduction06Layout .m01 .inner > div {
    padding: 0;
}
.introduction06Layout .busyo_box h2 .s {
  max-width: 155px;
}
.introduction06Layout .busyo_box h2 span {
    max-width: 190px;
}



            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .introduction06Layout .busyo_box h2 .s {
                  max-width: 220px;
                }
                .introduction06Layout .busyo_box h2 span {
                    max-width: 250px;
                }
            }
            /* 【PC用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                .introduction06Layout .busyo_box h2 .s {
                  max-width: 280px;
                }
                .introduction06Layout .busyo_box h2 span {
                    max-width: 420px;
                }
            }