@charset "utf-8";

/*=====================================
top.css
=====================================*/

.topicpath ul li a{
	color:#136ec6;
}

/*-------------------------------------
 visual
-------------------------------------*/
.topVisual {
	position: relative;
	margin: 0 0 15px 0;
}
.topVisual h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	margin: -75px 0 0 -260px;
}
.topSlide ul li img {
	width: 100%;
}

.topSlide .slick-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 260px;
	display: flex;
	justify-content: flex-end;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 80px 0 20px;
}
.topSlide .slick-dots li {
	margin: 0 0 0 10px;
	line-height: 10px;
}
.topSlide .slick-dots li button {
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	cursor: pointer;
	line-height: 10px;
	text-indent: 200%;
	white-space: nowrap;
	border-radius: 50%;
	border: none;
	background: #9ea1a7;
	overflow: hidden;
}
.topSlide .slick-dots .slick-active button {
	background: #000;
}
.topSlide .slick-arrow {
	position: absolute;
	right: 50%;
	bottom: 194px;
	z-index: 2;
	width: 50px;
	height: 50px;
	cursor: pointer;
	text-indent: 200%;
	white-space: nowrap;
	border-radius: 13px;
	border: 2px solid #000;
	background-color: transparent;
	background-repeat: no-repeat;
	background-size: 10px auto;
	background-position: center center;
	overflow: hidden;
}
.topSlide .slick-next {
	margin-right: -538px;
	background-image: url(../images/icn_next01.svg);
}
.topSlide .slick-prev {
	margin-right: -478px;
	background-image: url(../images/icn_prev01.svg);
}


/*-------------------------------------
 section
-------------------------------------*/
.topSection {
	padding: 30px 0;
}


/*-------------------------------------
 service
-------------------------------------*/

/* topServiceTitle
-------------------------------------*/
.topServiceTitle {
	display: flex;
	justify-content: space-between;
	margin: 0 0 20px 0;
	border-bottom: 4px solid #ff6600;
}
.topServiceTitle h2 {
	padding: 5px 0 0 0;
	font-size: 30px;
	font-weight: bold;
}
.topServiceSelect ul {
	display: flex;
	margin: 0 0 -4px 0;
}
.topServiceSelect ul li {
	position: relative;
    margin: 0 0 0 38px;
    padding: 14px 46px 10px 18px;
    cursor: pointer;
    color: #fff;
    font-weight: bold;
    border-radius: 13px 13px 0 0;
    background: #979797;
	z-index: 1;
	border-bottom: 4px #ff6600 solid;
}
.topServiceSelect ul li:before {
	content: "";
    position: absolute;
    top: 0;
    left: -20px;
    display: block;
    width: 45px;
    height: calc(100% + 4px);
    border-radius: 13px 0 0 0;
    transform: skewX(-30deg);
    background: #979797;
    border-bottom: 4px solid #ff6600;
}
.topServiceSelect ul li:last-child::before{
	border-bottom: 4px solid #979797;
}
.topServiceSelect ul li:last-child{
	border-bottom: 4px #979797 solid;
}
.topServiceSelect ul li:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
.topServiceSelect ul li p {
	position: relative;
	z-index: 2;
}
.topServiceSelect ul li em {
	font-size: 25px;
}
.topServiceSelect ul li.current,
.topServiceSelect ul li.current:before {
	background: #ff6600;
	border-bottom: 4px solid #ff6600;
}
.topServiceSelect ul li.current:last-child::before{
	background: #ff6600;
	border-bottom: 4px solid #ff6600;
}
.topServiceSelect ul li.current:last-child{
	background: #ff6600;
	border-bottom: 4px solid #ff6600;
}
/* topCategoryList
-------------------------------------*/
.topCategoryList {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -13px 0 0;
}
.topCategoryList .clm {
	width: 20%;
	padding: 0 13px 20px 0;
}
.topCategoryList .item {
	height: 100%;
}
.topCategoryList .item a {
	display: block;
	height: 100%;
	padding: 5px 18px 15px;
	text-align: center;
	text-decoration: none;
	border-radius: 12px;
	border: 1px solid #e5e5e5;
	background: #fff;
}
.topCategoryList .item figure {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 106px;
}

.topCategoryList .item img{
    max-height: 80%;
    width: auto;
	max-width: 150px;
}



/* topFieldList
-------------------------------------*/
.topFieldList {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -18px 15px 0;
}
.topFieldList .clm {
	width: 33.333%;
	padding: 0 18px 30px 0;
}
.topFieldList p {
	padding: 12px 0 0 0;
}
.topFieldList figure{
	overflow: hidden;
	border-radius: 15px;
}


/*-------------------------------------
 news
-------------------------------------*/


/* topNewsTitle
-------------------------------------*/
.topNewsTitle {
	display: flex;
	justify-content: space-between;
	margin: 0 0 29px 0;
}
.topNewsTitle h2 {
	font-size: 30px;
	font-weight: bold;
}
.topNewsSelect ul {
	display: flex;
}
.topNewsSelect ul li {
	margin: 0 0 0 10px;
	padding: 14px 18px;
	cursor: pointer;
	color: #fff;
	font-weight: bold;
	border-radius: 13px;
	background: #979797;
}
.topNewsSelect ul li.current {
	background: #ff6600;
}

/* topNewsNotice
-------------------------------------*/
.topNewsNotice {
	margin: 0 0 30px 0;
	padding: 35px 20px 35px 94px;
	color: #ff6600;
	font-size: 18px;
	font-weight: bold;
	border-radius: 13px;
	border: 2px solid #ff6600;
	background: url(../images/icn_notice01.png) no-repeat 27px center;
}

/* topNewsList
-------------------------------------*/
.topNewsList {
	margin: 0 0 16px 0;
	border-top: 1px solid #e5e5e5;
}
.topNewsList .row {
	display: flex;
	align-items: center;
	padding: 25px 0;
	border-bottom: 1px solid #e5e5e5;
}
.topNewsList .item {
	display: flex;
	align-items: flex-start;
}
.topNewsList .category {
	width: 112px;
	padding: 0 10px 0 0;
	flex-shrink: 0;
}
.topNewsList .category .cat {
	display: inline-block;
	min-width: 85px;
	padding: 3px 9px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	border-radius: 5px;
	background: #979797;
}
.topNewsList .date {
	min-width: 100px;
	padding: 3px 10px 3px 0;
	flex-shrink: 0;
}
.topNewsList .txt {
	line-height: 1.7;
}
.topNewsList .txt a[target="_blank"]:after {
	content: "";
	display: inline-block;
	width: 23px;
	height: 23px;
	margin: 0 0 0 5px;
	vertical-align: top;
	background: url(../images/icn_blank01.svg) no-repeat 0 0 / 100% auto;
}
.topNewsList .category .icnNew {
	display: none;
}
.etc_title a[target="_blank"]:after {
	content: "";
	display: inline-block;
	width: 23px;
	height: 23px;
	margin: 0 0 0 5px;
	vertical-align: top;
	background: url(../images/icn_blank01.svg) no-repeat 0 0 / 100% auto;
}
.topNewsSection .topNewsList .listSEMINAR{
	display: none;
}
.topNewsList .listSEMINAR .cat{
	background-color: #ff6600;
}
.topNewsList .listSEMINAR.listEND .cat{
	background-color: #979797;
}
/*-------------------------------------
 btn
-------------------------------------*/
.topBtn01 {
	text-align: right;
}
.topBtn01 a {
	position: relative;
	display: inline-block;
	width: 252px;
	height: 50px;
	line-height: 46px;
	text-align: center;
	text-decoration: none;
	border-radius: 30px;
	border: 2px solid #ff6600;
}
.topBtn01 a:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 38px;
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	border-top: 2px solid #ff6600;
	border-right: 2px solid #ff6600;
	transform: rotate(45deg);
}

.topicpath ul li:last-child::after{
	display: none;
}





/*-------------------------------------------------------------------
 Media Queries
-------------------------------------------------------------------*/

@media screen and (max-width: 1240px) {


/*-------------------------------------
 visual
-------------------------------------*/
.topSlide .slick-dots {
	padding: 0 20px;
}
.topSlide .slick-next {
	right: 20px;
	margin-right: 0;
}
.topSlide .slick-prev {
	right: 80px;
	margin-right: 0;
}


}







/* SP layout
-------------------------------------------------------------------*/
@media screen and (max-width: 768px) {


/*-------------------------------------
 visual
-------------------------------------*/
.topVisual {
	margin: 0;
}
.topSlide .slick-dots {
	bottom: 20vw;
	justify-content: center;
}
.topSlide .slick-dots li {
	margin: 0 3px;
	line-height: 6px;
}
.topSlide .slick-dots li button {
	width: 6px;
	height: 6px;
	line-height: 6px;
}
.topSlide .slick-arrow {
	bottom: 10vw;
	z-index: 2;
	width: 32px;
	height: 32px;
	border-radius: 5px;
	border-width: 1px;
	background-size: 6px auto;
}
.topSlide .slick-next {
	right: 50%;
	margin-right: -36px;
}
.topSlide .slick-prev {
	right: auto;
	left: 50%;
	margin-left: -36px;
}


/*-------------------------------------
 section
-------------------------------------*/
.topSection {
	padding: 15px 0;
}


/*-------------------------------------
 topService
-------------------------------------*/
.topServiceSelect{
	margin-bottom: 20px;
}
.topCategoryList {
	margin-top: 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0 0 0 0;
	column-gap: 4%;
	row-gap: 20px;
}
.topFieldList .clm{
	width: 100%;
	padding: 0 0px 20px 0;
}
.topFieldList {
    display: grid;
    grid-template-columns: 1fr;
    margin: 0 0 0 0;
}

.topCategoryList .clm {
    width: 100%;
    padding: 0 0px 0px 0;
}
.topFieldList p {
    padding: 10px 0 0 0;
    text-align: center;
}
.topCategoryList{
	margin-bottom: 30px;
}

/* topServiceTitle
-------------------------------------*/
.topServiceTitle {
	display: block;
	margin: 0;
	border-bottom: none;
}
.topServiceTitle h2 {
	padding: 0 0 8px 0;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}
.topServiceSelect ul {
	justify-content: space-between;
	margin: 0;
}
.topServiceSelect ul li {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 47%;
	min-height: 100px;
	margin: 0;
	padding: 5px;
	font-size: 12px;
	border-radius: 5px;
	background: #979797;
}
.topServiceSelect ul li:before,
.topServiceSelect ul li:after {
	content: none;
}
.topServiceSelect ul li a {
	display: inline-block;
	color: #fff;
}
.topServiceSelect ul li em {
    font-size: 18px;
}

.topCategoryList .item figure {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 76px;
    margin-bottom: 10px;
}

.topCategoryList .item figure img{
	max-width: 100px;
}



/*-------------------------------------
 news
-------------------------------------*/
.topNewsSection {
	padding-bottom: 35px;
}
.topNewsList .item {
    display: block;
    align-items: flex-start;
}
.topNewsList .item {
    display: block;
    align-items: flex-start;
    width: 100%;
}
.topNewsList .category {
    width: auto;
    padding: 0;
    margin-bottom: 8px;
}

/* topNewsTitle
-------------------------------------*/
.topNewsTitle {
	display: block;
	justify-content: space-between;
	margin: 0 0 29px 0;
}
.topNewsTitle h2 {
	padding: 0 0 15px 0;
	font-size: 22px;
	text-align: center;
}
.topNewsSelect ul {
	margin: 0 -0.5%;
}
.topNewsSelect ul li {
	width: 24%;
	margin: 0 0.5%;
	padding: 14px 5px;
	cursor: pointer;
	text-align: center;
	border-radius: 0;
}

/* topNewsNotice
-------------------------------------*/
.topNewsNotice {
	padding: 20px 20px 20px 78px;
	background-position: 17px center
}

/* topNewsList
-------------------------------------*/
.topNewsList {
	margin: 0;
	border-top: none;
}
.topNewsList .row {
	padding: 0 0 18px 0;
	border-bottom: none;
}
.topNewsList .item {
	flex-wrap: wrap;
}

.topNewsList .category {
	width: auto;
	padding: 0;
}
.topNewsList .category .cat {
	display: inline-block;
	min-width: 80px;
	min-height: 26px;
	padding: 3px 6px;
}
.topNewsList .date {
	padding: 3px 10px 3px 0;
	order: -1;
	float: left;
}
.topNewsList .category .icnNew {
	display: inline-block;
}
.topNewsList .txt .icnNew {
	display: none;
}


/*-------------------------------------
 btn
-------------------------------------*/
.topBtn01 {
	text-align: center;
}






}



/* PC layout
-------------------------------------------------------------------*/
@media screen and (min-width: 769px) {


.topSlide .slick-arrow {
	text-decoration: none;
	transition: all 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	backface-visibility: hidden;
}
.topSlide .slick-arrow:hover {
	border-color: #ff6600;
	background-color: #ff6600;
}
.topSlide .slick-next:hover {
	background-image: url(../images/icn_next02.svg);
}
.topSlide .slick-prev:hover {
	background-image: url(../images/icn_prev02.svg);
}


.topSlide .slick-dots {
    position: absolute;
    left: 0;
    right: 50%;
    bottom: 260px;
    display: block;
    justify-content: flex-end;
    margin: 0 auto;
    padding: 0 80px 0 20px;
    width: 300px;
    margin-right: -658px;
    text-align: center;
}
.topSlide .slick-dots li {
    margin: 0 0 0 10px;
    line-height: 10px;
    display: inline-block;
}


}

@media print{
	.categoryDetailLink.forSP{
		display: none !important;
	}
	.listSectionTTL .imgBox{
		display: block;
	}
	.listSectionTTL .imgBox img{
		max-height: 80px !important;
		width: auto !important;
	}
}