@charset "utf-8";
/*
Theme Name: matsuya-souhonten
Theme URI: http://www.tontoko.com/
Description: Degin 松屋総本店用テーマ
Version: 1.0
Author: CROSS POINT
Author URI: http://www.cross-point.co.jp/
*/


body {
	max-width:		100%;
	margin:			0	auto;
	height:			100%;
	-webkit-text-size-adjust:	100%;
	-webkit-appearance:	none;
}
#content_base {
	max-width:		1280px;
	width:			100%;
	padding:		5px;
	overflow:		hidden;
	margin:			0	auto;
	background-color:	#ffffff;
	box-sizing:		border-box;
	-moz-box-sizing:	border-box;
	-webkit-box-sizing:	border-box;
	-o-box-sizing:		border-box;
	-ms-box-sizing:		border-box;
}
#content {
	max-width:		1280px;
	width:			100%;
	padding:		10px;
	margin:			0	auto;
	box-sizing:		border-box;
	-moz-box-sizing:	border-box;
	-webkit-box-sizing:	border-box;
	-o-box-sizing:		border-box;
	-ms-box-sizing:		border-box;
	display:		block;
}
/*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
/*	フロントページのスタイル				*/
/*--------------------------------------------------------------*/
#front_page_title{
	padding:			50px;
	max-width:			1280px;
	width:				100%;
	height:				100%;
	background:			#ffffff;
	margin:				0	auto;
	display:			flex;
	justify-content:		center;
	align-items:			center;
	box-sizing:			border-box;
	-moz-box-sizing:		border-box;
	-webkit-box-sizing:		border-box;
	-o-box-sizing:			border-box;
	-ms-box-sizing:			border-box;
}
.page_title{
	font-size:			250%;
	padding:			50px	50px	20px	50px;
}
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
/*	バック画像のスタイル		*/
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.inner {
	width:				100%;
	max-width:			1280px;
	margin:				-16px	auto;
	background-color:		#ffffff;
	padding:			20px;
	box-sizing:			border-box;
	-moz-box-sizing:		border-box;
	-webkit-box-sizing:		border-box;
	-o-box-sizing:			border-box;
	-ms-box-sizing:			border-box;
}
.pic_back_base {
	background-color:		#fefefe;
	width:				100%;
	padding:			10px	10px	50px	10px;
	box-sizing:			border-box;
	margin:				0;
}
.pic_back {
	width:				100%;
	max-width:			1280px;
	margin:				0	auto;
	background-color:		transparent;
}
.pic_back_base h3{
	margin:				0	auto;
	padding:			30px;
	font-size:			200%;
	text-align:			center;
}
/*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/

/*--------------------------------------------------------------*/
/*	フロントページのスタイル				*/
/*--------------------------------------------------------------*/
img {
	max-width:		100%;
	height:			auto;
	box-sizing:		border-box;
	-moz-box-sizing:	border-box;
	-webkit-box-sizing:	border-box;
	-o-box-sizing:		border-box;
	-ms-box-sizing:		border-box;
/*
	object-fit:		cover;
	font-family:		'object-fit: cover; object-position: 0% 50%; object-fit: contain;';
	*/
}
/*--------------------------------------------------------------*/
/*	フッターのスタイル					*/
/*--------------------------------------------------------------*/
#footer_base {
	width:			100%;
	background:		#228b22;
}
#footer {
	margin:			0	auto;
	max-width:		1280px;
	padding:		18px;
	height:			100%;
	box-sizing:		border-box;
	-moz-box-sizing:	border-box;
	-webkit-box-sizing:	border-box;
	-o-box-sizing:		border-box;
	-ms-box-sizing:		border-box;
	background:		#228b22	url(images/footback.jpg)	no-repeat;
}
#footer:after{
	content:		"";
	display:		block;
	clear:			both;
}
/*------------------------------------------------------*/
#footer ul{
	list-style-type:	none;
	padding:		2px;
	margin:			2px	auto;
}
#footer ul:after{
	content:		"";
	display:		block;
	clear:			both;
}
#footer li{
	float:			left;
	width:			50%;
	margin:			0px;
	padding:		12px;
	color:			#ececec;
	box-sizing:		border-box;
	-moz-box-sizing:	border-box;
	-webkit-box-sizing:	border-box;
	-o-box-sizing:		border-box;
	-ms-box-sizing:		border-box;
}
#footer p{
	text-align:		left;
	color:			#ececec;
}
/*------------------------------------------------------*/
.footer_info {
	display:		flex;
	flex-direction:		row;
	justify-content:	space-around;
}
.footer_info a{
	color:			#ececec;
	text-decoration:	underline
}
.footer_item {
	border-left:		1px	solid	#ececec;
	padding:		10px	30px;
	line-height:		150%;
	font-size:		95%;
	display:		flex;
	justify-content:	flex-start;
	flex-direction:		column;
	color:			#ececec
}
.footer_item a{
	color:			#ececec;
	text-decoration:	none;
	padding:		0.35em	0;
}
.footer_item a:hover{
	text-decoration:	underline
}
.copy {
	color:			#ececec;
	padding:		20px;
	margin:			0	auto;
	text-align:		center;
	background-color:	#64ab64;
}

/*------------------------------------------------------------*/

ul {
	margin:			0	auto;
	padding:		0px;
	list-style:		decimal inside;

}

li {
	margin-left:		0px;
	list-style-type:	none;
}
h2 {
	position: relative;
	padding: 0.25em 0;
}
h2:after {
	content:		"";
	display:		block;
	height:			5px;
	background: -moz-linear-gradient(to right, #52801b, transparent);
	background: -webkit-linear-gradient(to right, #52801b, transparent);
	background: linear-gradient(to right, #52801b, transparent);
	box-shadow:		2px	2px	4px	#dddddd;
}
/*------------------------------------------------------*/

/*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
/*	Newpost Catch部スタイル					*/
/*--------------------------------------------------------------*/
#newpost {
	padding:		8px;
	margin:			0	auto;
	margin-top:		10px;
	background-color:	#f1f1f1;
}
#newpost:after{
	content:		"";
	clear:			both;
	display:		block;
}
/*#newpostcatch-2 ul {
	padding-left:		0em;
}*/
#newpost h2{
	margin:			5px 0;
	padding:		2px	0px;
	border-width:		5px	0;
	border-color:		#998183;
	border-style:		solid;
	color:			#c5c56a;
	background-color:	#ffffff;
	line-height:		180%;
	font-weight:		bold;
	text-align:		center;
	float:			left;
}

#npcatch {
	padding:		30px;
	text-align:		center;
}

#npcatch li{
	width:			20%;
	margin:			0	auto;;
	padding:		20px;
	display:		inline-block;
	margin-bottom:		0;
	box-sizing:		content-box;
	vertical-align:		top;
}
#npcatch img{
	max-width:		250px;
	width:			100%;
	max-height:		100%;
	height:			auto;
}
#npcatch .title	:before{
	content:		"\A";
	white-space:		pre;
}

#npcatch .title	a{
	max-width:		250px;
	width:			100%;
	font-weight:		700;
	text-decoration:	none;
	text-overflow:		ellipsis;
	box-sizing:		content-box;
	display:		block;
	overflow:		hidden;
}
#npcatch .date {
	font-size:		small;
	font-weight:		600;
	display:		block;
	color:			#adb5bf;
	margin-bottom:		5px;
}
/*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
/*	記事の続き部スタイル					*/
/*--------------------------------------------------------------*/
.postout a{
	padding:		20px;
	text-decoration:	none;
	display:		block;
	text-align:		center;
	font-size:		120%;
	margin-top:		10px;
}
.itemlist{
	border:			1px	solid	#333333;
	margin:			20px;
	padding:		18px;
}
.itemlist h3{
	margin-left:		10px;
}
.i_list{
	padding:		8px;
	border-bottom:		1px	dotted	#666666;
	margin:			15px;
}

/*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
/*	ページネーションスタイル				*/
/*--------------------------------------------------------------*/
.page-numbers {
	padding:		10px	20px;
	background-color:	#f1f1f1;
	border:			1px	solid	#e0e0e0;
}

.current {
	border-bottom:		3px	solid	#122351;
}

/*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
/*	topボタンのスタイル					*/
/*--------------------------------------------------------------*/

#page-top {
    position:				fixed;
    bottom:				20px;
    right:				20px;
    font-size:				77%;
}
#page-top a {
    background:				#2a83a2;
    text-decoration:			none;
    color:				#ffffff;
    width:				80px;
    padding:				30px	0px;
    text-align:				center;
    display:				block;
    border-radius:			0.5em;
    font-size:				xx-large;
    opacity:				0.7;
    line-height:			70%;
    font-size:				95%;
}
#page-top a:hover {
    text-decoration:			none;
    background:				#69c2e1;
}
/*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
/*	ページタイトルスタイル					*/
/*--------------------------------------------------------------*/
.top_page_til{
	text-align:		center;
	padding:		8px;
	vertical-align:		middle;
	color:			#030303;
	font-weight:		bold;
	font-size:		160%;
}
.sub_page_til{
	text-align:		center;
	padding:		6px;
	vertical-align:		middle;
	color:			#030303;
	font-weight:		bold;
	font-size:		130%;
}
/*--------------------------------------------------------------*/
/*	コンテンツ中のスタイル					*/
/*--------------------------------------------------------------*/
.cont_img img{
	float:			left;
	max-width:		95%;
	width:			450px;
	padding:		12px;
	height:			auto;
}
.cont_img :after {
	clear:			both;
}

.cont_img2 img{
	float:			right;
	max-width:		95%;
	width:			450px;
	padding:		12px;
	height:			auto;
}
.cont_img2 img:after {
	clear:			both;
}

.cont_box_base {
	width:			100%;
	padding:		0;
	overflow:		hidden;
	box-sizing:		border-box;
	-moz-box-sizing:	border-box;
	-webkit-box-sizing:	border-box;
	-o-box-sizing:		border-box;
	-ms-box-sizing:		border-box;
	height:			auto	!important;
}
.cont_box_base:after {
	content:		"";
	display:		block;
	clear:			both;
}
.cont_box {
	overflow:		hidden;
}
.cont_box ul{
	text-align:		center;
	width:			100%;
	height:			auto;
	padding:		5px;
	overflow:		hidden;
	box-sizing:		border-box;
	-moz-box-sizing:	border-box;
	-webkit-box-sizing:	border-box;
	-o-box-sizing:		border-box;
	-ms-box-sizing:		border-box;
}
.cont_box li{
	display:		inline-block;
	border:			1px	solid	#000000;
	background-color:	#ffffff;
	width:			30%;
	margin:			1%;
	padding:		12px;
	box-sizing:		border-box;
	-moz-box-sizing:	border-box;
	-webkit-box-sizing:	border-box;
	-o-box-sizing:		border-box;
	-ms-box-sizing:		border-box;
}
.child_page-cnts {
	float:			left;
	max-width:		50%;
	height:			auto;
	padding:		10px;
	box-sizing:		border-box;
	-moz-box-sizing:	border-box;
	-webkit-box-sizing:	border-box;
	-o-box-sizing:		border-box;
	-ms-box-sizing:		border-box;
}

/*--------------------ヘッダー部--------------------*/
.header-base{
	display:		block;
}
.header-contents{
	display:		flex;
	align-items:		center;
	background:		rgba(34,139,34,0.5);	/*背景色*/
	position:		fixed;			/*メニューの固定*/
	z-index:		900;			/*メニューの固定*/
	width:			100%;			/*メニューの固定*/
	top:			0px;
}
.header{
	margin-right:		auto;
	margin-left:		0.5rem;

}
.header h1{
	margin:			0	auto;
	padding:		0;
	font-size:		60%;
	color:			#f0ffff;
	height:			15px;
}
/*--------------------ヘッダー部--------------------*/


/*--------------------メニュー部--------------------*/
#menu-base{
/*	display:		flex;*/

}
#menu{
	margin-right:		2rem;
}
#menu li{
	float:			left;
	width:			20;
}
#menu li a{
	display:		block;
	padding:		20px;
	text-align:		center;
	text-decoration:	none;
	color:			#fcfff0;
}
.square_btn:active {
/*
	border-bottom:		solid	2px	#f7de34;
	box-shadow:		0	0	2px	rgba(0, 0, 0, 0.30);
*/
}

#menu li a:hover{
	background:		#6b801b;
	border-radius:		0.5em;

}

#toggle{ 
	display:		none;
}

nav.globalMenuSp {
    position:			fixed;
    z-index:			900;
    top:			0;
    left:			0;
    color:			#000;
    text-align:			center;
    transform:			translateY(-100%);
    transition:			all	0.6s;
    width:			100%;
	background:		rgba(2,125,16,0.55);
	border-top:		110px	rgba(2,125,16,0)	solid;
}
 
nav.globalMenuSp ul {
	color:			#efefef;
	margin:			0	auto;
	padding:		0;
	width:			100%;
}
 
nav.globalMenuSp ul li {
    font-size:			1em;
    list-style-type:		none;
    padding:			0;
    width:			85%;
    border-bottom:		1px	dotted	#fcfff0;
	margin:			0	auto;
}
 
/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
    padding-bottom:		0;
    border-bottom:		none;
}
 
nav.globalMenuSp ul li a {
    display: 			block;
    color:			#fcfff0;
    padding:			1em	0;
	text-align:		left;
	text-decoration:	none;
}
nav.globalMenuSp ul li a:after {
	display:		block;
	width:			22px;
	min-width:		22px;
	height:			22px;
	background:		url(./images/arrow.png);
	background-size:	22px	22px;
	content:		"";
	position:		absolute;
	right:			30px;
	margin-top:		-22px;
}
nav.globalMenuSp ul li a:hover {
	background:			#6b801b;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform:			translateY(0%);
}
/*-=-=-=-=-=-=-=-=-= PC用では非表示設定にする -=-=-=-=-=-=-=-=-=*/
.navToggle {
	display:	none;
}
/*-=-=-=-=-=-=-=-=-= PC用では非表示設定にする -=-=-=-=-=-=-=-=-=*/
.navToggle span {
    display:			block;
    position:			absolute;    /* .navToggleに対して */
    width:			30px;
    border-bottom:		solid	3px	#eeeeee;
    -webkit-transition:		.35s	ease-in-out;
    -moz-transition:		.35s	ease-in-out;
    transition:			.35s	ease-in-out;
    left:			6px;
}
 
.navToggle span:nth-child(1) {
    top:			9px;
}
 
.navToggle span:nth-child(2) {
    top:			18px;
}
 
.navToggle span:nth-child(3) {
    top:			27px;
}
 
.navToggle span:nth-child(4) {
    border:			none;
    color:			#eeeeee;
    font-size:			9px;
    font-weight:		bold;
    top:			34px;
}

/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}


/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/

/*--------------------メニュー部--------------------*/
/*----------------------------------------------------------------------*/
/*	●固定ページナビ						*/
/*----------------------------------------------------------------------*/

/*--------------------flex部--------------------*/
.page_base_navi {
	max-width:		100%;
	overflow:		hidden;
	padding:		4px	40px;
	box-sizing:		content-box;
	display:		flex;
}
/*----------------------------------------------*/
/*--------------------flex部-----left right---------------*/
.page_navi_text a {
	margin:			0	auto;
	padding:		5px	50px;
	border:			1px solid	#666666;
	text-align:		center;
}
.page_navi_text h4 {
	font-size:		90%;
}

.page_navi_text,
.page_navi_img{
	width:			44%;
	margin:			0	auto;;
	padding:		20px;
	display:		inline-block;
	background-color:	#f6f5f0;
	box-sizing:		content-box;
	display:		flex;
	justify-content:	center;
	flex-direction:		column;
}
.page_base_navi h3 {
	font-size:		200%;
	border-bottom:		1px	solid	#333333;
}

.page_navi_text p{
	text-align:		left;
	vertical-align:		middle;
}

.page_navi_img img{
	vertical-align:		middle;
	margin:			0	auto;
	padding:		10px	20px;
	display:		block;
	width:			70%;
}
.a_link {
	text-align:		center;
	line-height:		5em;
}
/*--------------------flex部-----left right---------------*/
.page_wrap_text,
.page_wrap_img {
	width:			44%;
	margin:			0	auto;;
	padding:		20px;
	display:		inline-block;
	margin-bottom:		0;
	box-sizing:		content-box;
	vertical-align:		middle;
}
.page_wrap_text p{
	text-align:		left;
	vertical-align:		middle;
	font-size:		1.2rem;
}
/*--------------------------------------------------------*/
/*--------------------flex部-----left center right---------------*/
.page_item_text,
.page_item_img {
	width:			30%;
	margin:			0	auto;;
	padding:		10px;
	display:		inline-block;
	margin-bottom:		0;
	box-sizing:		content-box;
	display:		flex;
	justify-content:	center;
	flex-direction:		column;
}
/*--------------------flex部-----left center right---------------*/
.item_btn {
	position:		relative;
	height:			100%;
}
.item_btn_img {
	max-width:		60%;
	height:			auto;
	margin:			0	auto;
	box-sizing:		content-box;
	object-fit:		cover;
	overflow:		hidden;
	font-family:		'object-fit: cover; object-position: 0% 50%; object-fit: contain;';
}
.item_btn_text {
	position:		absolute;
	bottom:			-10%;
	left:			50%;
	-ms-transform:		translate(-50%,-50%);
	-webkit-transform:	translate(-50%,-50%);
	transform:		translate(-50%,-50%);
	margin:			0;
	padding:		5%;
	text-align:		center;
	background:		rgba(0,0,0,0.45);
	font-size:		90%;
	color:			#f0f0ff;
	width:			50%;
}
/*---------------------------------------------------------------*/
/*--------------------no flex部--------------------*/
.page_flex_out {
	max-width:		100%;
	overflow:		hidden;
	padding:		4px	40px;
	box-sizing:		content-box;
	display:		block	!important;
	margin:			60px	0;
}
.page_flex_out h3 {
	font-size:		200%;
	border-bottom:		1px	solid	#333333;
}
.page_flex_out h4 {
	margin:			10px	0px	-5px	0px;
	padding:		1.3rem;			/*文字周りの余白*/
	color:			#363636;		/*文字色*/
/*
	border-radius:		5px	5px	0px	0px;
	background:		url(./images/wood.jpg);
*/
}
.page_flex_out h5 {
	font-size:		180%;
	padding:		1.3rem;			/*文字周りの余白*/
	margin:			10px	0px	-5px	0px;
	border-bottom:		1px	solid	#333333;
}
.page_out_fream{
/*
	border:			1px	solid	#364e96;
*/
	padding:		5px;
}
/*-------------------------------------------------*/
/*------------------------------*/
/*	縦書きのスタイル	*/
/*------------------------------*/
.wrap_vart {
	max-width:		100%;
	overflow:		hidden;
	padding:		4px	20px;
	display:		flex;
	justify-content:	space-around;
}
.wrap_vart_text {
	-ms-writing-mode:	tb-rl;
	writing-mode:		vertical-rl;
	padding:		1em;
	font-size:		95%;
	max-width:		44%;
	line-height:		2.1em;
}
.wrap_vart_img {
	padding:		1em;
	box-sizing:		content-box;
	max-width:		44%;
	object-fit:		cover;
	font-family:		'object-fit: cover; object-position: 0% 50%; object-fit: contain;';
}
/*-------------------------------------------------*/
/*------------------------------*/
/*	●企業情報のページ	*/
/*------------------------------*/
.comp_title {
	width:			30%;
	margin:			0	auto;;
	padding:		25px;
	display:		inline-block;
	margin-bottom:		0;
	color:			#333333;
	box-sizing:		content-box;
	border-bottom:		1px	solid	#666666;
}
.comp_items {
	width:			70%;
	margin:			0	auto;;
	padding:		25px;
	display:		inline-block;
	margin-bottom:		0;
	box-sizing:		content-box;
	border-bottom:		1px	solid	#666666;
}
/*-------------------------------------------------*/
/*--------------------------------------*/
/*	●アクセスマップのページ	*/
/*--------------------------------------*/
.map_wrap {
	position:		relative;
	padding-bottom:		45%;
	height:			0;
	width:			80%;
	overflow:		hidden;
}
.map_wrap iframe {
	position:		absolute;
	top:			0;
	left:			0;
	width:			100%;
	height:			100%;
}
/*-------------------------------------------------*/
/*-- 一覧表示のスタイル --*/
/*-------------------------------------------------*/

.newitemlist{
	margin:			2em	auto;
	max-width:		1280px;
	width:			95%;
	box-sizing:		border-box;
	-moz-box-sizing:	border-box;
	-webkit-box-sizing:	border-box;
	-o-box-sizing:		border-box;
	-ms-box-sizing:		border-box;
	border:			3px	solid	#1b3579;
	border-radius:		10px	10px	0	0;
}
.newitemlist h4{
	background-color:	#1b3579;
	color:			#ffffff;
	padding:		1.3rem;
	margin:			0;
}
.newitemlist li{
	list-style:		none;
	border-bottom:		1px	dotted	#333333;
	padding:		1em;
}
.lst_date {
	width:			17%;
	text-align:		right;
	float:			left;
	padding:		2.5px	8px	2.5px	8px;
}
.lst_date:after {
	clear:			both;
}
.lst_til {
	margin:			2px	20px;
}
/*-------------------------------------------------*/
/*-- 一覧表示のスタイル --*/
/*-------------------------------------------------*/
/*-------------------------------------------------*/
/*-- お知らせ一覧表示のスタイル			 --*/
/*-------------------------------------------------*/

.lcp_alllist {
	display:		flex;
	flex-direction:		column;
}
.lcp_alllist li{
	display:		flex;
	list-style:		none;
	border-bottom:		1px	dotted	#333333;
	padding-top:		3px;
	padding-bottom:		3px;
	width:			100%;
	justify-content:	flex-start;
	align-items:		first baseline;
}
.lcp_post {
	padding:		2px	15px;
	font-size:		90%;
}
.lcp_post a{
	white-space:		nowrap;
	overflow:		hidden;
	text-overflow:		ellipsis;
	-webkit-text-overflow:	ellipsis;	/*Safari用*/
	-o-text-overflow:	ellipsis;	/*Opera用*/
}
.lcp_ps {
	margin:			2px	20px;
}
.lcp_dt {
	width:			18%;
	text-align:		right;
	float:			left;
	padding:		2.5px	8px	2.5px	8px;
	white-space:		nowrap;
}
.lcp_dt:after {
	clear:			both;
}
/*-------------------------------------------------*/
/*-- 一覧表示のスタイル --*/
/*-------------------------------------------------*/
/*-------------------------------------------------*/
/*-- リンクページのスタイル			 --*/
/*-------------------------------------------------*/
.supp_fream {
	margin:			0	auto;
	display:		flex;
	justify-content:	center;
	padding:		40px	20px;
}
.supp_title {
	margin:			0	auto;
	text-align:		center;
	font-size:		110%;
	background-color:	#228b22;
	color:			#ffffff;
	padding:		5px;
}
.supp_term {
	max-width:		45%;
	margin:			0	auto;;
	padding:		10px;
	display:		inline-block;
	margin-bottom:		0;
	box-sizing:		content-box;
	flex-direction:		column;
}
/*-------------------------------------------------*/
/*-- リンクページのスタイル			 --*/
/*-------------------------------------------------*/
/*----------------------------------------------------------------------*/
/*	●個別記事のページナビ						*/
/*----------------------------------------------------------------------*/
.navigation {
	text-align:		center;
	padding:		1em	0;
	width:			100%;
/*	border:			3px solid #ff00ff;*/
}
.clearfix:after{
	content:		"";
	display:		block;
	clear:			both;
}
.navitop {
	float:			left;
	width:			12%;
	text-align:		center;
}
.navileft {
	float:			left;
	width:			44%;
	text-align:		left;
	word-break:		break-all;
	line-height:		1.5em;
}
.naviright {
	float:			right;
	width:			44%;
	text-align:		right;
	word-break:		break-all;
	line-height:		1.5em;
}

/*----------------------------------------------------------------------*/
/*	●parallaxのスタイル		いらないかも...			*/
/*----------------------------------------------------------------------*/
.section.fade-in {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fid;
  animation-name: fid;
  visibility: visible !important;
}
@-webkit-keyframes fid {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fid {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
/*----------------------------------------------------------------------*/
/*----------------------------------------------------------------------*/
/*	ローディングアニメーションのスタイル				*/
/*----------------------------------------------------------------------*/
/* ローディング画面 */
#loading {
	width:				100vw;
	height:				100vh;
	transition:			all	1s;
	background-color:		#ffffff;
	position:			fixed;
	top:				0;
	left:				0;
	z-index:			10000;
}
.spinner {
	max-width:			420px;
	max-height:			100px;
	width:				85%;
	height:				80%;
	position:			absolute;
	top:				50%;
	left:				50%;
	transform:			translate(-50%,-50%);
	background-image:		url(./images/logo-b.png);
	background-repeat:		no-repeat;
	background-size:		contain;
}
/* ローディングアニメーション */
@keyframes sk-scaleout {
  0% {
    transform: scale(0);
  } 100% {
    transform: scale(10.0);
    opacity: 0;
  }
}
 
/* コンテンツ部分の装飾 */
.gallery {
  display: grid;
  gap: .5rem;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.loaded {
  opacity: 0;
  visibility: hidden;
}

/*----------------------------------------------------------------------*/
/*	ローディングアニメーションのスタイル				*/
/*----------------------------------------------------------------------*/


/*----- ウィンドウ幅が854pxまでの場合に適用するCSS -----*/
@media screen and (max-width: 1024px) {

	/*----------------ヘッダー部----------------*/
	.header-base{
		flex-direction:	column;
	}
	.header{
/*
		margin:		0	auto;
*/
	}

	#menu-base {
		display:	none;
	}
	#menu li{
		margin:		0	1rem;
	}
	/*------------------------------------------*/

	/*----------------メニュー部----------------*/
	.navToggle {
		display:	block;
		position:	fixed;    /* bodyに対しての絶対位置指定 */
		right:		13px;
		top:		50px;
		width:		42px;
		height:		51px;
		cursor:		pointer;
		z-index:	901;
		background:	#208b20;
		text-align:	center;
		border:		1px	solid	#efefef;
		background:	rgba(32, 120, 32, 0.5);
	}
	/*-----------●固定ページナビ-----------*/
	.page_base_navi {
		clear:			both;
		max-width:		100%;
		padding:		10px;
		flex-direction:		column;
	}
	.page_wrap_text,
	.page_wrap_img,
	.page_flex_out,
	.page_navi_text,
	.page_navi_img,
	.comp_title,
	.comp_items {
		margin:			0;
		padding:		10px;
		box-sizing:		border-box;
		width:			100%;
	}
	.page_wrap_text,
	.page_flex_out,
	.page_navi_text,
	.comp_title,
	.comp_items {
		font-size:		85%;
	}
	#npcatch {
		padding:		20px;
	}
	#npcatch li{
		margin:			0;
		padding:		10px;
		box-sizing:		border-box;
		width:			50%;
		vertical-align:		top;
	}
	#npcatch img::after{
		width:			100%;
		content:		"\A";
		white-space:		pre;
	}
	/*------------------------------------------*/
/*----------------記事一覧部----------------*/
	.lcp_dt {
		width:			25%;
	}
}
/*----- ウィンドウ幅が769pxまでの場合に適用するCSS -----*/
@media screen and (max-width: 768px) {

	/*----------------メニュー部----------------*/
	/*------------------------------------------*/
#content_base:before {
	margin:				3%	-20%	0;
	height:				98%;
}
	/*-----------コンテンツメニュー部-----------*/

	.child_page-cnts {
		max-width:		50%;
		height:			auto;
		border-radius:		5px;
		padding:		10px;
	}
	.cont_box li{
		display:		inline-block;
		width:			47%;
		margin:			1%;
		box-sizing:		border-box;
		-moz-box-sizing:	border-box;
		-webkit-box-sizing:	border-box;
		-o-box-sizing:		border-box;
		-ms-box-sizing:		border-box;
	}
	/*------------------------------------------*/
	.cont_img img{
		max-width:		100%;
		margin:			0	auto;
		padding:		12px;
		height:			auto;
	}
	.cont_img img:after {
		clear:			both;
	}
	.cont_img2 img{
		max-width:		100%;
		margin:			0	auto;
		padding:		12px;
		height:			auto;
	}
	.cont_img2 img:after {
		clear:			both;
	}
	.ev_item_box {
		padding:		0;
	}
	/*-----------●固定ページナビ-----------*/
	.page_base_navi {
		clear:			both;
		max-width:		100%;
		padding:		10px;
	}
	/*------------------------------------------*/
	/*-----------フッター部-----------*/
	#footer {
		flex-direction:		column;
	}
	.footer_info {
		width:			100%;
		flex-direction:		column;
	}
	.sitemap_inner {
		margin-right:		auto;
		font-size:		100%;
	}
	/*------------------------------------------*/
	.page_item_text,
	.page_item_img {
		width:			80%;
	}
}
@media screen and ( max-width:479px )
{
	#front_page_title{
		flex-direction:		column;
	}
	.page_title{
		font-size:		200%;
		padding:		30px	30px	10px	30px;
	}
	.bnr_list {
		flex-direction:		column;
	}
	.bnr_box {
		width:			100%;
	}
	.link_bnr {
		flex-direction:		column;
	}
	.link_bnr a{
		margin-top:		20px;
		margin:			0	auto;
	}
	.item_wrap {
		flex-direction:		column;
	}
	.item_box,
	.ev_item_box {
		width:			100%;
		box-sizing:		border-box;
	}
	.item_cat {
		max-height:		calc(25px + 2.3em);
	}
	.header img {
		max-width:		50%;
		margin-bottom:		10px;
	}

	#content {
		clear:			both;
		word-break:		normal;
		margin:			0	auto;
		box-sizing:		border-box;
		-moz-box-sizing:	border-box;
		-webkit-box-sizing:	border-box;
		-o-box-sizing:		border-box;
		-ms-box-sizing:		border-box;
	}
	#header-base {
		opacity:		0;
	}
	#header img {
		width:		100%;
		height:		auto;
	}
	img {
		max-width:	100%;
	}
	/*----------------メニュー部----------------*/
	#menu li{
		margin:		0	.5rem;
		font-size:	1.2rem;	
	}
	#toggle{
		display:		block;
		position:		relative;
		width:			100%;
		background:		#222222;
	}
	#toggle a{
		display:		block;
		position:		relative;
		padding:		12px	0	10px;
		border-bottom:		1px	solid	#444444;
		color:			#ffffff;
		text-align:		center;
		text-decoration:	none;
	}
	#toggle:before{
		display:		block;
		content:		"";
		position:		absolute;
		top:			50%;
		left:			10px;
		width:			20px;
		height:			20px;
		margin-top:		-10px;
		background:		#ffffff;
	}
	#toggle a:before, #toggle a:after{
		display:		block;
		content:		"";
		position:		absolute;
		top:			50%;
		left:			10px;
		width:			20px;
		height:			4px;
		background:		#222222;
	}
	#toggle a:before{
		margin-top:		-6px;
	}
	#toggle a:after{
		margin-top:		2px;
	}
/*----------------メニュー部----------------
	.navToggle {
		display:	block;
		position:	fixed;    /* bodyに対しての絶対位置指定
		right:		13px;
		top:		50px;
		width:		42px;
		height:		51px;
		cursor:		pointer;
		z-index:	901;
		background:	#99C466;
		text-align:	center;
		border:		1px	solid	#efefef;
	}
/*------------------------------------------*/
	/*------------------------------------------*/
	/*-----------コンテンツメニュー部-----------*/

	.child_pages .child_page {
		float:			none;
		width:			100%	!important;
	}
	.child_page-cnts {
		width:			100%;
		height:			auto;
		border-radius:		5px;
		padding:		10px;
	}
	.cont_box li{
		width:			100%;
		display:		inline-block;
		margin:			1%;
		box-sizing:		border-box;
		-moz-box-sizing:	border-box;
		-webkit-box-sizing:	border-box;
		-o-box-sizing:		border-box;
		-ms-box-sizing:		border-box;
	}
	/*------------------------------------------*/
	.cont_img img{
		max-width:		100%;
		margin:			0	auto;
		padding:		12px;
		height:			auto;
	}
	.cont_img img:after {
		clear:			both;
	}
	.cont_img2 img{
		max-width:		100%;
		margin:			0	auto;
		padding:		12px;
		height:			auto;
	}
	.cont_img2 img:after {
		clear:			both;
	}
/*----------------記事一覧部----------------*/
	.lcp_dt {
		width:			20%;
		font-size:		80%;
	}
	.pic_back_base h3 {
		font-size:		180%;
	}
	#npcatch {
		padding:		10px;
	}
	#npcatch li{
		margin:			0;
		padding:		10px;
		box-sizing:		border-box;
		width:			100%;
	}
	#content img {
		width:		100%;
		padding:	10px	0px;
	}
	.wpcf7 {
		padding:		0;
	}
	.page_base_navi h3{
		font-size:		115%;
	}
	.page_flex_out h3{
		font-size:		115%;
	}
	h2 {
		font-size:		110%;
	}
	/*------------------------------*/
	/*	縦書きのスタイル	*/
	/*------------------------------*/
	.wrap_vart {
		overflow:		hidden;
		flex-direction:		column;
	}
	.wrap_vart_img,
	.wrap_vart_text {
		max-width:		100%;
		padding:		0px;
		line-height:		2em;
	}
	.item_btn_img img{
		padding:		0;
	}
	.supp_fream {
		flex-direction:		column;
	}
	.supp_term {
		max-width:		100%;
		padding:		0px;
		line-height:		2em;
	}

}
/*--------------------------------------------------*/
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list
{
    background: #fff url('css/ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('css/fonts/slick.eot');
    src: url('css/fonts/slick.eot?#iefix') format('embedded-opentype'), url('css/fonts/slick.woff') format('woff'), url('css/fonts/slick.ttf') format('truetype'), url('css/fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}
