@charset "utf-8";
/* CSS Document */


/* image_blur is_show
   ================================================================== */
.image_blur{
	opacity: 0;
	transition: transform 0.5s linear;
	animation-duration: 1.5s;
	animation-fill-mode: both;
}

.image_blur.on{
	animation-name: imageBlur;
	opacity: 1;
	transition: .8s;
}

@keyframes imageBlur{
	from {
		opacity: 0;
		filter: blur(15px);
	}

	to {
		opacity: 1;
		filter: blur(0px);
	}
}


/* anim_border
   ================================================================== */
.anim_border{
    position: absolute;
    background: linear-gradient(to left ,#FFEE00 0%,#FFE100 5%,#FFCF00 15%,#FFC300 20%,#FFC000 25%,#EF7F1D 50%,#E34C1F 90%,#DB1C1F 100%);
    overflow: hidden;
}

.anim_border span{
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, transparent, #DD281F, #fff, #ff9f0f, #fff, #cacaca, #DD281F, #fff, #DD281F, transparent);
    position: absolute;
    top: 0;
    animation: line_anime 3.1s linear infinite;
}

.anim_border::before{
    content: "";
    background: linear-gradient(to right, transparent, #FFEE00, #fff, #E34C1F, transparent);
    height: 1px;
    position: absolute;
    top: 0;
    width: 40%;
    animation: line_anime 3.1s 1s linear infinite;
}

@keyframes line_anime {
    0% {
        left: -100%;
    }
    100% {
        left: 200%;
    }
}


/* ページ最上部コンテンツ
   ================================================================== */
.under_page_title,
.kv{
    margin-top: -75px !important;
    padding-top: 75px !important;
    overflow: hidden;
}


/* kv
   ================================================================== */
.kv{
	padding: 0;
	position: relative;
    overflow: hidden;
}

.kv .inner{
    padding-top: 20vw;
    padding-bottom: 15vw;
	display: flex;
    align-items: center;
    position: relative;
}

.kv .anim_border.top{
    width: 100vw;
    height: 1px;
    top: 18vw;
    right: 20vw;
    transform: rotate(40deg) translateX(-1000px);
    transform-origin: right bottom;
    transition: 1s 1s;
}

.kv.on .anim_border.top{
    transform: rotate(40deg) translateX(0);
}

.kv .anim_border.bottom{
    width: 100vw;
    height: 1px;
    bottom: 0;
    right: 20vw;
}

.kv .anim_border.bottom{
    transform: scaleX(0);
    transition: 1s 2s;
    transform-origin: left center;
}

.kv.on .anim_border.bottom{
    transform: scaleX(1);
}

/* line123 */
.kv .title > span{
    display: block;
    position: relative;
    line-height: 0;
}

.kv .title > .line1::after,
.kv .title > .line1::before{
    content: "";
    background: linear-gradient(to left ,#FFEE00 0%,#FFE100 5%,#FFCF00 15%,#FFC300 20%,#FFC000 25%,#EF7F1D 50%,#E34C1F 90%,#DB1C1F 100%);
    width: 0;
    height: 1px;
    position: absolute;
    top: 40%;
    right: 150%;
    transition: 1.5s cubic-bezier(0, 0.95, 1, 1);
}

.kv .title.border_on > .line1::before{
    width: 80%;
    right: calc(0% - 10vw);
}

.kv .title.border_off > .line1::before{
    width: 0%;
    transform-origin: center right;
    transition: .5s cubic-bezier(0, 0.95, 1, 1);
}

.kv .title > .line1::after{
    top: 80%;
    right: auto;
    left: 150%;
}

.kv .title.border_on > .line1::after{
    width: 80%;
    left: calc(0% - 10vw);
}

.kv .title.border_off > .line1::after{
    width: 0%;
    transform-origin: center left;
    transition: .5s cubic-bezier(0, 0.95, 1, 1);
}

/* lineの中の文字 */
.kv .title .text_cover{
    display: block;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.kv .title .text_cover > span{
    display: inline-block;
    line-height: 150%;
    font-weight: 900;
    letter-spacing: 0.02em;
    transform: translateY(100%);
    transition: .5s cubic-bezier(0, 0.95, 1, 1);
    -webkit-background-clip: text;
    background-clip: text;
    background-image: linear-gradient(80deg, #1C1C1C 33.33%, #DD281F, #FFF5EA, #FFB203, #F27000, #DD281F, rgba(238, 238, 238, 0) 60%);
    background-position: right center;
    background-size: 300%;
    color: transparent !important;
}

.kv .title .text_on .text_cover > span{
    animation: anim_title .8s ease-in-out forwards;
}

.kv .title .line2 span,
.kv .title .line3 span{
    display: block;
    line-height: 150%;
    font-weight: 900;
    letter-spacing: 0.02em;
    transition: .5s cubic-bezier(0, 0.95, 1, 1);
    -webkit-background-clip: text;
    background-clip: text;
    background-position: right center;
    background-size: 300%;
    color: transparent !important;
}

.kv .title .line2 span{
    background-image: linear-gradient(80deg, #ddd 33.33%, #DD281F, #FFF5EA, #FFB203, #F27000, #DD281F, rgba(238, 238, 238, 0) 60%);
}

.kv .title .line3 span{
    background-image: linear-gradient(80deg, #DF351F 33.33%, #DD281F, #FFF5EA, #FFB203, #F27000, #DD281F, rgba(238, 238, 238, 0) 60%);
}

.kv .title .line2.text_on span,
.kv .title .line3.text_on span{
    animation: anim_pika 1.5s ease-in-out forwards;
}

@keyframes anim_title {
    0% {
        background-position: 100% 0;
        transform: translateY(50px);
    }
    100% {
        background-position: 0 0;
        transform: translateY(0);
    }
}

@keyframes anim_pika {
    0% {
        background-position: 100% 0;
    }
    100% {
        background-position: 0 0;
    }
}

.kv .title .text_on .text_cover > span{
    
}

/* line1 */
.kv .title .line1{
    margin: 0 0 0;
    padding: 0 0 0 3vw;
}

.kv .title .line1 .text_cover > span{
    font-size: 12vw;
    line-height: 120%;
}

/* line2 */
.kv .title .line2{
    margin: 5vw 0 0;
}

.kv .title .line2 span{
    font-size: 4.5vw;
    font-weight: 500;
}

/* line3 */
.kv .title .line3{
    margin: 2vw 0 0;
}

.kv .title .line3 span{
    font-size: 4vw;
    font-weight: 700;
}

/* lineの中の文字 delay */
.kv .title .text_on .text_cover > span:nth-child(2){
    animation-delay: .05s;
}

.kv .title .text_on .text_cover > span:nth-child(3){
    animation-delay: .10s;
}

.kv .title .text_on .text_cover > span:nth-child(4){
    animation-delay: .15s;
}

.kv .title .text_on .text_cover > span:nth-child(5){
    animation-delay: .20s;
}

.kv .title .text_on .text_cover > span:nth-child(6){
    animation-delay: .25s;
}

.kv .title .text_on .text_cover > span:nth-child(7){
    animation-delay: .30s;
}

.kv .title .text_on .text_cover > span:nth-child(8){
    animation-delay: .35s;
}

.kv .title .text_on .text_cover > span:nth-child(9){
    animation-delay: .40s;
}

.kv .title .text_on .text_cover > span:nth-child(10){
    animation-delay: .45s;
}

.kv .title .text_on .text_cover > span:nth-child(11){
    animation-delay: .50s;
}

.kv .title .text_on .text_cover > span:nth-child(12){
    animation-delay: .55s;
}

.kv .title .text_on .text_cover > span:nth-child(13){
    animation-delay: .50s;
}

.kv .title .text_on .text_cover > span:nth-child(14){
    animation-delay: .65s;
}

.kv .title .text_on .text_cover > span:nth-child(15){
    animation-delay: .70s;
}

.kv .title .text_on .text_cover > span:nth-child(16){
    animation-delay: .75s;
}

.kv .title .text_on .text_cover > span:nth-child(17){
    animation-delay: .80s;
}

.kv .title .text_on .text_cover > span:nth-child(18){
    animation-delay: .85s;
}

.kv .title .text_on .text_cover > span:nth-child(19){
    animation-delay: .90s;
}

.kv .title .text_on .text_cover > span:nth-child(20){
    animation-delay: .95s;
}


/* under_page_title
   ================================================================== */
.under_page_title{
	position: relative;
}

.under_page_title .inner{
    padding-top: 7vw;
    padding-bottom: 10vw;
    position: relative;
}

.under_page_title .anim_border.top{
    width: 40vw;
    height: 1px;
    top: 0;
    right: 35vw;
    transform: rotate(40deg) translateX(-1000px);
    transform-origin: right bottom;
    transition: 1s 1s;
}

.under_page_title.on .anim_border.top{
    transform: rotate(40deg) translateX(0);
}


/* block_title
   ================================================================== */
.block_title{
	position: relative;
}

.block_title > span{
    display: block;
    position: relative;
    line-height: 0;
}

.block_title.border_on > .line1::before{
    content: "";
    background: linear-gradient(to left ,#FFEE00 0%,#FFE100 5%,#FFCF00 15%,#FFC300 20%,#FFC000 25%,#EF7F1D 50%,#E34C1F 90%,#DB1C1F 100%);
    width: 0;
    height: 1px;
    position: absolute;
    top: 50%;
    right: 150%;
    animation: block_title_animation 1.2s linear;
    animation-fill-mode: both;
}


@keyframes block_title_animation{
    0% {
        width: 0%;
        right: 150%;
    }
    30% {
        width: 80%;
        right: 50%;
    }
    60% {
        width: 80%;
        right: 0;
    }
    100% {
        width: 0%;
        right: calc(0% - 10vw);
    }
}

/* lineの中の文字 */
.block_title .line1 span{
    display: inline-block;
    font-size: 12vw;
    line-height: 100%;
    font-weight: 700;
    letter-spacing: 0.02em;
    -webkit-background-clip: text;
    background-clip: text;
    background-position: right center;
    background-size: 300%;
    color: transparent !important;
    background-image: linear-gradient(80deg, #DD281F 33.33%, #FFEE00, #FFF5EA, #FFB203, #DB1C1F, #FFCF00, rgba(238, 238, 238, 0) 60%);
}

.block_title.black .line1 span{
    background-image: linear-gradient(80deg, #1D1C1A 33.33%, #FFEE00, #FFF5EA, #FFB203, #DB1C1F, #FFCF00, rgba(238, 238, 238, 0) 60%);
}

.block_title.text_on .line1 span{
    animation: anim_pika 1.5s .5s ease-in-out forwards;
}

.block_title.center .line1{
    text-align: center;
}

.block_title.f30 .line1 span{
    font-size: 6vw;
}


/* title_box
   ================================================================== */
.title_box{
	position: relative;
}

.title_box .ttl{
    position: relative;
}

.title_box .ttl.left_border{
    padding-left: 4vw;
}

.title_box .ttl.left_border::before{
    content: "";
    background: #111;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

.title_box .ttl > span{
    display: block;
    position: relative;
    line-height: 150%;
    font-weight: 700;
}

.title_box .ttl > span span{
    color: inherit;
    line-height: inherit;
    font-weight: inherit;
    display: inline-block;
    letter-spacing: 0.05em;
}

.title_box .ttl .ttl_top{
    font-size: 3.8vw;
}

.title_box .ttl .ttl_bottom{
    margin-top: 1vw;
    font-size: 7.7vw;
    font-weight: 900;
}

.title_box .ttl .mal_10{
    margin-left: 2vw;
}

.title_box .ttl .mat_0{
    margin-top: 0 !important;
}

.title_box .ttl .mat_10{
    margin-top: 2vw;
}

.title_box .ttl .letter20{
    letter-spacing: 0.02em;
}

.title_box .ttl .letter100{
    letter-spacing: 0.1em;
}

.title_box .ttl .f16{
    font-size: 3.4vw;
}

.title_box .ttl .f17{
    font-size: 3.6vw;
}

.title_box .ttl .f20{
    font-size: 4.0vw;
}

.title_box .ttl .f22{
    font-size: 4.2vw;
}

.title_box .ttl .f23{
    font-size: 4.3vw;
}

.title_box .ttl .f24{
    font-size: 4.4vw;
}

.title_box .ttl .f25{
    font-size: 4.5vw;
}

.title_box .ttl .f27{
    font-size: 4.7vw;
}

.title_box .ttl .f29{
    font-size: 4.9vw;
}

.title_box .ttl .f30{
    font-size: 5.0vw;
}

.title_box .ttl .f34{
    font-size: 5.4vw;
}

.title_box .ttl .f35{
    font-size: 5.5vw;
}

.title_box .ttl .f40{
    font-size: 6vw;
}

.title_box .ttl .f45{
    font-size: 6.5vw;
}

.title_box .ttl .f48{
    font-size: 6.9vw;
}

.title_box .ttl .f49{
    font-size: 7vw;
}

.title_box .ttl .f50{
    font-size: 7.1vw;
}

.title_box .ttl .f60{
    font-size: 12vw;
}

.title_box .ttl .f70{
    padding: 0 1vw;
    font-size: 13vw;
    line-height: 0;
}

.title_box .ttl .black{
    color: #111;
}

.title_box .ttl .red{
    color: #DC1C1F;
}

.title_box .ttl .weight_500{
    font-weight: 500;
}

.title_box .ttl .weight_700{
    font-weight: 700;
}

.title_box .ttl .weight_900{
    font-weight: 900;
}

.title_box p{
    margin: 3vw 0 0;
}

.title_box p.mat_20{
    margin: 6vw 0 0;
}


/* logo_title
   ================================================================== */
.logo_title > span{
	display: block;
}

.logo_title .logo{
	width: 36vw;
    line-height: 0;
}

.logo_title .logo img{
	width: 100%;
}

.logo_title .ttl_txt{
    margin: 2vw 0 0;
    font-size: 7vw;
    font-weight: 800;
    line-height: 150%;
    display: inline-block;
}

.logo_title .siz_s{
    margin: 1vw 0 0;
    font-size: 3.6vw;
    font-weight: 500;
    line-height: 1;
    display: block;
    text-align: center;
}


/* logo_title02
   ================================================================== */
.logo_title02 > span{
	display: block;
}

.logo_title02 .logo{
	width: 80%;
    line-height: 0;
}

.logo_title02 .logo img{
	width: 100%;
}

.logo_title02 .ttl_txt{
    margin: 2vw 0 0;
    font-size: 4vw;
    letter-spacing: 0.02em;
    font-weight: 900;
    line-height: 150%;
    display: inline-block;
}


/* contact
   ================================================================== */
.contact{
	padding: 0 0 25vw;
}

/* form */
.contact form{
	margin-top: -90px;
    padding-top: 90px;
}

.top_note{
	margin: 0 0 6vw;
    font-size: 3.5vw;
    font-weight: 500;
    text-align: center;
}

.top_text{
	margin: 0;
    font-size: 3.5vw;
    font-weight: 500;
}

.top_text.center{
	text-align: center;
}

.top_text + .top_text{
	margin-top: 5vw;
}

.conf_text{
    margin: 10vw 0 0;
	font-size: 4vw;
    color: #EA3E32;
    text-align: center;
    font-weight: 700;
	line-height: 150%;
}

.req{
	color: #EA3E32;
}

.contact table{
    margin: 10vw auto 0;
	width: 100%;
	box-sizing: border-box;
}

.contact th,
.contact td{
	font-size: 16px;
	line-height: 150%;
	letter-spacing: 0.10em;
	width: 100%;
	display: block;
	font-weight: normal;
	border-bottom: none;
	box-sizing: border-box;
}

.contact th{
	padding: 0 0 10px;
    font-weight: 500;
}

.contact td{
	padding: 0 0 25px;
    position: relative;
}

.contact .radio_input.center{
    text-align: center;
}

.contact .radio_input.center label{
    margin-left: auto;
    margin-right: auto;
}

.contact td .balloon{
    position: absolute;
    bottom: -25px;
    left: 15px;
    height: 16px;
    line-height: 1;
    font-size: 13px;
    color: #EA3E32;
    letter-spacing: 0;
}

.contact .check_bg,
.contact output,
.contact input,
.contact select,
.contact textarea{
	margin: 0;
	font-size: 16px;
    line-height: 170%;
    letter-spacing: 0.1em;
	padding: 15px;
	box-sizing: border-box;
	width: 100%;
    background: #F8F8F8;
	border: 1px solid #F8F8F8;
	vertical-align: middle;
}

/* 確認画面の入力文字背景 */
.contact .check_bg,
.contact output{
    display: block;
    background: rgba(246,172,43,.1);
    border-color: rgba(246,172,43,.1);
}

.contact select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("../images/common/down-arrow.svg");
    background-color: #F8F8F8;
	background-repeat: no-repeat;
	background-size: 10px 8px;
	background-position: right 16px center;
}

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

textarea::-webkit-input-placeholder,
select::-webkit-input-placeholder,
input::-webkit-input-placeholder{
    color: #ccc;
}

textarea::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder{
    color: #ccc; opacity: 1;
}

textarea:-ms-input-placeholder,
select:-ms-input-placeholder,
input:-ms-input-placeholder{
    color: #ccc;
}

.contact textarea{
    height: 50vw;
	line-height: 150%;
}

/* ラジオボタン */
.contact .radio_input{
    padding: 0 0 17px;
}

.contact .radio_input .check_bg,
.contact .radio_input output{
    margin: 0 0 8px;
}

.radio_input label{
    margin: 0 0 8px;
	display: flex;
    align-items: center;
    cursor: pointer;
}

input[type='checkbox'] ,
input[type='radio'] {
    appearance: none;
    outline: none;
    display: block;
    position: relative;
    text-align: center;
    cursor: pointer;
    width: 18px;
    height: 18px;
	margin: 0 10px 0 0;
    font-size: 0;
    padding: 0 !important;
    border: none;
    background: none;
}

input[type='checkbox']::before ,
input[type='radio']::before {
    display: block;
    position: absolute;
    content: '';
    width: 18px;
    height: 18px;
    background: #fff;
    border: solid 1px #ddd;
    border-radius: 100%;
}

input[type='checkbox']:checked::before ,
input[type='radio']:checked::before {
    border-color: #CC0E10;
}

input[type='checkbox']::after ,
input[type='radio']::after {
    display: block;
    content: '';
    position: absolute;
    left: 5px;
    top: 5px;
    width: 10px;
    height: 10px;
    background: #CC0E10;
    border-radius: 100%;
    opacity: 0;
}

input[type='checkbox']:checked::after ,
input[type='radio']:checked::after {
    opacity: 1;
}

/* 四角ボタン */
.square input[type='checkbox']::before ,
.square input[type='radio']::before {
    border-radius: 0;
}

.square input[type='checkbox']::after ,
.square input[type='radio']::after {
    border-radius: 3px;
}

/* チェックアイコン */
.icon_check input[type='checkbox']::before ,
.icon_check input[type='radio']::before {
    border-radius: 0;
}

.icon_check input[type='checkbox']::after ,
.icon_check input[type='radio']::after {
    left: 4px;
    top: -2px;
    width: 20px;
    height: 20px;
    background-image: url("../images/common/icon_check.svg");
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
}

/* 郵便番号 */
.address .flex{
    margin: 0 0 20px;
	display: flex;
    align-items: center;
}

.address .flex p{
    margin: 0 20px 0 0;
    font-size: 15px;
    font-weight: 500;
}

.address .flex .check_bg,
.address .flex output,
.address .flex input{
    width: 140px;
}

/* ⽣年⽉⽇ */
.birth .flex{
	display: flex;
    align-items: center;
}

.birth .flex p{
    margin: 0 10px;
    font-size: 15px;
    font-weight: 400;
}

.birth .flex select{
    background-image: none;
    text-align: center;
}

.birth .wid100 select{
    width: 75px;
}

/* ⽣年個人情報保護方針 */
.contact .scroll_box{
    padding: 4vw;
    height: 80vw;
    box-sizing: border-box;
    border: 1px solid #ddd;
	overflow-y: scroll;
}

.contact .scroll_box p{
	font-size: 3.4vw;
    font-weight: 400;
}

.zas_btn_area{
	margin: auto;
	text-align: center;
	padding: 30px 0 0;
	font-size: 0;
	box-sizing: border-box;
}

.zas_btn_area button{
	font-size: 16px;
	color: #FFF;
	border: none;
	position: relative;
	overflow: hidden;
	text-align: center;
    transition: .3s;
    border-radius: 0;
}

.zas_btn_area button > span{
	padding: 16px 0;
	border: none;
	display: block;
	font-size: 16px;
    font-weight: 500;
	line-height: 150%;
	color: #FFF;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

.zas_btn_area button:disabled{
	background: #ccc !important;
    border-color: #ccc !important;
    cursor: auto;
}

.zas_btn_area button:disabled span{
    color: #fff !important;
}

.zas_btn_area .zas_btn01 button{
	background: #DC1C1F;
	width: 65%;
}

.zas_btn_area .zas_btn02 button{
	margin-right: 2%;
	background: #ccc;
	width: 28%;
}

.zas_btn_area .zas_btn03 button{
	background: #DC1C1F;
	width: 55%;
}

.zas_btn_area button:disabled .ok_text{
    display: none;
}

.zas_btn_area button:disabled .ng_text{
    color: #fff !important;
    display: block;
}

.zas_btn_area button .ok_text{
    display: block;
}

.zas_btn_area button .ng_text{
    display: none;
}


/* thanks
   ================================================================== */
.thanks p{
    margin: 0 0 0;
	font-size: 3.5vw;
	line-height: 150%;
}

.thanks .go_top_btn{
	margin: 12vw 0 0;
	text-align: center;
}


/* cv
   ================================================================== */
.cv{
    border-top: 1px solid #1D1C1A;
    position: relative;
    z-index: 1;
}

.cv .to_contact{
    padding: 60vw 0 15vw;
    overflow: hidden;
}

.cv .to_contact .inner{
    padding-top: 5vw;
    position: relative;
}

.cv .to_recruit{
    padding: 15vw 0 20vw;
    border-top: 1px solid #ECEAEA;
}

.cv .block_title{
    position: relative;
}

.cv .anim_border.top{
    width: 60vw;
    height: 1px;
    bottom: 100%;
    right: 50%;
    transform: rotate(90deg);
    transform-origin: right bottom;
}

.cv p{
    margin: 5vw 0 0;
    text-align: center;
}

.cv .btn_box{
    margin: 5vw 0 0;
    text-align: center;
}

.cv .btn_box.flex{
    display: flex;
    justify-content: center;
}

.cv .btn_box.flex .btn + .btn{
    margin-left: 3vw;
}

.cv .tel_style{
    margin: 5vw 0 0;
    text-align: center;
}

.cv .tel_style a{
    justify-content: center;
}

.cv .tel_style .siz_s{
    font-size: 4vw;
}

.cv .tel_style .siz_l{
    font-size: 6vw;
}

.cv .tel_style + p{
    margin: 1vw 0 0;
}


/* design_table
   ================================================================== */
.design_table{
	width: 100%;
	box-sizing: border-box;
}

.design_table th,
.design_table td{
    font-size: 3.8vw;
	line-height: 180%;
	width: 100%;
	display: block;
	font-weight: normal;
	border-bottom: none;
	box-sizing: border-box;
	background: #fff;
}

.design_table td a{
    font-size: inherit;
}

.design_table tr:nth-child(2n+2){
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.design_table tr:first-child{
	border-top: 1px solid #ddd;
}

.design_table tr:last-child{
	border-bottom: 1px solid #ddd;
}

.design_table th{
	padding: 5vw;
	font-weight: bold;
}

.design_table td{
	padding: 0 5vw;
}

.design_table td .border{
	padding: 5vw 0;
	border-top: 1px solid #ddd;
}

.design_table td .box + .box{
	margin: 5vw 0 0;
}

.design_table td .ttl + p{
	margin: 1vw 0 0;
}

.design_table td .names span{
	display: inline-block;
}

.design_table td .names .ttl{
	width: 40vw;
}

.design_table td .icon_privacy{
    margin: 0 3vw 0 0;
	width: 20vw;
    vertical-align: middle;
}


/* standard_table
   ================================================================== */
.standard_table{
    margin: 6vw auto 0;
	width: 100%;
	box-sizing: border-box;
}

.standard_table th,
.standard_table td{
    padding: 3vw 3vw;
    font-size: 3.5vw;
	line-height: 170%;
	font-weight: 400;
	border-bottom: none;
	box-sizing: border-box;
	background: #fff;
    border: 1px solid #ddd;
	text-align: center;
    vertical-align: middle;
}

.standard_table th{
	font-weight: 700;
    background: #F9F9F9;
    text-align: center;
    vertical-align: middle;
}

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

.standard_table .f13{
    margin: 2vw 0 0;
	font-size: 3.0vw;
    display: block;
}

/* line3 */
.standard_table.line3 th,
.standard_table.line3 td{
    padding-left: 1vw;
    padding-right: 1vw;
}

.standard_table.line3 tr > *:nth-child(1){
    width: 30%;
}

.standard_table.line3 tr > *:nth-child(2){
    width: 50%;
}

.standard_table.line3 tr > *:nth-child(3){
    width: 15%;
}

/* line2 */
.standard_table.line2{
    border-top: 1px solid #ddd;
}

.standard_table.line2 th,
.standard_table.line2 td{
    display: block;
    width: 100%;
    border-top: none;
}


/* index_links_block
   ================================================================== */
.index_links_block{
	padding: 15vw 3vw 0;
    overflow: hidden;
}

.index_links_block .box_slider{
    margin: 0;
    width: 60vw;
	overflow: visible;
}

.index_links_block .box_slider{
    opacity: 0;
    transition: .3s;
}

.index_links_block .box_slider.swiper-container-horizontal{
    opacity: 1;
}

.box_slider .link_box{
    position: relative;
    line-height: 0;
    border-radius: 20px;
    overflow: hidden;
}

.box_slider .photo img{
    width: 100%;
}

.box_slider .card{
    padding: 0 0 5vw;
    width: 100%;
    height: 35vw;
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgba(29,28,26,.6);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    box-sizing: border-box;
}

.box_slider .card .ttl{
    margin: 0 0 3vw;
    text-align: center;
}

.box_slider .card .ttl span{
    color: #fff;
    line-height: 120%;
    letter-spacing: 0.1em;
    display: block;
    font-weight: 700;
}

.box_slider .card .ttl .mat_10{
    margin-top: 2vw;
}

.box_slider .card .ttl .f17{
    font-size: 3.5vw;
}

.box_slider .card .ttl .f20{
    font-size: 4.0vw;
}

.box_slider .card .ttl .f23{
    font-size: 4.3vw;
}

.box_slider .card .ttl .weight_500{
    font-weight: 500;
}

.box_slider .card .btn{
    text-align: center;
}

/* bottom_box */
.index_links_block .bottom_box{
    margin: 8vw 0 0;
}

.index_links_block .bottom_box h3{
    font-size: 9vw;
    letter-spacing: 0.02em;
    text-align: right;
}

.index_links_block .bottom_box .btn_box{
    margin: 6vw 0 0;
    display: flex;
    justify-content: center;
}

.index_links_block .bottom_box .btn_box .btn + .btn{
    margin-left: 3vw;
}


/* points_block
   ========================================================================== */
.points_block{
    margin: 15vw 0 0;
}

.points_block .list_wrap{
    position: relative;
}

.points_block .list_wrap > li{
    margin-top: -10vw;
    padding: 8vw 5vw 18vw;
    height: auto;
    position: sticky;
    top: 0;
    background: #F1EEE6;
    border-radius: 30px 30px 0 0;
}

.points_block .list_wrap > li:nth-child(1){
    margin-top: 0;
}

.points_block .list_wrap > li:nth-child(2n+2){
    background: #F8F7F1;
}

.points_block .list_wrap > li:nth-child(1){
    top: 5vw;
}

.points_block .list_wrap > li:nth-child(2){
    top: 32vw;
}

.points_block .list_wrap > li:nth-child(3){
    top: 59vw;
}

.points_block .list_wrap > li:nth-child(4){
    top: 86vw;
}

/* li.company_linkの事 */
.points_block .list_wrap > li:nth-child(5){
    background: #fff;
    border-radius: 0;
    min-height: auto;
    height: auto;
}

.points_block .list_wrap > li p + p{
    padding-top: 3vw;
    border-top: 1px dashed #AEAEAE;
}


/* company_link
   ========================================================================== */
.company_link{
    padding: 25vw 0 !important;
}

.company_link .flex_box{
    display: flex;
    justify-content: center;
}

.company_link .logo{
    widt: 60vw;
    line-height: 0;
}

.company_link h2{
    margin: 3vw 0 0;
    font-size: 4.3vw;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.company_link .rolling_area{
    margin: 15vw auto 10vw;
    width: 65vw;
}

.company_link .rolling_area ul{
    position: relative;
    display: grid;
    gap: 0;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
}

.company_link .rolling_area ul li{
    padding: 2vw;
    line-height: 0;
    animation-duration: 30s;
    animation-direction: normal;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.company_link .rolling_area ul li:nth-child(1){
    animation-name: rolling_anime_sp01;
}

@keyframes rolling_anime_sp01 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 100%,0);
    }
    20% {
        transform: translate( 100%,100%);
    }
    30% {
        transform: translate( 100%,200%);
    }
    40% {
        transform: translate( 100%,300%);
    }
    50% {
        transform: translate( 100%,400%);
    }
    60% {
        transform: translate( 0,400%);
    }
    70% {
        transform: translate( 0,300%);
    }
    80% {
        transform: translate( 0,200%);
    }
    90% {
        transform: translate( 0,100%);
    }
    100% {
        transform: translate( 0,0);
    }
}

@keyframes rolling_anime_pc01 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 100%,0);
    }
    20% {
        transform: translate( 200%,0);
    }
    30% {
        transform: translate( 300%,0);
    }
    40% {
        transform: translate( 400%,0);
    }
    50% {
        transform: translate( 400%,100%);
    }
    60% {
        transform: translate( 300%,100%);
    }
    70% {
        transform: translate( 200%,100%);
    }
    80% {
        transform: translate( 100%,100%);
    }
    90% {
        transform: translate( 0,100%);
    }
    100% {
        transform: translate( 0,0);
    }
}

.company_link .rolling_area ul li:nth-child(2){
    animation-name: rolling_anime_sp02;
}

@keyframes rolling_anime_sp02 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 0,100%);
    }
    20% {
        transform: translate( 0,200%);
    }
    30% {
        transform: translate( 0,300%);
    }
    40% {
        transform: translate( 0,400%);
    }
    50% {
        transform: translate( -100%,400%);
    }
    60% {
        transform: translate( -100%,300%);
    }
    70% {
        transform: translate( -100%,200%);
    }
    80% {
        transform: translate( -100%,100%);
    }
    90% {
        transform: translate( -100%,0);
    }
    100% {
        transform: translate( 0,0);
    }
}

@keyframes rolling_anime_pc02 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 100%,0);
    }
    20% {
        transform: translate( 200%,0);
    }
    30% {
        transform: translate( 300%,0);
    }
    40% {
        transform: translate( 300%,100%);
    }
    50% {
        transform: translate( 200%,100%);
    }
    60% {
        transform: translate( 100%,100%);
    }
    70% {
        transform: translate( 0,100%);
    }
    80% {
        transform: translate( -100%,100%);
    }
    90% {
        transform: translate( -100%,0);
    }
    100% {
        transform: translate( 0,0);
    }
}

.company_link .rolling_area ul li:nth-child(3){
    animation-name: rolling_anime_sp03;
}

@keyframes rolling_anime_sp03 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 0,-100%);
    }
    20% {
        transform: translate( 100%,-100%);
    }
    30% {
        transform: translate( 100%,0);
    }
    40% {
        transform: translate( 100%,100%);
    }
    50% {
        transform: translate( 100%,200%);
    }
    60% {
        transform: translate( 100%,300%);
    }
    70% {
        transform: translate( 0,300%);
    }
    80% {
        transform: translate( 0,200%);
    }
    90% {
        transform: translate( 0,100%);
    }
    100% {
        transform: translate( 0,0);
    }
}

@keyframes rolling_anime_pc03 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 100%,0);
    }
    20% {
        transform: translate( 200%,0);
    }
    30% {
        transform: translate( 200%,100%);
    }
    40% {
        transform: translate( 100%,100%);
    }
    50% {
        transform: translate( 0,100%);
    }
    60% {
        transform: translate( -100%,100%);
    }
    70% {
        transform: translate( -200%,100%);
    }
    80% {
        transform: translate( -200%,0);
    }
    90% {
        transform: translate( -100%,0);
    }
    100% {
        transform: translate( 0,0);
    }
}

.company_link .rolling_area ul li:nth-child(4){
    animation-name: rolling_anime_sp04;
}

@keyframes rolling_anime_sp04 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 0,100%);
    }
    20% {
        transform: translate( 0,200%);
    }
    30% {
        transform: translate( 0,300%);
    }
    40% {
        transform: translate( -100%,300%);
    }
    50% {
        transform: translate( -100%,200%);
    }
    60% {
        transform: translate( -100%,100%);
    }
    70% {
        transform: translate( -100%,0);
    }
    80% {
        transform: translate( -100%,-100%);
    }
    90% {
        transform: translate( 0,-100%);
    }
    100% {
        transform: translate( 0,0);
    }
}

@keyframes rolling_anime_pc04 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 100%,0);
    }
    20% {
        transform: translate( 100%,100%);
    }
    30% {
        transform: translate( 0,100%);
    }
    40% {
        transform: translate( -100%,100%);
    }
    50% {
        transform: translate( -200%,100%);
    }
    60% {
        transform: translate( -300%,100%);
    }
    70% {
        transform: translate( -300%,0);
    }
    80% {
        transform: translate( -200%,0);
    }
    90% {
        transform: translate( -100%,0);
    }
    100% {
        transform: translate( 0,0);
    }
}

.company_link .rolling_area ul li:nth-child(5){
    animation-name: rolling_anime_sp05;
}

@keyframes rolling_anime_sp05 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 0,-100%);
    }
    20% {
        transform: translate( 0,-200%);
    }
    30% {
        transform: translate( 100%,-200%);
    }
    40% {
        transform: translate( 100%,-100%);
    }
    50% {
        transform: translate( 100%,0);
    }
    60% {
        transform: translate( 100%,100%);
    }
    70% {
        transform: translate( 100%,200%);
    }
    80% {
        transform: translate( 0,200%);
    }
    90% {
        transform: translate( 0,100%);
    }
    100% {
        transform: translate( 0,0);
    }
}

@keyframes rolling_anime_pc05 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 0,100%);
    }
    20% {
        transform: translate( -100%,100%);
    }
    30% {
        transform: translate( -200%,100%);
    }
    40% {
        transform: translate( -300%,100%);
    }
    50% {
        transform: translate( -400%,100%);
    }
    60% {
        transform: translate( -400%,0);
    }
    70% {
        transform: translate( -300%,0);
    }
    80% {
        transform: translate( -200%,0);
    }
    90% {
        transform: translate( -100%,0);
    }
    100% {
        transform: translate( 0,0);
    }
}

.company_link .rolling_area ul li:nth-child(6){
    animation-name: rolling_anime_sp06;
}

@keyframes rolling_anime_sp06 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 0,100%);
    }
    20% {
        transform: translate( 0,200%);
    }
    30% {
        transform: translate( -100%,200%);
    }
    40% {
        transform: translate( -100%,100%);
    }
    50% {
        transform: translate( -100%,0);
    }
    60% {
        transform: translate( -100%,-100%);
    }
    70% {
        transform: translate( -100%,-200%);
    }
    80% {
        transform: translate( 0,-200%);
    }
    90% {
        transform: translate( 0,-100%);
    }
    100% {
        transform: translate( 0,0);
    }
}

@keyframes rolling_anime_pc06 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 0,-100%);
    }
    20% {
        transform: translate( 100%,-100%);
    }
    30% {
        transform: translate( 200%,-100%);
    }
    40% {
        transform: translate( 300%,-100%);
    }
    50% {
        transform: translate( 400%,-100%);
    }
    60% {
        transform: translate( 400%,0);
    }
    70% {
        transform: translate( 300%,0);
    }
    80% {
        transform: translate( 200%,0);
    }
    90% {
        transform: translate( 100%,0);
    }
    100% {
        transform: translate( 0,0);
    }
}

.company_link .rolling_area ul li:nth-child(7){
    animation-name: rolling_anime_sp07;
}

@keyframes rolling_anime_sp07 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 0,-100%);
    }
    20% {
        transform: translate( 0,-200%);
    }
    30% {
        transform: translate( 0,-300%);
    }
    40% {
        transform: translate( 100%,-300%);
    }
    50% {
        transform: translate( 100%,-200%);
    }
    60% {
        transform: translate( 100%,-100%);
    }
    70% {
        transform: translate( 100%,0);
    }
    80% {
        transform: translate( 100%,100%);
    }
    90% {
        transform: translate( 0,100%);
    }
    100% {
        transform: translate( 0,0);
    }
}

@keyframes rolling_anime_pc07 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( -100%,0);
    }
    20% {
        transform: translate( -100%,-100%);
    }
    30% {
        transform: translate( 0,-100%);
    }
    40% {
        transform: translate( 100%,-100%);
    }
    50% {
        transform: translate( 200%,-100%);
    }
    60% {
        transform: translate( 300%,-100%);
    }
    70% {
        transform: translate( 300%,0);
    }
    80% {
        transform: translate( 200%,0);
    }
    90% {
        transform: translate( 100%,0);
    }
    100% {
        transform: translate( 0,0);
    }
}

.company_link .rolling_area ul li:nth-child(8){
    animation-name: rolling_anime_sp08;
}

@keyframes rolling_anime_sp08 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 0,100%);
    }
    20% {
        transform: translate( -100%,100%);
    }
    30% {
        transform: translate( -100%,0);
    }
    40% {
        transform: translate( -100%,-100%);
    }
    50% {
        transform: translate( -100%,-200%);
    }
    60% {
        transform: translate( -100%,-300%);
    }
    70% {
        transform: translate( 0,-300%);
    }
    80% {
        transform: translate( 0,-200%);
    }
    90% {
        transform: translate( 0,-100%);
    }
    100% {
        transform: translate( 0,0);
    }
}

@keyframes rolling_anime_pc08 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( -100%,0);
    }
    20% {
        transform: translate( -200%,0);
    }
    30% {
        transform: translate( -200%,-100%);
    }
    40% {
        transform: translate( -100%,-100%);
    }
    50% {
        transform: translate( 0,-100%);
    }
    60% {
        transform: translate( 100%,-100%);
    }
    70% {
        transform: translate( 200%,-100%);
    }
    80% {
        transform: translate( 200%,0);
    }
    90% {
        transform: translate( 100%,0);
    }
    100% {
        transform: translate( 0,0);
    }
}

.company_link .rolling_area ul li:nth-child(9){
    animation-name: rolling_anime_sp09;
}

@keyframes rolling_anime_sp09 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( 0,-100%);
    }
    20% {
        transform: translate( 0,-200%);
    }
    30% {
        transform: translate( 0,-300%);
    }
    40% {
        transform: translate( 0,-400%);
    }
    50% {
        transform: translate( 100%,-400%);
    }
    60% {
        transform: translate( 100%,-300%);
    }
    70% {
        transform: translate( 100%,-200%);
    }
    80% {
        transform: translate( 100%,-100%);
    }
    90% {
        transform: translate( 100%,0);
    }
    100% {
        transform: translate( 0,0);
    }
}

@keyframes rolling_anime_pc09 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( -100%,0);
    }
    20% {
        transform: translate( -200%,0);
    }
    30% {
        transform: translate( -300%,0);
    }
    40% {
        transform: translate( -300%,-100%);
    }
    50% {
        transform: translate( -200%,-100%);
    }
    60% {
        transform: translate( -100%,-100%);
    }
    70% {
        transform: translate( 0,-100%);
    }
    80% {
        transform: translate( 100%,-100%);
    }
    90% {
        transform: translate( 100%,0);
    }
    100% {
        transform: translate( 0,0);
    }
}

.company_link .rolling_area ul li:nth-child(10){
    animation-name: rolling_anime_sp10;
}

@keyframes rolling_anime_sp10 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( -100%,0);
    }
    20% {
        transform: translate( -100%,-100%);
    }
    30% {
        transform: translate( -100%,-200%);
    }
    40% {
        transform: translate( -100%,-300%);
    }
    50% {
        transform: translate( -100%,-400%);
    }
    60% {
        transform: translate( 0,-400%);
    }
    70% {
        transform: translate( 0,-300%);
    }
    80% {
        transform: translate( 0,-200%);
    }
    90% {
        transform: translate( 0,-100%);
    }
    100% {
        transform: translate( 0,0);
    }
}

@keyframes rolling_anime_pc10 {
    0% {
        transform: translate( 0,0);
    }
    10% {
        transform: translate( -100%,0);
    }
    20% {
        transform: translate( -200%,0);
    }
    30% {
        transform: translate( -300%,0);
    }
    40% {
        transform: translate( -400%,0);
    }
    50% {
        transform: translate( -400%,-100%);
    }
    60% {
        transform: translate( -300%,-100%);
    }
    70% {
        transform: translate( -200%,-100%);
    }
    80% {
        transform: translate( -100%,-100%);
    }
    90% {
        transform: translate( 0,-100%);
    }
    100% {
        transform: translate( 0,0);
    }
}


/* message_block
   ========================================================================== */
.message_block{
    padding: 0 0 0;
}

.message_block .message_box{
    margin: 8vw 0 0;
}

.message_block .message_box .photo{
    margin: 0 3vw 2vw 0;
    width: 42vw;
    float: left;
}

.message_block .message_box .text_box{
    padding: 1vw 0 0;
}

.message_block .message_box .name{
    margin: 6vw 0 0;
    display: flex;
    justify-content: flex-end;
}

.message_block .message_box .name span{
    display: block;
    line-height: 150%;
    font-weight: 700;
    font-family: "Noto Serif JP";
}

.message_block .message_box .name .company_name,
.message_block .message_box .name .ind{
    font-size: 3.0vw;
}

.message_block .message_box .name .inbox{
    padding: 1vw 0 0;
    display: flex;
    align-items: center;
}

.message_block .message_box .name .name{
    margin: 0 0 0 2vw;
    font-size: 5.5vw;
}


/* profile_block
   ========================================================================== */
.profile_block{
    padding: 15vw 0 0;
}

.profile_block .design_table{
    margin: 8vw 0 0;
}


/* access_block
   ========================================================================== */
.access_block{
    padding: 15vw 0 0;
}

.access_block .design_table{
    margin: 8vw 0 0;
}

.access_block .map{
    margin: 8vw 0 0;
    line-height: 0;
}

.access_block .map iframe{
    width: 100%;
    height: 80vw;
}

.access_block .route{
    margin: 4vw 0 0;
    font-size: 3.3vw;
}


/* history_block
   ========================================================================== */
.history_block{
    padding: 15vw 0 25vw;
}

.history_block .list{
    margin: 8vw 0 0;
}

.history_block .list > li{
    padding: 4vw 3vw;
    border-bottom: 1px dashed #ddd;
}

.history_block .list > li:first-child{
    padding-top: 0;
}

.history_block .list .date{
    font-size: 3.4vw;
    color: #DF351F;
    font-weight: 400;
    letter-spacing: 0.05em;
}

.history_block .list p{
    margin: 1vw 0 0;
}


/* organization_block
   ========================================================================== */
.organization_block{
    padding: 0 0 0;
}

.organization_block .scroll_block{
    margin: 8vw -3vw 0;
    padding: 0 3vw 3vw;
    overflow-x: scroll;
}

.organization_block .chart_wrap{
    width: 600px;
    line-height: 0;
    position: relative;
}

.organization_block .pmo_link,
.organization_block .dx_link{
    position: absolute;
    left: 54%;
    width: 46%;
    height: 25%;
    opacity: 0;
    border-radius: 10px;
}

.organization_block .pmo_link{
    top: 46%;
}

.organization_block .dx_link{
    top: 75%;
}


/* department_introduction
   ========================================================================== */
.department_introduction{
    margin: 15vw 3vw 0;
}

.department_introduction.last_content{
    padding-bottom: 25vw;
}

.department_introduction .border_wrap{
    padding: 10vw 3vw;
    border: 4px solid #F4F2EF;
    border-radius: 20px;
    box-sizing: border-box;
}

.department_introduction .introduction_wrap{
    margin: 8vw 0 0;
}

.introduction_wrap .photo{
    margin: 0 auto;
    width: 60vw;
}

.introduction_wrap .text_box{
    margin: 6vw 0 0;
}

.introduction_wrap .text_box .inbox{
    padding: 0 0 6vw;
    border-bottom: 1px dashed #DFDDD4;
}

.introduction_wrap .text_box .title_box .ttl + p{
    margin-top: 3vw;
}

.introduction_wrap .case_block{
    margin: 6vw 0 0;
}

.introduction_wrap .case_block h4{
    font-size: 3.5vw;
    color: #DC1C1F;
    font-weight: 400;
}

.introduction_wrap .case_block .case_list{
    margin: 6vw 0 0;
}

.introduction_wrap .case_block .case_list > li{
    margin: 4vw 0 0;
}

.introduction_wrap .case_block .case_list .ttl{
    padding: 3vw 4vw;
    background: #F4F2EF;
}

.introduction_wrap .case_block .case_list .case_text_box{
    padding: 3vw 4vw;
    border-bottom: 1px solid #ddd;
}

.introduction_wrap .case_block .case_list .ttl,
.introduction_wrap .case_block .case_list p{
    font-size: 3.5vw;
}


/* recruit_staff
   ================================================================== */
.recruit_staff{
    margin: 0 0 25vw;
	padding: 10vw 0 25vw;
    background: #F8F7F1;
}

.staff_list{
    margin: 10vw 3vw 15vw;
    display: grid;
    gap: 8vw 2vw;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
}

.staff_list > li{
    position: relative;
}

.staff_list li a{
    position: relative;
    display: block;
}

.staff_list .photo{
    position: relative;
    display: block;
}

.staff_list .photo::before{
    content: "";
    background-image: url("../images/common/icon_voice.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 10vw;
    height: 10vw;
    position: absolute;
    bottom: 2vw;
    right: 2vw;
}

.staff_list .text_box{
    padding: 3vw 0 0;
    text-align: center;
}

.staff_list .text_box .title{
    text-align: center;
}

.staff_list .text_box .title span{
    padding: 1vw 3vw;
    font-size: 3.3vw;
    font-weight: 500;
    color: #fff;
    background: #302F2F;
    line-height: 120%;
    letter-spacing: 0.02em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
}

.staff_list .text_box p{
    margin: 2vw 0 0;
    font-size: 3.3vw;
    font-weight: 700;
    letter-spacing: 0.02em;
}


/* staff_voice_block
   ================================================================== */
.staff_voice_block{
	padding: 0 0 25vw;
    position: relative;
    overflow: hidden;
}

.staff_voice_block::before{
    content: "";
    background: #F8F7F1;
    width: 100%;
    height: 200vw;
    position: absolute;
    bottom: 0;
    left: 0;
}

.staff_profile{
    margin: 0 0 0;
    position: relative;
    z-index: 2;
}

.staff_profile .photo{
    margin: 6vw auto 0;
    width: 60vw;
}

.staff_profile .text_box{
    margin: 6vw 0 0;
}

.staff_profile .text_box h3 > span{
    padding: 0 2vw 0 0;
    font-size: 5.6vw;
    line-height: 100%;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #DFDDD4;
    display: inline-block;
    position: relative;
}

.staff_profile .text_box h3 > span::before{
    content: "";
    background: #DFDDD4;
    width: 100vw;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 100%;
}

.staff_profile .text_box h4{
    margin: 3vw 0 0;
    font-size: 6.8vw;
    line-height: 120%;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.staff_profile .text_box p{
    margin: 4vw 0 0;
    font-size: 4.0vw;
    line-height: 120%;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.staff_voice_block .border_wrap{
    margin: -15vw 3vw 0;
    padding: 18vw 3vw 10vw;
    border: 4px solid #F4F2EF;
    background: #fff;
    border-radius: 20px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

.staff_voice_block .faq_list > li + li{
    margin: 6vw 0 0;
}

.staff_voice_block .btn{
    margin: 15vw 0 0;
}


/* detail_btn_area
   ================================================================== */
.detail_btn_area{
	margin: 15vw 0 0;
    padding: 10px;
	font-size: 0;
    text-align: center;
    background: none;
    position: relative;
    z-index: 1;
}

.detail_btn_area .arrow_btn{
	margin: 0;
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
	width: 40%;
    max-width: 310px;
}
	
.detail_btn_area .arrow_btn.prev,
.detail_btn_area .arrow_btn.next{
	width: 28%;
}

.detail_btn_area .arrow_btn.back{
	margin: 0 2%;
}

.detail_btn_area .arrow_btn a,
.detail_btn_area .arrow_btn button{
	display: flex;
    justify-content: center;
    align-items: center;
	margin: auto;
	padding: 10px 0;
    box-sizing: border-box;
	width: 100%;
    height: 50px;
	background: #fff;
    border: 1px solid #ddd;
    border-radius: 0;
	color: #222;
	text-align: center;
	font-size: 16px;
    line-height: 0;
	letter-spacing: 0.10em;
	font-family: "Noto Sans JP","メイリオ","ms pgothic", sans-serif;
}


/* rule_block
   ================================================================== */
.rule_block{
	padding: 0 0 25vw;
}

.rule_list{
	margin: 0 0 0;
}

.rule_list > li + li{
	margin: 18vw 0 0;
}

.rule_list .in_list{
	margin: 0 0 0;
}

.rule_list .in_list > li + li{
	margin: 10vw 0 0;
}

.rule_list p + p{
    margin-top: 3vw;
}

/* title */
.rule_list .title{
    margin: 0 0 7vw;
	font-size: 5.2vw;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #DC1C1F;
}

.rule_list .in_title{
    margin: 0 0 5vw;
    padding: 0 3vw 2vw;
	font-size: 3.7vw;
    font-weight: 700;
    letter-spacing: 0.02em;
    border-bottom: 1px solid #ddd;
}

/* border_box */
.rule_list .border_box{
    margin: 0 0 0;
    padding: 5vw;
    border: 2px solid #eee;
}

.rule_list .border_box.dot{
    border: 1px dashed #ccc;
}

.rule_list .border_box > *:first-child{
	margin-top: 0 !important;
}

.rule_list .border_box .ttl{
	font-size: 3.7vw;
    font-weight: 700;
}

.rule_list .border_box p{
	margin-top: 3vw;
}

.rule_list .red_note{
	color: #DC1C1F;
}

/* border_top_box */
.rule_list .border_top_box{
	margin-top: 8vw;
	padding-top: 8vw;
    border-top: 1px solid #ddd;
}

/* mat */
.rule_list .mat25{
	margin-top: 3vw;
}

.rule_list .mat35{
	margin-top: 5vw;
}


/* number_ol
   ================================================================== */
.number_ol{
    margin: 6vw auto 0;
}

.number_ol > li{
    margin: 6vw 0 0;
    position: relative;
}

.number_ol > li:first-child{
    margin-top: 0;
}

.number_ol .number{
    font-size: 3.9vw;
    top: 0;
    left: 0;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    color: #ccc;
    position: absolute;
}

.number_ol .number_title{
    padding: 3vw 0 0 7vw;
    font-size: 3.7vw;
    font-weight: 700;
    line-height: 150%;
    color: #333;
}

.number_ol .number_title + p{
    margin: 2vw 0 0;
}


/* recruit_charm
   ================================================================== */
.recruit_charm{
    margin: -5vw 0 0;
	padding: 0 0 15vw;
    overflow: hidden;
}

.recruit_charm .recruit_kv{
	line-height: 0;
    text-align: center;
}

.recruit_charm .recruit_kv img{
	width: 224vw;
    max-width: none;
}

.recruit_charm .logo_title02{
	margin: 8vw 0 0;
}

.recruit_charm .catch{
	margin: 5vw 0 0;
}

.recruit_charm .catch > span{
	padding: 3vw 4vw;
    font-size: 3.8vw;
    color: #fff;
    font-weight: 800;
    background: linear-gradient(to right,#DD2B1F,#F8A40C);
    display: inline-flex;
}

.recruit_charm .icon_introduction{
	margin: 4vw 0 0;
}

.recruit_charm .icon_introduction > li{
	margin: 2vw 0 0;
    display: flex;
    align-items: center;
}

.recruit_charm .icon_introduction .icon{
	width: 4vw;
    line-height: 0;
}

.recruit_charm .icon_introduction .icon img{
	width: 100%;
}

.recruit_charm .icon_introduction .name{
    padding: 0 0 0 3vw;
    font-size: 3.5vw;
    font-weight: 700;
	width: calc(100% - 4vw);
    box-sizing: border-box;
}

.recruit_charm .list{
    margin: 5vw 0 0;
}

.recruit_charm .list > li + li{
    margin: 8vw 0 0;
}

.recruit_charm .list .list_top{
    margin: 0 0 0;
}

.recruit_charm .list .list_top .photo{
    width: 80vw;
}

.recruit_charm .list .list_top .text_box{
    padding: 3vw 0 0;
}

.recruit_charm .list .list_top .ttl{
    font-size: 4.5vw;
    font-weight: 700;
    color: #EE7A1D;
}

.recruit_charm .list .list_bottom{
    margin: 1vw 0 0;
}

.recruit_charm .list .list_bottom > li{
    padding: 3vw 2vw 3vw 12vw;
    font-size: 3.5vw;
    line-height: 160%;
    font-weight: 500;
    border-bottom: 1px solid #ECEAEA;
    background-image: url("../images/recruit/icon_user01.svg"), url("../images/recruit/icon_user02.svg");
	background-repeat: no-repeat;
	background-position: 0 3vw,4.8vw 3vw;
	background-size: 4vw;
}

.recruit_charm .list .list_bottom > li.icon1{
    background-image: url("../images/recruit/icon_user01.svg");
	background-position: 3vw 3vw;
}

.recruit_charm .list .list_bottom > li.icon2{
    background-image: url("../images/recruit/icon_user02.svg");
	background-position: 3vw 3vw;
}


/* recruit_works
   ================================================================== */
.recruit_works{
    overflow: hidden;
}

.recruit_works .bg{
    background-image: url("../images/recruit/webp/works_bg.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
    position: relative;
}

.recruit_works .bg:before{
	content: "";
	background: rgba(0,0,0,.30);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.recruit_works .title{
    font-size: 12vw;
    bottom: 3vw;
    right: 3vw;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fff;
    position: absolute;
}

.recruit_works .inner{
    min-height: 150vw;
	display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
}

.recruit_works .inbox *{
    color: #fff;
}

.recruit_works .numner_ttl{
    font-size: 8vw;
    line-height: 1;
    font-weight: 800;
}

.recruit_works .number_txt{
    margin: 2vw 0 0;
}

.recruit_works .number_txt span{
    line-height: 150%;
    vertical-align: baseline;
    display: inline-block;
}

.recruit_works .number_txt .siz_l{
    font-size: 15vw;
    font-weight: 700;
}

.recruit_works .number_txt .siz_m{
    margin: 0 0 0 1vw;
    font-size: 8vw;
    font-weight: 800;
}

.recruit_works .number_txt .siz_s{
    font-size: 4vw;
    font-weight: 500;
}

.recruit_works .txt{
    margin: 2vw 0 0;
    font-size: 3.8vw;
    font-weight: 500;
}


/* recruit_composition
   ================================================================== */
.recruit_composition{
    padding: 15vw 0 0;
}

.recruit_composition .list{
    margin: 8vw 0 0;
}

.recruit_composition .list > li{
    margin: 8vw 0 0;
}

.recruit_composition .list .ttl span{
    padding: 1.5vw 10vw 1.5vw 3vw;
    font-size: 3.8vw;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    background: #EE7A1D;
    color: #fff;
    border-radius: 0 50px 50px 0;
}

.recruit_composition .list .photo{
    margin: 5vw 0 0;
    min-height: 45vw;
    display: flex;
    align-items: center;
}

.recruit_composition .list .photo img{
    width: 100%;
}

.recruit_composition .list p{
    margin: 3vw 0 0;
    font-size: 3.4vw;
    font-weight: 500;
}


/* recruit_example
   ================================================================== */
.recruit_example{
    padding: 15vw 0 0;
    overflow: hidden;
}

.recruit_example .show2box_slider{
	margin: 6vw 0 0 !important;
}

/* show2box_slider */
.show2box_slider{
    width: 80vw;
	position: relative;
    overflow: inherit !important;
}

.show2box_slider{
    opacity: 0;
    transition: .3s;
}

.show2box_slider.swiper-container-horizontal{
    opacity: 1;
}

.show2box_slider .swiper-wrapper{
	line-height: 0;
}

/* pagination */
.show2box_slider .swiper-pagination{
    margin-top: 5vw;
    bottom: auto !important;
    position: relative;
    text-align: left;
    display: block;
}

.show2box_slider .swiper-pagination-bullet{
    margin: 0 2vw 0 0 !important;
    width: 4vw;
    height: 4vw;
    display: inline-block;
    border-radius: 100%;
    background: #ddd;
    opacity: 1;
    box-sizing: border-box;
}

.show2box_slider .swiper-pagination-bullet-active{
    background: #DE292C;
}

/* slide_box */
.show2box_slider .slide_box{
	padding: 4vw 4vw;
    min-height: 60vw;
    background: #fff;
    border: 5px solid #F4F2EF;
    border-radius: 20px;
    box-sizing: border-box;
}

.show2box_slider .slide_box .box_ttl{
	font-size: 3.6vw;
    font-weight: 800;
}

.show2box_slider .slide_box .sub{
    margin: 1vw 0 0;
	font-size: 3.4vw;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #DC1C1F;
}

.show2box_slider .slide_box p{
    margin: 2vw 0 0;
	font-size: 3.2vw;
    font-weight: 500;
}

/* photos */
.recruit_example .photos{
	margin: 10vw -3vw 0;
    padding: 0 3vw 2vw;
    overflow: scroll;
    white-space: nowrap;
}

.recruit_example .photos ul{
    width: 200vw;
	display: flex;
    justify-content: space-between;
}

.recruit_example .photos ul > li{
    width: 32%;
    line-height: 0;
}

.recruit_example .photos ul > li img{
    width: 100%
}


/* recruit_faq
   ================================================================== */
.recruit_faq{
    padding: 15vw 0 15vw;
    overflow: hidden;
}

.oc_list{
	margin: 5vw 0 0;
}

.oc_list > dl{
	margin: 5vw 0 0;
}

.oc_list > dl:first-child{
	margin: 0 0 0;
}

.oc_list > dl dt{
	padding: 3vw 8vw 3vw 3vw;
	font-size: 3.6vw;
	line-height: 150%;
	letter-spacing: 0.10em;
	font-weight: 800;
    background: #DC1C1F;
    border-radius: 15px;
    color: #fff;
	position: relative;
    z-index: 1;
    cursor: pointer;
}

.oc_list > dl dt::after{
	content: "";
    margin: auto;
    background-image: url("../images/recruit/faq_arrow.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
	width: 4vw;
	height: 4vw;
	position: absolute;
	right: 3vw;
	top: 0;
    bottom: 0;
    transition: .3s;
}

.oc_list > dl dt.active::after{
	transform: rotate(180deg);
}

.oc_list > dl dd{
    margin-top: -10vw;
	padding: 15vw 3vw 5vw;
	font-size: 3.3vw;
	line-height: 170%;
    font-weight: 500;
	letter-spacing: 0.10em;
    position: relative;
    background: #F4F2EF;
    border-radius: 15px;
}

.oc_list > dl dd a{
	font-size: inherit;
}


/* recruit_form
   ================================================================== */
.recruit_form{
	padding: 0 0 25vw;
}

.recruit_form .logo_title{
	margin-bottom: 6vw;
}

.recruit_form .ttl{
	font-size: 3.6vw;
    font-weight: 400;
}

.recruit_form .list{
    margin: 12vw 0 0;
    display: grid;
    gap: 4vw 2vw;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
}

.recruit_form .list > li{
    line-height: 0;
}

.recruit_form .list li a{
    line-height: 0;
    display: block;
}

.recruit_form .list li a img{
    width: 100%;
}


@media screen and (min-width : 500px){


    /* ページ最上部コンテンツ
       ================================================================== */
    .under_page_title,
    .kv{
        margin-top: -100px !important;
        padding-top: 100px !important;
    }


    /* kv
       ================================================================== */
    .kv{
        padding: 0;
    }
        
    .kv .inner{
        padding-top: 28.3vw;
        padding-bottom: 9.5vw;
    }

    .kv .anim_border.top{
        width: 60.0vw;
        top: 25.0vw;
        right: 35.5vw;
    }

    .kv .anim_border.bottom{
        width: 70vw;
        right: 32.3vw;
    }

    .kv .title > .line1::before{
        top: 60%;
    }

    .kv .title > .line1::after{
        top: 100%;
    }

    /* line1 */
    .kv .title .line1{
        margin: 0 0 0;
        padding: 0 0 0
    }

    .kv .title .line1 .text_cover > span{
        font-size: 7.5vw;
    }

    /* line2 */
    .kv .title .line2{
        margin: 2.3vw 0 0;
    }

    .kv .title .line2 span{
        font-size: 2.3vw;
    }

    /* line3 */
    .kv .title .line3{
        margin: 2.0vw 0 0;
    }

    .kv .title .line3 > span{
        font-size: 2.1vw;
    }


    /* under_page_title
       ================================================================== */
    .under_page_title{
        padding: 0 0 0;
    }

    .under_page_title .inner{
        padding-top: 10.0vw;
        padding-bottom: 12.5vw;
    }

    .under_page_title .anim_border.top{
        width: 30.0vw;
        top: 6.0vw;
        right: 63.0vw;
    }

    
    /* block_title
       ================================================================== */
    .block_title.border_on > .line1::before{
        top: 50%;
    }

    .block_title .line1 span{
        font-size: 9.0vw;
    }

    .block_title.f30 .line1 span{
        font-size: 3.0vw;
    }


    /* title_box
       ================================================================== */
    .title_box .ttl.left_border{
        padding-left: 3.0vw;
    }
    
    .title_box .ttl .ttl_top{
        font-size: 1.8vw;
    }

    .title_box .ttl .ttl_bottom{
        margin-top: .5vw;
        font-size: 5.0vw;
    }

    .title_box .ttl .mal_10{
        margin-left: 1.0vw;
    }

    .title_box .ttl .mat_10{
        margin-top: 1.0vw;
    }

    .title_box .ttl .f16{
        font-size: 1.6vw;
    }

    .title_box .ttl .f17{
        font-size: 1.7vw;
    }

    .title_box .ttl .f20{
        font-size: 2.0vw;
    }

    .title_box .ttl .f22{
        font-size: 2.2vw;
    }

    .title_box .ttl .f23{
        font-size: 2.3vw;
    }

    .title_box .ttl .f24{
        font-size: 2.4vw;
    }

    .title_box .ttl .f25{
        font-size: 2.5vw;
    }

    .title_box .ttl .f27{
        font-size: 2.7vw;
    }

    .title_box .ttl .f29{
        font-size: 2.9vw;
    }

    .title_box .ttl .f30{
        font-size: 3.0vw;
    }

    .title_box .ttl .f34{
        font-size: 2.4vw;
    }

    .title_box .ttl .f35{
        font-size: 3.5vw;
    }

    .title_box .ttl .f40{
        font-size: 4.0vw;
    }

    .title_box .ttl .f45{
        font-size: 4.5vw;
    }

    .title_box .ttl .f48{
        font-size: 4.8vw;
    }

    .title_box .ttl .f49{
        font-size: 4.9vw;
    }

    .title_box .ttl .f50{
        font-size: 5.0vw;
    }

    .title_box .ttl .f60{
        font-size: 6.0vw;
    }

    .title_box .ttl .f70{
        padding: 0 1.0vw;
        font-size: 7.0vw;
    }

    .title_box p{
        margin: 1.0vw 0 0;
    }

    .title_box p.mat_20{
        margin: 2.0vw 0 0;
    }


    /* logo_title
       ================================================================== */
    .logo_title .logo{
        width: 18.9vw;
    }

    .logo_title .ttl_txt{
        margin: 1.0vw 0 0;
        font-size: 3.5vw;
    }

    .logo_title .siz_s{
        margin: .5vw 0 0;
        font-size: 1.6vw;
    }


    /* logo_title02
       ================================================================== */
    .logo_title02 .logo{
        width: 44.8vw;
    }

    .logo_title02 .ttl_txt{
        margin: 1.0vw 0 0;
        font-size: 1.9vw;
    }


    /* contact
       ================================================================== */
    .contact{
    	padding: 0 0 22.6vw;
    }

    /* form */
    .top_note{
    	margin: 0 0 1.7vw;
        font-size: 1.8vw;
    }
    
    .top_text{
    	margin: 0 0 0;
        font-size: 1.5vw;
        line-height: 2.5vw;
        text-align: center;
    }
    
    .top_text + .top_text{
        margin-top: 2.5vw;
    }

    .conf_text{
        margin: 0 0 0;
    	font-size: 1.5vw;
        line-height: 2.5vw;
    }
    
    .contact table{
        margin: 7vw auto 0;
        width: 70%;
    }
    
    .contact th,
    .contact td{
        width: auto;
    	font-size: 15px;
    }
    
    .contact th{
    	padding: 0 0 0;
        box-sizing: border-box;
    }
    
    .contact .title_top th{
    	padding-top: 31px;
        vertical-align: top;
    }
    
    .contact td{
    	padding: 17px 0 18px;
    }
    
    .contact .check_bg,
    .contact output,
    .contact input,
    .contact select,
    .contact textarea{
    	margin: 0;
    	font-size: 16px;
    	padding: 15px;
        max-width: 95%;
    }
	
	.contact select{
		vertical-align: middle;
	}
    
    .contact textarea{
        height: 180px;
    }
    
    /* ラジオボタン */
    .contact .radio_input{
        padding: 17px 0 2px;
    }

    .contact .radio_input .check_bg,
    .contact .radio_input output{
        margin: 0 0 15px;
    }
    
    .radio_input label{
        margin: 0 10px 15px 0;
    	display: inline-flex;
        align-items: center;
    }
    
    input[type='checkbox'] ,
    input[type='radio'] {
        appearance: none;
        outline: none;
        display: block;
        position: relative;
        text-align: center;
        cursor: pointer;
        width: 18px;
        height: 18px;
    	margin: 0 10px 0 0;
        font-size: 0;
        padding: 0;
        border: none;
    }
    
    input[type='checkbox']::before ,
    input[type='radio']::before {
        width: 18px;
        height: 18px;
    }
    
    input[type='checkbox']::after ,
    input[type='radio']::after {
        left: 5px;
        top: 5px;
        width: 10px;
        height: 10px;
    }

    /* 郵便番号 */
    .address .flex{
        margin: 0 0 20px;
    }
    
    .address .flex p{
        margin: 0 20px 0 0;
        font-size: 15px;
    }
    
    .address .flex .check_bg,
    .address .flex output,
    .address .flex input{
        width: 140px;
    }

    /* ⽣年⽉⽇ */
    .birth .flex p{
        margin: 0 20px;
        font-size: 15px;
    }
        
    /* ⽣年個人情報保護方針 */
    .contact .scroll_box{
        padding: 1.7vw 2.5vw;
        height: 23.5vw;
    }

    .contact .scroll_box p{
        font-size: 1.4vw;
        line-height: 2.4vw;
    }

    .zas_btn_area{
    	margin: auto;
    	text-align: center;
    	padding: 40px 0 0;
    	font-size: 0;
    	box-sizing: border-box;
    }
    
    .zas_btn_area button{
    	font-size: 16px;
    	color: #FFF;
    	border: 2px solid #DC1C1F;
    	position: relative;
    	overflow: hidden;
    	text-align: center;
        transition: .3s;
        cursor: pointer;
    }
    
    .zas_btn_area button span{
    	padding: 12px 0;
    	border: none;
    	display: block;
    	font-size: 16px;
        transition: .3s;
    }
    
    .zas_btn_area .zas_btn01 button{
    	width: 50%;
    	max-width: 280px;
    }
    
    .zas_btn_area .zas_btn02 button{
    	margin-right: 2%;
    	width: 28%;
        border-color: #ccc;
    }
    
    .zas_btn_area .zas_btn03 button{
    	width: 50%;
    	max-width: 280px;
    }
    
    .zas_btn_area .zas_btn01 button:hover,
    .zas_btn_area .zas_btn03 button:hover{
    	background: #fff;
    }
    
    .zas_btn_area .zas_btn02 button:hover{
    	opacity: .5;
    }
    
    .zas_btn_area .zas_btn01 button:hover span,
    .zas_btn_area .zas_btn03 button:hover span{
    	color: #DC1C1F;
    }


    /* thanks
       ================================================================== */
    .contact_block.thanks{
        padding-top: 0;
    }

    .thanks p{
        margin: 0 0 0;
    	font-size: 1.8vw;
        line-height: 3.0vw;
        text-align: center;
    }
    
    .thanks .go_top_btn{
    	margin: 9.0vw 0 0;
    }


    /* cv
       ================================================================== */
    .cv .to_contact{
        padding: 40.0vw 0 12.0vw;
    }

    .cv .to_contact .inner{
        padding-top: 3.0vw;
    }

    .cv .to_recruit{
        padding: 12.8vw 0 16.8vw;
    }

    .cv .block_title{
        position: relative;
    }

    .cv .anim_border.top{
        width: 40.0vw;
    }

    .cv p{
        margin: 1.6vw 0 0;
    }

    .cv .btn_box{
        margin: 3.0vw 0 0;
    }

    .cv .btn_box.flex{
        display: flex;
        justify-content: center;
    }

    .cv .btn_box.flex .btn + .btn{
        margin-left: 2.0vw;
    }

    .cv .tel_style{
        margin: 2.3vw 0 0;
    }

    .cv .tel_style .siz_s{
        font-size: 2.0vw;
    }

    .cv .tel_style .siz_l{
        font-size: 3.0vw;
    }

    .cv .tel_style + p{
        margin: 1.1vw 0 0;
    }


	/* design_table
	   ================================================================== */
	.design_table{
		width: 100%;
		box-sizing: border-box;
	}
	
	.design_table th,
	.design_table td{
        font-size: 1.5vw;
		width: auto;
		display: table-cell;
		vertical-align: middle;
		box-sizing: border-box;
	}
	
	.design_table th{
		padding: 0 2vw 0 5vw;
		width: 23%;
	}
	
	.design_table .col th{
		padding: 2vw 2vw 2vw 5vw;
	}
	
	.design_table .title_top th{
		padding-top: 2.5vw;
		vertical-align: top;
	}
	
	.design_table td{
		padding: 2.5vw 0;
	}

	.design_table td .border{
		padding: 0 2vw 0 5vw;
		border-top: none;
		border-left: 1px solid #ddd;
		min-height: 3vw;
		display: flex;
		align-items: center;
        box-sizing: border-box;
	}

	.design_table td .border.box_in{
		display: block;
	}

    .design_table td .box + .box{
    	margin: 3vw 0 0;
    }
    
    .design_table td .ttl + p{
    	margin: .7vw 0 0;
    }
        
    .design_table td .names .ttl{
        width: 17.0vw;
    }

    .design_table td .icon_privacy{
        margin: 0 2.2vw 0 0;
        width: 7.3vw;
    }


    /* standard_table
       ================================================================== */
    .standard_table{
        margin: 2.5vw auto 0;
    }

    .standard_table th,
    .standard_table td{
        padding: 1.1vw .5vw;
        font-size: 1.5vw;
        line-height: 2.7vw;
        box-sizing: border-box;
    }

    .standard_table .left{
        padding-left: 3.5vw;
        padding-right: 3.0vw;
    }

    .standard_table .f13{
        margin: 1.5vw 0 0;
        font-size: 1.3vw;
        line-height: 2.2vw;
    }

    /* line3 */
    .standard_table.line3 th,
    .standard_table.line3 td{
        padding-left: 1vw;
        padding-right: 1vw;
    }

    .standard_table.line3 tr > *:nth-child(1){
        width: 38%;
    }

    .standard_table.line3 tr > *:nth-child(2){
        width: 52%;
    }

    .standard_table.line3 tr > *:nth-child(3){
        width: 10%;
    }

    /* line2 */
    .standard_table.line2 th,
    .standard_table.line2 td{
        display: table-cell;
        width: auto;
        border: 1px solid #ddd;
    }

    .standard_table.line2 th{
        text-align: center;
    }

    .standard_table.line2 tr > *:nth-child(1){
        width: 28%;
    }

    .standard_table.line2 tr > *:nth-child(2){
        width: 72%;
    }


    /* index_links_block
       ================================================================== */
    .index_links_block{
        padding: 12.0vw 3.0vw 0;
    }

    .index_links_block .box_slider{
        margin: 0;
        width: 100%;
    }
    
    .index_links_block .box_slider .swiper-wrapper{
        display: block;
        font-size: 0;
    }

    .index_links_block .box_slider{
        opacity: 1;
    }

    .index_links_block .box_slider .swiper-slide{
        margin: 2.0vw 1.5vw 0 0;
        width: calc((100% / 4) - 1.13vw);
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
    }

    .index_links_block .box_slider .swiper-slide:nth-child(3){
        margin-right: calc((100% / 4) - 1.13vw);
    }

    .index_links_block .box_slider .swiper-slide:nth-child(7){
        margin-right: 0;
    }

    .box_slider .link_box{
        position: relative;
    }

    .box_slider .card{
        padding: 1.5vw 0;
        width: 100%;
        height: auto;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .box_slider .card .ttl{
        margin: 0 0 1.4vw;
    }

    .box_slider .card .ttl .mat_10{
        margin-top: .5vw;
    }

    .box_slider .card .ttl .f17{
        font-size: 1.5vw;
    }

    .box_slider .card .ttl .f20{
        font-size: 1.7vw;
    }

    .box_slider .card .ttl .f23{
        font-size: 2.0vw;
    }

    /* bottom_box */
    .index_links_block .bottom_box{
        margin: 4.8vw 0 0;
    }

    .index_links_block .bottom_box h3{
        font-size: 7.7vw;
        line-height: 120%;
    }

    .index_links_block .bottom_box .btn_box{
        margin: 3.0vw 0 0;
        justify-content: flex-end;
    }

    .index_links_block .bottom_box .btn_box .btn + .btn{
        margin-left: 2.0vw;
    }


    /* points_block
       ========================================================================== */
    .points_block{
        margin: 21.5vw 0 0;
    }

    .points_block .list_wrap{
        position: relative;
    }

    .points_block .list_wrap > li{
        margin-top: -5.0vw;
        padding: 3.0vw 4.0vw 10.0vw;
        min-height: 15.0vw;
        border-radius: 60px 60px 0 0;
    }

    .points_block .list_wrap > li:nth-child(1){
        top: 3.0vh;
    }

    .points_block .list_wrap > li:nth-child(2){
        top: 13.0vh;
    }

    .points_block .list_wrap > li:nth-child(3){
        top: 23.0vh;
    }

    .points_block .list_wrap > li:nth-child(4){
        top: 33.0vh;
    }

    /* li.company_linkの事 */
    .points_block .list_wrap > li:nth-child(5){
        background: #fff;
        border-radius: 0;
    }

    .points_block .list_wrap > li .title_box{
        margin: 0 auto;
    }

    .points_block .list_wrap > li p{
        margin-top: 1.6vw;
        font-size: 1.8vw;
    }

    .points_block .list_wrap > li p + p{
        padding-top: 1.7vw;
    }


    /* company_link
       ========================================================================== */
    .company_link{
        padding: 21.5vw 0 27.0vw !important;
    }

    .company_link .flex_box{
        display: flex;
        justify-content: center;
    }

    .company_link .logo{
        widt: 44.8vw;
    }

    .company_link h2{
        margin: 2.3vw 0 0;
        font-size: 2.1vw;
    }

    .company_link .rolling_area{
        margin: 12.3vw auto 9.0vw;
        width: calc(78.0vw + 4.0vw);
    }

    .company_link .rolling_area ul{
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }

    .company_link .rolling_area ul li{
        padding: 1.2vw;
    }

    .company_link .rolling_area ul li:nth-child(1){
        animation-name: rolling_anime_pc01;
    }

    .company_link .rolling_area ul li:nth-child(2){
        animation-name: rolling_anime_pc02;
    }

    .company_link .rolling_area ul li:nth-child(3){
        animation-name: rolling_anime_pc03;
    }

    .company_link .rolling_area ul li:nth-child(4){
        animation-name: rolling_anime_pc04;
    }

    .company_link .rolling_area ul li:nth-child(5){
        animation-name: rolling_anime_pc05;
    }

    .company_link .rolling_area ul li:nth-child(6){
        animation-name: rolling_anime_pc06;
    }

    .company_link .rolling_area ul li:nth-child(7){
        animation-name: rolling_anime_pc07;
    }

    .company_link .rolling_area ul li:nth-child(8){
        animation-name: rolling_anime_pc08;
    }

    .company_link .rolling_area ul li:nth-child(9){
        animation-name: rolling_anime_pc09;
    }

    .company_link .rolling_area ul li:nth-child(10){
        animation-name: rolling_anime_pc10;
    }


    /* message_block
       ========================================================================== */
    .message_block{
        padding: 0 0 0;
    }

    .message_block .message_box{
        margin: 5.0vw 0 0;
        display: flex;
    }

    .message_block .message_box .photo{
        margin: 0;
        width: 35.0vw;
        float: none;
    }

    .message_block .message_box .text_box{
        padding: 6.0vw 0 0 5.0vw;
        width: calc(100% - 35.0vw);
        box-sizing: border-box;
    }

    .message_block .message_box .name{
        margin: 5.2vw 0 0;
    }

    .message_block .message_box .name .company_name,
    .message_block .message_box .name .ind{
        font-size: 1.6vw;
    }

    .message_block .message_box .name .inbox{
        padding: .6vw 0 0;
    }

    .message_block .message_box .name .name{
        margin: 0 0 .6vw 2.0vw;
        font-size: 3.0vw;
    }


    /* profile_block
       ========================================================================== */
    .profile_block{
        padding: 14.0vw 0 0;
    }

    .profile_block .design_table{
        margin: 5.0vw 0 0;
    }


    /* access_block
       ========================================================================== */
    .access_block{
        padding: 17.0vw 0 0;
    }

    .access_block .design_table{
        margin: 5.0vw 0 0;
    }

    .access_block .map{
        margin: 5.0vw 0 0;
    }

    .access_block .map iframe{
        height: 40.0vw;
    }

    .access_block .route{
        margin: 2.0vw 0 0;
        font-size: 1.5vw;
    }


    /* history_block
       ========================================================================== */
    .history_block{
        padding: 17.0vw 0 23.8vw;
    }

    .history_block .list{
        margin: 5.0vw 0 0;
    }

    .history_block .list > li{
        padding: 2.0vw 2.0vw 2.0vw;
    }

    .history_block .list .date{
        font-size: 1.4vw;
    }

    .history_block .list p{
        margin: .9vw 0 0;
        line-height: 3.0vw;
    }


    /* organization_block
       ========================================================================== */
    .organization_block{
        padding: 0 0 0;
    }

    .organization_block .scroll_block{
        margin: 7.8vw 0 0;
        padding: 0;
    }

    .organization_block .chart_wrap{
        width: 69.0vw;
    }

    .organization_block .pmo_link,
    .organization_block .dx_link{
        left: 37.0vw;
        width: 32.0vw;
        height: 10.0vw;
        background: #eee;
        transition: .3s;
    }

    .organization_block .pmo_link:hover,
    .organization_block .dx_link:hover{
        opacity: .5;
    }

    .organization_block .pmo_link{
        top: 18.5vw;
    }

    .organization_block .dx_link{
        top: 30.0vw;
    }


    /* department_introduction
       ========================================================================== */
    .department_introduction{
        margin: 14.0vw 2.0vw 0;
    }

    .department_introduction.last_content{
        padding-bottom: 23.0vw;
    }

    .department_introduction .border_wrap{
        margin: 0 auto 0;
        padding: 8.5vw 3.0vw 10.0vw;
        border-width: 8px;
        box-sizing: border-box;
    }

    .department_introduction .introduction_wrap{
        margin: 5.0vw 0 0;
        padding: 0;
    }

    .department_introduction .introduction_wrap .flex{
        display: flex;
    }

    .introduction_wrap .photo{
        margin: 0;
        width: 30.0vw;
    }

    .introduction_wrap .text_box{
        margin: 0 0 0;
        padding: 1.8vw 0 0 4.5vw;
        width: calc(100% - 30.0vw);
        box-sizing: border-box;
    }

    .introduction_wrap .text_box .inbox{
        padding: 0 0 4.0vw;
    }

    .introduction_wrap .text_box .title_box .ttl + p{
        margin-top: 2.3vw;
    }

    .introduction_wrap .case_block{
        margin: 4.0vw 0 0;
    }

    .introduction_wrap .case_block h4{
        font-size: 1.5vw;
    }

    .introduction_wrap .case_block .case_list{
        margin: 3.7vw 0 0;
    }

    .introduction_wrap .case_block .case_list > li{
        margin: 2.5vw 0 0;
    }

    .introduction_wrap .case_block .case_list .ttl{
        padding: 1.9vw 3.0vw;
    }

    .introduction_wrap .case_block .case_list .case_text_box{
        padding: 1.9vw 3.0vw;
    }

    .introduction_wrap .case_block .case_list .ttl,
    .introduction_wrap .case_block .case_list p{
        font-size: 1.5vw;
        line-height: 2.5vw;
    }


    /* recruit_staff
       ================================================================== */
    .recruit_staff{
        margin: 0 0 20.0vw;
        padding: 8.0vw 0 10.7vw;
    }

    .staff_list{
        margin: 8.0vw 2.0vw 7.0vw;
        display: grid;
        gap: 8.0vw 1.5vw;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-template-rows: auto;
    }

    .staff_list > li{
        position: relative;
    }

    .staff_list li a{
        position: relative;
        display: block;
    }

    .staff_list .photo{
        position: relative;
        display: block;
    }

    .staff_list .photo::before{
        width: 6.0vw;
        height: 6.0vw;
        bottom: .5vw;
        right: .5vw;
        transition: .3s;
        transform-origin: right bottom;
    }

    .staff_list a:hover .photo::before{
        transform: scale(1.1);
    }

    .staff_list .text_box{
        padding: 1.5vw 0 0;
    }

    .staff_list .text_box .title span{
        padding: .5vw 1.7vw;
        font-size: 1.3vw;
        width: 19.0vw;
        height: 3.0vw;
        box-sizing: border-box;
    }

    .staff_list .text_box p{
        margin: 1.0vw 0 0;
        font-size: 1.3vw;
    }


    /* staff_voice_block
       ================================================================== */
    .staff_voice_block{
        padding: 0 2.0vw 17.0vw;
    }

    .staff_voice_block::before{
        height: 84.0vw;
    }

    .staff_profile{
        margin: 0 5.0vw;
    }

    .staff_profile .flex{
        display: flex;
        flex-wrap: wrap;
        flex-direction: row-reverse;
    }

    .staff_profile .photo{
        margin: 0 0 0;
        width: 35.0vw;
    }

    .staff_profile .text_box{
        margin: 0 0 0;
        padding: 10.0vw 0 0 4.5vw;
        width: calc(100% - 35.0vw);
        box-sizing: border-box;
    }

    .staff_profile .text_box h3 > span{
        padding: 0 1.7vw 0 0;
        font-size: 3.3vw;
    }

    .staff_profile .text_box h3 > span::before{
        top: 50%;
    }

    .staff_profile .text_box h4{
        margin: 1.0vw 0 0;
        font-size: 3.8vw;
    }

    .staff_profile .text_box p{
        margin: 2.0vw 0 0;
        font-size: 2.3vw;
    }

    .staff_voice_block .border_wrap{
        margin: -13.7vw auto 0;
        padding: 20.8vw 5.0vw 14.0vw;
        border-width: 8px;
    }

    .staff_voice_block .faq_list > li + li{
        margin: 4.5vw 0 0;
    }

    .staff_voice_block .faq_list .title_box .ttl .ttl_bottom{
        font-size: 2.5vw;
    }

    .staff_voice_block .faq_list .title_box p{
        line-height: 2.8vw;
    }

    .staff_voice_block .btn{
        margin: 10.0vw 0 0;
    }


	/* detail_btn_area
	   ================================================================== */
	.detail_btn_area{
		margin: 10.0vw 0 0;
		font-size: 0;
		text-align: center;
	}
	
    .detail_btn_area .arrow_btn,
    .detail_btn_area .arrow_btn.next,
    .detail_btn_area .arrow_btn.prev{
    	width: 32%;
    }

    .detail_btn_area .arrow_btn.back{
    	margin: 0 2%;
    }
    
	.detail_btn_area .arrow_btn a,
	.detail_btn_area .arrow_btn button{
		padding: 0;
		width: 100%;
        height: 45px;
        line-height: 45px;
		text-align: center;
		font-size: 15px;
		letter-spacing: 0.10em;
		transition: .3s;
		cursor: pointer;
	}
	
	.detail_btn_area .arrow_btn path{
		transition: .3s;
	}
	
	.detail_btn_area .arrow_btn a:hover,
	.detail_btn_area .arrow_btn button:hover{
		background: #DF351F;
		border-color: #DF351F;
        color: #fff;
	}

	.detail_btn_area .arrow_btn a:hover path{
        fill: #fff;
	}


    /* rule_block
       ================================================================== */
    .rule_block{
        padding: 0 0 17.0vw;
    }

    .rule_list{
        margin: 0 0 0;
    }

    .rule_list p{
        line-height: 2.6vw;
    }

    .rule_list p + p{
        margin-top: 2.5vw;
    }

    .rule_list > li + li{
        margin: 10.0vw 0 0;
    }

    .rule_list .in_list{
        margin: 0 0 0;
    }

    .rule_list .in_list > li + li{
        margin: 5.0vw 0 0;
    }

    /* title */
    .rule_list .title{
        margin: 0 0 5.0vw;
        font-size: 2.9vw;
    }

    .rule_list .in_title{
        margin: 0 0 2.5vw;
        padding: 0 1.5vw 1.5vw;
        font-size: 1.7vw;
    }

    /* border_box */
    .rule_list .border_box{
        margin: 0 0 0;
        padding: 2.3vw 2.4vw;
    }

    .rule_list .border_box .ttl{
        font-size: 1.7vw;
    }

    .rule_list .border_box p{
        margin-top: 1.5vw;
    }

    /* border_top_box */
    .rule_list .border_top_box{
        margin-top: 5.0vw;
        padding-top: 5.0vw;
    }

    /* mat */
    .rule_list .mat25{
        margin-top: 2.5vw;
    }

    .rule_list .mat35{
        margin-top: 3.5vw;
    }


    /* number_ol
       ================================================================== */
    .number_ol{
        margin: 2.5vw auto 0;
    }

    .number_ol > li{
        margin: 3.0vw 0 0;
    }

    .number_ol .number{
        font-size: 1.6vw;
    }

    .number_ol .number_title{
        padding: 1.2vw 0 0 2.7vw;
        font-size: 1.7vw;
    }

    .number_ol .number_title + p{
        margin: 1.0vw 0 0;
    }
    

    /* recruit_charm
       ================================================================== */
    .recruit_charm{
        margin: -8.5vw 0 0;
        padding: 0 0 10.0vw;
    }

    .recruit_charm .recruit_kv img{
        width: 90%;
    }

    .recruit_charm .logo_title02{
        margin: 5.0vw 0 0;
    }

    .recruit_charm .catch{
        margin: 3.0vw 0 0;
    }

    .recruit_charm .catch > span{
        padding: 1.0vw 2.4vw;
        font-size: 2.7vw;
    }

    .recruit_charm .icon_introduction{
        margin: 2.0vw 0 0;
    }

    .recruit_charm .icon_introduction > li{
        margin: 1.0vw 0 0;
    }

    .recruit_charm .icon_introduction .icon{
        width: 2.0vw;
    }

    .recruit_charm .icon_introduction .name{
        padding: 0 0 0 1.7vw;
        font-size: 1.5vw;
        width: calc(100% - 2.0vw);
    }

    .recruit_charm .list{
        margin: 3.3vw 0 0;
    }

    .recruit_charm .list > li + li{
        margin: 3.6vw 0 0;
    }

    .recruit_charm .list .list_top{
        margin: 0 0 0;
        display: flex;
        align-items: center;
    }

    .recruit_charm .list .list_top .photo{
        width: 40.0vw;
    }

    .recruit_charm .list .list_top .text_box{
        padding: 0 0 0 4.0vw;
        width: calc(100% - 40.0vw);
        box-sizing: border-box;
    }

    .recruit_charm .list .list_top .ttl{
        font-size: 2.5vw;
    }

    .recruit_charm .list .list_bottom{
        margin: 1.0vw 0 0;
    }

    .recruit_charm .list .list_bottom > li{
        padding: 2.0vw 2.0vw 2.0vw 6.0vw;
        font-size: 1.5vw;
        line-height: 2.5vw;
        background-image: url("../images/recruit/icon_user01.svg"), url("../images/recruit/icon_user02.svg");
        background-repeat: no-repeat;
        background-position: 0 1.7vw,2.5vw 1.7vw;
        background-size: 2.0vw;
    }

    .recruit_charm .list .list_bottom > li.icon1,
    .recruit_charm .list .list_bottom > li.icon2{
        background-position: 1.5vw 1.7vw;
    }


    /* recruit_works
       ================================================================== */
    .recruit_works .title{
        font-size: 10.0vw;
        bottom: 3.0vw;
        right: 2.0vw;
    }

    .recruit_works .inner{
        min-height: 60.0vw;
    }

    .recruit_works .numner_ttl{
        font-size: 4.0vw;
    }

    .recruit_works .number_txt{
        margin: -.2vw 0 0;
    }

    .recruit_works .number_txt .siz_l{
        font-size: 7.0vw;
    }

    .recruit_works .number_txt .siz_m{
        margin: 0 0 0 1.0vw;
        font-size: 3.0vw;
    }

    .recruit_works .number_txt .siz_s{
        font-size: 2.0vw;
    }

    .recruit_works .txt{
        margin: .5vw 0 0;
        font-size: 1.8vw;
    }


    /* recruit_composition
       ================================================================== */
    .recruit_composition{
        padding: 4.2vw 0 0;
    }

    .recruit_composition .list{
        margin: -3.0vw 0 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .recruit_composition .list > li{
        margin: 7.0vw 0 0;
        width: 47%;
    }

    .recruit_composition .list .ttl span{
        padding: .9vw 5.0vw .9vw 1.5vw;
        font-size: 1.8vw;
    }

    .recruit_composition .list .photo{
        margin: 1.0vw 0 0;
        min-height: 25.0vw;
    }

    .recruit_composition .list p{
        margin: 2.0vw 0 0;
        font-size: 1.4vw;
        line-height: 2.3vw;
    }


    /* recruit_example
       ================================================================== */
    .recruit_example{
        padding: 10.0vw 0 0;
    }

    .recruit_example .show2box_slider{
        margin: 4.0vw 0 0 !important;
    }

    /* show2box_slider */
    .show2box_slider{
        width: 82.0vw;
    }

    /* pagination */
    .show2box_slider .swiper-pagination{
        margin-top: 2.5vw;
    }

    .show2box_slider .swiper-pagination-bullet{
        margin: 0 1.0vw 0 0 !important;
        width: 2.0vw;
        height: 2.0vw;
    }

    /* slide_box */
    .show2box_slider .slide_box{
        padding: 2.8vw 1.5vw 2.8vw 3.5vw;
        min-height: 33.0vw;
    }

    .show2box_slider .slide_box .box_ttl{
        font-size: 1.8vw;
    }

    .show2box_slider .slide_box .sub{
        margin: .2vw 0 0;
        font-size: 1.6vw;
    }

    .show2box_slider .slide_box p{
        margin: 1.5vw 0 0;
        font-size: 1.4vw;
        line-height: 2.3vw;
    }

    /* photos */
    .recruit_example .photos{
        margin: 1.5vw 0 0;
        padding: 0;
        overflow: visible;
    }

    .recruit_example .photos ul{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .recruit_example .photos ul > li{
        margin: 2.0vw 0 0;
        width: 32%;
    }


    /* recruit_faq
       ================================================================== */
    .recruit_faq{
        padding: 10.0vw 0 10.0vw;
    }

    .oc_list{
        margin: 4.0vw 0 0;
    }

    .oc_list > dl{
        margin: 3.0vw 0 0;
    }

    .oc_list > dl dt{
        padding: 2.1vw 6.0vw 2.1vw 3.5vw;
        font-size: 1.8vw;
        transition: .3s;
    }

    .oc_list > dl dt:hover{
        background: #EE7A1D;
    }

    .oc_list > dl dt::after{
        width: 2.0vw;
        height: 1.0vw;
        right: 3.0vw;
    }

    .oc_list > dl dd{
        margin-top: -3.0vw;
        padding: 6.5vw 3.5vw 3.5vw;
        font-size: 1.5vw;
        line-height: 3.0vw;
    }
    

    /* recruit_form
       ================================================================== */
    .recruit_form{
        padding: 0 0 21.0vw;
    }

    .recruit_form .logo_title{
        margin-bottom: 6.0vw;
    }

    .recruit_form .ttl{
        font-size: 1.6vw;
    }

    .recruit_form .list{
        margin: 7.0vw 0 0;
        display: grid;
        gap: 4.0vw 2.0vw;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }

    
}
@media screen and (min-width : 1040px){    


    /* max_photos
       ================================================================== */
    .max_photos{
        margin: 0 auto;
        padding: 0 20px;
    }

    .max_photos > li{
        width: calc((100% / 2) - 20px);
    }


    /* ページ最上部コンテンツ
       ================================================================== */
    .under_page_title,
    .kv{
        margin-top: -117px !important;
        padding-top: 117px !important;
    }


    /* kv
       ================================================================== */
    .kv{
        padding: 0;
    }
    
    .kv .inner{
        padding-top: 283px;
        padding-bottom: 95px;
        max-width: 1250px;
    }

    .kv .anim_border.top{
        width: 580px;
        top: 250px;
        right: 395px;
    }

    .kv .anim_border.bottom{
        width: calc(323px + 50vw);
        right: 323px;
    }

    /* line123 */
    .kv .title.border_on > .line1::before{
        width: 100%;
        right: calc(0% - 0);
    }

    .kv .title.border_off > .line1::before{
        width: 0%;
        right: calc(0% - 30vw);
    }

    .kv .title.border_on > .line1::after{
        width: 100%;
        left: calc(0% - 0);
    }

    .kv .title.border_off > .line1::after{
        width: 0%;
        left: calc(0% - 30vw);
    }

    /* line1 */
    .kv .title .line1{
        margin: 0 0 0;
        padding: 0 0 0;
    }

    .kv .title .line1 .text_cover > span{
        font-size: 80px;
    }

    /* line2 */
    .kv .title .line2{
        margin: 23px 0 0;
    }

    .kv .title .line2 span{
        font-size: 23px;
    }

    /* line3 */
    .kv .title .line3{
        margin: 20px 0 0;
    }

    .kv .title .line3 > span{
        font-size: 21px;
    }


    /* under_page_title
       ================================================================== */
    .under_page_title{
        padding: 0 0 0;
    }

    .under_page_title .inner{
        padding-top: 100px;
        padding-bottom: 125px;
        max-width: 1250px;
    }

    .under_page_title .anim_border.top{
        width: 300px;
        top: 60px;
        right: 630px;
    }

    
    /* block_title
       ================================================================== */
    .block_title.border_on > .line1::before{
        top: 50%;
    }

    .block_title .line1 span{
        font-size: min(8vw,100px);
    }

    .block_title.f30 .line1 span{
        font-size: 30px;
    }


    /* title_box
       ================================================================== */
    .title_box .ttl.left_border{
        padding-left: 30px;
    }
    
    .title_box .ttl .ttl_top{
        font-size: 18px;
    }

    .title_box .ttl .ttl_bottom{
        margin-top: 5px;
        font-size: 50px;
    }

    .title_box .ttl .mal_10{
        margin-left: 10px;
    }

    .title_box .ttl .mat_10{
        margin-top: 10px;
    }

    .title_box .ttl .f16{
        font-size: 16px;
    }

    .title_box .ttl .f17{
        font-size: 17px;
    }

    .title_box .ttl .f20{
        font-size: 20px;
    }

    .title_box .ttl .f22{
        font-size: 22px;
    }

    .title_box .ttl .f23{
        font-size: 23px;
    }

    .title_box .ttl .f24{
        font-size: 24px;
    }

    .title_box .ttl .f25{
        font-size: 25px;
    }

    .title_box .ttl .f27{
        font-size: 27px;
    }

    .title_box .ttl .f29{
        font-size: 29px;
    }

    .title_box .ttl .f30{
        font-size: 30px;
    }

    .title_box .ttl .f34{
        font-size: 34px;
    }

    .title_box .ttl .f35{
        font-size: 35px;
    }

    .title_box .ttl .f40{
        font-size: 40px;
    }

    .title_box .ttl .f45{
        font-size: 45px;
    }

    .title_box .ttl .f48{
        font-size: 48px;
    }

    .title_box .ttl .f49{
        font-size: 49px;
    }

    .title_box .ttl .f50{
        font-size: 50px;
    }

    .title_box .ttl .f60{
        font-size: 60px;
    }

    .title_box .ttl .f70{
        padding: 0 10px;
        font-size: 70px;
    }

    .title_box p{
        margin: 10px 0 0;
    }

    .title_box p.mat_20{
        margin: 20px 0 0;
    }


    /* logo_title
       ================================================================== */
    .logo_title .logo{
        width: 189px;
    }

    .logo_title .ttl_txt{
        margin: 10px 0 0;
        font-size: 35px;
    }

    .logo_title .siz_s{
        margin: 5px 0 0;
        font-size: 16px
    }


    /* logo_title02
       ================================================================== */
    .logo_title02 .logo{
        width: 448px;
    }

    .logo_title02 .ttl_txt{
        margin: 10px 0 0;
        font-size: 19px;
    }


    /* contact
       ================================================================== */
    .contact{
    	padding: 0 0 226px;
    }

    /* form */
    .contact form{
    	margin-top: -140px;
        padding-top: 140px;
    }

    .top_note{
    	margin: 0 0 17px;
        font-size: 18px;
    }
    
    .top_text{
        margin: 0 0 0;
    	font-size: 15px;
        line-height: 25px;
    }
        
    .top_text + .top_text{
        margin-top: 25px;
    }

    .conf_text{
        margin: 0 0 0;
    	font-size: 15px;
    }
    
    .contact table{
        margin: 70px auto 0;
        width: 700px;
    	font-size: 15px;
    }
    
    .contact table td,
    .contact table th{
    	font-size: 15px;
    }
    
    .contact th{
    	padding: 0 0 0;
    }
    
    .contact td{
    	padding: 20px 0 30px;
    }
    
    .contact .check_bg,
    .contact output,
    .contact input,
    .contact select,
    .contact textarea{
    	font-size: 15px;
    	padding: 21px 30px;
        max-width: 100%;
    }
    
    .contact textarea{
        height: 235px;
    }
    
    /* ラジオボタン */
    .contact .radio_input{
        padding: 20px 0 15px;
    }

    .contact .radio_input .check_bg,
    .contact .radio_input output{
        margin: 0 0 15px;
    }
    
    .radio_input label{
        margin: 0 20px 15px 0;
    	display: inline-flex;
        align-items: center;
    }
    
    input[type='checkbox'] ,
    input[type='radio'] {
        appearance: none;
        outline: none;
        display: block;
        position: relative;
        text-align: center;
        cursor: pointer;
        width: 23px;
        height: 23px;
    	margin: 0 12px 0 0;
        font-size: 0;
        padding: 0;
        border: none;
    }
    
    input[type='checkbox']::before ,
    input[type='radio']::before {
        width: 23px;
        height: 23px;
    }
    
    input[type='checkbox']::after ,
    input[type='radio']::after {
        left: 5px;
        top: 5px;
        width: 15px;
        height: 15px;
    }

    /* チェックアイコン */
    .icon_check input[type='checkbox']::after ,
    .icon_check input[type='radio']::after {
        left: 6px;
        top: -2px;
        width: 24px;
        height: 24px;
    }

    /* 郵便番号 */
    .address .flex{
        margin: 0 0 20px;
    }
    
    .address .flex p{
        margin: 0 20px 0 0;
        font-size: 15px;
    }
    
    .address .flex .check_bg,
    .address .flex output,
    .address .flex input{
        width: 140px;
    }

    /* ⽣年⽉⽇ */
    .birth .flex p{
        margin: 0 20px;
        font-size: 15px;
    }

    .birth .flex select{
        padding-left: 0;
        padding-right: 0;
        width: 60px;
    }

    .birth .wid100 select{
        width: 100px;
    }
    
    /* ⽣年個人情報保護方針 */
    .contact .scroll_box{
        padding: 17px 25px;
        height: 235px;
    }

    .contact .scroll_box p{
        font-size: 14px;
        line-height: 24px;
    }
    
    .zas_btn_area{
    	padding: 70px 0 0;
    }
    
    .zas_btn_area button{
    	font-size: 16px;
    }
    
    .zas_btn_area button > span{
    	padding: 17px 0;
    	font-size: 16px;
    }
    
    .zas_btn_area .zas_btn01 button{
    	width: 280px;
    }
    
    .zas_btn_area .zas_btn02 button{
    	margin-right: 2%;
    	width: 28%;
    }
    
    .zas_btn_area .zas_btn03 button{
    	width: 280px;
    }


    /* thanks
       ================================================================== */
    .contact_block.thanks{
        padding-top: 0;
    }

    .thanks p{
        margin: 0 0 0;
    	font-size: 18px;
        line-height: 32px;
    }
    
    .thanks .go_top_btn{
    	margin: 90px 0 0;
    }


    /* cv
       ================================================================== */
    .cv .to_contact{
        padding: 400px 0 120px;
    }

    .cv .to_contact .inner{
        padding-top: 30px;
    }

    .cv .to_recruit{
        padding: 128px 0 168px;
    }

    .cv .block_title{
        position: relative;
    }

    .cv .anim_border.top{
        width: 400px;
    }

    .cv p{
        margin: 16px 0 0;
    }

    .cv .btn_box{
        margin: 30px 0 0;
    }

    .cv .btn_box.flex{
        display: flex;
        justify-content: center;
    }

    .cv .btn_box.flex .btn + .btn{
        margin-left: 20px;
    }

    .cv .tel_style{
        margin: 23px 0 0;
    }

    .cv .tel_style .siz_s{
        font-size: 20px;
    }

    .cv .tel_style .siz_l{
        font-size: 30px;
    }

    .cv .tel_style + p{
        margin: 11px 0 0;
    }
	  

	/* design_table
	   ================================================================== */
	.design_table th,
	.design_table td{
        font-size: 15px;
	}
	
	.design_table th{
		padding: 0 10px 0 50px;
		width: 23%;
	}
		
	.design_table .title_top th{
		padding-top: 25px;
	}

	.design_table td{
		padding: 25px 0;
	}

	.design_table td .border{
		padding: 0 20px 0 50px;
        min-height: 30px;
	}

    .design_table td .box + .box{
    	margin: 30px 0 0;
    }
    
    .design_table td .ttl + p{
    	margin: 7px 0 0;
    }

	.design_table td a:hover{
		text-decoration: underline;
	}
    
    .design_table td .names .ttl{
        width: 170px;
    }

    .design_table td .icon_privacy{
        margin: 0 22px 0 0;
        width: 73px;
    }


    /* standard_table
       ================================================================== */
    .standard_table{
        margin: 25px auto 0;
    }

    .standard_table th,
    .standard_table td{
        padding: 11px 5px;
        font-size: 15px;
        line-height: 27px;
        box-sizing: border-box;
    }

    .standard_table .left{
        padding-left: 35px;
        padding-right: 30px;
    }

    .standard_table .f13{
        margin: 15px 0 0;
        font-size: 13px;
        line-height: 22px;
    }

    /* line3 */
    .standard_table.line3 th,
    .standard_table.line3 td{
        padding-left: 5px;
        padding-right: 5px;
    }

    .standard_table.line3 tr > *:nth-child(1){
        width: 380px;
    }

    .standard_table.line3 tr > *:nth-child(2){
        width: 520px;
    }

    .standard_table.line3 tr > *:nth-child(3){
        width: 102px;
    }

    /* line2 */
    .standard_table.line2 tr > *:nth-child(1){
        width: 280px;
    }

    .standard_table.line2 tr > *:nth-child(2){
        width: 720px;
    }


    /* index_links_block
       ================================================================== */
    .index_links_block{
        padding: 120px 30px 0;
    }

    .index_links_block .box_slider{
        margin: 0;
        width: 100%;
    }
    
    .index_links_block .box_slider .swiper-wrapper{
        display: block;
        font-size: 0;
    }

    .index_links_block .box_slider{
        opacity: 1;
    }

    .index_links_block .box_slider .swiper-slide{
        margin: 40px 35px 0 0;
        width: calc((100% / 4) - 26.5px);
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
    }

    .index_links_block .box_slider .swiper-slide:nth-child(3){
        margin-right: calc((100% / 4) - 26.5px);
    }

    .index_links_block .box_slider .swiper-slide:nth-child(7){
        margin-right: 0;
    }

    .box_slider .link_box{
        position: relative;
        line-height: 0;
        border-radius: 20px;
        overflow: hidden;
    }

    .box_slider .card{
        padding: 0 0 36px;
        width: 100%;
        height: 100%;
        position: absolute;
        bottom: 0;
        left: 0;
        opacity: 0;
        transition: .3s;
    }

    .box_slider .link_box:hover .card{
        opacity: 1;
    }

    .box_slider .card .ttl{
        margin: 0 0 24px;
    }

    .box_slider .card .ttl .mat_10{
        margin-top: 10px;
    }

    .box_slider .card .ttl .f17{
        font-size: min(17px,1.2vw);
    }

    .box_slider .card .ttl .f20{
        font-size: min(20px,1.5vw);
    }

    .box_slider .card .ttl .f23{
        font-size: min(23px,1.7vw);
    }

    /* bottom_box */
    .index_links_block .bottom_box{
        margin: 48px 0 0;
    }

    .index_links_block .bottom_box h3{
        font-size: 77px;
        line-height: 120%;
    }

    .index_links_block .bottom_box .btn_box{
        margin: 30px 0 0;
        justify-content: flex-end;
    }

    .index_links_block .bottom_box .btn_box .btn + .btn{
        margin-left: 20px;
    }


    /* points_block
       ========================================================================== */
    .points_block{
        margin: 215px 0 0;
    }

    .points_block .list_wrap{
        position: relative;
    }

    .points_block .list_wrap > li{
        margin-top: -90px;
        padding: 40px 40px 130px;
        min-height: 170px;
        border-radius: 60px 60px 0 0;
    }

    .points_block .list_wrap > li:nth-child(1){
        top: 30px;
    }

    .points_block .list_wrap > li:nth-child(2){
        top: 170px;
    }

    .points_block .list_wrap > li:nth-child(3){
        top: 310px;
    }

    .points_block .list_wrap > li:nth-child(4){
        top: 450px;
    }

    /* li.company_linkの事 */
    .points_block .list_wrap > li:nth-child(5){
        background: #fff;
        border-radius: 0;
    }

    .points_block .list_wrap > li .title_box{
        margin: 0 auto;
        max-width: 1200px;
    }

    .points_block .list_wrap > li p{
        margin-top: 16px;
        font-size: 18px;
    }

    .points_block .list_wrap > li p + p{
        padding-top: 17px;
    }


    /* company_link
       ========================================================================== */
    .company_link{
        padding: 215px 0 270px !important;
    }

    .company_link .flex_box{
        display: flex;
        justify-content: center;
    }

    .company_link .logo{
        widt: 448px;
    }

    .company_link h2{
        margin: 23px 0 0;
        font-size: 21px;
    }

    .company_link .rolling_area{
        margin: 123px auto 90px;
        width: calc(780px + 40px);
    }

    .company_link .rolling_area ul{
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }

    .company_link .rolling_area ul li{
        padding: 12px;
    }


    /* message_block
       ========================================================================== */
    .message_block{
        padding: 0 0 0;
    }

    .message_block .message_box{
        margin: 50px 0 0;
        display: flex;
    }

    .message_block .message_box .photo{
        margin: 0;
        width: 350px;
        float: none;
    }

    .message_block .message_box .text_box{
        padding: 60px 0 0 50px;
        width: calc(100% - 350px);
        box-sizing: border-box;
    }

    .message_block .message_box .name{
        margin: 52px 0 0;
    }

    .message_block .message_box .name .company_name,
    .message_block .message_box .name .ind{
        font-size: 16px;
    }

    .message_block .message_box .name .inbox{
        padding: 6px 0 0;
    }

    .message_block .message_box .name .name{
        margin: 0 0 6px 20px;
        font-size: 30px;
    }


    /* profile_block
       ========================================================================== */
    .profile_block{
        padding: 140px 0 0;
    }

    .profile_block .design_table{
        margin: 50px 0 0;
    }


    /* access_block
       ========================================================================== */
    .access_block{
        padding: 170px 0 0;
    }

    .access_block .design_table{
        margin: 50px 0 0;
    }

    .access_block .map{
        margin: 50px 0 0;
    }

    .access_block .map iframe{
        height: 400px;
    }

    .access_block .route{
        margin: 20px 0 0;
        font-size: 15px;
    }


    /* history_block
       ========================================================================== */
    .history_block{
        padding: 170px 0 238px;
    }

    .history_block .list{
        margin: 50px 0 0;
    }

    .history_block .list > li{
        padding: 20px 20px 20px;
    }

    .history_block .list .date{
        font-size: 14px;
    }

    .history_block .list p{
        margin: 9px 0 0;
        line-height: 30px;
    }


    /* organization_block
       ========================================================================== */
    .organization_block{
        padding: 0 0 0;
    }

    .organization_block .scroll_block{
        margin: 78px 0 0;
        padding: 0;
        overflow-x: inherit;
    }

    .organization_block .chart_wrap{
        width: 690px;
    }

    .organization_block .pmo_link,
    .organization_block .dx_link{
        left: 370px;
        width: 320px;
        height: 100px;
    }

    .organization_block .pmo_link{
        top: 185px;
    }

    .organization_block .dx_link{
        top: 300px;
    }


    /* department_introduction
       ========================================================================== */
    .department_introduction{
        margin: 140px 20px 0;
    }

    .department_introduction.last_content{
        padding-bottom: 230px;
    }

    .department_introduction .border_wrap{
        margin: 0 auto 0;
        padding: 85px 50px 100px;
        border-width: 8px;
        max-width: 1226px;
        box-sizing: border-box;
    }

    .department_introduction .inner{
        max-width: 940px;
    }

    .department_introduction .introduction_wrap{
        margin: 50px 0 0;
        padding: 0;
    }

    .department_introduction .introduction_wrap .flex{
        display: flex;
    }

    .introduction_wrap .photo{
        margin: 0;
        width: 300px;
    }

    .introduction_wrap .text_box{
        margin: 0 0 0;
        padding: 18px 0 0 45px;
        width: calc(100% - 300px);
        box-sizing: border-box;
    }

    .introduction_wrap .text_box .inbox{
        padding: 0 0 40px;
    }

    .introduction_wrap .text_box .title_box .ttl + p{
        margin-top: 23px;
    }

    .introduction_wrap .case_block{
        margin: 40px 0 0;
    }

    .introduction_wrap .case_block h4{
        font-size: 15px;
    }

    .introduction_wrap .case_block .case_list{
        margin: 37px 0 0;
    }

    .introduction_wrap .case_block .case_list > li{
        margin: 25px 0 0;
    }

    .introduction_wrap .case_block .case_list .ttl{
        padding: 19px 30px;
    }

    .introduction_wrap .case_block .case_list .case_text_box{
        padding: 19px 30px;
    }

    .introduction_wrap .case_block .case_list .ttl,
    .introduction_wrap .case_block .case_list p{
        font-size: 15px;
        line-height: 25px;
    }


    /* recruit_staff
       ================================================================== */
    .recruit_staff{
        margin: 0 0 200px;
        padding: 80px 0 107px;
    }

    .staff_list{
        margin: 80px 35px 70px;
        display: grid;
        gap: 80px 35px;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-template-rows: auto;
    }

    .staff_list > li{
        position: relative;
    }

    .staff_list li a{
        position: relative;
        display: block;
    }

    .staff_list .photo{
        position: relative;
        display: block;
    }

    .staff_list .photo::before{
        width: 5vw;
        height: 5vw;
        max-width: 120px;
        max-height: 120px;
        bottom: 1%;
        right: 1%;
    }

    .staff_list .text_box{
        padding: 15px 0 0;
    }

    .staff_list .text_box .title span{
        padding: 5px 17px;
        font-size: min(28px,1vw);
        width: 70%;
        height: 2vw;
        max-height: 45px;
        box-sizing: border-box;
    }

    .staff_list .text_box p{
        margin: 10px 0 0;
        font-size: min(28px,1vw);
    }


    /* staff_voice_block
       ================================================================== */
    .staff_voice_block{
        padding: 0 20px 170px;
    }

    .staff_voice_block::before{
        height: 840px;
    }

    .staff_profile{
        margin: 0 50px;
    }

    .staff_profile .flex{
        padding: 0 0 0 50px;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row-reverse;
    }

    .staff_profile .photo{
        margin: 0 0 0;
        width: 350px;
    }

    .staff_profile .text_box{
        margin: 0 0 0;
        padding: 100px 0 0 45px;
        width: calc(100% - 350px);
        box-sizing: border-box;
    }

    .staff_profile .text_box h3 > span{
        padding: 0 17px 0 0;
        font-size: 33px;
    }

    .staff_profile .text_box h3 > span::before{
        top: 50%;
    }

    .staff_profile .text_box h4{
        margin: 10px 0 0;
        font-size: 48px;
    }

    .staff_profile .text_box p{
        margin: 20px 0 0;
        font-size: 23px;
    }

    .staff_voice_block .border_wrap{
        margin: -137px auto 0;
        padding: 208px 50px 140px;
        border-width: 8px;
        max-width: 1226px;
    }

    .staff_voice_block .faq_list{
        margin: 0 50px;
    }

    .staff_voice_block .faq_list > li + li{
        margin: 45px 0 0;
    }

    .staff_voice_block .faq_list .title_box .ttl .ttl_bottom{
        font-size: 30px;
    }

    .staff_voice_block .faq_list .title_box p{
        line-height: 28px;;
    }

    .staff_voice_block .btn{
        margin: 100px 0 0;
    }


	/* detail_btn_area
	   ================================================================== */
	.detail_btn_area{
		margin: 100px 0 0;
		font-size: 0;
		text-align: center;
	}
	
	.detail_btn_area .arrow_btn{
		margin: 0;
	}

    .detail_btn_area .arrow_btn.back{
    	margin: 0 2%;
    }
	
	.detail_btn_area .arrow_btn a,
	.detail_btn_area .arrow_btn button{
		padding: 0;
		width: 100%;
        height: 60px;
        line-height: 60px;
		text-align: center;
		font-size: 16px;
		letter-spacing: 0.10em;
    }


    /* rule_block
       ================================================================== */
    .rule_block{
        padding: 0 0 170px;
    }

    .rule_list{
        margin: 0 0 0;
    }

    .rule_list p{
        line-height: 26px;
    }

    .rule_list p + p{
        margin-top: 25px;
    }

    .rule_list > li + li{
        margin: 100px 0 0;
    }

    .rule_list .in_list{
        margin: 0 0 0;
    }

    .rule_list .in_list > li + li{
        margin: 50px 0 0;
    }

    /* title */
    .rule_list .title{
        margin: 0 0 50px;
        font-size: 29px;
    }

    .rule_list .in_title{
        margin: 0 0 25px;
        padding: 0 15px 15px;
        font-size: 17px;
    }

    /* border_box */
    .rule_list .border_box{
        margin: 0 0 0;
        padding: 23px 24px;
    }

    .rule_list .border_box .ttl{
        font-size: 17px;
    }

    .rule_list .border_box p{
        margin-top: 15px;
    }

    /* border_top_box */
    .rule_list .border_top_box{
        margin-top: 50px;
        padding-top: 50px;
    }

    /* mat */
    .rule_list .mat25{
        margin-top: 25px;
    }

    .rule_list .mat35{
        margin-top: 35px;
    }


    /* number_ol
       ================================================================== */
    .number_ol{
        margin: 25px auto 0;
    }

    .number_ol > li{
        margin: 30px 0 0;
    }

    .number_ol .number{
        font-size: 16px;
    }

    .number_ol .number_title{
        padding: 12px 0 0 27px;
        font-size: 17px;
    }

    .number_ol .number_title + p{
        margin: 10px 0 0;
    }
    

    /* recruit_charm
       ================================================================== */
    .recruit_charm{
        margin: -85px 0 0;
        padding: 0 0 100px;
    }

    .recruit_charm .recruit_kv img{
        width: 90%;
        max-width: 1230px;
    }

    .recruit_charm .logo_title02{
        margin: 50px 0 0;
    }

    .recruit_charm .catch{
        margin: 30px 0 0;
    }

    .recruit_charm .catch > span{
        padding: 10px 24px;
        font-size: 27px;
    }

    .recruit_charm .icon_introduction{
        margin: 20px 0 0;
    }

    .recruit_charm .icon_introduction > li{
        margin: 10px 0 0;
    }

    .recruit_charm .icon_introduction .icon{
        width: 20px;
    }

    .recruit_charm .icon_introduction .name{
        padding: 0 0 0 17px;
        font-size: 15px;
        width: calc(100% - 20px);
    }

    .recruit_charm .list{
        margin: 33px 0 0;
    }

    .recruit_charm .list > li + li{
        margin: 36px 0 0;
    }

    .recruit_charm .list .list_top{
        margin: 0 0 0;
        display: flex;
        align-items: center;
    }

    .recruit_charm .list .list_top .photo{
        width: 400px;
    }

    .recruit_charm .list .list_top .text_box{
        padding: 0 0 0 40px;
        width: calc(100% - 400px);
        box-sizing: border-box;
    }

    .recruit_charm .list .list_top .ttl{
        font-size: 25px;
    }

    .recruit_charm .list .list_bottom{
        margin: 10px 0 0;
    }

    .recruit_charm .list .list_bottom > li{
        padding: 20px 20px 20px 60px;
        font-size: 15px;
        line-height: 25px;
        background-image: url("../images/recruit/icon_user01.svg"), url("../images/recruit/icon_user02.svg");
        background-repeat: no-repeat;
        background-position: 0 17px,25px 17px;
        background-size: 20px;
    }

    .recruit_charm .list .list_bottom > li.icon1,
    .recruit_charm .list .list_bottom > li.icon2{
        background-position: 15px 17px;
    }


    /* recruit_works
       ================================================================== */
    .recruit_works .title{
        font-size: 100px;
        bottom: 30px;
        right: 20px;
    }

    .recruit_works .inner{
        min-height: 600px;
    }

    .recruit_works .numner_ttl{
        font-size: 40px;
    }

    .recruit_works .number_txt{
        margin: -2px 0 0;
    }

    .recruit_works .number_txt .siz_l{
        font-size: 70px;
    }

    .recruit_works .number_txt .siz_m{
        margin: 0 0 0 10px;
        font-size: 30px;
    }

    .recruit_works .number_txt .siz_s{
        font-size: 20px;
    }

    .recruit_works .txt{
        margin: 5px 0 0;
        font-size: 18px;
    }


    /* recruit_composition
       ================================================================== */
    .recruit_composition{
        padding: 42px 0 0;
    }

    .recruit_composition .list{
        margin: -30px 0 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .recruit_composition .list > li{
        margin: 70px 0 0;
        width: 47%;
    }

    .recruit_composition .list .ttl span{
        padding: 9px 50px 9px 15px;
        font-size: 18px;
    }

    .recruit_composition .list .photo{
        margin: 10px 0 0;
        min-height: 250px;
    }

    .recruit_composition .list p{
        margin: 20px 0 0;
        font-size: 14px;
        line-height: 23px;
    }


    /* recruit_example
       ================================================================== */
    .recruit_example{
        padding: 100px 0 0;
    }

    .recruit_example .show2box_slider{
        margin: 40px 0 0 !important;
    }

    /* show2box_slider */
    .show2box_slider{
        width: 820px;
    }

    /* pagination */
    .show2box_slider .swiper-pagination{
        margin-top: 25px;
    }

    .show2box_slider .swiper-pagination-bullet{
        margin: 0 10px 0 0 !important;
        width: 20px;
        height: 20px;
    }

    /* slide_box */
    .show2box_slider .slide_box{
        padding: 28px 15px 28px 35px;
        min-height: 280px;
    }

    .show2box_slider .slide_box .box_ttl{
        font-size: 18px;
    }

    .show2box_slider .slide_box .sub{
        margin: 2px 0 0;
        font-size: 16px;
    }

    .show2box_slider .slide_box p{
        margin: 15px 0 0;
        font-size: 14px;
        line-height: 23px;
    }

    /* photos */
    .recruit_example .photos{
        margin: 15px 0 0;
        padding: 0;
        overflow: visible;
    }

    .recruit_example .photos ul{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .recruit_example .photos ul > li{
        margin: 20px 0 0;
        width: 32%;
    }


    /* recruit_faq
       ================================================================== */
    .recruit_faq{
        padding: 100px 0 100px;
    }

    .oc_list{
        margin: 40px 0 0;
    }

    .oc_list > dl{
        margin: 30px 0 0;
    }

    .oc_list > dl dt{
        padding: 21px 60px 21px 35px;
        font-size: 18px;
    }

    .oc_list > dl dt::after{
        width: 20px;
        height: 10px;
        right: 30px;
    }

    .oc_list > dl dd{
        margin-top: -20px;
        padding: 55px 35px 35px;
        font-size: 15px;
        line-height: 30px;
    }


    /* recruit_form
       ================================================================== */
    .recruit_form{
        padding: 0 0 210px;
    }

    .recruit_form .logo_title{
        margin-bottom: 60px;
    }

    .recruit_form .ttl{
        font-size: 16px;
    }

    .recruit_form .list{
        margin: 70px 0 0;
        display: grid;
        gap: 40px 40px;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }


}
@media screen and (min-width : 1600px){


    /* index_links_block
       ================================================================== */
    .box_slider .card .ttl .f17{
        font-size: max(17px,1.2vw);
    }

    .box_slider .card .ttl .f20{
        font-size: max(20px,1.5vw);
    }

    .box_slider .card .ttl .f23{
        font-size: max(23px,1.7vw);
    }
    
    
}