@charset "UTF-8";

/* 共通 */
html {
    scroll-behavior: smooth;
}

a {
    color: initial;
    transition: 0.5s;
}

body {
    font-family: noto-sans-cjk-jp, sans-serif;
    background: linear-gradient(0deg, rgba(234, 229, 218, 1) 0%, rgba(218, 225, 216, 1) 97%, rgba(195, 218, 214, 1) 100%);
    line-height: 1.6;
    overflow-wrap: anywhere;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: url("../img/bg_texture.webp") repeat;
    background-size: 512px;
    opacity: 1;
    mix-blend-mode: multiply;
    z-index: 110000;
    opacity: 0.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: toppan-bunkyu-midashi-min-st, serif;
}

.header .inner {
    padding: 20px;
}

.sec, .sec_interview_link {
    margin-bottom: 7vw;
}

.sec .inner {
    width: 90%;
    margin: 0 auto;
    position: relative;
    max-width: 1300px;
}

main {
    overflow: hidden;
}

.btn_l {
    background-color: #fff;
    border-radius: 100px;
    text-align: center;
    color: #000;
    font-family: toppan-bunkyu-midashi-min-st, serif;
    padding: 13px 25px;
    font-size: 22px;
    display: inline-block;
    transition: 0.5s;
}

.btn_l.red {
    background-color: #b81717;
    color: #fff;
    display: inline-block;
    width: 17rem;
}

.btn_l.red:hover, .entry_btn:hover, .hb_entry_btn:hover {
    background-color: #816D46;
    color: #fff;
}

.btn_l:hover, .external_link_wrap .btn:hover {
    background-color: #816D46;
    color: #fff;
}

.sec_interview_link .btn_l.red:hover {
    background-color: #fff;
    color: #000;
}

.tb, .grape-thumb.tb {
    display: none;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

main>.sec:first-of-type {
    padding-top: 90px;
}

button, input, optgroup, textarea {
    -webkit-appearance: auto;
    appearance: auto;
}

.fadein {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.5s, transform 0.5s;
}

.fadein.scrollin {
    opacity: 1;
    transform: translateY(0);
}

.grecaptcha-badge {
    visibility: hidden;
}

/* ヘッダー */

.logo_wrap a {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.logo_wrap .img_wrap {
    width: 186px;
    line-height: 0;
}

.logo_wrap img {
    width: 100%;
}

.logo_wrap .title {
    font-size: 14px;
    color: initial;
    margin-left: 9px;
    padding-left: 9px;
    border-left: solid 1px;
    height: 15px;
    line-height: 15px;
}

.entry_btn {
    display: inline-block;
    background-color: #b81717;
    border-radius: 100px;
    text-align: center;
    margin-right: 80px;
    transition: 0.5s;
    margin-top: -3px;
}

.entry_btn a {
    color: #fff;
    padding: 4px 25px;
    display: block;
    font-size: 21px;
    font-family: toppan-bunkyu-midashi-min-st, serif;
}

.logo_btn_wrap {
    display: flex;
    width: 100%;
    justify-content: space-between;
    position: fixed;
    z-index: 999;
    align-items: center;
    padding: 15px 20px;
}

/* ハンバーガーメニュー */

.hamburger {
    position: fixed;
    top: 9px;
    right: 33px;
    z-index: 10000;
    width: 48px;
    height: 48px;
    border: none;
    background: transparent;
    cursor: pointer;
    background-color: #fff;
    border-radius: 100px;
}

.hamburger__line {
    position: absolute;
    left: 7px;
    width: 35px;
    height: 2px;
    background-color: #af2e1d;
    transition: all .4s;
}

.hamburger__line:nth-of-type(1) {
    top: 16px;
}

.hamburger__line:nth-of-type(2) {
    top: 23px;
}

.hamburger__line:nth-of-type(3) {
    top: 31px;
}

/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
    transform: translateY(8px) rotate(-23deg);
}

.hamburger.active .hamburger__line:nth-of-type(2) {
    opacity: 0;
}

.hamburger.active .hamburger__line:nth-of-type(3) {
    transform: translateY(-7px) rotate(23deg);
}

.nav {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background-color: transparent;
    transition: background-color .4s;
    z-index: 9999;
    font-family: toppan-bunkyu-midashi-min-st, serif;
    pointer-events: none;
}

.nav.active {
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    pointer-events: auto;
}

.nav .nav__list {
    position: fixed;
    top: 0;
    right: 0;
    width: 420px;
    height: 100vh;
    background-color: #fff;
    box-shadow: -2px 0 4px rgba(0, 0, 0, .1);
    transform: translateX(100%);
    transition: transform .4s;
    z-index: 9999;
    background: linear-gradient(0deg, rgba(234, 229, 218, 1) 0%, rgba(218, 225, 216, 1) 58%, rgba(195, 218, 214, 1) 100%);
    padding: 80px 30px 30px;
    display: flex;
    flex-direction: column;
    pointer-events: initial;
    overflow-y: scroll;
    overflow-x: hidden;
}

.nav.active .nav__list_wrap::before {
    content: "";
    display: inline-block;
    width: calc(100% + 60px);
    height: 450px;
    background: url(../img/bg_menu.webp) repeat-x;
    margin-left: -30px;
    background-size: 38%;
    background-position: bottom -12vh left;
    position: absolute;
    z-index: -1;
    bottom: calc(-12vh - 30px);
}

.nav__list_wrap {
    position: relative;
    width: 100%;
}

.nav.active .nav__list {
    transform: translateX(0);
}

.nav__list {
    margin: 0;
    padding: 100px 0 0;
    list-style: none;
}

.nav__link {
    display: block;
    padding: 15px 0;
    color: #333;
    text-decoration: none;
    border-bottom: 1px solid #eee;
    font-size: 26px;
}

.hb_entry_btn {
    background-color: #b81717;
    border-radius: 100px;
    text-align: center;
    width: 100%;
    transition: 0.5s;
    margin-bottom: 10px;
}

.hb_entry_btn a {
    color: #fff;
    padding: 13px 10px;
    display: block;
    font-size: 24px;
}

.menu_02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 45px;
}

.menu_03 {
    margin-top: 80px;
    text-align: center;
}

.sns_icon {
    width: 26px;
    display: inline-block;
}

.sns_icon img {
    width: 100%;
}

.sns_icon.insta {
    margin-right: 4px;
}

.sns_icon.facebook {
    margin-left: 4px;
}

.external_link_wrap {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.external_link_wrap .btn {
    border-radius: 100px;
    padding: 10px 18px;
    display: block;
    font-size: clamp(11px, 3.2vw, 13px);
    background-color: #fff;
    text-align: center;
    width: auto;
    margin: 0 5px 10px;
    transition: 0.5s;
    font-family: toppan-bunkyu-midashi-min-st, serif;
}

.hb_syotyo_wrap img {
    position: absolute;
    right: -96px;
    top: 301px;
    width: 173px;
}

/* フッター */
.footer {
    background: linear-gradient(0deg, rgba(234, 229, 218, 1) 0%, rgba(218, 225, 216, 1) 58%, rgba(195, 218, 214, 1) 100%);
    padding-top: 43vh;
    position: relative;
}

.footer .inner {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    display: flex;
    flex-direction: column;
    padding-bottom: 1px;
    align-items: center;
}

.footer .logo_wrap a {
    justify-content: center;
}

.footer .menu_01 {
    display: flex;
    justify-content: center;
    margin-top: 35px;
    flex-wrap: wrap;
}

.footer .nav__link {
    font-size: 16px;
    padding: 0 15px 10px;
    border-bottom: none;
}

.menu_01, .menu_02, .menu_03 {
    font-family: toppan-bunkyu-midashi-min-st, serif;
}

.footer .menu_03 {
    margin-top: 0;
}

.footer .logo_wrap {
    margin-top: 100px;
}

.copy {
    position: absolute;
    bottom: 15px;
    right: 0;
    left: 0;
    margin: auto;
    font-size: 12px;
    color: #fff;
    text-align: center;
}

.footer .sns_wrap {
    margin-top: 20px;
}

.footer .external_link_wrap {
    margin-top: 70px;
}

.footer .logo_wrap .title {
    font-size: 24px;
    height: 25px;
    line-height: 25px;
}

.footer .sns_icon {
    width: 38px;
}

.footer .external_link_wrap .btn {
    font-size: 16px;
}

.footer_wrap::after {
    content: "";
    display: inline-block;
    background: url(../img/footer_bg.webp) no-repeat;
    background-size: cover;
    background-position: top 4vh right;
    width: 100%;
    height: 65vh;
    display: block;
}

.footer .logo_wrap .img_wrap {
    width: 330px;
}

/* 下層　葡萄戦記 */
.bodo_midasi img {
    width: 100%;
}

.budo_deco_05_left {
    position: absolute;
    top: -12px;
    left: -2vw;
    width: 14vw;
    max-width: 200px;
}

.budo_deco_05_right {
    position: absolute;
    bottom: -28px;
    right: -2vw;
    width: 11vw;
    transform: rotateY(180deg);
    max-width: 160px;
}

.sec_movie_l {
    position: relative;
}

.sec_movie_l .smn_wrap {
    width: 80%;
    margin: 60px auto 0;
    position: relative;
}

.sec_movie_l .smn_wrap img {
    width: 100%;
}

.sec_movie_l .smn_wrap .story {
    position: absolute;
    right: -1vw;
    bottom: 5vw;
    width: 22vw;
    max-width: 410px;
}

.sec_movie_l .deco_wrap img {
    width: 100%;
}

.sec_movie_l .deco_wrap_01 {
    position: absolute;
    top: 2.5vw;
    width: 23vw;
    max-width: 340px;
    left: 2vw;
}

.sec_movie_l .deco_wrap_02 {
    position: absolute;
    bottom: 22vw;
    right: 1vw;
    width: 6vw;
    max-width: 90px;
}

.sec_movie_l .deco_wrap_03 {
    position: absolute;
    right: 5vw;
    bottom: -3vw;
    width: 4vw;
    max-width: 51px;
}

.sec_movie_l .deco_wrap_04 {
    position: absolute;
    bottom: 8vw;
    left: -3vw;
    width: 11vw;
    max-width: 130px;
}

.sec_movie_l .deco_wrap_05 {
    position: absolute;
    top: -39px;
    left: -10vw;
    width: 23vw;
    z-index: -1;
}

.sec_movie_l .deco_wrap_06 {
    position: absolute;
    bottom: 1vw;
    width: 14vw;
    left: -9vw;
    z-index: -1;
}

.sec_movie_l .deco_wrap_07 {
    position: absolute;
    top: 12vw;
    right: -13vw;
    width: 19vw;
    z-index: -1;
}

.sec_movie_l .deco_wrap_08 {
    position: absolute;
    bottom: 20vw;
    width: 20vw;
    left: -6vw;
    z-index: -1;
}

.sec_movie_l .deco_wrap_09 {
    position: absolute;
    bottom: -4vw;
    right: -9vw;
    width: 18vw;
    z-index: -1;
}

.sec_movie_s .movie_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
}

.sec_movie_s .movie_list {
    width: 48%;
    margin-bottom: 8%;
    font-family: toppan-bunkyu-midashi-min-st, serif;
}

.sec_movie_s .movie_list:nth-child(odd) .title {
    position: absolute;
    top: -2vw;
    left: -2vw;
    width: 15vw;
}

.sec_movie_s .movie_list:nth-child(even) .title {
    position: absolute;
    bottom: -2vw;
    right: -2vw;
    width: 15vw;
}

.sec_movie_s .movie_list:nth-of-type(n+2) {
    margin-bottom: 0;
}

.sec_movie_s .movie_list .title {
    width: 100%;
    pointer-events: none;
}

.sec_movie_s .smn_wrap {
    width: 100%;
    position: relative;
}

.sec_movie_s .story {
    background-color: #36a018;
    color: #fff;
    display: inline-block;
    padding: 12px 10px;
    line-height: 0;
    margin-top: 16px;
    font-size: 15px;
    margin-bottom: 6px;
}

.sec_movie_s .intro {
    padding: 7px 10px;
    background-color: #fff;
    display: inline;
    color: #36a018;
    line-height: 2.2;
    white-space: pre-wrap;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    font-size: clamp(15px, 1.8vw, 20px);
}

.sec_movie_l::before {
    content: "";
    display: inline-block;
    background: url(../img/bg_budo_movie.webp) no-repeat;
    background-size: contain;
    width: 100%;
    padding-top: 190%;
    position: absolute;
    top: -36%;
    right: 0;
    left: 0;
    margin: auto;
    z-index: -1;
    max-width: 1450px;
}

.sec_interview_link {
    position: relative;
    text-align: center;
    padding-bottom: 0;
}

.sec_interview_link .video_wrap {
    line-height: 0;
}

.sec_interview_link .video_wrap::before {
    content: "";
    display: inline-block;
    width: 90%;
    height: 100%;
    background-color: #0000009c;
    position: absolute;
    z-index: 2;
    pointer-events: none;
    max-width: 1300px;
}

.sec_interview_link video {
    filter: grayscale(100%);
    object-fit: cover;
    width: 90%;
    height: 100%;
    max-width: 1300px;
}

.sec_interview_link .sec_wrap {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 3;
}

.sec_interview_link .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    line-height: 1.3;
    padding: 0 10%
}

.sec_interview_link::before, .sec_interview_link video, .sec_interview_link .sec_wrap {
    aspect-ratio: 1.7 / 1;
}

.sec_interview_link .midasi, .sec_interview_link .text {
    color: #fff;
}

.sec_interview_link .btn_l.red {
    margin-top: 35px;
}

.sec_interview_link .midasi {
    font-size: clamp(32px, 6vw, 49px);
}

.sec_interview_link .midasi span {
    font-size: 74%;
}

.sec_interview_link .text {
    margin-top: 30px;
    font-size: 18px;
}

.sec_entry {
    background-color: #b81717;
    margin-bottom: 0;
    margin-top: 10vw;
}

.sec_entry .inner {
    padding: 3% 0;
    display: flex;
    width: 90%;
    max-width: 1100px;
    max-height: 500px;
}

.sec_entry .midasi_l {
    color: #fff;
    font-size: clamp(50px, 9vw, 100px);
}

.sec_entry .text {
    color: #fff;
    font-family: toppan-bunkyu-midashi-min-st, serif;
    font-size: 22px;
    line-height: 1.5;
}

.sec_entry .btn_wrap {
    margin-top: 25px;
}

.sec_entry .btn_l {
    margin-right: 10px;
    margin-bottom: 10px;
    width: 25vw;
    max-width: 18rem;
    line-height: 1.3;
    border: solid 1px #fff;
}

.sec_entry .btn_l:hover {
    background-color: #b81717;
    color: #fff;
    border: solid 1px;
}

.sec_entry .deco_wrap {
    width: 40%;
}

.sec_entry .sec_wrap {
    position: relative;
    overflow: hidden;
}

.sec_entry .text_wrap {
    width: 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sec_entry .deco_wrap img {
    position: relative;
    width: 100%;
    min-width: 330px;
}

.sec_entry .btn_l {
    font-size: clamp(18px, 2.5vw, 22px);
}

.budo_midasi {
    margin-bottom: 5vw;
}

/* 仕事を知る */
.frame {
    position: relative;
    width: 80%;
    margin: 0 auto;
    padding: 25vh 11vw;
}

.job_video_wrap {
    position: fixed;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}

.job_video_wrap video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    filter: grayscale(100%);
}

.job_video_wrap .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    pointer-events: none;
}

.interview header {
    min-height: 70px;
    background: #c3dad6;
    z-index: 999;
    position: fixed;
    width: 100%;
}

.job_midasi_l {
    margin-top: calc(80px + 3.5vw);
}

.job_midasi_l .deco_wrap img {
    width: 100%;
}

.job_midasi_l .deco_wrap_01 {
    position: absolute;
    top: 20%;
    width: 18vw;
    left: -20%;
    max-width: 300px;
}

.job_midasi_l .deco_wrap_02 {
    position: absolute;
    right: -13%;
    width: 21vw;
    max-width: 269px;
    bottom: 15%;
    transform: rotateY(180deg);
}

.job_midasi_l .midasi {
    font-size: clamp(42px, 6vw, 85px);
    line-height: 1.1;
    text-align: center;
    color: #fff;
}

.job_midasi_l .midasi span {
    font-size: 61%;
}

.job_midasi_l .text_wrap .text {
    text-align: center;
    color: #fff;
    margin-top: 30px;
    font-size: 18px;
}

.job_midasi_l .sec_wrap {
    position: relative;
    border: 0px solid rgb(204, 204, 204);
    display: flex;
    border-image-source: url(../img/deco_waku_sen.webp?1216_02);
    border-image-slice: 110;
    border-image-width: 60px;
    border-image-outset: 0px;
    border-image-repeat: round;
    width: 90%;
    margin: 0 auto;
    max-width: 1300px;
}

.job_midasi {
    display: flex;
    flex-wrap: wrap;
}

.job_midasi .img_wrap {
    width: 40%;
    margin-top: -2.4%;
}

.job_midasi .img_wrap img {
    width: 110%;
}

.job_syukka .job_midasi .img_wrap img {
    width: 104%;
}

.job_midasi .text_wrap .midasi_img_01, .job_midasi .text_wrap .midasi_img_02 {
    width: 100%;
    max-width: 538px;
    margin-top: 7%;
}

.job_midasi .text_wrap {
    width: 60%;
    margin-right: 6vw;
    margin-bottom: 6vw;
    width: calc(60% - 6vw);
}

.job_content .inner {
    background: linear-gradient(0deg, rgba(224, 212, 195, 1) 65%, rgba(212, 197, 146, 1) 85%, rgba(208, 191, 127, 1) 100%);
    border: solid 3px #866d46;
    position: relative;
    display: flex;
}

.job_content.job_syukka .inner {
    background: linear-gradient(0deg, rgba(224, 212, 195, 1) 65%, rgb(178 200 191) 85%, rgb(168 198 190) 100%);
}

.job_content.job_eigyo .inner {
    background: linear-gradient(0deg, rgba(224, 212, 195, 1) 65%, rgb(224 198 181) 85%, rgb(224 181 163) 100%);
}

.job_detail_wrap {
    width: 85%;
    max-width: 860px;
    margin: 0 auto;
    color: #866d46;
}

.job_zyouzou .job_detail_wrap {
    color: #6e4a77;
}

.job_syukka .job_detail_wrap {
    color: #237b87;
}

.job_eigyo .job_detail_wrap {
    color: #9b5f5f;
}

.obi_midasi_white {
    font-size: clamp(18px, 6vw, 31px);
    font-family: toppan-bunkyu-midashi-min-st, serif;
    color: #706210;
    background-color: #fff;
    display: inline;
    padding: 5px 10px;
    white-space: pre-wrap;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.job_midasi .text_box {
    margin-top: 4%;
    z-index: 1;
    position: relative;
}

.job_midasi .text_box .text {
    margin-top: 3%;
    font-size: 18px;
}

.job_deco_01 {
    background: url(../img/job_deco_01.webp) repeat-y;
    background-size: contain;
    position: absolute;
    width: 9%;
    height: 100%;
    right: -2%;
}

.job_wrap {
    width: 100%;
    z-index: 1;
}

.q_wrap, .a_wrap {
    margin-bottom: 15px;
}

.q_wrap {
    font-family: toppan-bunkyu-midashi-min-st, serif;
    display: flex;
    align-items: flex-start;
}

.a_wrap {
    display: flex;
}

.q_wrap .text, .a_wrap .text {
    padding: 2% 3%;
    border-radius: 10px;
}

.q_wrap .text {
    background-color: #e0d4c3;
    border: solid 1px #706210;
    font-size: 23px;
}

.a_wrap .text {
    background-color: #f3efe8;
    border: solid 1px #f3efe8;
    font-size: 18px;
    position: relative;
    margin-top: 10px;
    z-index: 2;
}

.job_saibai .q_wrap {
    color: #706210;
}

.q_icon {
    width: 82px;
    height: 82px;
    font-size: 31px;
    padding: 10px;
    border-radius: 100px;
    border: solid 1px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.q_wrap .qa_icon_wrap:nth-of-type(2) {
    width: calc(100% - 82px);
    position: relative;
    margin-left: 30px;
    margin-top: 10px;
    z-index: 2;
}

.q_wrap .qa_icon_wrap:nth-of-type(2)::before {
    content: "";
    display: inline-block;
    background: url(../img/job_hukidasi_01.webp) no-repeat;
    background-size: contain;
    width: 20px;
    height: 11px;
    position: absolute;
    top: 25px;
    margin-left: -14px;
}

.job_zyouzou .q_wrap .qa_icon_wrap:nth-of-type(2)::before {
    content: "";
    background: url(../img/job_hukidasi_02.webp) no-repeat;
    background-size: contain;
}

.job_syukka .q_wrap .qa_icon_wrap:nth-of-type(2)::before {
    content: "";
    background: url(../img/job_hukidasi_03.webp?0105) no-repeat;
    background-size: contain;
}

.job_eigyo .q_wrap .qa_icon_wrap:nth-of-type(2)::before {
    content: "";
    background: url(../img/job_hukidasi_04.webp) no-repeat;
    background-size: contain;
}

.qa_wrap {
    margin-top: 4%;
}

.a_icon img {
    width: 100%;
}

.a_wrap .qa_icon_wrap {
    position: relative;
}

.a_wrap .qa_icon_wrap:first-of-type {
    width: calc(100% - 82px);
    margin-right: 30px;
}

.a_wrap .qa_icon_wrap:nth-of-type(2) {
    width: 82px;
    margin-top: 6px;
}

.a_wrap .qa_icon_wrap:first-of-type::before {
    content: "";
    display: inline-block;
    background: url(../img/job_hukidasi.webp) no-repeat;
    background-size: contain;
    width: 20px;
    height: 11px;
    position: absolute;
    top: 42%;
    right: -16px;
    margin-left: -14px;
}

.qa_list {
    margin-bottom: 6%;
}

.qa_wrap {
    margin: 3vw 0 7vw;
}

.job_detail_wrap .btn_wrap {
    text-align: center;
    margin-top: 5vw;
}

.job_detail_wrap .btn_wrap .btn_l.red {
    margin: 0 10px;
}

.job_content.job_zyouzou .inner {
    background: linear-gradient(0deg, rgba(224, 212, 195, 1) 65%, #d8c5bd 85%, #ccadb3 100%);
}

.job_content:nth-of-type(2n) .job_deco_01 {
    right: auto;
    left: -8px;
}

.job_content:nth-of-type(2n) .job_midasi {
    flex-direction: row-reverse;
}

.job_content:nth-of-type(2n) .job_midasi .text_wrap {
    margin: 0 0 6vw 8.5vw;
    width: calc(60% - 8.5vw);
}

.job_zyouzou .job_midasi .img_wrap {
    margin-top: -3.8%;
    margin-right: 3.5%;
    width: calc(40% - 3.5%);
}

.job_syukka .job_midasi .img_wrap {
    margin-top: -2.2%;
}

.job_eigyo .job_midasi .img_wrap {
    margin-top: -2.6%;
}

.job_syukka .job_midasi .img_wrap img {
    margin-top: -4.3%;
    margin-left: -9.3%;
}

.job_eigyo .job_midasi .img_wrap img {
    width: 100%;
}

.job_zyouzou .q_wrap .text {
    border: solid 1px #6e4a77;
}

.job_syukka .q_wrap .text {
    border: solid 1px #167f8d;
}

.job_eigyo .q_wrap .text {
    border: solid 1px #9b5f5f;
}


/* 募集要項 */
.guide_midasi {
    margin-bottom: 5.2vw;
}

.guide_midasi .midasi img, .contact .midasi img {
    width: 129%;
    margin-left: -14%;
}

.sec.now_hiring {
    margin-bottom: 0;
}

.now_hiring .deco_budo_01, .now_hiring .deco_budo_02 {
    width: 63px;
}

.now_hiring .deco_budo_01 {
    margin-right: 20px;
}

.now_hiring .deco_budo_02 {
    margin-left: 20px;
    transform: rotateY(180deg);
}

.now_hiring .midasi {
    margin-bottom: 35px;
    font-size: clamp(18px, 3.8vw, 35px);
    text-align: center;
}

.now_hiring .btn {
    position: relative;
}

.now_hiring .btn .icon_sankaku {
    position: absolute;
    right: 18px;
    top: 56%;
    transform: translateY(-50%);
    transition: opacity 0.5s;
}

/* 通常時 */
.now_hiring .btn .hover_off {
    opacity: 1;
}

.now_hiring .btn .hover_on {
    opacity: 0;
}

/* ホバー時 */
.now_hiring .btn:hover .hover_off {
    opacity: 0;
}

.now_hiring .btn:hover .hover_on {
    opacity: 1;
}

.guideline .external_link_wrap {
    font-size: 16px;
    flex-wrap: wrap;
}

.guideline main .external_link_wrap .btn {
    font-size: clamp(16px, 3vw, 20px);
    padding: 10px 25px;
    transition: 0.5s;
}

.guideline main .now_hiring .external_link_wrap .btn {
    padding: 10px 40px 10px 25px;
}

.guideline main .external_link_wrap .btn:hover {
    background-color: #866d46;
}

.guideline main .message .external_link_wrap .btn {
    margin: 0 0 10px;
}

.external_link_wrap .icon_sankaku {
    width: 12px;
    vertical-align: middle;
    margin-left: 8px;
    margin-top: -3px;
    transition: 0.5s;
}

.guide_detail {
    padding-top: 7vw;
}

.guide_detail:first-of-type {
    padding-top: 4.5vw;
}

.guide_detail .sec_wrap {
    position: relative;
    border: 50px solid rgb(204, 204, 204);
    border-image-source: url(https://stg.recruit.fujiclairwine.jp/wp-content/themes/fw_recruit/img/deco_waku_sen_02.webp);
    border-image-slice: 100;
    border-image-width: 50px;
    border-image-outset: 0px;
    border-image-repeat: round;
    width: 90%;
    margin: 0 auto;
    max-width: 1300px;
}

.guide_detail .sec_box {
    background-color: #f4ede6;
}

.job_type {
    background-color: #095772;
    color: #fff;
    text-align: center;
    margin: 0 auto;
    max-width: 5.2rem;
    padding: 3px;
    letter-spacing: 1.3px;
    font-size: clamp(15px, 2.3vw, 18px);
}

.job_type_baito {
    background-color: #46a9b2;
    max-width: 11.6rem;
}

.guide_detail .detail_list>.midasi {
    font-size: clamp(23px, 4.5vw, 40px);
    text-align: center;
    margin-top: 16px;
}

.guide_detail .detail_box_02 {
    border: solid 2px #866d46;
    margin-top: 25px;
}

.guide_detail .detail_box_list {
    display: flex;
    border-bottom: solid 1px #b7a68e;
}

.guide_detail .detail_box_list .title {
    width: 20%;
    text-align: center;
    background-color: #e9e0d6;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 16px;
}

.guide_detail .detail_box_list .midasi {
    font-family: noto-sans-cjk-jp, sans-serif;
    font-size: 18px;
}

.guide_detail .detail_box_list .detail {
    width: 80%;
    padding: 25px;
}

.guide_detail .detail_box_list .detail .list {
    display: flex;
    align-items: flex-start;
    margin-bottom: 7px;
}

.guide_detail .detail_box_list .detail .list .text {
    width: calc(100% - 17px);
}

.guide_detail .btn_wrap {
    text-align: center;
    padding: 4vw 0 3vw;
}

.guide_detail .detail .list:before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    background-color: #866d46;
    border-radius: 100px;
    position: relative;
    top: 9px;
    margin-right: 9px;
}

.guide_detail .detail_box_list .list_wrap {
    margin-bottom: 16px;
}

.guide_detail .detail_box_list .list_wrap.border {
    padding-bottom: 20px;
    border-bottom: dotted 2px #bbac94
}

.job_type_font_size {
    font-size: 70%;
    display: block;
}

.flow .sec_wrap {
    position: relative;
    border: 11px solid rgb(204, 204, 204);
    border-image-source: url(https://stg.recruit.fujiclairwine.jp/wp-content/themes/fw_recruit/img/deco_waku_sen_03.webp);
    border-image-slice: 100;
    border-image-width: 50px;
    border-image-outset: 0px;
    border-image-repeat: round;
    width: 90%;
    margin: 0 auto;
    max-width: 1300px;
    background: linear-gradient(0deg, #f4ede6 36%, rgba(218, 227, 222, 1) 85%, rgba(195, 218, 214, 1) 100%);
    border-radius: 60px;
}

.flow {
    margin-bottom: 8vw;
}

.sec.guide_detail .inner {
    max-width: 1000px;
    width: 100%;
}

.flow .midasi_wrap {
    display: flex;
    align-items: end;
    justify-content: center;
    position: relative;
    border-bottom: solid 2px #866d46;
    margin-top: -6%;
}

.flow .img_wrap_01, .flow .img_wrap_02 {
    width: 20%;
}

.flow .img_wrap_01 img, .flow .img_wrap_02 img {
    width: 100%;
}

.flow .img_wrap_01 {
    max-width: 210px;
}

.flow .img_wrap_02 {
    max-width: 220px;
}

.flow .midasi_box {
    width: 60%;
    text-align: center;
    margin-bottom: 3.6%;
}

.flow .midasi_box .midasi {
    font-size: clamp(22px, 4vw, 40px);
}

.flow .midasi_box .text {
    font-size: clamp(11px, 1.3vw, 15px);
}

.flow_num {
    font-family: toppan-bunkyu-midashi-min-st, serif;
    color: #003b75;
    font-size: clamp(20px, 5.8vw, 28px);
    padding: 3% 4% 3% 0;
    line-height: 1;
    border-right: solid 5px #c6cbcf;
    width: 7.2rem;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.flow_num span {
    font-size: 50%;
    vertical-align: middle;
    padding-right: 7px;
    display: inline-block;
    line-height: 1;
}

.flow_list {
    display: flex;
}

.flow_text {
    padding: 3% 3% 3% 7%;
    font-family: toppan-bunkyu-midashi-min-st, serif;
    font-size: clamp(17px, 3vw, 25px);
    line-height: 1;
    display: flex;
    align-items: center;
    margin-left: 10px;
    border-bottom: solid 1px #a4b3c2;
    width: calc(100% - 7.6rem);
    flex-wrap: wrap;
}

.flow_text .text {
    margin-right: 18px;
    margin: 6px 18px 6px 0;
}

.flow_text .explanation {
    font-family: noto-sans-cjk-jp, sans-serif;
    color: #35689b;
    font-size: clamp(12px, 2vw, 15px);
    padding: 4px 8px 6px;
    border: solid 1px;
    vertical-align: middle;
}

.flow_num::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #003b75;
    border-radius: 100px;
    position: absolute;
    right: -7%;
    top: 45%;
}

.flow_text .font_size {
    font-size: 56%;
    display: inline-block;
    margin-bottom: 5px;
}

.flow_list_04 .flow_text .text {
    margin-top: -10px;
}

.flow_box {
    max-width: 800px;
    margin: 0 auto;
}

.flow_wrap {
    margin-bottom: 6vw;
    margin-top: 3vw;
}

.deco_03 {
    width: 13vw;
    max-width: 200px;
    position: absolute;
    right: 0%;
    bottom: -3%;
}

.sec.message {
    background-color: #bdb3ad;
    display: flex;
    position: relative;
    margin-bottom: 0;
}

.message .deco_04 {
    width: 35%;
    position: relative;
    margin-top: -4.7%;
    z-index: 1;
}

.message .deco_04 img {
    width: 100%;
}

.message .sec_wrap {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    width: 50%;
    margin-left: 6vw;
}

.message .guide_deco_06 {
    background: url(../img/guide_deco_06.webp) repeat-x;
    background-size: contain;
    width: 100%;
    height: 11vw;
    position: absolute;
    bottom: 0;
    background-position: bottom -3vw left 0;
}

.sec.message .inner {
    margin: 5vw 0;
}

.guideline .message .external_link_wrap {
    justify-content: left;
}

.guideline .message .midasi {
    font-size: clamp(20px, 4vw, 47px);
    margin-bottom: 10px;
}

.guideline .message .text {
    font-family: toppan-bunkyu-midashi-min-st, serif;
    font-size: clamp(16px, 2.1vw, 30px);
}

.message .text_wrap {
    z-index: 1;
    position: relative;
}

.guide_detail .text.bottom {
    margin-bottom: 10px;
}

.guideline .sec {
    margin-top: 7vw;
    margin-bottom: 0;
}

.guideline .sec.guide_midasi {
    margin-top: 0;
}

.guideline .sec.now_hiring {
    margin-top: 5vw;
}

.guideline .sec.guide_detail {
    padding-top: 5vw;
    margin-top: 0;
}

.sec.message {
    margin-top: 10vw;
}

.guide_detail .margin_top {
    margin-top: 16px;
}

/* 応募フォーム */
.contact_detail {
    background: url(../img/bg_contact.webp?0119) repeat;
    background-size: contain;
    background-size: 8%;
    padding: 7vw 0;
    margin-bottom: 0;
    position: relative;
}

.contact_detail .inner {
    background-color: #f4ede6;
    border: solid 2px #866d46;
    max-width: 1000px;
    z-index: 1;
}

.contact_detail .contact_wrap {
    width: 90%;
    max-width: 750px;
    margin: 7% auto;
}

.contact_detail .required {
    background-color: #af2e1d;
    color: #fff;
    font-weight: 400;
    font-size: 10px;
    padding: 1px 10px 3px;
    border-radius: 100px;
    vertical-align: middle;
    margin: -5px 0 0 10px;
    display: inline-block;
}

.contact_detail .required.nini {
    background-color: #8d8d8d;
}

.contact_detail .title, #confirmModal .title {
    vertical-align: middle;
    margin-bottom: 10px;
    font-weight: 600;
}

.contact_detail .box {
    position: relative;
}

.contact_detail .box select, .contact_detail .box input, .contact_detail .box select, .contact_detail .box textarea {
    background-color: #fff;
    border: solid 1px #8e7964;
    padding: 8px 12px;
    margin-bottom: 6px;
}

.contact_detail .box textarea {
    width: 100%;
    height: 16rem;
}

.job_input select {
    width: 45%;
}

.name_input input, .address_input input, .mail_input input {
    width: 100%;
}



.dob_input .input_wrap {
    display: flex;
    flex-wrap: wrap;
}

.dob_input input, .age_input input {
    width: calc(100% - 1.7rem);
}

.dob_input .box, .age_input .box {
    width: calc(16% + 1.7rem);
    margin-right: 10px;
}

.wpcf7-not-valid-tip {
    color: #af2e1d !important;
    font-size: 14px !important;
}

.contact_detail .unit {
    margin-left: 10px;
    position: absolute;
    top: 9px;
    right: 0;
}

.privacy_btn_wrap, .rechap {
    text-align: center;
}

.privacy_btn_wrap .wpcf7-list-item {
    margin: 6px 0 10px;
}

.contact_detail .btn_l_wrap, .modal-content_02 .btn_l_wrap {
    text-align: center;
    margin-top: 3.7vw;
}

.btn_l_wrap button {
    border-radius: 100px;
    text-align: center;
    font-family: toppan-bunkyu-midashi-min-st, serif;
    padding: 13px 25px;
    font-size: 22px;
    transition: 0.5s;
    background-color: #b81717;
    color: #fff;
    display: inline-block;
    width: 17rem;
    margin: 0 10px;
}

.btn_l_wrap button:hover {
    background-color: #816D46;
    color: #fff;
}

.btn_l_wrap.btn_l_wrap_white button {
    background-color: #fff;
    color: #000;
    transition: 0.5s;
}

.btn_l_wrap.btn_l_wrap_white button:hover {
    background-color: #816D46;
    color: #fff;
}

.btn_l_wrap input.wpcf7-submit:disabled {
    background-color: #919191;
}

select {
    background: url(../img/icon_sankaku.webp) no-repeat;
    background-size: 11px;
    background-position: right 3% top 47%;
}

::placeholder {
    color: #a5a5a5;
}

input:-webkit-autofill {
    box-shadow: 0 0 0 1000px white inset;
}

input:focus, select:focus, textarea:focus {
    outline: none;
}

a.underline {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: #9f9f9f;
}

.rechap {
    margin-top: 16px;
    margin-top: 16px;
    font-size: 14px;
    color: #464646;
}

.rechap a {
    color: #464646;
}

.wpcf7 .wpcf7-spinner {
    display: none;
}

main>.sec.contact:first-of-type {
    margin-bottom: 5vw;
}

.contact_detail .img_wrap img {
    width: 100%;
}

.contact_deco_01 {
    width: 9vw;
    position: absolute;
    top: -4.6%;
    left: -5%;
    min-width: 85px;
}

.contact_deco_02 {
    width: 7vw;
    position: absolute;
    right: -3%;
    bottom: -3%;
    min-width: 80px;
}

.contact_deco_03 {
    width: 16vw;
    position: absolute;
    right: -5%;
    top: 27%;
}

.contact_deco_04 {
    width: 16vw;
    position: absolute;
    left: -49px;
    bottom: 29%;
}

.confirm_text {
    text-align: center;
    font-size: 18px;
}

.confirm .form_wrap {
    margin-top: 4vw;
}

.confirm .form_list {
    display: flex;
    border-bottom: solid 1px #b7a68e;
    margin-bottom: 23px;
    padding-bottom: 13px;
}

.confirm .box {
    margin-bottom: 0;
}

.confirm .title {
    width: 9rem;
}

.confirm .box {
    width: calc(100% - 9rem);
}

.contact_detail .confirm .unit {
    position: static;
    margin-left: 5px;
    margin-right: 10px;
}

.confirm .dob_box_wrap {
    display: flex;
}

.confirm .rechap {
    margin-top: 40px;
}

.confirm_btn_wrap {
    display: flex;
    justify-content: center;
}

.contact-thanks .btn_wrap {
    text-align: center;
    margin-top: 3.7rem;
}

.mail_link_wrap {
    text-align: center;
    margin-top: 35px;
    background-color: #e9e0d6;
    padding: 3% 3% 4% 3%;
}

.contact_wrap .privacy_btn_wrap input {
    margin-right: 6px;
}

.midasi_mail {
    margin-bottom: 10px;
    font-family: toppan-bunkyu-midashi-min-st, serif;
    font-size: 19px;
}

.mail_link_wrap a {
    font-size: 17px;
}

.policy_link {
    margin-top: 20px;
    display: inline-block;
    font-size: 11px;
    color: #686868;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: #9f9f9f;
}

.guide_detail .detail_box_list .detail * {
    font-size: 17px;
}

.form_wrap p {
    font-size: 17px;
}

.form_wrap label {
    font-size: 18px;
}

.contact_wrap .text {
    font-size: 17px;
}

.contact_wrap .text_small {
    font-size: 16px;
}

.contact-area .error-msg {
    color: #af2e1d;
    font-size: 14px;
    width: 100%;
}

.form_list {
    margin-bottom: 26px;
}

.form-global-error {
    text-align: center;
    color: #af2e1d;
    background-color: #e9e0d6;
    padding: 10px;
    margin-top: 26px;
}

.midasi_confirm {
    text-align: center;
    font-size: 25px;
    margin-bottom: 25px;
}

@media (max-width:1024px) {
    .sec_entry .deco_wrap {
        position: absolute;
        right: 1vw;
        bottom: -16vw;
    }

    .sec_entry .inner {
        padding: 3% 0 5%;
    }

    .sec_entry .btn_l {
        width: 24vw;
    }
}

@media (max-width:768px) {
    .tb_none, .grape-thumb.tb_none {
        display: none;
    }

    .tb, .grape-thumb.tb {
        display: block;
    }

    .logo_wrap .img_wrap {
        width: 140px;
    }

    .logo_wrap .title {
        font-size: 11px;
        height: 14px;
        line-height: 14px;
    }

    .nav__link {
        font-size: 21px;
    }

    .hb_syotyo_wrap img {
        top: 260px;
        width: 163px;
    }

    .nav .nav__list {
        padding: 60px 30px 30px;
    }

    .footer_wrap::after {
        height: 46vh;
    }

    .entry_btn a {
        font-size: 16px;
    }

    .sec_movie_l .smn_wrap {
        width: 100%;
    }

    .sec_movie_l .smn_wrap .story {
        right: 3vw;
        bottom: -1vw;
        width: 34vw;
        max-width: 303px;
    }

    .sec_movie_l .smn_wrap img {
        width: 104%;
    }

    .sec_movie_l .deco_wrap_02 {
        bottom: 20vw;
        right: 2vw;
        width: 13vw;
    }

    .sec_movie_l .deco_wrap_02 {
        bottom: 14vw;
        right: -1vw;
        width: 13vw;
        max-width: 63px;
    }

    .sec_movie_l .deco_wrap_10 {
        position: absolute;
        top: -1vw;
        width: 12vw;
        left: 5vw;
        max-width: 80px;
    }

    .sec_movie_l .deco_wrap_11 {
        position: absolute;
        width: 6vw;
        left: 4vw;
        bottom: -3vw;
        max-width: 34px;
    }

    .sec, .sec_interview_link {
        margin-bottom: 7vw;
    }

    .budo_midasi {
        margin-bottom: 7vw;
    }

    .sec_movie_s .movie_list {
        width: 90%;
        margin: 0 auto 8%;
    }

    .sec_movie_s .movie_list:nth-of-type(n+2) {
        margin: 0 auto 8%;
    }

    .sec_movie_s .movie_list:last-of-type {
        margin: 0 auto;
    }

    .sec_movie_s .movie_list:nth-of-type(2) {
        margin: 0 auto 12%;
    }

    .sec_movie_s .movie_list:nth-child(odd) .title, .sec_movie_s .movie_list:nth-child(even) .title {
        width: 25vw;
    }

    .sec_movie_l::before {
        top: -19%;
        padding-top: 100%;
    }

    .sec_interview_link::before, .sec_interview_link video, .sec_interview_link .sec_wrap {
        aspect-ratio: 1.1 / 1;
    }

    .btn_l {
        font-size: 21px;
    }

    .sec_entry .btn_l {
        font-size: clamp(21px, 2.4vw, 22px);
    }

    .sec_interview_link .text {
        text-align: left;
    }

    .sec_entry {
        margin-bottom: 0;
    }

    .sec_entry .text {
        font-size: 17px;
    }

    .sec_entry .btn_l {
        width: 100%;
        max-width: 21rem;
        margin: 0 10px 10px;
    }



    .job_deco_01 {
        display: none;
    }

    .job_midasi .text_wrap {
        width: 100%;
        margin-right: 0;
    }

    .job_detail_wrap {
        width: 100%;
    }

    .job_wrap {
        width: 85%;
        margin: 4vw auto 0;
    }

    .job_midasi .text_wrap .midasi_img_01 {
        margin-top: 1%;
        max-width: 440px;
        z-index: 2;
        position: relative;
    }

    .job_midasi .text_wrap .midasi_img_01, .job_midasi .text_wrap .midasi_img_02 {
        width: 100%;
        margin-top: -4%;
        max-width: none;
    }

    .job_midasi .text_box {
        margin-top: -15%;
    }

    .q_icon {
        width: 50px;
        height: 50px;
        font-size: 21px;
    }

    .q_wrap .qa_icon_wrap:nth-of-type(2) {
        width: calc(100% - 70px);
        margin-top: 0px;
        margin-left: 20px;
        z-index: 2;
    }

    .a_wrap .qa_icon_wrap:first-of-type {
        width: calc(100% - 70px);
        margin-right: 20px;
    }

    .a_wrap .qa_icon_wrap:nth-of-type(2) {
        width: 50px;
    }

    .q_wrap .qa_icon_wrap:nth-of-type(2)::before {
        top: 20px;
    }

    .a_wrap .qa_icon_wrap:first-of-type::before {
        top: 30px;
    }

    .job_detail_wrap .btn_wrap .btn_l.red {
        margin: 0 10px 10px;
    }

    .q_wrap .text, .a_wrap .text {
        padding: 13px;
    }

    .qa_wrap {
        margin: 5vw 0 7vw;
    }

    .q_wrap .text {
        font-size: 18px;
    }

    .job_content:nth-of-type(2n) .job_midasi {
        flex-direction: initial;
    }

    .job_content:nth-of-type(2n) .job_midasi .text_wrap {
        width: 100%;
        margin: 0 0 6vw;
    }

    .guide_midasi .midasi img, .contact .midasi img {
        width: 106%;
        margin-left: -2%;
    }

    .sec.guide_detail .inner {
        width: 95%;
    }

    .guide_detail .sec_wrap {
        border: 22px solid rgb(204, 204, 204);
        border-image-source: url(https://stg.recruit.fujiclairwine.jp/wp-content/themes/fw_recruit/img/deco_waku_sen_02.webp);
        border-image-slice: 100;
        border-image-width: 30px;
        border-image-outset: 0px;
        border-image-repeat: round;
    }

    .flow .sec_wrap {
        border: 7px solid rgb(204, 204, 204);
        border-image-source: url(https://stg.recruit.fujiclairwine.jp/wp-content/themes/fw_recruit/img/deco_waku_sen_03.webp);
        border-image-slice: 100;
        border-image-width: 30px;
        border-image-outset: 0px;
        border-image-repeat: round;
        border-radius: 45px;
    }

    .sec.guide_midasi .inner, .sec.contact .inner, .budosenki .sec .inner {
        width: 90%;
    }

    .guide_detail .detail_box_list {
        flex-wrap: wrap;
    }

    .guide_detail .detail_box_list .title, .guide_detail .detail_box_list .detail {
        width: 100%;
    }

    .now_hiring .deco_budo_01, .now_hiring .deco_budo_02 {
        max-width: 50px;
        width: 9%;
        min-width: 38px;
    }

    .now_hiring .deco_budo_01 {
        margin-right: 3%;
    }

    .now_hiring .deco_budo_02 {
        margin-left: 3%;
    }

    .guide_detail .detail_box_list .title {
        padding: 10px 6%;
    }

    .guide_detail .detail_box_list .detail {
        padding: 7%;
    }

    .guide_detail .btn_wrap {
        padding: 5vw 0 3vw;
    }

    .guideline main .external_link_wrap .btn {
        padding: 7px 17px;
    }

    .flow_wrap>.text {
        font-size: 15px;
        margin: 25px 0;
    }

    .guideline .flow {
        margin-top: 10vw;
    }

    .dob_input .box, .age_input .box {
        width: calc(27% + 0.9rem);
    }

    .job_input select {
        width: 100%;
    }

    .contact_detail {
        margin-bottom: 0;
        padding: 7vw 0 10vw;
    }

    .rechap {
        text-align: left;
    }

    .contact_detail .contact_wrap {
        margin: 9% auto;
    }

    .contact_detail {
        background-size: 13%;
    }

    .confirm_btn_wrap {
        display: block;
    }

    .confirm .rechap {
        text-align: left;
    }

    .contact_detail .btn_l_wrap, .modal-content_02 .btn_l_wrap {
        margin-top: 35px;
    }

    .modal-content_02 .btn_l_wrap:nth-of-type(2) {
        margin-top: 10px;
    }

    .confirm_text {
        text-align: left;
    }

    .contact-thanks .contact_detail .text {
        text-align: left;
    }

    .mail_link_wrap .mail_link {
        font-size: 15px;
    }

    .contact-thanks .btn_wrap {
        margin-top: 40px;
    }

    .mail_link_wrap {
        padding: 5% 6% 6% 6%;
    }

    .midasi_mail {
        font-size: 17px;
    }

    .entry_btn {
        margin-top: 2px;
    }

    .sec_movie_l {
        margin-bottom: 11vw;
    }

    .footer .external_link_wrap {
        margin-top: 50px;
    }

    .footer_wrap::after {
        background-position: top 10vw right;
    }

    .sec_movie_s {
        margin-bottom: 10vw;
    }

    .guideline .sec.guide_detail {
        padding-top: 7vw;
    }

    .sec_entry .btn_wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .sec_entry .text_wrap {
        width: 100%;
        text-align: center;
    }

    .sec_entry .deco_wrap {
        width: 100%;
        text-align: center;
        position: static;
    }

    .sec_entry .deco_wrap img {
        width: 70%;
        min-width: auto;
        padding-top: 0;
        margin: 10px auto 0;
        position: static;
    }

    .sec_entry .btn_wrap .btn_l:first-of-type {
        order: 2;
    }


    .sec_entry .inner {
        flex-wrap: wrap;
        padding: 8vw 0 0;
        margin-bottom: -35%;
        max-height: none;
    }

    .q_wrap .text, .a_wrap .text {
        padding: 4% 4%;
    }

    .q_wrap .text {
        font-size: 20px;
    }

    .a_wrap .text {
        font-size: 16px;
    }

}

@media (max-width:480px) {
    main>.sec:first-of-type {
        padding-top: 72px;
    }

    .nav .nav__list {
        width: 100%;
    }

    .logo_wrap .img_wrap {
        width: 115px;
    }

    .logo_wrap {
        display: flex;
        align-items: center;
    }

    .logo_wrap .title {
        font-size: 9px;
        height: 9px;
        line-height: 9px;
    }

    .entry_btn {
        margin-right: 50px;
    }

    .entry_btn a {
        padding: 4px 13px;
        font-size: 12px;
    }

    .hamburger {
        width: 40px;
        height: 40px;
    }

    .hamburger__line {
        width: 26px;
    }

    .hamburger__line:nth-of-type(1) {
        top: 11px;
    }

    .hamburger__line:nth-of-type(2) {
        top: 18px;
    }

    .hamburger__line:nth-of-type(3) {
        top: 26px;
    }

    .footer .logo_wrap {
        justify-content: center;
    }

    .footer .logo_wrap .img_wrap {
        width: 175px;
    }

    .footer .logo_wrap .title {
        font-size: 13px;
        height: 15px;
        line-height: 15px;
    }

    .footer .nav__link {
        font-size: 14px;
    }

    .footer .sns_icon {
        width: 26px;
    }

    .footer .external_link_wrap .btn {
        font-size: 12px;
    }

    .sec_movie_l .smn_wrap .story {
        bottom: -1vw;
        width: 43vw;
        right: 0vw;
    }

    .sec_movie_l .smn_wrap img {
        width: 107%;
        margin-left: -3%;
    }

    .sec_movie_l .deco_wrap_10 {
        top: -4vw;
        width: 15vw;
    }

    .sec_movie_l .deco_wrap_02 {
        bottom: 15vw;
        right: -2vw;
        width: 13vw;
        max-width: 63px;
    }

    .budo_deco_05_right {
        bottom: -13px;
    }

    .budo_midasi {
        margin-bottom: -7vw;
    }

    .sec_movie_s .movie_list {
        width: 95%;
    }

    .sec_movie_s .movie_list:nth-child(odd) .title, .sec_movie_s .movie_list:nth-child(even) .title {
        width: 31vw;
    }

    .sec_movie_s .story {
        padding: 9px 10px;
        font-size: 12px;
    }

    .sec_movie_s .intro {
        padding: 5px 10px;
    }

    /* .btn_l, .btn_l.red {
        width: 80%;
    } */

    .sec_interview_link::before, .sec_interview_link video, .sec_interview_link .sec_wrap {
        aspect-ratio: 0.9 / 1;
    }

    .sec_interview_link .text {
        font-size: 15px;
    }


    .sec_movie_l {
        margin-bottom: 22vw;
    }

    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    .sec_interview_link .inner {
        padding: 0 7%;
    }

    .sec_movie_l .deco_wrap_05 {
        top: 20vw;
        left: -12vw;
        width: 28vw;
    }

    .sec_movie_l .deco_wrap_06 {
        bottom: -11vw;
        width: 25vw;
        left: -13vw;
    }

    .sec_movie_l .deco_wrap_07 {
        top: 5vw;
        right: -13vw;
        width: 24vw;
    }

    .budo_midasi {
        margin-bottom: -4vw;
    }

    .sec_entry {
        margin-bottom: 0;
    }

    .footer .logo_wrap {
        margin-top: 18vw;
    }

    .footer {
        padding-top: 100%;
    }

    .footer_wrap::after {
        height: 100%;
        padding-top: 88%;
    }

    .sec .inner {
        width: 95%;
    }

    .sec_entry .inner {
        width: 85%;
    }

    .interview main {
        padding-top: 70px;
    }

    .job_midasi .text_wrap .midasi_img_02 {
        width: 115%;
        margin-left: -7%;
    }

    .job_zyouzou .job_midasi .text_wrap .midasi_img_02 {
        width: 120%;
        margin-left: -9%;
    }

    .job_midasi .text_box .text {
        margin-top: 20px;
    }

    .job_midasi .text_box .text {
        margin-top: 20px;
    }

    .job_midasi .text_wrap, .job_content:nth-of-type(2n) .job_midasi .text_wrap {
        margin-bottom: 35px;
    }

    .btn_wrap .btn_l.red {
        font-size: 20px;
    }

    .job_detail_wrap .btn_wrap {
        margin-top: 35px;
    }

    .job_detail_wrap .btn_wrap .btn_l.red {
        margin: 0 0 10px;
    }

    .job_wrap {
        width: 88%;
        margin: 35px auto 0;
    }

    .sec, .sec_interview_link {
        margin-bottom: 4vw;
    }

    .sec_entry {
        margin-top: 14vw;
        margin-bottom: 0;
    }

    .qa_wrap {
        margin-top: 30px;
    }

    .job_midasi_l .sec_wrap {
        border-image-width: 35px;
    }

    .frame {
        padding: 17vh 8vw;
    }

    .job_midasi_l .midasi span {
        font-size: 51%;
    }

    .job_midasi_l .text_wrap .text {
        text-align: left;
        font-size: 17px;
    }

    .job_midasi_l {
        margin: 35px 0 45px;
    }

    .job_midasi_l .deco_wrap_01 {
        width: 41vw;
        top: 15%;
    }

    .job_midasi_l .deco_wrap_02 {
        width: 40vw;
    }

    .now_hiring .midasi {
        margin-bottom: 0;
    }

    .external_link_wrap {
        margin-top: 17px;
    }

    .sec.guide_detail .inner {
        width: 98%;
    }

    .guide_detail .detail_box_list .detail .text {
        font-size: 16px;
    }

    .guide_detail .detail_box_list .midasi {
        font-size: 18px;
    }

    .guide_detail .detail_list>.midasi {
        margin-top: 10px;
    }

    .job_type {
        font-size: clamp(13px, 2.3vw, 18px);
        max-width: 4.3rem;
    }

    .job_type_baito {
        max-width: 9rem;
    }

    .flow {
        margin-bottom: 16%;
        margin-top: 16%;
    }

    .flow_num {
        flex-direction: column;
        justify-content: center;
        width: 4rem;
    }

    .sec.flow .inner {
        width: 88%;
    }

    .flow_num::after {
        right: -12%;
    }

    .flow_text {
        width: calc(100% - 4.2rem);
        padding: 5% 3% 5% 7%;
        flex-direction: column;
        align-items: flex-start;
    }

    .flow_text .font_size {
        font-size: 70%;
    }

    .flow_num span {
        padding: 0;
    }

    .flow .midasi_wrap {
        margin-top: 5vw;
    }

    .flow .midasi_box {
        margin-bottom: 5.6%;
    }

    .flow .img_wrap_01, .flow .img_wrap_02 {
        width: 29%;
    }

    .flow .midasi_wrap {
        margin-top: -5vw;
    }

    .deco_03 {
        width: 20vw;
        bottom: -2%;
    }

    .message .deco_04 img {
        position: absolute;
        right: 0;
        width: 120%;
    }

    .message .deco_04 {
        width: 48%;
        margin-top: -7.6%;
        position: relative;
    }

    .message .sec_wrap {
        width: 52%;
        margin-left: 3vw;
    }

    .sec.message {
        margin-top: 16vw;
    }

    .sec.message .inner {
        margin: 9vw 0 3vw;
    }

    .message .guide_deco_06 {
        height: 12vw;
    }

    .guide_detail {
        margin-bottom: 7vw;
    }

    .guide_detail .btn_wrap {
        padding: 8vw 0 6vw;
    }

    .flow_num {
        padding: 3% 4% 5% 0;
    }

    .flow_list_01 .flow_text {
        padding: 0% 3% 5% 7%;
    }

    .contact_detail .inner {
        width: 90%;
    }

    .contact_detail {
        margin-bottom: 0;
    }

    .contact_detail .contact_wrap {
        margin: 10% auto 13%;
    }

    .contact_deco_01 {
        top: -3.5%;
        left: -6%;
        min-width: 55px;
    }

    .contact_deco_02 {
        bottom: -2%;
        min-width: 45px;
    }

    .contact_detail .box select, .contact_detail .box input {
        padding: 10px 12px;
    }

    .contact_detail .box select, .form_list .title, .privacy_btn_wrap, .confirm_text, .contact_detail .confirm .box {
        font-size: 16px;
    }

    .contact_detail .box input {
        font-size: 14px;
    }

    .btn_l_wrap button {
        font-size: 18px;
    }

    .contact_detail .btn_l_wrap, .contact_detail .modal-content_02 .btn_l_wrap {
        margin-top: 35px;
    }

    .contact_detail {
        padding: 10vw 0 14vw;
    }

    .contact_detail .contact_wrap {
        width: 87%;
    }

    .dob_input .box, .age_input .box {
        width: calc(28% + 0.7rem);
        margin-right: 4px;
    }

    .contact_detail .unit {
        right: 4px;
    }

    select {
        background-position: right 6% top 47%;
    }

    .confirm .form_wrap {
        margin-top: 35px;
    }

    .confirm .form_list {
        display: block;
        margin-bottom: 13px;
    }

    .contact-thanks .midasi {
        font-size: 25px !important;
    }

    .midasi_mail {
        margin-bottom: 5px;
    }

    .mail_link_wrap .mail_link {
        font-size: 14px;
    }

    .mail_link_wrap {
        padding: 5% 6% 7% 6%;
    }

    .contact_deco_03, .contact_deco_04 {
        display: none;
    }

    .hamburger {
        right: 13px;
    }

    .interview header {
        min-height: 60px;
    }

    .interview main {
        padding-top: 60px;
    }

    .logo_btn_wrap {
        padding: 15px;
    }

    .sec_movie_l {
        margin-bottom: 15vw;
    }

    .policy_link {
        margin-top: 10px;
    }

    .nav.active .nav__list_wrap::before {
        background-size: 32%;
        background-position: bottom -2vh left;
        bottom: calc(-18vh - 30px);
    }

    .sec_movie_s {
        margin-bottom: 14vw;
    }

    .guide_detail .detail_box_list .title {
        padding: 6px 6%;
    }

    .hb_entry_btn a {
        font-size: 22px;
    }

    .q_wrap .text {
        font-size: 18px;
    }

    .q_wrap .text, .a_wrap .text {
        padding: 6% 6%;
    }

    .contact-thanks .contact_detail .text {
        font-size: 16px;
    }

    .mail_link_wrap .mail_link {
        font-size: 16px;
    }

    .form_wrap label {
        font-size: 16px;
    }

    .guide_detail .sec_wrap, .flow .sec_wrap {
        width: 94%;
    }

    .job_midasi .text_box .text {
        font-size: 16px;
    }

    .contact_wrap .text_small {
        font-size: 15px;
    }

    .confirm .box {
        width: 100%;
    }

    .midasi_confirm {
        text-align: center;
        font-size: 20px;
        margin-bottom: 15px;
    }

    .guideline main .now_hiring .external_link_wrap .btn {
        padding: 7px 25px 7px 15px;
        margin: 0 7px 8px 0;
    }

    .external_link_wrap .icon_sankaku {
        width: 9px;
    }

    .now_hiring .btn .icon_sankaku {
        right: 11px;
    }
}


/* モーダル基本（例） */
.video-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.grape-thumb {
    width: 100%;
    cursor: pointer;
    display: block;
    opacity: 1;
    transition: 0.5s;
}

.grape-thumb:hover {
    opacity: 0.8;
}

/* モーダル */
.modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgb(224, 212, 195, 0.9);
    justify-content: center;
    align-items: center;
    z-index: 999;
}

.modal-content {
    width: 90%;
    height: 90%;
    position: relative;
    border: 50px solid rgb(204, 204, 204);
    display: flex;
    border-image-source: url(../img/deco_waku_beta.webp?1216_02);
    border-image-slice: 100;
    border-image-width: 50px;
    border-image-outset: 0px;
    border-image-repeat: round;
}

.modal-wrap .modal-box {
    max-width: 1100px;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin-top: 15px;
}

.modal-wrap {
    background-color: #fff;
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#modalVideo {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.close.btn_l {
    cursor: pointer;
    font-size: 24px;
    display: inline-block;
    text-align: right;
    margin: -10px 0px 5px;
    color: #fff;
    text-align: center;
    width: auto;
    font-size: 13px;
    padding: 2.5px 18px;
    margin-top: 18px;
    background-color: #866d46;
}

/* 404 */
.error404 main {
    padding: 100px 7vw;
}

.error404 .midasi {
    font-size: 32px;
}

.error404 .text {
    margin-top: 20px;
}

.error404 .btn_l.red {
    margin-top: 3.7rem;
}

.page-404 {
    text-align: center;
}

@media (max-width:480px) {
    .error404 .midasi {
        font-size: 25px;
    }

    .modal-content {
        width: 95%;
        height: 95%;
        border: 20px solid rgb(204, 204, 204);
        border-image-source: url(../img/deco_waku_beta.webp?1216_02);
        border-image-slice: 100;
        border-image-width: 50px;
        border-image-outset: 0px;
        border-image-repeat: round;
    }

    .close {
        margin: -10px 8px 4px;
        color: #fff;
        font-size: 28px;
    }

    .close.btn_l {
        margin-top: 25px;
    }
}

/* PAGE TOPボタン */
#page-top {
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease;
}
#page-top.disp {
    opacity: 1;
}

#page-top .page-top-link {
    position: fixed;
    right: 23px;
    bottom: 83px;
    width: 65px;
    z-index: 3;
}

#page-top .page-top-link img {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.5s ease;
}

/* 初期状態 */
#page-top .page-top-link .off {
    opacity: 1;
}

#page-top .page-top-link .on {
    opacity: 0;
}

/* hover時 */
#page-top .page-top-link:hover .off {
    opacity: 0;
}

#page-top .page-top-link:hover .on {
    opacity: 1;
}

@media (max-width:768px) {
    #page-top .page-top-link {
        right: 20px;
        bottom: 67px;
        width: 50px;
    }
}