@charset "UTF-8";

/*-- Convention Format - Parts --
----------------------------------

Media Queries 1500 1150 750 500

----------------------------------
----------------------------------*/

/*----------------------------------
	Content width
----------------------------------*/
.prt-box_full_mtb50 {
	margin: 50px auto;
	padding: 0 50px;
	width: 100%;
}

.prt-box_w1100 {
	margin: 0 auto;
	padding: 0 50px;
	max-width: 1200px;
	width: 100%;
}

.prt-box_w1100_mtb80 {
	margin: 80px auto;
	padding: 0 50px;
	max-width: 1200px;
	width: 100%;
}

.prt-box_w1100_np {
	margin: 0 auto;
	padding: 0;
	max-width: 1100px;
	width: 100%;
}

.prt-box_w1040 {
	margin: 0 auto;
	padding: 0 50px;
	max-width: 1140px;
	width: 100%;
}

.prt-box_w1040_mtb20 {
	margin: 20px auto;
	padding: 0 50px;
	max-width: 1140px;
	width: 100%;
}

.prt-box_w1040_mtb40 {
	margin: 40px auto;
	padding: 0 50px;
	max-width: 1140px;
	width: 100%;
}

.prt-box_w1040_mtb80 {
	margin: 80px auto;
	padding: 0 50px;
	max-width: 1140px;
	width: 100%;
}

.prt-box_w1100::after,
.prt-box_w1100_np::after,
.prt-box_w1040::after,
.prt-box_w1040_mtb40::after,
.prt-box_w1040_mtb80::after {
	content: "";
	display: table;
	clear: both;
}

/*----------------------------------
	Headline
----------------------------------*/
.prt-home_h2_01 {
	margin: 0 0 1em;
	padding-bottom: .3em;
	width: 100%;
	border-bottom: solid 2px rgb(15, 144, 188);
	font-size: 2rem;
	color: rgb(15, 144, 188);
	line-height: 1.3;
	text-align: center;
}

.prt-post_h2_01 {
	position: relative;
	margin: 3.5rem 0 2.5rem;
	width: 100%;
	font-size: 1rem;
	line-height: 1.5;
}

.prt-post_h2_01::before {
	position: absolute;
	top: -1em;
	left: -2.5em;
	content: "";
	display: block;
	width: 5.18rem;
	height: 5.18rem;
	background-size: contain;
	z-index: -1;
}

.prt-post_h2_01 .main {
	position: relative;
	display: block;
	margin-bottom: .3em;
	padding-bottom: .15em;
	font-size: 2.2em;
	font-weight: 500;
	color: rgb(131, 3, 62);
}

.prt-post_h2_01 .main::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 100px;
	border-top: solid 1px rgb(190, 190, 190);
}

.prt-post_h2_01 .sub {
	display: block;
	font-size: 1.125em;
	font-weight: 400;
	color: rgb(120, 120, 120);
}

.prt-h2_01 {
	margin: 0 0 1em;
	padding-bottom: .3em;
	width: 100%;
	border-bottom: solid 2px rgb(15, 144, 188);
	font-size: 1.875rem;
	color: rgb(15, 144, 188);
	line-height: 1.3;
	text-align: center;
}

.prt-h3_01 {
	margin: 1.8em 0 0 1em;
	padding-bottom: .3em;
	width: 100%;
	font-size: 1.5rem;
	font-weight: 700;
	color: rgb(60, 60, 60);
	line-height: 1.3;
}

.prt-h4_01 {
	position: relative;
	margin: 1.8em 0 .5em;
	padding: .1em .5em .1em 1.2rem;
	width: 100%;
	font-size: 1.125rem;
	font-weight: 700;
	color: rgb(60, 109, 127);
	line-height: 1.3;
}

.prt-h4_01::before {
	content: "";
	position: absolute;
	top: .8em;
	left: 0;
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 7px;
	border: solid 2px rgb(45, 189, 194);
	transform: translateY(-50%);
}

.prt-h5_01 {
	position: relative;
	margin: 1.8em 0 .5em;
	width: 100%;
	font-size: 1.125rem;
	font-weight: 700;
	color: rgb(84, 111, 143);
	line-height: 1.3;
}

.prt-h_sub {
	margin-bottom: 0;
	font-size: 1.5rem;
	font-weight: 700;
	color: rgb(15, 144, 188);
	line-height: 1.7;
}

/*----------------------------------
	Button
----------------------------------*/
/*-- Single --*/
.prt-button_01 {
	position: relative;
	display: inline-block;
	/*margin-right:.5em;*/
	padding: .3em 1.2em;
	border: solid 1px rgb(15, 144, 188);
	font-size: 1.125em;
	font-weight: 700;
	color: rgb(15, 144, 188);
	text-decoration: none;
	text-align: center;
	letter-spacing: .05em;
	transition: .15s ease-out;
	transition-property: background, color;
}

.prt-button_01::after {
	position: absolute;
	top: 50%;
	right: 5px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: .6em;
	height: .6em;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 93, 172, 1);
	border-width: .4em 0 .4em .5em;
	transform: translateY(-50%);
	transition: .15s ease-out;
}

.prt-button_01:hover {
	background: rgb(15, 144, 188);
	color: rgb(255, 255, 255);
}

.prt-button_01:hover::after {
	position: absolute;
	top: 50%;
	right: 5px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: .6em;
	height: .6em;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(255, 255, 255, 1);
	border-width: .4em 0 .4em .5em;
	transform: translateY(-50%);
	transition: .15s ease-out;
}

.prt-button_02 {
	position: relative;
	display: inline-block;
	margin: .7em 0;
	padding: .5em 5.7em .5em 5.5em;
	background: rgb(255, 255, 255);
	border: solid 1px rgb(15, 144, 188);
	box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
	font-size: 1.5rem;
	font-weight: 700;
	color: rgb(15, 144, 188);
	line-height: 1.5;
	text-decoration: none;
	text-align: center;
	transition: .15s ease-out;
	transition-property: background, color;
}

.prt-button_02::after {
	position: absolute;
	top: 50%;
	right: 5px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: .6em;
	height: .6em;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 93, 172, 1);
	border-width: .4em 0 .4em .5em;
	transform: translateY(-50%);
	transition: .15s ease-out;
}

.prt-button_02:hover {
	background: rgb(15, 144, 188);
	color: rgb(255, 255, 255);
}

.prt-button_02:hover::after {
	position: absolute;
	top: 50%;
	right: 5px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: .6em;
	height: .6em;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(255, 255, 255, 1);
	border-width: .4em 0 .4em .5em;
	transform: translateY(-50%);
	transition: .15s ease-out;
}

.prt-button_03 {
	position: relative;
	display: inline-block;
	margin: .7em 0;
	padding: .5em 5.7em .5em 5.5em;
	background: rgb(15, 144, 188);
	border: solid 1px rgb(15, 144, 188);
	box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
	font-size: 1.5rem;
	font-weight: 700;
	color: rgb(255, 255, 255);
	line-height: 1.5;
	text-decoration: none;
	text-align: center;
	transition: .15s ease-out;
	transition-property: background, color;
}

.prt-button_03::after {
	position: absolute;
	top: 50%;
	right: 5px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: .6em;
	height: .6em;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(255, 255, 255, 1);
	border-width: .4em 0 .4em .5em;
	transform: translateY(-50%);
	transition: .15s ease-out;
}

.prt-button_03:hover {
	background: rgb(255, 255, 255);
	color: rgb(15, 144, 188);
}

.prt-button_03:hover::after {
	position: absolute;
	top: 50%;
	right: 5px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: .6em;
	height: .6em;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(15, 144, 188, 1);
	border-width: .4em 0 .4em .5em;
	transform: translateY(-50%);
	transition: .15s ease-out;
}

.prt-button_04 {
	position: relative;
	display: inline-block;
	/*margin-right:.5em;*/
	padding: .2em 1em .2em .3em;
	width: 65%;
	border: solid 1px rgb(15, 144, 188);
	font-size: .95em;
	font-weight: 700;
	letter-spacing: -.03em;
	color: rgb(15, 144, 188);
	text-decoration: none;
	text-align: center;
	letter-spacing: .05em;
	transition: .15s ease-out;
	transition-property: background, color;
}

.prt-button_04::after {
	position: absolute;
	top: 50%;
	right: 5px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: .6em;
	height: .6em;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 93, 172, 1);
	border-width: .4em 0 .4em .5em;
	transform: translateY(-50%);
	transition: .15s ease-out;
}

.prt-button_04:hover {
	background: rgb(15, 144, 188);
	color: rgb(255, 255, 255);
}

.prt-button_04:hover::after {
	position: absolute;
	top: 50%;
	right: 5px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: .6em;
	height: .6em;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(255, 255, 255, 1);
	border-width: .4em 0 .4em .5em;
	transform: translateY(-50%);
	transition: .15s ease-out;
}

@media screen and (max-width:472px) {
	.prt-button_04>span {
		display: block;
	}
}

/*-- Multi --*/
.prt-1buttons,
.prt-2buttons,
.prt-3buttons,
.prt-4buttons,
.prt-2large_buttons,
.prt-content_list {
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 2.5rem auto;
	padding: 0;
	text-align: center;
	list-style: none;
	z-index: 0;
}

.prt-1buttons li,
.prt-2buttons li,
.prt-3buttons li,
.prt-4buttons li,
.prt-2large_buttons li {
	display: flex;
	margin: 0;
}

.prt-1buttons li a,
.prt-2buttons li a,
.prt-3buttons li a,
.prt-4buttons li a {
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin: .5em 0;
	padding: .8em 1em .8em .8em;
	width: 100%;
	background: rgb(255, 255, 255);
	border: solid 1px rgb(131, 3, 62);
	font-weight: 500;
	color: rgb(131, 3, 62);
	line-height: 1.4;
	text-decoration: none;
	transition: .2s ease-out;
	transition: opacity, background, color;
	z-index: 1;
}

.prt-1buttons a::after,
.prt-2buttons a::after,
.prt-3buttons a::after,
.prt-4buttons a::after {
	position: absolute;
	top: calc(50% - .3em);
	right: 4px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: .6em;
	height: .6em;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(131, 3, 62, 1);
	border-width: .3em .2em .3em .4em;
	transition: .15s ease-out;
	transition: opacity, right, border;
}

.prt-1buttons a:hover,
.prt-2buttons a:hover,
.prt-3buttons a:hover,
.prt-4buttons a:hover {
	background: rgb(131, 3, 62);
	color: rgb(255, 255, 255);
}

.prt-1buttons a:hover::after,
.prt-2buttons a:hover::after,
.prt-3buttons a:hover::after,
.prt-4buttons a:hover::after {
	right: 0;
	border-left-color: rgb(255, 255, 255);
}

.prt-1buttons li.disabled a,
.prt-2buttons li.disabled a,
.prt-3buttons li.disabled a,
.prt-4buttons li.disabled a {
	pointer-events: none;
	cursor: default;
	border-color: rgb(204, 204, 204);
	background: rgb(204, 204, 204);
}

.prt-1buttons li {
	width: 100%;
}

.prt-2buttons li {
	width: 48%;
}

.prt-3buttons li {
	width: 32%;
}

.prt-4buttons li {
	width: 23%;
}

.prt-contentlist_01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 1.2rem 0;
	padding: 0;
	list-style: none;
}

.prt-contentlist_01 li {
	width: 100%;
}

.prt-contentlist_01 li a {
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: .6em 0;
	padding: .2em .2em .2em 1em;
	width: 100%;
	border-bottom: dotted 1px rgb(180, 180, 180);
	font-size: 1.125rem;
	font-weight: 500;
	color: rgb(22, 174, 191);
	line-height: 1.4;
	text-decoration: none;
	transition: .2s ease-out;
	transition: opacity, background, color;
	z-index: 1;
}

.prt-contentlist_01 li a::before {
	position: absolute;
	top: 50%;
	left: 1px;
	content: "";
	display: block;
	box-sizing: border-box;
	width: .6em;
	height: .6em;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(246, 152, 12, 1);
	border-width: .4em 0 .4em .5em;
	transform: translateY(-50%);
	transition: .15s ease-out;
	transition: opacity, right, border;
}

.prt-contentlist_01 li a:hover {
	background: rgb(22, 174, 191);
	color: rgb(255, 255, 255);
}

.prt-contentlist_01 li a:hover::after {
	bottom: 0;
	border-color: rgba(255, 255, 255, 1) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
}

.prt-contentlist_01.col2 li {
	width: 48%;
}

.prt-contentlist_01.col3 li {
	width: 32%;
}

.prt-contentlist_01.free {
	justify-content: flex-start;
}

.prt-contentlist_01.free li {
	margin-right: .7rem;
	width: auto;
}

/* ボタン非表示 */
a.disabled {
	pointer-events: none;
	cursor: default;
	background: rgb(200, 200, 200);
}

/*----------------------------------
	List
----------------------------------*/
.prt-ul_01,
.prt-ul_02,
.prt-ol_01,
.prt-ol_02,
.prt-ol_03,
.prt-ol_04,
.prt-ol_05 {
	margin: 1.5rem 0;
	padding-left: 2em;
	font-size: .937rem;
}

.prt-ul_01>li,
.prt-ul_02>li,
.prt-ol_01>li,
.prt-ol_02>li,
.prt-ol_03>li,
.prt-ol_04>li,
.prt-ol_05>li {
	margin: .7em 0;
}

.prt-ul_01 {
	list-style: none;
}

.prt-ul_01>li {
	position: relative;
}

.prt-ul_01>li:before {
	content: "";
	position: absolute;
	top: .8em;
	left: -1.15em;
	display: block;
	width: .3em;
	height: .3em;
	border-radius: .3em;
	background: rgb(15, 144, 188);
	font-weight: 500;
}

.prt-ul_02 {
	padding-left: 0;
	list-style: none;
}

.prt-ul_02>li {
	position: relative;
	display: inline-block;
	margin-left: 1.5em;
	margin-right: 1.5em;
}

.prt-ul_02>li:before {
	content: "";
	position: absolute;
	top: .8em;
	left: -1em;
	display: block;
	width: .3em;
	height: .3em;
	border-radius: .3em;
	background: rgb(240, 242, 242);
	font-weight: 500;
}

.prt-ol_02 {
	list-style: none;
	counter-reset: paren;
}

.prt-ol_02>li {
	position: relative;
}

.prt-ol_02>li:before {
	position: absolute;
	left: -2em;
	counter-increment: paren;
	content: "(" counter(paren)")";
	font-weight: 500;
}

.prt-ol_03 {
	list-style: none;
	counter-reset: circle;
}

.prt-ol_03>li {
	margin: .5em 0;
}

.prt-ol_03>li:before {
	counter-increment: circle;
	content: counter(circle);
	display: inline-block;
	margin: 0 .6em 0 -2em;
	padding-top: .25em;
	width: 1.4em;
	height: 1.4em;
	border: solid 1px rgb(60, 60, 60);
	border-radius: .7em;
	font-size: .7rem;
	line-height: .7em;
	text-align: center;
	vertical-align: 20%;
	letter-spacing: -0.05em;
	text-indent: -0.05em;
}

.prt-ol_04 {
	list-style: none;
	counter-reset: roman_numerals;
}

.prt-ol_04>li {
	position: relative;
}

.prt-ol_04>li:before {
	position: absolute;
	left: -2em;
	counter-increment: roman_numerals;
	content: "(" counter(roman_numerals, lower-roman)")";
	font-weight: 500;
}

.prt-ol_05 {
	list-style: none;
	counter-reset: r_paren;
}

.prt-ol_05>li {
	position: relative;
}

.prt-ol_05>li:before {
	position: absolute;
	left: -2em;
	counter-increment: r_paren;
	content: counter(r_paren)")";
	font-weight: 500;
}

/*----------------------------------
	Description list
----------------------------------*/
.prt-dl_01 {
	display: flex;
	flex-wrap: wrap;
	margin: 1.5rem 0;
	border-top: solid 1px rgb(200, 200, 210);
	line-height: 2;
}

.prt-dl_01 dt,
.prt-dl_01 dd {
	padding: .6rem 0;
	border-bottom: solid 1px rgb(200, 200, 210);
}

.prt-dl_01 dt {
	padding-top: .8rem;
	padding-left: 1rem;
	padding-bottom: .8rem;
	width: 10rem;
	font-size: 1.3rem;
	font-weight: 700;
	color: rgb(15, 144, 188);
	line-height: 1.2;
}

.prt-dl_01 dd {
	margin-left: 0;
	width: calc(100% - 10rem);
}

.prt-dl_01 dt small {
	font-size: .937rem;
}

.prt-dl_01.t_long dt {
	width: 16rem;
}

.prt-dl_01.t_long dd {
	width: calc(100% - 16rem);
}

.prt-dl_02 {
	display: flex;
	flex-wrap: wrap;
	margin: 1.5rem 0;
	/*border-top:solid 1px rgb(200,200,210);*/
	line-height: 2;
}

.prt-dl_02 dt,
.prt-dl_02 dd {
	margin-top: 1rem;
	padding: .5rem 0;
	/*border-bottom:solid 1px rgb(200,200,210);*/
}

.prt-dl_02 dt {
	padding-top: .8rem;
	padding-left: 1rem;
	padding-bottom: .8rem;
	width: 8rem;
	font-size: 1rem;
	font-weight: 700;
	color: rgb(15, 144, 188);
}

.prt-dl_02 dd {
	margin-left: 0;
	width: calc(100% - 8rem);
}

.prt-dl_02 dd+dd {
	margin-top: 0;
	margin-left: 8rem;
	padding-top: 0;
}

.prt-dl_02 dt small {
	font-size: .937rem;
}

.prt-dl_02.t_long dt {
	width: 13rem;
}

.prt-dl_02.t_long dd {
	width: calc(100% - 13rem);
}

.program_day {
	margin: 1em 0 0em;
	padding: .2em .5em .3em;
	border-bottom: dotted 1px rgb(180, 180, 180);
	border-left: solid 8px rgb(15, 144, 188);
	font-weight: 700;
	color: rgb(15, 144, 188);
	line-height: 1.3;
	letter-spacing: .03em;

}

.program_list {
	line-height: 1;
	margin-top: 0.5rem;
	margin-bottom: 2.5rem;
}

.program_list .time_session {
	margin-top: 1.5rem;
	padding-bottom: .2rem;
	margin-bottom: .4rem;
	border-bottom: dotted 1px rgb(180, 180, 180);
	color: rgb(79, 119, 153);
	font-size: .937rem;
}

.program_list .title {
	display: block;
	margin-bottom: 0;
	color: rgb(15, 144, 188);
	font-size: 1.3rem;
	font-weight: 700;
}

.program_list .time_session+br+.title {
	margin-top: 0rem;
}

/*----------------------------------
	Column
----------------------------------*/
.prt-2column,
.prt-2column_keep,
.prt-3column,
.prt-3column_keep,
.prt-4column {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.prt-2column>.col1,
.prt-2column>.col2 {
	width: calc(50% - 18px);
}

.prt-2column_keep>.col1,
.prt-2column_keep>.col2 {
	width: calc(50% - 18px);
}

.prt-3column>.col1,
.prt-3column>.col2,
.prt-3column>.col3 {
	width: calc(33.33% - 18px);
}

.prt-3column_keep>.col1,
.prt-3column_keep>.col2,
.prt-3column_keep>.col3 {
	width: calc(33.33% - 18px);
}

.prt-4column>.col1,
.prt-4column>.col2,
.prt-4column>.col3,
.prt-4column>.col4 {
	width: calc(25% - 15px);
}

/*----------------------------------
	Box Decoration
----------------------------------*/
.prt-bg_01 {
	margin: 0;
	padding: 1px 0;
	background: rgb(238, 255, 249);
}

.prt-box_gray_01 {
	margin: 0 0 1.5rem;
	padding: 1.5rem 1.5rem;
	background: rgb(245, 243, 241);
}

.prt-box_gray_01> :first-child {
	margin-top: 0;
}

.prt-box_gray_02 {
	margin: 0;
	padding: 1px 0;
	background: rgb(245, 243, 241);
}

.prt-box_gradation_01 {
	margin: 0 auto;
	padding: 1rem 1.2rem;
	max-width: 480px;
	background: linear-gradient(rgb(15, 144, 188) 0%, rgb(255, 255, 255) 5.85%, rgb(255, 255, 255) 94.14%, rgb(15, 144, 188) 100%);
	border-radius: 10px;
}

.prt-box_gradation_01 h2 {
	margin: 1em 0 0;
	font-size: 1.5em;
	color: rgb(15, 144, 188);
	line-height: 1.4;
}

.prt-box_gradation_01> :first-child {
	margin-top: 0;
}

.prt-box_yellow_01 {
	margin: 0 0 1.5rem;
	padding: 1rem 1.2rem;
	background: rgb(255, 255, 255);
	border: solid 1px rgb(190, 137, 43);
}

.prt-box_yellow_01 h3,
.prt-box_yellow_01 h4 {
	margin: 1em 0 .5em;
	font-size: 1.25rem;
	color: rgb(190, 137, 43);
	line-height: 1.4;
}

.prt-box_yellow_01> :first-child {
	margin-top: 0;
}

.prt-box_blue_01 {
	margin: 0 0 1.5rem;
	padding: 1rem 1.2rem;
	background: rgb(255, 255, 255);
	border: solid 1px rgb(57, 106, 154);
}

.prt-box_blue_01 h3,
.prt-box_blue_01 h4 {
	margin: 1em 0 .5em;
	font-size: 1.25rem;
	color: rgb(57, 106, 154);
	line-height: 1.4;
}

.prt-box_blue_01> :first-child {
	margin-top: 0;
}

.prt-box_red_01 {
	margin: 0 0 1.5rem;
	padding: 1rem 1.2rem;
	background: rgb(249, 234, 233);
	border: solid 1px rgb(209, 104, 102);
}

.prt-box_red_01 h3,
.prt-box_red_01 h4 {
	margin: 1em 0 .5em;
	font-size: 1.25rem;
	color: rgb(209, 104, 102);
	line-height: 1.4;
}

.prt-box_red_01> :first-child {
	margin-top: 0;
}

.prt-box_red_02 {
	margin: 0 0 1.5rem;
	padding: 1rem 1.2rem;
	background: rgb(255, 255, 255);
	border: solid 1px rgb(131, 3, 62);
}

.prt-box_red_02 h3,
.prt-box_red_02 h4 {
	margin: 1em 0 .5em;
	font-size: 1.25rem;
	color: rgb(131, 3, 62);
	line-height: 1.4;
}

.prt-box_red_02> :first-child {
	margin-top: 0;
}

/*----------------------------------
	Text align
----------------------------------*/
.prt-text_align_l {
	text-align: left;
}

.prt-text_align_r {
	text-align: right;
}

.prt-text_align_c {
	text-align: center;
}

/*----------------------------------
	Text decoration
----------------------------------*/
.prt-txt_color_orange {
	color: rgb(210, 85, 35);
}

.prt-txt_color_red {
	color: rgb(230, 50, 50);
}

.prt-txt_color_hal {
	color: rgb(73, 116, 184);
}

.prt-txt_color_pas {
	color: rgb(239, 160, 69);
}

.prt-txt_color_sar {
	color: rgb(46, 179, 175);
}

.prt-txt_color_eae {
	color: rgb(184, 90, 157);
}

.prt-txt_emphasis_01 {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.4;
	color: rgb(120, 20, 40);
}

.prt-txt_title_01 {
	display: block;
	margin-top: .3rem;
	margin-bottom: 0;
	color: rgb(15, 144, 188);
	font-size: 1.3rem;
	font-weight: 700;
}

.prt-link_01 {
	color: rgb(15, 144, 188);
	word-break: break-all;
	transition: opacity .2s ease-out;
}

.prt-link_01 img {
	box-shadow: 0 0 5px rgba(0, 0, 0, .3);
}

.prt-link_01:hover {
	opacity: .5;
}

.prt-word_break_all {
	word-break: break-all;
}

.prt-txt_keep_all {
	word-break: keep-all;
}

.prt-note_01 {
	padding-left: 1em;
	font-size: .875rem;
	line-height: 1.4;
	text-indent: -1em;
}

/*----------------------------------
	Decoration
----------------------------------*/
.prt-deco_hr_01 {
	margin: 0 auto;
	max-width: 1040px;
	border: none;
	border-top: solid 2px rgb(15, 144, 188);
}

.prt-deco_hr_02 {
	margin: 1.75rem auto;
	border: none;
	border-top: dotted 1px rgb(15, 144, 188);
}

.prt-deco_arrow_01 {
	margin: 1.5rem auto;
	display: block;
	text-align: center;
}

.prt-deco_arrow_01::before {
	content: "";
	display: inline-block;
	border-style: solid;
	border-width: 23px 105px 0 105px;
	border-color: rgba(239, 149, 6, 1) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
	vertical-align: bottom
}

.prt-deco_arrow_02 {
	margin: 1.5rem auto;
	display: block;
	text-align: center;
}

.prt-deco_arrow_02::before {
	content: "";
	display: inline-block;
	border-style: solid;
	border-width: 28px 220px 0 220px;
	border-color: rgba(239, 149, 6, 1) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
	vertical-align: bottom
}

.prt-deco_arrow_03 {
	position: relative;
	display: block;
	margin: 1.5rem auto calc(1.5rem + 28px);
	padding: .5em 0 0;
	width: 440px;
	background: rgba(239, 149, 6, 1);
	font-size: 1.125rem;
	font-weight: 700;
	color: rgb(255, 255, 255);
	line-height: 1.4;
	text-align: center;
}

.prt-deco_arrow_03::before {
	position: absolute;
	bottom: -28px;
	left: 0;
	content: "";
	display: inline-block;
	border-style: solid;
	border-width: 28px 220px 0 220px;
	border-color: rgba(239, 149, 6, 1) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
	vertical-align: bottom
}

.text-deco-box {
	border: 1px solid rgb(15, 144, 188);
	padding: 0 .5em;
	font-weight: 700;
	color: rgb(15, 144, 188);
	margin-left: 1em;
}

/*----------------------------------
	Image width
----------------------------------*/
.prt-img_full {
	width: 100%;
}

.prt-img_full img {
	width: 100%;
}

.prt-img_w500 {
	margin-left: auto;
	margin-right: auto;
	max-width: 500px;
	width: 100%;
}

.prt-img_w500 img {
	width: 100%;
}

.prt-img_w700 {
	margin-left: auto;
	margin-right: auto;
	max-width: 700px;
	width: 100%;
}

.prt-img_w700 img {
	width: 100%;
}

.prt-img_float_l {
	margin-top: .4rem;
	margin-right: 1rem;
	margin-bottom: 1rem;
	max-width: 400px;
	width: 50%;
	float: left;
}

.prt-img_float_l img {
	width: 100%;
}

.prt-img_float_r {
	margin-top: .4rem;
	margin-left: 1rem;
	margin-bottom: 1rem;
	max-width: 400px;
	width: 50%;
	float: right;
}

.prt-img_float_r img {
	width: 100%;
}

.prt-w350 {
	max-width: 350px;
}

.prt-w300 {
	max-width: 300px;
}

.prt-w200 {
	max-width: 200px;
}

.prt-img_caption {
	display: block;
	margin: .5em 0;
	width: 100%;
	font-size: .812rem;
	font-weight: 500;
	line-height: 1.3;
}

/*----------------------------------
	Table
----------------------------------*/
.prt-table_01 {
	margin: 40px 0;
	width: 100%;
	border-collapse: collapse;
	font-size: .937rem;
	line-height: 1.6;
	text-align: left;
	table-layout: fixed;
}

.prt-table_01 th,
.prt-table_01 td {
	padding: .6em .8em;
	border-top: solid 1px rgb(186, 201, 202);
	border-bottom: solid 1px rgb(186, 201, 202);
	vertical-align: top;
}

.prt-table_01 th {
	background: rgb(241, 241, 241);
	font-weight: 500;
}

.prt-table_01 th+th,
.prt-table_01 th+td,
.prt-table_01 td+td {
	border-left: dotted 1px rgb(186, 201, 202);
}

.prt-table_01 td {
	background: rgb(255, 255, 255);
}

/* History table */
.prt-table_history_wrap {
	margin-top: 30px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.prt-table_history {
	width: 100%;
	border-collapse: collapse;
	font-size: .85rem;
	line-height: 1.5;
	text-align: left;
	table-layout: fixed;
}

.prt-table_history thead th {
	padding: .55em .7em;
	background: rgb(15, 50, 80);
	color: rgb(255, 255, 255);
	font-weight: 700;
	font-size: .8rem;
	white-space: nowrap;
	border: solid 1px rgb(15, 50, 80);
	vertical-align: middle;
}

.prt-table_history tbody th,
.prt-table_history tbody td {
	padding: .45em .6em;
	border: solid 1px rgba(15, 50, 80, .18);
	vertical-align: top;
}

.prt-table_history tbody th,
.prt-table_history tbody td{
	border-collapse: collapse;
    border-bottom: solid 1px rgb(15, 50, 80);
}

.prt-table_history tbody tr:nth-child(odd) {
	background: rgba(15, 100, 160, .08);
}

.prt-table_history tbody tr:nth-child(even) {
	background: rgba(15, 100, 160, .03);
}


.prt-table_history tbody th {
	font-weight: 700;
	text-align: center;
	white-space: nowrap;
}

.prt-table_history tbody td {
	font-weight: 400;
}

.prt-table_history col.col-num {
	width: 5%;
}

.prt-table_history col.col-year {
	width: 8%;
}

.prt-table_history col.col-period {
	width: 17%;
}

.prt-table_history col.col-venue {
	width: 25%;
}

.prt-table_history col.col-speaker {
	width: 45%;
}

@media screen and (max-width:750px) {
	.prt-table_history {
		font-size: .75rem;
	}

	.prt-table_history col.col-num {
		width: 30px;
	}

	.prt-table_history col.col-year {
		width: 50px;
	}

	.prt-table_history col.col-period {
		width: auto;
	}

	.prt-table_history col.col-venue {
		width: auto;
	}

	.prt-table_history col.col-speaker {
		width: auto;
	}
}

/*----------------------------------
	Accordion box
----------------------------------*/
.prt-ac_box_01 {
	margin-bottom: 2rem 0 0;
}

.prt-ac_box_01>.ac_button {
	position: relative;
	display: block;
	margin: 2rem 0 0;
	padding: .5em .5em .5em 2.5em;
	background: rgb(255, 255, 255);
	border: solid 1px rgb(131, 3, 62);
	font-size: 1.125rem;
	font-weight: 700;
	color: rgb(131, 3, 62);
	line-height: 1.4;
	cursor: pointer;
	transition: .1s ease-out;
	transition-property: background, color;
}

.prt-ac_box_01>.ac_button::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 15px;
	width: 20px;
	border-top: solid 2px rgb(131, 3, 62);
}

.prt-ac_box_01>.ac_button::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 15px;
	width: 20px;
	border-top: solid 2px rgb(131, 3, 62);
	transform: rotate(90deg);
	transition: transform .2s ease-out;
}

.wrapper:not(.prt-touch_device) .prt-ac_box_01>.ac_button:not(.clicked):hover {
	background: rgb(110, 130, 170);
	color: rgb(255, 255, 255);
}

.wrapper:not(.prt-touch_device) .prt-ac_box_01>.ac_button:not(.clicked):hover::after {
	transform: rotate(-90deg);
}

.prt-ac_box_01>.ac_button.clicked {
	background: rgb(131, 3, 62);
	color: rgb(255, 255, 255);
}

.prt-ac_box_01>.ac_button.clicked::after {
	transform: rotate(0deg);
	border-color: rgb(255, 255, 255);
}

.prt-ac_box_01>.ac_content {
	padding: .5em 5px .8em 10px;
	width: 100%;
	display: none;
}

/*----------------------------------
	Youtube wrapper
----------------------------------*/

.prt-youtube_wrapper {
	position: relative;
	padding-bottom: 56.25%;
	width: 500px;
	margin-top: 16px;
}

.prt-youtube_wrapper iframe {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*----------------------------------
	Google Programmable Search
----------------------------------*/
/* gsc overwrite */
.prt-searchbox_01 {
	margin: 2rem auto;
	max-width: 800px;
	width: 100%;
}

.prt-searchbox_01 #___gcse_0 {
	width: 100%;
	box-shadow: 0 0 5px rgba(0, 0, 0, .2);
}

.prt-searchbox_01 .gsc-control-searchbox-only {
	width: 100%;
}

.prt-searchbox_01 .gsc-control-searchbox-only .gsc-search-box {
	margin: 0;
}

.prt-searchbox_01 .gsc-control-searchbox-only .gsst_b {
	font-size: .875rem;
}

.prt-searchbox_01 .gsc-control-searchbox-only .gsst_a {
	display: flex;
	align-items: center;
	padding: 0 .5rem;
	font-size: .875rem;
	text-decoration: none;
}

.prt-searchbox_01 .gsc-control-searchbox-only .gsib_a {
	padding: 0 .5rem;
}

.prt-searchbox_01 .gsc-control-searchbox-only .gscb_a {
	line-height: .875rem;
}

.prt-searchbox_01 .gsc-control-searchbox-only .gsc-input {
	padding: 0;
	font-size: .875rem;
}

.prt-searchbox_01 .gsc-control-searchbox-only .gsc-input-box {
	padding: 2px 0;
	margin: 0;
}

.prt-searchbox_01 .gsc-control-searchbox-only .gsc-search-button {
	margin: 0;
}

.prt-searchbox_01 .gsc-control-searchbox-only .gsc-search-button-v2 {
	padding: 5px;
}

/*----------------------------------
	Tweak
----------------------------------*/
.prt-mt0 {
	margin-top: 0;
}

.prt-mt1 {
	margin-top: 1rem;
}

.prt-mb0 {
	margin-bottom: 0;
}

.prt-mb1 {
	margin-bottom: 1rem;
}

.prt-pt1 {
	padding-top: 1rem;
}

.prt-pr1 {
	padding-right: 1rem;
}

.prt-pb1 {
	padding-bottom: 1rem;
}

.prt-pl1 {
	padding-left: 1rem;
}

/*----------------------------------
	Special block
----------------------------------*/
.main_area .important_notice {
	padding: .7rem;
	border: solid 1.5px rgb(20, 42, 93);
	border-radius: 30px;
	text-align: center;
}

#profile .topic_title {
	font-size: 1rem;
	font-weight: 800;
}

.prt-youtube {
	text-align: right;
}

#profile .profile_inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 1.25rem;
}

#profile .profile_inner .image {
	margin: 0px 0px 0px 0px;
}

#profile .profile_inner .contents {
	flex: 1;
	margin-top: 1rem;
	margin-left: 2rem;
}

#profile .profile_inner .contents p {
	margin: 0px;
}

#profile .profile_inner .contents dl {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}

#profile .profile_inner .contents dl dt {
	font-weight: 500;
	width: 110px;
}

#profile .profile_inner .contents dl dd {
	margin: 0;
	width: calc(100% - 110px);
}

/* Profile box 01
---------------------------------*/
.prt-profile_01 {
	display: flex;
	justify-content: start;
	align-items: top;
	margin-top: 1.5em;
	width: 45%;
}

.prt-profile_01 .photo {
	width: 153px;
}

.prt-profile_01 .photo img {
	vertical-align: bottom;
}

.prt-profile_01 .text {
	width: calc(100% - 170px);
}

.prt-profile_01 .position {
	margin: 0;
	padding-top: .6em;
	font-size: .937rem;
	font-weight: 400;
	line-height: 1.4;
	/*border-top:solid 1px rgb(180,180,180);*/
}

.prt-profile_01 .name {
	margin: .3em 0 0 1em;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
}


/* Profile box 02
---------------------------------*/
.prt-profile_02 {
	display: flex;
	justify-content: space-between;
	margin: 1.5rem 0;
}

.prt-profile_02 .photo {
	order: 1;
	width: 200px;
}

.prt-profile_02 .photo img {
	width: 100%;
	vertical-align: bottom;
}

.prt-profile_02 .text {
	order: 2;
	width: calc(100% - 230px);
}

.prt-profile_02 h2 {
	margin: 0;
}

.prt-profile_02 .position {
	display: block;
	margin: 0;
	font-size: 1.125rem;
	line-height: 1.4;
}

.prt-profile_02 .name_main {
	display: flex;
	margin: .3em 0;
	font-size: 2.75rem;
	font-weight: 700;
	color: rgb(131, 3, 62);
	line-height: 1.3;
}

.prt-profile_02 .name_sub {
	margin: 0;
	font-size: .875rem;
	color: rgb(120, 120, 120);
	line-height: 1.3;
}

.prt-profile_02 .description {
	position: relative;
	margin: 1em 0 .8em;
	padding: .8em 0;
	border-bottom: solid 1px rgb(131, 3, 62);
	font-size: .937rem;
}

.prt-profile_02 .description::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100px;
	border-top: solid 1px rgb(180, 180, 180);
}

/* Profile box 03
---------------------------------*/
.prt-profile_03 {
	margin: 3em 0 1em;
	padding-top: .3em;
	border-top: solid 2px rgb(200, 30, 90);
}

.prt-profile_03 .name {
	margin: .3em 0;
	font-size: 1.5rem;
	font-weight: 700;
	color: rgb(131, 3, 62);
	line-height: 1.3;
}

.prt-profile_03 .alma_mater {
	margin: 0;
	font-size: .875rem;
	font-weight: 700;
	color: rgb(130, 130, 130);
	line-height: 1.3;
}

.prt-profile_03 .description {
	margin: .7em 0;
	padding: .4em 0;
	border-top: dotted 1px rgb(180, 180, 180);
	border-bottom: dotted 1px rgb(180, 180, 180);
	font-size: .937rem;
}

/* Profile box 04
---------------------------------*/
.prt-profile_04 {
	display: flex;
	flex-direction: column;
	justify-content: left;
	align-items: start;
	margin: .5rem 0;
	width: 210px;
}

.prt-profile_04 .photo {
	margin-top: 25px;
	width: 120px;
}

.prt-profile_04 .photo img {
	width: 100%;
	vertical-align: bottom;
}

.prt-profile_04 .text {
	width: calc(100% - 140px);
}

.prt-profile_04 h2 {
	margin: 0;
}

.prt-profile_04 .position {
	display: block;
	margin: 0;
	font-size: 1.125rem;
	line-height: 1.4;
}

.prt-profile_04 .name_main {
	display: block;
	margin: .2em 1em 1em 0;
	font-size: 1rem;
	font-weight: 700;
	color: rgb(60, 60, 60);
	line-height: 1.4;
}

.prt-profile_04 .name_decoration {
	display: inline-block;
	border-bottom: solid 2px rgb(15, 144, 188);
}

.prt-profile_04 .name_sub {
	margin: 0;
	font-size: .79rem;
	font-weight: 500;
	color: rgb(60, 60, 60);
	line-height: -1;
}

.prt-profile_04 .description {
	position: relative;
	margin: 1em 0 .8em;
	padding: .8em 0;
	border-bottom: solid 1px rgb(131, 3, 62);
	font-size: .937rem;
}

.prt-profile_04 .description::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100px;
	border-top: solid 1px rgb(180, 180, 180);
}

/* Hero area
---------------------------------*/
.prt-hero_area {
	background-size: 100% auto;
	text-align: center;
}

.prt-hero_area img {
	width: 100%;
	/*max-width:1000px;*/
	vertical-align: bottom;
}

.prt-hero_area img.prt-img_full {
	display: block;
}


/* Slider 01
---------------------------------*/
.prt-slider_01 {
	position: relative;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
	background: rgb(255, 255, 255);
	border-radius: 45px;
	box-shadow: 0 1px 10px rgba(0, 0, 0, .2);
	overflow: hidden;
}

.prt-slider_01>.text {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 59%;
	background: url(../img/heroarea_bg01.png) right center no-repeat;
	background-size: cover;
	z-index: 10;
}

.prt-slider_01>.text>.inner {
	position: absolute;
	top: 50%;
	padding: 0 0 0 5%;
	width: 100%;
	transform: translateY(-50%);
	pointer-events: none;
}

.prt-slider_01>.text img {
	width: 80%;
	vertical-align: bottom;
}

.prt-slider_01 .swiper-container {
	margin: 0 0 0 auto;
	padding: 0;
	width: 62.5%;
}

.prt-slider_01 .swiper-container .swiper-wrapper {
	margin: 0;
	padding: 0;
	width: 100%;
	list-style: none;
}

.prt-slider_01 .swiper-container img {
	width: 100%;
	vertical-align: bottom;
}

.prt-slider_01 .swiper-container a {
	display: block;
	transition: .2s ease-out;
	transition-property: transform, opacity;
}

.prt-slider_01 .swiper-container a:hover {
	opacity: .9;
}


/* Notice
---------------------------------*/
.prt-general_notice {
	margin: 0 auto;
	padding: 35px 60px;
	max-width: 1600px;
	width: 100%;
	background: rgb(255, 255, 255);
	border-radius: 45px;
	box-shadow: 0 1px 10px rgba(0, 0, 0, .2);
}

.prt-general_notice h2 {
	margin: 0;
	font-size: 1.875rem;
	font-weight: 400;
	color: rgb(110, 110, 110);
	line-height: 1.4;
}

.prt-general_notice .prt-tab_area {
	margin: 20px 0 15px;
}

.prt-general_notice .prt-tab_area .tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	margin: 0;
	padding: 0;
	border-bottom: solid 1px rgb(27, 191, 202);
	color: rgb(255, 255, 255);
	list-style: none;
}

.prt-general_notice .prt-tab_area .tabs li {
	position: relative;
	margin: .2rem 1px 0 0;
	padding: .3rem .8em;
	font-size: 1.25rem;
	font-weight: 700;
	color: rgb(110, 110, 110);
	line-height: 1.4;
	cursor: pointer;
	transition: .2s ease-out;
	transition-property: margin, padding, background, color;
}

.prt-general_notice .prt-tab_area .tabs li.active {
	margin: 0 1px 0 0;
	padding: .5rem .8em .3rem;
	background: rgb(27, 191, 202);
	color: rgb(255, 255, 255);
}

.prt-general_notice .prt-tab_area .items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.prt-general_notice .prt-tab_area .items>li {
	margin: 0;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: opacity .2s ease-out .1s;
}

.prt-general_notice .prt-tab_area .items>li.show {
	height: auto;
	overflow: visible;
	opacity: 1;
}

.prt-general_notice .items>li ul {
	padding: 0;
	border-bottom: solid 1px rgb(200, 200, 200);
	list-style: none;
}

.prt-general_notice .items>li li {
	border-bottom: solid 1px rgb(200, 200, 200);
}

.prt-general_notice .items>li li:last-child {
	border-bottom: none;
}

.prt-general_notice .items>li li a {
	display: flex;
	flex-wrap: wrap;
	padding: .6rem 0;
	font-size: 1rem;
	color: inherit;
	text-decoration: none;
	transition: opacity .2s ease-out;
}

.prt-general_notice .items>li li a:hover {
	opacity: .5;
}

.prt-general_notice .items>li li .date {
	display: block;
	width: 7rem;
	padding-left: .8em;
}

.prt-general_notice .items>li li .title {
	display: block;
	width: calc(100% - 7rem);
	font-weight: 700;
}

/* Search area
---------------------------------*/
.prt-searcharea01 {
	margin: 0 auto;
	padding: 35px 60px;
	max-width: 1600px;
	width: 100%;
	background: rgb(255, 255, 255);
	border-radius: 45px;
	box-shadow: 0 1px 10px rgba(0, 0, 0, .2);
}

.prt-searcharea01 h2 {
	margin: 0;
	font-size: 1.875rem;
	font-weight: 400;
	color: rgb(110, 110, 110);
	line-height: 1.4;
	text-align: center;
}

/* Posts list 01
---------------------------------*/
.prt-posts_01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 2.5rem 0 1rem;
	padding: 0;
	list-style: none;
}

.prt-posts_01 li {
	display: flex;
	width: 24%;
}

.prt-posts_01 li>a {
	display: block;
	margin-bottom: 30px;
	width: 100%;
	background: rgba(80, 80, 80, 1);
	box-shadow: 0 0 5px rgba(0, 0, 0, .3);
	color: rgb(255, 255, 255);
	text-decoration: none;
	transition: .2s ease-out;
	transition-property: opacity;
}

.wrapper:not(.prt-touch_device) .prt-posts_01 li>a:hover {
	opacity: .5;
}

.prt-posts_01 .img_date_cate {
	position: relative;
	padding-bottom: 76.5957%;
	overflow: hidden;
}

.prt-posts_01 .img_date_cate img {
	position: absolute;
	top: 50%;
	width: 100%;
	transform: translateY(-50%);
}

.prt-posts_01 .date_cate {
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	padding: .2rem 1rem;
	width: 100%;
	background: linear-gradient(to bottom, rgba(80, 80, 80, 0), rgba(80, 80, 80, 1));
	font-size: .875rem;
	line-height: 1.5;
}

.prt-posts_01 .date {
	margin-right: .5em;
}

.prt-posts_01 .cate {
	display: inline-block;
	padding: .2rem .7rem;
	min-width: 7.25rem;
	text-align: center;
	background: rgb(160, 140, 140);
	box-shadow: 0 0 3px rgb(255, 255, 255);
}

.prt-posts_01 .cate.admission {
	background: rgb(230, 170, 60);
}

.prt-posts_01 .cate.event {
	background: rgb(184, 90, 157);
}

.prt-posts_01 .cate.other {
	background: rgb(200, 140, 140);
}

.prt-posts_01 .title {
	padding: .7rem 1rem;
	background: rgba(80, 80, 80, 1);
	font-size: .875rem;
	line-height: 1.5;
}

/* Pagination 01
---------------------------------*/
/*
.prt-pagination_01{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	width:100%;
	margin:1.5em auto;
	padding-left:0;
	list-style:none;
	border-radius:3px;
}
.prt-pagination_01 li.page-item{
	list-style: none;
}
.prt-pagination_01 li.page-item .page-link{
	position:relative;
	display:block;
	padding:0.5rem 0.9rem;
	margin-left:-1px;
	background-color:rgb(255,255,255);
	border:1px solid rgb(160,10,80);
	font-size:1.125rem;
	font-weight:500;
	color:inherit;
	line-height:1.25;
	text-decoration:none;
	transition:.15s ease-out;
	transition-property:background,border,color;
}
.prt-pagination_01 li.page-item.active .page-link{
	z-index:1;
	background-color:rgb(160,10,80);
	border-color:rgb(160,10,80);
	color:rgb(255,255,255);
}
.prt-pagination_01 li.page-item:hover .page-link{
	z-index:1;
	background-color:rgb(200,30,100);
	border-color:rgb(200,30,100);
	color:rgb(255,255,255);
}
*/

/* Pickup list
---------------------------------*/
.prt-pickuplist01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 0;
	padding: 30px 0;
	list-style: none;
}

.prt-pickuplist01>li {
	margin: 10px 0;
	padding: 0 10px;
	max-width: 255px;
	width: 21%;
}

.prt-pickuplist01 li a {
	display: block;
	color: inherit;
	text-decoration: none;
	transition: opacity .15s ease-out;
}

.prt-pickuplist01 li a:hover {
	opacity: .75;
}

.prt-pickuplist01 li .image {
	width: 100%;
	border-radius: 50%;
	text-align: center;
	overflow: hidden;
}

.prt-pickuplist01 li .image img {
	width: 100%;
	vertical-align: bottom;
}

.prt-pickuplist01 li .caption {
	margin-top: 15px;
	font-size: 1.125rem;
	font-weight: 700;
	color: rgb(22, 174, 191);
	line-height: 1.4;
	text-align: center;
}

/* Message and subjects
---------------------------------*/
.prt-message_and_subjects {
	display: flex;
	flex-wrap: wrap;
	margin: 2rem 0;
}

.prt-message_and_subjects>.message {
	position: relative;
	padding: 1.7rem;
	width: 50%;
	background: url(../img/parts_message_bg_01.png) right bottom no-repeat;
	border: solid 1px rgb(131, 3, 62);
}

.prt-message_and_subjects>.message::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	display: block;
	border-style: solid;
	border-width: 14px;
	border-color: rgba(131, 3, 62, 1) rgba(131, 3, 62, 0) rgba(131, 3, 62, 0) rgba(131, 3, 62, 1);
}

.prt-message_and_subjects h3 {
	margin: 0 0 .5em;
	font-size: 1.5rem;
	color: rgb(179, 6, 67);
	line-height: 1.4;
}

.prt-message_and_subjects>.subjects {
	padding: 1.7rem;
	width: 50%;
	background: rgb(245, 243, 241);
}

.prt-message_and_subjects>.subjects h3 {
	color: rgb(131, 3, 62);
}

.prt-message_and_subjects>.subjects .prt-ul_01 {
	margin-top: 0;
}

/* Q and A
---------------------------------*/
.prt-q_and_a {
	margin: 2rem 0;
	padding: 0;
}

.prt-q_and_a>dt,
.prt-q_and_a>dd {
	position: relative;
	display: flex;
}

.prt-q_and_a>dt {
	margin: 1.5rem 0 0;
}

.prt-q_and_a>dd {
	margin: 0 0 1.5rem;
}

.prt-q_and_a>dt .q_mark,
.prt-q_and_a>dd .a_mark {
	position: relative;
	margin-right: 1.25rem;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1rem;
	width: 1.75rem;
	text-align: center;
	transform: translateY(-.25rem);
}

.prt-q_and_a>dt .q_mark {
	color: rgb(230, 100, 150);
	transform: translateY(.1rem);
}

.prt-q_and_a>dd .a_mark {
	color: rgb(120, 100, 230);
}

.prt-q_and_a>dt .question,
.prt-q_and_a>dd .answer {
	width: calc(100% - 3rem);
}

.prt-q_and_a>dt .question,
.prt-q_and_a>dt .question p {
	font-size: 1.25rem;
	font-weight: 700;
}

/*----------------------------------
	Area map
----------------------------------*/
.prt-area_map_01 .image {
	margin: 20px auto;
	max-width: 629px;
	width: 100%;
}

.prt-area_map_01 .image img {
	width: 100%;
}

.prt-area_map_01 .items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.prt-area_map_01 .items>.item {
	margin: 0;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: opacity .2s ease-out .1s;
}

.prt-area_map_01 .items>.item.show {
	height: auto;
	overflow: visible;
	opacity: 1;
}

/* logo area
---------------------------------*/
.prt-logo_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.prt-logo_area>.inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-self: flex-start;
	margin-right: 50px;
}

.prt-logo_area>.inner:last-child {
	margin-right: 0;
}

.prt-logo_area>.inner p {
	display: inline-block;
	margin-right: 10px;
	padding: 7px 5px;
	border: solid 1px rgb(60, 60, 60);
	font-size: .812em;
	font-weight: 700;
}

.prt-logo_area>.inner p.company_name {
	display: inline-block;
	border: none;
	font-size: 1em;
	font-weight: 700;
}

.prt-logo_area>.inner p.company_name span {
	display: inline-block;
}

.prt-logo_area>.inner img {
	padding-right: 10px;
}

/* Under Construction
---------------------------------*/
.prt-underconstruction {
	margin: 10px auto 150px;
	padding: .8em 0;
	width: 70%;
	max-width: 700px;
	font-size: 1.5rem;
	font-weight: 700;
	color: rgb(15, 144, 188);
	text-align: center;
}


/*---------------------------------
---------------------------------
	Media Queries
---------------------------------
---------------------------------*/
@media screen and (max-width:1500px) {

	/*----------------------------------
		Headline
	----------------------------------*/
	.prt-post_h2_01 {
		font-size: .9rem;
		color: rgb(0, 0, 0);
	}

	.prt-h2_01 {
		font-size: 1.562rem;
	}

	/* News and Topics
	---------------------------------*/
	.prt-notice_and_security {
		margin: 30px 0;
	}

	.prt-general_notice .prt-tab_area .tabs {
		padding: 0;
	}

	.prt-general_notice .prt-tab_area .tabs li {
		font-size: 1.125rem;
	}

	/* Profile box 02
	---------------------------------*/
	.prt-profile_02 .name_main {
		font-size: 2.5rem;
	}
}

@media screen and (max-width:1150px) {

	/*----------------------------------
		Headline
	----------------------------------*/
	.prt-h2_01 {
		padding: 0 25px;
		width: calc(100% - 40px);
		border-radius: 30px;
	}

	.prt-pr_h3_01 {
		font-size: 1.8rem;
	}

	.prt-pr_h3_02 {
		font-size: 1.8rem;
	}

	/*----------------------------------
		Content width
	----------------------------------*/
	.prt-box_full_mtb50 {
		padding: 0 40px;
	}

	.prt-box_w1100 {
		padding: 0 40px;
	}

	.prt-box_w1040 {
		padding: 0 40px;
	}

	.prt-box_w1100_mtb80 {
		padding: 0 40px;
	}

	.prt-box_w1040_mtb40 {
		padding: 0 40px;
	}

	.prt-box_w1040_mtb80 {
		padding: 0 40px;
	}

	/*----------------------------------
		Column
	----------------------------------*/
	.prt-4column>.col1,
	.prt-4column>.col2,
	.prt-4column>.col3,
	.prt-4column>.col4 {
		width: calc(33.333% - 15px);
	}

	/* Hero area
	---------------------------------*/
	/* Slider 01
	---------------------------------*/
	.prt-slider_01 {
		border-radius: 30px;
	}

	/* Notice
	---------------------------------*/
	.prt-general_notice {
		padding: 30px 40px;
		border-radius: 30px;
	}

	/* Search area
	---------------------------------*/
	.prt-searcharea01 {
		padding: 30px 40px;
		border-radius: 30px;
	}

	/* Pickup list
	---------------------------------*/
	.prt-pickuplist01 {
		padding: 25px 0;
	}

	.prt-pickuplist01>li {
		width: 48%;
	}

	/* Posts list 01
	---------------------------------*/
	.prt-posts_01 li {
		display: flex;
		width: 32.5%;
	}

	/* Profile box 01
	---------------------------------*/
	.prt-profile_01 .position {
		font-size: .875rem;
	}

	.prt-profile_01 .name {
		font-size: 1.437rem;
		;
	}

	/* Profile box 02
	---------------------------------*/
	.prt-profile_02 .name_main {
		font-size: 2rem;
	}

	/* Message and subjects
	---------------------------------*/
	.prt-message_and_subjects>.message {
		padding: 1.5rem;
		width: 100%;
	}

	.prt-message_and_subjects>.subjects {
		padding: 1.5rem;
		width: 100%;
	}

	/* Faculty member list
	---------------------------------*/
	.prt-faculty_member_list>li {
		display: flex;
		width: 49%;
	}

	/* logo_area
	---------------------------------*/
	.prt-logo_area {
		display: flex;
		flex-wrap: wrap;
		justify-content: start;
	}

}

@media screen and (max-width:750px) {

	/*----------------------------------
		Headline
	----------------------------------*/
	.prt-post_h2_01 {
		font-size: .8rem;
	}

	.prt-h3_01 {
		font-size: 1.437rem;
	}

	.prt-h3_01::before {
		top: .65em;
		left: -15px;
		border-width: 5px;
	}

	.prt-h_sub {
		font-size: 1.25rem;
	}

	/*----------------------------------
		Content width
	----------------------------------*/
	.prt-box_full_mtb50 {
		padding: 0 20px;
	}

	.prt-box_w1100 {
		padding: 0 20px;
	}

	.prt-box_w1040 {
		padding: 0 20px;
	}

	.prt-box_w1100_mtb80 {
		padding: 0 20px;
	}

	.prt-box_w1040_mtb40 {
		padding: 0 20px;
	}

	.prt-box_w1040_mtb80 {
		padding: 0 20px;
	}

	/*----------------------------------
		Button
	----------------------------------*/
	/*--Muliti--*/
	.prt-3buttons li {
		width: 48%;
	}

	.prt-4buttons li {
		width: 31.5%;
	}

	.prt-button_02 {
		position: relative;
		display: inline-block;
		margin: .7em 0;
		padding: .5em 3em .5em 3em;
		background: rgb(255, 255, 255);
		border: solid 1px rgb(15, 144, 188);
		box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
		font-size: 1.25rem;
		font-weight: 700;
		color: rgb(15, 144, 188);
		line-height: 1.5;
		text-decoration: none;
		text-align: center;
		transition: .15s ease-out;
		transition-property: background, color;
	}

	/*----------------------------------
		Column
	----------------------------------*/
	.prt-2column>.col1,
	.prt-2column>.col2 {
		width: 100%;
	}

	.prt-3column>.col1,
	.prt-3column>.col2,
	.prt-3column>.col3 {
		width: 100%;
	}

	/*----------------------------------
		Decoration
	----------------------------------*/
	.prt-deco_arrow_02::before {
		border-width: 28px 135px 0 135px;
	}

	.prt-deco_arrow_03 {
		width: 270px;
	}

	.prt-deco_arrow_03::before {
		border-width: 28px 135px 0 135px;
	}

	/*----------------------------------
		Table
	----------------------------------*/
	.prt-table_scroll {
		position: relative;
		margin: 1.5rem 0;
		padding: 10px 7px 1px;
		overflow: scroll visible;
		overflow-x: scroll;
		overflow-y: visible;
		border: solid 1px rgb(250, 245, 250);
		border-radius: 4px;
	}

	.prt-table_scroll::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		display: block;
		width: 740px;
		box-shadow: 1px 1px 6px rgba(0, 0, 0, .65) inset;
		border-radius: 4px;
		pointer-events: none;
	}

	.prt-table_scroll::before {
		content: "Scroll ⇒";
		position: absolute;
		top: 0;
		right: -4px;
		padding: 0 12px;
		background: rgb(240, 140, 150);
		border-radius: 0 0 4px 4px;
		font-size: .937em;
		font-weight: 700;
		color: rgb(255, 255, 255);
		animation: ks-blink .8s ease-in infinite alternate;
		z-index: 1;
	}

	@keyframes ks-blink {
		0% {
			right: -4px;
			background: rgb(200, 100, 110);
		}

		100% {
			right: -10px;
			background: rgb(250, 170, 170);
		}
	}

	.prt-table_scroll table {
		width: 730px;
	}

	.prt-table_note {
		width: 730px;
	}

	/*----------------------------------
		Special block
	----------------------------------*/

	/* Slider 01
	---------------------------------*/
	.prt-slider_01 {
		position: relative;
		max-width: 1600px;
		width: 100%;
		margin: 0 auto;
		background: rgb(255, 255, 255);
		border-radius: 45px;
		box-shadow: 0 1px 10px rgba(0, 0, 0, .2);
		overflow: hidden;
	}

	.prt-slider_01>.text {
		position: static;
		width: 100%;
	}

	.prt-slider_01>.text>.inner {
		position: static;
		top: 0;
		padding: 12px 12px 15px;
		transform: none;
	}

	.prt-slider_01>.text img {
		width: 100%;
	}

	.prt-slider_01 .swiper-container {
		width: 100%;
	}

	.prt-slider_01 .swiper-container .swiper-wrapper {
		margin: 0;
		padding: 0;
		width: 100%;
		list-style: none;
	}

	.prt-slider_01 .swiper-container img {
		width: 100%;
		vertical-align: bottom;
	}

	.prt-slider_01 .swiper-container a {
		display: block;
		transition: .2s ease-out;
		transition-property: transform, opacity;
	}

	.prt-slider_01 .swiper-container a:hover {
		opacity: .9;
	}

	/* Notice
	---------------------------------*/
	.prt-general_notice {
		padding: 20px 20px;
	}

	.prt-general_notice h2 {
		font-size: 1.625rem;
	}

	.prt-general_notice .prt-tab_area {
		margin-top: 15px;
	}

	.prt-general_notice .prt-tab_area .tabs {
		justify-content: space-between;
	}

	.prt-general_notice .prt-tab_area .tabs li {
		width: 49%;
		background: rgba(110, 110, 110, .1);
	}

	.prt-general_notice .items>li li .date {
		width: 100%;
	}

	.prt-general_notice .items>li li .title {
		width: 100%;
		padding-left: .8rem;
	}

	/* Search area
	---------------------------------*/
	.prt-searcharea01 {
		padding: 20px 20px;
	}

	.prt-searcharea01 h2 {
		font-size: 1.625rem;
	}

	/* Posts list 01
	---------------------------------*/
	.prt-posts_01 li {
		width: 48.5%;
	}

	.prt-posts_01 .date_cate {
		padding: .7rem 1rem 0;
	}

	.prt-posts_01 .date {
		letter-spacing: .05em;
	}

	.prt-posts_01 .cate {
		margin-top: 4px;
		padding: 1px .5rem;
	}

	/* Pickup list
	---------------------------------*/
	.prt-pickuplist01 {
		padding: 15px 0;
	}

	/* Profile box 01
	---------------------------------*/
	.prt-profile_01 .text {
		width: calc(100% - 125px);
	}

	/* Profile box 02
	---------------------------------*/
	.prt-profile_02 .photo {
		width: 160px;
	}

	.prt-profile_02 .text {
		width: calc(100% - 180px);
	}

	/* Faculty member list
	---------------------------------*/
	.prt-faculty_member_list .photo {
		width: 70px;
	}

	.prt-faculty_member_list .text {
		width: calc(100% - 85px);
	}

	.prt-faculty_member_list .text .name_main {
		word-break: break-all;
	}
}

@media screen and (max-width:500px) {

	/*----------------------------------
		Headline
	----------------------------------*/
	.prt-h3_01 {
		font-size: 1.312rem;
	}

	/*----------------------------------
		Button
	----------------------------------*/
	.prt-3buttons li {
		width: 100%;
	}

	.prt-4buttons li {
		width: 48%;
	}

	.prt-content_list li a {
		font-size: 1rem;
	}

	/*----------------------------------
		Special block
	----------------------------------*/
	#profile .profile_inner .contents {
		margin-top: .5rem;
		margin-left: 0;
		max-width: 100%;
	}

	/* Profile box 02
	---------------------------------*/
	.prt-profile_02 .photo {
		width: 100px;
	}

	.prt-profile_02 .text {
		width: calc(100% - 115px);
	}

	.prt-profile_02 .name_main {
		font-size: 1.5rem;
	}

	/* Profile box
	---------------------------------*/
	#profile .profile_inner {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		margin-top: 1.25rem;
	}

	#profile .profile_inner .contents dl {
		display: block;
	}

	/* Profile box
	---------------------------------*/
	#profile .profile_inner {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		margin-top: 1.25rem;
	}

	#profile .profile_inner .contents dl {
		display: block;
	}

	/*----------------------------------
		Special block
	----------------------------------*/
	.main_area .important_notice {
		padding: .7rem;
		border: solid 1.5px rgb(20, 42, 93);
		border-radius: 30px;
		text-align: center;
	}

	#profile .topic_title {
		font-size: 1rem;
		font-weight: 800;
	}

	.prt-youtube {
		text-align: right;
	}

	#profile .profile_inner {
		display: flex;
		flex-wrap: wrap;
		margin-top: 1.25rem;
	}


	/* Message and subjects
	---------------------------------*/
	.prt-message_and_subjects>.message {
		background-size: 280px auto;
	}

	/* Faculty member list
	---------------------------------*/
	.prt-faculty_member_list>li {
		width: 100%;
	}

	.prt-faculty_member_list>li>a {
		margin-bottom: 1.2rem;
		padding: .5rem;
	}

	.prt-faculty_member_list>li>a::after {
		right: 2px;
		bottom: 6px;
		border-width: 7px 0 7px 7px;
	}

	.prt-faculty_member_list .text .name_main {
		word-break: normal;
	}

	/*----------------------------------
	Description list
	----------------------------------*/
	.prt-dl_01 {
		display: block;
		flex-wrap: wrap;
		margin: 1.5rem 0;
		border-top: solid 1px rgb(200, 200, 210);
	}

	.prt-dl_01 dt,
	.prt-dl_01 dd {
		padding: .5rem 0;
		border-bottom: solid 1px rgb(200, 200, 210);
	}

	.prt-dl_01 dt,
	.prt-dl_01.t_long dt {
		padding-left: 0;
		width: 100%;
	}

	.prt-dl_01 dd,
	.prt-dl_01.t_long dd {
		margin-left: 0;
		padding-left: .5rem;
		width: 100%;
	}

	.prt-dl_02 dt,
	.prt-dl_02.t_long dt {
		display: block;
		padding-left: 0;
		padding-bottom: 0;
		width: 100%;
	}

	.prt-dl_02 dd {
		width: 100%;
	}

	.prt-dl_02 dd+dd {
		margin-left: 0;
	}
}

@media screen and (max-width:402px) {

	/* logo_area
	---------------------------------*/
	.prt-logo_area>.inner img:nth-of-type(2) {
		margin-left: 50px;
	}
}

del {
	text-decoration-color: red;
	text-decoration-thickness: 2px;
	margin-right: 0.5rem;
}

.red {
	color: red;
}