@charset "utf-8";

@font-face {
	font-family: 'hannari';
	src: url('./font/Hannari.woff2') format('woff2'),
			url('./font/Hannari.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}


/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html {
	font-size: 62.5%;
}
body {
	background-color: #fff;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.8;
	color: #222222;

	/*font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;*/
	/*font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;*/
	font-family: "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Verdana, Arial, Helvetica, sans-serif;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
html.ie body {
	/*font-family: "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;*/
}

@media screen and (max-width: 768px) {
	body {
		font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	}
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/*
::selection {
	background: #fdcb00;
	color: #fff;
}
::-moz-selection {
	background: #fdcb00;
	color: #fff;
}
*/

table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.8;
}
a[href] {
	color: #875935;
	text-decoration: underline;
	outline: none;
}
a[href]:hover {
	text-decoration: none;
}
a[href].a_reverse,
.a_reverse a[href] {
	text-decoration: none;
}
a[href].a_reverse:hover,
.a_reverse a[href]:hover {
	text-decoration: underline;
}
a[href^="http"],
a[href^="mailto:"] {
	word-break: break-all;
}

label {
	cursor: pointer;
}
input, select, textarea, button {
	max-width: 100%;
	margin: 0;
	vertical-align: middle;
	font-family: inherit;
	outline: none;
	font-size: 100%;
}

button {
	cursor: pointer;
}
iframe {
	max-width: 100%;
	vertical-align: middle;
}

.hidden {
	display: none;
}
.slick-slider * {
	outline: none;
}
@media screen and (max-width: 768px) {
	img {
		max-width: 100%;
		height: auto;
	}
}


/* pc / sp
============================================================================================================ */
.sp,
.spl,
.sps {
	display: none !important;
}
@media (min-width: 769px), print {
	.pc_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	img.sp, span.sp, br.sp, em.sp, strong.sp {
		display: inline !important;
	}
	table.sp {
		display: table !important;
	}
	td.sp, th.sp {
		display: table-cell !important;
	}
	.sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}

	.sp_center {
		text-align: center;
	}
}
@media screen and (max-width: 768px) and (min-width: 371px) {
	.spl {
		display: block !important;
	}
	img.spl, splan.spl, br.spl, em.spl, strong.spl {
		display: inline !important;
	}
	.spl_non {
		display: none !important;
	}
}
@media screen and (max-width: 370px) {
	.sps {
		display: block !important;
	}
	img.sps, spsan.sps, br.sps, em.sps, strong.sps {
		display: inline !important;
	}
	.sps_non {
		display: none !important;
	}
}

/* sp
============================================================================================================ */
@media screen and (max-width: 768px) {
	*[data-label] img {
		display: none !important;
	}
	*[data-label]:before {
		content: attr(data-label);
	}
	*[data-label-r]:after {
		display: block;
		content: attr(data-label-r);
	}
	.sp_tac {
		text-align: center;
	}
}
@media screen and (min-width: 371px) {
	*[data-label-r].spl_r_inline:after {
		display: inline;
	}
}


/* font family
============================================================================================================ */
.ff_min {
	font-family: "Hannari", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "ヒラギノ明朝 ProN W3", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HiraMinProN-W3", "游明朝", YuMincho, "HGS明朝E", "HG明朝E", "メイリオ", Meiryo, serif;
}
.ff_s {
	font-family: "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Verdana, Arial, Helvetica, sans-serif;
}
@media (min-width: 769px), print {
	.ff_min_pc {
		font-family: "Hannari", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "ヒラギノ明朝 ProN W3", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HiraMinProN-W3", "游明朝", YuMincho, "HGS明朝E", "HG明朝E", "メイリオ", Meiryo, serif;
	}
}
@media screen and (max-width: 768px) {
	.ff_min_sp {
		font-family: "Hannari", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "ヒラギノ明朝 ProN W3", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HiraMinProN-W3", "游明朝", YuMincho, "HGS明朝E", "HG明朝E", "メイリオ", Meiryo, serif;
	}
}



/* color
============================================================================================================ */
.c_theme {
	color: #875935;
}
.c_pink {
	color: #ff0064;
}
.bg_gray {
	background-color: #f7f7f7;
}


/* transition
============================================================================================================ */
@media screen and (min-width: 769px) {
	a[href],
	a[href]:before,
	a[href]:after,
	button,
	.basic_trs,
	.basic_trs:before,
	.basic_trs:after,
	.basic_trs *,
	.basic_trs *:before,
	.basic_trs *:after {
		-webkit-transition: color 0.2s, background 0.2s, border 0.2s, opacity 0.2s;
		-o-transition: color 0.2s, background 0.2s, border 0.2s, opacity 0.2s;
		transition: color 0.2s, background 0.2s, border 0.2s, opacity 0.2s;
	}
}

/* font size
============================================================================================================ */
.fz_ss {
}
.fz_s {
	font-size: 1.2rem;
}
.fz_m {
	font-size: 1.4rem;
}
.fz_ml {
	font-size: 1.8rem;
}
.fz_l {
	font-size: 2rem;
	line-height: 1.6;
}
.fz_ll {
	font-size: 2.4rem;
	line-height: 1.6;
}
@media screen and (max-width: 768px) {
	.fz_s {
		font-size: 0.9rem;
	}
	.fz_m {
		font-size: 1.2rem;
	}
	.fz_ml {
		font-size: 100%;
	}
	.fz_l {
		font-size: 1.5rem;
	}
	.fz_ll {
		font-size: 1.8rem;
	}
}


/* font-weight
============================================================================================================ */
.fwb {
	font-weight: bold;
}

/* display
============================================================================================================ */
.db {
	display: block;
}
.dib {
	display: inline-block;
}

/* w
============================================================================================================ */
.w {
	position: relative;
	width: 1000px;
	margin: 0 auto;
}
.w:after {
	content: ""; display: table; clear: both;
}
.mw {
	min-width: 1040px;
}
@media screen and (max-width: 768px) {
	.w {
		width: auto !important;
	}
	.mw {
		min-width: 0;
	}
}


/* hv_wh
============================================================================================================ */
@media screen and (min-width: 769px), print {
	a.hv_wh,
	button.hv_wh,
	a .hv_wh,
	.hv_wh a {
		position: relative;
		display: block;
		overflow: hidden;
		vertical-align: middle;
	}
	a.hv_wh:after,
	button.hv_wh:after,
	a .hv_wh:after,
	.hv_wh a:after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background-color: rgba(255,255,255,0);
		-webkit-transition: background 0.2s;
		-o-transition: background 0.2s;
		transition: background 0.2s;
		z-index: 3;
	}
	a[href].hv_wh:hover:after,
	button.hv_wh:hover:after,
	a[href]:hover .hv_wh:after,
	.hv_wh a[href]:hover:after {
		background-color: rgba(255,255,255,0.3);
	}
	a[href].hv_wh.a20:hover:after,
	button.hv_wh.a20:hover:after,
	a[href]:hover .hv_wh.a20:after,
	.hv_wh a[href]:hover.a20:after {
		background-color: rgba(255,255,255,0.2);
	}

	a.hv_op:hover,
	a:hover .hv_op {
		opacity: .7;
	}
}



/* target
============================================================================================================ */
.target {
	display: block;
	position: relative;
	width: 1px;
	top: 0;
}
.target.pt {
	top: -30px;
}
@media screen and (max-width: 768px) {
	.target {
	}
	.target.pt {
		top: -20px;
	}
}



/* sp_pd
============================================================================================================ */
@media screen and (max-width: 768px) {
	.sp_pd {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
	.sp_pdtb {
		padding-top: 18px !important;
		padding-bottom: 18px !important;
	}
}
@media screen and (max-width: 370px) {
	.sp_pd {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
	.sp_pdtb {
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}
}



/* header
============================================================================================================ */
#header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 190px;
	background-color: #fff;
	border-bottom: 1px solid #f2f2f2;
	z-index: 1000;
}
#header .w {
	width: 1100px;
}
#header h1 {
	padding: 40px 0 20px;
	text-align: center;
}
@media screen and (min-width: 769px) {
	#header h1 {
	}
}
@media screen and (max-width: 768px) {
	#header {
		position: fixed;
		height: 51px;
	}
	#header h1 {
		position: relative;
		padding: 0;
		background-color: #fff;
		z-index: 10;
	}
	#header h1 a {
		display: block;
		margin-right: 160px;
		background: url(../images/head/logo_sp.png) no-repeat 50%;
		-webkit-background-size: 160px;
		background-size: 160px;
		height: 50px;
	}
	#header h1 img {
		display: none;
	}
}

/* nav_btn
------------------------------------------------------------- */
@media screen and (max-width: 768px) {
	#header .nav_btn {
		position: absolute;
		right: 0;
		top: 0;
		width: 65px;
		z-index: 10;
	}
	#header .nav_btn a {
		position: relative;
		display: block;
		height: 50px;
		padding-top: 34px;
		text-decoration: none;
		text-align: center;
		color: #000000;
	}
	#header .nav_btn a span {
		display: block;
		font-size: 1.1rem;
		line-height: 1.1;
		font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
		font-weight: bold;
	}
	#header .nav_btn:before,
	#header .nav_btn a:before,
	#header .nav_btn a:after {
		content: "";
		position: absolute;
		left: 15px;
		right: 15px;
		top: 18px;
		border-top: 3px solid #000;
		-webkit-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
	}
	#header .nav_btn a:before {
		-webkit-transform: translateY(-8px);
		-ms-transform: translateY(-8px);
		-o-transform: translateY(-8px);
		transform: translateY(-8px);
	}
	#header .nav_btn a:after {
		-webkit-transform: translateY(8px);
		-ms-transform: translateY(8px);
		-o-transform: translateY(8px);
		transform: translateY(8px);
	}

	/* open */
	#header.open .nav_btn:before,
	#header.open .nav_btn a:before,
	#header.open .nav_btn a:after {
		left: 20px;
		right: 20px;
	}
	#header.open .nav_btn:before {
		opacity: 0;
	}
	#header.open .nav_btn a:before {
		-webkit-transform: translateY(0) rotate(45deg);
		-ms-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}
	#header.open .nav_btn a:after {
		-webkit-transform: translateY(0) rotate(-45deg);
		-ms-transform: translateY(0) rotate(-45deg);
		transform: translateY(0) rotate(-45deg);
	}
}


/* tel / contact
------------------------------------------------------------- */
@media (min-width: 769px), print {
	#header .tel {
		position: absolute;
		top: 32px;
		right: 0;
		text-align: right;
	}
	#header .tel span {
		display: block;
		margin-top: 3px;
		font-size: 1.4rem;
		text-align: right;
	}
	#header .contact {
		position: absolute;
		right: 0;
		top: 115px;
		z-index: 1000;
	}
	#header .contact a {
		display: block;
		background-color: #231815;
		border-radius: 100%;
	}
	#header .contact a:hover {
		background-color: #b91818;
	}
}
@media screen and (max-width: 768px) {
	#header .tel,
	#header .contact {
		position: absolute;
		top: 5px;
		z-index: 12;
	}
	#header .tel a,
	#header .contact a {
		display: block;
		width: 40px;
		height: 40px;
		background-position: 50% 4px;
		background-repeat: no-repeat;
		-webkit-background-size: 20px;
		background-size: 20px;
		border: 1px solid #875935;
		text-decoration: none;
		font-size: 1rem;
		line-height: 1.2;
	}
	#header .tel a {
		background-image: url(../images/head/ico_sp_tel.png);
	}
	#header .contact a {
		background-image: url(../images/head/ico_sp_contact.png);
	}
	#header .tel a:after,
	#header .contact a:after {
		position: absolute;
		bottom: 3px;
		left: 50%;
		white-space: nowrap;
		-webkit-transform: translateX(-50%) scale(0.8);
		-ms-transform: translateX(-50%) scale(0.8);
		-o-transform: translateX(-50%) scale(0.8);
		transform: translateX(-50%) scale(0.8);
	}
	#header .tel a:after {
		content: "TEL";
	}
	#header .contact a:after {
		content: "資料請求";
	}
	#header .tel {
		right: 115px;
	}
	#header .contact {
		right: 68px;
	}
	#header .contact a {
	}
	#header .tel img,
	#header .contact img,
	#header .tel span {
		display: none;
	}
}
@media screen and (max-width: 370px) {
	#header h1 a {
		margin-right: 150px;
	}
	#header .nav_btn {
		margin-right: -5px;
	}
	#header .tel {
		right: 105px;
	}
	#header .contact {
		right: 60px;
	}
}


/* nav
------------------------------------------------------------- */
#header nav {
	position: relative;
	overflow: hidden;
}
@media (min-width: 769px), print {
	#header nav ul {
		float:left;
		left: 50%;
		margin-left: -5px;
		position: relative;
	}
	#header nav li {
		position: relative;
		float: left;
		left: -50%;
		position: relative;
	}
	#header nav li + li:before {
		content: "";
		position: absolute;
		width: 2px;
		height: 10px;
		top: 18px;
		left: -1px;
		background: url(../images/head/nav_line.png) no-repeat 0;
	}
	#header nav li a {
		display: block;
		padding: 8px 5px 0;
		color: #222222;
		text-decoration: none;
		font-size: 2rem;
		line-height: 1.2;
		letter-spacing: -0.01em;
	}
	#header nav li a > span {
		display: block;
		padding: 0 5px 8px;
		-webkit-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
	}
	#header nav li a[href]:hover > span,
	#header nav li a.current > span {
		color: #fff;
		background-color: #875935;
	}
	#header nav li a.non {
		opacity: .3;
	}
}
@media screen and (max-width: 768px) {
	#header nav {
		position: absolute;
		left: 0;
		right: 0;
		top: 50px;
		-webkit-transform: translateY(-100%);
		-ms-transform: translateY(-100%);
		-o-transform: translateY(-100%);
		transform: translateY(-100%);
		z-index: 5;
	}
	/* open */
	#header.open nav {
		-webkit-transform: translateY(0%);
		-ms-transform: translateY(0%);
		-o-transform: translateY(0%);
		transform: translateY(0%);
	}
	/* showed */
	#header.showed nav {
		-webkit-transition: -webkit-transform 0.3s;
		-o-transition: -o-transform 0.3s;
		transition: transform 0.3s;
	}

	#header nav > div {
		height: 100%;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
	#header nav > div > div {
		height: 100%;
		overflow-y: auto;
	}
	#header nav li a,
	#footer nav li a {
		position: relative;
		display: block;
		border-top: 1px solid #fff;
		padding: 12px 0;
		background-color: #875935;
		color: #fff;
		text-decoration: none;
		font-size: 1.5rem;
		line-height: 1.2;
		text-align: center;
	}
	#header nav li a[href]:after,
	#footer nav li a[href]:after {
		content: "";
		position: absolute;
		right: 18px;
		top: 50%;
		margin-top: -3px;
		width: 4px;
		height: 6px;
		background: url(../images/parts/link_arrow_w.png) no-repeat;
		-webkit-background-size: 100%;
		background-size: 100%;
	}
	#header nav li a.non,
	#footer nav li a.non {
		color: rgba(255,255,255,.3);
	}
}


/* footer
============================================================================================================ */
#footer {
	position: relative;
	padding: 50px 0 45px;
	background-color: #4f311a;
	text-align: center;
	font-size: 1.4rem;
	color: #fff;
	z-index: 10;
}
#footer .logo {
	margin-bottom: 5px;
}
#footer small {
	font-size: 1.1rem;
}
@media (min-width: 769px), print {
	#footer nav {
		margin-bottom: 40px;
	}
	#footer nav ul {
		display: table;
		margin: auto;
	}
	#footer nav ul li {
		display: table-cell;
		vertical-align: middle;
	}
	#footer nav ul a {
		position: relative;
		display: block;
		padding: 0 15px;
		color: #fff;
	}
	#footer nav ul li + li a:before {
		content: "";
		position: absolute;
		left: 0;
		top: 6px;
		bottom: 6px;
		border-left: 1px solid #fff;
	}
	#footer nav li a.non {
		color: rgba(255,255,255,.3);
	}
}
@media screen and (max-width: 768px) {
	#footer {
		padding: 0 0 20px;
		font-size: 1.5rem;
	}
	#footer nav {
		margin-bottom: 20px;
	}
	#footer nav li a {
		background-color: #875935;
	}
	#footer .logo img {
		width: 120px;
	}
	#footer small {
		font-size: 0.9rem;
	}
}



/* container
============================================================================================================ */
#container {
	padding-top: 200px;
	font-size: 1.6rem;
	line-height: 1.8;
}
@media screen and (max-width: 768px) {
	#container {
		padding-top: 80px;
		font-size: 1.2rem;
	}
}



/* ===================================================================================================================

	パーツ

=================================================================================================================== */


/* topicpath
============================================================================================================ */
.topicpath {
	margin-bottom: 70px;
	font-size: 1.4rem;
	color: #cccccc;
}
.topicpath a {
	color: #222222;
}
.topicpath a[href] {
	color: #b91818;
}
.topicpath a.home {
	padding-left: 20px;
	background: url(../images/parts/topicpath_home.png) no-repeat 0 40%;
}
@media screen and (max-width: 768px) {
	.topicpath {
		display: none;
	}
}


/* section
============================================================================================================ */
.section {
	margin-top: 140px;
}
.section_l {
	margin-top: 100px;
}
.section_m {
	margin-top: 60px;
}
.section_s {
	margin-top: 40px;
}
.section_sh {
	margin-top: 30px;
}
.section_ss {
	margin-top: 20px;
}
@media screen and (max-width: 768px) {
	.section {
		margin-top: 70px;
	}
	.section_l {
		margin-top: 50px;
	}
	.section_m {
		margin-top: 40px;
	}
	.section_s {
		margin-top: 30px;
	}
	.section_sh {
		margin-top: 20px;
	}
	.section_ss {
		margin-top: 15px;
	}
}

.para_section > * + * {
	margin-top: 1.3em;
}



/* タイトル
============================================================================================================ */
/* page_title */
.page_title {
	margin-bottom: 100px;
	text-align: center;
	font-size: 4rem;
	line-height: 1.3;
	font-weight: normal;
	letter-spacing: -4px;
}
.page_title:after {
	content: "";
	display: block;
	width: 40px;
	margin: 24px auto 0;
	border-top: 5px solid #875935;
}

.page_title.mbs {
	margin-bottom: 40px;
}
.page_title.ls0 {
	letter-spacing: 0;
}

@media screen and (max-width: 768px) {
	.page_title {
		margin-bottom: 50px;
		font-size: 2.5rem;
		letter-spacing: -2px;
	}
	.page_title:after {
		width: 20px;
		margin-top: 12px;
		border-top-width: 3px;
	}
	.page_title.sp_s {
		font-size: 2rem;
	}
	.page_title.sp_s:after {
		margin-top: 15px;
	}
	.page_title.mbs {
		margin-bottom: 20px;
	}
}


/* m_title */
.m_title {
	margin-bottom: 10px;
	font-size: 2rem;
	line-height: 1.6;
}
@media screen and (max-width: 768px) {
	.m_title {
		font-size: 1.6rem;
	}
}


/* ボタン
============================================================================================================ */
a.box_btn,
a .box_btn,
button.box_btn {
	position: relative;
	max-width: 100%;
	width: 210px;
	height: 60px;
	padding: 0 30px;
	background-color: #fff;
	border: 1px solid #875935;
	color: #875935;
	text-decoration: none;
	font-size: 1.6rem;
	line-height: 1.4;
	text-align: center;
}
a.box_btn,
a .box_btn {
	display: table;
}
a.box_btn > *,
a .box_btn > * {
	display: table-cell;
	padding: 10px 0;
	vertical-align: middle;
}
.box_btn .arrow {
	position: absolute;
	top: 50%;
	left: 20px;
	width: 3px;
	height: 3px;
	background-color: #875935;
	-webkit-transition: background .3s;
	-o-transition: background .3s;
	transition: background .3s;
	margin-top: -2px;
}
.box_btn .arrow:before,
.box_btn .arrow:after {
	content: "";
	position: absolute;
	left: -3px;
	width: 3px;
	height: 3px;
	background-color: #875935;
	-webkit-transition: background .3s;
	-o-transition: background .3s;
	transition: background .3s;
}
.box_btn .arrow:before {
	top: -3px;
}
.box_btn .arrow:after {
	top: 100%;
}
.box_btn.center {
	margin-left: auto;
	margin-right: auto;
}
.box_btn.black {
	border-color: #000;
	background-color: rgba(195, 195, 195, .2);
	color: #000;
}
.box_btn.black .arrow,
.box_btn.black .arrow:before,
.box_btn.black .arrow:after {
	background-color: #000;
}
.box_btn.brown {
	border-color: #885934;
	background-color: rgba(255, 255, 255, 0.2);
	color: #885934;
}
.box_btn.brown .arrow,
.box_btn.brown .arrow:before,
.box_btn.brown .arrow:after {
	background-color: #885934;
}


@media (min-width: 769px), print {
	a.box_btn:hover,
	a .box_btn:hover,
	button.box_btn:hover {
		background-color: #875935;
		color: #fff;
	}
	.box_btn:hover .arrow,
	.box_btn:hover .arrow:before,
	.box_btn:hover .arrow:after {
		background-color: #fff !important;
	}
	.box_btn.black:hover {
		background-color: #000;
	}
}

@media screen and (max-width: 768px) {
	a.box_btn,
	a .box_btn,
	button.box_btn {
		max-width: 100%;
		width: 130px;
		height: 40px;
		font-size: 1.1rem;
	}
	a.box_btn > span,
	a .box_btn > span {
		padding: 10px 0;
	}
	.box_btn .arrow {
		width: 2px;
		height: 2px;
		margin-top: -1px;
	}
	.box_btn .arrow:before,
	.box_btn .arrow:after {
		left: -2px;
		width: 2px;
		height: 2px;
	}
	.box_btn .arrow:before {
		top: -2px;
	}
}





/* ul / ol
============================================================================================================ */
.point_li li {
	position: relative;
	padding-left: 1.2em;
}
.point_li li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.dot_li li {
	position: relative;
	padding-left: 1em;.
}
.dot_li li:before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
.dot_li.m_li li + li {
	margin-top: .5em;
}




/* dl
============================================================================================================ */
.dl_dt_b dt {
	font-weight: bold;
}
.dl_dt_l dt {
	margin-bottom: 5px;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.6;
}
.dl_dt_l dt ~ dt {
	margin-top: 20px;
}
.dt_fl dt {
	float: left;
}



/* table
============================================================================================================ */
.basic_table {
	width: 100%;
	border-top: 1px solid #5c5c5c;
	border-left: 1px solid #5c5c5c;
	border-collapse: separate;
	line-height: 1.5;
}
.basic_table th,
.basic_table td {
	padding: 10px 15px;
	border-right: 1px solid #5c5c5c;
	border-bottom: 1px solid #5c5c5c;
}
.basic_table thead th {
	text-align: center;
}
.basic_table .bdbd th,
.basic_table .bdbd td,
.basic_table th.bdbd,
.basic_table td.bdbd {
	border-bottom-style: dashed;
}
.basic_table .bdrd {
	border-right-style: dashed;
}
.basic_table.plr0 th,
.basic_table.plr0 td {
	padding-right: 0;
	padding-left: 0;
}
.basic_table.fixed {
	table-layout: fixed;
}


.basic_table .w20 {
	width: 20%;
}
.basic_table .w25 {
	width: 25%;
}
.basic_table .w50 {
	width: 50%;
}
.basic_table .w60 {
	width: 60%;
}
.basic_table.center th,
.basic_table.center td {
	text-align: center;
}
.basic_table.th_center th {
	text-align: center;
}
.basic_table.thead_center thead th,
.basic_table.thead_center thead td {
	text-align: center;
	padding-left: 5px;
	padding-right: 5px;
}
.basic_table.td_center td {
	text-align: center;
}


@media screen and (max-width: 768px) {
	.basic_table {
		font-size: 1.2rem;
	}
	.basic_table th,
	.basic_table td {
		padding: 8px 10px;
	}
	.basic_table thead th {
		padding-top: 5px;
		padding-bottom: 5px;
		font-size: 1.3rem;
	}
}




/* ph_column
============================================================================================================ */
.ph_column > * {
	float: left;
	width: 310px;
}
.ph_column > * + * {
	margin-left: 35px;
}
@media (min-width: 769px), print {
	.ph_column2_center {
		width: 655px;
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 768px) {
	.ph_column {
		margin-left: -7px;
		margin-right: -7px;
	}
	.ph_column > * {
		width: 50%;
		padding: 0 7px;
	}
	.ph_column > * + * {
		margin-left: 0;
	}
	.ph_column > * + * + * {
		padding-top: 20px;
	}
}



/* caption_ph
============================================================================================================ */
.caption_ph {
}
.caption_ph .ph {
	margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
}





/* bmap
============================================================================================================ */
.bmap {
	height: 570px;
	margin-top: 40px;
}
@media screen and (max-width: 768px) {
	.bmap {
		height: 250px;
		margin-top: 20px;
	}
}



/* pager
============================================================================================================ */
.wp-pagenavi {
	margin-top: 75px;
	text-align: center;
}
.wp-pagenavi > * {
	line-height: 1;
	margin: 0 2px 5px;
}
.wp-pagenavi a,
.wp-pagenavi .current {
	display: inline-block;
	width: 40px;
	line-height: 40px;
	text-decoration: none;
	vertical-align: middle;
}
.wp-pagenavi a:hover,
.wp-pagenavi .current {
	color: #000;
}
.wp-pagenavi a:hover {
	text-decoration: underline;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	overflow: hidden;
	width: 50px;
	height: 0;
	padding-top: 58px;
	border: 1px solid #7ca817;
	background-repeat: no-repeat;
	background-position: 50%;
	-webkit-background-size: 6px;
	background-size: 6px;
}
.wp-pagenavi a.previouspostslink {
	margin-right: 20px;
	background-image: url(../images/parts/link_arrow_r.png);
}
.wp-pagenavi a.nextpostslink {
	margin-left: 20px;
	background-image: url(../images/parts/link_arrow.png);
}
@media (min-width: 769px), print {
	.wp-pagenavi a.previouspostslink:hover,
	.wp-pagenavi a.nextpostslink:hover {
		background-color: #e5eed1;
	}
}

@media screen and (max-width: 768px) {
	.wp-pagenavi {
		margin-top: 30px;
	}
	.wp-pagenavi > * {
	}
	.wp-pagenavi a,
	.wp-pagenavi .current {
		width: 30px;
		line-height: 30px;
	}
	.wp-pagenavi a.previouspostslink,
	.wp-pagenavi a.nextpostslink {
		width: 30px;
		padding-top: 34px;
		-webkit-background-size: 4px;
		background-size: 4px;
	}
	.wp-pagenavi a.previouspostslink {
		margin-right: 10px;
	}
	.wp-pagenavi a.nextpostslink {
		margin-left: 10px;
	}
}

