@charset "UTF-8";

/*------------------------------------------------
  トップページ
------------------------------------------------*/

/*========== メインビジュアル ==========*/
.top_visual {
    height: calc(100vh - var(--header-sp-height));
    background-image: url(../../images/top/top_visual.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.top_visual_inner {
    margin: auto;
    width: var(--basic-sp-width);
    max-width: var(--basic-width);
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.top_visual_text {
    text-align: center;
    font-weight: 900;
    font-size: 2.5rem;
    color: var(--primary-color);
    -webkit-text-stroke: 1px #fff;
    text-stroke: 1px #fff;
    paint-order: markers;
    text-shadow: 0 0 20px rgba(255,255,255,.5);
}
.top_visual_logo {
    margin: auto;
    margin-top: 15px;
    width: 180px;
}

@media screen and (min-width: 411px) {
    .top_visual_text {
        font-size: 3.2rem;
    }
}

@media screen and (min-width: 768px) {
    .top_visual {
        height: calc(100vh - var(--header-pc-height));
    }
    .top_visual_text {
        font-size: 3.8rem;
    }
    .top_visual_logo {
        width: 220px;
        margin-top: 30px;
    }
}

@media screen and (min-width: 1161px) {
    .top_visual_text {
        font-size: 5.8rem;
    }
    .top_visual_logo {
        width: 370px;
    }
}

/*========== 共通パーツ ==========*/
.top_heading {
    width: 100%;
}
.top_heading span {
    display: block;
    line-height: 1;
}
.top_heading span:first-of-type {
    font-family: "Lexend", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
	font-size: 3rem;
	text-transform: uppercase;
    color: var(--primary-color);
    margin-bottom: 0.25em;
}
.top_heading span:last-of-type {
    font-weight: 700;
    font-size: 1.6rem;
}
.top_heading.heading_light span {
    color: #fff;
}

@media screen and (min-width: 768px) {
    .top_heading span:first-of-type {
        font-size: 4.5rem;
    }
}

@media screen and (min-width: 1161px) {
    .top_heading span:first-of-type {
        font-size: 6rem;
    }
}

/*========== お知らせ ==========*/
.info_block_inner {
    margin: auto;
    margin-top: 60px;
    margin-bottom: 60px;
    width: var(--basic-sp-width);
    max-width: var(--basic-width);
}

/*========== イチカワってどんな会社？ ==========*/
.what_block_wrap {
    margin: auto;
    margin-top: 60px;
    width: var(--basic-sp-width);
    max-width: var(--wide-width);
}
.what_block_bg {
    margin-left: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    background-image: url(../../images/top/block_bg01.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    overflow: hidden;
    border-radius: 0 30px 30px 0;
}
.what_block_inner {
    margin: auto;
    margin-top: 60px;
    margin-bottom: 60px;
    width: var(--basic-sp-width);
    max-width: var(--basic-width);
}
.what_block .common_catch {
    margin-top: 40px;
    margin-bottom: 60px;
}
.what_block_list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.what_block_list_item {
    margin: auto;
    display: flex;
    flex-direction: column;
    max-width: 260px;
}
.what_block_list_item_name {
    order: 2;
    font-weight: 700;
    font-size: 1.8rem;
    color: #fff;
    text-align: center;
    text-shadow: 0 0 10px rgba(0,0,0,.8);
    margin-top: 1em;
}
.what_block_list_item_img {
    order: 1;
    border-radius: 50%;
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .what_block_bg {
        border-radius: 0 60px 60px 0;
    }
    .what_block .common_catch {
        margin-top: 60px;
        margin-bottom: 90px;
    }
    .what_block_list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 50px 30px;
    }
    .what_block_list_item {
        width: calc(50% - 15px);
    }
}

@media screen and (min-width: 1161px) {
    .what_block_wrap {
        margin-top: 100px;
    }
    .what_block_bg {
        border-radius: 0 90px 90px 0;
    }
    .what_block_inner {
        margin-top: 100px;
        margin-bottom: 80px;
    }
    .what_block .common_catch {
        margin-top: 80px;
        margin-bottom: 130px;
    }
}

@media screen and (min-width: 1601px) {
    .what_block_bg {
        border-radius: 0 120px 120px 0;
    }
    .what_block_inner {
        margin-top: 160px;
        margin-bottom: 120px;
    }
}

/*========== イチカワをもっと知りたい！ ==========*/
.know_block {
    background-image: url(../../images/common/common_bg.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    padding-top: 60px;
}
.know_block_wrap {
    margin: auto;
    width: var(--basic-sp-width);
    max-width: var(--wide-width);
}
.know_block_bg {
    margin-right: calc(50% - 50vw);
    padding-right: calc(50vw - 50%);
    background-color: #fff;
    padding-top: 60px;
    padding-bottom: 60px;
    border-top-left-radius: 30px;
    box-shadow: 0 0 20px rgba(0,0,0,.3);
}
.know_block_inner {
    margin: auto;
    width: var(--basic-sp-width);
    max-width: var(--basic-width);
}
.know_block .common_catch {
    margin-top: 40px;
    margin-bottom: 40px;
}
.know_contents_list {
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.know_contents_item a {
    display: flex;
    flex-direction: column;
}
.know_contents_heading {
    order: 2;
    font-weight: 700;
    font-size: 1.6rem;
    color: var(--primary-color);
    padding: 1em 0;
}
.know_contents_detail {
    order: 3;
    line-height: 2;
}
.know_contents_pic {
    order: 1;
    overflow: hidden;
    border-bottom-left-radius: 30px;
}
a .know_contents_pic img {
    transform: scale(1.1);
    transition: all 0.8s ease;
}
a:hover .know_contents_pic img {
    transform: scale(1.0);
}

@media screen and (min-width: 768px) {
    .know_block {
        padding-top: 90px;
    }
    .know_block_bg {
        padding-top: 90px;
        border-top-left-radius: 60px;
    }
    .know_block .common_catch {
        margin-top: 60px;
    }
    .know_contents_list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 60px 20px;
    }
    .know_contents_item {
        width: calc(50% - 10px);
    }
    .know_contents_pic {
        border-bottom-left-radius: 45px;
    }
    .know_contents_heading {
        font-size: 1.8rem;
    }
    .know_contents_detail {
        font-size: 1.4rem;
    }
    .know_contents_detail .only_pc {
        display: none;
    }
}

@media screen and (min-width: 901px) {
    .know_contents_detail {
        font-size: 1.6rem;
    }
}

@media screen and (min-width: 1161px) {
    .know_block {
        padding-top: 120px;
    }
    .know_block_bg {
        padding-top: 120px;
        padding-bottom: 90px;
        border-top-left-radius: 90px;
        box-shadow: 0 0 30px rgba(0,0,0,.3);
    }
    .know_block .common_catch {
        margin-top: 80px;
    }
    .know_contents_list {
        gap: 60px 44px;
    }
    .know_contents_item {
        width: calc(50% - 22px);
    }
    .know_contents_pic {
        border-bottom-left-radius: 60px;
    }
    .know_contents_heading {
        padding: 0.5em 0;
        font-size: 2.4rem;
        margin-top: 20px;
    }
    .know_contents_detail {
        padding-right: 40px;
    }
    .know_contents_detail .only_pc {
        display: block;
    }
}

@media screen and (min-width: 1601px) {
    .know_block {
        padding-top: 160px;
    }
    .know_block_bg {
        padding-top: 160px;
        border-top-left-radius: 120px;
    }
}

/*========== 採用情報 ==========*/
.recruit_block {
    background-image: url(../../images/top/block_bg02.jpg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;
    padding-top: 50px;
    padding-bottom: 60px;
}
.recruit_block_inner {
    margin: auto;
    width: var(--basic-sp-width);
    max-width: var(--basic-width);
    border: 1px solid #fff;
    border-bottom-left-radius: 30px;
}
.recruit_block_item {
    margin: 50px auto;
    width: calc(var(--basic-sp-width) - 40px);
    max-width: 830px;
}
.recruit_link a {
    display: block;
    padding: 0.5em 0;
    padding-right: calc(40px + 0.5em);
    font-weight: 700;
    margin-top: 30px;
    color: #fff;
}

@media screen and (min-width: 411px) {
    .recruit_link a {
        font-size: 1.6rem;
    }
}

@media screen and (min-width: 768px) {
    .recruit_block {
        padding-top: 70px;
        padding-bottom: 90px;
    }
    .recruit_block_inner {
        border-bottom-left-radius: 60px;
    }
    .recruit_block_item {
        margin: 75px auto;
        display: flex;
        align-items: center;
    }
    .recruit_block .top_heading {
        width: calc(50% - 40px);
    }
    .recruit_block .recruit_link {
        width: calc(50% + 40px);
    }
    .recruit_link a {
        margin-top: 0;
    }
}

@media screen and (min-width: 1161px) {
    .recruit_block {
        padding-top: 100px;
        padding-bottom: 120px;
    }
    .recruit_block_inner {
        border-bottom-left-radius: 100px;
    }
    .recruit_block_item {
        margin: 100px auto;
    }
    .recruit_link a {
        font-size: 1.8rem;
    }
}

@media screen and (min-width: 1501px) {
    .recruit_link a {
        font-size: 2rem;
    }
}
