@charset "utf-8";

@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 200;
	src: url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Thin.woff2) format('woff2'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Thin.woff) format('woff'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Thin.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/NotoSansCJKjp/NotoSansCJKjp-DemiLight.woff2) format('woff2'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-DemiLight.woff) format('woff'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-DemiLight.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	src: url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff2) format('woff2'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff) format('woff'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff2) format('woff2'),
		 url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff) format('woff'),
		 url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.otf) format('opentype');
}
/*==============================
	基本設定
==============================*/
body{
	color:#000;
	font-size:12px;
	font-family:'Noto Sans JP';
	margin:0;
	padding:0;
	text-align:left;
	background:#fff;
	-webkit-text-size-adjust:100%;
	min-width:1240px;
	position:relative;
}
body *, body *::before, body *::after{box-sizing:border-box;}
@media only screen and (max-width:767px){
	body{
		min-width:0;
		padding-top:0px;
	}
}

/* wrapper */
.wrapper1400{
	width:1400px;
	margin:0 auto;
}
.wrapper1200{
	width:1200px;
	margin:0 auto;
}
.wrapper1100{
	width:1100px;
	margin:0 auto;
}
.wrapper1000{
	width:1000px;
	margin:0 auto;
}
@media only screen and (max-width:1500px){
	.wrapper1400{
		width:1200px;
	}
}
@media only screen and (max-width:767px){
	.wrapper1400,
	.wrapper1200,
	.wrapper1100,
	.wrapper1000{ width:100%;}
}

img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
th{
	font-weight:normal;
	text-align:left;
}
/*font layout*/
.fBold{font-weight:bold;}
.fNoto{font-family: 'Noto Sans JP';}
.fSerif{font-family: 'Noto Serif Japanese';}
.fRobot{font-family: 'Roboto', sans-serif;}
.fRobot2{font-family: "Roboto Condensed";}
.fLight{ font-weight:300;}

/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover{ filter:alpha(opacity=80);opacity:0.8; }
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.ro a,
a.ro,
a .ro,
.brt a,
a.brt,
a .brt{
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.ro .no_ro a:hover,
.ro a.no_ro:hover{ filter:alpha(opacity=100);opacity:1; }
a:focus{outline:none;}
.spOnly,
.brSp,
.imgSp{
	display:none !important;
}
a{text-decoration:none;}
@media only screen and (max-width:767px){
	.spNone,
	.brPc,
	.imgPc{
		display:none !important;
	}
	.spOnly,
	.brSp,
	.imgSp{
		display:block !important;
	}
	.imgR{
		width:100%;
		height:auto;
	}
}

/*==============================
	spNavi
==============================*/
@media only screen and (max-width:767px){
	#spNavi{
		width: 100%;
		height: 100%;
		opacity: 0;
		background: rgba(0,0,0,0.85);
		-webkit-transition: 0.2s cubic-bezier(0.645,0.045,0.355,1);
		transition: 0.2s cubic-bezier(0.645,0.045,0.355,1);
		z-index: -1;
		position: fixed;
		top: -100%;
		left: 0;
		overflow-y: scroll;
	}
	#spNavi.naviOpen{
		top: 0;
		opacity: 1;
		z-index: 10000;
	}
	#spNavi .wrapper{
		width: 91.308%;
		margin: 0 auto;
		opacity: 0;
		-webkit-transition: 0.3s ease 0.25s;
		transition: 0.3s ease 0.25s;
	}
	#spNavi.naviOpen .wrapper{
		opacity: 1;
	}
	#spNavi .btnClose{
		width: 80px;
    	height: 66px;
		background: url(../img/common/spNaviClose.png) center center / 17px auto no-repeat;
		margin: 0 0 0 auto;
	}
	#spNavi .boxList{
		margin-top:32px;
	}
	#spNavi .boxList li{
		border-top: 1px solid #FFF;
	}
	#spNavi .boxList li:last-child{
		border-bottom: 1px solid #FFF;
	}
	#spNavi .boxList li a{
		display: block;
		text-decoration: none;
		font-size: 15px;
		color: #FFF;
		line-height: 58px;
		letter-spacing: 0.5px;
		padding-left:20px;
	}
	#spNavi .btnClose02{
		text-align: center;
		height: 70px;
		margin: 10px 0;
		font-size: 0;
		padding: 26.5px 0;
	}
	#spNavi .btnClose02 .txt{
		display: inline-block;
		vertical-align: top;
		padding-top: 2px;
		text-align: center;
		font-size: 14px;
		color: #FFF;
	}
	#spNavi .btnClose02 .img{
		display: inline-block;
		vertical-align: top;
		margin-right: 10px;
		margin-top:3px;
	}
}
/*-----------------------------------------------
	imgFill
-----------------------------------------------*/
.imgFill{
	position: relative;
}
.imgFill img{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}








#container{
	position:relative;
}
/*==============================
	header
==============================*/
#header{
	background:#000000;
	color:#fff;
	height:181px;
	padding-top:20px;
}
#header .fLeft{
	float:left;
	padding-top:6px;
}
#header .aLogo{
	color:#fff;
}
#header .txtLogo{
	font-size:12px;
	line-height:28px;
	letter-spacing:0.5px;
	padding-top:3px;
}
#header .fRight{
	float:right;
}
#header .headerBox{
	float:left;
	padding-top:10px;
	margin-right:18px;
}
#header .txtBoxMain{
	font-size:0;
}
#header .txtBox01,
#header .txtBox02{
	display:inline-block;
	vertical-align:middle;
}
#header .txtBox01{
	font-size:14px;
	letter-spacing:1px;
	padding-right:5px;
}
#header .txtBox02{
	font-size:11px;
}
#header .telBoxMain{
	font-size:0;
	padding-top:5px;
}
#header .telBoxMain .telBox{
	display:inline-block;
	vertical-align:top;
	color:#fff;
	font-size:0;
}
#header .telBoxMain .telBox:first-child{ margin-right:10px;}
#header .telBoxMain .areaTxt,
#header .telBoxMain .telIcon,
#header .telBoxMain .telNumber{
	display:inline-block;
	vertical-align:middle;
}
#header .telBoxMain .areaTxt{
	font-size:11px;
	padding:5px 7px;
	border:1px solid #fff;
	margin-right:7px;
}
#header .telBoxMain .telIcon{ margin-right:5px;}
#header .telBoxMain .telNumber{
	font-size:28px;
	line-height:1.5;
	font-weight:bold;
}
#header .btnBox{
	float:right;
	width:240px;
}
#header .btnBox .aBtn{
	background:#FFCC00;
	color:#000000;
	font-size:18px;
	letter-spacing:1px;
	text-align:center;
	padding:26px 0;
	display:block;
}
@media only screen and (max-width:1280px){
	#header .telBoxMain .telNumber{
		font-size:25px;
	}
}
@media only screen and (max-width:767px){
	#main{ padding-top:70px;}
	#header{
		position:absolute;
		width:100%;
		height:70px;
		padding:15px 5% 0;
		z-index:100;
	}
	#header .logoImg img {
		width: auto;
		height: 18px;
	}
	#header .txtLogo{ display:none;}
	#header .fRight{ display:none;}
	.gNavMain{ display:none;}
	#header .btnNavi{
		float: right;
		display: flex;
		display: -webkit-flex;
		align-items: center;
		-webkit-align-items: center;
		justify-content: center;
		-webkit-justify-content: center;
		cursor: pointer;
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
		width: 30px;
		height: 30px;
		margin-top:18px;
		position:fixed;
		top:2%;
		right:5%;
	}
	#header .btnNavi .border::before,
	#header .btnNavi .border::after,
	#header .btnNavi .border{
		display: block;
		width: 24px;
		height: 3px;
		background: #FFF;
		    box-shadow: 0 0 4px #000;
	}
	#header .btnNavi .border::before,
	#header .btnNavi .border::after{
		content: "";
		position: relative;
	}
	#header .btnNavi .border::before{
		top: -7px;
	}
	#header .btnNavi .border::after{
		bottom: -4px;
	}
	#header .fLeft{ padding-top:11px;}
}
/*==============================
	gNavMain
==============================*/
.gNavMain{
	border-top:1px solid rgba(235,235,235,0.5);
	margin-top:18px;
}
.gNavMain .wrapper1400{ position:relative;}
.gNavMain .btnFree{
	position:absolute;
	top:-13px;
	left:-3px;
	display:block;
}
.gNavMain .gNav{
	font-size:0;
	float:right;
	padding-top:20px;
}
.gNavMain .gNav li{
	display:inline-block;
	vertical-align:top;
	font-size:14px;
	text-align:center;
	letter-spacing:1px;
	border-right:1px solid rgba(235,235,235,0.5);
	width:208px;
}
.gNavMain .gNav li a{
	width:100%;
	padding:9px 0;
	display:block;
	color:#fff;
}
@media only screen and (max-width:1280px){
	.gNavMain .gNav li{
		font-size:13px;
		width:175px;
	}
}
/*-----------------------------------------------
	pnkz
-----------------------------------------------*/
#pnkz .wrapper1400{ border-top:1px solid #BFBFBF;}
#pnkz li{
	display: inline-block;
	vertical-align: top;
	width: auto;
	padding: 17.5px 0;
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: 1px;
	color: #4A4A4A;
}
#pnkz li::before{
	content: ">";
	display: inline-block;
	padding: 0 7px;
	color: #4A4A4A;
}
#pnkz li:first-child::before{
	display: none;
}
#pnkz li a{
	color: #0099CC;
	text-decoration: none;
}
#pnkz .swiper-wrapper{
	white-space: nowrap !important;
}
#pnkz .swiper-slide{
	display: inline-block;
	float: none !important;
	cursor: default;
}
@media only screen and (max-width: 767px){
	#pnkz{
		overflow: hidden;
	}
	#pnkz .wrapper{
		height: auto;
		width: 100%;
	}
	#pnkz li{
		padding: 10px 0;
		letter-spacing: 0.5px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		font-size:11px;
	}
	#pnkz li::before{
		color: #4A4A4A;
	}
	#pnkz li:first-child{
		padding-left: 10px;
	}
	#pnkz li:last-child{
		max-width: none;
		padding-right: 10px;
	}
}


/*==============================
	secCmnLoad
==============================*/
.secCmnLoad { text-align:center;}
.secCmnLoad a{
	width:280px;
	margin:0 auto;
	display:block;
}
#listLoading{
	display:none;
	line-height:65px;
	text-align:center;
	margin: 70px auto 0;
}
#listLoading img{ vertical-align:middle;}
.secCmnLoad .btnLoad {
	display: block;
	width:280px;
	height: 70px;
	color: #FFF;
	font-size:18px;
	padding-top: 24px;
	margin: 70px auto 0;
    cursor: pointer;
	background:#000000;
}
@media only screen and (max-width:767px){
	#listLoading{ 
		margin: 40px auto 0;
		line-height:60px;
	}
	.secCmnLoad .btnLoad {
		font-size:12px;
		letter-spacing:1px;
		height:60px;
 	    margin: 40px auto 0;
		width:220px;
	}
	.secCmnLoad a{ width:220px;}
}

/*==============================
	secBottom
==============================*/
.secBottom{
	background:url(../img/common/bgBottom.jpg) top center no-repeat;
	text-align:center;
	padding:100px 0 100px;
}
.secBottom .titMain{
	font-size:44px;
	letter-spacing:2px;
	font-weight:bold;
}
.secBottom .telBottom .telTit{
	font-size:33px;
	position:relative;
	letter-spacing:4px;
	margin-top:60px;
}
.secBottom .telBottom .telTit::before{
	position:absolute;
	top:17px;
	left:0;
	width:440px;
	height:1px;
	background:rgba(51,51,51,0.33);
	content:"";
}
.secBottom .telBottom .telTit::after{
	position:absolute;
	top:17px;
	right:0;
	width:440px;
	height:1px;
	background:rgba(51,51,51,0.33);
	content:"";
}
.secBottom .telList{
	font-size:0;
	text-align:center;
	padding:35px 0 30px;
}
.secBottom .telBox{
	display:inline-block;
	vertical-align:top;
	color:#000;
}
.secBottom .telBox:last-child{ margin-left:80px;}
.secBottom .telTxtBox{
	font-size:0;
	text-align:left;
}
.secBottom .telTxt01,
.secBottom .telTxt02{
	display:inline-block;
	vertical-align:middle;
}
.secBottom .telTxt01{
	font-size:28px;
	letter-spacing:2px;
	margin-right:20px;
}
.secBottom .telTxt02{
	font-size:14px;
	letter-spacing:1px;
}
.secBottom .telNumber {
	font-size:66px;
	position:relative;
	font-weight:bold;
	padding-left:70px;
	letter-spacing:-1px;
	padding-top:3px;
}
.secBottom .telNumber::after {
	content:"";
	position:absolute;
	top:20px;
	left:0;
	background:url(../img/common/telIconBottom.gif) no-repeat;
	width:52px;
	height:35px;
	background-size:52px 32px;
}
.secBottom .timeBottom{
	font-size:14px;
	letter-spacing:4px;
	border:1px solid #999999;
	padding:10px;
}
.secBottom .list{
	font-size:0;
	text-align:center;
	margin-top:43px;
}
.secBottom .boxBtn{
	display:inline-block;
	vertical-align:top;
	width:580px;
	height:180px;
	background:#0066CC;
	padding-top:27px;
	color:#fff;
}
.secBottom .boxBtn:last-child{
	margin-left:40px;
	background:#FFCC00;
}
.secBottom .boxBtn .btnTxt{
	font-size:26px;
	padding-top:15px;
	letter-spacing:2px;
}
@media only screen and (max-width:767px){
	.secBottom{
		background-size:cover;
		padding:40px 5%;
	}
	.secBottom .titMain{
		font-size:18px;
		letter-spacing:1px;
		line-height:1.6;
	}
	.secBottom .telBottom .telTit {
		font-size: 18px;
		letter-spacing: 1px;
		margin-top: 30px;
	}
	.secBottom .telBottom .telTit::before,
	.secBottom .telBottom .telTit::after{ 
		width:25%;
	    top: 10px;
	}
	.secBottom .telList{ padding:30px 0;}
	.secBottom .telBox{ display:block;}
	.secBottom .telBox:last-child{
		margin:20px 0 0;
	}
	.secBottom .telTxtBox{ text-align:center;}
	.secBottom .telTxt01{
		font-size:18px;
		letter-spacing:1px;
		margin-right:5px;
	}
	.secBottom .telTxt02{ font-size:12px;}
	.secBottom .telNumber{
		font-size:30px;
		padding:20px 0 0;
	}
	.secBottom .telNumber::after {
		top: 25px;
		left:10%;
		width: 30px;
		height: 20px;
		background-size: 30px auto;
	}
	.secBottom .timeBottom{
		font-size:13px;
		line-height:1.5;
		letter-spacing:1px;
	}
	.secBottom .list{ margin-top:30px;}
	.secBottom .boxBtn{
		width:49%;
		height:auto;
		padding:20px 0;
	}
	.secBottom .boxBtn:last-child{ margin-left:2%;}
	.secBottom .boxBtn .icon img{
		width:auto;
		height:30px;
	}
	.secBottom .boxBtn .btnTxt{
		font-size:16px;
		line-height:1.5;
	}
}
@media only screen and (max-width:359px){
	.secBottom .telNumber::after{ left:6%;}
	.secBottom .boxBtn .btnTxt{
		font-size:14px;
	}
	.secBottom .telTxt01{
		display:block;
		margin:0 0 10px;
	}
}
/*==============================
	footer
==============================*/
#footer .footerList{ padding-bottom:80px;}
#footer .footerBox01{
	float:left;
	padding-top:130px;
}
#footer .footerBox01 .logo{
	display:block;
	color:#000;
}
#footer .footerBox01 .logoTxt{
	font-size:12px;
	line-height:1.2;
	padding-top:15px;
}
#footer .footerBox02{
	float:right;
	width:700px;
	padding-top:60px;
}
#footer .footerNavList{
	font-size:0;
}
#footer .footerNav{
	display:inline-block;
	vertical-align:top;
	width:33%;
}
#footer .footerNav li{
	position:relative;
	padding:17px 0 17px 20px;
}
#footer .footerNav li::before,
#footer .footerNav li::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
#footer .footerNav li::before{
	left: 0px;
	box-sizing: border-box;
	width: 3px;
	height: 3px;
	border: 3px solid transparent;
	border-left: 3px solid #000;
}
#footer .footerNav li a{
	font-size:13px;
	color:#000;
	letter-spacing:0.5px;
}
#footer .copyBox{
	background:#F2F2F2;
	height:50px;
}
#footer .wrapper1400{
	position:relative;
}
#footer .copy{
	font-size:12px;
	line-height:50px;
	letter-spacing:2px;
	font-weight:lighter;
}
#footer .topBtn{
	position:absolute;
	top:0;
	right:0;
}
#footer .topBtn a{ display:block;}
@media only screen and (max-width:767px){
	#fNav + #footer{ margin-bottom:62px;}
	#footer .footerList{ padding:40px 0;}
	#footer .footerBox01{
		float:none;
		padding-top:0px;
		text-align:center;
	}
	#footer .footerBox01 .logo img{
		width:auto;
		height:25px;
	}
	#footer .footerBox02{ display:none;}
	#footer .copyBox{ height:auto;}
	#footer .topBtn{
		position:static;
		background:#E1E1E1;
		text-align:center;
	}
	#footer .copy{ 
		text-align:center;
		font-size:11px;
	}
	#footer .footerBox01 .logoTxt{ line-height:1.5;}
}
@media only screen and (max-width:359px){
	#footer .footerBox01 .logo img{ height:21px;}
	#footer .copy {
		line-height: 40px;
		letter-spacing: 0.5px;
	}
}




#fNav {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 800;
	width:100%;
}
#fNav a{
	color:#fff;
	padding-top:20px;
	width: 100%;
    height: 62px;
    background: linear-gradient(90deg, #FAC627, #C70015);
	color:#fff;
	text-align:center;
	display:block;
	font-size:16px;
	letter-spacing:2px;
	padding-left:20px;
	position:relative;
}
#fNav a::after{
	position:absolute;
	top:-5px;
	bottom:0;
	left:20%;
	content:"";
	background:url(../img/common/iconBottom01.png) no-repeat;
	background-size:17px auto;
	width:17px;
	height:25px;
	margin:auto;

}