@charset "utf8";
/*=============================
  - header
	- fotter
	- navigation
==============================*/

/*----------------------------------------------------
	header
----------------------------------------------------*/
#header {
	width: 100%;
	background: #fff;
}
#header .fixed-wrap {
	width: 1080px;
	margin: 0 auto;
	padding: 10px 0;
}
#header .logo-wrap a { display: block; }
#header .logo-wrap img {
	margin-top: 9px;
}
@media screen and (max-width:650px) {
	#header{
		width:100%;
	}
	#header .logo-wrap {
		width: 33%;
		/*
		display: flex;
		justify-content: space-between;
		padding: 3px 10px 9px;
		*/
	}
	#header .logo-wrap a {
		padding: 5px 10px;
	}
	#header .logo-wrap h1 img {
		width: 100%;
    	height: auto;
	    margin-top: 0;
	}
}
@media screen and (max-width:399px) {
	#header .logo-wrap {
		width: 33.33vw;
	}
	
}



/* header内検索 */
#header .search_wrap { margin-right: 30px; }
#header .search_wrap input[type="text"] {
	font-size: 14px;
	width: 240px;
    height: 40px;
    border: 1px solid #e5e5e5;
    border-radius: 5px 0 0 5px;
    box-shadow: 0 0 5px 0 rgb(0 0 0 / 16%);
    outline: none;
}
#header .search_wrap button {
	width: 50px;
	height: 40px;
	background: #bb4434;
	border-radius: 0 5px 5px 0;
}

#header .search_wrap button img {
	width: 30px;
}

@media screen and (max-width:650px) {
	#header .search_wrap { margin-right: 0; }
	#header .search_wrap input[type="text"] {
		width: 100%;
		height: 35px;
		font-size: 14px;
		line-height: 1.2em;
		padding: 3px 5px;
	}
	#header .search_wrap button {
		width: 35px;
		height: 35px;
	}
}
@media screen and (max-width:399px) {
	#header .search_wrap input[type="text"] {
		width: 40vw;
	}
	
}

/* header内コンタクト */
#header .fixed-wrap,
#header .menu,
#header .sub-menu {
    display: flex;
}
#header .menu .btn-wrap a {
    width: 220px;
    height: 50px;
    padding: 0 0;
    font-size: 16px;
	margin-right: 30px;
    position: relative;
	
	display: flex;
    justify-content: center;
    align-items: center;
}
#header .menu .btn-wrap a::before {
	content: "";
    border-top: 25px solid #fff;
    width: 2px;
    transform: rotate(150deg);
    margin-right: 10px;
    display: inline-block;
}
#header .menu .btn-wrap a::after {
	content: "";
    border-top: 25px solid #fff;
    width: 2px;
    transform: rotate(210deg);
    margin-left: 10px;
    display: inline-block;
}
#header .menu .tel-wrap {}
#header .menu .tel-wrap a {
    font-size: 32px;
    line-height: 1em;
    font-weight: 800;
    letter-spacing: -0.01em;
    padding-left: 30px;
    position: relative;
	
	display: flex;
    flex-direction: column;
}
#header .menu .tel-wrap a::before {
	content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url(../images/tel--b.svg) no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    bottom: 0;
}
#header .menu .tel-wrap a span {
    font-size: 13px;
    text-align: left;
    font-family: auto;
    letter-spacing: 0.1em;
    margin-left: -30px;
}
#header .menu .btn-member-wrap a {
    width: 120px;
    height: 50px;
    padding: 0 0;
    font-size: 14px;
    margin-right: 20px;
    position: relative;

    display: flex;
    justify-content: center;
    align-items: center;
}

/* SPview */
@media screen and (max-width: 680px) {
	#header .fixed-wrap {
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: auto;
		z-index: 1000;
		background: #fff;
		padding-top: 2vw;
		/* 2022/01/05 */
		display: flex;
		position: relative;
		left: inherit;
		top: inherit;
		padding: 0;
	}
	#header .menu {
		/*
		display: none;
		padding-bottom: 30px;
		*/
	}
	#header .menu-ani-button-wrap {
		display: block;
		width: 45px;
		height: 100%;
		padding: 10px 10px;
		background: #bb4434;
	}
	#header .menu .btn-wrap {
		padding: 0 5vw;
	}
	#header .menu .btn-wrap a {
		width: 100%;
		height: 70px;
		padding: 22px 0 0;
	}
	#header .menu .btn-member-wrap a {
        width: 80px;
        height: 30px;
        padding: 0 0;
        font-size: 12px;
        margin-right: 10px;
        position: relative;
    }
}


/*----------------------------------------------------
	sp ハンバーガーメニューcss
----------------------------------------------------*/
.menu-ani-button {
	display: block;
    cursor: pointer;
    position: relative;
    width: 25px; /*---線の長さ---*/
    height: 30px; /*---線の太さ長さによって調整---*/
    /*margin-top: -10px;*/
}
.bar, .bar:before, .bar:after {
    height: 3px; /*---線の太さ---*/
    border-radius: 3px;
    width: 100%;
    background-color: #fff;
    transition: all 0.25s;
    position: absolute;
}
.bar {
    left: 0;
    top: 13px;
}
.bar:before {
    content: "";
    left: 0;
    top: -9px;
}
.bar:after {
    content: "";
    left: 0;
    top: 9px;
}
.menu-animated .bar {
    background-color: transparent;
    transition: all 0.25s;
}
.menu-animated .bar:before {
    transition: all 0.25s;
    content: "";
    transform: rotate(45deg);
    top: 0px;
}
.menu-animated .bar:after {
    transition: all 0.25s;
    content: "";
    transform: rotate(-45deg);
    top: 0px;
}



/*----------------------------------------
ナビゲーション(ヘッダー)
----------------------------------------*/
#header .global-nav {
	background: #bb4434;
}
#header .global-nav ul {
	width: 1080px;
	margin: 0 auto;
	padding: 10px 0;
}
#header .global-nav ul li { width: 20%; }
#header .global-nav ul li a {
	display: block;
    color: #fff;
    font-size: 15px;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 10px 0 8px;
	border-right: 1px solid #fff;
}
#header .global-nav ul li:first-child a {
	border-left: 1px solid #fff;
}
#header .global-nav ul li:nth-child(5) a {
    font-size: 14px;
}
#header .global-nav ul li a:hover {
	transition:0.3s;
	opacity:0.7;
}
@media screen and (max-width:650px) {
	#header .global-nav {
		display:none;
		width: 100%;
		background: #fff;
		position: absolute;
	    top: 50px;
	    left: 0;
	    z-index: 10;
	}
	#header .global-nav ul {
		display: block;
		width: 100vw;
		margin: 0 auto;
		padding: 0 0;
	}
	#header .global-nav ul li {width: 100%;}
	#header .global-nav ul li:last-child {}
	#header .global-nav ul li::after {
		display: none;
	}
	#header .global-nav ul li a {
		display: block;
		color: #333;
		font-weight: bold;
		border-right: none;
		padding: 15px 15px;
		border-top: 1px solid #bb4434;
	}
	#header .global-nav ul li:first-child a { border-left: none; }
	#header .global-nav ul li:last-child a { border-bottom: 1px solid #bb4434; }
}



/*  main-v  */
.main-v {
	height: 600px;
    background: url(../images/mv.png?date=20260114) no-repeat center top / cover;
    position: relative;
    margin-left: auto;
}
.main-v > div {
    height: 100%;
    position: relative;
}
.main-v .main-v-title {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
}
@media screen and (max-width:650px) {
	.main-v {
		width: 100%;
		height: 100%;
		background: none;
	}
	.main-v > .mywidth {
		width: 100%;
		height: 45vh;
		background: url(../images/mv-sp.png?date=20260114) no-repeat center top / cover;
	}
	.main-v .main-v-title {
		width: 60%;
		position: absolute;
		top: 45%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
}

/*メインビジュアル > 転職サービスに申し込む */
.main-v .main-entry-wrap {
    background: #fff;
	border-radius: 8px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0,-50%);
}
.main-v .main-entry-wrap .main-entry-title {
    font-size: 22px;
    padding: 15px 20px;
	border-bottom: 1px solid #c2c2c2;
}
.main-v .main-entry-wrap .main-entry-title span {
    letter-spacing: 0.1em;
    width: 50px;
    height: 50px;
    border-radius: 40px;
	margin-right: 7px;
}
.main-v .main-entry-wrap form {
    padding: 20px 20px;
}
@media screen and (max-width:650px) {
	.main-v .main-entry-wrap {
		width: 90%;
		margin: 0 auto;
		box-sizing: border-box;
		
		position: absolute;
		bottom: 10px;
		top: inherit;
		right: 0;
		left: 0;
		transform: inherit;
	}
	.main-v .main-entry-wrap .main-entry-title {
		font-size: 18px;
		padding: 10px;
		border-bottom: none;
	}
	.main-v .main-entry-wrap .main-entry-title span {
		width: inherit;
		height: inherit;
		border-radius: 0;
		padding: 3px 5px;
	}
	.main-v .main-entry-wrap form { padding: 0 20px 10px; }

	
}

/*メインビジュアル > クイックサーチ */
.main-v .mv-search-wrap {
    background: rgba(255,255,255,0.6);
    padding: 20px;
    width: 100%;
    height: auto;
    position: absolute;
    bottom: 0;
    left: 0;
}
.main-v .mv-search-wrap .quick-title { color: #fff; }
.main-v .mv-search-wrap .brd {
    width: 1px;
    height: 34px;
    background: #fff;
}
/* 虫眼鏡を表示 */
.main-v .mv-search-wrap .search-icon { position: relative; }
.main-v .mv-search-wrap .search-icon::before {
    content: "";
	display: inline-block;
	width: 34px;
	height: 34px;
	background: url("../images/quick_search.png") no-repeat;
	background-size: contain;
	margin-right: 10px;
}
/* 複合検索 */
.main-v .mv-search-wrap form {}
.main-v .mv-search-wrap .select-item {}
.main-v .mv-search-wrap .select-item select { width: 270px; }
.main-v .mv-search-wrap .select-item + img {
    margin: 0 15px;
	display: inline-block;
}
.main-v .mv-search-wrap .mv-search-btn {
	width: 270px;
    height: 43px;
    font-weight: 500;
    border-radius: 6px;
    margin-left: 30px;
}
.main-v .mv-search-wrap .mv-search-btn.search-icon::before {
	width: 26px;
	height: 26px;
	margin-left: 8px;
}
/* SPview */
@media screen and (max-width: 680px) {
	.main-v .mv-search-wrap { position: relative; }
	.main-v .mv-search-wrap .quick-title {
		color: #333; 
		margin-bottom: 10px;
	}
	/* 虫眼鏡を表示 */
	.main-v .mv-search-wrap .quick-title.search-icon::before {
		content: "";
		display: inline-block;
		width: 35px;
		height: 35px;
		background: url("../images/quick_search-sp.png") no-repeat;
		background-size: contain;
		margin-right: 7px;
	}
	/* 複合検索 */
	.main-v .mv-search-wrap form { width: 100%; }
	.main-v .mv-search-wrap .select-item { width: 100%; }
	.main-v .mv-search-wrap .select-item select {
		width: 100%;
	}
	.main-v .mv-search-wrap .mv-search-btn {
		width: 100%;
		margin: 0;
	}
	.main-v .mv-search-wrap .mv-search-btn.search-icon::before { margin-right: 5px; }
}

/*メインビジュアル > select */
.select-item select {
    padding: 5px 15px;
    font-size: 16px;
    height: 43px;
    border: 1px solid #e5e5e5;
    border-radius: 5px;
    box-shadow: 0 0 5px 0 rgb(0 0 0 / 8%);
	position: relative;
}
.select-item select::-ms-expand {
  display: none; /* デフォルトのスタイルを無効(IE用) */
}
.select-item::after {
	border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 10px solid #000;
    content: "";
	
    position: absolute;
    right: 13px;
    top: 17px;
    width: 0;
}
.select-item select .group {
	opacity: 1;
}
/* SPview */
@media screen and (max-width: 680px) {
	
}





/*----------------------------------------------------
	content-footer
----------------------------------------------------*/
.content-footer {
	padding-top: 60px;
	padding-bottom: 60px;
}
.content-footer .inner { width: 100%; }
.content-footer figure {
	text-align: center;
}
.content-footer .note {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.8em;
}
/* 電話ボタン */
.content-footer .btn-foot-tel {
    width: 48%;
    max-width: 490px;
	height: 80px;
    color: #bb4434;
    border: 1px solid #bb4434;
	border-radius: 5px;
    /*display: inline-block;*/
    box-sizing: border-box;
}
.content-footer .btn-foot-tel div { 
	color: #bb4434;
	letter-spacing: 0.08em;
}
.content-footer .btn-foot-tel .tel-icon {
	letter-spacing: -0.02em;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.content-footer .btn-foot-tel .tel-icon::before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 30px;
	background: url(../images/tel--r.svg) no-repeat;
    background-size: contain;
    margin-right: 5px;
	margin-top: 8px;
}
/* コンサルタントボタン */
.content-footer .btn01 {
	width: 48%;
    max-width: 490px;
}
.content-footer .btn01 div {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.content-footer .btn01 div::before {
	content: "";
    border-top: 40px solid #fff;
    width: 1px;
    transform: rotate(140deg);
    margin-right: 20px;
    display: inline-block;
}
.content-footer .btn01 div::after {
	    content: "";
    border-top: 40px solid #fff;
    width: 1px;
    transform: rotate(220deg);
    margin-left: 20px;
    display: inline-block;
}
/* SPview */
@media screen and (max-width: 680px) {
	.content-footer {
		padding-top: 30px;
    	padding-bottom: 30px;
	}
	.content-footer figure {
		width: 50%;
		margin: 0 auto;			
	}
	.content-footer .note {
		font-size: 3.8vw;
		line-height: 1.6em;
	}
	/* 電話ボタン */
	.content-footer .btn-foot-tel {
		width: 100%;
		height: 62px;
	}
	.content-footer .btn-foot-tel .tel-icon::before {
		width: 16px;
		height: 20px;
		margin-top: 5px;
	}
	/* コンサルタントボタン */
	.content-footer .btn01 {
		width: 100%;
		height: 62px;
		padding-top: 10px;
	}
	
}



/*----------------------------------------------------
	footer
----------------------------------------------------*/
#footer {
    width: 100%;
	padding-top: 25px;
    background: #bb4434;
    overflow: hidden;
}
#footer .copy {
    letter-spacing: 0.18em;
    padding: 15px 0 16px;
    font-weight: 300;
}
/* SPview */
@media screen and (max-width: 680px) {
	#footer {
		padding-top: 0;
		padding-bottom: 0;
	}
	#footer > .mywidth {
		padding: 0 0;
	}
	#footer .foot-content {
		width: 100%;
	}
	#footer .foot-content h2 {
		text-align: center;
		margin-bottom: 15px;
	}
}

/*----------------------------------------
ナビゲーション(フッター)
----------------------------------------*/
#foot-navi > ul {}
#foot-navi > ul > li {
    padding: 0 15px ;
}
#foot-navi > ul > li > a {
    font-size: 14px;
    font-weight: normal;
    color: #fff;
    letter-spacing: 0.08em;
	display: block;
}
#foot-navi > ul > li > a:hover { text-decoration: underline; }

/* SPview */
@media screen and (max-width: 680px) {
	#foot-navi > ul > li {
		border-bottom: 1px solid #fff;
		padding: 0;
		width: 100%;
		display: block;
	}
	#foot-navi > ul > li:last-child {
		/*border-bottom: none;*/
	}
	#foot-navi > ul > li > a {
		text-align: center;
		padding: 15px 30px;
	}
}


/*----------------------------------------
SNSアイコン(フッター)
----------------------------------------*/
#sns-icon > ul {
	display: flex;
	justify-content: center;
	padding: 10px 0;
}
#sns-icon > ul > li {
	width: 48px;
	margin-right: 16px;
}
#sns-icon > ul > li:last-child {
	margin-right: 0;
}

/* SPview */
@media screen and (max-width: 680px) {
	#sns-icon > ul {
		padding: 6vw 5vw 3vw;
	}
	#sns-icon > ul > li {
		width: 12%;
		margin-right: 4%;
	}
}


/*----------------------------------------
headerに戻る(フッター)
----------------------------------------*/
#scroll-top a {
    border-radius: 50%;
	background: #bb4434;
    border: 1px solid #fff;
    bottom: 30px;
    display: block;
    float: right;
    height: 70px;
    width: 70px;
    padding: 5px;
    position: fixed;
    right: 90px;
    text-align: center;
    padding-top: 16px;
    z-index: 999;
}
#scroll-top a .fa-arrow-up::before {
    font-size: 36px;
    color: #fff;
}
/* SPview */
@media screen and (max-width: 680px) {
	#scroll-top a {
		right: 20px;
		bottom: 30px;
		height: 50px;
		width: 50px;
		padding-top: 10px;
	}
	#scroll-top a .fa-arrow-up::before {
		font-size: 30px;
	}
}


/*----------------------------------------
LINE追従(フッター)
----------------------------------------*/
#side-line a {
    position: fixed;
    right: 0;
    bottom: 120px;
    width: 40px;
    z-index: 999;
}
/* SPview */
@media screen and (max-width: 680px) {
	#side-line a {
		right: 0;
		bottom: 100px;
		width: 30px;
	}
}


/*----------------------------------------
追随ボタン
----------------------------------------*/
.float_btn {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    z-index: 9999;
}
.float_btn a {
    display: block;
    width: 75px;
    height: 300px;
    position: relative;
    border-radius: 20px 0 0 20px;
    word-break: keep-all;
}
.float_btn span {
    display: block;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: 500;
    letter-spacing: 0.08em;
    position: absolute;
    top: 50%;
    left: 54%;
    transform: translate(-50%, -50%);
    position: relative;
}
.float_btn .contact span::before {
    content: "";
    display: inline-block;
    width: 56px;
    height: 34px;
    background: url("../images/icon-mail.png") no-repeat top center;
    margin-right: 6px;
    margin-bottom: 8px;
}
.float_btn .line span::before {
    content: "";
    display: inline-block;
    width: 49px;
    height: 47px;
    background: url("../images/icon-line.png") no-repeat top center;
    margin-bottom: 10px;
}

/* SPview */
@media screen and (max-width: 680px) {
	.float_btn {
		width: 94%;
		top: auto;
		bottom: 0;
		transform: translateY(0);
		right: 0;
		left: 0;
		margin: auto;
		display: flex;
		justify-content: space-between;
	}
	.float_btn a {
		width: 49%;
		height: 50px;
		border-radius: 10px 10px 0 0;
	}
	.float_btn span {
		writing-mode: horizontal-tb;
		letter-spacing: 0.02em;
		width: max-content;
		left: 0;
		right: 0;
		margin: auto;
		transform: translate(0, -30%);
	}
	.float_btn .contact span {
		transform: translate(-10%, -30%);
	}
	.float_btn .contact span::before {
		width: 40px;
		height: 30px;
		margin-right: 6px;
		margin-bottom: 0;
		background-size: contain;
		vertical-align: text-top;
	}
	.float_btn .line span::before {
		width: 28px;
		height: 28px;
		margin-right: 2px;
		margin-bottom: 0;
		background-size: contain;
		vertical-align: text-top;
	}
}


/* 複数行テキスト...省略css */
.ellipsis_01 {
	position: relative;
	width: 100%;
	height: 50px;
	background: #fff;
	overflow: hidden;
}
.ellipsis_01:before,
.ellipsis_01:after {
    position: absolute;
    background: #fff;
}
.ellipsis_01:before {
    content: "...";
    bottom: 0;
    right: 2px;
}
.ellipsis_01:after {
    content: "";
    width: 100%;
    height: 100%;
}

.ellipsis_02 {
	position: relative;
	width: 100%;
	height: 67px;
	background: #fff;
	overflow: hidden;
}
.ellipsis_02:before,
.ellipsis_02:after {
    position: absolute;
    background: #fff;
}
.ellipsis_02:before {
    content: "...";
    bottom: 0;
    right: 9px;
}
.ellipsis_02:after {
    content: "";
    width: 100%;
    height: 100%;
}

.tab-wrapper {
	max-width: 740px;
	margin: auto;
	flex-wrap: wrap;
	display: flex;
	gap: 0 10px;
}
.tab-label {
	flex: 1 1;
	order: -1;
	opacity: .4;
	min-width: 70px;
	padding: 10px 10px;
	border-radius: 8px 8px 0 0;
	background-color: #009bad;
	text-align: center;
	cursor: pointer;
}
.tab-label:hover {
	opacity: .8;
}
input[name="tab-name"] {
	display: none;
}
input:checked + .tab-label {
	opacity: 1;
}
.tab-content {
	display: none;
	width: 100%;
	padding: 10px;
	background-color:#fff;
}
input:checked + .tab-label + .tab-content {
	display: block;
}
