@charset "utf-8";

/*====================================================================

 top_responsive
 750px

====================================================================*/

@media screen and (max-width: 750px) {
	
	body {
		min-width: inherit;
		background: url(/img/sp_bg.png) repeat left top;
    background-size: 101px 101px;
	}
	
	img {
		max-width: 100%;
	}
	
	#wrapper {
		background: none;
	}
	
	/*====================================================================

	 header

	====================================================================*/
	
	#header,
	#targetnav_inner,
	#gnav_inner,
	.header_r,
	#sitenav,
	#headernav,
	.tool,
	#targetnav,
	#gnav {
		display: none;
	}
	
	/*
	sp_header
	---------------------------------------------------------*/
	#sp_header {
		display: block;
		background: #fff;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin: 0 20px;
	}
	#sp_logo {
		font-size: 100%;
		margin: 0;
		padding: 10px 0;
		text-align: center; 
	}
	#sp_logo img {
		width: 160px;
	}
	
	/*
	gnav
	---------------------------------------------------------*/
	#sp_gnav {
		padding: 0;
		position: relative;
	}

	#sp_gnav #btn-open {
		background: url(/img/btn_gnav.png) no-repeat center top;
		background-size: 30px 20px;
		font-family: 'Alice', sans-serif;
		font-size: 11px;
		margin: 0 auto;
		padding: 22px 0 10px;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
		text-align: center;
		width: 40px;
	}

	#sp_gnav .gnav {
		background: #fff;
		left: 0;
		position: absolute;
		width: 100%;
		z-index: 100;
	}

	/* sp_globalmenu */
	#sp_gnav .gnav .sp_globalmenu {
		margin: 0;
	}

	#sp_gnav .gnav .sp_globalmenu li {
		border-top: 1px solid #cbcbcb;
		font-weight: bold;
		margin: 0;
		padding: 0;
		font-size: 110%;
	}

	#sp_gnav .gnav .sp_globalmenu li a {
		color: #313131;
		display: block;
		padding: 11px;
		text-decoration: none;
	}
	
	#sp_gnav .gnav .sp_globalmenu_open {
		position: relative;
	}
		#sp_gnav .gnav .sp_globalmenu_open .sp_open_icon {
			padding: 11px;
			display: block;
			position: relative;
		}
			#sp_gnav .gnav .sp_globalmenu_open .sp_open_icon:after {
				content: "¨‹";
				position: absolute;
				top: 0.75em;
				right: 10px;
				color: #920646;
			}
		#sp_gnav .gnav .sp_globalmenu_open .sp_open_icon.active {
			background-color: #f5f5f5;
		}
		#sp_gnav .gnav .sp_globalmenu_open ul {
			display: none;
			font-size: 90%;
		}
			#sp_gnav .gnav .sp_globalmenu_open ul li a {
				padding-left: 1.5em;
			}
	
	/* sp_g_submenu */
	#sp_gnav .gnav .sp_g_submenu li {
		border-top: 1px solid #fff;
		font-weight: bold;
		margin: 0;
		padding: 0;
		font-size: 105%;
		background-color: #920646;
	}

	#sp_gnav .gnav .sp_g_submenu li a {
		color: #fff;
		display: block;
		padding: 11px;
		text-decoration: none;
	}
	
	/* sp_g_smallmenu */
	.sp_g_smallmenu:after {
		content: "";
		clear: both;
		display: block;
	}
	.sp_g_smallmenu li {
		width: 50%;
		box-sizing: border-box;
		float: left;
		border-top: 1px solid #cbcbcb;
		font-size: 100%;
	}
		.sp_g_smallmenu li:nth-child(2n) {
			border-left: 1px solid #cbcbcb;
		}
			#sp_gnav .gnav .sp_g_smallmenu li a {
				color: #313131;
				display: block;
				padding: 11px;
				text-decoration: none;
			}
	
	/* sp_search */
	.sp_search {
		padding: 10px;
		border-top: 1px solid #cbcbcb;
	}
	.sp_search:after {
		content: "";
		clear: both;
		display: block;
	}
	.gsc-input-box {
		border-radius: 0!important;
		padding: 6px 3px!important;
	}
	.gsib_a input {
		font-size: 110%!important;
	}
	table.gsc-search-box .gsib_a {
		padding: 0!important;
		font-size: 16px;
	}
	.gsc-search-button-v2 {
		border-radius: 0!important;
		border: 1px solid #920646;
	}
	.gsc-search-button-v2, .gsc-search-button-v2:hover, .gsc-search-button-v2:focus {
		height: 35px;
	}
	
	#btn-close {
		background: #666;
    color: #fff;
    margin: 0;
    padding: 10px;
    text-align: center;
	}
		#btn-close span {
			background: url(/img/btn_close.png) no-repeat left center;
			background-size: 20px 20px;
			padding: 5px 0 5px 28px;
		}
	
	/*
	slider
	---------------------------------------------------------*/
	#slider_cover {
		background: #fff;
		padding: 0 0 25px;
		box-shadow: none;
		border-bottom: none;
		margin: 0 20px;
	}
	#mainslider {
		width: 100%;
	}
	#mainslider {
		padding: 0;
		border-radius: 0;
		box-shadow: none;
	}
	.slick-prev, .slick-next {
		display: none!important;
	}
	.slick-dots {
		bottom: -22px;
	}
	
	/*
	emergency_box
	---------------------------------------------------------*/
	.emergency_box {
		width: 100%;
		padding: 0 20px;
		box-sizing: border-box;
	}
	.emergency_box .inner {
		background-color: #fff;
		padding: 10px;
	}
	.emergency_box .item {
		padding: 15px;
		text-align: left;
	}
	.emergency_box .item:last-child {
		margin-bottom: 0;
	}
	.emergency_box .item a {
		padding: 15px;
		margin: -15px;
	}
	.top_mainmenu ul li a:hover {
		opacity: 1;
	}
	.top_mainmenu ul li a {
		border: 2px solid #97295a;
	}
	.top_mainmenu ul li a .text {
		font-size: 110%;
		padding: 10px 0;
		display: block;
		text-indent: 0;
		height: auto!important;
		width: auto!important;
		text-align: center;
		font-weight: bold;
		background-color: #97295a;
		color: #fff;
	}
	.top_mainmenu ul li a .text br {
		display: inline;
	}
	.top_mainmenu ul li:first-child a .text {
		padding: 19.5px 0;
	}
	.top_mainmenu ul li a .text span {
			display: inline-block;
			font-size: 75%;
			border-radius: 3px;
			padding: 2px 7px;
			margin: 0;
			color: #97295a;
			background-color: #fff;
		}
	.top_mainmenu ul li:nth-child(1) a .img {
		background: no-repeat url(../img/img_top_mainmenu01_sp.jpg) center center / cover;
	}
	.top_mainmenu ul li:nth-child(2) a .img {
		background: no-repeat url(../img/img_top_mainmenu02_sp.jpg) center center / cover;
	}
	.top_mainmenu ul li:nth-child(3) a .img {
		background: no-repeat url(../img/img_top_mainmenu03_sp.jpg) center center / cover;
	}
	
	/*
	contents
	---------------------------------------------------------*/
	#contents {
		width: 100%;
		padding: 0 20px;
		box-sizing: border-box;
	}
	
	/*
	main
	---------------------------------------------------------*/
	#main {
		background-color: #fff;
		padding: 0 10px 10px;
		box-sizing: border-box;
	}
	
	/*
	top_mainmenu
	---------------------------------------------------------*/
	.top_mainmenu {
		margin-bottom: 10px;
	}
	.top_mainmenu ul {
		margin: 0 -3px;
	}
	.top_mainmenu ul li {
		width: 33.333%;
		padding: 0 3px;
		box-sizing: border-box;
	}
		.top_mainmenu ul li:not(:last-child) {
			margin-right: 0;
		}
	.top_mainmenu ul li a .img {
		height: 20vw;
	}
	
	/*
	top_banner
	---------------------------------------------------------*/
	.top_banner {
		margin: 0 0 10px;
	}
	.top_banner_left,
	.top_banner_right {
		width: 100%;
		text-align: center;
		display: block;
		padding: 0;
	}
	.top_banner_left {
		margin-bottom: 10px;
	}
	
	/*
	pickup_unit
	---------------------------------------------------------*/
	.pickup_unit {
		width: 100%;
		float: none;
	}
	.pickup_unit:nth-child(n + 5),
	.pickup_unit:nth-child(3n - 1) { 
		background:none;
	}
	.pickup_unit+.pickup_unit{ background:url(/img/dotline01.gif) repeat-x top; }
	.pickup_unit dl {
		width: calc(100% - 120px);
	}
	
	/*
	news_area
	---------------------------------------------------------*/
	.news_area {
		width: 100%;
	}
	.news_area + .news_area {
		background: none;
	}
	.news_title{
		background:url(/img/news_t_bg3.gif) no-repeat right bottom;
	}
	
	/*
	main_banner_box
	---------------------------------------------------------*/
	.main_banner_box {
		width: 100%;
		margin-bottom: 10px;
	}
	.main_banner_box:not(:last-child) {
		margin-right: 0;
	}
		.main_banner_box img {
			width: 100%;
		}
	
	/*
	sub_banner
	---------------------------------------------------------*/
	.sub_banner {
		margin-top: 0;
	}
	.sub_banner ul {
		margin: 0 -5px;
	}
		.sub_banner li {
			width: 50%;
			padding: 0 5px;
			margin: 0 0 10px;
			box-sizing: border-box;
		}
		.sub_banner li img {
			width: 100%;
		}

	/*
	text_banner
	---------------------------------------------------------*/
	.text_banner {
		margin-top: 0;
	}
	.text_banner ul li {
		width: 100%;
	}
	
	/*
	pagetop_area
	---------------------------------------------------------*/
	.pagetop_area {
		width: 100%;
		margin: 20px 0 0;
		background-color: #fff;
		text-align: center;
		padding: 10px;
		box-sizing: border-box;
	}
	.management,
	.pagetop {
		width: 100%;
		float: none;
		text-align: center;
	}
	
	/*
	sitemap
	---------------------------------------------------------*/
	#sitemap {
		padding: 0;
		box-sizing: border-box;
		box-shadow: 0 3px 3px rgba(0, 0, 0, .1) inset;
		background: url("/img/bg_mainimage.jpg") repeat top left;
	}
	.column01, .column02, .column03, .column04, .column05, .column06 {
		width: 100%;
		float: none;
	}
	#footer_targetnav {
		width: 100%;
	}
	#footer_targetnav li {
		float: none;
		margin-bottom: 10px;
	}
	#sitemap_inner {
		width: 100%;
	}
	
	/* sp_sitemap_tit */
	.sp_sitemap_tit {
		display: block;
		text-align: center;
		font-size: 110%;
		font-weight: bold;
		padding: 5px 0;
		cursor: pointer;
	}
	.sp_sitemap_tit:after {
		content: "¨‹";
		color: #972257;
		font-size: 12px;
	}
	#sp_sitemap {
		display: none;
		padding: 0 20px 20px;
	}
	
	/*
	footer
	---------------------------------------------------------*/
	#footer_inner {
		width: 100%;
	}
	.address {
		padding: 20px 20px 0;
	}
	.section ul li {
		margin-bottom: 10px;
	}
	.footer_nav ul li {
		margin-bottom: 10px;
	}
	
	/*
	202012¡¡sns×·¼Ó
	---------------------------------------------------------*/
	.sp_header_sns {
		text-align: center;
		padding-bottom: 10px;
	}
	.sp_header_sns li {
		display: inline-block;
		margin: 0 3px;
	}
	.sp_header_sns li img {
		width: 40px;
	}
	
	/* footer_sns */
	.footer_sns {
		margin-top: 10px;
	}
}



