@charset "utf-8";

/*
1921 -	  4Kディスプレイ
1367 -	  ワイドディスプレイ
1281 - 1366 スモールワイドディスプレイ
1024 - 1280 ラージタブレット・スクエアディスプレイ
 768 - 1023 タブレット
 501 -  767 スモールタブレット
 361 -  500 スマホ
	 -  360

400 スマホ360 (360 - 720)
448 スマホ410 (410 - 820)
810 タブレット768 (768 - 875)
1064 タブレット横768 (1024 - 768)
1320 スクエア1280 (1280 - 875)
1400 ノート1366 (1366 －768)

@media (1367px <= width) {}
@media (1281px <= width <= 1366px) {}
@media (1024px <= width <= 1280px) {}
@media (768px <= width <= 1023px) {}
@media (501px <= width <= 767px) {}
@media (401px <= width <= 500px) {}
@media (width <= 400px) {}
@media (501px <= width) and (height <= 768px) {}

@media (hover: hover) and (pointer: fine) {}
*/

/*---------------------------------------------------------------------- variable --*/


html {
	--border: 1px solid #444;
	--border_pale: 1px solid #eee;
	--border_radius: 5px;
	--border_radius_light: 3px;
	--box_shadow: 0 0 3px #ddd;
	--box_shadow_3: 2px 2px 3px #ddd;
	--box_shadow_light: 0 0 15px #eee;
	--hover: #f90;
	--theme: #171c61;
	--transition: all ease 0.2s;
}

@media (1601px <= width) {
	html {
		--margin: 100px;
	}
}

@media (1281px <= width <= 1600px) {
	html {
		--margin: 75px;
	}
}

@media (768px <= width <= 1280px) {
	html {
		--margin: 50px;
	}
}

@media (width <= 767px) {
	html {
		--margin: 30px;
	}
}

/*---------------------------------------------------------------------- a --*/

@media (hover: hover) and (pointer: fine) {
	a:not(.disabled),
	a:not(.disabled)::before,
	a:not(.disabled)::after {
		transition: var(--transition);
	}
}


/*---------------------------------------------------------------------- .body --*/

body {
	padding-top: var(--header_height);		
}

/*---------------------------------------------------------------------- .box --*/

.box,
.box_top,
.box_right,
.box_bottom,
.box_left,
.box_side,
.box_all {
	width: 100%;
	margin: 0 auto;
}

.box {
	padding: var(--margin) 0;
}

.box_top {
	padding-top: var(--margin);
}

.box_right {
	padding-right: var(--margin);
}

.box_bottom {
	padding-bottom: var(--margin);
}

.box_left {
	padding-left: var(--margin);
}

.box_side {
	padding: 0 var(--margin);
}

.box_all {
	padding: var(--margin);
}

/*---------------------------------------------------------------------- ..frame --*/

.frame {
	margin: 0 auto;
}

@media (1601px <= width) {
	.frame {
		width: calc(100% - 400px);
	}
	
	.frame_extend {
		width: calc(100% - 200px);
	}
}

@media (1025px <= width <= 1600px) {
	.frame {
		width: calc(100% - 200px);
	}
}

@media (768px <= width <= 1024px) {
	.frame {
		width: calc(100% - 100px);
	}
}

@media (width <= 767px) {
	.frame {
		width: calc(100% - 50px);
	}
}

/*---------------------------------------------------------------------- .none --*/

@media (501px <= width) {
	.none_501_ {
		display: none;
	}
}

@media (width <= 768px) {
	.none_768 {
		display: none;
	}
}

@media (width <= 767px) {
	.none_767 {
		display: none;
	}
}

@media (width <= 500px) {
	.none_500 {
		display: none;
	}
}

@media (width <= 400px) {
	.none_400 {
		display: none;
	}
}

/*---------------------------------------------------------------------- .scrollbar --*/

body {
	/*-ms-overflow-style: none; /* IE, Edge 対応 */
	/*scrollbar-width: none; /* Firefox 対応 */
}

body::-webkit-scrollbar { /* Chrome, Safari 対応 */
	/*display: none;*/
}

::-webkit-scrollbar{
	width: 10px;
}

::-webkit-scrollbar-track{
	background: #ddd;
}

::-webkit-scrollbar-thumb{
	background: #f8b62d;
}

/*---------------------------------------------------------------------- .section --*/

section {
	position: relative;
}

/*---------------------------------------------------------------------- .visible --*/

@media (1025px <= width) {
	.visible_1024 {
		display: none;
	}	
}

@media (769px <= width) {
	.visible_768,
	.visible_501_768 {
		display: none;
	}
}

@media (501px <= width) {
	.visible_500,
	.small_visible {
		display: none;
	}	
}

@media (width <= 1024px) {
	.visible_1024 {
		display: initial;
	}
}

@media (width <= 768px) {
	.visible_768,
	.visible_500_768 {
		display: initial;
	}
}

@media (width <= 500px) {
	.visible_500,
	.small_visible {
		display: initial;
	}

	.visible_501_768 {
		display: none;
	}
}

@media (401px <= width) {
	.visible_400 {
		display: none;
	} 
}

@media (width <= 400px) {
	.visible_400 {
		display: initial;
	}
}

/*---------------------------------------------------------------------- ..wrap --*/

.wrap {
	background: #fff;
	z-index: 1;
}
