div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption,
th {
    text-align: left;
}

q:before,
q:after {
    content: "";
}

object,
embed {
    vertical-align: top;
}

hr,
legend {
    display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
}

img,
abbr,
acronym,
fieldset {
    border: 0;
}

li {
    list-style-type: none;
}
img {
    vertical-align: top;
    max-width: 100%;
}

@media only screen and (max-width: 767px) {
    img {
        width: 100%;
    }
}

i {
    font-style: normal;
}

dd {
    margin-inline-start: 0;
}

br {
    line-height: initial;
}

body {
    margin: 0;
    letter-spacing: .04em;
    color: #000;
    letter-spacing: .11em;
    font-size: 1.6rem;
    line-height: 0;
    /* line-height: 2.25; */
}

html {
    font-size: 62.5%;
    font-family: "kozuka-gothic-pr6n","ヒラギノ角ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ StdN", "Hiragino Kaku Gothic StdN", "YuGothic", "Yu Gothic", "Yu Gothic UI", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

main,footer {
    line-height: 1;
}

a {
    color: #000;
    text-decoration: none;
    transition: all .4s;
}

a:hover {
    opacity: .6;
}


/* -------------レスポンシブ--------------- */
/* 961以上→ only_p */
/* 960以下→ un_ts */
/* 960~416→ only_t */
/* 769以上→　ov_tab */
/* 768以下→ un_tab */
/* 421以上→ ov_s */
/* 420以下→ only_s */
@media screen and (min-width: 961px) {
    .only_t {
        display: none!important;
    }
    .only_s {
        display: none!important;
    }
    .un_ts {
        display: none!important;
    }
}
@media screen and (max-width: 960px) {
    .only_p {
        display: none!important;
    }
    .only_t {
        display: block!important;
    }
    .only_s {
        display: none!important;
    }
    .un_ts {
        display: block!important;
    }
}
@media screen and (min-width: 769px) {
    .ov_tab {
        display: block!important;
    }
    .un_tab {
        display: none!important;
    }
}
@media screen and (max-width: 768px) {
    .ov_tab {
        display: none!important;
    }
    .un_tab {
        display: block!important;
    }
}
@media screen and (min-width: 421px) {
    .ov_s {
        display: block!important;
    }
}
@media screen and (max-width: 420px) {
    .only_p {
        display: none!important;
    }
    .only_t {
        display: none!important;
    }
    .only_s {
        display: block!important;
    }
    .ov_s {
        display: none!important;
    }
}

@media screen and (min-width: 768px) {
    .view_sp {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .view_pc-tab {
        display: none;
    }
}

@media screen and (min-width: 1025px) {
    .view_tab {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .view_tab {
        display: none;
    }
}

.fadeUpT {
    opacity: 0;
}

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.euro {
    font-family: europa, sans-serif;
}


.btn_more {
    background: #000;
    border: 1px solid #000;
    transition: all .4s;
    box-sizing: border-box;
    text-align: center;
	padding-right: 10px;
}

.btn_more a {
    font-weight: lighter;
    font-size: 1.4rem;
    color: #fff;
    letter-spacing: .13em;
    padding: .3em 0;
    display: block;
    transition: all .4s;
}

@media screen and (max-width: 768px) {
    .btn_more a {
        padding: .7em 0;
    }
}

.btn_more a span {
    position: relative;
}

.btn_more a span:after {
    content: "";
    transition: all .4s;
    background: url("../../assets/img/btn_arrow.png") center no-repeat;
    background-size: contain;
    height: 8px;
    width: 22px;
    right: -28px;
    top: 50%;
    position: absolute;
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.btn_more:hover {
    background: rgba(0, 0, 0, 0);
}

.btn_more:hover a {
    opacity: 1;
    color: #000;
}

.btn_more:hover a span:after {
    content: "";
    background: url("../../assets/img/btn_arrow02.png") center no-repeat;
    background-size: contain;
    height: 8px;
    width: 22px;
    right: -33px;
}

.btn_blue {
    text-align: center;
}

.btn_black a,
.btn_black input,
.btn_black button {
    border: none;
    display: block;
    background: #111;
    width: 540px;
    color: #fff;
    font-size: 20px;
    padding: .6em 0;
    transition: all .4s;
    border-radius: 40px;
    margin: 0 auto;
	text-align: center;
}

@media screen and (max-width: 768px) {
    .btn_black a,
    .btn_black input,
    .btn_black button {
        width: 100%;
        font-size: 14px;
        padding: 1em 0;
    }
}

.btn_black input {
    margin: 40px auto 0;
}
.btn_black a {
    margin: 40px auto 100px;
}

.btn_blue a,
.btn_blue input,
.btn_blue button {
    border: none;
    display: block;
    background: #0489f9;
    width: 100%;
    color: #fff;
    font-size: 2.3rem;
    padding: .6em 0;
    transition: all .4s;
}

@media screen and (max-width: 768px) {
    .btn_blue a,
    .btn_blue input,
    .btn_blue button {
        font-size: 1.5rem;
        padding: 2em 0;
    }
}

.btn_blue:hover a {
    background: #1967a7;
}

.btn_blue input {
    border: none;
}
.inner_1920 {
    max-width: 1920px;
    margin: 0 auto;
}
.inner_1160 {
    max-width: 1160px;
    margin: 0 auto;
}
@media screen and (max-width: 960px) {
    .inner_1160 {
        padding: 0 20px;
    }
}
.inner_960 {
    max-width: 960px;
    margin: 0 auto;
}
header {
    position: fixed;
    width: 100%;
    height: 100px;
    z-index: 999;
    top: 0;
    left: 0;
}
@media screen and (max-width: 768px) {
    header {
        height: 60px;
    }
}
header.scrolled {
    background-color: #000;
}
header .inner_header {
    position: relative;
    z-index: 9999;
    height: 100%;
}
header .inner_header .gnav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    padding: 0 20px;
}

header .inner_header .gnav .logo {
    width: 280px;
    margin-left: 30px;
    font-size: 32px;
	font-weight: 600;
    color: #fff;
}
@media screen and (max-width: 960px) {
    header .inner_header .gnav .logo {
        width: auto;
        margin-left: initial;
        font-size: 20px;
    }
}
header .inner_header .gnav .logo a {
    display: block;
}

header .inner_header .gnav .sp_batu {
    position: relative;
    width: 32px;
    height: 22px;
}


header .inner_header .gnav .sp_batu span {
    background: #fff;
    display: block;
    height: 2px;
    transition: all .4s;
}

header .inner_header .gnav .sp_batu span:first-child {
    position: absolute;
    right: 0;
    top: 0;
    width: 32px;
}

header .inner_header .gnav .sp_batu span:nth-child(2) {
    position: absolute;
    right: 0;
    top: 50%;
    width: 25px;
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

header .inner_header .gnav .sp_batu span:nth-child(3) {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 18px;
}

header .inner_header .gnav .sp_batu.batu_active {
    z-index: 99999;
}

header .inner_header .gnav .sp_batu.batu_active span:first-child {
    transform: rotate(-45deg) translateY(-50%);
    top: 40%;
    width: 100%;
}

header .inner_header .gnav .sp_batu.batu_active span:nth-child(2) {
    opacity: 0;
}

header .inner_header .gnav .sp_batu.batu_active span:nth-child(3) {
    transform: rotate(45deg) translateY(-50%);
    bottom: 50%;
    width: 100%;
}
.gnav_sp {
    display: flex;
    align-items: center;
    column-gap: 12px;
}
header .inner_header .gnav .block_gnav {
    display: flex;
    align-items: center;
    column-gap: 30px;
}
@media only screen and (max-width: 960px) {
    header .inner_header .gnav .block_gnav {
        margin-left: initial;
    }
}

@media screen and (max-width: 768px) {
    header .inner_header .gnav .block_gnav {
        display: none;
    }
}
header .inner_header .gnav .block_gnav a:hover {
    color: #b02692;
    opacity: 1;
}
header .inner_header .gnav .block_gnav .gnav_item {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
}
@media screen and (max-width: 960px) {
    header .inner_header .gnav .block_gnav .gnav_item {
        font-size: 12px;
    }
}

header .inner_header .gnav .btn_entry {
    width: 200px;
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000;
    border-radius: 30px;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
}
@media screen and (max-width: 1040px) {
    header .inner_header .gnav .btn_entry {
        width: 160px;
        height: 40px;
        font-size: 16px;
    }
}
@media screen and (max-width: 960px) {
    header .inner_header .gnav .btn_entry {
        width: 100px;
        height: 25px;
        font-size: 12px;
		padding-top: 3px;
    }
}
header.scrolled .inner_header .gnav .btn_entry {
    background-color: #fff;
    color: #000;
}
header .inner_header .gnav .btn_entry:hover {
    opacity: 1;
    color: #fff!important;
    background-image: linear-gradient(144deg, rgba(192, 5, 97, 1), rgba(226, 0, 170, 1));

}

header .block_hover {
    position: absolute;
    bottom: -100px;
    background: rgba(0, 0, 0, 0.7);
    width: 100%;
    left: 50%;
    transition: all .3s;
    visibility: hidden;
    opacity: 0;
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
    header .block_hover {
        display: none;
    }
}

header .block_hover ul {
    display: flex;
    justify-content: center;
	align-items:center;
    margin: 0 auto;
    max-width: 960px;
    width: 100%;
	height:100px;
}

header .block_hover ul li {
    position: relative;
	height:100%;
}

header .block_hover ul li a {
    font-size: 1.2rem;
    display: flex;
	align-items:center;
	color:#fff;
	height:100%;
}

header .block_hover ul li a:after {
    content: "";
    background: url("../../assets/img/slash.png") center no-repeat;
    background-size: contain;
    width: 14px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
    margin-left: .5em;
	-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}

header .block_hover ul li a span {
    position: relative;
    padding: 0 .5em;
}

header .block_hover ul li a span:before {
    content: "";
    transition: all .4s;
    position: absolute;
    bottom: -0.5em;
    left: 0;
    width: 0;
    height: 3px;
    background: #fff;
    transition: all .4s;
	
}

header .block_hover ul li:nth-child(n+2) a {
    padding-left: .5em;
}

header .block_hover ul li:hover a span:before {
    content: "";
    width: 100%;
}

header .block_hover.active {
    visibility: visible;
    opacity: 1;
    z-index: 3;
}

header .block_gnav_sp {
    width: 100%;
    height: 100svh;
    background: #fff;
    transform: translateY(-200%);
    position: fixed;
    left: 0;
    top: 0;
    z-index: -999;
    overflow-Y: scroll;
    overflow-scrolling: touch;
    transition: all .5s;
}
@media screen and (min-width: 768px) {
    header .block_gnav_sp {
        display: none;
    }
}
.block_gnav_sp_con {
    display: flex;
    flex-direction: column;
    row-gap: 60px;
    padding: 120px 20px 0;
}
.block_gnav_sp_conItem {
    text-align: center;
}
.block_gnav_sp_conItem a {
    font-family: YuGothic,'Yu Gothic',sans-serif;
    font-size: 26px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 8px;
    line-height: 1.75;
}
.block_gnav_sp_conItem span {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #ff40cd;
    letter-spacing: 3px;
}

header .block_gnav_sp.gnav_active {
    height: 100vh;
    z-index: 1;
    transform: translateY(0);
    background: rgba(0,0,0,0.7);
}
.fv_wrp {
    font-family: europa, sans-serif;
    background-image: url(../img/recruit/rcr_fv.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 1080px;
    position: relative;
}
@media screen and (max-width: 768px) {
    .fv_wrp {
        height: 100vh;
    }
}
.fvText_blc {
    position: absolute;
    top: 50%;
    left: 11%;
    transform: translateY(-50%);
    color: #fff;
}
@media screen and (max-width: 960px) {
    .fvText_blc {
        left: 50%;
        transform: translate(-50%,-50%);
    }
}
.fvText_blc h1 {
    font-size: 160px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 10px;
    margin-bottom: 60px;
}
@media screen and (max-width: 1240px) {
    .fvText_blc h1 {
        font-size: 120px;
    }
}
@media screen and (max-width: 960px) {
    .fvText_blc h1 {
        font-size: 53px;
        margin-bottom: 30px;
    }
}
.fvH1Sub_ja {
    font-size: 34px;
    font-weight: 600;
    margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
    .fvH1Sub_ja {
        font-size: 14px;
        margin-bottom: 10px;
    }
}
.fvH1Sub_en {
    font-size: 22px;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .fvH1Sub_en {
        font-size: 14px;
    }
}
.fvSubimageText {
    position: absolute;
    top: 43%;
    right: 4%;
    font-size: 34px;
    font-weight: 600;
    color: #fff;
    line-height: 1.5;
}
@media screen and (max-width: 1240px) {
    .fvSubimageText {
        display: none;
    }
}
.fvImageSubimage01 {
    position: absolute;
    bottom: -11.5%;
    right: 430px;
}
@media screen and (max-width: 1920px) {
    .fvImageSubimage01 {
        width: 28vw;
        right: 22.5%;
    }
}
@media screen and (max-width: 1240px) {
    .fvImageSubimage01 {
        bottom: -9%;
    }
}
@media screen and (max-width: 768px) {
    .fvImageSubimage01 {
        width: 32vw;
        right: 16%;
        bottom: -7%;
    }
}
@media screen and (max-width: 600px) {
    .fvImageSubimage01 {
        width: 53vw;
        right: 24.5%;
        bottom: -7%;
    }
}

.fvImageSubimage02 {
    position: absolute;;
    bottom: -6.5%;
    right: 80px;
}
@media screen and (max-width: 1920px) {
    .fvImageSubimage02 {
        width: 28vw;
        right: 4.3%;
    }
}
@media screen and (max-width: 768px) {
    .fvImageSubimage02 {
        right: 0;
    }
}
@media screen and (max-width: 600px) {
    .fvImageSubimage02 {
        width: 45vw;
        right: 0;
    }
}
.breadcrumbs {
    border-top: 2px solid #0489f9;
    background: #efefef;
    padding: .8em 0;
}

@media screen and (max-width: 768px) {
    .breadcrumbs {
        padding: .2em 0;
    }
}

.breadcrumbs ul {
    display: flex;
	align-items:center;
}

.breadcrumbs ul li {
    font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
    .breadcrumbs ul li {
        font-size: 1rem;
    }
}

.breadcrumbs ul li:after {
    content: "/";
    display: inline-block;
    padding: 0 .5em;
}

.breadcrumbs ul li:last-child:after {
    display: none;
    padding: 0;
}
#recruit .ttl_en {
    display: inline-block;
    font-family: europa, sans-serif;
    font-size: 100px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-bottom: 60px;
}
@media screen and (max-width: 1600px) {
    #recruit .ttl_en {
        font-size: 80px;
    }
}
@media screen and (max-width: 1240px) {
    #recruit .ttl_en {
        font-size: 60px;
    }
}
@media screen and (max-width: 960px) {
    #recruit .ttl_en {
        font-size: 50px;
        margin-bottom: 30px;
    }
}
#recruit .ttl_en:before {
    content: '';
    display: block;
    width: 120px;
    height: 6px;
    margin-bottom: 25px;
    background-image: linear-gradient(90deg, rgba(54, 43, 104, 1) 10%, rgba(226, 0, 170, 1) 90%);
}
@media screen and (max-width: 768px) {
    #recruit .ttl_en:before {
        width: 50px;
        height: 4px;
        margin-bottom: 10px;
    }
}
#recruit .ttl_en span {
    color: #ab3892;
}
#recruit .ttl_ja {
    font-size: clamp(14px, 3vw, 20px);
    font-weight: bold;
    margin: 0 0 20px;
}
.leftSideText {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 70px;
    color: #fff;
    font-family: YuGothic,'Yu Gothic',sans-serif;
    font-size: 32px;
    font-weight: 600;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
@media screen and (max-width: 1500px) {
    .leftSideText {
        display: none;
    }
}
.about {
    background-image: url(../img/recruit/rcr_about_bg.png);
    background-position: right;
    background-repeat: no-repeat;
    padding-bottom: 170px;
}
@media screen and (max-width: 1920px) {
    .about {
        background-size: auto 100%;
    }
}
@media screen and (max-width: 768px) {
    .about {
        background-image: url(../img/recruit/rcr_about_bg_sp.png);
        padding-bottom: 60px;
    }
}
.inner_about {
    margin-right: calc((100% - 1240px) / 2);
    padding-top: 230px;
}
@media screen and (max-width: 1240px) {
    .inner_about {
        margin-right: initial;
    }
}
@media screen and (max-width: 768px) {
    .inner_about {
        padding: 140px 20px 0;
    }
}
.aboutCont {
    display: flex;
    column-gap: 70px;
}
.aboutContLeft {
    width: 54%;
}
@media screen and (max-width: 768px) {
    .aboutContLeft {
        display: none;
    }
}
.aboutContRight {
    width: 46%;
}
@media screen and (max-width: 768px) {
    .aboutContRight {
        width: 100%;
    }
}
.aboutContSub {
    margin-bottom: 30px;
}
.aboutContSub span {
    display: inline-block;
    font-size: 31px;
    font-weight: 600;
    background-color: #000;
    color: #fff;
    padding: 10px 18px;
    margin-bottom: 18px;
    line-height: 1;
}
@media screen and (max-width: 1240px) {
    .aboutContSub span {
        font-size: 18px;
    }
}
@media screen and (max-width: 768px) {
    .aboutContSub span {
        padding: 5px;
        margin-bottom: 10px;
    }
}
.aboutContSub span:last-of-type {
    margin-bottom: initial;
}
.aboutContText {
    font-size: 16px;
    line-height: 1.75;
}
@media screen and (max-width: 1240px) {
    .aboutContText {
        font-size: 14px;
    }
}
@media screen and (max-width: 768px) {
    .aboutContText {
        font-size: 12px;
    }
}
.top_message {
    background-image: url(../img/recruit/rcr_message_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 110px 200px;
    position: relative;
}
@media screen and (max-width: 1240px) {
    .top_message {
        padding: 110px 160px;
    }
}
@media screen and (max-width: 768px) {
    .top_message {
        background-image: url(../img/recruit/rcr_message_bg_sp.jpg);
        padding: 60px 0;
    }
}
#recruit .top_messageContLeft h2,
#recruit .top_messageContLeft > p.fadeUpT {
    color: #fff;
}
.top_messageCont {
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width: 960px) {
    .top_messageCont {
        flex-direction: column;
        row-gap: 60px;
    }
}
.top_messageContSub {
    margin-bottom: 60px;
}
@media screen and (max-width: 960px) {
    .top_messageContSub {
        margin-bottom: 20px;
    }
}
.top_messageContSub span {
    display: inline-block;
    font-size: 28px;
    font-weight: 600;
    background-image: linear-gradient(90deg, rgba(54, 43, 104, 1) 10%, rgba(226, 0, 170, 1) 90%);
    color: #fff;
    padding: 10px 18px;
    margin-bottom: 18px;
    line-height: 1;
}
@media screen and (max-width: 1500px) {
    .top_messageContSub span {
        font-size: 20px;
    }
}
@media screen and (max-width: 1240px) {
    .top_messageContSub span {
        font-size: 1.3vw;
    }
}
@media screen and (max-width: 960px) {
    .top_messageContSub span {
        font-size: 17px;
    }
}
@media screen and (max-width: 768px) {
    .top_messageContSub span {
        padding: 5px 5px 5px 10px;
        margin-bottom: 10px;
    }
}
.top_messageContSub span:first-of-type {
    padding: 10px 18px 10px 0;
}
@media screen and (max-width: 1240px) {
    .top_messageContSub span:first-of-type {
        padding: 10px 18px 10px 9px;
    }
}
@media screen and (max-width: 768px) {
    .top_messageContSub span:first-of-type {
        padding: 5px 5px 5px 0;
    }
}
.top_messageContSub span:last-of-type {
    margin-bottom: initial;
}
.top_messageContLeft {
    width: 46%;
    margin-top: 40px;
}
@media screen and (max-width: 960px) {
    .top_messageContLeft {
        width: 100%;
        margin-top: initial;
    }
}
.top_messageContName_blc {
    border-left: 2px solid #fff;
    padding-left: 30px;
    margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
    .top_messageContName_blc {
        padding-left: 20px;
        margin-bottom: 40px;
    }
}
.top_messageContName {
    font-family: 'Arial',sans-serif;
    font-size: 63px;
    font-weight: 600;
    color: #fff;
    line-height: 1;
    margin-bottom: 50px;
}
@media screen and (max-width: 1240px) {
    .top_messageContName {
        font-size: 40px;
    }
}
@media screen and (max-width: 768px) {
    .top_messageContName {
        font-size: 26px;
        margin-bottom: 10px;
    }
}
.top_messageContName span {
    display: inline-block;
}
.top_messageContName span:first-of-type {
    margin-bottom: 30px;
}
@media screen and (max-width: 960px) {
    .top_messageContName span:first-of-type {
        margin-bottom: initial;
    }
}
.top_messageContStatus {
    font-size: 20px;
    color: #fff;
}
@media screen and (max-width: 1240px) {
    .top_messageContStatus {
        font-size: 16px;
    }
}
@media screen and (max-width: 768px) {
    .top_messageContStatus {
        font-size: 12px;
    }
}
.top_messageContRight {
    width: 50%;
}
@media screen and (max-width: 960px) {
    .top_messageContRight {
        width: 100%;
        margin-bottom: 50px;
    }
}
.top_messageBtn {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(226, 0, 170, 0.8);
    font-weight: 600;
    color: #fff;
    width: 420px;
    height: 60px;
    border-radius: 30px;
    position: relative;
}
@media screen and (max-width: 1240px) {
    .top_messageBtn {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .top_messageBtn {
        height: 50px;
    }
}
.top_messageBtn .btnText {
    position: relative;
    z-index: 2; /* テキストを前面に表示 */
    transition: color 0.5s ease;
    font-size: 16px;
}
/* .top_messageBtn span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 50px;
    background-color: #fff;
    width: 20px;
    height: 1px;
}
@media screen and (max-width: 768px) {
    .top_messageBtn span {
        right: 30px;
        width: 15px;
    }
}
.top_messageBtn span:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    transform: rotate(90deg);
    background-color: #fff;
    width: 20px;
    height: 1px;
}
@media screen and (max-width: 768px) {
    .top_messageBtn span:before {
        width: 15px;
    }
} */

.interview {
    background-image: url(../img/recruit/rcr_interview.png);
    background-position: left;
    background-repeat: no-repeat;
    background-size: auto 100%;
    padding-top: 120px;
    padding-bottom: 330px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .interview {
        background-image: url(../img/recruit/rcr_interview_sp.png);
        padding-top: 60px;
        padding-bottom: 160px;
    }
}
.interviewH2_blc {
    text-align: center;
}
.interviewSlider {
    position: relative;
    padding-top: 60px;
}
.interviewSlider:before {
    content: '';
    display: block;
    background-color: #000;
    height: 26vw;
    width: 60%;
    position: absolute;
    top: 35%;
    left: -10%;
    transform:skewX(-15deg);
}
@media screen and (max-width: 1240px) {
    .interviewSlider:before {
        height: 38vw;
    }
}
@media screen and (max-width: 768px) {
    .interviewSlider:before {
        display: none;
    }
}
.interviewSlider .slick-list {
    overflow: visible;
}
.interviewSlider .prev-arrow {
    position: absolute;
    right: 23%;
    bottom: -150px;
    background-color: #000;
    width: 65px;
    height: 60px;
    padding-top: 5px;
    border-radius: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 30px;
    font-weight: 600;
    cursor: pointer;
}
@media screen and (max-width: 1600px) {
    .interviewSlider .prev-arrow {
        right: 25%;
    }
}
@media screen and (max-width: 1300px) {
    .interviewSlider .prev-arrow {
        right: 27%;
    }
}
@media screen and (max-width: 960px) {
    .interviewSlider .prev-arrow {
        width: 40px;
        height: 40px;
        padding-top: initial;
        font-size: 18px;
        bottom: -110px;
        right: 70px;
    }
}
.interviewSlider .next-arrow {
    position: absolute;
    right: 18.5%;
    bottom: -150px;
    background-color: #000;
    width: 65px;
    height: 60px;
    padding-top: 5px;
    border-radius: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 30px;
    font-weight: 600;
    cursor: pointer;
}
@media screen and (max-width: 960px) {
    .interviewSlider .next-arrow {
        width: 40px;
        height: 40px;
        padding-top: initial;
        font-size: 18px;
        bottom: -110px;
        right: 20px;
    }
}
.interviewSliderItem {
    position: relative;
    padding: 0 15px;
    cursor: pointer;
}
.interviewSliderItemInfo {
    position: absolute;
    bottom: -25px;
    left: 0;
    width: 70%;
    color: #fff;
    padding: 20px 35px;
    font-size: 0.8vw;
    line-height: 2;
}
@media screen and (min-width: 1920px) {
    .interviewSliderItemInfo {
        font-size: 16px;
    }
}
@media screen and (max-width: 1240px) {
    .interviewSliderItemInfo {
        font-size: 1vw;
    }
}
@media screen and (max-width: 768px) {
    .interviewSliderItemInfo {
        font-size: 10px;
        padding: 20px
    }
}
.interviewSliderItemInfo.men {
    background-image: linear-gradient(90deg, rgba(60, 43, 104, 1), rgba(44, 67, 162, 1));
}
.interviewSliderItemInfo.women {
    background-image: linear-gradient(90deg, rgba(60, 43, 104, 1), rgba(224, 0, 142, 1));
}
.interviewSliderItemImg {
    border: 1px solid #000;
}
.interviewSliderItemImg img {
    width: 100%;
}
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}
.modalContent_wrap {
    width: 70%;
    max-width: 960px;
    height: 50%;
    position: relative;
}
@media screen and (max-width: 960px) {
    .modalContent_wrap {
        width: 80%;
    }
}
.modalContent {
    background: #fff;
    padding: 80px 60px;
    /* width: 70%;
    max-width: 960px; */
    height: 100%;
    overflow-y: scroll;
}
@media screen and (max-width: 768px) {
    .modalContent {
        padding: 60px 20px 40px;
    }
}
.modalClose {
    font-size: 42px;
    cursor: pointer;
    position: absolute;
    top: -50px;
    right: 10px;
    color: #fff;
    background: none;
    border: none;
}
@media screen and (max-width: 768px) {
    .modalClose {
        right: 0;
    }
}
.modalContentFlex {
    display: flex;
    column-gap: 35px;
}
#modalImages {
    width: 40%;
}
@media screen and (max-width: 768px) {
    #modalImages {
        display: none;
    }
}
#modalImages img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: center top;
}
#modalAdditionalImages {
    margin-bottom: 20px;
}
.modalInfo {
    width: 60%;
}
@media screen and (max-width: 768px) {
    .modalInfo {
        width: 100%;
    }
}
.modalInfoName {
    display: flex;
    align-items: end;
    column-gap: 10px;
    padding-bottom: 25px;
    margin-bottom: 30px;
    border-bottom: 2px solid #000;
}
@media screen and (max-width: 768px) {
    .modalInfoName {
        padding-bottom: 5px;
        margin-bottom: 15px;
        column-gap: 5px;
    }
}
#modalTitle {
    font-size: 28px;
    font-weight: 600;
    line-height: 1;
}
@media screen and (max-width: 768px) {
    #modalTitle {
        font-size: 16px;
        font-weight: 600;
        line-height: 1;
    }
}
#modalPosition {
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    color: #b8b8b8;
}
@media screen and (max-width: 768px) {
    #modalPosition {
        font-size: 12px;
    }
}
.modalQuestionItem {
    margin-bottom: 40px;
}
.modalQuestionItem:last-of-type {
    margin-bottom: initial;
}
.modalQuestionItemTitle {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
    .modalQuestionItemTitle {
        font-size: 12px;
    }
}
.modalQuestionItemTitle:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 6px;
    margin-right: 10px;
    margin-bottom: 5px;
    background-image: linear-gradient(90deg, rgba(54, 43, 104, 1) 10%, rgba(226, 0, 170, 1) 90%);
}
@media screen and (max-width: 768px) {
    .modalQuestionItemTitle:before {
        width: 30px;
        height: 4px;
        margin-bottom: 2px;
    }
}
.modalQuestionItemText {
    font-size: 20px;
    font-weight: 600;
    background-color: #eee;
    padding: 10px;
    margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
    .modalQuestionItemText {
        font-size: 14px;
        padding: 5px;
    }
}
.modalQuestionItemAnswer {
    font-size: 16px;
    line-height: 1.75;
}
@media screen and (max-width: 768px) {
    .modalQuestionItemAnswer {
        font-size: 12px;
    }
}
.department {
    margin-bottom: 170px;
    margin-top: -1px;
}
@media screen and (max-width: 768px) {
    .department {
        margin-bottom: 60px;
    }
}
.departmentBg {
    padding: 130px 0 100px;
    background-image: url(../img/recruit/rcr_department.png);
    background-size: 1920px auto;
    background-position: right top;
    background-repeat: no-repeat;
    position: relative;
}
@media (max-width: 1920px) {
    .departmentBg {
        background-size: 1920px auto; /* 幅1920pxを超えると見切れる */
        background-position: right top; /* 右寄りに配置 */
    }
}
@media screen and (max-width: 768px) {
    .departmentBg {
        padding: 45px 20px;
        background-image: url(../img/recruit/rcr_department_sp.png);
        background-size: cover;
        background-position: right top;
        background-repeat: no-repeat;
        position: relative;
    }
}
.departmentH2_blc {
    text-align: center;
}
.departmentH2_blc h2,
.departmentH2_blc .ttl_en {
    color: #fff;
}
.departmentCont {
    margin-right: calc((100% - 1160px) / 2);
    display: flex;
    margin-top: 60px;
}
@media screen and (max-width: 1240px) {
    .departmentCont {
        margin-right: initial;
    }
}
@media screen and (max-width: 768px) {
    .departmentCont {
        display: grid;
        grid-template-columns: repeat(2,1fr);
        padding-top: initial;
    }
}
.departmentCont .departmentContItem {
    width: 25%;
    display: flex;
    flex-direction: column;
    color: #fff;
    padding: 100px 0;
    transition: filter 0.3s ease;
    filter: none; /* 初期状態でフィルターなし */
}

.departmentContItem:hover {
    filter: none; /* ホバーした要素はそのまま */
}

.departmentCont:hover .departmentContItem:not(:hover) {
    filter: grayscale(100%) brightness(50%); /* ホバーしていない要素にフィルターをかける */
}
@media screen and (max-width: 1240px) {
    .departmentCont .departmentContItem {
        padding: 60px 0;
    }
}
@media screen and (max-width: 768px) {
    .departmentCont .departmentContItem {
        width: 100%;
    }
}
.departmentContItem01 {
    background-image: url(../img/recruit/rcr_department01.jpg);
    background-size: cover;
}
.departmentContItem02 {
    background-image: url(../img/recruit/rcr_department02.jpg);
    background-size: cover;
}
.departmentContItem03 {
    background-image: url(../img/recruit/rcr_department03.jpg);
    background-size: cover;
}
.departmentContItem04 {
    background-image: url(../img/recruit/rcr_department04.jpg);
    background-size: cover;
}
.departmentContItemNum {
    font-size: 48px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
    .departmentContItemNum {
        font-size: 21px;
    }
}
.departmentContItemTextEn {
    font-family: "yu-gothic-pr6n", sans-serif;
    font-size: 25px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 45px;
}
@media screen and (max-width: 1240px) {
    .departmentContItemTextEn {
        font-size: 20px;
    }
}
@media screen and (max-width: 960px) {
    .departmentContItemTextEn {
        font-size: 16px;
    }
}
@media screen and (max-width: 768px) {
    .departmentContItemTextEn {
        font-size: 12px;
        margin-bottom: 20px;
    }
}
.departmentContItemTextJp {
    height: 100px;
    font-size: 33px;
    font-weight: 600;
    text-align: center;
    line-height: 1.7;
}
@media screen and (max-width: 1240px) {
    .departmentContItemTextJp {
        font-size: 28px;
    }
}
@media screen and (max-width: 960px) {
    .departmentContItemTextJp {
        font-size: 22px;
    }
}
@media screen and (max-width: 768px) {
    .departmentContItemTextJp {
        font-size: 16px;
        height: auto;
    }
}
.departmentContItemArrow {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    font-size: 42px;
    margin-top: 60px;
}
@media screen and (max-width: 768px) {
    .departmentContItemArrow {
        width: 55px;
        height: 55px;
        font-size: 26px;
        margin-top: 40px;
    }
}
.departmentContItem01 .departmentContItemArrow {
    background-color: #3c9fcc;
}
.departmentContItem02 .departmentContItemArrow {
    background-color: #ffba00;
}
.departmentContItem03 .departmentContItemArrow {
    background-color: #2c4190;
}
.departmentContItem04 .departmentContItemArrow {
    background-color: #b02692;
}
.departmentBgText {
    font-family: YuGothic,'Yu Gothic',sans-serif;
    font-size: 32px;
    font-weight: 600;
    position: absolute;
    bottom: 0;
    left: 21%;
    line-height: 1.25;
}
@media screen and (max-width: 1919px) {
    .departmentBgText {
        bottom: -60px;
    }
}
@media screen and (max-width: 1240px) {
    .departmentBgText {
        left: 20px;
        bottom: -100px;
    }
}
@media screen and (max-width: 768px) {
    .departmentBgText {
        font-size: 12px;
        bottom: -40px;
    }
}
.d_modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}
.d_modalContent_wrap {
    width: 70%;
    max-width: 960px;
    height: 80%;
    position: relative;
}
@media screen and (max-width: 960px) {
    .d_modalContent_wrap {
        width: 80%;
    }
}
.d_modalContent {
    background: #fff;
    padding: 80px 70px;
    /* width: 60%;
    max-width: 1160px; */
    height: 80%;
    overflow-y: scroll;
}
@media screen and (max-width: 768px) {
    .d_modalContent {
        padding: 40px 20px;
    }
}
.d_modalClose {
    position: absolute;
    top: -50px;
    right: 10px;
    font-size: 24px;
    cursor: pointer;
    color: #fff;
}
@media screen and (max-width: 768px) {
    .d_modalClose {
        right: 0;
    }
}
.d_modal_img {
    margin-bottom: 60px;
}

.description p {
    line-height: 1.75;
}
.description span {
    font-weight: 600;
    color: #333;
}
.intro-paragraph {
    padding-top: 66px;
    padding-bottom: 110px;
    line-height: 30px;
    letter-spacing: 1.7px;
    margin: 0 auto;
}

.descriptionTtl {
    font-size: 24px;
    font-weight: 600;
    color: black;
    margin-top: 0;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.descriptionTtl span.service_square {
    display: inline-block;
    width: 30px; 
    height: 30px; 
    background-color: #b02693; 
    margin-bottom: 5px;
}

.service p{
    margin-top: 0;
    margin-bottom: 60px;
    letter-spacing: 1.5px;
}

.requirementsTtl {
    font-size: 32px;
    font-weight: 600;
    text-align: center; 
    margin-top: 105px;
    margin-bottom: 45px;
}
.requirements span {
    font-weight: 600;
    color: #333;
}

.position {
    display: flex;
    gap: 10px;
    margin-bottom: 40px;
}

.position-btn {
    display: inline-flex;              
    align-items: center;              
    padding: 10px 40px;               
    font-size: 1em;
    color: white;                     
    background-color: #d6006e;        
    border-radius: 50px;             
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s; 
    border: none;
}

.position-btn.active {
    background-color: #b02693;
    color: white;   
}

.position-btn.inactive {
    background-color: #dcdcdc; 
    color: black; 
}
.position-btn_tab {
    display: inline-flex;              
    align-items: center;              
    padding: 10px 40px;               
    font-size: 1em;
    color: white;                     
    background-color: #d6006e;        
    border-radius: 50px;             
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s; 
    border: none;
}

.position-btn_tab.active {
    background-color: #b02693;
    color: white;   
}

.position-btn_tab.inactive {
    background-color: #dcdcdc; 
    color: black; 
}

.detail h3 {
    font-size: 18px;
    color: #333;
    margin-top: 10px;
}

.detail p{
    margin-left: 10px;
    font-size: 16px;
    color: #555;  
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}
.tab-content01 {
    display: none;
}

.tab-content01.active {
    display: block;
}

.item {
    display: flex;
    align-items: flex-start;
    gap: 35px;
    padding: 50px 0; 
    border-bottom: 2px solid #ddd;
}

.item .item_label {
    font-size: 18px;
    font-weight: bold;
    width: 150px;
    color: #333;
    margin: 0;
}

.item p, .item ul {
    /* margin: 5px 0 0 10px; */
    font-size: 16px;
    color: black;
    line-height: 30px;
}

.square {
    margin-right: 2px; 
    vertical-align: baseline;
    color: black;
}

.item ul {
    list-style-type: none;       
    padding-left: 0;             
    margin-bottom: 0;              
}

.item ul li {
    margin: 5px 0;                
}
.item ul li:first-of-type {
    margin: 0 0 5px;                
}

.button-container {
    text-align: center; 
}

.view-more-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 20px 60px;
    font-size: 1.5em; 
    color: #ffffff;
    background: linear-gradient(90deg, #c30566, #e002a3); 
    border-radius: 50px; 
    text-decoration: none;
    position: relative;
    min-width: 250px; 
    transition: background-color 0.3s ease, transform 0.3s ease; 
    margin: 50px 0 100px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); 
}

.view-more-button:before {
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    content: '';
    display: inline-block;
    background-image: url(../img/recruit/arrow_w.svg);
    background-repeat: no-repeat;
    width: 50px;
    height: 15px;
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7491%) hue-rotate(239deg) brightness(100%) contrast(103%);
}
@media (max-width: 1024px) {
    .service h3 {
        font-size: 22px;
    }

    .service p {
        font-size: 15px;
    }

    .button-container {
        text-align: center;
        margin: 50px 0; 
    }

    .view-more-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 20px 0;
        font-size: 1.5em; 
        color: #ffffff;
        background: linear-gradient(90deg, #c30566, #e002a3); 
        border-radius: 50px; 
        text-decoration: none;
        position: relative;
        min-width: auto; 
        transition: background-color 0.3s ease, transform 0.3s ease; 
        margin: 50px 0 100px;
        overflow: hidden;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    }
    .view-more-button:before {
        background-size: 100%;
        width: 30px;
        height: 10px;
    }
    
    .view-more-button:hover {
        background: linear-gradient(90deg, #d6006e, #b02693);
        transform: scale(1.05); 
    }    
}
@media (max-width: 768px) {
    body {
        padding: 0;
    }

    .modal {
        width: 100%;
        max-height: 100vh;
        border-radius: 0;
        box-shadow: none;
        overflow-y: auto;
    }


    .header img {
        margin-top: 20px;
    }

    .intro-paragraph {
        padding-top: 20px;
        padding-bottom: 40px;
        line-height: 1.6;
        font-size: 14px;
    }
    .service h3 {
        font-size: 16px;
        margin-bottom: 15px;
        column-gap: 5px;
    }
    .service h3 span.service_square {
        width: 20px; 
        height: 20px; 
    }
    .service p {
        font-size: 14px;
        margin-bottom: 30px;
        line-height: 1.75;
    }
    .position {
        margin-bottom: 40px;
    }
    .position-btn {
        padding: 10px 20px;
        font-size: 12px;
    }
    .requirements h2 {
        font-size: 24px;
        margin-top: 50px;
        margin-bottom: 30px;
    }
    .requirementsTtl {
        font-size: 20px;
        margin-top: 50px;
        margin-bottom: 20px;
    }
    .item {
        display: flex;
        align-items: flex-start;
        padding: 20px 0; 
        border-bottom: 2px solid #ddd;
        gap: 0
    }
    
    .item .item_label {
        min-width: 80px;
        width: 80px;
        font-size: 12px;
        color: #333;
        margin: 0;
        line-height: 1.75;
    }
    
    .item p, .item ul {
        /* margin: 5px 0 0 10px; */
        font-size: 12px;
        color: black;
        line-height: 1.75;
    }
    .button-container {
        text-align: center; 
        margin: 50px 0;    
    }

    .view-more-button {
        font-size: 14px; 
        color: #ffffff;
        width: 100%;
        padding: 10px 0;
        margin: initial;
    }
    .view-more-button:before {
        right: 15px;
    }   
    .view-more-button:hover {
        background: linear-gradient(90deg, #d6006e, #b02693);
        transform: scale(1.05); 
    }
}





.data {
    background-image: url(../img/recruit/rcr_data_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 110px 20px;
    position: relative;
}
@media screen and (max-width: 768px) {
    .data {
        padding: 60px 0;
    }
}
.dataH2_blc {
    text-align: center;
}
.dataH2_blc h2,
.dataH2_blc .ttl_en {
    color: #fff;
}
.dataCont {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    column-gap: 14px;
    row-gap: 14px;
}
@media screen and (max-width: 768px) {
    .dataCont {
        grid-template-columns: repeat(2,1fr);
        column-gap: 8px;
        row-gap: 8px;
    }
}
.dataContItem {
    color: #fff;
    text-align: center;
    padding: 65px 0;
    background-size: cover;
}
@media screen and (max-width: 768px) {
    .dataContItem {
        padding: 20px 0;
    }
}
.dataContItem:first-of-type {
    background-image: url(../img/recruit/rcr_dataContItem_bg01.png);
}
.dataContItem:nth-of-type(2) {
    background-image: url(../img/recruit/rcr_dataContItem_bg02.png);
}
.dataContItem:nth-of-type(3) {
    background-image: url(../img/recruit/rcr_dataContItem_bg03.png);
}
.dataContItem:nth-of-type(4) {
    background-image: url(../img/recruit/rcr_dataContItem_bg04.png);
}
.dataContItem:nth-of-type(5) {
    background-image: url(../img/recruit/rcr_dataContItem_bg05.png);
}
.dataContItem:nth-of-type(6) {
    background-image: url(../img/recruit/rcr_dataContItem_bg06.png);
}
.dataContItemTextEn {
    font-size: 22px;
    margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
    .dataContItemTextEn {
        font-size: 12px;
        line-height: 1.75;
    }
}
.dataContItemTextJp {
    font-size: 30px;
    font-weight: normal;
    margin: 0;
}
@media screen and (max-width: 768px) {
    .dataContItemTextJp {
        font-size: 14px;
        line-height: 1.75;
    }
}
.dataContItemNum {
    font-size: 46px;
    font-weight: 600;
    line-height: 1.2;
}
@media screen and (max-width: 768px) {
    .dataContItemNum {
        font-size: 20px;
    }
}
.dataContItemNum span {
    font-family: din-2014, sans-serif;
    font-size: 130px;
    font-weight: 600;
}
@media screen and (max-width: 768px) {
    .dataContItemNum span {
        font-size: 56px;
    }
}
.instagram {
    background-image: url(../img/recruit/rcr_instagram_bg.png);
    background-position: right;
    background-repeat: no-repeat;
    background-size: auto 100%;
    padding-top: 120px;
    padding-bottom: 170px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .instagram {
        background-image: url(../img/recruit/rcr_instagram_bg_sp.png);
        padding-top: 60px;
        padding-bottom: 60px;
    }
}
.instagramH2_blc {
    text-align: center;
}
#sb_instagram {
    padding: 0 20px!important;
}
.btn_instagram {
    display: flex;
    justify-content: space-between;
    padding: 80px 0 0 0;
    column-gap: 80px;
    font-family: YuGothic,'Yu Gothic',sans-serif;
    width: 100%;
}
@media screen and (max-width: 1240px) {
    .btn_instagram {
        padding: 0 20px;
        column-gap: 20px;
    }
}
@media screen and (max-width: 768px) {
    .btn_instagram {
        flex-direction: column;
        row-gap: 60px;
        margin-top: 40px;
        width: auto;
    }
}
.btn_instagram span {
    width: 50%;
    font-size: 16px;
    line-height: 1.75;
}
@media screen and (max-width: 1240px) {
    .btn_instagram span {
        width: 55%;
        font-size: 14px;
    }
}
@media screen and (max-width: 768px) {
    .btn_instagram span {
        width: 100%;
    }
}
.slideFadeBtn {
    position: relative;
    overflow: hidden;
    z-index: 0;
    transition: color 0.5s ease;
}

.slideFadeBtn .colorOverlay {
    position: absolute;
    top: 0;
    left: -10%; /* 初期位置: 左外 */
    width: 300%; /* 背景がボタン全体を覆うサイズ */
    height: 100%;
    background-color: #000; /* 背景色 */
    transform: translateX(-100%);
    transition: transform 1.3s cubic-bezier(0.77, 0, 0.175, 1); /* スライドインアニメーション */
    z-index: 1;
    will-change: transform;
}

.slideFadeBtn:hover .colorOverlay {
    transform: translateX(40%); /* ホバー時に右へスライド */
}

.btn_instagram .btnText {
    position: relative;
    z-index: 2; /* テキストを前面に表示 */
    transition: color 0.5s ease;
    font-size: 22px;
}
@media screen and (max-width: 768px) {
    .btn_instagram .btnText {
		font-size: 16px;
		text-align: center;
	}
}

.btn_instagram a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    height: 110px;
    border-radius: 60px;
    color: #fff;
    background-image: linear-gradient(144deg, rgba(192, 5, 97, 1), rgba(226, 0, 170, 1));
}
@media screen and (max-width: 1240px) {
    .btn_instagram a {
        width: 45%;
        height: 80px;
        font-size: 22px;
    }
}
@media screen and (max-width: 960px) {
    .btn_instagram a {
        font-size: 18px;
    }
}
@media screen and (max-width: 768px) {
    .btn_instagram a {
        width: 100%;
        height: 50px;
    }
}
.btn_instagram a:before {
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    content: '';
    display: inline-block;
    background-image: url(../img/recruit/arrow_w.svg);
    background-repeat: no-repeat;
    width: 50px;
    height: 15px;
    z-index: 2;
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7491%) hue-rotate(239deg) brightness(100%) contrast(103%);
}
@media screen and (max-width: 1240px) {
    .btn_instagram a:before {
        background-size: 100%;
        width: 30px;
        height: 10px;
    }
}
@media screen and (max-width: 768px) {
    .btn_instagram a:before {
        right: 15px;
    }
}

footer {
    background: #000;
    color: #fff;
    padding: 170px 0 40px;
    margin-top: -1px;
}
@media screen and (max-width: 1240px) {
    footer {
        padding: 170px 20px 40px;
    }
}
@media screen and (max-width: 768px) {
    footer {
        padding: 70px 0 20px;
    }
}
.ft_flex {
    display: flex;
    margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
    .ft_flex {
        flex-direction: column;
        margin-bottom: 60px;
    }
}
.ft_flex .left {
    width: 35%;
}
@media screen and (max-width: 768px) {
    .ft_flex .left {
        width: 100%;
    }
}
.ft_flex .right {
    width: 65%;
}
@media screen and (max-width: 768px) {
    .ft_flex .right {
        width: 100%;
    }
}
.ft_logo {
    font-size: 62px;
    font-weight: 600;
    color: #fff;
    margin-top: -10px;
    margin-bottom: 60px;
    display: inline-block;
    letter-spacing: 10px;
}
@media screen and (max-width: 1240px) {
    .ft_logo {
        font-size: 40px;
        letter-spacing: 5px;
    }
}
@media screen and (max-width: 768px) {
    .ft_logo {
        font-size: 26px;
        margin-bottom: 20px;
    }
}
.ft_sns {
    display: flex;
    column-gap: 20px;
}
@media screen and (max-width: 768px) {
    .ft_sns {
        margin-bottom: 60px;
    }
}
.ft_navTop {
    display: flex;
    flex-wrap: wrap;
    column-gap: 40px;
    row-gap: 35px;
    margin-bottom: 35px;
}
@media screen and (max-width: 768px) {
    .ft_navTop {
        column-gap: 20px;
        row-gap: 20px;
        margin-bottom: 35px;
    }
}
.ft_navTop a {
    font-family: YuGothic,'Yu Gothic',sans-serif;
    display: block;
    color: #fff;
    font-size: 23px;
    font-weight: 600;
    letter-spacing: 10px;
}
@media screen and (max-width: 1240px) {
    .ft_navTop a {
        font-size: 18px;
    }
}
@media screen and (max-width: 768px) {
    .ft_navTop a {
        font-size: 13px;
        letter-spacing: 2px;
    }
}
.ft_navTop a:hover {
    opacity: 1;
    color: #C4076A;
}
.ft_navBottom {
    display: flex;
    flex-wrap: wrap;
    column-gap: 40px;
    row-gap: 35px;
}
.ft_navBottom a {
    font-family: YuGothic,'Yu Gothic',sans-serif;
    display: block;
    color: #d2d2d2;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 10px;
}
@media screen and (max-width: 1240px) {
    .ft_navBottom a {
        font-size: 16px;
    }
}
@media screen and (max-width: 768px) {
    .ft_navBottom a {
        font-size: 13px;
        letter-spacing: 2px;
    }
}
.ft_navBottom a:hover {
    opacity: 1;
    color: #C4076A;
}
.copy {
    font-size: 16px;
    color: #eee;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .copy {
        font-size: 12px;
    }
}

.sideScroll {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    left: 35px;
    color: #fff;
    text-align: center;
}
.sideScrollNum {
    display: inline-block;
    font-family: YuGothic,'Yu Gothic',sans-serif;
    font-size: 14px;
    margin-bottom: 10px;
}
.sideScrollBar {
    display: block;
    background-color: #fff;
    width: 2px;
    height: 75px;
    margin: 0 auto 10px;
}
.sideScrollDots {
    margin-bottom: 100px;;
}
.sideScrollDot {
    font-size: 40px;
    line-height: 1;
}
.sideScrollDot.active {
    color: #c00561; /* 現在のセクションに対応するドットを赤色に変更 */
}
.sideScrollBarText {
    font-family: YuGothic,'Yu Gothic',sans-serif;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: 0 auto;
}

/* message */
/* :Sidebar and background text section --> */
.outer-container {
    position: relative;
    background-color: #000;
    overflow: hidden;
}

.sidebar {
    font-size: 31px;
    writing-mode: vertical-rl;
    padding: 20px;
    color: #fff;
    flex: 0 0 80px;
    margin-left: 87px;
    margin-top: 324px;
}


/* :innersection --> */
.content {
    padding: 160px 0 0;
    background-image: url(../img/recruit/rcr_message_fv_bg.png);
    background-position: top right;
    background-repeat: no-repeat;
}

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

.fvMessage {
    display: flex;               
    align-items: center;        
    justify-content: center; 
    width: 100%;
    gap: 20px;       
    text-align: left;
}

.title {
    font-size: 100px;
    font-weight: bold;
    color: #ffffff;
    position: relative;           
    display: inline-block;
    line-height: 1;
    margin-bottom: 44px;
}

.title::before {
    content: "";
    position: absolute;
    top: -45px;                 
    left: 0;
    width: 118px;                
    height: 6px;
    bottom: -45px;            
    background-image: linear-gradient(90deg, rgba(54, 43, 104, 1) 10%, rgba(226, 0, 170, 1) 90%); 
}

.title-highlight {
    color: #ab3892;
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0;
    line-height: 1; 
}

.sub-title {
    position: relative;
    font-size: clamp(20px, 2.5vw, 31px);
    text-align: left;
    margin-bottom: 46px;
    white-space: nowrap;
}

.sub-title .first-line,
.sub-title .second-line {
    display: inline-flex; 
    justify-content: center;
    align-items: center;
    color: #fff; 
    font-weight: bold;
    background-image: linear-gradient(90deg, rgba(54, 43, 104, 1) 10%, rgba(226, 0, 170, 1) 90%);
}

.sub-title .first-line {
    /* width: clamp(300px, 35vw, 465px); 
    height: clamp(30px, 4vw, 50px);   */
    padding: 10px 18px 10px 0;
    margin-bottom: 20px;
}

.sub-title .second-line {
    /* width: clamp(350px, 40vw, 530px);
    height: clamp(30px, 4vw, 50px); */
    padding: 10px 18px;
}

.header p {
    color: #fff;
}

.line-container {
    color: #fff;
    padding-left: 30px;
    border-left: 1px solid #fff;

}

.line-container::before {
    content: "";
    left: 0;
    top: 0;
    width: 1px;              
    height: 100%;            
    background-color: #fff; 
}

.line-container h2 {
    font-family: 'Arial',sans-serif;
    font-size: 63px;
    margin-bottom: 30px;

}

.line-container p {
    font-size: 20px;
}

.image-container {
    margin: 0;
}

.image-container img {
        width: 100%;              
        object-fit: cover;  
}

.questions {
    margin-top: 20px;
    margin-bottom: 60px;
}

.question {
    margin-bottom: 20px;
}

.question-title {
    font-size: 18px;
    font-weight: bold;
    color: #ffffff;        
    display: flex;           
    align-items: center;
    margin-top: 115px;   
}

.question-title::before {
    content: "";
    display: inline-block;
    width: 55px;             
    height: 9px;            
    background: linear-gradient(90deg, #6a00f4, #ff0080); 
    margin-right: 10px;      
}

.question-text {
    font-size: 24px;
    font-weight: bold;
    color: #ffffff;           
    margin: 22px 0 30px 0;    
    position: relative;
}

.question-text::after {
    content: "";
    display: block;
    width: 110px;             
    height: 3px;              
    background-color: #d32f7d; 
    margin-top: 20px;         
}

.answer {
    font-size: 16px;
    color: #fff;
    margin-bottom: 30px;
    line-height: 2;
}

.button-container {
    text-align: center; 
}

@media (max-width: 1160px) {
    .title {
        font-size: clamp(60px, 8vw, 100px); 
    }

    .sub-title {
        font-size: clamp(16px, 2vw, 26px); 
    }

    /* .sub-title .first-line {
        width: clamp(250px, 30vw, 400px);
        height: clamp(25px, 3vw, 40px);
    } */

    /* .sub-title .second-line {
        width: clamp(300px, 35vw, 450px); 
        height: clamp(25px, 3vw, 40px);
    } */

    .line-container h2 {
        font-size: clamp(40px, 5vw, 63px); 
    }

    .line-container p {
        font-size: clamp(14px, 2vw, 20px); 
    }
}


@media (max-width: 768px) {
    /* 全体のコンテナを縦並びにする */
    .outer-container {
        position: relative;
        flex-direction: column;
        align-items: center;
    }
    .content {
        padding: initial;
        background-image: none;
    }
    .fvMessage_wrap {
        background-image: url(../img/recruit/rcr_message_bg_sp.jpg);
        background-size: cover;
        padding: 80px 0 40px;
    }
    .fvMessage {
        flex-direction: column;
        align-items: baseline;
        row-gap: 40px;
    }
    .title::before {
        top: -15px;                 
        width: 50px;
        height: 4px;                
    }
    .sub-title {
        font-size: clamp(14px, 4vw, 20px); 
        text-align: left;
        width: 100%;
        margin-bottom: 6px;
    }

    .sub-title .first-line,
    .sub-title .second-line {
        display: inline-flex; 
        justify-content: center;
        align-items: center;
        color: #fff;
        font-weight: bold;
        margin-bottom: 8px;
    }
    .line-container {
        text-align: left;
        padding-left: 10px;

    }

    .line-container h2 {
        font-size: clamp(24px, 5vw, 32px);
        margin-bottom: 0;
    }

    .line-container h2 br {
        display: none;
    }
    .line-container p {
        font-size: clamp(12px, 3vw, 16px);
    }

    /* 画像のサイズ調整 */
    .image-container {
        order: 0;
    }

    .image-container img {
        width: 100%; 
        object-fit: cover;
    }

    /* VIEW MOREボタンのサイズ調整 */
    .button-container {
        order: 1;
        width: 100%;
        text-align: center;
        margin-top: 20px;
    }

    /* 質問セクションのテキストサイズ調整 */
    .question-title {
        font-size: 11px;
        margin-top: 20px;
    }
    .question-title::before {
        width: 25px; 
        height: 5px;
        background: linear-gradient(90deg, #6a00f4, #ff0080); /* 必要に応じて背景色を調整 */
        margin-right: 8px; 
    }

    .question-text {
        font-size: 13.5px;
        margin-bottom: 10px;
        text-align: left;
    }

    .question-text::after {
        content: "";
        display: block;
        width: 300px;
        height: 1px;
        background-color: #d32f7d;
        margin-top: 20px;
    }

    .answer {
        font-size: clamp(12px, 2.5vw, 16px); 
        line-height: 1.5;
        margin-bottom: 16px;
    }

    /* 各質問のコンテナの幅調整 */
    .questions {
        order: 2;
        width: 100%;
        margin: 0 auto;
    }

    .question {
        margin-bottom: 40px; 
    }
}

/* エントリーフォーム用 */
.wrap_underlayer_entry .block_underlayer_entry {
    width: 100%;
    max-width: 900px;
    margin: auto;
}

@media only screen and (max-width: 1024px) {
    .wrap_underlayer_entry .block_underlayer_entry {
        width: 90%;
    }
}

.wrap_underlayer_entry {
    background: #fff;
    padding: 135px 0 140px;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry {
        padding: 12% 0 8%;
    }
}

.wrap_underlayer_entry .block_underlayer_entry .box_intr {
    text-align: center;
}

.wrap_underlayer_entry .block_underlayer_entry .box_intr h2 {
    font-size: 3.4rem;
    line-height: 1.2;
}

.wrap_underlayer_entry .block_underlayer_entry form {
    margin-top: 70px;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form {
        margin-top: 4%;
    }
}

.wrap_underlayer_entry .block_underlayer_entry form table {
    width: 100%;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr th {
    vertical-align: top;
    font-size: 2rem;
    font-weight: normal;
    width: 290px;
    padding: 30px .5em 0 0;
    line-height: 1.3;
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form table tr th {
        font-size: 1.4rem;
        width: 100%;
        display: block;
        padding: 9% .5em 0 0;
    }
}

.wrap_underlayer_entry .block_underlayer_entry form table tr th span {
    display: inline-block;
    vertical-align: top;
    text-align: center;
    margin-right: 15px;
    font-size: 12px;
    line-height: 18px;
    border-radius: 5px;
    color: #fff;
    background: #111;
    padding: .3em 0;
    width: 58px;
    white-space: nowrap;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form table tr th span {
        font-size: 1rem;
    }
}

.wrap_underlayer_entry .block_underlayer_entry form table tr th span.nini {
    background: #91a2a8;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr th em {
    display: inline-block;
    width: 207px;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form table tr th em {
        width: 70%;
    }
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td {
    position: relative;
    padding-top: 30px;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form table tr td {
        padding-top: 5%;
        width: 100%;
        display: block;
    }
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td input {
    background: #f6f6f6;
    border: none;
    outline: none;
    padding: 1.66em 1em;
    box-sizing: border-box;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td textarea {
    background: #f6f6f6;
    border: none;
    outline: none;
    padding: 1.66em 1em;
    box-sizing: border-box;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .input_01 {
    max-width: 590px;
    width: 100%;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .input_02 {
    max-width: 140px;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form table tr td .input_02 {
        max-width: 25%;
    }
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .error {
    position: absolute;
    bottom: -2em;
    left: 0;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .input_03 {
    max-width: 220px;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form table tr td .input_03 {
        max-width: 100%;
    }
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .box_file {
    box-sizing: border-box;
    padding: 1.5em 1em;
    background: #f6f6f6;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form table tr td .box_file {
        font-size: 1rem;
    }
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .box_file input {
    width: 100%;
    padding: 0;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .box_file input[type=file] {
    display: none;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .box_file label {
    display: flex;
    align-items: center;
    margin: .5em 0;
    position: relative;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .box_file label .file-btn {
    display: inline-block;
    padding: .1em .3em;
    border: 1px solid #000;
    border-radius: 5px;
    cursor: pointer;
    margin-right: .5em;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .box_file label .remove-btn {
    font-size: 22px;
    position: absolute;
    right: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .box_file label .img_txt {
    display: inline-block;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .captioin {
    margin-top: 1em;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .captioin li {
    font-size: 1rem;
    color: #7d7d7d;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .box_position {
    position: relative;
    max-width: 380px;
}

.wrap_underlayer_entry .block_underlayer_entry form table tr td .box_position select {
    display: block;
    width: 100%;
    color: #000;
    background: #f6f6f6;
    border: none;
    appearance: none;
    outline: none;
    padding: 1.66em 2em 1.66em 1em;
}
@media screen and (max-width: 768px) {
    .mwform-tel-field {
        font-size: 14px;
    }
    .mwform-radio-field {
        font-size: 14px;
    }
}
.wrap_underlayer_entry .block_underlayer_entry form table tr td .box_position:before {
    content: "▼";
    position: absolute;
    top: 50%;
    right: .5em;
    color: #7d7d7d;
    font-size: 2rem;
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form table tr td .box_position:before {
        font-size: 14px;
    }
}
.wrap_underlayer_entry .block_underlayer_entry form .box_doi {
    margin-top: 40px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form .box_doi {
        margin-top: 6%;
    }
}

.wrap_underlayer_entry .block_underlayer_entry form .box_doi .txt_doi {
    font-size: 2rem;
}
@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form .box_doi .txt_doi {
        font-size: 14px;
    }
}
.wrap_underlayer_entry .block_underlayer_entry form .box_doi .link_doi a {
    color: #111;
    text-decoration: underline;
}
@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form .box_doi .link_doi a {
        font-size: 14px;
    }
}
.wrap_underlayer_entry .block_underlayer_entry form .btn_blue {
    margin: 60px auto 0;
    max-width: 610px;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry .block_underlayer_entry form .btn_blue {
        margin: 8% auto 0;
    }
}

.wrap_underlayer_entry .block_underlayer_entry form .btn_blue button {
    width: 100%;
    font-size: 2.3rem;
}

.wrap_underlayer_entry input[type=radio] {
    appearance: none;
    display: none;
}

.wrap_underlayer_entry input[type=radio]+span {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

.wrap_underlayer_entry input[type=radio]+span:before {
    content: "";
    display: inline-block;
    border: 1px solid #111;
    border-radius: 100px;
    width: 22px;
    height: 22px;
    vertical-align: middle;
    margin-right: .5em;
}

.wrap_underlayer_entry input[type=radio]:checked+span:after {
    content: "";
    position: absolute;
    top: 54%;
    left: 4.5px;
    background: #111;
    border-radius: 100px;
    width: 15px;
    height: 15px;
    transform: translateY(-50%);
    vertical-align: middle;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry input[type=radio]:checked+span:after {
        top: 55%;
    }
}

.wrap_underlayer_entry.kakunin table tr {
    border-bottom: 1px solid #0489f9;
}

.wrap_underlayer_entry.kakunin table tr th,
.wrap_underlayer_entry.kakunin table tr td {
    padding-bottom: 1em !important;
}

.wrap_underlayer_entry.kakunin table tr .box_position:before {
    display: none !important;
}

.wrap_underlayer_entry.kakunin table tr .box_file span {
    display: none !important;
}

.wrap_underlayer_entry.kakunin table tr .box_file .img_txt {
    display: none !important;
}

.wrap_underlayer_entry.kanryo .box_intr .txt {
    font-size: 20px;
    margin-top: 65px;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry.kanryo .box_intr .txt {
        font-size: 14px;
        margin-top: 6%;
    }
}

.wrap_underlayer_entry.kanryo .btn_blue {
    max-width: 600px;
    margin: 80px auto 137px;
}

@media screen and (max-width: 768px) {
    .wrap_underlayer_entry.kanryo .btn_blue {
        margin: 8% auto;
    }
}

.wrap_fv_underlayer {
    position: relative;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .wrap_fv_underlayer {
        height: 0;
        padding-top: 100svh;
    }
}

.wrap_fv_underlayer img {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .wrap_fv_underlayer img {
        position: absolute;
        top: 50%;
        left: 50%;
        object-fit: cover;
        width: 100%;
        height: 100%;
        -moz-transform: translateY(-50%) translateX(-50%);
        -ms-transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        transform: translateY(-50%) translateX(-50%);
    }
}

.wrap_fv_underlayer:after {
    content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.6); /* 黒い膜（50%の透明度） */
      pointer-events: none; /* 背景膜がクリックなどのイベントを邪魔しないように設定 */
}

.wrap_fv_underlayer h1 {
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    color: #fff;
    line-height: 1.2;
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}

.wrap_fv_underlayer h1 span {
    display: block;
    font-family: europa, sans-serif;
    font-weight: 700;
    font-style: bold;
    font-size: 10rem;
}

@media screen and (min-width: 1025px) {
    .wrap_fv_underlayer h1 span {
        white-space: nowrap;
    }
}

@media screen and (max-width: 768px) {
    .wrap_fv_underlayer h1 span {
        font-size: 6.3rem;
    }
}

.wrap_fv_underlayer h1 em {
    font-size: 2rem;
	font-weight:normal;
}

@media screen and (max-width: 768px) {
    .wrap_fv_underlayer h1 em {
        font-size: 1.7rem;
    }
}

.mwform-file-delete {
    width: 20px;
    height: 20px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: 5px !important;
}