@charset "UTF-8";

/*--------------------------------------------------------------------
 *	共通の記述
 *--------------------------------------------------------------------*/


/*------------------------------------------ panel_area */

body#home .panel_area {
	position: relative;
}
body#home .panel_area h1 {
	position: absolute;
	margin: 0;
}
body#home .panel_area p {
	margin: 0;
}

/*------------------------------------------ menu_area */
body#home main article .menu_area {
	padding: 1px 0;
}
body#home main article .menu_area .menu_list {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
}
body#home main article .menu_area .menu_list li {
	margin: 0;
}
body#home main article .menu_area .menu_list li a {
	display: block;
	position: relative;
	height: 100%;
	background-color: #9a003d;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	color: #fff;
}
body#home main article .menu_area .menu_list li a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	width: 16px;
	height: 16px;
	margin: auto;
	border-radius: 50%;
	background: #fff;
}
body#home main article .menu_area .menu_list li a::after {
	content: "";
	display: block;
	position: absolute;
	transform: skew(45deg);
	top: 0;
	bottom: 0;
	margin: auto;
	border-bottom: 1px solid #9a003d;
	border-right: 1px solid #9a003d;
}
body#home main article .menu_area .menu_list li a span {
	display: block;
	background-repeat: no-repeat;
	background-position: center top;
	line-height: 1.37;
}
body#home main article .menu_area .menu_list li:nth-child(1) a span {
	background-image: url("../images/top_icon_01.png");
}
body#home main article .menu_area .menu_list li:nth-child(2) a span {
	background-image: url("../images/top_icon_02.png");
}
body#home main article .menu_area .menu_list li:nth-child(3) a span {
	background-image: url("../images/top_icon_03.png");
}
body#home main article .menu_area .menu_list li:nth-child(4) a span {
	background-image: url("../images/top_icon_04.png");
}
body#home main article .menu_area .menu_list li:nth-child(5) a span {
	background-image: url("../images/top_icon_05.png");
}
body#home main article .menu_area .menu_list li:nth-child(6) a span {
	background-image: url("../images/top_icon_06.png");
}
body#home main article .menu_area .menu_list li:nth-child(7) a span {
	background-image: url("../images/top_icon_07.png");
}
body#home main article .menu_area .menu_list li:nth-child(8) a span {
	background-image: url("../images/top_icon_08.png");
}

/*------------------------------------------ news_area */
body#home main article .news_area {
	padding: 1px 0;
	background-color: #f0f0f5;
}
body#home main article .news_area h1 {
	text-align: center;
	font-family: "Outfit", sans-serif;
}
body#home main article .news_area h1 span {
	display: block;
	font-weight: normal;
}
body#home main article .news_area dl {
	margin: 0;
}
body#home main article .news_area dl dt {
	margin: 0 0 0.5em;
}
body#home main article .news_area dl dt span {
	display: inline-block;
	margin-right: 1em;
	width: 8em;
	text-align: center;
	border-radius: 5px;
	color: #fff;
}
body#home main article .news_area dl dt span.cat_fgcactivity {
	background-color: #ff9600;
}
body#home main article .news_area dl dt span.cat_fdactivity {
	background-color: #55af00;
}
body#home main article .news_area dl dt span.cat_training {
	background-color: #fe6e83;
}
body#home main article .news_area dl dt span.cat_info,
body#home main article .news_area dl dt span.cat_others {
	background-color: #0096ff;
}
body#home main article .news_area dl dd {
	margin: 0 0 1.5em;
	font-weight: bold;
}
body#home main article .news_area dl dd a {
	color: #323232;
}
body#home main article .news_area .btn_archive {
	margin: 3em 0;
	padding: 1em 0;
	text-align: center;
}
body#home main article .news_area .btn_archive a {
	display: inline-block;
	position: relative;
	font-weight: 500;
	text-decoration: none;
	color: #323232;
}
body#home main article .news_area .btn_archive a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	width: 16px;
	height: 16px;
	margin: auto;
	border-radius: 50%;
	background: #646464;
}
body#home main article .news_area .btn_archive a::after {
	content: "";
	display: block;
	position: absolute;
	transform: skew(45deg);
	top: 0;
	bottom: 0;
	margin: auto;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
}

/*------------------------------------------ footer */




/*--------------------------------------------------------------------
 *	736px以下用（SP用）の記述
 *--------------------------------------------------------------------*/

@media screen and (max-width: 736px) {
/* 736px以下用（SP用）の記述 */

body#home main article {
	padding: 0;
}

/*------------------------------------------ panel_area */
body#home .panel_area {
}
body#home .panel_area h1 {
	top: 48.117%;
	left: 0;
	width: 98.8%;
}



/*------------------------------------------ menu_area */
body#home main article .menu_area {
	margin-top: -12.533%;
	margin-bottom: 80px;
	padding-right: 4.66%;
	padding-left: 4.66%;
}
body#home main article .menu_area .menu_list li {
	width: calc((100% - 25px) /2 );
	margin-bottom: 25px;
}
body#home main article .menu_area .menu_list li:nth-child(even) {
	margin-left: 25px;
}
body#home main article .menu_area .menu_list li a {
	padding: 16px 8px 24px;
	border-radius: 40px 0 40px 0;
}
body#home main article .menu_area .menu_list li a::before {
	width: 20px;
	height: 20px;
}
body#home main article .menu_area .menu_list li a::after {
	right: 16px;
	width: 12px;
	height: 4px;
}
body#home main article .menu_area .menu_list li a span {
	padding-top: 80px;
	background-size: 70px auto;
}

/*------------------------------------------ news_area */
body#home main article .news_area {
	padding-right: 4.66%;
	padding-left: 4.66%;
}
body#home main article .news_area h1 {
	margin-top: 1em;
	font-size: 2.5rem;
	font-family: "Outfit", sans-serif;
}
body#home main article .news_area h1 span {
	font-size: 1.3rem;
}
body#home main article .news_area dl dt {
	font-size: 1.2rem;
}
body#home main article .news_area dl dt span {
	padding: 0 2px;
	font-size: 1.2rem;
}
body#home main article .news_area dl dd {
	margin-bottom: 1.5em;
}
body#home main article .news_area .btn_archive a {
	padding-right: 62px;
}
body#home main article .news_area .btn_archive a::before {
	width: 46px;
	height: 46px;
}
body#home main article .news_area .btn_archive a::after {
	right: 28px;
	width: 14px;
	height: 5px;
}

/*------------------------------------------ footer */




/* 736px以上用（SP用）の記述 end */
}


/*--------------------------------------------------------------------
 *	737px以上用（PC用）の記述
 *--------------------------------------------------------------------*/
@media screen and (min-width: 737px), print {
/* 737px以上用（PC用）の記述 */
body#home main article {
	max-width: none;
	margin: auto;
	padding: 0;
}

/*------------------------------------------ panel_area */
body#home .panel_area {
	max-width: 1400px;
	margin: auto;
}
body#home .panel_area h1 {
	position: absolute;
	top: 42.76%;
	left: 7.14%;
	width: 58.57%;
	margin: auto;
}


/*------------------------------------------ menu_area */
body#home main article .menu_area {
	margin: -60px auto 70px;
	max-width: 970px;
	padding: 0 40px;
}
body#home main article .menu_area .menu_list li {
	width: calc((100% - 90px) /4 );
	margin-left: 30px;
	margin-bottom: 30px;
}
body#home main article .menu_area .menu_list li:nth-child(4n+1) {
	margin-left: 0;
}
body#home main article .menu_area .menu_list li a {
	padding: 32px 8px 25px;
	border-radius: 50px 0 50px 0;
	height: 100%;
}
body#home main article .menu_area .menu_list li a::before {
	width: 25px;
	height: 25px;
}
body#home main article .menu_area .menu_list li a::after {
	right: 18px;
	width: 12px;
	height: 4px;
}
body#home main article .menu_area .menu_list li a:hover::before {
	right: 16px;
	transition : all 0.3s ease-out;
}
body#home main article .menu_area .menu_list li a:hover::after {
	right: 24px;
	transition : all 0.3s ease-out;
}
body#home main article .menu_area .menu_list li a span {
	padding-top: 100px;
	background-size: 88px auto;
}

/*------------------------------------------ news_area */
body#home main article .news_area {
	padding-top: 40px;
	padding-bottom: 40px;
}
body#home main article .news_area h1 {
	margin-top: 1em;
	font-size: 4.0rem;
	line-height: 1.4;
}
body#home main article .news_area h1 span {
	font-size: 1.6rem;
}
body#home main article .news_area dl {
	display: flex;
	flex-wrap: wrap;
	max-width: 940px;
	margin-right: auto;
	margin-left: auto;
	padding: 0 40px;
}
body#home main article .news_area dl dt {
	width: 15em;
	font-size: 1.4rem;
	margin-bottom: 1.5em;
}
body#home main article .news_area dl dd {
	width: calc(100% - 15em);
	margin-bottom: 1.5em;
}

body#home main article .news_area .btn_archive {
	margin: 2.5em 0;
}
body#home main article .news_area .btn_archive a {
	padding-right: 64px;
	font-size: 1.4rem;
}
body#home main article .news_area .btn_archive a::before {
	width: 49px;
	height: 49px;
}
body#home main article .news_area .btn_archive a::after {
	right: 28px;
	width: 16px;
	height: 5px;
}
body#home main article .news_area .btn_archive a:hover::before {
	right: 2px;
	transition : all 0.3s ease-out;
}
body#home main article .news_area .btn_archive a:hover::after {
	right: 20px;
	transition : all 0.3s ease-out;
}

/*------------------------------------------ footer */




/* 737px以上用（PC用）の記述 end */
}


/*--------------------------------------------------------------------
 *	1200px以上用（PC用）の記述
 *--------------------------------------------------------------------*/
@media screen and (min-width: 1200px), print {
/* 1200px以上用（PC用）の記述 */

body#home main article .wrap {
	margin: 0 auto;
}


/* 1200px以上用（PC用）の記述 end */
}

/*--------------------------------------------------------------------
 *	1400px以上用（PC用）の記述
 *--------------------------------------------------------------------*/
@media screen and (min-width: 1400px), print {
/* 1400px以上用（PC用）の記述 */




/* 1200px以上用（PC用）の記述 end */
}

/*--------------------------------------------------------------------
 *	印刷用（PC表示）の記述
 *--------------------------------------------------------------------*/
@media print {
/* 印刷用（PC表示）の記述 */



/* 印刷用（PC表示）の記述 end */
}


/*------------------------------------------ clear */
section {
	zoom: 100%;
}

section:after {
	content: "";
	display: block;
	clear: both;
}