@charset "utf-8";

/*----- main -----*/
main {
}
main div.headerWrap {
    position: relative;
    display: table;
    width: 100%;
    height: 900px;
    background: url("../images/h_index.png") no-repeat center center;
    background-size: cover;
}
main div.headerWrap #scroll_down {
    position: absolute;
    bottom: -35px;
    left: calc(5vw + 180px);
    z-index: 9;
    width: 70px;
    height: 70px;
    background: url("../images/anchor_big1.png") no-repeat center center;
    background-size: cover;
}
main div.headerWrap #scroll_down p {
    position: absolute;
    bottom: -2em;
    left: 0;
    right: 0;
    color: #1FA1A0;
    font-size: calc( 12 / var(--root-font-size) * 1rem );
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.5;
    text-align: center;
    text-indent: 0.1em;
    margin: 0 auto;
}

main div.headerWrap p.copy {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10vw;
    z-index: 3;
    height: 7.5em;
    color: #FFF;
    font-size: calc( 36 / var(--root-font-size) * 1rem );
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.75;
    text-indent: -0.05em;
    margin: auto 0;
}

main div.headerWrap div.bar {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    height: 60px;
    background: #1FA1A0;
    padding: 0 5%;
}
main div.headerWrap div.bar p {
    color: #FFF;
    font-size: calc( 14 / var(--root-font-size) * 1rem );
    font-weight: 700;
    line-height: 60px;
}
main div.headerWrap div.bar p span {
    font-size: calc( 18 / var(--root-font-size) * 1rem );
}

main div.headerWrap div.newsWrap {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    width: calc(100% - calc(5vw + 300px));
    max-width: 700px;
    background: #F2F1E6;
    border-top-left-radius: 30px;
    padding: 25px 50px 25px;
}
main div.headerWrap div.newsWrap::before {
    content: "";
    position: absolute;
    top: -212px;
    right: 0;
    width: 605px;
    height: 212px;
    background: url("../images/bg_logo1.png") no-repeat left top;
    background-size: 630px 252px;
}
main div.headerWrap div.newsWrap article {
    padding: 0 20px 15px;
}
main div.headerWrap div.newsWrap article:last-of-type {
    padding: 0 20px;
}
main div.headerWrap div.newsWrap article a {
    text-decoration: none;
}

@media screen and (max-width: 960px) {
main div.headerWrap {
    position: relative;
    display: table;
    width: 100%;
    height: 840px;
    background: url("../images/h_index_tb.png") no-repeat left center;
    background-size: 960px 840px;
}
main div.headerWrap #scroll_down {
    position: absolute;
    bottom: -25px;
    left: 0;
    right: 0;
    z-index: 9;
    width: 50px;
    height: 50px;
    background: url("../images/anchor_big1.png") no-repeat center center;
    background-size: cover;
    margin: 0 auto;
}
main div.headerWrap #scroll_down p {
    position: absolute;
    bottom: -2em;
    left: 0;
    right: 0;
    color: #1FA1A0;
    font-size: calc( 10 / var(--root-font-size) * 1rem );
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.5;
    text-align: center;
    text-indent: 0.1em;
    margin: 0 auto;
}

main div.headerWrap p.copy {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10vw;
    right: inherit;
    z-index: 3;
    height: 7.5em;
    color: #FFF;
    font-size: calc( 18 / var(--root-font-size) * 1rem );
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-indent: 0.05em;
    margin: auto 0;
}

main div.headerWrap div.bar {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    height: 40px;
    background: #1FA1A0;
    text-align: right;
    padding: 0 5%;
}
main div.headerWrap div.bar p {
    color: #FFF;
    font-size: calc( 12 / var(--root-font-size) * 1rem );
    font-weight: 700;
    line-height: 40px;
}
main div.headerWrap div.bar p span {
    font-size: calc( 16 / var(--root-font-size) * 1rem );
}

main div.headerWrap div.newsWrap {
    position: absolute;
    bottom: 40px;
    left: 0;
    right: 0;
    z-index: 2;
    width: 90%;
    max-width: inherit;
    background: #F2F1E6;
    border-top-left-radius: 30px;
    padding: 25px 5vw 25px;
    margin: 0 auto;
}
main div.headerWrap div.newsWrap::before {
    content: "";
    position: absolute;
    top: -69px;
    right: -5vw;
    width: 205px;
    height: 69px;
    background: url("../images/bg_logo1.png") no-repeat left top;
    background-size: 210px 84px;
}
main div.headerWrap div.newsWrap article {
    padding: 0 20px 15px;
}
main div.headerWrap div.newsWrap article:last-of-type {
    padding: 0 20px;
}
main div.headerWrap div.newsWrap article a {
    text-decoration: none;
}
}
@media screen and (max-width: 450px) {
main div.headerWrap {
    position: relative;
    display: table;
    width: 100%;
    height: 840px;
    background: url("../images/h_index_sp.png") no-repeat center center;
    background-size: 525px 840px;
}
}


/*----- about -----*/
section#about {
    padding: 100px 0;
    margin: 50px 0 0;
}
section#about div.flexWrap {
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    padding: 0 min(12.5%, 150px);
    margin: 0 auto;
}
section#about div.flexWrap div.block {
    width: 47.5%;
    margin: 0 0 50px;
}
section#about div.flexWrap div.block.img {
    width: 47.5%;
}
section#about div.flexWrap div.block.img img {
    max-width: calc(100% + min(35%, 150px));
    border-top-left-radius: 30px;
}
section#about div.flexWrap div.block.txt p {
    line-height: 1.75;
}
section#about div.flexWrap div.block.txt p.copy {
    color: #1FA1A0;
    font-size: calc( 30 / var(--root-font-size) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 25px;
}

@media screen and (max-width: 960px) {
section#about {
    padding: 50px 0;
    margin: 0;
}
section#about div.flexWrap {
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    padding: 0;
    margin: 0 auto;
}
section#about div.flexWrap div.block {
    order: 3;
    width: 90%;
    margin: 0 auto 50px;
}
section#about div.flexWrap div.block.img {
    order: 1;
    width: 90%;
    padding: 0 0 50px;
    margin: 0 0 0 auto;
}
section#about div.flexWrap div.block.img img {
    max-width: 100%;
    border-top-left-radius: 30px;
}
section#about div.flexWrap div.block.txt {
    order: 2;
    padding: 0 20px;
}
section#about div.flexWrap div.block.txt p {
    line-height: 1.75;
}
section#about div.flexWrap div.block.txt p.copy {
    color: #1FA1A0;
    font-size: calc( 24 / var(--root-font-size) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 15px;
}
section#about div.flexWrap div.block a.btn {
    margin: 0 auto;
}
}

/*----- works -----*/
section#works {
    background: #78C6C6;
    padding: 100px 0 calc(100px + 7.5vw);
}

@media screen and (max-width: 960px) {
section#works {
    background: #78C6C6;
    padding: 50px 0 calc(100px + 7.5vw);
}
}

/*-- slider css --*/
.works_slider {
    width: 100%;
    padding: 50px 0;
}
.works_slider img {
    width: 100%;/*スライダー内の画像を横幅100%に*/
    height: auto;
}
/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.works_slider .slick-slide {
    margin: 0 min(2vw, 30px);/*スライド左右の余白調整*/
}

.slick-track {
    display: flex!important;
}
.slick-slide {
    height: auto!important;
}

/*矢印の設定*/
/*ドットナビゲーションの設定*/
.slick-dots {
    height: 5px;
    text-align: center;
    margin: 50px 0 0;
}
.slick-dots li {
    display: inline-block;
    margin: 0 5px;
}
.slick-dots button {
    display: block;
    width: 30px;/*ドットボタンのサイズ*/
    height: 5px;/*ドットボタンのサイズ*/
    background: #FFF;/*ドットボタンの色*/
    color: transparent;
    outline: none;
}
.slick-dots .slick-active button {
    background: #1FA1A0;/*ドットボタンの現在地表示の色*/
}

@media screen and (max-width: 960px) {
.works_slider {
    width: 100%;
    padding: 0 0 50px;
}
}

/*----- recruit -----*/
section#recruit {
    position: relative;
    background: #F2F1E6 url("../images/bg_index_recruit.png") no-repeat center top 200px;
    background-size: contain;
    padding: 50px 0 100px;
}
section#recruit::before {
    content: "";
    position: absolute;
    top: -7.5vw;
    left: 0;
    width: 100%;
    height: 7.5vw;
    background: url("../images/line_beige.png") no-repeat center top;
    background-size: cover;
}

section#recruit div.introduction {
    width: 90%;
    max-width: 900px;
    margin: 0 auto 100px;
}
section#recruit div.introduction p {
    line-height: 1.75;
    text-align: center;
}
section#recruit div.introduction p.copy {
    color: #1FA1A0;
    font-size: calc( 30 / var(--root-font-size) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 25px;
}

section#recruit div.flexWrap {
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto 50px;
}
section#recruit div.flexWrap div.imgBlock {
    width: 42.5%;
    padding: 0 0 100px;
}
section#recruit div.flexWrap div.imgBlock.right img {
    border-top-right-radius: 30px;
}
section#recruit div.flexWrap div.imgBlock.left img {
    border-top-left-radius: 30px;
}
section#recruit div.flexWrap div.txtBlock.right {
    padding: 0 20% 100px 0;
}
section#recruit div.flexWrap div.txtBlock.left {
    padding: 0 0 100px 20%;
}
section#recruit div.flexWrap div.txtBlock {
    width: 50%;
}
section#recruit div.flexWrap div.txtBlock p {
    line-height: 1.75;
}
section#recruit div.flexWrap div.txtBlock p.copy {
    color: #1FA1A0;
    font-size: calc( 30 / var(--root-font-size) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 25px;
}

section#recruit div.interview {
    width: 90%;
    max-width: 900px;
    margin: 0 auto 100px;
}

@media screen and (max-width: 960px) {
section#recruit {
    position: relative;
    background: #F2F1E6 url("../images/bg_index_recruit.png") no-repeat center center;
    background-size: 1000px 1200px;
    padding: 50px 0 100px;
}
section#recruit::before {
    content: "";
    position: absolute;
    top: -7.5vw;
    left: 0;
    width: 100%;
    height: 7.5vw;
    background: url("../images/line_beige.png") no-repeat center top;
    background-size: cover;
}

section#recruit div.introduction {
    width: 90%;
    max-width: 900px;
    padding: 0 20px;
    margin: 0 auto 50px;
}
section#recruit div.introduction p {
    line-height: 1.75;
    text-align: center;
}
section#recruit div.introduction p.copy {
    color: #1FA1A0;
    font-size: calc( 24 / var(--root-font-size) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 25px;
}

section#recruit div.flexWrap {
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 100px auto 50px;
}
section#recruit div.flexWrap div.imgBlock {
    width: 90%;
    padding: 0 0 50px;
}
section#recruit div.flexWrap div.imgBlock.right img {
    border-top-right-radius: 30px;
}
section#recruit div.flexWrap div.imgBlock.left {
    margin: 0 0 0 auto;
}
section#recruit div.flexWrap div.imgBlock.left img {
    border-top-left-radius: 30px;
}
section#recruit div.flexWrap div.txtBlock.right {
    padding: 0 20px 50px;
}
section#recruit div.flexWrap div.txtBlock.left {
    padding: 0 20px 50px;
}
section#recruit div.flexWrap div.txtBlock {
    width: 90%;
    margin: 0 auto;
}
section#recruit div.flexWrap div.txtBlock p {
    line-height: 1.75;
}
section#recruit div.flexWrap div.txtBlock p.copy {
    color: #1FA1A0;
    font-size: calc( 24 / var(--root-font-size) * 1rem);
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 15px;
}

section#recruit div.interview {
    width: 90%;
    max-width: 300px;
    margin: 0 auto 50px;
}
}

/*----- news -----*/
section#news {
    padding: 100px 0;
}

@media screen and (max-width: 960px) {
section#news {
    padding: 50px 0;
}
}
