/*common_css*/
/* CSS Document */

/* -------------------------------------
Browser：IE11 over
-------------------------------------
01: CSSをReset
02: /css/default.cssを変更
03: Default
-------------------------------------*/

:root {
	--calc1000: calc((100% - 1000px) / 2);
	--gothic: "メイリオ", "Meiryo", "Arial", "Helvetica", "sans-serif", 'Tahoma', 'Osaka', 'MS UI Gothic', 'MS PGothic', "ＭＳ ゴシック", "Osaka－等幅";
	--mincho: 'Noto Serif JP', serif;
	--purple: #592659;
	--gray: #323232;
	--gold: #ae9a47;
}

/** ================================================================================
		01.Reset
================================================================================ **/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
dt,
th {
	font-weight: normal;
	line-height: inherit;
}

ul,
ol {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

/* change border colour to suit your needs */
hr {
	display: block;
	margin: 1em 0;
	padding: 0;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
}

img {
	border: none;
	line-height: 1.0;
}

b,
em,
i,
strong,
address {
	font-style: normal;
}

/** ================================================================================
		02./css/default.cssを変更
================================================================================ **/

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: none;
}

/** ================================================================================
		03.Default
================================================================================ **/
html {
	overflow: auto;
}

body {
	margin: 0 auto;
	min-width: 980px;
	background: #ffffff;
	color: #000;
	font-size: 15px;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.5;

	-webkit-text-size-adjust: 100%;
	/*-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;*/
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

.mincho {
	font-family: 'Noto Serif JP', serif;
}

.basic {
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

p a {
	text-decoration: underline;
	color: #8e7871;
}

p a:hover {
	text-decoration: none;
}

a {
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

a:hover {
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 0.9;
}

a:hover img {
	opacity: 0.8;
	-ms-filter: alpha(opacity=80);
	filter: alpha(opacity=80);
}

/**PC電話ボタン無効**/
a[href^="tel"],
a[href=""] {
	pointer-events: none;
}

@media screen and (max-width: 480px) {
	a[href^="tel"] {
		pointer-events: auto;
	}
}

hr {
	display: block;
	margin: 1em 0;
	padding: 0;
	height: 1px;
	border: 0;
	border-top: 2px dotted #aaa;
}

.note {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}

figure img {
	max-width: 100%;
}

@media screen and (max-width: 500px) {
	body {
		min-width: 100%;
	}

	/**post制御**/
	p {
		word-break: break-all;
	}

	table {
		width: 100%;
		word-break: break-all;
	}

	img {
		max-width: 100%;
		height: auto;
	}

	/**post制御**/
}


/* -------------------------------------
ベーススタイル設定

1.clearfix,clear
2.font
3.float
4.text-align
5.margin
6.padding
-------------------------------------*/
/*0.clock */
.block {
	display: block;
}

.in-block {
	display: inline-block;
}

.flex {
	display: flex;
}

/*1. clearfix,clear */

/* For modern browsers */
.cf:before,
.cf:after {
	display: block;
	overflow: hidden;
	content: "";
}

.cf:after {
	clear: both;
}

.clear {
	clear: both;
}

body .lh2 {
	line-height: 2.0;
}

/*2. font 必要なら追加　優先順位：高*/
body .fw_b {
	font-weight: bold;
}

body .fz12 {
	font-size: 12px;
}

body .fz13 {
	font-size: 13px;
}

body .fz14 {
	font-size: 14px;
}

body .fz16 {
	font-size: 16px;
}

body .fz18 {
	font-size: 18px;
	/*16*/
}

body .fz20 {
	font-size: 20px;
	/*16*/
}

body .fz22 {
	font-size: 22px;
	/*16*/
}

body .fz24 {
	font-size: 24px;
	/*18*/
}

body .fz26 {
	font-size: 26px;
	/*20*/
}

body .fz28 {
	font-size: 28px;
	/*20*/
}

body .fz30 {
	font-size: 30px;
	/*28*/
}

body .fz32 {
	font-size: 32px;
	/*28*/
}

body .fz35 {
	font-size: 32px;
	/*28*/
}

body .fz40 {
	font-size: 40px;
	/*36*/
}

body .fz44 {
	font-size: 44px;
	/*36*/
}

body .fz46 {
	font-size: 46px;
	/*40*/
}

body .fz54 {
	font-size: 54px;
	/*42*/
}

@media screen and (max-width: 500px) {
	body .fz18 {
		font-size: 16px;
		/*16*/
	}

	body .fz20 {
		font-size: 16px;
		/*16*/
	}

	body .fz22 {
		font-size: 16px;
		/*16*/
	}

	body .fz24 {
		font-size: 18px;
		/*18*/
	}

	body .fz26 {
		font-size: 20px;
		/*20*/
	}

	body .fz28 {
		font-size: 20px;
		/*20*/
	}

	body .fz30 {
		font-size: 28px;
		/*28*/
	}

	body .fz32 {
		font-size: 28px;
		/*28*/
	}

	body .fz35 {
		font-size: 28px;
		/*28*/
	}

	body .fz40 {
		font-size: 28px;
		/*36*/
	}

	body .fz44 {
		font-size: 36px;
		/*36*/
	}

	body .fz46 {
		font-size: 40px;
		/*40*/
	}

	body .fz54 {
		font-size: 42px;
		/*42*/
	}
}

/*3. float */
.f_L {
	display: inline;
	float: left;
}

.f_R {
	display: inline;
	float: right;
}

/*4. text-align 優先順位：高 */
body .t_R {
	text-align: right;
}

body .m_t_R {
	margin-left: auto;
	margin-right: 0;
}

body .t_L {
	text-align: left;
}

body .m_t_L {
	margin-right: auto;
	margin-left: 0;
}

body .t_C,
body .t_CL,
body .t_CR {
	text-align: center;
}

body .ai_c {
	align-items: center;
}

body .ai_fe {
	align-items: flex-end;
}

body .ai_fs {
	align-items: flex-start;
}

body .ai_s {
	align-items: stretch;
}

body .jc_c {
	justify-content: center;
}

body .jc_fs {
	justify-content: flex-start;
}

body .jc_sb {
	justify-content: space-between;
}

body .jc_sa {
	justify-content: space-around;
}

@media screen and (max-width: 500px) {
	body .t_CL {
		text-align: left;
	}

	body .t_CR {
		text-align: right;
	}
}

/*5. margin 必要なら追加　優先順位：高 */
body .m0 {
	margin: 0;
}

body .mb0 {
	margin-bottom: 0;
}

body .mb5 {
	margin-bottom: 5px;
}

body .mb10 {
	margin-bottom: 10px;
}

body .mb15 {
	margin-bottom: 15px;
}

body .mb20 {
	margin-bottom: 20px;
}

body .mb30 {
	margin-bottom: 30px;
}

body .mb40 {
	margin-bottom: 40px;
}

body .mb50 {
	margin-bottom: 50px;
}

body .mb80 {
	margin-bottom: 80px;
}

body .mb100 {
	margin-bottom: 100px;
}

body .mb150 {
	margin-bottom: 150px;
}

body .mt0 {
	margin-top: 0px;
}

body .mt5 {
	margin-top: 5px;
}

body .mt10 {
	margin-top: 10px;
}

body .mt15 {
	margin-top: 15px;
}

body .mt20 {
	margin-top: 20px;
}

body .mt30 {
	margin-top: 30px;
}

body .mt40 {
	margin-top: 40px;
}

body .mt50 {
	margin-top: 50px;
}

body .mt80 {
	margin-top: 80px;
}

body .mt100 {
	margin-top: 100px;
}

body .mt150 {
	margin-top: 150px;
}

body .ml0 {
	margin-left: 0;
}

body .ml5 {
	margin-left: 5px;
}

body .ml10 {
	margin-left: 10px;
}

body .ml15 {
	margin-left: 15px;
}

body .ml20 {
	margin-left: 20px;
}

body .ml30 {
	margin-left: 30px;
}

body .mr0 {
	margin-right: 0;
}

body .mr5 {
	margin-right: 5px;
}

body .mr10 {
	margin-right: 10px;
}

body .mr15 {
	margin-right: 15px;
}

body .mr20 {
	margin-right: 20px;
}

body .mr30 {
	margin-right: 30px;
}


@media screen and (max-width: 500px) {

	/*5. margin 30以上は1/2 */
	body .mb40 {
		margin-bottom: 20px;
	}

	body .mb50 {
		margin-bottom: 25px;
	}

	body .mb80 {
		margin-bottom: 40px;
	}

	body .mb100 {
		margin-bottom: 50px;
	}

	body .mb150 {
		margin-bottom: 75px;
	}

	body .mt40 {
		margin-top: 20px;
	}

	body .mt50 {
		margin-top: 25px;
	}

	body .mt80 {
		margin-top: 40px;
	}

	body .mt100 {
		margin-top: 50px;
	}

	body .mt150 {
		margin-top: 75px;
	}
}

/*6. padding 優先順位:高*/
body .p0 {
	padding: 0;
}

body .plr5 {
	padding: 0 5px;
}

body .plr10 {
	padding: 0 10px;
}

body .plr15 {
	padding: 0 15px;
}

body .plr20 {
	padding: 0 20px;
}

body .ptb10 {
	padding: 10px 0;
}

body .ptb20 {
	padding: 20px 0;
}

body .pall10 {
	padding: 10px;
}

body .pall20 {
	padding: 20px;
}

body .p0 {
	padding: 0;
}

body .pb0 {
	padding-bottom: 0;
}

body .pb5 {
	padding-bottom: 5px;
}

body .pb10 {
	padding-bottom: 10px;
}

body .pb15 {
	padding-bottom: 15px;
}

body .pb20 {
	padding-bottom: 20px;
}

body .pb30 {
	padding-bottom: 30px;
}

body .pb40 {
	padding-bottom: 40px;
}

body .pb50 {
	padding-bottom: 50px;
}

body .pb70 {
	padding-bottom: 70px;
}

body .pb80 {
	padding-bottom: 80px;
}

body .pb100 {
	padding-bottom: 100px;
}

body .pb150 {
	padding-bottom: 150px;
}

body .pt0 {
	padding-top: 0px;
}

body .pt5 {
	padding-top: 5px;
}

body .pt10 {
	padding-top: 10px;
}

body .pt15 {
	padding-top: 15px;
}

body .pt20 {
	padding-top: 20px;
}

body .pt30 {
	padding-top: 30px;
}

body .pt40 {
	padding-top: 40px;
}

body .pt50 {
	padding-top: 50px;
}

body .pt70 {
	padding-top: 70px;
}

body .pt80 {
	padding-top: 80px;
}

body .pt100 {
	padding-top: 100px;
}

body .pt150 {
	padding-top: 150px;
}

body .pl0 {
	padding-left: 0;
}

body .pl5 {
	padding-left: 5px;
}

body .pl10 {
	padding-left: 10px;
}

body .pl15 {
	padding-left: 15px;
}

body .pl20 {
	padding-left: 20px;
}

body .pl30 {
	padding-left: 30px;
}

body .pr0 {
	padding-right: 0;
}

body .pr5 {
	padding-right: 5px;
}

body .pr10 {
	padding-right: 10px;
}

body .pr15 {
	padding-right: 15px;
}

body .pr20 {
	padding-right: 20px;
}

body .pr30 {
	padding-right: 30px;
}

@media screen and (max-width: 500px) {
	body .pb20 {
		padding-bottom: 15px;
	}

	body .pb30 {
		padding-bottom: 20px;
	}

	body .pb40 {
		padding-bottom: 20px;
	}

	body .pb50 {
		padding-bottom: 25px;
	}

	body .pb70 {
		padding-bottom: 35px;
	}

	body .pb80 {
		padding-bottom: 40px;
	}

	body .pb100 {
		padding-bottom: 50px;
	}

	body .pb150 {
		padding-bottom: 75px;
	}

	body .pt20 {
		padding-top: 15px;
	}

	body .pt30 {
		padding-top: 20px;
	}

	body .pt40 {
		padding-top: 20px;
	}

	body .pt50 {
		padding-top: 25px;
	}

	body .pt70 {
		padding-top: 35px;
	}

	body .pt80 {
		padding-top: 40px;
	}

	body .pt100 {
		padding-top: 50px;
	}

	body .pt150 {
		padding-top: 75px;
	}
}


/* -------------------------------------
幅
-------------------------------------*/
body .w100p,
body .w980,
body .w900,
body .w800,
body .w700,
body .w650,
body .w600 {
	margin-right: auto;
	margin-left: auto;
}

body .w100p {
	width: 100%;
}

body .w980 {
	width: 980px;
}

body .w900 {
	width: 900px;
}

body .w800 {
	width: 800px;
}

body .w700 {
	width: 700px;
}

body .w650 {
	width: 650px;
}

body .w600 {
	width: 600px;
}

@media screen and (max-width: 500px) {

	body .w100p,
	body .w980,
	body .w900,
	body .w800,
	body .w700,
	body .w650,
	body .w600 {
		margin-right: auto;
		margin-left: auto;
	}

	body .w100p {
		width: 100%;
	}

	body .w980 {
		width: 100%;
	}

	body .w900 {
		width: 100%;
	}

	body .w800 {
		width: 100%;
	}

	body .w700 {
		width: 100%;
	}

	body .w650 {
		width: 100%;
	}

	body .w600 {
		width: 100%;
	}

	body .w100p>*,
	body .w980>*,
	body .w900>*,
	body .w800>*,
	body .w700>*,
	body .w650>*,
	body .w600>* {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}

	body .w100p>.max,
	body .w100p.max,
	body .w980>.max,
	body .w980.max,
	body .w900>.max,
	body .w900.max,
	body .w800>.max,
	body .w800.max,
	body .w700>.max,
	body .w700.max,
	body .w650>.max,
	body .w650.max,
	body .w600>.max,
	body .w600.max {
		width: 100%;
	}
}

body .calc980 {
	padding-right: calc((100% - 980px) / 2);
	padding-left: calc((100% - 980px) / 2);
}

@media screen and (max-width: 500px) {
	body .calc980 {
		padding-right: 0;
		padding-left: 0;
	}

	body .calc980>.max {
		width: 100%;
	}

	body .calc980>* {
		margin-right: auto;
		margin-left: auto;
		width: 90%;
	}
}

/* -------------------------------------
文字装飾
-------------------------------------*/
/**黄色マーカー**/
b.liner {
	background: -webkit-linear-gradient(transparent 50%, rgba(212, 168, 114, 0.4) 0%);
	background: linear-gradient(transparent 50%, rgba(212, 168, 114, 0.4) 0%);
	font-size: 1.2em;
}

b.liner:before,
b.liner:after {
	content: "";
	display: inline-block;
	width: 5px;
}

/* -------------------------------------
改行
-------------------------------------*/
.pc {}

.sp {
	display: none;
}

@media screen and (max-width: 500px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}


/* -------------------------------------
横並びボックスの数
-------------------------------------*/
/**２つ並び**/
.box2C {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.box2C>* {
	width: 48%;
}

.box2C:after {
	display: block;
	width: 48%;
	content: "";
}

/**3つ並び**/
.box3C {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.box3C>* {
	width: 32%;
}

.box3C:after {
	display: block;
	width: 32%;
	content: "";
}

/**4つ並び**/
.box4C {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.box4C>* {
	width: 24.5%;
}

.box4C:after,
.box4C:before {
	display: block;
	width: 24.5%;
	content: "";
}

.box4C:before {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
}

@media screen and (max-width: 500px) {

	/* -------------------------------------
横並びボックスの数
-------------------------------------*/
	/**２つ並び**/
	.box2C {
		width: 100%;
	}

	.box2C.box1C_sp {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
	}

	.box2C.box2C_sp {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
	}

	.box2C.box1C_sp>* {
		width: 100%;
	}

	.box2C.box1C_sp:after {
		display: none;
	}

	.box2C.box2C_sp>*,
	.box2C.box2C_sp::after {
		width: 48%;
	}

	.box2C.box2C_sp.sp1c>*,
	.box2C.box2C_sp.sp1c::after {
		/*		min-width: 300px;*/
	}

	/**3つ並び**/
	.box3C {
		width: 100%;
	}

	.box3C.box1C_sp {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
	}

	.box3C.box2C_sp {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
	}

	.box3C.box3C_sp {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
	}

	.box3C.box1C_sp>* {
		width: 100%;
	}

	.box3C.box1C_sp:after {
		display: none;
	}

	.box3C.box2C_sp>*,
	.box3C.box2C_sp::after {
		width: 48%;
	}

	.box3C.box3C_sp>*,
	.box3C.box3C_sp::after {
		width: 31%;
	}

	/**4つ並び**/
	.box4C {
		width: 100%;
	}

	.box4C.box1C_sp {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
	}

	.box4C.box2C_sp {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
	}

	.box4C.box1C_sp>* {
		width: 100%;
	}

	.box4C.box2C_sp>* {
		width: 48%;
	}

	.box4C:after,
	.box4C:before {
		display: none;
	}
}

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

	/* -------------------------------------
横並びボックスの数
-------------------------------------*/
	.sp1c {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column !important;
	}

	.sp1c>*,
	.sp1c::after {
		width: 100% !important;
		margin-left: auto;
		margin-right: auto;
	}
}

/* -------------------------------------
見出し+テキスト+画像
.h-text-img>
div>h+p
figure>img

.h-text-img　：　見出し+テキスト　画像右
.h-text-img.left　：　画像左　見出し+テキスト
.h-text-img.center　：　画像+見出し+テキスト　縦並び
-------------------------------------*/
/* -------------------------------------
配置･･･画像の位置が基準
-------------------------------------*/
.h-text-img {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

/*配置*/
.h-text-img.right {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row;
	flex-flow: row;
}

.h-text-img.left {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-flow: row-reverse;
	flex-flow: row-reverse;
}

.h-text-img.center_t {
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-flow: column-reverse;
	flex-flow: column-reverse;
}

.h-text-img.center_b {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
}

/*画像*/
.h-text-img figure {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
}

.h-text-img.right figure {
	margin-left: 30px;
}

.h-text-img.left figure {
	margin-right: 30px;
}

.h-text-img.center_t figure {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}

.h-text-img.center_b figure {
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}

.h-text-img figure.w50p {
	width: 50%;
}


/*テキスト領域*/
.h-text-img .text {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

.pdf {
	width: 100%;
	margin: 30px auto;
	text-align: center;
}


@media screen and (max-width: 500px) {

	/*配置*/
	.h-text-img.right.top,
	.h-text-img.left.top,
	.h-text-img.center_b.top {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-flow: column-reverse;
		flex-flow: column-reverse;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

	/*画像*/
	.h-text-img.right figure {
		margin-left: 20px;
	}

	.h-text-img.left figure {
		margin-right: 20px;
	}

	.h-text-img.center_t figure {
		margin-bottom: 20px;
	}

	.h-text-img.center_b figure {
		margin-top: 20px;
	}

	.h-text-img.right.top figure,
	.h-text-img.left.top figure {
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;
	}

	/*テキスト領域*/
	.pdf {
		margin: 20px auto;
	}

	.h-text-img.right,
	.h-text-img.left {
		-webkit-box-orient: vertical;
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

	/*画像*/
	.h-text-img.right figure,
	.h-text-img.left figure {
		margin: 16px auto 0;
	}

	.h-text-img figure.w50p {
		width: 100%;
	}
}

/* -------------------------------------
写真+テキスト
-------------------------------------*/
.img-text {}

.img-text figure {
	margin: 0 auto 20px;
	width: 100%;
}

.img-text .richtext {
  margin-top: 20px auto 0;
	line-height: 1.8;
  font-family: var(--gothic);
}

.img-text.reverse{
  display: flex;
  flex-flow: column-reverse;
}

@media screen and (max-width: 500px) {
	.img-text figure {
		width: 100%;
	}
}

/* -------------------------------------
テーブル
-------------------------------------*/
.table table {
	margin: 30px auto;
	width: 100%;
	border-collapse: separate;
	border-spacing: 1px;
	background: #aaa;
}

.table th,
.table td {
	padding: 15px;
	vertical-align: top;
	text-align: left;
	background: #fff;
}

.table th {
	width: 25%;
	background: #f5f5f5;
	vertical-align: middle;
}

@media screen and (max-width: 500px) {

	.table table,
	.table tbody,
	.table tr,
	.table th,
	.table td {
		display: block;
		border: none;
	}

	.table table {
		border-bottom: 1px solid #aaa;
	}

	.table th,
	.table td {
		padding: 10px;
		border: 1px solid #aaa;
		border-bottom: none;
	}

	.table th {
		width: 100%;
	}
}

/* -------------------------------------
tableA
-------------------------------------*/
.tableA table,
table.tableA {
	width: 100%;
	border-top: 1px dotted red;
}

.tableA tr {
	border-bottom: 1px dotted red;
}

.tableA tr:nth-of-type(odd) {
	background: yellow;
}

.tableA tr:nth-of-type(even) {
	background: pink;
}

.tableA th,
.tableA td {
	padding: 20px 16px;
	vertical-align: top;
	text-align: left;
}

.tableA th {
	width: 25%;
	font-weight: bold;
}

.tableA td a:hover {}

@media screen and (max-width: 500px) {

	.tableA th,
	.tableA td {
		padding: 8px 10px;
		font-size: 14px;
	}

	.tableA th {
		min-width: 6em;
		font-size: 0.9rem;
		font-size: 13px;
	}
}


/* -------------------------------------
tableB
-------------------------------------*/
.tableB table,
table.tableB {
	width: 100%;
	border-top: 1px dotted #aaa;
	background: #fff;
	/*	border: 1px solid red;*/
}

.tableB tr {
	border-bottom: 1px dotted #aaa;
}

.tableB th,
.tableB td {
	padding: 16px 20px;
	vertical-align: middle;
	text-align: left;
}

.tableB th {
	width: 25%;
	background: #ccc;
}

.tableB td a:hover {}

@media screen and (max-width: 500px) {

	.tableB th,
	.tableB td {
		padding: 8px 10px;
		font-size: 14px;
	}

	.tableB th {
		width: 25%;
		min-width: 6em;
		font-size: 0.9rem;
		font-size: 13px;
	}
}


/* -------------------------------------
tableC
-------------------------------------*/
.tableC table,
table.tableC {
	width: 100%;
	border-top: 1px dotted #aaa;
	background: #fff
}

.tableC tr {
	border-bottom: 1px dotted #aaa;
}

.tableC th,
.tableC td {
	padding: 16px 20px;
	vertical-align: middle;
	text-align: left;
}

.tableC th {
	width: 25%;
	background: #ccc;
}

.tableC td a:hover {}

@media screen and (max-width: 500px) {

	.tableC th,
	.tableC td {
		display: block;
		width: 100%;
		font-size: 14px;
	}

	.tableC th {
		padding: 6px 10px;
	}

	.tableC td {
		padding: 6px 10px 20px;
	}
}


/* -------------------------------------
tableD
-------------------------------------*/
.tableD table,
table.tableD {
	width: 100%;
}

.tableD th,
.tableD td {
	display: block;
	width: 100%;
}

.tableD th {
	margin-bottom: 10px;
	padding: 14px;
	font-size: 1.1rem;
	font-weight: 700;
	text-align: left;
	background: #f4f4f4;
}

.tableD td {
	margin-bottom: 40px;
}

@media screen and (max-width: 500px) {
	.tableD th {
		margin-bottom: 4px;
		font-size: 0.9rem;
	}

	.tableD td {
		margin-bottom: 20px;
	}
}


/* -------------------------------------
吹き出し
-------------------------------------*/
/**塗りつぶし（下）**/
.balloon1_B {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	text-align: center;
	font-size: 16px;
}

.balloon1_B:before {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 10px 5px;
	border-style: solid;
	border-color: #e0edff transparent transparent transparent;
	content: "";
}

/**塗りつぶし（上）**/
.balloon1_T {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	text-align: center;
	font-size: 16px;
}

.balloon1_T:before {
	position: absolute;
	top: -20px;
	left: 50%;
	margin-left: -5px;
	border-width: 10px 5px;
	border-style: solid;
	border-color: transparent transparent #e0edff transparent;
	content: "";
}

/**塗りつぶし（左）**/
.balloon1_L {
	position: relative;
	display: inline-block;
	margin: 1.5em 0 1.5em 15px;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	text-align: center;
	font-size: 16px;
}

.balloon1_L:before {
	position: absolute;
	top: 50%;
	left: -20px;
	margin-top: -5px;
	border-width: 5px 10px;
	border-style: solid;
	border-color: transparent #e0edff transparent transparent;
	content: "";
}

/**塗りつぶし（右）**/
.balloon1_R {
	position: relative;
	display: inline-block;
	margin: 1.5em 15px 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	font-size: 16px;
}

.balloon1_R:before {
	position: absolute;
	top: 50%;
	left: 100%;
	margin-top: -5px;
	border-width: 5px 10px;
	border-style: solid;
	border-color: transparent transparent transparent #e0edff;
	content: "";
}

/**線（下）**/
.balloon2_B {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}

.balloon2_B:before {
	position: absolute;
	bottom: -18px;
	left: 50%;
	z-index: 2;
	margin-left: -6px;
	border-width: 9px 6px;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
	content: "";
}

.balloon2_B:after {
	position: absolute;
	bottom: -20px;
	left: 50%;
	z-index: 1;
	margin-left: -7px;
	border-width: 10px 7px;
	border-style: solid;
	border-color: #555 transparent transparent transparent;
	content: "";
}

/**線（上）**/
.balloon2_T {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}

.balloon2_T:before {
	position: absolute;
	top: -18px;
	left: 50%;
	z-index: 2;
	margin-left: -6px;
	border-width: 9px 6px;
	border-style: solid;
	border-color: transparent transparent #fff transparent;
	content: "";
}

.balloon2_T:after {
	position: absolute;
	top: -20px;
	left: 50%;
	z-index: 1;
	margin-left: -7px;
	border-width: 10px 7px;
	border-style: solid;
	border-color: transparent transparent #555 transparent;
	content: "";
}

/**線（左）**/
.balloon2_L {
	position: relative;
	display: inline-block;
	margin: 1.5em 0 1.5em 15px;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}

.balloon2_L:before {
	position: absolute;
	top: 50%;
	left: -18px;
	z-index: 2;
	margin-top: -6px;
	border-width: 6px 9px;
	border-style: solid;
	border-color: transparent #fff transparent transparent;
	content: "";
}

.balloon2_L:after {
	position: absolute;
	top: 50%;
	left: -20px;
	z-index: 1;
	margin-top: -7px;
	border-width: 7px 10px;
	border-style: solid;
	border-color: transparent #555 transparent transparent;
	content: "";
}

/**線（右）**/
.balloon2_R {
	position: relative;
	display: inline-block;
	margin: 1.5em 15px 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}

.balloon2_R:before {
	position: absolute;
	top: 50%;
	right: -18px;
	z-index: 2;
	margin-top: -6px;
	border-width: 6px 9px;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	content: "";
}

.balloon2_R:after {
	position: absolute;
	top: 50%;
	right: -20px;
	z-index: 1;
	margin-top: -7px;
	border-width: 7px 10px;
	border-style: solid;
	border-color: transparent transparent transparent #555;
	content: "";
}

/* -------------------------------------
カテゴリボタン
-------------------------------------*/
.catBtn {
	display: flex;
	margin: 25px auto 40px;

	justify-content: center;
	flex-wrap: wrap;
}

.catBtn a {
	position: relative;
	display: block;
	margin: 5px 15px;
	padding: 5px 10px;
	border-bottom: 2px solid var(--gray);
	font-weight: bold;
	letter-spacing: 1px;
}

.catBtn a:hover,
.catBtn a.active:hover,
.catBtn a.current{
	background: var(--gray);
	color: #fff;
}

.catBtn+.catBtn {
	margin: 0 auto 25px;
}

.catBtn+.catBtn a {
	border-bottom: 2px dotted #a77d5d;
	color: #a77d5d;
}

.catBtn+.catBtn a:hover,
.catBtn+.catBtn a.active:hover {
	background: #a77d5d;
	color: #fff;
}

@media screen and (max-width: 500px) {
	.catBtn {
		display: flex;
		margin: 20px auto;
		width: 100%;

		flex-wrap: wrap;
		justify-content: space-between;
	}

	.catBtn a {
		margin: 0 0 8px;
		padding: 10px 0;
		width: 48%;
		letter-spacing: 0;
	}
}


/* -------------------------------------
写真のエフェクト
-------------------------------------*/
/**4辺ぼかし：親要素にかける**/
.blur_w {
	position: relative;
	display: inline-block;
}

.blur_w:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0);
	box-shadow:
		inset 0 0 40px #fff,
		inset 0 0 40px #fff,
		inset 0 0 40px #fff,
		inset 0 0 40px #fff;
	content: "";
}

/**角丸：画像に直接かけれる**/
.radius {
	border-radius: 15px;
}

/**hover時画像拡大**/
.scale {
	overflow: hidden;
}

.scale img {
	-webkit-transition: -webkit-transform 0.3s linear;
	-moz-transition: -moz-transform 0.3s linear;
	-ms-transition: -ms-transform 0.3s linear;
	-o-transition: -o-transform 0.3s linear;
	transition: transform 0.3s linear;
}

a:hover .scale img {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-ms-transform: scale(1.2);
	-o-transform: scale(1.2);
	transform: scale(1.2);
}

/**-------------------------------------
地図 動画 iframe
-------------------------------------**/
iframe {
	width: 100%;
}

.youtube {
	margin: 30px auto 20px;
	width: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	padding-bottom: 56.25%;
	height: 0px;
	position: relative;
}

.youtube iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (max-width: 500px) {
	.youtube {
		margin: 20px auto 10px;
	}
}


/* -------------------------------------
パンくず
-------------------------------------*/
#breadcrumb {
	margin: 0 0 20px;
	width: 100%;
	font-size: 12px;
	padding: 8px 0;
}

/*家アイコン*/
#breadcrumb ul {
	max-width: 100%;
	margin: 0 auto;
}

#breadcrumb ul:before {
	display: inline-block;
	content: "\e88a";
	vertical-align: middle;
	font-size: 14px;
	font-family: 'Material Icons';
}

#breadcrumb ul li {
	display: inline-block;
	padding: 0 5px;
}

#breadcrumb ul li+li:before {
	content: "> ";
	display: inline-block;
	margin: 0 10px 0 0;
}

#breadcrumb a {
	text-decoration: underline;
}

#breadcrumb a:hover {
	text-decoration: none;
}

@media screen and (max-width:500px) {
	#breadcrumb {
		margin: 0 auto 20px;
	}

	#breadcrumb ul {
		padding: 0 2%;
	}
}


/* -------------------------------------
ページャー
-------------------------------------*/
.pagenation {
	margin: 30px auto;
	text-align: center;
}

.pagenation span {
	display: inline-block;
	margin: 5px;
	width: 40px;
	height: 40px;
	border: 1px solid var(--purple);
	background: #fff;
	color: var(--purple);
	text-align: center;
	line-height: 38px;
}

.pagenation span.page {
	background: var(--purple);
	color: #fff;
}

.pagenation span a {
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	color: var(--purple);
}

.pagenation span a:hover {
	background: var(--purple);
	color: #fff;
}

@media screen and (max-width: 500px) {
	.pagenation span {
		margin: 3px;
		width: 30px;
		height: 30px;
		line-height: 27px;
	}
}



/* -------------------------------------
フォーム
-------------------------------------*/
/**エラー**/
.alert {
	margin: 5px 0;
	color: #ff0000;
}

form table th {
	position: relative;
}

/**必須**/
.require {
	position: absolute;
	display: inline-block;
	width: 3em;
	height: 2em;
	border-radius: 3px;
	background: #cc0000;
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 11px;
	line-height: 2em;
}

/**送信ボタン**/
.form_button {
	position: relative;
	display: flex;
	margin: 20px auto;
	width: 100%;
	text-align: center;

	align-items: center;
	justify-content: center;
}


.form_button input[type="submit"],
.form_button input.submit {
	display: inline-block;
	margin: 0 30px 10px;
	padding: 15px 30px;
	width: 300px;
	border: 1px solid #000;
	background: #000;
	color: #fff;
	text-align: center;
	font-size: 16px;
}
.form_button a{
  margin-right: 30px;
  border-radius: 5px;
  text-decoration: none;
  font-family: var(--gothic);
}

.form_button input[type="submit"]:hover,
.form_button input.submit:hover {
	background: #fff;
	color: #000;
}

/*入力タグ*/
form input[type="text"],
form textarea,
form select {
	padding: 5px 4px;
	height: 30px;
	border: 1px solid #cccccc;
	font-size: 16px;
	line-height: 1.2;
	margin: 5px 5px;
}

form input[type="text"] {
	width: 75%;
}

form textarea {
	padding: 2px;
	min-height: 150px;
}

form select {
	padding: 0 10px;
	font-size: 14px;
}

/*電話*/
form input.owlet-input-tel1,
form input.owlet-input-tel2,
form input.owlet-input-tel3,
form input.zip1,
form input.zip2 {
	width: 5em;
}

/*名前*/
form input.owlet-input-name-sei,
form input.owlet-input-name-mei {
	width: 8em;
}

/*label*/
form label {
	display: block;
}

/*ボタン*/
form button {
	margin: 0 10px;
	padding: 5px 10px;
	border-radius: 5px;
	background: #fff;
}

/*記入例*/
form .owlet-input-sample {
	margin-top: 5px;
	color: #999;
	font-size: 14px;
}

/**フォーム規約**/
.owlet-rules {
	margin: 0 auto 30px;
	width: 90%;
}

.owlet-rules-title {
	margin-bottom: 10px;
	text-align: center;
	font-weight: bold;
}

.owlet-rules-body {
	overflow-y: scroll;
	box-sizing: border-box;
	margin-bottom: 20px;
	padding: 15px;
	height: 200px;
	border: 1px solid #dcdcdc;
}

.owlet-rules-agree {
	position: relative;
	margin-bottom: 20px;
	text-align: center;
}

.owlet-rules-agree .require {
	position: static;
	margin: 0 15px;
}

@media screen and (max-width: 500px) {
	.form_button {
		flex-flow: column-reverse;
	}

	/*iPhone独自スタイル解除*/
	form input[type="button"],
	form input[type="text"],
	form input[type="submit"] {
		border-radius: 0;

		-webkit-appearance: none;
	}

	/*入力タグ*/
	form input[type="text"],
	form textarea,
	form select {
		font-size: 13px;
	}
	
	
.form_button p{
  width: 100%;
  margin-bottom: 20px;
}

.form_button a{
  width: 90%;
  margin: 0 auto;
}
}



/********
サイトによって異なる
使い回し共通CSS
1.コーディング＞ページ編集＞レイアウト＞全レイアウト共通CSSにコピーして入れる。
********/

/* CSS Document */

/* -------------------------------------
Browser：IE11 over
-------------------------------------
基本装飾 -サイトにより変更-
-------------------------------------*/

:root {
	--calc1000: calc((100% - 1000px) / 2);
	--gothic: "メイリオ", "Meiryo", "Arial", "Helvetica", "sans-serif", 'Tahoma', 'Osaka', 'MS UI Gothic', 'MS PGothic', "ＭＳ ゴシック", "Osaka－等幅";
	--mincho: 'Noto Serif JP', serif;

	--purple: #592659;
	--gray: #323232;
	--gold: #ae9a47;
}

body {
	font-family: 'Noto Serif JP', serif;
}

img {
	max-width: 100%;
}

.gothic {
	font-family: var(--gothic);
}

.lh18{
line-height: 1.8;
}

/* =================================
#乗算
mix-blend-mode: multiply;

#連番
li {
	counter-increment: li;
}li::before {
	content: counter(li);
}
#border透明 
border: transparent 1px solid;

#マテリアルアイコン
font-family: 'Material Icons';

#アウェイサム
font-family: "Font Awesome 5 Free";
font-weight: normal;
================================= */


/**================================================================================
基本装飾
================================================================================**/

.form table {
	margin: 30px auto;
	width: 100%;
	font-size: 14px;
	border-collapse: separate;
	border-top: 1px solid #ddd;
}

.form th,
.form td {
	vertical-align: top;
	font-family: var(--gothic);
  line-height: 1.8;
	padding: 8px;
}

.form th {
  background-color: #faf8f5;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #ddd;
  border-left: 5px solid #A6A092;
  border-right: 1px solid #ddd;
  color: #444;
  text-align: left;
  font-weight: bold;
  width: 23%;
}

.form td{
  background-color: #fcfcfc;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #fafafa;
  border-left: 1px solid #fff;
  border-right: 1px solid #ddd;
	letter-spacing: 0px;
	font-size: 15px;
}

@media screen and (max-width: 500px) {

	.form table,
	.form tbody,
	.form tr,
	.form th,
	.form td {
		display: block;
	}

	.form table {
	  border-top:none;
	  border-bottom: 1px solid #ddd;
	}

	.form th,
	.form td {
		padding: 10px;
		border: 1px solid #ddd;
		border-bottom: none;
	}

	.form th {
		width: 100%;
		border-top: 5px solid #A6A092;
	}
}

/**-------------------------------------
必須アイコンの位置
-------------------------------------**/
.require {
	top: 5px;
	right: 0.5em;
	bottom: 0;
	margin: 5px;
}

/**================================================================================
サイトで必ず異なる
================================================================================**/

/**-------------------------------------
アイコン
-------------------------------------**/
.cat {
	display: inline-block;
	padding: 3px 10px;
}

.futi {
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: #fff;
	color: transparent;
}

/**-------------------------------------
見出し
-------------------------------------**/
.title {
	background: #000;
	color: #fff;
	text-align: center;
	position: relative;
}

.title img {
	display: block;
	margin: 0 auto;
}

.title h2 {
	font-weight: normal;
	position: absolute;
	bottom: 35px;
	width: 980px;
	margin: 0 auto;
}

.titA {
	font-weight: 700;
	color: var(--purple);
	font-size: 32px;
	text-align: center;
}

.titA img {
	display: block;
	position: relative;
	margin: 0 auto 0;
}

.titA.tit_size1 img {
	max-width: 620px;
}

.titA.tit_size2 img {
	max-width: 420px;
}

.titB {
	font-size: 28px;
	text-align: center;
}

.titB:after {
	display: block;
	margin: 5px auto;
	content: "";
	height: 2px;
	width: 50%;
	background: linear-gradient(to right, rgba(122, 81, 122, 1) 0%, rgba(122, 81, 122, 1) 50%, rgba(205, 190, 205, 1) 50%, rgba(205, 190, 205, 1) 100%);
}

.titC {
	font-size: 20px;
	color: var(--purple);
}

.titD {
	background: var(--purple) url(/common/images/pattern1.png);
	color: #fff;
	padding: 5px 15px;
}

.titE {
	background: var(--purple) url(/common/images/side_adressbox_bg.jpg);
	padding: 5px 15px;
	font-size: 20px;
	color: #3b332f;
	font-weight: 700;
}

.titF{
  padding: 0px 0px 2px 10px;
  margin: 15px 0px 15px 0px;
  color: #594A41;
  border-bottom: 1px dotted #594A41;
  border-left: 5px solid #594A41;
  letter-spacing: 0px;
  font-size: 130%;
}

@media screen and (max-width:500px) {
	.title {
		width: 100%;
		overflow: hidden;
		text-align: left;
	}

	.title img {
		position: relative;
		width: 150vw;
		max-width: none;
		margin: 0 0 0 -50vw;
	}

	.title h2 {
		position: absolute;
		bottom: 18px;
		left: 20px;
		width: 100%;
		margin: 0;
		text-shadow: black 2px 0px 8px,
			black -2px 0px 8px,
			black 0px -2px 8px,
			black 0px 2px 8px;
	}

	.titA {
		font-size: 20px;
	}

	.titA img {
		margin: 0 auto 0;
	}

	.titA.tit_size1 img {
		max-width: 90%;
	}

	.titA.tit_size2 img {
		max-width: 90%;
	}

	.titB {
		font-size: 20px;
	}

	.titC {
		font-size: 19px;
	}
}


/**-------------------------------------
ボタン
-------------------------------------**/
.btn_size1 {
	width: 320px;
}

.btn_size2 {
	width: 280px;
}

.btnA,
.btnC {
	position: relative;
	display: block;
	margin-right: auto;
	margin-left: auto;
	padding: 15px 40px 15px 15px;
	text-align: center;
	font-size: 1.0em;
	cursor: pointer;
}

.btnA:after,
.btnC:after {
	position: absolute;
	top: 0;
	right: 15px;
	bottom: 0;
	margin: auto 0;
	height: 1em;
	content: "\e038";
	font-family: 'Material Icons';
	line-height: 1.0;
}

.btnA {
	border: 1px solid var(--purple);
	background: var(--purple);
	color: #fff;
}

.btnA:hover {
	background: #fff;
	color: var(--purple);
}

.btnC {
	border: 1px solid #000;
	background: #fff;
	color: #000;
}

.btnB {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-size: 15px;
}

.btnB img {
	margin-left: 10px;
}

@media screen and (max-width: 500px) {
	.btn_size1 {
		width: 90%;
	}

	.btn_size2 {
		width: 90%;
	}

}

/**------------------------------ 
レイアウト
 ------------------------------**/
.boxLR {
	display: flex;
	justify-content: space-between;
}


/**================================================== 
 header
================================================== **/
header {
	background: url(/common/images/head_bg.jpg) repeat left top;
	width: 100%;
	padding: 1px var(--calc1000);
	position: relative;
	margin-bottom: 4px;
}

header:after {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	content: "";
	display: block;
	height: 4px;
	background: rgb(179, 138, 54);
	background: -moz-linear-gradient(left, rgba(179, 138, 54, 1) 0%, rgba(249, 224, 101, 1) 30%, rgba(228, 192, 84, 1) 80%, rgba(177, 117, 43, 1) 100%);
	background: -webkit-linear-gradient(left, rgba(179, 138, 54, 1) 0%, rgba(249, 224, 101, 1) 30%, rgba(228, 192, 84, 1) 80%, rgba(177, 117, 43, 1) 100%);
	background: linear-gradient(to right, rgba(179, 138, 54, 1) 0%, rgba(249, 224, 101, 1) 30%, rgba(228, 192, 84, 1) 80%, rgba(177, 117, 43, 1) 100%);
}

header h1 {
	font-size: 12px;
	font-family: var(--gothic);
	margin-bottom: 5px;
}

header nav ul {
	font-weight: 700;
	font-size: 15px;
	display: flex;
	align-items: center;
	margin: 5px 0 15px;
	position: relative;
	z-index: 50;
}

header nav ul a {
	display: inline-block;
	padding: 0 30px 0 0;
}

header .menu1 {
	position: absolute;
	top: 0;
	right: var(--calc1000);
	display: flex;
	justify-content: flex-end;
	height: 100%;
}

.tel {
	color: var(--purple);
	font-size: 14px;
}

.tel>* {
	line-height: 1.3;
}

.tel a {
	font-size: 2.2em;
	display: block;
	font-weight: bold;
}

.tel a:before {
	content: "\e0b0";
	font-family: 'Material Icons';
	line-height: 1.5;
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	font-weight: normal;
}


header .menu1 .tel {
	margin: 20px;
}

header .menu1 .mail {
	height: 100%;
}

.mail a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column;
	text-align: center;
	color: #fff;
	font-size: 14px;
	padding: 0 10px;
}

header .menu1 .mail a {
	height: 100%;
	background: var(--purple);
}

.mail img {
	width: 50px;
	margin-bottom: 10px;
}

@media screen and (max-width: 500px) {
	header {
		margin-bottom: 0;
	}

	header:after {
		display: none;
	}

	header h1 {
		font-size: 9px;
		margin-bottom: 0;
		margin-left: 5px;
		width: 80%;
		overflow: hidden;
		text-overflow: ellipsis;
    white-space: nowrap;
	}

	header .logo img {
		width: 150px;
		margin: 0 20px;
	}

	header nav {
		position: fixed;
		top: 0;
		right: -300px;
		z-index: 1000;
		box-sizing: border-box;
		padding-top: 60px;
		width: 300px;
		height: 100%;
		background: var(--purple);
		font-size: 16px;
		justify-content: flex-start;
		align-items: flex-start;
	}

	header nav ul {
		width: 100%;
		flex-flow: column;
		align-items: flex-start;
	}

	header nav ul li a {
		display: block;
		padding: 10px 28px;
		color: #fff;
		text-decoration: none;
	}

	header nav ul li a:hover {
		background: #fff;
		color: #000;
	}

	header .hamburger {
		position: fixed;
		display: block;
		top: 0;
		right: 0;
		z-index: 3;
		z-index: 1500;
		box-sizing: border-box;
		width: 60px;
		height: 60px;
		font-size: 11px;
		cursor: pointer;
		-webkit-transition: all 400ms;
		transition: all 400ms;
		background: var(--purple);
		color: #fff;
	}

	header .hamburger:after {
		position: absolute;
		right: 0;
		left: 0;
		bottom: 8px;
		margin: 0 auto;
		content: "menu";
		text-align: center;
		letter-spacing: 1x;
	}

	header .hamburger.open:after {
		color: #fff;
		content: "close";
		letter-spacing: 0;
	}

	header .hamburger span {
		position: absolute;
		width: 30px;
		height: 2px;
		background: #fff;
		-webkit-transition: all 400ms;
		transition: all 400ms;
		right: 0;
		left: 0;
		margin: 0 auto;
	}

	header .hamburger span:nth-child(1) {
		top: 15px;
	}

	header .hamburger span:nth-child(2) {
		top: 23px;
	}

	header .hamburger span:nth-child(3) {
		top: 31px;
	}

	header .hamburger.open {
		background: none;
	}

	header .hamburger.open span {
		background: #fff;
	}

	header .hamburger.open span:nth-child(1) {
		top: 20px;
		transform: rotate(45deg);
	}

	header .hamburger.open span:nth-child(2) {
		display: none;
	}

	header .hamburger.open span:nth-child(3) {
		top: 20px;
		transform: rotate(-45deg);
	}


	header .menu1 {
		position: static;
		flex-flow: column;
		justify-content: flex-end;
		height: auto;
	}

	.tel {
		border: 1px solid #fff;
		padding: 5px;
		color: #fff;
		font-size: 13px;
		text-align: center;
	}

	.tel a:before {
		content: "\e0dd";
	}

	.tel img {
		width: 1em;
		vertical-align: middle;
	}

	header .menu1 .tel,
	header .menu1 .mail {
		width: 90%;
		margin: 5px auto;
	}

	.mail a {
		height: auto;
		border: 1px solid #fff;
		padding: 10px 0;
	}

	.mail img {
		width: 30px;
		margin-bottom: 10px;
	}
}


/**================================================== 
 footer
================================================== **/
.fixed {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 100;
	display: flex;
	width: 100%;
	color: #fff;
	text-align: center;
	font-size: 12px;
	display: none;
}

.fixed a {
	flex: 1;
	background: var(--purple);
	padding: 5px;
}

.fixed a[href^="tel"] {
	background: var(--gray);
}

.fixed a[href^="tel"]:before {
	display: block;
	content: "\e0b0";
	font-family: 'Material Icons';
	line-height: 1.0;
	margin: 0 auto 5px;
	font-weight: normal;
	font-size: 2em;
}

.fixed a img {
	width: 30px;
	display: block;
	margin: 5px auto 5px;
}

@media screen and (max-width:500px) {
	.fixed {
		display: flex;
	}
}


footer {
	position: relative;
	background: var(--gray);
	padding: 1px 1px 30px;
	color: #fff;
}

footer:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	content: "";
	display: block;
	height: 4px;
	background: rgb(179, 138, 54);
	background: -moz-linear-gradient(left, rgba(179, 138, 54, 1) 0%, rgba(249, 224, 101, 1) 30%, rgba(228, 192, 84, 1) 80%, rgba(177, 117, 43, 1) 100%);
	background: -webkit-linear-gradient(left, rgba(179, 138, 54, 1) 0%, rgba(249, 224, 101, 1) 30%, rgba(228, 192, 84, 1) 80%, rgba(177, 117, 43, 1) 100%);
	background: linear-gradient(to right, rgba(179, 138, 54, 1) 0%, rgba(249, 224, 101, 1) 30%, rgba(228, 192, 84, 1) 80%, rgba(177, 117, 43, 1) 100%);
}

footer h2 {
	color: #fff;
	background: var(--purple);
	font-size: 20px;
	text-align: center;
	padding: 10px;
}

footer nav {
	font-size: 15px;
	text-align: center;
	line-height: 1.8;
	width: 700px;
	margin: 0 auto;
}

footer nav * {
	display: inline-block;
}
footer nav a:after{
  content: " ／ ";
}

footer section {
	display: flex;
	justify-content: space-between;
	width: 1000px;
	margin: 30px auto 50px;
}

footer section .info {
	width: 250px;
	font-size: 13px;
	margin-right: 50px;
}

footer .tel {
	color: #fff;
}

footer .mail {
	margin-top: 15px;
}

footer .mail a {
	flex-flow: row;
	align-items: center;
	border: 2px solid #fff;
	padding: 8px 0;
}

footer .mail a img {
	margin: 0 15px 0 0;
}

footer section .map {
	flex: 1;
}

footer section .map dl {
	display: flex;
	background: #fff;
	margin: 0 auto 20px;
}

footer section .map dl dd {
	flex: 1;
}

.copyright {
	background: url(/common/images/head_bg.jpg) repeat;
	padding: 10px;
	text-align: center;
	font-size: 12px;
}

@media screen and (max-width:500px) {
	footer h2 {
		font-size: 16px;
		text-align: left;
	}

	footer nav {
		font-size: 13px;
		text-align: left;
		width: 90%;
	}

	footer section {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		width: 90%;
		margin: 30px auto 50px;
	}

	footer section .info {
		width: 100%;
		text-align: center;
		font-size: 13px;
		margin: 0 auto 20px;
	}

	footer .tel {
		border: none;
	}

	footer .mail a {
		padding: 15px 0;
	}

	footer section .map dl {
		display: flex;
		flex-flow: column;
		background: #fff;
		margin: 0 auto 20px;
	}

	footer section .map dl dt {
		width: 150px;
		margin: 0 auto;
	}

	footer section .map dl dd {
		flex: 1;
	}

	footer section .map dl dd iframe {
		height: 200px;
	}

	.copyright {
		padding-bottom: 70px;
	}
}

/**================================================== 
 main
================================================== **/
main {
	background: url(/common/images/bg.gif) repeat;
}

.wrapping {
	width: 1000px;
	padding: 30px 40px 1px 20px;
	background: #fff;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2),
		0 -2px 5px 0 rgba(0, 0, 0, 0.2);
	margin: 0 auto;
	display: flex;
}

aside {
	width: 200px;
	margin-right: 40px;
}

aside .leftmenu_head {
	background: url(/common/images/sidemenu_head_bg.gif) left top repeat-y;
	width: 200px;
	height: 35px;
	padding: 0 10px 0 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 10px;
}

aside h3 img {
	padding: 0;
	display: block;
}

aside .aside-list {
	background: url(/common/images/side_adressbox_bg.jpg);
	border-bottom: 1px solid var(--gold);
}

aside .aside-list li a {
	display: block;
	font-family: var(--gothic);
	letter-spacing: 3px;
	font-size: 13px;
	padding: 10px;
	border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
	color: #3b332f;
}

aside .aside-list li:last-child a {
	border: none;
}

aside .aside-list li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

aside .aside-list li a:before {
	content: "\e57b";
	font-family: 'Material Icons';
	color: var(--purple);
	vertical-align: middle;
	display: inline-block;
	margin-right: 15px;
}

aside .leftbanner {
	margin: 30px auto;
}


aside address {
	background: url(/common/images/side_adressbox_bg.jpg);
	border: 1px solid var(--gold);
	border-left: none;
	border-right: none;
	padding: 15px 10px 10px;
	font-size: 14px;
	font-family: var(--gothic);
	margin: 30px auto;
}

.article {
	width: 700px;
}

@media screen and (max-width:500px) {
	.wrapping {
		width: 100%;
		flex-flow: column-reverse;
		padding: 1px 0;
	}

	aside {
		width: 100%;
		padding: 20px 5%;
		margin: 0 auto;
		background: #efefef;
	}

	aside .leftbanner.pc,
	aside .leftmenu_head {
		display: none;
	}

	aside .leftbanner {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		margin: 10px auto;
	}

	aside .leftbanner li {
		width: 48%;
	}

	.article {
		width: 90%;
		margin: 20px auto;
	}
}

/**================================================== 
 hero
================================================== **/
.hero img {
	max-width: none;
	width: 100%;
	display: block;
}


/**================================================== 
page
================================================== **/
.m0-a-50 {
	margin: 0 auto 50px;
}

.h-text-img p {
	font-family: var(--gothic);
	line-height: 1.8;
}

.h-text-img p+p {
	margin: 1.5em 0;
}

.h-text-img figure {
	width: 300px;
}


.float {
	overflow: hidden;
}

.float.right figure {
	float: right;
	margin: 0 0 15px 30px;
	max-width: 300px;
}

.float.left figure {
	float: left;
	margin: 0 30px 15px 0;
	max-width: 300px;
}

.float p {
	line-height: 1.8;
	font-family: var(--gothic);
}

.float p+p {
	margin: 1.5em 0;
}

@media screen and (max-width:500px) {
	.m0-a-50 {
		margin: 0 auto 30px;
	}

	.h-text-img figure {
		width: 100%;
		text-align: center;
	}

	.float.right figure {
		margin: 0 0 10px 10px;
		max-width: 150px;
	}

	.float.left figure {
		margin: 0 10px 10px 0;
		max-width: 150px;
	}

}

.box01 {
	background: #dbd8d3 url(/common/images/pattern2.png);
	position: relative;
	padding: 0 0 1px;
}

.box01 h2 {
	background: var(--purple) url(/common/images/pattern1.png);
	color: #fff;
	font-size: 24px;
	text-align: center;
	padding: 20px 0;
}

.box01 .parag {
	width: 90%;
	margin: 0 auto 30px;
	background: #fff;
	padding: 15px 40px;
	font-weight: 700;
	line-height: 1.8;
	font-size: 1.1em;
}

.box01 .parag p+p {
	margin: 1.5em 0;
}

@media screen and (max-width:500px) {
	.box01 h2 {
		font-size: 18px;
		padding: 20px 15px;
		text-align: left;
	}

	.box01 .parag {
		padding: 20px 15px 15px;
		margin: 0 auto 20px;
	}

}

.box02 {
	background: url(/common/images/pattern3.png) repeat-x top 30px center;
	padding: 1px 5%;
}

.box02 .parag {
	margin: 20px auto 30px;
	font-weight: 700;
	line-height: 2.0;
	font-size: 1.1em;
}

.box03 {}

.box04 {}

.blog-list li a {
	display: block;
	margin: 0 auto 30px;
}

.blog-list li figure {
	text-align: center;
	background: rgba(0, 0, 0, 0.1);
	line-height: 0;
	margin-bottom: 10px;
}

.blog-list .boxLR {
	align-items: center;
}

.blog-list time {
	font-size: 14px;
}

.blog-list em {
	font-size: 14px;
	display: inline-block;
	padding: 5px 20px;
	color: #fff;
	background: var(--gray);
}

.blog-list em[data-cat="新着情報"] {
	background: var(--gold);
}

.blog-list h3 {
	font-size: 18px;
	margin: 15px auto;
}

.blog-list p {
	font-family: var(--gothic);
}

.box05 {}

.box05 p img {
	width: 100%;
}



/**------------------------------ 
バナー
 ------------------------------**/
.bnrA li {
	margin: 20px auto;
}

.bnrB li {
	margin: 0 0 30px;
}

/**------------------------------ 
フロー
 ------------------------------**/
.flow {
	font-size: 14px;
	margin-bottom: 20px;
}

.flow li {
	position: relative;
	margin-top: 10px;
	margin-bottom: 10px;
}

.flow.arrow li:after {
	content: "\e409";
	font-family: 'Material Icons';
	display: inline-block;
	background: var(--purple);
	color: #fff;
	font-size: 13px;
	width: 1em;
	height: 1em;
	line-height: 1em;
	position: absolute;
	top: 50px;
	right: 0;
}

.flow.arrow li:last-child:after {
	display: none;
}

.flow li small {
	display: block;
	font-size: 10px;
	line-height: 1.5;
	margin-top: 5px;
}

@media screen and (max-width:500px) {
	.flow li {
		width: calc(50% - 30px);
	}

  .flow.box4C img{
    width: 100%;
  }
  
  .flow.box3C img{
    width: auto;
  }

	.flow.arrow li:after {
		display: block;
		top: 50px;
		right: -12px;
	}

}

.box06 .parag {
	margin: 20px 5% 30px;
	font-weight: 700;
	line-height: 2.0;
	font-size: 1.1em;
}

.orderbutsudan_navi {
	display: flex;
	justify-content: center;
}

.orderbutsudan_left li {
	margin-bottom: 20px;
	line-height: 0;
}

.orderbutsudan_right li {
	margin-bottom: 35px;
	line-height: 0;
}

.butsudan .slick-prev {
	left: 0;
	z-index: 10;
}

.butsudan .slick-next {
	right: 0;
	z-index: 10;
}

.butsudan .slick-prev,
.butsudan .slick-next {
	width: 30px;
	height: 30px;
	margin-top: -30px;
}

.butsudan .slick-prev:before,
.butsudan .slick-next:before {
	display: inline-block;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	font-size: 22px;
	content: "\e5cc";
	font-family: 'Material Icons';
	background: var(--purple);
	color: #fff;
}

.butsudan .slick-prev:before {
	content: "\e5cb";
}

.butsudan .slick-slide {
	margin: 0;
}

.butsudan .slick-dots li{
  margin: 5px 0;
}

.butsudan img {
	margin: 0 auto;
	width: 100%;
	height: 347px;
	object-fit: contain;
}

.butsudan em {
	font-size: 14px;
	width: 180px;
	display: block;
	padding: 5px 5px;
	color: #fff;
	background: var(--purple);
	border-radius: 5px;
	margin: 5px auto;
	text-align: center;
}

.butsudan p {
	margin: 5px 5%;
	font-size: 14px;
}


@media screen and (max-width:500px) {
	.orderbutsudan_left li {
		margin-bottom: 9px;
	}

	.orderbutsudan_right li {
		margin-bottom: 17px;
	}

	.orderbutsudan_center img {
		width: 205px;
		max-width: none;
	}

	.butsudan .slick-prev,
	.butsudan .slick-next {
		margin-top: -80px;
	}

	.butsudan .slick-prev {
		left: -20px;
		z-index: 10;
	}

	.butsudan .slick-next {
		right: -20px;
		z-index: 10;
	}

	.butsudan .slick-prev:before,
	.butsudan .slick-next:before {

		background: none;
		color: var(--purple);
	}

	.butsudan img {
		height: 180px;
	}

	.butsudan p {
		margin: 5px;
		font-size: 14px;
	}
}

.butsudan-list{
  margin-bottom: 80px;
}

.butsudan-list > div{
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
}

.butsudan-list figure{
  margin-bottom: 15px;
}

.butsudan-list p{
  background: url(/common/images/side_adressbox_bg.jpg);
  padding: 15px;
  font-family: var(--gothic);
  font-size: 13px;
  line-height: 1.8;
  flex-grow: 1;
}

.butsudan-list li{
  margin-bottom: 10px;
}


@media screen and (max-width:500px) {
  .butsudan-list{
  margin-bottom: 50px;
}
}

.list1 {
	border:5px solid #DCD4D0;
	padding:20px 20px 20px 40px;
	background: #fff;
	margin: 30px 0 40px
}
.list1 li {
	font-size:100%;
	font-weight:bold;
  color: var(--purple);
	line-height:1.8em;
	position:relative;
	padding: 0 15px;
	margin: 5px 0;
}
.list1 li:before{
  content: "\e57b";
  font-family: 'Material Icons';
  color: var(--purple);
  vertical-align: middle;
  display: inline-block;
  position: absolute;
  top:0;
  left:-1em;
}

@media screen and (max-width:500px) {
.list1 {
	padding: 15px 5px 15px 20px;
	margin: 20px auto;
}
.list1 li:before{
  left:-5px;
}
}

.top_topics{
  margin: 0 auto 50px;
}
.top_topics h2{
  background: var(--gold);
  font-size: 18px;
  width: fit-content;
  padding: 5px 20px;
  color: #fff;
  background: var(--gold);
}
.top_topics ul{
  background: url(/common/images/side_adressbox_bg.jpg);
  padding:20px;
  border-top: 2px solid var(--white);
  box-shadow: 0 -2px 0 0 var(--gold);
}

.top_topics ul li a{
  display: flex;
}
.top_topics ul li + li{
  margin: 15px 0 0;
}
.top_topics ul li time{
  flex: none;
  width:80px;
  font-size: 12px;
  color: var(--gray);
}


@media screen and (max-width: 500px) {
  .top_topics h2{
    font-size: 16px;
  }
}
/*widget:5d6300d9-736f-4b2c-93fc-0ad7a83067b8*/[data-lib="56"]{font-size: 28px;
	text-align: center;}[data-lib="56"]:after{display: block;
	margin: 5px auto;
	content: "";
	height: 2px;
	width: 50%;
	background: linear-gradient(to right, rgba(122, 81, 122, 1) 0%, rgba(122, 81, 122, 1) 50%, rgba(205, 190, 205, 1) 50%, rgba(205, 190, 205, 1) 100%);}@media screen and (max-width: 500px){[data-lib="56"]{font-size: 20px;}}/*widget:b9289035-5560-4838-925b-e3ca220d3b06*/[data-lib="9"] a{display: block;}/*widget:8eb5ca91-71fe-43b1-b9ef-7eafddf83984*/[data-lib="503"]{border:3px double var(--purple);
	padding: 15px 5% 30px;}@media screen and (max-width: 500px){[data-lib="503"] .tel{color:var(--purple);}}/*layout:6*/@media screen and (max-width:500px) {
aside{
  display: none;
}
}