@charset "UTF-8";
/* Scss Document */
.flex_30 {
    width: 30%;
}
.flex_31 {
    width: 31%;
}
.flex_32 {
    width: 32%;
}
.flex_33 {
    width: 33%;
}
.flex_34 {
    width: 34%;
}
.flex_35 {
    width: 35%;
}
.flex_36 {
    width: 36%;
}
.flex_37 {
    width: 37%;
}
.flex_38 {
    width: 38%;
}
.flex_39 {
    width: 39%;
}
.flex_40 {
    width: 40%;
}
.flex_41 {
    width: 41%;
}
.flex_42 {
    width: 42%;
}
.flex_43 {
    width: 43%;
}
.flex_44 {
    width: 44%;
}
.flex_45 {
    width: 45%;
}
.flex_46 {
    width: 46%;
}
.flex_47 {
    width: 47%;
}
.flex_48 {
    width: 48%;
}
.flex_49 {
    width: 49%;
}
.flex_50 {
    width: 50%;
}
.flex_51 {
    width: 51%;
}
.flex_52 {
    width: 52%;
}
.flex_53 {
    width: 53%;
}
.flex_54 {
    width: 54%;
}
.flex_55 {
    width: 55%;
}
.flex_56 {
    width: 56%;
}
.flex_57 {
    width: 57%;
}
.flex_58 {
    width: 58%;
}
.flex_59 {
    width: 59%;
}
.flex_60 {
    width: 60%;
}
.flex_61 {
    width: 61%;
}
.flex_62 {
    width: 62%;
}
.flex_63 {
    width: 63%;
}
.flex_64 {
    width: 64%;
}
.flex_65 {
    width: 65%;
}
.flex_66 {
    width: 66%;
}
.flex_67 {
    width: 67%;
}
.flex_68 {
    width: 68%;
}
.flex_69 {
    width: 69%;
}
.flex_70 {
    width: 70%;
}
:root {
    --min-size: 100px;
    --clamp-vw: 18vw;
}
@media (max-width: 1024px) {
    :root {
        --min-size: 60px;
        --clamp-vw: 10vw;
    }
}
.padding100 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 100px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 100px);
}
.padding110 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 110px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}
.padding120 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 120px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}
.padding130 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 130px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}
.padding140 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 140px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}
.padding150 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 150px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}
.padding160 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 160px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}
.padding170 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 170px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}
.padding180 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 180px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}
.padding190 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 190px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}
.padding200 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 200px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}
.padding210 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 210px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}
.padding220 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 220px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}
.padding230 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 230px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}
.padding240 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 240px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}
.padding250 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 250px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}
.padding260 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 260px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}
.padding270 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 270px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}
.padding280 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 280px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}
.padding290 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 290px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}
.padding300 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 300px);
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}
.margin100 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 100px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 100px);
}
.margin110 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 110px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}
.margin120 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 120px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}
.margin130 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 130px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}
.margin140 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 140px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}
.margin150 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 150px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}
.margin160 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 160px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}
.margin170 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 170px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}
.margin180 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 180px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}
.margin190 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 190px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}
.margin200 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 200px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}
.margin210 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 210px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}
.margin220 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 220px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}
.margin230 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 230px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}
.margin240 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 240px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}
.margin250 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 250px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}
.margin260 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 260px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}
.margin270 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 270px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}
.margin280 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 280px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}
.margin290 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 290px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}
.margin300 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 300px);
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}
.pt-110 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 110px);
}
.pt-120 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 120px);
}
.pt-130 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 130px);
}
.pt-140 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 140px);
}
.pt-150 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 150px);
}
.pt-160 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 160px);
}
.pt-170 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 170px);
}
.pt-180 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 180px);
}
.pt-190 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 190px);
}
.pt-200 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 200px);
}
.pt-210 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 210px);
}
.pt-220 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 220px);
}
.pt-230 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 230px);
}
.pt-240 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 240px);
}
.pt-250 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 250px);
}
.pt-260 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 260px);
}
.pt-270 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 270px);
}
.pt-280 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 280px);
}
.pt-290 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 290px);
}
.pt-300 {
    padding-top: clamp(var(--min-size), var(--clamp-vw), 300px);
}
.pb-110 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}
.pb-120 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}
.pb-130 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}
.pb-140 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}
.pb-150 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}
.pb-160 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}
.pb-170 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}
.pb-180 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}
.pb-190 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}
.pb-200 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}
.pb-210 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}
.pb-220 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}
.pb-230 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}
.pb-240 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}
.pb-250 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}
.pb-260 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}
.pb-270 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}
.pb-280 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}
.pb-290 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}
.pb-300 {
    padding-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}
.mt-110 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 110px);
}
.mt-120 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 120px);
}
.mt-130 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 130px);
}
.mt-140 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 140px);
}
.mt-150 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 150px);
}
.mt-160 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 160px);
}
.mt-170 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 170px);
}
.mt-180 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 180px);
}
.mt-190 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 190px);
}
.mt-200 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 200px);
}
.mt-210 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 210px);
}
.mt-220 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 220px);
}
.mt-230 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 230px);
}
.mt-240 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 240px);
}
.mt-250 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 250px);
}
.mt-260 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 260px);
}
.mt-270 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 270px);
}
.mt-280 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 280px);
}
.mt-290 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 290px);
}
.mt-300 {
    margin-top: clamp(var(--min-size), var(--clamp-vw), 300px);
}
.mb-110 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}
.mb-120 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}
.mb-130 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}
.mb-140 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}
.mb-150 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}
.mb-160 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}
.mb-170 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}
.mb-180 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}
.mb-190 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}
.mb-200 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}
.mb-210 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}
.mb-220 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}
.mb-230 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}
.mb-240 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}
.mb-250 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}
.mb-260 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}
.mb-270 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}
.mb-280 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}
.mb-290 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}
.mb-300 {
    margin-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}
a, a:hover, a:focus, a:active, a:visited, a:focus-visible {
    text-decoration: none;
}
.anchor_pt {
    padding-top: 180px;
    margin-top: -180px;
}
/********************/
.side_banner {
    position: fixed;
    right: 0;
    top: calc(50% + 20px);
    transform: translateY(-50%);
    z-index: 900;
}
.side_banner a {
    background-color: #cf2e92;
    border: 1px solid #cf2e92;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 15px 0 0 15px;
    width: 110px;
    color: #FFF;
    font-size: 23px;
    padding: 60px 0;
    gap: 13px;
    writing-mode: vertical-rl;
    letter-spacing: 0.06em;
    transition: 0.3s ease;
}
.side_banner a:hover {
    background-color: #FFF;
    color: #cf2e92;
}
.side_banner a:hover .icon {
    background-image: url("../images/insta_hov.webp");
}
.side_banner a:hover .arrow {
    background-color: #cf2e92;
}
.side_banner a:hover .arrow:before {
    background-image: url("../images/arrow_w.webp");
}
.side_banner .icon {
    background: url("../images/insta.webp") 50% 0/100% 100% no-repeat;
    width: 31px;
    height: 31px;
    transition: 0.3s ease;
}
.side_banner .arrow {
    width: 21px;
    height: 21px;
    border-radius: 50%;
    background-color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s ease;
}
.side_banner .arrow:before {
    content: "";
    background: url("../images/arrow_p.webp") 50% 50%/100% 100% no-repeat;
    width: 7px;
    height: 11px;
    transition: 0.3s ease;
}
.side_banner .sp_none {
    display: flex;
    align-items: center;
    justify-content: center;
}
.side_banner .sp_none .arrow {
    margin-top: 15px;
    position: relative;
    left: -2px;
}
.side_banner .minus {
    position: relative;
    right: -2px;
}
/************************/
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    display: flex;
    align-items: center;
    height: 130px;
    background-color: #FFF;
}
.h_right {
    position: absolute;
    right: 130px;
    top: 0;
    display: flex;
    justify-content: space-between;
}
.h_right p {
    transition: 0.3s ease;
}
.h_right a {
    color: #FFF;
    height: 128px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(18px, 2.2vw, 28px);
    font-weight: bold;
    letter-spacing: 0.08em;
    transition: 0.3s ease;
}
.h_right .line {
    background-color: #099520;
    color: #FFF;
    width: 250px;
    border: 1px solid #099520;
}
.h_right .line:hover {
    background-color: #FFF;
}
.h_right .line:hover a {
    color: #099520;
}
.h_right .contact {
    background-color: #f4771c;
    border: 1px solid #f4771c;
    color: #FFF;
    width: 380px;
}
.h_right .contact:hover {
    background-color: #FFF;
}
.h_right .contact:hover a {
    color: #f4771c;
}
/*******************/
.top_main {
    overflow: hidden;
    margin-top: 130px;
}
.top_main, .flexslider .slides li {
    height: clamp(700px, 50vw, 950px);
    border-radius: 50px 0 0 50px;
}
.top_main .flexslider {
    width: calc(100% + 80px);
}
#fade1 {
    background: url("../images/fade1.webp") 47% 0/cover no-repeat;
}
#fade2 {
    background: url("../images/fade2.webp") 50% 0/cover no-repeat;
}
#fade3 {
    background: url("../images/fade3.webp") 50% 0/cover no-repeat;
}
.top_title {
    position: absolute;
    left: 50%;
    bottom: 105px;
    transform: translateX(-50%);
    max-width: 1560px;
    width: 90%;
}
.top_title h2 {
    font-size: clamp(24px, 5.2vw, 60px);
    font-weight: bold;
    letter-spacing: 0.03em;
}
.top_title .bg_w {
    background-color: #FFF;
    border-radius: 10px;
    padding: 25px 30px 25px 20px;
    display: inline-block;
    line-height: 1em;
    text-box: trim-both cap alphabetic;
    margin-bottom: 15px;
}
.orange_f4771c {
    color: #f4771c;
}
.green_6bae51 {
    color: #6bae51;
}
/********************************/
.sec01_cont {
    position: relative;
    overflow: hidden;
}
.eng_25 {
    font-size: clamp(20px, 2vw, 25px);
    font-weight: bold;
    letter-spacing: 0.08em;
    color: #f4771c;
    margin-bottom: 10px;
}
.center {
    text-align: center;
}
.title_45 {
    font-size: clamp(24px, 3.7vw, 45px);
    font-weight: bold;
    letter-spacing: 0.08em;
}
.sec01_text {
    font-size: 18px;
    text-align: center;
    line-height: 2.5em;
    font-weight: bold;
    letter-spacing: 0.02em;
}
.sec01_line_absolute {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 60px;
}
.sec01_absolute1 {
    position: absolute;
    left: 4%;
    top: 210px;
    width: 24%;
}
.sec01_absolute1 img {
    max-width: 100%;
    height: auto;
}
.sec01_absolute2 {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 28%;
    text-align: right;
    z-index: 400;
}
.sec01_absolute2 img {
    max-width: 100%;
    height: auto;
}
/**********************/
.bg_f7f5ef {
    background-color: #f7f5ef;
}
.radius_left100 {
    border-radius: 100px 0 0 0;
}
.sec02_minus {
    margin-top: -70px;
    position: relative;
    overflow: hidden;
}
.text_18 {
    font-size: 18px;
    line-height: 1.8em;
}
.dot_title {
    font-size: clamp(24px, 2.8vw, 35px);
    display: flex;
    align-items: center;
    column-gap: 15px;
}
.dot_title:before {
    content: "";
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: #f4771c;
    flex-shrink: 0;
}
.sec02_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}
.sec02_grid.column3 {
    grid-template-columns: repeat(3, 1fr);
}
.sec02_grid > div {
    min-height: 260px;
    padding: 30px 20px;
    position: relative;
    border: 3px solid #099520;
    border-radius: 20px;
    overflow: hidden;
    background-color: #FFF;
}
.sec02_grid > div:nth-child(even) {
    border-color: #f4771c;
}
.sec02_grid > div:nth-child(even) .sec02num {
    background-color: #f4771c;
}
.sec02_grid > div.orange {
    border-color: #f4771c;
}
.sec02_grid > div.orange .sec02num {
    background-color: #f4771c;
}
.sec02num {
    position: absolute;
    left: 0;
    top: 0;
    width: 55px;
    height: 55px;
    border-radius: 0 0 20px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 25px;
    background-color: #099520;
    color: #FFF;
    letter-spacing: 0.04em;
    padding-bottom: 3px;
}
.sec02_icon {
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 50px;
}
.sec02_text {
    text-align: center;
    font-size: clamp(17px, 1.6vw, 22px);
    margin-top: 10px;
}
.sec02_text .span_40 {
    font-size: clamp(24px, 3.5vw, 40px);
}
.sec02_text .mini {
    font-size: 16px;
    display: inline-block;
    line-height: 1.3em;
    margin-top: 10px;
}
/***************************/
.sec02_grid2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 80px;
    row-gap: 40px;
}
.sec02_grid2 > div {
    background-color: #FFF;
    border-radius: 25px;
    padding: 40px;
    text-align: center;
}
.sec02_grid2 h4 {
    margin: 0 0 15px;
}
.sec02_grid2 p {
    line-height: 1.6em;
}
.sec02_icon2 {
    margin-top: -58px;
    text-align: center;
}
.title_30 {
    font-size: clamp(22px, 2.4vw, 30px);
}
.sec02_line_absolute {
    position: absolute;
    top: 290px;
    left: 50%;
    transform: translateX(-50%);
}
/***************************/
.sec03_flex {
    display: flex;
    justify-content: space-between;
    gap: 30px 40px;
}
.sec03_right {
    width: 52%;
    max-width: max-content;
    order: 2;
}
.sec03_right img {
    border-radius: 0 0 0 50px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sec03_left {
    width: 48%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 60px 0;
}
.sec03_width {
    width: 90%;
    max-width: 595px;
    margin-left: auto;
}
.sec03_width .text_18 {
    letter-spacing: 0.02em;
}
.sec03_line_absolute {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
/****************************/
.sec04_faq > div {
    padding: 45px 0;
    border-bottom: 1px solid #dcdcdc;
}
.faq_table {
    display: flex;
    align-items: flex-start;
    column-gap: 20px;
}
.q_cell1 {
    width: 55px;
    height: 55px;
    background-color: #f7f5ef;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #f4771c;
    font-size: 25px;
    flex-shrink: 0;
    padding-bottom: 3px;
}
.q_cell2 {
    font-size: clamp(20px, 1.9vw, 25px);
    padding-top: 10px;
}
.a_cell1 {
    width: 55px;
    height: 55px;
    background-color: #f4771c;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    font-size: 25px;
    flex-shrink: 0;
    padding-bottom: 3px;
    padding-left: 1px;
}
.a_cell2 {
    padding-top: 15px;
}
/***************************/
.sec05_move {
    display: flex;
    width: max-content;
    animation: infiniteScroll 50s linear infinite;
}
.sec05_move > div {
    flex-shrink: 0;
    margin-right: 20px;
}
@keyframes infiniteScroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}
/*******************/
.sec06_minus {
    margin-top: -117px;
    position: relative;
    z-index: 500;
}
.sec06_bg {
    background: url("../images/bg_wave.webp") 50% 0/1920px 100% no-repeat;
    height: 117px;
    width: 100%;
}
.sec06_list a {
    display: flex;
    justify-content: space-between;
    background-color: #FFF;
    border-radius: 30px;
    color: inherit;
    padding: clamp(30px, 7%, 80px);
    gap: 30px 40px;
}
.sec06_list > div:nth-child(n+2) {
    margin-top: 30px;
}
.sec06_left {
    width: 30%;
    max-width: max-content;
}
.sec06_left img {
    width: 100%;
    height: auto;
    border-radius: 20px;
}
.sec06_right {
    width: 70%;
    max-width: 745px;
}
.sec06_right h3 {
    font-size: clamp(20px, 2vw, 25px);
    min-height: 80px;
    color: #f4771c;
    margin-top: 30px;
}
.sec06_table {
    margin-top: 20px;
}
.sec06_table > div {
    display: flex;
    align-items: flex-start;
    column-gap: 15px;
}
.sec06_table > div:nth-child(n+2) {
    margin-top: 35px;
}
.sec06_cell1 {
    width: 60px;
    border-radius: 50px;
    text-align: center;
    white-space: nowrap;
    background-color: #a6937c;
    color: #FFF;
    position: relative;
    top: 2px;
    padding-bottom: 2px;
}
.sec06_cell2 {
    font-size: 17px;
}
.sec06_data {
    font-size: 15px;
}
.more a {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    background-color: #f4771c;
    border: 1px solid #f4771c;
    border-radius: 50px;
    position: relative;
    font-size: 22px;
    transition: 0.3s ease;
}
.more a:hover {
    background-color: #FFF;
    color: #f4771c;
}
.more a:hover .arrow {
    background-color: #f4771c;
}
.more a:hover .arrow:before {
    background-image: url("../images/arrow_w.webp");
}
.hov_arrow {
    position: relative;
}
.hov_arrow .arrow {
    background-color: #FFF;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease;
    padding-left: 2px;
}
.hov_arrow .arrow:before {
    content: "";
    background: url("../images/arrow_o.webp") 50% 50%/100% 100% no-repeat;
    transition: 0.3s ease;
    width: 8px;
    height: 12px;
    transition: 0.3s ease;
}
.sec06_more {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
}
.sec06_more > p {
    position: relative;
}
.sec06_more > p:after {
    content: "";
    background-color: #027b16;
    border-radius: 20px;
    height: clamp(100px, 15vw, 170px);
    width: 100%;
    position: absolute;
    bottom: -5px;
    left: 0;
}
.sec06_more a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 500;
    height: clamp(100px, 15vw, 170px);
    border-radius: 20px;
    color: #FFF;
    font-size: clamp(20px, 2.5vw, 35px);
    background-color: #22ac38;
    transition: 0.3s ease;
}
.sec06_more a:hover {
    transform: translateY(5px);
    background-color: #099520;
}
.sec06_more .arrow {
    background-color: #FFF;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    position: absolute;
    right: 40px;
    top: calc(50% + 2px);
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
}
/*****************************/
.sec07_bg {
    background: url("../images/top35.webp") 50% 0/cover no-repeat;
    height: 660px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.title_52 {
    font-size: clamp(30px, 4.5vw, 52px);
}
.sec07_more {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 40px;
    row-gap: 40px;
}
.sec07_more a {
    border-radius: 15px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 120px;
    color: #FFF;
    position: relative;
    font-size: 22px;
    transition: 0.3s ease;
}
.sec07_more a:hover .arrow:before {
    background-image: url("../images/arrow_w.webp");
}
.sec07_more .rec a {
    background-color: #362e2b;
    border: 1px solid #362e2b;
}
.sec07_more .rec a:hover {
    background-color: #FFF;
    color: #362e2b;
}
.sec07_more .rec a:hover .arrow {
    background-color: #362e2b;
}
.sec07_more .rec .arrow:before {
    background-image: url("../images/arrow_b.webp");
}
.sec07_more .contact a {
    background-color: #f4771c;
    border: 1px solid #f4771c;
}
.sec07_more .contact a:hover {
    background-color: #FFF;
    color: #f4771c;
}
.sec07_more .contact a:hover .arrow {
    background-color: #f4771c;
}
.sec07_more .contact .arrow:before {
    background-image: url("../images/arrow_o.webp");
}
.sec07_more .line a {
    background-color: #099520;
    border: 1px solid #099520;
}
.sec07_more .line a:hover {
    background-color: #FFF;
    color: #099520;
}
.sec07_more .line a:hover .arrow {
    background-color: #099520;
}
.sec07_more .line .arrow:before {
    background-image: url("../images/arrow_g.webp");
}
.sec07_line_absolute {
    position: absolute;
    top: 0;
    left: 0;
}
/**************************/
.footer {
    border-top: 2px solid #f47920;
}
.f_flex {
    display: flex;
    justify-content: space-between;
    gap: 30px 40px;
}
.f_nav {
    width: calc(100% - 500px);
    max-width: 540px;
    display: flex;
    justify-content: space-between;
}
.f_nav a, .f_nav .f_span {
    color: inherit;
    display: flex;
    align-items: center;
    column-gap: 15px;
}
.f_nav a .arrow, .f_nav .f_span .arrow {
    background-color: #f4771c;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
}
.f_nav li:nth-child(n+2) {
    margin-top: 30px;
}
.f_sub {
    margin-top: 10px;
    font-size: 15px;
    padding-left: 37px;
}
.f_sub a {
    display: flex;
    align-items: center;
    column-gap: 10px;
}
.f_sub a:before {
    content: "";
    border-bottom: 1px solid #f4771c;
    width: 10px;
}
.f_sub p:nth-child(n+2) {
    margin-top: 5px;
}
.copyright {
    font-size: 15px;
    margin-top: -10px;
}
/*********************************************************************

    応募フォーム

*********************************************************************/
.main_in {
    height: 610px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.title_in {
    width: 90%;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 500;
}
.title_in h2 {
    font-size: clamp(28px, 5.5vw, 62px);
    letter-spacing: 0.1em;
}
.title_in p {
    font-size: clamp(20px, 2.8vw, 33px);
    color: #f4771c;
    margin-top: 10px;
    letter-spacing: 0.08em;
}
.main_line_absolute {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
}
/**********/
.contact_form > div {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.contact_form > div:nth-child(n+2) {
    margin-top: 40px;
}
.c_cell1 {
    display: flex;
    align-items: flex-start;
    width: 330px;
    column-gap: 20px;
    font-size: 24px;
    padding-top: 15px;
}
.req {
    background-color: #e84e59;
    font-size: 18px;
    height: 30px;
    width: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #FFF;
    border-radius: 50px;
    padding-bottom: 3px;
    position: relative;
    top: 2px;
}
.req.nini {
    background-color: #a6937c;
}
.c_cell2 {
    width: calc(100% - 330px);
    font-size: 18px;
}
.size, .area {
    background-color: #f7f5ef;
    border-radius: 10px;
    padding: 0 25px;
    border: 0;
    width: 100%;
}
.size {
    height: 70px;
}
.area {
    height: 430px;
    padding: 25px;
}
.birth_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 660px;
    column-gap: 20px;
}
.birth_flex > div {
    display: flex;
    align-items: center;
    column-gap: 10px;
    width: 25%;
}
.birth_flex > div:nth-child(1) {
    width: 50%;
}
.birth_flex > div > div {
    width: 100%;
}
.birth_flex p {
    white-space: nowrap;
}
select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("../images/select.webp");
    background-repeat: no-repeat;
    background-size: 14px auto; /* 画像のサイズ（幅 高さ）*/
    background-position: right 12px center; /* 画像の位置 */
}
::placeholder {
    color: #b7b6b6;
}
.privacy_box {
    border: 1px solid #dcdcdc;
    border-radius: 5px;
    padding: clamp(30px, 7%, 40px);
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    height: 350px;
    overflow-y: scroll;
}
.title_22 {
    font-size: clamp(20px, 2vw, 22px);
}
.privacy_check {
    text-align: center;
    font-size: 20px;
}
.privacy_check input[type=checkbox] {
    position: relative;
    width: 50px;
    height: 50px;
    background-color: #f7f5ef;
    border-radius: 10px;
    vertical-align: -20px;
    margin-right: 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.privacy_check input[type=checkbox]:checked {
    background-color: #f4771c;
}
.privacy_check input[type=checkbox]:checked:before {
    position: absolute;
    top: 9px;
    left: 19px;
    transform: rotate(50deg);
    width: 12px;
    height: 24px;
    border-right: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    content: "";
}
.sub_mit {
    width: 100%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 100px;
    background-color: #f4771c;
    border: 1px solid #f4771c;
    position: relative;
    transition: 0.3s ease;
}
.sub_mit input {
    display: block;
    width: 100%;
    border-radius: 100px;
    height: 90px;
    color: #FFF;
    text-align: center;
    font-size: 22px;
    background: none;
    border: 0;
    font-weight: bold;
    padding-bottom: 3px;
    transition: 0.3s ease;
}
.sub_mit .arrow {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFF;
    padding-left: 2px;
    transition: 0.3s ease;
}
.sub_mit .arrow:before {
    content: "";
    background: url("../images/arrow_o.webp") 50% 50%/100% 100% no-repeat;
    width: 8px;
    height: 12px;
    transition: 0.3s ease;
}
.sub_mit:hover {
    background-color: #FFF;
}
.sub_mit:hover input {
    color: #f4771c;
}
.sub_mit:hover .arrow {
    background-color: #f4771c;
}
.sub_mit:hover .arrow:before {
    background-image: url("../images/arrow_w.webp");
}
/*********************************************************************

    募集要項

*********************************************************************/
.sec06_list a {
    padding-bottom: 40px;
}
.sec06_list a:hover .rec_in {
    background-color: #FFF;
    color: #f4771c;
}
.sec06_list a:hover .rec_in .arrow {
    background-color: #f4771c;
}
.sec06_list a:hover .rec_in .arrow:before {
    background-image: url("../images/arrow_w.webp");
}
.sec06_list.list_in a {
    background-color: #fbfbfb;
}
.rec_in {
    width: 200px;
    border-radius: 50px;
    color: #FFF;
    background-color: #f4771c;
    border: 1px solid #f4771c;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    margin-top: 15px;
    margin-right: -20px;
    position: relative;
    font-size: 17px;
    transition: 0.3s ease;
}
.rec_in .arrow {
    background-color: #FFF;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}
.rec_in .arrow:before {
    content: "";
    background: url("../images/arrow_o.webp") 50% 50%/100% 100% no-repeat;
    width: 4px;
    height: 7px;
}
/*Pagenation*/
.pagenation:after, .pagenation ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
.pagenation ul {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 20px;
}
.pagenation li {
    list-style: none outside none;
    font-size: 28px;
}
.pagenation li:first-child {
    margin-left: 0;
}
.pagenation li.active {
    background-color: #f4771c;
    border-radius: 50%;
    color: #FFFFFF;
    cursor: not-allowed;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.pagenation li a {
    border-radius: 50%;
    width: 60px;
    height: 60px;
    color: #FFFFFF;
    background-color: #b5b5b5;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}
.pagenation .prev a, .pagenation .next a {
    background-color: none;
    border-radius: 0;
    color: #99b250;
    width: auto;
    height: auto;
    background: none;
    border: 0;
}
.pagenation .prev {
    margin-right: 30px;
}
.pagenation .prev img {
    transform: scale(-1, 1);
}
.pagenation .next {
    margin-left: 30px;
}
/*********************************************************************

    募集要項　詳細

*********************************************************************/
.pan_list {
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
}
.pan_list a {
    color: inherit;
}
.pan_list a:after {
    content: "＞";
    color: #f4771c;
    margin: 0 15px;
}
.detail_bg {
    background-color: #f7f5ef;
    border-radius: 25px;
    padding: clamp(20px, 6%, 55px) clamp(20px, 6%, 65px);
    color: #f4771c;
    font-size: clamp(20px, 2.5vw, 30px);
}
.detail_bg h2 {
    letter-spacing: 0.08em;
}
.detail_table {
    border-top: 1px solid #e5e5e5;
}
.detail_table > div {
    display: flex;
    justify-content: space-between;
    padding: 50px 10px;
    border-bottom: 1px solid #e5e5e5;
}
.detail_cell1 {
    width: 220px;
    font-size: 20px;
}
.detail_cell2 {
    width: calc(100% - 220px);
    max-width: 950px;
    font-size: 18px;
}
.rec_more {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
.rec_more:after {
    content: "";
    background-color: #f4771c;
    height: 130px;
    width: 100%;
    border-radius: 100px;
    position: absolute;
    top: 15px;
    left: 0;
    opacity: 0;
    transition: 0.3s ease;
}
.rec_more a {
    position: relative;
    z-index: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    max-width: 1200px;
    height: 130px;
    margin: 0 auto;
    font-size: 30px;
    column-gap: 30px;
    background-color: #f4771c;
    border-radius: 100px;
    border: 1px solid #f4771c;
    transition: 0.3s ease;
}
.rec_more .arrow {
    background-color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    transition: 0.3s ease;
}
.rec_more .arrow:before {
    content: "";
    background: url("../images/arrow_o.webp") 50% 0/cover no-repeat;
    width: 7px;
    height: 12px;
    height: 12px;
    transition: 0.3s ease;
}
.rec_more:hover a {
    background-color: #FFF;
    color: #f4771c;
}
.rec_more:hover .arrow {
    background-color: #f4771c;
}
.rec_more:hover .arrow:before {
    background-image: url("../images/arrow_w.webp");
}
.rec_more:hover:after {
    opacity: 1;
}
.max_img100 img {
    max-width: 100%;
    height: auto;
}

.f_company_site a {
    text-decoration: none;
    font-size: 22px;
    font-weight: bold;
    margin-top: 40px;
    color: inherit;
    display: flex;
    align-items: center;
    column-gap: 10px;
}

/* PC用
------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {
    .side_banner {
        top: calc(50% + 40px);
    }
    .side_banner a {
        border-radius: 15px 0 0 15px;
        width: 85px;
        font-size: 22px;
        padding: 55px 0;
        gap: 13px;
    }
    /************************/
    .header {
        height: 70px;
    }
    #logo img {
        width: 250px;
        height: auto;
    }
    .h_right {
        right: 70px;
    }
    .h_right a {
        height: 68px;
        font-size: 16px;
    }
    .h_right .line {
        width: 150px;
    }
    .h_right .contact {
        width: 200px;
    }
    /*******************/
    .top_main {
        margin-top: 70px;
    }
    .top_title {
        bottom: 60px;
    }
    .top_title h2 {
        font-size: clamp(24px, 4.2vw, 60px);
    }
    .top_title .bg_w {
        padding: 20px 30px 20px 20px;
    }
    /********************************/
    .sec01_absolute1 {
        top: 80px;
        width: 18%;
    }
    .sec01_absolute2 {
        width: 24%;
    }
    /**********************/
    .radius_left100 {
        border-radius: 60px 0 0 0;
    }
    .sec02_minus {
        margin-top: 60px;
    }
    .dot_title {
        font-size: 26px;
    }
    .dot_title:before {
        position: relative;
        top: 3px;
    }
    .sec02_grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sec02_grid.column3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .sec02_text {
        font-size: 22px;
        margin-top: 10px;
    }
    .sec02_text .span_40 {
        font-size: 36px;
    }
    /***************************/
    .sec02_grid2 {
        column-gap: 30px;
    }
    .sec02_grid2 > div {
        padding: 20px 20px 40px;
    }
    /***************************/
    .sec03_line_absolute img {
        width: 1024px;
        height: auto;
    }
    /***************************/
    .sec05_move > div img {
        width: 400px;
        height: auto;
    }
    /*******************/
    .sec06_minus {
        margin-top: -60px;
    }
    .sec06_bg {
        height: 60px;
    }
    .sec06_right {
        width: 100%;
        max-width: 100%;
    }
    .sec06_right h3 {
        min-height: 0;
        margin-top: 15px;
    }
    .sec06_table > div:nth-child(n+2) {
        margin-top: 10px;
    }
    .sec06_more {
        gap: 20px;
    }
    .sec06_more .arrow {
        right: 20px;
    }
    /*****************************/
    .sec07_bg {
        height: 500px;
    }
    .sec07_more {
        column-gap: 20px;
        row-gap: 20px;
    }
    .sec07_more a {
        border-radius: 15px;
        height: 100px;
        font-size: clamp(20px, 1.6vw, 22px);
        padding-bottom: 30px;
    }
    .sec07_more .arrow {
        top: auto;
        right: 50%;
        transform: translateX(50%);
        bottom: 15px;
    }
    .sec07_line_absolute {
        display: none;
    }
    /**************************/
    .footer {
        border-top: 2px solid #f47920;
    }
    .f_flex {
        flex-wrap: wrap;
        gap: 60px 40px;
    }
    .f_nav {
        width: 100%;
        max-width: 490px;
    }
    .copyright {
        font-size: 15px;
        margin-top: 60px;
    }
}
@media only screen and (max-width: 768px) {
    .flex_30 {
        width: 100%;
    }
    .flex_31 {
        width: 100%;
    }
    .flex_32 {
        width: 100%;
    }
    .flex_33 {
        width: 100%;
    }
    .flex_34 {
        width: 100%;
    }
    .flex_35 {
        width: 100%;
    }
    .flex_36 {
        width: 100%;
    }
    .flex_37 {
        width: 100%;
    }
    .flex_38 {
        width: 100%;
    }
    .flex_39 {
        width: 100%;
    }
    .flex_40 {
        width: 100%;
    }
    .flex_41 {
        width: 100%;
    }
    .flex_42 {
        width: 100%;
    }
    .flex_43 {
        width: 100%;
    }
    .flex_44 {
        width: 100%;
    }
    .flex_45 {
        width: 100%;
    }
    .flex_46 {
        width: 100%;
    }
    .flex_47 {
        width: 100%;
    }
    .flex_48 {
        width: 100%;
    }
    .flex_49 {
        width: 100%;
    }
    .flex_50 {
        width: 100%;
    }
    .flex_51 {
        width: 100%;
    }
    .flex_52 {
        width: 100%;
    }
    .flex_53 {
        width: 100%;
    }
    .flex_54 {
        width: 100%;
    }
    .flex_55 {
        width: 100%;
    }
    .flex_56 {
        width: 100%;
    }
    .flex_57 {
        width: 100%;
    }
    .flex_58 {
        width: 100%;
    }
    .flex_59 {
        width: 100%;
    }
    .flex_60 {
        width: 100%;
    }
    .flex_61 {
        width: 100%;
    }
    .flex_62 {
        width: 100%;
    }
    .flex_63 {
        width: 100%;
    }
    .flex_64 {
        width: 100%;
    }
    .flex_65 {
        width: 100%;
    }
    .flex_66 {
        width: 100%;
    }
    .flex_67 {
        width: 100%;
    }
    .flex_68 {
        width: 100%;
    }
    .flex_69 {
        width: 100%;
    }
    .flex_70 {
        width: 100%;
    }
    .anchor_pt {
        padding-top: 80px;
        margin-top: -80px;
    }
    .sp_anchor_pt {
        padding-top: 40px;
        margin-top: -40px;
    }
    .side_banner {
        top: 13px;
        right: 90px;
        transform: translateY(0);
        z-index: 999;
    }
    .side_banner a {
        width: 45px;
        height: 45px;
        font-size: 18px;
        padding: 0 1px 1px 0;
        gap: 13px;
        border-radius: 10px;
    }
    .side_banner .icon {
        width: 26px;
        height: 26px;
        transition: 0.3s ease;
    }
    .side_banner .sp_none {
        display: none;
    }
    /************************/
    .header {
        height: 70px;
    }
    #logo img {
        width: 280px;
        height: auto;
    }
    .h_right {
        position: fixed;
        right: 0;
        top: auto;
        bottom: 0;
        width: 100%;
    }
    .h_right a {
        height: 70px;
        font-size: 20px;
    }
    .h_right .line {
        width: 48%;
    }
    .h_right .contact {
        width: 52%;
    }
    /*******************/
    .top_main {
        margin-top: 70px;
    }
    .top_main, .flexslider .slides li {
        height: 500px;
        border-radius: 30px 0 0 30px;
    }
    .top_main .flexslider {
        width: calc(100% + 30px);
    }
    .top_title {
        left: 50%;
        bottom: 60px;
    }
    .top_title h2 {
        font-size: 24px;
        width: calc(100% + 20px);
        white-space: nowrap;
    }
    .top_title .bg_w {
        background-color: #FFF;
        border-radius: 10px;
        padding: 15px 15px;
        margin-bottom: 10px;
    }
    /********************************/
    .sec01_cont {
        position: relative;
        overflow: hidden;
    }
    .eng_25 {
        font-size: clamp(20px, 2vw, 25px);
        font-weight: bold;
        letter-spacing: 0.08em;
        color: #f4771c;
        margin-bottom: 10px;
    }
    .center {
        text-align: center;
    }
    .title_45 {
        font-size: 28px;
        font-weight: bold;
        letter-spacing: 0.08em;
    }
    .sec01_text {
        font-size: 18px;
        line-height: 2em;
    }
    .sec01_line_absolute img {
        width: 740px;
        height: auto;
    }
    .sec01_sp_flex {
        display: flex;
        justify-content: space-between;
        margin-top: 50px;
        column-gap: 20px;
        width: 94%;
        margin-left: auto;
        position: relative;
        z-index: 400;
    }
    .sec01_absolute1 {
        position: static;
        left: 0;
        top: 0;
        width: max-content;
    }
    .sec01_absolute2 {
        position: static;
        width: max-content;
    }
    /**********************/
    .sec02_minus {
        margin-top: 0;
    }
    .dot_title {
        font-size: 24px;
    }
    .dot_title:before {
        width: 11px;
        height: 11px;
    }
    .sec02_grid {
        gap: 15px;
    }
    .sec02_grid.column3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .sec02_grid > div {
        min-height: 0;
        padding: 30px 10px 20px;
        border: 2px solid #099520;
    }
    .sec02_grid > div:nth-child(even) {
        border-color: #f4771c;
    }
    .sec02_grid > div:nth-child(even) .sec02num {
        background-color: #f4771c;
    }
    .sec02_grid > div.orange {
        border-color: #099520;
    }
    .sec02_grid > div.orange .sec02num {
        background-color: #099520;
    }
    .sec02num {
        left: -1px;
        top: -1px;
        width: 45px;
        height: 45px;
        font-size: 22px;
    }
    .sec02_icon {
        height: 70px;
        padding: 0 30px;
    }
    .sec02_icon img {
        transform: scale(0.8);
    }
    .sec02_text {
        font-size: 17px;
        margin-top: 20px;
        letter-spacing: 0.02em;
    }
    .sec02_text .span_40 {
        font-size: 26px;
    }
    .sec02_text .mini {
        font-size: 14px;
        margin-top: 10px;
    }
    /***************************/
    .sec02_grid2 {
        grid-template-columns: repeat(1, 1fr);
        column-gap: 0;
        row-gap: 20px;
    }
    .sec02_grid2 h4 {
        margin: 10px 0 15px;
        font-size: 24px;
    }
    .sec02_icon2 {
        margin-top: -40px;
        text-align: center;
    }
    .sec02_icon2 img {
        width: 80px;
        height: auto;
    }
    .sec02_line_absolute {
        top: 200px;
    }
    .sec02_line_absolute img {
        width: 740px;
        height: auto;
    }
    /***************************/
    .sec03_flex {
        flex-wrap: wrap;
        gap: 40px 40px;
    }
    .sec03_right {
        width: 100%;
        max-width: 100%;
        order: 1;
    }
    .sec03_right img {
        border-radius: 0 0 0 30px;
        width: 100%;
        height: auto;
    }
    .sec03_left {
        width: 100%;
        order: 2;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding: 0;
    }
    .sec03_width {
        width: 90%;
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    .sec03_width .text_18 {
        letter-spacing: 0.02em;
    }
    .sec03_line_absolute {
        position: absolute;
        bottom: auto;
        top: 380px;
        left: 50%;
        transform: translateX(-50%);
    }
    .sec03_line_absolute img {
        width: 740px;
        height: auto;
    }
    /****************************/
    .sec04_faq > div {
        padding: 30px 0;
    }
    .q_cell2 {
        font-size: 22px;
        padding-top: 10px;
    }
    /***************************/
    .sec05_move > div {
        flex-shrink: 0;
        margin-right: 10px;
    }
    .sec05_move > div img {
        width: 200px;
        height: auto;
    }
    /*******************/
    .sec06_minus {
        margin-top: -40px;
    }
    .sec06_bg {
        background: url("../images/bg_wave.webp") 50% 0/1000px 100% no-repeat;
        height: 40px;
    }
    .sec06_list a {
        flex-wrap: wrap;
        border-radius: 30px;
        color: inherit;
        padding: 20px 20px 30px;
        gap: 20px 40px;
    }
    .sec06_list > div:nth-child(n+2) {
        margin-top: 20px;
    }
    .sec06_left {
        width: 100%;
        max-width: 100%;
    }
    .sec06_left img {
        width: 100%;
        height: 250px;
        object-fit: cover;
    }
    .sec06_right {
        width: 100%;
        max-width: 100%;
    }
    .sec06_right h3 {
        min-height: 0;
    }
    .sec06_table {
        margin-top: 20px;
    }
    .sec06_table > div {
        column-gap: 10px;
    }
    .sec06_table > div:nth-child(n+2) {
        margin-top: 15px;
    }
    .sec06_cell2 {
        padding-top: 1px;
    }
    .sec06_data {
        text-align: right;
        font-size: 15px;
        margin-top: 0;
    }
    .more a {
        height: 70px;
        font-size: 20px;
    }
    .sec06_more {
        grid-template-columns: repeat(1, 1fr);
    }
    .sec06_more a {
        font-size: 22px;
    }
    /*****************************/
    .sec07_bg {
        height: auto;
        padding: 80px 0;
    }
    .title_52 {
        font-size: 28px;
    }
    .sec07_more {
        grid-template-columns: repeat(1, 1fr);
        column-gap: 0;
        row-gap: 20px;
    }
    .sec07_more a {
        height: 80px;
        font-size: 22px;
        padding-bottom: 0;
    }
    .sec07_more .arrow {
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        bottom: auto;
    }
    .sec07_line_absolute {
        display: none;
    }
    /**************************/
    .footer {
        padding-bottom: 100px;
    }
    .f_flex {
        gap: 50px 0;
    }
    .f_logo img {
        width: 300px;
        height: auto;
    }
    .f_nav {
        width: 100%;
        max-width: 100%;
        flex-wrap: wrap;
        grid-row-gap: 25px;
    }
    .f_nav li {
        width: 100%;
    }
    .f_nav a, .f_nav .f_span {
        color: inherit;
        display: flex;
        align-items: center;
        column-gap: 10px;
        font-size: 18px;
    }
    .f_nav li:nth-child(n+2) {
        margin-top: 25px;
    }
    .copyright {
        font-size: 15px;
        margin-top: 40px;
    }
    /*********************************************************************

      応募フォーム

  *********************************************************************/
    .main_in {
        height: 350px;
    }
    .title_in p {
        margin-top: 5px;
    }
    .main_line_absolute {
        left: calc(50% - 40px);
    }
    .main_line_absolute img {
        width: 740px;
        height: auto;
    }
    /**********/
    .contact_form > div {
        flex-wrap: wrap;
        grid-row-gap: 20px;
    }
    .contact_form > div:nth-child(n+2) {
        margin-top: 30px;
    }
    .c_cell1 {
        width: 100%;
        font-size: 20px;
        padding-top: 0;
    }
    .c_cell2 {
        width: 100%;
        font-size: 18px;
    }
    .size, .area {
        background-color: #f7f5ef;
        border-radius: 10px;
        padding: 0 15px;
        border: 0;
        width: 100%;
    }
    .size {
        height: 60px;
    }
    .area {
        height: 250px;
        padding: 15px;
    }
    .birth_flex {
        column-gap: 10px;
    }
    .birth_flex > div {
        display: flex;
        align-items: center;
        column-gap: 10px;
        width: 20%;
    }
    .birth_flex > div:nth-child(1) {
        width: 60%;
    }
    /*********************************************************************

      募集要項

  *********************************************************************/
    .sec06_list a {
        padding-bottom: 30px;
    }
    .rec_in {
        margin-top: 25px;
        margin-right: 0px;
    }
    .pagenation li {
        font-size: 22px;
    }
    .pagenation li.active {
        width: 40px;
        height: 40px;
        padding-bottom: 3px;
    }
    .pagenation li a {
        width: 40px;
        height: 40px;
        padding-bottom: 3px;
    }
    .pagenation .prev {
        margin-right: 10px;
    }
    .pagenation .next {
        margin-left: 10px;
    }
    /*********************************************************************

      募集要項　詳細

  *********************************************************************/
    .pan_list {
        font-size: 14px;
    }
    .pan_list a:after {
        margin: 0 10px;
    }
    .detail_bg {
        font-size: 18px;
    }
    .detail_bg h2 {
        letter-spacing: 0.08em;
    }
    .detail_table > div {
        padding: 20px 10px;
    }
    .detail_cell1 {
        width: 130px;
        font-size: 18px;
    }
    .detail_cell2 {
        width: calc(100% - 130px);
        font-size: 16px;
    }
    .rec_more:after {
        height: 80px;
        top: 15px;
    }
    .rec_more a {
        height: 80px;
        font-size: 22px;
        column-gap: 20px;
    }
}
/* スマートフォン 縦(ポートレート) */