@charset "UTF-8";

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}
body {
    width: 100%;
    height: 100%;
    font-size: 1.6em;
    line-height: 1.65;
}
*,
*:before,
*:after {
    box-sizing:border-box;
}
/* ------------------------------------- /
/   共通
/* ------------------------------------- */
.taC {
    text-align: center;
}
.taR {
    text-align: right;
}
.fwM {
    font-weight: 500;
}
.fwSB {
    font-weight: 600;
}
.fwB {
    font-weight: 700;
}
img {
    display: block;
    width: 100%;
}


/* ------------------------------------- /
/   inner
/* ------------------------------------- */
.inner {
    width: min(100%, 1600px);
    margin: 0 auto;
    padding: 0 min(6%, calc((1600px - 1480px) / 2));
}
@media screen and (max-width:600px){
.inner {
    padding: 0 4%;
}
}

/* ------------------------------------- /
/   pc-none、sp-none
/* ------------------------------------- */
.pc-none {
    display: none;
}
.pc-none768 {
    display: none;
}
.pc-none500 {
    display: none;
}
.pc-none__inline {
    display: none;
}
.pc-none__inline500 {
    display: none;
}
.pc-none__inline768 {
    display: none;
}
.pc-none__inline1000 {
    display: none;
}
.pc-none__inline1200 {
    display: none;
}
.pc-none__inline1400 {
    display: none;
}
@media (max-width: 1400px) {
.pc-none__inline1400 {
    display: inline;
}
}
@media (max-width: 1200px) {
.pc-none__inline1200 {
    display: inline;
}
}
@media (max-width: 1000px) {
.pc-none__inline1000 {
    display: inline;
}
.sp-none1000 {
    display: none !important;
}
}
@media (max-width: 768px) {
.pc-none768 {
    display: block;
}
.pc-none__inline768 {
    display: inline;
}
.sp-none768 {
    display: none !important;
}
}
@media (max-width: 600px) {
.pc-none {
    display: block;
}
.pc-none__inline {
    display: inline;
}
.sp-none {
    display: none !important;
}
}
@media (max-width: 500px) {
.sp-none500 {
    display: none !important;
}
.pc-none500 {
    display: block;
}
.pc-none__inline500 {
    display: inline;
}
}

/* ------------------------------------- /
/   サイトカラー、フォント
/* ------------------------------------- */
body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    color: var(--color-black);
}
a {
    color: var(--color-black);
    text-decoration: none;
}
::selection {
    background: var(--color-yellow);
    color: #fff;
}
:root {
    --color-black: #151515;
    --color-red: #FC2424;
    --color-orange: #FF6448;
    --color-yellow: #F7DB05;
    --color-pink: #FFE7E7;
    --color-blue: #9FF8FF;
    --font-jp: "Noto Sans JP", sans-serif;
}
.bg-black {
    background-color: #141414;
}
.bg-red {
    background-color: var(--color-red);
}
.bg-orange {
    background-color: var(--color-orange);
}
.bg-yellow {
    background-color: var(--color-yellow);
}
.bg-pink {
    background-color: var(--color-pink);
}
.bg-blue {
    background-color: var(--color-blue);
}
.bg-white {
    background-color: #fff;
}
.color-black {
    color: var(--color-black);
}
.color-red {
    color: var(--color-red);
}
.color-orange {
    color: var(--color-orange);
}
.color-yellow {
    color: var(--color-yellow);
}
.color-pink {
    color: var(--color-pink);
}
.color-blue {
    color: var(--color-blue);
}
.color-white {
    color: #fff;
}

/* ------------------------------------- /
/  body
/* ------------------------------------- */
body {
    position: relative;
}
main {
    overflow: hidden;
    padding: 100px 0 0;
}
main:has(.mv) {
    background-color: var(--color-pink);
}
main:has(.entry_01) {
    background-color: var(--color-orange);
}
main:has(.faq_header) {
    background-color: var(--color-pink);
}
@media screen and (max-width:1080px){
main {
    padding: 80px 0 0;
}
}

/* ------------------------------------- /
/  header
/* ------------------------------------- */
header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 100px;
    position: relative;
    padding: 10px 2.6%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    box-shadow: 3px 0px 12px 0px rgba(0, 0, 0, 0.3);
    background-color: #fff;
    transition-duration: 0.3s;
}
.header_logo {
    display: block;
    width: min(100%, 214px);
    transition-duration: 0.3s;
}
header.scroll {
    min-height: 60px;
    padding: 5px 2.6%;
}
header.scroll .header_logo {
    width: min(100%, 140px);
}
.header_logo:hover {
    opacity: 0.5;
}
.header_logo h1,
.header_logo div {
    display: block;
    width: 100%;
}
h1.hide {
    position: aboslute;
    z-index: -1;
    color: transparent;
    height: 0;
    overflow: hidden;
}
.header_nav_wrapper {
    width: min(calc(100% - 200px - 20px), 660px);
}
.header_nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 0 0 40px;
}
.header_nav_column {
    display: flex;
    align-items: center;
    position: relative;
    font-size: clamp(1.6rem, 1.2vw, 2.0rem);
    line-height: 1.2;
}
.header_nav_link {
    display: inline-block;
    text-decoration: none;
    position: relative;
}
.header_nav_link:hover {
    color: var(--color-red);
}
.header_nav_column:has(.header_nav_button) {
    width: min(21.5%, 300px);
}
.header_nav_column.contact {
    width: min(100%, 170px);
}
    .header_nav_column.contact .header_nav_link {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        min-height: 40px;
        aspect-ratio: 170/45;
        background-color: var(--color-red);
        border: 2px var(--color-red) solid;
        border-radius: 5px;
        color: #fff;
    }
    .header_nav_column.contact .header_nav_link:hover {
        background-color: #fff;
        color: var(--color-red)
    }
.header_nav_logo {
    display: none;
}
.header_nav_trigger {
    display: none;
}

@media screen and (max-width:1080px){
header {
    min-height: 80px;
}
header.scroll {
    min-height: 80px;
    padding: 10px 2.6%;
}
header.scroll .header_logo {
    width: min(100%, 160px);
}
.header_logo {
    width: min(100%, 160px);
}
.header_nav_wrapper {
    width: min(calc(100% - 160px - 20px), 660px);
}
}
@media screen and (max-width:768px){
.header_nav_wrapper {
    width: min(85vw, 400px);
    height: 100vh;
    background-color: #fff;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(100%);
    transition-duration: 0.8s;
    transition-timing-function: ease;
    box-shadow: 0 3px 12px 0px rgba(0, 0, 0, 0.3);
}
.header_nav_wrapper.active {
    transform: translateX(0);
}
.header_nav_inner {
    width: 100%;
    max-height: 100vh;
    overflow: auto;
    margin: 0 auto;
    padding: 25px 0;
}
.header_nav_logo {
    display: block;
    width: min(100%, 160px);
    margin: 0 auto;
}
.header_nav {
    display: block;
    margin: 10px 0 0;
    padding: 0;
}
.header_nav_column {
    display: block;
    padding: 15px 0;
    font-size: 1.7rem;
}
    .header_nav_link {
        display: block;
        padding: 10px 0;
        text-align: center;
    }
    .header_nav_link::before {
        display: none;
    }
.header_nav_column.contact {
    width: 60%;
    margin: 10px auto 0;
}
.header_nav_trigger {
    display: block;
    width: 60px;
    aspect-ratio: 1/1;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('../img/sp_menu_open.svg?3');
    background-position: center;
    background-size: 40px auto;
    background-repeat: no-repeat;
}
.header_nav_wrapper.active + .header_nav_trigger {
    background-image: url('../img/sp_menu_close.svg?3');
}
}


/* ------------------------------------- /
/  index_h2
/* ------------------------------------- */
.index_h2 {
    font-size: clamp(2.4rem, 3vw, 3.5rem);
    letter-spacing: 0.1em;
}
.index_h2 h2,
.index_h2 h1 {
    display: inline-block;
    padding: 0 0 7px;
    background-position: left bottom;
    background-size: max(min(2.2vw, 20px), 14px) auto;
    background-repeat: repeat-x;
}
.index_h2.color-yellow h2,
.index_h2.color-yellow h1 {
    background-image: url('../img/h2_border_yellow.svg');
}
.index_h2.color-red h2,
.index_h2.color-red h1 {
    background-image: url('../img/h2_border_red.svg');
}


/* ------------------------------------- /
/  index_about
/* ------------------------------------- */
.index_about {
    background-color: var(--color-orange);
    position: relative;
}
.index_about::before {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: 1920/284;
    background-image: url('../img/index_about_head.svg');
    background-position: center bottom;
    background-size: 100% auto;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: min(max(-6.25vw, -85px), -40px);
}
    .index_about .inner {
        position: relative;
    }
.index_about_text {
    width: min(100%, 1005px);
    margin: 0 auto;
    font-size: clamp(1.6rem, 2.5vw, 2.0rem);
}
.index_about_list {
    table-layout: fixed;
    width: min(100%, 1005px);
    margin: 0 auto;
    background-color: var(--color-red);
    border-collapse: separate;
    border-spacing: 1px;
    border-radius: 10px;
    border: 2px var(--color-red) solid;
    overflow: hidden;
    font-size: clamp(1.5rem, 2.0vw, 1.8rem);
    letter-spacing: 0.1em;
}
    .index_about_list col:nth-child(1) {
        width: 200px;
    }
    .index_about_list th {
        padding: max(min(1.8vw, 25px), 10px) 0 max(min(1.8vw, 25px), 10px) 3.7%;
        background-color: #FFF0BC;
    }
    .index_about_list td {
        padding: max(min(1.8vw, 25px), 10px) 4%;
        background-color: #FFF0BC;
        line-height: 1.75;
    }
    .index_about_list a {
        text-decoration: underline;
    }
    .index_about_list a:hover {
        text-decoration: none;
    }
@media screen and (max-width:768px){
    .index_about_list col:nth-child(1) {
        width: 160px;
    }
}
@media screen and (max-width:600px){
.index_about_list colgroup {
    display: none;
}
.index_about_list,
.index_about_list tbody,
.index_about_list tr,
.index_about_list th,
.index_about_list td {
    display: block;
}
.index_about_list {
    background: none;
    border: none;
    border-radius: 0;
}
.index_about_list tr {
    background-color: var(--color-red);
    border-radius: 10px;
    border: 2px var(--color-red) solid;
    overflow: hidden;
}
.index_about_list tr:not(:first-child) {
    margin-top: 10px;
}
.index_about_list td {
    margin: 1px 0 0;
    letter-spacing: 0.05em;
}
}

/* ------------------------------------- /
/  index_button
/* ------------------------------------- */
.index_button {
    width: min(80%, 800px);
    margin: 0 auto;
}
.index_button_link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 80px;
    aspect-ratio: 800/180;
    padding: 10px max(min(3.7vw, 50px), 25px) 10px max(min(4.7vw, 65px), 30px);
    border-radius: 10px;
    border-width: 2px;
    border-style: solid;
    letter-spacing: 0.1em;
}
.index_button_title {
    font-size: clamp(2.0rem, 3.5vw, 3.5rem);
    padding: 0 0 7px;
    background-image: url('../img/button_border_black.svg');
    background-position: left bottom;
    background-size: max(min(2.2vw, 20px), 14px) auto;
    background-repeat: repeat-x;
}
.index_button_more {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 0 max(min(4.4vw, 60px), 30px) 0 0;
    background-image: url('../img/more_red.svg');
    background-position: right center;
    background-size: max(min(3.0vw, 40px), 20px) auto;
    background-repeat: no-repeat;
    font-size: clamp(1.7rem, 2.0vw, 2.0rem);
    line-height: 1.2;
}
.index_button_link.button_01 {
    background-color: var(--color-yellow);
    border-color: var(--color-yellow);
}
.index_button_link.button_02 {
    background-color: var(--color-blue);
    border-color: var(--color-blue);
}
.index_button_link:hover {
    border-color: var(--color-red);
    color: var(--color-red);
}
    .index_button_link:hover .index_button_title {
        background-image: url('../img/button_border_red.svg');
    }
@media screen and (max-width:600px){
.index_button_link {
    letter-spacing: 0.05em;
}
.index_button_more {
    font-size: 1.5rem;
    letter-spacing: 0;
}
}
@media screen and (max-width:500px){
.index_button_link {
    background-image: url('../img/more.svg');
    background-position: right 20px top 50%;
    background-size: 20px auto;
    background-repeat: no-repeat;
}
.index_button_more {
    display: none;
}
}

/* ------------------------------------- /
/  contact
/* ------------------------------------- */
.contact_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    row-gap: 30px;
    width: min(100%, 1005px);
    margin: 0 auto;
    border-radius: 10px;
}
.contact_left {
    width: calc(100% - max(min(49%, 455px), 350px) - 2%);
}
.contact_list_column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    font-size: clamp(1.7rem, 2.0vw, 2.0rem);
    line-height: 1.2;
}
    .contact_list dt {
        width: min(100%, 55px);
        padding-bottom: 2px;
        letter-spacing: 0.1em;
    }
    .contact_list dd {
        width: calc(100% - 55px);
        font-size: 1.5em;
        letter-spacing: 0.1em;
    }
    .contact_list a:hover {
        text-decoration: none;
        color: var(--color-red);
    }
.contact_time {
    margin-top: 10px;
    font-size: 1.4rem;
}
.contact_time_column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.contact_time_column:not(:first-child) {
    margin-top: 5px;
}
    .contact_time dt {
        width: min(100%, 65px);
        letter-spacing: 0;
        line-height: 1.2;
    }
    .contact_time dd {
        width: calc(100% - 65px);
        letter-spacing: 0;
        line-height: 1.2;
    }
.contact_right {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: max(min(49%, 455px), 350px);
}
.contact_mail {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 80px;
    padding: 10px max(min(1.8vw, 25px), 12px);
    background-color: var(--color-red);
    background-image: url('../img/more_white.svg');
    background-position: right 5.5% top 50%;
    background-size: 22px auto;
    background-repeat: no-repeat;
    border-radius: 5px;
    border: 2px var(--color-red) solid;
    color: #fff;
    font-size: clamp(1.7rem, 1.8vw, 2.0rem);
    letter-spacing: 0.1em;
}
.contact_mail:hover {
    background-color: #fff;
    background-image: url('../img/more_red.svg');
    color: var(--color-red);
}

@media screen and (max-width:768px){
.contact_wrapper {
    flex-direction: column;
}
.contact_left {
    width: min(100%, 300px);
    padding-top: 10px;
}
.contact_right {
    width: min(100%, 380px);
    padding-bottom: 10px;
}
.contact_mail {
    min-height: 70px;
}
}
@media screen and (max-width:500px){
.contact_mail {
    font-size: 1.6rem;
    letter-spacing: 0;
}
}

/* ------------------------------------- /
/  copyright
/* ------------------------------------- */
    .copyright a:hover {
        text-decoration: underline;
    }
@media screen and (max-width:600px){
.copyright {
    font-size: 0.9em;
}
}


/* ------------------------------------- /
/  entry
/* ------------------------------------- */
.entry_text {
    font-size: clamp(1.6rem, 3.5vw, 2.0rem);
}
    .entry_text p a {
        text-decoration: underline;
    }
    .entry_text p a:hover {
        text-decoration: none;
    }


.entry_dl_column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: min(100%, 480px);
    margin: 0 auto;
    font-size: clamp(1.7rem, 2.5vw, 2.0rem);
    line-height: 1.2;
}
.entry_dl_column:not(:first-child) {
    margin-top: 20px;
}
    .entry_dl_column dt {
        display: flex;
        justify-content: center;
        align-items: center;
        width: min(100%, 100px);
        min-height: 46px;
        border-radius: 5px;
        letter-spacing: 0.1em;
    }
    .entry_dl_column dd {
        width: calc(100% - 100px - 6.25%);
        letter-spacing: 0.1em;
    }
.entry_h3 {
    width: min(100%, 1005px);
    margin: 0 auto;
    font-size: clamp(2.2rem, 2.5vw, 3.0rem);
    letter-spacing: 0.1em;
    line-height: 1.2;
    /*
    padding-left: 1.2em;
    */
    position: relative;
}
.entry_h3::before {
    /*
    content: '●';
    */
    position: absolute;
    left: 0;
    top: 0;
}
.entry_h3 + .entry_text {
    width: min(100%, 1005px);
    margin: 0 auto;
    padding-left: 28px;
}
.entry_ul {
    width: min(100%, 1005px);
    margin: 0 auto;
}
.entry_ul_column {
    padding-left: 1em;
    font-size: clamp(1.5rem, 2.0vw, 2.0rem);
    position: relative;
}
.entry_ul_column::before {
    content: '・';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}
.entry_ul_column:not(:first-child) {
    margin-top: max(min(2.6vw, 35px), 20px);
}
@media screen and (max-width:600px){
.entry_h3 {
    font-size: 1.9rem;
}
.entry_h3 + .entry_text {
    padding-left: 0;
}
.entry_dl_column {
    justify-content: center;
}
.entry_dl_column:not(:first-child) {
    margin-top: 40px;
}
    .entry_dl_column dt {
        width: min(100%, 180px);
        min-height: 40px;
    }
    .entry_dl_column dd {
        width: 100%;
        margin-top: 15px;
        text-align: center;
    }
}


.entry_form_wrapper {
    width: min(100%, 1005px);
    margin: 0 auto;
    padding: 0 max(min(10vw, 105px), 20px);
    background-color: #FEF1BC;
    border-radius: 10px;
}
.entry_form_column {
    margin: 0 auto;
    font-size: clamp(1.7rem, 2.5vw, 2.0rem);
    line-height: 1.2;
}
.entry_form_column:not(:first-child) {
    margin-top: max(min(3.7vw, 50px), 25px);
}
    .entry_form_column dt {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        column-gap: 15px;
        row-gap: 5px;
        letter-spacing: 0.1em;
    }
        .entry_form_column dt .required {
            display: inline-block;
            font-size: 0.8em;
            padding: 5px 15px;
            letter-spacing: 0.1em;
            border-radius: 5px;
        }
    .entry_form_column dd {
        letter-spacing: 0.1em;
    }
        .entry_form_column dd .zip {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-start;
            align-items: center;
            column-gap: 15px;
        }
.entry_form_list input[type=text],
.entry_form_list input[type=tel],
.entry_form_list input[type=email],
.entry_form_list input[type=number],
.entry_form_list textarea,
.entry_form_list .input_confirm {
    display: block;
    width: 100%;
    padding: 17px 20px;
    border: none;
    background: none;
    background-color: #fff;
    border-radius: 5px;
    appearance: none;
    line-height: 1.4;
    font-family: var(--font-jp);
    font-weight: 600;
    font-size: 1.8rem;
    &::placeholder {
        color: rgba(21, 21, 21, 0.5);
   }
}
.entry_form_list input[type=text].short,
.entry_form_list .input_confirm.short {
    width: min(calc(100% - 40px), 300px);
}
    .entry_form_list input[type=radio],
    .entry_form_list input[type=checkbox] {
        display: none;
    }
.input-list__check,
.input-list__confirm {
    display: block;
    width: 100%;
    padding: 14px 20px;
    border-radius: 5px;
    font-size: clamp(1.8rem , 5vw, 2.0rem);
}
.input-list__check {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    column-gap: 25px;
    row-gap: 5px;
    padding: 4px 0;
    label {
        display: block;
        padding: 0 0 0 32px;
        font-size: clamp(1.8rem , 5vw, 2.0rem);
        position: relative;
        cursor: pointer;
        &::before {
            content: '';
            display: block;
            border: 2px #808080 solid;
            background-color: #fff;
            position: absolute;
            left: 0;
        }
        &::after {
            content: '';
            display: block;
            position: absolute;
            opacity: 0;
        }
    }
    /* ラジオボタン */
    input[type=radio] + label {
        &::before {
            width: 25px;
            height: 25px;
            border-radius: 50%;
            top: calc(50% - (25px / 2));
        }
        &::after {
            width: 15px;
            height: 15px;
            border-radius: 50%;
            background-color:  var(--color-red);
            left: 5px;
            top: calc(50% - (15px / 2));
            transition-duration: 0.2s;
        }
    }
    input[type=radio]:checked + label::after {
        opacity: 1;
    }
    /* チェックボックス */
    input[type=checkbox] + label {
        &::before {
            width: 25px;
            height: 25px;
            border-radius: 4px;
            top: calc(50% - (25px / 2));
        }
        &::after {
            width: 16px;
            height: 26px;
            border-width: 0 5px 4px 0;
            border-color: var(--color-red);
            border-style: solid;
            left: 4px;
            top: calc(50% - 19px);
            transform: translateY(-5px) rotate(40deg);
            transition-duration: 0.2s;
        }
        &.fsS {
            padding: 0 0 0 40px;
            font-size: clamp(1.5rem , 2vw, 1.7rem);
            line-height: 1.4;
        }
        &.fsS::before {
            top: 0;
        }
        &.fsS::after{
            top: -8px;
        }
    }
    input[type=checkbox]:checked + label::after {
        transform: translateY(0px) rotate(40deg);
        opacity: 1;
    }
}
.select_box {
    width: 100%;
    background-color: #fff;
    border-radius: 5px;
    position: relative;
    overflow: hidden;
}
.select_box.short {
    width: min(100%, 300px);
}
.select_box::after {
    content: '';
    display: block;
    width: 15px;
    aspect-ratio: 9/5;
    background-image: url('../img/select_arrow.svg');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    
}
    .select_box select {
        display: block;
        width: 100%;
        min-height: 60px;
        background: none;
        border: none;
        font-family: var(--font-jp);
        font-weight: 600;
        font-size: 1.8rem;
        font-display: swap;
        color: var(--color-black);
        padding: 0 40px 0 20px;
        box-sizing: border-box;
        appearance: none;
        position: relative;
    }
.input_file__wrapper {
    width: min(100%, 180px);
}
.entry_form_upload {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: min(100%, 180px);
    min-height: 50px;
    padding: 10px max(min(1.8vw, 25px), 12px);
    background-color: var(--color-yellow);
    border-radius: 5px;
    border: 2px var(--color-yellow) solid;
    font-size: clamp(1.5rem, 1.8vw, 1.8rem);
    letter-spacing: 0.1em;
}
.entry_form_upload:hover {
    background-color: #fff;
}
.entry_form_delete {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: min(100%, 180px);
    min-height: 50px;
    padding: 10px max(min(1.8vw, 25px), 12px);
    background-color: #ccc;
    border-radius: 5px;
    border: 2px #ccc solid;
    font-size: clamp(1.5rem, 1.8vw, 1.8rem);
    letter-spacing: 0.1em;
}
.entry_form_delete:hover {
    background-color: #fff;
}
.entry_form_submit {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: min(100%, 455px);
    min-height: 80px;
    margin: 0 auto;
    padding: 10px max(min(1.8vw, 25px), 12px);
    background-color: var(--color-red);
    background-image: url('../img/more_white.svg');
    background-position: right 5.5% top 50%;
    background-size: 22px auto;
    background-repeat: no-repeat;
    border-radius: 5px;
    border: 2px var(--color-red) solid;
    cursor: pointer;
    color: #fff;
    font-size: clamp(1.7rem, 1.8vw, 2.0rem);
    font-weight: 600;
    letter-spacing: 0.1em;
}
.entry_form_submit:hover {
    background-color: #fff;
    background-image: url('../img/more_red.svg');
    color: var(--color-red);
}
.entry_form_return {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: min(100%, 455px);
    min-height: 80px;
    margin: 40px auto 0;
    padding: 10px max(min(1.8vw, 25px), 12px);
    background-color: #aaa;
    background-image: url('../img/more_left.svg');
    background-position: left 5.5% top 50%;
    background-size: 22px auto;
    background-repeat: no-repeat;
    border-radius: 5px;
    border: 2px #aaa solid;
    cursor: pointer;
    color: #fff;
    font-size: clamp(1.7rem, 1.8vw, 2.0rem);
    font-weight: 600;
    letter-spacing: 0.1em;
}
.entry_form_return:hover {
    background-color: #fff;
    background-image: url('../img/more_gray.svg');
    color: #aaa;
}
.entry_05.false {
    display: none;
}
.entry_form_error {
    font-size: 0.8em;
}
.entry_form_error.false {
    display: none;
}
dd:has(.entry_form_error:not(.false)) input[type=text],
dd:has(.entry_form_error:not(.false)) input[type=tel],
dd:has(.entry_form_error:not(.false)) input[type=email],
dd:has(.entry_form_error:not(.false)) input[type=number],
dd:has(.entry_form_error:not(.false)) .input-list__check {
    background-color: var(--color-pink);
}
@media screen and (max-width:600px){
.entry_form_wrapper {
    padding: 0 5%;
}
.input-list__check,
.input-list__confirm {
    input[type=checkbox] + label {
        &.fsS {
            padding: 0 0 0 40px;
        }
    }
}
}


.entry_table {
    table-layout: fixed;
    width: min(100%, 1005px);
    margin: 0 auto;
    background-color: var(--color-red);
    border-collapse: separate;
    border-spacing: 1px;
    border-radius: 10px;
    border: 2px var(--color-red) solid;
    overflow: hidden;
    font-size: 0.85em;
    letter-spacing: 0.1em;
}
    .entry_table col:nth-child(1) {
        width: 40%;
    }
    .entry_table th {
        padding: max(min(1.8vw, 25px), 10px) 3%;
        background-color: #FFF0BC;
        vertical-align: middle;
    }
    .entry_table td {
        padding: max(min(1.8vw, 25px), 10px) 3%;
        background-color: #FFF0BC;
        line-height: 1.75;
        vertical-align: middle;
    }
@media screen and (max-width:768px){
.entry_table colgroup,
.entry_table thead {
    display: none;
}
.entry_table,
.entry_table tbody,
.entry_table tr,
.entry_table th,
.entry_table td {
    display: block;
}
.entry_table {
    background: none;
    border: none;
    border-radius: 0;
    font-size: 0.8em;
}
    .entry_table tr {
        background-color: var(--color-red);
        border-radius: 10px;
        border: 2px var(--color-red) solid;
        overflow: hidden;
    }
    .entry_table tr:not(:first-child) {
        margin-top: 10px;
    }
    .entry_table td {
        margin: 1px 0 0;
        padding-left: calc((110px + 6%) + 3%);
        letter-spacing: 0.05em;
        position: relative;
    }
    .entry_table td::before {
        content: '商品等の種類';
        display: flex;
        justify-content: center;
        align-items: center;
        width: calc(110px + 6%);
        height: 100%;
        border-right: 1px var(--color-red) solid;
        color: var(--color-red);
        position: absolute;
        left: 0;
        top: 0;
    }
    .entry_table td:last-child::before {
        content: '例示';
    }
}
@media screen and (max-width:600px){
    .entry_table th {
        padding: 10px max(min(3.5vw, 20px), 10px);
    }
    .entry_table td {
        padding: 10px max(min(3.5vw, 20px), 10px) 10px calc(max(min(22vw, 120px), 100px) + max(min(3.5vw, 20px), 10px));
    }
    .entry_table td::before {
        width: max(min(22vw, 120px), 100px);
    }
}


/* ------------------------------------- /
/  faq
/* ------------------------------------- */
.faq_menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    row-gap: 20px;
    width: min(100%, 1290px);
    margin: 0 auto;
}
    .faq_menu a {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        width: min(23.5%, 300px);
        aspect-ratio: 300/80;
        padding-left: max(2.34375%, 15px);
        border-radius: 10px;
        border: 2px var(--color-red) solid;
        background-color: var(--color-red);
        background-image: url('../img/faq_menu_white.svg');
        background-position: right 8.3% top 50%;
        background-size: 16px auto;
        background-repeat: no-repeat;
        color: #fff;
        font-size: clamp(1.6rem, 1.4vw, 2.0rem);
        letter-spacing: 0.1em;
    }
    .faq_menu a:hover {
        background-color: #fff;
        background-image: url('../img/faq_menu_red.svg');
        color: var(--color-red);
    }
@media screen and (max-width:1080px){
.faq_menu {
    width: min(100%, 620px);
}
    .faq_menu a {
        width: min(48%, 300px);
        aspect-ratio: 300/70;
    }
}
@media screen and (max-width:600px){
.faq_menu {
    width: min(100%, 300px);
}
    .faq_menu a {
        width: 100%;
    }
}



.faq_body {
    width: min(100%, 1005px);
    margin: 0 auto;
}
.faq_h3 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 44px;
    padding-left: max(min(5vw, 70px), 35px);
    background-position: left center;
    background-size: max(min(3.3vw, 44px), 25px) auto;
    background-repeat: no-repeat;
    font-size: clamp(2.2rem, 2.5vw, 3.0rem);
    letter-spacing: 0.1em;
    line-height: 1.2;
}
#faq_01 .faq_h3 {
    background-image: url('../img/faq_num_01.svg');
}
#faq_02 .faq_h3 {
    background-image: url('../img/faq_num_02.svg?2');
}
#faq_03 .faq_h3 {
    background-image: url('../img/faq_num_03.svg');
}
#faq_04 .faq_h3 {
    background-image: url('../img/faq_num_04.svg?2');
}


.recruit_faq_list {
    margin: 0 auto;
}
.recruit_faq_column {
    overflow: hidden;
}
.recruit_faq_column:not(:first-child) {
    margin-top: max(min(2.5vw, 30px), 15px);
}
.recruit_faq_trigger {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    min-height: 60px;
    width: 100%;
    padding: 10px 50px 10px max(min(6vw, 80px), 50px);
    background-color: var(--color-yellow);
    background-image: url('../img/faq_q.svg');
    background-position: left 16px top 50%;
    background-size: 24px auto;
    background-repeat: no-repeat;
    border-radius: 10px;
    font-size: clamp(1.8rem, 2.0vw, 2.2rem);
    color: var(--color-red);
    line-height: 1.2;
    position: relative;
}
.recruit_faq_trigger:hover {
    background-color: #fff;
}
.recruit_faq_trigger::before {
    content: '';
    width: 18px;
    height: 3px;
    background-color: var(--color-red);
    position: absolute;
    right: 2.49%;
    top: 50%;
    transform: translateY(-50%);
}
.recruit_faq_trigger::after {
    content: '';
    width: 18px;
    height: 3px;
    background-color: var(--color-red);
    position: absolute;
    right: 2.49%;
    top: 50%;
    transform: translateY(-50%) rotateZ(90deg);
}
.recruit_faq_trigger.open::after {
    display: none;
}
.recruit_faq_detail {
    height: 0;
    overflow: hidden;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
    font-size: clamp(1.5rem, 2.0vw, 1.8rem);
}
.recruit_faq_inner {
    padding: 20px 0 30px 70px;
}
    .recruit_faq_inner .fsS {
        font-size: 0.85em;
    }
        .recruit_faq_inner ol li {
            list-style: none;
            position: relative;
            padding-left: 1.1em;
        }
        .recruit_faq_inner ol li::before {
            content: '';
            display: block;
            position: absolute;
            left: 0;
            top: 0;
        }
        .recruit_faq_inner ol li:nth-child(1)::before {
            content: '①';
        }
        .recruit_faq_inner ol li:nth-child(2)::before {
            content: '②';
        }
        .recruit_faq_inner ol li:nth-child(3)::before {
            content: '③';
        }
        .recruit_faq_inner ol li:nth-child(4)::before {
            content: '④';
        }
        .recruit_faq_inner ol li:nth-child(5)::before {
            content: '⑤';
        }
        .recruit_faq_inner ol li:nth-child(6)::before {
            content: '⑥';
        }
        .recruit_faq_inner ol li:nth-child(7)::before {
            content: '⑦';
        }
        .recruit_faq_inner ol li:nth-child(8)::before {
            content: '⑧';
        }
        .recruit_faq_inner ol li:nth-child(9)::before {
            content: '⑨';
        }
        .recruit_faq_inner ol li:nth-child(10)::before {
            content: '⑩';
        }
        .recruit_faq_inner ul li {
            list-style: none;
            position: relative;
            padding-left: 1.1em;
        }
        .recruit_faq_inner ul li::before {
            content: '・';
            display: block;
            position: absolute;
            left: 0;
            top: 0;
        }

@media (max-width: 600px){
.recruit_faq_trigger {
    padding: 10px 30px 10px 42px;
    background-position: left 14px top 50%;
    background-size: 20px auto;
    font-size: 1.7rem;
}
.recruit_faq_trigger:hover {
    background-color: var(--color-yellow);
}
.recruit_faq_trigger::before {
    width: 14px;
    height: 2px;
}
.recruit_faq_trigger::after {
    width: 14px;
    height: 2px;
}
.recruit_faq_inner {
    padding: 20px 10px 30px 10px;
}
}


/*印刷用*/
@media print {
header {
    display: none;
}
main {
    padding-top: 0;
}
    html {
    font-size: 40%;
    }
    
body {
    font-size: 1.0em;
}
}



.news_list {
    width: min(100%, 800px);
    margin: 0 auto;
    border-radius: 10px;
}
.news_column {
    border-bottom: 1px #A2A2A2 solid;
    font-size: clamp(1.7rem, 2.5vw, 2.0rem);
}
.news_column:first-child:last-child {
    border: none;
}
    .news_column a {
        text-decoration: underline;
    }
    .news_column a:hover {
        text-decoration: none;
    }
