@charset "utf-8";

/* ===================================================================
CSS information

 file name  :top.css
 author     :PCBrain
 style info :top用
=================================================================== */

/* スライド */
.topmain-slide-wrap{
	max-width: 1920px;
	width: 100%;
	aspect-ratio: 1920 / 770;
	margin: 0 auto;
	position: relative;
}
.topmain-slide{
	margin: 0 auto !important;
}
.topmain-slide-wrap .slick-slide img{
	width: 100%;
	height: auto;
	object-fit: contain;
}
.slide-control{
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
	gap: 5px;
	padding: 10px;
	background: rgba(255, 255, 255, 0.70);
}
.slide-control button{
	cursor: pointer;
	text-indent: -100vw;
    overflow: hidden;
    display: block;
    width: 30px;
    height: 30px;
    appearance: none;
    border: none;
    position: relative;
    padding: 0;
	background: transparent;
}
.slide-control button::after,
.slide-control button::before{
    background-color: #333;
}
.slide-control button:hover:after,
.slide-control button:hover::before,
.slide-control .slick-active button::after{
    background-color: #f29625;
}
.dots-wrap{
    display: flex;
    gap: 5px;
    align-items: center;
}
.dots-box li{
	display: inline-block;
}
.dots-box li button::after{
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    display: block;
    border-radius: 50%;
    top: calc(50% - 4px);
    left: calc(50% - 4px);
}
.arrow_box {
	display: flex;
	gap: 5px;
}
.arrow_box button::before,
.arrow_box button::after {
	content: "";
    position: absolute;
    width: 15px;
    height: 4px;
	right: calc(50% - 8px);
}
.arrow_box button::before {
	transform: rotate(45deg);
	top: calc(50% - 7px);
}
.arrow_box button::after {
	transform: rotate(-45deg);
	bottom: calc(50% - 6px);
}
.arrow_box button.prev-arrow::before {
	transform: rotate(135deg);
    right: calc(50% - 7px);
}
.arrow_box button.prev-arrow::after {
	transform: rotate(-135deg);
    right: calc(50% - 7px);
}
.switch_box button.slick_pause::before,
.switch_box button.slick_pause::after {
	content: "";
    position: absolute;
    width: 4px;
    height: 16px;
    top: calc(50% - 8px);
	display: block;
}
.switch_box button.slick_pause::before{
    left: 9px;
}
.switch_box button.slick_pause::after {
    right: 9px;
}
.switch_box button.slick_pause.paused::before{
    height: 20px;
    aspect-ratio: 1 / 2;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    width: 12px;
    top: 5px;
    left: 10px;
}
.switch_box button.slick_pause.paused::after{
	display: none
}

#contents{
	box-sizing: border-box;
	width: 100%;
	max-width: 1680px;
	min-width: 1000px;
	margin: 0 auto;
	padding: 50px 30px;
	display: flex;
	gap: 36px;
	overflow: visible;
}
#main {
	flex: 1;
}
#main h2,
#side h2{
    margin: 0 auto 20px 0;
}
/* CATEGORY */
.topCategoryWrap{
	box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .2);
	border-radius: 7px;
	padding: 10px 30px 20px 30px;
}
.topCategoryList{
    display: flex;
    flex-wrap: wrap;
	position: relative;
}
.topCategoryList::after{
        background: #fff;
        bottom: 0;
        content: "";
        display: block;
        height: 2px;
        left: 0;
        position: absolute;
        width: 100%;
}
.topCategoryList li{
    width: calc(100% / 6);
    border-bottom: solid 1px #ccc;
    padding: 15px 10px;
    box-sizing: border-box;
}
.topCategoryList li a {
	text-decoration: none;
	color: #333;
}
.catimg{
    width: 80%;
    aspect-ratio: 1 / 1;
	margin: 0 auto;
}
.catimg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.catname{
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	margin: 5px 0 0 0 !important;
}
.catname::after {
	-webkit-backface-visibility: hidden;
    border-right: 2px solid #dc7c09;
    border-top: 2px solid #dc7c09;
    content: "";
    display: inline-block;
    position: relative;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
	height: 6px;
	width: 6px;
	margin-left: 5px;
}
/* SIDE */
#side{
	width: 378px;
}
.sidebanner li{
	box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .2);
	border-radius: 7px;
	overflow: hidden;
}
.sidebanner li + li{
	margin-top: 30px;
}
.sidebanner li img{
	max-width: 100%;
	height: auto;
}

/* NEWS */
#news h3 {
    position: relative;
}

#news span.btn {
    font-size: 13px;
    font-weight: normal;
    display:block;
    text-align:right;
}

#news span.btn a {
    color: #333;
    text-decoration: none;
    background: #eee;
    padding: 5px 10px 5px 40px;
}
#news dl dt {
    color: #f29625;
    font-size: 14px;
    font-weight: bold;
}
#news dl dd {
    border-bottom: #333 dotted 1px;
    margin: -20px 0 10px;
    position: relative;
    line-height: 1.3;
    font-size: 14px;
}
#news dl dd span {
    background: #83c2e9;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    width: 100px;
    text-align: center;
    display: inline-block;
    margin-right: 15px;
}
#news dl dd:after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    content: "";
    right: 15px;
    width: 18px;
    height: 18px;
    border-top: 4px solid #ddd;
    border-right: 4px solid #ddd;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#news dl dd a {
    color: #333;
    text-decoration: none;
    display: block;
    padding: 20px 35px 10px 0;
}

@media (max-width: 1575px) {
	.topCategoryList li{
		width: calc(100% / 5);
	}
}
@media (max-width: 1300px) {
	#side{
		width: 300px;
	}
}
@media (max-width: 1200px) {
	.topCategoryList li{
		width: calc(100% / 5);
	}
}
@media (max-width: 500px) {
	#contents{
        flex-direction: column;
        min-width: 100% !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        margin: 10px 0 0 0 !important;
        padding: 0 10px !important;
		gap: 0;
	}
	#side{
		width: 378px;
		max-width: 100%;
		margin: 0 auto;
	}
	.sidebanner li + li{
		margin-top: 20px;
	}
	.topCategoryWrap{
    	padding: 10px 20px 10px 20px;
	}
	.topCategoryList li{
		width: 100%;
		padding: 10px 10px;
	}
	.topCategoryList li a{
        display: flex;
        gap: 10px;
        align-items: center;
	}
	.catimg{
		width: 35px;
		height: 35px;
	}
	.catimg img{
		object-fit: cover;
	}
	.catname{
		flex: 1;
		text-align: left;
		position: relative;
		font-size: 3.5vmin;
	}
	.catname::after{
		position: absolute;
		right: 0;
		top: calc(50% - 5px);
	}
	.topmain-slide-wrap{
		width: 100%;
		max-width: unset;
		aspect-ratio:unset;
		margin: 0 auto;
		position: relative;
	}
	.topmain-slide{
		max-width: 750px;
		width: 100%;
		aspect-ratio: 750 / 460;
		margin: 0 auto;
		position: relative;
	}
	.slide-control{
		position: relative;
		bottom: 0;
		right: 0;
		display: flex;
		justify-content:end;
		gap: 5px;
		padding: 3px 5px;
		background: rgba(255, 255, 255, 0.70);
	}
	.slide-control button {
		width: 20px;
		height: 20px;
	}
	.dots-box li button::after {
		width: 3px;
		height: 3px;
		top: calc(50% - 2px);
		left: calc(50% - 2px);
	}
	.arrow_box button::before,
	.arrow_box button::after {
		width: 10px;
		height: 2px;
		right: calc(50% - 5px);
	}
	.arrow_box button::before {
		top: calc(50% - 4px);
	}
	.arrow_box button::after {
		bottom: calc(50% - 4px);
	}
	.arrow_box button.prev-arrow::before {
		right: calc(50% - 5px);
	}
	.arrow_box button.prev-arrow::after {
		right: calc(50% - 5px);
	}
	.switch_box button.slick_pause::before,
	.switch_box button.slick_pause::after {
		width: 2px;
		height: 14px;
		top: calc(50% - 7px);
	}
	.switch_box button.slick_pause::before{
		left: 6px;
	}
	.switch_box button.slick_pause::after {
		right: 6px;
	}
	.switch_box button.slick_pause.paused::before{
        height: 13px;
        width: 8px;
        top: 3px;
        left: 5px;
	}
}