@charset "UTF-8";
/* CSS Document */

#slider {
	position: relative;
	background: #000;
}

.bxslider{
	line-height: 0;
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 769px){
	
	#slider {
		padding-bottom: 150px;
		margin-bottom: 180px;
	}
	
	.swiper-container {
		border: 7px solid #FFF;
		border-width: 7px 0;
		line-height: 0;
	}
	
	.swiper-container a{
		display: block;
		transition-duration: 0.5s;
		padding: 0;
		margin: 0;
		border: none;
	}
	
	.swiper-container a:hover{
		opacity: 0.7;
	}
	
	#slider div.news_block{
		width: 724px;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		border: 2px solid #FFF;
		color: #FFF;
		position: absolute;
		left: -webkit-calc(50% - 362px);
		left: -moz-calc(50% - 362px);
		left : calc(50% - 362px);
		top: 38vw;
		z-index: 2;
	}
	
	#slider div.news_block h2{
		width: 126px;
		margin: 0 auto 15px;
		line-height: 0;
	}
	
	#slider div.news_block div.info_block{
		width: 50%;
		border-right: 1px solid #FFF;
		background: #D70C18;
		padding: 25px 25px 15px 25px;
	}
	
	#slider div.news_block div.info_block ul{
		width: 100%;
		border: 1px solid #FFF;
		border-width: 1px 0;
		margin-bottom: 12px;
	}
	
	#slider div.news_block div.info_block ul li{
		border-bottom: 1px dotted #FFF;
	}
	
	#slider div.news_block div.info_block ul li:last-child{
		border-bottom: none;
	}
	
	#slider div.news_block div.info_block ul li a{
		display: block;
		padding: 10px 0;
		color: #FFF;
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	#slider div.news_block div.info_block div.more,
	#slider div.news_block div.event_block div.more{
		text-align: center;
	}
	
	#slider div.news_block div.info_block div.more a,
	#slider div.news_block div.event_block div.more a{
		color: #FFF;
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	#slider div.news_block div.event_block{
		width: 50%;
		border-left: 1px solid #FFF;
		background: #0074BD;
		padding: 25px 25px 15px 25px;
	}
	
	#slider div.news_block div.event_block ul{
		width: 100%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		margin-bottom: 8px;
	}
	
	#slider div.news_block div.event_block ul li.photo{
		width: 40%;
		height: 80px;
		line-height: 0;
		overflow: hidden;
		display: flex;
		justify-content: center;
		align-items: center;
		background: rgba(0,0,0,.3);
	}
	
	#slider div.news_block div.event_block ul li.text{
		width: 56%;
		border: 1px dotted #FFF;
		border-width: 1px 0;
		padding: 2px;
	}
	
	#slider div.news_block div.event_block a{
		display: block;
		color: #FFF;
	}
	
	#slider div.news_block div.event_block ul li.text p.day{
		font-size: 16px;
		font-size: 1.6rem;
	}
	
	#slider div.news_block div.event_block ul li.text p.text{
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.5;
	}
	
	section a.sonic_banner{
		width: 518px;
		display: block;
		margin: 0 auto 30px;
	}
	
	section h2{
		font-size: 42px;
		font-size: 4.2rem;
		line-height: 0.6;
		text-align: center;
		font-weight: bold;
		margin-bottom: 30px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif SC', "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	}
	
	section h2 span{
		font-size: 14px;
		font-size: 1.4rem;
		font-family:"Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	}
	
	section#s01{
		width: 100%;
		padding: 70px 0;
	}
	
	section#s01 ul{
		width: 725px;
		margin: 0 auto;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	
	section#s01 ul li{
		width: 335px;
		line-height: 0;
	}
	
	section#s01 ul li a{
		display: block;
	}
	
	section#s01 ul li div.photo{
		margin-bottom: 14px;
	}
	
	section#s01 ul li p{
		width: 172px;
		margin: 0 auto;
	}
	
	section#s02{
		width: 100%;
		padding: 70px 0 40px;
		background: #000;
		color: #FFF;
	}
	
	section#s02 ul{
		width: 100%;
		max-width: 840px;
		margin: 0 auto;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	
	section#s02 ul li{
		width: 19.0%;
		max-width: 160px;
		line-height: 0;
		margin: 0 3.9% 3.3%;
	}
	
	section#s02 ul li:first-child,
	section#s02 ul li:nth-child(5){
		margin-left: 0;
	}
	
	section#s02 ul li:nth-child(4),
	section#s02 ul li:nth-child(8){
		margin-right: 0;
	}
	
	section#s02 ul li a{
		display: block;
	}
	
	section#s03{
		width: 100%;
		padding: 70px 0 70px;
		background: #EDE9DE;
	}
	
	section#s03 ul{
		width: 100%;
		max-width: 840px;
		margin: 0 auto;
		display: flex;
		flex-wrap:wrap;
		justify-content: center;
	}
	
	section#s03 ul li{
		width: 43.5%;
	}
	
	section#s03 ul li div.photo{
		width: 100%;
		line-height: 0;
		margin-bottom: 20px;
	}
	
	section#s03 ul li p{
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.6;
	}
	
	section#s03 a.blog{
		width: 234px;
		display: block;
		margin: 35px auto 0;
		line-height: 0;
	}
	
	section#s04{
		width: 100%;
		padding: 70px 0 70px;
		background: #000;
		color: #FFF;
	}
	
	section#s04 ul.products{
		width: 100%;
		max-width: 1000px;
		margin: 0 auto;
		display: flex;
		flex-wrap:wrap;
		justify-content: center;
	}
	
	section#s04 ul.products li{
		width: 190px;
		margin-bottom: 20px;
	}
	
	section#s04 ul.products li h4{
		width: 100%;
		padding: 0 15px;
		margin-bottom: 8px;
	}
	
	section#s04 ul.products li ul.list{
		width: 100%;
		padding: 0 15px;
		border-left: 1px dotted #FFF;
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.8;
	}
	
	section#s04 ul.products li:first-child ul.list{
		border-left: none;
	}
	
	section#s04 ul.products li ul.list li.name{
		margin-bottom: 0;
	}
	
	section#s04 ul.products li ul.list li.name a{
		color: #FFF;
	}
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media print, screen and (max-width: 768px){
	#slider {
		padding-bottom: 40px;
	}
	
	.swiper-container {
		border: 3px solid #FFF;
		border-width: 3px 0;
		line-height: 0;
	}
	
	.swiper-container a{
		display: block;
		transition-duration: 0.5s;
		padding: 0;
		margin: 0;
		border: none;
	}
	
	.swiper-container a:hover{
		opacity: 0.7;
	}
	
	.swiper-button-prev:after, .swiper-button-next:after {
      font-family: swiper-icons;
      font-size: 18px!important;
	}
	
	.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
		left: 0!important;
		right: auto;
		outline: none;
	}
	
	.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
		right: 0!important;
		left: auto;
		outline: none;
  }
	
	#slider div.news_block{
		width: 92.5%;
		margin: 20px auto 0;
		border: 2px solid #FFF;
		color: #FFF;
	}
	
	#slider div.news_block h2{
		width: 126px;
		margin: 0 auto 15px;
		line-height: 0;
	}
	
	#slider div.news_block div.info_block{
		width: 100%;
		border-bottom: 1px solid #FFF;
		background: #D70C18;
		padding: 25px 25px 15px 25px;
	}
	
	#slider div.news_block div.info_block ul{
		width: 100%;
		border: 1px solid #FFF;
		border-width: 1px 0;
		margin-bottom: 12px;
	}
	
	#slider div.news_block div.info_block ul li{
		border-bottom: 1px dotted #FFF;
	}
	
	#slider div.news_block div.info_block ul li:last-child{
		border-bottom: none;
	}
	
	#slider div.news_block div.info_block ul li a{
		display: block;
		padding: 10px 0;
		color: #FFF;
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	#slider div.news_block div.info_block div.more,
	#slider div.news_block div.event_block div.more{
		text-align: center;
	}
	
	#slider div.news_block div.info_block div.more a,
	#slider div.news_block div.event_block div.more a{
		color: #FFF;
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	#slider div.news_block div.event_block{
		width: 100%;
		border-top: 1px solid #FFF;
		background: #0074BD;
		padding: 25px 25px 15px 25px;
	}
	
	#slider div.news_block div.event_block ul{
		width: 100%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		margin-bottom: 8px;
	}
	
	#slider div.news_block div.event_block ul li.photo{
		width: 40%;
		height: 80px;
		line-height: 0;
		overflow: hidden;
		display: flex;
		justify-content: center;
		align-items: center;
		background: rgba(0,0,0,.3);
	}
	
	#slider div.news_block div.event_block ul li.photo img{
		width: 100%;
		height: 80px;
		object-fit: cover;
	}
	
	#slider div.news_block div.event_block ul li.text{
		width: 56%;
		border: 1px dotted #FFF;
		border-width: 1px 0;
		padding: 2px;
	}
	
	#slider div.news_block div.event_block a{
		display: block;
		color: #FFF;
	}
	
	#slider div.news_block div.event_block ul li.text p.day{
		font-size: 16px;
		font-size: 1.6rem;
	}
	
	#slider div.news_block div.event_block ul li.text p.text{
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.5;
	}
	
	section a.sonic_banner{
		width: 80%;
		max-width: 518px;
		display: block;
		margin: 0 auto 30px;
	}
	
	section h2{
		font-size: 32px;
		font-size: 3.2rem;
		line-height: 0.8;
		text-align: center;
		font-weight: bold;
		margin-bottom: 30px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif SC', "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	}
	
	section h2 span{
		font-size: 14px;
		font-size: 1.4rem;
		font-family:"Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	}
	
	section#s01{
		width: 92.5%;
		margin: 0 auto;
		padding: 50px 0 10px;
	}
	
	section#s01 ul{
		width: 100%;
		margin: 0 auto;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	
	section#s01 ul li{
		width: 80%;
		max-width: 335px;
		line-height: 0;
		margin: 0 auto 50px;
	}
	
	section#s01 ul li a{
		display: block;
	}
	
	section#s01 ul li div.photo{
		margin-bottom: 14px;
	}
	
	section#s01 ul li p{
		width: 172px;
		margin: 0 auto;
	}
	
	section#s02{
		width: 100%;
		padding: 50px 0 40px;
		background: #000;
		color: #FFF;
	}
	
	section#s02 ul{
		width: 80%;
		margin: 0 auto;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	
	section#s02 ul li{
		width: 30.0%;
		max-width: 160px;
		line-height: 0;
		margin: 0 0 3.3%;
	}
	
	section#s02 ul li:first-child,
	section#s02 ul li:nth-child(5){
		margin-left: 0;
	}
	
	section#s02 ul li:nth-child(4),
	section#s02 ul li:last-child{
		margin-right: 0;
	}
	
	section#s02 ul li a{
		display: block;
	}
	
	section#s03{
		width: 100%;
		padding: 50px 0;
		background: #EDE9DE;
		overflow: hidden;
	}
	
	section#s03 ul{
		width: 92.5%;
		margin: 0 auto;
		display: flex;
		flex-wrap:wrap;
		justify-content: center;
	}
	
	section#s03 ul li{
		width: 100%;
	}
	
	section#s03 ul li div.photo{
		width: 80%;
		max-width: 400px;
		line-height: 0;
		margin: 0 auto 20px;
	}
	
	section#s03 ul li p{
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.6;
	}
	
	section#s03 a.blog{
		width: 234px;
		display: block;
		margin: 35px auto 0;
		line-height: 0;
	}
	
	section#s04{
		width: 100%;
		padding: 50px 0;
		background: #000;
		color: #FFF;
	}
	
	section#s04 ul.products{
		width: 92.5%;
		margin: 0 auto;
		display: flex;
		flex-wrap:wrap;
		justify-content: center;
	}
	
	section#s04 ul.products li{
		width: 48%;
		margin-bottom: 20px;
	}
	
	section#s04 ul.products li h4{
		width: 100%;
		max-width: 200px;
		padding: 0 15px 0 0;
		margin: 0 auto 8px;
	}
	
	section#s04 ul.products li ul.list{
		width: 100%;
		padding: 0;
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.4;
	}
	
	section#s04 ul.products li ul.list li.name{
		width: 80%;
		text-indent: -1em;
		padding-left: 1em;
		margin: 0 auto 5px;
	}
	
	section#s04 ul.products li ul.list li.name a{
		color: #FFF;
	}
}

@media print, screen and (max-width: 480px){
	
}