/* ============================= */
/* 下層ページ */
/* ============================= */
.lower_wrapper {
    background-color: #f5f5f5;
    padding: 60px 20px;
    overflow: hidden;
}
.lower_header {
    margin-top: 65px;
    padding: 60px 20px 80px;
}
.lower_header h1 {
    color: #115a88;
}
.lower_header h1 .lower_header_title_en {
    display: inline-block;
    font-family: "Playfair Display", serif;
    font-size: 25px;
    margin-right: 10px;
}
.lower_header h1 .lower_header_title_jp {
    font-family: "Zen Old Mincho", serif;
    font-size: 12px;
}
p.lower_content_title_en {
    font-family: "Playfair Display", serif;
    font-weight: bold;
    margin-bottom: 40px;
}
/* サービスページ */
.service_box {
    margin-bottom: 60px;
}
.service_box h2 {
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    margin-bottom: 30px;
}
.service_box p {
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height:1.8;
    margin-bottom: 30px;
}
.service_introduction {
    padding: 60px 0 0;
}
.service_introduction h2 {
    font-family: "Zen Antique", serif;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 30px;
}
.service_introduction h3 {
    font-family: "Zen Antique", serif;
    font-size: 16px;
    line-height: 1.6;
    font-weight: bold;
    margin-bottom: 30px;
}
.service_introduction p {
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height:1.8;
    margin-bottom: 30px;
}
.service_image_box01 {
    width: 75%;
    height: auto;
    aspect-ratio: 1 / 1.3;
}
.service_image_box01 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left bottom;
}
.service_image_box02 {
    width: 60%;
    height: auto;
    aspect-ratio: 1,5 / 1;
    margin-left: auto;
    margin-top: -30px;
}
.service_image_box02 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#intermediary, #purchase {
    margin-bottom: 60px;
}
#intermediary .service_image_box03, #purchase .service_image_box03 {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    margin-bottom: 20px;
}
#intermediary .service_image_box03 img, #purchase .service_image_box03 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#intermediary h2, #purchase h2 {
    display: inline-block;
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 30px;
    padding: 5px 10px;
    border: solid 0.5px #082037;
}
#intermediary h3, #purchase h3 {
    font-family: "Zen Antique", serif;
    font-size: 16px;
    line-height: 1.6;
    font-weight: bold;
    margin-bottom: 30px;
}
#intermediary p, #purchase p {
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height:1.8;
    margin-bottom: 30px;
}
#purchase ul {
    margin-top: 60px;
}
#purchase ul li {
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height:1.6;
    margin-bottom: 10px;
    color: #5c7a8b;
}
#purchase ul li span {
    display: block;
    font-family: "Zen Antique", serif;
    font-size: : 12px;
    margin-bottom: 5px;
    color: #1a3559;
}

/* 企業情報ページ */
.company_message .company_message_inner {
    margin-bottom: 60px;
}
.company_message .company_message_inner h2 {
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    margin-bottom: 30px;
}
.company_message .company_message_inner p {
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height:1.8;
    margin-bottom: 30px;
}
.company_message_image_box01 {
    width: 75%;
    height: auto;
    aspect-ratio: 1 / 1.3;
}
.company_message_image_box01 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 35% bottom;
}
.company_message_image_box02 {
    width: 60%;
    height: auto;
    aspect-ratio: 1.5 / 1;
    margin-left: auto;
    margin-top: -30px;
}
.company_message_image_box02 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* 会社概要 */
.companyu_profile {
    padding: 60px 0
}
.companyu_profile h2 {
    font-family: "Playfair Display", serif;
    font-size: 24px;
    margin-bottom: 30px;
}
.companyu_profile table {
    width: 100%;
}
.companyu_profile #company_profile {
    border-top: solid 1px rgba(92, 122, 139, 0.5);
}
.companyu_profile #company_profile tr {
    border-top: solid 1px rgba(92, 122, 139, 0.5);
    color: #082037;
}
.companyu_profile #company_profile tr th {
    display: flex;
    justify-content: flex-start;
    align-self: center;
    margin-bottom: 5px;
    padding: 15px 10px 0;
    font-size: 12px;
    line-height: 1.4
}
.companyu_profile #company_profile tr td {
    display: flex;
    justify-content: flex-start;
    align-self: center;
    padding: 0 10px 15px;
    font-size: 14px;
    line-height: 1.4
}
/* Grares */
.grares_visual {
    position: relative;
    width: 100%;
    height: calc(100vh - 60px);
    margin-bottom: 60px;
}
.grares_visual .grares_visual_image {
    width: 100%;
    height: calc(100vh - 60px);
}
.grares_visual .grares_visual_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.grares_visual .grares_logo {
    width: 100px;
    /*height: auto;*/
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translateX(-50%);
}
.grares_visual .grares_logo img {
    width: 100%;
    height: auto;
}
.grares_contents {
    font-family: "Zen Old Mincho", serif;
}
.grares_contents h1 {
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 30px;
    line-height: 1.6;
}
.grares_contents h1 span {
    font-family: "Playfair Display", serif;
    font-size: 22px;
    color: #e8a838;
}
.grares_contents h2 {
    font-size: 18px;
    margin-bottom: 20px;
}
.grares_contents h3 {
    font-size: 16px;
    margin-top: 40px;
    margin-bottom: 20px;
    line-height: 1.6;
}
.grares_contents h3 span {
    border-bottom: solid 0.5px #115a88;
}
.grares_contents p {
    font-size: 14px;
    line-height:1.8;
    margin-bottom: 30px;
}

/* 求人情報ページ */
.recruit_message_box h2 {
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 30px;
}
.recruit_content .recruit-nav {
    background-color: #f5f5f5;
    border-radius: 5px;
    padding: 30px;
}
.recruit_content .recruit-nav ul li {
    margin-bottom: 25px;
}
.recruit_content .recruit-nav ul li:last-child {
    margin-bottom: 0;
}
.recruit_content .recruit-nav ul li a {
    color: #082037;
    padding-bottom: 3px;
    border-bottom: solid 0.5px #082037;
    font-size: 14px;
    /*text-decoration: underline;*/
}
.recruit_content article {
    padding-top: 60px;
}
.recruit_message_box p {
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height:1.8;
    margin-bottom: 30px;
}
.recruit_message_box .recruit_image_box01 {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}
.recruit_image_box01 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.recruit_content {
    padding: 60px 0 0;
}
.recruit_content h2 {
    font-family: "Zen Antique", serif;
    font-size: 22px;
    line-height: 1.6;
    margin-bottom: 30px;
}
.recruit_occupation {
    margin-bottom: 60px;
}
.recruit_content h3 {
    display: inline-block;
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 30px;
    padding: 5px 10px;
    border: solid 0.5px #082037;
}
.recruit_content h4 {
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 20px;
}
.recruit_content p {
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 30px;
}
table.recruit_content_inner {
    border-top: solid 0.5px #5c7a8b;
}
table.recruit_content_inner tr {
    border-bottom: solid 0.5px #5c7a8b;
    color: #082037;
}
table.recruit_content_inner tr th {
    display: flex;
    justify-content: flex-start;
    align-self: center;
    margin-bottom: 5px;
    padding: 15px 10px 0;
    font-size: 12px;
}
table.recruit_content_inner tr td {
    display: flex;
    justify-content: flex-start;
    align-self: center;
    padding: 0 10px 15px;
    font-size: 14px;
    line-height: 1.6;
}

/* News List */
/*
.news_list {
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
}
*/
.news_list p {
    margin-bottom: 30px;
    font-size: 14px;
    line-height: 1.6;
}
.news_list ul {
    border-top: solid 0.5px #5c7a8b;
    margin-bottom: 30px;
}
.news_list ul li {
    border-bottom: solid 0.5px #5c7a8b;
}
.news_list ul li a {
    padding: 15px 10px;
    display: block;
    font-size: 14px;
    color: #082037;
}
.news_list ul li a span {
    font-size: 12px;
    font-weight: bold;
    color: #5c7a8b;
    display: block;
    margin-bottom: 5px;
}
.news_list ul li a p {
    margin-bottom: 0;
}
.news_list_pagenation {
    display: flex;
    justify-content: center;
    align-items: center;
}
.news_list_pagenation span {
    display: inline-block;
    border: solid 1px #115a88;
    color: #115a88;
    padding: 12px 10px;
    margin-right: 10px;
}
.news_list_pagenation a {
    margin-right: 10px;
}
.news_list_pagenation a.page-numbers {
    border: solid 1px #115a88;
    background-color: #115a88;
    color: #fff;
    padding: 12px 10px;
}
.news_list_pagenation a.next, .news_list_pagenation a.prev {
    padding: 12px 10px;
    color: #115a88;
    border: none;
    background-color: transparent;
}

/* News */
.news_inner .single_page_header {
    margin-bottom: 30px;
}
.news_inner .single_page_header p {
    font-size: 12px;
    color: #5c7a8b;
    margin-bottom: 10px;
}
.news_inner .single_page_header h2 {
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
}
.news_inner .single_page_main_area p {
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 30px;
}
.news_inner .single_page_main_area ul, .news_inner .single_page_main_area ol {
    margin-bottom: 30px;
}
.news_inner .single_page_main_area ul li, .news_inner .single_page_main_area ol li {
    font-size: 14px;
    color: #1a3559;
    margin-bottom: 15px;
}
.news_inner .single_page_main_area img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Contact */
.contact_tel h2, .contact_mail h2 {
    display: inline-block;
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 30px;
    padding: 5px 10px;
    border: solid 0.5px #082037;
}
.contact_tel p, .contact_mail p {
    font-family: "Zen Old Mincho", serif;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 15px;
}
.contact_tel_inner {
    display: inline-block;
}
.contact_tel_inner span {
    display: block;
    margin-bottom: 10px;
}
.contact_tel_inner span a {
    color: #e8a838;
    font-size: 36px;
    font-weight: bold;
    font-family: "Noto Serif JP", serif;
}
.contact_tel_inner span a i {
    font-size: 28px;
}
.contact_tel_inner p {
    font-size: 12px;
    font-weight: bold;
    color: #5c7a8b;
    /*text-align: right;*/
}
.contact_mail {
    padding: 60px 0 0;
}
.contact_form_box form {
    margin-top: 40px;
}
.contact_form_box form label {
    color: #1a3559;
    font-size: 14px;
}
.contact_form_box form label .required {
    display: inline-block;
    margin-left: 5px;
    color: #e8a838;
}
.contact_form_box .form_area input {
    width: 100%;
    height: 40px;
    border: solid 0.5px #5c7a8b;
    border-radius: 3px;
    margin-top: 5px;
    margin-bottom: 10px;
    padding: 0 10px;
}
.contact_form_box .form_area textarea {
    width: 100%;
    height: 180px;
    border: solid 0.5px #5c7a8b;
    border-radius: 3px;
    margin-top: 5px;
    margin-bottom: 10px;
    padding: 10px;
}
.consent {
    display: flex;
    align-items: center;
}
.consent input {
    margin-left: 0;
}
.consent a {
    color: #5c7a8b;
    text-decoration: underline;
}
.consent .wpcf7-list-item-label {
    font-size: 12px;
}
.submit_btn_Area {
    text-align: center;
}
.submit_btn_Area input {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 240px;
    height: 50px;
    border-radius: 5px;
    background-color: #115a88;
    color: #fff;
    border: none;
    margin: 30px auto 0;
}
.contact_form_box .recaptcha_box p {
    font-size: 12px;
    line-height: 1.2;
    color: #8e8e8e;
}
.contact_form_box .recaptcha_box p a {
    color: #8e8e8e;
    text-decoration: underline;
}
.recaptcha-visible .grecaptcha-badge {
    visibility: visible !important; /* 特定のページでのみ再表示 */
}

/* Privacy Policy */
.prvacy_policy_box p {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 40px;
}
.prvacy_policy_box p a {
    color: #082037;
    text-decoration: underline;
}
.prvacy_policy_box h2 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px;
}
