/*
Theme Name: Assist_Theme
Author: XYOU
Author URI: https://xyou.co.jp/
*/

@charset "utf-8";

/*----------------------------------------------------------------------
base
----------------------------------------------------------------------*/

html {
    font-size: 100%;
    height: 100%;
}


/*webフォント読み込むまで非表示*/

/* フッター最下部固定のため */
* {
    box-sizing: border-box;
}

html body {
    opacity: 0;

    /* フッター最下部固定のため */
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

html.loading-delay body,
html.wf-active body {
    transition: 0.4s;
    opacity: 1;
}

body,
input,
textarea {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 1rem;
}

body {
    color: #000;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 100vh;
}

body header,
.wf-loading body header {
    opacity: 0;
}

.loading-delay body header,
.wf-active body header {
    opacity: 1;
    transition: 0.5s;
}


/*safariの場合*/

::-webkit-full-page-media,
:future,
:root html {
    height: -webkit-fill-available;
}

::-webkit-full-page-media,
:future,
:root body {
    min-height: -webkit-fill-available;
}


/*safariの場合ここまで*/

img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: auto;
}

a {
    text-decoration: none;
    color: #000;
}

a,
a img,
a svg,
a svg path {
    transition: 0.3s;
}

table {
    border-collapse: collapse;
}

h1 {
    font-size: clamp(2.25rem, 1.614rem + 3.18vw, 4rem);
    letter-spacing: 0.08em;
    line-height: 30px;
}

p {
    line-height: 24px;
    font-size: 1rem;
}

h2 {
    letter-spacing: 0.1em;
    font-size: clamp(1.5rem, 1.227rem + 1.36vw, 2.25rem);
    line-height: 36px;
}

h3 {
    font-size: clamp(1.5rem, 1.221rem + 1.14vw, 2.25rem);
    line-height: 30px;
    letter-spacing: 0.08em;
}

h4 {
    font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
    line-height: 20px;
}

dh {
    color: #555;
    font-size: 20px;
    font-weight: bold;
}

.br-pc {
    display: none;
}

.br-sp {
    display: block;
}


@media screen and (min-width: 768px) {
    p {
        line-height: 28px;
    }
}

@media screen and (max-width: 389px) {
    h1 {
        font-size: 9.230vw;
    }
}



/*----------------------------------------------------------------------
all
----------------------------------------------------------------------*/

.inner {
    width: 1240px;
    max-width: 94%;
    margin: auto;
}

.breadcrumb_inner {
    width: 1240px;
    max-width: 94%;
    margin: 0 auto;
}

.w_max {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.id_link_contents {
    height: 0;
    opacity: 0;
    pointer-events: none;
    z-index: -999999;
    /* 高さは要調整 */
    padding-top: 100px;
    margin-top: -100px;
}

.fade_up {
    opacity: 0;
}

.loading-delay .fade_up,
.wf-active .fade_up {
    animation: fade-up-item 0.5s ease-out forwards;
}

.is_fade_up {
    opacity: 0;
}

.is_fade_up.is_fade_up_start {
    animation: fade-up-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

@keyframes fade-up-item {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.is_fade_left {
    opacity: 0;
}

.is_fade_left.is_fade_left_start {
    animation: fade-left-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

@keyframes fade-left-item {
    0% {
        opacity: 0;
        transform: translateX(-50vw);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.is_fade_right {
    opacity: 0;
}

.is_fade_right.is_fade_right_start {
    animation: fade-right-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

@keyframes fade-right-item {
    0% {
        opacity: 0;
        transform: translateX(50vw);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.fade_in {
    opacity: 0;
}

.loading-delay .fade_in,
.wf-active .fade_in {
    animation: fade-in-item 0.8s ease-out forwards;
}

.is_fade_in {
    opacity: 0;
}

.is_fade_in.is_fade_in_start {
    animation: fade-in-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

@keyframes fade-in-item {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.is_show_in {
    display: none;
}

.fade_in_zoom {
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
}

.loading-delay .fade_in_zoom,
.wf-active .fade_in_zoom {
    animation: fade-in-zoom-item 0.5s ease-out forwards;
}

@keyframes fade-in-zoom-item {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.is_active {
    display: block !important;
}

.common_link_button {
    /*width: max-content;*/
    /*margin: auto;*/
    display: contents;
}

.common_link_button > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 60px;
    font-weight: bold;
    line-height: 1.1;
    letter-spacing: 2px;
    color: #000000;
    border: 2px solid #000000;
    border-radius: 5px;
    background: transparent;
    z-index: 1;
    transition: .3s;
    font-size: clamp(1.125rem, 1.032rem + 0.38vw, 1.375rem);
}

.common_link_button > a::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: #219393;
    transform-origin: 100% 50%;
    transform: scaleX(0);
    transition: transform ease .3s;
    border-radius: 5px;
    
}
.common_link_button > a:hover {
    color: #fff;
    border: 2px solid #219393;
    border-radius: 5px;
}
.common_link_button > a:hover::before {
    transform-origin: 0% 50%;
    transform: scaleX(1);
}

.common_link_button > a.contact_more {
    position: relative;
}

.common_link_button a.another_tab_button {
    gap: 2%;
}

span.icon_another_tab {
    content: url(./img/common/icon_another_tab.svg);
    vertical-align: middle;
    z-index: -1;
    pointer-events: none;
}

span.icon_back_to {
    content: url(./img/common/arrow_left.svg);
    vertical-align: middle;
    position: absolute;
    top: 30%;
    left: 8%;
    z-index: -1;
    pointer-events: none;
}

.font_bold {
    font-weight: 700;
}

.Sen {
    font-family: 'Sen', sans-serif;
}

@media screen and (min-width: 768px) {
    .common_link_button a.another_tab_button {
        gap: 11.5px;
    }
}

.breadcrumb_inner {
    display: flex;
    align-items: center;
    font-weight: 500;
    font-size: 0.875rem;
}

.breadcrumb_allow {
    content: url(./img/common/arrow_right_no-margin.svg);
    margin: 0 24px;
}

@media screen and (max-width: 389px) {
    .common_link_button > a {
        font-size: 5vw;
    }
}

/*----------------------------------------------------------------------
header, footer ALL 
----------------------------------------------------------------------*/
.inner.header_inner img:hover,
.inner.footer_inner img:hover {
    opacity: 0.5;
}

/*----------------------------------------------------------------------
header
----------------------------------------------------------------------*/
header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 999;
}

.header_contents {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header_contents,
#header_bottom_contents {
    height: 64px;
}

.header_contents:after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0.7;
}

.inner.header_inner {
    width: 1240px;
    position: relative;
    z-index: 1;
}

.header_logo_pc {
    width: 200px;
}

.header_logo_sp {
    justify-content: left;
    display: flex;
    width: 146px;
    height: 43px;
}

.header_contents1 {
    display: flex;
    align-items: center;
}

.inner.header_inner .common_link_button > a {
    position: relative;
}

.header_contents2 {
    display: flex;
    align-items: center;
}

.header_contents2 .common_link_button > a {
    height: auto;
}

.header_box.pc-only ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header_box.pc-only ul li a {
    position: relative;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.header_contents1 li ,
.header_contents2 li {
    font-size: 1.125rem;
}

.header_box.pc-only ul li:not(.li_contact) a:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0%;
    height: 2px;
    border-radius: 3px;
    background-color: #219393;
    transition: 0.3s;
}

.header_box.pc-only ul li a:hover {
    opacity: 1;
}

.header_box.pc-only ul li a:hover:after {
    width: 100%;
}


@media screen and (min-width: 1051px) and (max-width: 1440px) {
    .header_logo_pc {
        width: 13.89vw;
    }

    .header_contents1, .header_contents2 {
        gap: 2.5vw;
    }

    .header_box.pc-only ul li a {
        font-size: 1.25vw;
    }

    .header_contents2 .common_link_button > a {
        /*padding: 16px 40px;*/
        padding:  16px 2.78vw;
    }
}

@media screen and (min-width: 1440px) {
    .header_contents1, .header_contents2 {
        gap: 36px;
    }

    .header_contents2 .common_link_button > a {
        padding: 16px 40px;
    }
}

/*----- modal menu -----*/

.modal_btn_wrapper {
    z-index: 999999;
}

button.menu-trigger,
button.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}

button.menu-trigger {
    position: fixed;
    right: 3%;
    top: 20px;
    width: 26.25px;
    height: 23.33px;
    background: none;
    border: none;
    appearance: none;
    cursor: pointer;
    transition: 0.3s;
    z-index: 999999;
}

button.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #219393;
    border-radius: 3px;
}

button.menu-trigger span:nth-of-type(1) {
    top: 0;
}

button.menu-trigger span:nth-of-type(2) {
    top: 0;
    bottom: 0;
    width: 70%;
    left: inherit;
    right: 0;
    margin: auto;
}

button.menu-trigger span:nth-of-type(3) {
    bottom: 0;
    width: 100%;
    left: inherit;
    right: 0;
}

button.menu-trigger.active {
    right: 20px;
    width: 36px;
    height: 30px;
}

button.menu-trigger.active span:nth-of-type(1) {
    transform: translateY(13px) rotate(-45deg);
    width: 36px;
    background-color: #219393;
}

button.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}

button.menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-13px) rotate(45deg);
    width: 36px;
    background-color: #219393;
}

#jsModal {
    height: 100%;
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    right: 0;
    top: 0;
    overflow: hidden;
    transition: 0.3s;
}

#jsModal.active {
    width: 100% !important;
}

.modal__bg.js-modal-close {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    background-color: #000;
    opacity: 0.4;
}



.modal_inner {
    height: 100%;
    z-index: 1;
    width: 100%;
    display: flex;
    justify-content: center;
    padding-top: 110px;
    box-sizing: border-box;
    background-color: #FFFFFF;
}

.modal__header_logo {
    position: absolute;
    top: 20px;
    left: 28px;
}

.modal__content {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
}

.modal__content ul {
    margin-bottom: 53px;
}

.modal__content ul li {
    border-bottom: 1px solid #678E8E;
    padding: 16px 0;
    width: 64.358vw;
}

.modal__content ul li:first-child {
    border-top: 1px solid #678E8E;
}

.modal__content ul li a {
    letter-spacing: 0.1em;
    color: #000000;
    position: relative;
    font-weight: 500;
}

.modal__content ul li a:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0%;
    height: 2px;
    border-radius: 3px;
    background-color: #fff;
    transition: 0.3s;
}

.modal__content ul li a:hover:after {
    width: 100%;
}

/*----- end modal menu -----*/

@media screen and (max-width: 1050px) {
    .header_logo img {
        width: 160px !important;
    }
    .header_box.pc-only {
        display: none !important;
    }
    .header_box.sp-only {
        display: block !important;
    }
    .id_link_contents {
        padding-top: 80px;
        margin-top: -80px;
    }
}

@media screen and (min-width: 1050px) {
    .header_logo_sp {
        display: none !important;
    }
}

@media screen and (max-width: 768px) {
    .modal__content ul li a:after {
        transition: 0.1s;
    }
}

@media screen and (min-width: 1050px) {
    .header_contents,
    #header_bottom_contents {
        height: 94px;
    }
}


/*----------------------------------------------------------------------
main
----------------------------------------------------------------------*/

main {
}

main.front_page section {
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative;
}

.section_title {
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
}

.section_secondary {
    background-color: #efefef;
    padding: 40px 0;
}

/* 横並び */
.grid {
    display: flex;
    justify-content: center;
    align-items: center;
}
.grid-col-4 > .grid-item {
    width: 25%;
}
.grid-col-3 > .grid-item {
    width: 33.3%;
}
.grid-col-2 > .grid-item {
    width: 50%;
}

/*---------------------------
section mv
---------------------------*/

section.mv {
}

.inner.mv_img_inner {
    width: 1240px;
}

.mv_img img {
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.front_mainvisual_wrap_flex_1 {
    animation-delay: 1.0s !important;
}

.front_mainvisual_wrap_flex_2 {
    animation-delay: 1.8s !important;
}

.front_mainvisual_wrap_right {
    animation-delay: 1.4s !important;
}

.mv_img_inner.sp-only .front_mainvisual_wrap_right {
    display: flex;
    width: 59%;
    margin-left: auto;
    margin-bottom: 26px;
}

.mv_img_inner.sp-only .front_mainvisual_wrap_flex {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 54px;
}

.mv_text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #000000;
    -webkit-text-stroke: 1px #FFF;
}

.mv_bg {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #000000;
    width: 100%;
    max-width: 80%;
    height: 100%;
    background: url(./img/front-page/front_mainvisual_bg.gif) no-repeat;
    background-size: contain;
    background-position: center;
}

.mv_text h1 {
    /*  */
    font-size: clamp(2.25rem, 1.414rem + 3.43vw, 4.5rem);
    line-height: 43px;
}

@media screen and (min-width: 768px) {
    .mv_img_inner.pc-only .mv_img {
        display: flex;
        justify-content: space-between;
    }

    .front_mainvisual_1 {
        width: 36%;
        animation-delay: 1s !important;
    }

    .front_mainvisual_wrap {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        flex-direction: column;
        align-content: end;
        justify-items: flex-end;
        width: 50%
    }

    .front_mainvisual_2 {
        width: 79%;
        animation-delay: 1.4s !important;
    }
    .front_mainvisual_3 {
        width: 65%;
        animation-delay: 1.8s !important;
    }

    .mv_bg {
        max-width: 60%;
    }

    .mv_text h1 {
        line-height: 87px;
    }
}

@media screen and (min-width: 1000px) {
    .mv_text_inner {
        background-size: initial;
    }
}

/*---------------------------
section all
---------------------------*/
.section_title_wrapper {
    position: relative;
    z-index: 2;
}

.section_inner {
    margin: 100px auto 0;
}

.section_contents {
    margin-bottom: 36px;
}

main.front_page section ul li a .ei_info {
    color: #000 !important;
}

main.front_page section ul li a:not(.ei_info):hover {
    color: #219393;
}

.section_more_button {
    margin: 0 auto;
    max-width: 70%;
    position: relative;
    z-index: 0;
}

.section_more_button_pc_wrap {
    position: relative;
}

h2.section_catchcopy {
    margin-bottom: 24px;
}

.section_title_wrapper span.section_subtitle {
    display: block;
}

h2.section_title {
    font-size: clamp(2.25rem, 1.614rem + 3.18vw, 4rem);
}

h2.section_title > span {
    font-size: 1rem;
    font-weight: 500;
}

.front_page_title_flame_center {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    border: 1px solid;
}

h2.section_title.stroke_text {
    -webkit-text-stroke: 1px #FFF;
}

h2.section_title > span {
    -webkit-text-stroke: initial;
}

h2.section_title.stroke_text.text-align_left {
    text-align: left;
    margin-left: 10%;
}

h2.section_title.stroke_text.text-align_left span {
    margin-left: 17%;
}

h2.section_title.stroke_text.text-align_right {
    text-align: right;
    margin-right: 6%;
}


@media screen and (min-width: 768px) {
    h2.section_title > span {
        margin-top: 8px;
        font-weight: 700;
    }

    h2.section_catchcopy {
        line-height: 54px;
        letter-spacing: 0.1em;
        margin-bottom: 0;
        white-space: nowrap;
    }
}

@media screen and (max-width: 389px) {
    h2.section_title > span {
        font-size: 3.5vw;
    }
}

/*---------------------------
section s1
---------------------------*/

section.s1 {
    /*padding-bottom: 176px;*/
}

section.s1 .section_inner {
    margin: 40px auto 0;
}

.s1_text p:first-child {
    margin-bottom: 24px;
}

.inner.s1_inner {
    margin: 40px auto 0;
}

.s1_text p {
    font-size: clamp(1rem, 0.907rem + 0.38vw, 1.25rem);
    line-height: 40px;
    letter-spacing: 0.1rem;
}

.s1_contents h2.section_catchcopy {
    font-size: clamp(1.75rem, 1.159rem + 2.95vw, 3.375rem);
}


@media screen and (min-width: 768px) {
    section.s1 .section_contents {
        margin-bottom: 0;
    }
    section.s1 .section_inner {
        margin: 78px auto 0;
    }
    .s1_contents {
        display: flex;
        justify-content: center;
        gap: 64px;
    }
    .s1_text p {
        line-height: 40px;
        letter-spacing: 0.1em;
    }
    .s1_text .section_more_button_pc_wrap {
        margin: 47px 0 0 0;
        width: 50%;
    }
}

/*---------------------------
Section s2/s3 ALL
---------------------------*/
section.s2 .inner.section_inner,
section.s3 .inner.section_inner {
    position: relative;
    padding-bottom: 50px;
}

.s2_contents > ul > li:not(:last-child),
.s3_contents > ul > li:not(:last-child) {
    margin-bottom: 8px;
}

section.s2 .section_more_button,
section.s3 .section_more_button {
    margin-top: 47px;
}

section.s2 h2.section_title,
section.s3 h2.section_title {
    margin-bottom: 0;
}

span.front_page_title_flame_s2,
span.front_page_title_flame_s3 {
    position: absolute;
    top: 1%;
    z-index: -1;
    width: 55%;
    height: 100%;
    border: 1px solid;
}

.s2_contents.section_contents,
.s3_contents.section_contents {
    max-width: 85%;
    margin: auto;
}

@media screen and (min-width: 768px) {
    section.s2 .section_more_button,
    section.s3 .section_more_button,
    section.s4 .section_more_button {
        max-width: 20%;
    }

    section.s2 .section_more_button,
    section.s3 .section_more_button {
        margin-top: 0;
    }

    section.s2 .inner.section_inner,
    section.s3 .inner.section_inner {
        padding-bottom: 48px;
    }
    .s2_contents.section_contents,
    .s3_contents.section_contents {
        max-width: 80%;
    }


    span.front_page_title_flame_s2,
    span.front_page_title_flame_s3 {
        width: 25% !important;
    }
    section.s2 h2.section_title.stroke_text.text-align_left span {
        margin-left: 0;
    }

    h2.section_title.stroke_text.text-align_left {
        margin-left: 2%;
    }
}


/*---------------------------
section s2
---------------------------*/
span.front_page_title_flame_s2 {
    border-image: url(./img/bg/bg_flame_high_s2_sp.png) 47/ 43px/ 3px stretch;
}

@media screen and (min-width: 768px) {
    span.front_page_title_flame_s2 {
        border-image: url(./img/bg/bg_flame_high_s2.webp) 60/ 50px/ 0px stretch;
    }
}


/*---------------------------
section s3
---------------------------*/
span.front_page_title_flame_s3 {
    border-image: url(./img/bg/bg_flame_high_s3_sp.png) 47/ 43px/ 3px stretch;
}

@media screen and (min-width: 768px) {
    span.front_page_title_flame_s3 {
        border-image: url(./img/bg/bg_flame_high_s3.webp) 60/ 50px/ 0px stretch;
    }
}

section.s3 .inner.section_inner {
    position: relative;
}

.front_page_title_flame_s3_wrap {
    display: flex;
    justify-content: flex-end;
}

/*---------------------------
section s4
---------------------------*/
.s4_text {
    margin-bottom: 26.75px;
    font-weight: 500;
}

.s4_text p {
    font-size: clamp(1rem, 0.907rem + 0.38vw, 1.25rem);
}

.s4_text.sp-only p {
    line-height: 24px;
    letter-spacing: 0.1rem;
}

section.s4 .front_page_title_flame_center {
    top: 12%;
    border-image: url(./img/bg/bg_flame_low_s4_sp.png) 41 / 41px / 1px stretch;
    height: 93px;
}

@media screen and (min-width: 768px) {
    .s4_text.pc-only p {
        line-height: 40px;
        font-weight: 700;
    }

    .s4_wrap_pc-only {
        display: flex;
        justify-content: center;
        justify-content: space-between;
        gap: 60px;
        align-items: flex-end;
        margin-bottom: 50px;
    }

    section.s4 .front_page_title_flame_center {
        top: 2%;
        height: 150px;
        border-image: url(./img/bg/bg_flame_low_s4.webp) 40 / 40px / 4px stretch;
    }

    section.s4 .section_title_wrapper {
        width: 46%;
    }
    
    section.s4 .s4_text.pc-only {
        width: 54%;
    }

    section.s4 h2.section_title.stroke_text.text-align_left {
        margin-left: 8%;
        margin-bottom: 120px;
    }

    section.s4 .section_contents {
        margin-bottom: 63px;
    }
}

/*---------------------------
section s4_2
---------------------------*/
section.s4_2 .section_more_button {
    margin-top: 20.25px;
}

@media screen and (min-width: 768px) {
    section.s4_2 .section_more_button {
        margin-top: 47px;
        max-width: 20%;
    }
}

/*---------------------------
section s5
---------------------------*/
.s5 .section_inner {
    margin: 70px auto 0;
}

.s5_text p:first-child {
    margin-bottom: 24px;
}

section.s5 .section_title {
    margin-bottom: 5px;
}

section.s5 .front_page_title_flame_center {
    top: 16%;
    border-image: url(./img/bg/bg_flame_low_s5_sp.png) 41 / 41px / 1px stretch;
    height: 106px;
}

.s5_text p {
    font-size: clamp(1rem, 0.907rem + 0.38vw, 1.25rem);
    line-height: 30px;
}

.s5_slider li {
    margin-right: 16px;
    position: relative;
}

.s5_slider__img img {
    width: 399px;
    height: 359px;
    object-fit: cover;
}

.slick_arrows {
    display: flex;
    justify-content: end;
    cursor: pointer;
}

.slider_arrow.sp-only .slick_arrows {
    display: flex;
    justify-content: end;
    gap: 18px;
    cursor: pointer;
    margin: 25px 20px 25px 0;
}

.slider_arrow.sp-only .slick_arrows img {
    width: 40px;
}

.s5_slider {
    position: relative;
    z-index: -1;
}

.s5_slider_info {
    position: absolute;
    bottom: 10%;
    background-color: #FFFFFFFF;
}

p.s5_slider_info_name {
    font-size: 13px;
    color: #787774;
}

.s5_slider_info_name span {
    margin-left: 8px;
}


@media screen and (min-width: 768px) {
    section.s5 .front_page_title_flame_center {
        top: 6%;
        border-image: url(./img/bg/bg_flame_low_s5.webp) 40 / 34px / 1px stretch;
        height: 130px;
    }

    section.s5 .s5_wrap_pc-only {
        display: flex;
        justify-content: center;
        align-items: end;
    }

    section.s5 .section_title_wrapper {
        width: 50%;
    }

    section.s5 .section_subtitle {
        margin-top: 18px;
    }

    section.s5 .slider_arrow.pc-only {
        width: 40%;
    }

    section.s5 .section_contents {
        margin-bottom: 0;
    }

    .s5_contents {
        display: flex;
        justify-content: center;
        gap: 160px;
    }

    .s5_text p {
        line-height: 40px;
        letter-spacing: 0.1em;
    }

    .s5_text .section_more_button_pc_wrap {
        margin: 56px 0 0 0;
    }
    
    .s5_slider {
        padding-left: 99px;
    }

    .s5_slider__img img {
        width: 293.2px;
        height: 263.81px;
    }

    .slider_arrow.pc-only .slick_arrows {
        gap: 24px;
        margin-bottom: 9px;
    }
}
/*---------------------------
section s6
---------------------------*/
.s6_contents {
    position: relative;
}

.s6_text_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    max-width: 95%;
    text-align: center;
}

.s6 .section_title {
    margin-bottom: 0;
}

section.s6 .front_page_title_flame_center {
    top: 15%;
    border-image: url(./img/bg/bg_flame_low_s6_sp.png) 41 / 41px / 1px stretch;
    height: 96px;
}

.s6_text {
    color: #FFFFFF;
    margin-bottom: 36px;
}

.s6_text h3 {
    font-size: 6.153vw;
}

.s6_text_inner .common_link_button > a {
    color: #FFFFFF;
    border: 2px solid #FFFFFF;
}

@media screen and (min-width: 768px) {
    .s6_text_inner {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15%;
    }
    .s6_text_inner .section_more_button {
        margin: 0;
        width: 20%;
    }
    .s6_text {
        margin: 0;
    }
    .s6_img_inner img {
        width: 100%;
    }
    section.s6 .section_title_wrapper {
        max-width: 40%;
        margin-left: auto;
        margin-right: 15%;
    }

    section.s6 span.front_page_title_flame_center {
        top: 8%;
        border-image: url(./img/bg/bg_flame_low_s6.webp) 40 / 40px / 4px stretch;
        height: 120px;
    }
}

@media screen and (max-width: 389px) {
    .s6_text h2 {
        font-size: 6vw;
    }
}
/*---------------------------
section s8
---------------------------*/
section.s8 .company_inner {
    background: #F8FAF8;
    padding-top: 100px;
    margin-top: 150px;
}

section.s8 .section_title_wrapper {
    position: absolute;
    top: 7%;
    right: 3%;
    width: 100%;
}

section.s8 .front_page_title_flame_center {
    top: 9%;
    border-image: url(./img/bg/bg_flame_low_s8_sp.png) 41 / 41px / 1px stretch;
    height: 96px;
}

tbody.s8_company_info th {
    width: 30%;
    padding: 20px 0;
    border-bottom: 1px solid #219393;
    vertical-align: middle;
}

tbody.s8_company_info td {
    width: 70%;
    padding: 20px 0;
    border-bottom: 1px solid #D4DBDB;
    font-weight: 500;
    line-height: 30px;
}

@media screen and (min-width: 768px) {
    section.s8 .company_inner {
        padding-top: 177px;
        margin-top: 210px;
    }

    section.s8 .front_page_title_flame_center {
        top: 6%;
        border-image: url(./img/bg/bg_flame_low_s8.webp) 40 / 40px / 4px stretch;
        height: 150px;
    }

    section.s8 .section_title_wrapper {
        top: 11%;
        max-width: 40%;
        margin-left: auto;
        margin-right: 5%;
    }
    section.s8 .section_title_wrapper span.section_subtitle {
        margin-top: 12px;
    }
    .s8_contents table {
        display: flex;
        justify-content: center;
        gap: 51px;
    }
    
    tbody.s8_company_info th {
        width: auto;
        padding: 20px 58px 20px 0;
    }
    
    tbody.s8_company_info td {
        width: auto;
    }
}

/*---------------------------
section news
---------------------------*/
section.news {
    
}
.news_content a {
    /*display: flex;*/
}

.news_time {
    margin-right: 12px;
}

.news_category {
    margin-right: 8px;
}

.news_title {
}

/*----------------------------------------------------------------------
footer
----------------------------------------------------------------------*/


/*---------------------------
footer contact
---------------------------*/

section.footer_contact {
}

.inner.footer_content_inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 85px 0 76px;
    margin-bottom: 60px;
    /*width: 100%;*/
    border: 1px solid;
    border-image: url(./img/bg/bg_flame_contact_sp.png) 70 / 69px 60px stretch;
}

h2.footer_contact_title {
    position: absolute;
    top: 0%;
    z-index: 100;
    -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF;
}

h2.footer_contact_title > span {
    -webkit-text-stroke: initial;
}

.inner.footer_content_inner .contact_more_button{
    display: flex;
    position: relative;
    width: 70%;
}

.inner.footer_content_inner .contact_more_button .common_link_button > a {
    position: initial;
}

.footer_contact_title {
    text-align: center;
}

.footer_contact_title span {
    display: block;
}

.footer_contact_text {
    text-align: center;
    margin-bottom: 32px;
}

@media screen and (min-width: 768px) {
    .inner.footer_content_inner {
        padding: 164px 0 76px;
    }

    .footer_contact_text {
        margin-bottom: 78px;
    }

    .inner.footer_content_inner { 
        border-image: url(./img/bg/bg_flame_contact_pc.webp) 9% / 25px 81px stretch;
    }

    .inner.footer_content_inner .contact_more_button{
        width: 300px;
    }
}

@media screen and (max-width: 389px) {
    .footer_contact_text h3 {
        font-size: 6vw;
    }

    .contact_more_button a {
        font-size: 5vw;
    }
}

/*---------------------------
footer main
---------------------------*/

footer {
    margin-top: auto;
    background-color: #F8FAF8;
}

.inner.footer_inner {
    width: 1240px;
    padding: 24px 0 15px;
}

.footer_contents {
    margin-bottom: 5px;
}

.footer_logo_all {
    margin-bottom: 30px;
}

.footer_logo {
    display: flex;
    margin-top: 17px;
}

.footer_logo img {
    width: 146px;
}

.footer_nav {
    display: flex;
    gap: 28.717vw;;
    align-items: center;
    margin-bottom: 54px;
    font-weight: 400;
}

.footer_nav ul > li:not(:last-child) {
    margin-bottom: 20px;
}

.footer_nav ul li a {
    position: relative;
    padding: 3px 0;
    line-height: 1;
    letter-spacing: 0.1em;
}

.footer_nav ul li a:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0%;
    height: 2px;
    border-radius: 3px;
    background-color: #219393;
    transition: 0.3s;
}

.footer_nav ul li a:hover:after {
    width: 100%;
}

.footer_privacy_policy_link {
    margin-bottom: 13px;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 767px)  {
    .footer_privacy_policy_link {
        justify-content:left;
    }
}

.footer_privacy_policy_link > a {
    font-weight: 400;
    color: #7C7D7B;
}

.footer_privacy_policy_link {
    font-size: 0.875rem;
}

.copyright {
    font-weight: 500;
    line-height: 21px;
    letter-spacing: 0.1em;
}

.copyright p {
    font-size: 0.875rem;
}

@media screen and (min-width: 768px) {
    .footer_inner {
        text-align: center;
    }

    .footer_contents {
        margin-bottom: 0;
    }

    .footer_logo {
        justify-content: center;
        margin-top: 19px;
    }

    .footer_logo img {
        width: 160px;
    }

    .footer_nav {
        justify-content: center;
        gap: 36px;
        margin-bottom: 20px;
    }

    .footer_nav ul {
        display: flex;
        gap: 36px;
    }

    .footer_nav ul li {
        font-size: 1.7vw;
    }
}

@media screen and (min-width: 1000px) {
    .footer_nav ul li {
        font-size: 1.125rem;
    }
}


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

media query

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

.pc-only {
    display: none;
}

.sp-only {
    display: block;
}

@media screen and (min-width: 768px) {
    .pc-only {
        display: block !important;
    }
    .br-pc {
        display: block !important;
    }
    .br-sp {
        display: none !important;
    }
    .sp-only {
        display: none !important;
    }
    /*p {
        line-height: 30px;
    }
    .mmb-10 {
        margin-bottom: 10px;
    }
    .mmb-20 {
        margin-bottom: 20px;
    }
    .mmb-30 {
        margin-bottom: 30px;
    }
    .mmb-40 {
        margin-bottom: 40px;
    }
*/}

/*--------------------------------------------------------------------
下層ページ
--------------------------------------------------------------------*/

main.pages {
    padding-bottom: 60px;
    padding-top: 24px;
}

main.pages h1 {
    line-height: initial;
}

main.pages .section_title_wrapper {
    margin-bottom: 16px;
}

.pages_title_wrapper {
    position: relative;
}

.pages_title_text {
    text-align: center;
    padding: 30px;
}

.pages_title_text span.pages_subtitle{
    font-size: 1rem;
}

.pages_title_text span.pages_subtitle {
    display: block;
}

.pages_title_flame {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: -1;
    width: 100%;
    height: 100%;
    border: 1px solid;
    border-image: url(./img/pages/page-title_flame.svg) 20% / 20px 90px stretch;
}

.pages_title_wrapper {
    margin-bottom: 46px;
}

.pages_contents p {
    font-weight: 500;
}

@media screen and (min-width: 768px) {
    .pages_contents p {
        font-size: 1.125rem;
    }

    main.pages {
        padding-top: 21px;
    }
    
    .pages_title_flame {
        width: 60%;
    }
}

/*-----------------------
concept
-------------------------*/

.concept_inner {
    margin-bottom: 60px;
}

.pages_concept_s4 .concept_inner{
    margin-bottom: 0;
}

.concept_img {
    margin-bottom: 60px !important;
}

section.pages_concept .pages_section_title {
    margin-bottom: 36px;
}

.concept_inner h2.pages_concept_catchcopy {
    font-size: clamp(1.5rem, 0.989rem + 2.1vw, 2.875rem);
    line-height: clamp(2.25rem, 1.414rem + 3.43vw, 4.5rem);
}

h2.pages_section_title_mission {
    font-size: clamp(1.5rem, 1.407rem + 0.38vw, 1.75rem);
}

h2.pages_section_title_mission span {
    font-size: clamp(1.5rem, 0.943rem + 2.29vw, 3rem);
}

section.pages_concept .mission_numbering {
    display: block;
    color: #219393;
}

section.pages_concept .pages_contents p {
    font-weight: 500;
}

section.pages_concept .pages_contents > p:not(:last-child) {
    margin-bottom: 36px;
}

.concept_img > img {
    width: 100%;
}

.concept_slogan {
    margin: 36px auto;
    text-align: center;
}

.concept_slogan p {
    color: #219393;
    border: 3px solid #219393;
    border-radius: 8px;
    padding: 16px 46.5px;
    font-size: 1.125rem;
    font-weight: 700 !important;
}

.concept_slogan_2 {
    margin: 16px 0;
}

span.pages_section_title_position {
    display: block;
    font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
}

@media screen and (min-width: 768px) {
    .section.pages_concept .pages_section_title {
        margin-bottom: 60px;
    }
    .concept_inner .pages_contents {
        margin-left: 298px;
    }
     span.mission_numbering{
        margin-bottom: 28px;
    }
    
    .concept_slogan {
        margin-left: 298px;
    }

    .concept_slogan p {
        margin: 0 26px 20px 0 !important;
    }

    .pages_concept_s4 {
        margin-bottom: 100px;
    }
}

@media screen and (min-width: 1030px) {
    .concept_slogan {
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        justify-content: center;
        margin-left: 298px;
    }
}

/*----------------------------------------------------------------------
News/IR 記事一覧 ALL
----------------------------------------------------------------------*/

main.archive_page .ei_info {
    color: #000 !important;
}

main.archive_page ul li a:not(.ei_info):hover {
    color: #219393;
}


.ei_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 16px;
    gap: 16px;
}

.ei_info {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
}

.ei_category {
    padding: 8px;
    border: 1px solid #787774;
    border-radius: 4px;
    color: #787774;
}

ul.entry-item_list li {
    border: 1px solid #000000;
    border-radius: 4px;
    font-weight: 500;
    background-color: #FFFFFFFF;
}

ul.entry-item_list:not(:last-child) {
    margin-bottom: 18px;
}

ul.page-numbers {
    display: flex;
    justify-content: center;
    gap: 48px;
}

ul.page-numbers .current {
    color: #219393;
}

.entry-items {
    margin-bottom: 50px;
}

.nav-links {
    margin-bottom: 60px;
}


@media screen and (min-width: 768px) {
    main.archive_page .ei_info {
        padding-left: 15px;
        margin-bottom: 0;
        gap: 16px;
    }

    main.archive_page .ei_contents {
        display: flex;
        align-items: center;
        gap: 16px;
    }

    main.archive_page .section_more_button {
        width: 30%;
    }
    .page_ir.inner, .page_news.inner {
        max-width: 74%;
    }
    
}
/*----------------------------------------------------------------------
news 一覧ページ
----------------------------------------------------------------------*/
.page_news_ir_link {
    display: flex;
    justify-content: center;
}

.page_news_ir_link > a{
    display: flex;
    gap: 16px;
}

/*----------------------------------------------------------------------
service 一覧ページ
----------------------------------------------------------------------*/
/*main.pages.service_page {
    padding-bottom: 0;
}*/

.pages_title_wrapper_service {
    position: relative;
}

.page_service_contents {
    position: relative;
}

.page_service_inner > .page_service_contents:not(:last-child) {
    margin-bottom: 105px;
}

.page_service_inner {
    background-color: #F8FAF8;
    /*padding-top: 91px;*/
    padding: 91px 0 60px;
}

.page_service_contents_inner {
    background-color: #FFFFFF;
    padding: 64px 32px 44px;
}

span.service_outline {
    display: block;
    font-size: 0.75em;
    color: #219393;
}

.service_number {
    /* color: #89BABA; */
    color: #009999;
}

.service_number.sp-only {
    position: absolute;
    top: -2%;
    left: 50%;
    transform: translate(-50%,2%);
}

.service_number p {
    font-size: clamp(5rem, 4.545rem + 2.27vw, 6.25rem);
}

.service_name.sp-only {
    margin-bottom: 16px;
}

.page_service_contents_name {
    margin-top: 16px;
}

.page_service_contents_text {
    margin-bottom: 32px;
}

.page_service_contents_text p {
    font-weight: 500;
}
/*追加 */
.page_service_contents_text ul {
    font-weight: 500;
    list-style:disc;
    margin-left: 32px;
    margin-top:16px;
}
.page_service_contents_text ul li{
    margin-bottom: 8px;
}
.page_service_contents_text h3{
    width:120px;
    text-align:center;
    display:inline-block;
    margin:16px auto;
    padding:8px;
    color:#fff;
    font-size:1.2rem; 
    background-color:#89BABA;
}
/* 実績部分 文字間あける */
.page_service_contents_text h3:nth-of-type(2) {
    letter-spacing:.4rem;
}

.page_service_contents_text a{
    color: #009999;
    font-weight: 700;
    text-decoration: underline;
    margin-bottom: 8px;
}
.page_service_contents_text a:hover{
    color: #f00;
}

.page_service_contents_img {
    margin-bottom: 16px;
}


@media screen and (min-width: 768px) {
    .page_service_inner {
        padding: 91px 0 100px;
    }

    .page_service_inner .page_service_contents figure {
        display: flex;
        align-items: center;
    }

    .page_service_inner .page_service_contents figcaption {
        width: 75%;
    }

    .page_service_inner figcaption h2 {
        line-height: 40px;
        letter-spacing: 0.08em;
        margin-bottom: 16px;
    }

    .page_service_contents_text {
        margin-bottom: 28px;
    }

    .page_service_inner .page_service_contents:nth-child(odd) figure {
        flex-direction: row-reverse;
        gap: 20px;
    }
    .page_service_inner .page_service_contents:nth-child(even) figure {
        gap: 63px;
    }

    .service_number {
        position: absolute;
        top: -2%;
        transform: translate(-50%,2%);
    }

    .page_service_inner .page_service_contents:nth-child(odd) .service_number {
        right: 10%;
    }
    .page_service_inner .page_service_contents:nth-child(even) .service_number {
        left: 22%;
    }

    .page_service_inner .section_more_button {
        margin: 0;
        width: 227px;
    }
}

/*----------------------------------------------------------------------
single 詳細ページ ALL
----------------------------------------------------------------------*/
.inner.single_inner {
    width: 890px;
}

.single_top {
    letter-spacing: 0.1em;
    text-align: left;
    margin-block-start: 0;
    margin-block-end: 0;
    margin: auto;
    width: max-content;
    max-width: 100%;
}

.single_top_wrap {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 8px;
}

.sigle_cat_date {
    font-weight: 500;
}

.single_category {
    border: 1px solid #787774;
    border-radius: 4px;
    padding: 8px;
    color: #787774;
}

.single_img {
    margin-bottom: 36px;
}

h1.single_title {
    margin-bottom: 36px;
    /* sp-18px pc-22 */
    font-size: clamp(1.125rem, 1.032rem + 0.38vw, 1.375rem);
}

.single_contents .page_contents h1, .single_contents .page_contents h2, .single_contents .page_contents h3,
.single_contents .page_contents h4, .single_contents .page_contents h5, .single_contents .page_contents h6 {
    margin: 36px 0;
    /* sp-16px pc-20px */
    font-size: clamp(1rem, 0.907rem + 0.38vw, 1.25rem);
}

.single_contents p {
    font-weight: 500;
    line-height: 30px;
}

.single_inner .page_contents {
    margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
    main.single_page {
        margin-top: 57px;
    }

    .single_inner .page_contents {
        margin-bottom: 100px;
    }

    .single_inner .section_more_button {
        max-width: 30%;
    }
}

.wp-block-file *+.wp-block-file__button {
    display: inline-block;
    margin-left: 8px;
}

/*----------------------------------------------------------------------
Messageページ
----------------------------------------------------------------------*/
.pages_title_wrapper_message {
    position: relative;
    margin-bottom: 98px;
}

.page_message_content {
    position: relative;
}

.page_message_content_number {
    position: absolute;
    top: -2.3%;
    left: 50%;
    transform: translate(-50%, 0%);
    color: #219393;
    opacity: 0.3;
    white-space: nowrap;
}

.page_message_content_number p {
    font-size: 14.5vw;
}

.page_message_content_img {
    margin-bottom: 16px;
}

.page_message_content_img img {
    border-radius: 8px;
}

figcaption.page_message_content_figcaption h1 {
    margin: 8px 0;
}

.page_message_content_slogan {
    margin-bottom: 8px;
}

p.page_message_content_name {
    margin-bottom: 8px;
}

.page_message_content_position {
    color: #678E8E;
    margin-bottom: 8px;
}

.page_message_content_text p {
    font-weight: 500;
}

.page_message_content:not(:last-child) {
    margin-bottom: 110px;
}

.page_message_content:last-child {
    margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
    /* 2カラムにする */
    .inner.page_message_inner {
        display: flex;
        flex-flow: wrap;
    }
    .page_message_content {
        width: 50%;
    }

    .page_message_content_number p {
        font-size: 7vw;
    }

    .page_message_content_inner {
        width: 1240px;
        max-width: 94%;
        margin: auto;
    }
}

@media screen and (min-width: 1100px) {
    .page_message_content_number p {
        font-size: 5.5rem;
    }
}

/*----------------------------------------------------------------------
Recruitページ
----------------------------------------------------------------------*/
.recruit-peges h2 {
    font-size: clamp(1.5rem, 1.314rem + 0.76vw, 2rem);
}

section.pages_recruit:not(:last-of-type) {
    margin-bottom: 60px;
}

main.pages.recruit-peges .pages_contents_text_content {
    margin-bottom: 24px;
}

.recruit_inner .pages_contents p:not(:last-child) {
    margin-bottom: 24px;
}

.pages_recruit_s4_contents dl {
    margin-bottom: 60px;
}

.pages_recruit_s4_contents dt {
    margin-bottom: 16px;
}

.pages_recruit_s4_contents dd {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #678E8E;
    font-weight: 500;
    line-height: 24px;
}

.pages_recruit_s4_contents dd:not(:last-child) {
    margin-bottom: 16px;
}

.pages_recruit_link {
    margin-top: 44px;
    margin-bottom: 24px;
}

.pages_recruit_link ul {
    display: flex;
    gap: 40px;
}

.pages_recruit_link ul {
    list-style: inside;
}

.pages_recruit_link li {
    text-decoration: underline;
}

.pages_recruit_link_current {
    color: #7C7D7B;
}

.pages_recruit .pages_section_title {
    margin-bottom: 24px;
}

@media screen and (min-width: 781px) {
    main.pages.recruit-peges .pc-only {
        display: block !important;
    }

    main.pages.recruit-peges .sp-only {
        display: none !important;
    }
}


@media screen and (min-width: 781px) {
    .inner.recruit_inner {
        width: 1440px;
        max-width: 100%;
    }
    main.pages.recruit-peges .pages_contents {
        display: flex;
        /*justify-content: end;*/
        align-items: center;
        gap: 65px;
    }

    main.pages.recruit-peges .pages_contents_text_content {
        margin-bottom: 0;
    }

    section.pages_recruit_message:nth-child(even) .pages_contents {
        /*flex-direction: row-reverse;*/
        /*justify-content: flex-end;*/
    }

    section.pages_recruit_s1 .pages_contents {
        margin-right: 100px;
    }

    section.pages_recruit_s2 .pages_contents {
        margin-left: 99px;
        justify-content: flex-end;
    }

    section.pages_recruit_s3 .pages_contents {
        gap: 11.18vw;
        margin-right: 20px;
    }

    .recruit_description_item {
        display: flex;
        align-items: baseline;
    }

    .pages_recruit_s4_contents table {
        display: flex;
        justify-content: center;
        font-size: 1.125rem;
        line-height: 24px;
        letter-spacing: 0.1em;
        width: 964px;
        max-width: 94%;
        margin: 0 auto 50px;
    }
    .pages_recruit_s4_contents tr {
        border-bottom: 1px solid #678E8E;
    }
    .pages_recruit_s4_contents th {
        padding: 24px 52px 24px 0;
        white-space: nowrap;
    }
    .pages_recruit_s4_contents td {
        padding: 24px 0;
        font-weight: 500;
    }
    
    main.recruit-peges .section_more_button  {
        width: 20%;
    }
}

/*----------------------------------------------------------------------
Companyページ
----------------------------------------------------------------------*/
.pages.company-peges .s8_contents {
    margin-bottom: 35.75px;
}

.company_inner {
    padding-bottom: 55px;
}

main.company-peges iframe {
    width: 100%;
}

.company-peges_google_map {
    margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
    .company-peges_google_map {
        display: flex;
        justify-content: center;
    }

    main.company-peges iframe {
        width: 801px;
        height: 379px;
    }

    .pages.company-peges .section_more_button {
        max-width: 20%;
    }
}
/*----------------------------------------------------------------------
Entry/contact ページ ALL
----------------------------------------------------------------------*/

.contact-submit-btn span.ajax-loader {
    display: none !important;
}

.wpcf7 form.invalid .wpcf7-response-output {
    display: none !important;
}

body span.wpcf7-form-control-wrap:only-child input:-webkit-autofill,
body span.wpcf7-form-control-wrap:only-child textarea:-webkit-autofill {
    box-shadow: 0 0 0 1000px #F2F2F2 inset;
}

body span.wpcf7-form-control-wrap input:-webkit-autofill,
body span.wpcf7-form-control-wrap textarea:-webkit-autofill {
    box-shadow: 0 0 0 1000px #F2F2F2 inset;
}

.wpcf7-response-output {
    display: none !important;
}

.inner.contact_inner {
    width: 840px;
}

.contact-peges_info {
    margin-bottom: 40px;
}

.contact-peges_info > p:not(:last-child) {
    margin-bottom: 16px;
}

.contact-content .contact-title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.contact-content .contact-title > p {
    margin-bottom: 16px;
    font-size: 1.125rem;
    line-height: 1.8;
}

.contact-content-name {
    display: flex;
    gap: 10px;
}

@media screen and (min-width: 768px) {
    main.pages.contact-peges {
        padding-bottom: 100px;
    }
}

/*------------------------
チェックボックス
-------------------------*/
.contact_inner input[type=checkbox] {
    display: none;
}

.wpcf7-list-item-label {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding-left: 40px;
    position: relative;
    width: auto;
}

.wpcf7-list-item-label::before {
    content: '';
    background: #fff;
    border: 1px solid #000000;
    border-radius: 4px;
    display: block;
    width: 24px;
    height: 24px;
    left: 0;
    margin-top: -14px;
    position: absolute;
    top: 50%;
}

.wpcf7-list-item-label::after {
    content: '';
    position: absolute;
    display: block;
    width: 18px;
    height: 18px;
    top: 50%;
    left: 4px;
    margin-top: -10px;
    opacity: 0;
    background: #219393;
    border-radius: 4px;
}

.contact_inner input[type=checkbox]:checked + .wpcf7-list-item-label::after {
    opacity: 1;
}

/*------------------------
添付資料
-------------------------*/
.entry_attached_file div:first-child {
    margin-bottom: 16px;
}

.entry_attached_file p {
    margin-bottom: 8px;
}

.entry_attached_file input {
    font-weight: 500;
}

/*------------------------
エラー時
-------------------------*/

.wpcf7-custom-item-error {
    margin-left: 8px;
}

/* エラー時エラーメッセージ */
.wpcf7-not-valid-tip {
    line-height: 30px;
    font-weight: 700 !important;
}

/* エラー時フォームに色付け */
input.wpcf7-not-valid,
textarea.wpcf7-not-valid {
    background-color: #FBC9C2 !important;
}

.wpcf7-custom-item-error .wpcf7-not-valid-tip {
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #E03535;
}

.contact-content .contact-form textarea {
    resize: none;
    height: 184px;
}

.contact-content .contact-form textarea,
.contact-content .contact-form.cc-text input {
    background-color: #F8FAF8;
    border: 0;
    border-radius: 0;
    font-size: 18px;
    padding: 13px 8px;
    width: 100%;
    box-sizing: border-box;
    outline: none;
    transition: 0.3s;
    -webkit-appearance: none;
    letter-spacing: 0.1em;
}

/*　望月追加 ラジオボタンを一行に*/
.contact-content .contact-form.cc-radio .wpcf7-list-item{
    display: block;
    margin-bottom: 16px;
}
/* 四角のチェックボックスを非表示にする */
.contact-content .contact-form.cc-radio .wpcf7-list-item-label{
    padding-left: 8px;
    position: initial;
}
.contact-content .contact-form.cc-radio .wpcf7-list-item-label::before{
    display: none;
}

.contact-content .contact-form textarea::placeholder,
.contact-content .contact-form.cc-text input::placeholder {
    color: #999999;
    font-weight: 400 !important;
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
}

.contact-content {
    margin-bottom: 40px;
}

.acceptance {
    margin-bottom: 40px;
} 

.contact-submit-btn {
    margin: auto;
    /*width: 166px;*/
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.contact-submit-btn p {
    display: contents;
}

/* "送信する"ボタン */
.contact-submit-btn input {
    cursor: pointer;
    box-sizing: border-box;
    background-color: transparent;
    color: #000;
    border: 0;
    letter-spacing: 0.1em;
    transition: 0.3s;
    padding: 0;
    border-radius: 0;
    -webkit-appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 70%;
    height: 60px;
    border: 2px solid #000000;
    border-radius: 3px;
}

/* 送信ボタンアニメーション */
.contact-submit-btn.wpcf7-submit-block {
    align-items: center;
    display: flex;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 60px;
}

.contact-submit-btn input{
    display: block;
    text-align: center;
    font-size: clamp(1.125rem, 1.032rem + 0.38vw, 1.375rem);
    font-weight: bold;
    height: 100%;
    width: 100%;
    background-color: #0000;
    position: relative;
    z-index: 1;
}

.contact-submit-btn:after {
    position: absolute;
    transition: .3s;
    content: "";
    display: block;
    width: 0;
    bottom: 0;
    height: 100%;
    background-color: #219393;
    left: 0;
    border-radius: 5px;
}

.contact-submit-btn input:hover {
    color: #fff;
    border: 2px solid #219393;
    border-radius: 5px;
}

.contact-submit-btn:hover:after {
    width: 100%;
}

.contact-submit-btn input{
    cursor: pointer;
}

.wpcf7-list-item-label span a {
    text-decoration: underline;
}

.contact-re span.wpcf7-not-valid-tip {
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #E03535;
    text-align: center;
    margin-top: 20px;
}


.contact-category {
    display: inline-grid;
    gap: 16px;
}

.wpcf7-spinner {
    display: none !important;
}

@media screen and (min-width: 768px) {
    .contact-category {
        display: flex;
        gap: 32px;
    }

    main.contact-peges .section_more_button {
        width: 30%;
    }
}

/*----------------------------------------
Entryページ
-----------------------------------------*/

.contact-content-birth {
    display: flex;
    gap: 10px;
}



/*------------------------
送信完了モーダル
-------------------------*/
/* モーダルウィンドウを作成する */

#wpcf7-modal {
    /*display: none;*/
    position: fixed;
    display: flex;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    justify-content: center;
    align-items: center;
}

#wpcf7-modal__bg {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
    z-index: -1;
}

#cf_7_modal_send {
    background-color: #ffffff;
    border-radius: 16px;
    width: 800px;
    max-width: 90%;
    height: 489px;
    max-height: 90vh;
    box-sizing: border-box;
    padding: 20px;
    box-shadow: rgb(0 0 0 / 24%) 0px 3px 8px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* チェックマークアイコン */
.contact_done {
    margin-bottom: 24px;
}

div#cf_7_modal_send h2 {
    margin-bottom: 24px;
}

div#cf_7_modal_send p {
    margin-bottom: 80px;
}

div#cf_7_modal_send a.view_more {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 10px 60px;
    border: 3px solid;
}

div#cf_7_modal_send a.view_more p {
    margin-bottom: 0;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0.2em;
}

div#cf_7_modal_send a .arrow_right {
    position: absolute;
    left: 82px;
    margin-left: 0 !important;
}

div#cf_7_modal_send a .arrow_line {
    transition: 0.3s;
}

div#cf_7_modal_send a:hover .arrow_line {
    width: 53px;
}

.cf_7_send {
    display: none;
    position: relative;
    z-index: 9999999999;
    opacity: 0;
}

.cf_7_send.send_ok,
.cf_7_send.send_active {
    display: flex !important;
    animation: cf-submit 0.2s ease-out forwards;
}

.cf_7_send.send_active div#cf_7_modal_send p {
    margin-bottom: 0;
}

.cf_7_send.send_active div#cf_7_modal_send h2 {
    padding-top: 0px;
}

@keyframes cf-submit {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

#cf7_error_text_top {
    display: none;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 1.6px;
    color: #E03535;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 30px;
}

#cf7_error_text_top.send_error {
    display: block;
}

@media screen and (min-width: 768px) {
    div#cf_7_modal_send h2 {
        margin-bottom: 72px;
    }

    div#cf_7_modal_send p {
        margin-bottom: 80px;
    }

}

/*----------------------------------------------------------------------
Privacy-Policy ページ
----------------------------------------------------------------------*/
.privacy-policy-peges-text {
    font-weight: 500;
}

.privacy-policy-peges-text h2 {
    font-size: 1.25rem;
}

.privacy-policy-peges-text p {
    font-size: 1rem;
}

.privacy-policy-peges-text p:first-child {
    margin-bottom: 40px;
}

.privacy-policy-peges-text p:not(:last-child) {
    margin-bottom: 28px;
}

/*----------------------------------------------------------------------
404 ページ
----------------------------------------------------------------------*/
.page_404error .page_contents {
    text-align: center;
    margin-bottom: 60px;
}

.page_404error_inner h1 {
    margin-bottom: 45px;
}

.page_404error_inner .section_more_button {
    max-width: 70%;
}

@media screen and (min-width: 768px) {
    .page_404error_inner .section_more_button {
        max-width: 30%;
    }
}


/*----------------------------------------------------------------------
オリジナルの固定ページ
----------------------------------------------------------------------*/
.original_page_inner {
    margin: 46px auto 0;
}

.original_page_inner p {
    font-weight: initial;
}

main.pages.original_pages .section_more_button {
    margin: 60px auto 0;
}

@media screen and (min-width: 768px) {
    .original_page_inner {
        margin: 51px auto 0;
        width: 1000px;
    }

    main.pages.original_pages .section_more_button {
        max-width: 20%;
        margin: 100px auto 0;
    }
}

/*----------------------------------------------------------------------
worksページ
----------------------------------------------------------------------*/

/*-------------------------------------
works一覧ページ
--------------------------------------*/

/* ボタンの大きさ */
.section_more_button {
    max-width: 271px;
}


section.works_contents:nth-of-type(odd) {
    background-color: #F8FAF8;
}

.works_contents {
    padding: 36px 0;
}

ul.terms {
    display: flex;
    justify-content: center;
    align-items: baseline;
    flex-wrap: wrap;
    margin-bottom: 22px;
}

ul.terms li {
    line-height: 27px;
    text-align: center;
}

ul.terms li:not(:last-of-type) {
    margin-right: 24px;
}

section.works_contents h2 {
    text-align: center;
    position: relative;
    /* 24-36 */
    font-size: clamp(1.5rem, 1.221rem + 1.14vw, 2.25rem);
    padding-bottom: 8px;
}

section.works_contents h2::after {
    content: "";
    width: 80px;
    height: 4px;
    background-color: #219393;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.works_list_contents ul {
    margin: 32px 0;
}

li.works_list_content {
    margin: auto;

    width: 262px;
    display: flex;
    flex-flow: column;
}

li.works_list_content:not(:last-child) {
    margin-bottom: 32px;
}

.works_list_contents ul li img {
    width: 100%;
    /*height: 262px;*/
    height: auto;
    object-fit: cover;
}

.works_list_term {
    display: inline-block;
    margin: 8px 0;
    padding: 8px;
    border: 1px solid #009999;
    border-radius: 3px;
    color: #009999;
}

.works_contents .section_more_button {
    background-color: #FFFFFF;
}

@media screen and (min-width: 768px) {
    /* ボタンの大きさ */
    .section_more_button {
        max-width: 227px;
    }
    
    section.works_contents h2 {
        line-height: 40px;
    }

    ul.terms {
        justify-content: space-between;
        margin-bottom: 40px;
    }

    ul.terms li:not(:last-of-type()) {
        margin-right: 80px;
    }

    .works_contents {
        padding: 60px 0;
    }

    .works_list_contents ul{
        display: flex;
        justify-content: center;
        gap: 80px;
        margin: 42px 0;
    }

    li.works_list_content {
        margin: initial;
    }

    li.works_list_content:not(:last-child) {
        margin-bottom: 0;
    }

    .works_list_img {
        max-height: 262px;
    }
}

@media screen and (min-width: 769px) and (max-width: 1439px) {
    .works_list_contents ul{
        gap: 5.56vw;
    }
}

/*----------------------------------------------------------------------
カテゴリー（（タクソノミー）一覧ページ
----------------------------------------------------------------------*/
main.pages.taxonomy_page {
    padding-top: 0;
    padding-bottom: 100px;
}

main.pages.taxonomy_page h1 {
    text-align: center;
    position: relative;
    /* 24-36 */
    font-size: clamp(1.5rem, 1.221rem + 1.14vw, 2.25rem);
    /* 24-40 */
    line-height: clamp(1.5rem, 1.129rem + 1.52vw, 2.5rem);
    padding-bottom: 8px;
}

main.pages.taxonomy_page h1:after {
    content: "";
    width: 80px;
    height: 4px;
    background-color: #219393;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.taxonomy_page_contents {
    padding: 48px 0;
}

.taxonomy_page_contents .works_list_contents {
    max-width: 946px;
    margin: auto;
}

.taxonomy_page_contents .works_list_contents > ul {
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    gap: initial;
}

.taxonomy_page_contents .works_list_contents ul{
    margin: 0;
    margin-top: clamp(2rem, 1.768rem + 0.95vw, 2.625rem);
}

.taxonomy_page_contents .nav-links {
    margin: 0;
}

@media screen and (min-width: 768px) {
    main.pages.taxonomy_page {
        padding-top: 80px;
    }

    .taxonomy_page_contents {
        padding: 0;
    }

    .taxonomy_page_contents li.works_list_content {
        max-width: 31%;
    }

    .taxonomy_page_contents li.works_list_content:nth-of-type(3n) {
        margin-bottom: 80px;
    }

    .taxonomy_page_contents ul.page-numbers {
        margin: 0;
    }
}

/*-------------------------------------
works詳細ページ
--------------------------------------*/

.page_works.inner {
    width: 600px;
    max-width: 94%;
    margin: auto;
}

main.pages.works_single_page {
    padding: 0;
}

main.pages.works_single_page .single_inner {
    padding: 48px 0;
}

main.pages.works_single_page .single_inner .page_contents {
    margin: 0 0 36px 0;
}


main.pages.works_single_page h1 {
    margin: 32px 0 8px;
}

main.pages.works_single_page .single_img {
    margin-bottom: 40px;
}

main.pages.works_single_page .single_category {
    display: inline-block;
    border: 1px solid #009999;
    color: #009999;
}

main.pages.works_single_page .works_list_contents ul {
    margin: 0;
    margin-top: 100px;
}


@media screen and (min-width: 768px) {
    main.pages.works_single_page {
        margin: 80px 0 100px 0;
    }

    main.pages.works_single_page .inner.single_inner {
        width: 800px;
        padding: 0;
    }

    main.pages.works_single_page .single_inner .page_contents {
        margin: 0 0 40px 0;
    }    

    main.pages.works_single_page .single_img {
        margin-bottom: 40px;
    }

    main.pages.works_single_page h1 {
        margin: 24px 0;
    }

}