@charset "UTF-8";

/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/

:root {
    --main-color: #000;
    --sub-color: #fff;
}

body {
    color: #000000;
    font-size: 16px;
    line-height: 1.7;
}

a[href $='.pdf'] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    text-decoration: underline;
    color: #000;
    line-height: 1.5;
}

a[href $='.pdf']::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 30px;
    height: 38px;
    background-image: url(/wp-content/themes/child/image/icon/icon_pdf.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 15px;
}

a[href $='.pdf']:hover {
    text-decoration: none;
}

.wrap {
    width: 1140px;
    margin: 0 auto;
}

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}


/* PC固定ページ 共通設定 */
.common_page_main {
    background: #F5F5F5;
    padding-block: 140px;
    margin-block: 0 1em;
}

.common_page_main .title_box {
    text-align: center;
}

.common_page_main .title_box .title {
    font-size: 40px;
    letter-spacing: .08em;
    font-weight: 700;
    line-height: 1.5;
}

.common_page_wrap {
    padding: 100px 0;
}

.not_found .text {
    text-align: center;
}

.reserve_text {
    text-align: center;
    font-size: 30px;
}

/* パンくず */
.breadcrumb {
    font-size: 12px;
    color: #3E3E3E;
    letter-spacing: .08em;
}

.breadcrumb a {
    text-decoration: none;
    color: #3E3E3E;
}

/* PC固定ページ お問い合わせ */
.contact_form_disc {
    color: #3E3E3E;
    letter-spacing: .08em;
    font-weight: 400;
    text-align: center;
    margin-block: 0 3.8em;
}

.contact_form_disc .text {
    font-size: 16px;
    margin-block: 0 1em;
}

.contact_form_disc .caution {
    font-size: 14px;
}

.common_contact_form .form_box {
    margin-block: 0 50px;
}

.common_contact_form .form_box dl {
    display: grid;
    grid-template-columns: 26.5% 1fr;
    align-items: center;
    gap: 80px;
}

.common_contact_form .form_box dl.start {
    align-items: flex-start;
}

.common_contact_form .form_box dl+dl {
    margin-block: 1.6em 0;
}

.common_contact_form .form_box dl dt {
    display: flex;
    align-items: center;
    gap: 1.3em;
    font-size: 16px;
    letter-spacing: .08em;
    font-weight: 700;
    padding-inline: 0 0.5em;
    position: relative;
}

.common_contact_form .form_box dl dt .label {
    flex-shrink: 0;
    color: #3E3E3E;
    font-size: 12px;
    letter-spacing: .2em;
    font-weight: 700;
    border-radius: 100vmax;
    padding: 0.2em 0.9em;
}

.common_contact_form .form_box dl dt .label.hissu {
    background: #C70000;
    color: #fff;
}

.common_contact_form .form_box dl dt .label.ninni {
    background: #E0E0E0;
}

.common_contact_form .form_box dl dt::after {
    content: "";
    width: 1px;
    height: 30px;
    background: #AAA;
    position: absolute;
    top: 0;
    right: 0;
}

.common_contact_form input[type="text"],
.common_contact_form input[type="email"],
.common_contact_form #zip {
    width: 100%;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
    padding: 0.8em 1em;
}

.common_contact_form textarea {
    width: 100%;
    height: 180px;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    padding: 1em;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
}

.common_contact_form input::placeholder,
.common_contact_form textarea::placeholder {
    color: #C7C4C4;
}

.common_contact_form select {
    width: 47.5%;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: .08em;
    padding: 1.1em 1em;
}

.common_contact_form select.empty {
    color: #C7C4C4;
}

.page_contact #btn_wrap {
    justify-content: center;
    text-align: right;
    width: 74%;
    margin: auto;
}

.page_contact #btn_wrap button {
    background-color: var(--main-color);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 310px;
    line-height: 60px;
    font-size: 18px;
    font-weight: 900;
    transition: .3s;
    text-align: center;
    letter-spacing: .08em;
    margin: auto;
}

.page_contact #btn_wrap button[name="submitBack"] {
    background: #333;
    margin-top: 20px;
}

.page_contact #btn_wrap button:hover {
    opacity: .8;
}

.privacy_term_outer .privacy_term_inner {
    height: 138px;
    margin: auto;
    overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
    font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
    font-size: 13px;
    margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
    font-size: 13px;
    border-left: solid 3px #ccc;
    padding-left: 1em;
    margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
    font-size: 13px;
}

.privacy_term_outer .privacy_term_inner dl+dl {
    margin-top: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
    width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
    background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
    background-color: #333;
    border-radius: 10px;
}

.privacy_term_outer {
    border-top: solid 1px #e3e3e3;
    padding: 30px 0;
    border-bottom: solid 1px #e3e3e3;
    width: 60%;
    margin: 0 auto 50px;
}

.privacy_check_list .mwform-checkbox-field-text {
    padding-right: 0;
}

.privacy_check_list .error {
    font-size: 12px;
}

.privacy_term_detail {
    text-align: center;
    font-size: 13px;
    margin: 20px 0;
    position: relative;
    font-weight: 600;
}

.privacy_term_detail::after {
    content: "";
    margin: 5px auto 0;
    border: solid #333;
    border-width: 2px 2px 0 0;
    width: 10px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    rotate: 135deg;
    display: block;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
    display: none;
}

/* ラジオボタン デザイン */
.radio_btns,
.checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5em;
}

/* ラジオボタンを隠す */
.radio_btns input[type=radio].radio_btns__item {
    display: none;
}

.radio_btns label {
    display: inline-block;
    cursor: pointer;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item+span {
    color: #3E3E3E;
    font-size: 15px;
    letter-spacing: .08em;
    font-weight: 600;
    padding-left: 2em;
    display: inline-block;
    position: relative;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item+span::before,
.radio_btns .radio_btns__item+span::after {
    content: '';
    display: block;
    position: absolute;
    border: 1px solid #E6E6E6;
    background: #F8F8F8;
    border-radius: 50%;
    width: 20px;
    aspect-ratio: 1;
    min-width: 0;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item+span::after {
    width: 10px;
    aspect-ratio: 1;
    min-width: 0;
    top: 0px;
    left: 5px;
    border: none;
    background: #5A5A5A;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    transition: all .3s;
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked+span::after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

/* チェックボックス デザイン */
.page_contact input[type="checkbox"] {
    /* デフォルトcheckボックス非表示*/
    display: none;
}

.mwform-checkbox-field label {
    cursor: pointer;
}

.mwform-checkbox-field-text {
    color: #3E3E3E;
    font-size: 15px;
    letter-spacing: .08em;
    font-weight: 600;
    display: inline-block;
    position: relative;
    padding: 0 0 0 30px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
    content: "";
    position: absolute;
    display: block;
}

.mwform-checkbox-field-text::before {
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 2px;
    width: 20px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
    border-width: 3px;
    border-color: transparent transparent #333 #333;
    border-style: solid;
    width: 20px;
    aspect-ratio: 2/1;
    min-width: 0;
    margin-top: -0.2em;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(-45deg);
    opacity: 0;
}

input[type="checkbox"]:checked+.mwform-checkbox-field-text::after {
    opacity: 1;
}

.mw_wp_form .horizontal-item {
    display: inline-block;
}

.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0 !important;
}

/* サンクスページ */

.page_contact .thanks_textArea .name {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    margin-bottom: 20px;
}

.page_contact .thanks_textArea .contact_text {
    margin: 0 auto 50px;
    width: 62%;
}

.page_contact .thanks_textArea .ichiran_link {
    background-color: var(--main-color);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 300px;
    line-height: 50px;
    border-radius: 4px;
    font-size: 16px;
    transition: .3s;
    margin: 0 auto;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: .08em;
    text-align: center;
}

.page_contact .thanks_textArea .ichiran_link:hover {
    opacity: .8;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
    margin-top: 10px;
}

/* ステップバー デザイン */
.page_contact .progressbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5.6em;
    margin-block: 0 3em;
}

.page_contact .progressbar .item {
    color: #3E3E3E;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
    text-align: center;
    line-height: 1.5;
    position: relative;
}

.page_contact .progressbar .item+.item::before {
    content: "";
    width: 50px;
    height: 1px;
    background: #E6E6E6;
    position: absolute;
    top: 64%;
    left: -5em;
}

.page_contact .progressbar .item .mark {
    width: 36px;
    aspect-ratio: 1;
    background: #fff;
    border: 1px solid #AFAFAF;
    border-radius: 50%;
    display: block;
    margin: 0 auto 0.5em;
    position: relative;
}

.page_contact .progressbar .item .mark::before {
    content: "";
    width: 41%;
    aspect-ratio: 1;
    background: #5A5A5A;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    opacity: 0;
}

.page_contact .progressbar .item.active .mark::before {
    opacity: 1;
}

.page_contact .progressbar .item .en {
    display: block;
    color: #A7A7A7;
    letter-spacing: 0;
    font-family: 'Helvetica', 'Arial', sans-serif;
}

.privacy_check_list {
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.privacy_check_list .hissu {
    background: #c70200;
    color: #fff;
    padding: 2px 15px;
    font-size: 10px;
    letter-spacing: .08em;
    border-radius: 30px;
    font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
    margin: 0;
}

/* PC固定ページ 個人情報保護方針 */
.page_privacy .main_text {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 3em;
}

.page_privacy dl {
    margin-bottom: 50px;
}

.page_privacy dl:last-child {
    margin-bottom: 0;
}

.page_privacy dl dt {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: .5em;
    border-left: 3px solid #ccc;
    padding-left: 1em;
}

.page_privacy dl dd {
    font-size: 14px;
    line-height: 2;
}

/* PC固定ページ 404ページ */
#page_404 {
    text-align: center;
}

#page_404 .num {
    font-size: 100px;
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
    margin-bottom: 1em;
    font-size: 16px;
}

/* PC固定ページ アーカイブページ */
/* 投稿リスト表示 */
.archive_page_list>article {
    padding-bottom: 15px;
    padding-top: 15px;
    border-bottom: 1px dashed #eee;
    padding-right: 30px;
}

.archive_page_list>article:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    right: 5px;
    bottom: 0;
    margin: auto;
    border: solid #ccc;
    border-width: 2px 2px 0 0;
    transform: rotate(45deg);
}

.archive_page_list>article .date {
    font-weight: bold;
    font-size: 80%;
    width: 100px;
}

.archive_page_list>article .content_area {
    width: calc(100% - 100px);
}

.archive_page_list>article .content_area .ttl {
    font-weight: bold;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.archive_page_list>article .content_area .content {
    font-size: 80%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* wp-pagenavi base */
.wp-pagenavi {
    text-align: center;
    margin-top: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    color: #999;
    background-color: #FFF;
    border: solid 1px #e0e0d2;
    padding: 8px 15px;
    margin: 0 2px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    text-align: center;
    text-decoration: none;
}

.wp-pagenavi a:hover {
    color: #FFF;
    background-color: var(--main-color);
    border-color: var(--main-color);
}

.wp-pagenavi .current {
    color: #FFF;
    background-color: var(--main-color);
    border-color: var(--main-color);
    font-weight: bold;
}


/* -------------------------------------------------------------------------------- ----------------------------------- -----------------------------------
↓↓↓ ダイス工業株式会社 CSS (pc)
-------------------------------------------------------------------------------- ----------------------------------- ----------------------------------- */

@font-face {
    src: url("/wp-content/themes/child/font/Silom.woff") format("woff");
    font-family: "Silom";
}

@font-face {
    src: url("/wp-content/themes/child/font/Krungthep.woff") format("woff");
    font-family: "Krungthep";
}

@font-face {
    font-weight: 600;
    src: url("/wp-content/themes/child/font/DIN-2014_Condensed-Demi.woff") format("woff");
    font-family: "DIN";
}

@font-face {
    font-weight: 700;
    src: url("/wp-content/themes/child/font/DIN-2014_Condensed-Bold.woff") format("woff");
    font-family: "DIN";
}

.font_silom {
    font-family: "Silom", sans-serif;
}

.font_krungthep {
    font-family: "Krungthep", sans-serif;
}

.font_din {
    font-family: "DIN", sans-serif;
}

.font_corporate {
    font-weight: 700;
    font-family: "corporate-logo-ver2", sans-serif;
}

.font_roboto {
    font-family: "Roboto", sans-serif;
}

body.body {
    -webkit-text-size-adjust: 100%;
    min-width: 1440px;
    background-color: #F0F1F2;
    color: #333;
    font-family: "Noto Sans JP", sans-serif;
}

main {
    z-index: 10;
    position: relative;
    overflow: hidden;
    margin-top: -20px;
}

html {
    scroll-behavior: smooth;
}

html.active {
    overflow: hidden;
}

/* 共通部分 (pc) ------------------------------------------------------------------------------------------------------ */

span,
a {
    display: inline-block;
    font-weight: inherit;
}

body figure {
    margin: 0;
}

img {
    -o-object-fit: cover;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* btn 共通クラス (pc) */

a.common_btn {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-transition: background 0.3s, color 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    align-items: center;
    aspect-ratio: 300/70;
    width: 300px;
    padding-left: 30px;
    border: 2px solid #27255C;
    border-radius: 0 40px 40px 0;
    background-color: #27255C;
    color: #FFF;
    font-size: 20px;
    transition: background 0.3s, color 0.3s ease 0s;
}

a.common_btn::after {
    -webkit-transform: translateY(-50%);
    -webkit-transition: background 0.3s ease 0s;
    position: absolute;
    top: 50%;
    right: 30px;
    aspect-ratio: 20/8;
    width: 25px;
    transform: translateY(-50%);
    background-image: url(/wp-content/themes/child/image/common_arrow_yellow.svg);
    background-size: cover;
    content: "";
    transition: background 0.3s ease 0s;
}

a.common_btn:hover {
    background-color: #FFF;
    color: #27255C;
}

a.common_btn:hover::after {
    background-image: url(/wp-content/themes/child/image/common_arrow_blue.svg);
}

/* 下層ページ fv 共通クラス (pc) */

.common_fv {
    z-index: 6;
    position: relative;
    margin: 100px 0 150px;
    padding: 80px 0 120px;
    overflow: hidden;
    color: #FFF;
}

.common_fv::before,
.common_fv::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
}

.common_fv::after {
    -webkit-backdrop-filter: blur(10px);
    --webkit-backdrop-filter: blur(10px);
    z-index: -10;
    backdrop-filter: blur(10px);
    background: transparent;
    background-color: rgba(255, 255, 255, 0.3);
}

.common_fv::before {
    z-index: -20;
    background: -webkit-gradient(linear, left top, left bottom, from(#1125B4), to(#22c2c4));
    background: linear-gradient(#1125B4 0%, #22c2c4 100%);
    opacity: 0.5;
}

.common_fv .common_fv_items {
    -ms-flex-wrap: wrap;
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 10px;
    flex-wrap: wrap;
    font-weight: 600;
    font-size: 14px;
}

.common_fv .common_fv_items span a span {
    -webkit-transition: opacity 0.3s ease 0s;
    color: #F0FA00;
    transition: opacity 0.3s ease 0s;
}

.common_fv .common_fv_items span a span:hover {
    opacity: 0.7;
}

.common_fv .common_fv_heading_en {
    margin-top: 60px;
    font-size: 110px;
    line-height: 1;
}

.common_fv .common_fv_heading_en:first-letter {
    text-transform: uppercase;
}

.common_fv .common_fv_heading_ja {
    margin-top: 20px;
    font-weight: 900;
    font-size: 20px;
    letter-spacing: 0.1em;
}

.common_fv .common_fv_img {
    z-index: -30;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 500px;
}

.common_fv .common_fv_video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -30;
    overflow: hidden;
}

.common_fv .common_fv_video video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
}

.common_fv .common_fv_bg {
    -webkit-transform: translateX(-50%);
    -webkit-filter: blur(50px);
    position: absolute;
    bottom: -150px;
    left: 50%;
    width: 110%;
    height: 250px;
    transform: translateX(-50%);
    background-color: #f2f2f2;
    filter: blur(50px);
}

/* パンくずリスト (pc) */

/* pagenavi (pc) -------------------------------------------------------------------------------------------------------------------- */

.wp-pagenavi a,
.wp-pagenavi span {
    border: 1px solid #151515;
    background-color: transparent;
    color: #151515;
}

.wp-pagenavi a:hover {
    border: 1px solid transparent !important;
    background-color: #151515 !important;
    color: #FFF;
}

.wp-pagenavi span.current {
    border: 1px solid transparent !important;
    background-color: #151515;
    color: #FFF;
}

/* header (pc) -------------------------------------------------------------------------------------------------------------------- */

.header {
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
    z-index: 11;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    min-width: 1440px;
    height: auto;
    padding: 25px 50px;
    background-color: #F2F2F2;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
}

.header.top_page {
    position: absolute;
    top: 6px;
    right: 6px;
}

.header.top_page.is_scroll {
    position: fixed;
    top: 0;
    right: 0;
}

.header .header_inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header .header_inner,
.header .header_nav,
.header .header_items,
.header .header_item,
.header .header_text {
    height: 100%;
}

.header .header_logo {
    -webkit-transition: opacity 0.3s ease 0s;
    aspect-ratio: 216/50;
    width: 216px;
    transition: opacity 0.3s ease 0s;
}

.header .header_logo:hover {
    opacity: 0.7;
}

.header .header_nav {
    margin-left: auto;
}

.header .header_items {
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    column-gap: 30px;
    align-items: center;
}

.header .header_item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
}

.header .header_item a,
.header .header_text {
    -webkit-transition: color 0.3s ease 0s;
    color: #333;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.06em;
    transition: color 0.3s ease 0s;
}

.header .header_item a:hover {
    color: #1811C7;
}

.header .header_item.header_trigger {
    cursor: pointer;
}

.header .header_item.header_trigger:hover .header_drawer {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
}

.header .header_item.header_trigger:hover .header_text::after {
    -webkit-transform: translateY(5px) rotate(-45deg);
    transform: translateY(5px) rotate(-45deg);
}

.header .header_item.header_trigger:hover .header_text::before {
    display: block;
}

.header .header_text {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    align-items: center;
}

.header .header_text::before {
    -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    -webkit-transform: translateX(-50%);
    display: none;
    position: absolute;
    bottom: -20px;
    left: 50%;
    aspect-ratio: 50/20;
    width: 50px;
    /* transform: translateX(-50%); */
    translate: 0% 100%;
    background-color: #FFF;
    content: "";
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.header .header_text::after {
    -webkit-transform: rotate(135deg);
    -webkit-transition: -webkit-transform 0.3s ease 0s;
    aspect-ratio: 1/1;
    width: 8px;
    margin-bottom: 2px;
    margin-left: 8px;
    transform: rotate(135deg);
    border: 1px solid #333;
    border-bottom: none;
    border-left: none;
    content: "";
    transition: -webkit-transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.header .header_drawer {
    -webkit-clip-path: inset(0 0 100% 0);
    -webkit-transition: -webkit-clip-path 0.3s ease 0s;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #FFF;
    clip-path: inset(0 0 100% 0);
    transition: -webkit-clip-path 0.3s ease 0s;
    transition: clip-path 0.3s ease 0s;
    transition: clip-path 0.3s ease 0s, -webkit-clip-path 0.3s ease 0s;
}

.header .header_drawer .drawer_wrapper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: grid;
    grid-template-columns: 273px 957px 210px;
    align-items: center;
    justify-content: center;
}

.header .header_drawer .drawer_heading {
    padding: 30px 0 30px 50px;
    border-right: 1px solid #333;
}

.header .header_drawer .drawer_heading_ja {
    color: #A8AAAA;
    font-weight: 900;
    font-size: 15px;
    letter-spacing: 0.1em;
}

.header .header_drawer .drawer_heading_en {
    font-size: 40px;
    line-height: 1;
}

.header .header_drawer .drawer_body {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 30px;
    align-items: flex-start;
    padding-left: 30px;
}

.header .header_drawer .drawer_item {
    border-bottom: 1px solid #D9D9D9;
}

.header .header_drawer .drawer_item:first-child {
    border-top: 1px solid #D9D9D9;
}

.header .header_drawer .drawer_item a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-transition: color 0.3s ease 0s;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    width: 280px;
    padding: 15px 0;
    color: #333;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.1em;
    transition: color 0.3s ease 0s;
}

.header .header_drawer .drawer_item a:hover {
    color: #1811C7;
}

.header .header_drawer .drawer_item a::after {
    -webkit-transform: rotate(45deg);
    aspect-ratio: 1/1;
    width: 12px;
    margin-left: auto;
    transform: rotate(45deg);
    border: 1px solid #333;
    border-bottom: none;
    border-left: none;
    content: "";
}

.header .header_drawer .drawer_img {
    aspect-ratio: 210/180;
    width: 210px;
    margin-left: auto;
}

.header .header_contact {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    aspect-ratio: 160/40;
    width: 160px;
    margin-left: 40px;
    overflow: hidden;
    border-radius: 20px;
    color: #FFF;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.06em;
}

.header .header_contact::after {
    -webkit-transition: -webkit-transform 0.3s ease 0s;
    z-index: -10;
    position: absolute;
    left: 0;
    width: 200%;
    height: 100%;
    background: -webkit-gradient(linear, right top, left top, from(#e5cc12), color-stop(50%, #f78500), color-stop(51%, #f78500), to(#e5cc12));
    background: linear-gradient(-90deg, #e5cc12 0%, #f78500 50%, #f78500 51%, #e5cc12 100%);
    content: "";
    transition: -webkit-transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.header .header_contact:hover::after {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

/* top_fv (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_fv {
    position: relative;
    margin-top: 100px;
    padding: 190px 0 230px;
    /* background-image: url(/wp-content/themes/child/image/top_fv_img.webp);
    background-position: center center;
    background-size: cover; */
}

.top_fv::before {
    position: absolute;
    content: "";
    top: -80px;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, #133ab6 0%, #22c2c4 100%);
}

.top_fv::after {
    position: absolute;
    content: "";
    top: -100px;
    right: 0;
    width: 6px;
    height: calc(100% + 100px);
    z-index: 10;
    background: linear-gradient(0deg, #133ab6 0%, #22c2c4 100%);
}

.top_fv .fv_video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    overflow: hidden;
}

.top_fv .fv_video video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
}

.top_fv .wrap {
    width: 1340px;
}

.top_fv .fv_message {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.top_fv .fv_lead {
    color: #FFF;
    font-weight: 700;
    font-size: 72px;
    line-height: 1.3;
    letter-spacing: 0.28em;
}

.top_fv .fv_lead span {
    letter-spacing: 0.15em;
}

.top_fv .fv_text {
    position: absolute;
    top: 25px;
    right: 35px;
    color: #FFF;
    font-size: 30px;
    letter-spacing: 0.15em;
}

.top_fv .fv_scroll {
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    position: absolute;
    bottom: 30px;
    left: 30px;
    color: #FFF;
    font-size: 16px;
    writing-mode: vertical-lr;
}

.top_fv .fv_scroll::before,
.top_fv .fv_scroll::after {
    position: absolute;
    content: "";
}

.top_fv .fv_scroll::before {
    -webkit-transform: translateX(-50%) rotate(45deg);
    top: -36px;
    left: 50%;
    aspect-ratio: 1/1;
    width: 8px;
    transform: translateX(-50%) rotate(45deg);
    border: 2px solid #FFF;
    border-top: none;
    border-left: none;
}

.top_fv .fv_scroll::after {
    -webkit-animation: amination_opacity 1s linear infinite;
    top: -20px;
    left: 6px;
    width: 2px;
    height: 5px;
    background-color: #FFF;
    animation: amination_opacity 1s linear infinite;
}

/* top_news (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_news {
    -webkit-transform: translateY(-100%);
    position: relative;
    width: 530px;
    margin-left: auto;
    padding: 20px 20px 10px 30px;
    transform: translateY(-100%);
    background: -webkit-gradient(linear, right top, left top, from(#133ab6), to(#22c2c4));
    background: linear-gradient(-90deg, #133ab6 0%, #22c2c4 100%);
}

.top_news .news_outer {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
}

.top_news .news_heading {
    margin-top: -7px;
    color: #FFF;
    font-size: 32px;
    line-height: 1;
}

.top_news .news_btn {
    -webkit-transition: opacity 0.3s ease 0s;
    aspect-ratio: 160/40;
    width: 160px;
    margin-left: auto;
    padding-left: 20px;
    border: 2px solid #FFF;
    background-color: transparent;
    color: #FFF;
    font-size: 14px;
    transition: opacity 0.3s ease 0s;
}

.top_news .news_btn:hover {
    background-color: transparent;
    color: #FFF;
    opacity: 0.7;
}

.top_news .news_btn:hover::after {
    background-image: url(/wp-content/themes/child/image/common_arrow_yellow.svg);
}

.top_news .news_btn::after {
    right: 20px;
    content: "";
}

.top_news .news_swiper {
    margin-top: 20px;
    padding-bottom: 5px;
    border-bottom: 1px solid #667DA5;
}

.top_news .swiper-slide {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    -webkit-transition: opacity 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 40px;
    align-items: center;
    color: #FFF;
    transition: opacity 0.3s ease 0s;
}

.top_news .swiper-slide:hover {
    opacity: 0.7;
}

.top_news .news_time {
    margin-top: 3px;
    font-weight: 800;
    font-size: 16px;
}

.top_news .news_title {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    position: relative;
    width: 100%;
    -webkit-line-clamp: 1;
    padding-right: 100px;
    overflow: hidden;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.06em;
}

.top_news .news_title::after {
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: 8px;
    right: 70px;
    aspect-ratio: 1/1;
    width: 10px;
    transform: rotate(45deg);
    border: 2px solid #FFF;
    border-bottom: none;
    border-left: none;
    content: "";
}

.top_news .swiper-pagination-numbers {
    margin-top: 5px;
    padding-right: 10px;
    color: #FFF;
    font-size: 13px;
    text-align: right;
}

/* top_strength (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_strength .strength_slider {
    -webkit-column-gap: 150px;
    -moz-column-gap: 150px;
    -webkit-animation: amination_scroll 40s linear infinite;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 10;
    position: relative;
    column-gap: 150px;
    animation: amination_scroll 40s linear infinite;
}

.top_strength .strength_head {
    font-size: 90px;
    line-height: 1;
    white-space: nowrap;
}

.top_strength .strength_head:nth-child(2n) {
    -webkit-text-stroke-color: #1811C7;
    -webkit-text-stroke-width: 2px;
    color: transparent;
}

.top_strength .strength_items {
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    display: grid;
    z-index: 0;
    position: relative;
    grid-template-columns: 360px 360px 360px;
    column-gap: 30px;
    margin-top: 50px;
}

.top_strength .strength_items::after {
    -webkit-transform: translate(-50%, -50%);
    z-index: -10;
    position: absolute;
    top: 50%;
    left: 45%;
    aspect-ratio: 1614/1250;
    width: 1900px;
    transform: translate(-50%, -50%);
    background-image: url(/wp-content/themes/child/image/top_strength_bg.webp);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    opacity: 0.7;
}

.top_strength .strength_items::before {
    position: absolute;
    content: "";
    width: 115vw;
    height: 150%;
    left: 50%;
    top: 60%;
    transform: translate(-50%, -50%);
    background: linear-gradient(#d6dbff 0%, #edf9ff 100%);
    filter: blur(50px);
    z-index: -10;
}

.top_strength .strength_item {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.top_strength .strength_item:nth-child(1) .strength_img {
    aspect-ratio: 251/245;
    width: 251px;
    margin-left: 55px;
}

.top_strength .strength_item:nth-child(1) .strength_img::after {
    top: 15px;
    left: -105px;
}

.top_strength .strength_item:nth-child(1) .strength_number {
    margin-top: 20px;
}

.top_strength .strength_item:nth-child(2) {
    margin-top: 125px;
}

.top_strength .strength_item:nth-child(2) .strength_img {
    aspect-ratio: 360/240;
    width: 360px;
}

.top_strength .strength_item:nth-child(2) .strength_img::after {
    top: -27px;
    left: 23px;
}

.top_strength .strength_item:nth-child(3) {
    -webkit-transform: translateY(92px);
    transform: translateY(92px);
}

.top_strength .strength_item:nth-child(3) .strength_img {
    aspect-ratio: 190/336;
    width: 190px;
    margin-left: 85px;
}

.top_strength .strength_item:nth-child(3) .strength_img::after {
    top: 90px;
    left: 30px;
}

.top_strength .strength_item:nth-child(3) .strength_number {
    margin-top: 7px;
}

.top_strength .strength_item:nth-child(4) {
    margin-top: 20px;
}

.top_strength .strength_item:nth-child(4) .strength_img {
    aspect-ratio: 347/171;
    width: 347px;
}

.top_strength .strength_item:nth-child(4) .strength_img::after {
    top: -50px;
    left: -50px;
}

.top_strength .strength_item:nth-child(4) .strength_number {
    margin-top: -20px;
}

.top_strength .strength_item:nth-child(5) {
    margin-top: 40px;
}

.top_strength .strength_item:nth-child(5) .strength_img {
    aspect-ratio: 300/322;
    width: 300px;
    margin-left: 40px;
}

.top_strength .strength_item:nth-child(5) .strength_img::after {
    top: 20px;
    left: 1px;
}

.top_strength .strength_item:nth-child(5) .strength_number {
    margin-top: -75px;
}

.top_strength .strength_item:nth-child(6) {
    margin-top: 190px;
}

.top_strength .strength_item:nth-child(6) .strength_img {
    aspect-ratio: 348/193;
    width: 348px;
    margin-left: 10px;
}

.top_strength .strength_item:nth-child(6) .strength_img::after {
    top: -45px;
    left: 85px;
}

.top_strength .strength_item:nth-child(6) .strength_number {
    margin-top: -5px;
}

.top_strength .strength_img {
    z-index: 0;
    position: relative;
}

.top_strength .strength_img::after {
    z-index: -10;
    position: absolute;
    aspect-ratio: 1/1;
    width: 300px;
    border-radius: 50%;
    background: -webkit-gradient(linear, left top, left bottom, from(#133ab6), to(#22c2c4));
    background: linear-gradient(180deg, #133ab6 0%, #22c2c4 100%);
    content: "";
}

.top_strength .strength_number {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 0;
    position: relative;
    column-gap: 5px;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 8px;
    font-weight: 900;
    font-size: 14px;
    letter-spacing: 0.1em;
}

.top_strength .strength_number span.number_text {
    opacity: 0;
}

.top_strength .strength_number span.color {
    margin-top: 5px;
    margin-left: 5px;
    color: #24AFB1;
    font-weight: 700;
    font-size: 24px;
}

.top_strength .number_bg,
.top_strength .lead_bg {
    -webkit-clip-path: inset(0 100% 0 0);
    z-index: -10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    clip-path: inset(0 100% 0 0);
}

.top_strength .strength_lead {
    position: relative;
}

.top_strength .strength_lead>span {
    z-index: 0;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 10px;
    font-weight: 900;
    font-size: 24px;
    letter-spacing: 0.1em;
}

.top_strength .strength_lead span.lead_text {
    opacity: 0;
}

.top_strength .strength_text {
    margin-top: 15px;
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.06em;
}

.top_strength .strength_text span {
    padding-left: 1em;
    text-indent: -1em;
}

.top_strength .strength_btn {
    margin: 10px auto 0;
}

/* top_product (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_product {
    position: relative;
    padding-top: 250px;
}

.top_product .product_head {
    -webkit-box-align: end;
    -ms-flex-align: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
}

.top_product .product_heading_ja {
    color: #A8AAAA;
    font-weight: 700;
    font-size: 20px;
    letter-spacing: 0.06em;
}

.top_product .product_heading_en {
    font-weight: 400;
    font-size: 140px;
    line-height: 1;
    letter-spacing: -0.05em;
}

.top_product .strength_btn {
    margin: 0 0 25px auto;
}

.top_product .product_message {
    margin-top: 30px;
    color: #646464;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0.11em;
    border-bottom: 2px solid #CECDCD;
    padding-bottom: 40px;
}

.top_product .product_outer {
    display: contents;
}

.top_product .product_wrap {
    position: relative;
    margin-top: 40px;
    display: flex;
    width: fit-content;
    column-gap: 20px;
}

.top_product .product_bar {
    position: absolute;
    bottom: -35px;
    left: 0;
    width: 100%;
    height: 6px;
    border-radius: 5px;
    background-color: #282664;
}

.top_product .product_navi {
    position: absolute;
    left: 0;
    top: -7px;
    width: 20px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    display: block;
    background-color: #F0FA00;
    border: 2px solid #282664;
}


.top_product .product_contents {
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    display: grid;
    position: relative;
    grid-template-columns: 530px 1fr;
    column-gap: 50px;
    padding: 20px 50px 20px 20px;
    background-color: #FFF;
    width: 1140px;
    flex-shrink: 0;
}

.top_product .product_number {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    width: 80px;
    background-color: #F0FA00;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.2;
    text-align: center;
}

.top_product .product_img {
    aspect-ratio: 530/460;
}

.top_product .product_body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    padding-top: 20px;
}

.top_product .product_lead_en {
    color: #2E2A93;
    font-size: 18px;
}

.top_product .product_lead_ja {
    font-weight: 900;
    font-size: 34px;
    letter-spacing: 0.1em;
}

.top_product .product_text {
    margin-top: 30px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0.11em;
}

.top_product .product_text span {
    padding-left: 1.1em;
    text-indent: -1.1em;
}

.top_product .product_link {
    position: relative;
    margin-top: auto;
    margin-left: auto;
}

.top_product .product_link::after {
    -webkit-transform: translate(-50%, -50%);
    -webkit-transition: background 0.3s ease 0s;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    background-image: url(/wp-content/themes/child/image/top_product_arrow2.svg);
    background-position: center center;
    background-repeat: no-repeat;
    content: "";
    transition: background 0.3s ease 0s;
}

.top_product .product_link:hover::after {
    -webkit-animation: animation_arrow 1s linear;
    background-image: url(/wp-content/themes/child/image/top_product_arrow2_hover.svg);
    animation: animation_arrow 1s linear;
}

/* top_equipment (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_equipment {
    z-index: 0;
    position: relative;
    padding-top: 350px;
    padding-bottom: 170px;
}

.top_equipment::before,
.top_equipment::after {
    height: 1220px;
    width: 200%;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    border-radius: 50%;
}

.top_equipment::after {
    -webkit-backdrop-filter: blur(10px);
    --webkit-backdrop-filter: blur(10px);
    z-index: -10;
    backdrop-filter: blur(10px);
    background: transparent;
    background-color: rgba(255, 255, 255, 0.3);
}

.top_equipment::before {
    z-index: -20;
    background: -webkit-gradient(linear, left top, left bottom, from(#1125B4), to(#22c2c4));
    background: linear-gradient(#1125B4 0%, #22c2c4 100%);
    opacity: 0.5;
}

.top_equipment .equipment_outer {
    z-index: -30;
    height: 1220px;
    width: 200%;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    border-radius: 50%;
    overflow: hidden;
}

.top_equipment .equipment_video {
    height: 100%;
    width: 50%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.top_equipment .equipment_video video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
}

.top_equipment .equipment_wrapper {
    -webkit-box-align: end;
    -ms-flex-align: end;
    -webkit-column-gap: 98px;
    -moz-column-gap: 98px;
    display: grid;
    grid-template-columns: 570px 1fr;
    column-gap: 98px;
    align-items: flex-end;
    position: relative;
}

.top_equipment .equipment_wrapper::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 2px;
    background-color: #708CC3;
    left: 0;
    top: -270px;
}

.top_equipment .equipment_wrapper::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/child/image/top_equipment_deco.svg);
    background-size: cover;
    width: 800px;
    aspect-ratio: 1/1;
    right: -100px;
    top: -450px;
    z-index: -5;
}

.top_equipment .equipment_body {
    padding: 70px 60px;
    background-color: #839CAC;
    color: #FFF;
}

.top_equipment .equipment_heading_ja {
    font-weight: 900;
    font-size: 18px;
    letter-spacing: 0.06em;
}

.top_equipment .equipment_heading_en {
    font-size: 64px;
    line-height: 1;
    letter-spacing: -0.04em;
}

.top_equipment .equipment_text {
    margin-top: 50px;
    font-weight: 500;
    font-size: 16px;
}

.top_equipment .equipment_btn {
    aspect-ratio: 260/60;
    width: 260px;
    margin-top: 60px;
    border: 1px solid #FFF;
}

.top_equipment .equipment_img {
    z-index: 0;
    position: relative;
    aspect-ratio: 472/426;
    width: 472px;
}

.top_equipment .equipment_img::after {
    -webkit-animation: animation_rotate 120s linear infinite;
    z-index: -10;
    position: absolute;
    top: -180px;
    left: -150px;
    aspect-ratio: 1/1;
    width: 542px;
    background-image: url(/wp-content/themes/child/image/top_equipment_text.svg);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    animation: animation_rotate 120s linear infinite;
}

/* top_sustainability (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_sustainability {
    padding-top: 140px;
}

.top_sustainability .sustainability_wrapper {
    -webkit-column-gap: 70px;
    -moz-column-gap: 70px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: 510px 1fr;
    column-gap: 70px;
    align-items: center;
    justify-content: center;
}

.top_sustainability .sustainability_img {
    aspect-ratio: 510/633;
}

.top_sustainability .sustainability_heading_ja {
    color: #A8AAAA;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.06em;
}

.top_sustainability .sustainability_heading_en {
    font-size: 48px;
    line-height: 1;
}

.top_sustainability .sustainability_lead {
    margin-top: 50px;
    font-weight: 700;
    font-size: 38px;
    line-height: 1;
    letter-spacing: 0.08em;
    white-space: nowrap;
}

.top_sustainability .sustainability_lead span {
    -webkit-clip-path: inset(0 100% 0 0);
    display: inline-block;
    margin-right: 5px;
    padding: 10px 3px 10px 5px;
    background-color: #F0FA00;
    clip-path: inset(0 100% 0 0);
}

.top_sustainability .sustainability_text {
    margin-top: 30px;
    padding-right: 50px;
    font-weight: 500;
    font-size: 16px;
    line-height: 2.5;
    letter-spacing: 0.08em;
}

.top_sustainability .sustainability_outer {
    -webkit-box-align: end;
    -ms-flex-align: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
    margin-top: 10px;
}

.top_sustainability .sustainability_figure {
    aspect-ratio: 210/141;
    width: 210px;
    margin-left: auto;
}

/* top_recruit (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_recruit {
    margin-top: 150px;
    margin-bottom: 180px;
}

.top_recruit .wrap {
    width: 1340px;
}

.top_recruit .recruit_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 550px;
    overflow: hidden;
    background: -webkit-gradient(linear, left top, right top, from(#2d3b76), to(#70dcdd));
    background: linear-gradient(90deg, #2d3b76 0%, #70dcdd 100%);
}

.top_recruit .recruit_scroll {
    /* -webkit-animation: amination_scroll_recruit 60s linear infinite; */
    width: 80px;
    padding-left: 15px;
    /* animation: amination_scroll_recruit 60s linear infinite; */
}

.top_recruit .recruit_text {
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    margin-top: 30px;
    color: #F0FA00;
    font-size: 32px;
    writing-mode: vertical-lr;
}

.top_recruit .recruit_swiper1 {
    padding-left: 30px;
    border-left: 1px solid #FFF;
}

.top_recruit .recruit_swiper1,
.top_recruit .recruit_swiper2 {
    width: 280px;
    margin: 0;
}

.top_recruit .recruit_swiper2 {
    margin-left: 20px;
}

.top_recruit .swiper-wrapper {
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
}

.top_recruit .swiper-slide {
    width: 280px;
    height: 230px;
}

.top_recruit .recruit_body {
    padding: 60px 0;
    padding-left: 85px;
    color: #FFF;
}

.top_recruit .recruit_heading_ja {
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.06em;
}

.top_recruit .recruit_heading_en {
    font-size: 48px;
    line-height: 1;
}

.top_recruit .recruit_lead {
    margin-top: 70px;
    font-size: 40px;
    line-height: 1.5;
    letter-spacing: 0.15em;
}

.top_recruit .equipment_btn {
    margin-top: 80px;
}

/* footer (pc) -------------------------------------------------------------------------------------------------------------------- */

.footer {
    z-index: 30;
    position: relative;
    overflow: hidden;
    background-color: #F0F1F2;
}

.footer.active {
    z-index: 10;
}

.footer .footer_img {
    -webkit-transform: translateX(-50%);
    position: absolute;
    left: 50%;
    aspect-ratio: 1910/480;
    width: 132.6388888889vw;
    transform: translateX(-50%);
}

.footer .footer_bg {
    position: relative;
    margin-top: 16.6666666667vw;
    padding-top: 9.7222222222vw;
    padding-bottom: 50px;
    background-image: url(/wp-content/themes/child/image/common_footer_bg.webp);
    background-size: cover;
}

.footer .footer_contact {
    position: relative;
    color: #FFF;
}

.footer .contact_wrapper {
    -webkit-box-align: end;
    -ms-flex-align: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
}

.footer .contact_head {
    padding-bottom: 20px;
}

.footer .contact_heading {
    font-size: 100px;
    line-height: 1;
}

.footer .contact_text {
    margin-top: 20px;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.06em;
}

.footer .contact_info {
    margin-left: auto;
}

.footer .contact_tel {
    color: #FFF;
    font-weight: 600;
    font-size: 65px;
    line-height: 1;
}

.footer .contact_tel_sp {
    display: none;
}

.footer .contact_time {
    margin-top: 10px;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.06em;
}

.footer .contact_btn {
    aspect-ratio: 380/80;
    width: 380px;
    margin-top: 30px;
    padding-left: 20px;
    border: 2px solid #FFF;
    background-color: transparent;
    font-weight: 900;
}

.footer .contact_btn::after {
    background-image: url(/wp-content/themes/child/image/common_arrow_white.svg);
}

.footer .footer_contact+.wrap {
    width: 1340px;
}

.footer .footer_container {
    -webkit-box-align: start;
    -ms-flex-align: start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
    margin-top: 85px;
    padding: 60px 100px;
    background-color: #FFF;
}

.footer .footer_logo {
    -webkit-transition: opacity 0.3s ease 0s;
    aspect-ratio: 255/60;
    width: 255px;
    transition: opacity 0.3s ease 0s;
}

.footer .footer_logo:hover {
    opacity: 0.7;
}

.footer .footer_address {
    margin-top: 20px;
    font-weight: 500;
    font-size: 16px;
}

.footer .footer_tel {
    margin-top: 10px;
    color: #484848;
    font-weight: 700;
    font-size: 46px;
    line-height: 1;
}

.footer .footer_time {
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.06em;
}

.footer .footer_outer {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    width: 245px;
    margin-top: 30px;
    border-top: 1px solid #D5D5D5;
    border-bottom: 1px solid #D5D5D5;
}

.footer .footer_sns {
    color: #484848;
    font-weight: 700;
    font-size: 30px;
}

.footer .footer_icon {
    -webkit-transition: opacity 0.3s ease 0s;
    display: block;
    aspect-ratio: 1/1;
    width: 21px;
    margin-top: -3px;
    margin-left: 50px;
    transition: opacity 0.3s ease 0s;
}

.footer .footer_icon:hover {
    opacity: 0.7;
}

.footer .footer_icon+.footer_icon {
    aspect-ratio: 93/35;
    width: 93px;
    margin-top: 0;
    margin-left: 20px;
}

.footer .footer_wrap {
    margin-left: auto;
}

.footer .footer_items {
    -webkit-column-gap: 90px;
    -moz-column-gap: 90px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 90px;
}

.footer .footer_link a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-transition: color 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    color: #333;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.06em;
    transition: color 0.3s ease 0s;
}

.footer .footer_link a::after {
    -webkit-transition: background 0.3s ease 0s;
    aspect-ratio: 1/1;
    width: 22px;
    margin-left: 20px;
    background-image: url(/wp-content/themes/child/image/common_footer_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    transition: background 0.3s ease 0s;
}

.footer .footer_link a:hover {
    color: #27255C;
}

.footer .footer_link a:hover::after {
    background-image: url(/wp-content/themes/child/image/common_footer_arrow_hover.svg);
}

.footer .footer_link.footer_link {
    margin-top: 17px;
}

.footer .footer_part a {
    -webkit-transition: color 0.3s ease 0s;
    color: #484848;
    font-weight: 500;
    font-size: 15px;
    transition: color 0.3s ease 0s;
}

.footer .footer_part a:hover {
    color: #27255C;
}

.footer .footer_part.footer_part {
    margin-top: 7px;
}

.footer .footer_sites {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 35px;
    margin-left: auto;
}

.footer .footer_site {
    -webkit-transition: opacity 0.3s ease 0s;
    transition: opacity 0.3s ease 0s;
}

.footer .footer_site:nth-child(1) {
    aspect-ratio: 1/1;
    width: 65px;
}

.footer .footer_site:nth-child(2) {
    aspect-ratio: 92/54;
    width: 92px;
    margin-left: 30px;
}

.footer .footer_site:nth-child(3) {
    aspect-ratio: 139/34;
    width: 139px;
    margin-left: 20px;
}

.footer .footer_site:hover {
    opacity: 0.7;
}

.footer .footer_others {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 15px;
    align-items: center;
    justify-content: flex-end;
    margin-top: 30px;
}

.footer .footer_other {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 18px;
    -moz-column-gap: 18px;
    -webkit-transition: color 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 18px;
    align-items: center;
    color: #484848;
    font-weight: 500;
    font-size: 12px;
    transition: opacity 0.3s ease 0s;
}

.footer .footer_other:hover {
    opacity: 0.7;
}

.footer .footer_other::after {
    width: 1px;
    height: 16px;
    background-color: #484848;
    content: "";
}

.footer .footer_copy {
    font-size: 12px;
}

.footer .footer_copy small {
    font-size: 100%;
}

/* page_strength (pc) ------------------------------------------------------------------------------------------------------ */

#page_strength {
    position: static;
    overflow: initial;
    margin-top: 0;
}

#page_strength .strength .wrap {
    width: 1440px;
}

#page_strength .strength .strength_lists {
    -webkit-transform: translate(-670px, -50%);
    z-index: 5;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-670px, -50%);
}

#page_strength .strength .strength_list {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    -webkit-transition: opacity 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    column-gap: 20px;
    align-items: center;
    height: 70px;
    padding-top: 10px;
    transition: opacity 0.3s ease 0s;
    opacity: 0.5;
}

#page_strength .strength .strength_list.is_active {
    opacity: 1;
}

#page_strength .strength .strength_list::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 2px;
    background-color: #24AFB1;
    content: "";
}

#page_strength .strength .strength_list:hover {
    opacity: 1;
}

#page_strength .strength .strength_num {
    color: #333;
    font-size: 14px;
}

#page_strength .strength .strength_message {
    color: #333;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.43;
    letter-spacing: 0.04em;
}

#page_strength .strength .strength_number {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    width: 220px;
    -webkit-text-stroke-color: #FFF;
    -webkit-text-stroke-width: 1px;
    color: transparent;
    font-size: 56px;
    letter-spacing: -0.05em;
}

#page_strength .strength .strength_number::before,
#page_strength .strength .strength_number::after {
    -webkit-transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    content: "";
}

#page_strength .strength .strength_number::before {
    z-index: -10;
    border-radius: 50%;
    background: -webkit-gradient(linear, left top, left bottom, from(#1225b4), to(#22c2c4));
    background: linear-gradient(#1225b4 0%, #22c2c4 100%);
}

#page_strength .strength .strength_number::after {
    background-image: url(/wp-content/themes/child/image/strength_text.webp);
    background-position: center center;
    background-size: cover;
}

#page_strength .strength .strength_img {
    z-index: -5;
    position: relative;
}

#page_strength .strength .strength_heading {
    position: relative;
}

#page_strength .strength .strength_heading span.text {
    padding: 15px 13px 17px 15px;
    color: #27255C;
    font-weight: 900;
    font-size: 40px;
    line-height: 1;
    letter-spacing: 0.1em;
    opacity: 0;
}

#page_strength .strength .strength_heading>span {
    z-index: 0;
    position: relative;
}

#page_strength .strength .strength_heading span.bg {
    -webkit-clip-path: inset(0 100% 0 0);
    z-index: -10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    clip-path: inset(0 100% 0 0);
}

#page_strength .strength .strength_heading>span+span {
    margin-top: 10px;
}

#page_strength .strength .strength_lead {
    margin-top: 50px;
    font-weight: 700;
    font-size: 20px;
    letter-spacing: 0.1em;
}

#page_strength .strength .strength_text {
    margin-top: 15px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0.1em;
}

#page_strength .strength .strength_btn {
    margin-top: 70px;
}

#page_strength .strength .strength_photo {
    aspect-ratio: 318/213;
    width: 318px;
    margin-top: 30px;
}

#page_strength .strength .strength_item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    position: relative;
    align-items: center;
    padding-left: 390px;
}

#page_strength .strength .strength_item::after {
    -webkit-transform: translate(-50%, -50%);
    -webkit-filter: blur(50px);
    z-index: -20;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 98vw;
    height: 100%;
    transform: translate(-50%, -50%);
    content: "";
    filter: blur(50px);
}

#page_strength .strength .strength_item:nth-child(1) {
    grid-template-columns: 1fr 542px;
    margin-top: 50px;
}

#page_strength .strength .strength_item:nth-child(1) .strength_number {
    top: -50px;
    right: 375px;
}

#page_strength .strength .strength_item:nth-child(1) .strength_img {
    aspect-ratio: 542/555;
}

#page_strength .strength .strength_item:nth-child(2) {
    grid-template-columns: 1fr 488px;
    margin-top: 34px;
    padding: 140px 50px 64px 390px;
}

#page_strength .strength .strength_item:nth-child(2)::after {
    background: -webkit-gradient(linear, left top, left bottom, from(#d6dbff), to(#edf9ff));
    background: linear-gradient(#d6dbff 0%, #edf9ff 100%);
}

#page_strength .strength .strength_item:nth-child(2) .strength_number {
    top: 0;
    left: 280px;
}

#page_strength .strength .strength_item:nth-child(2) .strength_img {
    aspect-ratio: 488/524;
}

#page_strength .strength .strength_item:nth-child(3) {
    grid-template-columns: 1fr 547px;
    margin-top: 69px;
}

#page_strength .strength .strength_item:nth-child(3) .strength_number {
    top: -50px;
    right: 375px;
}

#page_strength .strength .strength_item:nth-child(3) .strength_img {
    aspect-ratio: 1/1;
}

#page_strength .strength .strength_item:nth-child(4) {
    grid-template-columns: 1fr 551px;
    margin-top: 17px;
    padding: 115px 50px 104px 390px;
}

#page_strength .strength .strength_item:nth-child(4)::after {
    background: -webkit-gradient(linear, left top, left bottom, from(#5c6deb), to(#b0e6e6));
    background: linear-gradient(#5c6deb 0%, #b0e6e6 100%);
    content: "";
    opacity: 0.5;
}

#page_strength .strength .strength_item:nth-child(4) .strength_number {
    top: 10px;
    left: 280px;
}

#page_strength .strength .strength_item:nth-child(4) .strength_img {
    position: relative;
    aspect-ratio: 551/331;
}

#page_strength .strength .strength_item:nth-child(4) .strength_img::after {
    -webkit-filter: blur(50px);
    z-index: -5;
    position: absolute;
    top: -90px;
    left: -52px;
    aspect-ratio: 1/1;
    width: 380px;
    border-radius: 50%;
    background-color: #c6c8fd;
    content: "";
    filter: blur(50px);
}

#page_strength .strength .strength_item:nth-child(5) {
    grid-template-columns: 1fr 570px;
    margin-top: 112px;
}

#page_strength .strength .strength_item:nth-child(5) .strength_number {
    top: -50px;
    right: 375px;
}

#page_strength .strength .strength_item:nth-child(5) .strength_img {
    aspect-ratio: 570/589;
}

#page_strength .strength .strength_item:nth-child(6) {
    grid-template-columns: 1fr 410px;
    padding: 185px 50px 215px 390px;
}

#page_strength .strength .strength_item:nth-child(6)::after {
    background: -webkit-gradient(linear, left top, left bottom, from(#d6dbff), to(#edf9ff));
    background: linear-gradient(#d6dbff 0%, #edf9ff 100%);
}

#page_strength .strength .strength_item:nth-child(6) .strength_number {
    top: 80px;
    left: 280px;
}

#page_strength .strength .strength_item:nth-child(6) .strength_img {
    position: relative;
    aspect-ratio: 441/307;
}

#page_strength .strength .strength_item:nth-child(6) .strength_img::after {
    -webkit-filter: blur(50px);
    z-index: -5;
    position: absolute;
    top: -33px;
    left: -80px;
    aspect-ratio: 1/1;
    width: 380px;
    border-radius: 50%;
    background-color: #BAD9FF;
    content: "";
    filter: blur(50px);
}

/* page_precision (pc) ------------------------------------------------------------------------------------------------------ */

#page_precision .precision {
    padding-bottom: 150px;
}

#page_precision .precision .precision_text {
    font-weight: 700;
    font-size: 36px;
    text-align: center;
}

#page_precision .precision .precision_point {
    font-size: 30px;
    background: linear-gradient(#133ab6 0%, #22c2c4 100%);
    padding: 15px 13px 17px 15px;
    width: fit-content;
    margin: 80px auto 0;
    color: #FFF;
    font-weight: 700;
    line-height: 1;
    position: relative;
}

#page_precision .precision .precision_point::after {
    content: "";
    position: absolute;
    bottom: -18px;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    aspect-ratio: 30/20;
    background-color: #22c2c4;
    clip-path: polygon(100% 0, 0 0, 50% 70%);
}

#page_precision .precision .precision_items {
    margin-top: 50px;
}

#page_precision .precision .precision_item:nth-child(2) {
    position: relative;
    padding: 60px 0;
}

#page_precision .precision .precision_item:nth-child(2)::after {
    -webkit-transform: translate(-50%, -50%);
    -webkit-filter: blur(50px);
    z-index: -10;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100%;
    transform: translate(-50%, -50%);
    background: -webkit-gradient(linear, left top, left bottom, from(#d6dbff), to(#edf9ff));
    background: linear-gradient(#d6dbff 0%, #edf9ff 100%);
    content: "";
    filter: blur(50px);
}

#page_precision .precision .precision_item:nth-child(2) .precision_img {
    aspect-ratio: 2/1;
}

#page_precision .precision .precision_item:nth-child(3) .precision_contents {
    -webkit-column-gap: 3%;
    -moz-column-gap: 3%;
    grid-template-columns: 32% 32% 32%;
    column-gap: 2%;
}

#page_precision .precision .precision_item:not(:first-child) {
    margin-top: 60px;
}

#page_precision .precision .precision_heading {
    position: relative;
}

#page_precision .precision .precision_heading span.number {
    text-align: center;
    background-color: #F0FA00;
    font-size: 20px;
    display: block;
    width: fit-content;
    padding: 2px 10px 0;
    letter-spacing: 0.05em;
}

#page_precision .precision .precision_heading span.number+span {
    margin-top: 0;
}

#page_precision .precision .precision_heading span.text {
    padding: 15px 13px 17px 15px;
    color: #27255C;
    font-weight: 900;
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0.1em;
    opacity: 0;
}

#page_precision .precision .precision_heading>span {
    z-index: 0;
    position: relative;
}

#page_precision .precision .precision_heading span.bg {
    -webkit-clip-path: inset(0 100% 0 0);
    z-index: -10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    clip-path: inset(0 100% 0 0);
}

#page_precision .precision .precision_heading>span+span {
    margin-top: 10px;
}

#page_precision .precision .precision_contents {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-column-gap: 4%;
    -moz-column-gap: 4%;
    display: grid;
    grid-template-columns: 48% 48%;
    column-gap: 4%;
    justify-content: center;
    margin-top: 30px;
}

#page_precision .precision .precision_title {
    margin-bottom: 5px;
    font-weight: 700;
    font-size: 18px;
}

#page_precision .precision .precision_picture {
    aspect-ratio: 10/3;
    margin-top: 20px;
}

#page_precision .precision .precision_picture img {
    object-position: 50% 20%;
}

#page_precision .precision .precision_img {
    position: relative;
}

#page_precision .precision .precision_img::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #F0F1F2;
    content: "";
    mix-blend-mode: multiply;
}

#page_precision .precision .precision_explain {
    margin-top: 15px;
    font-weight: 500;
    font-size: 16px;
    text-align: justify;
}

#page_precision .precision .precision_works {
    margin: 30px auto 0;
    border: 1px solid #27255C;
}

#page_precision .precision .precision_lead {
    font-weight: 700;
    font-size: 18px;
    background-color: #27255C;
    color: #FFF;
    padding: 5px 15px 7px;
}

#page_precision .precision .precision_lists {
    font-size: 16px;
    font-weight: 500;
    padding: 10px 15px;
    background-color: #FFF;
}

#page_precision .precision .precision_meas {
    position: relative;
}

#page_precision .precision .precision_meas::after {
    -webkit-filter: blur(50px);
    z-index: -10;
    position: absolute;
    top: -100px;
    left: -100px;
    aspect-ratio: 1/1;
    width: 400px;
    border-radius: 50%;
    background-color: #C6C8FD;
    content: "";
    filter: blur(50px);
}

#page_precision .precision .precision_message {
    font-size: 16px;
}

#page_precision .precision .precision_wrap {
    display: grid;
    grid-template-columns: 400px 1fr;
    column-gap: 50px;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
}

#page_precision .precision .precision_wrap+.precision_contents {
    margin-top: 50px;
}


/* page_business (pc) ------------------------------------------------------------------------------------------------------ */

#page_business .business {
    padding-bottom: 150px;
    position: relative;
    z-index: 10;
}

#page_business .business .business_message {
    font-weight: 700;
    font-size: 35px;
    text-align: center;
}

#page_business .business .business_items {
    margin-top: 100px;
}

#page_business .business .business_item:not(:first-child) {
    margin-top: 100px;
}

#page_business .business .business_item:nth-child(2n) {
    position: relative;
}

#page_business .business .business_item:nth-child(2n)::after {
    -webkit-transform: translate(-50%, -50%);
    -webkit-filter: blur(50px);
    z-index: -10;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 120%;
    transform: translate(-50%, -50%);
    background: -webkit-gradient(linear, left top, left bottom, from(#d6dbff), to(#edf9ff));
    background: linear-gradient(#d6dbff 0%, #edf9ff 100%);
    content: "";
    filter: blur(50px);
}

#page_business .business .business_heading {
    z-index: 0;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

#page_business .business .business_heading span.text {
    padding: 15px 13px 17px 15px;
    color: #27255C;
    font-weight: 900;
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0.1em;
    opacity: 0;
}

#page_business .business .business_heading span.bg {
    -webkit-clip-path: inset(0 100% 0 0);
    z-index: -10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    clip-path: inset(0 100% 0 0);
}

#page_business .business .business_wrapper {
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: 500px 1fr;
    column-gap: 50px;
    align-items: center;
    margin-top: 15px;
}

#page_business .business .business_text {
    margin-top: 20px;
    font-weight: 500;
    font-size: 16px;
}

#page_business .business .business_lead {
    margin-top: 30px;
    font-weight: 700;
    font-size: 18px;
    background-color: #27255C;
    padding: 3px 10px;
    color: #FFF;
}

#page_business .business .business_lists {
    border: 1px solid #27255C;
    padding: 10px;
    font-size: 16px;
    font-weight: 500;
    background-color: #FFF;
}

#page_business .business .business_btn {
    margin-top: 30px;
}

/* page_equipment (pc) ------------------------------------------------------------------------------------------------------ */

#page_equipment {
    padding-bottom: 150px;
}

#page_equipment .images .images_text {
    font-weight: 700;
    font-size: 36px;
    text-align: center;
}

#page_equipment .images .images_items {
    -webkit-column-gap: 2%;
    -moz-column-gap: 2%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: grid;
    grid-template-columns: 32% 32% 32%;
    column-gap: 2%;
    row-gap: 50px;
    justify-content: center;
    margin-top: 80px;
}

#page_equipment .images .image_img {
    position: relative;
    aspect-ratio: 1/1;
}

#page_equipment .images .image_img::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #F0F1F2;
    content: "";
    mix-blend-mode: multiply;
}

#page_equipment .images .image_img figcaption {
    margin-top: 5px;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    background-color: #E1E4E5;
    padding: .6em;
}

#page_equipment .items {
    padding-top: 100px;
}

#page_equipment .items .items_heading {
    font-weight: 700;
    font-size: 32px;
    text-align: center;
    color: #27255C;
}

#page_equipment .items .items_table {
    margin-top: 20px;
}

#page_equipment .items .items_table+.items_table {
    margin-top: 30px;
}

#page_equipment .items table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

#page_equipment .items table caption {
    font-weight: 700;
    font-size: 24px;
}

#page_equipment .items table th,
#page_equipment .items table td {
    height: 40px;
    border: 1px solid #1A1A1A;
    text-align: center;
    vertical-align: middle;
}

#page_equipment .items table thead th {
    border-right: 1px solid #FFF;
    background-color: #27255C;
    color: #FFF;
    font-weight: 700;
    font-size: 16px;
}

#page_equipment .items table thead th:nth-child(4) {
    width: 10%;
    border-right: 1px solid #1A1A1A;
}

#page_equipment .items table tbody td {
    font-weight: 500;
    font-size: 16px;
}

/* page_flow (pc) ------------------------------------------------------------------------------------------------------ */

#page_flow {
    padding-bottom: 150px;
}

#page_flow .flow_message {
    font-weight: 700;
    font-size: 36px;
    text-align: center;
}

#page_flow .flow_lead {
    margin-top: 20px;
    font-size: 16px;
    text-align: center;
}

#page_flow .flow_items {
    margin-top: 50px;
    position: relative;
}

#page_flow .flow_items::after {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    left: 250px;
    height: 98%;
    width: 10px;
    background-color: #27255C;
    z-index: -10;
}

#page_flow .flow_item {
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: 500px 1fr;
    column-gap: 50px;
    align-items: center;
}

#page_flow .flow_item:not(:first-child) {
    margin-top: 60px;
}

#page_flow .flow_img {
    aspect-ratio: 25/16;
}

#page_flow .flow_number {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 5px 15px;
    background-color: #27255C;
    color: #FFF;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

#page_flow .flow_heading {
    margin-top: 30px;
    font-weight: 700;
    font-size: 21px;
}

#page_flow .flow_text {
    margin-top: 10px;
    font-weight: 500;
    font-size: 16px;
}

/* page_company (pc) ------------------------------------------------------------------------------------------------------ */

#page_company {
    padding-bottom: 150px;
}

#page_company .heading_ja {
    font-weight: 700;
    font-size: 18px;
}

#page_company .heading_en {
    font-weight: 700;
    font-size: 42px;
}

#page_company .greeting .greeting_wrapper {
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: 300px 1fr;
    column-gap: 50px;
    align-items: center;
    margin-top: 30px;
}

#page_company .greeting .greeting_img {
    aspect-ratio: 2/3;
}

#page_company .greeting .greeting_text {
    font-weight: 500;
    font-size: 16px;
}

#page_company .greeting .greeting_name {
    width: 300px;
    margin-top: 50px;
    margin-left: auto;
}

#page_company .policy {
    padding-top: 100px;
}

#page_company .policy .heading_en {
    text-align: center;
}

#page_company .policy .policy_message {
    margin-top: 10px;
    font-weight: 700;
    font-size: 21px;
    text-align: center;
}

#page_company .policy .policy_items {
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: grid;
    grid-template-columns: 30% 30% 30%;
    column-gap: 30px;
    justify-content: center;
    margin-top: 50px;
}

#page_company .policy .policy_item {
    position: relative;
}

#page_company .policy .policy_item::after {
    -webkit-filter: blur(50px);
    -webkit-transform: translate(-50%, -50%);
    z-index: -5;
    position: absolute;
    top: 50%;
    left: 50%;
    aspect-ratio: 1/1;
    width: 300px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background-color: #BAD9FF;
    content: "";
    filter: blur(50px);
    opacity: 0.5;
}

#page_company .policy .policy_item:nth-child(1)::after {
    background-color: #C6C8FD;
}

#page_company .policy .policy_item:nth-child(2)::after {
    background-color: #BAD9FF;
}

#page_company .policy .policy_item:nth-child(3)::after {
    background-color: #C1DCFF;
}

#page_company .policy .policy_lead {
    font-weight: 700;
    font-size: 21px;
    text-align: center;
    background-color: #27255C;
    color: #FFF;
    padding: 3px 10px;
    width: fit-content;
    margin: 0 auto;
}

#page_company .policy .policy_text {
    margin-top: 10px;
    font-weight: 500;
    font-size: 16px;
    text-align: center;
}

#page_company .outline {
    padding-top: 100px;
}

#page_company .outline .outline_items {
    margin-top: 20px;
}

#page_company .outline .outline_item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: 200px 1fr;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(39, 37, 92, 0.5);
}

#page_company .outline .outline_item dt {
    padding-left: 10px;
    font-weight: 700;
    font-size: 16px;
}

#page_company .outline .outline_item dd {
    color: #1A1A1A;
    font-weight: 500;
    font-size: 16px;
}

#page_company .outline .outline_item dd a {
    color: #1A1A1A;
}

#page_company .history {
    padding-top: 100px;
}

#page_company .history .history_items {
    -webkit-column-gap: 2%;
    -moz-column-gap: 2%;
    display: grid;
    grid-template-columns: 49% 49%;
    column-gap: 2%;
    margin-top: 30px;
}

#page_company .history .history_item {
    display: grid;
    grid-template-columns: 150px 1fr;
    padding: 10px 0;
    border-bottom: 1px solid rgba(39, 37, 92, 0.5);
}

#page_company .history .history_item dt {
    padding-left: 10px;
    font-weight: 700;
    font-size: 16px;
}

#page_company .history .history_item dd {
    font-weight: 500;
    font-size: 16px;
}

#page_company .access {
    padding-top: 100px;
}

#page_company .access .access_map {
    aspect-ratio: 2/1;
    margin-top: 10px;
}

#page_company .access .access_map iframe {
    width: 100%;
    height: 100%;
}

#page_company .access .access_lead {
    margin-top: 10px;
    font-weight: 700;
    font-size: 18px;
}

#page_company .access .access_text {
    font-weight: 500;
    font-size: 16px;
}

#page_company .access .access_text+.access_lead {
    margin-top: 20px;
}

/* page_ciesf (pc) ------------------------------------------------------------------------------------------------------ */

#page_ciesf {
    padding-bottom: 150px;
}

#page_ciesf .ciesf_lead {
    font-weight: 700;
    font-size: 36px;
    text-align: center;
}

#page_ciesf .ciesf_wrapper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    column-gap: 50px;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
}

#page_ciesf .ciesf_wrapper::after {
    -webkit-filter: blur(50px);
    -webkit-transform: translate(-50%, -50%);
    z-index: -5;
    position: absolute;
    top: 50%;
    left: 50%;
    aspect-ratio: 1/1;
    width: 600px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background-color: #BAD9FF;
    content: "";
    filter: blur(50px);
    opacity: 0.8;
}

#page_ciesf .ciesf_text {
    font-weight: 700;
    font-size: 24px;
    color: #27255C;
}

#page_ciesf .ciesf_text+.ciesf_text {
    font-size: 18px;
    color: #333;
    margin-top: 30px;
    font-weight: 500;
}

#page_ciesf .ciesf_img {
    width: 300px;
}

#page_ciesf .ciesf_items {
    margin-top: 100px;
}

#page_ciesf .ciesf_item.item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: grid;
    grid-template-columns: 500px 500px;
    align-items: center;
    justify-content: center;
}

#page_ciesf .ciesf_item.item:nth-child(2n) .item_img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

#page_ciesf .ciesf_item.item:nth-child(3) .item_lead,
#page_ciesf .ciesf_item.item:nth-child(3) .item_text {
    text-align: center;
}

#page_ciesf .item_img {
    aspect-ratio: 1/1;
}

#page_ciesf .item_body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    justify-content: center;
    aspect-ratio: 1/1;
    background-color: #FFF;
}

#page_ciesf .item_wrapper {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
}

#page_ciesf .item_lead {
    font-weight: 700;
    font-size: 18px;
}

#page_ciesf .item_text {
    font-weight: 500;
    font-size: 16px;
}

#page_ciesf .item_text+.item_lead {
    margin-top: 20px;
}

#page_ciesf .item_message {
    font-weight: 700;
    font-size: 18px;
}

#page_ciesf .item_figure {
    aspect-ratio: 1/1;
    width: 200px;
    margin: 10px auto 0;
}

#page_ciesf .item_figure+.item_text {
    margin-top: 10px;
}

#page_ciesf .ciesf_copy {
    font-size: 42px;
    text-align: center;
    margin-top: 100px;
    font-weight: 700;
}

#page_ciesf .ciesf_wrap {
    display: grid;
    grid-template-columns: 470px 1fr;
    margin-top: 50px;
    gap: 0 50px;
    align-items: center;
}

#page_ciesf .ciesf_message {
    font-weight: 700;
    font-size: 24px;
}

/* page_recruit (pc) ------------------------------------------------------------------------------------------------------ */

#page_recruit {
    padding-bottom: 150px;
}

#page_recruit .heading_ja {
    font-weight: 700;
    font-size: 18px;
}

#page_recruit .heading_en {
    font-weight: 700;
    font-size: 42px;
}

#page_recruit .feature .feature_text {
    margin-top: 30px;
    font-weight: 500;
    font-size: 16px;
}

#page_recruit .feature .feature_text+.feature_text {
    margin-top: 20px;
}

#page_recruit .feature .feature_img {
    margin-top: 30px;
}

#page_recruit .description {
    padding-top: 100px;
}

#page_recruit .description .description_heading {
    margin-top: 30px;
    color: #FFF;
    font-weight: 700;
    font-size: 24px;
    background-color: #27255C;
    width: fit-content;
    padding: 3px 10px;
}

#page_recruit .description .description_items+.description_heading {
    margin-top: 80px;
}

#page_recruit .description .description_items {
    margin-top: 10px;
}

#page_recruit .description .description_item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: 200px 1fr;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid rgba(39, 37, 92, 0.5);
}

#page_recruit .description .description_item:first-child {
    border-top: 1px solid rgba(39, 37, 92, 0.5);
}

#page_recruit .description .description_item dt {
    padding-left: 10px;
    font-weight: 700;
    font-size: 16px;
}

#page_recruit .description .description_item dd {
    color: #1A1A1A;
    font-weight: 500;
    font-size: 16px;
}

#page_recruit .description .description_item dd a {
    color: #1A1A1A;
}

#page_recruit .description .description_head {
    font-weight: 700;
    font-size: 18px;
}

#page_recruit .description .description_lead {
    margin-top: 20px;
    color: #27255C;
    font-weight: 700;
    font-size: 18px;
}

#page_recruit .description .description_head+.description_text {
    margin-top: 20px;
}

#page_recruit .description .description_text+.description_text {
    margin-top: 20px;
}

#page_recruit .staff {
    padding-top: 100px;
}

#page_recruit .staff .staff_heading {
    margin-top: 30px;
    color: #27255C;
    font-weight: 700;
    font-size: 24px;
}

#page_recruit .staff .staff_wrapper+.staff_heading {
    margin-top: 80px;
}

#page_recruit .staff .staff_wrapper {
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    display: grid;
    grid-template-columns: 400px 1fr;
    column-gap: 50px;
    align-items: flex-start;
    margin-top: 10px;
}

#page_recruit .staff .staff_lead {
    color: #27255C;
    font-weight: 700;
    font-size: 18px;
}

#page_recruit .staff .staff_lead:not(:first-child) {
    margin-top: 20px;
}

#page_recruit .staff .staff_text {
    font-weight: 500;
    font-size: 16px;
}

/* page_product (pc) ------------------------------------------------------------------------------------------------------ */

#page_product {
    padding-bottom: 150px;
    position: static;
    overflow: initial;
    margin-top: 0;
}

#page_product .wrap {
    width: 1440px;
}

#page_product .product .product_lists {
    -webkit-transform: translate(-670px, -50%);
    z-index: 5;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-670px, -50%);
}

#page_product .product .product_list {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    -webkit-transition: opacity 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    column-gap: 20px;
    align-items: center;
    height: 70px;
    padding-top: 10px;
    transition: opacity 0.3s ease 0s;
    opacity: 0.5;
}

#page_product .product .product_list.is_active {
    opacity: 1;
}

#page_product .product .product_list::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 2px;
    background-color: #24AFB1;
    content: "";
}

#page_product .product .product_list:hover {
    opacity: 1;
}

#page_product .product .product_num {
    color: #333;
    font-size: 14px;
}

#page_product .product .product_message {
    color: #333;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.43;
    letter-spacing: 0.04em;
}

#page_product .product_contents {
    padding-left: 320px;
}

#page_product .product_contents+.product_contents {
    margin-top: 100px;
}

#page_product .product_heading {
    color: #27255C;
    font-weight: 700;
    font-size: 24px;
}

#page_product .product_text {
    margin-top: 5px;
    font-weight: 500;
    font-size: 16px;
}

#page_product .product_items {
    -webkit-column-gap: 1.33%;
    -moz-column-gap: 1.33%;
    display: grid;
    grid-template-columns: repeat(4, 24%);
    column-gap: 1.33%;
    row-gap: 30px;
    margin-top: 30px;
}

#page_product .product_img {
    aspect-ratio: 5/3;
}

#page_product .product_body {
    margin-top: 5px;
}

#page_product .product_info {
    display: grid;
    grid-template-columns: 70px 1fr;
}

#page_product .product_info dt {
    color: #27255C;
    font-weight: 700;
    font-size: 16px;
}

#page_product .product_info dd {
    font-weight: 500;
    font-size: 16px;
}

/* page_contact (pc) ------------------------------------------------------------------------------------------------------ */

#page_contact .common_page_wrap {
    padding-top: 0;
}

/* page_privacy (pc) ------------------------------------------------------------------------------------------------------ */

#page_privacy {
    padding-bottom: 50px;
}

#page_privacy .common_page_wrap {
    padding-top: 0;
}

/* page_sitemap (pc) ------------------------------------------------------------------------------------------------------ */

#page_sitemap {
    padding-bottom: 50px;
}

#page_sitemap #sitemap_list {
    background-color: #F0F1F2;
}

/* page_error (pc) ------------------------------------------------------------------------------------------------------ */

#page_error {
    padding-bottom: 150px;
}

#page_error .error_text {
    font-size: 18px;
}

#page_error .common_btn.error_btn {
    margin-top: 30px;
}



@media (max-width: 750px) {
    .wrap {
        max-width: 90%;
    }

    a[href $='.pdf']::before {
        width: 7vw;
        height: 8vw;
        margin-right: 2.5vw;
    }

    a[href $='.pdf']:hover {
        text-decoration: underline;
    }

    body {
        font-size: 13px;
        padding-top: 55px;
    }

    /* SPヘッダー */
    #sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        box-shadow: 1px 1px #ccc;
        z-index: 999;
        height: 55px;
    }

    #sp_header .logo {
        position: absolute;
        left: 10px;
        top: 10px;
        line-height: 0;
    }

    #sp_header .logo img {
        height: 40px;
    }

    #sp_header .icon {
        color: #000;
        position: absolute;
    }

    #sp_header .mail {
        right: 70px;
        top: 13px;
        font-size: 25px;
    }

    #sp_header .tel {
        right: 110px;
        top: 15px;
        font-size: 20px;
    }

    /* SP固定ページ 共通設定 */
    .common_page_main {
        padding-block: 20vw;
    }

    .common_page_main .title_box .title {
        font-size: 5.6vw;
    }

    .common_page_wrap {
        padding: 20vw 0;
    }

    .reserve_text {
        font-size: 6vw;
    }

    /* パンくず */
    .breadcrumb {
        font-size: 2.5vw;
    }

    /* SP固定ページ お問い合わせ */
    .contact_form_disc {
        margin-block: 0 2em;
    }

    .contact_form_disc .text {
        font-size: 3.6vw;
        margin-block: 0 0.8em;
    }

    .contact_form_disc .caution {
        font-size: 3.1vw;
        letter-spacing: .06em;
    }

    .common_contact_form .form_box {
        margin-block: 0 10vw;
    }

    .common_contact_form .form_box dl {
        grid-template-columns: 1fr;
        gap: 0.6em;
    }

    .common_contact_form .form_box dl+dl {
        margin-block: 1.3em 0;
    }

    .common_contact_form .form_box dl dt {
        flex-direction: row-reverse;
        justify-content: space-between;
        font-size: 4.1vw;
        padding-inline: 0;
    }

    .common_contact_form .form_box dl dt .label {
        font-size: 3.1vw;
    }

    .common_contact_form .form_box dl dt::after {
        content: none;
    }

    .common_contact_form input[type="text"],
    .common_contact_form input[type="email"],
    .common_contact_form #zip {
        font-size: 3.6vw;
    }

    .common_contact_form select {
        width: 100%;
        font-size: 3.6vw;
    }

    .common_contact_form textarea {
        height: 33vw;
        font-size: 3.6vw;
    }

    .radio_btns,
    .checkboxes {
        gap: 0.5em 2.5em;
    }

    .page_contact #btn_wrap button {
        width: 83%;
        line-height: 15.5vw;
        font-size: 4.6vw;
    }

    .page_contact #btn_wrap button[name="submitBack"] {
        margin-top: 4vw;
    }

    .mwform-checkbox-field.horizontal-item {
        display: block;
    }

    .page_contact #btn_wrap {
        width: 100%;
        text-align: center;
    }

    .privacy_check_list .mwform-checkbox-field-text {
        font-size: 3.8vw;
        padding-left: 11vw;
    }

    .mw_wp_form .privacy_check_list .horizontal-item {
        margin-right: 4vw;
    }

    .privacy_check_list .hissu {
        padding: 0.3vw 4vw;
    }

    .privacy_check_list {
        margin-bottom: 6vw;
    }

    .privacy_term_detail {
        font-size: 3.4vw;
        margin: 5vw 0;
    }

    .privacy_term_outer {
        width: 96%;
        padding: 5vw 0;
    }

    .privacy_term_outer .privacy_term_inner .main_text {
        font-size: 3.4vw;
        line-height: 1.6;
        margin-bottom: 5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dt {
        font-size: 3.5vw;
        margin-bottom: 1.5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dd {
        font-size: 3.5vw;
        line-height: 1.6;
    }

    .privacy_term_outer .privacy_term_inner dl+dl {
        margin-top: 7vw;
    }

    .privacy_term_detail::after {
        width: 2.5vw;
        margin: 1.5vw auto 0;
    }

    /* サンクスページ */
    .page_contact .thanks_textArea .name {
        font-size: 4vw;
        margin-bottom: 3vw;
    }

    .page_contact .thanks_textArea .contact_text {
        font-size: 3.5vw;
        margin-bottom: 2em;
        width: 100%;
    }

    .page_contact .thanks_textArea .ichiran_link {
        width: 80%;
        line-height: 12vw;
        font-size: 4vw;
    }

    /* ステップバー デザイン */
    .page_contact .progressbar {
        gap: 4.5em;
        margin-block: 0 2.5em;
    }

    .page_contact .progressbar .item {
        font-size: 3.1vw;
    }

    .page_contact .progressbar .item+.item::before {
        width: 5.7vw;
        top: 63%;
        left: -3.3em;
    }

    .page_contact .progressbar .item .mark {
        width: 7.7vw;
        margin: 0 auto 0.4em;
    }

    /* SP固定ページ 個人情報保護方針 */
    .page_privacy .main_text {
        font-size: 3.5vw;
    }

    .page_privacy dl {
        margin-bottom: 10vw;
    }

    .page_privacy dl dt {
        font-size: 4vw;
    }

    .page_privacy dl dd {
        font-size: 3.5vw;
        margin-left: 5vw;
    }

    /* SP固定ページ 404ページ */
    #page_404 .num {
        font-size: 20vw;
        line-height: 1.5;
    }

    #page_404 .text {
        font-size: 3.5vw;
    }

    /* SP投稿ページ アーカイブページ */
    .archive_page_list>article {
        padding-right: 20px;
    }

    .archive_page_list>article .date {
        width: 80px;
    }

    .archive_page_list>article .content_area {
        width: calc(100% - 80px);
    }

    .archive_page_list>article:after {
        width: 7px;
        height: 7px;
    }

    /* SP固定ページ サイトマップ */
    ul#sitemap_list li {
        margin: 0;
    }

    body #sitemap_list li a {
        font-size: 4vw;
        padding: 1vw 2vw;
        line-height: 9vw;
        margin-bottom: 1vw;
    }

    body #sitemap_list li.home-item {
        margin-bottom: 4vw;
    }

    body #sitemap_list {
        padding: 0;
    }

    /* -------------------------------------------------------------------------------- ----------------------------------- -----------------------------------
    ↓↓↓ ダイス工業株式会社 CSS (sp)
    -------------------------------------------------------------------------------- ----------------------------------- ----------------------------------- */
    body.body {
        min-width: initial;
        padding-top: 0;
    }

    main {
        margin-top: 0;
    }

    /* btn 共通クラス (pc) */

    a.common_btn {
        aspect-ratio: 310/70;
        width: 78vw;
        padding-left: 7.5vw;
        border-radius: 0 10vw 10vw 0;
        font-size: 4.5vw;
    }

    a.common_btn::after {
        right: 7.5vw;
        aspect-ratio: 20/8;
        width: 6vw;
    }

    a.common_btn:hover {
        background-color: #27255C;
        color: #FFF;
    }

    a.common_btn:hover::after {
        background-image: url(/wp-content/themes/child/image/common_arrow_yellow.svg);
    }

    /* 下層ページ fv 共通クラス (sp) */

    .common_fv {
        margin: 17.5vw 0 15vw;
        padding: 15vw 0 25vw;
    }

    .common_fv::before,
    .common_fv::after {
        height: 100%;
    }

    .common_fv .common_fv_items {
        -webkit-column-gap: 2vw;
        -moz-column-gap: 2vw;
        column-gap: 2vw;
        font-size: 3vw;
    }

    .common_fv .common_fv_items span a span:hover {
        opacity: 1;
    }

    .common_fv .common_fv_heading_en {
        margin-top: 8vw;
        font-size: 10vw;
    }

    .common_fv .common_fv_heading_ja {
        margin-top: 3vw;
        font-size: 4.5vw;
    }

    .common_fv .common_fv_img {
        height: 100%;
    }

    .common_fv .common_fv_video {
        height: 100%;
    }

    .common_fv .common_fv_bg {
        width: 150%;
        height: 55vw;
        bottom: -25vw;
    }

    /* header (sp) -------------------------------------------------------------------------------------------------------------------- */

    .header {
        min-width: initial;
        height: 17.5vw;
        padding: 0 5vw;
        background-color: #F2F2F2;
        z-index: 1000;
    }

    .header.top_page {
        position: absolute;
        top: 4px;
        right: 4px;
    }

    .header.active {
        background-color: transparent;
        box-shadow: none;
    }

    .header.active .header_logo,
    .header.active .header_contact_sp {
        display: none;
    }

    .header.active .header_btn {
        margin-left: auto;
        background-image: url(/wp-content/themes/child/image/common_icon_menu_open.svg);
    }

    .header .header_logo {
        width: 42vw;
    }

    .header .header_logo:hover {
        opacity: 1;
    }

    .header .header_contact {
        display: none;
    }

    .header .header_contact_sp,
    .header .header_btn {
        aspect-ratio: 1/1;
        width: 12vw;
        background-position: center center;
        background-size: cover;
    }

    .header .header_contact_sp {
        margin-left: auto;
        background-image: url(/wp-content/themes/child/image/common_icon_mail.svg);
    }

    .header .header_btn {
        margin-left: 2.5vw;
        background-image: url(/wp-content/themes/child/image/common_icon_menu.svg);
    }

    /* drawer (sp) ------------------------------------------------------------------------------------------------------ */

    .drawer {
        -webkit-transform: translateX(105%);
        -webkit-transition: -webkit-transform 0.3s ease 0s;
        z-index: 999;
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        height: 100dvh;
        height: 100vh;
        transform: translateX(105%);
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(18, 37, 180, 0.7)), to(rgba(34, 194, 196, 0.7)));
        background: linear-gradient(rgba(18, 37, 180, 0.7) 0%, rgba(34, 194, 196, 0.7) 100%);
        transition: -webkit-transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
    }

    .drawer.active {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    .drawer .drawer_wrapper {
        width: 82vw;
        height: 100%;
        margin-left: auto;
        padding: 20vw 7vw 20vw;
        overflow: scroll;
        background-color: rgba(255, 255, 255, 0.9);
    }

    .drawer .drawer_wrapper::-webkit-scrollbar {
        display: none;
    }

    .drawer .drawer_item>a,
    .drawer .drawer_item .drawer_head {
        width: 100%;
        padding: 5vw 0;
        color: #333;
        font-weight: 700;
        font-size: 4.5vw;
    }

    .drawer .drawer_item>a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        border-bottom: 1px solid rgba(24, 17, 199, 0.2);
    }

    .drawer .drawer_item>a::after {
        aspect-ratio: 1/1;
        width: 8vw;
        margin-left: auto;
        background-image: url(/wp-content/themes/child/image/common_arrow_drawer.svg);
        background-position: center center;
        background-size: cover;
        content: "";
    }

    .drawer .drawer_item.target+.drawer_item {
        border-top: 1px solid rgba(24, 17, 199, 0.2);
    }

    .drawer .drawer_head {
        position: relative;
    }

    .drawer .drawer_head::before,
    .drawer .drawer_head::after {
        -webkit-transform: translateY(-50%);
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background-color: #333;
        content: "";
    }

    .drawer .drawer_head::before {
        right: 0;
        width: 5vw;
        height: 2px;
    }

    .drawer .drawer_head::after {
        -webkit-transition: -webkit-transform 0.3s ease 0s;
        right: 2.2vw;
        width: 2px;
        height: 5vw;
        transition: -webkit-transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
    }

    .drawer .drawer_head.active::after {
        -webkit-transform: translateY(-50%) rotate(90deg);
        transform: translateY(-50%) rotate(90deg);
        content: "";
    }

    .drawer .drawer_lists {
        display: none;
        padding-bottom: 5vw;
        border-bottom: 1px solid rgba(24, 17, 199, 0.2);
    }

    .drawer .drawer_list a {
        width: 100%;
        padding: 1vw;
        color: #333;
        font-weight: 500;
        font-size: 3.8vw;
        letter-spacing: 0.06em;
    }

    .drawer .drawer_list:not(:first-child) {
        margin-top: 1vw;
    }

    .drawer .drawer_tel,
    .drawer .drawer_btn {
        aspect-ratio: 270/60;
        width: 100%;
        padding-left: 5vw;
        border: 2px solid #FFF;
        font-weight: 900;
        font-size: 4vw;
    }

    .drawer .drawer_tel::after,
    .drawer .drawer_btn::after {
        background-image: url(/wp-content/themes/child/image/common_arrow_white.svg);
    }

    .drawer .drawer_tel {
        margin-top: 8vw;
        background: -webkit-gradient(linear, left top, right top, from(#1225b4), to(#22c2c4));
        background: linear-gradient(90deg, #1225b4 0%, #22c2c4 100%);
    }

    .drawer .drawer_btn {
        margin-top: 4vw;
        background: -webkit-gradient(linear, left top, right top, from(#e5cc12), to(#f78500));
        background: linear-gradient(90deg, #e5cc12 0%, #f78500 100%);
    }

    .drawer .drawer_time {
        margin-top: 2vw;
        font-weight: 700;
        font-size: 3vw;
        letter-spacing: 0.06em;
    }

    .drawer .drawer_others {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-column-gap: 3vw;
        -moz-column-gap: 3vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        column-gap: 3vw;
        align-items: center;
        margin-top: 5vw;
    }

    .drawer .drawer_other a {
        color: #333;
        font-weight: 700;
        font-size: 3vw;
        letter-spacing: 0.06em;
    }

    .drawer .drawer_icons {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-column-gap: 4vw;
        -moz-column-gap: 4vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        column-gap: 4vw;
        align-items: center;
        margin-top: 8vw;
    }

    /* top_fv (sp) -------------------------------------------------------------------------------------------------------------------- */

    .top_fv {
        margin-top: 0;
        padding: 70vw 0 20vw 0;
    }

    .top_fv::before {
        top: 0;
        height: 4px;
    }

    .top_fv::after {
        top: -17.5vw;
        width: 4px;
        height: calc(100% + 17.5vw);
    }

    .top_fv .fv_lead {
        font-size: 14vw;
        line-height: 1.3;
    }

    .top_fv .fv_text {
        top: auto;
        right: auto;
        bottom: -10vw;
        left: 0;
        font-size: 5vw;
    }

    .top_fv .fv_scroll {
        top: 38vw;
        right: 2.5vw;
        bottom: auto;
        left: auto;
        font-size: 4vw;
    }

    .top_fv .fv_scroll::before {
        top: -8vw;
        width: 2vw;
    }

    .top_fv .fv_scroll::after {
        top: -4.5vw;
        left: 1.5vw;
    }

    /* top_news (sp) -------------------------------------------------------------------------------------------------------------------- */

    .top_news {
        -webkit-transform: translateY(0);
        width: 100%;
        margin-left: 0;
        padding: 4vw 5vw 2vw 5%;
        transform: translateY(0);
        z-index: 10;
    }

    .top_news .news_heading {
        margin-top: 0;
        font-size: 6vw;
    }

    .top_news .news_btn {
        width: 40vw;
        margin-left: auto;
        padding-left: 5vw;
        font-size: 3.5vw;
    }

    .top_news .news_btn::after {
        right: 5vw;
    }

    .top_news .news_btn:hover {
        opacity: 1;
    }

    .top_news .news_swiper {
        margin-top: 4vw;
        padding-bottom: 1vw;
    }

    .top_news .swiper-slide {
        -webkit-column-gap: 6vw;
        -moz-column-gap: 6vw;
        column-gap: 6vw;
    }

    .top_news .swiper-slide:hover {
        opacity: 1;
    }

    .top_news .news_time {
        margin-top: 0.7vw;
        font-size: 4vw;
    }

    .top_news .news_title {
        padding-right: 0;
        font-size: 3.5vw;
    }

    .top_news .news_title::after {
        display: none;
    }

    .top_news .swiper-pagination-numbers {
        margin-top: 1vw;
        padding-right: 2vw;
        font-size: 3vw;
    }

    /* top_strength (sp) -------------------------------------------------------------------------------------------------------------------- */

    .top_strength {
        padding-top: 15vw;
    }

    .top_strength .wrap {
        max-width: 95%;
    }

    .top_strength .strength_slider {
        -webkit-column-gap: 20vw;
        -moz-column-gap: 20vw;
        -webkit-animation: amination_scroll 40s linear infinite;
        column-gap: 20vw;
        animation: amination_scroll 30s linear infinite;
    }

    .top_strength .strength_head {
        font-size: 7.5vw;
    }

    .top_strength .strength_head:nth-child(2n) {
        -webkit-text-stroke-width: 1px;
    }

    .top_strength .strength_items {
        -webkit-column-gap: 4vw;
        -moz-column-gap: 4vw;
        display: grid;
        grid-template-columns: calc(50% - 2.5vw) calc(50% - 2.5vw);
        column-gap: 4vw;
        margin-top: 5vw;
    }

    .top_strength .strength_items::after {
        top: 72%;
        aspect-ratio: 550/1420;
        width: 200vw;
        background-image: url(/wp-content/themes/child/image/top_strength_bg_sp.webp);
    }

    .top_strength .strength_item:nth-child(1) .strength_img {
        width: 34vw;
        margin-left: 9vw;
    }

    .top_strength .strength_item:nth-child(1) .strength_img::after {
        top: 3vw;
        left: -9vw;
    }

    .top_strength .strength_item:nth-child(1) .strength_number {
        margin-top: 0;
    }

    .top_strength .strength_item:nth-child(2) {
        margin-top: 30vw;
    }

    .top_strength .strength_item:nth-child(2) .strength_img {
        width: 43vw;
    }

    .top_strength .strength_item:nth-child(2) .strength_img::after {
        top: -7vw;
        left: 2vw;
    }

    .top_strength .strength_item:nth-child(2) .strength_number {
        margin-top: -5vw;
    }

    .top_strength .strength_item:nth-child(3) {
        -webkit-transform: translateY(0);
        margin-top: 12vw;
        transform: translateY(0);
    }

    .top_strength .strength_item:nth-child(3) .strength_img {
        width: 25vw;
        margin-left: 12vw;
    }

    .top_strength .strength_item:nth-child(3) .strength_img::after {
        top: 5vw;
        left: -12vw;
    }

    .top_strength .strength_item:nth-child(3) .strength_number {
        margin-top: -10vw;
    }

    .top_strength .strength_item:nth-child(4) {
        margin-top: 47vw;
    }

    .top_strength .strength_item:nth-child(4) .strength_img {
        width: 44vw;
    }

    .top_strength .strength_item:nth-child(4) .strength_img::after {
        top: -11vw;
        left: 2vw;
    }

    .top_strength .strength_item:nth-child(4) .strength_number {
        margin-top: -3vw;
    }

    .top_strength .strength_item:nth-child(5) {
        margin-top: 0;
    }

    .top_strength .strength_item:nth-child(5) .strength_img {
        width: 40vw;
        margin-left: 0;
    }

    .top_strength .strength_item:nth-child(5) .strength_img::after {
        top: 3vw;
        left: 0;
    }

    .top_strength .strength_item:nth-child(5) .strength_number {
        margin-top: -10vw;
    }

    .top_strength .strength_item:nth-child(6) {
        margin-top: 29vw;
    }

    .top_strength .strength_item:nth-child(6) .strength_img {
        width: 45vw;
        margin-left: 0;
    }

    .top_strength .strength_item:nth-child(6) .strength_img::after {
        top: -10vw;
        left: 2vw;
    }

    .top_strength .strength_item:nth-child(6) .strength_number {
        margin-top: -5px;
    }

    .top_strength .strength_img {
        z-index: 0;
        position: relative;
    }

    .top_strength .strength_img::after {
        width: 40vw;
    }

    .top_strength .strength_number {
        -webkit-column-gap: 1vw;
        -moz-column-gap: 1vw;
        column-gap: 1vw;
        padding: 0 2vw;
        font-size: 3vw;
    }

    .top_strength .strength_number span.color {
        font-size: 5vw;
    }

    .top_strength .strength_lead>span {
        padding: 1vw 1.5vw;
        font-size: 3.8vw;
        white-space: nowrap;
    }

    .top_strength .strength_text {
        margin-top: 3vw;
        font-size: 3.3vw;
        line-height: 1.54;
        letter-spacing: 0.08em;
    }

    .top_strength .strength_btn {
        margin: 12vw auto 0;
    }

    /* top_product (sp) -------------------------------------------------------------------------------------------------------------------- */

    .top_product {
        padding-top: 38vw;
    }

    .top_product .wrap {
        max-width: 95%;
    }

    .top_product .product_wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: column;
    }

    .top_product .product_head {
        display: contents;
    }

    .top_product .product_heading_ja {
        padding-left: 2.5vw;
        font-size: 4.5vw;
    }

    .top_product .product_heading_en {
        padding-left: 2.5vw;
        font-size: 16vw;
    }

    .top_product .strength_btn {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin: 8vw auto 0;
    }

    .top_product .product_message {
        margin-top: 5vw;
        padding: 0 2.5vw;
        font-size: 3.5vw;
        line-height: 1.79;
        border-bottom: none;
    }

    .top_product .product_items {
        margin-top: 5vw;
        padding: 0 2.5vw;
    }

    .top_product .product_item a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        width: 100%;
        padding: 4vw 0 1vw;
        border-bottom: 1px solid #CECDCD;
        color: #333;
        font-weight: 700;
        font-size: 3.8vw;
        letter-spacing: 0.1em;
    }

    .top_product .product_item a::after {
        aspect-ratio: 27/10;
        width: 7vw;
        margin-left: auto;
        background-image: url(/wp-content/themes/child/image/common_arrow_blue.svg);
        background-position: center center;
        background-size: cover;
        content: "";
    }

    .top_product .product_outer {
        display: block;
        margin-top: 8vw;
    }

    .top_product .product_wrap {
        margin-top: 3vw;
        padding-top: 0;
        padding-bottom: 0;
    }

    .top_product .product_contents {
        display: block;
        padding: 2.5vw;
        width: 95vw;
        position: relative;
    }

    .top_product .product_contents::after {
        position: absolute;
        font-family: "DIN", sans-serif;
        font-size: 4.5vw;
        font-weight: 700;
        color: #A8A3A3;
        right: 0;
        top: -8vw;
    }

    .top_product .product_contents:nth-child(1):after {
        content: "01-05";
    }

    .top_product .product_contents:nth-child(2):after {
        content: "02-05";
    }

    .top_product .product_contents:nth-child(3):after {
        content: "03-05";
    }

    .top_product .product_contents:nth-child(4):after {
        content: "04-05";
    }

    .top_product .product_contents:nth-child(5):after {
        content: "05-05";
    }

    .top_product .product_number {
        width: 15vw;
        font-size: 4vw;
    }

    .top_product .product_img {
        aspect-ratio: 350/160;
    }

    .top_product .product_body {
        min-height: 72vw;
        padding-top: 4vw;
    }

    .top_product .product_lead_en {
        font-size: 3.5vw;
    }

    .top_product .product_lead_ja {
        font-size: 5vw;
    }

    .top_product .product_text {
        margin-top: 3vw;
        font-size: 3.5vw;
        line-height: 1.71;
    }

    .top_product .product_link {
        aspect-ratio: 1/1;
        width: 10vw;
        background-image: url(/wp-content/themes/child/image/top_product_arrow.svg);
        background-position: center center;
        background-size: cover;
    }

    .top_product .product_link::after {
        display: none;
    }

    .top_product .product_link svg {
        display: none;
    }

    .top_product .product_link:hover {
        background-image: url(/wp-content/themes/child/image/top_product_arrow.svg);
    }

    .top_product .product_bar {
        display: none;
    }

    /* top_equipment (sp) -------------------------------------------------------------------------------------------------------------------- */

    .top_equipment {
        padding-top: 40vw;
        padding-bottom: 30vw;
    }

    .top_equipment::before,
    .top_equipment::after {
        height: 280vw;
        width: 350%;
    }

    .top_equipment .equipment_outer {
        height: 280vw;
        width: 350%;
    }

    .top_equipment .equipment_video {
        width: 14.3%;
    }

    .top_equipment .equipment_wrapper {
        grid-template-columns: 1fr;
    }

    .top_equipment .equipment_wrapper::before {
        display: none;
    }

    .top_equipment .equipment_wrapper::after {
        width: 128vw;
        right: auto;
        left: -2.5vw;
        top: -90vw;
    }

    .top_equipment .equipment_body {
        margin-top: -20vw;
        margin-bottom: 0;
        padding: 10vw 5vw;
    }

    .top_equipment .equipment_heading_ja {
        font-size: 4.5vw;
    }

    .top_equipment .equipment_heading_en {
        font-size: 12vw;
    }

    .top_equipment .equipment_text {
        margin-top: 5vw;
        font-size: 3.8vw;
    }

    .top_equipment .equipment_btn {
        aspect-ratio: 280/60;
        width: 70vw;
        margin-top: 10vw;
    }

    .top_equipment .equipment_img {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        z-index: 10;
        position: relative;
        order: -1;
        width: 52vw;
        margin-left: auto;
    }

    .top_equipment .equipment_img::after {
        top: -20vw;
        left: -18vw;
        width: 60vw;
    }

    /* top_sustainability (sp) -------------------------------------------------------------------------------------------------------------------- */

    .top_sustainability {
        padding-top: 15vw;
    }

    .top_sustainability .sustainability_wrapper {
        display: block;
    }

    .top_sustainability .sustainability_img {
        aspect-ratio: 350/434;
    }

    .top_sustainability .sustainability_heading_ja {
        margin-top: 10vw;
        font-size: 4.5vw;
    }

    .top_sustainability .sustainability_heading_en {
        font-size: 8vw;
    }

    .top_sustainability .sustainability_lead {
        margin-top: 10vw;
        font-size: 9vw;
        line-height: 1.72;
    }

    .top_sustainability .sustainability_lead span {
        margin-right: 1vw;
        padding: 0 1vw;
    }

    .top_sustainability .sustainability_text {
        margin-top: 6vw;
        padding-right: 0;
        font-size: 3.8vw;
        line-height: 2.33;
    }

    .top_sustainability .sustainability_outer {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        margin-top: 8vw;
    }

    .top_sustainability .sustainability_figure {
        aspect-ratio: 350/53;
        width: 100%;
        margin-left: 0;
    }

    .top_sustainability .equipment_btn {
        margin: 12vw auto 0;
    }

    /* top_recruit (sp) -------------------------------------------------------------------------------------------------------------------- */

    .top_recruit {
        margin-top: 25vw;
        margin-bottom: 37vw;
    }

    .top_recruit .wrap {
        max-width: 95%;
    }

    .top_recruit .recruit_wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: initial;
        background: -webkit-gradient(linear, left top, left bottom, from(#2d3b76), to(#70dcdd));
        background: linear-gradient(180deg, #2d3b76 0%, #70dcdd 100%);
    }

    .top_recruit .recruit_scroll {
        display: flex;
        column-gap: 5vw;
        padding-top: 4vw;
    }

    .top_recruit .recruit_text {
        -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
        margin-top: 0;
        font-size: 6vw;
        white-space: nowrap;
        writing-mode: initial;
    }

    .top_recruit .recruit_wrapper .recruit_swiper1 {
        margin-top: 3vw;
        padding-top: 5vw;
        padding-left: 0;
        border-top: 1px solid #FFF;
        border-left: none;
    }

    .top_recruit .recruit_swiper1,
    .top_recruit .recruit_swiper2 {
        width: 100%;
    }

    .top_recruit .recruit_swiper2 {
        margin-top: 2.5vw;
        margin-left: 0;
    }

    .top_recruit .swiper-slide {
        width: 38vw;
        height: 28vw;
    }

    .top_recruit .recruit_body {
        padding: 5vw 0 7vw;
        padding-left: 0;
    }

    .top_recruit .recruit_heading_ja {
        font-size: 3.5vw;
        text-align: center;
    }

    .top_recruit .recruit_heading_en {
        font-size: 7vw;
        text-align: center;
    }

    .top_recruit .recruit_lead {
        margin-top: 5vw;
        font-size: 8vw;
        line-height: 1.53;
        text-align: center;
    }

    .top_recruit .equipment_btn {
        margin: 10vw auto 0;
    }

    /* footer (sp) -------------------------------------------------------------------------------------------------------------------- */

    .footer .footer_img {
        aspect-ratio: 720/300;
        width: 160vw;
    }

    .footer .footer_bg {
        margin-top: 22vw;
        padding-top: 52vw;
        padding-bottom: 4vw;
    }

    .footer .contact_wrapper {
        display: block;
    }

    .footer .contact_head {
        padding-bottom: 0;
    }

    .footer .contact_heading {
        font-size: 12vw;
        text-align: center;
    }

    .footer .contact_text {
        margin-top: 8vw;
        font-size: 3.8vw;
        text-align: center;
    }

    .footer .contact_info {
        margin-left: 0;
    }

    .footer .contact_tel_sp {
        display: flex;
    }

    .footer .contact_tel_sp,
    .footer .contact_btn {
        aspect-ratio: 350/70;
        width: 100%;
        padding-left: 5vw;
        border: 2px solid #fff;
        font-weight: 900;
        font-size: 4.5vw;
    }

    .footer .contact_tel_sp::after,
    .footer .contact_btn::after {
        background-image: url(/wp-content/themes/child/image/common_arrow_white.svg);
    }

    .footer .contact_tel_sp {
        margin-top: 10vw;
        background: -webkit-gradient(linear, left top, right top, from(#1225b4), to(#22c2c4));
        background: linear-gradient(90deg, #1225b4 0%, #22c2c4 100%);
    }

    .footer .contact_btn {
        aspect-ratio: 350/70;
        width: 100%;
        margin-top: 5vw;
        padding-left: 5vw;
        background: -webkit-gradient(linear, left top, right top, from(#e5cc12), to(#f78500));
        background: linear-gradient(90deg, #e5cc12 0%, #f78500 100%);
    }

    .footer .contact_time {
        margin-top: 2vw;
        font-size: 3.3vw;
        text-align: center;
    }

    .footer .footer_container {
        display: block;
        margin-top: 15vw;
        padding: 10vw 0;
    }

    .footer .footer_logo {
        display: block;
        width: 70vw;
        margin: 0 auto;
    }

    .footer .footer_logo:hover {
        opacity: 1;
    }

    .footer .footer_address {
        margin-top: 5vw;
        font-size: 3.8vw;
        text-align: center;
    }

    .footer .footer_outer {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 65vw;
        margin: 5vw auto 0;
        padding: 2.5vw 0 2vw;
    }

    .footer .footer_sns {
        font-size: 6vw;
    }

    .footer .footer_icon {
        width: 6vw;
        margin-top: 0;
        margin-left: 7vw;
    }

    .footer .footer_icon:hover {
        opacity: 1;
    }

    .footer .footer_icon+.footer_icon {
        width: 23vw;
        margin-left: 4vw;
    }

    .footer .footer_wrap {
        margin-left: 0;
    }

    .footer .footer_items {
        display: none;
    }

    .footer .footer_sites {
        margin: 15vw auto 0;
    }

    .footer .footer_site:nth-child(1) {
        width: 13vw;
    }

    .footer .footer_site:nth-child(2) {
        width: 18vw;
        margin-left: 5vw;
    }

    .footer .footer_site:nth-child(3) {
        width: 27vw;
        margin-left: 4vw;
    }

    .footer .footer_site:hover {
        opacity: 1;
    }

    .footer .footer_others {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 8vw;
    }

    .footer .footer_other {
        display: none;
    }

    .footer .footer_copy {
        font-size: 3vw;
    }

    /* page_strength (sp) ------------------------------------------------------------------------------------------------------ */

    #page_strength {
        position: relative;
        margin-top: -40vw;
    }

    #page_strength .strength {
        padding-bottom: 10vw;
    }

    #page_strength .strength .strength_lists {
        display: none;
    }

    #page_strength .strength .strength_number {
        top: 0 !important;
        width: 30vw;
        font-size: 8vw;
    }

    #page_strength .strength .strength_heading {
        margin-top: 5vw;
    }

    #page_strength .strength .strength_heading span.text {
        padding: 2vw 3vw;
        font-size: 6vw;
    }

    #page_strength .strength .strength_heading>span+span {
        margin-top: 2vw;
    }

    #page_strength .strength .strength_lead {
        margin-top: 5vw;
        font-size: 4.5vw;
    }

    #page_strength .strength .strength_text {
        margin-top: 3vw;
        font-size: 3.5vw;
    }

    #page_strength .strength .strength_btn {
        margin: 6vw auto 0;
    }

    #page_strength .strength .strength_img {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
    }

    #page_strength .strength .strength_img::after {
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        width: 50vw;
    }

    #page_strength .strength .strength_item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: column;
        margin-top: 0 !important;
        padding: 15vw 0 !important;
    }

    #page_strength .strength .strength_item:nth-child(4),
    #page_strength .strength .strength_item:nth-child(6) {
        margin-top: -5vw !important;
    }

    #page_strength .strength .strength_item:nth-child(2n) .strength_number {
        right: 0;
        left: auto;
    }

    #page_strength .strength .strength_item:nth-child(2n) .strength_img {
        margin-top: 10vw;
    }

    #page_strength .strength .strength_item:nth-child(2n-1) .strength_number {
        left: 0;
    }

    #page_strength .strength .strength_item:nth-child(5) .strength_heading {
        margin-top: 0;
    }

    /* page_precision (sp) ------------------------------------------------------------------------------------------------------ */

    #page_precision .precision {
        padding-bottom: 20vw;
    }

    #page_precision .precision .precision_text {
        font-size: 6vw;
    }

    #page_precision .precision .precision_point {
        font-size: 5vw;
        padding: 2vw 3vw;
        margin: 10vw auto 0;
        line-height: 1.5;
        text-align: center;
    }

    #page_precision .precision .precision_point::after {
        bottom: -4.5vw;
        width: 8vw;
    }

    #page_precision .precision .precision_items {
        margin-top: 10vw;
    }

    #page_precision .precision .precision_item:nth-child(1) .precision_outer:nth-child(1) .precision_img {
        aspect-ratio: 5/2;
    }

    #page_precision .precision .precision_item:nth-child(2) {
        padding: 10vw 0;
    }

    #page_precision .precision .precision_item:nth-child(3) .precision_contents {
        grid-template-columns: 1fr;
    }

    #page_precision .precision .precision_item:nth-child(3) .precision_outer .precision_img {
        width: 70%;
        margin: 0 auto;
    }

    #page_precision .precision .precision_item:nth-child(3) .precision_outer:nth-child(2) .precision_img {
        aspect-ratio: 10/13;
    }

    #page_precision .precision .precision_item:nth-child(3) .precision_outer:nth-child(3) .precision_img {
        aspect-ratio: 5/4;
        width: 100%;
    }

    #page_precision .precision .precision_item:not(:first-child) {
        margin-top: 10vw;
    }

    #page_precision .precision .precision_heading span.number {
        font-size: 4.5vw;
        padding: 0.5vw 2vw 0;
    }

    #page_precision .precision .precision_heading span.text {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        padding: 2vw 3vw;
        font-size: 5vw;
    }

    #page_precision .precision .precision_heading>span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    #page_precision .precision .precision_heading>span+span {
        margin-top: 0;
    }

    #page_precision .precision .precision_heading>span.number+span {
        margin-top: 0;
    }

    #page_precision .precision .precision_contents {
        grid-template-columns: 1fr;
        row-gap: 10vw;
        margin-top: 5vw;
    }

    #page_precision .precision .precision_title {
        margin-bottom: 2vw;
        font-size: 4vw;
        line-height: 1.5;
    }

    #page_precision .precision .precision_picture {
        aspect-ratio: 10/4;
        margin-top: 4vw;
    }

    #page_precision .precision .precision_explain {
        margin-top: 2vw;
        font-size: 3.5vw;
    }

    #page_precision .precision .precision_works {
        margin: 7vw auto 0;
    }

    #page_precision .precision .precision_lead {
        font-size: 4vw;
        padding: 1vw 3vw;
    }

    #page_precision .precision .precision_lists {
        font-size: 3.5vw;
        padding: 2vw 3vw;
    }

    #page_precision .precision .precision_meas {
        width: 100%;
        margin: 8vw auto 0;
    }

    #page_precision .precision .precision_meas::after {
        top: -10vw;
        left: -10vw;
        width: 60vw;
    }

    #page_precision .precision .precision_message {
        margin-top: 2vw;
        text-align: left;
        font-size: 3.5vw;
    }

    #page_precision .precision .precision_wrap {
        grid-template-columns: 1fr;
        margin-top: 0;
    }

    #page_precision .precision .precision_wrap+.precision_contents {
        margin-top: 10vw;
    }

    /* page_business (sp) ------------------------------------------------------------------------------------------------------ */

    #page_business .business {
        padding-bottom: 20vw;
    }

    #page_business .business .business_message {
        font-size: 6vw;
    }

    #page_business .business .business_items {
        margin-top: 15vw;
    }

    #page_business .business .business_item:not(:first-child) {
        margin-top: 15vw;
    }

    #page_business .business .business_heading span.text {
        padding: 2vw 3vw;
        font-size: 4.8vw;
    }

    #page_business .business .business_wrapper {
        grid-template-columns: 1fr;
        margin-top: 3vw;
    }

    #page_business .business .business_text {
        margin-top: 3vw;
        font-size: 3.5vw;
    }

    #page_business .business .business_lead {
        margin-top: 5vw;
        font-size: 4vw;
        padding: 1vw 3vw;
    }

    #page_business .business .business_lists {
        font-size: 3.5vw;
        padding: 3vw;
    }

    #page_business .business .business_lists span {
        padding-left: 1em;
        text-indent: -1em;
    }

    #page_business .business .business_btn {
        aspect-ratio: 310/60;
        margin-top: 5vw;
    }

    /* page_equipment (sp) ------------------------------------------------------------------------------------------------------ */

    #page_equipment {
        padding-bottom: 20vw;
    }

    #page_equipment .images .images_text {
        font-size: 6vw;
    }

    #page_equipment .images .images_items {
        grid-template-columns: 1fr;
        row-gap: 12vw;
        margin-top: 15vw;
    }

    #page_equipment .images .image_img {
        width: 80%;
        margin: 0 auto;
    }

    #page_equipment .images .image_img figcaption {
        margin-top: 2vw;
        font-size: 4vw;
    }

    #page_equipment .items {
        padding-top: 20vw;
    }

    #page_equipment .items .items_heading {
        font-size: 5vw;
    }

    #page_equipment .items .items_table {
        margin-top: 5vw;
        overflow: scroll;
    }

    #page_equipment .items .items_table::-webkit-scrollbar {
        display: none;
    }

    #page_equipment .items .items_table+.items_table {
        margin-top: 6vw;
    }

    #page_equipment .items table {
        width: 100%;
        min-width: 500px;
    }

    #page_equipment .items table caption {
        font-size: 4.5vw;
    }

    #page_equipment .items table th,
    #page_equipment .items table td {
        height: auto;
        padding: 1.5vw 2vw;
        line-height: 1.4;
    }

    #page_equipment .items table thead th {
        font-size: 3.5vw;
    }

    #page_equipment .items table tbody td {
        font-size: 3.5vw;
    }

    /* page_flow (sp) ------------------------------------------------------------------------------------------------------ */

    #page_flow {
        padding-bottom: 20vw;
    }

    #page_flow .flow_message {
        font-size: 6vw;
    }

    #page_flow .flow_lead {
        margin-top: 5vw;
        font-size: 4vw;
    }

    #page_flow .flow_items {
        margin-top: 10vw;
    }

    #page_flow .flow_items::after {
        display: none;
    }

    #page_flow .flow_item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    #page_flow .flow_item:not(:first-child) {
        margin-top: 12vw;
    }

    #page_flow .flow_img {
        width: 100%;
    }

    #page_flow .flow_body {
        display: contents;
    }

    #page_flow .flow_number {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
        padding: 1vw 3vw;
        font-size: 4vw;
    }

    #page_flow .flow_heading {
        margin-top: 2vw;
        font-size: 5vw;
    }

    #page_flow .flow_text {
        margin-top: 2vw;
        font-size: 3.5vw;
    }

    /* page_company (sp) ------------------------------------------------------------------------------------------------------ */

    #page_company {
        padding-bottom: 20vw;
    }

    #page_company .heading_ja {
        font-size: 4vw;
    }

    #page_company .heading_en {
        font-size: 8vw;
    }

    #page_company .greeting .greeting_wrapper {
        grid-template-columns: 1fr;
        margin-top: 3vw;
    }

    #page_company .greeting .greeting_img {
        aspect-ratio: 5/4;
    }

    #page_company .greeting .greeting_img img {
        -o-object-position: 50% 20%;
        object-position: 50% 20%;
    }

    #page_company .greeting .greeting_text {
        margin-top: 3vw;
        font-size: 3.5vw;
    }

    #page_company .greeting .greeting_name {
        width: 60vw;
        margin-top: 6vw;
    }

    #page_company .policy {
        padding-top: 20vw;
    }

    #page_company .policy .policy_message {
        margin-top: 2vw;
        font-size: 4.5vw;
    }

    #page_company .policy .policy_items {
        grid-template-columns: 1fr;
        row-gap: 8vw;
        margin-top: 10vw;
    }

    #page_company .policy .policy_item::after {
        width: 80vw;
    }

    #page_company .policy .policy_item:nth-child(1)::after {
        display: none;
    }

    #page_company .policy .policy_item:nth-child(3)::after {
        display: none;
    }

    #page_company .policy .policy_lead {
        font-size: 4.5vw;
        padding: 0.5vw 3vw;
    }

    #page_company .policy .policy_text {
        margin-top: 2vw;
        font-size: 3.5vw;
    }

    #page_company .outline {
        padding-top: 20vw;
    }

    #page_company .outline .outline_items {
        margin-top: 2vw;
    }

    #page_company .outline .outline_item {
        grid-template-columns: 1fr;
        padding: 3vw 0;
    }

    #page_company .outline .outline_item dt {
        padding-left: 0;
        font-size: 4vw;
    }

    #page_company .outline .outline_item dd {
        margin-top: 2vw;
        font-size: 3.5vw;
    }

    #page_company .history {
        padding-top: 20vw;
    }

    #page_company .history .history_items {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 2vw;
    }

    #page_company .history .history_item {
        grid-template-columns: 27vw 1fr;
        padding: 3vw 0;
    }

    #page_company .history .history_item dt {
        padding-left: 0;
        font-size: 3.5vw;
    }

    #page_company .history .history_item dd {
        font-size: 3.5vw;
    }

    #page_company .access {
        padding-top: 20vw;
    }

    #page_company .access .access_map {
        aspect-ratio: 1/1;
        margin-top: 2vw;
    }

    #page_company .access .access_lead {
        margin-top: 2vw;
        font-size: 4vw;
    }

    #page_company .access .access_text {
        font-size: 3.5vw;
    }

    #page_company .access .access_text+.access_lead {
        margin-top: 5vw;
    }

    /* page_ciesf (sp) ------------------------------------------------------------------------------------------------------ */

    #page_ciesf {
        padding-bottom: 20vw;
    }

    #page_ciesf .ciesf_lead {
        font-size: 5.8vw;
    }

    #page_ciesf .ciesf_wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 10vw;
    }

    #page_ciesf .ciesf_wrapper::after {
        width: 100vw;
    }

    #page_ciesf .ciesf_text {
        font-size: 4.5vw;
        line-height: 1.5;
        text-align: center;
    }

    #page_ciesf .ciesf_text+.ciesf_text {
        font-size: 3.5vw;
        margin-top: 5vw;
    }

    #page_ciesf .ciesf_img {
        width: 60vw;
        margin-top: 6vw;
    }

    #page_ciesf .ciesf_items {
        margin-top: 15vw;
    }

    #page_ciesf .ciesf_item.item {
        grid-template-columns: 1fr;
    }

    #page_ciesf .item_img {
        width: 80%;
        margin: 0 auto;
    }

    #page_ciesf .item_body {
        width: 80%;
        aspect-ratio: initial;
        margin: 0 auto;
        padding: 6vw 4vw;
    }

    #page_ciesf .ciesf_item.item:nth-child(2n) .item_img {
        -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
        order: initial;
    }

    #page_ciesf .ciesf_item.item:nth-child(3) .item_lead,
    #page_ciesf .ciesf_item.item:nth-child(3) .item_text {
        text-align: center;
    }

    #page_ciesf .item_lead {
        font-size: 4vw;
    }

    #page_ciesf .item_text {
        font-size: 3.4vw;
    }

    #page_ciesf .item_text+.item_lead {
        margin-top: 3vw;
    }

    #page_ciesf .item_message {
        font-size: 3.8vw;
    }

    #page_ciesf .item_figure {
        width: 40vw;
        margin: 2vw auto 0;
    }

    #page_ciesf .item_figure+.item_text {
        margin-top: 2vw;
    }

    #page_ciesf .ciesf_copy {
        font-size: 10vw;
        margin-top: 15vw;
        font-weight: 700;
    }

    #page_ciesf .ciesf_wrap {
        grid-template-columns: 1fr;
        margin-top: 5vw;
    }

    #page_ciesf .ciesf_message {
        font-size: 5vw;
        margin-top: 3vw;
    }

    #page_ciesf .ciesf_photo {
        margin: 0;
        order: -1;
    }

    /* page_recruit (sp) ------------------------------------------------------------------------------------------------------ */

    #page_recruit {
        padding-bottom: 20vw;
    }

    #page_recruit .heading_ja {
        font-size: 4vw;
    }

    #page_recruit .heading_en {
        font-size: 8vw;
    }

    #page_recruit .feature .feature_text {
        margin-top: 6vw;
        font-size: 3.5vw;
    }

    #page_recruit .feature .feature_text+.feature_text {
        margin-top: 4vw;
    }

    #page_recruit .feature .feature_img {
        margin-top: 6vw;
    }

    #page_recruit .description {
        padding-top: 15vw;
    }

    #page_recruit .description .description_heading {
        margin-top: 6vw;
        font-size: 4.5vw;
        padding: 0.5vw 2vw;
    }

    #page_recruit .description .description_items+.description_heading {
        margin-top: 15vw;
    }

    #page_recruit .description .description_items {
        margin-top: 2vw;
    }

    #page_recruit .description .description_item {
        grid-template-columns: 1fr;
        padding: 3vw 0;
    }

    #page_recruit .description .description_item dt {
        padding-left: 0;
        font-size: 4vw;
    }

    #page_recruit .description .description_item dd {
        margin-top: 3vw;
        font-size: 3.5vw;
    }

    #page_recruit .description .description_head {
        font-size: 4vw;
    }

    #page_recruit .description .description_lead {
        margin-top: 3vw;
        font-size: 4vw;
    }

    #page_recruit .description .description_head+.description_text {
        margin-top: 3vw;
    }

    #page_recruit .description .description_text+.description_text {
        margin-top: 3vw;
    }

    #page_recruit .staff {
        padding-top: 15vw;
    }

    #page_recruit .staff .staff_heading {
        margin-top: 6vw;
        font-size: 4.5vw;
    }

    #page_recruit .staff .staff_wrapper+.staff_heading {
        margin-top: 15vw;
    }

    #page_recruit .staff .staff_wrapper {
        grid-template-columns: 1fr;
        margin-top: 2vw;
    }

    #page_recruit .staff .staff_img {
        aspect-ratio: 1/1;
        width: 80%;
        margin: 0 auto;
    }

    #page_recruit .staff .staff_img img {
        -o-object-position: 50% 30%;
        object-position: 50% 30%;
    }

    #page_recruit .staff .staff_wrapper:last-child img {
        -o-object-position: 50% 80%;
        object-position: 50% 80%;
    }

    #page_recruit .staff .staff_lead {
        font-size: 4vw;
    }

    #page_recruit .staff .staff_lead:not(:first-child) {
        margin-top: 3vw;
    }

    #page_recruit .staff .staff_text {
        font-size: 3.5vw;
    }

    #page_recruit .staff .staff_body {
        margin-top: 3vw;
    }

    /* page_product (sp) ------------------------------------------------------------------------------------------------------ */

    #page_product {
        padding-bottom: 20vw;
        margin-top: -45vw;
        position: relative;
    }

    #page_product .wrap {
        max-width: 95%;
    }

    #page_product .product_links {
        margin-top: 5vw;
        padding: 0 2.5vw;
    }

    #page_product .product_link a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        width: 100%;
        padding: 4vw 0 1vw;
        border-bottom: 1px solid #CECDCD;
        color: #333;
        font-weight: 700;
        font-size: 3.8vw;
        letter-spacing: 0.1em;
    }

    #page_product .product_link a::after {
        aspect-ratio: 27/10;
        width: 7vw;
        margin-left: auto;
        background-image: url(/wp-content/themes/child/image/common_arrow_blue.svg);
        background-position: center center;
        background-size: cover;
        content: "";
    }

    #page_product .product_contents {
        padding-left: 0;
        margin-top: 20vw;
    }

    #page_product .product_contents+.product_contents {
        margin-top: 20vw;
    }

    #page_product .product_heading {
        font-size: 4.5vw;
    }

    #page_product .product_text {
        margin-top: 1vw;
        font-size: 3.5vw;
    }

    #page_product .product_items {
        -webkit-column-gap: 2%;
        -moz-column-gap: 2%;
        grid-template-columns: 49% 49%;
        column-gap: 2%;
        row-gap: 6vw;
        margin-top: 6vw;
    }

    #page_product .product_body {
        margin-top: 1vw;
    }

    #page_product .product_info {
        grid-template-columns: 1fr;
    }

    #page_product .product_info dt {
        font-size: 4vw;
    }

    #page_product .product_info dd {
        font-size: 3.5vw;
    }

    /* page_sitemap (pc) ------------------------------------------------------------------------------------------------------ */

    #page_sitemap {
        padding-bottom: 10vw;
    }

    /* page_privacy (pc) ------------------------------------------------------------------------------------------------------ */

    #page_privacy {
        padding-bottom: 10vw;
    }

    /* page_error (sp) ------------------------------------------------------------------------------------------------------ */

    #page_error .error_text {
        font-size: 4vw;
    }

    #page_error .error_btn {
        margin: 8vw auto 0;
    }

}

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

    .pc_tel {
        pointer-events: none;
    }

}

@-webkit-keyframes amination_opacity {

    0% {
        opacity: 1;
    }

    49% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    99% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }

}

@keyframes amination_opacity {

    0% {
        opacity: 1;
    }

    49% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    99% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }

}

@-webkit-keyframes amination_scroll {

    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }

    100% {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

}

@keyframes amination_scroll {

    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }

    100% {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

}

@-webkit-keyframes animation_arrow {

    0% {
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    99% {
        -webkit-transform: translate(calc(-50% + 5px), calc(-50% - 5px));
        transform: translate(calc(-50% + 5px), calc(-50% - 5px));
    }

    100% {
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

}

@keyframes animation_arrow {

    0% {
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    99% {
        -webkit-transform: translate(calc(-50% + 5px), calc(-50% - 5px));
        transform: translate(calc(-50% + 5px), calc(-50% - 5px));
    }

    100% {
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

}

@-webkit-keyframes animation_rotate {

    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }

}

@keyframes animation_rotate {

    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }

}

@-webkit-keyframes amination_scroll_recruit {

    0% {
        -webkit-transform: translateY(-80%);
        transform: translateY(-80%);
    }

    100% {
        -webkit-transform: translateY(30%);
        transform: translateY(30%);
    }

}

@keyframes amination_scroll_recruit {

    0% {
        -webkit-transform: translateY(-80%);
        transform: translateY(-80%);
    }

    100% {
        -webkit-transform: translateY(30%);
        transform: translateY(30%);
    }

}

@-webkit-keyframes amination_horizontal {

    0% {
        -webkit-transform: translateX(-150%);
        transform: translateX(-150%);
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

}

@keyframes amination_horizontal {

    0% {
        -webkit-transform: translateX(-150%);
        transform: translateX(-150%);
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

}