@charset "UTF-8";
/*=======================================
font
=======================================*/
/*---
google font
font-family: 'Roboto', sans-serif;
---*/
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700;900&display=swap");
/*---
icon font
---*/
/*★remixicon*/
@import url("https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css");
/**
 * Noto Sans CJK JP: https://www.google.com/get/noto/#sans-jpan
 * Noto Sans JP: https://fonts.google.com/earlyaccess#Noto+Sans+JP
 */
/*Noto Sans JP*/
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    src: local("Noto Sans CJK JP Regular"), url(../fonts/NotoSansJP-Regular.woff2) format("woff2"), url(../fonts/NotoSansJP-Regular.woff) format("woff"), url(../fonts/NotoSansJP-Regular.otf) format("opentype");
}
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 500;
    src: local("Noto Sans CJK JP Medium"), url(../fonts/NotoSansJP-Medium.woff2) format("woff2"), url(../fonts/NotoSansJP-Medium.woff) format("woff"), url(../fonts/NotoSansJP-Medium.otf) format("opentype");
}
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 700;
    src: local("Noto Sans CJK JP Bold"), url(../fonts/NotoSansJP-Bold.woff2) format("woff2"), url(../fonts/NotoSansJP-Bold.woff) format("woff"), url(../fonts/NotoSansJP-Bold.otf) format("opentype");
}
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 900;
    src: local("Noto Sans CJK JP Black"), url(../fonts/NotoSansJP-Black.woff2) format("woff2"), url(../fonts/NotoSansJP-Black.woff) format("woff"), url(../fonts/NotoSansJP-Black.otf) format("opentype");
}
/*body*/
html {
    overflow-x: hidden;
}
body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    color: #000;
    overflow-x: hidden;
}
img {
    image-rendering: -webkit-optimize-contrast;
}
/*=======================================
header
=======================================*/
.header_wrap {
    -webkit-padding-start: clamp(20px, 2.93vw, 40px);
    padding-inline-start: clamp(20px, 2.93vw, 40px);
    -webkit-padding-end: clamp(20px, 2.93vw, 40px);
    padding-inline-end: clamp(20px, 2.93vw, 40px);
}
.header_wrap header {
    inline-size: min(100%, 1286px);
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    position: relative;
    padding-block: calc(6px + clamp(24px, 2.2vw, 30px) + 4px) clamp(8px, 0.9vw, 12px);
}
@media print, screen and (min-width: 768px) {
    .header_wrap header {
        padding-block: 18px clamp(8px, 0.9vw, 12px);
    }
}
.mainlogo img {
    inline-size: clamp(120px, 12vw, 164px);
    block-size: auto;
    transition: 0.2s;
    width: 100%;
    height: min-content;
    max-width: 115px;
}
.mainlogo img:hover {
    opacity: 0.8;
}
@media print, screen and (min-width: 576px) {
    .mainlogo img {
        width: 100%;
        height: min-content;
        max-width: 145px;
    }
}
/*subnav*/
.h_subnav {
    display: flex;
    gap: clamp(8px, 1.02vw, 14px);
    position: absolute;
    inset: 6px 0 auto auto;
}
@media print, screen and (min-width: 768px) {
    .h_subnav {
        position: static;
        -webkit-margin-start: auto;
        margin-inline-start: auto;
        align-items: center;
        -webkit-margin-end: clamp(18px, 1.61vw, 24px);
        margin-inline-end: clamp(18px, 1.61vw, 24px);
    }
}
.h_subnav > li {
    min-inline-size: clamp(100px, 9.5vw, 130px);
    block-size: clamp(24px, 2.2vw, 30px);
}
.h_subnav > li a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    color: #fff;
    border: 2px;
    text-decoration: none;
    font-size: clamp(1rem, 1.02vw, 1.4rem);
    font-weight: 700;
    position: relative;
    -webkit-padding-end: 1.4em;
    padding-inline-end: 1.4em;
    block-size: 100%;
}
.h_subnav > li a::after {
    content: "\ea6e";
    font-family: remixicon !important;
    font-style: normal;
    color: #000;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #ffba26;
    aspect-ratio: 11/12;
    position: absolute;
    inset: 2px 2px 2px auto;
    box-sizing: border-box;
    transition-duration: 0.2s;
    transition-property: padding;
}
.h_subnav > li a:hover {
    color: #ffba26;
}
.h_subnav > li a:hover::after {
    -webkit-padding-start: 0.3em;
    padding-inline-start: 0.3em;
}
/*h contact*/
.header_contact {
    display: flex;
    gap: clamp(8px, 1.17vw, 16px);
    -webkit-margin-end: 48px;
    margin-inline-end: 48px;
}
@media print, screen and (min-width: 1200px) {
    .header_contact {
        -webkit-margin-end: 0;
        margin-inline-end: 0;
    }
}
.h_tel a {
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    text-decoration: none;
    border: 2px solid #000;
    background: #ffba26;
    inline-size: 40px;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    font-size: 2.2rem;
    color: #000;
    box-shadow: 0 clamp(2px, 0.52vw, 4px) 0 #000;
    border-radius: 100px;
}
.h_tel a:hover {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    box-shadow: 0 0 0 #000;
    background: #ee7423;
}
.h_tel a span {
    display: none;
}
@media print, screen and (min-width: 768px) {
    .h_tel a {
        border: none;
        background: transparent;
        aspect-ratio: auto;
        pointer-events: none;
        inline-size: -webkit-max-content;
        inline-size: max-content;
        box-shadow: none;
        font-size: clamp(2.4rem, 2.34vw, 3.2rem);
        align-items: flex-end;
    }
    .h_tel a i {
        font-size: 0.8em;
    }
    .h_tel a span {
        display: inline-block;
    }
}
.h_tel .tel_time {
    display: none;
}
@media print, screen and (min-width: 768px) {
    .h_tel .tel_time {
        display: block;
        font-size: 1.1rem;
        -webkit-padding-before: 0.2em;
        padding-block-start: 0.2em;
    }
}
.h_mail a {
    text-decoration: none;
    border: 2px solid #000;
    background: #ffba26;
    inline-size: 40px;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    font-size: 2.2rem;
    color: #000;
    box-shadow: 0 clamp(2px, 0.52vw, 4px) 0 #000;
    border-radius: 100px;
}
.h_mail a:hover {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    box-shadow: 0 0 0 #000;
    background: #ee7423;
}
.h_mail a span {
    display: none;
}
@media print, screen and (min-width: 1200px) {
    .h_mail a {
        aspect-ratio: auto;
        inline-size: -webkit-max-content;
        inline-size: max-content;
        block-size: 54px;
        font-size: clamp(1.6rem, 1.32vw, 1.8rem);
        font-weight: 700;
        padding: 0 2em;
        gap: 8px;
    }
    .h_mail a i {
        font-size: 1.2em;
    }
    .h_mail a span {
        display: block;
    }
}
/*=======================================
bottom contact pc用
=======================================*/
.bottom_contact {
    display: none;
    gap: clamp(10px, 1.17vw, 16px);
}
.bottom_contact.fixed {
    -webkit-transform: translateY(-90px);
    transform: translateY(-90px);
    -webkit-animation: nav_fixed 0.5s forwards;
    animation: nav_fixed 0.5s forwards;
    position: fixed !important;
    bottom: 0;
    z-index: 998;
    background: #ee7423;
    display: flex;
    justify-content: center;
    padding: 10px 0;
    width: 100%;
}
.bottom_contact.fixed li {
    width: calc(100% / 2 -15px);
}
@media print, screen and (min-width: 768px) {
    .bottom_contact {
        display: none !important;
    }
    .bottom_contact.fixed {
        display: none !important;
    }
}
@-webkit-keyframes nav_fixed {
    0% {
        -webkit-transform: translateY(-90px);
        transform: translateY(-90px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
@keyframes nav_fixed {
    0% {
        -webkit-transform: translateY(-90px);
        transform: translateY(-90px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
@media print, screen and (min-width: 1200px) {
    .bottom_contact {
        -webkit-margin-end: 0;
        margin-inline-end: 0;
    }
}
.bt_tel a {
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    text-decoration: none;
    border: 2px solid #000;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.9rem;
    color: #000;
    box-shadow: 0 clamp(2px, 0.52vw, 4px) 0 #000;
    border-radius: 100px;
    padding: 10px 10px;
}
.bt_tel a:hover {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    box-shadow: 0 0 0 #000;
    background: #ffba26;
}
.bt_tel a span {
    /*display: none;*/
}
@media print, screen and (min-width: 768px) {
    .bt_tel a {
        border: none;
        background: transparent;
        aspect-ratio: auto;
        pointer-events: none;
        inline-size: -webkit-max-content;
        inline-size: max-content;
        box-shadow: none;
        font-size: clamp(2.4rem, 2.34vw, 3.2rem);
        align-items: flex-end;
    }
    .bt_tel a i {
        font-size: 0.8em;
    }
    .bt_tel a span {
        display: inline-block;
    }
}
.bt_tel .tel_time {
    /*display: none;*/
}
@media print, screen and (min-width: 768px) {
    .bt_tel .tel_time {
        display: block;
        font-size: 1.1rem;
        -webkit-padding-before: 0.2em;
        padding-block-start: 0.2em;
    }
}
.bt_mail a {
    text-decoration: none;
    border: 2px solid #000;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.9rem;
    color: #000;
    box-shadow: 0 clamp(2px, 0.52vw, 4px) 0 #000;
    border-radius: 100px;
    padding: 10px 10px;
}
.bt_mail a:hover {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    box-shadow: 0 0 0 #000;
    background: #ffba26;
}
.bt_mail a span {
    /*display: none;*/
}
@media print, screen and (min-width: 1200px) {
    .bt_mail a {
        aspect-ratio: auto;
        inline-size: -webkit-max-content;
        inline-size: max-content;
        block-size: 54px;
        font-size: clamp(1.6rem, 1.32vw, 1.8rem);
        font-weight: 700;
        padding: 0 2em;
        gap: 8px;
    }
    .bt_mail a i {
        font-size: 1.2em;
    }
    .bt_mail a span {
        display: block;
    }
}
@media print, screen and (min-width: 410px) {
    .bt_tel a {
        padding: 10px 15px;
    }
    .bt_mail a {
        padding: 10px 15px;
    }
}
/*=======================================
nav
=======================================*/
/*toggle ==*/
.toggle {
    position: fixed;
    inset-inline-end: clamp(20px, 2.93vw, 40px);
    top: calc(6px + clamp(24px, 2.2vw, 30px) + 14px);
    z-index: 1000;
    transition: 0.2s;
}
.toggle button {
    border: none;
}
.toggle.toggle_open {
    top: clamp(24px, 2.2vw, 30px);
}
.toggle.fixed {
    top: clamp(24px, 2.2vw, 30px);
}
@media print, screen and (min-width: 768px) {
    .toggle {
        top: calc(6px + clamp(24px, 2.2vw, 30px));
    }
}
@media print, screen and (min-width: 1200px) {
    .toggle {
        display: none;
    }
}
.hamburger {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    inline-size: 35px;
    block-size: 26px;
    padding: 0;
    background-color: transparent;
    outline: none;
}
.hamburger::before {
    display: block;
    inline-size: 35px;
    block-size: 3px;
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    background-color: #000;
    box-sizing: border-box;
    -webkit-animation: navToggleOuter_reverse 0.5s;
    animation: navToggleOuter_reverse 0.5s;
    content: "";
    transition-duration: 0.5s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
}
.hamburger::after {
    display: block;
    position: absolute;
    inset-inline-start: 0;
    inset-block-end: 0;
    inline-size: 26px;
    block-size: 3px;
    background-color: #000;
    box-sizing: border-box;
    -webkit-animation: navToggleInner_reverse 0.5s;
    animation: navToggleInner_reverse 0.5s;
    content: "";
    transition-duration: 0.5s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
}
.hamburger span {
    display: block;
    inline-size: 30px;
    block-size: 3px;
    background-color: #000;
    box-sizing: border-box;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    transition-duration: 0.5s;
    transition-property: opacity;
}
.hamburger_open::before {
    inset-block-start: 50%;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}
.hamburger_open::after {
    inline-size: 35px;
    inset-block-start: 50%;
    inset-inline-start: 1.5px;
    -webkit-transform: rotate(-45deg) translateY(-50%);
    transform: rotate(-45deg) translateY(-50%);
}
.hamburger_open span {
    opacity: 0;
}
/*nav ==*/
#mainnav {
    position: fixed;
    block-size: 100vh;
    inline-size: auto;
    opacity: 0;
    inset: 0 0 0 auto;
    background: #ee7423;
    transition-duration: 0.5s;
    transition-property: block-size, opacity, -webkit-transform;
    transition-property: block-size, opacity, transform;
    transition-property: block-size, opacity, transform, -webkit-transform;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-border-start: 3px solid #000;
    border-inline-start: 3px solid #000;
}
#mainnav.navopen {
    z-index: 999;
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}
@media print, screen and (min-width: 1200px) {
    #mainnav {
        position: static;
        block-size: auto;
        inline-size: auto;
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
        -webkit-border-before: 3px solid #000;
        border-block-start: 3px solid #000;
        -webkit-border-after: 3px solid #000;
        border-block-end: 3px solid #000;
        -webkit-border-start: none;
        border-inline-start: none;
    }
    #mainnav.fixed {
        position: fixed;
        inset: 0 0 auto;
        z-index: 1000;
    }
    #mainnav.fixed .nav_group > li {
        inline-size: 16.6666666666%;
    }
    #mainnav.fixed .nav_group > li.mainnav_contact {
        display: block;
        inline-size: 16.6666666666%;
    }
}
.nav_group {
    -webkit-margin-before: 70px;
    margin-block-start: 70px;
    -webkit-border-before: 2px solid #000;
    border-block-start: 2px solid #000;
    inline-size: 240px;
}
@media print, screen and (min-width: 1200px) {
    .nav_group {
        -webkit-margin-before: 0;
        margin-block-start: 0;
        -webkit-border-before: none;
        border-block-start: none;
        display: flex;
        inline-size: min(100%, 1286px);
        margin-inline: auto;
        -webkit-border-start: 2px solid #000;
        border-inline-start: 2px solid #000;
    }
}
.nav_group > li.mainnav_contact {
    display: none;
}
.nav_group > li.mainnav_contact a {
    background: #000;
    color: #ffba26;
}
.nav_group > li.mainnav_contact a i {
    font-size: 1.2em;
    -webkit-margin-end: 0.2em;
    margin-inline-end: 0.2em;
}
.nav_group > li.mainnav_contact a::before {
    display: none;
}
.nav_group > li.mainnav_contact a:hover {
    background: #ffba26;
    color: #000;
}
@media print, screen and (min-width: 1200px) {
    .nav_group > li {
        inline-size: 20%;
    }
}
.nav_group > li a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1;
    text-decoration: none;
    background: #ee7423;
    padding-block: 1.1em;
    -webkit-border-after: 2px solid #000;
    border-block-end: 2px solid #000;
    transition: 0.2s;
}
.nav_group > li a::before {
    content: "";
    display: block;
    inline-size: 36px;
    block-size: 4px;
    border-radius: 4px 4px 0 0;
    background: #000;
    position: absolute;
    inset: auto auto 0;
}
.nav_group > li a:hover {
    background: #ffba26;
}
@media print, screen and (min-width: 1200px) {
    .nav_group > li a {
        -webkit-border-after: none;
        border-block-end: none;
        block-size: 70px;
        -webkit-border-end: 2px solid #000;
        border-inline-end: 2px solid #000;
    }
}
.nav_group > li.active a {
    background: #ffba26;
    pointer-events: none;
}
/*=======================================
h1
=======================================*/
h1 {
    width: 100%;
    text-align: left;
    display: block;
    font-size: 12px;
    color: #666666;
    margin: 0 0 5px 0;
}
.top_h1 {
    text-align: left;
}
.top_h1 img {
    width: 100%;
    height: auto;
    max-width: 247px;
}
.header_wrap a {
    text-decoration: none;
}
/*=======================================
top_tx
=======================================*/
.catch_group {
    position: relative;
    width: 100%;
}
.tx_top {
    display: block;
    position: relative;
    justify-content: center;
    align-items: center;
    padding: 0 0 0 0;
}
span.cost_reduction {
    /*position: absolute;
    top: 0;
    left: 0;
    right: 0;*/
    bottom: 112px;
    color: #ee7423;
    font-weight: 700;
    font-size: 1.5em;
    z-index: 3;
    line-height: 1.2;
}
.tx_top span.touch_panel {
    display: inline-block;
    background: #000;
    padding: 5px 30px 8px;
    border-radius: 50px;
    font-weight: bold;
    color: #fff;
    font-size: 1.5em;
}
.tx_top span.tk_1930_h1 {
    display: block;
    font-family: "Roboto", sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 4em;
    /*background: radial-gradient(circle, rgba(238, 116, 35, 9), rgba(255, 242, 58, 1));
    background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;*/
    z-index: 3;
    white-space: nowrap;
    color: #ff4b00;
    line-height: 1.2;
}
/*.tx_top span.tk_1930_h1_01 {
    position: absolute;
    left: 0;
    right: 0;
    top: 74px;
    margin: 0 auto;
    display: block;
    font-family: "Roboto", sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 4em;
    background: radial-gradient(circle, rgba(238, 116, 35, 9), rgba(255, 242, 58, 1));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 4px;
    -webkit-text-stroke-color: #000;
    z-index: 2;
    white-space: nowrap;
}
.tx_top span.tk_1930_h1_02 {
    position: absolute;
    left: 0;
    right: 0;
    top: 74px;
    margin: 0 auto;
    display: block;
    font-family: "Roboto", sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 4em;
    width: 100%;
    background: radial-gradient(circle, rgba(238, 116, 35, 9), rgba(255, 242, 58, 1));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 11px;
    -webkit-text-stroke-color: #fff;
    white-space: nowrap;
}*/
@media print, screen and (min-width: 576px) {
    .catch_group {
        width: 60%;
    }
    .tx_top {}
    span.cost_reduction {
        font-size: 2em;
        z-index: 3;
    }
    .tx_top span.touch_panel {
        font-size: 2em;
    }
    .tx_top span.tk_1930_h1 {}
}
@media print, screen and (min-width: 768px) {
    .tx_top {
        position: relative;
        justify-content: center;
        align-items: center;
        padding: 10px 0 0 0;
    }
    span.cost_reduction {
        font-size: 2.4em;
        z-index: 3;
        white-space: nowrap;
    }
    .tx_top span.touch_panel {
        padding: 5px 5px 10px;
        margin: 0 10px 0 0;
        font-size: 2.2em;
        width: 100%;
        max-width: 240px;
        line-height: 1.6;
    }
    .tx_top span.tk_1930_h1 {
        font-size: 5.7em;
    }
}
@media print, screen and (min-width: 992px) {
    .catch_group {
        width: 100%;
        max-width: 635px;
    }
    .tx_top {
        display: flex;
        padding: 0 0 0 0;
        margin: 0 0 0 0;
    }
    .tx_top span.tk_1930_h1 {}
    span.cost_reduction {
        color: #ee7423;
        font-weight: 700;
        font-size: 2.7em;
    }
    span.cost_reduction br {
        display: none;
    }
    .tx_top span.touch_panel {
        max-width: 250px;
    }
    .tx_top span.tk_1930_h1 {
        font-size: 6em;
    }
    .catch_img img {
        max-width: 400px;
    }
}
@media print, screen and (min-width: 1000px) {
    .tx_top span.touch_panel {
        max-width: 340px;
        font-size: 2.6em;
    }
}
@media print, screen and (min-width: 1100px) {
    .tx_top span.touch_panel {
        display: inline-block;
    }
    .tx_top span.tk_1930_h1 {
        font-family: "Roboto", sans-serif;
        font-weight: 900;
        font-style: normal;
        font-size: 6.2em;
    }
}
/*=======================================
others h1
=======================================*/
h1.mainlogo div {
    position: relative;
    height: 40px;
    padding: 0 0 0 0;
    margin: 15px 0 0 0;
}
h1.mainlogo a {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}
h1.mainlogo span.cost_reduction {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 34px;
    color: #ee7423;
    font-weight: 700;
    font-size: 0.7em;
    z-index: 3;
}
h1.mainlogo span.cost_reduction_02 {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 34px;
    color: #ee7423;
    background: #ee7423;
    font-weight: 700;
    font-size: 0.7em;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 3px;
    -webkit-text-stroke-color: #fff;
}
h1.mainlogo span.touch_panel {
    display: inline-block;
    background: #000;
    padding: 2px 10px 5px;
    border-radius: 50px;
    font-weight: bold;
    color: #fff;
    font-size: 0.6em;
}
h1.mainlogo span.tk_1930_h1 {
    position: absolute;
    left: 0;
    right: 0;
    top: 18px;
    margin: 0 auto;
    display: block;
    font-family: "Roboto", sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 1.3em;
    width: 90%;
    background: radial-gradient(circle, rgba(238, 116, 35, 9), rgba(255, 242, 58, 1));
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #000;
    z-index: 2;
}
h1.mainlogo span.tk_1930_h1_02 {
    position: absolute;
    left: 0;
    right: 0;
    top: 18px;
    margin: 0 auto;
    display: block;
    font-family: "Roboto", sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 1.3em;
    width: 90%;
    background: radial-gradient(circle, rgba(238, 116, 35, 9), rgba(255, 242, 58, 1));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 3px;
    -webkit-text-stroke-color: #fff;
}
@media print, screen and (min-width: 576px) {
    h1.mainlogo div {
        position: relative;
        height: 65px;
        padding: 0 0 0 0;
        margin: 15px 0 0 5px;
    }
    h1.mainlogo span.cost_reduction {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 65px;
        color: #ee7423;
        font-weight: 700;
        font-size: 0.8em;
        z-index: 3;
    }
    h1.mainlogo span.cost_reduction_02 {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 65px;
        color: #ee7423;
        background: #ee7423;
        font-weight: 700;
        font-size: 0.8em;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke-width: 3px;
        -webkit-text-stroke-color: #fff;
    }
    h1.mainlogo span.touch_panel {
        display: inline-block;
        background: #000;
        padding: 5px 10px;
        border-radius: 50px;
        font-weight: bold;
        color: #fff;
        font-size: 0.8em;
    }
    h1.mainlogo span.tk_1930_h1 {
        position: absolute;
        left: 0;
        right: 0;
        top: 16px;
        margin: 0 auto;
        display: block;
        font-family: "Roboto", sans-serif;
        font-weight: 900;
        font-style: normal;
        font-size: 2em;
        width: 90%;
        background: radial-gradient(circle, rgba(238, 116, 35, 9), rgba(255, 242, 58, 1));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke-width: 1px;
        -webkit-text-stroke-color: #000;
        z-index: 2;
    }
    h1.mainlogo span.tk_1930_h1_02 {
        position: absolute;
        left: 0;
        right: 0;
        top: 16px;
        margin: 0 auto;
        display: block;
        font-family: "Roboto", sans-serif;
        font-weight: 900;
        font-style: normal;
        font-size: 2em;
        width: 90%;
        background: radial-gradient(circle, rgba(238, 116, 35, 9), rgba(255, 242, 58, 1));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke-width: 3px;
        -webkit-text-stroke-color: #fff;
    }
}
@media print, screen and (min-width: 768px) {
    h1.mainlogo div {
        position: relative;
        height: 65px;
        padding: 0 0 0 0;
        margin: 15px 0 0 20px;
    }
    h1.mainlogo span.cost_reduction {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 65px;
        color: #ee7423;
        font-weight: 700;
        font-size: 0.8em;
        z-index: 3;
    }
    h1.mainlogo span.cost_reduction_02 {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 65px;
        color: #ee7423;
        background: #ee7423;
        font-weight: 700;
        font-size: 0.8em;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke-width: 3px;
        -webkit-text-stroke-color: #fff;
    }
    h1.mainlogo span.touch_panel {
        display: inline-block;
        background: #000;
        padding: 5px 10px;
        border-radius: 50px;
        font-weight: bold;
        color: #fff;
        font-size: 0.8em;
    }
    h1.mainlogo span.tk_1930_h1 {
        position: absolute;
        left: 0;
        right: 0;
        top: 16px;
        margin: 0 auto;
        display: block;
        font-family: "Roboto", sans-serif;
        font-weight: 900;
        font-style: normal;
        font-size: 2em;
        width: 90%;
        background: radial-gradient(circle, rgba(238, 116, 35, 9), rgba(255, 242, 58, 1));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke-width: 1px;
        -webkit-text-stroke-color: #000;
        z-index: 2;
    }
    h1.mainlogo span.tk_1930_h1_02 {
        position: absolute;
        left: 0;
        right: 0;
        top: 16px;
        margin: 0 auto;
        display: block;
        font-family: "Roboto", sans-serif;
        font-weight: 900;
        font-style: normal;
        font-size: 2em;
        width: 90%;
        background: radial-gradient(circle, rgba(238, 116, 35, 9), rgba(255, 242, 58, 1));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke-width: 3px;
        -webkit-text-stroke-color: #fff;
    }
}
/*=======================================
footer
=======================================*/
.footer_area {
    background: #ee7423;
    -webkit-border-before: 4px solid #000;
    border-block-start: 4px solid #000;
    -webkit-padding-start: clamp(20px, 2.93vw, 40px);
    padding-inline-start: clamp(20px, 2.93vw, 40px);
    -webkit-padding-end: clamp(20px, 2.93vw, 40px);
    padding-inline-end: clamp(20px, 2.93vw, 40px);
}
.footer_wrap {
    inline-size: min(100%, 1286px);
    margin-inline: auto;
    padding-block: clamp(30px, 3.66vw, 50px) clamp(30px, 4.4vw, 60px);
}
@media print, screen and (min-width: 992px) {
    .footer_wrap {
        display: flex;
        justify-content: space-between;
    }
}
/**/
.footer_info {
    width: 100%;
    text-align: center;
    -webkit-padding-after: 35px;
    padding-block-end: 35px;
}
@media print, screen and (min-width: 768px) {
    .footer_info {
        width: max-content;
        text-align: start;
    }
}
.footer_logo img {
    inline-size: clamp(120px, 12vw, 164px);
    block-size: auto;
}
.footer_logo + * {
    -webkit-margin-before: clamp(16px, 2.2vw, 30px);
    margin-block-start: clamp(16px, 2.2vw, 30px);
}
.sns_list {
    display: flex;
    gap: 10px;
}
/*f nav 01*/
.footer_nav01 {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(24px, 2.93vw, 40px);
}
.f_nav01 {
    text-align: start;
}
.f_nav01 > li {
    -webkit-margin-after: 0.6em;
    margin-block-end: 0.6em;
}
.f_nav01 > li a {
    display: inline-block;
    color: #000;
    text-decoration: none;
    font-size: clamp(1.4rem, 1.17vw, 1.6rem);
    line-height: 1.2;
}
.f_nav01 > li a:hover {
    color: #ffba26;
}
.f_nav01 > li > ul > li {
    -webkit-margin-before: 0.5em;
    margin-block-start: 0.5em;
}
.f_nav01 > li > ul > li a {
    position: relative;
    -webkit-padding-start: 16px;
    padding-inline-start: 16px;
}
.f_nav01 > li > ul > li a::before {
    content: "";
    display: block;
    inline-size: 11px;
    block-size: 2px;
    background: #000;
    position: absolute;
    inset: 0.6em auto auto 0;
}
/*f nav 02*/
.footer_nav02 {
    position: relative;
}
.footer_nav02::before {
    content: "";
    display: block;
    block-size: 4px;
    inline-size: 100vw;
    margin-inline: calc(50% - 50vw);
    background: #000;
    inset: 0 0 auto;
}
.f_nav02 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding-block: 2.13em;
    gap: 1em 1.13em;
}
.f_nav02 > li a {
    color: #000;
    text-decoration: none;
    font-size: clamp(1.4rem, 1.17vw, 1.6rem);
    line-height: 1.2;
}
.f_nav02 > li a:hover {
    color: #ffba26;
}
/*copy*/
footer {
    background: #000;
    padding: 0 0 65px 0;
}
footer .copyright {
    color: #fff;
    font-size: clamp(1.2rem, 1.02vw, 1.4rem);
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    line-height: 1;
    padding-block: 1.43em;
}
@media print, screen and (min-width: 768px) {
    footer {
        background: #000;
        padding: 0 0 0 0;
    }
}
/*=============================
text
=============================*/
.cts_p {
    text-align: start;
}
.cts_p.tx_cent {
    text-align: center;
}
.cts_p + .cts_p {
    -webkit-margin-before: 1em;
    margin-block-start: 1em;
}
@media print, screen and (min-width: 992px) {
    .cts_p.l_cent {
        text-align: center;
    }
}
/*TextRight*/
.tx_right {
    text-align: end;
}
/*TextLeft*/
.tx_left {
    text-align: start;
}
/*TextCenter*/
.tx_cent {
    text-align: center;
}
/*center/left*/
.l_cent {
    text-align: start;
}
@media print, screen and (min-width: 992px) {
    .l_cent {
        text-align: center;
    }
}
/*left/center*/
.cent_l {
    text-align: center;
}
@media print, screen and (min-width: 992px) {
    .cent_l {
        text-align: start;
    }
}
.en_tx {
    font-family: "Roboto", sans-serif;
    font-weight: 700;
}
/*bold*/
.tx_bold {
    font-weight: 700;
}
/*Textmaincolor*/
.tx_main {
    color: #ee7423;
}
.tx_sub {
    color: #ffba26;
}
/*TextRed*/
.tx_red {
    color: #ff4b00;
}
/*TextGray*/
.tx_red {
    color: #666;
}
/*s text*/
.s_tx {
    font-size: clamp(1.4rem, 1.17vw, 1.6rem);
}
.s_em {
    font-size: 0.8em;
}
/*big text*/
.b_tx {
    font-size: clamp(1.8rem, 1.76vw, 2.4rem);
}
.b_em {
    font-size: 1.2em;
}
/*marker*/
.marker {
    background: linear-gradient(transparent 60%, #ffcf66 60%);
}
/*=============================*/
/*== 幅 ==*/
/*=============================*/
.w100 {
    inline-size: 100%;
}
.max_40 {
    max-inline-size: 40px;
}
.max_60 {
    max-inline-size: 60px;
}
.max_80 {
    max-inline-size: 80px;
}
.max_160 {
    max-inline-size: 160px;
}
.max_240 {
    max-inline-size: 240px;
}
.max_360 {
    max-inline-size: 360px;
}
.max_400 {
    max-inline-size: 400px;
}
.max_560 {
    max-inline-size: 560px;
}
.min_40 {
    min-inline-size: 40px;
}
.min_60 {
    min-inline-size: 60px;
}
.min_80 {
    min-inline-size: 80px;
}
.min_160 {
    min-inline-size: 160px;
}
.min_240 {
    min-inline-size: 240px;
}
.min_360 {
    min-inline-size: 360px;
}
.min_400 {
    min-inline-size: 400px;
}
.min_560 {
    min-inline-size: 560px;
}
/*=============================*/
/*== Margin ==*/
/*=============================*/
/*MarginTop*/
.margin_t06 {
    -webkit-margin-before: 6px;
    margin-block-start: 6px;
}
.margin_t08 {
    -webkit-margin-before: 8px;
    margin-block-start: 8px;
}
.margin_t10 {
    -webkit-margin-before: 10px;
    margin-block-start: 10px;
}
.margin_t16 {
    -webkit-margin-before: 16px;
    margin-block-start: 16px;
}
.margin_t24 {
    -webkit-margin-before: 24px;
    margin-block-start: 24px;
}
.margin_t32 {
    -webkit-margin-before: 32px;
    margin-block-start: 32px;
}
.margin_t40 {
    -webkit-margin-before: 40px;
    margin-block-start: 40px;
}
.margin_t56 {
    -webkit-margin-before: 56px;
    margin-block-start: 56px;
}
/*MarginBottom*/
.margin_b06 {
    -webkit-margin-after: 6px;
    margin-block-end: 6px;
}
.margin_b08 {
    -webkit-margin-after: 8px;
    margin-block-end: 8px;
}
.margin_b10 {
    -webkit-margin-after: 10px;
    margin-block-end: 10px;
}
.margin_b16 {
    -webkit-margin-after: 16px;
    margin-block-end: 16px;
}
.margin_b24 {
    -webkit-margin-after: 24px;
    margin-block-end: 24px;
}
.margin_b32 {
    -webkit-margin-after: 32px;
    margin-block-end: 32px;
}
.margin_b40 {
    -webkit-margin-after: 40px;
    margin-block-end: 40px;
}
.margin_b56 {
    -webkit-margin-after: 56px;
    margin-block-end: 56px;
}
/*MarginRight*/
.margin_r06 {
    -webkit-margin-end: 6px;
    margin-inline-end: 6px;
}
.margin_r10 {
    -webkit-margin-end: 10px;
    margin-inline-end: 10px;
}
.margin_r16 {
    -webkit-margin-end: 16px;
    margin-inline-end: 16px;
}
.margin_r24 {
    -webkit-margin-end: 24px;
    margin-inline-end: 24px;
}
/*MarginLeft*/
.margin_l06 {
    -webkit-margin-start: 6px;
    margin-inline-start: 6px;
}
.margin_l10 {
    -webkit-margin-start: 10px;
    margin-inline-start: 10px;
}
.margin_l16 {
    -webkit-margin-start: 16px;
    margin-inline-start: 16px;
}
.margin_l24 {
    -webkit-margin-start: 24px;
    margin-inline-start: 24px;
}
/*==========================
layout
==========================*/
/*枠===========*/
.section_wrap {
    -webkit-padding-start: clamp(20px, 2.93vw, 40px);
    padding-inline-start: clamp(20px, 2.93vw, 40px);
    -webkit-padding-end: clamp(20px, 2.93vw, 40px);
    padding-inline-end: clamp(20px, 2.93vw, 40px);
    -webkit-padding-before: clamp(60px, 5.86vw, 100px);
    padding-block-start: clamp(60px, 5.86vw, 100px);
    -webkit-padding-after: clamp(60px, 5.86vw, 100px);
    padding-block-end: clamp(60px, 5.86vw, 100px);
}
.section_wrap.tb_nospace {
    -webkit-padding-before: 0;
    padding-block-start: 0;
    -webkit-padding-after: 0;
    padding-block-end: 0;
}
.section_wrap.t_nospace {
    -webkit-padding-before: 0;
    padding-block-start: 0;
}
.section_wrap.b_nospace {
    -webkit-padding-after: 0;
    padding-block-end: 0;
}
.section_inner {
    inline-size: 100%;
    max-inline-size: 1166px;
    margin-inline: auto auto;
}
.inner_max {
    padding-block: 0;
    padding-inline: calc(50% - 50vw);
    inline-size: 100vw;
}
/*spacer============*/
.spacer_l + * {
    -webkit-margin-before: clamp(64px, 5.86vw, 100px);
    margin-block-start: clamp(64px, 5.86vw, 100px);
}
.spacer_m + * {
    -webkit-margin-before: clamp(48px, 4.4vw, 80px);
    margin-block-start: clamp(48px, 4.4vw, 80px);
}
.spacer_s + * {
    -webkit-margin-before: clamp(32px, 4.4vw, 60px);
    margin-block-start: clamp(32px, 4.4vw, 60px);
}
.spacer_ss + * {
    -webkit-margin-before: clamp(24px, 2.93vw, 40px);
    margin-block-start: clamp(24px, 2.93vw, 40px);
}
/*card============*/ :root {
    --lay_gap_sp: 16px;
    --lay_gap_md: 40px;
}
/*1 →　2*/
.ly_card_2column {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: var(--lay_gap_sp);
}
.ly_card_2column > div, .ly_card_2column > li, .ly_card_2column > figure, .ly_card_2column > section, .ly_card_2column > article, .ly_card_2column > dt, .ly_card_2column > dd {
    inline-size: 100%;
}
@media print, screen and (min-width: 768px) {
    .ly_card_2column {
        flex-direction: row;
        gap: var(--lay_gap_md);
    }
    .ly_card_2column > div, .ly_card_2column > li, .ly_card_2column > figure, .ly_card_2column > section, .ly_card_2column > article, .ly_card_2column > dt, .ly_card_2column > dd {
        inline-size: calc(50% - var(--lay_gap_md) / 2);
    }
}
/*1 →　3*/
.ly_card_3column {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: var(--lay_gap_sp);
}
.ly_card_3column > div, .ly_card_3column > li, .ly_card_3column > figure, .ly_card_3column > section, .ly_card_3column > article, .ly_card_3column > dt, .ly_card_3column > dd {
    inline-size: 100%;
}
@media print, screen and (min-width: 768px) {
    .ly_card_3column {
        flex-direction: row;
        gap: var(--lay_gap_md);
    }
    .ly_card_3column > div, .ly_card_3column > li, .ly_card_3column > figure, .ly_card_3column > section, .ly_card_3column > article, .ly_card_3column > dt, .ly_card_3column > dd {
        inline-size: calc(33.3333333333% - var(--lay_gap_md) * 2 / 3);
    }
}
/*1 → 2 → 4*/
.ly_card_4column {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: var(--lay_gap_sp);
}
.ly_card_4column > div, .ly_card_4column > li, .ly_card_4column > figure, .ly_card_4column > section, .ly_card_4column > article, .ly_card_4column > dt, .ly_card_4column > dd {
    inline-size: 100%;
}
@media print, screen and (min-width: 768px) {
    .ly_card_4column {
        flex-direction: row;
        gap: var(--lay_gap_md);
    }
    .ly_card_4column > div, .ly_card_4column > li, .ly_card_4column > figure, .ly_card_4column > section, .ly_card_4column > article, .ly_card_4column > dt, .ly_card_4column > dd {
        inline-size: calc(50% - var(--lay_gap_md) / 2);
    }
}
@media print, screen and (min-width: 992px) {
    .ly_card_4column > div, .ly_card_4column > li, .ly_card_4column > figure, .ly_card_4column > section, .ly_card_4column > article, .ly_card_4column > dt, .ly_card_4column > dd {
        inline-size: calc(25% - var(--lay_gap_md) * 3 / 4);
    }
}
/*2*/
.ly_2column {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lay_gap_sp);
}
.ly_2column > div, .ly_2column > li, .ly_2column > figure, .ly_2column > section, .ly_2column > article, .ly_2column > dt, .ly_2column > dd {
    inline-size: calc(50% - var(--lay_gap_sp) / 2);
}
@media print, screen and (min-width: 768px) {
    .ly_2column {
        gap: var(--lay_gap_md);
    }
    .ly_2column > div, .ly_2column > li, .ly_2column > figure, .ly_2column > section, .ly_2column > article, .ly_2column > dt, .ly_2column > dd {
        inline-size: calc(50% - var(--lay_gap_md) / 2);
    }
}
/*2→3*/
.ly_2_3column {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lay_gap_sp);
}
.ly_2_3column > div, .ly_2_3column > li, .ly_2_3column > figure, .ly_2_3column > section, .ly_2_3column > article, .ly_2_3column > dt, .ly_2_3column > dd {
    inline-size: calc(50% - var(--lay_gap_sp) / 2);
}
@media print, screen and (min-width: 992px) {
    .ly_2_3column {
        gap: var(--lay_gap_md);
    }
    .ly_2_3column > div, .ly_2_3column > li, .ly_2_3column > figure, .ly_2_3column > section, .ly_2_3column > article, .ly_2_3column > dt, .ly_2_3column > dd {
        inline-size: calc(33.3333333333% - var(--lay_gap_md) * 2 / 3);
    }
}
/*golden ratio*/
.ly_gold {
    display: flex;
    flex-direction: column;
    gap: 24px 40px;
}
.ly_gold.s_top .ly_gold_s {
    order: -1;
}
.ly_gold.b_top .ly_gold_b {
    order: -1;
}
@media print, screen and (min-width: 768px) {
    .ly_gold {
        flex-direction: row;
        justify-content: space-between;
    }
    .ly_gold.align_cent {
        align-items: center;
    }
    .ly_gold .ly_gold_s {
        inline-size: 50%;
        order: 0;
    }
    .ly_gold .ly_gold_b {
        inline-size: calc(50% - 40px);
        order: 0;
    }
    .ly_gold.s_top .ly_gold_s {
        order: 0;
    }
    .ly_gold.b_top .ly_gold_b {
        order: 0;
    }
}
@media print, screen and (min-width: 992px) {
    .ly_gold .ly_gold_s {
        inline-size: 38%;
    }
    .ly_gold .ly_gold_b {
        inline-size: calc(62% - 40px);
    }
}
/*half*/
.ly_half {
    display: flex;
    flex-direction: column;
}
@media print, screen and (min-width: 768px) {
    .ly_half {
        flex-direction: row;
    }
    .ly_half > div, .ly_half > li, .ly_half > figure, .ly_half > section, .ly_half > article, .ly_half > dt, .ly_half > dd {
        inline-size: 50%;
    }
}
/*btn_layout*/
.ly_btn_box {
    display: flex;
    flex-direction: column;
    gap: 16px 24px;
}
@media print, screen and (min-width: 768px) {
    .ly_btn_box {
        flex-direction: row;
        justify-content: center;
    }
    .ly_btn_box.tx_left {
        justify-content: flex-start;
    }
    .ly_btn_box.tx_right {
        justify-content: flex-end;
    }
}
/*==========================
other
==========================*/
.bg_color01 {
    background: #f1f1f0;
}
.bg_color02 {
    background: #ffcf66;
}
.bg_color03 {
    background: #fef2d9;
}
/*anchorlink============*/
/*<a id="name" class="anchor" ></a>===========*/
a.anchor {
    display: block;
    position: relative;
    top: -100px;
    visibility: hidden;
}
/*ClearFix============*/
.clearfix {
    zoom: 1;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
/*Float============*/
/*FloatLeft*/
.float_left {
    float: inline-start;
}
/*FloatRight*/
.float_right {
    float: inline-end;
}
/*ClearBoth*/
.clearboth {
    clear: both;
}
/*phbox============*/ :root {
    --float_space: 30px;
    --img_top: 16px;
}
.phbox_right, .phbox_left {
    text-align: center;
    -webkit-margin-after: var(--img_top);
    margin-block-end: var(--img_top);
}
.phbox_right img, .phbox_left img {
    max-inline-size: 100%;
    block-size: auto;
}
.phbox_right img + *:not(figcaption), .phbox_left img + *:not(figcaption) {
    -webkit-margin-before: var(--img_top);
    margin-block-start: var(--img_top);
}
.phbox_right > a, .phbox_left > a {
    display: block;
}
.phbox_right > a + *, .phbox_left > a + * {
    -webkit-margin-before: var(--img_top);
    margin-block-start: var(--img_top);
}
.ov_hidden {
    overflow: hidden;
}
@media print, screen and (min-width: 768px) {
    .phbox_right {
        float: right;
        -webkit-margin-start: var(--float_space);
        margin-inline-start: var(--float_space);
        -webkit-margin-after: 0;
        margin-block-end: 0;
    }
    .phbox_left {
        float: left;
        -webkit-margin-end: var(--float_space);
        margin-inline-end: var(--float_space);
        -webkit-margin-after: 0;
        margin-block-end: 0;
    }
}
/*レスポンシブblock/none============*/
@media print, screen and (min-width: 768px) {
    .pc_none {
        display: none;
    }
}
.sp_none {
    display: none;
}
@media print, screen and (min-width: 768px) {
    .sp_none {
        display: inline-block;
    }
}
/*tel============*/
.tel-link a {
    text-decoration: underline;
    color: inherit;
}
.tel-link a:hover {
    opacity: 0.8;
}
/*img_fluid============*/
.img_fluid {
    max-inline-size: 100%;
    block-size: auto;
}
/*==========================
parts
==========================*/
/*Pagetop============*/
.pagetop {
    position: fixed;
    bottom: 80px;
    right: 20px;
    z-index: 1000;
}
@media print, screen and (min-width: 768px) {
    .pagetop {
        position: fixed;
        bottom: 20px;
        right: 20px;
        z-index: 1000;
    }
}
.pagetop a {
    text-decoration: none;
    aspect-ratio: 1/1;
    inline-size: clamp(40px, 5.12vw, 70px);
    border-radius: 50%;
    border: 3px solid #000;
    color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffba26;
    font-size: clamp(2.4rem, 2.93vw, 4rem);
    line-height: 1;
    transition: 0.2s;
}
.pagetop a:hover {
    background: #ee7423;
}
.pagetop a:active {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
}
/*pagetitle============*/
.pagetitle_wrap {
    -webkit-padding-start: clamp(20px, 2.93vw, 40px);
    padding-inline-start: clamp(20px, 2.93vw, 40px);
    -webkit-padding-end: clamp(20px, 2.93vw, 40px);
    padding-inline-end: clamp(20px, 2.93vw, 40px);
    background: #f1f1f0;
    border-radius: 0 0 16px 16px;
}
.pagetitle_wrap .section_inner {
    background: url(../img/common_img/pagetitle_img_sp.png) right bottom no-repeat;
    background-size: auto 90%;
    text-align: start;
    inline-size: 100%;
    max-inline-size: 1286px;
    margin-inline: auto auto;
}
@media print, screen and (min-width: 768px) {
    .pagetitle_wrap .section_inner {
        background: url(../img/common_img/pagetitle_img_pc.png) right top 20px no-repeat;
        background-size: min(35%, 477px) auto;
    }
}
@media print, screen and (min-width: 992px) {
    .pagetitle_wrap .section_inner {
        background-size: min(28%, 477px) auto;
    }
}
.pagetitle {
    padding-block: 3.4em 3.5em;
}
.pagetitle .en_tx {
    display: block;
    font-size: clamp(4rem, 5.86vw, 8rem);
    color: #000;
    font-weight: 700;
    text-shadow: 0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}
.pagetitle .en_tx::first-letter {
    color: #ee7423;
}
.pagetitle .ja_tx {
    display: block;
    font-weight: 700;
    font-size: clamp(1.8rem, 1.76vw, 2.4rem);
    background: #ee7423;
    inline-size: -webkit-max-content;
    inline-size: max-content;
    line-height: 1.2;
    padding: 0.1em 0.3em;
    color: #fff;
}
/*pankuzu============*/
#pankuzu {
    -webkit-padding-start: clamp(20px, 2.93vw, 40px);
    padding-inline-start: clamp(20px, 2.93vw, 40px);
    -webkit-padding-end: clamp(20px, 2.93vw, 40px);
    padding-inline-end: clamp(20px, 2.93vw, 40px);
    overflow: hidden;
}
#pankuzu ol {
    -webkit-padding-before: 0.5em;
    padding-block-start: 0.5em;
    list-style: none;
    inline-size: 100%;
    max-inline-size: 1286px;
    margin-inline: auto auto;
}
#pankuzu ol li {
    float: left;
    font-size: clamp(1rem, 0.81vw, 1.1rem);
    padding-block: 0;
    padding-inline: 10px 7px;
    background: url(../img/common_img/icon_pankuzu.gif) no-repeat 0 50%;
}
#pankuzu ol li em {
    font-style: normal;
}
#pankuzu ol li:first-child {
    background: none;
}
#pankuzu ol li a:link, #pankuzu ol li a:visited, #pankuzu ol li a:hover, #pankuzu ol li a:active {
    text-decoration: underline;
}
/*PageNavi============*/ :root {
    --pagenavi_bd_span: #ccc;
    --pagenavi_bd_a: #ccc;
    --pagenavi_tx_span: #666;
    --pagenavi_tx_a: #666;
    --pagenavi_span: #e4e4e4;
    --pagenavi_a: #f2f2f2;
    --pagenavi_pdd_b: 3px;
    --pagenavi_pdd_in: 10px;
}
.pagenavi {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.pagenavi li span {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-block: var(--pagenavi_pdd_b);
    padding-inline: var(--pagenavi_pdd_in);
    color: var(--pagenavi_tx_span);
    border: 1px solid var(--pagenavi_bd_span);
    background: var(--pagenavi_span);
}
.pagenavi li a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    padding-block: var(--pagenavi_pdd_b);
    padding-inline: var(--pagenavi_pdd_in);
    color: var(--pagenavi_tx_a);
    border: 1px solid var(--pagenavi_bd_a);
    background: var(--pagenavi_a);
    transition: 0.2s;
}
.pagenavi li a:hover {
    opacity: 0.8;
}
/*Line============*/
hr.line_01 {
    block-size: 1px;
    clear: both;
    margin-block: 36px;
    margin-inline: 0;
    border: none;
    -webkit-border-before: 1px dotted #ccc;
    border-block-start: 1px dotted #ccc;
}
/*title============*/
.title01 {
    font-size: clamp(3rem, 4.39vw, 6rem);
    font-weight: 700;
    text-shadow: 0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
    inline-size: -webkit-max-content;
    inline-size: max-content;
    position: relative;
    margin-inline: auto;
    -webkit-margin-after: 0.666em;
    margin-block-end: 0.666em;
    padding-inline: 0.2em;
    -webkit-padding-after: 0.16em;
    padding-block-end: 0.16em;
    z-index: 2;
    line-height: 1.2;
}
.title01 .sub_ti {
    display: block;
    font-size: 0.5em;
    background: #000;
    line-height: 1;
    padding: 0.5em 1em;
    text-shadow: none;
    color: #ffba26;
    border: 4px solid #ffba26;
    border-radius: 100px;
    inline-size: -webkit-max-content;
    inline-size: max-content;
    min-inline-size: 60%;
    margin-inline: auto;
    position: relative;
    -webkit-margin-after: 0.7em;
    margin-block-end: 0.7em;
}
.title01 .sub_ti::before {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.8em 0.8em 0 0.8em;
    border-color: #000 transparent transparent transparent;
    inset: auto 0 -0.7em;
    margin: auto auto 0;
}
.title01 .price {
    color: #ee7423;
    font-size: 2.5em;
    line-height: 0.5;
}
.title01 .price > span {
    font-size: 0.4em;
}
.title01::after {
    content: "";
    inline-size: 100%;
    block-size: 0.4em;
    background: repeating-linear-gradient(-45deg, #ffcf66, #ffcf66 5px, transparent 5px, transparent 10px);
    display: block;
    position: absolute;
    z-index: -1;
    inset: auto 0 0;
}
.title02 {
    font-size: clamp(2.4rem, 3.51vw, 4.8rem);
    line-height: 1.2;
    font-weight: 700;
}
.title02 .en_tx {
    font-size: 0.5em;
    color: #ffba26;
    display: block;
    -webkit-padding-before: 0.5em;
    padding-block-start: 0.5em;
}
.title03 {
    font-size: clamp(2.4rem, 2.64vw, 3.6rem);
    font-weight: 700;
    line-height: 1.2;
    inline-size: -webkit-auto;
    inline-size: auto;
    margin-inline: auto;
    -webkit-margin-after: 1.11em;
    margin-block-end: 1.11em;
}
.title03 .en_tx {
    font-size: 0.67em;
    color: #ffba26;
    -webkit-margin-before: 8px;
    margin-block-start: 8px;
    display: block;
}
.title03.bd_box {
    position: relative;
    padding-block: 1.05em 0.8em;
    padding-inline: 2.22em;
}
.title03.bd_box::before {
    content: "";
    inline-size: 100%;
    block-size: 8px;
    background: repeating-linear-gradient(-45deg, #f1f1f0, #f1f1f0 5px, transparent 5px, transparent 10px);
    display: block;
    position: absolute;
    inset: 0 0 auto;
    margin-inline: auto;
}
.title03.bd_box::after {
    content: "";
    inline-size: 100%;
    block-size: 8px;
    background: repeating-linear-gradient(-45deg, #f1f1f0, #f1f1f0 5px, transparent 5px, transparent 10px);
    display: block;
    position: absolute;
    inset: auto 0 0;
    margin-inline: auto;
}
.bg_color01 .title03.bd_box::before {
    background: repeating-linear-gradient(-45deg, #fff, #fff 5px, transparent 5px, transparent 10px);
}
.bg_color01 .title03.bd_box::after {
    background: repeating-linear-gradient(-45deg, #fff, #fff 5px, transparent 5px, transparent 10px);
}
.title04 {
    text-align: start;
    font-weight: 700;
    font-size: clamp(1.8rem, 1.76vw, 2.4rem);
    -webkit-border-start: 10px solid #000;
    border-inline-start: 10px solid #000;
    line-height: 1.2;
    padding: 0.2em 0 0.1em 0.6em;
    -webkit-margin-after: 1em;
    margin-block-end: 1em;
}
/*sub title==============*/
/*01*/
.sub_ti01 {
    background: #000;
    inline-size: min(100%, 640px);
    margin-inline: auto;
    color: #fff;
    font-weight: 700;
    line-height: 1.4;
    padding: 1em;
    font-size: clamp(1.6rem, 1.46vw, 2rem);
    border-radius: 16px;
    position: relative;
    -webkit-margin-after: 2em;
    margin-block-end: 2em;
}
.sub_ti01::after {
    content: "";
    inline-size: 0;
    block-size: 0;
    border-style: solid;
    border-width: 21px 22px 0 22px;
    border-color: #000 transparent transparent transparent;
    display: block;
    position: absolute;
    inset: auto 0 -21px;
    margin: auto auto 0;
}
/*02*/
.sub_ti02 {
    font-weight: 700;
    font-size: clamp(1.8rem, 1.46vw, 2rem);
    line-height: 1.2;
    inline-size: -webkit-max-content;
    inline-size: max-content;
    margin-inline: auto;
    -webkit-padding-after: 1em;
    padding-block-end: 1em;
    -webkit-margin-after: 1em;
    margin-block-end: 1em;
    position: relative;
}
.sub_ti02::before {
    content: "";
    inline-size: 60px;
    block-size: 4px;
    background: #ffba26;
    display: block;
    position: absolute;
    inset: auto 0 0;
    margin-inline: auto;
}
/*table============*/ :root {
    --tbl_pd_sp_b: 12px;
    --tbl_pd_sp_in: 16px;
    --tbl_pd_pc_b: 12px;
    --tbl_pd_pc_in: 16px;
}
/*table01*/
.sheet_basic {
    inline-size: 100%;
    border-collapse: collapse;
    border: 1px solid #000;
    -webkit-border-after: none;
    border-block-end: none;
}
.sheet_basic tr th, .sheet_basic tr td {
    -webkit-border-after: 1px solid #000;
    border-block-end: 1px solid #000;
    padding-block: var(--tbl_pd_sp_b);
    padding-inline: var(--tbl_pd_sp_in);
    display: block;
}
@media print, screen and (min-width: 768px) {
    .sheet_basic tr th, .sheet_basic tr td {
        display: table-cell;
        padding-block: var(--tbl_pd_pc_b);
        padding-inline: var(--tbl_pd_pc_in);
    }
    .sheet_basic tr th {
        -webkit-border-end: 1px solid #000;
        border-inline-end: 1px solid #000;
    }
}
/*table02*/
.table_basic {
    inline-size: 100%;
    border-collapse: collapse;
    border: 1px solid #000;
    -webkit-border-after: none;
    border-block-end: none;
}
.table_basic tr th, .table_basic tr td {
    display: table-cell;
    padding-block: var(--tbl_pd_sp_b);
    padding-inline: var(--tbl_pd_sp_in);
    border: 1px solid #000;
}
@media print, screen and (min-width: 768px) {
    .table_basic tr th, .table_basic tr td {
        padding-block: var(--tbl_pd_pc_b);
        padding-inline: var(--tbl_pd_pc_in);
    }
}
.nowrap {
    white-space: nowrap;
}
tr.nowrap > th, tr.nowrap > td {
    white-space: nowrap;
}
/*list=============*/
/*pdf*/
.pdf_link > li {
    line-height: 1.4;
    position: relative;
    -webkit-padding-start: 1.4em;
    padding-inline-start: 1.4em;
    text-align: start;
}
.pdf_link > li + li {
    -webkit-margin-before: 8px;
    margin-block-start: 8px;
}
.pdf_link > li::before {
    font-family: remixicon !important;
    font-style: normal;
    content: "\eceb";
    display: block;
    position: absolute;
    inset: 0 auto auto 0;
    color: #ff4b00;
    font-size: 1.2em;
}
/*※*/
.note_list {
    text-align: start;
}
.note_list > li {
    line-height: 1.4;
    position: relative;
    -webkit-padding-start: 1.4em;
    padding-inline-start: 1.4em;
}
.note_list > li + li {
    -webkit-margin-before: 8px;
    margin-block-start: 8px;
}
.note_list > li::before {
    content: "※";
    position: absolute;
    inset: 0 auto auto 0;
}
.note_list.s_tx > li {
    font-size: clamp(1.4rem, 1.17vw, 1.6rem);
}
/*※に番号リスト*/
ol.note_list {
    counter-reset: number;
}
ol.note_list > li {
    list-style: none;
    -webkit-padding-start: 2.6em;
    padding-inline-start: 2.6em;
}
ol.note_list > li::before {
    counter-increment: number;
    content: "0"counter(number);
    position: absolute;
    inset: 0.4em auto auto 1.3em;
    font-size: 1.2rem;
}
ol.note_list > li::after {
    content: "※";
    position: absolute;
    inset: 0 auto auto 0;
}
ol.note_list > li:nth-child(n+10)::before {
    content: counter(number);
}
/*番号リスト*/
.num_list {
    counter-reset: number;
    text-align: start;
}
.num_list > li {
    line-height: 1.4;
    position: relative;
    list-style: none;
    -webkit-padding-start: 1.8em;
    padding-inline-start: 1.8em;
}
.num_list > li + li {
    -webkit-margin-before: 8px;
    margin-block-start: 8px;
}
.num_list > li::before {
    counter-increment: number;
    content: "0"counter(number) ".";
    position: absolute;
    inset: 0 auto auto 0;
}
.num_list > li:nth-child(n+10)::before {
    content: counter(number) ".";
}
/*input_list*/
.input_list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
}
.input_list > li {
    white-space: nowrap;
}
.input_list > li input[type=checkbox], .input_list > li input[type=radio] {
    -webkit-margin-end: 0.2em;
    margin-inline-end: 0.2em;
}
.list_basic01 {
    text-align: start;
}
.list_basic01 > li {
    position: relative;
    -webkit-padding-start: 0.8em;
    padding-inline-start: 0.8em;
}
.list_basic01 > li::before {
    content: "";
    display: block;
    inline-size: 6px;
    block-size: 6px;
    background: #ee7423;
    border-radius: 100px;
    position: absolute;
    inset: 0.6em 0 0 0;
}
.list_basic01 > li + li {
    -webkit-margin-before: 0.4em;
    margin-block-start: 0.4em;
}
.list_basic01.s_tx > li {
    font-size: clamp(1.4rem, 1.17vw, 1.6rem);
}
/*dl=============*/
/*01*/
.dl_card01 {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(16px, 1.76vw, 24px) clamp(16px, 2.93vw, 40px);
}
.dl_card01 > div {
    display: flex;
    flex-direction: column;
    inline-size: 100%;
}
@media print, screen and (min-width: 768px) {
    .dl_card01 > div {
        inline-size: calc(50% - clamp(16px, 2.93vw, 40px) / 2);
    }
}
.dl_card01 > div > dt {
    background: #ffba26;
    color: #000;
    font-weight: 700;
    font-size: clamp(18px, 1.76vw, 24px);
    line-height: 1.2;
    text-align: start;
    position: relative;
    padding: clamp(16px, 1.32vw, 18px) clamp(16px, 1.32vw, 18px) clamp(16px, 1.32vw, 18px) clamp(24px, 2.93vw, 40px);
}
.dl_card01 > div > dt::before {
    content: "";
    display: block;
    background: url(../img/common_img/check01.png) center center no-repeat #000;
    background-size: 50% auto;
    inline-size: 1.67em;
    aspect-ratio: 1/1;
    border-radius: 50%;
    position: absolute;
    inset: -0.4em auto auto -0.4em;
}
.dl_card01 > div > dd {
    text-align: start;
    font-size: clamp(1.4rem, 1.17vw, 1.6rem);
    line-height: 1.6;
    background: #f1f1f0;
    padding: clamp(16px, 1.32vw, 18px);
}
/*02*/
.dl_card02 > div {
    display: flex;
    flex-direction: column;
}
.dl_card02 > div > dt {
    background: #000;
    color: #fff;
    font-size: clamp(1.8rem, 1.76vw, 2.4rem);
    font-weight: 700;
    text-align: start;
    border-radius: 16px 16px 0 0;
    padding: 0.75em clamp(24px, 2vw, 28px);
}
.dl_card02 > div > dd {
    border-radius: 0 0 16px 16px;
    background: #fff;
    border: 8px solid #000;
    -webkit-border-before: none;
    border-block-start: none;
    padding: clamp(16px, 1.46vw, 20px);
}
.dl_card02 > div + div {
    -webkit-margin-before: 24px;
    margin-block-start: 24px;
}
/*img====*/
.ph_style {
    border-radius: 16px;
}
.ph_object_box img {
    -o-object-fit: cover;
    object-fit: cover;
    inline-size: 100%;
    block-size: 100%;
}
/*btn==========*/
.circle_btn a {
    border: 2px solid #000;
    background: #fff;
    inline-size: 40px;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    font-size: 2.2rem;
    text-decoration: none;
    color: #000;
    box-shadow: 0 clamp(2px, 0.52vw, 4px) 0 #000;
    border-radius: 100px;
}
.circle_btn a:hover {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    box-shadow: 0 0 0 #000;
    background: #ffba26;
}
/*01*/
.btn01 a {
    border: 4px solid #000;
    border-radius: 100px;
    box-shadow: 0 8px 0 #000;
    background: #ffba26;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-weight: 700;
    color: #000;
    font-size: clamp(1.6rem, 1.46vw, 2rem);
    inline-size: min(100%, 568px);
    margin-inline: auto;
    line-height: 1.2;
    padding-block: 1.35em;
    position: relative;
}
.btn01 a::before {
    content: "";
    display: block;
    background: url(../img/common_img/btn_arrow_l.png) center center no-repeat;
    background-size: cover;
    aspect-ratio: 32/19;
    inline-size: 1.6em;
    position: absolute;
    inset: auto auto auto 1em;
}
@media print, screen and (min-width: 992px) {
    .btn01 a::before {
        inset: auto auto auto 4em;
    }
}
.btn01 a::after {
    content: "";
    display: block;
    background: url(../img/common_img/btn_arrow_r.png) center center no-repeat;
    background-size: cover;
    aspect-ratio: 32/19;
    inline-size: 1.6em;
    position: absolute;
    inset: auto 1em auto auto;
}
@media print, screen and (min-width: 992px) {
    .btn01 a::after {
        inset: auto 4em auto auto;
    }
}
.btn01 a:hover {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    box-shadow: 0 0 0 #000;
    background: #ee7423;
}
/*02*/
.btn02 a {
    border: 4px solid #000;
    border-radius: 100px;
    box-shadow: 0 8px 0 #000;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-weight: 700;
    color: #000;
    font-size: clamp(1.6rem, 1.46vw, 2rem);
    inline-size: min(100%, 568px);
    margin-inline: auto;
    line-height: 1.2;
    padding-block: 0.8em;
}
.btn02 a i {
    color: #ee7423;
    vertical-align: middle;
    -webkit-padding-end: 0.2em;
    padding-inline-end: 0.2em;
    font-size: 1.2em;
}
.btn02 a:hover {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    box-shadow: 0 0 0 #000;
    background: #ffba26;
}
/*03*/
.btn03 a {
    border: 2px solid #000;
    border-radius: 100px;
    box-shadow: 0 4px 0 #000;
    background: #fff;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-decoration: none;
    font-weight: 700;
    text-align: start;
    color: #000;
    margin-inline: auto;
    line-height: 1.4;
    min-block-size: clamp(72px, 5.86vw, 84px);
    padding-inline: 1.6em;
    position: relative;
}
.btn03 a::after {
    content: "";
    display: block;
    inline-size: 0;
    block-size: 0;
    border-style: solid;
    border-width: 0.625em 0 0.625em 0.778em;
    border-color: transparent transparent transparent #000;
    position: absolute;
    inset: auto 1em auto auto;
}
.btn03 a:hover {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    box-shadow: 0 0 0 #000;
    background: #ffba26;
}
@media print, screen and (min-width: 768px) {
    .btn03 a {
        padding-inline: 2.6em;
    }
}
[class^=btn0].tx_cent > a {
    margin-inline: auto;
}
/*box============*/
/*01*/
.sec_box01 {
    border: 8px solid #000;
    border-radius: 16px;
    padding: 0 clamp(16px, 3.8vw, 52px) clamp(16px, 3.8vw, 52px);
}
.sec_box01 .sec_box_ti01 {
    padding-block: clamp(18px, 2.64vw, 36px) clamp(16px, 2.2vw, 30px);
    padding-inline: clamp(16px, 3.8vw, 52px);
    -webkit-margin-after: clamp(24px, 2.63vw, 36px);
    margin-block-end: clamp(24px, 2.63vw, 36px);
    background: #ee7423;
    position: relative;
    inset: 0 clamp(-52px, -3.8vw, -16px) auto;
    inline-size: calc(100% + clamp(16px, 3.8vw, 52px) + clamp(16px, 3.8vw, 52px));
    border-radius: 6px 6px 0 0;
    text-align: start;
}
.sec_box01 .sec_box_ti01 .sec_box_img {
    position: absolute;
    inset: 50% -16px auto auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    inline-size: clamp(100px, 36.6vw, 500px);
}
.sec_box01 .sec_box_ti01 .sec_box_img img {
    max-inline-size: 100%;
    block-size: auto;
}
@media print, screen and (min-width: 768px) {
    .sec_box01 .sec_box_ti01 .sec_box_img {
        inset: 50% clamp(16px, 3.8vw, 52px) auto auto;
    }
}
.sec_box01 [class^=title0] {
    -webkit-margin-after: 0;
    margin-block-end: 0;
}
.sec_box01 [class^=title0]:not(.en_tx) {
    color: #fff;
}
/*-------------------------------------------------------------------------------*/
.sec_box02 {
    background: #f1f1f0;
    border-radius: 16px;
    padding: 0 clamp(16px, 4.1vw, 56px) clamp(16px, 4.1vw, 56px);
}
.sec_box02 .sec_box_ti02 {
    padding-block: 1.8em 1.33em;
    padding-inline: 1.5em;
    background: #000;
    position: relative;
    inset: 0 clamp(-56px, -4.1vw, -16px) auto;
    inline-size: calc(100% + clamp(16px, 4.1vw, 56px) + clamp(16px, 4.1vw, 56px));
    border-radius: 16px 16px 0 0;
    -webkit-margin-after: clamp(24px, 2.93vw, 40px);
    margin-block-end: clamp(24px, 2.93vw, 40px);
}
.sec_box02 .sec_box_ti02::after {
    content: "";
    display: block;
    inline-size: 0;
    block-size: 0;
    border-style: solid;
    border-width: 1.333em 1.222em 0 1.222em;
    border-color: #000 transparent transparent transparent;
    position: absolute;
    inset: auto 0 -1.2em;
    margin-inline: auto;
}
.sec_box02 .sec_box_ti02 [class^=title0] {
    -webkit-margin-after: 0;
    margin-block-end: 0;
}
.sec_box02 .sec_box_ti02 [class^=title0]:not(.en_tx) {
    color: #fff;
}
/*-------------------------------------------------------------------------------*/
.sec_box03 {
    background: #f1f1f0;
    border-radius: 16px;
    padding: 0 clamp(16px, 4.1vw, 56px) clamp(16px, 4.1vw, 56px);
}
.sec_box03 .sec_box_ti03 {
    padding-block: 1.8em 1.33em;
    padding-inline: 1.5em;
    background: #ee7423;
    position: relative;
    inset: 0 clamp(-56px, -4.1vw, -16px) auto;
    inline-size: calc(100% + clamp(16px, 4.1vw, 56px) + clamp(16px, 4.1vw, 56px));
    border-radius: 16px 16px 0 0;
    -webkit-margin-after: clamp(24px, 2.93vw, 40px);
    margin-block-end: clamp(24px, 2.93vw, 40px);
}
.sec_box03 .sec_box_ti03::after {
    content: "";
    display: block;
    inline-size: 0;
    block-size: 0;
    border-style: solid;
    border-width: 1.333em 1.222em 0 1.222em;
    border-color: #ee7423 transparent transparent transparent;
    position: absolute;
    inset: auto 0 -1.2em;
    margin-inline: auto;
}
.sec_box03 .sec_box_ti03 [class^=title0] {
    -webkit-margin-after: 0;
    margin-block-end: 0;
}
.sec_box03 .sec_box_ti03 [class^=title0]:not(.en_tx) {
    color: #fff;
}
/*-------------------------------------------------------------------------------*/
/*card_box===========*/
/*01*/
.card_box01 {
    border: 2px solid #000;
    border-radius: 16px;
    padding: clamp(16px, 1.76vw, 24px);
}
/*merit===========*/
.merit_box figure {
    background: #fff;
    border: 6px solid #ee7423;
    border-radius: 50%;
    inline-size: min(64%, 240px);
    aspect-ratio: 1/1;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    margin-inline: auto;
}
.merit_box figure + * {
    -webkit-margin-before: 16px;
    margin-block-start: 16px;
}
@media print, screen and (min-width: 768px) {
    .merit_box figure {
        inline-size: 92%;
    }
}
.merit_box figure img {
    inline-size: 85%;
    block-size: auto;
    -webkit-transform: translateY(-24px);
    transform: translateY(-24px);
}
.merit_box figure figcaption {
    position: absolute;
    font-weight: 700;
    inset: 70% 0 auto;
    font-size: clamp(1.8rem, 1.76vw, 2.4rem);
    line-height: 1.2;
}
.merit_box .merit_p {
    font-size: clamp(1.4rem, 1.17vw, 1.6rem);
    line-height: 1.4;
}
/*price=====*/
.price_dl > div dt {
    background: #ffba26;
    border-radius: 16px 16px 0 0;
    color: #fff;
    font-weight: 700;
    font-size: clamp(1.8rem, 1.76vw, 2.4rem);
    line-height: 1.2;
    padding-block: 1.166em 1em;
    position: relative;
}
.price_dl > div dt::after {
    content: "";
    display: block;
    inline-size: 0;
    block-size: 0;
    border-style: solid;
    border-width: 1em 1em 0 1em;
    border-color: #ffba26 transparent transparent transparent;
    position: absolute;
    inset: auto 0 -0.95em;
    margin-inline: auto;
}
.price_dl > div dd {
    background: #f1f1f0;
    border-radius: 0 0 16px 16px;
    padding: clamp(24px, 2.93vw, 40px) clamp(24px, 2.34vw, 32px) clamp(24px, 2.34vw, 32px);
    font-family: "Roboto", "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: clamp(4rem, 5.86vw, 8rem);
    color: #ff4b00;
    line-height: 1;
}
.price_dl > div dd span {
    font-size: clamp(2.4rem, 2.2vw, 3rem);
    color: #000;
}
.price_dl > div dd.free_price {
    font-size: clamp(6rem, 7.32vw, 10rem);
    line-height: 0.8;
}
.price_dl > div:nth-child(2n) dt {
    background: #ee7423;
}
.price_dl > div:nth-child(2n) dt::after {
    border-color: #ee7423 transparent transparent transparent;
}
/*link=====*/
.ancher_link {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 8px;
}
.ancher_link > li a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
    background: #ee7423;
    border-radius: 100px;
    color: #000;
    font-weight: 700;
    font-size: clamp(1.4rem, 1.17vw, 1.6rem);
    border: 3px solid #000;
    line-height: 1;
    padding-block: 1em;
}
.ancher_link > li a i {
    font-weight: normal;
    color: #fff;
    font-size: 1.2em;
}
.ancher_link > li a:hover {
    background: #ffba26;
}
a.anchor {
    display: block;
    position: relative;
    top: -80px;
    visibility: hidden;
}
/*CV=====*/
.cv_area {
    background: url(../img/index_img/mainimg_bg.jpg) center center no-repeat;
    background-size: cover;
    -webkit-padding-start: clamp(20px, 2.93vw, 40px);
    padding-inline-start: clamp(20px, 2.93vw, 40px);
    -webkit-padding-end: clamp(20px, 2.93vw, 40px);
    padding-inline-end: clamp(20px, 2.93vw, 40px);
}
.cv_area .section_inner {
    display: flex;
    flex-direction: column;
    gap: 24px 40px;
    -webkit-padding-before: clamp(30px, 4.4vw, 60px);
    padding-block-start: clamp(30px, 4.4vw, 60px);
    position: relative;
}
@media print, screen and (min-width: 768px) {
    .cv_area .section_inner {
        -webkit-padding-after: clamp(30px, 4.4vw, 60px);
        padding-block-end: clamp(30px, 4.4vw, 60px);
        flex-direction: row;
        align-items: center;
    }
}
@media print, screen and (min-width: 768px) {
    .cv_area .section_inner > div {
        inline-size: calc(50% - 40px);
    }
}
.cv_area .section_inner figure img {
    max-inline-size: 100%;
    block-size: auto;
}
@media print, screen and (min-width: 768px) {
    .cv_area .section_inner figure {
        inline-size: 50%;
    }
    .cv_area .section_inner figure img {
        inline-size: clamp(300px, 48.6vw, 664px);
        position: absolute;
        inset: auto 0 0 auto;
    }
}
.cv_title {
    font-weight: 700;
    font-size: clamp(1.8rem, 1.76vw, 2.4rem);
    background: #000;
    color: #fff;
    inline-size: -webkit-max-content;
    inline-size: max-content;
    margin-inline: auto;
    -webkit-margin-after: 0.5em;
    margin-block-end: 0.5em;
    padding: 0.2em 0.4em;
}
.cv_contact {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.cv_tel a {
    font-size: clamp(4rem, 4.69vw, 6.4rem);
    font-family: "Roboto", sans-serif;
    font-weight: 900;
    text-decoration: none;
    line-height: 1.2;
    color: #ee7423;
    text-shadow: 0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
    -webkit-filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff);
    filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff);
}
@media print, screen and (min-width: 768px) {
    .cv_tel a {
        pointer-events: none;
    }
}
.cv_tel .tel_time {
    font-weight: 700;
    line-height: 1.2;
    text-shadow: 0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}
.cv_mail a {
    border: 4px solid #000;
    border-radius: 100px;
    box-shadow: 0 8px 0 #000;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-weight: 700;
    color: #000;
    font-size: clamp(1.6rem, 1.46vw, 2rem);
    inline-size: min(100%, 400px);
    margin-inline: auto;
    line-height: 1.2;
    padding-block: 1.2em;
}
.cv_mail a i {
    color: #ee7423;
    vertical-align: middle;
    -webkit-padding-end: 0.2em;
    padding-inline-end: 0.2em;
    font-size: 1.2em;
}
.cv_mail a:hover {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    box-shadow: 0 0 0 #000;
    background: #ffba26;
}