/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/* Customized CSS starts here */
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/

/*===============================================================================================================================================*/
/* Vars */
/*===============================================================================================================================================*/
:root
{	
/* Colors */
	--red: #E8221C;
	--pink: #DB767C;
	--pinkHighlight: #FB969C;
	
	--orange: #FB8F0F;
	
	--darkOrange2: #EB5E00;
	--darkOrange2Highlight: #FF7E20;
	--orange2: #EF8200;
	--orange2Highlight: #FFA220;
	--lightOrange2: #FACF9E;

	--yellow: #FFEA45;
	--yellowHighlight: #FFFF65;
	--beige: #FFFAD9;

	--darkGreen: #5C7E33;
	--darkGreenHighlight: #7C9E53;
	--green: #5E9A3B;
	--greenHighlight: #7EBA5B;
	--lightGreen: #C9E6B8;

	--darkTeal: #009EA0;
	--darkTealHighlight: #20BEC0;
	--teal: #57BEBF;
	--tealHighlight: #77DEDF;
	--lightTeal: #C9E6E6;

	--darkBlue: #2062AE;
	--darkBlueHighlight: #4082CE;
	--blue: #316DB3;
	--blueHighlight: #518DD3;
	--lightBlue: #a5c0de;

	--darkPurple: #A567A7;
	--purple: #CC7CA8;
	--purpleHighlight: #EC9CC8;
	--lightPurple: #F4E4EC;

	--darkPurple2: #924194;
	--darkPurple2Highlight: #B261B4;
	--purple2: #C84D97;
	--purple2Highlight: #E86DB7;
	--lightPurple2: #E8BFD9;
}

/*===============================================================================================================================================*/

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#document-wrap
{	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
.content-wrap
{	padding-left: 10px;
	padding-right: 10px;
}
.content-wrap.pad
{	padding-top: 50px;
	padding-bottom: 50px;
}
.content-wrap:last-child
{	padding-bottom: 100px;
}

.content-wrap .content
{	max-width: 1000px;
	margin: 0 auto;
}

.content-wrap .content:not(:last-child)
{	margin-bottom: 50px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 999px)
{	.content-wrap.pad
	{	padding-top: 30px;
		padding-bottom: 30px;
	}
	.content-wrap:last-child
	{	padding-bottom: 65px;
	}
	.content-wrap .content:not(:last-child)
	{	margin-bottom: 30px;
	}
}

/* ------------------------- */
.beige-bg
{	background-color: beige;
	background-color: var(--beige,beige);

}

/* ------------------------- */
.yellow-bg
{	background-color: #EEF9FA;
	background-image: repeating-linear-gradient(135deg, #DCF3F5, #DCF3F5 12px, transparent 12px, transparent 24px);
}

/*===============================================================================================================================================*/
.btns
{	font-size: 1.35em;
	font-weight: bold;
}

.btns > *
{	border-radius: 30px;
}

/* ++++++++++++++++ */
.btns > .orange2
{	background-color: orange;
	background-color: var(--orange2,orange);
	color: yellow;
	color: var(--yellow,yellow);
}
.btns > a.orange2:hover,
.btns > button.orange2:hover
{	background-color: lightsalmon;
	background-color: var(--orange2Highlight,lightsalmon);
}

/* ++++++++++++++++ */
.btns > .dark-orange2
{	background-color: darkOrange;
	background-color: var(--darkOrange2,darkOrange);
	color: White;
}
.btns > a.dark-orange2:hover,
.btns > button.dark-orange2:hover
{	background-color: lightsalmon;
	background-color: var(--darkOrange2Highlight,lightsalmon);
}

/* ++++++++++++++++ */
.btns > .green
{	background-color: green;
	background-color: var(--green,green);
	color: yellow;
	color: var(--yellow,yellow);
}
.btns > a.green:hover,
.btns > button.green:hover
{	background-color: lightGreen;
	background-color: var(--greenHighlight,lightGreen);
}

/* ++++++++++++++++ */
.btns > .dark-green
{	background-color: darkGreen;
	background-color: var(--darkGreen,darkGreen);
	color: White;
}
.btns > a.dark-green:hover,
.btns > button.dark-green:hover
{	background-color: green;
	background-color: var(--darkGreenHighlight,green);
}

/* ++++++++++++++++ */
.btns > .teal
{	background-color: teal;
	background-color: var(--teal,teal);
	color: yellow;
	color: var(--yellow,yellow);
}
.btns > a.teal:hover,
.btns > button.teal:hover
{	background-color: cyan;
	background-color: var(--tealHighlight,cyan);
}

/* ++++++++++++++++ */
.btns > .dark-teal
{	background-color: teal;
	background-color: var(--darkTeal,teal);
	color: White;
}
.btns > a.dark-teal:hover,
.btns > button.dark-teal:hover
{	background-color: cyan;
	background-color: var(--darkTealHighlight,cyan);
}

/* ++++++++++++++++ */
.btns > .blue
{	background-color: blue;
	background-color: var(--blue,blue);
	color: White;
}
.btns > a.blue:hover,
.btns > button.blue:hover
{	background-color: lightBlue;
	background-color: var(--blueHighlight,lightBlue);
}

/* ++++++++++++++++ */
.btns > .dark-blue
{	background-color: darkBlue;
	background-color: var(--darkBlue,darkBlue);
	color: yellow;
	color: var(--yellow,yellow);
}
.btns > a.dark-blue:hover,
.btns > button.dark-blue:hover
{	background-color: blue;
	background-color: var(--darkBlueHighlight,blue);
}

/* ++++++++++++++++ */
.btns > .purple
{	background-color: purple;
	background-color: var(--purple,purple);
	color: White;
}
.btns > a.purple:hover,
.btns > button.purple:hover
{	background-color: magenta;
	background-color: var(--purpleHighlight,magenta);
}

/* ++++++++++++++++ */
.btns > .purple2
{	background-color: purple;
	background-color: var(--purple2,purple);
	color: yellow;
	color: var(--yellow,yellow);
}
.btns > a.purple2:hover,
.btns > button.purple2:hover
{	background-color: magenta;
	background-color: var(--purple2Highlight,magenta);
}

/* ++++++++++++++++ */
.btns > .dark-purple2
{	background-color: purple;
	background-color: var(--darkPurple2,purple);
	color: White;
}
.btns > a.dark-purple2:hover,
.btns > button.dark-purple2:hover
{	background-color: magenta;
	background-color: var(--darkPurple2Highlight,magenta);
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#floating-navi
{	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 10000;
	font-size: 1.85em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
}
#floating-navi > *
{	background-color: Black;
	border-radius: 20px 0 0 20px;
	color: White;
	line-height: 1em;
	width: 1em;
	padding: 1em 0.5em;
	display: block;
	border: 1px solid #CCC;
	border-right-width: 0;
	cursor: pointer;
}
@media screen and (max-width: 799px) {
	#floating-navi {
		top: -278px;
	}
}

#floating-navi > :not(:last-child)
{	margin-bottom: 10px;
}

#floating-navi .btn1
{	background-color: yellow;
	background-color: var(--yellow,yellow);
	color: darkOrange;
	color: var(--darkOrange2,darkOrange);
}
#floating-navi .btn1:hover
{	background-color: LightYellow;
	background-color: var(--yellowHighlight,LightYellow);
}
#floating-navi .btn2
{	background-color: darkOrange;
	background-color: var(--darkOrange2,darkOrange);
	color: yellow;
	color: var(--yellow,yellow);
}
#floating-navi .btn2:hover
{	background-color: lightsalmon;
	background-color: var(--darkOrange2Highlight,lightsalmon);
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 999px)
{	#floating-navi
	{	font-size: 1.4em;
	}
	#floating-navi > *
	{	padding: 1em 0.3em;
	}
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
header
{	border-bottom: 1px solid White;
}
header img
{	margin: 0;
}

/* ----- */
header .top
{	background-color: orange;
	background-color: var(--orange2,orange);
	padding: 5px 10px;
	margin-bottom: 1px;
	color: White;
	text-align: center;
}

/* ----- */
header .main-bg
{	background-color: lightsalmon;
	background-color: var(--lightOrange2, lightsalmon);
	color: White;
}

/* --- */
header .main-layout
{	max-width: 1000px;
	padding: 0 10px;
	margin: 0 auto;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
}

header .main-layout > *
{	display: inline-block;
	vertical-align: middle;
}

/* */
header .main-layout .logo-wrap
{	flex: 1 1 0;
	padding: 10px 10px 10px 0;
}
header .main-layout .logo-layout
{	display: block;
	display: flex;
	max-width: 600px;
	align-items: center;
}

header .main-layout .logo-layout > :nth-child(1)
{	width: 18%;
}
header .main-layout .logo-layout > :nth-child(2)
{	width: 82%;
}

/* */
header .main-layout nav
{	display: flex;
	text-align: center;
}

header .main-layout nav > *
{	display: block;
	display: flex;
	align-items: center;
	border-width: 0;
	border-style: solid;
	border-color: White;
	border-left-width: 1px;
}

header .main-layout nav > :last-child
{	border-right-width: 1px;
}

header .main-layout nav > .btn1
{	background-color: darkorange;
	background-color: var(--darkOrange2,darkorange);
	color: yellow;
	color: var(--yellow,yellow);
}
header .main-layout nav > .btn1:hover
{	background-color: lightsalmon;
	background-color: var(--darkOrange2Highlight,lightsalmon);
}
header .main-layout nav > .btn2
{	background-color: yellow;
	background-color: var(--yellow,yellow);
	color: orange;
	color: var(--darkOrange2,orange);
	
}
header .main-layout nav > .btn2:hover
{	background-color: lightYellow;
	background-color: var(--yellowHighlight,lightYellow);
}

header .main-layout nav p
{	padding: 10px 1em;	
}



/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 999px)
{	header .main-layout
	{	display: block;
	}
	header .main-layout nav
	{	display: none;
	}
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
main
{	margin: 0;
}

/*===============================================================================================================================================*/
.heading1
{	padding-bottom: 0.25em;
	border-bottom: 1px dashed;
	color: orange;
	color: var(--orange2,orange);
	font-size: 1.65em;
	line-height: 1.6em;
	text-align: center;
	font-weight: bold;
}

.heading1:not(:last-child)
{	margin-bottom: 20px;
}

/* -------- */
.heading2
{	font-size: 1.5em;
	line-height: 1.6em;
	font-weight: bold;
}

.heading2:not(:last-child)
{	margin-bottom: 10px;
}

/* -------- */
.heading3
{	background-color: darkorange;
	background-color: var(--darkOrange2,darkorange);
	padding: 0.25em 0.5em;
	color: White;
	font-size: 1.25em;
	font-weight: bold;
	text-align: center;
}

.heading3:not(:last-child)
{	margin-bottom: 20px;
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#h1-wrap
{	text-align: center;
	padding-top: 20px;
	padding-bottom: 20px;
}

#h1-wrap h1
{	border-style: solid;
	border-color: DarkBlue;
	border-color: var(--dark-blue, DarkBlue);
	border-left-width: 4px;
	border-right-width: 4px;
	padding: 5px 10px;
	font-size: 1.5em;
	font-weight: bold;
}

#h1-wrap h1 span
{	display: inline-block;
}

#h1-wrap h1 em
{	display: block;
	color: DarkBlue;
	color: var(--dark-blue, DarkBlue);
	line-height: 1.4em;
}

#h1-wrap h1 strong
{	display: block;
	font-size: 2em;
	line-height: 1.2em;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 999px)
{	#h1-wrap h1
	{	font-size: 1.25em;
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 799px)
{	#h1-wrap h1
	{	font-size: 1.1em;
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 599px)
{	#h1-wrap h1
	{	font-size: 1em;
	}
	#h1-wrap h1 strong
	{	font-size: 1.75em;
	}
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#document-main-img
{	position: relative;
}

#document-main-img img
{	width: 100%;
	margin: 0;
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#job-intro-wrap
{	background-color: White;
}

/* ------ */
#job-intro .point:not(:last-child)
{	margin-bottom: 40px;
}

.point-header
{	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0 auto;

	font-size: 2.7em;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
}
.point-header em
{	color: Red;
	color: var(--red,red);
}
/* +++++++++++++++++++++++ */
.point-header.orange
{	color: orange;
	color: var(--orange,orange);
}
.point-header.orange2
{	color: orange;
	color: var(--orange2,orange);
}
.point-header.green
{	color: green;
	color: var(--green,green);
}
.point-header.teal
{	color: teal;
	color: var(--teal,teal);
}
.point-header.blue
{	color: blue;
	color: var(--blue,blue);
}
.point-header.purple2
{	color: purple;
	color: var(--purple2,purple);
}

.point-header::before,
.point-header::after
{	background-repeat: no-repeat;
	-webkit-background-size: 100% 100%;
	background-size: 100% 100%;
	content: "";
	width: 1em;
	height: 2em;
}
.point-header::before
{	background-image: url("../img/bg-01-left.png");
	background-position: left center;
	margin-right: 0.5em;
}
.point-header::after
{	background-image: url("../img/bg-01-right.png");
	background-position: right center;
	margin-left: 0.5em;
}
.point-header:not(:last-child)
{	margin-bottom: 20px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 799px) 
{	.point-header
	{	font-size: 1.9rem;
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 599px) 
{	.point-header
	{	font-size: 1.5rem;
	}
}

/* -------------------------------  */
.point-intro-list
{	display: flex;
}
.point-intro-list:not(:last-child)
{	margin-bottom: 40px;
}

.point-intro-list > *
{	background-color: black;
	flex: 0 0 18.8%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 190px;
	box-sizing: border-box;
	padding: 0.125em;
	font-size: 1.4em;
	color: White;
	font-weight: bold;
}

.point-intro-list.blue > *
{	background-color: blue;
	background-color: var(--blue,blue);
}
.point-intro-list.teal > *
{	background-color: teal;
	background-color: var(--teal,teal);
}
.point-intro-list.green > *
{	background-color: green;
	background-color: var(--green,green);
}
.point-intro-list.orange > *
{	background-color: orange;
	background-color: var(--orange,orange);
}
.point-intro-list.orange2 > *
{	background-color: orange;
	background-color: var(--orange2,orange);
}
.point-intro-list.purple2 > *
{	background-color: purple;
	background-color: var(--purple2,purple);
}


.point-intro-list > :not(:last-child)
{	margin-right: 1.5%;
}

.point-intro-list figure
{	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	line-height: 1.3em;
	text-align: center;
}

.point-intro-list figure > :not(:last-child)
{	margin-bottom: 0.125em;
}

.point-intro-list figure strong
{	font-size: 1.2em;
	line-height: 1.1em;
}
.point-intro-list figure strong.big
{	font-size: 2em;
}
.point-intro-list figure strong em
{	color: Yellow;
	color: var(--yellow,yellow);
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 999px) 
{	.point-intro-list > *
	{	min-height: 150px;
		font-size: 1.15em;
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 799px) 
{	.point-intro-list
	{	flex-wrap: wrap;
		justify-content: center;
	}
	
	.point-intro-list > *
	{	flex-basis: 32%;
		min-height: 160px;
		font-size: 1.2em;
	}
	.point-intro-list > :not(:last-child)
	{	margin-right: 2%;
	}
	.point-intro-list > :nth-child(3n)
	{	margin-right: 0;
	}
	.point-intro-list > :nth-child(n+4)
	{	margin-top: 2%;
	}
	.point-intro-list figure strong
	{	font-size: 1.1em;
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 599px) 
{	.point-intro-list > *
	{	min-height: 120px;
		font-size: 1.1em;
	}
	.point-intro-list figure strong
	{	font-size: 1.05em;
	}
	.point-intro-list figure strong.big
	{	font-size: 1.5em;
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 399px) 
{	.point-intro-list > *
	{	font-size: 0.95em;
		min-height: 100px;
	}
	.point-intro-list figure strong
	{	font-size: 1.025em;
	}
	.point-intro-list figure strong.big
	{	font-size: 1.35em;
	}
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#about-sunrise
{	background-color: Beige;
}

#about-sunrise .content:not(:last-child)
{	margin-bottom: 60px;
}

/* --- */
#about-intro-points .layout
{	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#about-intro-points .layout:nth-child(2n)
{	flex-direction: row-reverse;
}
#about-intro-points .layout:not(:last-child)
{	margin-bottom: 40px;
}

#about-intro-points .layout > *
{	flex: 0 0 49%;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 799px)
{	#about-intro-points .layout
	{	display: block;
	}
	#about-intro-points .text:not(:last-child)
	{	margin-bottom: 20px;
	}
}

/* --- */
#about-schedule
{	max-width: 640px;
	margin: 0 auto;
}

#about-schedule .list:not(:last-child)
{	margin-bottom: 40px;
}

#about-schedule ol > *
{	display: flex;
	border-bottom: 1px solid #DDD;
	padding: 0.25em 1em;
}
#about-schedule ol > :last-child
{	border-bottom-width: 0;

}

#about-schedule ol time
{	width: 5em;
	margin-right: 2em;
	color: darkorange;
	color: var(--darkOrange2,darkorange);
	text-align: center;
	font-weight: bold;
}

#about-schedule ol p
{	flex: 1 1 0%;
}


/* --- */
#about-teachers .lead
{	text-align: center;
	font-size: 1.1em;
	margin-bottom: 20px;
}

#about-teachers ul
{	display: flex;
	justify-content: center;
}

#about-teachers ul > *
{	flex: 0 0 23%;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 2px 2px 2px #666;
	display: flex;
	flex-direction: column;
}

#about-teachers ul > :not(:last-child)
{	margin-right: 2%;
}

#about-teachers ul > ::before
{	background: url("../img/paper-top-bg.png") repeat-x center top;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
	content: "";
	height: 16px;
	display: block;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 999px)
{	#about-teachers ul
	{	flex-wrap: wrap;
	}
	#about-teachers ul > *
	{	flex-basis: 49%;
	}
	#about-teachers ul > :nth-child(2n)
	{	margin-right: 0;
	}
	#about-teachers ul > :nth-child(n+3)
	{	margin-top: 20px;
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 399px)
{	#about-teachers ul
	{	display: block;
	}
	#about-teachers ul > *
	{	margin-right: 0;
		display: block;
	}
	#about-teachers ul > :nth-child(n+2)
	{	margin-top: 20px;
	}
}

/* --- */
#about-teachers ul article
{	background-color: White;
	padding: 12px 15px 10px;
	display: flex;
	flex-direction: column;
	flex: 1 1 0%;
}

#about-teachers ul article .heading2
{	flex: 0 0 3em;
	font-size: 1.3em;
	line-height: 1.5em;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
#about-teachers ul article img
{	width: 100%;
	max-width: 180px;
	margin: 0 auto 20px;
}
#about-teachers ul article p
{	flex: 1 1 0%;
}

#about-teachers ul article p strong
{	display: block;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: darkorange;
	color: var(--darkOrange2,darkorange);
	font-size: 1.3em;
	line-height: 1.4em;
	font-weight: bold;
	text-align: center;
}

#about-teachers ul article p strong span
{	display: inline-block;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 999px)
{	#about-teachers ul article .heading2
	{	font-size: 1.2em;
	}
	#about-teachers ul article p strong
	{	font-size: 1.2em;
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 599px)
{	#about-teachers ul article .heading2
	{	font-size: 1.1em;
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 399px)
{	#about-teachers ul article
	{	display: block;
	}
	#about-teachers ul article .heading2
	{	display: block;
	}
	#about-teachers ul article p strong
	{	flex-direction: row;
		flex-wrap: wrap;
	}
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#point-details .point-header:not(:last-child)
{	margin-bottom: 20px;
}

#point-details ul > *
{	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#point-details ul > :not(:last-child)
{	margin-bottom: 20px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 599px)
{	#point-details ul > *
	{	display: block;
	}
}

/* */
#point-details ul figure
{	background-color: black;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 200px;
	margin-right: 20px;
	color: white;
	font-size: 1.3em;
	font-weight: bold;
	float: left;
}

#point-details ul.orange figure
{	background-color: orange;
	background-color: var(--orange,orange);
}
#point-details ul.orange2 figure
{	background-color: orange;
	background-color: var(--orange2,orange);
}
#point-details ul.green figure
{	background-color: green;
	background-color: var(--green,green);
}
#point-details ul.teal figure
{	background-color: teal;
	background-color: var(--teal,teal);
}
#point-details ul.blue figure
{	background-color: blue;
	background-color: var(--blue,blue);
}
#point-details ul.purple2 figure
{	background-color: purple;
	background-color: var(--purple2,purple);
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 599px)
{	#point-details ul figure
	{	width: 30%;
		width: 30vw;
		min-width: 100px;
		height: auto;
		height: 30vw;
		min-height: 100px;
		font-size: 10px;
		font-size: 3vw;
		margin-right: 1em;
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 479px)
{	#point-details ul figure
	{	width: auto;
		min-width: 0;
		height: auto;
		min-height: 0;
		font-size: 13px;
		margin-right: 0;
		float: none;
		padding: 5px 10px;
		margin-bottom: 10px;
	}
}


#point-details ul figure p
{	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#point-details ul figure p > *
{	text-align: center;
	display: block;
	line-height: 1.8em;
}
#point-details ul figure p > :not(:last-child)
{	margin-bottom: 5px;
}
#point-details ul figure p .multi-line
{	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#point-details ul figure p strong
{	font-size: 1.5em;
}
#point-details ul figure p strong.big
{	font-size: 1.55em;
}
#point-details ul figure p em
{	color: yellow;
	color: var(--yellow,yellow);
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 479px)
{	#point-details ul figure p
	{	display: block;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}
	#point-details ul figure p > *
	{	display: inline-block;
	}
	#point-details ul figure p > :not(:last-child)
	{	margin-bottom: 0;
	}
	#point-details ul figure p .multi-line
	{	flex-direction: row;
		flex-wrap: wrap;
	}
}


/* */
#point-details ul .text
{	flex: 1 1 0%;
	font-size: 1.1em;
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 599px)
{	#point-details ul .text
	{	font-size: 1.05em;
	}
}


/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#access-info h2
{	margin: 0 auto;
	color: orange;
	color: var(--orange2,orange);
	font-size: 1.8em;
	text-align: center;
	position: relative;
}

#access-info h2:not(:last-child)
{	margin-bottom: 30px;
}

#access-info h2 > *
{	display: inline-block;
	position: relative;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 999px)
{	#access-info h2
	{	font-size: 1.5em;
	}	
}

/* ---------- */
#access-info .map
{	border: 1px solid #CCC;
}

#access-info .map:not(:last-child)
{	margin-bottom: 40px;
}

/* ---------- */
#access-info .details dl
{	display: grid;
	grid-template-columns: 8em 1fr;
	grid-gap: 5px;
	font-size: 1.125em;
}

#access-info .details dl dt,
#access-info .details dl dd
{	padding: 5px 10px;
}

#access-info .details dl:not(:last-child)
{	margin-bottom: 20px;
}


#access-info .details dl dt
{	background-color: orange;
	background-color: var(--orange2,orange);
	border-radius: 15px;
	color: White;
	text-align: center;
	font-weight: bold;
	align-self: start;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 999px)
{	#access-info .details dl
	{	font-size: 1.05em;
	}
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#application-area
{	position: relative;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 40px;
}


/*===============================================================================================================================================*/
#application-form-wrap h2,
#recruit-detail h3
{	background-color: White;
	color: orange;
	color: var(--orange2,orange);
	font-size: 1.5em;
	padding: 0.5em 10px;
	text-align: center;
	font-weight: bold;
}

#application-form-wrap h2:not(:last-child),
#recruit-detail h3:not(:last-child)
{	margin-bottom: 20px;
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#recruit-detail .memobox
{	background-color: White;
	padding: 10px;
	margin-bottom: 20px;
}

#recruit-detail h4:not(:last-child),
#recruit-detail p:not(:last-child)
{	margin-bottom: 20px;
}

#recruit-detail h4
{	font-size: 1.25em;
}
#recruit-detail p
{	font-size: 1.05em;
}

#recruit-detail p b
{	color: OrangeRed;
	color: var(--orange-red,OrangeRed);
	font-weight: bold;
}

#recruit-detail dt
{	/*border-bottom: 2px solid;*/
	margin-bottom: 20px;
}
#recruit-detail dt > span {
	border-bottom: 2px solid #000;
}
#recruit-detail dt > span:after {
	content: " ▼";
}
/* ---- */
#recruit-detail .recruit-list
{	display: flex;
	margin: 10px -5px 0;
	padding-bottom: 20px;
}

#recruit-detail .recruit-list > *
{	background-color: White;
	flex: 1 1 auto;
	color: darkorange;
	color: var(--darkOrange2,darkorange);
	border: 1px solid;
	text-align: center;
	margin: 10px 5px 0;
	padding: 10px;
	border-radius: 5px;
	cursor: pointer;
}
@media screen and (max-width: 749px) 
{
	#recruit-detail .recruit-list {
		flex-wrap: wrap;
		justify-content: center;
	}
	#recruit-detail .recruit-list > * {
		flex: 0 0 23%;
	}
	#access-info .details dl
	{	
		grid-template-columns: none;
		grid-gap: none;
	}
}

@media screen and (max-width: 499px) 
{
	#recruit-detail .recruit-list {
		flex-wrap: wrap;
		justify-content: center;
	}
	#recruit-detail .recruit-list > * {
		flex: 0 0 37%;
	}
}

/* */
#recruit-detail .recruit-list > .active	
{	background-color: orange;
	background-color: var(--orange2,orange);
	color: white;
	border-color: darkorange;
	border-color: var(--darkOrange2,darkorange);
}

#recruit-detail .recruit-list strong
{	display: block;
	font-size: 1.1em;
	line-height: 1.4em;
	font-weight: bold;
}

/* ---- */
#recruit-detail .recruit-box
{	display: none;
}

#recruit-detail .recruit-box.select
{	display: block;
}

#recruit-detail .recruit-box h4
{	background-color: darkorange;
	background-color: var(--darkOrange2,darkorange);
	color: White;
	text-align: center;
	padding: 10px;
}

#recruit-detail .recruit-box .white-wp
{	background-color: White;
	padding: 20px;
}

#recruit-detail .recruit-box table
{	margin-bottom: 20px;
}

#recruit-detail .recruit-box table tr > *
{	padding: 10px 5px;
}

#recruit-detail .recruit-box table th
{	width: 10em;
	color: darkorange;
	color: var(--darkOrange2,darkorange);
	font-weight: bold;
}
#recruit-detail .recruit-box table td
{	width: auto;
}

.fuki-wp {
	text-align: center;
	margin-bottom: 35px;
}
.fuki-1 {
	font-size: calc(1.37vw + 12px);
	display: inline-block;
	padding: 1.7% 2%;
	background: #fff;
	color: #F06446;
	border-radius: 10px;
	position: relative;
}
.fuki-1:after {
	background: url("../img/tri-bottom.svg") no-repeat center top;
	background-size: 16px 14px;
	content: "";
	position: absolute;
	left: 50%;
	bottom: -14px;
	display: inline-block;
	width: 16px;
	height: 14px;
	margin-left: -10px;
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#application-form .req
{	background-color: OrangeRed;
	display: inline-block;
	vertical-align: middle;
	color: White;
	padding: 0.125em 0.25em;
	border-radius: 5px;
}

#application-form .error
{	background-color: OrangeRed;
	color: White;
	display: block;
	padding: 5px;
	font-size: 0.95em;
}
#application-form .error:not(:last-child)
{	margin-bottom: 1px;
}

#application-form input:not([type=checkbox]),
#application-form input:not([type=radio]),
#application-form textarea,
#application-form select
{	border: 1px solid #444;
}

#application-form textarea
{	min-height: 120px;
}

/* ----------------------- */
#application-form .input-group
{	display: flex;
	align-items: center;
	justify-content: space-between;
}

#application-form .input-group:not(:last-child)
{	margin-bottom: 20px;
}

#application-form .input-group > *
{	flex: 1 1 0;
}
#application-form .input-group > :not(:last-child)
{	margin-right: 10px;
}

/* */
#application-form .input-group.tel
{	max-width: 320px;
}

#application-form .input-group.tel > b
{	width: auto;
	text-align: center;
	flex: 0 0 auto;
}

/* */
#application-form .input-group.site-discovery
{	flex-wrap: wrap;

}

#application-form .input-group.site-discovery > *
{	flex: 1 1 48%;
}
#application-form .input-group.site-discovery > :not(:last-child)
{	margin-right: 0;
}


#application-form .input-group.site-discovery label
{	display: inline-block;
	padding: 2px;
}

/* */
#application-form .caption-group
{	display: flex;
	align-items: center;
	justify-content: space-between;
}
#application-form .caption-group p
{	min-width: 2.5em;
}
#application-form .caption-group > :not(:first-child)
{	flex: 1 1 0;
}

/* ----------------------- */
#form-layout
{	border: 1px solid;
	font-size: 16px;
}

#form-layout dl
{	display: grid;
	grid-template-columns: 40% 1fr;
}

#form-layout dl:not(:last-child)
{	border-bottom: 1px solid #888;
}

#form-layout dl > *
{	padding: 10px;
	box-sizing: border-box;
}

#form-layout dl dt
{	background-color: orange;
	background-color: var(--orange2,orange);
	color: White;
	font-weight: bold;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 999px)
{	#form-layout dl
	{	display: block;
	}
	#application-form .input-group
	{	display: block;
	}
	#application-form .input-group > :not(:last-child)
	{	margin-right: 0;
		margin-bottom: 15px;
	}
	#application-form .input-group.tel
	{	display: flex;
	}
	#application-form .input-group > :not(:last-child)
	{	margin-right: 10px;
		margin-bottom: 0;
	}
}

/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
/*===============================================================================================================================================*/


/* ---------------------------------- */
#footer-imgs
{	padding: 0 10px 20px;
	margin: 0 auto;
	width: 900px;
	max-width: 80%;
}

#footer-imgs img
{	margin: 0;
}

#footer-imgs .big img
{	width: 100%;
}

#footer-imgs .group 
{	max-width: 770px;
	margin: 0 auto;
	display: flex;
	overflow: hidden;
	align-items: flex-end;
	justify-content: space-between;
	text-align: center;
	
}

#footer-imgs .group > *
{	display: inline-block;
	vertical-align: bottom;
}
#footer-imgs .group > :nth-child(1),
#footer-imgs .group > :nth-child(3)
{	width: 25%;
}

#footer-imgs .group > :nth-child(2)
{	width: 40%;
}


/*===============================================================================================================================================*/
/*===============================================================================================================================================*/
#copyright-notice
{	background-color: orange;
	background-color: var(--orange2,orange);
	padding: 5px 10px;
	color: White;
	text-align: center;	
}



/* 年末年始 */
.lead-attention {
    margin: 30px 10px;
    padding: 10px;
    border: 1px solid #e96060;
    line-height: 1.7em;
    overflow: hidden;
    color: #e96060;
    font-size: 12px;
}


@media only screen and (min-width: 799px) {
.lead-attention {
    margin: 30px auto;
    max-width: 800px;
    font-size: 14px;
}
}