@charset "UTF-8";

header {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	/*box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.13);*/
	background: #fff;
	width: 100%;
	height: var(--header-height);
	padding: 0 32px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	transition: all 0.3s ease;
}

@media screen and (max-width: 959px) {
	header {
		padding: 0 var(--site-container-padding);
	}
}

@media screen and (max-width: 767px) {
	header {
		padding: 0 var(--site-container-padding);
	}
}

@media screen and (max-width: 320px) {
	header {
		padding-right: 4px;
	}
}


.header__logo {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
}

.header__logo a {
	display: block;
	width: 180px;
}

.header__logo img {
	max-width: 180px;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 1279px) {
	.header__logo a {
		display: block;
		width: 180px;
	}
}

@media screen and (max-width: 959px) {
	.header__logo a {
		display: block;
		width: 140px;
	}
}

@media screen and (max-width: 767px) {
	.header__logo a {
		display: block;
		width: 120px;
	}
}

.header__logo small {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.05ex;
	line-height: 18px;
	white-space: nowrap;
	margin-left: 16px;
}

@media screen and (max-width: 959px) {
	.header__logo small {
		font-size: 10px;
		margin-left: 20px;
	}
}

@media screen and (max-width: 767px) {
	.header__logo small {
		display: none;
		font-size: 10px;
		margin-left: 20px;
	}
}


.head-nav {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100%
}

.head-nav>ul {
	display: flex;
	justify-content: flex-start;
	align-items: center
}

.head-nav>ul li {
	margin-right: 20px;
	position: relative
}

.head-nav>ul li a {
	font-size: 13px;
	font-weight: 700
}

.head-nav .head-btn-wrap {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	margin: 0 -4px;
}

.head-nav .head-btn {
	width: auto;
	margin: 0 4px;
	position: relative;
}

.head-nav .head-btn a {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	border-radius: 3em;
	border: 1px solid var(--site-c-main);
	background: #fff;
	color: var(--site-c-main);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05ex;
	text-align: center;
	width: 100%;
	height: 50px;
	padding: 0 1.5em;
}

.head-nav .head-btn [href*="/login"] {
	border: 1px solid var(--site-c-main);
	background: #fff;
	color: var(--site-c-main);
}

.head-nav .head-btn [href*="/register"] {
	border: 1px solid var(--site-c-main);
	background: var(--site-c-main);
	color: #fff;
}

.head-nav .head-btn a:focus,
.head-nav .head-btn a:hover {
	background: var(--site-c-main);
	color: #fff;
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 959px) {
	.head-nav {
		width: auto;
	}

	.head-nav .head-btn a {
		font-size: 13.5px;
	}
}

@media screen and (max-width: 767px) {
	.head-nav {
		width: auto;
	}

	.head-nav>ul {
		display: none;
	}

	/* .head-nav .head-btn {
		width: 72px;
	} */
	.head-nav .head-btn a {
		font-size: 9px;
		text-align: center;
		height: 32px;
		padding: 0 0.5em;
	}

	.head-nav .head-btn {
		margin: 0 2px;
	}
}

.item__badge {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	align-items: center;
	border-radius: 20px;
	background: rgba(236, 13, 13, .8);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	min-width: 20px;
	width: auto;
	height: 20px;
	padding: 5px;
	position: absolute;
	right: -7px;
	top: -2px;
	z-index: 1;
	transition: all 0.6s ease 0.2s
}

header .item__badge {
	right: -20px;
	top: 2px;
}

@media screen and (min-width: 767px) {
	header .item__badge {
		right: 0vw;
		top: -8px;
	}
}

@media screen and (max-width: 766px) {
	header .item__badge {
		right: 0vw;
		top: 22px;
	}
}

/**
 * ハンバーガー
**/
#nav-drawer {
	margin-left: 8px;
	position: relative;
}

@media screen and (max-width: 767px) {
	#nav-drawer {
		margin-left: 4px;
	}
}

@media screen and (max-width: 320px) {
	#nav-drawer {
		margin-left: 4px;
	}
}

/*チェックボックス等は非表示に*/
.nav-unshown {
	display: none;
}


/*アイコンのスペース*/
#nav-open {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-content: center;
	align-items: center;
	border-radius: 50%;
	/*border: solid 1px var(--site-c-main-hue);*/
	/*background: var(--site-c-main-hue);*/
	color: var(--font-c);
	width: 50px;
	height: 50px;
	position: relative;
	cursor: pointer;
}

@media screen and (max-width: 959px) {
	#nav-open {
		width: 40px;
		height: 40px;
	}
}

@media screen and (max-width: 767px) {
	#nav-open {
		width: 40px;
		height: 40px;
	}
}

#nav-open span {
	display: block;
	border-radius: 2px;
	background: var(--font-c);
	width: 26px;
	height: 2px;
	position: relative;
}

#nav-open span::before,
#nav-open span::after {
	content: '';
	display: block;
	border-radius: 2px;
	background: var(--font-c);
	width: 26px;
	height: 2px;
	transition: all 0.2s ease;
	position: absolute;
}

#nav-open span::before {
	top: calc(50% + 8px);
	transform: translate(0, -50%);
}

#nav-open span::after {
	top: calc(50% - 8px);
	transform: translate(0, -50%);
}

#nav-open:focus span,
#nav-open:hover span,
#nav-open:hover span {
	opacity: 0.7;
}

@media screen and (max-width: 959px) {
	#nav-open span {
		width: 22px;
		height: 2px;
	}

	#nav-open span::before,
	#nav-open span::after {
		width: 22px;
		height: 2px;
	}

	#nav-open span::before {
		top: calc(50% + 8px);
	}

	#nav-open span::after {
		top: calc(50% - 8px);
	}
}

@media screen and (max-width: 767px) {
	#nav-open span {
		width: 16px;
		height: 2px;
	}

	#nav-open span::before,
	#nav-open span::after {
		width: 16px;
		height: 2px;
	}

	#nav-open span::before {
		top: calc(50% + 4px);
	}

	#nav-open span::after {
		top: calc(50% - 4px);
	}
}



/*ハンバーガーアイコンをCSSだけで表現*/
/*閉じる用の薄黒カバー*/
#nav-close {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-content: center;
	align-items: center;
	border-radius: 50%;
	border: solid 1px var(--site-c-main-hue);
	background: var(--site-c-main-hue);
	color: #fff;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20000;
	transition: all 0.4s ease;
	opacity: 0;
	cursor: pointer;
	pointer-events: none;
}

#nav-close::before {
	content: '';
	border-radius: 2px;
	background: #fff;
	width: 26px;
	height: 2px;
	transform: translate(0, 50%) rotate(45deg) scaleX(-1);
	transition: all 0.4s ease;
}

#nav-close::after {
	content: '';
	border-radius: 2px;
	background: #fff;
	width: 26px;
	height: 2px;
	transform: translate(0, -50%) rotate(-225deg) scaleX(-1);
	transition: all 0.4s ease;
}

#nav-input:checked~#nav-close {
	background: #fff;
	color: var(--site-c-main-hue);
	opacity: 1;
	pointer-events: auto;
}

#nav-input:checked~#nav-close::before {
	background: var(--site-c-main-hue);
	transform: translate(0, 50%) rotate(45deg);
}

#nav-input:checked~#nav-close::after {
	background: var(--site-c-main-hue);
	transform: translate(0, -50%) rotate(-225deg);
}


@media screen and (max-width: 959px) {
	#nav-close::before {
		width: 26px;
		height: 2px;
	}

	#nav-close::after {
		width: 26px;
		height: 2px;
	}
}

@media screen and (max-width: 767px) {
	#nav-close::before {
		width: 16px;
		height: 2px;
	}

	#nav-close::after {
		width: 16px;
		height: 2px;
	}
}



/*チェックが入ったらもろもろ表示*/
/*中身*/
[id="nav-content"] {
	box-shadow:
		6px 0 24px 0 rgba(0, 0, 0, 0),
		0 0 0 0 #fe9332,
		6px 0 24px 0 rgba(0, 0, 0, 0);
	border-radius: 5px;
	background: #fff;
	color: #000;
	width: 90%;
	max-width: 350px;
	height: 100%;
	padding: 120px 40px 40px;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999;
	transform: translate(100%, 0);
	pointer-events: none;
	overflow: auto;
	transition:
		all 0.3s ease-in-out 0s,
		box-shadow 0.2s ease-in-out 0.166s;
}

[id="nav-content"]:has(#resist_btn) {
	padding-top: 0;
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked~[id="nav-content"] {
	pointer-events: auto;
	transform: translate(0, 0);
	box-shadow:
		-6px 0 24px 0 rgba(0, 0, 0, 0.2),
		-20px 0 0 0 var(--site-c-main),
		-6px 0 24px 0 rgba(0, 0, 0, 0.33);
}

[id="nav-content"] [id="resist_btn"] {
	display: flex;
	justify-content: center;
	margin: 120px 0 0;
	gap: 20px;
}

[id="nav-content"] [id="resist_btn"] li {
	margin: 0;
	padding: 0;
	flex: 1 1;
}

[id="nav-content"] [id="resist_btn"] .head-btn__resist {}

[id="nav-content"] [id="resist_btn"] .head-btn__login {}

[id="nav-content"] [id="resist_btn"] .head-btn__resist a,
[id="nav-content"] [id="resist_btn"] .head-btn__login a {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 3em;
	border: solid 1px var(--site-c-main);
	background: #fff;
	color: var(--site-c-main);
	font-size: 14px;
	font-weight: 600;
	width: 100%;
	height: 50px;
}

[id="nav-content"] [id="resist_btn"] .head-btn__resist a {
	border: solid 1px var(--site-c-main);
	background: var(--site-c-main);
	color: #fff;
}

[id="nav-content"] [id="resist_btn"] .head-btn__login a {
	border: solid 1px var(--site-c-main);
	background: #fff;
	color: var(--site-c-main);
}


/*
[id="nav-content"] ul {
	margin-top: 40px;
}
*/
[id="nav-content"] ul li {
	margin: 0;
	padding-left: 20px;
}

[id="nav-content"] ul li a {
	display: block;
	font-size: 16px;
	font-weight: normal;
	line-height: 20px;
	padding: 12px 0;
}

@media screen and (max-width: 767px) {
	[id="nav-content"] {
		max-width: 280px;
		padding: 40px 20px 20px;
	}

	[id="nav-content"] ul {
		margin-top: 20px;
	}

	[id="nav-content"] ul li a {
		display: block;
		font-size: 12px;
		line-height: 20px;
		padding: 8px 0;
	}
}

@media screen and (max-width: 767px) {
	.nav-content-group {}
}

.nav-content-group__ttl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 20px 0 0;
	padding: 8px 0;
	gap: 20px;
	transition: background 0.2s ease;
	cursor: pointer;
}

.nav-content-group__ttl:hover {
	background: var(--site-c-lightgray);
}

.nav-content-group__ttl .text {
	display: block;
	font-weight: 700;
}

.nav-content-group__ttl .arrow {
	display: block;
	transform: scaleY(1);
}

.nav-content-group__ttl .arrow::before {
	content: '\f107';
	color: inherit;
	font-family: "Font Awesome 6 Free";
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: var(--fa-display, inline-block);
	font-style: normal;
	font-variant: normal;
	font-weight: 700;
	line-height: 1;
	text-rendering: auto;
}

.nav-content-group__ttl.is--active .arrow {
	transform: scaleY(-1);
}



/**
 * 下部固定ボタン
**/
@media only screen and (min-width: 569px) {
	.bottom-btn {
		display: none
	}
}

.bottom-btn {
	width: 100%;
	position: fixed;
	bottom: 0;
	text-align: center;
	padding: 5px;
	background: rgba(255, 255, 255, .85);
	box-sizing: border-box;
	box-shadow: 0 -2px 10px 0 rgba(0, 0, 0, .08);
	z-index: 2
}

.bottom-btn>div {
	margin: 0 auto
}

.bottom-btn .btn-box__2 {
	max-width: 100%
}

.bottom-btn .btn-box__2 .btn {
	flex-basis: 49%;
	max-width: none;
	margin: 0
}


footer {
	width: 100%;
	padding: 80px 0 0;
}

/* NOTE: mypageでは非表示 */
[data-header="1"]~footer,
[data-header="2"]~footer {
	padding: 0 0 32px;
}

[data-header="1"]~footer::before,
[data-header="2"]~footer::before {
	display: none;
}

@media screen and (max-width: 767px) {
	footer {
		padding: 40px 0 0;
	}

	[data-header="1"]~footer,
	[data-header="2"]~footer {
		padding: 0 0 16px;
	}
}

.footer-vis__form {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-content: stretch;
	align-items: stretch;
	margin: 80px 0;
	gap: 4px;
}

.footer-vis__select {
	display: block;
}

.footer-vis__select select {
	border-radius: 3em;
}

.footer-vis__btn {
	max-width: none;
	width: 112px;
	margin: 0;
}

@media screen and (max-width: 767px) {
	.footer-vis__form {
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-start;
		align-items: stretch;
		margin: 40px 0;
		padding: 0 var(--site-container-padding);
	}

	.footer-vis__btn {
		margin: 0 auto;
	}
}

footer .l-container {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-content: stretch;
	align-items: stretch;
}

@media screen and (max-width: 767px) {
	footer .l-container {}
}

.foot-logo {
	width: 240px;
	margin-top: 80px;
}

.foot-logo img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	.foot-logo {
		max-width: 240px;
		width: 100%;
		margin: 40px auto 0;
	}
}

.foot-nav {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-end;
	align-content: center;
	align-items: center;
	gap: 12px 48px;
	margin: 0;
}

.foot-logo+.foot-nav {
	margin-left: auto;
}

.foot-nav>li {
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
}

@media (min-width: 768px) {
	.foot-nav {
		max-width: 50%;
	}
}

@media screen and (max-width: 1400px) {
	.foot-nav {
		margin-top: 24px;
		gap: 12px 24px;
	}
}

@media screen and (max-width: 767px) {
	.foot-nav {
		margin-top: 24px;
		gap: 0;
	}

	.foot-nav>li {
		border-top: solid 1px #D6D6D6;
		border-bottom: solid 1px #D6D6D6;
		font-size: 14px;
		text-align: left;
		width: 100%;
		padding: 1.25em 1em;
	}

	.foot-nav>li a {
		display: block;
		position: relative;
		z-index: 1;
	}

	.foot-nav>li a::after {
		content: '\f105';
		color: inherit;
		font-family: "Font Awesome 6 Free";
		-moz-osx-font-smoothing: grayscale;
		-webkit-font-smoothing: antialiased;
		display: var(--fa-display, inline-block);
		font-style: normal;
		font-variant: normal;
		font-weight: 700;
		line-height: 1;
		text-rendering: auto;
		position: absolute;
		right: 0;
		top: 50%;
		z-index: 1;
		transform: translate(0, -50%) scale(0.75);
		transform-origin: right center;
	}

	.foot-nav>li+li {
		border-top: none;
	}
}

/* NOTE: mypageでは非表示 */
[data-header="1"]~footer .if-login--hide,
[data-header="2"]~footer .if-login--hide {
	display: none;
}

/* NOTE: mypageではユーザーのログイン機能は非表示 */
[data-header="1"]~footer .foot-nav .if-user1--hide {
	display: none;
}

[data-header="2"]~footer .foot-nav .if-user2--hide {
	display: none;
}

.foot-nav a {
	color: inherit;
	text-decoration: none
}

.foot-nav a:focus,
.foot-nav a:hover {}

.foot-nav a[href*="facebook"] img {
	width: 32px;
	height: 32px;
}

.foot-subnav {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-end;
	align-content: center;
	align-items: center;
	font-size: 12px;
	font-weight: 500;
	margin: 36px 0 0;
	gap: 12px;
}

.foot-subnav>li {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	padding: 0 1.5em;
	position: relative;
}

.foot-sns {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
	margin: 0;
	gap: 12px;
}

.foot-nav+.foot-sns {
	width: 100%;
	margin-top: 80px;
}

.foot-sns>li {}

.foot-sns a {}

.foot-sns img {
	width: 40px;
	height: 40px;
}

@media (max-width: 767px) {

	.foot-sns,
	.foot-nav+.foot-sns {
		justify-content: center;
		width: 100%;
		margin-top: 40px;
	}
}

.foot-bottom {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	background: var(--site-c-main);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	height: 50px;
	margin: 80px 0 0;
	padding: 0 var(--site-container-padding);
}

@media (max-width: 767px) {
	.foot-bottom {
		display: block;
		background: #fff;
		color: var(--site-c-main);
		height: auto;
		margin-top: 40px;
		padding: 0;
	}
}

.foot-bottom .foot-subnav {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

@media (max-width: 767px) {
	.foot-bottom .foot-subnav {
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-start;
		align-items: stretch;
		color: var(--site-c-main);
		gap: 16px;
	}
}

.copyright {
	font-size: inherit;
	font-weight: inherit;
	margin: 0 0 0 auto;
}

.copyright>span {
	display: block;
	font-size: inherit;
	font-weight: inherit;
}

.copyright>small {
	display: block;
	font-size: inherit;
	font-weight: inherit;
}

@media screen and (max-width: 767px) {
	.copyright {
		display: flex;
		flex-flow: column nowrap;
		justify-content: center;
		align-items: center;
		background: var(--site-c-main);
		color: #fff;
		font-size: 11px;
		font-weight: 600;
		line-height: 1;
		height: 50px;
		margin-top: 40px;
		padding: 0 var(--site-container-padding);
	}
}



/**
 * breadcrumb
**/

.breadcrumb {
	background: transparent;
	color: var(--font-c);
}

.breadcrumb a {
	color: var(--site-c-main);
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

.breadcrumb__list {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	font-size: 12px;
	font-weight: 500;
	padding: 8px 0;
}

*+.breadcrumb__item::before {
	content: '\f105';
	display: inline-block;
	font-family: "Font Awesome 6 Free";
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	font-weight: 700;
	line-height: 1;
	text-rendering: auto;
	padding: 0 12px;
}

@media screen and (max-width:767px) {
	.breadcrumb__list {
		font-size: 11px;
		white-space: nowrap;
		line-height: 32px;
		height: 32px;
		overflow: auto;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
	}

	.breadcrumb__item {
		display: block;
	}
}



/**
 * search head
**/
.page-search .subpage-head {
	border: none;
	padding: 0;
}

.page-search .subpage-head .l-container {
	padding-block: 56px 32px;
	position: relative;
}

.page-search .subpage-head .c-head {
	text-align: left;
	margin: 0;
}

@media screen and (max-width:767px) {
	.page-search .subpage-head .l-container {
		padding-block: 20px;
	}
}




/**
 * search-content
 * NOTE: PBASEのスタイルを模倣
**/

.search-content {
	border: none;
	padding: 0 0 24px;
}

.search-content .l-container {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-start;
}

@media (max-width: 959px) {
	.search-content {
		padding: 0 0 24px;
	}

	.search-content .l-container {
		flex-flow: column nowrap;
		justify-content: flex-start;
		align-items: stretch;
		gap: 56px;
	}
}

/**
 * search main
 * NOTE: PBASEのスタイルを模倣 centerとついてますが、このサイトでは2カラムデザインです
**/
.search-center-wrap {
	width: calc(100% - 300px - var(--site-container-padding));
	padding: 0;
	order: 2;
}

@media (max-width: 1300px) {
	.search-center-wrap {
		width: calc(100% - 240px - var(--site-container-padding));
	}
}

@media (max-width: 1200px) {
	.search-center-wrap {
		width: calc(100% - 240px - var(--site-container-padding));
	}
}

@media (max-width: 959px) {
	.search-center-wrap {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.search-center-wrap {
		width: 100%;
	}
}


/**
 * search left side
 * NOTE: PBASEのスタイルを模倣
**/
.search-left-wrap {
	width: 300px;
	padding: 0;
	margin: 0;
	position: relative;
	z-index: 100;
	order: 1;
}

@media (max-width: 1300px) {
	.search-left-wrap {
		width: 240px;
	}
}

@media (max-width: 1200px) {
	.search-left-wrap {
		width: 240px;
	}
}

@media (max-width: 959px) {
	.search-left-wrap {
		width: 100%;
	}
}



/**
 * search
**/
.search {
	border: none;
	background: transparent;
	color: var(--font-c);
}

@media screen and (max-width:767px) {
	.search {}
}

.search .l-container {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-content: center;
	align-items: center;
}


.search .c-head {
	margin: 0 0 20px;
	padding: 0;
}

.search .c-head[data-search-acc-head] {
	position: relative;
}

@media screen and (max-width: 959px) {
	.search .c-head {
		margin: 0;
	}

	.search .c-head[data-search-acc-head]::before,
	.search .c-head[data-search-acc-head]::after {
		content: '';
		display: block;
		background: var(--site-c-main);
		width: 14px;
		height: 1px;
		position: absolute;
		right: 1em;
		top: 50%;
		z-index: 1;
		transition: all 0.4s ease;
	}

	.search .c-head[data-search-acc-head]::before {
		transform: translate(0, -50%) rotate(90deg);
	}

	.search .c-head[data-search-acc-head]::after {
		transform: translate(0, -50%) rotate(-180deg);
	}

	.search .c-head.is--active[data-search-acc-head]::before {
		transform: translate(0, -50%) rotate(0deg);
	}

	.search .c-head.is--active[data-search-acc-head]::after {
		transform: translate(0, -50%) rotate(0deg);
	}
}

.search .c-head__ttl {
	color: var(--site-c-main);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.05ex;
	width: 100%;
	margin: 0;
	padding: 0;
}

@media screen and (max-width: 959px) {
	.search .c-head__ttl {
		text-align: center;
	}
}

@media screen and (max-width: 767px) {
	.search .c-head__ttl {
		text-align: center;
	}
}




.search__reccount {
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05ex;
	text-align: left;
	width: 100%;
	margin: 0 0 20px;
}

@media screen and (max-width:767px) {
	.search__reccount {
		font-size: 12px;
	}
}

.search__area {
	display: block;
	border-radius: 10px;
	background: var(--site-c-lightgray);
	margin: 0;
	padding: 26px 20px 20px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.search__area::before {
	content: '';
	display: block;
	background: var(--site-c-main);
	height: 4px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: auto;
	left: 0;
	z-index: 5;
}

@media screen and (max-width:767px) {
	.search__area {}
}

.search__area.search__area--second,
.search__change {}

@media screen and (max-width:767px) {

	.search__area.search__area--second,
	.search__change {
		margin: 0 0 0 auto;
	}
}

.search__word,
.search__sort,
.search__filter {
	color: #ABAAAC;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	margin: 0;
	padding: 0;
}

*+.search__word {
	margin-top: 16px;
}

*+.search__sort {
	margin-top: 16px;
}

*+.search__filter {
	margin-top: 16px;
}

@media screen and (max-width: 959px) {

	.search__word,
	.search__sort,
	.search__filter {
		font-size: 14px;
	}

	*+.search__word,
	*+.search__sort,
	*+.search__filter {
		margin-top: 20px;
	}
}

@media screen and (max-width: 767px) {

	.search__word,
	.search__sort,
	.search__filter {
		font-size: 14px;
	}

	*+.search__word,
	*+.search__sort,
	*+.search__filter {
		margin-top: 20px;
	}
}


.search__ttl {
	color: var(--site-c-main);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.05ex;
	width: 100%;
	margin: 0 0 8px;
}

@media screen and (max-width: 959px) {
	.search__ttl {
		font-size: 14px;
	}
}

@media screen and (max-width: 767px) {
	.search__ttl {
		font-size: 14px;
	}
}

.search__item {}

*+.search__item {
	margin-top: 16px;
}

.search__item-ttl {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-weight: 600;
	font-size: 14px;
	margin: 0 0 8px;
	gap: 0.5ex;
}

.search__item-ttl>img {
	width: 1em;
	height: 1em;
	object-fit: contain;
}

.search__item-ttl>span {}

@media screen and (max-width: 959px) {
	.search__item-ttl {
		font-size: 14px;
	}
}

@media screen and (max-width: 767px) {
	.search__item-ttl {
		font-size: 14px;
	}
}


/* search 個別スタイル */
.search__sort {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 12px;
}

.search__sort .search__ttl {
	margin-bottom: 0;
}

.search__sort *+.search__item {
	margin-top: 0;
}

.search__sort .search__item a {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	border-radius: 3em;
	border: solid 1px var(--site-c-main);
	background: #fff;
	color: var(--site-c-main);
	font-weight: 600;
	text-decoration: none;
	width: 100%;
	height: 40px;
	padding: 0 1em;
}

.search__sort .search__item[style] a {
	border: solid 1px var(--site-c-main);
	background: var(--site-c-main);
	color: #fff;
}

@media screen and (max-width: 959px) {
	.search__sort .search__item {
		flex: 1 1;
	}
}



/**
 * search item input
**/
.search__item [type="text"],
.search__item [type="number"],
.search__item [type="date"] {
	border-radius: 3em;
	border: solid 1px #EAF1F5;
	background: #fff;
	width: 100%;
	height: 40px;
	padding: 0 1em;
}

.search__item .select {
	width: 100%;
}

.search__item .select select {
	border-radius: 3em;
	border: solid 1px #EAF1F5;
	background: #fff;
	width: 100%;
	height: 40px;
	line-height: 38px;
	padding: 0 1em;
}

.search__more {}

*+.search__more {
	margin-top: 16px;
}

.search__submit {}

.search__submit.btn>* {
	height: 40px;
}

*+.search__submit {
	margin-top: 16px;
}



/**
 * search__tag
**/
.search__tag {}

*+.search__tag {
	margin-top: 32px;
}

.search__tag-ttl {
	color: var(--font-c);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.05ex;
	width: 100%;
	margin: 0 0 16px;
}

@media screen and (max-width: 959px) {
	.search__tag-ttl {
		font-size: 16px;
	}
}

@media screen and (max-width: 767px) {
	.search__tag-ttl {
		font-size: 16px;
	}
}

.search__tag-list {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	gap: 4px;
}

*+.search__tag-list {
	margin-top: 16px;
}

.search__tag-list>li {}

.search__tag-list a {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	border: solid 1px var(--site-c-main);
	background: #fff;
	color: var(--site-c-main);
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	height: 24px;
	padding: 0 6px;
}



/**
 * modal
**/

.modal-drawer,
[id="modal-drawer"] {}

.modal-unshown {
	position: absolute;
	opacity: 0 !important;
}

/*#modal-open*/
.modal-btn-open {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 3em;
	border: solid 1px #19C4E3;
	background: #fff;
	color: #19C4E3;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	max-width: 256px;
	height: 40px;
	margin: 0 auto;
	cursor: pointer;
	position: relative;
	z-index: 1;
}

.modal-btn-open:hover {
	opacity: 0.7;
}

@media only screen and (max-width: 767px) {
	.modal-btn-open {
		font-size: 12px;
	}
}

.modal-close,
[id="modal-close"] {
	display: block;
	background: rgba(0, 0, 0, 0.13);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	opacity: 0;
	transition: all 0.3s ease-in-out;
	pointer-events: none;
}

.modal-input:checked~.modal-close,
[id="modal-input"]:checked~[id="modal-close"] {
	display: block;
	opacity: 1;
	pointer-events: auto;
}

.modal-content,
[id="modal-content"] {
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	border-radius: 6px;
	border: none;
	background: #fff;
	color: #000;
	max-width: 900px;
	width: 100%;
	height: 80%;
	padding: 40px;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 1100;
	transform: translate(-50%, -100%);
	overflow: auto;
	opacity: 0;
	pointer-events: none;
	transition: all 0.3s ease-in-out;
}

.modal-input:checked~.modal-content,
[id="modal-input"]:checked~[id="modal-content"] {
	box-shadow: 6px 0 24px rgba(0, 0, 0, 0.15);
	transform: translate(-50%, -50%);
	opacity: 1;
	pointer-events: auto;
}

@media only screen and (max-width: 959px) {

	.modal-content,
	[id="modal-content"] {
		font-size: 14px;
		padding: 32px 20px;
	}
}

@media only screen and (max-width: 767px) {

	.modal-content,
	[id="modal-content"] {
		font-size: 14px;
		padding: 32px 16px;
	}
}

.modal-content::-webkit-scrollbar,
[id="modal-content"]::-webkit-scrollbar {
	width: 12px;
	/* 垂直方向のスクロールバーの幅 */
	height: 12px;
	/* 水平方向のスクロールバーの幅 */
}

.modal-content::-webkit-scrollbar-thumb,
[id="modal-content"]::-webkit-scrollbar-thumb {
	background-color: #2f29c2;
	border-radius: 6px;
	box-shadow: none;
}

.modal-content::-webkit-scrollbar-track,
[id="modal-content"]::-webkit-scrollbar-track {
	background-color: #b5cfea;
	border-radius: 6px;
	box-shadow: none;
}

.modal-content::-webkit-scrollbar-corner,
[id="modal-content"]::-webkit-scrollbar-corner {
	display: none;
}


.modal-content .table th,
.modal-content .table td,
[id="modal-content"] .table th,
[id="modal-content"] .table td {
	padding: 12px 12px;
}

.modal-content .btn,
[id="modal-content"] .btn {
	margin: 40px auto;
}


/* modal tableset style */
.modal-content .tableset__ttl {
	width: 200px;
	padding: 20px;
}

.modal-content .tableset__txt {
	padding: 20px;
}

@media screen and (max-width: 767px) {

	.modal-content .tableset__ttl,
	.modal-content .tableset__txt {
		width: 100%;
	}
}





/**
 * result
**/
.result {
	border: none;
	background: transparent;
	padding: 0;
}

.result__list {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	align-content: stretch;
	align-items: stretch;
	gap: 40px;
}

.result__item {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-content: flex-start;
	align-items: flex-start;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.16);
	border-radius: 20px;
	border: none;
	background: #fff;
	color: var(--font-c);
	width: 100%;
	padding: 36px 40px;
	position: relative;
	margin-bottom: 4rem;
}

@media screen and (max-width:959px) {
	.result__item {
		padding: 24px 20px;
	}
}


.result__ttl {
	color: var(--font-c);
	font-weight: 600;
	font-size: 20px;
	font-feature-settings: 'palt';
	letter-spacing: 0.05ex;
	line-height: 1.5;
	text-align: left;
	width: 100%;
	margin: 0 0 16px;
}

@media screen and (max-width:959px) {
	.result__ttl {
		font-size: 16px;
	}
}

.result__img {
	width: 210px;
	margin: 0 0 16px;
}

.result__img img,
.result__img iframe,
.result__img video {
	border-radius: 10px;
	width: 100%;
	height: auto;
	aspect-ratio: 42 / 23;
}

.result__img img,
.result__img video {
	object-fit: contain;
}

@media screen and (max-width:959px) {
	.result__img {
		width: 100%;
	}
}


.result__desc {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-content: center;
	/*align-items: center;*/
	width: calc(100% - 210px);
	margin: 0 0 16px;
	padding: 0 0 0 20px;
	gap: 0 6px;
}

.result__top {
	min-width: 480px;
}

.result__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

@media screen and (max-width:959px) {
	.result__desc {
		width: 100%;
		margin: 0;
		padding: 0;
		gap: 6px;
	}
}


.result__recruit-type {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	min-width: 80px;
	height: 26px;
	padding: 0 6px;
}

/*outline-head__recruit-typeと合わせる*/
.result__recruit-type[data-type="短期インターン"] {
	background: var(--site-c-main-hue);
	color: var(--font-c);
}

.result__recruit-type[data-type="長期インターン"] {
	background: var(--site-c-green);
	color: #fff;
}

.result__recruit-type[data-type="新卒求人"] {
	background: var(--site-c-main);
	color: #fff;
}

.result__recruit-type[data-type="1day"] {
	background: var(--site-c-red);
	color: #fff;
}

.result__job-type {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	background: var(--site-c-gray);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	min-width: 80px;
	height: 26px;
	padding: 0 12px;
}

.result__name {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	gap: 8px;
}

*+.result__name {
	margin-top: 12px;
}

.result__name>img {
	width: auto;
	height: 26px;
}

.result__name>span {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
}

@media screen and (max-width:959px) {}

.result__job-cate {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	width: 100%;
	gap: 8px;
}

*+.result__job-cate {
	margin-top: 6px;
}

.result__job-cate::before {
	content: '';
	display: block;
	background-image: url("/common/images/icon-search-bill-blue.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 16px;
	height: 16px;
}

@media screen and (max-width:959px) {
	*+.result__job-cate {
		margin-top: 0;
	}
}

.result__area {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	width: 100%;
	gap: 8px;
}

*+.result__area {
	margin-top: 6px;
}

.result__area::before {
	content: '';
	display: block;
	background-image: url("/common/images/icon-search-map-blue.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 16px;
	height: 16px;
}

@media screen and (max-width:959px) {
	*+.result__area {
		margin-top: 0;
	}
}


.result__wages {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	gap: 8px;
}

.result__wages::before {
	content: '';
	display: block;
	background-image: url("/common/images/icon-search-yen-blue.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 16px;
	height: 16px;
}

@media screen and (max-width:959px) {
	.result__wages {
		width: 100%;
	}

	*+.result__wages {
		margin-top: 6px;
	}
}

.result__time {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	gap: 8px;
}

.result__wages+.result__time {
	margin-left: 20px;
}

.result__time::before {
	content: '';
	display: block;
	background-image: url("/common/images/icon-search-clock-blue.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 16px;
	height: 16px;
}

@media screen and (max-width:959px) {
	.result__time {
		width: 100%;
	}

	*+.result__time {
		margin-top: 6px;
	}

	.result__wages+.result__time {
		margin-left: 0;
	}
}

.result__tag {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	width: 100%;
	gap: 4px;
}

*+.result__tag {
	margin-top: 12px;
}

.result__tag>li {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	border: solid 1px var(--site-c-main);
	background: #fff;
	color: var(--site-c-main);
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	height: 24px;
	padding: 0 6px;
}

@media screen and (max-width:959px) {}


.result__benefits {}

*+.result__benefits {
	margin-top: 16px;
}

.result__benefits>dt {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	color: var(--site-c-main);
	font-size: 14px;
	font-weight: 600;
	width: 100%;
	gap: 8px;
}

.result__benefits>dt::before {
	content: '';
	display: block;
	background-image: url("/common/images/icon-search-star-blue.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 16px;
	height: 16px;
}

.result__benefits>dd {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	margin: 8px 0 0;
}

.result__memo {
	width: 100%;
}

*+.result__memo {
	margin-top: 16px;
}

.result__memo>dt {
	border-radius: 10px 10px 0 10px;
	background: var(--site-c-main);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	width: 148px;
	height: 30px;
	margin: 0;
	padding: 6px 8px;
	position: relative;
	z-index: 5;
}

.result__memo>dd {
	border-radius: 10px;
	background: var(--site-c-lightgray);
	color: var(--font-c);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	margin: -12px 0 0 10px;
	padding: 24px 30px;
	position: relative;
	z-index: 1;
}

@media screen and (max-width:959px) {
	*+.result__memo {
		margin-top: 24px;
	}

	.result__memo>dt {
		font-size: 12px;
	}

	.result__memo>dd {
		margin: -12px 0 0 8px;
		padding: 24px;
	}
}


.result__overlay-link {
	display: block;
	border-radius: inherit;
	background: inherit;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.result__overlay-link:hover {
	opacity: 0.2;
}

.result__fav {
	display: flex;
	color: #E1F3F8;
	font-size: 28px;
	position: absolute;
	right: 20px;
	top: 12px;
	z-index: 20;
}

.result__fav:hover,
.result__fav.is--active {
	color: var(--site-c-main-hue);
}

.result__fav.is--active:hover {
	color: #E1F3F8;
}

@media screen and (max-width:959px) {
	.result__fav {
		font-size: 28px;
		right: 16px;
	}
}



/**
 * card
**/
.card__list {
	display: flex;
	flex-wrap: wrap;
	padding: 20px 0 30px;
}

.card__item {
	width: 23.5%;
	margin-right: 2%;
	margin-bottom: 2%;
	padding: 15px;
	background: #fff;
	border: 1px solid #D6D6D6;
	border-radius: 5px;
	box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
	position: relative
}

@media screen and (min-width:768px) {
	.card__item:nth-child(4n) {
		margin-right: 0
	}
}

.card__img {
	width: 100%
}

.card__img img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}

.card__desc {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between
}

.card__ttl {
	margin: 10px 0;
	font-size: 16px;
	font-weight: 700
}

.card__btn .btn--small:first-child {
	margin-bottom: 5px
}

.card__item .box_buttons .btn--small {
	width: 49%;
	margin-top: 2%;
}

.btn--small:not(a):not(input):not(button) a:hover {
	color: #fff;
	background: var(--site-c-main);
}

@media screen and (max-width:959px) {
	.card__img img {
		height: 140px
	}
}

@media screen and (max-width:767px) {
	.card__item {
		width: 49%;
		padding: 10px
	}

	.card__item:nth-child(2n) {
		margin-right: 0
	}

	.card__ttl {
		font-size: 15px
	}
}

.thread__list {
	margin-bottom: 30px;
	padding: 40px;
	border: 1px solid #D6D6D6;
	border-radius: 5px;
}

.thread__item {
	border-top: 1px solid #D6D6D6
}

.thread__item:last-child {
	border-bottom: 1px solid #D6D6D6
}

.thread__item a {
	padding: 15px;
	display: block;
}

@media screen and (max-width: 767px) {
	.thread__list {
		padding: 10px 0;
		margin-bottom: 20px;
	}
}

/**
 * チャット
**/
.cha__inner {}

.chat {
	padding-bottom: 200px;
}

@media only screen and (max-width: 959px) {
	.chat {
		padding-bottom: 140px;
	}
}

.chat-outline .c-head {
	margin-bottom: 10px
}

.chat__status {
	width: 100px;
	height: 40px;
	margin-bottom: 10px;
	padding: 0 10px;
	font-weight: 700;
	color: #fff;
	background: var(--site-c-main);
	border: 1px solid #D6D6D6;
	border-radius: 5px;
	float: left;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.chat__status input {
	color: #fff;
}

.chat-inner body {
	margin: 0 !important
}

.chat-inner .ifrm {
	width: 100%;
	min-height: 35vh;
	padding: 10px 0;
	background: #fff;
	border: 1px solid #D6D6D6;
	border-radius: 5px;
}

.chat-inner .inner {
	overflow: hidden
}

@media only screen and (max-width: 767px) {
	.chat__status {
		width: 70px;
		height: 30px;
		margin-bottom: 5px;
		font-size: 12px;
	}

	.chat__status input {
		font-size: 12px;
	}

	.chat-inner {
		margin: 10px;
	}
}

.left_balloon,
.right_balloon {
	clear: both;
	width: 98%;
	margin: 0 auto 30px;
	line-height: 2;
}

.left_balloon p {
	margin: 0;
	color: #535D64;
	font-size: 15px;
	position: relative;
}

.right_balloon p {
	color: #535D64;
	font-size: 15px;
	position: relative;
	/*
	margin: 0;
	padding: 15px 20px;
	color: #535D64;
	font-size: 15px;
	position: relative;
	background: #fafafa;
	border-radius: 0 10px 10px 10px;
	border: 1px solid #707070;
*/
}

.system_balloon {
	background: #f8f8f8;
	border: 2px solid #e8e8e8;
	margin: 5px;
	padding: 5px 10px;
	border-radius: 5px;
}

.balloon_div_left {
	float: left;
	padding: 10px 10px 0px 0px;
}

.balloon_div_right {
	float: left;
}

.right_balloon img,
.left_balloon img {
	border-radius: 3px;
	width: 40px;
	height: 40px;
	object-fit: cover;
}

@media only screen and (max-width: 767px) {

	.left_balloon,
	.right_balloon {
		width: 95%;
		margin-bottom: 20px;
	}

	.left_balloon p,
	.right_balloon p {
		font-size: 12px;
	}
}

.balloon_sub {
	margin: 5px 0;
	display: flex;
	align-items: center;
}

.balloon_name {
	margin-right: 5px;
	font-size: 13px;
	font-weight: 700;
	display: block;
}

.balloon_date {
	margin-right: 5px;
	color: #7d7d7d;
	font-size: 11px
}

.balloon_kidoku {
	padding: 0 5px;
	font-size: 10px;
	border: 1px solid #B4BFC2;
	border-radius: 3px;
}

@media screen and (max-width: 767px) {

	.balloon_name,
	.balloon_date {
		font-size: 10px;
	}

	.balloon_kidoku {
		font-size: 8px;
	}
}


.chat-footer {}

.chat-footer form {
	position: relative;
}

.chat-footer textarea {
	padding-bottom: 40px;
}

.submit__area {
	width: 100%;
	position: absolute;
	bottom: 5px;
	right: 20px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.chat__submit input {
	height: 40px;
	padding: 0 20px;
	border-left: 1px solid #D6D6D6
}

.btn-file {
	position: relative;
	top: -1px;
	height: 40px;
}

.btn-file::before {
	content: "";
	width: 40px;
	height: 40px;
	margin-right: 10px;
	background: url("../images/icon-clip.png") center center / 100% no-repeat;
	display: inline-block;
	position: relative;
	top: 0;
	right: 0;
}

@media only screen and (max-width: 767px) {
	.chat-footer textarea {
		padding: 15px 10px 40px;
	}

	.chat-footer textarea::placeholder {
		font-size: 13px;
		line-height: 2
	}

	.submit__area {
		right: 10px;
	}

	.btn-file {
		height: 30px;
	}

	.btn-file::before {
		width: 30px;
		height: 30px;
		margin-right: 0;
	}

	.chat__submit input {
		height: 30px;
		padding: 0 10px;
		font-size: 10px;
	}
}


.chat-memo {}

*+.chat-memo {
	margin-top: 24px;
}

.chat-memo__ttl {
	display: block;
	color: var(--site-c-main);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05ex;
	margin: 0 0 8px;
}

.chat-memo__input {}

@media only screen and (max-width: 767px) {
	.chat-memo__input {
		padding: 15px 10px 40px;
	}

	.chat-memo__input::placeholder {
		font-size: 13px;
		line-height: 2
	}
}

.pagination {}

.result__list+.pagination {
	margin: 40px 0 0;
	padding: 0;
	position: relative;
}

.pagination__list {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-content: center;
	align-items: center;
	margin: 0;
	gap: 6px;
}

.pagination__list span,
.pagination__list a {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: #edf1f3;
	color: var(--site-c-main);
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	width: 48px;
	height: 48px;
	margin: 0;
}

.pagination .current,
.pagination a:focus,
.pagination a:hover {
	background: var(--site-c-main);
	color: #fff;
}

@media only screen and (max-width: 767px) {

	.pagination__list span,
	.pagination__list a {
		font-size: 11px;
		width: 36px;
		height: 36px;
		margin: 8px 4px 0;
	}
}



/**
 * outline-head
**/

.outline-head {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-content: flex-start;
	align-items: flex-start;
	border: none;
	color: var(--font-c);
	width: 100%;
	margin: 0 0 72px;
	padding: 0;
	gap: 0 30px;
	position: relative;
}

@media screen and (max-width: 767px) {
	.outline-head {
		margin: 0 0 72px;
		gap: 0;
	}
}


.outline-head__ttl {
	color: var(--font-c);
	font-weight: 600;
	font-size: 20px;
	font-feature-settings: 'palt';
	letter-spacing: 0.05ex;
	line-height: 1.5;
	text-align: left;
	width: 100%;
	margin: 0 0 16px;
}

@media screen and (max-width:959px) {
	.outline-head__ttl {
		font-size: 16px;
	}
}

.outline-head__img {
	width: 100%;
	margin: 0 0 16px;
}

.outline-head__img img,
.outline-head__img iframe,
.outline-head__img video {
	border-radius: 10px;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

.outline-head__img img,
.outline-head__img video {
	object-fit: contain;
}

@media screen and (max-width:959px) {
	.outline-head__img {
		width: 100%;
	}
}


.outline-head__desc {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	width: 100%;
	margin: 0 0 8px;
	padding: 0;
	gap: 0 6px;
}

@media screen and (max-width:959px) {
	.outline-head__desc {
		width: 100%;
		gap: 6px;
	}
}


.outline-head__recruit-type {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	min-width: 80px;
	height: 26px;
	padding: 0 6px;
}

/*result__recruit-typeと合わせる*/
.outline-head__recruit-type[data-type="短期インターン"] {
	background: var(--site-c-main-hue);
	color: var(--font-c);
}

.outline-head__recruit-type[data-type="長期インターン"] {
	background: var(--green-c-main);
	color: #fff;
}

.outline-head__recruit-type[data-type="新卒求人"] {
	background: var(--site-c-main);
	color: #fff;
}

.outline-head__recruit-type[data-type="1day"] {
	background: var(--red-c-main);
	color: #fff;
}

.outline-head__job-type {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	background: var(--site-c-gray);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	min-width: 80px;
	height: 26px;
	padding: 0 12px;
}

.outline-head__name {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	gap: 8px;
}

*+.outline-head__name {
	margin-top: 12px;
}

.outline-head__name>img {
	width: auto;
	height: 26px;
}

.outline-head__name>span {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
}

@media screen and (max-width:959px) {}

.outline-head__job-cate {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	width: 100%;
	gap: 8px;
}

*+.outline-head__job-cate {
	margin-top: 6px;
}

.outline-head__job-cate::before {
	content: '';
	display: block;
	background-image: url("/common/images/icon-search-bill-blue.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 16px;
	height: 16px;
}

@media screen and (max-width:959px) {
	*+.outline-head__job-cate {
		margin-top: 0;
	}
}

.outline-head__area {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	width: 100%;
	gap: 8px;
}

*+.outline-head__area {
	margin-top: 6px;
}

.outline-head__area::before {
	content: '';
	display: block;
	background-image: url("/common/images/icon-search-map-blue.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 16px;
	height: 16px;
}

@media screen and (max-width:959px) {
	*+.outline-head__area {
		margin-top: 0;
	}
}


.outline-head__wages {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	gap: 8px;
}

.outline-head__wages::before {
	content: '';
	display: block;
	background-image: url("/common/images/icon-search-yen-blue.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 16px;
	height: 16px;
}

@media screen and (max-width:959px) {
	.outline-head__wages {
		width: 100%;
	}

	*+.outline-head__wages {
		margin-top: 6px;
	}
}

.outline-head__time {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	gap: 8px;
}

.outline-head__time::before {
	content: '';
	display: block;
	background-image: url("/common/images/icon-search-clock-blue.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 16px;
	height: 16px;
}

@media screen and (max-width:959px) {
	.outline-head__time {
		width: 100%;
	}

	*+.outline-head__time {
		margin-top: 6px;
	}
}

.outline-head__tag {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	width: 100%;
	gap: 4px;
}

*+.outline-head__tag {
	margin-top: 12px;
}

.outline-head__tag>li {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	border: solid 1px var(--site-c-main);
	background: #fff;
	color: var(--site-c-main);
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	height: 24px;
	padding: 0 6px;
}

@media screen and (max-width:959px) {}


.outline-head__benefits {}

*+.outline-head__benefits {
	margin-top: 16px;
}

.outline-head__benefits>dt {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	color: var(--site-c-main);
	font-size: 14px;
	font-weight: 600;
	width: 100%;
	gap: 8px;
}

.outline-head__benefits>dt::before {
	content: '';
	display: block;
	background-image: url("/common/images/icon-search-star-blue.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 16px;
	height: 16px;
}

.outline-head__benefits>dd {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	margin: 8px 0 0;
}

.outline-head__memo {
	width: 100%;
}

*+.outline-head__memo {
	margin-top: 16px;
}

.outline-head__memo>dt {
	border-radius: 10px 10px 0 10px;
	background: var(--site-c-main);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	width: 148px;
	height: 30px;
	margin: 0;
	padding: 6px 8px;
	position: relative;
	z-index: 5;
}

.outline-head__memo>dd {
	border-radius: 10px;
	background: var(--site-c-lightgray);
	color: var(--font-c);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	margin: -12px 0 0 10px;
	padding: 24px 30px;
	position: relative;
	z-index: 1;
}

@media screen and (max-width:959px) {
	*+.outline-head__memo {
		margin-top: 24px;
	}

	.outline-head__memo>dt {
		font-size: 12px;
	}

	.outline-head__memo>dd {
		margin: -12px 0 0 8px;
		padding: 24px;
	}
}



/**
 * outline side
**/
.outline-side-item {
	display: block;
	border-radius: 10px;
	background: var(--site-c-lightgray);
	color: #ABAAAC;
	margin: 0;
	padding: 20px 20px 30px;
	position: relative;
	z-index: 1;
}

@media screen and (min-width: 960px) {
	.search-center-wrap .outline-side-item {
		display: none;
	}
}

@media screen and (max-width: 959px) {
	.search-left-wrap .outline-side-item {
		/*display: none;*/
	}
}


.outline-side-item__name {
	color: var(--font-c);
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 8px;
}

.outline-side-item__link {
	font-size: 12px;
	font-weight: 500;
}

.outline-side-item__link a {}

.outline-side-item__sns {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
}

*+.outline-side-item__sns {
	margin-top: 20px;
}

.outline-side-item__sns>a {}

.outline-side-item__sns>a>img {
	width: 30px;
	height: 30px;
	object-fit: contain;
}

.outline-side-item__index {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	font-size: 12px;
	font-weight: 500;
	gap: 15px;
}

*+.outline-side-item__index {
	margin-top: 40px;
}

@media screen and (max-width:767px) {
	.outline-side-item__index {
		flex-flow: row wrap;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
	}
}

.outline-side-item__index>a {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0.75em;
}

.outline-side-item__index>a::before {
	content: '\f105';
	font-family: "Font Awesome 6 Free";
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	font-weight: 700;
	line-height: 1;
	text-rendering: auto;

	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: var(--site-c-main);
	color: #fff;
	font-size: 10px;
	width: 14px;
	height: 14px;
	transform: translate(0, 12.5%);
}

@media screen and (max-width:767px) {
	.outline-side-item__index>a {
		border-bottom: solid 1px #E5EFF5;
		padding-bottom: 1em;
	}

	.outline-side-item__index>a::before {
		content: '\f107';
	}
}

.outline-side-item__cta {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 10px;
}

*+.outline-side-item__cta {
	margin-top: 40px;
}

.outline-side-item__cta>.btn {
	margin: 0;
}

.outline-side-item__cta>.btn.btn--fill {}

.outline-side-item__cta>.btn.btn--fill>* {
	font-size: 14px;
	font-weight: 600;
	height: 60px;
}

.outline-side-item__cta>.btn.btn--like {}

.outline-side-item__cta>.btn.btn--like>* {
	font-size: 14px;
	font-weight: 600;
	height: 40px;
}

@media screen and (max-width:767px) {
	.outline-side-item__cta>.btn {
		max-width: none;
		margin: 0;
	}
}



/**
 * outline
**/

.outline {
	margin: 0;
}

*+.outline {
	margin-top: 72px;
}

.outline__ttl {
	color: var(--font-c);
	font-size: 28px;
	font-weight: 600;
	line-height: 1;
	padding: 0;
	margin: 0 0 40px;
}

.outline__ttl::after {
	content: '';
	display: block;
	border-left: solid 2em var(--site-c-main);
	background: #E1F3F8;
	height: 1px;
	margin: 1em 0 0;
}

.outline__gallery {
	margin: 2rem auto;
}

.outline__gallery ul {
	width: fit-content;
	/*column-count: 5;*/
	/*column-gap: 5px*/
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 2rem;
	justify-content: space-around;
}

.outline__gallery li {
	/**width: 16.11111112%;
	margin-right: .6666667%;**/
}

.outline__gallery li:nth-child(6n) {
	margin-right: 0
}

.outline__gallery img {
	width: 320px;
	height: auto;
	max-height: 480px;
	margin-bottom: 5px;
	object-fit: cover;
}

@media only screen and (max-width: 959px) {
	.outline__gallery {
		columns: auto 200px;
		column-gap: 5px
	}
}

@media only screen and (max-width: 767px) {
	.outline__gallery {
		columns: auto 200px;
		column-gap: 5px
	}

	.outline__gallery ul {
		column-count: auto;
	}

	.outline__gallery img {
		width: 100%;
	}
}



/**
 * outline range
**/
.outline__range {
	--range-ttl-width: 110px;
	--range-label-width: 120px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

*+.outline__range {
	margin-top: 30px;
}

@media only screen and (max-width: 959px) {
	.outline__range {
		flex-flow: column nowrap;
		align-items: flex-start;
	}
}

@media only screen and (max-width: 767px) {
	.outline__range {
		--range-ttl-width: 88px;
		--range-label-width: 64px;
		gap: 16px;
	}
}

.outline__range>dt {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	background: var(--site-c-main);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	font-feature-settings: 'palt';
	text-align: center;
	width: var(--range-ttl-width);
	height: 40px;
}

@media only screen and (max-width: 767px) {
	.outline__range>dt {
		font-size: 12px;
		height: 28px;
	}
}

.outline__range>dd {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: var(--site-c-gray);
	width: calc(100% - var(--range-ttl-width));
}

@media only screen and (max-width: 959px) {
	.outline__range>dd {
		width: 100%;
	}
}

.outline__range>dd>label {
	display: block;
	font-size: 16px;
	font-weight: 600;
	font-feature-settings: 'palt';
	width: var(--range-label-width);
	padding: 0 20px;
}

.outline__range>dd>label:first-of-type {
	text-align: right;
}

.outline__range>dd>label:last-of-type {
	text-align: left;
}

@media only screen and (max-width: 767px) {
	.outline__range>dd>label {
		font-size: 12px;
		padding: 0 1em;
	}

	.outline__range>dd>label:first-of-type {
		padding: 0 1em 0 0;
	}

	.outline__range>dd>label:last-of-type {
		padding: 0 0 0 1em;
	}
}

.outline__range ol {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-image: linear-gradient(0deg, #E1F3F8 0%, #E1F3F8 100%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 4px;
	width: calc(100% - var(--range-label-width) * 2);
}

.outline__range ol>li {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.outline__range ol>.is--active {
	color: var(--site-c-main);
}

.outline__range ol>li>i {
	display: block;
	border-radius: 50%;
	border: solid 4px #E1F3F8;
	background: #E1F3F8;
	width: 24px;
	height: 24px;
}

.outline__range ol>.is--active>i {
	border: solid 4px #8AE1F1;
	background: var(--site-c-main);
}

.outline__range ol>li>span {
	display: block;
	font-size: 12px;
	font-weight: 500;
	font-feature-settings: 'palt';
	text-align: center;
	white-space: nowrap;
	padding: 4px 0 0;
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: 1;
	transform: translate(-50%, 100%);
}

@media only screen and (max-width: 767px) {
	.outline__range ol>li>span {
		font-size: 10px;
	}
}




/**
 * outline box
**/

.recruit-info {}

*+.recruit-info {
	margin-top: 72px;
}

.kyuujin_detail_btn>a {}

.kyuujin_detail_btn>a:hover {}

.kyuujin_detail_btn.oubo a {}

.recruit-photo {}

@media screen and (max-width: 767px) {}

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



/**
 * outline table
**/
.outline .tableset {
	display: block;
	border-radius: 10px;
	border: none;
	background: #F5F8FA;
	font-size: 14px;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.outline .tableset {
		margin: 0;
		padding: 20px 40px;
	}
}

.outline .tableset thead,
.outline .tableset tbody,
.outline .tableset tfoot {
	display: block;
}

.outline .tableset__list {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: stretch;
	text-align: left;
	width: auto;
	position: relative;
}

.outline .tableset__list::before {
	content: '';
	display: block;
	border-left: solid 1em var(--site-c-main);
	background: #E1F3F8;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}

.outline .tableset__list:last-child::before {
	display: none;
}

.outline .tableset__ttl {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	vertical-align: middle;
	width: 220px;
	padding: 20px 0;
}

.outline .tableset__txt {
	display: block;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	word-break: break-all;
	width: calc(100% - 220px);
	padding: 20px 0;
}

@media only screen and (max-width: 959px) {
	.outline .tableset__ttl {
		width: 200px;
	}

	.outline .tableset__txt {
		width: calc(100% - 200px);
	}
}

@media screen and (max-width: 767px) {

	.outline .tableset__ttl,
	.outline .tableset__txt {}
}



/**
 * knowledge
**/

.knowledge__list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: flex-start;
	align-items: flex-start;
	margin: -40px -20px 0;
}

@media (min-width: 960px) {
	.knowledge__list {
		margin: -40px -20px 0;
	}

	.knowledge__item {
		width: calc((100% - 20px * 8) / 4);
		margin: 40px 20px 0;
	}
}

@media screen and (max-width: 959px) {
	.knowledge__list {
		margin: -24px -8px 0;
	}

	.knowledge__item {
		width: calc((100% - 8px * 6) / 3);
		margin: 24px 8px 0;
	}
}

@media only screen and (max-width: 767px) {
	.knowledge__list {
		margin: -16px -8px 0;
	}

	.knowledge__item {
		width: calc((100% - 8px * 4) / 2);
		margin: 16px 8px 0;
	}
}

.knowledge__img {
	position: relative;
}

.knowledge__img::before {
	content: '';
	display: block;
	padding: 100% 0 0;
	position: relative;
	z-index: 1;
}

.knowledge__img img {
	border-radius: 2em;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.knowledge__desc {
	margin-top: 12px;
}

.knowledge__ttl {
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	font-feature-settings: 'palt';
}

.knowledge__txt {
	display: none;
	font-size: 16px;
	font-feature-settings: 'palt';
	line-height: 24px;
	margin-top: 8px;
}

.knowledge__txt--more {
	color: var(--site-c-main);
}

@media screen and (max-width: 959px) {
	.knowledge__ttl {
		font-size: 14px;
		line-height: 22px;
	}
}

@media only screen and (max-width: 767px) {
	.knowledge__ttl {
		font-size: 12px;
		line-height: 20px;
	}
}



/**
 * m1 blog, m2 blog
**/

[id="column__main"] {
	width: 100%;
	max-width: 700px;
	margin: 0 auto
}

.column__ttl {
	margin-bottom: 20px;
	font-size: 24px;
	font-weight: 700
}

.column__inner {
	padding: 30px;
	border: 1px solid #D6D6D6;
	border-radius: 5px;
	line-height: 2;
}

.column__info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #535d64;
}

.column__img {
	margin: 20px 0;
}

@media screen and (max-width: 767px) {
	.column__inner {
		padding: 10px;
	}

	.column__ttl {
		font-size: 18px
	}

	[id="column__main"] .btn {
		font-size: 12px
	}
}



/**
 * about
**/

[id="about"] section {
	padding: 80px 0
}

.about__ttl {
	margin-bottom: 60px;
	font-size: 38px;
	font-weight: 700;
	text-align: center;
}

.about__txt {
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	line-height: 2
}

.about__txt p {
	margin-bottom: 20px
}

.about-section__ttl {
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}

.about_txt01 {
	text-align: right;
	margin: 50px 0 -50px;
	font-size: 12px;
	font-weight: normal;
	color: #888888;
	letter-spacing: 0.5px;
}

.about__contact {
	border-radius: 32px;
	border: 6px solid #D6D6D6;
	background: #fff;
	max-width: 800px;
	margin: 0 auto;
	padding: 32px 20px;
}

*+.about__contact {
	margin-top: 24px;
}

.about__contact--lead {
	color: var(--site-c-main);
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	width: 100%;
}

.about__contact--cta {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-content: stretch;
	align-items: stretch;
	margin: 24px 0 0;
}

.about__contact--cta>.btn {
	max-width: none;
	width: 100%;
	margin: 0 12px;
}

.about__contact--cta>.btn>.btn-over-txt {}

.about__contact--cta>.btn>a {}

.about__contact--cta>.btn>a:focus,
.about__contact--cta>.btn>a:hover {
	border-color: #ffc400;
	background: linear-gradient(to bottom, #ffc400, #fe7c49);
	color: #fff;
	font-feature-settings: 'palt';
}

.about__contact--notes {
	text-align: center;
	margin: 24px 0 0;
}

@media screen and (max-width: 767px) {
	.about__contact--cta {
		flex-wrap: wrap;
	}

	.about__contact--cta .btn {
		margin: 0;
	}

	.about__contact--cta *+.btn {
		margin-top: 24px;
	}
}

.about__plan {
	background: var(--site-c-main);
	color: #fff;
}

.about__plan .about__txt {
	font-size: 20px;
	line-height: 1.75;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.about__plan .about__txt {
		font-size: 14px;
	}
}

.about__plan--item {
	border-radius: 32px;
	border: none;
	background: #fff;
	color: #000;
	margin: 0;
	padding: 32px 32px;
}

*+.about__plan--item {
	margin-top: 32px;
}

@media screen and (max-width: 767px) {
	.about__plan--item {
		border-radius: 12px;
		background: #fff;
		padding: 24px 24px;
	}

	*+.about__plan--item {
		margin-top: 24px;
	}
}


.about__plan--ttl {
	color: var(--site-c-main);
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	margin: 0 0 24px;
}

@media screen and (max-width: 767px) {
	.about__plan--ttl {
		font-size: 20px;
		margin: 0 0 20px;
	}
}

.about__plan--txt {}

.about__plan--benefit {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-content: flex-start;
	align-items: flex-start;
}

*+.about__plan--benefit {
	margin-top: 16px;
}

.about__plan--benefit>dt {
	border-radius: 2em;
	border: none;
	background: #ff8600;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.05ex;
	text-align: center;
	width: 220px;
	margin: 0;
	padding: 11px 2em;
}

.about__plan--benefit>dd {
	width: calc(100% - 220px);
	padding: 11px 0 11px 2em;
}

@media screen and (max-width: 767px) {
	.about__plan--benefit {
		flex-wrap: wrap;
	}

	.about__plan--benefit>dt {}

	.about__plan--benefit>dd {
		font-size: 14px;
		padding: 11px 0 0;
		width: 100%;
	}
}


.about__plan .tableset {}

*+.about__plan .tableset {
	margin-top: 24px;
}

@media (min-width: 768px) {
	.about__plan .tableset {
		border: 1px solid #D6D6D6;
		border-radius: 0;
		margin: 0;
		padding: 20px;
	}

	*+.about__plan .tableset {
		margin-top: 24px;
	}
}

.about__plan .tableset__list {
	width: 100%;
	display: table;
	text-align: left;
}

.about__plan .tableset__list:first-child {
	margin-top: 20px;
}

.about__plan .tableset__list:last-child {
	margin-bottom: 20px;
}

.about__plan .tableset__ttl {
	display: table-cell;
	font-size: 20px;
	font-weight: 700;
	vertical-align: middle;
	width: 220px;
	padding: 20px;
}

.about__plan .tableset__txt {
	display: table-cell;
	font-size: 24px;
	font-weight: 700;
	padding: 20px;
}

.about__plan .tableset__txt del {
	color: rgba(0, 0, 0, 0.56);
	font-size: 0.66em;
	font-weight: 500;
}

@media only screen and (max-width: 959px) {
	.about__plan .tableset__ttl {
		width: 210px;
	}
}

@media screen and (max-width: 767px) {

	.about__plan .tableset__ttl,
	.about__plan .tableset__txt {
		display: block;
		text-align: center;
		width: 100%;
		padding: 0 0 20px;
	}

	.about__plan .tableset__ttl {
		padding: 0 0 12px;
	}
}

.about__plan--notes {}

*+.about__plan--notes {
	margin-top: 16px;
}


.solve {}

.solve__items {}

.solve__item {
	width: 100%;
	margin-bottom: 40px;
}

.solve__item:last-child {
	margin-bottom: 0
}

.solve__item:has(img[src*="about2_item"]),
.solve__item:has(img[src*="solve__item"]) {
	text-align: center;
}

.solve__item [src*="about2_item"],
.solve__item [src*="solve__item"] {
	display: inline-block;
	max-width: 280px;
}

.solve__item:last-child {
	margin-bottom: 0
}

.solve__img {
	width: calc((100% - 80px)/2);
}

.solve__img img {
	width: 100%;
	height: 300px;
	border-radius: 5px;
	object-fit: cover;
	font-family: "object-fit: cover;";
}

.solve__arrow,
.solve_arrow {
	max-width: 88px;
	margin-left: auto;
	margin-right: auto;
}

.solve__arrow img,
.solve_arrow img {
	display: inline-block;
	max-width: 280px;
}

.solve__arrow+.solve__txt,
.solve__arrow+.solve_txt,
.solve_arrow+.solve__txt,
.solve_arrow+.solve_txt {
	font-weight: bold;
	text-align: center;
	margin-top: 24px;
}

.even .solve__desc {
	order: 1;
}

.solve__desc {
	width: calc((100% - 80px)/2);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.solve__num {
	color: var(--site-c-main);
}

.solve__ttl {
	margin-bottom: 20px;
	font-size: 24px;
	font-weight: 700;
}

.solve__txt {
	text-align: left;
}

@media screen and (max-width: 959px) {

	.solve__desc,
	.solve__img {
		width: calc((100% - 20px)/2);
	}
}

@media only screen and (max-width: 767px) {
	.solve__item {
		margin-bottom: 35px;
	}

	.solve__desc,
	.solve__img {
		width: 100%;
	}

	.solve__desc {
		margin-top: 10px;
		order: 1;
	}

	.solve__ttl {
		font-size: 20px;
	}

	.solve__img img {
		height: 220px;
	}
}


/**
 * module flow
**/
.flow {
	background: var(--site-c-lightgray);
}

@media screen and (max-width: 767px) {
	.flow {}
}

.flow__list {
	counter-reset: flow-item-number;
}

.flow__item {
	box-shadow: none;
	border-radius: 40px;
	background: #fff;
	border: 1px solid #fff;
	width: calc((100% / 4) - 20px);
	padding: 40px 20px;
	position: relative;
}

.flow__item::before {
	counter-increment: flow-item-number;
	content: '0' counter(flow-item-number);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	align-items: center;
	border-radius: 50%;
	background: var(--site-c-main-hue);
	color: var(--font-c);
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	width: 60px;
	height: 60px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 5;
	transform: translate(33.33%, -33.33%);
}

.flow__img {
	position: relative;
	z-index: 1;
	width: 100%;
}

.flow__img::before {
	content: '';
	display: block;
	padding: 100% 0 0;
	position: relative;
	z-index: 1;
}

.flow__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	font-family: 'object-fit: contain;object-position: center center;';
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 5;
	transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
	.flow__img {
		max-width: 200px;
		margin-left: auto;
		margin-right: auto;
	}
}

.flow__desc {}

.flow__ttl {
	display: block;
	border: none;
	color: var(--site-c-main);
	font-size: 20px;
	font-weight: 700;
	text-align: left;
	width: 100%;
}

.flow__num {
	font-size: 28px;
	padding-right: 4px;
}

.flow__txt {
	font-size: 14px;
	font-weight: 500;
	line-height: 28px;
	text-align: left;
	margin-top: 14px;
}

@media only screen and (max-width: 959px) {
	.flow__item {
		width: calc((100% / 4) - 10px);
		padding: 24px;
	}
}

@media only screen and (max-width: 767px) {
	.swipe .flow__list {
		width: 400%;
		padding: 32px 0 0;
	}
}



/**
 * top guidance
**/

.c-guidance {
	background-image: url("/common/images/bg-guidance.jpg");
	background-position: left 50% top 0%;
	background-size: 100vw auto;
	background-repeat: no-repeat;
	padding: 0 0 40px;
}

@media only screen and (max-width: 1400px) {
	.c-guidance {
		background-position: left 50% top 0%;
		background-size: auto 500px;
	}
}

@media only screen and (max-width: 767px) {
	.c-guidance {
		background-position: left 50% top 0%;
		background-size: auto 500px;
	}
}

.c-guidance>.l-container {
	position: relative;
}

.c-guidance-head {
	display: block;
	padding: 144px 0;
	position: relative;
	z-index: 5;
	overflow: visible;
}

.c-guidance-head__ttl {
	text-align: center;
	position: relative;
	z-index: 5;
}

.c-guidance-head__ttl>span {
	display: block;
	color: #fff;
	font-size: 50px;
	font-weight: 700;
	letter-spacing: 0.05ex;
	position: relative;
	z-index: 10;
}

.c-guidance-head__ttl>small {
	display: block;
	font-size: 19px;
	font-weight: 900;
	letter-spacing: 0.05ex;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	transform: translate(0, 75%);
}

.c-guidance-head__ttl>small img {
	max-width: 300px;
	width: 100%;
	height: auto;
}

@media only screen and (max-width: 767px) {
	.c-guidance-head {
		padding: 96px 0 120px;
	}

	.c-guidance-head__ttl>span {
		font-size: 34px;
	}

	.c-guidance-head__ttl>small {
		font-size: 16px;
		transform: translate(0, 100%);
	}

	.c-guidance-head__ttl>small img {
		max-width: 220px;
	}
}

.c-guidance-bg {}

@media only screen and (max-width: 767px) {
	.c-guidance-bg {}
}

.c-guidance-cta {
	display: block;
}

@media only screen and (max-width: 767px) {
	.c-guidance-cta {
		max-width: 340px;
		margin: 0 auto;
	}
}


.c-guidance--for-co.c-guidance {
	background: var(--site-c-main);
	color: #fff;
	padding: 0;
}

.c-guidance--for-co .c-guidance>.l-container {
	position: relative;
}

.c-guidance--for-co .c-guidance-head {
	display: block;
	padding: 100px 30% 100px 0;
	position: relative;
	z-index: 5;
	overflow: visible;
}

.c-guidance--for-co .c-guidance-head__ttl {
	text-align: left;
	position: relative;
	z-index: 5;
}

.c-guidance--for-co .c-guidance-head__ttl>span {
	display: block;
	font-size: 30px;
	font-weight: 900;
	letter-spacing: 0.05ex;
}

.c-guidance--for-co .c-guidance-head__ttl>small {
	display: block;
	font-size: 19px;
	font-weight: 900;
	letter-spacing: 0.05ex;
	margin-top: 20px;
	position: static;
	transform: translate(0, 0);
}

.c-guidance--for-co .c-guidance-bg {
	width: 60%;
	height: auto;
	position: absolute;
	right: 30%;
	top: 50%;
	z-index: 1;
	transform: translate(50%, -50%);
	pointer-events: none;
}

.c-guidance--for-co a.c-guidance-head:focus+.c-guidance-bg,
.c-guidance--for-co a.c-guidance-head:hover+.c-guidance-bg {
	opacity: 0.75;
}

@media only screen and (max-width: 767px) {
	.c-guidance--for-co .c-guidance-head {
		padding: 70px 30% 110px 0;
	}

	.c-guidance--for-co .c-guidance-bg {
		width: 75%;
		top: auto;
		right: 25%;
		bottom: 0;
		transform: translate(33.33%, 25%);
	}
}



/**
 * ご利用ガイド
**/
.guide__list {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.guide__item {
	width: 100%;
	margin-top: 50px;
	display: flex;
	align-items: flex-start;
}

.guide__item:first-child {
	margin-top: 0
}

.guide__item+.c-head {
	margin-top: 3em;
}

.guide__img {
	padding-right: 40px;
}

.guide__img img {
	width: 160px;
	height: 160px;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	border-radius: 50%;
}

.guide__desc {
	border-left: 1px solid #e7e6e6;
	line-height: 1.8;
	width: 100%;
	padding: 0 0 20px 40px;
}

.guide__desc :not(.btn) a {
	text-decoration: underline;
}

.guide__ttl {
	margin: 20px 0 10px;
	font-size: 24px;
	font-weight: 700;
}

.guide__num {
	color: var(--site-c-main);
	font-size: inherit;
	font-weight: inherit;
	margin-right: 1ex;
}

@media only screen and (max-width: 767px) {
	.guide__item {
		margin: 40px 0;
		flex-wrap: wrap
	}

	.guide__img {
		width: 100%;
		padding: 0;
	}

	.guide__img img {
		margin: 0 auto;
	}

	.guide__desc {
		width: 100%;
		padding: 0;
		border: none;
	}

	.guide__ttl {
		font-size: 18px
	}
}

.guide__memo {
	border-radius: 24px;
	border: 1px solid #e7e6e6;
	padding: 24px;
}

*+.guide__memo {
	margin-top: 2em;
}

.guide__memo>li {
	line-height: 1.5;
}

.guide__memo>li+li {
	margin-top: 0.5em;
}

@media only screen and (max-width: 767px) {
	.guide__memo {}

	.guide__memo>li {}

	.guide__memo>.guide__memo--ttl {
		font-weight: bold;
	}
}

.guide .btn {
	max-width: 440px;
}

.guide .btn-over-txt {
	font-size: 18px;
}

.guide .btn>a:focus,
.guide .btn>a:hover {
	border-color: #ffc400;
	background: linear-gradient(to bottom, #ffc400, #fe7c49);
	color: #fff;
	font-feature-settings: 'palt';
}



/**
 * faq
**/
.faq {}

.faq__btn {
	margin-bottom: 50px;
}

.faq__btn>a {
	height: 50px;
}

.faq__btn>a:hover {
	background-color: var(--site-c-main);
	color: #fff;
}

.faq__area {
	margin-bottom: 80px
}

.faq__anchor {
	margin-bottom: 50px;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.faq__link {
	margin-right: 30px;
}

.faq__link a {
	width: 100%;
	height: 45px;
	padding: 0 5px;
	color: #a5a5a5;
	font-size: 18px;
	border-bottom: 2px solid;
	display: flex;
	align-items: center;
	justify-content: center;
}

.faq__link a:hover,
.faq__link a.is-current {
	color: var(--site-c-main);
}

@media only screen and (max-width: 767px) {
	.faq__link {
		width: 32.333333%;
		margin-right: 1.5%;
	}

	.faq__link:nth-child(3n) {
		margin-right: 0
	}

	.faq__link a {
		font-size: 12px;
	}
}

.listAccordion {
	margin: 0 auto
}

.listAccordion label {
	margin-top: 20px;
	padding: 24px 5px 24px 75px;
	font-weight: 700;
	background: #fff;
	border: 1px solid #D6D6D6;
	border-radius: 5px;
	display: block;
	cursor: pointer;
	position: relative
}

.listAccordion label:first-child {
	margin-top: 0
}

.listAccordion label:hover {
	background: #fafafa
}






.listAccordion [type="checkbox"].on-off {
	display: none
}

.listAccordion .listTips {
	margin: 0;
	padding: 0;
	color: #535d64;
	background: #fff;
	position: relative
}

.listAccordion [type="checkbox"].on-off+.listTips {
	height: 0;
	overflow: hidden
}

.listAccordion [type="checkbox"].on-off:checked+.listTips {
	height: auto;
	margin-top: 10px;
	padding: 24px 15px 24px 105px;
	border: 1px solid #D6D6D6;
	border-radius: 5px;
}

.listAccordion .listTips a {
	text-decoration: underline;
}

/*開閉アイコン */
.listAccordion label:before {
	content: "";
	width: 20px;
	height: 2px;
	background: #999;
	position: absolute;
	right: 30px;
	top: 50%;
	margin-top: -1px;
	transition: 0.3s;
}

.listAccordion label:after {
	content: "";
	width: 20px;
	height: 2px;
	background: #999;
	position: absolute;
	right: 30px;
	top: 50%;
	margin-top: -1px;
	transition: 0.3s;
	transform-origin: center center;
	transform: rotate(90deg);
}

.listAccordion .label_open:after {
	transform: rotate(0deg);
}

.listAccordion .label_open:before {
	opacity: 0;
}

@media only screen and (max-width: 768px) {
	.listAccordion label:before {
		right: 15px;
	}

	.listAccordion label:after {
		right: 15px;
	}
}

.listAccordion label .iconq,
.listAccordion [type="checkbox"].on-off:checked+.listTips .icona {
	position: absolute;
	left: 20px;
	top: 15px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	font-size: 20px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center
}

.listAccordion [type="checkbox"].on-off:checked+.listTips .icona {
	left: 50px;
}

@media only screen and (max-width: 568px) {

	.listAccordion label .iconq,
	.listAccordion [type="checkbox"].on-off:checked+.listTips .icona {
		left: 5px
	}

	.listAccordion label,
	.listAccordion [type="checkbox"].on-off:checked+.listTips {
		padding-left: 50px;
		padding-right: 50px;
	}
}

@media screen and (min-width: 768px) {
	.terms__article {
		background: #fff;
		padding: 40px 40px 0;
		border: 1px solid #D6D6D6;
		border-radius: 5px
	}
}

.terms__article {
	width: 100%
}

.terms__ttl {
	font-size: 24px;
	font-weight: 700
}

.terms__item {
	margin-bottom: 40px
}

.terms__txt {
	margin-top: 10px
}

@media screen and (max-width: 767px) {
	.terms__ttl {
		font-size: 18px
	}
}

@media screen and (min-width: 768px) {
	.policy__article {
		background: #fff;
		padding: 40px 40px 0;
		border: 1px solid #D6D6D6;
		border-radius: 5px
	}
}

.policy__article {
	width: 100%
}

.policy__ttl {
	font-size: 24px;
	font-weight: 700
}

#policyc-head .c-head__txt {
	text-align: left;
}

.policy__item {
	margin-bottom: 40px
}

.policy__txt {
	margin-top: 10px
}

ol.num_list {
	list-style-type: decimal;
	padding-left: 2rem;
}

ol.num_list li {
	margin-top: 5px;
}

ol.num_list_brakets {
	padding-left: 2.5rem;
}

ol.num_list_brakets li {
	position: relative;
}

ol.num_list_brakets li::before {
	position: absolute;
	right: calc(100% + 0.5rem);
	/* 0.5remは連番とテキストとの余白 */
	content: "(" counter(list-item) ")";
}

.num__txt {
	padding-left: 2rem;
}

.num__txt span {
	margin-left: -2rem;
}

@media screen and (max-width: 767px) {
	.policy__ttl {
		font-size: 18px
	}
}

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

.breadcrumb mark,
.outline-head mark,
.outline-eval mark {
	background-color: inherit !important;
	color: inherit !important;
}

.thumbnail {
	width: auto !important;
	height: auto !important;
	max-width: 150px;
	object-fit: cover;
}

.banner_item {
	height: 150px !important;
	margin: 10px;
}

.banner_item img {
	height: 100%;
}

.kiyaku_link {
	color: var(--site-c-main);
	text-decoration: underline;
}

.kiyaku_link:hover {
	text-decoration: none;
	color: inherit;
}

.kiyaku_link_box {
	width: 100%;
}

/**
ログインと登録の時にフッターのロゴを消す
 */
.login1 footer::before,
.login2 footer::before,
.register1 footer::before,
.register2 footer::before {
	background-image: none;
	width: 0;
	height: 0;
}

/**
 * m_message2のテーブルデザイン
 */
.message-list {
	background-color: #fff;
	padding: 0;
}

.dashboard {
	overflow-x: scroll;
	/* background: var(--site-c-lightgray); */
	/* background: rgba(233, 238, 239, 0.5); */
	padding: 40px 20px;
}

.dashboard a {
	color: var(--site-c-main);
	text-decoration: underline;
}

.dashboard .table {
	box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
	border-collapse: collapse;
	border-radius: 5px;
	border: 1px solid #D6D6D6;
	background: #fff;
	/* white-space: nowrap; */
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.dashboard .table th {
	border: #dcdcdc 1px solid;
	border-bottom-width: 2px;
	background-color: #f3f3f3;
	vertical-align: middle;
	line-height: 1.42857143;
	padding: 8px;
	white-space: nowrap;
}

.dashboard .table td {
	border: #dcdcdc 1px solid;
	line-height: 1.42857143;
	padding: 8px;
}


.td--title {}

.td--title .td__inner-item {
	min-width: 12em;
}

.td--ID {
	white-space: nowrap;
}

.td--date {
	white-space: nowrap;
	position: relative;
}

.td--date .item__badge,
.td--msg .item__badge {
	top: 5px;
	right: 5px;
}

.td--status {
	text-align: center;
	white-space: nowrap;
}

.td--msg {
	text-align: center;
	white-space: nowrap;
	position: relative;
}

.td--name {
	white-space: nowrap;
}

.td--link {
	text-align: center;
	white-space: nowrap;
}

.td--notes {}

.td--notes .td__inner-item {
	min-width: 12em;
}


.dashboard .table [type="text"],
.dashboard .table textarea {
	border-radius: 5px;
	border: 1px solid #ddd;
	background: #fff;
	font-size: inherit;
	max-width: 320px;
	width: 100%;
	padding: 5px;
}


.edit {
	border-bottom: none;
}

.edit .formset .clear_btn {
	border-radius: 2em;
	border: none;
	background: var(--site-c-lightgray);
	font-weight: 500;
	letter-spacing: 0.05ex;
	text-align: center;
	width: 145px;
	padding: 11px 2em;
	margin-bottom: 20px;
	float: right;
}

.tableset .daisyokusyu {
	display: block;
	font-weight: bold;
	margin: 5px 0;
}

h2.formset-head__ttl {
	margin: 3rem 0;
}

/* 動画ギャラリー */
.youtube-gallery {
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	flex-wrap: wrap;
	align-items: flex-start;
	column-gap: 2rem;
	row-gap: 2rem;
}

.youtube-gallery>div {
	aspect-ratio: 16/9;
}

.youtube-gallery .youtube01 {
	width: auto;
	min-width: 320px;
}

.youtube-gallery .youtube02,
.youtube-gallery .youtube03,
.youtube-gallery .youtube04 {
	width: 320px;
}

.outline__gallery .images {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row;
	padding: 0 2rem;
}

.search__area.search__message {
	margin-top: 1rem;
	font-size: 1.4rem;
	padding: 1.5rem 2rem;
}

.search__area.search__message ul {
	margin-top: .5rem;
}

.search__area.search__message input[type=checkbox] {
	width: 1em;
	height: auto;
}

.outline.prof-info {
	margin-top: 0;
}

.btn_entry>a {
	background-color: var(--site-c-main);
	border-radius: 15px;
	text-decoration: none;
	display: block;
	margin-top: 5px;
	color: #fff;
	text-align: center;
	padding: .3em;
	font-size: 1.45rem;
}

@media screen and (max-width: 767px) {}
