@charset "UTF-8";

/*@import url("https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&display=swap");*/
/* =======================================

	CommonElements

======================================= */
html {
	height: 100%;
	font-size: 62.5%;
}
body {
	position: relative;
	min-width: 980px;
	height: 100%;
	background: #fff;
	color: #222;
	word-wrap: break-word;
	word-break: break-word;
	letter-spacing: .1em;
	font-weight: 400;
	/*font-size: 1.4rem;*/
font-size: 1.3rem;
	font-family: "Lato","ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
line-height: 1.5;

	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
}
a {
	color: #222;
	text-decoration: none;
}
a img {
	transition: opacity .4s ease;
}

#container {
	overflow: hidden;
}
.wrapper {
	padding: 80px 0;
	background-color: #fff;
}

@media only screen and (max-width: 767px) {
	body {
		min-width: auto;
		min-width: initial;
	}
	#container {
		overflow: hidden;
	}
	a:hover img {
		opacity: 1;
	}
}

@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "tsb";
	src: url("/css/fonts/tsb.eot?eixcm0");
	src: url("/css/fonts/tsb.eot?eixcm0#iefix") format("embedded-opentype"),
	url("/css/fonts/tsb.ttf?eixcm0") format("truetype"),
	url("/css/fonts/tsb.woff?eixcm0") format("woff"),
	url("/css/fonts/tsb.svg?eixcm0#tsb") format("svg");

	font-display: block;
}
@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "tsb_add";
	src: url("/css/fonts/tsb_add.eot?3rub2p");
	src: url("/css/fonts/tsb_add.eot?3rub2p#iefix") format("embedded-opentype"),
	url("/css/fonts/tsb_add.ttf?3rub2p") format("truetype"),
	url("/css/fonts/tsb_add.woff?3rub2p") format("woff"),
	url("/css/fonts/tsb_add.svg?3rub2p#tsb_add") format("svg");

	font-display: block;
}

/* ------------------------------------
	layout
------------------------------------ */
.cont_outer {
	position: relative;
	z-index: 1;
	margin: 0 auto;
	padding: 0 4%;
	min-width: 1000px;
	max-width: calc(1366px + 8%);
	width: 100%;
}
.cont_inner {
	margin-right: auto;
	margin-left: auto;
	width: 94%;
}
.cont_box {
	position: relative;
	width: 100%;
	background: #fff;
}
@media only screen and (max-width: 1000px) {
.cont_outer {
		min-width: auto;
	}
}
@media only screen and (max-width: 768px) {
	.cont_outer {
		min-width: 320px;
	}
	.cont_inner {
		width: 100%;
	}
}

/* ------------------------------------
	common parts
------------------------------------ */
.br_pc {
	display: block;
	font-size: 0 !important;
}
.br_sp {
	display: none !important;
}
.display_pc {
	display: block !important;
}
.display_sp {
	display: none !important;
}
.align_r {
	text-align: right !important;
}
.align_c {
	text-align: center !important;
}
.align_l {
	text-align: left !important;
}
.v_align_t {
	vertical-align: top !important;
}
.v_align_m {
	vertical-align: middle !important;
}
.v_align_b {
	vertical-align: bottom !important;
}
.w5 {
	width: 5% !important;
}
.w10 {
	width: 10% !important;
}
.w15 {
	width: 15% !important;
}
.w20 {
	width: 20% !important;
}
.w25 {
	width: 25% !important;
}
.w30 {
	width: 30% !important;
}
.w35 {
	width: 35% !important;
}
.w40 {
	width: 40% !important;
}
.w45 {
	width: 45% !important;
}
.w50 {
	width: 50% !important;
}
.w55 {
	width: 55% !important;
}
.w60 {
	width: 60% !important;
}
.w65 {
	width: 65% !important;
}
.w70 {
	width: 70% !important;
}
.w75 {
	width: 75% !important;
}
.w80 {
	width: 80% !important;
}
.w85 {
	width: 85% !important;
}
.w90 {
	width: 90% !important;
}
.w95 {
	width: 95% !important;
}
.w100 {
	width: 100% !important;
}
.text_bold {
	font-weight: bold;
}
.text_normal {
	font-weight: normal;
}
.small_text {
	font-size: 90%;
}
.attention {
	color: #d24934;
}
.note_txt {
	color: #999;
}
.font_s {
	font-size: 12px;
}

.br_custom {
	display: block !important;
	font-size: 0 !important;
}

@media only screen and (max-width: 1110px) {
	.br_custom {
		display: none !important;
	}
}

@media only screen and (max-width: 767px) {
	.br_pc {
		display: none !important;
	}
	.br_sp {
		display: block !important;
		font-size: 0 !important;
	}
	.display_pc {
		display: none !important;
	}
	.display_sp {
		display: block !important;
	}
}

/*	column	*/
.clm_2,
.clm_3,
.clm_4 {
	display:         flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}
.clm_2 > * {
	margin-right: 3.2%;
	width: 48.4%;
}
.clm_3 > * {
	margin-right: 3.2%;
	width: 31.2%;
}
.clm_4 > * {
	margin-right: 3.2%;
	width: 22.6%;
}
.clm_2 > *:nth-of-type(2n),
.clm_3 > *:nth-of-type(3n),
.clm_4 > *:nth-of-type(4n) {
	margin-right: 0;
}

@media only screen and (max-width: 767px) {
	.clm_2,
	.clm_3,
	.clm_4 {
		display: block;
	}
	.clm_2 > *,
	.clm_3 > *,
	.clm_4 > * {
		margin-right: 0;
		width: 100%;
	}
	.sp_clm_2 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}
	.sp_clm_2 > * {
		margin-right: 4%;
		width: 48%;
	}
	.sp_clm_2 > *:nth-of-type(2n) {
		margin-right: 0;
	}
	.clm_3.sp_clm_2 > *:nth-of-type(3n) {
		margin-right: 4%;
		width: 48%;
	}
	.clm_3.sp_clm_2 > *:nth-of-type(2n) {
		margin-right: 0;
		width: 48%;
	}
}
/* ------------------------------------
	link PATTERN
------------------------------------ */
.link_txt {
	padding: 0 .5rem;
	color: #52a8dc;
	text-decoration: underline;
	font-weight: bold;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
.link_txt.pdf::after {
	display: inline-block;
	padding-left: .5rem;
	color: #d24934;
	content: "\e944";
	text-decoration: none;
	font-weight: normal;
	font-family: "tsb";
}
.link_txt.blank::after {
	display: inline-block;
	padding-left: .5rem;
	color: #30A2F0;
	content: "\e90c";
	text-decoration: none;
	font-weight: normal;
	font-size: 80%;
	font-family: "tsb_add";
}
/* Hover */
@media only screen and (min-width: 767px) {
	.link_txt:hover {
		text-decoration: none;
		opacity: .7;
	}
}

/* ------------------------------------
	btn PATTERN
------------------------------------ */
.btn a,
.btn .under_line {
	position: relative;
	display: block;
	padding: 16px 8px;
	width: 180px;
	letter-spacing: 0;
	font-weight: 700;
	font-size: 1.3rem;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
.btn.size_s {
	width: 116px;
}
.btn.longer a,
.btn.longer .under_line {
	width: 230px;
}
.btn.size_l,
.btn.size_l a {
	width: 280px;
}
.btn.full .under_line {
	width: 100%;
}
.btn {
	position: relative;
	display: inline;
	width: 100%;
}
.btn a:before,
.btn .under_line::before {
	position: absolute;
	top: 16px;
	right: 8px;
	left: auto;
	display: block;
	height: 1.3rem;
	color: #222;
	content: "\e93c";
	letter-spacing: 0;
	font-size: 1rem;
	font-family: "tsb";
}
.btn .under_line.blank::before {
	height: 1.3rem;
	color: #30A2F0;
	content: "\e90c";
	font-size: 1.3rem;
	font-family: "tsb_add";
}
.under_line::after {
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 2px;
	background: linear-gradient(to left, #528eff, #ff5931);
	content: "";
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
.btn .under_line.youtube {
	padding-left: 40px;
}
.btn .under_line.youtube::before {
	position: absolute;
	top: 16px;
	right: auto;
	left: 4px;
	content: url(/files/common/icon_youtube.png);
}
.btn .under_line.pdf::before {
	position: absolute;
	top: 16px;
	color: #d24934;
	content: "\e944";
	font-size: 18px;
	font-family: "tsb";
}
a.page_btn,
a.simple_btn {
	position: relative;
	display: block;
	padding: 16px 34px 16px 16px;
	min-width: 275px;
	border: 1px solid #ccc;
	background: #fff;
}
a.page_btn::before {
	position: absolute;
	top: 0;
	right: 16px;
	bottom: 0;
	display: block;
	margin: auto;
	width: 15px;
	height: 15px;
	content: "\e909";
	text-align: center;
	font-family: "tsb";
	line-height: 1;
}
a.simple_btn.pdf::before {
	position: absolute;
	top: 0;
	right: 18px;
	bottom: 0;
	display: block;
	margin: auto;
	width: 18px;
	height: 18px;
	color: #d24934;
	content: "\e944";
	text-align: center;
	font-size: 18px;
	font-family: "tsb";
	line-height: 1;
}
a.simple_btn.blank::before {
	position: absolute;
	top: 0;
	right: 18px;
	bottom: 0;
	display: block;
	margin: auto;
	width: 18px;
	height: 18px;
	color: #30A2F0;
	content: "\e90c";
	text-align: center;
	font-size: 16px;
	font-family: "tsb_add";
	line-height: 1;
}
a.simple_btn.link {
	padding: 16px 16px 16px 54px;
}
a.simple_btn.link::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 16px;
	display: block;
	margin: auto;
	width: 30px;
	height: 30px;
	background: url(/files/common/line_icon.png) no-repeat center center;
	background-size: 30px 30px;
	content: "";
}

/* editor btn */
a.btn_under_line {
	position: relative;
	display: inline-block;
	overflow: hidden;
	min-width: 180px;
	margin-right: .5rem;
	padding: 16px 65px 16px 8px;
	letter-spacing: 0;
	font-weight: 700;
	font-size: 1.3rem;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
a.btn_under_line::before {
	position: absolute;
	top: 16px;
	right: 8px;
	left: auto;
	display: block;
	height: 1.3rem;
	color: #222;
	content: "\e93c";
	letter-spacing: 0;
	font-size: 1rem;
	font-family: "tsb";
}
a.btn_under_line.blank::before {
	height: 1.3rem;
	color: #30A2F0;
	content: "\e90c";
	font-size: 1.3rem;
	font-family: "tsb_add";
}
a.btn_under_line.youtube::before {
	position: absolute;
	top: 20px;
	right: auto;
	left: 4px;
	content: url(/files/common/icon_youtube.png);
}
a.btn_under_line.youtube {
	padding-left: 40px;
	padding-right: 0;
}
a.btn_under_line.pdf::before {
	position: absolute;
	top: 16px;
	color: #d24934;
	content: "\e944";
	font-size: 18px;
	font-family: "tsb";
}
a.btn_under_line::after {
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 2px;
	background: linear-gradient(to left, #528eff, #ff5931);
	content: "";
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
a.btn_back {
	width: 220px;
	background: #f5f5f5;
	text-align: center;
	position: relative;
	display: block;
	overflow: hidden;
	padding: 16px 50px;
	letter-spacing: 0;
	font-weight: 700;
	font-size: 1.3rem;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
	margin: auto;
}
a.btn_back::before {
	position: absolute;
	top: 16px;
	display: block;
	height: 1.3rem;
	color: #222;
	content: "\e93c";
	letter-spacing: 0;
	font-size: 1rem;
	font-family: "tsb";
	right: auto;
	left: 16px;
	-webkit-transform: scale(-1, 1);
	        transform: scale(-1, 1);
}

/* Hover */
@media only screen and (min-width: 767px) {
	.btn a:hover:before,
	a:hover .btn .under_liner::before {
		letter-spacing: 0;
	}
	.under_line:hover::after,
	a:hover .under_line::after,
	a.btn_under_line:hover::after {
		animation: 300ms underLine forwards;
	}
	a.btn_under_line:hover {
		color: #30A2F0;
	}
	a.btn_back:hover {
		background: #fafafa;
		color: #30A2F0;
	}
}
@-webkit-keyframes underLine {
	0% {
		left: 0;
		width: 0;
		opacity: 0;
	}
	100% {
		left: 0;
		width: 100%;
		opacity: 1;
	}
}
@keyframes underLine {
	0% {
		left: 0;
		width: 0;
		opacity: 0;
	}
	100% {
		left: 0;
		width: 100%;
		opacity: 1;
	}
}
/*  btn_back */
.btn.btn_back a {
	padding-right: 50px;
	padding-left: 50px;
	width: 220px;
	background: #f5f5f5;
	text-align: center;
}
.btn.btn_back a:before {
	right: auto;
	left: 16px;
	-webkit-transform: scale(-1, 1);
	        transform: scale(-1, 1);
}
/* Hover */
@media only screen and (min-width: 767px) {
	.btn.btn_back a:hover {
		background: #fafafa;
	}
}
/*  Slash_Shadow */
.slash_shadow {
	position: relative;
}
.slash_shadow::before {
	position: absolute;
	top: 6px;
	left: 6px;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(-45deg,	rgba(100,100,100,.1) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(100,100,100,.1)50%,rgba(100,100,100,.1) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));
	background-size: 6px 6px;
	content: "";
}
/*  line_btn */
.slash_shadow.line_btn {
	margin-bottom: 80px;
	width: 350px;
}
.slash_shadow.line_btn a {
	position: relative;
	display: block;
	padding: 32px 0 32px 70px;
	border: 1px solid #ccc;
}
.slash_shadow.line_btn a::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 16px;
	display: block;
	margin: auto;
	width: 42px;
	height: 42px;
	background: url(/files/common/line_icon.png) no-repeat center center;
	background-size: 42px 42px;
	content: "";
}
@media only screen and (max-width: 767px) {
	.slash_shadow.line_btn {
		width: 330px;
	}
}
a.simple_btn.slash_shadow {
	-webkit-transition: all .3s ease-out;
	transition: all .3s ease-out;
}

/*  blue_grad */
.blue_grad a::after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, #0cf,#06f);
	content: "";
	opacity: 0;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
.blue_grad a {
	background: rgba(255,255,255,1);
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
.blue_grad a:hover {
	background: rgba(255,255,255,0);
	color: #fff;
}
.blue_grad a:hover::after {
	opacity: 1;
}
/* Hover */
@media only screen and (min-width: 767px) {
	body:not(.tab_view) .btn a:hover,
	body:not(.tab_view) a:hover .under_line {
		color: #528eff !important;
		letter-spacing: 2px;
	}
	body:not(.tab_view) .btn a:hover::after,
	body:not(.tab_view) a:hover .under_line::after {
		color: #528eff;
	}
	a:hover img {
		opacity: .8;
	}
	a.simple_btn.slash_shadow:hover {
		background: #09f;
		color: #fff;
	}
}

/* ------------------------------------
	header
------------------------------------ */
header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	width: 100%;
	background: rgba(255,255,255,.9);
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
header .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0 0 0 4%;
}
header h1,
header .logo {
	position: relative;
	z-index: 1;
	margin: 24px auto 0 0;
	white-space: nowrap;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
header h1 a,
header .logo a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
}
header h1 img,
header .logo img {
	display: block;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
width: 100%;
}
header h1 a:hover img,
header .logo a:hover img {
	opacity: 1;
}
header #mddNav > ul {
	font-size: 0;
}
header #mddNav > ul > li {
	font-size: 1.4rem;
}
header #mddNav > ul > li.target_list,
header #mddNav > ul > li.sp_oc,
header #mddNav > ul > li.sp_doc_req {
	display: none !important;
}
header #mddNav > ul > li {
	display: inline-block;
	margin: 0;
	height: 80px;
	vertical-align: middle;
	text-align: center;
	line-height: 80px;
}
header #mddNav > ul > li > a {
	position: relative;
	display: block;
	padding: 0 10px;
	height: 80px;
	color: #222;
	letter-spacing: 3px;
	font-weight: 700;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
header #mddNav > ul > li:not(.type_btn) > a:before,
header #mddNav > ul > li:not(.type_btn).active > a:before {
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	width: 65px;
	width: 0;
	height: 2px;
	background: #30A2F0;
	content: "";
	-webkit-transition: all .2s ease-out;
	        transition: all .2s ease-out;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	pointer-events: none;
}
header #mddNav > ul > li:not(.type_btn):hover > a,
header #mddNav > ul > li:not(.type_btn).active > a {
	color: #30A2F0;
}
header #mddNav > ul > li:not(.type_btn):hover > a:before,
header #mddNav > ul > li:not(.type_btn).active > a:before {
	width: 100%;
}
header #mddNav > ul > li.type_btn a {
	width: 128px;
	height: 100%;
	color: #fff;
}
header #mddNav > ul > li.open_campus {
	margin: 0 0 0 30px;
}
header #mddNav > ul > li.open_campus a {
	background: linear-gradient(-45deg, #33e5e5,#30a2f0);
	letter-spacing: 0;
	padding: 0;
}
header #mddNav > ul > li.doc_req {
	margin: 0;
}
header #mddNav > ul > li.doc_req a {
	background: rgba(0, 0, 0, .9);
}
.sp_menu_wrap {
	display: none;
}
header #mddNav {
	width: 100%;
}
header #mddNav > ul {
	display: flex;
	justify-content: flex-end;
}
header #mddNav .mddWrap {
	position: absolute;
	top: 80px;
	left: 0;
	z-index: -1;
	display: none;
	overflow: hidden;
	width: 100%;
	background: rgba(0,0,0,.8);
	color: #fff;
	text-align: center;
	line-height: normal;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
header #mddNav .mddWrap .mddInner {
	margin: 0 auto;
	padding: 40px 4%;
	width: 100%;
	text-align: left;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
header #mddNav .mddWrap a {
	color: #fff;
}
header #mddNav .mddWrap nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	width: 100%;
}
header #mddNav .mddWrap li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 25%;
}
header #mddNav .mddWrap li a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	padding: 15px 40px 15px 10px;
	width: 100%;
	border: 1px solid #fff;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
header #mddNav .mddWrap li a:before {
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	z-index: 1;
	display: block;
	margin: auto;
	width: 30px;
	height: 15px;
	content: "\e93c";
	text-align: right;
	letter-spacing: 0;
	font-size: 10px;
	font-family: tsb;
	line-height: 15px;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}

header #mddNav > ul > li.target_list {
    display: none !important;
}

/* PC HOVER */
@media only screen and (min-width: 767px) {
	header #mddNav .mddWrap li a:hover {
		background: rgba(255,255,255,.2);
	}
}

@media only screen and (max-width: 1240px) {
	header #mddNav > ul > li a {
		letter-spacing: .2em;
		padding: 0 10px;
	}
}

@media only screen and (max-width: 1180px) {
	header #mddNav .mddWrap .mddInner {
		width: 90%;
	}
}

@media only screen and (max-width: 1100px) {
	header nav > ul > li > a {
		font-size: 1.3rem;
	}
	header #mddNav > ul > li.open_campus {
		margin: 0 0 0 30px;
	}
}

@media only screen and (max-width: 980px) {
	header {
		width: 980px;
	}
}

@media only screen and (max-width: 767px) {
	header {
		z-index: 21;
		display: block;
		width: 100%;
		height: 56px;
	}
	body:not(#site_index) header {
		background: transparent;
	}
	.menu_open header {
		position: fixed;
	}
	header .inner {
		display: block;
		margin: 0 2%;
		height: 100%;
		border-bottom: none;
	}
	header h1,
	header .logo {
		display: inline-block;
		margin: 10px 0 0 5px;
	}
	header h1 img,
	header .logo img {
		width: 250px;
	}
	header #mddNav {
		display: none;
	}
	header .logo {
		display: none;
	}

/* target_list */
	header #mddNav > ul > li.target_list {
		display: block !important;
	}
	header #mddNav > ul > li.target_list ul {
		margin: 20px 0 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		border-top: 1px solid #FFF;
		border-left: 1px solid #FFF;
	}
	header #mddNav > ul > li.target_list li {
		width: 33.333%;
		border-right: 1px solid #FFF;
		border-bottom: 1px solid #FFF;
	}
/*
						header #mddNav > ul > li.target_list li:nth-child(1),
						header #mddNav > ul > li.target_list li:nth-child(2) {
							width: 50%;
						}
*/
	header #mddNav > ul > li.target_list a {
		padding: 11px 0;
		display: block;
		color: #FFF;
		font-size: 1rem;
		text-align: center;
	}
	header #mddNav > ul > li.target_list span:before {
		margin: 0 4px 0 0;
		font-family: 'tva';
		font-size: 1rem;
		line-height: 1;
		vertical-align: middle;
	}
	header #mddNav .target_list .freshman span:before {content: "\e928";}
	header #mddNav .target_list .junior span:before {content: "\e941";}
	header #mddNav .target_list .senior span:before {content: "\e942";}
	header #mddNav .target_list .entrance span:before {content: "\e93f";}
	header #mddNav .target_list .international span:before {content: "\e93c";}
	header #mddNav .target_list .company span:before {content: "\e939";}
	header #mddNav .target_list .parents span:before {content: "\e940";}
	header #mddNav .target_list .student span:before {content: "\e93b";}
	header #mddNav .target_list .graduate span:before {content: "\e943";}
}

/*-----------------------------------------
	scroll_header Common
-----------------------------------------*/
.scroll_header header {
	position: fixed;
	background: rgba(255,255,255,.9);
	animation: 600ms fadeIn forwards;
}
.scroll_header header .inner {
	margin: 0 auto;
	padding: 0 0 0 2%;
}
.scroll_header header h1 img,
.scroll_header  header .logo img {
	/*max-width: 202px;*/
max-width: 300px;
}
.scroll_header header #mddNav > ul > li.type_btn a {
	color: #fff;
}
.scroll_header header #mddNav > ul > li.type_btn {
	display: inline-block;
}

/* CONTENT */
body:not(#site_index) {
	padding-top: 80px;
}
body:not(#site_index) .scroll_header header .logo {
	margin: 25px auto 0 0;
}
body:not(#site_index) header .logo img {
	max-width: 300px;
}
body:not(#site_index) header .inner {
	padding: 0 0 0 2%;
}
body:not(#site_index) .scroll_header header #mddNav > ul > li {
	height: 80px;
	line-height: 80px;
}
body:not(#site_index) .scroll_header header #mddNav > ul > li > a {
	height: 80px;
	color: #222;
}
body:not(#site_index) .scroll_header header #mddNav .mddWrap {
	top: 80px;
}


@media only screen and (max-width: 767px) {
	body:not(#site_index) {
		padding-top: 0;
	}
	#container {
		padding-top: 56px;
	}
	.scroll_header #container {
		padding-top: 0;
	}
	.scroll_header header {
		position: relative;
		background: transparent;
	}
	.scroll_header header h1 img,
	.scroll_header header .logo img {
		max-width: 110px;
	}
	.scroll_header header .sp_menu_wrap .sp_menu_btn {
		position: fixed;
		top: 5px;
		right: 5px;
		animation: 600ms fadeIn forwards;
	}
	.scroll_header header .sp_menu_wrap .sp_menu_btn span {
		box-shadow: #222 0 -1px 1px;
	}
}

/*-----------------------------------------
	sp menu btn
-----------------------------------------*/
@media only screen and (max-width: 767px) {
	.sp_menu_wrap {
		position: absolute;
		top: 5px;
		right: 5px;
		display: flex;
	}
	.sp_menu_wrap .sp_menu_btn {
		position: relative;
	}
	.sp_menu_wrap .sp_menu_btn #btn_menu {
		display: block;
		width: 50px;
		height: 50px;
	}
	.sp_menu_wrap .sp_menu_btn #btn_menu span {
		position: absolute;
		left: 50%;
		display: inline-block;
		width: 22px;
		height: 3px;
		background-color: #fff;
		-webkit-transition: all .2s ease-out;
		        transition: all .2s ease-out;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
	.sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(1) {
		top: 15px;
		-webkit-transform: translateX(-50%) rotate(0);
		        transform: translateX(-50%) rotate(0);
	}
	.sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(2) {
		top: 24px;
		-webkit-transform: translateX(-50%) scale(1);
		        transform: translateX(-50%) scale(1);
	}
	.sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(3) {
		top: 33px;
		-webkit-transform: translateX(-50%) rotate(0);
		        transform: translateX(-50%) rotate(0);
	}
	body:not(#site_index) .sp_btn {
		display: none;
	}
	body:not(#site_index) header .sp_menu_wrap .sp_menu_btn {
		position: fixed;
		top: 5px;
		right: 5px;
		animation: 600ms fadeIn forwards;
	}
	body:not(#site_index) header .sp_menu_wrap .sp_menu_btn span {
		box-shadow: #222 0 -1px 1px;
	}
	.layer_bg {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 21;
		display: none;
		background: rgba(255,255,255,.8);
	}
}

@media only screen and (min-width: 767px) {
	.sp_menu_wrap,
	.layer_bg {
		display: none;
	}
}
/*-----------------------------------------
	sp menu
-----------------------------------------*/
@media only screen and (max-width: 767px) {
	#sp_menu {
		position: fixed;
		top: 0;
		right: -75%;
		z-index: 22;
		width: 75%;
		background: #222;
		-webkit-transition: all .3s ease-out;
		        transition: all .3s ease-out;
	}
	#sp_menu a {
		color: #fff;
	}
	#sp_menu .sp_menu_header {
		position: relative;
		height: 56px;
	}
	#sp_menu .sp_menu_header .logo_mark {
		position: absolute;
		top: 15px;
		left: 5%;
	}
	#sp_menu .sp_menu_wrap .sp_menu_btn #btn_menu span {
		width: 15px;
	}
	#sp_menu .sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(1) {
		top: 26px;
		-webkit-transform: translateX(-50%) rotate(45deg);
		        transform: translateX(-50%) rotate(45deg);
	}
	#sp_menu .sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(2) {
		display: none;
	}
	#sp_menu .sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(3) {
		top: 26px;
		-webkit-transform: translateX(-50%) rotate(-45deg);
		        transform: translateX(-50%) rotate(-45deg);
	}
	#sp_menu .inner {
		overflow-y: auto;
		height: 100vh;
	}
	#sp_menu .inner::-webkit-scrollbar {
		width: 5px;
	}
	#sp_menu .inner::-webkit-scrollbar-track {
		border-radius: 5px;
		background: #eee;
	}
	#sp_menu .inner::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: #666;
	}
	#sp_menu .inner > ul {
		padding: 0 4% 26px;
	}
	#sp_menu .inner > ul > li {
		border-bottom: 1px solid rgba(255,255,255,.25);
	}
	#sp_menu .inner > ul > li > a {
		position: relative;
		display: block;
		padding: 14px 20px 14px 0;
		font-weight: 700;
	}
	#sp_menu .inner > ul > li > a:before {
		position: absolute;
		top: 50%;
		right: 0;
		color: #fff;
		content: "\e90b";
		font-size: 1.6rem;
		font-family: "tsb";
		line-height: 1;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
	#sp_menu .inner > ul > li.type_btn {
		display: none;
	}
	#sp_menu .inner > ul > li.target_list {
		margin: 20px 0 26px;
		border: none;
	}
	#sp_menu .inner > ul > li.target_list ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-align: center;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
	}
	#sp_menu .inner > ul > li.target_list li {
		width: 50%;
	}
	#sp_menu .inner > ul > li.target_list li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-align: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		min-height: 42px;
		width: 100%;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		letter-spacing: 0;
		font-weight: 700;
		font-size: 1.2rem;
	}
	#sp_menu .inner > ul > .sp_oc a,
	#sp_menu .inner > ul > .sp_doc_req a {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-align: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		font-weight: 700;
		font-family: "Lato", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	}
	#sp_menu .inner > ul > li.sp_oc {
		margin: 0 0 8px;
		border: 1px solid #fff;
		background: url(/files/common/oc_banner_bg.png) no-repeat center center;
		background-size: 100% 100%;
	}
	#sp_menu .inner > ul > li.sp_oc a {
		color: #fff;
	}
	#sp_menu .inner > ul > li.sp_oc a:before {
		content: none;
	}
	#sp_menu .inner > ul > li.sp_doc_req a {
		position: relative;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		padding: 14px 0;
		background: #fff;
		color: #30A2F0;
	}
	#sp_menu .inner > ul > li.sp_doc_req a:before {
		position: static;
		margin: 0 5px 0 0;
		color: #30A2F0;
		content: "\e93a";
		vertical-align: middle;
		font-size: 2rem;
		font-family: "tsb";
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	#sp_menu .mddWrap {
		position: fixed;
		top: 56px;
		right: -73%;
		bottom: 0;
		z-index: 23;
		width: 73%;
		background: #e8e8e8;
		-webkit-transition: all .3s ease-out;
		        transition: all .3s ease-out;
	}
	#sp_menu .mddWrap ul {
		overflow-y: auto;
		padding: 0 4%;
		height: 70vh;
	}
	#sp_menu .mddWrap ul::-webkit-scrollbar {
		width: 5px;
	}
	#sp_menu .mddWrap ul::-webkit-scrollbar-track {
		border-radius: 5px;
		background: #eee;
	}
	#sp_menu .mddWrap ul::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: #666;
	}
	#sp_menu .mddWrap li {
		border-bottom: 1px solid #ccc;
	}
	#sp_menu .mddWrap a {
		position: relative;
		display: block;
		padding: 13px 0;
		color: #222;
		font-weight: 700;
	}
	#sp_menu .mddWrap .menu_back {
		padding: 13px 4%;
		color: #30A2F0;
	}
	#sp_menu .mddWrap .menu_back:before {
		display: inline-block;
		margin: 0 5px 0 -5px;
		content: "\e90b";
		vertical-align: middle;
		font-size: 1.6rem;
		font-family: "tsb";
		line-height: 1;
		-webkit-transform: rotate(180deg);
		        transform: rotate(180deg);
	}
	.menu_open #sp_menu {
		right: 0;
	}
	.menu_open #sp_menu .active .mddWrap {
		right: 0;
	}
}

@media only screen and (min-width: 1200px) {
	#sp_menu {
		display: none;
	}
}

/*-----------------------------------------
	sp_fixed_nav
-----------------------------------------*/
.sp_fixed_nav {
	display: none;
}
@media only screen and (max-width: 767px) {
	.sp_fixed_nav {
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 20;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: 100%;
		height: 48px;
		background: #fff;
	}
	.sp_fixed_nav li {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 50%;
	}
	.sp_fixed_nav li a {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-align: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 100%;
		font-weight: 700;
		font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	}
	.sp_fixed_nav li.sp_oc {
		background: url(/files/common/oc_banner_bg.png) no-repeat center center;
		background-size: 100% 100%;
	}
	.sp_fixed_nav li.sp_oc a {
		color: #fff;
	}
	.sp_fixed_nav li.sp_doc_req a {
		position: relative;
	}
	.sp_fixed_nav li.sp_doc_req a:before {
		margin: 0 10px 0 0;
		color: #30A2F0;
		content: "\e93a";
		vertical-align: middle;
		font-size: 2rem;
		font-family: "tsb";
	}
}

/*-----------------------------------------
	cta
-----------------------------------------*/
.cta_wrap {
	position: relative;
	margin: 0 auto;
	padding: 60px 0 0;
}
.cta_wrap::before {
	position: absolute;
	top: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 60px;
	background-color: #fff;
	content: "";
}
.cta_wrap .back_img_set {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	overflow: hidden;
	margin: 0 auto;
	width: 100%;
	height: 100%;
	background: url(/files/top/bg_movie.jpg) no-repeat center center;
	background-attachment: fixed;
	background-size: cover;
	opacity: 1;
}
.cta_wrap .back_img_set::before {
	position: absolute;
	top: 0;
	z-index: 3;
	display: block;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(45deg, rgba(0,0,0,.2) 50%, rgba(0,0,0,.4) 50%);
	background-attachment: fixed;
	background-size: 4px 4px;
	content: "";
}
.cta_wrap .back_img_set::after {
	position: absolute;
	top: 0;
	z-index: 2;
	display: block;
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(255, 63, 121, .1) 0%, rgba(45, 117, 255, .1) 100%);
	background-attachment: fixed;
	content: "";
}
.cta_wrap .cta_field {
	position: relative;
	margin: 0 auto;
	padding: 80px 0;
	background: #696969;
}
.cta_wrap .cta_field .cont_outer {
	color: #fff;
	text-align: right;
}
.cta_wrap .cta_field .cont_outer::after {
	position: absolute;
	top: -110px;
	display: block;
	width: 478px;
	height: 230px;
	background: url(/files/common/cta_copy.png);
	background-size: cover;
	content: "";
}
.cta_wrap .cta_field::before {
	position: absolute;
	top: 0;
	display: block;
	width: 10%;
	height: 100%;
	background-color: #fff;
	content: "";
}
.cta_wrap .cta_field::after {
	position: absolute;
	bottom: 0;
	display: block;
	width: 10%;
	height: 160px;
	background-color: #f2f1ed;
	content: "";
}
.cta_wrap .cta_field h3 {
	margin-bottom: 24px;
	letter-spacing: 8px;
	font-weight: bold;
	font-size: 2.5rem;
}
.cont_outer_title {
    margin-bottom: 24px;
    letter-spacing: 8px;
    font-weight: bold;
    font-size: 2.5rem;
    line-height: 1.5;
}
.cta_wrap .cta_field p {
	margin-bottom: 40px;
	line-height: 2.4;
}
.cta_field li a {
	position: relative;
	display: block;
	padding: 40px 0;
	background-color: #fff;
	text-align: center;
	white-space: nowrap;
	font-weight: normal;
	font-size: 1.4rem;
}
.cta_field li a span {
	display: block;
	padding-bottom: 4px;
	font-weight: bold;
	font-size: 2rem;
}
.cta_field li::after {
	position: absolute;
	top: 50%;
	right: 16px;
	display: block;
	color: #222;
	content: "\e93c";
	font-size: 1rem;
	font-family: "tsb";
	-webkit-transform: translateY(-50%); /* Safari用 */
	        transform: translateY(-50%);
}
.cta_field li a.cta_contact span {
	color: #ff3563;
	transition: all .4s ease;
}
.cta_field li a:hover span {
	letter-spacing: .4rem;
}
.cta_field li a.cta_oc span {
	color: #fe41c0;
	transition: all .4s ease;
}
.cta_field li a.cta_dr span {
	color: #766deb;
	transition: all .4s ease;
}
.cta_field .clm_3 > li {
	position: relative;
	margin-right: 0;
	width: 32.5%;
}
.cta_field .clm_3 {
	justify-content: space-between;
}
.corners_line {
	position: relative;
	box-sizing: border-box;
	border: 0 solid #fff;
	background: #fff;
}
.corners_line::before,
.corners_line::after,
.corners_line span::before,
.corners_line span::after {
	position: absolute;
	display: block;
	content: "";
}
/* 上 */
.corners_line::before {
	top: 0;
	right: 0;
	width: 0;
	height: 5px;
	background: linear-gradient(to left, #528eff, #ff3176);
	transition: width 300ms;
}
/* 右 */
.corners_line::after {
	top: 0;
	right: 0;
	width: 5px;
	height: 0;
	background-color: #528eff;
	transition: height 300ms;
}
/* 下 */
.corners_line span::before {
	bottom: 0;
	left: 0;
	width: 0;
	height: 5px;
	background: linear-gradient(to left, #528eff, #ff3176);
	transition: width 300ms;
}
/* 左 */
.corners_line span::after {
	bottom: 0;
	left: 0;
	width: 5px;
	height: 0;
	background-color: #ff3176;
	transition: height 300ms;
}
.corners_line:hover::before {
	width: 100%;
}
.corners_line:hover::after {
	height: 100%;
}
.corners_line:hover span::before {
	width: 100%;
}
.corners_line:hover span::after {
	height: 100%;
}
.cta_wrap_short {
	position: relative;
	margin: 0 auto;
	padding: 0;
}
.cta_wrap_short::after {
	position: absolute;
	bottom: 0;
	display: block;
	width: 100%;
	height: 50%;
	background: #f2f2f2;
	content: "";
}
.cta_wrap_short li a {
	position: relative;
	display: block;
	padding: 40px 20px 40px 65px;
	background-color: #fff;
	text-align: left;
	white-space: nowrap;
	font-weight: normal;
	font-size: 1.2rem;
	transition: all .4s ease;
}
.cta_wrap_short li a span {
	display: block;
	padding-bottom: 0;
	font-weight: bold;
	font-size: 1.4rem;
	transition: all .4s ease;
}
.cta_wrap_short li a::after {
	position: absolute;
	top: 50%;
	right: 16px;
	display: block;
	content: "\e93c";
	font-size: 1rem;
	font-family: "tsb";
	-webkit-transform: translateY(-50%); /* Safari用 */
	        transform: translateY(-50%);
}
.cta_wrap_short li a.cta_oc {
	border: 1px solid #30a9ee;
}
.cta_wrap_short li a.cta_oc span,
.cta_wrap_short li a.cta_oc::after {
	color: #30a9ee;
}
.cta_wrap_short li a.cta_oc::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 16px;
	display: block;
	margin: auto;
	width: 45px;
	height: 45px;
	background: url(/files/common/icon_oc.png) no-repeat center center;
	background-size: 40px 40px;
	content: "";
}
.cta_wrap_short li a.cta_oloc {
	background: linear-gradient(-45deg, #33e5e5,#30a2f0);
	color: #fff;
}
.cta_wrap_short li a.cta_oloc::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 16px;
	display: block;
	margin: auto;
	width: 45px;
	height: 45px;
	background: url(/files/common/icon_oloc.png) no-repeat center center;
	background-size: 40px 40px;
	content: "";
}
.cta_wrap_short li a.cta_dr {
	background: linear-gradient(-45deg, #e83d99, #ff3b3b);
	color: #fff;
}
.cta_wrap_short li a.cta_dr::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 16px;
	display: block;
	margin: auto;
	width: 45px;
	height: 45px;
	background: url(/files/common/icon_dr.png) no-repeat center center;
	background-size: 40px 40px;
	content: "";
}
/* Hover */
@media only screen and (min-width: 767px) {
	.cta_wrap_short li a::before,
	.cta_wrap_short li a::after {
		-webkit-transition: opacity .4s ease;
		        transition: opacity .4s ease;
	}
	.cta_wrap_short li a:hover span {
		letter-spacing: .3rem;
		opacity: .7;
	}
	.cta_wrap_short li a:hover::before,
	.cta_wrap_short li a:hover::after {
		opacity: .7;
	}
	.cta_wrap_short li a.cta_oc:hover {
		background: #fafafa;
		color: rgba(34,34,34,.7);
		opacity: 1;
	}
	.cta_wrap_short li a.cta_oloc:hover {
		color: rgba(255,255,255,.7);
		opacity: 1;
	}
	.cta_wrap_short li a.cta_dr:hover {
		color: rgba(255,255,255,.7);
		opacity: 1;
	}
}
@media only screen and (max-width: 1080px) {
	.cta_wrap_short li a::after {
		display: none;
	}
	.cta_wrap_short li a:hover span {
		letter-spacing: 1.4px;
	}
}
@media only screen and (max-width: 767px) {
	.cta_wrap .cta_field {
		padding: 40px 0;
	}
	.cta_wrap .cta_field h3 {
		text-align: right;
	}
	.cta_wrap .cta_field h3 span {
		font-size: 1.9rem;
	}
	.cta_wrap .cta_field > div {
		padding: 0 4%;
		width: 100%;
	}
	.cta_wrap .cta_field .cont_outer::after {
		top: -60px;
		left: 19px;
		width: 250px;
		height: 120px;
		transform: rotate(-3deg);
	}
}
/*-----------------------------------------
	footer
-----------------------------------------*/
footer {
	margin: 0 auto;
	background: #f2f2f2;
}
body:not(.tab_view) footer a.logo:hover,
footer a.logo:hover img {
	opacity: 1;
}
/* target */
.target {
	background-color: #f2f1ed;
}
.target ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 auto;
	padding: 40px 4%;
	max-width: calc(1366px + 8%);
}
.target ul li {
	padding: 6px 1%;
	border-right: 1px solid #ccc;
	text-align: center;
}
.target ul li:last-of-type {
	border-right: none;
}
.target a {
	color: #222;
	font-weight: 400;
}
.target ul li br {
	display: none;
}
footer .inner {
	margin: 0 auto;
	padding: 45px 80px 30px;
	background-color: #fff;
}
footer .inner:last-child {
	background-color: #222;
}
/* sitemap */
footer .ft_sitemap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 0 20px;
}
footer .ft_sitemap .row {
	margin: 0 2% 0 0;
	width: 20%;
	border-left: 1px solid #d8d8d8;
}
footer .ft_sitemap dl.row_second {
	margin-top: 32px;
}
footer .ft_sitemap .row:first-of-type {
	min-width: 250px;
	border-left: none;
}
footer .ft_sitemap .row:last-of-type {
	margin: 0;
}
footer .ft_sitemap dt {
	position: relative;
	margin: 0 0 16px;
	padding: 0 0 0 20px;
	font-weight: 700;
	font-size: 1.6rem;
}
footer .ft_sitemap dl a {
	position: relative;
	display: block;
	color: #222;
}
footer .ft_sitemap ul {
	display: flex;
	align-items: center;
	flex-flow: row wrap;
	padding: 0 0 0 20px;
	letter-spacing: 0;
}

footer .ft_sitemap .info_area ul {
	margin-bottom: 16px;
	padding: 0;
}
footer .ft_sitemap .info_area ul a {
	padding: 0;
}
footer .ft_sitemap .info_area .about img {
	margin: 8px 0 24px 0;
	max-width: 90%;
}
footer .ft_sitemap .info_area li.freedial,
footer .ft_sitemap .info_area li.dial {
	width: 50%;
}
footer .ft_sitemap .info_area .address::before {
	position: absolute;
	top: 2px;
	left: 0;
	display: inline-block;
	margin-right: 8px;
	width: 20px;
	height: 20px;
	border-radius: 100px;
	background: url(/files/common/address.png);
	background-size: cover;
	content: "";
}
footer .ft_sitemap .info_area .freedial::before {
	position: relative;
	top: 5px;
	display: inline-block;
	margin-right: 8px;
	width: 20px;
	height: 16px;
	background: url(/files/common/free.png) no-repeat center center;
	background-size: contain;
	content: "";
}
footer .ft_sitemap .info_area .dial::before {
	position: relative;
	top: 3px;
	left: 5px;
	display: inline-block;
	margin-right: 8px;
	width: 20px;
	height: 16px;
	border-radius: 100px;
	background: url(/files/common/call.png) no-repeat center center;
	background-size: contain;
	content: "";
}
footer .ft_sitemap .info_area .btn_area ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	width: 100%;
}
footer .ft_sitemap .btn_area li.ft_contact,
footer .ft_sitemap .btn_area li.ft_document {
	padding: 0;
	width: 50%;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	text-align: center;
}
footer .ft_sitemap .btn_area li.ft_contact a,
footer .ft_sitemap .btn_area li.ft_document a {
	display: block;
	padding: 8px;
	width: 100%;
	height: 100%;
}
footer .ft_sitemap .info_area .btn_area ul li img {
	width: 100%;
}
footer .ft_sitemap .info_area li.address {
	position: relative;
	margin-bottom: 6px;
	padding-left: 29px;
	width: 100%;
	text-align: left;
}

footer .ft_sitemap .btn_area li.ft_contact {
	border-left: 1px solid #ccc;
}
footer .ft_sitemap .btn_area li.ft_contact a::before {
	position: relative;
	top: 1px;
	display: inline-block;
	margin-right: 4px;
	color: #f43c67;
	content: "\e943";
	font-size: 1.6rem;
	font-family: tsb;
}
footer .ft_sitemap .btn_area li.ft_document a::before {
	position: relative;
	top: 1px;
	display: inline-block;
	margin-right: 2px;
	color: #f43c67;
	content: "\e93f";
	font-size: 1.6rem;
	font-family: tsb;
}
footer .ft_sitemap li {
	margin: 0 0 8px;
	width: 100%;
}
footer .ft_sitemap li a {
	color: #444;
	letter-spacing: 0;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.8;
}
footer .ft_sitemap .other li {
	margin: 0 0 16px;
}
footer .ft_sitemap .other li a {
	font-weight: 700;
	font-size: 1.6rem;
}

/* btm_field */
footer .btm_field {
	background: #3d3d3d;
	color: #fff;
}
footer .btm_field .info_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
footer .btm_field .about img {
	display: block;
	margin: 0 0 15px;
}
footer .btm_field .about li {
	display: inline-block;
}
footer .btm_field .about .address {
	position: relative;
	padding: 0 0 0 25px;
	background: url(/files/common/icon_zip.svg) no-repeat center left;
}
footer .btm_field .about .freedial {
	position: relative;
	margin: 0 0 0 20px;
	padding: 0 0 0 25px;
	background: url(/files/common/icon_freedial.svg) no-repeat center left;
}
footer .btm_field .certification {
	padding: 8px;
	border: 1px solid #fff;
	font-size: 1.3rem;
}
footer .btm_field .certification span {
	font-weight: 700;
	font-size: 1.9rem;
}

/* copy_area */
footer .bottom_inner {
	margin: 0 auto;
	padding: 24px 0 24px;
}
.copy_area ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	color: #ccc;
}
.copy_area li {
	padding: 0 24px;
	border-right: 1px solid #ccc;
	text-align: center;
}
.copy_area a {
	color: #ccc;
}
.copy_area li:last-child {
	border: none;
}
.copyright {
	position: fixed;
	top: 50%;
	left: 24px;
	z-index: 1;
	display: block;
	width: 16px;
	height: 367px;
	background: url(/files/common/copy.svg) no-repeat center center;
	background-size: 16px 367px;
	-ms-writing-mode: tb-rl;
	text-align: center;
	white-space: nowrap;
	opacity: .5;
	-webkit-transform: translateY(-50%); /* Safari用 */
	        transform: translateY(-50%);
	    writing-mode: vertical-rl;
}
.copyright p {
	visibility: hidden;
}
#site_index .copyright {
	opacity: 1;
}

@media only screen and (max-width: 1420px) {
	footer .ft_sitemap .btn_area li.ft_contact,
	footer .ft_sitemap .btn_area li.ft_document {
		padding: 0;
		width: 50%;
		text-align: center;
	}
	footer .ft_sitemap .btn_area li.ft_contact {
		border-right: none;
	}
	footer .ft_sitemap .btn_area li.ft_document {
		border-left: 1px solid #ccc;
	}
	.target li {
		padding: 6px 16px;
	}
}


@media only screen and (max-width: 1260px) {
	footer .inner {
		padding: 45px 4% 30px;
	}
	.target li {
		padding: 6px 8px;
	}
	.copyright {
		position: fixed;
		top: 50%;
		left: 8px;
		width: 9px;
		height: 367px;
		background: url(/files/common/copy.svg) no-repeat center center;
		background-size: 9px auto;
		-ms-writing-mode: tb-rl;
		text-align: center;
		white-space: nowrap;
		opacity: .5;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		writing-mode: vertical-rl;
	}
}
@media only screen and (max-width: 1180px) {
	.target ul li {
		padding: 6px 2%;
	}
	.target ul li br {
		display: inline-block;
		font-size: 0 !important;
	}
}

@media only screen and (min-width: 767px) {
	.target a,
	footer .ft_sitemap li a,
	footer .ft_sitemap dl a,
	.copy_area a {
		display: inline;
		background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
		transition: background-size 200ms;
	}
	.target a:hover,
	footer .ft_sitemap li a:hover,
	footer .ft_sitemap dl a:hover,
	.copy_area a:hover {
		background-size: 100% 1px;
	}
	footer .ft_sitemap .info_area .btn_area ul li a {
		display: block;
		background: none;
		-webkit-transition: all .3s ease-out;
		        transition: all .3s ease-out;
	}
}

@media only screen and (max-width: 767px) {
	footer {
		padding-bottom: 50px;
		background: #fafafa;
	}
	.target ul {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		padding: 0;
	}
	.target ul li {
		margin: 0;
		padding: 0;
		width: 50%;
		border-right: none;
	}
	.target ul li br {
		display: block;
	}
	.target ul li:nth-child(2n),
	.target li:last-child {
		border-right: none;
	}
	.target li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-align: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		min-height: 64px;
		width: 100%;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
	}
	.target li li:nth-child(2n) a {
		border-right: none;
	}
	.target li:last-child {
		width: 100%;
	}
	.cta_field .cont_outer::after {
		top: -129px;
		left: 19px;
		width: 250px;
		height: 120px;
		transform: rotate(7deg);
	}
	.cta_field::before {
		top: -1px;
		width: 5%;
	}
	.cta_field h3 {
		margin-bottom: 16px;
		padding-left: 10%;
		text-align: left;
		font-size: 2.4rem;
	}
	.cta_field p {
		margin-bottom: 24px;
		padding-left: 10%;
		text-align: left;
	}
	.cta_field .clm_3 {
		display: block;
	}
	.cta_field .cont_outer {
		padding-right: 0;
	}
	.cta_field .clm_3 > li {
		margin-left: 10%;
		width: 100%;
	}
	.cta_field li a {
		margin-top: 16px;
		padding: 24px;
		text-align: left;
		font-weight: bold;
	}
	.cta_field li::after {
		right: 15%;
	}
	.cta_field::after {
		bottom: -1px;
		width: 5%;
		height: 30%;
	}
	.cta_wrap_short {
		padding-bottom: 40px;
	}
	.cta_wrap_short::after {
		display: none;
	}
	.cta_wrap_short li a {
		margin-top: 8px;
		padding: 24px 24px 24px 65px;
		text-align: left;
		font-weight: bold;
	}
	.cta_wrap_short li a::after {
		display: block;
	}
	footer .inner {
		padding: 0;
		width: 100%;
	}
	footer .ft_sitemap {
		display: block;
		margin: 0;
	}
	footer .ft_sitemap .row,
	footer .ft_sitemap .row:last-of-type {
		margin: 0;
		width: 100%;
		height: auto !important;
		border: none;
		border-bottom: 1px solid #b9b9b9;
	}
	footer .ft_sitemap dl {
		margin: 0;
	}
	footer .ft_sitemap dt {
		margin: 0;
		padding: 0;
		border-bottom: 1px solid rgba(255,255,255,.2);
		font-size: 1.5rem;
	}
	footer .ft_sitemap dt:after {
		content: none;
	}
	footer .ft_sitemap dt a {
		position: relative;
		display: block;
		padding: 15px 55px 15px 5%;
	}
	footer .ft_sitemap dt > span {
		position: absolute;
		top: 0;
		right: 0;
		display: block;
		width: 55px;
		height: 100%;
		text-align: center;
		cursor: pointer;
	}
	footer .ft_sitemap dt > span:before {
		position: absolute;
		top: 15px;
		right: 17px;
		color: #30A2F0;
		content: "\e92a";
		font-weight: 400;
		font-size: 1.5rem;
		font-family: "tsb";
		-webkit-transition: all .3s ease-out;
		        transition: all .3s ease-out;
	}
	footer .ft_sitemap dt.switch > span:before {
		content: "\e924";
	}
	footer .ft_sitemap dd {
		display: none;
		border-left: 0;
	}
	footer .ft_sitemap dd ul {
		padding: 0 0 15px 5%;
	}
	footer .ft_sitemap li {
		margin: 0 0 18px;
		width: 100%;
	}
	footer .ft_sitemap .row:last-of-type {
		border: none;
	}
	footer .ft_sitemap .other {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		padding: 0;
	}
	footer .ft_sitemap .other li {
		margin: 0;
		width: 50%;
		text-align: center;
	}
	footer .ft_sitemap .other li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-align: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		min-height: 60px;
        padding: 10px;
		width: 100%;
		border-right: 1px solid #b9b9b9;
		border-bottom: 1px solid #b9b9b9;
		font-size: 1.5rem;
		line-height: 1.6;
	}
	footer .ft_sitemap .other li:nth-child(2n) a {
		border-right: none;
	}
	footer .btm_field .info_area {
		display: block;
		margin: 0 auto;
		padding: 50px 0 0;
		width: 92%;
	}
	footer .btm_field .info_area .about {
		margin: 0 auto;
		width: 90%;
	}
	footer .btm_field .info_area .about li {
		display: block;
	}
	footer .btm_field .about .freedial {
		margin: 5px 0 0 0;
	}
	footer .btm_field .about .address a,
	footer .btm_field .about .freedial a {
		color: #fff;
	}
	footer .btm_field .certification {
		margin: 30px 0 0;
	}
	footer .ft_sitemap .info_area .about img {
		display: block;
		margin: 0;
		padding: 8% 0;
		max-width: 90%;
	}
	footer .ft_sitemap .info_area ul {
		margin: 0 auto;
		margin-bottom: 16px;
		padding: 0;
	}
	footer .ft_sitemap .info_area li.freedial,
	footer .ft_sitemap .info_area li.dial {
		display: block;
		margin-right: 0;
	}
	footer .ft_sitemap .info_area li {
		margin-bottom: 6px;
	}
	footer .ft_sitemap .info_area {
		padding: 4%;
	}
	footer .ft_sitemap dl.row_second {
		margin-top: 0;
		border-top: 1px solid #ccc;
	}
	footer .ft_sitemap .copy_area ul li {
		width: 100%;
		border-right: 1px solid #b9b9b9;
		border-bottom: 1px solid #b9b9b9;
	}
	.copy_area {
		display: block;
		margin: 0 auto 0;
		width: 100%;
	}
	.copy_area a {
		padding: 0;
	}
	.copy_area li {
		display: block;
		margin: 0;
		padding: 0;
		width: 50%;
		border-right: none;
		text-align: center;
	}
	.copy_area li:nth-of-type(odd) {
		border-right: 1px solid #5f5f5f;
	}

	.copy_area li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-align: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		min-height: 60px;
        padding: 10px 
		width: 100%;
		border-bottom: 1px solid #5f5f5f;
		font-size: 1.2rem;
		line-height: 1.6;
	}

	.copyright {
		position: relative;
		top: auto;
		left: auto;
		display: block;
		margin: 15px 0 0 0;
		width: auto;
		height: auto;
		background: none;
		-ms-writing-mode: horizontal-tb;
		text-align: center;
		letter-spacing: -.3px;
		font-size: 1.1rem;
		opacity: .5;
		-webkit-transform: translateY(0);
		        transform: translateY(0);

		    writing-mode: horizontal-tb;
	}

	.copyright p {
		visibility: inherit;
	}
	footer .bottom_inner {
		padding: 0 0 15px;
	}
}
@media only screen and (min-width: 767px) {
	footer .ft_sitemap dd {
		display: block !important;
	}
}

/*-----------------------------------------
	fixed top
-----------------------------------------*/
/* #fixed_top {
	position: fixed;
	right: -40px;
	bottom: 0;
	z-index: 9;
	vertical-align: middle;
	text-align: center;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
	-webkit-transform: rotate(90deg);
	        transform: rotate(90deg);
}
#fixed_top a {
	display: block;
	padding: 0 0 0 50px;
	color: transparent;
}
#fixed_top a:after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	height: 12px;
	color: #afafaf;
	content: "\e93c";
	font-weight: 400;
	font-size: 1.2rem;
	font-family: "tsb";
	line-height: 1;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
	-webkit-transform: scale(-1, 1);
	        transform: scale(-1, 1);
}
#fixed_top.stop {
	bottom: 150px;
}
#fixed_top.stop a {
	color: #afafaf;
}*/

/* PC Hover */
/* @media only screen and (min-width: 767px) {
	body:not(.tab_view) #fixed_top a:hover:after {
		left: -10px;
	}
}

@media only screen and (max-width: 767px) {
	#fixed_top {
		right: -50px;
		bottom: 15px;
	}
	#fixed_top a:after {
		font-size: 1rem;
	}
	#fixed_top.stop {
		bottom: 15px;
	}
	#fixed_top.stop a {
		color: transparent;
	}
} */
/* 202208更新 */
#fixed_top {
	vertical-align: middle;
	text-align: center;
	position: fixed;
	right: -12px;
	bottom: 240px;
	z-index: 9;
	-webkit-transform: rotate(90deg);
	        transform: rotate(90deg);
}
#fixed_top a {
	padding: 0 0 0 30px;
	display: block;
	text-align: center;
		color: #afafaf;
	font-size: 1.5rem;
	line-height: 1;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
}
#fixed_top a:after {
	content: "\e904";
	line-height: 1;
	font-family: 'tsb';
	font-size: 2rem;
	font-weight: 400;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%) rotate(-90deg);
	transform: translateY(-50%) rotate(-90deg);
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

/* PC Hover */
@media only screen and (min-width: 768px) {
	body:not(.tab_view) #fixed_top a:hover:after {
	left: -10px;
	}
}
@media only screen and (max-width: 767px) {
/* 0922に変更 */
	/* #fixed_top a {
		font-size: 1rem;
		padding: 30px 0 0;
		display: block;
		color: #FFF;
		font-family: 'Teko', sans-serif;
		font-weight: 400;
	}
#fixed_top {
		right: -30px;
		bottom: 110px;
		width: 70px;
		height: 50px;
		right: 6px;
		bottom: 40vw;
		z-index: 15;
		background: rgba(85,173,234,0.7);
		border-radius: 8px;
		transform: rotate(0deg);
	}
#fixed_top a:after {
		top: 10px;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}*/
#fixed_top {
		right: -35px;
    bottom: 200px;
	}
}
/*-----------------------------------------
	fixed_ao img
-----------------------------------------*/
#fixed_ao {
display: block;
z-index: 9;
    position: fixed;
    right: -26px;
    bottom: -36px;
}

#fixed_ao img {
display: block;
width: 100%;
}

@media only screen and (max-width: 767px) {
#fixed_ao {
display: block;
        z-index: 9;
        position: fixed;
        right: -113px;
        bottom: 34px;
}

#fixed_ao img {
display: block;	
width: 50%;
}
}
/*-----------------------------------------
	fixed_bottom_nav
-----------------------------------------*/
#fixed_bottom_nav {
	display: none;
}

@media only screen and (max-width: 767px) {
	#fixed_bottom_nav {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 9;
		display: table;
		width: 100%;
		height: 50px;
		/*opacity: 0;*/
		transition: all 600ms linear;
	}
	#fixed_bottom_nav.fadeup {
		/*animation: 600ms fadeUp forwards;*/
	}
	#fixed_bottom_nav a {
		display: table-cell;
		padding: 0 3px;
		height: 100%;
		color: #fff;
		vertical-align: middle;
		text-align: center;
		font-weight: bold;
		line-height: 1.2;
	}
	#fixed_bottom_nav .logo_mark {
		background: #fff;
width: 13%;
	}
	#fixed_bottom_nav .logo_mark img {
		width: 30px;
		height: auto;
	}
	#fixed_bottom_nav .open_campus {
		background: linear-gradient(-45deg, #33e5e5,#30a2f0);
		letter-spacing: 0;
width: 29%;
	}
	#fixed_bottom_nav .doc_req {
		/*background: rgba(0, 0, 0, .8);*/
background: #f37681;
width: 29%;
	}
	#fixed_bottom_nav .line_icon {
		background: #01b901;
width: 29%;
	}
	#fixed_bottom_nav .line_icon img {
		width: 50px;
		height: auto;
	}
}

@-webkit-keyframes fadeUp {
	from {
		bottom: -60px;
		opacity: 0;
	} to {
		opacity: 1;
	}
}
@keyframes fadeUp {
	from {
		bottom: -60px;
		opacity: 0;
	} to {
		opacity: 1;
	}
}

/*-----------------------------------------
	Hover
-----------------------------------------*/
.news_area a,
header #mddNav > ul > li.type_btn a,
.course_field li a,
.sns_field .sns_cont .youtube_list a,
.sns_icon li a,
#fixed_top a,
#fixed_bottom_nav a,
footer a {
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}

@media only screen and (min-width: 767px) {
	body:not(.tab_view) header #mddNav > ul > li.type_btn a:hover,
	body:not(.tab_view) .course_field li a:hover,
	body:not(.tab_view) .sns_field .sns_cont .youtube_list a:hover,
	body:not(.tab_view) .sns_icon li a:hover,
	body:not(.tab_view) #fixed_top a:hover,
	body:not(.tab_view) #fixed_bottom_nav a:hover,
	body:not(.tab_view) footer a:hover {
		opacity: .7;
	}
}
/*-----------------------------------------
	Section
-----------------------------------------*/
section,
div.target_field,
.sec_wrap {
	margin-top: 60px;
}

/* .sec_wrap ul.circle{
	margin-bottom: 60px;
} */


/*-----------------------------------------
	Heading
-----------------------------------------*/
h2.sec_head {
	margin-bottom: 40px;
	font-weight: bold;
	font-size: 3rem;
	line-height: 1.3;
}
h2.sec_head span:not([class]),
h2.sec_head span.ja {
	display: block;
	padding-top: 16px;
	font-weight: 400;
	font-size: 1.6rem;
}
h2.sec_head span:not([class])::before,
h2.sec_head span.ja::before {
	display: block;
	margin-bottom: 16px;
	width: 40px;
	height: 1px;
	background-color: #222;
	content: "";
}
h2.sec_head.mini::after {
	display: block;
	margin: 32px 0 40px;
	width: 40px;
	height: 1px;
	background-color: #222;
	content: "";
}
h2.sec_head .text_slim {
	font-weight: 300;
}
h3.third_head {
	margin-bottom: 40px;
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 3.6rem;
}
h3.third_head.mini {
	margin-bottom: 40px;
	font-weight: bold;
	font-size: 1.8rem;
}
h4 {
	margin-bottom: 32px;
	padding: 16px;
	background: #f7f7f7;
	font-weight: bold;
	font-size: 1.6rem;
}
.sub_box h4 {
	background: #fff;
}
div.sub_box.inve h4 {
	background: #f7f7f7;
}
h5 {
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: solid 1px #ccc;
	font-weight: bold;
	font-size: 1.5rem;
}
h6 {
	margin-bottom: 24px;
	padding-left: 16px;
	border-left: solid 4px #ccc;
	font-weight: bold;
	font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
	h2.sec_head {
		position: relative;
		display: flex;
		flex-flow: column wrap;
	}
	h2.sec_head.mini {
		display: block;
		margin: 0 auto;
		font-size: 2.6rem;
	}
	h2.sec_head.mini::after {
		margin: 16px 0 24px;
	}
	h2.sec_head span.ja,.en {
		order: 1;
		padding: 0 0 0 5px;
		font-weight: bold;
		font-size: 2.2rem;
		line-height: 2.5rem;
	}
	h2.sec_head span.ja::before {
		position: absolute;
		top: 1.25rem;
		left: -20px;
		margin: auto;
		width: 15px;
	}
	/*h2.sec_head span.en {
		display: block;
		order: 2;
		margin-top: 12px;
		padding: 0 0 0 5px;
		color: #a7a7a7;
		font-weight: bold;
		font-weight: 400;
		font-size: 1.3rem;
	}*/
}
/*-----------------------------------------
	editor_wrap
-----------------------------------------*/
.editor_wrap {
	margin-top: 80px;
}
.editor_wrap h3 {
	margin-bottom: 40px;
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 3.6rem;
}
.editor_wrap p {
	margin-bottom: 60px;
	font-size: 1.5rem;
	line-height: 3rem;
}

.editor_wrap ol.brackets,
.editor_wrap ol.ranking,
.editor_wrap ol.circle,
.editor_wrap ul.circle,
.editor_wrap ul.asterisk {
	margin-bottom: 60px;
}

/* img */
img.full {
	max-width: initial;
	width: 100%;
}
.editor_wrap img {
	max-width: 100%;
	height: auto;
}
.editor_wrap img .pc{
	max-width: 100%;
	height: auto;
}
@media screen and (min-width: 641px)
.editor_wrap img .sp{
	display: none;
}
.editor_wrap .img_c {
	display: block;
	margin: 0 auto 30px !important;
}
.editor_wrap .img_l,
.editor_wrap .mt-image-left {
	float: left;
	margin: 0 40px 30px 0 !important;
	max-width: 50%;
}
.editor_wrap .img_r,
.editor_wrap .mt-image-right {
	float: right;
	margin: 0 0 30px 40px !important;
	max-width: 50%;
}
.editor_wrap p::after {
	display: table;
	clear: both;
	content: "";
}
.editor_wrap .fig_center {
	margin: 0 auto 30px;
	display: table;
	text-align: center;
}
.editor_wrap .fig_left {
	max-width: 50%;
	margin: 0 40px 30px 0;
	float: left;
	display: table;
}
.editor_wrap .fig_right {
	max-width: 50%;
	margin: 0 0 30px 40px;
	float: right;
	display: table;
}
.editor_wrap .figwrap figcaption {
	display: table-caption;
	caption-side: bottom;
	margin: 10px 0 0;
	text-align: center;
	color: #999;
	line-height: 1.7;
}
.editor_wrap .clm_2 > *,
.editor_wrap .clm_3 > *,
.editor_wrap .clm_4 > * {
	margin-bottom: 30px;
}

@media only screen and (max-width: 767px) {
	.editor_wrap .img_c {
		display: block;
		margin: 0 auto 20px !important;
		width: 100%;
	}
	.editor_wrap .img_l {
		margin: 0 20px 20px 0;
	}
	.editor_wrap .img_r {
		margin: 0 0 20px 20px;
	}
	.editor_wrap .mt-image-left {
		margin: 0 20px 20px 0 !important;
	}
	.editor_wrap .mt-image-right {
		margin: 0 0 20px 20px !important;
	}
	.editor_wrap .mt-image-right,
	.editor_wrap .mt-image-left {
		max-width: 50%;
		height: auto;
	}
	.editor_wrap .fig_center {
		margin: 0 auto 20px;
	}
	.editor_wrap .fig_center img {
		max-width: none;
		max-width: initial;
		width: 100%;
	}
	.editor_wrap .fig_left {
		margin: 0 20px 0 0;
	}
	.editor_wrap .fig_right {
		margin: 0 0 0 20px;
	}
	.editor_wrap .figwrap figcaption {
		margin: 10px 0 0;
		font-size: 1rem;
		line-height: 1.5;
	}
	.editor_wrap .mt-image-right,
	.editor_wrap .mt-image-left {
		max-width: 50%;
		height: auto;
	}
}



/*-----------------------------------------
	tab_list
-----------------------------------------*/
ul.tab_list {
	display: flex;
	align-items: center;
	width: 100%;
}
ul.tab_list li {
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background-color: #fff;
}
ul.tab_list li:first-child {
	border-left: 1px solid #ccc;
}
ul.tab_list li.active {
	background-color: #222;
	background-image: linear-gradient(
	-45deg
	, rgba(255,255,255,.2) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,.2)50%,rgba(255,255,255,.2) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0) );
	background-size: 4px 4px;
	color: #fff;
}
ul.tab_list li.active a {
	color: #fff;
}
ul.tab_list li a {
	display: block;
	padding: 10px 5px;
	text-align:center;
	width: 100%;
	min-width: 120px;
	height: 100%;
	-webkit-transition: all .3s ease-out;
	        transition: all .3s ease-out;
}
@media only screen and (min-width: 767px) {
	ul.tab_list li a:hover {
		background-color: #666;
		background-image: linear-gradient(
		-45deg
		, rgba(255,255,255,.2) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,.2)50%,rgba(255,255,255,.2) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0) );
		background-size: 4px 4px;
		color: #fff;
	}
}
@media only screen and (max-width: 767px) {
	ul.tab_list {
		display: flex;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		align-items: center;
		justify-content: flex-start;
		white-space: nowrap;
	}
}

/*-----------------------------------------
	sns_icon
-----------------------------------------*/
.sns_p{
text-align: center; 
font-size: 1em;  
font-weight: bold;
background-color: #ffffff;
}
.sns_icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 auto;
	padding: 20px 0 60px;
	background: #fff;
}
.sns_icon li {
	margin: 0 15px;
}
.sns_icon li a {
	display: block;
	color: #000;
	text-align: center;
}
.sns_icon img {
	display: block;
	margin: 0 auto;
	width: 52px;
}
.pg_tsbworld .sns_icon {
	margin: -40px auto 20px;
}

@media only screen and (max-width: 767px) {
	.sns_icon {
		padding: 20px 10px 40px;
	}
	.pg_tsbworld .sns_icon {
		margin: 0 auto;
	}
	.sns_icon li {
		margin: 0 8px;
	}
	.sns_icon img {
		width: 37px;
	}
}
@media only screen and (max-width: 374px) {
	.sns_icon li {
		margin: 0 5px;
	}
}

/*-----------------------------------------
	SNS Field
-----------------------------------------*/
.sns_field {
	background-color: #fff;
}
.sns_field .embed_wrap {
	overflow-y: auto;
	padding: 0 4%;
	min-height: 500px;
	border: 6px solid #f2f1ed;
	position: relative;
}
.sns_field .embed_wrap.news {
	overflow-y: auto;
	padding: 0;
	min-height: 500px;
	border: 6px solid #f2f1ed;
}
.sns_field .embed_wrap.news {
	overflow-y: auto;
	padding: 0;
	min-height: 500px;
	border: 6px solid #f2f1ed;
}
.sns_field.content .embed_wrap {
	min-height: 670px;
}
ul.youtube_list {
	margin: 0 auto 24px;
	width: 94%;
}
ul.youtube_list li {
	margin-top: 24px;
}
ul.youtube_list .ttl {
	padding-top: 16px;
}
.sns_field li figure img {
	width: 100%;
}
.sns_field .embed_wrap h3 {
	margin: 40px auto 20px;
	width: 100%;
	font-weight: bold;
	font-size: 2.8rem;
	line-height: 1.3;
}
.sns_field .embed_wrap h3 span {
	margin-left: 16px;
	color: #a7a7a7;
	font-weight: normal;
	font-size: 1.3rem;
	font-family: "Lato", sans-serif;
}
.sns_field .embed_wrap h3::after {
	display: block;
	margin-top: 32px;
	width: 100%;
	height: 1px;
	background-color: #d3d0cd;
	content: "";
}
.news_list {
	overflow-y: auto;
	overflow-x: hidden;
    height: 100%;
	width: 100%;
	max-height: 480px;
	padding: 0 4%;
}
.news_list > li {
	position: relative;
	width: 100%;
	margin: 0 auto 16px;
	border-bottom: 1px solid #ccc;
}
.news_list > li:last-of-type {
	border-bottom: none;
}
.news_list li a {
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 20px 0;
	width: 100%;
	height: 100%;
	color: #222;
}

.news_list figure {
	width: 50%;
	max-width: 150px;
	margin: 0 4% 0 0;
}
.news_list figure img {
	position: relative;
	width: 100%;
	height: auto;
}
.news_list .news_info {
		flex-flow: row wrap;
		margin: 0 0 8px;
}
.news_list li .txt_info .news_info {
	display: flex;
	flex-flow: row wrap;
	margin: 0 0 8px;
	font-size: 1.3rem;
}
.news_list .txt_info .news_info .date {
	display: block;
	width: 100%;
	min-width: 100px;
	color: #888;
}
.news_list .ttl {
	margin: 0 0 4px;
	font-size: 1.3rem;
	font-weight: bold;
}
.news_list .tag_list span {
	display: inline-block;
	margin: 0 16px 0 0;
	color: #888;
	font-size: 1rem;
}
.embed_wrap.news .no_article {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	width: 90%;
	height: 150px;
	margin: auto;
}

/* Hover */
@media only screen and (min-width: 767px) {
	.news_list li a:hover {
		opacity: .7;
	}
}

@media only screen and (max-width: 767px) {
	.sns_field .embed_wrap {
		min-height: auto;
	}
	.sns_field.content .embed_wrap {
		min-height: auto;
	}
	ul.youtube_list {
		display: flex;
		justify-content: space-between;
	}
	ul.youtube_list li {
		width: 48%;
	}
	ul.youtube_list .ttl {
		padding-top: 8px;
	}
	.sns_field .embed_wrap h3 {
		margin: 24px auto 16px;
	}
	.sns_field .embed_wrap h3::after {
		margin-top: 16px;
	}
	.sns_field .embed_wrap h3 span {
		display: block;
		margin: 4px auto 0;
	}
}


/*-----------------------------------------
	scroll hint
-----------------------------------------*/
@-webkit-keyframes scroll-hint-appear {
	0% {
		opacity: 0;
		-webkit-transform: translateX(40px);
		        transform: translateX(40px);
	}
	10% {
		opacity: 1;
	}
	50%,
	100% {
		opacity: 0;
		-webkit-transform: translateX(-40px);
		        transform: translateX(-40px);
	}
}
@keyframes scroll-hint-appear {
	0% {
		opacity: 0;
		-webkit-transform: translateX(40px);
		        transform: translateX(40px);
	}
	10% {
		opacity: 1;
	}
	50%,
	100% {
		opacity: 0;
		-webkit-transform: translateX(-40px);
		        transform: translateX(-40px);
	}
}
.scroll-hint.is-right-scrollable {
	background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
.scroll-hint.is-right-scrollable.is-left-scrollable {
	background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
.scroll-hint.is-left-scrollable {
	background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
.scroll-hint-icon {
	position: absolute;
	top: calc(50% - 25px);
	left: calc(50% - 65px);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 20px 10px 10px 10px;
	width: 130px;
	height: 80px;
	border-radius: 5px;
	background: rgba(0, 0, 0, .7);
	text-align: center;
	opacity: 0;
	-webkit-transition: opacity .3s;
	        transition: opacity .3s;
}
.scroll-hint-icon-wrap {
	position: absolute;
	top: 0;
	left: 0;
	max-height: 100%;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.scroll-hint-text {
	margin-top: 5px;
	color: #fff;
	font-size: 10px;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
	opacity: .8;
}
_:-ms-lang(x)::-ms-backdrop,
.scroll-hint-icon-wrap {
	display: none;
}
.scroll-hint-icon:before {
	display: inline-block;
	width: 40px;
	height: 40px;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	color: #fff;
	content: "";
	vertical-align: middle;
	text-align: center;
}
.scroll-hint-icon:after {
	position: absolute;
	top: 10px;
	left: 50%;
	display: block;
	margin-left: -20px;
	width: 34px;
	height: 14px;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
	background-repeat: no-repeat;
	content: "";
	opacity: 0;
	-webkit-transition-delay: 2.4s;
	        transition-delay: 2.4s;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
	opacity: 1;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
	-webkit-animation: scroll-hint-appear 1.2s linear;
	        animation: scroll-hint-appear 1.2s linear;
	-webkit-animation-iteration-count: 2;
	        animation-iteration-count: 2;
}
.scroll-hint-icon-white {
	background-color: #fff;
	-webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
	        box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}
.scroll-hint-icon-white:before {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}
.scroll-hint-icon-white:after {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}
.scroll-hint-icon-white .scroll-hint-text {
	color: #222;
}

/*-----------------------------------------
	base table
-----------------------------------------*/
table {
	margin: 0 0 60px;
	width: 100%;
	border-collapse: collapse;
}
table caption {
	margin: 0 0 20px 0;
	text-align: left;
	word-break: break-all;
}
table th,
table td {
	vertical-align: middle;
}
table th {
	font-weight: bold;
}
table thead th,
table thead td {
	padding: 15px 20px;
}
table tfoot th,
table tfoot td {
	padding: 15px 20px;
}
table tbody th,
table tbody td {
	padding: 15px 20px;
	word-wrap: break-word;
}
table thead th,
table tbody th,
table tfoot th {
	border: 1px solid #fff;
	background: #222;
	color: #fff;
}
table thead + tbody th {
	background: #e5f4ff;
	color: #222;
}
table thead td,
table tbody td,
table tfoot td {
	border: 1px solid #fff;
	background: #f7f7f7;
}
table td > *:last-child {
	margin: 0;
}
.th_fixed th {
	width: 35%;
}

.th_fixed td.documents {
	width: 25%;
}

.th_fixed td.table_number {
	width: 5%;
	min-width: 80px;
	text-align: center;
}


@media only screen and (max-width: 768px) {
	table {
		margin: 0 0 20px;
	}
	table thead th,
	table thead td {
		padding: 10px 15px;
		font-size: 1.4rem;
	}
	table tbody th {
		font-size: 1.4rem;
	}
	table tbody td {
		font-size: 1.2rem;
	}
	table.noScroll tbody th,
	table.noScroll tbody td {
		display: block;
		margin-top: -1px;
		padding: 10px 15px;
		width: 100%!important;
	}
	.tblScroll {
		overflow-x: auto;
		margin: 0 0 20px;
	}
	.tblScroll table {
		margin: 0;
		width: 1120px;
	}
	.tblScroll tbody th,
	.tblScroll tbody td {
		display: table-cell;
		padding: 10px 15px;
		border: 1px solid #ebebeb;
	}
	.tblScroll tbody th {
		font-size: 1.4rem;
	}
	.tblScroll tbody td {
		font-size: 1.2rem;
	}
	.tblScroll::-webkit-scrollbar {
		height: 5px;
	}
	.tblScroll::-webkit-scrollbar-track {
		border-radius: 5px;
		background: #eee;
	}
	.tblScroll::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: #666;
	}
}
/*-----------------------------------------
	twitter-timeline style
-----------------------------------------*/
.twitter-timeline {
	color: #52a8dc;
	padding: 10px 0;
	display: inline-block;
}
.twitter-timeline:hover {
	text-decoration: underline;
}

/*-----------------------------------------
	ClearFix
-----------------------------------------*/
.clear::before,
.sns_field::before,
.clear::after,
.sns_field::after {
	display: table;
	content: "";
}
.clear::after,
.sns_field::after {
	clear: both;
}
/* .clear,
.sns_field {
	*zoom: 1;
} */
/*-----------------------------------------
	メニュー設定
-----------------------------------------*/
@media only screen and (max-width: 1200px) {
header {
    z-index: 21;
    display: block;
    width: 100%;
    height: 56px;
}
	.sp_menu_wrap {
		position: absolute;
		top: 5px;
		right: 5px;
		    display: block;
	}
.sp_menu_wrap .sp_menu_btn {
    position: relative;
}
header #mddNav {
    display: none;
}
.sp_menu_wrap .sp_menu_btn #btn_menu {
    display: block;
    width: 50px;
    height: 50px;
}
.sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(1) {
    top: 15px;
    -webkit-transform: translateX(-50%) rotate(0);
    transform: translateX(-50%) rotate(0);
}
.sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(2) {
    top: 24px;
    -webkit-transform: translateX(-50%) scale(1);
    transform: translateX(-50%) scale(1);
}
.sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(3) {
    top: 33px;
    -webkit-transform: translateX(-50%) rotate(0);
    transform: translateX(-50%) rotate(0);
}
.sp_menu_wrap .sp_menu_btn #btn_menu span {
    position: absolute;
    left: 50%;
    display: inline-block;
    width: 22px;
    height: 3px;
    background-color: #fff;
    -webkit-transition: all .2s ease-out;
    transition: all .2s ease-out;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.scroll_header header {
    background: rgba(255,255,255,.5);
    animation: 600ms fadeIn forwards;
}
header .inner {
    margin: 0 4%;
    padding: 0;
    border-bottom: 1px solid rgba(128,0,0,0);
}
.scroll_header header .sp_menu_wrap .sp_menu_btn {
    position: fixed;
    top: 5px;
    right: 5px;
    animation: 600ms fadeIn forwards;
}
.scroll_header header .sp_menu_wrap .sp_menu_btn span {
    box-shadow: #222 0 -1px 1px;
}
.menu_open #sp_menu {
    right: 0;
}
#sp_menu {
    position: fixed;
    top: 0;
    right: -75%;
    z-index: 22;
    width: 75%;
    background: #222;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
}
#sp_menu .inner {
    overflow-y: auto;
    height: 100vh;
}
#sp_menu .sp_menu_header {
    position: relative;
    height: 56px;
}
#sp_menu .sp_menu_header .logo_mark {
    position: relative;
     top: 15px;
        left: 10px;
}
#sp_menu .sp_menu_header img {
   height: 40px;
}
#sp_menu a {
    color: #fff;
}
#sp_menu .inner > ul {
    padding: 0 4% 26px;
}
#sp_menu .inner > ul > li {
    border-bottom: 1px solid rgba(255,255,255,.25);
}
#sp_menu .inner > ul > li > a {
    position: relative;
    display: block;
    padding: 14px 20px 14px 0;
    font-weight: 700;
}
#sp_menu a {
    color: #fff;
}
#sp_menu .inner > ul > li > a:before {
    position: absolute;
    top: 50%;
    right: 0;
    color: #fff;
    content: "\e90b";
    font-size: 1.6rem;
    font-family: "tsb";
    line-height: 1;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#sp_menu .mddWrap {
    position: fixed;
    top: 56px;
    right: -73%;
    bottom: 0;
    z-index: 23;
    width: 73%;
    background: #e8e8e8;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
}
#sp_menu .mddWrap .menu_back {
    padding: 13px 4%;
    color: #30A2F0;
}
#sp_menu .mddWrap a {
    position: relative;
    display: block;
    padding: 13px 0;
    color: #222;
    font-weight: 700;
}
#sp_menu .mddWrap .menu_back:before {
    display: inline-block;
    margin: 0 5px 0 -5px;
    content: "\e90b";
    vertical-align: middle;
    font-size: 1.6rem;
    font-family: "tsb";
    line-height: 1;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
#sp_menu .mddWrap ul {
    overflow-y: auto;
    padding: 0 4%;
    height: 70vh;
}
#sp_menu .mddWrap li {
    border-bottom: 1px solid #ccc;
}
body {
		min-width: auto;
		min-width: initial;
	}
#sp_menu .inner > ul > li.target_list {
    margin: 20px 0 26px;
    border: none;
}
#sp_menu .inner > ul > li.target_list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
}
#sp_menu .inner > ul > li.target_list li {
    width: 50%;
}
#sp_menu .inner > ul > li.target_list li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 42px;
    width: 100%;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    letter-spacing: 0;
    font-weight: 700;
    font-size: 1.2rem;
}
.menu_open #sp_menu .active .mddWrap {
    right: 0;
}
}
@media only screen and (min-width: 1200px) {
	.sp_menu_wrap,
	.layer_bg {
		display: none;
	}
}
/*-----------------------------------------
	pictureタグの画像
-----------------------------------------*/
    picture img{
        width: 100%; 
    }
/*-----------------------------------------
	学科ページCVボタン設定
-----------------------------------------*/
.cont_inner-btn{
margin-right: auto;
    margin-left: auto;
    width: 80%;
}
.clm_2-btn{
display: flex;
    flex-wrap: nowrap;
}
a.btn-oc {
  font-size: 1.6rem;
    display: block;
    color: #fff;
    border-radius: 100vh;
    background: linear-gradient(45deg, #33d2e2, #abd6f2);
    box-shadow: 0 5px 0 #869fac;
    border: solid 3px #30a9ee;
    text-align: left;
    padding: 20px 20px 20px 45px;
    margin: 15px;
    height: 90px;
}
a.btn-pamphlet {
  font-size: 2rem;
    display: block;
    color: #fff;
    border-radius: 100vh;
    background: #fff;
    box-shadow: 0 5px 0 #869fac;
    border: solid 3px #30a9ee;
    text-align: left;
    padding: 30px 20px 20px 45px;
    color: #30a9ee;
    margin: 15px;
    height: 90px;
}
.fa-position-left {
  position: absolute;
}
.fa-position-right {
  position: absolute;
}
.fa-angle-right::before {
position: absolute;
    right: 16px;
    display: block;
    font-size: 4rem;
    font-family: 'slick';
    line-height: 0.6;
    font-style: normal;
    content: "\e904";
    font-family: 'tsb';
    transform: rotate( 90deg );
}
a.btn-pamphlet i.fa-position-left {
  font-size: 3rem; 
  left: 2rem; 
  transform: translateY(-50%) translateX(-50%); 
}
.fa-position-left {
position: absolute;
top: calc(50% - 0.5em);
left: 1rem;
}
.fa-position-right {
position: absolute;
top: calc(50% - 0.5em);
right: 1rem;
}
@media only screen and (max-width: 767px){
.cont_inner-btn {
    width: 100%;
}
.clm_2-btn {
    display: block;
}
a.btn-oc {
    margin: 15px 0;
}
a.btn-pamphlet {
    margin: 15px 0;
}
}
/*-----------------------------------------
	学科ページインデックスボタン設定
-----------------------------------------*/
.department-btn-box{
display: flex;
flex-wrap: wrap;
width: 100%;
   margin: 100px 0 40px;
}
.department-btn_area {
    display: flex;
    margin-top: 24px;
    padding: 0 24px;
    width: 30%;
}
a.department-page_btn {
    position: relative;
    display: block;
    padding: 16px 34px 16px 16px;
    min-width: 275px;
    border: 1px solid #ccc;
    background: #fff;
}
a.department-page_btn::before {
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    display: block;
    margin: auto;
    width: 15px;
    height: 15px;
    content: "\e909";
    text-align: center;
    font-family: "tsb";
    line-height: 1;
}
@media only screen and (max-width: 767px){
.department-btn-box {
    margin: 20px 0;
}
.department-btn_area {
    padding: 10px;
    width: 50%;
    margin-top: 0px;
}
a.department-page_btn {
    min-width: 164px;
}
}
/*-----------------------------------------
	ロゴ変更に伴う変更
-----------------------------------------*/
@media only screen and (max-width: 1200px){
header {
    height: 65px;
}
header .logo {
	margin: 5px auto 0 0;
}
}
