@charset "utf-8";
/* CSS Document */
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    src: local("Noto Sans CJK JP"),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
}
html{font-size:62.5%;/*16px ×　62.5%=10px*/}

body{
    font-family: Avenir,"Noto Sans JP","Hiragino Sans","\6E38\30B4\30B7\30C3\30AF Medium",YuGothic,"\6E38\30B4\30B7\30C3\30AF\4F53","\30D2\30E9\30AE\30CE\89D2\30B4 Pro W3",Meiryo,メイリオ,"MS PGothic",arial,helvetica,sans-serif;
    line-height: 1;
    word-break: break-all;
    font-size: 16px;
    text-shadow: 0 0 0.1px rgb(0 0 0 / 20%);
    -webkit-font-smoothing: antialiased;
    background: #FBF7F4;
    width: 100%;
}

a {
    color: #101010;
}

.margin {
    margin-bottom: 16px;
}

.content-label {
    margin-bottom: 32px;
}

/* ヒーローエリア */

.main-container {
    margin-top: -16px;
}

.hero-area {
    background: url(image/hero_area.png);
    background-size: cover;
    height: 100%;
}

.contents-project {
    width: 100%;
    padding: 40px 80px 24px;
    background: #fff;
    margin-bottom: 16px;
    border-radius: 16px;
    display: block;
    vertical-align: baseline;
}

.hero-area-container {
    padding: 48px 80px 80px 80px;
}

.logo-image-wrapper {
    text-align: center;
    margin-bottom: 8px;
}

.logo-image {
    width: 48px;
    height: 47px;
}

.city-name {
    color: #fff;
    font-size: 48px;
    line-height: 1.5;
    text-align: center;
}

.city-name-bold {
    font-weight: 900;
}

.hero-area-text {
    font-family: Arial;
    font-weight: 800;
    color: #ffffff;
    font-size: 16px;
    transition-duration: 0.4s;
    line-height: 2;
}

/*  -----------------------------------*/

/* セクションタイトル */

.section-title {
    font-size: 32px;
    line-height: 1.5;
    color: #003524;
    font-weight: 900;
}

.sub-text {
    font-weight: 800;
    color: #003524;
    font-size: 20px;
    line-height: 1.5;
}

/*  -----------------------------------*/

/* 求人 */

.project-index-content {
    margin-top: 40px;
}

.main {
    padding-top: 16px;
}

.container {
    display: flex;
    flex-wrap: wrap;
}

.list-item {
    margin-right: 24px;
    margin-bottom: 32px;
}

.ls-project-card {
    max-width: 256px;
    min-width: 256px;
    width: 100%;
    position: relative;
    cursor: pointer;
}

.header{
    border-radius: 16px;
    width: 100%;
    position: relative;
    transition: all 0.4s;
}

.label-wrapper {
    margin-bottom: 8px;
}

.company-info-wrapper {
    margin-top: 8px;
    display: flex;
    align-items: center;
}
.company-image-job {
    width: 24px;
    height: 24px;
}

.company-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-left: 8px;
}

.job-label-pr {
    background-color: #D1A32B;
    display: inline-block;
    border-radius: 12px;
    padding: 0 8px;
    color: white;
    font-size: 12px;
    transition-duration: 0.4s;
    line-height: 2;
}

.job-label-marketer {
    background-color: #AF4B6F;
    display: inline-block;
    border-radius: 12px;
    padding: 0 8px;
    color: white;
    font-size: 12px;
    transition-duration: 0.4s;
    line-height: 2;
}

.title {
    transition: all 0.4s;
    font-weight: 900;
    font-size: 16px;
    line-height: 2;
    color: #101010;
    font-weight: bold;
}

/* 1求人目 */

.header1-img {
    background-image: url(image/job_pr.png);
    border-radius: 16px;
    width: 100%;
    background-size: cover;
    background-position: center;
    height: 144px;
}

/* 2求人目 */

.header2-img {
    background-image: url(image/job_marke.png);
    border-radius: 16px;
    width: 100%;
    background-size: cover;
    background-position: center;
    height: 144px;
}

/* 3求人目 */

.header3-img {
    background-image: url(image/Rectangle04.png);
    border-radius: 16px;
    width: 100%;
    background-size: cover;
    background-position: center;
    height: 144px;
}

/* ----------------------- */

/* スケジュール */

.contents {
    background: #fff;
    border-radius: 16px;
    padding: 48px 80px;
}

.schedule-content {
    display: flex;
    align-items: flex-start;
    margin-top: 40px;
}

.progress-bar-wrapper {
    margin-top: 8px;
    box-sizing: border-box;
    font-size: 100%;
    vertical-align: baseline;
}

.progress-bar {
    height: 218px;
}

.schedule-list {
    display: block;
    display: flex;
    margin-bottom: 20px;
}

.schedule {
    margin-left: 40px;
}

.date {
    font-size: 20px;
    line-height: 1.5;
    font-weight: bold;
}

.detail {
    font-size: 20px;
    line-height: 1.5;
    margin-left: 24px;
}

.sp-schedule-list {
    display: none;
}

/* About */

.about-title {
    font-weight: 900;
    font-size: 24px;
    line-height: 1.5;
}

.contents-about {
    border-radius: 16px;
    padding: 41px 80px 48px;
    height: ;
    background: url(image/about_img.png) right center / 528px no-repeat rgb(255, 255, 255);

}

.about-detail-text {
    max-width: 640px;
    margin-top: 16px;
    transition-duration: 0.4s;
    line-height: 2;
    font-size: 16px;
}

.primary {
    color: #007450;
}

.about-content-image-wrapper {
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
}

.about-content-image {
    height: 100%;
}

.feature-content {
    display: flex;
    justify-content: space-around;
    margin-top: 24px;
}

.feature-element {
    width: 352px;
}

.feature-element-img {
    display: block;
    border-radius: 16px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.feature-element-mobileimg {
    display: none;
}

.feature-text {
    font-family: Avenir;
    font-size: 16px;
    font-weight: 900;
    transition-duration: 0.4s;
    line-height: 2;
}

.feature-element-img-wrapper {
    margin-bottom: 16px;
}

/* 官民連携 */

.project-examples-img-wrapper {
    width: 352px;
    height: 198px;
    margin-bottom: 16px;
}

.project-examples-element1 {
    margin-bottom: 40px;
    display: flex;
}

.project-examples-element2 {
    display: flex;
}

.left-container {
    box-sizing: border-box;
    font-size: 100%;
    vertical-align: baseline;
}



.project-examples-element-img {
    display: block;
    max-width: 100%;
    height: auto;
    border: 0;
    vertical-align: bottom;
}

.project-examples-element-mobileimg {
    display: none;
}

.right-container {
    margin-left: 24px;
}

.project-examples-img-title-wrapper {
    margin-bottom: 8px;
}

.project-examples-img-title {
    font-size: 24px;
    line-height: 1.5;
    font-weight: 800;
}

.project-examples-text {
    font-family: Avenir;
    font-size: 16px;
    transition-duration: 0.4s;
    line-height: 2;
}

/* こんな人求めてます */

.special-contents {
    background: linear-gradient(
98.24deg
, #D9D467 0%, #00BAE3 100%);
    border-radius: 16px;
    margin: 40px auto;
    width: 736px;
    height: 100%;
}

.special-content-container {
    padding: 40px 55px;
}

.special-content-title {
    text-align: center;
    margin-bottom: 24px;
    font-weight: 900;
    color: #fff;
    font-size: 24px;
    line-height: 1.5;
    transition-duration: 0.4s;
}

.recruitment-list-section {
    width: 643px;
    margin: 0 auto;
}

.special-content-container li {
    color: #fff;
    font-size: 16px;
    line-height: 2;
}

/* メッセージ */

.message-content {
    display: flex;
    margin-top: 24px;
}

.mayor-image {
    width: 256px;
}

.message-text {
    width: 65%;
    margin-right: 64px;
}

.message-text-detal {
    color: #101010;
    transition-duration: 0.4s;
    line-height: 2;
}

/* フッターcontact */

.footer-contents {
    position: relative;
    height: 400px;
    border-radius: 16px;
    margin-top: -10px;
}

.contact {
    text-align: center;
    padding-bottom: 230px;
    margin-bottom: 16px;
    border-radius: 16px;
    padding: 48px 80px;
}

.contact-text {
    line-height: 40px;
    font-weight: bold;
    margin-bottom: 32px;
}

.contact-label {
    font-size: 60px;
    line-height: 1.5;
    font-weight: 900;
}

.action-buttons {
    display: flex;
    flex-direction: row;
    flex-direction: row;
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: bold;
    font-size: 16px;
    line-height: 2;
    color: rgb(251, 247, 244);
    -webkit-box-pack: center;
    justify-content: center;
}

.cta-button_secondary {
    background: rgb(16, 16, 16);
    border-radius: 24px;
    display: inline-block;
    padding: 8px 56px;
    width: 160px;
    text-decoration: none;
    color: rgb(251, 247, 244);
}

.cta-button_primary {
    background: rgb(0, 116, 80);
    border-radius: 24px;
    display: inline-block;
    padding: 8px 56px;
    margin-left: 32px;
    width: 160px;
    text-decoration: none;
    color: rgb(251, 247, 244);
    text-decoration: none;
}

.label-wrapper {
    margin-bottom: 8px;
}

.ls-typography.white {
    color: #ffffff;
}

.ls-typography.size-48 {
    font-size: 48px;
    line-height: 1.5;
    text-align: center;
} 

.ls-typography.size-16 {
    font-size: 16px;
}

.ls-typography {
    transition-duration: 0.4s;
    line-height: 2;
}

/*  -----------------------------------*/

@media(max-width:1279px) {
    .feature-content {
        flex-direction: column;
        align-items: center;
    }

    .feature-element {
        margin-bottom: 24px;
    }

    .project-examples-element1 {
        flex-direction: column;
        align-items: center;
    }

    .project-examples-element2 {
        flex-direction: column;
        align-items: center;
        margin-bottom: 0px;
    }
}

@media(max-width:767px) {
    /* ヒーローエリア */
    .hero-area-container {
        padding: 24px 32px 40px;
    }

    .city-name {
        margin-bottom: 24px;
    }

    .contents {
        padding: 24px;
    }

    /* 求人 */

    .list-item {
        width: 100%;
        margin-bottom: 0;
        margin-right: 0;
    }

    .ls-project-card {
        width: 100%;
        max-width: 327px;
        min-width: 327px;
        margin: 0 auto;
        height: initial;
        margin-bottom: 32px;
    }

    .main {
        padding-top: 200px;
    }

    .header1-img {
        background-image: url(image/job_pr.png);
        border-radius: 16px;
        width: 327px;
        background-size: cover;
        background-position: center;
        height: 184px;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
    }

    .header2-img {
        background-image: url(image/job_marke.png);
        border-radius: 16px;
        width: 327px;
        background-size: cover;
        background-position: center;
        height: 184px;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
    }

    /* スケジュール */

    .progress-bar-wrapper {
        margin-right: 0px;
    }

    .progress-bar {
        height: 390px;
    }

    .table {
        display: none;
    }

    .schedule-list {
        display: none;
    }
    
    .sp-schedule-list {
        display: block;
        margin-bottom: 32px;
        margin-right: -8px;

    }

    .sp-date {
        font-size: 20px;
        line-height: 1.5;
        font-weight: bold;
    }

    .sp-detal {
        font-size: 20px;
        line-height: 1.5;
    }

    /* ABOUT */

    .contents-about {
        padding: 24px 24px 40px;
        background-image: unset;
    }

    .about-detail-text {
        width: 100%;
        margin-top: 16px;
        transition-duration: 0.4s;
        line-height: 2;
        font-size: 16px;
    }


    /* 官民連携 */

    .feature-element-img-wrapper {
        margin-bottom: 16px;
    }

    .feature-element {
        margin-bottom: 40px;
    }

    .feature-element-img {
        display: none;
    }

    .feature-element-mobileimg {
        display: block;
        border-radius: 16px;
        width: 327px;
        height: 184px;
        margin: 0 auto;
    }

    .feature-text {
        padding: 0 16px;
    }

    .right-container {
        margin-left: initial;
    }

    .project-examples-element-img {
        display: none;
    }

    .project-examples-element-mobileimg {
        display: block;
        width: 327px;
        height: 184px;
        margin: 0 auto;
    }

    .special-contents {
        background: linear-gradient(
            98.24deg
            , #D9D467 0%, #00BAE3 100%);
                margin: 24px auto;
                width: 343px;
                height: 100%;
    }

    .special-content-container {
        padding: 40px 10px;
    }

    .special-content-title {
        margin-bottom: 40px;
    }

    .recruitment-list-section{
        width: 90%;
    }

    .message-content {
        flex-direction: column-reverse;
    }

    .mayor-image-wrapper {
        text-align: center;
        margin-bottom: 40px;
    }

    .message-text {
        width: 100%;
    }

    .contact-label {
        font-size: 32px;

    }

    .contact-text {
        line-height: initial;
        font-size: 14px;
    }

    .action-buttons {
        flex-direction: column;
        align-items: center;
    }

    .cta-button_secondary {
        margin-left: initial;
        margin-bottom: 24px;
    }

    .cta-button_primary {
        margin-left: initial;
        padding: 8px 56px;
    }
}