﻿@charset "utf-8";

/* -----------------------------------------------------------
    reset
-------------------------------------------------------------- */
html {
	overflow-x: auto;
	overflow-y: scroll;
	font-size: 62.5%;
}

* {
	box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, li, div, dl, dt, dd, form, img, hr, table, tr, td, br, em, figure {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
	font-size: 1.6rem;
}

ul, ol, dl {
	list-style: none;
}

img {
	vertical-align: bottom;
}

@media screen and (max-width: 768px) {
	img {
		width: auto;
		max-width: 100%;
		height: auto;
		margin: 0 auto;
	}
}

/* -----------------------------------------------------------
    cmn-sort-select
-------------------------------------------------------------- */
.cmn-sort-list {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin: 0 0 40px;
}

.cmn-sort-item {
	width: 200px;
}

.cmn-sort-select {
	align-items: center;
	appearance: none;
	background: #fff url(../img/mv-search-select.png)95% 50%/9px 5px no-repeat;
	border: none;
	color: var(--gray2);
	cursor: pointer;
	display: flex;
	font-family: var(--sans);
	font-weight: 500;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	height: 40px;
	justify-content: center;
	text-align: center;
	text-align: -webkit-center;
	letter-spacing: .05em;
}

.cmn-sort-list .cmn-sort-select {
	border-radius: 5px !important;
	margin-bottom: 0 !important;
}

.cmn-sort-list .cmn-sort-select {
	width: 100% !important;
}

@media screen and (max-width: 768px) {
	.cmn-sort-list {
		gap: 10px;
		margin: 0 0 30px;
		padding: 0 20px;
	}

	.cmn-sort-item {
		width: calc(100% / 2);
	}

	.cmn-sort-select {
		padding: 0 0 0 10px;
	}
}

/* -----------------------------------------------------------
    cmn-ratio
-------------------------------------------------------------- */
.cmn-persona1-ratio {
	aspect-ratio: 300/340;
}

.cmn-persona2-ratio {
	aspect-ratio: 300/652;
}

.cmn-persona3-ratio {
	aspect-ratio: 300/528;
}

.cmn-persona4-ratio {
	aspect-ratio: 300/166;
}

.cmn-persona4_2-ratio,.cmn-persona4_2-ratio-before::before{
	aspect-ratio: 300/134;
}

.cmn-persona5-ratio,.cmn-persona5-ratio-before::before {
	aspect-ratio: 300/172;
}

.cmn-persona6-ratio {
	aspect-ratio: 300/405;
}

.cmn-persona7-ratio {
	aspect-ratio: 300/428;
}

.cmn-persona8-ratio {
	aspect-ratio: 300/572;
}

.cmn-persona9-ratio {
	aspect-ratio: 300/330;
}

.cmn-persona10-ratio {
	aspect-ratio: 300/530;
}

.cmn-persona11-ratio {
	aspect-ratio: 300/365;
}

.cmn-persona12-ratio,.cmn-persona12-ratio-before::before {
	aspect-ratio: 300/138;
}

.cmn-persona13-ratio,.cmn-persona13-ratio-before::before {
	aspect-ratio: 300/203;
}

.cmn-persona14-ratio {
	aspect-ratio: 300/340;
}

.cmn-persona15-ratio,.cmn-persona15-ratio-before::before {
	aspect-ratio: 300/195;
}

.cmn-persona16-ratio,.cmn-persona16-ratio-before::before {
	aspect-ratio: 300/188;
}

.cmn-persona17-ratio,.cmn-persona17-ratio-before::before {
	aspect-ratio: 300/139;
}

.cmn-persona18-ratio,.cmn-persona18-ratio-before::before {
	aspect-ratio: 300/137;
}

/* -----------------------------------------------------------
    js-scrollable
-------------------------------------------------------------- */
@media screen and (min-width: 769px) {
	.js-scrollable {
		overflow: unset !important;
	}
}

@media screen and (max-width: 768px) {
	.scroll-hint-icon-wrap {
		z-index: 2;
	}
}

/* -----------------------------------------------------------
    body
-------------------------------------------------------------- */
body {
	margin: 0 auto;
	padding: 0;
	line-height: 1;
	font-size: 1.6rem;
	color: #333;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
	min-width: 1240px;
}

p {
	line-height: 2;
	letter-spacing: .05em;
}

#wrapper {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	overflow: hidden;
	padding: var(--anchor) 0 0;
}

@media screen and (min-width: 769px) {
	.underttl-wrap #wrapper {
		padding: 180px 0 0;
	}
}

@media screen and (max-width: 768px) {
	body {
		min-width: inherit;
	}

	body.open_fix {
		position: relative;
		height: 100vh;
		width: 100%;
		overflow: hidden;
	}

	#wrapper {
		min-width: 100%;
		padding: var(--anchorsp) 0 0;
	}

	.drawer_open #main {
		overflow: hidden;
		opacity: 0 !important;
	}

	.drawer_open #wrapper {
		padding: 0;
		height: 100%;
	}
}

/* -----------------------------------------------------------
    link
-------------------------------------------------------------- */
a:link, a:visited {
	color: var(--main);
	text-decoration: none;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

a:focus {
	outline: none;
}

::-moz-selection {
	background: var(--main);
	color: #fff;
}

@media screen and (max-width: 768px) {
	a:link, a:visited {
		-webkit-transition: 0;
		transition: 0;
	}

	a[href^="tel:"] {
		color: var(--main);
		text-decoration: underline;
	}
}

/* PCのみ */
@media(min-width: 769px) {
	a:hover {
		color: var(--main);
		text-decoration: none;
	}

	a[href^="tel:"] {
		pointer-events: none; /*電話発信を無効にする*/
	}
}

/* -----------------------------------------------------------
    letter-spacing
-------------------------------------------------------------- */
.spacing-palt {
	font-feature-settings: "palt";
}

/* -----------------------------------------------------------
    clear
-------------------------------------------------------------- */
.clear {
	height: 0;
	margin: 0;
	padding: 0;
	line-height: 0;
	clear: both;
	font-size: 0;
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
}

/* Hides from IE-mac \*/
* html .clearfix {
	zoom: 1;
}

.clearfix {
	display: block;
}

/* End hide from IE-mac */
/* -----------------------------------------------------------
    Frame
-------------------------------------------------------------- */
.inner {
	width: 1200px;
	margin: 0 auto;
}

.inner0 {
	width: 1000px;
	margin: 0 auto;
}

.inner1 {
	width: 1100px;
	margin: 0 auto;
}

.inner3 {
	width: 1300px;
	margin: 0 auto;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	.inner3 {
		width: 1200px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 768px) {
	.inner, .inner0, .inner1, .inner3 {
		width: 100%;
		margin: 0 auto;
	}

	.wrap10 {
		padding: 0 10px;
	}

	.wrap15 {
		padding: 0 15px;
	}

	.wrap20 {
		padding: 0 20px;
	}

	.wrap30 {
		padding: 0 30px;
	}
}

/* -----------------------------------------------------------
    cmn-frame
-------------------------------------------------------------- */
.cmn-frame {
	padding-left: 70px;
	padding-right: 70px;
}

@media screen and (min-width: 1301px) and (max-width: 1600px) {
	.cmn-frame {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media screen and (min-width: 769px) and (max-width: 1300px) {
	.cmn-frame {
		padding-left: 20px;
		padding-right: 20px;
	}
}

.cmn-frame .cmn-frame-inner {
	max-width: 1460px;
	background: #fff;
	border-radius: 15px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.cmn-frame .cmn-frame-contents {
	width: 100%;
	max-width: 1200px;
	min-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (min-width: 769px) and (max-width: 1300px) {
	.cmn-frame .cmn-frame-contents {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media screen and (max-width: 768px) {
	.cmn-frame .cmn-frame-contents {
		max-width: unset;
		min-width: unset;
	}
}

/* -----------------------------------------------------------
    overlay
-------------------------------------------------------------- */
#ft_overlay {
	width: 100%;
	height: 100%;
	display: block;
	background-color: rgba(0, 0, 0, 0.7);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	opacity: 0;
	transition: all 300ms ease;
	pointer-events: none;
}

.over-show-mega #ft_overlay {
	opacity: 1;
}

/* -----------------------------------------------------------
    header_nav_search
-------------------------------------------------------------- */
@media screen and (min-width: 769px) {

	/*   注意   PC時のみ適用*/
	header.header_active2 .header_nav_search {
		height: 46px;
	}

	.header_nav_search {
		background: var(--search);
		cursor: pointer;
	}

	.header_nav_search::before {
		background: var(--search2);
	}

	.header_nav_search span {
		padding: 0 0 0 30px;
	}

	.header_active2 .header_nav_search span {
		padding: 0 0 0 23px;
	}

	.header_nav_search span::before {
		background: url(../img/cv_search_icon.svg)center/contain no-repeat;
		width: 24px;
		height: 28px;
	}

	.header_active2 .header_nav_search span::before {
		width: 18px;
		height: 22px;
	}
}

@media screen and (max-width: 768px) {
	/*SP時はdata-ftbtn="search"*/
}

/* -----------------------------------------------------------
    header
-------------------------------------------------------------- */
.header {
	top: 0;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 9999;
	min-width: 1240px;
	background: #fff;
	height: 130px;
}

body.is-search-show .header {
	position: fixed;
	top: 0;
}

body.is-search-show .header.header_active {
	top: 0;
}

header.header_active {
	top: -100px;
	transition: all .5s;
	width: 100%;
	left: 0;
}

header.header_active2 {
	position: fixed;
	top: 0 !important;
	height: 100px;
	background: rgba(255, 255, 255, .95);
	backdrop-filter: blur(10px);
}

#pc_head {
	min-width: 100%;
	height: 100%;
}

#sp_head {
	display: none;
}

#pc_head .header_wrap {
	align-items: center;
	display: flex;
	justify-content: space-between;
	position: relative;
	height: 100%;
}

.header_logo {
	position: absolute;
	top: 20px;
	left: 40px;
}

.header_active2 .header_logo {
	top: 20%;
}

.header_logo_img {
	width: 90px;
	aspect-ratio: 90/110;
}

header.header_active2 .header_logo_img {
	width: 50px;
}

.sp_gnav_cross {
	bottom: 0;
	background: #333;
	display: none;
	height: 60px;
	width: 60px;
	position: fixed;
	right: 0;
}

.drawer_open .sp_gnav_cross {
	display: block;
}

.sp_gnav_cross span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 24px;
	height: 1px;
	border-bottom: 1px solid #fff;
	width: 20px;
}

.sp_gnav_cross span:nth-of-type(1) {
	top: 26px;
	left: 24px;
	transform: translateY(6px) rotate(-45deg);
}

.sp_gnav_cross span:nth-of-type(2) {
	opacity: 0;
}

.sp_gnav_cross span:nth-of-type(3) {
	top: 38px;
	left: 24px;
	transform: translateY(-6px) rotate(45deg);
}

/*----------------------------header_nav_top*/
.header_nav_wrap {
	display: flex;
	margin: 0 0 0 auto;
	height: 100% !important;
}

.header_nav_wrap .header_nav {
	display: flex;
	flex-direction: column;
	gap: 27px;
	transition: .4s all;
	justify-content: space-between;
	padding: 20px 40px 0 0;
}

.header_active2 .header_nav_wrap .header_nav {
	gap: 0;
	padding: 10px 40px 0 0;
}

.header_nav_top {
	align-items: center;
	display: flex;
	justify-content: flex-end;
}

.header_nav_sub {
	align-items: center;
	display: flex;
	gap: 35px;
	flex-shrink: 0;
	margin: 0 35px 0 0;
}

.header_active2 .header_nav_sub {
	gap: 20px;
}

.header_nav_sub a {
	display: block;
	position: relative;
}

.header_nav_sub span {
	color: var(--gray2);
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: .025em;
}

.header_nav_sub span::after {
	background: var(--gray);
}

.header_nav_cv {
	align-items: center;
	display: flex;
	gap: 8px;
}

.header_nav_cv a, .header_nav_search {
	align-items: center;
	display: flex;
	justify-content: center;
	border-radius: 4px;
	width: 170px;
	height: 65px;
	position: relative;
	overflow: hidden;
}

.header_active .header_nav_cv a, .header_active .header_nav_search {
	width: 150px;
}

.header_nav_cv a::before, .header_nav_search::before {
	content: "";
	width: 0;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	transition: width cubic-bezier(0.23, 1, 0.32, 1) .8s;
}

.header_nav_form a:hover::before, .header_nav_search:hover::before {
	left: 0;
	width: 100%;
	z-index: 2;
}

.header_nav_cv li span {
	color: #fff !important;
	font-size: 1.9rem;
	font-weight: bold;
	position: relative;
	z-index: 2;
	letter-spacing: .02em;
}

.header_active2 .header_nav_cv li span {
	font-size: 1.7rem;
}

.header_nav_cv li span::before {
	content: "";
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
}

.header_nav_form a {
	background: var(--cv);
}

.header_nav_form a::before {
	background: var(--cv2);
}

header.header_active2 .header_nav_form a {
	height: 46px;
}

.header_nav_form span {
	padding: 0 0 0 32px;
}

.header_active2 .header_nav_form span {
	padding: 0 0 0 28px;
}

.header_nav_form span::before {
	background: url("../img/cv_mail_icon.svg")center/contain no-repeat;
	width: 26px;
	height: 33px;
}

.header_active2 .header_nav_form span::before {
	width: 22px;
	height: 29px;
}

/*----------------------------header_nav_list*/
.header_nav_list {
	align-items: center;
	display: flex;
	color: var(--cmnblack);
	font-size: 1.8rem;
	justify-content: flex-end;
	gap: 40px;
}

@media screen and (min-width: 769px) and (max-width: 1600px) {
	.header_nav_list {
		font-size: 1.7rem;
		gap: 40px;
	}
}

header.header_active .header_nav_list {
	font-size: 1.7rem;
	gap: 35px;
}

.header_nav_item {
	font-weight: bold;
	transition: .4s all;
}

.header_nav_item:hover .link_line {
	color: var(--main) !important;
}

.header_nav_link {
	display: block;
	padding: 0 0 25px;
	position: relative;
	z-index: 6;
}

.header_active2 .header_nav_link {
	padding: 0 0 14px;
}

.header_nav_list .link_line {
	color: var(--cmnblack);
	transition: .3s;
}

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

	#sp_head {
		display: block;
	}

	#sp_head .sp_head_bg {
		display: flex;
		height: 70px;
		position: relative;
		width: 100%;
		z-index: 300;
		justify-content: space-between;
	}

	.drawer_open #sp_head .sp_head_bg {
		background: rgba(235, 238, 244, .95);
		backdrop-filter: blur(10px);
		height: 70px !important;
	}

	header.header_active2 #sp_head .sp_head_bg {
		background: transparent;
		width: 100%;
		margin: 0 auto;
		height: 60px;
	}

	.drawer_open header.header_active2 #sp_head .sp_head_bg {
		background: rgba(235, 238, 244, .95);
		backdrop-filter: blur(10px);
		min-width: 100%;
		width: 100%;
		left: 0;
		position: fixed !important;
	}

	.drawer_open header.header_active2 #sp_head .sp_head_cv {
		display: block;
	}

	.header {
		background: none;
		height: 63px;
		min-width: 100%;
		top: 0;
		width: 100%;
		left: 0;
	}

	.drawer_open .header {
		position: fixed;
	}

	header.header_active2 {
		background: transparent;
		backdrop-filter: none;
		height: auto;
		left: auto;
		right: 0;
		top: 0 !important;
	}

	#sp_head .logo_area {
		align-items: center;
		display: flex;
		position: relative;
		z-index: 300;
	}

	.drawer_open header.header_active2 #sp_head .logo_area, .drawer_open header.header_active2 #sp_head .sp_head_service {
		display: flex;
	}

	header.header_active2 #sp_head .logo_area, header.header_active2 #sp_head .sp_head_service {
		display: none;
	}

	#sp_head .sp_head_logo {
		align-items: center;
		display: flex;
		gap: 6px;
		height: 100%;
		padding: 0 0 0 20px;
	}

	#sp_head .sp_head_logo_img {
		width: 40px;
	}
}

/* -----------------------------------------------------------
    #header_service
-------------------------------------------------------------- */
@media screen and (min-width: 769px) {
	#header_service {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.sp_head_service {
		align-items: center;
		border: 1px solid;
		border-radius: 3px;
		display: flex;
		font-size: 1.2rem;
		font-weight: 600;
		flex-direction: column;
		gap: 5px;
		line-height: 1.4;
		right: 70px;
		height: 47px;
		justify-content: center;
		padding: 3px 12px;
		position: absolute;
		text-align: center;
		top: 13px;
	}

	#header_service .header_service_inner {
		background: #fff;
		width: 100.1vw;
		z-index: -50;
		left: 50%;
		transform: translate(-50%, -100%);
		transition: .5s cubic-bezier(.43, .05, .17, 1);
		opacity: 0;
		position: fixed;
		top: 0;
		height: 250vh;
		overflow-y: scroll;
	}

	#header_service.header_service_show .header_service_inner {
		opacity: 1;
		transform: translate(-50%, 0);
		transition: .5s cubic-bezier(.43, .05, .17, 1);
		z-index: 9999999999999999;
	}

	#header_service .header_service_scroll {
		margin: 0 0 300px 0;
		overflow-y: scroll;
		height: 100vh;
	}

	#header_service .header_service_close {
		align-items: center;
		background: var(--cmnbg2);
		border-radius: 0 0 0 5px;
		display: flex;
		justify-content: center;
		position: absolute;
		top: 0;
		right: 0;
		cursor: pointer;
		width: 120px;
		height: 48px;
		z-index: 50;
	}

	#header_service .header_service_close span {
		color: var(--gray);
		line-height: 1;
		font: 500 1.6rem /1 var(--en);
		padding: 0 0 2px 20px;
		position: relative;
	}

	#header_service .header_service_close span::before, #header_service .header_service_close span::after {
		content: "";
		display: inline-block;
		position: absolute;
		height: 1px;
		border-bottom: 1px solid var(--gray);
		width: 17px;
		top: 45%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	#header_service .header_service_close span::before {
		transform: rotate(-45deg);
		left: -1px;
	}

	#header_service .header_service_close span::after {
		transform: rotate(45deg);
		left: 0;
	}

	#header_service .header_service_head {
		margin: 40px 0 0 0;
		padding: 0 20px;
	}

	#header_service .header_service_head .ttl {
		position: relative;
		font-size: 2.2rem;
		font-weight: bold;
		margin: 70px 0 0 0;
		text-align: center;
		line-height: 1.4;
	}

	#header_service .header_service_head .descript {
		font-size: 1.5rem;
		line-height: 1.7;
		margin: 10px 0 0 0;
	}

	#header_service .header_service_body {
		display: flex;
		gap: 20px;
		flex-direction: column;
		margin: 20px auto 0;
		padding: 0 20px 300px 20px;
	}

	#header_service .header_service_body li {
		border-style: solid;
		border-width: 1px;
		border-radius: 5px;
		overflow: hidden;
		padding: 20px;
	}

	#header_service .header_service_sound {
		border-color: var(--sound);
	}

	#header_service .header_service_stream {
		border-color: var(--stream);
	}

	#header_service .header_service_video {
		border-color: var(--video);
	}

	#header_service .header_service_other {
		border-color: var(--other);
	}

	#header_service .header_service_top {
		align-items: center;
		display: flex;
		gap: 10px;
	}

	#header_service .header_service_top .ttl {
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1.5;
		position: relative;
		padding: 0 0 0 27px;
	}

	#header_service .header_service_other .ttl {
		padding: 0;
	}

	#header_service .header_service_top .ttl span {
		font-size: 2.2rem;
		font-feature-settings: "palt";
		font-weight: bold;
		letter-spacing: .03em;
	}

	#header_service .header_service_top .ttl::before {
		content: "";
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
		position: absolute;
		top: 55%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		left: 0;
	}

	.header_service_sound .header_service_top .ttl::before {
		background-image: url("../img/occupation-sound-color.svg");
		width: 20px;
		height: 21px;
	}

	.header_service_stream .header_service_top .ttl::before {
		background-image: url("../img/occupation-stream-color.svg");
		width: 22px;
		height: 15px;
	}

	.header_service_video .header_service_top .ttl::before {
		background-image: url("../img/occupation-video-color.svg");
		width: 20px;
		height: 17px;
	}

	.header_service_other .header_service_top .ttl::before {
		display: none;
	}

	#header_service .header_service_body .img {
		aspect-ratio: 240/140;
		flex-shrink: 0;
		width: 50%;
	}

	#header_service .header_service_body .img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	#header_service .header_service_btm {
		padding: 15px 0 0;
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
	}

	#header_service .header_service_btm a {
		border: 1px solid;
		border-radius: 5px;
		color: #fff;
		font-size: 1.5rem;
		padding: 13px 0 15px 17px;
		position: relative;
		width: calc((100% - 10px) / 2);
	}

	#header_service .header_service_btm a::before {
		content: "\f105";
		font: 900 1rem/1 var(--webicon);
		position: absolute;
		left: 7px;
		top: 50%;
		transform: translateY(-50%);
	}

	.header_service_sound .header_service_btm a {
		background: var(--sound);
	}

	.header_service_stream .header_service_btm a {
		background: var(--stream);
	}

	.header_service_video .header_service_btm a {
		background: var(--video);
	}

	.header_service_other .header_service_btm a {
		background: var(--other);
	}
}

/* -----------------------------------------------------------
    メガメニュー
-------------------------------------------------------------- */
.header_megamenu {
	align-items: center;
	background: #fff;
	display: flex;
	position: absolute;
	pointer-events: auto;
	justify-content: center;
	min-width: 1240px;
	width: 100%;
	top: 100%;
	transform: translateY(-10px);
	transition-duration: .5s;
	transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	visibility: hidden;
	left: 0;
	right: 0;
	opacity: 0;
	overflow: hidden;
	z-index: -2;
}

[id^="header_mega_"]:hover .header_megamenu {
	opacity: 1;
	pointer-events: all;
	transform: translateY(0);
	visibility: visible;
	z-index: 2;
}

.header_mega_inner {
	display: flex;
	min-width: 1240px;
	max-width: 1300px;
	padding: 40px 0 50px;
	width: 100%;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	.header_mega_inner {
		padding: 30px 25px 50px;
	}
}

/*header_mega1---------------------------*/
#header_mega_1 .link_line {
	color: var(--cmnblack) !important;
}

#header_mega_1:hover .link_line {
	cursor: default;
}

#header_mega_1:hover .link_line::after {
	display: none !important;
}

.header_mega_list {
	align-items: flex-start;
	display: flex;
	gap: 25px;
	justify-content: center;
	width: 100%;
}

.header_mega_item {
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	margin: 0;
	justify-content: center;
	width: calc((100% - 75px) / 2);
	z-index: 2;
	overflow: hidden;
}

.header_mega_text {
	display: flex;
	flex-direction: column;
	min-height: 256px;
}

.headmega_link {
	color: #fff !important;
	font-weight: 400;
	font-size: 1.5rem;
	letter-spacing: .05em;
	position: relative;
	padding: 8px 25px 10px 36px;
}

.headmega_link:hover {
	text-decoration: underline;
}

.headmega_link::before {
	content: "\f105";
	color: #fff;
	font: 900 1.1rem/1 var(--webicon);
	position: absolute;
	left: 25px;
	z-index: 2;
	top: 47%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: .4s;
}

[data-headmega1="sound"] .headmega_btn:hover {
	background: #f7e2fd;
}

[data-headmega1="stream"] .headmega_btn:hover {
	background: #e5deff;
}

[data-headmega1="video"] .headmega_btn:hover {
	background: #dae7ff;
}

[data-headmega1="other"] .headmega_btn:hover {
	background: #dfffe5;
}

.headmega_btn {
	background: #fff;
	border-radius: 2px;
	font-weight: 500;
	font-size: 1.9rem;
	padding: 12px 10px 14px 30px;
	margin: 10px auto 0;
	position: relative;
	width: calc(100% - 50px);
}

.headmega_btn:first-of-type {
	margin-top: 0;
}

.headmega_btn::before {
	content: "\f105";
	font: 900 1.3rem/1 var(--webicon);
	position: absolute;
	left: 12px;
	z-index: 2;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: .4s;
}

.headmega_btn:hover::before {
	left: 17px;
}

.headmega_ttl {
	font-size: 1.6rem;
	font-weight: 500;
	padding: 8px 0 0 25px;
	color: #fff;
}

.headmega_ttl span {
	font-size: 2.5rem;
	padding: 0 3px 0 26px;
	position: relative;
}

[data-headmega1="other"] .headmega_ttl span {
	padding-left: 0;
}

.headmega_ttl span::before {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: absolute;
	top: 55%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
}

[data-headmega1="sound"] .headmega_ttl span::before {
	background-image: url("../img/occupation-sound.svg");
	width: 20px;
	height: 21px;
}

[data-headmega1="stream"] .headmega_ttl span::before {
	background-image: url("../img/occupation-stream.svg");
	width: 22px;
	height: 15px;
}

[data-headmega1="video"] .headmega_ttl span::before {
	background-image: url("../img/occupation-video.svg");
	width: 20px;
	height: 17px;
}

[data-headmega1="other"] .headmega_ttl span::before {
	display: none;
}

[data-headmega1="sound"] .headmega_btn {
	color: var(--sound);
}

[data-headmega1="stream"] .headmega_btn {
	color: var(--stream);
}

[data-headmega1="video"] .headmega_btn {
	color: var(--video);
}

[data-headmega1="other"] .headmega_btn {
	color: var(--other);
}

.header_mega_thumb {
	width: 100%;
	height: 170px;
	margin: 20px auto 0;
}

.header_mega_thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

[data-headmega1="sound"] {
	background: var(--sound);
}

[data-headmega1="stream"] {
	background: var(--stream);
}

[data-headmega1="video"] {
	background: var(--video);
}

[data-headmega1="other"] {
	background: var(--other);
}

/* -------------------------------------------------
   共通 検索エリア
---------------------------------------------------- */
#header-search.is-search-show .header-search-head {
	opacity: 1;
	transform: translate(-50%, 0);
	transition: .5s cubic-bezier(.43, .05, .17, 1);
}

#header-search .header-search-head {
	background: #fff;
	padding: 0 40px 40px 40px;
	width: 100vw;
	min-width: 1200px;
	z-index: 9999999999999999;
	left: 50%;
	transform: translate(-50%, -100%);
	transition: .5s cubic-bezier(.43, .05, .17, 1);
	opacity: 0;
	position: fixed;
	top: 0;
	height: 100vh;
	overflow-y: scroll;
}

#header-search .header-search-body {
	margin: 0 auto;
	max-width: 1200px;
	position: relative;
	padding: 15px 0 0 0;
}

#header-search .header-search-ttl {
	font-size: 2.8rem;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 2;
	letter-spacing: 0;
}

#header-search .header-search-ttl i {
	font-size: 2.5rem;
	position: relative;
	margin: 2px 6px 0 0;
}

#header-search .header-search-ttl span {
	position: relative;
	font-weight: bold;
}

#header-search .head-btn-close {
	align-items: center;
	cursor: pointer;
	display: flex;
	position: absolute;
	right: 30px;
	top: 0;
	width: 140px;
	height: 55px;
	transition: .5s;
	z-index: 50;
	justify-content: center;
	border-radius: 0 0 5px 5px;
	border: 1px solid #d3d6dc;
	border-top: 0;
}

#header-search .head-btn-close:hover {
	background: var(--main);
}

#header-search .head-btn-close:hover span, #header-search .head-btn-close:hover i {
	color: #fff;
}

#header-search .head-btn-close i {
	color: var(--gray);
	font-size: 1.8rem;
	transition: .5s;
	margin: 1px 3px 0 0;
}

#header-search .head-btn-close span {
	color: var(--gray);
	font: 600 1.8rem /1 var(--en);
	letter-spacing: 0;
	transition: .5s;
}

#header-search #topforms {
	border-radius: 15px;
	padding: 0 30px 30px;
	position: relative;
	margin: 20px 0 0 0;
}

#header-search .cmn_search_popular {
	font-size: 1.3rem;
	position: absolute;
	top: -75px;
	left: 30px;
	z-index: 2;
}

#header-search .cmn_search_popular ul {
	align-items: center;
	display: flex;
}

#header-search .cmn_search_popular dt {
	color: var(--gray);
	padding: 0 0 3px 1.3em;
	position: relative;
}

#header-search .cmn_search_popular dt::before {
	content: "\f06a";
	font: 900 1.3rem/1 var(--webicon);
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
}

#header-search .cmn_search_popular li {
	margin: 5px 5px 0 0;
}

#header-search .cmn_search_popular a {
	background: #fff;
	border-radius: 3px;
	border: 1px solid #d3d6dc;
	color: var(--cmnblack);
	cursor: pointer;
	display: inline-block;
	white-space: nowrap;
	min-width: 70px;
	text-align: center;
	transition: .3s;
	padding: 6px 10px 8px 15px;
	pointer-events: auto;
	position: relative;
}

#header-search .cmn_search_popular a::before {
	content: "\f105";
	color: var(--main);
	font: 900 1rem/1 var(--webicon);
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 5px;
	position: absolute;
}

@media screen and (min-width: 769px) {
	#header-search .cmn_search_popular a:hover {
		background: var(--main);
		color: #fff;
	}

	#header-search .cmn_search_popular a:hover::before {
		color: #fff;
	}
}

#header-search .cmn_search_wrap {
	position: relative;
}

#header-search .cmn_search_row {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
	gap: 15px;
}

#header-search .cmn_search_box {
	width: calc((100% - 30px) / 3);
	flex-shrink: 0;
}

#header-search .search_es_wrap {
	margin-top: 15px;
}

#header-search .search_occ_list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#header-search .search_occ_cate {
	position: relative;
}

#header-search .search_occ_icon {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	top: 18px;
}

#header-search .search_occ_icon span {
	aspect-ratio: 1/1;
	display: block;
	position: relative;
	width: 35px;
}

#header-search .search_occ_icon span::before {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
}

#header-search [data-searchocc="occ1"] .search_occ_icon span::before {
	background-image: url(../img/cmn_occ_sound.svg);
}

#header-search [data-searchocc="occ2"] .search_occ_icon span::before {
	background-image: url(../img/cmn_occ_stream.svg);
}

#header-search [data-searchocc="occ3"] .search_occ_icon span::before {
	background-image: url(../img/cmn_occ_video.svg);
}

#header-search [data-searchocc="occ1"], #header-search [data-searchocc="occ2"], #header-search [data-searchocc="occ3"] {
	width: calc((100% - 16px) / 3);
	height: 100px;
}

#header-search [data-searchocc="occ4"], #header-search [data-searchocc="occ5"], #header-search [data-searchocc="occ6"] {
	width: calc((100% - 8px) / 2);
}

#header-search .search_occ_cate input {
	opacity: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	cursor: pointer;
	margin: 0;
	z-index: 2;
}

#header-search [data-searchocc="occ1"] label, #header-search [data-searchocc="occ2"] label, #header-search [data-searchocc="occ3"] label {
	background: #fff;
	border-radius: 3px;
	border-width: 2px;
	border-style: solid;
	color: var(--gray2);
	cursor: pointer;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 60px 0 0;
	font-weight: bold;
	transition: .5s;
	font-feature-settings: "palt";
	letter-spacing: .03em;
}

#header-search [data-searchocc="occ1"] label {
	color: var(--sound);
	border-color: var(--sound);
}

#header-search [data-searchocc="occ1"] input:checked + label, #header-search [data-searchocc="occ1"]:hover label {
	background: #f8ebfd;
}

#header-search [data-searchocc="occ2"] label {
	color: var(--stream);
	border-color: var(--stream);
}

#header-search [data-searchocc="occ2"] input:checked + label, #header-search [data-searchocc="occ2"]:hover label {
	background: #eae6ff;
}

#header-search [data-searchocc="occ3"] label {
	color: var(--video);
	border-color: var(--video);
}

#header-search [data-searchocc="occ3"] input:checked + label, #header-search [data-searchocc="occ3"]:hover label {
	background: #dbe6ff;
}

#header-search [data-searchocc="occ4"] label, #header-search [data-searchocc="occ5"] label, #header-search [data-searchocc="occ6"] label {
	background: #fff;
	border-radius: 3px;
	border: 2px solid #d3d6dc;
	color: var(--gray2);
	cursor: pointer;
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 500;
	pointer-events: auto;
	padding: 15px 2px;
	min-width: 70px;
	text-align: center;
	transition: .3s;
	width: 100%;
	font-feature-settings: "palt";
	letter-spacing: .03em;
}

#header-search [data-searchocc="occ4"] input:checked + label, #header-search [data-searchocc="occ4"]:hover label, #header-search [data-searchocc="occ5"] input:checked + label, #header-search [data-searchocc="occ6"]:hover label, #header-search [data-searchocc="occ6"] input:checked + label, #header-search [data-searchocc="occ6"]:hover label {
	background: var(--cmnbg);
	color: var(--main);
	border-color: var(--main);
}

#header-search .cmn_search .cmn_cate_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#header-search .search_commit_body .cmn_cate_wrap {
	height: 283px;
	overflow-y: scroll;
}

#header-search .search_commit_more {
	align-items: center;
	/*display: flex;*/
	cursor: pointer;
	justify-content: center;
	width: 100%;
	padding: 10px 0 20px;
	display: none !important;
}

#header-search .search_commit_more span {
	color: var(--gray);
	font: 600 1.6rem /1 var(--en);
	position: relative;
	padding: 0 0 0 24px;
}

#header-search .search_commit_more span::before {
	content: "\f0fe";
	font: 900 1.8rem/1 var(--webicon);
	top: 50%;
	transform: translateY(-50%);
	left: 0px;
	position: absolute;
}

#header-search .search_commit_more.search_commit_open span::before {
	content: "\f146";
}

#header-search .search_commit_body {
	/*display: none;*/
	padding: 0 15px 15px;
}

#header-search .cmn_search .cmn_cate {
	position: relative;
}

#header-search .cmn_search .cmn_cate input {
	opacity: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	cursor: pointer;
	margin: 0;
}

[for^="commit_cancel"]::before {
	content: "\f00d";
	font-weight: 900;
	font-family: var(--webicon);
	padding: 0 5px 0 0;
}

#header-search .cmn_search .cmn_cate label {
	background: #fff;
	border: 1px solid #d3d6dc;
	border-radius: 5px;
	color: var(--gray2);
	display: inline-block;
	pointer-events: auto;
	padding: 10px 10px 12px;
	white-space: nowrap;
	font-size: 1.4rem;
	cursor: pointer;
	min-width: 70px;
	text-align: center;
	transition: .3s;
}

#header-search .cmn_search .cmn_cate input:checked + label, #header-search .cmn_search .cmn_cate:hover label {
	background: var(--cmnbg);
	color: var(--main);
	border-color: var(--main);
	font-weight: 500;
}

#header-search .cmn_search .cmn_search_header {
	font-weight: bold;
	font-size: 1.8rem;
	position: relative;
	background: #e4f3f9;
	color: #3ea4ce;
}

#header-search .search_area_wrap .cmn_search_header {
	padding: 16px 20px;
}

#header-search .cmn_search .cmn_search_header::before {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 13px;
}

#header-search .cmncate_money .cmn_search_header::before {
	background-image: url("../img/cmn-selection-icon2.png");
	width: 33px;
	height: 34px;
}

#header-search .cmncate_job .cmn_search_header::before {
	background-image: url("../img/cmn-selection-icon3.png");
	width: 30px;
	height: 29px;
}

#header-search .cmncate_type .cmn_search_header::before {
	background-image: url("../img/cmn-selection-icon4.png");
	width: 33px;
	height: 34px;
}

#header-search .cmncate_rec .cmn_search_header::before {
	background-image: url("../img/cmn-selection-icon5.png");
	width: 37px;
	height: 29.5px;
}

#header-search .cmncate_work .cmn_search_header::before {
	background-image: url("../img/cmn-selection-icon6.png");
	width: 31px;
	height: 28.5px;
}

#header-search .cmncate_env .cmn_search_header::before {
	background-image: url("../img/cmn-selection-icon7.png");
	width: 31px;
	height: 28.5px;
}

#header-search .cmn_search .cmn_search_header .title {
	align-items: center;
	display: flex;
}

#header-search .cmn_search .cmn_search_header .title img {
	width: 20px;
	margin: 0 10px 0 0;
}

#header-search .cmn_search_item {
	border-bottom: 1px solid #a6ccdc;
}

#header-search .cmn_search_body {
	border-radius: 0 0 5px 5px;
	background: var(--cmnbg2);
	border-width: 0 1px 1px;
	padding: 0 20px 25px;
}

#header-search .search_commit_wrap .cmn_search_body {
	padding: 0;
}

#header-search .cmn_search_bigttl {
	align-items: center;
	display: flex;
	background: var(--cmnbg2);
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	text-align: center;
	padding: 13px 10px 10px;
	justify-content: center;
}

#header-search .cmn_search_bigttl span {
	font-size: 2.1rem;
	font-weight: bold;
	position: relative;
	padding: 0 0 0 33px;
	width: fit-content;
}

#header-search .search_occ_wrap .cmn_search_bigttl span {
	padding: 0 0 0 36px;
}

#header-search .cmn_search_bigttl span::before {
	content: "";
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
	width: 30px;
	height: 30px;
}

#header-search .search_occ_wrap .cmn_search_bigttl span::before {
	background-image: url(../img/cmn-jobicon-occ.png);
}

#header-search .search_area_wrap .cmn_search_bigttl span::before {
	background-image: url(../img/cmn-jobicon-area.png);
}

#header-search .search_es_wrap .cmn_search_bigttl span::before {
	background-image: url(../img/cmn-jobicon-es.png);
}

#header-search .search_commit_wrap .cmn_search_bigttl span::before {
	background-image: url(../img/cmn-jobicon-commit.png)
}

#header-search .cmn_search_select {
	margin: 20px 0 0 0;
}

#header-search .cmn_search_bottom {
	margin: 20px 0 0 0;
}

#header-search .cmn_search_keyword {
	align-items: center;
	display: flex;
	justify-content: center;
}

#header-search .cmn_search_keyword .keyword_ttl {
	font-size: 2rem;
	font-weight: bold;
	margin: 0 20px 0 0;
	letter-spacing: 0;
}

#header-search .cmn_search_keyword input {
	appearance: none;
	border: 3px solid #d3d6dc;
	font-weight: 500;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	width: calc(100% - 160px);
	padding: 15px 20px;
	letter-spacing: 0.03em;
	height: 100%;
	border-radius: 3px;
}

#header-search .cmn_search_keyword input::placeholder {
	color: #bbb;
}

#header-search .cmn_search_keyword input:focus {
	outline: none;
	background: var(--cmnbg);
}

#header-search .cmn_search_btn {
	position: relative;
	text-align: center;
	margin: 20px auto 0;
	width: 350px;
}

#header-search .cmn_search_btn input {
	background: var(--search);
	border: none;
	border-radius: 40px;
	color: #fff;
	cursor: pointer;
	font-size: 2rem;
	font-weight: 500;
	height: 70px;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-align: center;
	transition: .3s;
	position: relative;
	width: 100%;
}

@media screen and (min-width: 769px) {
	#header-search .cmn_search_btn:hover input {
		background: var(--search2);
		color: #fff !important;
	}
}

#header-search .cmn_search_btn::after {
	content: "\f002";
	color: #fff;
	font: 900 2rem/1 var(--webicon);
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 25px;
	z-index: 2;
}

#header-search .cmn_search_btn:hover::after {
	color: #fff;
}

@media screen and (max-width: 768px) {
	#header-search .cmn_search_popular {
		font-size: 1.2rem;
		top: -105px;
		left: 15px;
	}

	#header-search .cmn_search_popular dt {
		padding: 0 0 5px 1.4em;
	}

	#header-search .cmn_search_popular dt::before {
		font-size: 1.4rem;
		top: 43%;
	}

	#header-search .header-search-head {
		padding: 0;
		min-width: unset;
	}

	#header-search .header-search-body {
		min-width: unset;
		padding: 65px 0 0 0;
	}

	#header-search .header-search-ttl {
		font-size: 2.2rem;
		padding: 0;
	}

	#header-search .header-search-ttl i {
		margin: 5px 5px 0 0;
	}

	#header-search .head-btn-close {
		border-radius: 0 0 0 5px;
		right: 0;
		width: 120px;
		height: 40px;
		padding: 0;
	}

	#header-search .head-btn-close span {
		font-size: 1.6rem;
	}

	#header-search .head-btn-close i {
		font-size: 1.5rem;
		margin: 1px 5px 0 0;
	}

	#header-search .cmn_search_wrap {
		border-radius: 0;
		padding: 0;
	}

	#header-search .cmn_search_row {
		flex-direction: column;
	}

	#header-search .cmn_search_box {
		width: 100%;
	}

	#header-search .search_ob_wrap {
		margin: 20px 0 0 0;
	}

	#header-search.is-search-show .header-search-head {
		height: 100vh;
		overflow-y: scroll;
	}

	#header-search #topforms {
		background: transparent;
		border-radius: 0;
		width: 100%;
		padding: 13px 15px 15px;
		margin: 0;
	}

	#header-search .cmn_search_bigttl {
		padding: 5px 15px 8px;
		font-size: 1.8rem;
		text-align: left;
		position: relative;
	}

	#header-search .cmn_search_bigttl::before {
		content: "";
		background: url(../img/accordion_plus.svg)center/contain no-repeat;
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		right: 20px;
		width: 20px;
		height: 20px;
	}

	#header-search .cmn_search_bigttl.bigttl-open::before {
		background-image: url("../img/accordion_minus.svg");
	}

	#header-search .cmn_search_bigttl span {
		font-size: 1.8rem;
	}

	#header-search .search_commit_more {
		display: none;
	}

	#header-search .cmn_search_body {
		display: none;
		padding: 0 20px 20px;
	}

	#header-search .search_commit_body {
		display: block !important;
		padding-top: 20px;
	}

	#header-search .search_commit_body .cmn_cate_wrap {
		height: auto;
		overflow-y: unset;
	}

	#header-search .cmn_search_btn input {
		height: 60px;
	}

	#header-search .cmn_search_keyword {
		display: block;
		/*margin: 0 auto 400px;*/
	}

	#header-search .cmn_search_keyword .keyword_ttl {
		font-size: 2rem;
		margin: 0 0 3px;
		text-align: center;
	}

	#header-search .cmn_search_keyword input {
		font-size: 1.4rem;
		padding: 15px;
		width: 100%;
	}

	#header-search .cmn_search_btn {
		width: 100%;
		max-width: 350px;
		margin: 25px auto 400px;
		/*bottom: 10px;
		left: 0;
		right: 0;
		position: fixed;*/
	}

	#header-search .cmn_search_btn input {
		width: 100%;
		max-width: 350px;
		height: 65px;
		font-size: 1.7rem;
	}
}

/* -----------------------------------------------------------
    Responsive
-------------------------------------------------------------- */
.pc-display {}

.pc-display-b {}

.sp-display {
	display: none;
}

.sp-display-b {
	display: none;
}

br.pc-br {
	display: inline;
}

br.sp-br {
	display: none;
}

br.note-br {
	display: none;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	br.note-br {
		display: inline;
	}
}

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

	.pc-display-b {
		display: none;
	}

	.sp-display {
		display: inline;
	}

	.sp-display-b {
		display: block;
	}

	br.pc-br {
		display: none;
	}

	br.sp-br {
		display: inline;
	}

	br.note-br {
		display: none;
	}
}

/* -----------------------------------------------------------
    main
-------------------------------------------------------------- */
.contents {
	position: relative;
}

@media screen and (max-width: 768px) {
	#main {
		position: relative;
	}
}

/* -----------------------------------------------------------
    #page_top
-------------------------------------------------------------- */
#page_top {
	position: fixed;
	bottom: 30px;
	right: 20px;
	z-index: 500;
	line-height: 1.0;
}

#page_top a {
	align-items: center;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(10px);
	border: 1px solid #959595;
	display: flex;
	width: 56px;
	height: 56px;
	justify-content: center;
}

#page_top span {
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#page_top span img {
	width: 100%;
}

#page_top i {
	font-size: 2.2rem;
	color: #959595 !important;
}

@media screen and (max-width: 768px) {
	#page_top {
		bottom: 70px;
		right: 10px;
		z-index: 5;
		display: none !important;
	}

	#page_top a {
		width: 50px;
		height: 50px;
	}

	#page_top span {
		width: 20px;
		height: 20px;
	}
}

/* -----------------------------------------------------------
    cmn-btn
-------------------------------------------------------------- */
.cmn-btn a {
	align-items: center;
	background: var(--cmnblack);
	border-radius: 40px;
	display: flex;
	height: 66px;
	width: 280px;
	position: relative;
	z-index: 0;
	overflow: hidden;
	justify-content: center;
}

.cmn-btn a::before {
	content: "";
	width: 0;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background-image: none;
	background-color: var(--main);
	transition: .4s;
	z-index: -1;
}

.cmn-btn a::after {
	content: "\f105";
	color: var(--main);
	font: 900 1.3rem/1 var(--webicon);
	position: absolute;
	right: 18px;
	z-index: 2;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: .4s;
}

.cmn-btn .cmn-btn-txt {
	color: #fff !important;
	font-weight: 500;
	line-height: 1.2;
	transition: .4s;
	z-index: 1;
}

@media screen and (min-width: 769px) {
	.cmn-btn a:hover::before {
		left: 0;
		width: 120%;
	}

	.cmn-btn a:hover::after {
		color: #fff !important;
	}
}

@media screen and (max-width: 768px) {
	.cmn-btn a {
		margin: 0 auto;
		width: 100%;
		min-width: unset;
		max-width: 500px;
		height: 60px;
	}

	.cmn-btn a::after {
		right: 15px;
	}
}

/* -----------------------------------------------------------
    cmn-btn2
-------------------------------------------------------------- */
.cmn-btn2 a {
	align-items: center;
	border: 1px solid var(--cmnblack);
	border-radius: 40px;
	display: flex;
	height: 60px;
	width: 280px;
	position: relative;
	z-index: 0;
	overflow: hidden;
	justify-content: center;
}

.cmn-btn2 a::before {
	content: "";
	width: 0;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background-image: none;
	background-color: var(--main);
	transition: .4s;
	z-index: -1;
}

.cmn-btn2 a::after {
	content: "\f138";
	color: var(--main);
	font: 900 1.5rem/1 var(--webicon);
	position: absolute;
	right: 15px;
	z-index: 2;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: .4s;
}

.cmn-btn2 .cmn-btn2-txt {
	color: var(--cmnblack) !important;
	font-weight: 500;
	line-height: 1.2;
	transition: .4s;
	z-index: 1;
}

@media screen and (min-width: 769px) {
	.cmn-btn2 a:hover {
		border-color: var(--main);
	}

	.cmn-btn2 a:hover .cmn-btn2-txt {
		color: #fff !important;
	}

	.cmn-btn2 a:hover::before {
		left: 0;
		width: 120%;
	}

	.cmn-btn2 a:hover::after {
		color: #fff !important;
	}
}

@media screen and (max-width: 768px) {
	.cmn-btn2 a {
		margin: 0 auto;
		width: 100%;
		min-width: unset;
		max-width: 500px;
	}

	.cmn-btn2 a::after {
		right: 15px;
	}
}

/* -----------------------------------------------------------
    shine-btn
-------------------------------------------------------------- */
.shine-btn {
	position: relative;
	overflow: hidden;
}

.shine-btn::after {
	animation: shinebtn 5s ease-in infinite;
	background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.9));
	content: "";
	position: absolute;
	width: 50px;
	height: 50px;
	top: -60px;
	left: -60px;
}

@keyframes shinebtn {
	0% {
		transform: scale(0) rotate(30deg);
		opacity: 0;
	}

	60% {
		transform: scale(1) rotate(30deg);
		opacity: .5;
	}

	100% {
		transform: scale(250) rotate(30deg);
		opacity: 0;
	}
}

/* -----------------------------------------------------------
    ptn-graph
-------------------------------------------------------------- */
.ptn-graph {
	background: url("../img/ptn-graph.png")center top/100px repeat;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: .45;
}

/* -----------------------------------------------------------
    ptn-stripe
-------------------------------------------------------------- */
.ptn-stripe__sound {
	background: url(../img/ptn-stripe-sound.jpg) repeat;
}

.ptn-stripe__stream {
	background: url(../img/ptn-stripe-stream.jpg) repeat;
}

.ptn-stripe__video {
	background: url(../img/ptn-stripe-video.jpg) repeat;
}

.ptn-stripe__other {
	background: url(../img/ptn-stripe-other.jpg) repeat;
}

.ptn-stripe__normal {
	background: var(--cmnbg2);
}

/* -----------------------------------------------------------
    求人UP月日
-------------------------------------------------------------- */
.new-info-day {
	align-items: center;
	display: flex;
	gap: 5px;
	font: 700 1.8rem /1 var(--en);
	white-space: nowrap;
}

.new-info-day .en {
	color: var(--main);
	margin: 0 2px 0 0;
}

.new-info-day span:not(.en) {
	font-weight: 600;
}

@media screen and (max-width: 768px) {
	.new-info-day {
		font-size: 1.6rem;
	}
}

/* -----------------------------------------------------------
    お仕事CMSカテゴリ共通
-------------------------------------------------------------- */
[class^="cmn-cate__"] li {
	border-width: 1px;
	border-style: solid;
	border-radius: 3px;
	font-size: 1.3rem;
	padding: 5px 7px 6.5px;
	line-height: 1;
}

[class^="cmn-cate__"] li span {
	margin: 0 0 0 4px;
}

.cmn-cate__job .new {
	background: #e54d48;
	border-color: #e54d48;
	color: #fff;
}

.cmn-cate__job .re {
	background: #fceeeb;
	border-color: #dc5f42;
	color: #dc5f42;
}

.cmn-cate__job .es {
	border-color: var(--gray);
	color: var(--gray);
}

.occupation1 .cmn-cate__job .occ, .occupation2 .cmn-cate__job .occ, .occupation3 .cmn-cate__job .occ {
	align-items: center;
	display: flex;
	justify-content: center;
}

.occupation1 .cmn-cate__job .occ::before, .occupation2 .cmn-cate__job .occ::before, .occupation3 .cmn-cate__job .occ::before {
	content: "";
	margin: 0 4px 0 0;
}

.occupation1 .cmn-cate__job .occ::before {
	background: url("../img/occupation-sound.svg")center/contain no-repeat;
	width: 12px;
	height: 13px;
}

.occupation2 .cmn-cate__job .occ::before {
	background: url("../img/occupation-stream.svg")center/contain no-repeat;
	width: 18px;
	height: 11px;
}

.occupation3 .cmn-cate__job .occ::before {
	background: url("../img/occupation-video.svg")center/contain no-repeat;
	width: 16px;
	height: 13px;
}

.cmn-cate__job .occ, .cmn-cate__job .area {
	color: #fff !important;
}

.cmn-cate__job .occ-color {
	border-color: var(--other);
	background: var(--other);
}

.occupation1 .cmn-cate__job .occ-color {
	border-color: var(--sound);
	background: var(--sound);
}

.occupation2 .cmn-cate__job .occ-color {
	border-color: var(--stream);
	background: var(--stream);
}

.occupation3 .cmn-cate__job .occ-color {
	border-color: var(--video);
	background: var(--video);
}

.cmn-cate__commit li {
	border-color: var(--gray);
	color: var(--gray);
}

@media screen and (max-width: 768px) {
	[class^="cmn-cate__"] li {
		font-size: 1.3rem;
		padding: 6px 6px 7px;
	}
}

/* -----------------------------------------------------------
    cmn-job-info
-------------------------------------------------------------- */
.cmn-job-info {
	font-size: 1.4rem;
	color: var(--gray);
	letter-spacing: .02em;
	line-height: 1.57;
	padding: 0 0 0 20px;
	position: relative;
}

[class^="cmn-jobinfo"]::before {
	color: var(--gray);
	position: absolute;
	left: 0;
	line-height: 1;
	top: 2.5px;
}

.cmn-jobinfo-salary::before {
	content: "￥";
	font-weight: bold;
	font-size: 1.7rem;
}

.cmn-jobinfo-place::before {
	content: "";
	background: url("../img/gray-pin.svg")center/contain no-repeat;
	display: block;
	width: 16px;
	height: 18px;
}

@media screen and (max-width: 768px) {
	.cmn-job-info {
		font-size: 1.3rem;
	}
}

/* -----------------------------------------------------------
    cmn-job-banner
-------------------------------------------------------------- */
.cmn-job-banner {
	width: 100%;
	margin: 70px auto 0;
}

.cmn-job-banner a {
	background: #fff;
	border-radius: 15px;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
}

.cmn-job-banner [class^="cmn-jobbnr-bg"] {
	aspect-ratio: 330/280;
	width: 330px;
	display: block;
	flex-shrink: 0;
}

.cmn-job-banner .cmn-jobbnr-bg1 {
	background: url("../img/reljob-bnr1.jpg")center/cover no-repeat;
}

.cmn-job-banner .cmn-jobbnr-bg2 {
	background: url("../img/reljob-bnr2.jpg")center/cover no-repeat;
}

.cmn-jobbnr-box {
	color: var(--cmnblack);
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 25px 0;
}

.cmn-jobbnr-catch {
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.3;
	display: none;
}

.cmn-jobbnr-note {
	font-size: 1.5rem;
	font-weight: 500;
	padding: 20px 30px 0;
	display: none;
}

.cmn-jobbnr-btn-wrap {
	position: relative;
	width: 320px;
	margin: 30px auto 0;
}

.cmn-jobbnr-btn .shine-btn {
	align-items: center;
	background: var(--cv);
	border-radius: 60px;
	color: #fff;
	display: flex;
	font-size: 1.8rem;
	font-weight: bold;
	height: 64px;
	justify-content: center;
	width: 100%;
	transition: .3s;
	position: relative;
}

.cmn-job-banner a:hover .shine-btn {
	background: var(--cv2);
}

.cmn-jobbnr-btn .shine-btn::before {
	content: "\f105";
	color: #Fff;
	font: 900 1.2rem/1 var(--webicon);
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 12px;
	position: absolute;
}

.cmn-jobbnr-btn span {
	align-items: center;
	background: #fff;
	border-radius: 30px;
	border: 2px solid var(--cv);
	color: var(--cv);
	display: flex;
	font-display: 500;
	font-size: 1.4rem;
	justify-content: center;
	line-height: 1;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	top: -12px;
	position: absolute;
	padding: 3px 10px 6px;
	z-index: 2;
}

.cmn-job-banner a:hover span {
	color: var(--cv2) !important;
	border-color: var(--cv2) !important;
}

@media screen and (max-width: 768px) {
	.cmn-job-banner {
		margin: 40px auto 0;
		padding: 0 20px;
	}

	.cmn-job-banner a {
		overflow: hidden;
		display: flex;
		height: auto;
		flex-wrap: wrap;
	}

	.cmn-job-banner [class^="cmn-jobbnr-bg"] {
		width: 50%;
	}

	.cmn-job-banner .cmn-jobbnr-bg1 {
		order: 1;
	}

	.cmn-job-banner .cmn-jobbnr-bg2 {
		order: 2;
	}

	.cmn-jobbnr-box {
		order: 3;
		padding: 20px 20px 25px;
	}

	.cmn-jobbnr-catch {
		font-size: 2rem;
		line-height: 1.4;
	}

	.cmn-jobbnr-note {
		font-weight: 400;
		padding: 12px 0 0;
	}

	.cmn-jobbnr-btn-wrap {
		position: relative;
		width: 100%;
		margin: 26px auto 0;
	}

	.cmn-jobbnr-btn .shine-btn {
		font-size: 1.7rem;
		font-weight: bold;
		height: 60px;
	}

	.cmn-jobbnr-btn span {
		font-size: 1.3rem;
	}
}

/* -----------------------------------------------------------
    cmn-job-list
-------------------------------------------------------------- */
.job-rel-scroll {
	width: 100%;
}

[data-cmnjoblist="column"] {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
}

[data-cmnjoblist="column"] .cmn-job-item:not(.cmn-job-banner) {
	width: calc((100% - 60px) / 3);
}

@media screen and (min-width: 769px) {
	[data-cmnjoblist="column"] .cmn-job-item:nth-child(n+7) {
		display: none;
	}

	[data-cmnjoblist="column"].cmn-job-open .cmn-job-item {
		display: block;
	}
}

@media screen and (min-width: 769px) {
	.cmn-job-item a:hover {
		transform: translateY(-10px);
	}
}

.cmn-job-item a {
	background: #fff;
	border: 3px solid var(--gray);
	border-radius: 15px;
	display: block;
	padding: 30px 0;
}

.occupation1.cmn-job-item a:hover {
	border-color: var(--sound);
}

.occupation2.cmn-job-item a:hover {
	border-color: var(--stream);
}

.occupation3.cmn-job-item a:hover {
	border-color: var(--video);
}

.occupation4.cmn-job-item a:hover, .occupation5.cmn-job-item a:hover, .occupation6.cmn-job-item a:hover, .occupation7.cmn-job-item a:hover {
	border-color: var(--other);
}

.cmn-job-item .cmn-job-cate {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.cmn-job-item .cmn-cate__job {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	padding: 0 30px;
}

.cmn-job-item .cmn-job-ttl {
	font-weight: bold;
	font-size: 1.8rem;
	color: var(--cmnblack);
	line-height: 1.55;
	letter-spacing: .03em;
	margin: 13px 0 0;
	max-height: 82px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	padding: 0 30px;
}

.cmn-job-item .cmn-job-btm {
	align-items: center;
	display: flex;
	gap: 10px;
	margin: 22px 0 0;
	width: 100%;
	padding: 0 30px 25px;
}

.cmn-job-item .cmn-job-thumb {
	flex-shrink: 0;
	border-radius: 4px;
	width: 140px;
	height: 100px;
	overflow: hidden;
}

.cmn-job-item .cmn-job-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cmn-job-item .cmn-job-staff {
	border-radius: 4px;
	flex-grow: 1;
	position: relative;
	padding: 15px 15px 20px;
	height: 100px;
}

.occupation1 .cmn-job-staff {
	background: var(--sound5);
}

.occupation2 .cmn-job-staff {
	background: var(--stream4);
}

.occupation3 .cmn-job-staff {
	background: var(--video3);
}

.occupation4 .cmn-job-staff, .occupation5 .cmn-job-staff, .occupation6 .cmn-job-staff, .occupation7 .cmn-job-staff {
	background: var(--other3);
}

.cmn-job-item .cmn-job-staff dt {
	color: var(--other);
	font-size: 1.3rem;
	font-weight: 500;
	position: absolute;
	top: -.5em;
	left: 15px;
}

.occupation1.cmn-job-item .cmn-job-staff dt {
	color: var(--sound);
}

.occupation2.cmn-job-item .cmn-job-staff dt {
	color: var(--stream);
}

.occupation3.cmn-job-item .cmn-job-staff dt {
	color: var(--video);
}

.cmn-job-item .cmn-job-staff dd {
	color: var(--cmnblack) !important;
	font-size: 1.3rem;
	max-height: 82px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-height: 1.77;
	letter-spacing: .02em;
}

.cmn-job-item .cmn-jobinfo-wrap {
	border-top: 2px solid var(--gray);
	padding: 25px 30px 0;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.occupation1.cmn-job-item a:hover .cmn-jobinfo-wrap {
	border-color: var(--sound);
}

.occupation2.cmn-job-item a:hover .cmn-jobinfo-wrap {
	border-color: var(--stream);
}

.occupation3.cmn-job-item a:hover .cmn-jobinfo-wrap {
	border-color: var(--video);
}

.occupation4.cmn-job-item a:hover .cmn-jobinfo-wrap, .occupation5.cmn-job-item a:hover .cmn-jobinfo-wrap, .occupation6.cmn-job-item a:hover .cmn-jobinfo-wrap, .occupation7.cmn-job-item a:hover .cmn-jobinfo-wrap {
	border-color: var(--other);
}

.cmn-job-item .cmn-job-info {
	max-height: 50px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.cmn-job-morebtn {
	align-items: center;
	border: var(--cmnblack) 1px solid;
	border-radius: 40px;
	cursor: pointer;
	display: flex;
	height: 60px;
	width: 280px;
	position: relative;
	z-index: 0;
	overflow: hidden;
	justify-content: center;
	margin: 40px auto 0;
	transition: .5s;
}

.cmn-job-morebtn:hover {
	border-color: var(--main);
	background: var(--main);
	color: #fff;
}

.cmn-job-morebtn::before, .cmn-job-morebtn::after {
	content: "";
	background: var(--cmnblack);
	position: absolute;
	transition: .5s;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.cmn-job-morebtn::before {
	right: 20px;
	width: 17px;
	height: 1px;
}

.cmn-job-morebtn::after {
	right: 28px;
	width: 1px;
	height: 17px;
}

.cmn-job-morebtn:hover::before, .cmn-job-morebtn:hover::after {
	background: #fff;
}

@media screen and (max-width: 768px) {
	[data-cmnjoblist="column"] {
		gap: 0;
		flex-wrap: nowrap;
		padding: 0 0 15px 20px;
	}

	.cmn-job-morebtn {
		display: none;
	}

	.cmn-job-item {
		flex-shrink: 0;
		width: 340px !important;
	}

	.cmn-job-item a {
		border-radius: 10px;
		border-width: 2px;
		padding: 25px 0;
		width: 320px !important;
	}

	.cmn-job-item .cmn-cate__job {
		padding: 0 20px;
	}

	.cmn-job-item .cmn-job-ttl {
		font-size: 1.7rem;
		line-height: 1.647;
		padding: 0 20px;
	}

	.cmn-job-item .cmn-job-btm {
		border-bottom-width: 1px;
		padding: 0 20px;
		position: relative;
		margin-bottom: 25px;
	}

	.cmn-job-item .cmn-job-thumb {
		border-radius: 4px;
		width: 100px;
		height: 76px;
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		left: 20px;
		z-index: 2;
	}

	.cmn-job-item .cmn-job-staff {
		flex-grow: unset;
		width: calc(100% - 80px);
		margin: 0 0 0 auto;
		padding: 15px 15px 20px 35px;
	}

	.occupation1 .cmn-job-staff dt {
		left: 35px;
	}

	.cmn-job-item .cmn-jobinfo-wrap {
		border-top-width: 1px;
		padding: 20px 20px 0;
		gap: 13px;
	}
}

/* -----------------------------------------------------------
    アンカーリンクのずれ調整
-------------------------------------------------------------- */
.anchor {
	display: block;
	padding-top: var(--anchor);
	margin-top: var(--anchor2);
}

@media screen and (max-width: 768px) {
	.anchor {
		padding-top: var(--anchorsp);
		margin-top: var(--anchorsp2);
	}
}

/* -----------------------------------------------------------
    テキスト強調箇所
-------------------------------------------------------------- */
.important {
	background: linear-gradient(transparent 70%, #e9f0b9 30%);
	font-weight: bold;
}

.important2 {
	color: var(--main);
}

/* -----------------------------
    テキストラインアニメーション
-------------------------------- */
.ani-line {
	background-image: linear-gradient(to right, #f4f3ae 0%, #f4f3ae 50%, transparent 50%);
	background-repeat: no-repeat;
	background-position: 100% 100%;
	background-size: 200% 7px;
	transition: background-position 1s;
	font-weight: 700;
}

.ani-line2 {
	background-image: linear-gradient(to right, var(--main2) 0%, var(--main2) 50%, transparent 50%);
	background-repeat: no-repeat;
	background-position: 100% 100%;
	background-size: 200% 1px;
	transition: background-position 1s;
	color: var(--main2);
}

.ani-line2.is-aniline, .ani-line.is-aniline {
	background-position: 0% 100%;
}

/* -----------------------------------------------------------
    回転アニメーション
-------------------------------------------------------------- */
@keyframes rotate {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

/* -----------------------------------------------------------
    浮遊アニメーション
-------------------------------------------------------------- */
@keyframes fuwa {
	0% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}

	100% {
		transform: translateY(0);
	}
}

.fuwa {
	animation: fuwa 1.8s ease-in-out infinite;
}

@keyframes yura {
	0%, 100% {
		transform: rotate(4deg);
	}

	50% {
		transform: rotate(-4deg);
	}
}

.yura {
	transform-origin: center bottom;
	animation: yura 5s linear infinite;
}

.yura2 {
	transform-origin: center bottom;
	animation: yura 7s linear infinite;
}

/* -----------------------------------------------------------
    共通 線アニメーション
-------------------------------------------------------------- */
.cmn-line {
	background-image: linear-gradient(to right, #c5e87a 0%, #c5e87a 50%, transparent 50%);
	font-weight: bold;
	background-repeat: no-repeat;
	background-position: 100% 100%;
	background-size: 200% 10px;
	margin: 0 2px 0 0;
	padding: 0 0 0 2px;
	transition: background-position 1s;
}

.cmn-line.is-line-anime {
	background-position: 0% 100%;
}

/* -----------------------------------------------------------
   typeEn
-------------------------------------------------------------- */
.typeEn {
	overflow: hidden;
	opacity: 0;
}

.typeEn span {
	display: inline-block;
	transform: translateY(100%);
	font-weight: bold;
	line-height: 1;
	font-family: 'Inter', sans-serif;
	animation: rotateY 1s linear;
}

.typeEn.typeEn-active span {
	transform: translateY(0);
	transition: transform cubic-bezier(0.7, 0.2, 0.1, 1) 0.5s;
	opacity: 1;
}

/* -----------------------------------------------------------
   ani-ttl typeEn
-------------------------------------------------------------- */
.ani-ttl span {
	display: inline-block;
	opacity: 0;
	transition: 1s;
}

.anittl-active.ani-ttl span {
	opacity: 1;
	transition: .8s;
	-webkit-transform: rotateY(360deg);
	transform: rotateY(360deg);
}

.anittl-active.ani-ttl span:nth-child(1), .typeEn-active span:nth-child(1) {
	transition-delay: 0s;
}

.anittl-active.ani-ttl span:nth-child(2), .typeEn-active span:nth-child(2) {
	transition-delay: 0.06s;
}

.anittl-active.ani-ttl span:nth-child(3), .typeEn-active span:nth-child(3) {
	transition-delay: 0.12s;
}

.anittl-active.ani-ttl span:nth-child(4), .typeEn-active span:nth-child(4) {
	transition-delay: 0.18s;
}

.anittl-active.ani-ttl span:nth-child(5), .typeEn-active span:nth-child(5) {
	transition-delay: 0.24s;
}

.anittl-active.ani-ttl span:nth-child(6), .typeEn-active span:nth-child(6) {
	transition-delay: 0.3s;
}

.anittl-active.ani-ttl span:nth-child(7), .typeEn-active span:nth-child(7) {
	transition-delay: 0.36s;
}

.anittl-active.ani-ttl span:nth-child(8), .typeEn-active span:nth-child(8) {
	transition-delay: 0.42s;
}

.anittl-active.ani-ttl span:nth-child(9), .typeEn-active span:nth-child(9) {
	transition-delay: 0.48s;
}

.anittl-active.ani-ttl span:nth-child(10), .typeEn-active span:nth-child(10) {
	transition-delay: 0.54s;
}

.anittl-active.ani-ttl span:nth-child(11), .typeEn-active span:nth-child(11) {
	transition-delay: 0.6s;
}

.anittl-active.ani-ttl span:nth-child(12), .typeEn-active span:nth-child(12) {
	transition-delay: 0.66s;
}

.anittl-active.ani-ttl span:nth-child(13), .typeEn-active span:nth-child(13) {
	transition-delay: 0.72s;
}

.anittl-active.ani-ttl span:nth-child(14), .typeEn-active span:nth-child(14) {
	transition-delay: 0.78s;
}

.anittl-active.ani-ttl span:nth-child(15), .typeEn-active span:nth-child(15) {
	transition-delay: 0.84s;
}

.anittl-active.ani-ttl span:nth-child(16), .typeEn-active span:nth-child(16) {
	transition-delay: 0.9s;
}

.anittl-active.ani-ttl span:nth-child(17), .typeEn-active span:nth-child(17) {
	transition-delay: 0.96s;
}

.anittl-active.ani-ttl span:nth-child(18), .typeEn-active span:nth-child(18) {
	transition-delay: 1.02s;
}

.anittl-active.ani-ttl span:nth-child(19), .typeEn-active span:nth-child(19) {
	transition-delay: 1.08s;
}

.anittl-active.ani-ttl span:nth-child(20), .typeEn-active span:nth-child(20) {
	transition-delay: 1.14s;
}

.anittl-active.ani-ttl span:nth-child(21), .typeEn-active span:nth-child(21) {
	transition-delay: 1.2s;
}

.anittl-active.ani-ttl span:nth-child(22), .typeEn-active span:nth-child(22) {
	transition-delay: 1.26s;
}

.anittl-active.ani-ttl span:nth-child(23), .typeEn-active span:nth-child(23) {
	transition-delay: 1.32s;
}

.anittl-active.ani-ttl span:nth-child(24), .typeEn-active span:nth-child(24) {
	transition-delay: 1.38s;
}

.anittl-active.ani-ttl span:nth-child(25), .typeEn-active span:nth-child(25) {
	transition-delay: 1.44s;
}

.anittl-active.ani-ttl span:nth-child(26), .typeEn-active span:nth-child(26) {
	transition-delay: 1.50s;
}

.anittl-active.ani-ttl span:nth-child(27), .typeEn-active span:nth-child(27) {
	transition-delay: 1.56s;
}

.anittl-active.ani-ttl span:nth-child(28), .typeEn-active span:nth-child(28) {
	transition-delay: 1.62s;
}

.anittl-active.ani-ttl span:nth-child(29), .typeEn-active span:nth-child(29) {
	transition-delay: 1.68s;
}

.anittl-active.ani-ttl span:nth-child(30), .typeEn-active span:nth-child(30) {
	transition-delay: 1.74s;
}

.anittl-active.ani-ttl span:nth-child(31), .typeEn-active span:nth-child(31) {
	transition-delay: 1.80s;
}

.anittl-active.ani-ttl span:nth-child(32), .typeEn-active span:nth-child(32) {
	transition-delay: 1.86s;
}

.anittl-active.ani-ttl span:nth-child(33), .typeEn-active span:nth-child(33) {
	transition-delay: 1.82s;
}

.anittl-active.ani-ttl span:nth-child(34), .typeEn-active span:nth-child(34) {
	transition-delay: 1.88s;
}

.anittl-active.ani-ttl span:nth-child(35), .typeEn-active span:nth-child(35) {
	transition-delay: 1.94s;
}

.anittl-active.ani-ttl span:nth-child(36), .typeEn-active span:nth-child(36) {
	transition-delay: 2s;
}

.anittl-active.ani-ttl span:nth-child(37), .typeEn-active span:nth-child(37) {
	transition-delay: 2.02s;
}

.anittl-active.ani-ttl span:nth-child(38), .typeEn-active span:nth-child(38) {
	transition-delay: 2.08s;
}

.anittl-active.ani-ttl span:nth-child(39), .typeEn-active span:nth-child(39) {
	transition-delay: 2.14s;
}

.anittl-active.ani-ttl span:nth-child(40), .typeEn-active span:nth-child(40) {
	transition-delay: 2.20s;
}

.anittl-active.ani-ttl span:nth-child(41), .typeEn-active span:nth-child(41) {
	transition-delay: 2.26s;
}

.anittl-active.ani-ttl span:nth-child(42), .typeEn-active span:nth-child(42) {
	transition-delay: 2.32s;
}

.anittl-active.ani-ttl span:nth-child(43), .typeEn-active span:nth-child(43) {
	transition-delay: 2.38s;
}

.anittl-active.ani-ttl span:nth-child(44), .typeEn-active span:nth-child(44) {
	transition-delay: 2.44s;
}

.anittl-active.ani-ttl span:nth-child(45), .typeEn-active span:nth-child(45) {
	transition-delay: 2.5s;
}

/* -----------------------------------------------------------
   subpage-header   下層ページ 大見出し
-------------------------------------------------------------- */
.subpage-header {
	align-items: center;
	border-radius: 15px;
	background: #dff1e2;
	display: flex;
	justify-content: center;
	min-width: 1240px;
	margin: 70px auto 0;
	height: 250px;
	position: relative;
	padding: 30px 5%;
	width: calc(100% - 80px);
	text-align: center;
	overflow: hidden;
}

.subpage_header_ptn {
	flex-wrap: wrap;
	display: flex;
	gap: 23px 25px;
	position: absolute;
	left: 20px;
	top: 20px;
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	opacity: .4;
	justify-content: center;
}

.subpage_header_ptn li {
	width: 55px;
	height: 55px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.subpage_header_ptn li img {
	aspect-ratio: 1/1;
	width: 100%;
}

.subpage-header__inner {
	padding: 0 0 8px;
	position: relative;
	z-index: 2;
}

.subpage-header__inner .en {
	color: var(--main);
	font: 600 2.2rem / 1 var(--en);
	letter-spacing: .02em;
}

.subpage-header__inner .ja {
	font-weight: 750;
	font-size: 3.4rem;
	line-height: 1.5;
	letter-spacing: .02em;
	margin: 5px 0 0;
}

@media screen and (max-width: 768px) {
	.subpage-header {
		border-radius: 0;
		height: 120px;
		min-width: unset;
		padding: 8px 20px 0 20px;
		width: 100%;
		margin: 0 auto;
	}

	.subpage-header .en {
		font-size: 1.6rem;
	}

	.subpage-header__inner .ja {
		font-size: 2.3rem;
		letter-spacing: .05em;
		line-height: 1.5;
	}

	.subpage_header_ptn {
		gap: 12px 10px;
		left: 10px;
		top: 10px;
		width: calc(100% - 20px);
		height: calc(100% - 20px);
		opacity: .5;
	}

	.subpage_header_ptn li {
		width: 25px;
		height: 25px;
	}
}

/* -----------------------------------------------------------
   underttl-area   下層ページ 大見出し2
-------------------------------------------------------------- */
.underttl-area {
	position: relative;
}

.underttl-area .underttl-img {
	aspect-ratio: 1347/450;
	width: 60%;
	border-radius: 10px 0 0 10px;
	overflow: hidden;
}

.underttl-area .underttl-img .img {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
}

#about .underttl-img .img, #positive .underttl-img .img {
	background-image: url("../img/underttl-about.jpg");
}

#sound .underttl-img .img {
	background-image: url("../img/underttl-sound.jpg");
}

#video_edit .underttl-img .img {
	background-image: url("../img/underttl-stream.jpg");
}

#video .underttl-img .img {
	background-image: url("../img/underttl-video.jpg");
}

#other .underttl-img .img {
	background-image: url("../img/underttl-other.jpg");
}

#agent .underttl-img .img {
	background-image: url("../img/underttl-agent.jpg");
}

#interview .underttl-img .img, #interview-detail .underttl-img .img {
	background-image: url("../img/underttl-interview.jpg");
}

#company .underttl-img .img {
	background-image: url("../img/underttl-company.jpg");
}

#client .underttl-img .img {
	background-image: url("../img/underttl-client.jpg");
}

.lp-inexperience .underttl-img .img {
	background-image: url("../img/underttl-interview.jpg");
}

.underttl-area .underttl-inner {
	display: flex;
	z-index: 2;
	margin: 20px auto 0;
	padding: 0 0 0 40px;
	justify-content: space-between;
}

.underttl-area .underttl-txt {
	flex-grow: 1;
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.underttl-area .underttl-txt-inner {
	width: fit-content;
	display: flex;
	flex-direction: column;
	gap: 20px;
	flex-wrap: wrap;
	position: relative;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	.underttl-area .underttl-txt-inner {
		gap: 15px;
	}
}

.underttl-area .underttl-ja {
	font-weight: 750;
	font-size: 5.2rem;
	line-height: 1.4;
	letter-spacing: .03em;
	position: relative;
	z-index: 2;
	margin: 0 0 15px;
	padding: 0;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	.underttl-area .underttl-ja {
		font-size: 4.4rem;
	}
}

.underttl-area .underttl-en {
	color: var(--main);
	font: 600 3.5rem /1 var(--en);
	overflow: hidden;
	letter-spacing: .05em;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	.underttl-area .underttl-en {
		font-size: 3rem;
	}
}

@media screen and (max-width: 768px) {
	.underttl-area {
		padding: 20px 0 0;
	}

	.underttl-area .underttl-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 0;
		width: 100%;
		padding: 0;
		margin: 0 auto;
	}

	.underttl-area .underttl-txt-inner {
		gap: 8px;
	}

	.underttl-area .underttl-img {
		border-radius: 0;
		width: 100%;
	}

	.underttl-area .underttl-txt {
		align-items: flex-start;
		padding: 10px 20px 25px;
		width: 100%;
	}

	.underttl-area .underttl-en {
		font-size: 1.9rem;
	}

	.underttl-area .underttl-ja {
		font-size: 2.3rem;
		margin: 0;
		padding: 0;
	}
}

/* -----------------------------------------------------------
   共通タイトル 下層
-------------------------------------------------------------- */
.cmn-section-ttl {
	display: flex;
	gap: 16px;
	flex-direction: column;
}

.cmn-section-ttl.row-secttl {
	align-items: center;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 30px;
}

.cmn-section-ttl .en {
	font: 700 5.8rem /1 var(--en);
	letter-spacing: .03em;
}

.cmn-section-ttl .ja::before {
	content: "";
	background: url("../img/sec-ttl-logo.svg")center/ contain no-repeat;
	width: 27px;
	height: 27px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
}

.cmn-section-ttl .ja {
	font-size: 2.1rem;
	font-weight: 600;
	padding: 0 0 0 33px;
	position: relative;
}

.cmn-section-ttl.row-secttl {
	display: flex;
}

@media screen and (max-width: 768px) {
	.cmn-section-ttl.row-secttl {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.cmn-section-ttl .en {
		font-size: 4rem;
		letter-spacing: 0;
	}

	.cmn-section-ttl .ja {
		font-size: 1.6rem;
		padding: 0 0 0 31px;
		line-height: 1.3;
	}

	.cmn-section-ttl .ja::before {
		width: 25px;
		height: 25px;
	}
}

/* -----------------------------------------------------------
   cmn-subttl
-------------------------------------------------------------- */
.cmn-subttl {
	color: var(--main);
	font-size: 3.5rem;
	font-weight: 800;
	letter-spacing: 0;
}

@media screen and (max-width: 768px) {
	.cmn-subttl {
		font-size: 2.5rem;
	}
}

/* -----------------------------------------------------------
   cmn-wave
-------------------------------------------------------------- */
.cmn-wave {
	background: url(../img/cmn-wave.svg) repeat-x bottom left / 11px auto;
	padding-bottom: 10px;
}

@media screen and (max-width: 768px) {
	.cmn-wave {
		padding-bottom: 7px;
	}
}

/* -----------------------------------------------------------
   スクロールエフェクト　共通
-------------------------------------------------------------- */
.cmn-fadeup {
	opacity: 0;
	transform: translateY(100px);
	transition: transform cubic-bezier(.165, .84, .44, 1) .7s;
}

.cmn-fadeup.cmn-effect-fadeup {
	transform: translateY(0);
	opacity: 1;
}

.cmn-fade {
	opacity: 0;
	transition: opacity 2s;
}

.cmn-fade.effect-cmn-fade, .cmn-fade2.effect-cmn-fade {
	opacity: 1;
}

.cmn-fade2 {
	opacity: 0;
	transition: opacity 1s;
}

/*左からスライドイン*/
.cmn-slidein {
	opacity: 0;
	transform: translateX(-60px);
	transition: all .5s 0s ease-out;
}

/*左からスライドイン 早め*/
.cmn-slidein2 {
	opacity: 0;
	transform: translateX(-60px);
	transition: all .6s 0s ease-out;
}

.scale img {
	transition: all 1s ease-out;
	transform: scale(1.2, 1.2);
}

.scale.is-scale img {
	transform: scale(1, 1);
}

/*cmn-fadeup　SPだけ効かせたい時*/
@media screen and (max-width: 768px) {
	.cmn-fadeup-sp {
		opacity: 0;
		transform: translateY(100px);
		transition: transform cubic-bezier(.165, .84, .44, 1) 1s;
	}
}

/* -スクロールエフェクト 背景色
-------------------------------------------------- */
.bg-slide {
	overflow: hidden;
	opacity: 0;
	transition: opacity .3s;
}

.isPlay .bg-slide {
	opacity: 1;
	position: relative;
}

/*js マスクとマスクを外すアニメーション*/
/*planning-img-slideをスライドイン*/
@keyframes play {
	from {
		transform: translateX(-100%);
	}

	to {
		transform: translateX(0);
	}
}

/*planning-img-slideをスライドアウト*/
@keyframes maskOut {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(100%);
	}
}

.js-slidebg .trg {
	position: relative;
}

.js-slidebg .trg::after {
	content: '';
	width: 100%;
	height: 100%;
	top: 0;
	left: -100%;
	position: absolute;
	transition: transform 0.6s cubic-bezier(0.005, 0.055, 0.305, 0.985) 0.3s;
	will-change: transform;
	transform-origin: right;
	z-index: 1;
	background: var(--cmnbg2);
}

.isPlay .trg::after {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	left: 0;
}

/* -----------------------------------------------------------
   ft_link_area
-------------------------------------------------------------- */
.ft_link_area {
	background: #fff;
	padding: 100px 0 0;
}

.ft_link_area .ft_link_inner {
	display: flex;
	justify-content: center;
	gap: 40px;
}

.ft_link_area .ft_link_inner a {
	display: block;
	width: calc((100% - 80px) / 3);
	border-radius: 8px;
	border: solid 8px var(--cmnbg3);
	padding: 0 0 20px;
}

.ft_link_area .ft_link_img {
	aspect-ratio: 320/180;
	width: 100%;
	overflow: hidden;
	margin: 0 0 18px;
}

.ft_link_area .ft_link_img img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	transition: .7s;
}

@media screen and (min-width: 769px) {
	.ft_link_area .ft_link_inner a:hover img {
		transform: scale(1.12);
	}
}

.ft_link_area .ft_link_txt {
	color: var(--cmnblack);
	font-weight: bold;
	font-size: 2.3rem;
	line-height: 1.5;
	letter-spacing: 0em;
	position: relative;
	padding: 0 20px;
}

.ft_link_area .ft_link_txt::before {
	content: "\f061";
	color: var(--main);
	font: 900 2.0rem / 1 var(--webicon);
	top: 52%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 15px;
	position: absolute;
}

@media screen and (max-width: 768px) {
	.ft_link_area {
		padding: 50px 0 0;
	}

	.ft_link_area .ft_link_inner {
		flex-direction: column;
		gap: 15px;
	}

	.ft_link_area .ft_link_inner a {
		align-items: stretch;
		border-width: 4px;
		display: flex;
		gap: 12px;
		width: 100%;
		position: relative;
		padding: 8px 2px 8px 8px;
	}

	.ft_link_area .ft_link_inner a::before {
		content: "\f061";
		color: var(--main);
		font: 900 1.4rem / 1 var(--webicon);
		bottom: 10px;
		right: 10px;
		position: absolute;
	}

	.ft_link_area .ft_link_txt {
		align-items: center;
		border: none;
		display: flex;
		font-size: 1.7rem;
		padding: 0;
		width: calc(70% - 15px);
		margin: 0;
	}

	.ft_link_area .ft_link_txt::before {
		font-size: 1.5rem;
		display: none;
	}

	.ft_link_area .ft_link_img {
		border-radius: 3px;
		width: 60%;
		margin: 0;
	}
}

/* -----------------------------------------------------------
   footer_service
-------------------------------------------------------------- */
.footer_service {
	margin: 80px 0 0;
}

.footer_service-header .ttl {
	background: var(--main);
	color: #fff;
	font-size: 2rem;
	line-height: 1.7;
	font-weight: 750;
	text-align: center;
	width: fit-content;
	margin: 0 auto;
	padding: 4px 20px 6px;
	border-radius: 30px;
	letter-spacing: .03em;
}

.footer_service-header .catch {
	font-size: 3rem;
	line-height: 1.7;
	font-weight: 750;
	text-align: center;
	margin: 12px 0 0;
	letter-spacing: .03em;
}

.footer_service-header .note {
	text-align: center;
	font-size: 1.7rem;
	margin: 20px 0 0;
}

.ft_service_list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin: 40px 0 0;
}

.ft_service_item {
	border-radius: 5px;
	width: calc((100% - 30px) / 2);
	padding: 35px;
}

[data-ftservice="sound"] {
	background: var(--sound);
}

[data-ftservice="stream"] {
	background: var(--stream);
}

[data-ftservice="video"] {
	background: var(--video);
}

[data-ftservice="other"] {
	background: var(--other);
}

.ft_service_box {
	border-radius: 5px;
	background: #fff;
	padding: 60px 30px 30px;
	height: 100%;
}

.ft_service_ttl {
	font-size: 3.8rem;
	font-weight: 750;
	position: relative;
	width: fit-content;
	font-feature-settings: "palt";
	letter-spacing: .03em;
}

.ft_service_ttl::before {
	position: absolute;
	content: "";
}

[data-ftservice="sound"] .ft_service_ttl::before {
	background: url(../img/cmn-persona4_2.svg) no-repeat center / cover;
	height: 75px;
	left: 110px;
	bottom: 0;
}

[data-ftservice="stream"] .ft_service_ttl::before {
	background: url(../img/cmn-persona13.svg) no-repeat center / cover;
	height: 110px;
	left: 180px;
	bottom: 0;
}

[data-ftservice="video"] .ft_service_ttl::before {
	background: url(../img/cmn-persona17.svg) no-repeat center / cover;
	height: 86px;
	left: 210px;
	bottom: 0;
}

[data-ftservice="other"] .ft_service_ttl::before {
	background: url(../img/cmn-persona18.svg) no-repeat center / cover;
	height: 94px;
	left: 150px;
	bottom: 0;
}

.ft_service_note {
	margin: 25px 0 0;
	line-height: 1.7;
}

.ft_service_links {
	gap: 10px;
	display: flex;
	margin: 20px 0 0;
}

.ft_service_links a {
	border-radius: 3px;
	border-width: 2px;
	border-style: solid;
	padding: 10px 10px 15px;
	width: calc((100% - 15px) / 2);
}

[data-ftservice="sound"] a {
	border-color: var(--sound);
}

[data-ftservice="stream"] a {
	border-color: var(--stream);
}

[data-ftservice="video"] a {
	border-color: var(--video);
}

[data-ftservice="other"] a {
	border-color: var(--other);
}

.ft_service_links .photo {
	aspect-ratio: 320/180;
	border-radius: 3px;
	display: block;
	overflow: hidden;
	width: 100%;
	margin: 0 0 8px;
}

.ft_service_links .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .5s;
}

.ft_service_links a:hover .photo img {
	transform: scale(1.1, 1.1);
	transition: .5s;
}

.ft_service_links .subttl {
	background: #fff;
	color: var(--cmnblack);
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
	padding: 0 20px 0 0;
	position: relative;
	width: 100%;
	text-align: right;
	transition: .5s;
	line-height: 1.3;
	letter-spacing: .02em;
}

[data-ftservice="sound"] .ft_service_links a:hover .subttl {
	color: var(--sound);
}

[data-ftservice="stream"] .ft_service_links a:hover .subttl {
	color: var(--stream);
}

[data-ftservice="video"] .ft_service_links a:hover .subttl {
	color: var(--video);
}

[data-ftservice="other"] .ft_service_links a:hover .subttl {
	color: var(--other);
}

.ft_service_links .subttl span {
	font-size: 1.9rem;
	font-weight: 700;
	margin: 0 2px 0 0;
}

.ft_service_links .subttl::after {
	content: "\f138";
	font: 900 1.3rem/1 var(--webicon);
	position: absolute;
	top: 60%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 0;
}

[data-ftservice="sound"] .ft_service_links .subttl::after {
	color: var(--sound);
}

[data-ftservice="stream"] .ft_service_links .subttl::after {
	color: var(--stream);
}

[data-ftservice="video"] .ft_service_links .subttl::after {
	color: var(--video);
}

[data-ftservice="other"] .ft_service_links .subttl::after {
	color: var(--other);
}

@media screen and (max-width: 768px) {
	.footer_service {
		margin: 40px 0 0;
	}

	.footer_service-header .ttl {
		font-size: 1.6rem;
		margin: 0 auto 0 0;
	}

	.footer_service-header .catch {
		font-size: 2.2rem;
		line-height: 1.5;
		margin: 18px 0 0;
		text-align: left;
	}

	.footer_service-header .note {
		font-size: 1.5rem;
		line-height: 1.8;
		margin: 15px 0 0;
		text-align: left;
	}

	.ft_service_list {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		margin: 20px 0 0;
	}

	.ft_service_item {
		border-radius: 3px;
		width: 100%;
		padding: 15px;
	}

	.ft_service_box {
		border-radius: 3px;
		padding: 50px 15px 20px;
	}

	.ft_service_ttl {
		font-size: 2.7rem;
	}

	[data-ftservice="sound"] .ft_service_ttl::before {
		height: 60px;
		left: 80px;
	}

	[data-ftservice="stream"] .ft_service_ttl::before {
		height: 75px;
		left: 130px;
		bottom: -5px;
	}

	[data-ftservice="video"] .ft_service_ttl::before {
		height: 60px;
		left: 140px;
		bottom: -5px;
	}

	[data-ftservice="other"] .ft_service_ttl::before {
		height: 75px;
		left: 100px;
		bottom: -5px;
	}

	.ft_service_note {
		font-size: 1.5rem;
		margin: 20px 0 0;
	}

	.ft_service_links {
		flex-wrap: wrap;
	}

	.ft_service_links a {
		align-items: center;
		display: flex;
		gap: 10px;
		padding: 5px 0 5px 5px;
		width: 100%;
	}

	.ft_service_links .photo {
		width: 43%;
		flex-shrink: 0;
		margin: 0;
	}

	.ft_service_links .subttl {
		font-size: 1.4rem;
		line-height: 1.5;
		padding: 0;
		text-align: left;
	}

	.ft_service_links .subttl span {
		font-size: 1.6rem;
	}

	.ft_service_links .subttl::after {
		right: 8px;
	}
}

/* -----------------------------------------------------------
   link_line  gナビで使用　線アニメーション
-------------------------------------------------------------- */
.link_line {
	position: relative;
}

.link_line::after {
	bottom: -1px;
	background: var(--main);
	content: '';
	display: inline-block;
	height: 1px;
	left: 0;
	margin: auto;
	position: absolute;
	/*right: 0;*/ /* 真ん中から開きたい時*/
	-webkit-transition: all 0.3s;
	transition: all 0.4s;
	width: 0;
}

.link_line_wrap:hover .link_line::after {
	width: 100%;
	display: inline-block;
}

/* -----------------------------------------------------------
    footer_fixed
-------------------------------------------------------------- */
@media screen and (min-width: 769px) {
	#footer_fixed {
		display: none !important;
	}
}

@media screen and (max-width: 768px) {
	#footer_fixed {
		position: fixed;
		bottom: 0;
		z-index: 9999;
		right: 0;
	}

	#footer_fixed .ff_btn_inner {
		display: flex;
	}

	#footer_fixed .ff_btn {
		width: calc(140px / 2);
		height: 64px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}

	#footer_fixed [data-ftbtn="search"] {
		border-radius: 8px 0 0 0;
		background: var(--search);
	}

	#footer_fixed [data-ftbtn="entry"] {
		background: var(--cv);
	}

	#footer_fixed [data-ftbtn="contact"] {
		align-items: center;
		background: var(--cv);
		display: none;
		width: 150px;
		justify-content: center;
	}

	#footer_fixed .ff_btn span {
		color: #fff;
		font-size: 1.2rem;
		font-weight: bold;
		padding: 30px 0 0;
		position: relative;
	}

	#footer_fixed [data-ftbtn="contact"] span {
		font-size: 1.5rem;
		padding: 0 0 0 29px;
		font-weight: bold;
	}

	#footer_fixed .ff_btn span::before {
		content: "";
		position: absolute;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}

	#footer_fixed [data-ftbtn="search"] span::before {
		background: url(../img/menu-box__job.svg)center/contain no-repeat;
		width: 18px;
		height: 20px;
		top: 10px;
	}

	#footer_fixed [data-ftbtn="entry"] span::before {
		background: url(../img/cv_mail_icon.svg)center/contain no-repeat;
		width: 24px;
		height: 27px;
		top: 0;
	}

	#footer_fixed [data-ftbtn="contact"] span::before {
		background: url(../img/cv_contact_icon.svg)center/contain no-repeat;
		left: 0;
		top: 55%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 26px;
		height: 23px;
	}
}

/* -----------------------------------------------------------
    ft_cv_area
-------------------------------------------------------------- */
.ft_cv_area {
	position: relative;
}

.ft_cv_inner {
	align-items: center;
	display: flex;
	position: relative;
	z-index: 2;
	justify-content: space-between;
	gap: 30px;
}

.ft_cv_head {
	padding: 0 0 0 145px;
	position: relative;
}

.ft_cv_logowrap {
	align-items: center;
	display: flex;
	justify-content: center;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
	width: 108px;
	height: 108px;
}

.ft_cv_logo {
	position: relative;
	width: 100%;
	height: 100%;
}

.ft_cv_logo_circle {
	animation: rotate 18s linear infinite;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.ft_cv_logo_mark {
	width: 63px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

[class^="ft_cv_logo_"] img {
	aspect-ratio: 1/1;
	width: 100%;
}

.ft_cv_ttl .ja {
	color: var(--main);
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: 0;
}

.ft_cv_catch {
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: .07em;
	line-height: 1.6;
	padding: 15px 0 0;
}

.ft_cv_body {
	align-items: center;
	display: flex;
	gap: 15px;
}

.ft_cv_tel {
	align-items: center;
	background: #fff;
	border-radius: 4px;
	display: flex;
	flex-direction: column;
	font-feature-settings: "palt";
	justify-content: center;
	gap: 8px;
	height: 96px;
	width: 320px;
}

.ft_cv_tel_num {
	color: var(--cmnblack);
	font: 700 3rem /1 var(--en);
	position: relative;
	padding: 0 0 0 25px;
	letter-spacing: .04em;
}

.ft_cv_tel_num::before {
	content: "";
	width: 23px;
	height: 22px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
}

.ft_cv_area.lazyloaded .ft_cv_tel_num::before {
	background: url("../img/cmn_tel_b.svg")center/contain no-repeat;
}

.ft_cv_tel_time {
	align-items: center;
	color: var(--cmnblack);
	display: flex;
	font-size: 1.65rem;
	letter-spacing: .1em;
	line-height: 1;
}

.ft_cv_tel_hour {
	font-size: 1.8rem;
	padding: 0 0 0 5px;
}

.ft_cvbtn_mail {
	align-items: center;
	background: var(--cv);
	border-radius: 4px;
	color: #fff;
	display: flex;
	height: 96px;
	line-height: 1.5;
	text-align: center;
	transition: 0.3s ease;
	position: relative;
	justify-content: center;
	overflow: hidden;
	width: 260px;
}

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

.ft_cvbtn_mail::before {
	background: var(--cv2);
}

[class^="ft_cvbtn"]:hover::before {}

.ft_cv_txt_mail {
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	padding: 0 0 0 38px;
	position: relative;
	line-height: 1;
	letter-spacing: .02em;
	width: fit-content;
	z-index: 2;
}

.ft_cv_txt_mail::before {
	content: "";
	width: 32px;
	height: 41px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
}

.ft_cv_area.lazyloaded .ft_cv_txt_mail::before {
	background: url("../img/cv_mail_icon.svg")center/contain no-repeat;
}

.ft_cv_contact_wrap {
	align-items: center;
	display: flex;
	gap: 40px;
	margin: 25px auto 0;
	width: fit-content;
}

.ft_cv_contact {
	font-size: 1.5rem;
	color: #ccc !important;
	padding: 0 0 0 12px;
	position: relative;
	text-align: center;
}

.ft_cv_contact::before {
	content: "\f105";
	color: #ccc !important;
	font: 900 1.2rem/1 var(--webicon);
	top: 56%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
	position: absolute;
}

@media screen and (max-width: 768px) {
	.ft_cv_inner {
		flex-direction: column;
	}

	.ft_cv_head {
		padding: 65px 0 0;
	}

	.ft_cv_logowrap {
		top: -42px;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		left: 50%;
		width: 84px;
		height: 84px;
	}

	.ft_cv_logo_mark {
		width: 47px;
		height: 47px;
	}

	.ft_cv_ttl .en {
		font-size: 3.9rem;
	}

	.ft_cv_ttl .ja {
		letter-spacing: 0;
		text-align: center;
	}

	.ft_cv_catch {
		font-size: 2.1rem;
		line-height: 1.8;
		letter-spacing: .07em;
		text-align: center;
		width: fit-content;
		margin: 25px auto 0;
		padding: 0;
	}

	.ft_cv_body {
		flex-direction: column-reverse;
		gap: 30px;
	}

	.ft_cv_tel {
		gap: 8px;
		text-decoration: none !important;
		text-align: center;
		order: 1;
		height: 84px;
	}

	.ft_cv_tel_num {
		font-size: 2.6rem;
		margin: 0;
		padding: 0 0 0 25px;
		text-align: center;
	}

	.ft_cv_tel_num::before {
		width: 19px;
		height: 20px;
		top: 45%;
	}

	.ft_cv_tel_time {
		font-size: 1.5rem;
		justify-content: center;
	}

	.ft_cv_tel_hour {
		font-size: 1.6rem;
	}

	[class^="ft_cvbtn"] {
		width: 100%;
		height: 70px;
		margin: 0 auto;
	}

	[class^="ft_cvbtn"] [class^="ft_cv_txt_"] {
		font-size: 2rem;
		font-weight: 700;
		letter-spacing: .02em;
	}

	.ft_cvbtn_mail {
		order: 2;
	}

	.ft_cv_txt_mail::before {
		width: 25px;
		height: 33px;
	}

	.ft_cv_txt_mail {
		padding: 0 0 0 30px;
	}

	.ft_cv_contact_wrap {
		order: 4;
		margin: 35px auto 0;
		flex-direction: column;
		gap: 27px;
	}

	.ft_cv_contact {
		width: fit-content;
	}
}

/* -----------------------------------------------------------
    footer
-------------------------------------------------------------- */
.ft_black_bg {
	background: var(--cmnblack);
	position: relative;
	margin: 100px auto 0;
}

.ft_black_bg_inner {
	background: url("../img/ptn-stripe.jpg")center repeat;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.footer {
	padding-top: 100px;
	padding-bottom: 100px;
	margin: 0 auto;
	width: 100%;
}

/**************f_company**************/
.f_company_address {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: .03em;
	margin: 20px 0 0;
}

.f_company_address a {
	font-size: 1.5rem;
}

.f_address_txt {
	line-height: 1.6;
	font-size: 1.5rem;
}

.f_address_txt .post {
	margin: 0 17px 0 0;
}

.f_address_pin {
	align-items: center;
	display: flex;
	margin: 30px 0 0;
	gap: 13px;
}

.f_address_pin a {
	align-items: center;
	border: 1px solid var(--cmnblack);
	border-radius: 2px;
	color: var(--cmnblack);
	display: flex;
	justify-content: center;
	padding: 7px 10px 9px;
	line-height: 1;
}

@media screen and (min-width: 769px) {
	.f_address_pin a:hover {
		border-color: var(--main);
		background: var(--main);
		color: #fff;
	}
}

.f_address_pin span {
	font: 500 1.4rem /1 var(--en);
	padding: 0 0 0 17px;
	position: relative;
}

.f_address_pin span::before {
	content: "";
	background: url(../img/f_address_pin.svg)center/contain no-repeat;
	position: absolute;
	left: 0;
	top: -2px;
	width: 17px;
	height: 19px;
}

/**************sitemap_wrap**************/
.sitemap_list_header {
	color: var(--main);
	font-weight: bold;
	font-size: 1.5rem;
	line-height: 1;
	margin: 0 0 20px;
}

.sitemap_btm_header {
	color: var(--main) !important;
	font-weight: bold;
}

.sitemap_wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 860px;
}

.sitemap_list_top {
	display: flex;
	flex-direction: column;
	gap: 45px;
}

.sitemap_list_top.sitemap_special_wrap {
	width: 100%;
	gap: 0;
	margin: 50px 0 0;
}

.sitemap_list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sitemap_special {
	display: flex;
	width: 100%;
	gap: 60px;
}

.sitemap_list .sitemap_item {
	font-size: 1.4rem;
	line-height: 1;
}

.sitemap_list.sitemap_row .sitemap_item {
	min-width: 255px;
}

.sitemap_list a {
	align-items: flex-start;
	color: var(--cmnblack);
	display: flex;
	gap: 7px;
	line-height: 1.3;
	font-weight: 400;
}

.sitemap_under {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sitemap_under .sitemap_under_link {
	font-size: 1.4rem;
	line-height: 1;
	display: flex;
	gap: 5px;
}

.sitemap_under .sitemap_under_link::before {
	content: "\f105";
	font: 900 .9rem/1 var(--webicon);
	padding: 7px 0 0;
}

/**************f_mid_area**************/
.f_mid_area {
	border-radius: 15px;
	background: #fff;
	padding: 80px 0;
	position: relative;
	z-index: 2;
	margin: 80px auto 0;
}

/**************f_top_wrap**************/
.f_top_wrap {
	display: flex;
	justify-content: space-between;
}

.f_top {
	flex-shrink: 0;
	gap: 35px;
}

.f_company_logo a {
	flex-direction: column;
	display: flex;
	gap: 20px;
}

.f_company_logo img {
	margin: 0;
}

.f_logo_img {
	width: 100px;
	aspect-ratio: 294/135;
}

.f_logo_txt {
	font-size: 1.3rem;
	font-weight: bold;
	color: var(--cmnblack);
	line-height: 1.53;
}

/**************f_btm_wrap**************/
.f_btm_wrap {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
	margin: 110px 0 0;
}

.f_btm_list {
	display: flex;
}

.f_btm_list li {
	margin: 0 40px 0 0;
}

.f_btm_list li:last-child {
	margin: 0;
}

.f_btm_list a {
	color: #999;
	font-size: 1.3rem;
	font-weight: 400;
}

.f_btm_list i {
	margin-left: 5px;
}

.f_copy {
	color: #999;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: .03em;
}

.f_b_left {
	align-items: flex-end;
	display: flex;
}

@media screen and (max-width: 768px) {
	.ft_black_bg {
		padding: 0 20px 120px;
		margin: 90px auto 0;
	}

	.ft_black_bg_inner {
		background-size: 100px;
		opacity: .7;
	}

	.footer {
		padding: 0;
	}

	/**************f_company**************/
	.f_logo_img {
		width: 118px;
	}

	.f_company_logo img {
		margin: 0 auto;
	}

	.f_top .f_company_logo a {
		justify-content: center;
		width: fit-content;
		margin: 0 auto;
		text-align: center;
		gap: 18px;
	}

	.f_logo_txt {
		font-weight: 700;
	}

	.f_address_txt {
		line-height: 1.7;
		font-size: 1.5rem;
	}

	.f_company_address {
		margin: 25px 0 50px;
		text-align: center;
	}

	.f_address_txt .post {
		margin: 0;
	}

	.f_company_address a {
		font-weight: bold;
		padding: 16px 15px 18px;
		width: 190px
	}

	.f_address_pin {
		justify-content: center;
		margin: 30px 0 0;
	}

	.f_address_pin span {
		font-weight: 500;
		font-size: 1.6rem;
	}

	.f_address_pin span::before {
		top: -2px;
	}

	/**************sitemap_wrap**************/
	.sitemap_wrap {
		display: none;
	}

	/**************f_mid_area**************/
	.f_mid_area {
		padding: 40px 0 50px;
		margin: 50px auto 0;
	}

	/**************f_top_wrap**************/
	.f_top_wrap {
		display: block;
	}

	.f_top {
		display: block;
	}

	/**************f_btm_wrap**************/
	.f_btm {
		display: block;
	}

	.f_btm_wrap {
		width: 100%;
		display: block;
		margin: 0;
	}

	.f_copy {
		text-align: center;
	}

	.f_company_tel {
		display: none;
	}

	.f_btm_list {
		display: none;
	}

	.f_b_left {
		justify-content: center;
		margin: 0;
	}
}

/* -----------------------------------------------------------
    下層h1 ＆ パンくず
-------------------------------------------------------------- */
.bread-h1-wrap {
	align-items: center;
	display: flex;
	justify-content: space-between;
	min-width: 100%;
	padding: 0 40px;
	position: absolute;
	top: -40px;
	width: 100%;
	z-index: 5;
	margin: 0 auto;
	left: 0;
	right: 0;
}

.under-h1 {
	text-align: right;
}

.under-h1 h1 {
	color: #bbb;
	font-size: 1.2rem;
	font-weight: 400;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 450px;
	margin: 0 0 0 auto;
	padding: 0 0 3px;
}

.breadcrumblist {
	font-size: 1.2rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 500px;
	padding: 0 0 3px;
}

.breadcrumblist a {
	color: var(--cmnblack) !important;
	text-decoration: underline;
}

.breadcrumblist a::after {
	display: inline-block;
	content: "\f105";
	color: var(--cmnblack) !important;
	font-weight: 900;
	font-family: var(--webicon);
	padding: 0 10px;
}

@media screen and (max-width: 768px) {
	.bread-h1-wrap {
		display: block;
		top: 15px;
		padding: 0;
	}

	.underttl-wrap .bread-h1-wrap {
		top: 8px;
	}

	.bread-h1-wrap .breadcrumblist {
		display: none;
	}

	.under-h1 h1 {
		font-size: 1rem;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		padding: 0 15px 1px 0;
		width: 50%;
	}
}

/* -----------------------------------------------------------
    cmn-access  ※下層モーダルでも使用のため注意
-------------------------------------------------------------- */
.cmn-access .cmn-access-img img {
	width: 100%;
}

.cmn-access .cmn-access-txt .ttl {
	font-weight: bold;
	line-height: 1.7;
	margin: 0 0 13px;
	display: flex;
	flex-direction: column;
}

.cmn-access .cmn-access-txt p, .cmn-access .cmn-access-txt a {
	font-size: 1.5rem;
	line-height: 1.6;
}

.cmn-access .tel-wrap {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width: 100%;
}

.cmn-access .cmn-access-txt .tel {
	margin: 7px 0 0;
}

.cmn-access .cmn-access-txt .tel a {
	color: var(--cmnblack);
}

.cmn-access .cmn-access-txt .fax {
	margin: 7px 0 0;
}

.cmn-access .cmn-access-txt .tel span, .cmn-access .cmn-access-txt .fax span {
	color: var(--gray);
	margin: 0 3px 0 0;
}

.cmn-access .moyori {
	background: url(../img/cmn-wave.svg) repeat-x top left / 11px auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	position: relative;
	padding: 22px 0 0 0;
	margin: 17px 0 0;
	width: 100%;
}

.three .cmn-access .moyori {
	gap: 20px;
}

.cmn-access .moyori li {
	font-size: 1.5rem;
	line-height: 1.4;
	position: relative;
	padding: 0 0 0 12px;
}

.cmn-access .moyori li::before {
	border-radius: 50%;
	background-color: var(--other2);
	content: "";
	position: absolute;
	width: 5px;
	height: 5px;
	left: 0;
	top: 8px;
}

.cmn-access .cmn-access-txt .g-map {
	border: 2px solid #d3d6dc;
	border-radius: 30px;
	color: var(--cmnblack);
	display: block;
	position: relative;
	padding: 8px 15px 10px 10px;
	width: 180px;
	text-align: center;
	margin: 20px 0 0;
}

.cmn-access .cmn-access-txt .g-map::before {
	content: "\f08e";
	color: var(--main);
	font: 900 1.5rem/1 var(--webicon);
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 15px;
	position: absolute;
}

.cmn-access .cmn-access-cap {
	background: var(--cmnbg);
	border-radius: 2px;
	font-size: 1.5rem;
	padding: 15px;
	width: 100%;
	line-height: 1.7;
}

@media screen and (max-width: 768px) {
	.cmn-access .tel-wrap {
		gap: 0;
	}

	.cmn-access .cmn-access-txt .tel {
		width: 100%;
		margin: 15px 0 0;
	}

	.cmn-access .cmn-access-txt .fax {
		width: 100%;
		margin: 15px 0 0;
	}
}

/* -----------------------------------------------------------
    access-area
-------------------------------------------------------------- */
.access-area .modal-wrap2 {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin: 40px 0 0;
}

.access-area .modal_trg2 {
	cursor: pointer;
	transition: .5s;
}

.access-area .modal_trg2, .access-area .modal_trg_not {
	width: calc((100% - 60px) / 3);
}

.access-area .modal_trg2:hover {
	opacity: .7;
}

.access-area .modal_trg2_ttl, .access-area .modal_trg_not_ttl {
	background: var(--main);
	color: #fff;
	padding: 10px;
	line-height: 1;
}

.access-area .modal_trg2_ttl {
	border-radius: 3px 3px 0 0;
}

.access-area .modal_trg_not_ttl {
	border-radius: 3px;
}

.access-area .online-pic {
	aspect-ratio: 390/340;
	height: 80%;
}

.access-area .modal_trg_not_img {
	align-items: center;
	display: flex;
	width: 100%;
	height: 230px;
	justify-content: center;
	padding: 10px;
}

.access-area .modal_trg2_img {
	align-items: center;
	border: 1px solid var(--main);
	border-radius: 0 0 3px 3px;
	display: flex;
	width: 100%;
	height: 230px;
	justify-content: center;
	padding: 10px;
	position: relative;
	overflow: hidden;
}

.access-area .modal_trg2_img::before {
	align-items: center;
	background: #fff;
	border: 1px solid var(--main);
	border-width: 1px 0 0 1px;
	bottom: 0;
	content: "\f00e";
	color: var(--main);
	display: flex;
	font: 900 2rem/1 var(--webicon);
	position: absolute;
	right: 0;
	width: 40px;
	height: 40px;
	justify-content: center;
}

.access-area .modal_trg2_img img {
	max-width: 100%;
	max-height: 100%;
	width: auto !important;
}

.access-area .access-header {
	background: var(--main);
	color: #fff;
	font-size: 1.8rem;
	padding: 13px 15px 15px;
	position: relative;
	margin: 30px 0 0;
}

.access-area .access-box-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin: 20px 0 0;
}

.access-area .cmn-access-img {
	flex-shrink: 0;
	width: 55%;
}

.access-area .cmn-access-txt {
	width: calc(45% - 30px);
}

@media screen and (max-width: 768px) {
	.access-area .modal-wrap2 {
		gap: 15px;
		margin: 20px 0 0;
	}

	.access-area .modal_trg2, .access-area .modal_trg_not {
		width: calc((100% - 15px) / 2);
	}

	.access-area .modal_trg2_ttl, .access-area .modal_trg_not_ttl {
		font-size: 1.5rem;
		padding: 7px 10px 9px;
		line-height: 1;
	}

	.access-area .modal_trg2_img {
		height: 100px;
		padding: 5px;
	}

	.access-area .modal_trg_not_img {
		height: 100px;
		padding: 5px;
	}

	.access-area .modal_trg2_img::before {
		font-size: 1.7rem;
		width: 30px;
		height: 30px;
	}

	.access-area .access-header {
		font-size: 1.7rem;
		padding: 10px 15px 12px;
	}

	.access-area .access-box-inner {
		flex-direction: column;
		gap: 20px;
		margin: 15px 0 0;
		padding: 0 0 80px;
	}

	.access-area .cmn-access-img {
		flex-shrink: 0;
		width: 100%;
	}

	.access-area .cmn-access-txt {
		width: 100%;
	}

	.access-area .cmn-access .tel-wrap {
		flex-direction: column;
	}
}

/* -----------------------------------------------------------
    関連インタビュー
-------------------------------------------------------------- */
.interview-rel-scroll {
	overflow-x: scroll !important;
}

.interview-rel-list {
	display: flex;
	padding: 0 0 25px 40px;
	margin: 40px 0 0;
}

.interview-rel-list .interview-rel-item {
	flex-shrink: 0;
	width: 430px;
}

.interview-rel-list .interview-rel-item a {
	border-radius: 15px;
	border: 10px solid var(--cmnbg3);
	background: #fff;
	display: block;
	padding: 30px 35px 35px;
	width: 400px;
}

.interview-rel-list .interview-rel-item a:hover {
	border-color: var(--main);
}

.interview-rel-list .interview-rel-ttl {
	color: var(--cmnblack);
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .07em;
	line-height: 1.6;
	max-height: 100px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.interview-rel-detail {
	color: var(--cmnblack);
	font-size: 1.5rem;
	margin: 8px 0 13px;
	line-height: 1.6;
	letter-spacing: .03em;
}

.interview-rel-list .interview-rel-data {
	align-items: center;
	gap: 15px;
	display: flex;
	margin: 15px 0 0;
}

.interview-rel-list .interview-rel-data .icon {
	flex-shrink: 0;
	width: 100px;
}

.interview-rel-list .interview-rel-data .icon img {
	aspect-ratio: 1/1;
	width: 100%;
}

.interview-rel-list .interview-rel-data p {
	color: var(--gray);
	line-height: 1.3;
}

.interview-rel-list .interview-rel-data .name {
	display: flex;
	font-weight: bold;
	flex-wrap: wrap;
}

.interview-rel-list .interview-rel-data .name span {
	font-size: 1.5rem;
	font-weight: 500;
}

.interview-rel-list .interview-rel-data .area {
	margin: 10px 0 0;
	position: relative;
	padding: 0 0 0 19px;
}

.interview-rel-list .interview-rel-data .area::before {
	content: "";
	background: url("../img/gray-pin.svg")center/contain no-repeat;
	position: absolute;
	top: 54%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 17px;
	height: 21px;
	left: 0;
}

.interview-rel-list .interview-rel-ba {
	margin: 30px 0 0;
}

.interview-rel-list .interview-rel-ba dl {
	border-radius: 3px;
	border-style: solid;
	border-width: 2px;
	padding: 18px 17px 17px;
	position: relative;
}

.interview-rel-list .interview-rel-ba .before {
	border-color: #e6e8eb;
}

.interview-rel-list .interview-rel-ba .after {
	border-color: var(--main);
	margin: 25px 0 0;
}

.interview-rel-list .interview-rel-ba dt {
	border-radius: 30px;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 500;
	position: absolute;
	padding: 5px 10px 7px;
	left: 15px;
	top: -13px;
}

.interview-rel-list .interview-rel-ba .before dt {
	background: #bcbfc4;
	font-size: 1.4rem;
}

.interview-rel-list .interview-rel-ba .after dt {
	background: var(--main);
	font-size: 1.5rem;
}

.interview-rel-list .interview-rel-ba dd {
	color: var(--cmnblack);
	line-height: 1.2;
}

.interview-rel-list .interview-rel-ba .before dd {
	font-display: 500;
}

.interview-rel-list .interview-rel-ba .after dd {
	font-size: 1.6rem;
	font-weight: bold;
	color: var(--main);
}

@media screen and (max-width: 768px) {
	.interview-rel-list {
		margin: 20px 0 0;
		padding: 0 0 20px 20px;
	}

	.interview-rel-list .interview-rel-item {
		width: 315px;
	}

	.interview-rel-list .interview-rel-item a {
		border-width: 4px;
		border-radius: 4px;
		width: 295px;
		padding: 25px 15px 20px;
	}

	.interview-rel-list .interview-rel-ttl {
		font-size: 1.8rem;
		max-height: 90px;
		line-height: 1.6;
	}

	.interview-rel-list .interview-rel-data .icon {
		width: 70px;
	}

	.interview-rel-list .interview-rel-data .name p {
		font-size: 1.5rem;
		letter-spacing: .02em;
	}

	.interview-rel-list .interview-rel-data .name span {
		font-size: 1.4rem;
		letter-spacing: 0;
	}

	.interview-rel-list .interview-rel-data .area {
		font-size: 1.5rem;
		padding: 0 0 0 17px;
		margin: 6px 0 0;
	}

	.interview-rel-list .interview-rel-data .area::before {
		width: 16px;
		height: 20px;
	}

	.interview-rel-list .interview-rel-ba dl {
		padding: 16px 15px 15px;
	}

	.interview-rel-list .interview-rel-ba .before dt {
		font-size: 1.3rem;
	}

	.interview-rel-list .interview-rel-ba .after dt {
		font-size: 1.4rem;
	}

	.interview-rel-list .interview-rel-ba dd {
		margin: 5px 0 0;
	}
}

/* -----------------------------------------------------------
    404
-------------------------------------------------------------- */
body.page-not #wrapper {
	overflow: auto;
}

#not .contents-404 {
	padding: 40px 0 0;
	text-align: center;
}

#not .en-ttl {
	color: var(--main);
	font: 500 6rem/1 var(--en);
}

#not .ttl {
	color: var(--main);
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: .05em;
}

#not .txt-wrap {
	margin: 30px 0 0 0;
}

#not .txt-wrap p {
	line-height: 2;
}

#not .btn-wrap {
	display: flex;
	justify-content: space-between;
	margin: 35px auto 0;
	width: 590px;
}

@media screen and (max-width: 768px) {
	#not .contents-404 {
		padding: 30px 0 0;
	}

	.page-not #sp_head .sp_head_bg {
		background: rgba(235, 238, 244, .95);
		backdrop-filter: blur(10px);
		height: 70px !important;
	}

	#not .en-ttl {
		font-size: 3.8rem;
	}

	#not .ttl {
		font-size: 1.8rem;
		line-height: 1.3;
	}

	#not .txt-wrap {
		margin: 20px 0 0 0;
	}

	#not .txt-wrap p {
		line-height: 1.7;
		margin-bottom: 10px;
	}

	#not .btn-wrap {
		display: block;
		margin: 25px 0 0 0;
		width: 100%;
	}

	#not .btn-wrap li:first-child {
		margin-bottom: 20px;
	}
}