@charset "UTF-8";
/**************************
Compass Text Replacement
*/
/**************************
Inline List
*/
/**************************
Inline Block List
*/
/**************************
horizontal-list
*/
/**************************
Bullets
*/
/* simple clearfix */
/**************************
@mixin for sprite
*/
html {
	font-size: 100%;
}

select,
input {
	font-size: 16px;
}

.text_frame input,
.textarea_frame textarea {
	font-size: 1rem;
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************
## Layout

PCのサブメニューとSPのサブメニューは同一のHTMLとなります。
common.js にて $(window).resize イベントを監視して、
SPのメニューのためのライブラリ mmenu のための init と destroy で、html 構造を変えています。

**下層ページの簡略図**
![下層ページの簡略図](../img/out/sp_sub_page.jpg)

<div class="_h3">.wrapper</div>
ウィンドウサイズを広げた際の背景画像がきれる対策
*/
.wrapper {
	width: 100%;
	min-width: 100%;
}

.wrapper-index {
	width: 100%;
}

.sp_container,
.container {
	box-sizing: border-box;
	padding-left: 15px;
	padding-right: 15px;
	margin-left: auto;
	margin-right: auto;
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Utility - Cosmetic

ユーティリティー設定。
このサイト専用というわけでもない共通設定。

<div class="_h3">.sp</div>
PCの時だけ表示される。

<div class="_h3">.sp_block</div>
SPの時だけ、ブロック要素になる。

<div class="_h3">.tel_link</div>
SPの時だけ、リンクになる。(クリックで電話するリンク)

*/
.sp_none,
.root .sp_none {
	display: none;
}

.root .tel_link,
.root .tel_link:hover {
	text-decoration: underline;
	color: #32528d;
}

.btn-list + .btn-list {
	margin-top: 1em;
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Component - Base

コンポーネント設定。
各ページでよく使い回す記述。
このサイト専用の共通設定。

*/
/**************************
.button
*/
/**************************
	.main_content
*/
.main_content h2,
.main_content .h2 {
	font-size: 1.25rem;
	margin-bottom: 12px;
	padding: 8px 8px 7px;
}

.main_content h2::after,
.main_content .h2::after {
	bottom: 4px;
}

.main_content h3,
.main_content .h3 {
	font-size: 1rem;
	margin-bottom: 12px;
	padding: 5px 9px 4px;
}

.main_content h4,
.main_content .h4 {
	font-size: 1rem;
	margin-bottom: 10px;
	padding: 4px 0 3px;
}

.main_content h5,
.main_content .h5 {
	font-size: 0.875rem;
	margin-bottom: 4px;
}

.main_content h3 img, .main_content .h3 img,
.main_content h4 img, .main_content .h4 img,
.main_content h5 img, .main_content .h5 img,
.main_content h6 img, .main_content .h6 img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.main_content h3.border,
.main_content .h3.border {
	font-size: 1.3rem;
	margin-bottom: 12px;
	padding: 5px 8px 5px;
}

.main_content figure img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}

.main_content figure + * {
	margin-top: 0.5em;
}

.main_content .responsive_table_area {
	position: relative;
	top: 0;
	left: 0;
	clear: both;
	overflow: hidden;
}

.main_content .responsive_table_area + .table,
.main_content .responsive_table_area + .bordered_table,
.main_content .responsive_table_area + .responsive_table_area {
	margin-top: 1em;
}

.main_content .responsive_table_mask {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(/common/img/icon_swipe.png) center center no-repeat transparent;
	background-size: auto 90px;
	z-index: 4;
	cursor: pointer;
}

.main_content .responsive_table_mask.shadow {
	background-image: none;
	background: #666;
	opacity: 0.5;
	z-index: 3;
}

.main_content .responsive_table_area .table-wrapper {
	border-right: none;
	margin-bottom: 0;
}

.main_content .responsive_table_area .table-wrapper .pinned {
	display: none;
}

.main_content .responsive_table_area .table-wrapper .scrollable {
	padding-left: 0;
}

.main_content .responsive_table_area .table-wrapper .scrollable > table {
	margin-left: 0px;
}

.main_content .responsive_table_area td {
	min-width: 70px;
}

.main_content .responsive_table .responsive {
	overflow: scroll;
}

.main_content .scrollable {
	-webkit-overflow-scrolling: touch;
}

@media only screen and (max-width: 767px) {
	.main_content .responsive_table_area table.responsive th:first-child,
	.main_content .responsive_table_area table.responsive td:first-child,
	.main_content .responsive_table_area table.responsive td:first-child,
	.main_content .responsive_table_area table.responsive.pinned td {
		display: table-cell;
	}
}

.main_content .responsive_table_area-store .pinned {
	display: none;
}

.main_content .responsive_table_area-store .scroolable {
	padding-left: 0;
}

.main_content .table th,
.main_content .table td,
.main_content .bordered_table th,
.main_content .bordered_table td {
	font-size: 0.875rem;
}

.main_content .table th p,
.main_content .table td p,
.main_content .bordered_table th p,
.main_content .bordered_table td p {
	font-size: 0.875rem;
}

.main_content .table.sp_single thead,
.main_content .bordered_table.sp_single thead {
	display: none;
}

.main_content .table.sp_single th, .main_content .table.sp_single td,
.main_content .bordered_table.sp_single th,
.main_content .bordered_table.sp_single td {
	display: block;
	width: 100%;
	border-bottom: none;
}

.main_content .table.sp_single tr:last-child,
.main_content .bordered_table.sp_single tr:last-child {
	border-bottom: 1px solid #bfbfbf;
}

.main_content .table + .table,
.main_content .table + .bordered_table,
.main_content .table + .responsive_table_area,
.main_content .bordered_table + .table,
.main_content .bordered_table + .bordered_table,
.main_content .bordered_table + .responsive_table_area {
	margin-top: 1em;
}

.main_content > .content_section:not(:last-child) {
	margin-bottom: 2em;
}

.main_content > .content_section .content_section:not(:last-child) {
	margin-bottom: 1em;
}

.main_content .gmap_balloon {
	line-height: 1.7;
}

.main_content .gmap_balloon__title {
	font-size: 0.938rem;
	font-weight: bold;
	color: #486a00;
	line-height: 1.3;
}

.main_content .gmap_balloon p {
	font-size: 0.813rem;
	margin-top: 0;
}

.main_content .gmap_balloon p + div {
	margin-top: 4px;
	line-height: 1.3;
}

.main_content .gmap_embedded > iframe {
	width: 100%;
	min-height: 250px;
}

.main_content .sp_column1,
.main_content .sp_column2,
.main_content .sp_column3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	margin: 0 -10px;
	margin-left: -10px;
	margin-right: -10px;
	padding: 0;
	list-style-type: none;
}

.main_content .sp_column1 > *,
.main_content .sp_column2 > *,
.main_content .sp_column3 > * {
	margin: 0 0 0.5em;
	box-sizing: border-box;
	padding-left: 10px;
	padding-right: 10px;
	width: 100%;
}

.main_content .sp_column1 > *::before,
.main_content .sp_column2 > *::before,
.main_content .sp_column3 > *::before {
	display: none;
}

.main_content .sp_column1 > * {
	width: 100%;
}

.main_content .sp_column2 > * {
	width: 50%;
}

.main_content .sp_column3 > * {
	width: 33.33%;
}

.main_content .sp_column4 > * {
	width: 25.00%;
}

.main_content .sp_column5 > * {
	width: 20.00%;
}

.sp_center {
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.block__left + *,
.block__right + * {
	margin-top: 1em;
}

.box {
	padding: 15px;
}

/**************************
.pc_column
*/
/*

<div class="_h3">.sp_indent</div>

左右に余白を作る。
sp_indent ならPCの時だけ

	<div class="section">
		<h4>電車でお越しの場合</h4>
		<div class="sp_indent">
			<ul class="ul1">
				<li>寒川駅北口を下車、寒川町役場方面へ徒歩約10分です。</li>
				<li>宮山駅を下車、寒川神社方面へ約徒歩12分です。</li>
			</ul>
			<p>寒川病院では、<a href="#">無料で送迎バス</a>を用意させて頂いております。近郊の方はご利用ください。</p>
		</div>
	</div>

*/
.sp_indent {
	padding-left: 15px;
	padding-right: 15px;
}

/**************************
.news_list
*/
.news_list__content > li > ul > li:first-child a {
	border-top: 1px solid #dcdcdc;
}

.news_list__content + .center {
	margin-top: 22px;
}

.news_content {
	font-size: 0;
}

.news_content a {
	display: block;
	border-bottom: 1px solid #dcdcdc;
	padding: 14px 0 10px;
	box-sizing: border-box;
}

.main_content .news_content a {
	text-decoration: none;
}

.news_content__date, .news_content__label {
	display: inline-block;
	vertical-align: middle;
	font-size: 0.875rem;
	text-decoration: none;
}

.news_content__date {
	width: 80px;
}

.news_content__label {
	width: calc(100% - 80px);
	font-size: 0;
	padding-left: 10px;
	box-sizing: border-box;
}

.news_content__label span {
	display: inline-block;
	width: 49%;
	font-size: 0.75rem;
	line-height: 1.0;
	text-align: center;
	border-radius: 4px;
	padding: 6px 0 5px;
	box-sizing: border-box;
}

.news_content__label span:nth-child(odd) {
	margin-right: 2%;
}

.news_content__label span:nth-child(n + 3) {
	margin-top: 5px;
}

.news_content__text {
	font-size: 1rem;
	margin-top: 10px;
}

/**************************
	drawer
*/
.open_menu {
	position: absolute;
	top: 11px;
	right: 18px;
	z-index: 2;
	width: 24px;
	height: 24px;
	text-indent: 100%;
	background: url(/common/img/btn_hamburger_menu.png) no-repeat;
	background-size: 24px auto;
	overflow: hidden;
	white-space: nowrap;
	-webkit-transition: -webkit-transform .2s ease-out;
	transition: -webkit-transform .2s ease-out;
	transition: transform .2s ease-out;
	transition: transform .2s ease-out, -webkit-transform .2s ease-out;
}

#drawer {
	visibility: hidden;
	z-index: 3;
	width: 100%;
}

#drawer .container {
	padding: 0;
}

#drawer a {
	color: #111;
}

#drawer .drawer__head h2 {
	font-size: 1rem;
}

#drawer .drawer__head a {
	height: 53px;
	font-weight: normal;
	text-align: center;
	color: #111;
	line-height: 53px;
	background-color: transparent;
	padding: 0;
	box-sizing: border-box;
}

#drawer.drawer-show {
	visibility: visible;
}

#drawer.mm-menu.mm-offcanvas {
	max-width: 100%;
}

#drawer .mm-listview > li.mm-selected > a:not(.mm-next),
#drawer .mm-listview > li.mm-selected > span {
	background-color: transparent;
}

#drawer .mm-navbar-top {
	height: 53px;
	border-bottom: 0 none;
	padding-top: 0;
	padding-bottom: 0;
}

#drawer .mm-panels {
	background-color: #fff;
	padding-top: 0;
}

#drawer .mm-panels > .mm-panel.mm-hasnavbar {
	padding-top: 0;
}

#drawer .mm-panels > .mm-panel::before {
	height: 0;
}

#drawer .mm-panels .mm-navbar {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 53px;
	border-bottom: 1px solid #5ebbf1;
	margin-right: 0;
	padding-top: 1em;
	box-sizing: border-box;
}

#drawer .mm-panels .mm-navbar .mm-prev {
	top: 0;
	height: 52px;
}

#drawer .mm-panels .mm-navbar .mm-prev::before {
	top: 0;
}

#drawer .mm-panels .mm-navbar .mm-title {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 52px;
	font-size: 1rem;
	font-weight: normal;
	color: #333;
	line-height: 53px;
	padding: 0;
	box-sizing: border-box;
}

#drawer .mm-panels .mm-navbar + .mm-listview {
	margin-top: 53px;
}

#drawer #mm-1 .mm-navbar + .mm-listview {
	margin-top: 0;
}

#drawer #mm-1 > .mm-navbar {
	display: none;
}

#drawer .gnav__title {
	display: none;
}

#drawer li {
	min-height: 60px;
}

#drawer li:first-child {
	position: relative;
	top: 0;
	left: 0;
	min-height: 53px;
	line-height: 53px;
}

#drawer li:first-child .title_text {
	text-indent: -119988px;
	overflow: hidden;
	text-align: left;
	display: block;
	position: relative;
	top: 17px;
	left: 0;
	width: 50px;
	height: 15px;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
}

#drawer li:first-child .title_text::before {
	top: 0;
	-webkit-transform: initial;
	    -ms-transform: initial;
	        transform: initial;
}

#drawer li:first-child .drawer__a,
#drawer li:first-child a {
	min-height: 53px;
}

#drawer li:not(.mm-divider)::after {
	border-bottom: 1px solid #5ebbf1;
}

#drawer li.li-bottom {
	min-height: inherit;
	padding: 20px 15px;
}

#drawer li.li-bottom::after {
	display: none;
}

#drawer li.li-bottom .button {
	display: table;
	width: 100%;
	padding-left: 10px;
}

#drawer li.li-bottom .button-in_drawer {
	height: 50px;
	font-size: 0.813rem;
	text-align: center;
}

#drawer a, #drawer span {
	height: 60px;
	font-size: 1rem;
	color: #333;
	line-height: 34px;
	background-color: #fff;
	margin-right: 0;
	margin-left: 0;
	padding-top: 14px;
	padding-bottom: 14px;
	box-sizing: border-box;
}

#drawer a:hover, #drawer span:hover {
	text-decoration: none;
	opacity: 0.7;
	-webkit-transition: 0.2s opacity;
	transition: 0.2s opacity;
}

#drawer a.active, #drawer span.active {
	font-weight: bold;
	background: #d9f1ff;
}

#drawer a.mm-next, #drawer span.mm-next {
	background: #d9f1ff;
}

#drawer a .image, #drawer span .image {
	display: none;
}

#drawer a.drawer__a-sub, #drawer span.drawer__a-sub {
	background-color: #f7f7f7;
}

#drawer li .mm-next {
	height: 59px;
	box-sizing: border-box;
}

#drawer li .mm-next::before {
	display: none;
}

#drawer li .mm-next::after {
	width: 12px;
	height: 12px;
	border-color: #fff;
}

#drawer .sub_cate__sub {
	border-radius: 0;
}

#drawer .sub_cate__sub_wrapper {
	padding: 0;
	width: 100%;
}

#drawer .gnav__block-search {
	padding: 0 16px;
	box-sizing: border-box;
}

#drawer .gnav__block-search::after {
	display: none;
}

.mm-opening #mm-blocker {
	z-index: 3;
	background: #000 none repeat scroll 0 0;
	-webkit-transition: background 1s ease 0.2s;
	transition: background 1s ease 0.2s;
	opacity: 0.2;
}

html.mm-right.mm-opening .mm-slideout {
	-webkit-transform: translate(-100%, 0);
	-ms-transform: translate(-100%, 0);
	transform: translate(-100%, 0);
}

#drawer .close_menu {
	position: absolute;
	top: 0;
	left: 0;
	text-align: left;
	text-indent: -9999px;
	width: 53px;
	height: 53px;
	padding: 0;
}

#drawer .close_menu::before {
	content: '';
	display: block;
	position: absolute;
	top: 17px;
	left: 20px;
	width: 18px;
	height: 18px;
	background-image: url(/common/img/btn_hamburger_menu_close.png);
	background-size: 18px auto;
}

.root-wp img {
	max-width: 100%;
	width: auto;
	height: auto;
}

.root-wp table {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

.slick-slide img {
	width: 100%;
}

.breadcrumbs {
	padding: 10px 15px;
}

.twitter {
	height: 300px;
}

.gmap {
	height: 300px;
}

.gmap > iframe {
	max-height: 100%;
}

.gmap-single {
	height: 300px;
}

.gmap-single > iframe {
	max-height: 100%;
}

.gmap-single + * {
	margin-top: 1em;
}

.gcalendar > iframe {
	height: 300px;
}

.image_right {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1em;
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Project

特定ページ専用、効果範囲が限定的な記述。
コンテンツ内容に密接で、汎用性がなく、機能の付け替えを想定していない。

*/
.root {
	padding-top: 45px;
}

.root-wp {
	padding-top: 0;
}

.header {
	position: fixed;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 45px;
	background: #fff;
	border-bottom: 1px solid #efefef;
	box-sizing: border-box;
}

.header__head {
	height: 45px;
}

.header__head > .container {
	padding-left: 20px;
	padding-right: 20px;
}

.header__l {
	line-height: 45px;
}

.header h1 {
	display: inline-block;
	vertical-align: middle;
}

.header h1 a {
	display: block;
}

.header h1 img {
	display: block;
	width: 120px;
	height: auto;
	vertical-align: bottom;
}

.search {
	width: 100%;
	margin-top: 20px;
}

.search__text, .search__submit {
	height: 36px;
	line-height: 36px;
}

.search__text {
	width: calc(100% - 53px);
	font-size: 16px;
}

.search__submit {
	width: 53px;
}

.footer {
	margin-top: 30px;
}

.footer__logo img {
	max-width: 204px;
	height: auto;
}

.footer__menu {
	font-size: 0.813rem;
	margin-bottom: 25px;
}

.footer__menu > li {
	display: block;
}

.footer__menu > li + li {
	margin-top: 15px;
}

.footer__menu > li::after {
	display: none !important;
}

.footer__address {
	font-size: 0.813rem;
	line-height: 1.4;
}

.footer__address span {
	display: block;
}

.footer__copyright {
	padding: 11px 0 9px;
}

.subnav {
	margin-top: 30px;
}

.scroll_to_top img {
	width: 60px;
	height: 60px;
}

.root__head .cate_area {
	display: block;
	position: relative;
	height: 125px;
	background: #5ebbf1 url(/common/img/cate/bg_cate_common.jpg) no-repeat;
	background-size: 800px auto;
	background-position: center center;
}

.root__body::before, .root__body::after {
	content: '';
	display: table;
}

.root__body::after {
	clear: both;
}

.page-content, .entry-content, .entry-summary {
	margin-top: 0 !important;
	overflow: hidden;
}

.main_content .anchor_link__title {
	font-size: 1rem;
	padding: 8px;
}

.main_content .anchor_link__list {
	font-size: 0;
	padding: 8px;
}

.main_content .anchor_link__list > li {
	display: inline-block;
	width: 50%;
	font-size: 0.875rem;
}

.main_content .anchor_link__list > li:nth-child(n + 3) {
	margin-top: 10px;
}

.executive_list > li:nth-child(n + 3) {
	margin-top: 0.5em;
}

.main_content .agri_list__content {
	min-height: 22px;
	font-size: 0.813rem;
	line-height: 22px;
	padding-left: 26px;
	box-sizing: border-box;
}

.main_content .agri_list__content::before {
	content: '';
	display: block;
	width: 22px;
	height: 22px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-size: 22px auto;
}

.main_content .sitemap_list > li + li {
	margin-top: 2em;
}

.main_content .sitemap_list > li > ul li {
	margin-top: 1em;
}

.main_content .sitemap_list__category {
	font-size: 1rem;
	padding: 4px 0 3px;
}

.main_content .sitemap_list-2 li + li {
	margin-top: 1em;
}

.main_content .help_content {
	padding: 2em 1em;
}

.main_content .help_content__head {
	padding: 1em;
}

.main_content .help_content__title {
	font-size: 1.25rem;
}

.main_content .help_content__body {
	display: block;
	margin-top: 1em;
}

.main_content .help_content__body .tel_link__number {
	font-size: 1.625rem;
	padding: 0.5em 0;
}

.main_content .komatochan_content__title {
	font-size: 1.125rem;
	margin-bottom: 0.5em;
	padding: 4px 0 3px 25px;
}

.main_content .komatochan_content__title span {
	width: 25px;
	height: 25px;
	font-size: 0.875rem;
	line-height: 25px;
	padding-top: 2px;
	box-sizing: border-box;
}

.main_content .komatochan_content__detail {
	position: relative;
	padding: 1em;
}

.main_content .komatochan_content__detail::after {
	content: '';
	display: block;
	position: absolute;
	left: 100px;
	bottom: -16px;
	width: 25px;
	height: 16px;
	background: url(/point/img/bg_komatochan_balloon_sp.png) no-repeat;
	background-size: 25px auto;
}

.main_content .komatochan_content__figure {
	text-align: left;
	margin-top: 10px;
}

.main_content .komatochan_content__figure img {
	margin: 0;
}

.main_content .front_list {
	box-sizing: border-box;
}

.main_content .front_list a {
	font-size: 0;
}

.main_content .front_list__img, .main_content .front_list__detail {
	display: inline-block;
	vertical-align: middle;
}

.main_content .front_list__img {
	width: 100px;
}

.main_content .front_list__detail {
	width: calc(100% - 100px);
}

.main_content .front_list__title {
	position: relative;
	font-size: 1rem;
	line-height: 1.3;
	padding: 0 1em 0 1.5em;
	box-sizing: border-box;
}

.main_content .front_list__title::before {
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	margin-top: 0;
}

.main_content .store__detail img {
	max-width: 100%;
	height: auto;
}

.main_content .campaign_list > li + li {
	margin-top: 1em;
}

.main_content .campaign_list > li > a {
	text-align: center;
}

.main_content .campaign_list__detail {
	text-align: left;
}
