@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* ------------------------------------------------
  reset
------------------------------------------------ */
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strong, sub, var, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

sup {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 60%;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
caption, th{
	text-align:left;
	font-weight: 500;
}

h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:500;
}
area {
	border:none;
	outline:none;
}

blockquote::before, blockquote::after,
q::before, q::after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset, img{
	border:0;
	vertical-align:bottom;
}


/* ------------------------------------------------
  common
------------------------------------------------ */

html {
	font-size: 62.5%;
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

html,body {
	height: 100%;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 30px;
}
html.lock {
	overflow: hidden;
}
@media screen and (max-width: 1600px) {
	html {
		font-size: 0.620834vw;
	}
}
@media screen and (max-width: 1280px) {
	html {
		font-size: 50%;
	}
}
@media screen and (max-width: 767px) {
	html {
		font-size: 2.666666666666667vw;
	}
	html.lock body {
		overflow: hidden;
	}
}

body {
	color: #000;
	font-size: 1.6rem;
	font-size: 16px;
	font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.4;
	letter-spacing: 0.1em;
	font-weight: 400;
	background-color: #FFF;
	-webkit-text-size-adjust: 100%;
	font-feature-settings : "palt";
}

h1,h2,h3,h4 {
	color: #303030;
}

#wrapper {
	width: 100%;
	min-width: 1280px;
	background-color: #f7f8fa;
/* 	overflow: hidden; */
	position: relative;
	display: flex;
}
#wrapper_inner {
	width: 160rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 auto;
}
.inner {
	max-width: 100rem;
	margin: 0 auto;
	/* padding-left: 10px;
	padding-right: 10px; */
	
	position: relative;
	z-index: 1;
}
.top .inner {
	max-width: 114rem;
}
@media screen and (max-width: 767px) {
	body {
		font-size: 1.3rem;
	}
	#wrapper {
		min-width: 375px;
	}
	#wrapper_inner {
		width: 100%;
		display: block;
	}
	.inner,
	.top .inner {
		width: auto;
		padding-left: 1.75rem;
		padding-right: 1.75rem;
	}
	img {
		width: 100%;
		height: auto
	}
}





a {
	color: inherit;
	outline: none;
	text-decoration:none;
}
a:active,
a:focus {
	text-decoration: underline;
}
a:focus {
/* 	outline: solid 2px #f49c24; */
	outline: none;
	text-decoration:none;
}


a:hover,
a:hover span {
	text-decoration: none;
	outline: none;
}

img.liquid {
	width: 100%;
	height: auto;
}

a.underline {
	text-decoration: underline;
}
a.underline:hover {
	opacity: 0.7;
}



.fwn {
	font-weight: normal !important;
}



@media screen and (min-width: 767px) {
	.fade {
		opacity: 1;
		transition: opacity 0.3s ease;
	}
	.fade:hover {
		opacity: 0.5;
	}

	.push {
		transform: scale(1);
		transition: transform 0.1s ease;
	}
	.push:hover {
		transform: scale(0.98);
	}

	.brightness {
		transition: filter 0.2s ease;
	}
	.brightness:hover {
		filter: brightness(110%);
	}
}

.none_kerning {
	font-size: 96%;
	font-feature-settings: normal;
}
.cf::before,
.cf::after,
.clearfix::after {
	content: " ";
	display: table;
}
.cf::after,
.clearfix::after {
	clear: both;
}
.cb {
	clear: both;
}


/* ------------------------------------------------
  サブヘッダー
------------------------------------------------ */
#sub_header {
	display: none;
}
@media screen and (max-width: 767px) {
	#sub_header {
		display: block;
		max-width: 128rem;
		width: 100%;
		margin: 0 auto 2rem;
		background-color: #fff;
		border-bottom: 0.2rem solid #303030;
	}
	#sub_header .inner {
		max-width: 124rem;
		width: auto;
		padding: 0.7rem 1.8rem;
	}
	#sub_header .inner ul {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#sub_header .inner ul li + li {
		margin-left: 2.5rem;
	}
	#sub_header .inner .logo {
		width: 10.7rem;
	}
	#sub_header .inner .bnr1 {
		width: 10.55rem;
	}
	#sub_header .inner .bnr2 {
		width: 7.4rem;
	}
}

/* ------------------------------------------------
  ヘッダー
------------------------------------------------ */
#header {
	/* width: 280px; */
	/* width: 32rem; */
	width: 20%;
	position: relative;
	height: 100vh;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1500;
	pointer-events: none;
	order: 1;
}
#header .inner {
	/* position: absolute; */
	position: fixed;
	top: 0;
	/* right: 0; */
	width: 31.4rem;
	height: 100vh;
	padding: 1.8rem;
	background-color: #f7f8fa;
	pointer-events: auto;
}

@media screen and (max-height: 900px) {
	#header .inner {
		overflow-y: scroll;
		scrollbar-width: none;
	}
}

#header .site_logo {
	width: 22.2rem;
	margin: 0 auto 3.3rem;
}

#header .frame {
	background-color: #FFF;
	border: 0.4rem solid #303030;
	border-radius: 2rem;
	padding: 3rem 2.1rem;
	overflow: hidden;
}
#header .frame ul > li + li {
	margin-top: 2.2rem;
}
#header .frame ul > li a {
	font-size: 1.5rem;
	font-size: 15px;
	font-weight: 600;
	display: block;
}
#header .frame .btn {
	margin-top: 3.5rem;
	margin-bottom: -1rem;
}
#header .frame .btn a {
	font-size: 1.4rem;
	font-size: 14px;
	font-weight: 600;
	color: #FFF;
	display: block;
	padding: 2.6rem 2rem;
	background-color: #e54a67;
	border-radius: 0.8rem;
	overflow: hidden;
	position: relative;
	padding-right: 3.6rem;
}
#header .frame .btn a::after {
	content: "";
	display: block;
	width: 3.6rem;
	height: 100%;
	background-color: #d92f4f;
	background-image: url(/assets/images/common/arrow_white.svg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 1.6rem;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 10;
}

#header .bnr {
	background-color: #fff;
	padding: 2.5rem;
	margin-top: 4rem;
}
#header .bnr li + li {
	margin-top: 1rem;
}
#header .bnr a {
	display: block;
}

@media screen and (max-width: 767px) {
	#header {
		display: block;
		width: auto;
		z-index: 2600;
		transition: right 0.2s ease;
	}
	#header .inner {

	}

	#btn_menu {
		display: block;
		position: fixed;
		bottom: 10px;
		right: 14px;
		z-index: 2900;
	}
	#btn_menu a {
		display: block;
		width: 57px;
		height: 57px;
		background-image: url(/assets/images/common/menu.svg);
		background-repeat: no-repeat;
		background-size: contain;
	}
	#btn_menu a.open {
		background-image: url(/assets/images/common/menu_cl.svg);
	}

	#header.open {
		right: 0;
	}
}
@media screen and (max-width: 767px) {
	#header {
		position: fixed;
		top: 0;
		width: 100%;
		height: 100vh;
		right: -100%;
		left: auto;
		z-index: 2100;
	}
	#header .inner {
		position: static;
		width: 100%;
		padding: 1.8rem;
		padding-top: 6rem;
		padding-left: 8rem;
		padding-bottom: 8rem;
		overflow-y: scroll;
	}

	#header .site_logo {
		display: none;
	}

	#header .frame {
		background-color: transparent;
		border: none;
		padding: 0;
		border-radius: 0;
	}
	#header .frame ul > li + li {
		margin-top: 2.8rem;
	}
	#header .frame ul > li a {
		font-size: 2rem;
	}
	#header .frame .btn {
		display: none;
	}

	#header .bnr {
		display: none;
	}

	#btn_menu a {
		width: 4.7rem;
		height: 4.7rem;
	}
}


/* ----------------------------
NEWS
---------------------------- */
#news {
	margin-bottom: 8rem;
}
#news .inner {
	display: flex;
	align-items: flex-start;
	padding: 0;
	border-radius: 1.6rem;
}
#news .inner h2 {
	font-size: 3.8rem;
	font-size: 38px;
	font-weight: 800;
	line-height: 1;
	width: 26rem;
	padding-left: 0.5rem;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
#news .inner h2::before {
	content: "";
	display: block;
	width: 4.6rem;
	height: 5.1rem;
	background-image: url(/assets/images/common/ico_steps2.svg);
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 2rem;
}
#news .inner h2 > span {
	display: block;
	padding-bottom: 1.3rem;
}

#news .inner h2 span.jp {
	font-size: 1.2rem;
	font-weight: 500;
	display: block;
	margin-top: 1.2rem;
}
#news .inner .body {
	position: relative;
	flex: 1;
}

#news .inner .body ul {
	width: 100%;
	border-top: 0.1rem solid #e7eaee;
}
#news .inner .body li {
	display: flex;
	padding: 20px 0;
	border-bottom: 0.1rem solid #e7eaee;
}
#news .inner .body li .date {
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: 600;
	width: 17.5rem;
}
#news .inner .body li .cont {
	font-size: 1.6rem;
	font-size: 16px;
	line-height: 1.6;
	flex: 1;
}
#news .inner .body li .cont a {
	/* color: #3592c1; */
	text-decoration: underline;
}

.news_body {
	line-height: 1.8;
	padding-bottom: 8rem;
}
.news_body a {
	color: #3592c1;
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	#news {
		margin-bottom: 5rem;
	}
	#news .inner {
		display: block;
		align-items: flex-start;
		padding: 0 1.75rem;
		border-radius: 1.6rem;
	}
	#news .inner h2 {
		font-size: 2.7rem;
		width: auto;
		padding-left: 0;
		margin-bottom: 2.5rem;
	}
	#news .inner h2::before {
		width: 4.15rem;
		height: 4.55rem;
		margin-right: 1.5rem;
		margin-top: 0.4rem;
	}
	#news .inner h2 > span {
		display: block;
		padding-bottom: 0;
	}

	#news .inner h2 span.jp {
		font-size: 0.9rem;
		margin-top: 0.9rem;
	}

	#news .inner .body ul {
		width: 100%;
		border-top: 0.05rem solid #e7eaee;
	}
	#news .inner .body li {
		display: block;
		padding: 1rem 0;
		border-bottom: 0.05rem solid #e7eaee;
	}
	#news .inner .body li .date {
		font-size: 1rem;
		width: auto;
		margin-bottom: 0.5rem;
	}
	#news .inner .body li .cont {
		font-size: 1.3rem;
	}
}


/* ------------------------------------------------
  コンテンツ
------------------------------------------------ */
#contents {
	overflow: hidden;
	/* max-width: 128rem; */
	width: 80%;
	background-color: #FFF;
	margin: 0 auto;
	/* padding-left: 10px; */
	/* padding-right: 10px; */
	position: relative;
	z-index: 2000;
	flex: 1;
}
#contents:not(.top) {
	padding-top: 4rem;
}

#contents::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -1rem;
	z-index: -1;
	width: 37.5rem;
	height: 37.2rem;
	background-image: url(/assets/images/common/top_decoration.png);
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
}

@media screen and (max-width: 767px) {
	#contents {
		width: 100%;
		padding: 0;
	}
	#contents:not(.top) {
		padding-top: 0;
	}
	#contents::after {
		width: 18.75rem;
		height: 18.6rem;
	}
}


/* ----------------------------
ベーシックフレーム ＆ タイトル
---------------------------- */
.basic_frame {
	width: auto;
	background-color: #fffaee;
	border: 0.4rem solid #303030;
	border-radius: 2rem;
	padding: 4.2rem;
	padding-bottom: 3.5rem;
	margin: 7.2rem auto 0;
	position: relative;
	text-align: center;
}

.basic_frame h3 {
	display: inline-block;
	padding: 0.1em 3rem 0.25em 2rem;
	font-size: 2.2rem;
	font-size: 22px;
	font-weight: 800;
	/* letter-spacing: 0.18em; */
	letter-spacing: 0.12em;
	border: 0.3rem solid #303030;
	border-radius: 2.5rem/4rem;
	background-color: #fff;
	position: absolute;
	top: -2.5rem;
	left: 3rem;
	z-index: 30;
}
.basic_frame h3::before {
	content: "";
	display: block;
	width: 1.9rem;
	height: 100%;
	background-color: #303030;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -0.1rem;
	z-index: 10;
	border-radius: 2.5rem/5rem;
}
.basic_frame h3.q::after {
	content: "?";
	font-size: 1.7rem;
	font-size: 17px;
	font-weight: 500;
	color: #FFF;
	line-height: 1;
	display: block;
	position: absolute;
	top: 0.9rem;
	bottom: 0;
	right: 0;
	z-index: 20;
	transform: skew(0, -20deg) scaleX(0.8);
}
.basic_frame h3 span {
	font-size: 76.19%;
}
.basic_frame .txt strong {
	color: #e54a67;
	font-weight: 600;
}
@media screen and (max-width: 767px) {
	.basic_frame {
		border: 0.2rem solid #303030;
		border-radius: 1.1rem;
		padding: 3.3rem 2.2rem;
		padding-bottom: 3.5rem;
		margin: 7.2rem auto 0;
		position: relative;
		text-align: center;
	}

	.basic_frame h3 {
		padding: 0.6rem 1.2rem;
		font-size: 1.7rem;
		border: 0.2rem solid #303030;
		border-radius: 5rem;
		top: -2.3rem;
		left: 1.1rem;
		text-align: left;
		margin-right: 1.1rem;
	}
	.basic_frame h3.sp_lines {
		border-radius: 1.8rem;
	}
	.basic_frame h3::before {
		display: none;
	}
	.basic_frame h3.q::after {
		content: "?";
		font-size: inherit;
		font-weight: inherit;
		color: inherit;
		display: inline;
		position: static;
		transform: none;
	}
	.basic_frame h3 span {
		font-size: 76.19%;
	}
}


/* ----------------------------
ベーシック 連番
---------------------------- */
ol.basic_list {
	text-align: left;
	display: inline-block;
	counter-reset: count 0;
}
ol.basic_list > li {
	font-size: 1.8rem;
	font-size: 18px;
	display: flex;
	align-items: flex-start;
}
ol.basic_list > li em {
	font-style: normal;
	color: #e54a67;
}
ol.basic_list > li + li {
	margin-top: 2rem;
}
ol.basic_list > li::before {
	content: counter(count)".";
	counter-increment: count 1;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 2.2rem;
	font-size: 22px;
	font-weight: bold;
	color: #e54a67;
	letter-spacing: 0;
	line-height: 1;
	/* padding-top: 0.3rem; */
	padding-top: 0.1rem;
	margin-right: 1em;
}
ol.basic_list > li a {
	font-weight: 500;
	color: #3592c1;
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	ol.basic_list > li {
		font-size: 1.5rem;
	}
	ol.basic_list > li + li {
		margin-top: 2.2rem;
	}
	ol.basic_list > li::before {
		font-size: 2rem;
		margin-right: 1.1rem;
	}
}


/* ----------------------------
下層ページタイトル
---------------------------- */
#contents .page_ttl {
	text-align: center;
	margin-top: -1rem;
	margin-bottom: 7rem;
}
#contents .page_ttl h1 em {
	display: block;
	font-size: 6rem;
	font-size: 60px;
	font-style: normal;
	font-weight: 900;
	letter-spacing: 0.15em;
	text-align: center;
	overflow: hidden;
}
#contents .page_ttl h1 span {
	display: inline-block;
	padding: 0.05em 2.3rem 0.2em 1rem;
	margin-bottom: 0.7rem;
	font-size: 2.2rem;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0.18em;
	border: 0.3rem solid #303030;
	border-radius: 2.5rem/4rem;
	background-color: #fff;
	position: relative;
	flex: 1;
}
#contents .page_ttl h1 span::after {
	content: "";
	display: block;
	width: 1.9rem;
	height: 100%;
	background-color: #303030;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -0.1rem;
	z-index: 10;
	border-radius: 2.5rem/5rem;
}
@media screen and (max-width: 767px) {
	#contents .page_ttl {
		margin-top: -0.5rem;
		margin-bottom: 3.5rem;
	}
	#contents .page_ttl h1 em {
		font-size: 3rem;
	}
	#contents .page_ttl h1 span {
		padding: 0.03em 1.2rem 0.1em 0.5rem;
		margin-bottom: 0.4rem;
		font-size: 1.1rem;
		border: 0.2rem solid #303030;
		border-radius: 2.5rem/4rem;
	}
	#contents .page_ttl h1 span::after {
		width: 0.95rem;
		right: -0.05rem;
		border-radius: 1.3rem/2.5rem;
	}
}


/* ----------------------------
タイトル装飾1
---------------------------- */
#contents .decoration2 {
	font-size: 2.4rem;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: 0.18em;
	text-align: center;
	position: relative;
	display: flex;
	/* justify-content: center; */
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 3.5rem;
	width: 100%;
}
#contents .decoration2 span {
	display: inline-block;
	text-align: left;
	padding-bottom: 0.4rem;
	flex: 1;
}
#contents .decoration2 span.big {
	font-size: 3.2rem;
	font-size: 32px;
}
#contents .decoration2 span strong {
	color: #e54a67;
}
#contents .decoration2 span span.small {
	font-size: 1.2rem;
	font-size: 12px;
	font-weight: normal;
	margin-left: 1em;
}

#contents .decoration2::before {
	content: "";
	display: block;
	width: 2.6rem;
	height: 2.9rem;
	background-image: url(/assets/images/common/ico_steps1.svg);
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 2.4rem;
}
@media screen and (max-width: 767px) {
	#contents .decoration2 {
		font-size: 1.8rem;
		margin-bottom: 3rem;
	}
	#contents .decoration2 span {
		padding-bottom: 0.4rem;
	}
	#contents .decoration2 span.big {
		font-size: 2.4rem;
	}
	#contents .decoration2 span span.small {
		font-size: 1rem;
		display: block;
		margin-left: 0;
	}

	#contents .decoration2::before {
		margin-right: 1.5rem;
	}
}


/* ----------------------------
タイトル装飾2
---------------------------- */
#contents .decoration1 {
	font-size: 4.2rem;
	font-size: 42px;
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: 0.18em;
	text-align: center;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 5rem;
	width: 100%;
}
#contents .decoration1 span {
	display: inline-block;
	text-align: left;
	padding-bottom: 0.4rem;
	/* flex: 1; */
	/* background-color: #f00; */
}
#contents .decoration1 span.f {
	flex: 1;
}
#contents .decoration1::before {
	content: "";
	display: block;
	width: 4.7rem;
	height: 5.2rem;
	background-image: url(/assets/images/common/ico_steps2.svg);
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 3rem;
}
@media screen and (max-width: 767px) {
	#contents .decoration1 {
		font-size: 2.7rem;
		margin-bottom: 2.5rem;
	}
	#contents .decoration1 span {
		padding-bottom: 0.2rem;
	}
	#contents .decoration1::before {
		width: 2.35rem;
		height: 2.6rem;
		margin-right: 1.5rem;
	}
}


/* ----------------------------
タイトル装飾3
---------------------------- */
#contents .decoration3 {
	font-size: 2rem;
	font-size: 20px;
	font-weight: bold;
	position: relative;
	padding-left: 1.1em;
	margin-bottom: 25px;
}
#contents .decoration3::before,
#contents .decoration3::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	border-radius: 50px;
}
#contents .decoration3::before {
	width: 19px;
	height: 19px;
	border: 1px solid #303030;
}
#contents .decoration3::after {
	left: 4px;
	width: 11px;
	height: 11px;
	background-color: #303030;
}
@media screen and (max-width: 767px) {
	#contents .decoration3 {
		font-size: 1.6rem;
		padding-left: 1.1em;
		margin-bottom: 15px;
	}
	#contents .decoration3::before,
	#contents .decoration3::after {
		content: "";
		display: block;
		position: absolute;
		top: 0.2em;
		bottom: auto;
		left: 0;
		margin: auto;
		border-radius: 50px;
		font-size: inherit;
	}
	#contents .decoration3::before {
		width: 15px;
		height: 15px;
	}
	#contents .decoration3::after {
		top: 0.4em;
		left: 3px;
		width: 9px;
		height: 9px;
	}
}





/* ----------------------------
ボタングループ
---------------------------- */
.btn_group {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.btn_group > .txt {
	font-size: 1.6rem;
	font-size: 16px;
	line-height: 1.6;
}
.btn_group > .txt.big {
	font-size: 1.8rem;
	font-size: 18px;
}
.btn_group > .txt .annotation {
	font-size: 1.2rem;
	font-size: 12px;
	margin-top: 10px;
	line-height: 1.6;
	display: block;
	text-indent: -1.2em;
	padding-left: 1.2em;
}
@media screen and (max-width: 767px) {
	.btn_group {
		display: block;
	}
	.btn_group > .txt {
		font-size: 1.5rem;
		line-height: 1.6;
	}
	.btn_group > .txt.big {
		font-size: 1.5rem;
	}
	.btn_group > .txt .annotation {
		font-size: 1rem;
		margin-top: 1rem;
		display: block;
		text-indent: -1.2em;
		padding-left: 1.2em;
	}
}

.basic_btn {
	margin-left: 2.5rem;
	margin-right: 0.7rem;
	position: relative;
}
.basic_btn a.disabled {
	pointer-events: none;
	opacity: 0.5;
}
.basic_btn a {
	display: block;
	will-change: transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.basic_btn a::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border: 0.3rem solid #303030;
	border-radius: 1rem;
	position: absolute;
	top: 0.7rem;
	left: 0.7rem;
	z-index: -1;
	pointer-events: none;
}
.basic_btn a .btn_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width:  31rem;
	padding: 2.2rem;
	border-radius: 1rem;
	border: 0.3rem solid #303030;
	background-color: #FFF;
}

.basic_btn a .btn_inner::after {
	content: "";
	display: block;
	width: 1.7rem;
	height: 1.7rem;
	background-image: url(/assets/images/common/arrow_black.svg);
	background-repeat: no-repeat;
	background-size: contain;
}
.basic_btn .ico {
	width: 5rem;
	font-size: 1.4rem;
	font-size: 14px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	border-radius: 0.4rem;
	background-color: #b50d1c;
	padding: 0.2rem 0;
	margin-right: 0.5rem;
}
.basic_btn .txt {
	font-size: 1.6rem;
	/* font-size: 16px; */
	font-weight: 500;
	flex: 1;
	height: 2.8em;
	padding-right: 1rem;
	margin-left: 1.2rem;
	padding-bottom: 0.2rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.basic_btn .txt .small {
	display: block;
	font-size: 1.4rem;
	font-size: 14px;
	line-height: 1;
	margin-top: 3px;
}
@media screen and (max-width: 767px) {
	.basic_btn {
		margin-top: 2rem;
		margin-left: 0;
		margin-right: 0;
		text-align: center;
	}
	.basic_btn a.disabled {
		pointer-events: none;
		opacity: 0.5;
	}
	.basic_btn a {
		/* display: inline-block; */
	}
	.basic_btn a::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		border: 0.2rem solid #303030;
		border-radius: 0.5rem;
		position: absolute;
		top: 0.35rem;
		left: 0.35rem;
		z-index: -1;
		pointer-events: none;
	}
	.basic_btn a .btn_inner {
		display: flex;
		/* width: 21rem; */
		width: auto;
		padding: 1.1rem;
		border-radius: 0.5rem;
		border: 0.2rem solid #303030;
	}

	.basic_btn a .btn_inner::after {
		width: 1rem;
		height: 1rem;
	}
	.basic_btn .ico {
		width: 2.8rem;
		font-size: 1rem;
		border-radius: 0.2rem;
		padding: 0.1rem 0;
		margin-right: 0.25rem;
	}
	.basic_btn .txt {
		font-size: 1.3rem;
		height: 2.8em;
		text-align: left;
		padding-right: 0.5rem;
		margin-left: 0.75rem;
		padding-bottom: 0.1rem;
	}
	.basic_btn .txt .small {
		font-size: 1.1rem;
		margin-top: 0.2rem;
	}
}


/* ----------------------------
ベーシック表
---------------------------- */
table.basic {
	max-width: 100rem;
	width: 100%;
	margin: 5.5rem auto 0;
	border-radius: 12px;
	border: 0.4rem solid #303030;
	border-collapse: separate;
	overflow: hidden;
}
table.basic thead th {
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: bold;
	color: #FFF;
	padding: 20px 15px;
	background-color: #3592c1;
	border-right: 0.1rem solid #57a2c7;
	text-align: center;
	white-space: nowrap;
}
table.basic thead tr > *:not(:first-child):not(:last-child) {
	border-right: none;
	background-image: url(/assets/images/_v1/common/table_dotted.png);
	background-repeat: repeat-y;
	background-position: 100% 0;
	background-size: 4px;
}

table.basic tbody tr > *:nth-child(1) {
	width: 157px;
}
table.basic tbody tr > *:nth-child(2) {
	width: 133px;
	background-image: url(/assets/images/_v1/common/table_dotted.png);
	background-repeat: repeat-y;
	background-position: 100% 0;
	background-size: 4px;
}
table.basic tbody tr > *:nth-child(4) {
	width: 187px;
}
table.basic tbody tr > td.img {
	font-size: 0;
}
table.basic tbody th,
table.basic tbody td {
	vertical-align: top;
}

table.basic tbody th {
	font-size: 1.8rem;
	font-size: 18px;
	font-weight: bold;
	padding: 23px 15px 20px;
	background-color: #f3f4f6;
	text-align: center;
	border-bottom: 4px solid #e5e5e5;
}
table.basic tbody th span {
	display: block;
	position: relative;
	top: -2px;
}
table.basic tbody td {
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: bold;
	padding: 23px 15px 20px;
	text-align: center;
	border-bottom: 4px solid #e5e5e5;

}
table.basic tbody tr > *:nth-child(3) {
	text-align: left;
}
table.basic tbody tr > *:nth-child(3) .ura {
	display: block;
	transform: scale(1,-1 );
}

table.basic tbody tr > .center {
	text-align: center;
}

table.basic tbody td img {
	vertical-align: top;
	margin: -21px 0;
	display: none;
}

table.basic tbody tr:last-child th,
table.basic tbody tr:last-child td {
	border-bottom: none;
}

/* 受付終了 */
table.basic tbody tr.end th,
table.basic tbody tr.end td {
	color: #bfbfbf;
}
table.basic tbody tr.end td img {
	display: inline-block;
}

table + .annotation,
.scroll + .annotation {
	max-width: 100rem;
	font-size: 1.2rem;
	font-size: 12px;
	margin: 15px auto 0;
	line-height: 1.5;
	text-indent: -1.2em;
	padding-left: 1.2em;
}

@media screen and (max-width: 767px) {
	table.basic {
		width: 100%;
		margin-top: 30px;
		border-radius: 10px;
		border: 0.2rem solid #303030;
	}
	table.basic thead th {
		font-size: 1.2rem;
		padding: 1.3rem 1rem;
	}
	table.basic thead tr > *:not(:first-child):not(:last-child) {
		background-image: url(/assets/images/_v1/common/sp/table_dotted.png);
		background-size: 3px;
	}

	table.basic tbody tr > *:nth-child(1) {
		width: 70px;
	}
	table.basic tbody tr > *:nth-child(2) {
		width: 60px;
		background-image: url(/assets/images/_v1/common/sp/table_dotted.png);
		background-size: 3px;
	}
	table.basic tbody tr > *:nth-child(4) {
		width: 83px;
		padding-left: 0
	}

	table.basic tbody th {
		font-size: 1.4rem;
		padding: 13px 10px 10px;
		border-bottom: 3px solid #e5e5e5;
	}
	table.basic tbody th span {
		display: block;
		position: relative;
		top: -2px;
	}
	table.basic tbody td {
		font-size: 1.3rem;
		font-weight: bold;
		padding: 13px 10px 10px;
		text-align: center;
		border-bottom: 3px solid #e5e5e5;
	}
	table.basic tbody tr > *:nth-child(3) {
		text-align: left;
		padding-left: 2%;
	}

	table.basic tbody td img {
		vertical-align: top;
		margin: -11px 0;
		display: none;
	}

	table.basic tbody tr:last-child th,
	table.basic tbody tr:last-child td {
		border-bottom: none;
	}

	/* 受付終了 */
	table.basic tbody tr.end th,
	table.basic tbody tr.end td {
		color: #bfbfbf;
	}
	table.basic tbody tr.end td img {
		display: inline-block;
	}


	.scroll + .annotation {
		font-size: 1.1rem;
		margin-top: 24px;
		line-height: 1.5;
		text-indent: -1.2em;
		padding-left: 1.2em;
	}

	.scroll {
		margin-right: -5.1471%;
		padding-bottom: 26px;
	}
	.scroll .scroll_inner {
		width: 66rem;
		padding-right: 8.33334%;
		box-sizing: content-box;
	}


	.simplebar-track.simplebar-horizontal {
		background-color: #f1f1f1;
		border-radius: 50px;

		height: 8px;
		margin-right: 6.3333%;
	}
	.simplebar-track.simplebar-horizontal {
		height: 1.3rem;
	}
	.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
		top: 0.4rem;
		height: 0.5rem;
	}
	.simplebar-track.simplebar-horizontal .simplebar-scrollbar::before {
		height: 0.5rem;
		background-color: #303030;
		opacity: 1;
	}
}


/* ----------------------------
#sec_entry
---------------------------- */
#sec_entry.mb {
	margin-bottom: 15rem;
}

#sec_entry .inner {
	width: 100rem;
	margin: 0 auto;
	padding: 3.6rem 0;
	position: relative;
	background-color: #fffaee;
	border: 0.4rem solid #303030;
	border-radius: 1.8rem;
}
#sec_entry .inner::before,
#sec_entry .inner::after {
	content: "";
	display: block;
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	bottom: 0;
	z-index: 20;
}
#sec_entry .inner::before {
	width: 17.1rem;
	height: 25.1rem;
	left: 5rem;
	background-image: url(/assets/images/common/entry_left.png);
}
#sec_entry .inner::after {
	width: 18.1rem;
	height: 26rem;
	right: 5rem;
	background-image: url(/assets/images/common/entry_right.png);
}


#sec_entry .inner .important {
	font-size: 1.8rem;
	font-size: 18px;
	font-weight: bold;
	margin: 0 auto;
	text-align: center;
	position: relative;
	z-index: 15;
}

#sec_entry .inner .important a {
	display: inline-block;
	color: #3592c1;
	text-decoration: underline;
}
.btn_entry {
	margin-top: 3rem;
	text-align: center;
}
.btn_entry a {
	min-width: 40rem;
	display: inline-block;
	background-color: #e54a67;
	border-radius: 0.8rem;
	font-size: 2.2rem;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	color: #FFF;
	padding: 2.6rem 0 2.8rem;
	padding-right: 3.7rem;
	position: relative;
	overflow: hidden;
}
.btn_entry a.disabled {
	pointer-events: none;
	opacity: 0.5;
}
.btn_entry a::after {
	content: "";
	display: block;
	width: 3.7rem;
	height: 100%;
	background-color: #d92f4f;
	background-image: url(/assets/images/common/arrow_white.svg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 16px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 10;
}
@media screen and (max-width: 767px) {
	#sec_entry.mb {
		margin-bottom: 8rem;
	}

	#sec_entry .inner {
		width: auto;
		margin: 0 auto;
		padding: 2.7rem 3.5rem;
		border: 0.2rem solid #303030;
		border-left: none;
		border-right: none;
		border-radius: 0;
	}
	#sec_entry .inner::before,
	#sec_entry .inner::after {
		content: "";
		display: block;
		background-repeat: no-repeat;
		background-size: 100%;
		position: absolute;
		bottom: 0;
		z-index: 20;
	}
	#sec_entry .inner::before {
		width: 7.5rem;
		height: 12.1rem;
		top: -1.6rem;
		bottom: auto;
		left: 2.7rem;
		background-image: url(/assets/images/common/entry_left.png);
	}
	#sec_entry .inner::after {
		display: none;
	}


	#sec_entry .inner .important {
		font-size: 1.3rem;
		padding-left: 7.5rem;
		text-align: left;
	}

	#sec_entry .inner .important a {
		display: inline-block;
		color: #3592c1;
		text-decoration: underline;
	}
	.btn_entry {
		margin-top: 3rem;
		text-align: center;
		position: relative;
		z-index: 30;
	}
	.btn_entry a {
		display: block;
		min-width: 30.5rem;
		border-radius: 0.7rem;
		font-size: 1.7rem;
		padding: 2rem 0 2.3rem;
		padding-right: 3.7rem;
	}
	.btn_entry a::after {
		width: 3.3rem;
		background-size: 1.3rem;
	}
}



/* ----------------------------
#sec_contact
---------------------------- */
#sec_contact {
	position: relative;
}
#sec_contact .inner {
	position: relative;
}
#sec_contact .inner > .group {
	padding: 13rem 7rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#sec_contact .inner > .group h2 {
	font-size: 3.2rem;
	font-size: 32px;
	font-weight: bold;
}
#sec_contact .inner > .group .body {
	width: 38rem;
}
#sec_contact .inner > .group .body .secretariat {
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
	padding: 1rem;
	text-align: center;
	position: relative;
}
#sec_contact .inner > .group .body .secretariat::before,
#sec_contact .inner > .group .body .secretariat::after {
	content: "";
	display: block;
	width: 1.2rem;
	height: 100%;
	background-image: url(/assets/images/common/contact_frame.svg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	position: absolute;
	top: 0;
	bottom: 0;

}
#sec_contact .inner > .group .body .secretariat::before {
	left: 0;
}
#sec_contact .inner > .group .body .secretariat::after {
	right: 0;
	transform: scaleX(-1);
}

#sec_contact .inner > .group .body .tel {
	text-align: center;
	padding: 3rem 0;
	border-bottom: 0.1rem solid #666666;
}
#sec_contact .inner > .group .body .tel a {
	font-size: 3.5rem;
	font-size: 35px;
	font-weight: 600;
	letter-spacing: 0.06em;
	display: block;
	pointer-events: none;
}
#sec_contact .inner > .group .body .tel a::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 2.8rem;
	height: 2.8rem;
	background-image: url(/assets/images/common/ico_telephone.png);
	background-repeat: no-repeat;
	background-size: contain;
	margin-top: -0.15em;
	margin-right: 0.13em;
}
#sec_contact .inner > .group .body .time {
	font-size: 1.4rem;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	margin-top: 1rem;

	font-family: "游ゴシック", "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-feature-settings: "palt";
}
#sec_contact .inner > .group .body .time .annotation {
	font-size: 1rem;
	font-size: 10px;
	letter-spacing: 0.03em;
}

#sec_contact .inner > .group .body .address {
	font-size: 1.2rem;
	font-size: 12px;
	line-height: 1.7;
	padding-top: 1.2rem;
}

#bottom_decoration {
	position: absolute;
	bottom: -6.5rem;
	left: -1rem;
	width: 75.8rem;
	height: 91.5rem;
	background-image: url(/assets/images/common/bottom_decoration.png);
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
}

@media screen and (max-width: 767px) {
	#sec_contact .inner {

	}
	#sec_contact .inner > .group {
		padding: 7.5rem 0 4rem;
		display: block;
	}

	#sec_contact .inner > .group h2 {
		font-size: 1.8rem;
		text-align: center;
	}
	#sec_contact .inner > .group .body {
		width: auto;
	}
	#sec_contact .inner > .group .body .secretariat {
		font-size: 1.5rem;
		padding: 1rem 1.5rem;
		margin-top: 2rem;
	}
	#sec_contact .inner > .group .body .secretariat::before,
	#sec_contact .inner > .group .body .secretariat::after {
		content: "";
		display: block;
		width: 1.2rem;
		height: 100%;
		background-image: url(/assets/images/common/contact_frame.svg);
		background-repeat: no-repeat;
		background-size: 100% 100%;
		position: absolute;
		top: 0;
		bottom: 0;

	}
	#sec_contact .inner > .group .body .secretariat::before {
		left: 0;
	}
	#sec_contact .inner > .group .body .secretariat::after {
		right: 0;
		transform: scaleX(-1);
	}

	#sec_contact .inner > .group .body .tel {
		text-align: center;
		padding: 1.5rem 0;
		border-bottom: 0.1rem solid #666666;
	}
	#sec_contact .inner > .group .body .tel a {
		font-size: 2.9rem;
		letter-spacing: 0.1em;
	}
	#sec_contact .inner > .group .body .tel a::before {
		width: 2.35rem;
		height: 2.35rem;
		margin-top: -0.15em;
		margin-right: 0.2em;
	}
	#sec_contact .inner > .group .body .time {
		font-size: 1.4rem;
		font-weight: 600;
		text-align: center;
		margin-top: 1rem;

		font-family: "游ゴシック", "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-feature-settings: "palt";
		text-align: center;
	}
	#sec_contact .inner > .group .body .time .annotation {
		font-size: 1rem;
		letter-spacing: 0.03em;
		display: block;
	}

	#sec_contact .inner > .group .body .address {
		font-size: 1rem;
		line-height: 1.7;
		padding-top: 1.2rem;
		text-align: center;
	}
	#sec_contact .inner > .group .body .address span {
		display: inline-block;
		text-align: left;
	}

	#bottom_decoration {
		bottom: -3.25rem;
		left: -20rem;
		width: 37.9rem;
		height: 45.75rem;
	}
}


/* ------------------------------------------------
  フッター
------------------------------------------------ */
#footer {
	max-width: 1280px;
	margin: 0 auto;
	overflow: hidden;
	background-color: #fff;
	border-top: 0.4rem solid #e7eaee;
	position: relative;
	z-index: 2000;
}
#footer .inner {
	padding: 9rem 0 4rem
}
#footer .inner .bnrs {
	width: 613px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 9rem;
}
#footer .inner .bnrs > li {
	width: 31.1583%;
}
#footer .inner .bnrs > li:nth-child(n+4) {
	margin-top: 12px;
}


#footer .inner ul:not(.bnrs) {
	display: flex;
	justify-content: center;
}
#footer .inner ul:not(.bnrs) + ul:not(.bnrs) {
	margin-top: 15px;
}
#footer .inner ul:not(.bnrs) li {
	padding: 0 25px;
	position: relative;
	overflow: hidden;
}
#footer .inner ul:not(.bnrs) li + li {

}
#footer .inner ul:not(.bnrs) li + li::before {
	content: "";
	display: block;
	width: 1px;
	height: 13px;
	background-color: #504b4e;
/* 	margin-top: -0.02em; */
	position: absolute;
	top: 2px;
	left: 0;
	z-index: 10;
}

#footer .inner ul:not(.bnrs) li a {
	display: block;
	font-size: 1rem;
	font-size: 10px;
	color: #000;
}

#footer .inner .core {
	display: flex;
	justify-content: space-between;
}

#footer .inner .core .copy {
	font-size: 1rem;
	font-size: 10px;
	text-align: center;
}
@media screen and (max-width: 767px) {
	#footer {
		margin: 0 auto;
		padding-bottom: 4rem;
		background-color: #f2f4f6;
		border-top: none;
		position: relative;
		z-index: 2000;
	}
	#footer .inner {
		padding: 2.2rem 1.75rem 4rem;
	}
	#footer .inner .bnrs {
		width: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 auto 25px;
	}
	#footer .inner .bnrs > li {
		width: 48.1583%;
	}
	#footer .inner .bnrs > li:nth-child(n+3) {
		margin-top: 8px;
	}


	#footer .inner ul:not(.bnrs) {
		display: flex;
		justify-content: center;
		margin: 0 -1.75rem;
	}
	#footer .inner ul:not(.bnrs) + ul:not(.bnrs) {
		margin-top: 15px;
	}
	#footer .inner ul:not(.bnrs) li {
		padding: 0 0.8rem;
		position: relative;
		overflow: hidden;
	}
	#footer .inner ul:not(.bnrs) li + li {

	}
	#footer .inner ul:not(.bnrs) li + li::before {
		content: "";
		display: block;
		width: 1px;
		height: 13px;
		background-color: #504b4e;
	/* 	margin-top: -0.02em; */
		position: absolute;
		top: 2px;
		left: 0;
		z-index: 10;
	}

	#footer .inner ul:not(.bnrs) li a {
		display: block;
		font-size: 1rem;
		color: #000;
	}

	#footer .inner .core {
		display: block;
	}

	#footer .inner .core .copy {
		font-size: 0.9rem;
		text-align: center;
		margin-top: 1.5rem;
	}
}



/* ----------------------------
  モーダル
---------------------------- */
.remodal {
	position: relative;
	max-width: 820px;
	width: 100%!important;
	font-size: 0;
}
.remodal-overlay {
	background: rgba(0,0,0,0.6) !important;
}

.remodal-wrapper.remodal-is-opened {
    padding-top: 60px;
    padding-bottom: 60px;
}

.remodal::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	border: 0.4rem solid #303030;
	border-radius: 2.2rem;
	position: absolute;
	top: 0.8rem;
	left: 0.8rem;
	z-index: -1;
	pointer-events: none;
}
.remodal .internal {
  position: relative;
  width: 100%;
  background-color: #FFF;
	border-radius: 1.8rem;
	padding: 4.8rem 7.2rem 6rem;
	border: 0.4rem solid #303030;
	margin-right: 1rem;
}
.remodal .internal .group {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.remodal .internal .img {
	width: 22rem;
	margin-right: 40px;
}
.remodal .internal .body {
	text-align: left;
	flex: 1;
}
.remodal .internal .lead {
	font-size: 2.4rem;
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 2rem;
}
.remodal .internal .txt {
	font-size: 1.8rem;
	font-size: 18px;
	line-height: 1.6;
}
.remodal .internal .annotation {
	font-size: 1.2rem;
	font-size: 14px;
	line-height: 1.5;
	margin-top: 1rem;
}


.remodal .internal .btn_close {
	position: absolute;
	top: 2.2rem;
	right: 2.2rem;
	z-index: 10;
}
.remodal .internal .btn_close a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	.remodal::after {
		border: 0.2rem solid #303030;
		border-radius: 1.6rem;
		position: absolute;
		top: 0.5rem;
		left: 0.5rem;
		z-index: -1;
		pointer-events: none;
	}
	.remodal .internal {
		position: relative;
		width: 100%;
		background-color: #FFF;
		border-radius: 1.8rem;
		padding: 2.5rem 3rem;
		border: 0.2rem solid #303030;
		margin-right: 1rem;
	}
	.remodal .internal .group {
		display: block;
		justify-content: space-between;
		align-items: center;
	}
	.remodal .internal .img {
		width: 94%;
		margin: 0 0 1.5rem auto;
	}
	.remodal .internal .body {
		text-align: left;
	}
	.remodal .internal .lead {
		font-size: 1.8rem;
		margin-bottom: 1rem;
	}
	.remodal .internal .txt {
		font-size: 1.5rem;
		line-height: 1.6;
	}


	.remodal .internal .btn_close {
		position: absolute;
		top: 1rem;
		right: 1rem;
		z-index: 10;
		width: 3.5rem;
	}
}


/* ----------------------------
  インタビュー動画モーダル
---------------------------- */
.remodal.interview {
	max-width: 820px;
}

.remodal.interview .internal {
  border-radius: 24px;
  padding: 40px;
}
.remodal.interview .internal .group {
	display: block;
}

.remodal.interview .movie {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 12px;
	margin-bottom: 20px;
}

.remodal.interview .movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	margin: -1px;
}

.remodal.interview .head {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

.remodal.interview .head .num {
	width: 56px;
	margin-right: 20px;
}
.remodal.interview .head .num img {
	width: 100%;
	height: auto;
}

.remodal.interview .body .company {
	font-size: 2.2rem;
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 0.5rem;
}
.remodal.interview .body .job {
	display: inline-block;
	font-size: 1rem;
	font-size: 10px;
	font-weight: bold;
	margin-bottom: 5px;
}
.remodal.interview .body .name {
	display: inline-block;
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: bold;
}

.remodal.interview .body .index {
	margin-top: 10px;
	font-size: 1.2rem;
	font-size: 12px;
}
.remodal.interview .body .index .title {
	font-size: 1rem;
	font-size: 10px;
	margin-right: 8px;
}
.remodal.interview .body .index > li {
	display: inline;
}

.remodal.interview .internal .btn_close {
	position: absolute;
	z-index: 10;
	border-radius: 100px;
	top: -6.5rem;
	right: 0;
}
.remodal.interview .internal .btn_close a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	.remodal.interview .internal {
	  border-radius: 1.4rem;
	  padding: 2rem;
		box-shadow: 0 4px 4px rgba(37,71,108,0.28);
	}
	.remodal.interview .internal .group {
		display: block;
		justify-content: space-between;
	}

	.remodal.interview .movie {
		border-radius: 0.7rem;
		margin-bottom: 1rem;
	}
	.remodal.interview .head {

	}

	.remodal.interview .body .job {
		font-size: 1rem;
		margin-bottom: 5px;
	}
	.remodal.interview .body .name {
		font-size: 1.2rem;
	}

	.remodal.interview .head .ttl {
		font-size: 1.6rem;
		line-height: 1.3;
		margin-left: 1.5rem;

		position: relative;
		bottom: -5px;
	}

	.remodal.interview .internal .btn_close {
		position: absolute;
        top: -4rem;
        right: 0;
		z-index: 10;
		background-color: transparent;
		border-radius: 100px;
        width: 3.5rem;
	}
	.remodal.interview .internal .btn_close a:hover {
		opacity: 0.7;
	}

	.remodal.interview .body .company {
		font-size: 1.8rem;
	}
	.remodal.interview .body .index > li {
		display: block;
	}
}



#year_caution {
	max-width: 100rem;
}
#year_caution .caution .ttl {
	font-size: 3.2rem;
	font-size: 32px;
	font-weight: 600;
	color: #e54a67;
	letter-spacing: 0.15em;
	line-height: 1.5;
	margin-bottom: 2rem;
}
#year_caution .caution .ttl strong {
	display: block;
	font-weight: inherit;
	text-align: center;
	margin-bottom: 0.6rem;
}
#year_caution .caution .txt {
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
	max-width: 80%;
	margin: 0 auto;
}
#year_caution .caution .txt span {
	display: inline-block;
	text-align: left;
}

#year_caution .caution .btns {
	display: flex;
	justify-content: center;
}
#year_caution .caution .btn {
	text-align: center;
	margin: 4rem 2rem 0;
}
#year_caution .caution .btn a {
	min-width: 26rem;
	display: inline-block;
	background-color: #e54a67;
	border-radius: 0.8rem;
	font-size: 1.8rem;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #FFF;
	padding: 1.5rem 0 1.7rem;
	padding-right: 3.7rem;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
}
#year_caution .caution .btn a::after {
	content: "";
	display: block;
	width: 3.7rem;
	height: 100%;
	background-color: #d92f4f;
	background-image: url(/assets/images/common/arrow_white.svg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 16px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 10;
}
#year_caution .caution .btn a span {
	display: inline-block;
	text-align: left;
}
@media screen and (max-width: 767px) {
	#year_caution {
		min-width: 0;
	}
	#year_caution .caution .ttl {
		font-size: 1.6rem;
		margin-bottom: 2rem;
		text-align: left;
	}
	#year_caution .caution .ttl strong {
		font-size: 120%;
	}
	#year_caution .caution .txt {
		font-size: 1.3rem;
		font-weight: 600;
		text-align: center;
		max-width: initial;
		margin: 0 auto;
	}
	#year_caution .caution .txt span {
		display: inline-block;
		text-align: left;
	}

	#year_caution .caution .btns {
		display: block;
	}
	#year_caution .caution .btn {
		text-align: center;
		margin: 1.5rem 0 0;
	}
	#year_caution .caution .btn a {
		min-width: 26rem;
		font-size: 1.5rem;
		padding: 1.1rem 0 1.3rem;
		padding-right: 3.7rem;
	}
	#year_caution .caution .btn a::after {
		content: "";
		display: block;
		width: 3.7rem;
		height: 100%;
		background-image: url(/assets/images/common/arrow_white.svg);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 16px;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		z-index: 10;
	}
	#year_caution .caution .btn a span {
		display: inline-block;
		text-align: left;
	}
}


/* ----------------------------
  主な要件13 モーダル
---------------------------- */
#requirements13 {
	max-width: 100rem;
	text-align: left;
}
#requirements13 .internal {
	padding-top: 8rem;
	padding-bottom: 7rem;
}
#requirements13 .internal > .txt {
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: 3rem;
}
/* #requirements13 .internal .group {
	display: flex;
	justify-content: space-between;
	align-items: center;
} */
#requirements13 .internal strong {
	color: #e54a67;
	font-weight: inherit;
}


#requirements13 .internal .group {
	display: block;
	padding: 3rem 0;
	position: relative;
}
#requirements13 .internal .group_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#requirements13 .internal .group::after {
	content: "";
	display: block;
	border-bottom: 0.4rem solid #d6d6d6;
	border-radius: 1rem;
	overflow: hidden;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
#requirements13 .internal .group.end::after {
	display: none;
}

#requirements13 .internal .group .frame {
	width: 60rem;
	position: relative;
}
#requirements13 .internal .group .frame::after {
	content: "";
	display: block;
	width: 7rem;
	height: 2rem;
	background-image: url(/assets/images/common/long_arrow.svg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	position: absolute;
	left: 100%;
	top: 0;
	bottom: 0;
	margin: auto;
	pointer-events: none;
}


#requirements13 .internal .group .frame .head {
	font-size: 1.6rem;
	font-weight: 600;
	color: #FFF;
	text-align: center;
	padding: 1.5rem;
	background-color: #303030;
	border-top-left-radius: 0.8rem;
	border-top-right-radius: 0.8rem;
	overflow: hidden;
}
#requirements13 .internal .group .frame .body {
	padding: 2.3rem 3rem;
	background-color: #fffcf5;
	border: 0.4rem solid #303030;
	border-top: none;
	border-bottom-left-radius: 0.8rem;
	border-bottom-right-radius: 0.8rem;
}
#requirements13 .internal .group .frame .body .txt {
	font-size: 1.8rem;
	font-weight: 600;
}
#requirements13 .internal .group .frame .body .annotation {
	font-size: 1.2rem;
	margin-top: 0.8rem;
}

#requirements13 .internal .group .judge {
	margin-right: 3rem;
}
#requirements13 .internal .group .judge .ttl {
	font-size: 1.8rem;
	font-weight: 600;
	color: #303030;
	text-align: center;
	margin-bottom: 1.2rem;
}
#requirements13 .internal .group .judge .mark {
	width: 5rem;
	margin: 0 auto;
}
#requirements13 .internal .group .judge .note {
	font-size: 1.2rem;
	text-align: center;
	margin-top: 0.5rem;
}
#requirements13 .internal .terms {
	font-size: 1.2rem;
	font-weight: 600;
	margin-top: 1.5rem;
}
#requirements13 .internal .terms .small {
	font-size: 83.33%;
}

#requirements13 .internal .notice {
	font-size: 1.4rem;
	text-align: center;
	margin-top: 2rem;
}
#requirements13 .internal .notice a {
	font-weight: 500;
	color: #3592c1;
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	#requirements13 {
	}
	#requirements13 .internal {
		padding: 4rem 2rem 3.5rem;
	}
	#requirements13 .internal > .txt {
		font-size: 1.5rem;
		margin-bottom: 1.5rem;
	}
	/* #requirements13 .internal .group {
		display: flex;
		justify-content: space-between;
		align-items: center;
	} */

	#requirements13 .internal .group {
		padding: 1.5rem 0;
	}
	#requirements13 .internal .group_inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#requirements13 .internal .group::after {
		border-bottom: 0.2rem solid #d6d6d6;
	}

	#requirements13 .internal .group .frame {
		width: 19rem;
	}
	#requirements13 .internal .group .frame::after {
		width: 2rem;
		height: 1rem;
	}


	#requirements13 .internal .group .frame .head {
		font-size: 1.1rem;
		padding: 0.5rem;
		border-top-left-radius: 0.4rem;
		border-top-right-radius: 0.4rem;
	}
	#requirements13 .internal .group .frame .body {
		padding: 1rem 1rem;
		border: 0.2rem solid #303030;
		border-top: none;
		border-bottom-left-radius: 0.4rem;
		border-bottom-right-radius: 0.4rem;
	}
	#requirements13 .internal .group .frame .body .txt {
		font-size: 1.1rem;
	}
	#requirements13 .internal .group .frame .body .annotation {
		font-size: 0.9rem;
		margin-top: 0.4rem;
	}

	#requirements13 .internal .group .judge {
		margin-right: 0;
	}
	#requirements13 .internal .group .judge .ttl {
		font-size: 1.2rem;
		margin-bottom: 0.6rem;
	}
	#requirements13 .internal .group .judge .mark {
		width: 2.5rem;
	}
	#requirements13 .internal .group .judge .note {
		font-size: 1rem;
		margin-top: 0.5rem;
	}
	#requirements13 .internal .terms {
		font-size: 1rem;
		margin-top: 1rem;
	}

	#requirements13 .internal .notice {
		font-size: 1.2rem;
		text-align: left;
		margin-top: 2rem;
	}
}





#follow {
	display: none;
}
@media screen and (max-width: 767px) {
	#follow {
		display: block;
		width: 100%;
		text-align: center;
		position: fixed;
		bottom: 7px;
		left: 0;
		z-index: 2200;
	}
	#follow a {
		min-width: 31rem;
		display: inline-block;
		background-color: #e54a67;
		border-radius: 0.8rem;
		font-size: 2rem;
		font-weight: bold;
		text-align: center;
		color: #FFF;
		padding: 1.6rem 0 1.8rem;
		padding-right: 3.7rem;
		position: relative;
		overflow: hidden;
	}
	#follow a::after {
		content: "";
		display: block;
		width: 3.7rem;
		height: 100%;
		background-color: #d92f4f;
		background-image: url(/assets/images/common/arrow_white.svg);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 16px;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		z-index: 10;
	}
}
@media screen and (max-width: 767px) {
	#follow {
		bottom: 10px;
		font-size: 0;
	}
	#follow a {
		min-width: 21rem;
		border-radius: 0.7rem;
		font-size: 1.3rem;
		padding: 1.4rem 0 1.6rem;
		padding-right: 2.75rem;
	}
	#follow a::after {
		width: 2.75rem;
		background-size: 1.2rem;
	}
}

.controller {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 19.5rem;
	position: absolute;
	top: 0;
	right: 7rem;
	z-index: 10;
}
.controller .btn a {
	display: block;
	width: 3rem;
	height: 3.1rem;
	background-image: url(/assets/images/common/arrow_black.svg);
	background-repeat: no-repeat;
	background-size: contain;
}
.controller .btn.prev a {
	transform: scale(-1, 1);
}

.controller .count {
	font-family: "Zen Kaku Gothic New";
	width: 9.5rem;
	height: 9.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 0.5rem;
}
.controller .count::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-image: url(/assets/images/common/slide_circle.svg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
}
.controller .count.start::before {
	/* animation:4.75s linear infinite rotation; */
}
@keyframes rotation{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}

.controller .count_inner {
	position: relative;
}
.controller .count_inner > * {
	display: inline-block;
	color: #303030;
}
.controller .count .current {
	font-size: 3.3rem;
	font-size: 33px;
	font-weight: 900;
}
/* .controller .count .current strong {
	transition: color 0.1s ease;
} */

.controller .count .current strong.c1 {
	color: #e54a67;
}
.controller .count .current strong.c2 {
	color: #3592c1;
}
.controller .count .current strong.c3 {
	color: #f5b21e;
}
.controller .count .current strong.c4 {
	color: #90cb35;
}
.controller .count .current strong.c5 {
	color: #1ab790;
}
.controller .count .current strong.c6 {
	color: #3359cb;
}


.controller .count .total {
	font-size: 1.4rem;
	font-size: 14px;
	font-weight: 900;
	position: relative;
	top: -0.1rem;
}
.controller .count .slash {
	font-size: 0;
	width: 0.8rem;
	height: 1.5rem;
	margin: 0 0.3rem;
	background-image: url(/assets/images/common/slide_circle_slash.svg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
	.controller {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 11.9rem;
		position: relative;
		right: auto;
		margin-top: 2.5rem;
		margin-left: auto;
		margin-right: 1.7rem;
	}
	.controller .btn a {
		width: 1.8rem;
		height: 1.8rem;
	}

	.controller .count {
		font-family: "Zen Kaku Gothic New";
		width: 5.9rem;
		height: 5.9rem;
		display: flex;
		justify-content: center;
		align-items: center;
		padding-bottom: 0.5rem;
	}

	.controller .count_inner {
		position: relative;
	}
	.controller .count_inner > * {
		display: inline-block;
	}

	.controller .count .current {
		font-size: 2.1rem;
	}
	.controller .count .total {
		font-size: 1rem;
		top: -0.1rem;
	}
	.controller .count .slash {
		width: 0.4rem;
		height: 0.85rem;
		margin: 0 0.3rem;
	}
}


#slide1 {
	/* width: 1800px; */
	width: 725px;
	margin: 0 auto;
	position: relative;
	z-index: 100;
	padding-bottom: 1rem;
}

#slide1 ol li {
	width: 72.5rem!important;
	margin: 0 -1.5rem;
}
#slide1 .slick-slide {
	transition: transform 0.6s ease;
	transform: scale(0.8);
}
#slide1 .slick-slide.slick-center {
	transform: scale(1);
}
#slide1 ol li a {
	display: block;
	position: relative;
}
#slide1 ol li a .frame {
	display: flex;
	justify-content: space-between;
	background-color: #FFF;
	padding: 2.6rem;
	border-radius: 1.8rem;
	border: 0.4rem solid #303030;
	position: relative;
	z-index: 10;
}
#slide1 ol li a::after {
	content: "";
	display: block;
	width: calc(100% + 0.7rem);
	height: calc(100% + 0.7rem);
	background-color: #FFF;
	border: 0.4rem solid #303030;
	border-radius: 2.5rem;
	position: absolute;
	top: 0.2rem;
	left: 0.2rem;
	z-index: 1;
}
#slide1 ol li .ph {
	width: 25rem;
}
#slide1 ol li .ph img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
#slide1 ol li .body {
	width: 37.2rem;
	letter-spacing: 0.03em;
}

#slide1 ol li .head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 16px;
}
#slide1 ol li .head .num {
	width: 6.5rem;
}
#slide1 ol li .head .arrow {
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: 600;
	background-color: #f0f2f5;
	border-radius: 0.8rem;
	width: 23rem;
	padding: 1rem 0 1.3rem;
	padding-left: 4.7rem;
	position: relative;
}
#slide1 ol li .head .arrow::after {
	content: "";
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background-image: url(/assets/images/common/arrow_black.svg);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.8rem;
	z-index: 10;
	margin: auto;
}


#slide1 ol li .body .lead {
	font-size: 1.9rem;
	font-size: 19px;
	font-family: source-han-sans-japanese, sans-serif;
	font-weight: bold;
	line-height: 1.3;
	color: #25476c;
	margin-bottom: 10px;
}
#slide1 ol li .body .company {
	font-size: 1.8rem;
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 0.8rem;
}
#slide1 ol li .body .job {
	font-size: 1rem;
	font-size: 10px;
	font-weight: 600;
	margin-bottom: 0.2rem;
}
#slide1 ol li .body .name {
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 2rem;
}

#slide1 ol li .body .index {
	font-size: 1.2rem;
	font-size: 12px;
}
#slide1 ol li .body .index li {
	width: auto;
}
#slide1 ol li .body .index .title {
	margin-bottom: 0.3rem;
}
#slide1 .slick-list {
	overflow: visible!important;
}

@media screen and (max-width: 767px) {
	#slide1 {
		/* width: 1800px; */
		width: 25.5rem;
		margin: 0 auto;
		position: relative;
		z-index: 100;
		padding-bottom: 1rem;
	}

	#slide1 ol li {
		width: 25.5rem!important;
		min-height: 23.8rem;
		margin: 0 0.5rem;
	}
	#slide1 .slick-slide {
		transition: transform 0.6s ease;
		transform: scale(0.8);
	}
	#slide1 .slick-slide.slick-center {
		transform: scale(1);
	}
	#slide1 ol li a .frame {
		display: block;
		height: 100%;
		padding: 1.8rem;
		border-radius: 1.1rem;
		border: 0.2rem solid #303030;
		position: relative;
		z-index: 10;
	}
	#slide1 ol li a::after {
		width: calc(100% + 0.3rem);
		height: calc(100% + 0.3rem);
		border: 0.2rem solid #303030;
		border-radius: 1.7rem;
		top: 0.2rem;
		left: 0.2rem;
	}
	#slide1 ol li .ph {
		width: auto;
		margin-bottom: 1.8rem;
	}
	#slide1 ol li .ph img {
		width: 100%;
		height: auto;
		vertical-align: top;
	}
	#slide1 ol li .body {
		width: auto;
		letter-spacing: 0.03em;
	}

	#slide1 ol li .head {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 16px;
	}
	#slide1 ol li .head .num {
		width: 4.1rem;
	}
	#slide1 ol li .head .arrow {
		font-size: 1.3rem;
		font-weight: 600;
		background-color: #f0f2f5;
		border-radius: 0.8rem;
		width: 23rem;
		padding: 0.9rem 1.5rem;
		position: relative;
		width: 12.3rem;
	}
	#slide1 ol li .head .arrow::after {
		width: 1.2rem;
		height: 1.2rem;
		right: 1.3rem;
	}


	#slide1 ol li .body .lead {
		font-size: 1.9rem;
		font-family: source-han-sans-japanese, sans-serif;
		font-weight: bold;
		line-height: 1.3;
		color: #25476c;
		margin-bottom: 10px;
	}
	#slide1 ol li .body .company {
		font-size: 1.7rem;
	}
	#slide1 ol li .body .job {
		font-size: 0.9rem;
		margin-bottom: 0.1rem;
	}
	#slide1 ol li .body .name {
		font-size: 1.3rem;
		margin-bottom: 1.5rem;
	}

	#slide1 ol li .body .index {
		font-size: 1rem;
	}
	#slide1 ol li .body .index li {
		width: auto!important;
		min-height: 0!important;
	}
	#slide1 ol li .body .index .title {
		margin-bottom: 0.3rem;
	}
}


#slide2 {
	width: 36rem;
	margin: 0 auto;
	position: relative;
	z-index: 100;
	padding-bottom: 1rem;
}

#slide2 ol li {
	width: 36.2rem!important;
	margin: 0;
	backface-visibility: hidden;
}
#slide2 .slick-slide {
	transition: transform 0.6s ease;
	transform: scale(0.8);
	backface-visibility: hidden;
}
#slide2 .slick-slide.slick-center {
	transform: scale(1);
}
#slide2 ol li a {
	display: block;
	position: relative;
	height: auto !important;
}
#slide2 ol li a .frame {
	height: 100%;
	background-color: #FFF;
	padding: 2.6rem;
	padding-bottom: 5.6rem;
	border-radius: 1.8rem;
	border: 0.4rem solid #303030;
	position: relative;
	z-index: 10;
	overflow: hidden;
}
#slide2 ol li a::after {
	content: "";
	display: block;
	width: calc(100% + 0.7rem);
	height: calc(100% + 0.7rem);
	background-color: #FFF;
	border: 0.4rem solid #303030;
	border-radius: 2.5rem;
	position: absolute;
	top: 0.2rem;
	left: 0.2rem;
	z-index: 1;
}
#slide2 ol li .ph {
	margin-top: -1.5rem;
	margin-bottom: 1.8rem;
}
#slide2 ol li .body {
	width: auto;
}

#slide2 ol li .head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.6rem;
}

#slide2 ol li .head .arrow {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#slide2 ol li .head .arrow::after {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background-image: url(/assets/images/_v1/common/circle_arrow_b.png);
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: -11px;
}
#slide2 ol li .head .arrow span {
	font-size: 1.4rem;
	font-size: 14px;
	font-weight: bold;
	color: #3bb6f2;
	margin-right: 10px;
}

#slide2 ol li .body .lead {
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.3;
}
#slide2 ol li .body .job {
	font-size: 1rem;
	font-size: 10px;
	font-weight: bold;
	margin-bottom: 1rem;
}
#slide2 ol li .body .name {
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: bold;
}
#slide2 ol li .guide {
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.16em;
	background-color: #f0f2f5;
	padding: 1rem 0;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10;
}
#slide2 ol li .guide::after {
	content: "";
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background-image: url(/assets/images/common/arrow_black.svg);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2rem;
	z-index: 10;
	margin: auto;
}

#slide2 .slick-list {
	height: auto !important;
	overflow: visible!important;
}

@media screen and (max-width: 767px) {
	#slide2 {
		width: 25.5rem;
		margin: 0 auto;
		position: relative;
		z-index: 100;
		padding-bottom: 0;
	}

	#slide2 ol li {
		width: 25.5rem!important;
		margin: 0;
		backface-visibility: hidden;
	}
	#slide2 .slick-slide {
		transition: transform 0.6s ease;
		transform: scale(0.8);
		backface-visibility: hidden;
	}
	#slide2 .slick-slide.slick-center {
		transform: scale(1);
	}

	#slide2 ol li a .frame {
		height: 100%;
		background-color: #FFF;
		padding: 2.2rem 1.8rem 5rem;
		border-radius: 1.1rem;
		border: 0.2rem solid #303030;
	}
	#slide2 ol li a::after {
		width: calc(100% + 0.3rem);
		height: calc(100% + 0.3rem);
		border: 0.2rem solid #303030;
		border-radius: 1.7rem;
		top: 0.2rem;
		left: 0.2rem;
	}
	#slide2 ol li .ph {
		width: auto;
		margin-bottom: 1.8rem;
	}
	#slide2 ol li .body {
		width: auto;
	}

	#slide2 ol li .head {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 2.5rem;
	}
	#slide2 ol li .head .num {
		width: 4.1rem;
	}
	#slide2 ol li .head .arrow {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#slide2 ol li .head .arrow::after {
		content: "";
		display: block;
		width: 50px;
		height: 50px;
		background-image: url(/assets/images/_v1/common/circle_arrow_b.png);
		background-repeat: no-repeat;
		background-size: contain;
		margin-right: -11px;
	}
	#slide2 ol li .head .arrow span {
		font-size: 1.4rem;
		font-weight: bold;
		color: #3bb6f2;
		margin-right: 10px;
	}

	#slide2 ol li .body .lead {
		font-size: 1.3rem;
		line-height: 1.4;
	}
	#slide2 ol li .body .job {
		font-size: 0.9rem;
		margin-bottom: 1rem;
	}
	#slide2 ol li .body .name {
		font-size: 1.3rem;
		padding-top: 1rem;
	}
	#slide2 ol li .guide {
		font-size: 1.3rem;
		padding: 0.7rem 0;
	}
	#slide2 ol li .guide::after {
		width: 1.2rem;
		height: 1.2rem;
		right: 1.5rem;
	}
}


#contents .slide-dots {
	display: none!important;
}
/* #contents .slide-dots {
	clear: both;
	margin-top: 30px;
	display: flex;
	justify-content: flex-start;
}
#contents .slide-dots li {
	width: auto;
	display: block;
	margin: 0 5px;
}
#contents .slide-dots li button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;

	width: 10px;
	height: 10px;
	border-radius: 20px;
	text-indent: 200%;
	overflow: hidden;
	font-size: 0;
	transition: width 0.3s ease;
}
#contents .slide-dots li:nth-child(1) button,
#contents .slide-dots li:nth-child(4) button,
#contents .slide-dots li:nth-child(7) button {
	background-color: #00a0ed;
}
#contents .slide-dots li:nth-child(2) button,
#contents .slide-dots li:nth-child(5) button,
#contents .slide-dots li:nth-child(8) button {
	background-color: #e9bc00;
}
#contents .slide-dots li:nth-child(3) button,
#contents .slide-dots li:nth-child(6) button,
#contents .slide-dots li:nth-child(9) button {
	background-color: #c41727;
}

#contents .slide-dots li.slick-active button {
	width: 60px;
} */

/* 年度終了表示 */
/* #end_notice {
	border: 1px solid #FFF;
	border-left: none;
	border-right: none;

	position: sticky;
	top: 0;
	left: 0;
	z-index: 700;
	width: 100%;

	font-size: 1.7rem;
	font-weight: bold;
	color: #c41727;
	text-align: center;
	padding: 1.1rem;
	box-sizing: border-box;
	background-color: #f8d377;
} */

/* 別年度リンク */
#another_year {
	max-width: 114rem;
	margin: 0 auto 9rem;
}
#another_year a {
	display: flex;
	justify-content: space-between;
	align-items: center;

	font-size: 1.7rem;
	font-size: 17px;
	font-weight: bold;
	text-align: center;
	padding: 2rem 2.5rem;
	padding-right: 4.5rem;

	background-color: #f0f2f5;
	border: 0.4rem solid #303030;
	border-radius: 1rem;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}
#another_year a em {
	display: block;

	font-size: 1.2rem;
	font-size: 12px;
	font-weight: 600;
	font-style: normal;
	color: #FFF;
	padding: 0.3rem 1rem;
	border-radius: 0.4rem;
	background-color: #e54a67;
	margin-right: 2rem;
}
#another_year a span {
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: 600;
	color: #e54a67;
	flex: 1;
	text-align: left;
}
#another_year a .scroll_txt span:not(:first-child) {
	display: none;
}


#another_year a::after {
	content: "";
	display: block;
	width: 3.6rem;
	height: 100%;
	background-color: #e54a67;
	background-image: url(/assets/images/common/arrow_white.svg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 1.6rem;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 10;
}

@media screen and (max-width: 767px) {
	#another_year {
		margin: 0 1.75rem 5rem;
	}
	#another_year a {
		display: block;

		font-size: 1rem;
		padding: 1.1rem;
		padding-right: calc(1.1rem + 2rem);

		border: 0.2rem solid #303030;
		border-radius: 1rem;
		text-align: left;
	}
	#another_year a em {
		display: inline-block;

		font-size: 1rem;
		padding: 0.3rem 0.7rem;
		border-radius: 0.4rem;
		margin-right: 0;
		margin-bottom: 0.7rem;
	}
	#another_year a span.scroll_txt {
		display: block;
		white-space: nowrap;
	}
	#another_year a span.scroll_txt span {
		display: inline-block!important;
		font-size: 1.2rem;
		padding-right: 110%;
		white-space: nowrap;
		animation: scrollAnime 13s linear infinite 3s;
	}

	@keyframes scrollAnime{
		0% { transform: translateX(0%)}
	100% { transform: translateX(-100%)}
	}


	#another_year a::after {
		content: "";
		display: block;
		width: 2.45rem;
		height: 100%;
		background-image: url(/assets/images/common/arrow_white.svg);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 1.3rem 1.3rem;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		z-index: 10;
	}
}

/* 準備中 */
.qa_notice {
	font-size: 3rem;
	font-size: 30px;
	font-weight: bold;
	color: #25476c;
	text-align: center;
	padding: 5rem 0;
}


.sp_disp {
	display: none!important;
}

@media screen and (max-width: 767px) {
	.pc_disp {
		display: none!important;
	}
	.sp_disp {
		display: block!important;
	}
	table.sp_disp {
		display: table!important;
	}
	tbody.sp_disp {
		display: table-row-group!important;
	}
	img.sp_disp {
		display: inline-block!important;
	}
	br.sp_disp {
		display: inline!important;
	}
}