@charset "UTF-8";
/*==================================================================================================
	TOP
==================================================================================================*/
#top .mv_inner {
    height: 100svh;
    position: relative;
}
@media (max-width: 840px) {
    #top .mv_inner {
        height: 100vw;
    }
}
#top .mv_img {
    position: relative;
    height: 100svh;
}
@media (max-width: 840px) {
    #top .mv_img {
        height: 100vw;
    }
}
#top .mv_img::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(27, 61, 142, 0.15);
    z-index: 5;
}
#top .mv_img .uk-slideshow-items {
    height: 100svh;
}
@media (max-width: 840px) {
    #top .mv_img .uk-slideshow-items {
        height: 100vw;
    }
}
#top .mv_img .uk-slideshow-items div img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100svh;
}
#top .mv_img .uk-slideshow-items div img.left {
    -o-object-position: left;
    object-position: left;
}
#top .mv_img .uk-slideshow-items div img.center {
    -o-object-position: center;
    object-position: center;
}
@media (max-width: 840px) {
    #top .mv_img .uk-slideshow-items div img {
        height: 100vw;
    }
}
#top .mv_catch {
    position: absolute;
    bottom: -7.5%;
    left: min(50px, 5%);
    display: flex;
    flex-direction: column;
    color: #fff;
    z-index: 10;
}
#top .mv_catch .ja {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
}
#top .mv_catch .en {
    font-size: clamp(4.6rem, 6vw, 9rem);
    line-height: 1.2;
}
#top .mv_catch .en span {
    font-size: clamp(6rem, 8vw, 12rem);
    font-weight: 600;
    font-family: Arial, sans-serif;
    font-style: italic;
    display: inline-block;
    line-height: 1.2;
    opacity: 0;
    translate: 30px 0;
    transition: opacity 1.5s, translate 0.5s;
}
#top .mv_catch .en span.-active {
    opacity: 1;
    translate: 0 0;
}
@media (max-width: 840px) {
    #top .mv_catch .en span {
        font-size: 8.5vw;
    }
}
#top .business {
    background-color: #1B3D8E;
}
@media (max-width: 840px) {
    #top .business {
        padding-top: calc(clamp(80px, 14vw, 200px) + 50px);
    }
}
#top .business_secttl {
    display: flex;
    flex-direction: column;
    color: #fff;
}
#top .business_secttl .ja {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    color: #fff;
}
#top .business_secttl .en {
    font-size: clamp(4.6rem, 6vw, 9rem);
    line-height: 1;
    margin-bottom: 1em;
}
#top .business_secttl .en span {
    font-size: clamp(4.6rem, 6vw, 9rem);
    font-weight: 600;
    font-family: Arial, sans-serif;
    font-style: italic;
    display: inline-block;
    line-height: 1;
    opacity: 0;
    translate: 30px 0;
    transition: opacity 1.5s, translate 0.5s;
}
#top .business_secttl .en span.-active {
    opacity: 1;
    translate: 0 0;
}
@media (max-width: 840px) {
    #top .business_secttl .en span {
        font-size: 8.5vw;
    }
}
#top .business_list {
    display: flex;
    flex-direction: column;
    gap: calc(clamp(50px, 8vw, 80px) * 1.5) 0;
}
#top .business_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
@media (max-width: 840px) {
    #top .business_item {
        width: 80%;
    }
}
@media (max-width: 540px) {
    #top .business_item {
        width: 90%;
    }
}
#top .business_item:nth-child(1) .business_img {
    background-image: url(../img/top/business_01.jpg);
}
#top .business_item:nth-child(2) {
    flex-direction: row-reverse;
}
@media (max-width: 840px) {
    #top .business_item:nth-child(2) {
        flex-direction: row;
        margin-left: auto;
    }
}
#top .business_item:nth-child(2) .business_img {
    background-image: url(../img/top/business_02.jpg);
}
#top .business_img {
    width: 50%;
    border-radius: min(7.5px, 1.5vw);
    aspect-ratio: 16/9;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
@media (max-width: 840px) {
    #top .business_img {
        width: 100%;
    }
}
#top .business_content {
    width: 45%;
    color: #fff;
}
@media (max-width: 840px) {
    #top .business_content {
        width: 100%;
        margin-top: clamp(30px, 5vw, 50px);
    }
}
#top .business_num {
    font-size: clamp(4.6rem, 6vw, 9rem);
    line-height: 1;
    margin-bottom: 0.5em;
    color: #fff;
}
#top .business_num span {
    font-size: clamp(4.6rem, 6vw, 9rem);
    font-weight: 600;
    font-family: Arial, sans-serif;
    font-style: italic;
    display: inline-block;
    line-height: 1;
    opacity: 0;
    translate: 30px 0;
    transition: opacity 1.5s, translate 0.5s;
}
#top .business_num span.-active {
    opacity: 1;
    translate: 0 0;
}
@media (max-width: 840px) {
    #top .business_num span {
        font-size: 8.5vw;
    }
}
#top .business_ttl {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    line-height: 1.4;
    margin: 1em 0;
    color: #fff;
}
#top .business_btn {
    font-size: clamp(2rem, 2vw, 2.4rem);
    margin-top: 3em;
    position: relative;
    z-index: 5;
    transition: translate 0.5s;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
@media (max-width: 840px) {
    #top .business_btn {
        margin-top: clamp(30px, 5vw, 50px);
    }
}
#top .business_btn:hover {
    translate: 0 -0.25em;
}
#top .business_btn:hover span {
    background-color: #fff;
    color: #1B3D8E;
}
#top .business_btn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: Arial, sans-serif;
    border: 1px solid #fff;
    padding: 0.25em 2em;
    display: inline-block;
    border-radius: 50px;
    transition: background-color 0.5s, color 0.5s;
    font-style: italic;
    font-family: Arial, sans-serif;
}
#top .recruit {
    background-color: #f5f5f5;
    padding-bottom: 0;
}
#top .recruit_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#top .recruit_content {
    width: 40%;
}
@media (max-width: 1024px) {
    #top .recruit_content {
        width: 90%;
    }
}
#top .recruit_secttl {
    display: flex;
    flex-direction: column;
    color: #38476A;
}
#top .recruit_secttl .ja {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    color: #38476A;
}
#top .recruit_secttl .en {
    font-size: clamp(4.6rem, 6vw, 9rem);
    line-height: 1;
    margin-bottom: 1em;
}
#top .recruit_secttl .en span {
    font-size: clamp(4.6rem, 6vw, 9rem);
    font-weight: 600;
    font-family: Arial, sans-serif;
    font-style: italic;
    display: inline-block;
    line-height: 1;
    opacity: 0;
    translate: 30px 0;
    transition: opacity 1.5s, translate 0.5s;
}
#top .recruit_secttl .en span.-active {
    opacity: 1;
    translate: 0 0;
}
@media (max-width: 840px) {
    #top .recruit_secttl .en span {
        font-size: 8.5vw;
    }
}
#top .recruit_txt {
    font-size: 2rem;
}
#top .recruit_btn {
    font-size: clamp(2rem, 2vw, 2.4rem);
    margin-top: 3em;
    position: relative;
    z-index: 5;
    transition: translate 0.5s;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
@media (max-width: 840px) {
    #top .recruit_btn {
        margin-top: clamp(30px, 5vw, 50px);
    }
}
#top .recruit_btn:hover {
    translate: 0 -0.25em;
}
#top .recruit_btn:hover span {
    background-color: #38476A;
    color: #fff;
    border-color: #38476A;
}
#top .recruit_btn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: Arial, sans-serif;
    border: 1px solid #555;
    padding: 0.25em 2em;
    display: inline-block;
    border-radius: 50px;
    transition: background-color 0.5s, color 0.5s;
    font-style: italic;
    font-family: Arial, sans-serif;
}
#top .recruit_img {
    width: 50%;
    position: relative;
    z-index: 5;
}
@media (max-width: 1024px) {
    #top .recruit_img {
        width: 100%;
        margin-left: auto;
        margin-top: clamp(50px, 8vw, 80px);
    }
}
#top .recruit_img .img_item {
    width: 50%;
    padding-right: 2em;
}
#top .recruit_img .img_link:hover .img_eyecatch img {
    scale: 1.05;
}
#top .recruit_img .img_eyecatch {
    overflow: hidden;
    border-radius: min(7.5px, 1.5vw);
}
#top .recruit_img .img_eyecatch img {
    border-radius: min(7.5px, 1.5vw);
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    height: 600px;
}
@media (max-width: 1024px) {
    #top .recruit_img .img_eyecatch img {
        height: auto;
        aspect-ratio: 1/2;
    }
}
#top .post {
    background-color: #1B3D8E;
    margin-top: -100px;
}
@media (max-width: 1024px) {
    #top .post {
        padding-top: calc(clamp(80px, 14vw, 200px) + 100px);
    }
}
#top .post_inner {
    display: flex;
    flex-direction: column;
    gap: clamp(50px, 8vw, 80px) 0;
}
#top .post_news, #top .post_topics {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
}
#top .post_secttl {
    display: flex;
    flex-direction: column;
    color: #fff;
}
#top .post_secttl .ja {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    color: #fff;
}
#top .post_secttl .en {
    font-size: clamp(4.6rem, 6vw, 9rem);
    line-height: 1;
}
#top .post_secttl .en span {
    font-size: clamp(4.6rem, 6vw, 9rem);
    font-weight: 600;
    font-family: Arial, sans-serif;
    font-style: italic;
    display: inline-block;
    line-height: 1;
    opacity: 0;
    translate: 30px 0;
    transition: opacity 1.5s, translate 0.5s;
}
#top .post_secttl .en span.-active {
    opacity: 1;
    translate: 0 0;
}
@media (max-width: 840px) {
    #top .post_secttl .en span {
        font-size: 8.5vw;
    }
}
#top .post_btn {
    font-size: clamp(2rem, 2vw, 2.4rem);
    position: relative;
    z-index: 5;
    transition: translate 0.5s;
}
@media (max-width: 840px) {
    #top .post_btn {
        margin-top: clamp(30px, 5vw, 50px);
    }
}
#top .post_btn:hover {
    translate: 0 -0.25em;
}
#top .post_btn:hover span {
    background-color: #fff;
    color: #1B3D8E;
}
#top .post_btn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: Arial, sans-serif;
    border: 1px solid #fff;
    padding: 0.25em 2em;
    display: inline-block;
    border-radius: 50px;
    color: #fff;
    transition: background-color 0.5s, color 0.5s;
    font-style: italic;
    font-family: Arial, sans-serif;
}
#top .post_list {
    width: 100%;
    margin-top: clamp(30px, 5vw, 50px);
}

/*==================================================================================================
	会社概要
==================================================================================================*/
#company .philosophy {
    background-color: #1B3D8E;
    padding-bottom: 0;
}
#company .philosophy_ttl {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    color: #fff;
    margin-bottom: 1em;
}
#company .philosophy_txt {
    font-size: 2rem;
    line-height: 2.25;
    color: #fff;
    width: 70%;
}
@media (max-width: 840px) {
    #company .philosophy_txt {
        width: 100%;
        font-size: 1.8rem;
        line-height: 2;
    }
}
#company .policy {
    background-color: #1B3D8E;
}
#company .policy_txt {
    font-size: 2rem;
    line-height: 2.25;
    color: #fff;
    width: 70%;
}
@media (max-width: 840px) {
    #company .policy_txt {
        width: 100%;
        font-size: 1.8rem;
        line-height: 2;
    }
}
#company .greeting {
    background-color: #f5f5f5;
}
#company .greeting_inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}
#company .greeting_content {
    width: 40%;
}
@media (max-width: 840px) {
    #company .greeting_content {
        width: 100%;
    }
}
#company .greeting_img {
    position: relative;
    z-index: 5;
}
#company .greeting_img img {
    border-radius: min(7.5px, 1.5vw);
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
@media (max-width: 840px) {
    #company .greeting_img {
        width: 70%;
        margin-left: min(50px, 5%);
    }
}
#company .greeting_txt {
    width: 55%;
    background-color: #fff;
    padding: clamp(30px, 5vw, 50px) min(50px, 5%);
    border-radius: min(7.5px, 1.5vw);
}
@media (max-width: 840px) {
    #company .greeting_txt {
        width: 100%;
        padding-top: 40%;
        margin-top: -35%;
    }
}
#company .greeting_txt .txt {
    line-height: 2;
    font-size: 1.8rem;
}
#company .greeting_txt .name {
    font-size: 1.8rem;
    margin-top: 1em;
    display: block;
}
#company .company {
    background-color: #1B3D8E;
}
#company .company_list {
    display: flex;
    flex-direction: column;
    gap: 1em 0;
}
#company .company_item {
    display: flex;
    flex-wrap: wrap;
    color: #fff;
}
#company .company_item .ttl {
    width: 6em;
}
#company .company_item .txt {
    width: calc(100% - 6em);
    padding-left: 1em;
}
#company .company_map {
    margin-top: clamp(30px, 5vw, 50px);
}
#company .history {
    background-color: #f5f5f5;
    padding-bottom: 0;
}
#company .history_list {
    display: flex;
    flex-direction: column;
    gap: 1em 0;
}
#company .history_item {
    display: flex;
    flex-wrap: wrap;
}
#company .history_item .year {
    width: 6em;
    text-align: right;
    display: block;
}
#company .history_item .txt {
    width: calc(100% - 6em);
    padding-left: 4em;
    position: relative;
}
@media (max-width: 540px) {
    #company .history_item .txt {
        padding-left: 3em;
    }
}
#company .history_item .txt::before {
    content: "";
    position: absolute;
    top: 0.85em;
    left: 0.75em;
    translate: 0 0;
    width: 2.5em;
    height: 1px;
    background-color: #555;
}
@media (max-width: 540px) {
    #company .history_item .txt::before {
        width: 1.25em;
    }
}

/*==================================================================================================
	お知らせ,トピックス
==================================================================================================*/
#news .archive,
#topics .archive {
    background-color: #1B3D8E;
}
#news .archive_secttl,
#topics .archive_secttl {
    display: flex;
    flex-direction: column;
    color: #fff;
}
#news .archive_secttl .ja,
#topics .archive_secttl .ja {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    color: #fff;
}
#news .archive_secttl .en,
#topics .archive_secttl .en {
    font-size: clamp(4.6rem, 6vw, 9rem);
    line-height: 1;
}
#news .archive_secttl .en span,
#topics .archive_secttl .en span {
    font-size: clamp(4.6rem, 6vw, 9rem);
    font-weight: 600;
    font-family: Arial, sans-serif;
    font-style: italic;
    display: inline-block;
    line-height: 1;
    opacity: 0;
    translate: 30px 0;
    transition: opacity 1.5s, translate 0.5s;
}
#news .archive_secttl .en span.-active,
#topics .archive_secttl .en span.-active {
    opacity: 1;
    translate: 0 0;
}
@media (max-width: 840px) {
    #news .archive_secttl .en span,
    #topics .archive_secttl .en span {
        font-size: 8.5vw;
    }
}
#news .archive_list,
#topics .archive_list {
    width: 100%;
    margin-top: clamp(30px, 5vw, 50px);
}
#news .article,
#topics .article {
    background-color: #1B3D8E;
    padding-top: 200px;
}
@media (max-width: 540px) {
    #news .article,
    #topics .article {
        padding-top: 140px;
    }
}
#news .article_inner,
#topics .article_inner {
    background-color: #fff;
    padding: clamp(30px, 5vw, 50px) min(50px, 5%);
    border-radius: min(7.5px, 1.5vw);
}

/*==================================================================================================
	事業紹介
==================================================================================================*/
#instrumentation .head {
    background-color: #1B3D8E;
    padding-bottom: 0;
}
#instrumentation .head_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#instrumentation .head_content {
    width: 45%;
    color: #fff;
}
@media (max-width: 840px) {
    #instrumentation .head_content {
        width: 100%;
        margin-top: clamp(30px, 5vw, 50px);
    }
}
#instrumentation .head_secttl .en {
    font-size: clamp(4.6rem, 5vw, 9rem);
}
#instrumentation .head_secttl .en span {
    font-size: clamp(4.6rem, 5vw, 9rem);
}
#instrumentation .head_secttl .en:nth-of-type(1) {
    margin-bottom: 0;
}
#instrumentation .head_ttl {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    line-height: 1.4;
    margin: 1em 0;
    color: #fff;
}
#instrumentation .head_txt {
    color: #fff;
    padding-bottom: 15%;
}
@media (max-width: 840px) {
    #instrumentation .head_txt {
        padding-bottom: 0;
    }
}
#instrumentation .head_img {
    margin-top: 20%;
    margin-bottom: -5%;
    width: 50%;
    border-radius: min(7.5px, 1.5vw);
    aspect-ratio: 16/9;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(../img/instrumentation/head.jpg);
}
@media (max-width: 840px) {
    #instrumentation .head_img {
        width: 100%;
        margin-top: clamp(50px, 8vw, 80px);
    }
}
#instrumentation .about_point {
    margin-top: clamp(30px, 5vw, 50px);
}
#instrumentation .about .point_list {
    display: flex;
    flex-direction: column;
    gap: 0.5em 0;
    margin-top: 1em;
}
#instrumentation .about .point_item {
    display: flex;
    flex-wrap: wrap;
    background-color: #fafafa;
    padding: 0.75em 1em;
}
#instrumentation .about .point_item .ttl {
    width: 13em;
    color: #1B3D8E;
}
@media (max-width: 840px) {
    #instrumentation .about .point_item .ttl {
        width: 100%;
    }
}
#instrumentation .about .point_item .txt {
    width: calc(100% - 13em);
    padding-left: 1em;
}
@media (max-width: 840px) {
    #instrumentation .about .point_item .txt {
        width: 100%;
        padding-left: 0;
    }
}
#instrumentation .product.-pt0 {
    padding-top: 0;
}
#instrumentation .product.-gray {
    background-color: #f5f5f5;
    padding: clamp(80px, 14vw, 200px) 5%;
}
#instrumentation .product_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: clamp(30px, 5vw, 50px) 0;
}
#instrumentation .product_content {
    width: 50%;
}
@media (max-width: 1024px) {
    #instrumentation .product_content {
        width: 100%;
    }
}
#instrumentation .product_secttl .main {
    font-size: calc(clamp(3.6rem, 4.6vw, 4.6rem) * 1.25);
    line-height: 1;
    margin-bottom: 0.25em;
    margin-top: 0.1em;
}
#instrumentation .product_secttl .main span {
    font-size: calc(clamp(3.6rem, 4.6vw, 4.6rem) * 1.25);
    font-weight: 600;
    font-family: Arial, sans-serif;
    display: inline-block;
    line-height: 1;
    opacity: 0;
    translate: 30px 0;
    transition: opacity 1.5s, translate 0.5s;
    color: #38476A;
}
#instrumentation .product_secttl .main span.-active {
    opacity: 1;
    translate: 0 0;
}
@media (max-width: 840px) {
    #instrumentation .product_secttl .main span {
        font-size: 8.5vw;
    }
}
#instrumentation .product_secttl .copy {
    font-size: 2rem;
}
#instrumentation .product_img {
    margin: clamp(30px, 5vw, 50px) 0 0;
}
#instrumentation .product_img img {
    aspect-ratio: 16/9;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%;
    height: 100%;
    border-radius: min(7.5px, 1.5vw);
}
#instrumentation .product_btn {
    display: flex;
    gap: 0 1em;
}
#instrumentation .product_btn .btn_link {
    font-size: 2rem;
    margin-top: 2em;
    position: relative;
    z-index: 5;
    transition: translate 0.5s;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
#instrumentation .product_btn .btn_link:hover {
    translate: 0 -0.25em;
}
#instrumentation .product_btn .btn_link:hover span {
    background-color: #38476A;
    color: #fff;
    border-color: #38476A;
}
#instrumentation .product_btn .btn_link:hover::before {
    background-color: #fff;
}
#instrumentation .product_btn .btn_link span {
    font-size: 2rem;
    font-family: Arial, sans-serif;
    border: 1px solid #555;
    padding: 0.25em 2em 0.25em 2.5em;
    display: inline-block;
    border-radius: 50px;
    transition: background-color 0.5s, color 0.5s;
    font-family: Arial, sans-serif;
    line-height: 1.4;
}
@media (max-width: 840px) {
    #instrumentation .product_btn .btn_link span {
        font-size: 1.8rem;
    }
}
#instrumentation .product_btn .btn_link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1em;
    width: 1em;
    height: 1em;
    background-color: #555;
    -webkit-mask-image: url(../img/color/icon_pdf.svg);
    mask-image: url(../img/color/icon_pdf.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    translate: 0 -50%;
    transition: background-color 0.5s;
}
#instrumentation .product_info {
    width: 45%;
    display: flex;
    flex-direction: column;
    gap: clamp(30px, 5vw, 50px) 0;
}
@media (max-width: 1024px) {
    #instrumentation .product_info {
        width: 100%;
    }
}
#instrumentation .product .info_ttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-weight: 600;
    margin-bottom: 0.25em;
}
#instrumentation .product .info_img:nth-of-type(1) {
    margin-bottom: 2em;
}
#instrumentation .product .info_img .txt {
    margin-bottom: 1em;
}
#instrumentation .product .info_img .img {
    width: 65%;
}
#instrumentation .product .info_img .img img {
    border-radius: min(7.5px, 1.5vw);
}
#instrumentation .product_works {
    width: 100%;
}
#instrumentation .product .works_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0 2.5%;
}
@media (max-width: 840px) {
    #instrumentation .product .works_list {
        gap: clamp(30px, 5vw, 50px) 3.5%;
    }
}
#instrumentation .product .works_item {
    width: 31.6666666667%;
}
@media (max-width: 840px) {
    #instrumentation .product .works_item {
        width: 48.25%;
    }
}
#instrumentation .product .works_link:hover .works_eyecatch img {
    scale: 1.05;
}
#instrumentation .product .works_img {
    overflow: hidden;
    border-radius: min(7.5px, 1.5vw);
}
#instrumentation .product .works_img img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    border-radius: min(7.5px, 1.5vw);
}
#instrumentation .product .works_ttl {
    font-size: 1.8rem;
    margin-top: 0.5em;
    display: block;
}

/*==================================================================================================
	色彩計測器販売について
==================================================================================================*/
#color .head {
    background-color: #1B3D8E;
    padding-bottom: 0;
}
#color .head_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#color .head_content {
    width: 45%;
    color: #fff;
}
@media (max-width: 840px) {
    #color .head_content {
        width: 100%;
        margin-top: clamp(30px, 5vw, 50px);
    }
}
#color .head_secttl .en {
    font-size: clamp(4.6rem, 5vw, 9rem);
}
#color .head_secttl .en span {
    font-size: clamp(4.6rem, 5vw, 9rem);
}
#color .head_secttl .en:nth-of-type(1) {
    margin-bottom: 0;
}
#color .head_ttl {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    line-height: 1.4;
    margin: 1em 0;
    color: #fff;
}
#color .head_txt {
    color: #fff;
    padding-bottom: 15%;
}
@media (max-width: 840px) {
    #color .head_txt {
        padding-bottom: 0;
    }
}
#color .head_img {
    margin-top: 20%;
    margin-bottom: -5%;
    width: 50%;
    border-radius: min(7.5px, 1.5vw);
    aspect-ratio: 16/9;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(../img/color/head.jpg);
}
@media (max-width: 840px) {
    #color .head_img {
        width: 100%;
        margin-top: clamp(50px, 8vw, 80px);
    }
}
#color .product.-gray {
    background-color: #f5f5f5;
    padding: clamp(80px, 14vw, 200px) 5%;
}
#color .product_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: clamp(30px, 5vw, 50px) 0;
}
#color .product_content {
    width: 50%;
}
@media (max-width: 1024px) {
    #color .product_content {
        width: 100%;
    }
}
#color .product_secttl .en {
    margin-bottom: 0.15em;
}
#color .product_secttl .copy {
    font-size: 2rem;
}
#color .product_img {
    margin: clamp(30px, 5vw, 50px) 0 0;
}
#color .product_img img {
    aspect-ratio: 16/9;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%;
    height: 100%;
    border-radius: min(7.5px, 1.5vw);
}
#color .product_btn {
    display: flex;
    gap: 0 1em;
}
#color .product_btn .btn_link {
    font-size: 2rem;
    margin-top: 2em;
    position: relative;
    z-index: 5;
    transition: translate 0.5s;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
#color .product_btn .btn_link:hover {
    translate: 0 -0.25em;
}
#color .product_btn .btn_link:hover span {
    background-color: #38476A;
    color: #fff;
    border-color: #38476A;
}
#color .product_btn .btn_link:hover::before {
    background-color: #fff;
}
#color .product_btn .btn_link span {
    font-size: 2rem;
    font-family: Arial, sans-serif;
    border: 1px solid #555;
    padding: 0.25em 2em 0.25em 2.5em;
    display: inline-block;
    border-radius: 50px;
    transition: background-color 0.5s, color 0.5s;
    font-family: Arial, sans-serif;
    line-height: 1.4;
}
@media (max-width: 840px) {
    #color .product_btn .btn_link span {
        font-size: 1.8rem;
    }
}
#color .product_btn .btn_link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1em;
    width: 1em;
    height: 1em;
    background-color: #555;
    -webkit-mask-image: url(../img/color/icon_pdf.svg);
    mask-image: url(../img/color/icon_pdf.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    translate: 0 -50%;
    transition: background-color 0.5s;
}
#color .product_info {
    width: 45%;
    display: flex;
    flex-direction: column;
    gap: clamp(30px, 5vw, 50px) 0;
}
@media (max-width: 1024px) {
    #color .product_info {
        width: 100%;
    }
}
#color .product .info_ttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-weight: 600;
    margin-bottom: 0.25em;
}
#color .works {
    background-color: #1B3D8E;
    display: none;
}
#color .works_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
}
#color .works_secttl {
    display: flex;
    flex-direction: column;
    color: #fff;
}
#color .works_secttl .ja {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    color: #fff;
}
#color .works_secttl .en {
    font-size: clamp(4.6rem, 6vw, 9rem);
    line-height: 1;
}
#color .works_secttl .en span {
    font-size: clamp(4.6rem, 6vw, 9rem);
    font-weight: 600;
    font-family: Arial, sans-serif;
    font-style: italic;
    display: inline-block;
    line-height: 1;
    opacity: 0;
    translate: 30px 0;
    transition: opacity 1.5s, translate 0.5s;
}
#color .works_secttl .en span.-active {
    opacity: 1;
    translate: 0 0;
}
@media (max-width: 840px) {
    #color .works_secttl .en span {
        font-size: 8.5vw;
    }
}
#color .works_btn {
    font-size: clamp(2rem, 2vw, 2.4rem);
    position: relative;
    z-index: 5;
    transition: translate 0.5s;
}
@media (max-width: 840px) {
    #color .works_btn {
        margin-top: clamp(30px, 5vw, 50px);
    }
}
#color .works_btn:hover {
    translate: 0 -0.25em;
}
#color .works_btn:hover span {
    background-color: #fff;
    color: #1B3D8E;
}
#color .works_btn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: Arial, sans-serif;
    border: 1px solid #fff;
    padding: 0.25em 2em;
    display: inline-block;
    border-radius: 50px;
    color: #fff;
    transition: background-color 0.5s, color 0.5s;
    font-style: italic;
    font-family: Arial, sans-serif;
}
#color .works_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0 2.5%;
    margin-top: clamp(30px, 5vw, 50px);
}
@media (max-width: 840px) {
    #color .works_list {
        gap: clamp(30px, 5vw, 50px) 3.5%;
    }
}
#color .works_item {
    width: 31.6666666667%;
}
@media (max-width: 840px) {
    #color .works_item {
        width: 48.25%;
    }
}
#color .works_link:hover .works_eyecatch img {
    scale: 1.05;
}
#color .works_eyecatch {
    overflow: hidden;
    border-radius: min(7.5px, 1.5vw);
}
#color .works_eyecatch img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    border-radius: min(7.5px, 1.5vw);
}
#color .works_ttl {
    font-size: 1.8rem;
    margin-top: 0.5em;
    color: #fff;
    display: block;
}

/*==================================================================================================
	求人情報
==================================================================================================*/
#recruit .interview {
    padding-bottom: 0;
    background-color: #1B3D8E;
}
#recruit .interview::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20%;
    background-color: #f5f5f5;
}
#recruit .interview_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#recruit .interview_content {
    width: 40%;
}
@media (max-width: 1024px) {
    #recruit .interview_content {
        width: 90%;
    }
}
#recruit .interview_txt {
    font-size: 2rem;
    line-height: 2.25;
    color: #fff;
}
@media (max-width: 840px) {
    #recruit .interview_txt {
        width: 100%;
        font-size: 1.8rem;
        line-height: 2;
    }
}
#recruit .interview_img {
    width: 50%;
    position: relative;
    z-index: 5;
    margin-top: 5%;
}
@media (max-width: 1024px) {
    #recruit .interview_img {
        width: 90%;
        margin-left: auto;
        margin-top: clamp(50px, 8vw, 80px);
    }
}
#recruit .interview_img .img_item {
    width: 50%;
    padding-right: 2em;
}
#recruit .interview_img .img_link:hover .img_eyecatch img {
    scale: 1.05;
}
#recruit .interview_img .img_eyecatch {
    overflow: hidden;
    border-radius: min(7.5px, 1.5vw);
}
#recruit .interview_img .img_eyecatch img {
    border-radius: min(7.5px, 1.5vw);
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    height: 600px;
}
@media (max-width: 1024px) {
    #recruit .interview_img .img_eyecatch img {
        height: auto;
        aspect-ratio: 1/2;
    }
}
#recruit .interview_img .img_ttl {
    margin-top: 0.5em;
    color: #38476A;
    font-size: 1.8rem;
    display: flex;
    gap: 0 0.15em;
}
#recruit .interview_img .img_ttl .name {
    position: relative;
}
#recruit .interview_img .img_ttl .name::after {
    content: " ・ ";
}
#recruit .recruit {
    background-color: #f5f5f5;
}
#recruit .recruit_tab .tab_list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.5em;
}
#recruit .recruit_tab .tab_item {
    width: calc((100% - 1.5em) / 4);
    background-color: #1B3D8E;
    padding: 1.75em 1em 3.5em;
    font-size: 2rem;
    cursor: pointer;
    transition: translate 0.5s;
    border-radius: 5px 5px 0 0;
}
@media (max-width: 840px) {
    #recruit .recruit_tab .tab_item {
        font-size: 1.6rem;
        width: calc((100% - 1em) / 3);
    }
}
#recruit .recruit_tab .tab_item:hover {
    translate: 0 -0.5em;
}
#recruit .recruit_tab .tab_item.-active {
    translate: 0 -0.5em;
    background-color: #fff;
}
#recruit .recruit_tab .tab_item.-active .ttl {
    color: #555;
}
#recruit .recruit_tab .tab_item .ttl {
    line-height: 1.4;
    color: #fff;
}
#recruit .recruit_content {
    margin-top: -30px;
    position: relative;
    z-index: 5;
}
#recruit .recruit_content .content_inner {
    padding: clamp(50px, 8vw, 80px) min(50px, 5%);
    background-color: #fff;
    display: none;
}
#recruit .recruit_content .content_inner.-active {
    display: block;
}
#recruit .recruit_content .content_point .point_head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
@media (max-width: 840px) {
    #recruit .recruit_content .content_point .point_head {
        flex-direction: column;
    }
}
#recruit .recruit_content .content_point .point_head .ttl {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    width: 140px;
}
@media (max-width: 840px) {
    #recruit .recruit_content .content_point .point_head .ttl {
        width: 100%;
    }
}
#recruit .recruit_content .content_point .point_head .txt {
    width: calc(100% - 140px);
    font-size: 1.8rem;
    padding-left: 5%;
}
@media (max-width: 840px) {
    #recruit .recruit_content .content_point .point_head .txt {
        width: 100%;
        padding-left: 0;
        margin-top: 0.25em;
    }
}
#recruit .recruit_content .content_point .point_list {
    display: flex;
    flex-direction: column;
    gap: clamp(30px, 5vw, 50px) 0;
    margin-top: clamp(30px, 5vw, 50px);
}
#recruit .recruit_content .content_point .point_item {
    display: flex;
    flex-wrap: wrap;
}
#recruit .recruit_content .content_point .point_item .ttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
    width: 100px;
}
@media (max-width: 840px) {
    #recruit .recruit_content .content_point .point_item .ttl {
        width: 100%;
    }
}
#recruit .recruit_content .content_point .point_item .txt {
    width: calc(100% - 100px);
    padding-left: 5%;
}
@media (max-width: 840px) {
    #recruit .recruit_content .content_point .point_item .txt {
        width: 100%;
        padding-left: 0;
        margin-top: 0.25em;
    }
}
#recruit .recruit_content .content_joboffer {
    margin-top: clamp(50px, 8vw, 80px);
}
#recruit .recruit_content .content_joboffer .joboffer_head .ttl {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    margin-bottom: 0.5em;
}
#recruit .recruit_content .content_joboffer .joboffer_list {
    display: flex;
    flex-direction: column;
    gap: 0.35em 0;
}
@media (max-width: 840px) {
    #recruit .recruit_content .content_joboffer .joboffer_list {
        gap: 1em 0;
    }
}
#recruit .recruit_content .content_joboffer .joboffer_item {
    display: flex;
    flex-wrap: wrap;
}
#recruit .recruit_content .content_joboffer .joboffer_item .ttl {
    background-color: rgba(56, 71, 106, 0.2);
    width: 150px;
    font-size: 1.8rem;
    padding: 0.35em 0.5em;
    display: flex;
    align-items: center;
}
@media (max-width: 840px) {
    #recruit .recruit_content .content_joboffer .joboffer_item .ttl {
        width: 100%;
    }
}
#recruit .recruit_content .content_joboffer .joboffer_item .txt {
    width: calc(100% - 150px);
    padding-left: 1.5em;
    display: flex;
    align-items: center;
}
@media (max-width: 840px) {
    #recruit .recruit_content .content_joboffer .joboffer_item .txt {
        width: 100%;
        padding-left: 0;
        margin-top: 0.25em;
    }
}

/*==================================================================================================
	インタビュー
==================================================================================================*/
#interview .head {
    padding-top: 200px;
    padding-bottom: 0;
    background-color: #1B3D8E;
}
@media (max-width: 540px) {
    #interview .head {
        padding-top: 140px;
    }
}
#interview .head::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10%;
    background-color: #f5f5f5;
}
#interview .head_catch .job {
    color: #fff;
    font-size: 2rem;
}
@media (max-width: 840px) {
    #interview .head_catch .job {
        font-size: 1.8rem;
    }
}
#interview .head_catch .copy {
    font-size: clamp(3.6rem, 4.6vw, 4.6rem);
    color: #fff;
    line-height: 1.4;
    font-weight: 700;
    margin-bottom: 2em;
}
@media (max-width: 840px) {
    #interview .head_catch .copy {
        margin-bottom: 1em;
    }
}
#interview .head_content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
@media (max-width: 840px) {
    #interview .head_content {
        flex-direction: column;
    }
}
#interview .head_profile {
    width: 45%;
    color: #fff;
}
#interview .head_profile .name {
    font-size: clamp(2rem, 2vw, 2.4rem);
    margin-bottom: 0.5em;
}
@media (max-width: 840px) {
    #interview .head_profile {
        width: 100%;
    }
}
#interview .head_img {
    width: 50%;
    position: relative;
    z-index: 5;
}
@media (max-width: 840px) {
    #interview .head_img {
        width: 85%;
        margin-left: auto;
        margin-top: clamp(30px, 5vw, 50px);
    }
}
#interview .head_img img {
    border-radius: min(7.5px, 1.5vw);
    aspect-ratio: 16/9;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
#interview .interview {
    background-color: #f5f5f5;
}
#interview .interview_secttl {
    max-width: 1600px;
    margin: 0 auto;
}
#interview .interview_content {
    position: relative;
}
#interview .interview_content.-pt80 {
    padding-top: clamp(50px, 8vw, 80px);
}
#interview .interview_content.-pb80 {
    padding-bottom: clamp(50px, 8vw, 80px);
}
#interview .interview_content.-pt120 {
    padding-top: clamp(80px, 10vw, 120px);
}
#interview .interview_content.-mt-50 {
    margin-top: -50px !important;
}
#interview .interview_content.-blue {
    background-color: #1B3D8E;
}
#interview .interview_content.-blue::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 100vw;
    height: 100%;
    background-color: #1B3D8E;
    z-index: -1;
}
#interview .interview_content.-faq {
    max-width: 1280px;
    margin: 0 auto;
}
#interview .interview_content.-faq .faq_ttl {
    display: flex;
    align-items: center;
}
#interview .interview_content.-faq .faq_ttl .num {
    font-weight: 600;
    font-family: Arial, sans-serif;
    font-style: italic;
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    color: #38476A;
    margin-top: 0.075em;
}
#interview .interview_content.-faq .faq_ttl .ttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
    margin-left: 1em;
}
#interview .interview_content.-faq .faq_txt {
    margin-top: 1.5em;
    margin-left: 3em;
}
#interview .interview_content.-faq.-blue .faq_ttl .num,
#interview .interview_content.-faq.-blue .faq_ttl .ttl {
    color: #fff;
}
#interview .interview_content.-faq.-blue .faq_txt {
    color: #fff;
}
#interview .interview_content.-img {
    position: relative;
    z-index: 5;
}
#interview .interview_content.-img.-w50 {
    width: 50vw;
}
@media (max-width: 840px) {
    #interview .interview_content.-img.-w50 {
        width: 80vw;
    }
}
#interview .interview_content.-img.-w70 {
    width: 70vw;
}
@media (max-width: 840px) {
    #interview .interview_content.-img.-w70 {
        width: 90vw;
    }
}
#interview .interview_content.-img.-left {
    margin-left: calc(50% - 50vw);
}
#interview .interview_content.-img.-right {
    margin-right: calc(50% - 50vw);
    margin-left: auto;
}

/*==================================================================================================
	お問い合わせ
==================================================================================================*/
#contact .contact {
    background-color: #1B3D8E;
}
#contact .contact_tel {
    background-color: #fff;
    padding: clamp(30px, 5vw, 50px) min(50px, 5%);
    border-radius: min(7.5px, 1.5vw);
}
#contact .contact_tel .tel_ttl {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    text-align: center;
    font-weight: 600;
}
#contact .contact_tel .tel_txt {
    text-align: center;
    margin: 1.5em 0 2em;
}
#contact .contact_tel .tel_btn .btn_list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1em;
    max-width: 700px;
    margin: 0 auto;
}
#contact .contact_tel .tel_btn .btn_item {
    width: calc((100% - 1em) / 2);
}
@media (max-width: 540px) {
    #contact .contact_tel .tel_btn .btn_item {
        width: 100%;
    }
}
#contact .contact_tel .tel_btn .btn_link {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: Arial, sans-serif;
    font-style: italic;
    font-weight: 600;
    background-color: #1B3D8E;
    display: block;
    color: #fff;
    text-align: center;
    padding: 1em 1em;
    transition: background-color 0.5s;
    line-height: 1.4;
}
#contact .contact_tel .tel_btn .btn_link.-tel:hover {
    background-color: #132b63;
}
#contact .contact_form {
    background-color: #fff;
    padding: clamp(50px, 8vw, 80px) min(50px, 5%);
    border-radius: min(7.5px, 1.5vw);
    margin-top: clamp(30px, 5vw, 50px);
}
#contact .contact_form .form_inner {
    max-width: 700px;
    margin: 0 auto;
}
#contact .contact_form .form_item {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    padding: 0.75em 0;
}
#contact .contact_form .form_item.-align {
    align-items: flex-start;
}
#contact .contact_form .form_item.-align .label {
    margin-top: 0.5em;
}
@media (max-width: 840px) {
    #contact .contact_form .form_item.-align .label {
        margin-top: 0;
    }
}
#contact .contact_form .form_item .label {
    display: block;
    width: 100%;
    margin-bottom: 0.35em;
}
#contact .contact_form .form_item .label.-required::after {
    content: "必須";
    background-color: #1B3D8E;
    color: #fff;
    font-size: 1.2rem;
    margin-left: 10px;
    padding: 0.1em 0.5em 0.25em;
    letter-spacing: 0;
}
#contact .contact_form .form_item .label + * {
    width: 100%;
    height: 3em;
}
#contact .contact_form .form_item .input {
    padding: 0.5em;
    border: 1px solid #ccc;
    outline: none;
    border-radius: 2px;
}
#contact .contact_form .form_item .input#c_name, #contact .contact_form .form_item .input#c_tel {
    width: 300px;
}
@media (max-width: 540px) {
    #contact .contact_form .form_item .input#c_name, #contact .contact_form .form_item .input#c_tel {
        width: 100%;
    }
}
#contact .contact_form .form_item .textarea {
    resize: vertical;
    padding: 0.5em;
    border: 1px solid #ccc;
    outline: none;
    height: auto;
    border-radius: 2px;
}
#contact .contact_form .form_item .checkbox {
    display: flex;
    align-items: center;
    min-height: 3em;
    height: auto;
}
@media (max-width: 840px) {
    #contact .contact_form .form_item .checkbox {
        min-height: 2.5em;
    }
}
#contact .contact_form .form_item .checkbox_list {
    display: flex;
    flex-wrap: wrap;
}
#contact .contact_form .form_item .checkbox_item {
    position: relative;
    display: flex;
}
#contact .contact_form .form_item .checkbox_item:not(:last-child) {
    margin-right: 1.25em;
}
#contact .contact_form .form_item .checkbox_item input[type=checkbox] {
    width: 0;
    visibility: hidden;
}
#contact .contact_form .form_item .checkbox_item input[type=checkbox]:checked + label::before {
    border-color: #555;
}
#contact .contact_form .form_item .checkbox_item input[type=checkbox]:checked + label::after {
    opacity: 1;
    scale: 1;
}
#contact .contact_form .form_item .checkbox_item label {
    position: relative;
    cursor: pointer;
    padding: 0 1em 0 2em;
}
#contact .contact_form .form_item .checkbox_item label::before {
    background: #fff;
    border: 1px solid #555;
    content: "";
    display: block;
    height: 1em;
    width: 1em;
    left: 0;
    position: absolute;
    top: 50%;
    translate: 0 -45%;
}
#contact .contact_form .form_item .checkbox_item label::after {
    border-right: 3px solid #1B3D8E;
    border-bottom: 3px solid #1B3D8E;
    content: "";
    display: block;
    height: 1em;
    width: 0.5em;
    position: absolute;
    top: 50%;
    left: 2.5%;
    translate: 0 -75%;
    opacity: 0;
    rotate: 45deg;
    scale: 0.7;
    opacity: 0;
    transition: 0.35s scale, 0.5s opacity;
}
#contact .contact_form .form_item .address {
    min-height: 3em;
    height: auto;
}
#contact .contact_form .form_item .address .num {
    display: flex;
    align-items: center;
    gap: 0 0.5em;
    margin-bottom: 10px;
}
#contact .contact_form .form_item .address .num input {
    padding: 0.5em;
    background-color: #fafafa;
    border: none;
    outline: none;
    border-radius: 2px;
    width: 200px;
}
#contact .contact_form .form_item .address .textarea {
    resize: vertical;
    padding: 0.5em;
    background-color: #fafafa;
    border: none;
    outline: none;
    height: auto;
    border-radius: 2px;
    width: 100%;
    margin-bottom: -5px;
}
#contact .contact_form .form_agree {
    margin-top: 50px;
}
#contact .contact_form .form_agree .agree_txt {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
}
#contact .contact_form .form_agree .agree_link {
    text-decoration: underline;
    color: #1B3D8E;
    display: inline-block;
}
#contact .contact_form .form_agree .agree_link:hover {
    opacity: 0.7;
}
#contact .contact_form .form_agree .agree_check {
    margin-top: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#contact .contact_form .form_agree .agree_check input[type=checkbox] {
    width: 0;
    visibility: hidden;
}
#contact .contact_form .form_agree .agree_check input[type=checkbox]:checked + label::before {
    border-color: #555;
}
#contact .contact_form .form_agree .agree_check input[type=checkbox]:checked + label::after {
    opacity: 1;
    scale: 1;
}
#contact .contact_form .form_agree .agree_check label {
    position: relative;
    cursor: pointer;
    padding: 0 1em 0 2em;
}
#contact .contact_form .form_agree .agree_check label::before {
    background: #fff;
    border: 1px solid #555;
    content: "";
    display: block;
    height: 1em;
    width: 1em;
    left: 0;
    position: absolute;
    top: 50%;
    translate: 0 -45%;
}
#contact .contact_form .form_agree .agree_check label::after {
    border-right: 3px solid #1B3D8E;
    border-bottom: 3px solid #1B3D8E;
    content: "";
    display: block;
    height: 1em;
    width: 0.5em;
    position: absolute;
    top: 50%;
    left: 2.5%;
    translate: 0 -75%;
    opacity: 0;
    rotate: 45deg;
    scale: 0.7;
    opacity: 0;
    transition: 0.35s scale, 0.5s opacity;
}
#contact .contact_form .form_btn {
    font-size: 2rem;
    margin: 2em auto 0;
    position: relative;
    z-index: 5;
    transition: translate 0.5s;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    background: none;
    border: none;
}
@media (max-width: 840px) {
    #contact .contact_form .form_btn {
        margin-top: clamp(30px, 5vw, 50px);
    }
}
#contact .contact_form .form_btn.-active span {
    color: #38476A;
    border-color: #38476A;
}
#contact .contact_form .form_btn.-active:hover {
    translate: 0 -0.25em;
}
#contact .contact_form .form_btn.-active:hover span {
    background-color: #38476A;
    color: #fff;
    border-color: #38476A;
}
#contact .contact_form .form_btn span {
    border: 1px solid #aaa;
    color: #ccc;
    padding: 0.35em 2em;
    display: inline-block;
    border-radius: 50px;
    transition: background-color 0.5s, color 0.5s, border-color 0.5s;
}

.mailphp {
    max-width: 840px;
    margin: 0 auto;
}
.mailphp p {
    margin: 1em 0;
}
.mailphp .mailphp-header {
    text-align: center;
}
.mailphp .mailphp-header .mailphp-header-inner {
    font-weight: 900;
    font-size: 2.4rem;
    margin: 0px;
    color: #aaa;
    border: none;
}
.mailphp .mailphp-header .mailphp-header-title {
    margin-bottom: 1.25em;
    position: relative;
    display: block;
    text-align: center;
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    color: #000;
}
.mailphp .mailphp-main {
    flex-grow: 1;
    margin: 3em 0;
    margin: 10px 0px 30px;
}
.mailphp .mailphp-main .mailphp-main-inner p {
    text-align: center;
}
.mailphp .mailphp-footer {
    margin-bottom: 0px;
}
.mailphp .confirm-items,
.mailphp .error-items {
    margin: 1.5em 0;
}
.mailphp .confirm-items .confirm-item,
.mailphp .confirm-items .error-item,
.mailphp .error-items .confirm-item,
.mailphp .error-items .error-item {
    display: flex;
    margin-bottom: 1px;
}
.mailphp .confirm-items .confirm-item-body,
.mailphp .confirm-items .error-item-body,
.mailphp .error-items .confirm-item-body,
.mailphp .error-items .error-item-body {
    flex: 1;
}

.mailphp-header-title {
    font-size: clamp(2rem, 2vw, 2.4rem);
    text-align: center;
    display: block;
    margin-bottom: 1.5em;
}
.mailphp-header-txt {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    margin-inline: auto;
}

.confirm_custom {
    margin-top: 0;
    padding: calc(clamp(60px, 12vw, 100px) + 100px) 5% clamp(60px, 12vw, 100px);
    position: relative;
}
.confirm_custom_inner {
    max-width: 840px;
    margin: 0 auto;
}

.confirm-items {
    width: 100%;
    margin-top: 30px;
}
.confirm-items tbody {
    width: 100%;
    border-top: 1px solid #ccc;
}
.confirm-items tbody tr {
    display: flex;
    flex-wrap: wrap;
}
.confirm-items tbody tr th {
    display: block;
    width: 230px;
    text-align: left;
    font-weight: normal;
    border-bottom: 1px solid #ccc;
    padding: 1.25em 0;
    font-weight: 500;
    color: #38476A;
}
@media screen and (max-width: 840px) {
    .confirm-items tbody tr th {
        width: 100%;
        border-bottom: none;
        padding: 1.25em 0 1.5px;
    }
}
.confirm-items tbody tr td {
    display: block;
    width: calc(100% - 230px);
    text-align: left;
    border-bottom: 1px solid #ccc;
    padding: 1.25em 0 1.25em 1em;
}
@media screen and (max-width: 840px) {
    .confirm-items tbody tr td {
        width: 100%;
        padding-left: 0px;
        padding: 1.5px 0 1.25em;
    }
}

.error-items .error-item {
    border-radius: 5px;
    padding: 1em;
    display: flex;
    flex-wrap: wrap;
    background-color: #fff;
}
.error-items .error-item:not(:last-child) {
    margin-bottom: 5px;
}
.error-items .error-item-label {
    display: block;
    width: 150px;
}
@media screen and (max-width: 840px) {
    .error-items .error-item-label {
        width: 100%;
    }
}
.error-items .error-item-body {
    display: block;
    width: calc(100% - 150px);
    padding-left: 1em;
    word-break: break-all;
    color: #c40000;
}
@media screen and (max-width: 840px) {
    .error-items .error-item-body {
        width: 100%;
        padding-left: 0px;
    }
}

.confirm-btns {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.confirm-btns .confirm-btn.confirm-btn-submit {
    border: none;
    padding: 1em 1.5em;
    width: 220px;
    max-width: 100%;
    margin: 2.5em auto 20px;
    background-color: #38476A;
    color: #fff;
    border-radius: 50px;
}
.confirm-btns .confirm-btn.confirm-btn-submit:hover {
    translate: 0 -0.25em;
}
.confirm-btns .confirm-btn.confirm-btn-back {
    font-size: 1.6rem;
    width: 180px;
    max-width: 100%;
    margin: 10px auto 0px;
    background-color: #aaa;
    color: #fff;
    border: none;
    padding: 0.75em 1.5em;
    transition: 0.5s translate;
    border-radius: 50px;
}
.confirm-btns .confirm-btn.confirm-btn-back:hover {
    translate: 0 -0.25em;
}

.error_messe {
    margin-top: 30px;
    text-align: center;
}

/*==================================================================================================
	プライバシーポリシー
==================================================================================================*/
#privacypolicy .sec_item {
    margin-top: 30px;
}
#privacypolicy .sec_item .ttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
    margin-bottom: 0.5em;
    color: #1B3D8E;
}
/*==================================================================================================
	404,サンクスページ
==================================================================================================*/
#error .sec,
#thanks .sec {
    padding: calc(clamp(60px, 12vw, 100px) + 100px) 5% clamp(60px, 12vw, 100px);
}
#error .sec_ttl,
#thanks .sec_ttl {
    font-size: clamp(2rem, 2vw, 2.4rem);
    text-align: center;
    margin-bottom: 0.5em;
    color: #1B3D8E;
}
#error .sec_txt,
#thanks .sec_txt {
    text-align: center;
}
#error .sec_btn,
#thanks .sec_btn {
    font-size: clamp(2rem, 2vw, 2.4rem);
    margin: 2em auto 0;
    position: relative;
    z-index: 5;
    transition: translate 0.5s;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
@media (max-width: 840px) {
    #error .sec_btn,
    #thanks .sec_btn {
        margin-top: clamp(30px, 5vw, 50px);
    }
}
#error .sec_btn:hover,
#thanks .sec_btn:hover {
    translate: 0 -0.25em;
}
#error .sec_btn:hover span,
#thanks .sec_btn:hover span {
    background-color: #38476A;
    color: #fff;
    border-color: #38476A;
}
#error .sec_btn span,
#thanks .sec_btn span {
    font-size: clamp(2rem, 2vw, 2.4rem);
    font-family: Arial, sans-serif;
    border: 1px solid #555;
    padding: 0.25em 2em;
    display: inline-block;
    border-radius: 50px;
    transition: background-color 0.5s, color 0.5s;
    font-style: italic;
    font-family: Arial, sans-serif;
}