@charset "UTF-8";

    /* ====== BASE Module SET ===== */
    * {
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    html,
    body {
        font-size: 16px;
        margin: 0;
        padding: 0;
    }

    html {
        overflow-y: scroll;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    ul,
    ol,
    dl,
    dt,
    dd,
    li,
    table,
    td,
    th,
    address,
    blockquote,
    form,
    fieldset,
    legend,
    div,
    hr,
    pre {
        margin: 0;
        padding: 0;
        font-style: normal;
        text-align: left;
        line-height: 1.6;
    }

    article,
    aside,
    canvas,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    menu,
    nav,
    section,
    summary {
        display: block;
    }


    body {
        background: #FFF;
        color: #333;
        font-family: Roboto, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal;
        height: 100%;
    }

    sup {
        vertical-align: super;
        font-size: small;
    }

    table {
        border-collapse: collapse;
        border-spacing: 0;
    }

    th,
    td {
        vertical-align: top;
    }

    img,
    object,
    embed {
        border: 0;
        vertical-align: top;
        outline: none;
        max-width: 100%;
        height: auto;
    }

    object:focus {
        outline: none;
    }

    embed:focus {
        outline: none;
    }

    img,
    input,
    select,
    textarea {
        margin-top: 0;
        margin-bottom: 0;
        vertical-align: middle;
        font-size: 12px;
    }

    input[type="button"],
    input[type="text"],
    input[type="submit"] {
        -webkit-appearance: none;
    }

    button {
        background: transparent;
        border: 0;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
    }

    ::-webkit-input-placeholder {
        color: #ccc;
    }

    ::-moz-placeholder {
        color: #ccc;
    }

    :-moz-placeholder {
        color: #ccc;
    }

    :-ms-input-placeholder {
        color: #ccc;
    }

    abbr,
    acronym,
    fieldset {
        border: 0;
    }

    hr {
        margin: 2em 0;
        display: block;
        border: 0;
        border-bottom: 1px solid #ddd;
        clear: both;
    }

    img {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;

        -moz-transition: 0.5s;
        -webkit-transition: 0.5s;
        transition: 0.5s;
        vertical-align: top;
    }

    iframe {
        display: block;
        vertical-align: top;
        margin: auto;
    }

    i,
    em {
        font-style: normal;
    }

    a {
        color: #333;
        background: transparent;
        -moz-transition: 0.25s;
        -webkit-transition: 0.25s;
        transition: 0.25s;
        text-decoration: none;
    }

    a:hover {
        text-decoration: underline;
        opacity: 0.8;
    }

    ul,
    ol {
        list-style: none;
        padding-left: 0;
    }

    ol li {
        list-style: auto;
        margin: 0.5em 1em;
    }

    .sp_b,
    .sp-only {
        display: none;
    }

    .pc_b,
    .pc-only {
        display: block;
    }

    .fixed {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
    }

    /*
    a.outlink:after {
        font-family: "Font Awesome 5 Free";
        font-weight: 700;
        content: "\f35d";
        margin-left: 5px;
        color: #00878A;
    }
    */

    @media screen and (max-width: 1024px) {

        .sp_b,
        .sp-only {
            display: block;
        }

        .pc_b,
        .pc-only {
            display: none;
        }
    }

    /* ========================
    全ページ共通 
    =========================== */

    .main_title {
        font-weight: 500;
        margin: 0.5em auto;
        position: relative;
        padding-bottom: 5px;
    }

    .main_title::before,
    .main_title::after {
        content: '';
        position: absolute;
        margin: auto;
        left: 0;
        bottom: 0;
        width: 2em;
        background: #00878A;
        height: 6px;
    }

    .main_title::before {
        background: #95B0B1;
        width: 4em;
    }

    .mmdd,
    .tag_deco,
    .pr_tag {
        font-size: 85%;
    }

    .tag_deco {
        display: inline-block;
        padding: 0 5px;
        border: 1px solid #707071;
        color: #707071;
        margin-left: 10px;
        background: #fff;
    }

    .mmdd {
        display: inline-block;
        color: #333;
    }

    .post-page-lbox .pr_tag {
        margin-left: 1em;
        font-size: 16px;
        font-weight: 100;
    }

    .pr_tag {
        display: inline-block;
        background: #E4E4E4;
        padding: 0 11px;
        color: #fff;
    }

    .offer {
        text-align: right;
        font-size: 80%;
    }

    .pagelist-btn a {
        display: block;
        text-decoration: none;
        text-align: right;
        font-weight: 500;
        margin: 5px auto;
    }

    .pagelist-btn a:after {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f138";
        margin-left: 5px;
        color: #A7C0FC;
    }

    .scrollbox {
        height: 300px;
        border: 1px solid #DFE0DF;
        overflow-y: scroll;
        padding: 1em;
        background: #f7f7f7;
        font-size: 90%;
        margin: 2.5em auto;
    }

    @media screen and (max-width: 1024px) {
        .main_title {
            margin: 2em auto 1em auto;
        }

        .offer {
            margin-top: 0.5em;
        }

        .pagelist-btn a {
            margin: 1em auto;
        }
    }

    .ads_block {
        margin-top: 2em;
    }
    
    .copyright {
        text-align: right;
        font-size: 75%;
    }



    /* -----------------
    header
    ----------------- */


    #header_area #logo img {
        position: absolute;
        max-width: 350px;
        width: 100%;
        left: 0;
        top: 0;
    }

    #header_area nav {
        width: 100%;
        height: 150px;
        position: relative;
        background: #fff;
        box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
        z-index: 9999
    }

    #header_area .header_spwarp {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        position: relative;
        height: 70px;
    }

    #header_area .main-menu {
        position: absolute;
        top: 5.4em;
    }

    #header_area .main-menu .main-menu_list li a {
        display: block;
        font-weight: 500;
        padding: 2em;
        border-bottom: 1px dotted #CCC;
        color: #333;
        text-decoration: none;
    }

    #header_area .main-menu .main-menu_list li a:hover {
        color: #00878A;
    }

    #header_area .main-menu .main-menu_list li a.pull:after {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f078";
        margin-left: 5px;
    }

    #header_area .menu-lbox {
        text-align: center;
        background: rgba(255, 255, 255, 0.5);
    }

    #header_area .menu-lbox.open {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        overflow-y: scroll;
    }

    #header_area .Toggle {
        display: block;
        position: fixed;
        width: 35px;
        height: 35px;
        cursor: pointer;
        z-index: 3;
        right: 15px;
    }

    #header_area .Toggle span {
        display: block;
        position: absolute;
        width: 35px;
        border-bottom: solid 4px #707070;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }

    #header_area .Toggle span:nth-child(1) {
        top: 5px;
    }

    #header_area .Toggle span:nth-child(2) {
        top: 18px;
    }

    #header_area .Toggle span:nth-child(3) {
        top: 32px;
    }

    #header_area .Toggle.active span:nth-child(1) {
        top: 18px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    #header_area .Toggle.active span:nth-child(2),
    #header_area .Toggle.active span:nth-child(3) {
        top: 18px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    #header_area .menu-inbox {
        display: flex;
        flex-direction: column;
        align-items: end;
        background: #fff;
        z-index: 999;
        padding: 1em 1em 3em 1em;
    }

    @media screen and (max-width: 1024px) {

        header#header_area {
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 999;
        }

        #header_area #logo img {
            max-width: 250px;
            top: 8px;
        }

        #header_area .menu-lbox {
            transition: 0.5s ease;
            -webkit-transform: translateX(-105%);
            transform: translateX(-105%);
        }

        #header_area nav {
            height: 70px;
        }

        #header_area .main-menu {
            width: 100%;
            background: #fff;
            position: unset;
        }

        #header_area .main-menu .main-menu_list li a {
            padding: 0.5em;
        }

        #header_area .menu-inbox {
            overflow: auto;
            height: 100vh;
        }
    }

    @media screen and (min-width: 1024px) {

        #header_area header::after {
            display: none;
        }

        #header_area nav {
            padding: 1em 1.5em;
        }

        #header_area .Toggle {
            display: none;
        }

        #header_area .main-menu {
            width: 100%;
            background: transparent;
            margin-top: 0;
            -webkit-transform: translateX(0);
            transform: translateX(0);
        }

        #header_area .main-menu .main-menu_list {
            display: flex;
            flex-wrap: wrap;
            justify-content: end;
            align-items: center;
        }

        #header_area .main-menu .main-menu_list li a {
            padding: 1em 1.2em;
            border-bottom: none;
        }

        #header_area .main-menu .main-menu_list li a:hover {
            background: transparent;
        }
    }


    /* -----------------
    ヘッダー内 コンテンツ（SNSボタン等）
    ----------------- */

    #header_area .sub-contents {
        display: flex;
        position: absolute;
        top: 2em;
        right: 17em;
        align-items: center;
    }

    #header_area .sub-contents .snsbox {
        display: flex;
        justify-content: center;
    }

    #header_area .sub-contents .snsbtn {
        margin: 10px 12px;
    }

    #header_area .sub-contents .snsbtn img {
        width: 28px;
        max-height: 28px;
        height: auto;
    }

    #header_area .sub-contents .mailmzbtn a {
        display: block;
        text-decoration: none;
        background: #00878A;
        border-radius: 6px;
        padding: 4px 25px;
        color: #fff;
        margin: auto 1em;
        border: 2px solid;
        font-weight: 500;
        text-align: center;
    }

    #header_area .sub-contents .mailmzbtn a:hover {
        background: #fff;
        color: #00878A;
    }

    #header_area .sub-contents .menu-inbox {
        display: flex;
        flex-direction: row;
        gap: 20px;
    }

    #header_area .sub-contents .htg-search-box {
        order: 1;
    }

    #header_area .sub-contents .main-menu {
        order: 2;
    }

    #header_area .sub-contents {
        order: 3;
    }

    @media screen and (max-width: 1024px) {

        #header_area .sub-contents {
            position: unset;
            width: 100%;
            background: #fff;
            display: flex;
            flex-direction: column;
            order: 3;
            margin-top: 1em;
        }

        #header_area .sub-contents .menu-inbox {
            flex-direction: column;
        }

        #header_area .htg-search-box {
            order: 1;
        }

        #header_area .main-menu {
            order: 2;
        }

        #header_area .sub-contents .snsbtn:nth-of-type(1) {
            order: 1;
        }

        #header_area .sub-contents .snsbtn:nth-of-type(2) {
            order: 2;
        }

        #header_area .sub-contents .mailmzbtn {
            order: 3;
        }
    }

    /* -----------------
    hoverメニュー
    ----------------- */

    #header_area .main-menu .main-menu_list>.pullmenu {
        position: relative;
    }

    #header_area .main-menu .main-menu_list .main-menu_sub {
        display: none;
        position: absolute;
        right: 0;
        top: 4em;
        width: 300px;
        z-index: 9999;
        box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
        padding: 1em 0;
        background: #fff;
    }

    #header_area .main-menu .main-menu_list .main-menu_sub>li>a {
        background: #fff;
        padding: 0.5em 1em;
    }

    #header_area .main-menu .main-menu_list .main-menu_sub>li>a:hover {
        opacity: 1;
        color: #A7C0FC;
    }

    #header_area .main-menu .main-menu_list .main-menu_sub>li>a.first:after {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f138";
        margin-left: 5px;
        color: #A7C0FC;
    }

    #header_area .main-menu .main-menu_list .main-menu_sub>li>a:not([class]) {
        padding: 0.5em 1.5em;
    }

    #header_area .main-menu .main-menu_list .main-menu_sub>li>a:not([class])::before {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f068";
        margin-right: 5px;
        color: #A7C0FC;
    }

    @media screen and (max-width: 1024px) {
        #header_area .main-menu .main-menu_list .main-menu_sub {
            position: unset;
            right: 0;
            width: 100%;
            box-shadow: unset;
        }
    }

    /* -----------------
    検索ボックス
    ----------------- */
    .htg-search-box {
        position: absolute;
        top: 2.2em;
        order: 1;
    }

    .htg-search-box .search_container {
        box-sizing: border-box;
        position: relative;
        border: 1px solid #DFE0DF;
        display: block;
        padding: 3px 10px;
        border-radius: 20px;
        height: 2.5em;
        width: 230px;
        overflow: hidden;
    }

    .htg-search-box .search_container input[type="text"] {
        border: none;
        height: 2.5em;
        font-size: 14px;
        position: absolute;
        bottom: 0;
    }

    .htg-search-box .search_container input[type="text"]:focus {
        outline: 0;
    }

    .htg-search-box .search_container input[type="submit"] {
        cursor: pointer;
        font-size: 1.3em;
        border: none;
        background: none;
        color: #4B4B4B;
        background: #fff;
        position: absolute;
        width: 2.5em;
        height: 2.5em;
        right: 0;
        top: -7px;
        outline: none;
    }

    @media screen and (max-width: 1024px) {
        .htg-search-box {
            position: unset;
            margin: 10px auto;
        }

        .htg-search-box .search_container {
            width: 330px;
        }
    }

    /* ========================
    トップページ用 
    ======================== */
    #main_area {
        margin-bottom: 20px;
        margin-top: 20px;
    }

    #main_area .column-warp .inner {
        margin: 0 auto;
        padding: 0 15px;
        min-width: 1024px;
        max-width: 1230px;
    }

    #main_area .wide-warp {
        background: #F5F8F8;
    }

    #main_area .wide-warp .main_title {
        text-align: center;
        margin-bottom: 1em;
    }

    #main_area .wide-warp .main_title::before {
        right: 0;
        left: -2em;
    }

    #main_area .wide-warp .main_title::after {
        left: 0;
        right: 0;
    }

    #main_area .wide-warp .inner {
        margin: 2em auto;
        padding: 15px;
        min-width: 1024px;
        max-width: 1230px;
    }

    #main_area h3.list-title {
        font-weight: unset;
        font-size: 100%;
    }

    #main_area h3.list-title a {
        max-width: unset;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .l__container {
        width: 100%;
        max-width: 870px;
    }

    .r__container {
        width: 100%;
        max-width: 316px;
        margin-left: 2em;
    }

    section.column-warp .inner {
        display: flex;
    }

    @media screen and (max-width: 1024px) {

        #main_area .wide-warp .main_title {
            text-align: left;
        }

        #main_area .wide-warp .main_title::after {
            right: unset;
        }

        #main_area .wide-warp .main_title::before {
            left: unset;
            right: unset;
        }

        #main_area .wide-warp {
            background: unset;
        }

        .l__container,
        .r__container {
            width: 100%;
            max-width: none;
            margin: auto;
        }

        section.column-warp .inner {
            flex-direction: column;
        }

        #main_area .column-warp .inner,
        #main_area .wide-warp .inner {
            padding: 0 10px;
            min-width: unset;
            max-width: unset;
            width: 100%;
            margin: 0 auto;
        }
    }

    /* -----------------
    トップページ ad レクタングル
    ----------------- */

    .column-warp .ad_rec {
        margin-top: 2em;
    }

    .column-warp .ad_rec .ad_rec-box {
        display: block;
        background: #DFE0DF;
        box-sizing: content-box;
        padding: 8px 8px;
        width: 300px;
        margin: 0 0 0 auto;
    }

    .column-warp .ad_rec .ad_rec-box:first-child {
        margin-bottom: 2em;
    }

    @media screen and (max-width: 1024px) {
        .column-warp .ad_rec .ad_rec-box {
            height: auto;
            margin: auto;
        }
    }

    /* -----------------
    トップページニュース
    ----------------- */

    .news_container .main_title {
        margin: 0 auto 1em auto;
    }

    .future-articles {
        display: flex;
        border: 1px solid #DFE0DF;
        padding: 1em;
        margin: 1em 0.3em;
        align-items: center;
    }

    .future-articles img {
        display: block;
        margin-right: 1.5em;
        max-width: 250px;
        width: 100%;
        max-height: 115px;
        height: 100%;
        object-fit: cover;
        padding-right: 10px;
    }

    .future-articles .future-title {
        font-weight: 500;
    }

    .future-articles .mmdd,
    .future-articles .list-title {
        margin-left: 1em;
    }

    .news_container .news-list {
        display: flex;
        flex-wrap: wrap;
    }

    .news_container .news-list li {
        flex: 0 0 50%;
        margin: 0.3em auto;
        padding: 0.5em;
        display: flex;
    }

    .news_container .news-list li .page_img {
        max-width: 95px;
        width: 100%;
        height: 95px;
        object-fit: cover;
        margin-left: 1em;
    }

    .news_container .news-list li .page_img a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .news_container .news-list .datebox {
        display: flex;
        align-items: center;
    }

    .news_container .news-list .datebox .pr_tag {
        margin-left: auto;
    }

    .news_container .news-list h3.list-title {
        margin-top: 5px;
    }

    @media screen and (max-width: 1024px) {
        .news_container .news-list .txtbox {
            width: 100%;
        }

        .news_container .future-articles {
            padding: 0.5em;
            margin: 1em 0;
        }

        .news_container .news-list {
            flex-direction: column;
        }

        .news_container .news-list li {
            flex: unset;
            margin: 0;
            width: auto;
            padding: 1em 0;
        }

        .future-articles img {
        margin-right: 10px;
        width: 95px;
        height: 95px;
        object-fit: cover;
        padding: 0;
        }

        .news_container .future-articles .mmdd,
        .news_container .future-articles .list-title {
            margin: 0;
        }
    }

    /* -----------------
    トップページピックアップ
    ----------------- */

    .pickup_container .pickup-layout {
        margin: 1em auto;
        display: flex;
        align-items: baseline;
    }

    .pickup_container .pickup-layout h3.list-title {
        font-size: 120% !important;
        font-weight: 500 !important;
        text-decoration: none;
    }

    .pickup_container .pickup-layout .pickup-left {
        max-width: 400px;
        text-align: center;
    }

    .pickup_container .pickup-layout .pickup-left img {
        max-width: 300px;
        width: 100%;
        max-height: 200px;
        height: 100%;
        object-fit: cover;
    }

    .pickup_container .pickup-layout .pickup-left .txtbox {
        margin: 1em auto;
        padding: 0 1em;
    }

    .pickup_container .pickup-layout .pickup-right li {
        display: flex;
        margin: 1em 0 1em 1em;
    }

    .pickup_container .pickup-layout .pickup-right li a {
        max-width: 200px;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .pickup_container .pickup-layout .pickup-right li a img {
        margin-left: 1em;
    }

    .pickup_container .pickup-layout .pickup-left p,
    .pickup_container .pickup-layout .pickup-right li p {
        color: #333;
    }

    @media screen and (max-width: 1024px) {

        .pickup_container .pickup-layout .pickup-left {
            max-width: unset;
            border: 1px solid #DFE0DF;
            padding: 1em 0.5em;
        }

        .pickup_container .pickup-layout {
            flex-direction: column;
            margin: 0;
        }

        .pickup_container .pickup-layout .pickup-right li {
            margin: 1em 0;
            display: block;
            border: 1px solid #DFE0DF;
            padding: 1em 0.5em;
        }

        .pickup_container .pickup-layout .pickup-left p,
        .pickup_container .pickup-layout .pickup-right li p {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
        }

        .pickup_container .pickup-layout .pickup-left .txtbox {
            margin: 0;
            padding: 0;
        }

        #main_area .pickup_container h3.list-title a {
            color: #00878A;
        }
    }

    /* -----------------
    トップページ 関連資料リリース
    ----------------- */
    .release_container .release-list {
        display: flex;
        flex-wrap: wrap;
    }

    .release_container .release-list li {
        flex: 0 0 50%;
        margin: 0.5em auto;
        padding: 0.5em;
    }

    .release_container .release-list li:nth-child(2n+1) {
        border-right: 1px solid #E4E4E4;
    }

    @media screen and (max-width: 1024px) {


        .release_container .release-list {
            flex-direction: column;
        }

        .release_container .release-list li:nth-child(2n+1) {
            border-right: unset;
        }

        .release_container .release-list li {
            border-bottom: 1px solid #E4E4E4;
            margin: 0 auto;
            flex: unset;
            width: 100%;
        }
    }

    /* -----------------
    トップページ 学会・イベント
    ----------------- */

    .event_container .event-list .datebox {
        display: flex;
        margin-bottom: 5px;
    }

    .event_container .event-list li {
        margin: 0.5em auto;
        padding: 0.5em 0;
    }

    .tag_deco.place_tag {
        color: #FF8847;
        border-color: #FF8847;
    }

    .tag_deco.online_tag {
        color: #00878A;
        border-color: #00878A;
    }

    .tag_deco.slect_tag {
        color: #fff;
        background: #00878A;
        border-color: #00878A;
    }

    @media screen and (max-width: 1024px) {
        .event_container .event-list li {
            margin: 0 auto;
            padding: 1em 0;
            border-bottom: 1px solid #E4E4E4;
        }
    }

    /* -----------------
    トップページ ２カ月先駆けカレンダー
    ----------------- */

    .twomanth_container .twomanth_list {
        margin-bottom: 1em;
    }

    .twomanth_container .twomanth_list li {
        padding: 0.8em 0;
        border-bottom: 1px solid #E4E4E4;
    }

    .twomanth_container .twomanth_list li p {
        font-size: 80%;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .twomanth_container .twomanth_list li h3.list-title {
        margin: 5px auto;
    }

    /* -----------------
    トップページ ミドルバナー
    ----------------- */
    .ad_middle {
        margin: 3em auto;
    }

    .ad_middle .ad_middle-box {
        margin: 1em auto;
    }

    .ad_middle .ad_middle-box img {
        display: block;
        margin: auto;
    }

    /* -----------------
    トップページ物販
    ----------------- */
    .shop_container p {
        margin-top: 1em;
    }

    /* -----------------
    トップページ物販
    ----------------- */
    .article_container .article_list {
        display: flex;
        flex-wrap: wrap;
    }

    .article_container .article_list li {
        display: flex;
        flex: 0 0 45%;
        margin: 1em;
    }

    .article_container .article_list li .tag_deco {
        margin-left: 0;
        margin-right: 10px;
    }

    .article_container .article_list li .page_img img {
        max-width: 180px;
        min-width: 180px;
        width: 100%;
        object-fit: cover;
        margin-right: 1em;
    }

    .article_container .article_list li .tag_deco.sub_cat {
        background: #707070;
    }

    .article_container .article_list li .tag_deco.sub_cat a {
        color: #fff;
    }

    .article_container .article_list li .datebox {
        margin: 5px auto;
    }

    @media screen and (max-width: 1024px) {

        .article_container .article_list {
            flex-direction: column;
        }

        .article_container .article_list li {
            margin: 1em 0;
        }
    }

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

    footer {
        background: #fff;
    }

    .footer-inner {
        margin: auto;
        padding: 15px 0;
        min-width: 1024px;
        max-width: 1230px;
        font-size: 80%;
    }

    .footer-inner .footerlist {
        display: flex;
        justify-content: space-around;
        border-bottom: 1px solid #E4E4E4;
        padding-bottom: 10px;
    }

    .footer-inner p {
        text-align: center;
        margin: 1em auto;
    }

    @media screen and (max-width: 1024px) {

        .footer-inner {
            min-width: unset;
            max-width: unset;
            width: 100%;
            padding: 0;
        }

        .footer-inner .footerlist {
            background: #F4F4F4;
            border: none;
            padding: 1em 0;
            flex-wrap: wrap;
            justify-content: center;
        }

        .footer-inner .footerlist li {
            position: relative;
            padding: 0.2em 1em;
        }

        .footer-inner .footerlist li:after {
            content: "";
            position: absolute;
            right: 0;
            top: 20%;
            background: #707070;
            width: 1px;
            height: 60%;
        }

        .footer-inner p {
            padding: 1em 0;
        }
    }

    /* -----------------
    メルマガページ
    ----------------- */
    #mailMagazine span.must {
        color: #FF8847;
        border: 1px solid #FF8847;
        padding: 5px;
        margin-right: 5px;
        font-size: 80%;
    }

    #mailMagazine dt {
        margin: 2em auto 10px auto;
        font-weight: 500;
    }

    #mailMagazine dd {
        border-bottom: 1px dotted #707071;
        padding-bottom: 2em;
    }

    #mailMagazine .clearfix.p-noneli li {
        flex: unset;
        margin-right: 1em;
    }

    #mailMagazine dd input[type="text"] {
        -webkit-appearance: none;
        border: 1px solid #707071;
        padding: 1em;
        width: 300px;
        border-radius: 5px;
        font-size: 14px;
    }

    #mailMagazine select {
        -webkit-appearance: none;
        border: 1px solid #707071;
        padding: 1em;
        width: 300px;
        border-radius: 5px;
        font-size: 14px;
    }

    #mailMagazine .clearfix {
        display: flex;
        flex-wrap: wrap;
    }

    #mailMagazine .clearfix li {
        flex: 0 0 30%;
    }

    #mailMagazine .btn {
        font-size: 90%;
        background: #fff;
        color: #00878A;
        padding: 0.6em 1em;
        margin: 1em;
        width: 200px;
        border: 2px solid #00878A;
        border-radius: 30px;
    }

    #mailMagazine .btn {
        background: #00878A;
        color: #fff;
    }

    #mailMagazine .btn.next {
        background: #00878A;
        color: #fff;
    }

    #mailMagazine .btn.next:hover {
        background: #fff;
        color: #00878A;
        transition: 0.3s ease-in-out;
    }

    #mailMagazine p.buttons.textC {
        text-align: center;
        margin: 1em auto;
    }

    @media screen and (max-width: 768px) {

        #mailMagazine dd input[type="text"],
        #mailMagazine select {
            width: 100%;
        }

        #mailMagazine .clearfix li {
            flex: 0 0 50%;
        }
    }

    /* -----------------
    クッキー使用許可ポップアップ
    ----------------- */
    .cookie-consent {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: fixed;
        bottom: -200px;
        left: 5%;
        width: 90%;
        font-size: 12px;
        background: #fff;
        padding: 1.2em;
        box-sizing: border-box;
        border: 1px solid #ddd;
        visibility: visible;
        transition: .5s;
    }

    .cookie-consent.is-show {
        bottom: 15px;
    }

    .cookie-consent .cookie-text {
        width: 90%;
    }

    .cookie-consent .cookie-agree {
        color: #fff;
        background: dodgerblue;
        padding: .5em 1.5em;
    }

    .cookie-consent .cookie-agree:hover {
        cursor: pointer;
    }

    /* パッと消える */
    .cookie-consent.cc-hide1 {
        display: none;
    }

    /* ゆっくり消える */
    .cookie-consent.cc-hide2 {
        animation: hide 1s linear 0s;
        animation-fill-mode: forwards;
    }

    @keyframes hide {
        from {
            opacity: 1;
        }

        to {
            opacity: 0;
            visibility: hidden;
        }
    }

    /* メディアクエリ */
    @media screen and (max-width: 1024px) {
        .cookie-consent {
            flex-direction: column;
        }

        .cookie-consent .cookie-text {
            width: 100%;
            margin-bottom: 1em;
        }
    }


    /* -----------------
    職種選択モーダル
    ----------------- */
    /* モーダル全体のスタイル */
    .jobmodal {
        display: none;
        /* 初期状態では非表示 */
        position: fixed;
        z-index: 1000;
        /* 他の要素の上に表示 */
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: rgba(0, 0, 0, 0.6);
        pointer-events: auto;
    }

    #job-selection-buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 1em auto;
    }

    /* モーダルの中身のコンテナ */
    .jobmodal .modal-content {
        background-color: #fefefe;
        margin: 15% auto;
        /* 画面中央に配置 */
        padding: 30px;
        border: 1px solid #888;
        width: 80%;
        /* 幅の調整 */
        max-width: 700px;
        border-radius: 8px;
        text-align: center;
    }

    /* 選択ボタンのスタイル */
    .jobmodal .job-select-btn {
        flex: 0 0 30%;
        padding: 30px 10px;
        margin: 10px;
        cursor: pointer;
        background: #00878A;
        color: #fff;
        border-radius: 5px;
    }

    @media screen and (max-width: 768px) {
        .jobmodal .job-select-btn {
            flex: 0 0 44%;
            padding: 20px 5px;
            margin: 7px;
            font-size: 85%;
        }
    }


    /* -----------------
    画像クリック拡大モーダル
    ----------------- */
    .clickimg_zoom_modal {
        display: none;
        position: fixed;
        z-index: 1;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: rgb(0, 0, 0);
        background-color: rgba(0, 0, 0, 0.9);
        align-items: center;
        justify-content: center;
        animation: modalFadeIn 0.3s;
        z-index: 99999;

    }

    .clickimg_zoom_modal img {
        max-width: 90%;
        max-height: 100vh;
        object-fit: contain;
    }

    .clickable-image:hover {
        cursor: zoom-in;
    }

    .clickimg_zoom_modal img:hover {
        cursor: zoom-out;
    }

    @keyframes modalFadeIn {
        from {
            opacity: 0;
        }

        to {
            opacity: 1;
        }
    }

    @keyframes modalFadeOut {
        from {
            opacity: 1;
        }

        to {
            opacity: 0;
        }
    }


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