
.-x-richtext ul, .-x-richtext ol {
	list-style-position: inside;
}
[data-legal]{
	position:relative;
	--legal-offset-h:attr(data-legal-offset-h px);
	--legal-offset-v:attr(data-legal-offset-v px);
}
[data-legal][data-legal-safe="1"]::after{
	position: absolute;
	opacity: 0.5;
	color: black;
	content: "墨";
	font-size: 16px;
	display: block;
	height: 24px;
	padding-top: 0px;
	background-image: url(/_lib/lc.png);
	background-size: auto 20px;
	background-repeat: no-repeat;
	padding-left: 50px;
	background-position: left top;
}
[data-legal][data-legal-safe="1"]:hover::after {
    position: absolute;
    opacity: 0.5;
    color: black;
    content: attr(data-legal-check-at);
    white-space:nowrap;
    font-size: 11px;
    display: block;
    height: 24px;
    background-image: url(/_lib/lc.png);
    background-size: auto 20px;
    background-repeat: no-repeat;
    padding-top: 15px;
    padding-left: 0px;
    background-position: left top;
}

[data-legal-position="left-top"]::after{
	left:var(--legal-offset-h);
	top:var(--legal-offset-v);
}
[data-legal-position="left-bottom"]::after{
	left:var(--legal-offset-h);
	bottom:var(--legal-offset-v);
}
[data-legal-position="right-top"]::after{
	right:var(--legal-offset-h);
	top:var(--legal-offset-v);
}
[data-legal-position="right-bottom"]::after{
	right:var(--legal-offset-h);
	bottom:var(--legal-offset-v);
}
/*common_css*/

/**================================================== 
RESET 
================================================== **/
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

*,
::before,
::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-width: 0;
	border-style: solid;
}
html {
	line-height: 1.15; /* 1 */
	background:#ffffff;

	-webkit-text-size-adjust: 100%; /* 2 */
	-webkit-tap-highlight-color: transparent; /* 3*/
}
body {
	margin: 0;
}
main {
	display: block;
}
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	margin: 0;
}
ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
dt {
	font-weight: inherit;
}
dd {
	margin-left: 0;
}
hr {
	clear: both;
	overflow: visible; /* 2 */
	-webkit-box-sizing: content-box;
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	margin: 0;
	color: inherit;
	border-top-width: 1px;
}
pre {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
}
address {
	font-style: inherit;
}
a {
	text-decoration: none;
	color: inherit;
	background-color: transparent;
}
abbr[title] {
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */

	-webkit-text-decoration: underline dotted;
}
b,
strong {
	font-weight: bolder;
}
code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
}
small {
	font-size: 80%;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
img,
embed,
object,
iframe {
	vertical-align: bottom;
}


/* Interactive */
/* ============================================ */
details {
	display: block;
}
summary {
	display: list-item;
}
[contenteditable] {
	outline: none;
}

/* Table */
/* ============================================ */
table {
	border-spacing: 0;
	border-collapse: collapse;
}i
caption {
	text-align: left;
}
td,
th {
	padding: 0;
	vertical-align: top;
}
th {
	font-weight: bold;
	text-align: left;
}

/* Misc */
/* ============================================ */
template {
	display: none;
}
[hidden] {
	display: none;
}


/* -------------------------------------
BASE
-------------------------------------*/

/** ================================================================================
		Default
================================================================================ **/
html {
	overflow: auto;
}
body {
	font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial",
	"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo",
	"游ゴシック", "Yu Gothic", "ＭＳ Ｐゴシック", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	position: relative;
	overflow: hidden;
	min-width: 980px;
	margin: 0 auto;

	-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;
}

/*リンク*/

p a {
	text-decoration: underline;
}p a:hover {
	text-decoration: none;
}
a {
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}a:hover {
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

a.td-u,
.td-u a {
	text-decoration: underline;
}a.td-u:hover,
.td-u a:hover {
	text-decoration: none;
}

/**PC電話ボタン無効**/
a[href^="tel"],
a[href=""] {
	pointer-events: none;
}
@media screen and (max-width: 520px) {
	a[href^="tel"] {
		pointer-events: auto;
	}
}

/*区切り線*/

hr {
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #666666;
}

.note {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}

figure img,
picture img {
	max-width: 100%;
}

@media screen and (max-width: 520px) {
	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;
}

/*2. font 必要なら追加　優先順位：高*/
body .fw-b {
	font-weight: var(--fw-b);
}
body .fw-bb {
	font-weight: var(--fw-bb);
}
body .fz12 {
	font-size: 0.75rem;
}
body .fz14 {
	font-size: 0.87rem;
}
body .fz15 {
	font-size: 0.94rem;
}
body .fz16 {
	font-size: 16px;
}
body .fz17 {
	font-size: 17px;
}
body .fz18 {
	font-size: 18px;
}
body .fz20 {
	font-size: 20px;
}
body .fz22 {
	font-size: 22px;
}
body .fz24 {
	font-size: 24px;
}
body .fz26 {
	font-size: 26px;
}
body .fz28 {
	font-size: 28px;
}
body .fz30 {
	font-size: 30px;
}
body .fz32 {
	font-size: 32px;
}
body .fz35 {
	font-size: 35px;
}
body .fz40 {
	font-size: 40px;
}
body .fz44 {
	font-size: 44px;
}
body .fz46 {
	font-size: 46px;
}
body .fz54 {
	font-size: 54px;
}
body .fz50 {
	font-size: 50px;
}
body .fz60 {
	font-size: 60px;
}
body .fz70 {
	font-size: 70px;
}

@media screen and (max-width: 520px) {
	body .fz16 {
		font-size: 15px;
	}
	body .fz17 {
		font-size: 15px;
	}
	body .fz18 {
		font-size: 16px;
	}
	body .fz20 {
		font-size: 18px;
	}
	body .fz22 {
		font-size: 18px;
	}
	body .fz24 {
		font-size: 20px;
	}
	body .fz26 {
		font-size: min(5vw, 22px);
	}
	body .fz28 {
		font-size: min(5.4vw, 24px);
	}
	body .fz30 {
		font-size: min(5.4vw, 26px);
	}
	body .fz32 {
		font-size: min(5.6vw, 28px);
	}
	body .fz35 {
		font-size: min(5.6vw, 30px);
	}
	body .fz40 {
		font-size: min(6.4vw, 36px);
	}
	body .fz44 {
		font-size: min(6.4vw, 36px);
	}
	body .fz46 {
		font-size: min(6.4vw, 40px);
	}
	body .fz50 {
		font-size: min(6.4vw, 42px);
	}
	body .fz54 {
		font-size: min(6.4vw, 42px);
	}
	body .fz60 {
		font-size: min(12vw, 40px);
	}
	body .fz70 {
		font-size: min(8vw, 48px);
	}
}


.lh2 {
	line-height: 2;
}
.lh18 {
	line-height: 1.8;
}
.lh15 {
	line-height: 1.5;
}
.lh13 {
	line-height: 1.3;
}
.lh1 {
	line-height: 1;
}

/*3. float */
.f_L {
	display: inline;
	float: left;
}
.f_R {
	display: inline;
	float: right;
}

/*4. text-align 優先順位：高 */
/*4. align 優先順位：高 */
body .t_C,
body .t_CL,
body .t_CR {
	text-align: center;
}
body .t_R {
	text-align: right;
}
body .t_L {
	text-align: left;
}

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: 520px) {
	body .t_CL {
		text-align: left;
	}
	body .t_CR {
		text-align: right;
	}
}

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 .mb70 {
	margin-bottom: 70px;
}
body .mb80 {
	margin-bottom: 80px;
}
body .mb100 {
	margin-bottom: 100px;
}
body .mb150 {
	margin-bottom: 150px;
}
body .mt0 {
	margin-top: 0;
}
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 .mt70 {
	margin-top: 70px;
}
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: 520px) {
	/*5. margin 30以上は1/2 */
	body .mb20 {
		margin-bottom: 15px;
	}
	body .mb30 {
		margin-bottom: 20px;
	}
	body .mb40 {
		margin-bottom: 20px;
	}
	body .mb50 {
		margin-bottom: 30px;
	}
	body .mb70 {
		margin-bottom: 40px;
	}
	body .mb80 {
		margin-bottom: 40px;
	}
	body .mb100 {
		margin-bottom: 50px;
	}
	body .mb150 {
		margin-bottom: 75px;
	}
	body .mt20 {
		margin-top: 15px;
	}
	body .mt30 {
		margin-top: 20px;
	}
	body .mt40 {
		margin-top: 20px;
	}
	body .mt50 {
		margin-top: 30px;
	}
	body .mt70 {
		margin-top: 40px;
	}
	body .mt80 {
		margin-top: 40px;
	}
	body .mt100 {
		margin-top: 50px;
	}
	body .mt150 {
		margin-top: 75px;
	}
}

/*6. padding 優先順位:高*/
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: 0;
}
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: 520px) {
	body .pb20 {
		padding-bottom: 15px;
	}
	body .pb30 {
		padding-bottom: 20px;
	}
	body .pb40 {
		padding-bottom: 20px;
	}
	body .pb50 {
		padding-bottom: 30px;
	}
	body .pb70 {
		padding-bottom: 40px;
	}
	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: 30px;
	}
	body .pt70 {
		padding-top: 40px;
	}
	body .pt80 {
		padding-top: 40px;
	}
	body .pt100 {
		padding-top: 50px;
	}
	body .pt150 {
		padding-top: 75px;
	}
}
/* -------------------------------------
幅
-------------------------------------*/
body .w100p,
body .w1100,
body .w1000,
body .w980,
body .w900,
body .w800,
body .w700,
body .w650,
body .w600 {
	margin-right: auto;
	margin-left: auto;
}
body .w100p {
	width: 100%;
}
body .w1100 {
	width: 1100px;
}
body .w1000 {
	width: 1000px;
}
body .w980 {
	width: var(--base-width);
}
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: 520px) {
	body .w100p,
	body .w1100,
	body .w1000,
	body .w980,
	body .w900,
	body .w800,
	body .w700,
	body .w650,
	body .w600 {
		margin-right: auto;
		margin-left: auto;
	}
	body .w100p {
		width: 100%;
	}
	body .w1100 {
		width: 100%;
	}
	body .w1000 {
		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 .w1100 > *,
	body .w1000 > *,
	body .w980 > *,
	body .w900 > *,
	body .w800 > *,
	body .w700 > *,
	body .w650 > *,
	body .w600 > * {
		width: 90%;
		margin-right: auto;
		margin-left: auto;
	}
	body .w100p > .max,
	body .w100p.max,
	body .w1100 > .max,
	body .w1100.max,
	body .w1000 > .max,
	body .w1000.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 .calc-bw {
	padding-right: max(calc( ( 100% - var(--base-width) ) / 2 ), 2%);
	padding-left: max(calc( ( 100% - var(--base-width) ) / 2 ), 2%);
}
@media screen and (max-width: 520px) {
	body .calc-bw > * {
		width: 90%;
		margin-right: auto;
		margin-left: auto;
	}
	body .calc-bw > .max {
		width: 100%;
	}
}

/* -------------------------------------
文字装飾
-------------------------------------*/
/**黄色マーカー**/
b.liner {
	background: -webkit-linear-gradient(transparent 40%, #f2e54f 0%);
	background: linear-gradient(transparent 40%, #f2e54f 0%);
}
/*縁くくり*/
.edge {
	text-shadow: 1px 1px 0 var(--edge-color),
	-1px 1px 0 var(--edge-color),
	1px -1px 0 var(--edge-color),
	-1px -1px 0 var(--edge-color);
}
/*縁 2px以上*/
.edge2 {
	text-shadow: 2px  2px 1px var(--edge2-color),
	-2px  2px 1px var(--edge2-color),
	2px -2px 1px var(--edge2-color),
	-2px -2px 1px var(--edge2-color),
	2px  0 1px var(--edge2-color),
	0  2px 1px var(--edge2-color),
	-2px  0 1px var(--edge2-color),
	0 -2px 1px var(--edge2-color);
}

/*縁 枠*/
.edge3 {
	color: transparent;

	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: var(--edge3-color);
}

/* -------------------------------------
改行
-------------------------------------*/
.pc {
}
.sp {
	display: none;
}
.ib {
	display: inline-block;
}
.flex {
	display: flex;
}
.sponly {
	display: none;
}

@media screen and (max-width: 520px) {
	.pc {
		display: none!important;
	}
	.sp {
		display: block;
	}
	.sp-ib {
		display: inline-block;
	}
}
@media screen and (max-width: 480px) {
	.sponly {
		display: block;
	}
}


/* -------------------------------------
横並びボックスの数
-------------------------------------*/
/**横並び**/
.boxLR {
	display: flex;
	justify-content: space-between;
}

/**２つ並び**/
.box2C {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}
.box2C > * {
	width: 48%;
}
.box2C:after {
	display: block;
	width: 48%;
	content: "";
}

/**3つ並び**/
.box3C {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}
.box3C > * {
	width: 32%;
}
.box3C:after {
	display: block;
	width: 32%;
	content: "";
}

/**4つ並び**/
.box4C {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}
.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: 520px) {
	/* -------------------------------------
横並びボックスの数
-------------------------------------*/
	/**２つ並び**/
	.box2C {
		width: 100%;
	}
	.box2C.box1C_sp {
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
	}
	.box2C.box2C_sp {
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
	}
	.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 {
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
	}
	.box3C.box2C_sp {
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
	}
	.box3C.box3C_sp {
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
	}
	.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 {
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
	}
	.box4C.box2C_sp {
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
	}
	.box4C.box1C_sp > * {
		width: 100%;
	}
	.box4C.box2C_sp > * {
		width: 48%;
	}
	.box4C:after,
	.box4C:before {
		display: none;
	}
}

@media screen and (max-width: 520px) {
	/* -------------------------------------
横並びボックスの数
-------------------------------------*/
	.sp1c {
		-ms-flex-flow: column;
		flex-flow: column !important;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
	}
	.sp1c > *,
	.sp1c::after {
		width: 100% !important;
		margin-right: auto;
		margin-left: 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;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: var(--hti-parent-w);
	margin: var(--hti-parent-m);
}

/*配置*/
.h-text-img.right {
	-ms-flex-flow: row;
	flex-flow: row;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
}

.h-text-img.left {
	-ms-flex-flow: row-reverse;
	flex-flow: row-reverse;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
}

.h-text-img.center_t {
	-ms-flex-flow: column-reverse;
	flex-flow: column-reverse;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
}

.h-text-img.center_b {
	-ms-flex-flow: column;
	flex-flow: column;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
}

/*画像*/
.h-text-img figure,
.h-text-img picture {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	width: var(--hti-w);
}

.h-text-img.right figure,
.h-text-img.right picture {
	margin: var(--hti-space-right);
}
.h-text-img.left figure,
.h-text-img.left picture {
	margin: var(--hti-space-left);
}

.h-text-img.center_t figure,
.h-text-img.center_t picture {
	margin: var(--hti-space-center);
}

.h-text-img.center_b figure,
.h-text-img.center_b picture {
	margin: var(--hti-space-center);
}


/*テキスト領域*/
.h-text-img .text {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin: var(--hti-space-text);
}

.pdf {
	width: 100%;
	margin: 30px auto;
	text-align: center;
}

@media screen and (max-width: 520px) {
	/*配置*/
	.h-text-img.right.top,
	.h-text-img.left.top,
	.h-text-img.center_b.top {
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-align: center;
		-ms-flex-flow: column-reverse;
		flex-flow: column-reverse;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
	}

	/*配置*/
	.h-text-img.right.bottom,
	.h-text-img.left.bottom,
	.h-text-img.center_b.bottom {
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-align: center;
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
	}

	/*画像*/
	.h-text-img.right figure,
	.h-text-img.right picture {
		margin: var(--hti-space-right);
	}

	.h-text-img.left figure,
	.h-text-img.left picture {
		margin: var(--hti-space-left);
	}
	.h-text-img.right.top figure,
	.h-text-img.left.top figure,
	.h-text-img.right.top picture,
	.h-text-img.left.top picture,
	.h-text-img.right.bottom figure,
	.h-text-img.left.bottom figure,
	.h-text-img.right.bottom picture,
	.h-text-img.left.bottom picture {
		margin: var(--hti-space);
	}

	.h-text-img.center_t figure,
	.h-text-img.center_t picture {
		margin: var(--hti-space-center);
	}

	.h-text-img.center_b figure,
	.h-text-img.center_b picture {
		margin: var(--hti-space-center);
	}

	/*テキスト領域*/
	.pdf {
		margin: 20px auto;
	}
}



/**------------------------------ 
見出し 本文横並び
 ------------------------------**/
.h-text {
	display: flex;
	justify-content: space-between;
}
.h-text .headline {
	flex: none;
	width: var(--ht-w);
	margin-right: var(--ht-lr-space);
	margin-bottom: var(--ht-tb-space);
}
.h-text.right {
	flex-flow: row-reverse;
}
.h-text.right .headline {
	flex: none;
	width: var(--ht-w);
	margin-bottom: var(--ht-tb-space);
	margin-left: var(--ht-lr-space);
}
.h-text .text {
	flex: 1;
}

@media screen and (max-width:520px) {
	.h-text,
	.h-text.right {
		flex-flow: column;
	}
	.h-text .headline {
		margin-top: var(--ht-tb-space);
		margin-bottom: var(--ht-tb-space);
	}
}

/**------------------------------ 
互い違いリスト
 ------------------------------**/
.list-alternate li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

/*画像*/
.list-alternate figure,
.list-alternate picture {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	width: var(--al-w);
}

/*テキスト領域*/
.list-alternate .text {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
/**右スタート**/

.list-alternate.right-start li:nth-child(even) {
	flex-flow: row-reverse;
}
.list-alternate.right-start li .text {
	margin: var(--altxt-space);
}
.list-alternate.right-start li:nth-child(even) .text {
	margin: var(--altxt-space-even);
}

.list-alternate.right-start figure,
.list-alternate.right-start picture {
	margin: var(--alimg-space);
	text-align: right;
}
.list-alternate.right-start li:nth-child(even) figure,
.list-alternate.right-start li:nth-child(even) picture {
	margin: var(--alimg-space-even);
	text-align: left;
}

/**左スタート**/
.list-alternate.left-start li {
	flex-flow: row-reverse;
}
.list-alternate.left-start li:nth-child(even) {
	flex-flow: row;
}
.list-alternate.left-start li .text {
	margin: var(--altxt-space);
}
.list-alternate.left-start li:nth-child(even) .text {
	margin: var(--altxt-space-even);
}
.list-alternate.left-start figure,
.list-alternate.left-start picture {
	margin: var(--alimg-space);
	text-align: left;
}
.list-alternate.left-start li:nth-child(even) figure,
.list-alternate.left-start li:nth-child(even) picture {
	margin: var(--alimg-space-even);
	text-align: right;
}

@media screen and (max-width:520px) {
	.list-alternate li,
	.list-alternate.right-start li:nth-child(even),
	.list-alternate.left-start li,
	.list-alternate.left-start li:nth-child(even) {
		flex-flow: var(--altxt-spflex);
	}
	.list-alternate li .text,
	.list-alternate.left-start li .text {
		margin: var(--altxt-space);
	}
	.list-alternate.right-start li:nth-child(even) .text,
	.list-alternate.left-start li:nth-child(even) .text {
		margin: var(--altxt-space-even);
	}
	.list-alternate.right-start figure,
	.list-alternate.right-start picture,
	.list-alternate.left-start figure,
	.list-alternate.left-start picture {
		margin: var(--alimg-space);
	}
	.list-alternate.right-start li:nth-child(even) figure,
	.list-alternate.right-start li:nth-child(even) picture,
	.list-alternate.left-start li:nth-child(even) figure,
	.list-alternate.left-start li:nth-child(even) picture {
		margin: var(--alimg-space-even);
	}
}

/**------------------------------ 
写真なしリスト
ul.nop-list>li>a
em[data-name="カテゴリ"]カテゴリ
 ------------------------------**/
.nop-list {
	margin: 30px auto;
	border-top: 1px dotted var(--nop-b-c);
}
.nop-list li {
	border-bottom: 1px dotted var(--nop-b-c);
}
.nop-list a {
	display: flex;
}
.nop-list em {
	font-size: 13px;
	font-style: normal;
	min-width: 8em;
	margin: 0 20px;
	padding: 3px;
	text-align: center;
	color: var(--nop-cat-c);
	background: var(--nop-cat-bg);
}

@media screen and (max-width:520px) {
	.nop-list {
		margin: 15px auto;
	}
	.nop-list a {
		flex-wrap: wrap;
	}
	.nop-list a em {
		margin: 0 15px 5px;
	}
}

/* -------------------------------------
写真のエフェクト
-------------------------------------*/
/**4辺ぼかし：親要素にかける**/
.blur_w {
	position: relative;
	display: inline-block;
}
.blur_w:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	background: rgba(255, 255, 255, 0);
	box-shadow: inset 0 0 20px #ffffff, inset 0 0 20px #ffffff, inset 0 0 20px #ffffff,
	inset 0 0 20px #ffffff;
}

.blur2_w {
	position: relative;
	display: inline-block;
}
.blur2_w:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	background: rgba(255, 255, 255, 0);
	box-shadow: inset 0 0 20px var(--bodybg2), inset 0 0 20px var(--bodybg2), inset 0 0 20px var(--bodybg2),
	inset 0 0 20px var(--bodybg2);
}

/**角丸：画像に直接かけれる**/
.radius {
	border-radius: 15px;
}

/**hover：透過**/
a:hover img.hv {
	opacity: var(--opacity);
}

/**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);
}

/* -------------------------------------
objedt-fit
-------------------------------------*/
.ojf img {
	font-family: "object-fit: cover;"; /*IE対策*/
	width: 100%;
	height: 100%;

	-o-object-fit: cover;
	object-fit: cover;
}


/* -------------------------------------
吹き出し
-------------------------------------*/
/**塗りつぶし（下）**/
.balloon1_B {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 0;
	padding: 7px 10px;
	text-align: center;
	color: var(--balloon-c);
	background: var(--balloon-bg);
}
.balloon1_B:before {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	content: "";
	border-width: 10px 5px;
	border-style: solid;
	border-color: var(--balloon-bg) transparent transparent transparent;
}
/**塗りつぶし（上）**/
.balloon1_T {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 0;
	padding: 7px 10px;
	text-align: center;
	color: var(--balloon-c);
	background: var(--balloon-bg);
}
.balloon1_T:before {
	position: absolute;
	top: -20px;
	left: 50%;
	margin-left: -5px;
	content: "";
	border-width: 10px 5px;
	border-style: solid;
	border-color: transparent transparent var(--balloon-bg) transparent;
}
/**塗りつぶし（左）**/
.balloon1_L {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 0 1.5em 15px;
	padding: 7px 10px;
	text-align: center;
	color: var(--balloon-c);
	background: var(--balloon-bg);
}
.balloon1_L:before {
	position: absolute;
	top: 50%;
	left: -20px;
	margin-top: -5px;
	content: "";
	border-width: 5px 10px;
	border-style: solid;
	border-color: transparent var(--balloon-bg) transparent transparent;
}
/**塗りつぶし（右）**/
.balloon1_R {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 15px 1.5em 0;
	padding: 7px 10px;
	color: var(--balloon-c);
	background: var(--balloon-bg);
}
.balloon1_R:before {
	position: absolute;
	top: 50%;
	left: 100%;
	margin-top: -5px;
	content: "";
	border-width: 5px 10px;
	border-style: solid;
	border-color: transparent transparent transparent var(--balloon-bg);
}

/**線（下）**/
.balloon2_B {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 0;
	padding: 7px 10px;
	text-align: center;
	color: var(--balloon-c);
	border: solid 1px var(--balloon-c);
	background: var(--balloon-bg);
}
.balloon2_B:before {
	position: absolute;
	z-index: 2;
	bottom: -18px;
	left: 50%;
	margin-left: -6px;
	content: "";
	border-width: 9px 6px;
	border-style: solid;
	border-color: var(--balloon-bg) transparent transparent transparent;
}
.balloon2_B:after {
	position: absolute;
	z-index: 1;
	bottom: -20px;
	left: 50%;
	margin-left: -7px;
	content: "";
	border-width: 10px 7px;
	border-style: solid;
	border-color: var(--balloon-c) transparent transparent transparent;
}
/**線（上）**/
.balloon2_T {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 0;
	padding: 7px 10px;
	text-align: center;
	color: var(--balloon-c);
	border: solid 1px var(--balloon-c);
	background: var(--balloon-bg);
}
.balloon2_T:before {
	position: absolute;
	z-index: 2;
	top: -18px;
	left: 50%;
	margin-left: -6px;
	content: "";
	border-width: 9px 6px;
	border-style: solid;
	border-color: transparent transparent var(--balloon-bg) transparent;
}
.balloon2_T:after {
	position: absolute;
	z-index: 1;
	top: -20px;
	left: 50%;
	margin-left: -7px;
	content: "";
	border-width: 10px 7px;
	border-style: solid;
	border-color: transparent transparent var(--balloon-c) transparent;
}
/**線（左）**/
.balloon2_L {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 0 1.5em 15px;
	padding: 7px 10px;
	text-align: center;
	color: var(--balloon-c);
	border: solid 1px var(--balloon-c);
	background: var(--balloon-bg);
}
.balloon2_L:before {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: -18px;
	margin-top: -6px;
	content: "";
	border-width: 6px 9px;
	border-style: solid;
	border-color: transparent var(--balloon-bg) transparent transparent;
}
.balloon2_L:after {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: -20px;
	margin-top: -7px;
	content: "";
	border-width: 7px 10px;
	border-style: solid;
	border-color: transparent var(--balloon-c) transparent transparent;
}
/**線（右）**/
.balloon2_R {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 15px 1.5em 0;
	padding: 7px 10px;
	text-align: center;
	color: var(--balloon-c);
	border: solid 1px var(--balloon-c);
	background: var(--balloon-bg);
}
.balloon2_R:before {
	position: absolute;
	z-index: 2;
	top: 50%;
	right: -18px;
	margin-top: -6px;
	content: "";
	border-width: 6px 9px;
	border-style: solid;
	border-color: transparent transparent transparent var(--balloon-bg);
}
.balloon2_R:after {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: -20px;
	margin-top: -7px;
	content: "";
	border-width: 7px 10px;
	border-style: solid;
	border-color: transparent transparent transparent var(--balloon-c);
}



/* -------------------------------------
カテゴリボタン
-------------------------------------*/
.catBtn {
	display: flex;
	flex-wrap: wrap ;
	justify-content: center;
	max-width: 90vw;
	margin: 35px auto;
}

.catBtn a {
	position: relative;
	display: block;
	min-width: 8em;
	margin: 15px 10px;
	padding: 10px 40px 10px 20px;
	text-align: left;
	color: var(--kon);
	border-bottom: 1px solid var(--kon);
	background: var(--white);
}
.catBtn a:after {
	position: absolute;
	top: 40%;
	right: 8px;
	display: block;
	width: 6px;
	height: 6px;
	content: "";
	transform: rotate(135deg) translateY(-50%);
	border-top: 1px solid var(--gray);
	border-right: 1px solid var(--gray);
}
.catBtn a:hover {
	color: var(--brown);
	background: var(--bodybg2);
	box-shadow: 1px 1px 0 var(--brown);
}

@media screen and (max-width: 520px) {
	.catBtn {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
		margin: 20px auto;
		transform: translateX(-5px);
	}
	.catBtn a {
		font-size: 0.8em;
		width: 48%;
		min-width: 8em;
		margin: 0 0 8px;
		padding: 10px 18px 10px 10px;
	}
}


/**-------------------------------------
地図 動画 iframe
-------------------------------------**/
iframe {
	width: 100%;
}
.youtube {
	position: relative;
	width: 100%;
	height: 0;
	margin: 30px auto 20px;
	padding-bottom: 56.25%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 520px) {
	.youtube {
		margin: 20px auto 10px;
	}
}
/* -------------------------------------
gmap
-------------------------------------*/
/**地図**/
.gmap iframe {
	width: 100%;
	height: 480px;
}
@media screen and (max-width: 480px) {
	.gmap iframe {
		height: 45vh;
	}
}
/* -------------------------------------
PDF埋め込み src="URL末尾#view=Fit"を入れる
-------------------------------------*/
.pdf_wrap {
	width: 800px;
	height: 500px;
}
.pdf_wrap iframe {
	display: block;
	width: 100%;
	height: 100%;
	margin: 30px auto;
}

@media screen and (max-width: 520px) {
	.pdf_wrap {
		width: 90%;
		height: 60vw;
	}
}

/* -------------------------------------
パンくず
-------------------------------------*/
#breadcrumb {
	font-size: 13px;
	width: 100%;
	padding: 8px var(--over-width-half);
	color: var(--bread-c);
	background: var(--bread-bg);
	border-bottom: 1px solid var(--kon2);
}
/*家アイコン*/
#breadcrumb > * {
	max-width: 980px;
	margin: 0 auto;
}
#breadcrumb > * li {
	display: inline-block;
	padding: 0 5px;
}
#breadcrumb > * li + li:before {
	display: inline-block;
	margin: 0 10px 0 0;
	content: "> ";
}
#breadcrumb a {
	text-decoration: underline;
}
#breadcrumb a:hover {
	text-decoration: none;
}

@media screen and (max-width: 520px) {
	#breadcrumb  > * {
		padding: 0 2%;
	}
}

/* -------------------------------------
ページャー OWLet
-------------------------------------*/
.pagenation {
	margin: 30px auto;
	text-align: center;
}
.pagenation span {
	line-height: 38px;
	display: inline-block;
	width: 40px;
	height: 40px;
	margin: 5px;
	text-align: center;
	color: var(--pgn-c);
	border: 1px solid var(--pgn-c);
	background: var(--pgn-bg);
}
.pagenation span.page {
	color: var(--pgn-bg);
	background: var(--pgn-c);
}
.pagenation span a {
	display: block;
	width: 100%;
	height: 100%;
	color: var(--pgn-c);
	background: var(--pgn-bg);
}
.pagenation span a:hover {
	color: var(--pgn-bg);
	background: var(--pgn-c);
}

@media screen and (max-width: 520px) {
	.pagenation span {
		line-height: 27px;
		width: 30px;
		height: 30px;
		margin: 3px;
	}
	.pagenation span a {
		min-width: 28px;
	}
}


/* -------------------------------------
ページャー WP
-------------------------------------*/
.pagenation_wp {
	margin: 30px auto;
	text-align: center;
}

.pagenation_wp a,
.pagenation_wp span {
	line-height: 38px;
	display: inline-block;
	min-width: 40px;
	height: 40px;
	margin: 5px;
	text-align: center;
	color: var(--pgn-c);
	border: 1px solid var(--pgn-c);
	background: var(--pgn-bg);
}

.pagenation_wp span.current {
	color: var(--pgn-c);
	background: var(--black);
}

.pagenation_wp a:hover {
	color: var(--pgn-c);
	background: var(--black);
}

.pagenation_wp .prev,
.pagenation_wp .next {
	padding: 0 8px;
	border: none;
}

@media screen and (max-width: 520px) {
	.pagenation a,
	.pagenation span {
		font-size: 13px;
		min-width: 30px;
	}
}

/* -------------------------------------
フォーム
-------------------------------------*/
/**エラー**/
.alert,
.error {
	margin: 5px 0;
	color: #ff0000;
}
form table th {
	position: relative;
}
/**必須**/
.require {
	font-size: 11px;
	font-weight: bold;
	line-height: 2em;
	position: absolute;
	display: inline-block;
	width: 3em;
	height: 2em;
	text-align: center;
	color: #ffffff;
	border-radius: 3px;
	background: #cc0000;
}
/**送信ボタン**/
.form_button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 20px auto;
	text-align: center;
}
.form_button input[type="submit"],
.form_button button[type="submit"],
.form_button input.submit,
.form_button a {
	font-size: 16px;
	display: inline-block;
	width: 300px;
	margin: 30px auto;
	padding: 15px 30px;
	text-align: center;
}
.form_button input[type="submit"]:hover,
.form_button button[type="submit"]:hover,
.form_button input.submit:hover,
.form_button a:hover {
}
/*入力タグ*/
form input[type="text"],
form input[type="email"],
form input[type="number"],
form textarea,
form select {
	font-size: 16px;
	line-height: 1.2;
	margin: 5px 5px;
	padding: 5px;
	border: 1px solid #cccccc;
}
form input[type="text"],
form input[type="email"] {
	width: 95%;
}
form textarea {
	width: 95%;
	min-height: 150px;
}
form select {
	margin: 0 5px 5px;
}
form label {
	display: block;
}

/**------------------------------ 
OWLet
 ------------------------------**/
/*電話 郵便番号*/
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;
}
/*記入例など*/
form .owlet-input-sample {
	font-size: 14px;
	margin-top: 5px;
	color: #999999;
}
/**フォーム規約**/
.-w-rules {
	width: 90%;
	margin: 0 auto 30px;
}
.-w-rules-title {
	font-weight: bold;
	margin-bottom: 10px;
	text-align: center;
}
.-w-rules-body {
	overflow-y: scroll;
	box-sizing: border-box;
	height: 200px;
	margin-bottom: 20px;
	padding: 15px;
	border: 1px solid #dcdcdc;
}
.-w-rules-agree,
.owlet-rules-agree{
	position: relative;
	margin-bottom: 50px;
	text-align: center;
}
.-w-rules-agree .require,
.owlet-rules-agree .require{
	position: static;
	margin: 0 15px;
}
.owlet-rules-title{
  display: none;
}

/**------------------------------ 
OWlet以外
 ------------------------------**/
form input[type="text"].min {
	width: 10em;
}



@media screen and (max-width: 520px) {
	.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 input[type="email"],
	form textarea,
	form select {
		font-size: 13px;
	}
}

/**================================================
事前相談ボタン（お問い合わせボックス内）
================================================ **/
.to_call-consult-btn {
  display: block;
  align-self: stretch;
  box-sizing: border-box;
  line-height: 0;
  text-decoration: none;
}
.to_call-consult-btn img {
  display: block;
  width: 100%;
  height: auto;
}
.to_call-consult-btn:hover {
  opacity: .85;
}

/**================================================
会館見学フォームの入力欄
================================================ **/
.f-wish {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
/* フォーム全体を中央に寄せる */
.visit-form {
  box-sizing: border-box;
  max-width: 980px;
  margin: 0 auto;
  padding: 50px 20px;
}
.f-wish {
  max-width: 500px;
}
.f-wish input,
.f-wish select {
  max-width: 100%;
}
/* 姓名・電話番号は横並びで均等に分ける */
.f-wish input[type="text"],
.f-wish input[type="tel"] {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
}
form td input[type="date"],
form td input[type="email"],
form td input[type="tel"],
form td input[type="text"],
form td select,
form td textarea {
  box-sizing: border-box;
  padding: 8px 10px;
  font-size: 16px;
  border: 1px solid var(--gray);
  background: #fff;
}
form td textarea {
  width: 100%;
  max-width: 500px;
}
form td input[type="email"],
form td select {
  max-width: 500px;
}
@media screen and (max-width: 520px) {
  .f-wish {
    max-width: 100%;
  }
  .f-wish input[type="date"],
  .f-wish select,
  form td select,
  form td input[type="email"] {
    width: 100%;
  }
}

/**================================================
テスト用会館ページを施設一覧カードから隠す
================================================ **/
.list-hall > li:has(> a[href^="/hall/test-visit/"]) { display:none !important; }
.list-hall > li#id2145 { display:none !important; }
[data-lib="38"]{
	border: none;
    font-size: inherit;
    outline: none;
    padding: 0;
	cursor:pointer;
}/*widget:f2a53862-9331-4c2d-b8fb-6ef078f366d9*/
[data-lib="173"]{
	border: none;
    font-size: inherit;
    outline: none;
    padding: 0;
	cursor:pointer;
}/*widget:b68d6153-eacd-4f4a-900c-bd97bc15c20b*/
[data-lib="177"]{
	border: none;
    font-size: inherit;
    outline: none;
    padding: 0;
	cursor:pointer;
}/*widget:dfe64285-1f0c-48e8-abc3-ab51de95ed2f*/
[data-lib="288"]{
	border: none;
    font-size: inherit;
    outline: none;
    padding: 0;
	cursor:pointer;
}/*widget:30f9afb4-1af7-487d-a9de-bddb645e9870*/
[data-lib="891"]{
	border: none;
    font-size: inherit;
    outline: none;
    padding: 0;
	cursor:pointer;
}/*widget:b6f69f76-bf75-4eb5-a978-4e417f58cf0d*/
/*widget:fbc57beb-8620-4a23-b4ab-13a658097f17*/
/*widget:dcf150b1-b51a-4f82-8770-7e230b5a4f2b*/
/*widget:0201f3d4-b477-4ce4-9fd1-b8047b9909bd*/
/*widget:08f2a466-5d57-4696-8e64-0f8c8aa43340*/
/*widget:34414b01-61a4-42bc-9608-d1f5e460f18f*/
/*widget:88a4d365-312d-42ad-8dae-d64d8cc44aeb*/
[data-lib="964"]{display: none;}@media screen and (max-width: 520px){[data-lib="964"]{padding:.3em 0 .7em;
	color: #fff;
	background: rgba(0 0 0/70%);
	display: block;
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	font-weight: bold;
	z-index: 900;}[data-lib="964"] *{box-sizing: border-box;}[data-lib="964"] .text01{font-size: min(12px,5vw);
	font-weight: 700;
	text-align: center;
	margin: 0 0 .3em;}[data-lib="964"] ul{width: 95%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;}[data-lib="964"] ul li{width: 49%;
	-webkit-box-flex: initial;
	-ms-flex: inherit;
	flex: inherit;}[data-lib="964"] ul li div{background: #e0cf5a;
	width: 100%;
	color: #000;
	font-size: min(12px);
	margin: 0 0 .5em;
	padding: 0 0;
	text-align: center;}[data-lib="964"] ul li div span{margin-right: .3em;
	color: #c40b0b;}[data-lib="964"] ul li a{padding: .3em 0;
	border-radius: .3em;
	box-shadow: 0 3px 0 #000;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;}[data-lib="964"] ul li a>span{font-size: min(20px,6vw);
	line-height: 1;}[data-lib="964"] ul li a i{margin-right: 3%;}[data-lib="964"] ul li a i img{width: auto;
	max-height: 21px;
	display: block;}[data-lib="964"] ul li.reds a{background: #c40b0b;}[data-lib="964"] ul li.yells a{background: #cba200;}}/*widget:f71eef67-464f-4273-9e64-df581eb5998f*/
/*widget:0f95e37d-90cc-4443-89d8-0ad1edaf8e96*/
/*widget:e148f0c8-6a4d-465c-bfc6-fd0b9593e056*/
/*widget:537be97e-33c7-4edd-a38d-6bc91a9d29bf*/
/*widget:2b24bcdb-fb4e-4a9c-9e2b-008eacf103d3*/
/*widget:a897215b-7e58-4d35-acaa-613983b426a0*/
/*widget:44260e0e-d60c-49fc-a182-0d625615c3ff*/
/*widget:087cf83c-c7b6-4204-a506-9e2770a7f5e0*/
/*widget:dfe64285-1f0c-48e8-abc3-ab51de95ed2f*/
/*widget:f2a53862-9331-4c2d-b8fb-6ef078f366d9*/
/*instance:2562*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:760ac1c2-fd79-4c46-bdae-41836ebb9330*/
/*widget:d99b1ed5-399a-4dc6-813d-62b73b2bbc8a*/
/*widget:1cdadef1-7882-41ed-8a4f-0da047834972*/
/*instance:2569*/[data-instance="2569"]{--titBm:0 auto 30px;
	--titBbg:#323232;
	--titBc:#fff;
	--titBta:center;
	--titBp:10p;}/*instance mediea*/@media screen and (max-width: 520px){}/*widget:c15c139a-a1be-4033-878f-0d47161b909d*/
/*instance:2572*/[data-instance="2572"]{--titBbg:#323232;
	--titBc:#fff;
	--titBta:center;
	--titBp:10p;}/*instance mediea*/@media screen and (max-width: 520px){}/*instance:2590*/[data-instance="2590"]{--titAm:0 auto 40px;}/*instance mediea*/@media screen and (max-width: 520px){[data-instance="2590"]{--titAm:0 auto 20px;}}/*widget:01975ca3-5b09-4ea8-896a-ddfbcbab6d20*/
/*widget:1e739f48-8629-462c-bea5-b5b83d99f008*/
[data-lib="960"]{display: none;}@media screen and (max-width: 520px){[data-lib="960"]{display: block;
	width: min(100%,90vw);
	margin: 5px auto;}[data-lib="960"] .telbtn2 strong{font-size: 18px;
	line-height: 1.5;
	margin: 0 0 10px;}}/*widget:30f9afb4-1af7-487d-a9de-bddb645e9870*/
/*instance:2603*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2605*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:3ecb740e-a31f-4d79-a4b7-8d9166a9fd61*/
/*widget:34de453f-9291-4f81-b813-0609b5f7b193*/
/*widget:63c7349e-f591-4584-b6a0-acd966ee4ba1*/
/*widget:5edafda8-3a8c-4249-96f7-ea58fafd7c96*/
/*instance:2617*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:b68d6153-eacd-4f4a-900c-bd97bc15c20b*/
/*instance:2633*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:bca8da2a-1b0e-4210-ac3b-090890a6a9e2*/
/*instance:2748*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2684*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:0d369506-4b2b-4cad-972b-0b1f8ec6657c*/
/*instance:2686*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2689*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2691*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2693*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:75425b60-71fe-40d9-8dc9-930d23fcbd74*/
/*instance:2713*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2715*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2724*/[data-instance="2724"]{--btnAw:500px;}/*instance mediea*/@media screen and (max-width: 520px){[data-instance="2724"]{--btnAw:100%;}}/*instance:2726*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2738*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2745*/[data-instance="2745"]{--btnAw:400px;}/*instance mediea*/@media screen and (max-width: 520px){[data-instance="2745"]{--btnAw:100%;
	--btnAm:10px auto 50px;}}/*instance:2636*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:3db4e93c-70e4-471f-848b-6515b89903d9*/
/*instance:2637*//*instance:2639*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2641*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2643*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2645*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2647*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2649*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2651*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:693c32ef-e702-4af3-9475-2afe0cb587d2*/
/*instance:2654*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:2f16681c-9a55-4b59-b5f7-0fb4dc2ce39b*/
/*widget:3a88d84b-2083-4a1d-be69-d243560b4368*/
/*instance:2657*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:ac2648e8-b203-4d7e-ac49-4d7d0cbf948c*/
/*instance:2670*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:2671*//*instance mediea*/@media screen and (max-width: 520px){}/*layout:1*//*layout:2*//********
サイトによって異なる
使い回し共通CSS
1.コーディング＞ページ編集＞レイアウト＞全レイアウト共通CSSにコピーして入れる。
********/

@charset "utf-8";
/* CSS Document */

/* -------------------------------------
Browser：IE11 over
-------------------------------------
基本装飾 -サイトにより変更-
-------------------------------------*/

:root {
	--base-width: 980px;
	--over-width-half: calc((100% - var(--base-width)) / 2);
	--ff2: "Noto Serif JP", serif;
	--ff:"Noto Sans JP", sans-serif;
	--webf: "Noto Sans JP", sans-serif;.slick-next
	--lato: "Lato", sans-serif;
	--header-height: 138px;
	--bodybg: #d9dde4;
	--bodybg2: #f3f3f3;
	--bodybg3: #f0f3f7;
	--black: #323232;
	--white: #ffffff;
	--pink: #b5476f;
	--pink2: #fff2f7;
	--red:#a70000;
	--red2:#cd1310;
	--kon: #294267;
	--kon2: #586c89;
	--beige: #aca26f;
	--beige2: #f9f4eb;
	--beige3: #dedac5;
	--yellow: #f2e54f;
	--gold: #d4a706;
	--gray: #989898;
	--gray2: #f3f3f3;
	--green:#026561;
	--plan01: #97ab6f;
	--plan02: #6faba1;
	--plan03: #6f79ab;
	--plan04: #ab6f97;
	--plan05: #ab836f;
	--plan06: #6f98ab;
	/**.fw-b.fw-bb*/
	--fw-b: 700;
	--fw-bb: 900;
	/**.edge**/
	--edge-color: #555555;
	--edge2-color: #555555;
	--edge3-color: #555555;
	/**.balloon**/
	--balloon-c: var(--black);
	--balloon-bg: var(--bodybg);
	/**.h-text-img**/
	--hti-lr-space: min(4vw, 60px);
	--hti-tb-space: min(2vw, 30px);
	--hti-w: 50%;
	/**.h-text-img**/
	--hti-parent-w: 100%;
	--hti-parent-m: auto;
	--hti-space-right: 0 0 0 40px;
	--hti-space-left: 0 40px 0 0;
	--hti-space-center: 20px auto;
	--hti-space-text: 0;
	--hti-w: 50%;
	/**.h-text 見出し横+テキスト**/
	--ht-space: min(4vw, 60px);
	--ht-tb-space: min(2vw, 30px);
	--ht-w: 25%;
	/**.list-alternate リスト互い違い**/
	--alimg-space: 0 0 0 40px;
	--alimg-space-even: 0 40px 0 0;
	--altxt-space: 0;
	--altxt-space-even: 0;
	--al-w: 50%;
	/**.pagenation**/
	--pgn-c: var(--kon);
	--pgn-bg: var(--white);
	/**#breadcrumb**/
	--bread-c: var(--kon);
	--bread-bg: var(--bodybg);
	/**写真なしリスト**/
	--nop-b-c: none;
	--nop-cat-bg: var(--bodybg);
	--nop-cat-c: var(--white);
}
@media screen and (max-width:520px) {
	:root {
		--base-width: 100%;
		--over-width-half: 5%;
		--header-height: 114px;
		/**.h-text-img**/
		--hti-space-right: 0 0 0 40px;
		--hti-space-left: 0 40px 0 0;
		--hti-space-center: 20px auto;
		--hti-space: 20px auto;
		--hti-w: 100%;
		/**.h-text 見出し横+テキスト**/
		--ht-lr-space: 0;
		--ht-tb-space: 0;
		--ht-w: 100%;
		/**.list-alternate リスト互い違い**/
		--altxt-spflex: column;
		--al-w: 95%;
		--alimg-space: 0 5%;
		--alimg-space-even: 0 5%;
		--altxt-space: 0 5%;
		--altxt-space-even: 0 5%;
	}
}

body {
	font-family: var(--ff);
	line-height: 1.8;
	min-width: var(--base-width);
	padding-top: var(--header-height);
}
.webf {
	font-family: var(--webf);
}
svg {
	line-height: 1;
	display: inline-block;
	width: 40px;
	height: 40px;
	margin: 0 5px;
	vertical-align: middle;

	fill: var(--bodybg);
}
img {
	max-width: 100%;
	height: auto;
}

hr {
	margin: 0;
	border-top: 1px dashed var(--gray);
}

.h-text-img img {
	width: 100%;
	max-width: none;
}

@media screen and (max-width:520px) {
	hr {
		margin: 20px 0 0;
	}
	
	.lh15_sp{
	  line-height:1.5;
	}
	.lh14_sp{
	  line-height:1.4;
	}
	.lh13_sp{
	  line-height:1.3;
	}
	.lh12_sp{
	  line-height:1.2;
	}
	.lh11_sp{
	  line-height:1.1;
	}
}



/**================================================================================
サイトで必ず異なる
================================================================================**/

.section_c01 {
	background: var(--bodybg2) url(/common/images/top_bg02_3per.png) repeat top left / 250px auto;
}

.section_c02 {
	background: var(--bodybg);
}

.section_c03 {
	background: var(--bodybg2);
}

.section_c04 {
	background: var(--pink2);
}

.section_c05 {
	background: var(--bodybg3);
}

.section02 {
	padding: 20px var(--over-width-half) ;
}.section02_t {
	padding: 20px var(--over-width-half) 1px;
}.section02_b {
	padding: 1px var(--over-width-half) 20px;
}

.section03 {
	padding: 30px var(--over-width-half) ;
}.section03_t {
	padding: 30px var(--over-width-half) 1px;
}.section03_b {
	padding: 1px var(--over-width-half) 30px;
}

.section04 {
	padding: 40px var(--over-width-half) ;
}.section04_t {
	padding: 40px var(--over-width-half) 1px;
}.section04_b {
	padding: 1px var(--over-width-half) 40px;
}

.section05 {
	padding: 50px var(--over-width-half) ;
}.section05_t {
	padding: 50px var(--over-width-half) 1px;
}.section05_b {
	padding: 1px var(--over-width-half) 50px;
}
.section05_a{
  padding: 50px var(--over-width-half) 1px;
}

.section08 {
	padding: 80px var(--over-width-half) ;
}.section08_t {
	padding: 80px var(--over-width-half) 1px;
}.section08_b {
	padding: 1px var(--over-width-half) 80px;
}

.section10 {
	padding: 100px var(--over-width-half) ;
}.section10_t {
	padding: 100px var(--over-width-half) 1px;
}.section10_b {
	padding: 1px var(--over-width-half) 100px;
}
.section_LR0 {
	padding-right: 0;
	padding-left: 0;
}
.section_L0 {
	padding-left: 0;
}.section_R0 {
	padding-right: 0;
}

.section_base_width{
  padding-left:var(--over-width-half);
  padding-right: var(--over-width-half);
}

@media screen and (max-width:520px) {
	.section02 {
		padding: 10px var(--over-width-half) ;
	}.section02_t {
		padding: 10px var(--over-width-half) 1px;
	}.section02_b {
		padding: 1px var(--over-width-half) 10px;
	}

	.section03 {
		padding: 15px var(--over-width-half) ;
	}.section03_t {
		padding: 15px var(--over-width-half) 1px;
	}.section03_b {
		padding: 1px var(--over-width-half) 15px;
	}

	.section04 {
		padding: 20px var(--over-width-half) ;
	}.section04_t {
		padding: 20px var(--over-width-half) 1px;
	}.section04_b {
		padding: 1px var(--over-width-half) 20px;
	}

	.section05 {
		padding: 25px var(--over-width-half) ;
	}.section05_t {
		padding: 25px var(--over-width-half) 1px;
	}.section05_b {
		padding: 1px var(--over-width-half) 25px;
	}
	
	.section05_a{
    padding: 1px var(--over-width-half) 25px;
  }


	.section08 {
		padding: 40px var(--over-width-half) ;
	}.section08_t {
		padding: 40px var(--over-width-half) 1px;
	}.section08_b {
		padding: 1px var(--over-width-half) 40px;
	}

	.section10 {
		padding: 50px var(--over-width-half) ;
	}.section10_t {
		padding: 50px var(--over-width-half) 1px;
	}.section10_b {
		padding: 1px var(--over-width-half) 50px;
	}

	.section_LR0_sp {
		padding-right: 0;
		padding-left: 0;
	}
	.section_L0_sp {
		padding-left: 0;
	}.section_R0_sp {
		padding-right: 0;
	}
	.section_LR5_sp{
	  padding-right: 5%;
		padding-left: 5%;
	}
}

/**------------------------------ 
スライドナビゲーション
 ------------------------------**/

.slick-prev,
.slick-next {
	position: absolute;
	z-index: 10;
	top: 45%;
	color: transparent;
	background: none;
}
.slick-prev {
	left: -50px;
}
.slick-next {
	right: -35px;
}
.slick-prev,
.slick-next {
	width: 30px;
	height: 30px;
}
.slick-prev:before,
.slick-next:before {
	font-family: var(--lato);
	font-size: 1.2em;
	line-height: 30px;
	display: inline-block;
	width: calc(30px * 1.4);
	height: 30px;
	content: ">";
	transform: scale(0.7, 1);
	text-align: center;
	color: var(--kon);
	border: 1px solid var(--gray);
	border-radius: 50%;
	background: var(--white);
}.slick-prev:before {
	content: "<";
}
.slick-slide {
	margin: 0;
}

/* Dots */
.slick-dotted.slick-slider {
	margin-bottom: 30px;
}

.slick-dots {
	position: absolute;
	bottom: -25px;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}
.slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
}
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 20px;
	height: 20px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
	outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
	opacity: 1;
}
.slick-dots li button:before {
	font-size: 6px;
	line-height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	content: "●";
	text-align: center;
	opacity: 0.25;
	color: black;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
	opacity: 0.75;
	color: black;
}

.column3 .slick-slide {
	margin: 0 5px;
}

@media screen and (max-width:520px) {
	.slick-prev,
	.slick-next {
		top: 45%;
	}
	.slick-prev {
		left: -15px;
	}
	.slick-next {
		right: 10px;
	}
}

/**-------------------------------------
アイコン
-------------------------------------**/
.em {
	font-size: 14px;
	display: inline-block;
	margin-right: 1px;
	padding: 3px 10px;
}
.time {
	font-size: 14px;
	display: inline-block;
	margin: 5px 0;
}

/**-------------------------------------
見出し
-------------------------------------**/
.titZ {
	font-size: 2.2em;
	padding: 40px var(--over-width-half);
	text-align: center;
	color: var(--white);
	background: var(--kon) url(/common/images/top_bg02_white.png);
}

.titZ2 {
	font-size: 1.5em;
	margin: 30px 0 0;
	padding: 10px 0;
	text-align: center;
	color: var(--white);
	background: var(--plan01) /*url(/common/images/first_bg01.png) no-repeat right top / auto 100px*/;
}

@media screen and (max-width:520px) {
	.titZ {
		font-size: 1.4em;
		padding: 20px var(--over-width-half);
	}

	.titZ2 {
		font-size: 1.3em;
		width: 100%;
		margin: 0 0 20px;
		padding: 5px;
	}
}

:root {
	--titAm: auto;
	--titAfz: 36px;
	--titAc: var(--black);
	--titAta: center;
}

.pink {
	color: var(--pink);
}
.yellow{
  color: var(--yellow);
}
.white{
  color:var(--white);
}

.titA {
	font-size: var(--titAfz);
	position: relative;
	margin: var(--titAm);
	text-align: var(--titAta);
	color: var(--titAc);
}.titA:after {
	line-height: 1.5;
	display: block;
	width: 180px;
	height: 2px;
	margin: 10px auto;
	content: "";
	background: linear-gradient(to right, var(--beige) 0%,var(--beige) 50%,var(--beige3) 50%,var(--beige3) 100%);
}

.titA small {
	font-size: 0.8em;
	display: block;
}

:root {
	--titBta: left;
	--titBfz: 1.2rem;
	--titBm: 30px auto;
	--titBc: var(--black);
	--titBp: 0;
	--titBbg: none;
	--titBb: none;
}

.titB {
	font-size: var(--titBfz);
	font-weight: bold;
	margin: var(--titBm);
	padding: var(--titBp);
	text-align: var(--titBta);
	color: var(--titBc);
	border: var(--titBb);
	background: var(--titBbg);
}

@media screen and (max-width:520px) {
	:root {
		--titAfz: 21px;
	}
	.titA:after {
		width: 90px;
	}
}

/**-------------------------------------
ボタン
-------------------------------------**/
.catBtn02 {
	display: flex;
	justify-content: center;
}

.catBtn02 a {
	line-height: 1.5;
	position: relative;
	display: flex;
	align-items: center;
	flex-flow: column;
	justify-content: center;
	margin: 0 3px;
	padding: 15px 20px;
	color: var(--kon);
	border: 1px solid var(--bodybg);
	background: var(--bodybg);
}.catBtn02 a + a:before {
	position: absolute;
	top: 50%;
	left: -1px;
	display: block;
	width: 0;
	height: 0;
	content: "";
	transform: translateY(-50%);
	border-width: 8px 0 8px 8px;
	border-style: solid;
	border-color: transparent transparent transparent var(--white);
}
.catBtn02 a.current,
.catBtn02 a:hover {
	color: var(--yellow);
	background: var(--kon);
}

@media screen and (max-width:520px) {
	.catBtn02 {
		flex-flow: column;
	}
	.catBtn02 a {
		margin: 0 0 5px;
		padding: 10px 20px;
	}.catBtn02 a + a:before {
		position: absolute;
		top: -1px;
		left: 50%;
		display: block;
		width: 0;
		height: 0;
		content: "";
		transform: translateX(-50%);
		border-width: 8px 8px 0 8px;
		border-style: solid;
		border-color: var(--white) transparent transparent transparent;
	}
}

.catBtn03_wrap {
	--titAm: 0 0 30px;
	--titBta: center;
	--titBfz: 24px;
	--titBc: var(--kon);
}

.catBtn03 {
	display: flex;
	flex-flow: row;
	justify-content: center;
	margin: 40px auto;
}
.catBtn03 > * {
	-ms-writing-mode: tb-rl;

	writing-mode: vertical-lr;
	text-orientation: upright;
}

.catBtn03 h3 {
	font-size: 1.2em;
	font-weight: bold;
	padding: 15px;
	letter-spacing: 2px;
	color: var(--white);
	background: var(--kon);
}
.catBtn03 a {
	font-size: 1.2em;
	font-weight: normal;
	line-height: 1.3;
	position: relative;
	margin: 0 30px;
	padding: 15px 10px 50px;
	letter-spacing: 2px;
	-ms-writing-mode: tb-rl;
	color: var(--kon);
	border-right: 1px dashed var(--kon);
	border-left: 1px dashed var(--kon);
	/*border: 1px solid var(--gray);
	box-shadow: 1px 1px 5px rgba(0,0,0,0.3);*/

	writing-mode: vertical-lr;
	text-orientation: upright;
}.catBtn03 a:after {
	position: absolute;
	top: 90%;
	left: 40%;
	display: block;
	width: 6px;
	height: 6px;
	content: "";
	transform: rotate(135deg) translateX(-50%);
	border-top: 1px solid var(--gray);
	border-right: 1px solid var(--gray);
}
.catBtn03 a + a:before {
	position: absolute;
	top: 50px;
	left: -35px;
	display: block;
	width: 20px;
	height: 20px;
	content: "";
	transform: rotate(45deg);
	animation: move 0.8s 1s infinite;
	border-top: 4px solid var(--kon);
	border-right: 4px solid var(--kon);
}
.catBtn03 a:hover {
	background: var(--bodybg2);
}
.catBtn03 a br {
	display: none;
}
.catBtn03 a span {
	text-combine-upright: all;
	font-family: sans-serif;
}

@media screen and (max-width:520px) {
	.catBtn03_wrap {
		--titAm: 0 0 10px;
		--titBta: center;
		--titBfz: 16px;
		--titBc: var(--kon);
	}

	.catBtn03 {
		margin: 30px auto;
	}

	.catBtn03 h3 {
		font-size: 1em;
		padding: 15px 5px;
		letter-spacing: 0;
	}
	.catBtn03 a {
		font-size: 1em;
		margin: 0 15px;
		padding: 15px 10px 40px;
		letter-spacing: 0;

		writing-mode: vertical-lr;
		text-orientation: upright;
	}
	.catBtn03 a + a:before {
		position: absolute;
		top: 50px;
		left: -25px;
		display: block;
		width: 15px;
		height: 15px;
		content: "";
		transform: rotate(45deg) ;
		border-top: 3px solid var(--kon);
		border-right: 3px solid var(--kon);
	}
	.catBtn03 a:hover {
		background: var(--bodybg2);
	}
	.catBtn03 a br {
		display: none;
	}
}

.catBtn04 {
  display: flex;
  flex-flow: row;
  justify-content: center;
  margin: 40px auto;
  position: relative;
}

.catBtn04>*:last-child:after {
  position: absolute;
  top: 30px;
  right: -40px;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0 20px 20px;
  border-color: transparent transparent transparent var(--kon);
}

.catBtn04>* {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-lr;
  text-orientation: upright;
  position: relative;
}

.catBtn04>*:before {
  content: "";
  display: inline-block;
  width: 29px;
  height: 20px;
  background: var(--kon);
  position: absolute;
  top: 40px;
  right: -30px;
}

.catBtn04 a {
  font-size: 1.2em;
  font-weight: normal;
  line-height: 1.3;
  position: relative;
  margin: 0 15px;
  padding: 30px 10px;
  letter-spacing: 2px;
  -ms-writing-mode: tb-rl;
  color: var(--kon);
  border: 1px dashed var(--kon);
  writing-mode: vertical-lr;
  text-orientation: upright;
  cursor: default;
  background: var(--white);
}

.catBtn04 a.blank {
  border-color: var(--white);
  color: var(--gray);
}

@media screen and (max-width:520px) {
  .catBtn04 {
    margin-left: -20px;
  }

  .catBtn04 a {
    font-size: 1em;
    margin: 0 5px;
    padding: 30px 5px;
    letter-spacing: 0;

    writing-mode: vertical-lr;
    text-orientation: upright;
  }

  .catBtn04>*:before {
    width: 9px;
    right: -10px;
  }

  .catBtn04>*:last-child:after {
    position: absolute;
    top: 30px;
    right: -25px;
    border-width: 20px 0 20px 15px;
  }
}


:root {
	--btnWrapb: 30px auto;
	--btnAw: 340px;
	--btnAc: var(--white);
	--btnAbg: var(--kon);
	--btnAbd: var(--kon);
	--btnAm: 15px auto;
}


.btnWrap {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: var(--btnWrapb);
}

.btnWrap > * {
}

.btnA {
	font-family: var(--webf);
	font-size: 1em;
	position: relative;
	display: block;
	width: var(--btnAw);
	margin: var(--btnAm);
	padding: 10px 5px;
	cursor: pointer;
	text-align: center;
}
.btnA.t_C {
	margin-right: auto;
	margin-left: auto;
}
.btnA {
	color: var(--btnAc);
	border: 1px solid var(--btnAbd);
	background: var(--btnAbg);
}
.btnA i {
	line-height: 1;
	position: absolute;
	top: 50%;
	right: 5px;
	display: block;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	border-radius: 50px;
	background: var(--btnAc);
}
.btnA svg {
	width: 5px;
	height: 10px;

	fill: var(--btnAbg);
}
.btnA:hover,
a:hover .btnA {
	-webkit-transition: 0.3s;
	transition: 0.3s;
	color: var(--btnAbg);
	border: 1px solid var(--btnAbg);
	background: var(--btnAc);
}.btnA:hover i,
a:hover .btnA i {
	background: var(--btnAbg);
}.btnA:hover i svg,
a:hover .btnA i svg {
	fill: var(--btnAc);
}

:root {
	--btnBw: 340px;
	--btnBc: var(--kon);
	--btnBbg: var(--beige2);
	--btnBbd: var(--gray);
	--btnBm: 10px auto;
}
.btnB {
	font-family: var(--webf);
	font-size: 1em;
	font-weight: normal;
	position: relative;
	display: block;
	width: var(--btnBw);
	margin: var(--btnBm);
	padding: 8px 5px;
	cursor: pointer;
	text-align: center;
}
.btnB.t_C {
	margin-right: auto;
	margin-left: auto;
}
.btnB {
	color: var(--btnBc);
	border: 1px solid var(--btnBbd);
	background: var(--btnBbg);
}.btnB svg {
	position: absolute;
	top: 50%;
	right: 5px;
	width: 5px;
	height: 10px;
	transform: translateY(-50%);

	fill: var(--btnBc);
}
.btnB:hover,
a:hover .btnB {
	-webkit-transition: 0.3s;
	transition: 0.3s;
	color: var(--btnBbg);
	border: 1px solid var(--btnBbg);
	background: var(--btnBc);
}.btnB:hover svg,
a:hover .btnB svg {
	fill: var(--btnBbg);
}


.btnC{
  font-size: 16px;
  position: relative;
  display: block;
  width: 100%;
  max-width:520px;
  margin: 10px auto 0;
  padding: 15px 5px;
  color: var(--white);
  border-radius: 5px;
  background: var(--pink);
  text-align: center;
}.btnC svg {
	position: absolute;
	top: 50%;
	right: 5px;
	width: 5px;
	height: 10px;
	transform: translateY(-50%);

	fill: var(--white);
}


.btnD{
  position:relative;
  font-family: var(--webf);
  width: 340px;
  text-align: center;
  display: block;    /* インラインブロック化 */
  background-color: #a00;   /* グラデーションが表示できない際の背景色 */
  background-image: linear-gradient( 0deg, #800000, #ff8080 );
   color: white;             /* 文字色 */
   border-radius: 50px;    /* 角丸 */
   padding: 0.5em 1em;       /* 内側の余白量 */
   text-decoration: none;    /* 下線を消す */
   vertical-align: middle;   /* 縦方向の位置を中心で揃える */
   margin:var(--btnDm);
}
.btnD:hover{
  background-image: none;     /* グラデーションを消す */
  background-color: #ffddcc;  /* 背景色 */
  color: #900;                /* 文字色 */
}.btnD i {
	line-height: 1;
	position: absolute;
	top: 50%;
	right: 5px;
	display: block;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	border-radius: 50px;
	background: white;
}
.btnD svg {
	width: 5px;
	height: 10px;

	fill: #ff8080;
}



.btnE{
  position:relative;
  font-family: var(--webf);
  width: 340px;
  text-align: center;
  display: block;    /* インラインブロック化 */
  background-color: #d4a706;   /* グラデーションが表示できない際の背景色 */
  background-image: linear-gradient( 0deg, #b38e0c, #d9cc35 );
   color: #ffffff;             /* 文字色 */
   border-radius: 50px;    /* 角丸 */
   padding: 0.5em 1em;       /* 内側の余白量 */
   text-decoration: none;    /* 下線を消す */
   vertical-align: middle;   /* 縦方向の位置を中心で揃える */
   margin:var(--btnDm);
   /*font-weight: bold;*/
}
.btnE:hover{
  background-image: none;     /* グラデーションを消す */
  background-color: #b38e0c;  /* 背景色 */
  color: #ffffff;                /* 文字色 */
}.btnE i {
	line-height: 1;
	position: absolute;
	top: 50%;
	right: 5px;
	display: block;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	border-radius: 50px;
	background: white;
}
.btnE svg {
	width: 5px;
	height: 10px;

	fill:#b38e0c;
}


@media screen and (max-width: 520px) {
	:root {
		--btnAw: 90%;
		--btnBw: 90%;
	}

	.btnWrap {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		width: 100%;
		margin: var(--btnWrapb);
	}

	.btnWrap > * {
	}
	
	.btnD,.btnE{
	  width: 100%;
	}
}

a[class^="btn-k"]{
  display: block;
  padding: 10px 5px;
  font-size: 14px;
  text-align: center;
  width: 100%;
  border-radius: 3px;
  margin-bottom: 5px;
}

.btn-k01{
  background: #294267;
  color:#fff;
  
  grid-area: b1;
}

.btn-k02{
  background: #c45353;
  color:#fff;
  
  grid-area: b2;
}

.btn-k03{
  background: #af8b43;
  color:#fff;
  
  grid-area: b3;
}


.list-hall .modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 / 60%);
}

.list-hall .modal:target {
  display: flex;
}

.list-hall li a.close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 24px;
  color: black;
  text-decoration: none;
  cursor: pointer;
  transform: translate(50%, -50%);
  width:auto;
}

.list-hall .modal-wrapper {
  position: relative;
  width: 80%;
  max-width: 500px;
  max-height: 70%;
  padding: 50px 20px;
  margin: auto;
  background-color: #FEFEFE;
  border-radius: 20px;
}

.list-hall .modal-content {
  text-align: center;
}

.list-hall .modal-content a{
  display: block;
  margin: 15px 0 0;
  text-decoration: none;
  color: var(--red);
  font-weight: bold;
  font-size: 32px;
  text-align: center;
}


/**================================================== 
 テーブル
================================================== **/

/* -------------------------------------
テーブル
-------------------------------------*/
.table table {
	width: 100%;
	margin: 30px auto;
	border-spacing: 1px;
	border-collapse: separate;
	background: #aaaaaa;
}
.table th,
.table td {
	padding: 15px;
	text-align: left;
	vertical-align: top;
	background: #ffffff;
}
.table th {
	width: 30%;
	vertical-align: middle;
	color: var(--white);
	background: var(--kon2);
}

@media screen and (max-width: 520px) {
	.table table,
	.table tbody,
	.table tr,
	.table th,
	.table td {
		display: block;
		border: none;
	}
	.table table {
		border-bottom: 1px solid #aaaaaa;
	}
	.table th,
	.table td {
		padding: 10px;
		border: 1px solid #aaaaaa;
		border-bottom: none;
	}
	.table th {
		width: 100%;
	}
}

/* -------------------------------------
テーブル 生年月日
-------------------------------------*/
.table.birthday tbody{
  display: flex;
  flex-flow: wrap;
  background: #fff;
}

.table.birthday tr{
  display: flex;
  width: 100%;
  border-bottom: 1px solid #aaaaaa;
  border-top: 1px solid #aaaaaa;
  margin-top:-1px;
}
.table.birthday tr th{
  width: 250px;
}

.table.birthday tr td{
  flex:1;
}

@media screen and (max-width: 520px) {
  .table.birthday tr{
    flex-flow:column;
  }
  .table.birthday tr th{
    width: 100%;
    font-size:0.9em;
  }
}

/* -------------------------------------
仮会員登録フォーム
/membarship/temporary/
-------------------------------------*/

.birthday select{
  margin: 5px;
}

.birthday.t6789 tr:nth-child(6),
.birthday.t4567 tr:nth-child(4){
  width: 48%;
}
.birthday.t6789 tr:nth-child(6) select,
.birthday.t4567 tr:nth-child(4) select{
  margin: 5px 0 0;
  width: 100%;
}
.birthday.t6789 tr:nth-child(7),
.birthday.t6789 tr:nth-child(8),
.birthday.t4567 tr:nth-child(5),
.birthday.t4567 tr:nth-child(6){
  width: 10%;
  position: relative;
}
.birthday.t6789 tr:nth-child(7) th,
.birthday.t6789 tr:nth-child(8) th,
.birthday.t4567 tr:nth-child(5) th,
.birthday.t4567 tr:nth-child(6) th{
  display: none;  
}

.birthday.t6789 tr:nth-child(7) input,
.birthday.t6789 tr:nth-child(8) input,
.birthday.t4567 tr:nth-child(5) input,
.birthday.t4567 tr:nth-child(6) input{
  width: 80%;
}
.birthday.t6789 tr:nth-child(7) td:after,
.birthday.t6789 tr:nth-child(8) td:after,
.birthday.t4567 tr:nth-child(5) td:after,
.birthday.t4567 tr:nth-child(6) td:after{
  position:absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}


.birthday.t6789 tr:nth-child(7) td:after,
.birthday.t4567 tr:nth-child(5) td:after{
  content: "月";
}
.birthday.t6789 tr:nth-child(8) td:after,
.birthday.t4567 tr:nth-child(6) td:after{
  content: "日";
}

@media screen and (max-width:520px) {

.birthday.t6789 tr:nth-child(6),
.birthday.t4567 tr:nth-child(4){
  width: 38%;
}

.birthday.t4567 tr:nth-child(4){
  width: 50%;
}

.birthday.t6789 tr:nth-child(7),
.birthday.t6789 tr:nth-child(8),
.birthday.t4567 tr:nth-child(5),
.birthday.t4567 tr:nth-child(6){
  width: auto;
  flex:1;
}
.birthday.t6789 tr:nth-child(7) th,
.birthday.t6789 tr:nth-child(8) th,
.birthday.t4567 tr:nth-child(5) th,
.birthday.t4567 tr:nth-child(6) th{
  display: block;
}

.birthday.t6789 tr:nth-child(6) th .require,
.birthday.t6789 tr:nth-child(7) th .require,
/*.birthday.t6789 tr:nth-child(8) th .require,
.birthday.t6789 tr:nth-child(9) th .require,*/
.birthday.t4567 tr:nth-child(4) th .require,
.birthday.t4567 tr:nth-child(5) th .require,
/*.birthday.t4567 tr:nth-child(6) th .require
,.birthday.t4567 tr:nth-child(7) th .require*/{
  display: none;
}

.birthday.t6789 tr:nth-child(6) td,
.birthday.t6789 tr:nth-child(7) td,
.birthday.t6789 tr:nth-child(8) td,
.birthday.t4567 tr:nth-child(4) td,
.birthday.t4567 tr:nth-child(5) td,
.birthday.t4567 tr:nth-child(6) td{
padding:10px 3px;
}

.birthday.t6789 tr:nth-child(7) td:after,
.birthday.t6789 tr:nth-child(8) td:after,
.birthday.t4567 tr:nth-child(5) td:after,
.birthday.t4567 tr:nth-child(6) td:after{
  display: none;
}


}

/* -------------------------------------
テーブルA
-------------------------------------*/
.tableA table {
	font-family: var(--lato) , var(--webf);
	width: 100%;
	margin: 30px auto;
	border-spacing: 1px;
	border-collapse: separate;
	background: #aaaaaa;
}
.tableA th,
.tableA td {
	padding: 10px 15px;
	text-align: left;
	vertical-align: top;
	background: #ffffff;
}
.tableA .member td {
	background: var(--pink2);
}

.tableA .member td:nth-last-child(1),
.tableA .member td:nth-last-child(2){
  color: var(--pink);
}
.tableA td:nth-last-child(1),
.tableA td:nth-last-child(2) {
	font-weight: bold;
}
.tableA th {
	width: 25%;
	vertical-align: middle;
	color: var(--white);
	background: var(--kon2);
}

@media screen and (max-width:520px) {
	.tableA table {
		font-size: 0.9em;
		width: 130%;
		margin: 15px auto;
	}
	.tableA th,
	.tableA td {
		padding: 5px;
	}
	.tableA th {
		font-size: 0.9em;
		font-weight: normal;
		line-height: 1.3;
	}
}


/**================================================================================
フォーム周り
form table
form table th .require
form .form_button button or input = submit
================================================================================**/

.require {
	top: 0;
	right: 0.5em;
	bottom: 0;
	margin: auto 5px;
}


.form_button input
.form_button input[type="submit"],
.form_button button[type="submit"], 
.form_button input.submit{
    font-family: var(--webf);
    font-size: 1em;
    position: relative;
    display: block;
    width: var(--btnAw);
    margin: var(--btnAm);
    padding: 10px 5px;
    cursor: pointer;
    text-align: center;
    color: var(--btnAc);
    border: 1px solid var(--btnAbd);
    background: var(--btnAbg);
}

/**================================================== 
header
header nav ul
header .hamburger > (span*3)
================================================== **/

header {
	font-family: var(--webf);
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	min-width: var(--base-width);
	background: var(--white);
}

header .nav-top {
	display: flex;
	justify-content: space-between;
}
header .nav-top_inner {
	font-family: var(--ff);
	display: flex;
}

header .logo {
	font-size: 13px;
	display: flex;
	flex-flow: column;
	margin: 5px 10px;
}header .logo strong {
	font-weight: normal;
}header .logo img {
	width: 310px;
}

header .tel {
	font-size: 30px;
	line-height: 1;
	margin: 10px 25px 0;
	color: var(--red);
	position:relative;
	font-weight: 700;
}
header .tel:before{
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  background: url(/common/images/tel_woman.png) no-repeat center / contain;
  position:absolute;
  top:0;
  left:-70px;
}
header .tel svg {
	fill: var(--red);
	--svg:var(--red);
}header .tel p {
	font-size: 13px;
	color: var(--red);
}header .tel ruby rt {
	font-family: var(--webf);
	font-size: 10px;
}

header .first,
header .mail {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px 30px;
	color: var(--white);
}
header .first {
	background: var(--red);
}
header .mail {
	background: var(--kon);
}

header nav ul {
	display: flex;
	justify-content: center;
}

header nav ul  a {
	line-height: 1;
	position: relative;
	display: block;
	padding: 20px 2vw;
}header nav ul  li + li a:before {
	position: absolute;
	top: 20px;
	left: 0;
	display: block;
	width: 1px;
	height: 1.2em;
	content: "";
	background: var(--black);
}

header nav ul li:is(.city_m,.city_i),
header .nav-bottom a:is(.city_m,.city_i){
  display: none;
}

header .kaisou{
  display: none;
  background: #2e75b6;
}

header .nav-top_inner .kaisou{
  aspect-ratio: 250 / 48;
  width: 300px;
  align-items: center;
  padding: 10px 5px;
  margin:0 1px 0 0;
}

header .nav-bottom a.kaisou{
  align-items: center;
  width: 80%;
  flex: none;
  padding: 5px 0;
}

header .hamburger,
header .nav-bottom,
header .buill {
	display: none;
}

header .kaisou{
  display: flex;
}

header .mail{
  display: none;
}


@media screen and (max-width: 1170px){
  header .nav-top_inner{
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: 300px 1fr;
    grid-template-areas: "tel kaisou"
    "tel first";
  }
  
  header .tel{
    grid-area: tel;
  }
  header .nav-top_inner .kaisou{
    grid-area: kaisou;
    padding: 0 5px;
    text-align: center;
    justify-content: center;
  }
  header .kaisou img{
    height: 3em;
    width: auto;
  }
  header .first{
    grid-area: first;
    padding:5px 30px;
  }
}

@media screen and (max-width: 520px) {

header .nav-bottom .kbnr{
  display: none!important;
}

.megamenu_sp{
  display: none;
}

header .kaisou img{
  height: auto;
}

}




@media screen and (max-width: 520px) {
	header {
		background: none;
	}
	header .nav-top {
		background: var(--white);
		box-shadow: 0 1px 3px rgba(0,0,0,0.2);
	}
	header .nav-top_inner {
		display: none;
	}

	header .logo {
		margin: 12px 10px 17px;
	}
	header .logo strong {
		display: none;
	}header .logo img {
		width: 190px;
	}

	header .buill {
		font-size: 12px;
		line-height: 1;
		position: absolute;
		top: 0;
		right: 70px;
		display: block;
	}	header .buill svg {
		display: block;
		width: 26px;
		height: 37px;
		margin: 0 auto;

		fill: var(--black);
	}

	header .nav-bottom {
		font-size: 12px;
		line-height: 1;
		display: flex;
		overflow: hidden;
		justify-content: space-between;
		margin: 0;
		text-align: center;
		border-top: 1px solid var(--gray);
		border-bottom: 1px solid var(--gray);
		background: var(--white);
	}
	header .nav-bottom svg {
		display: block;
		width: 26px;
		height: 37px;
		margin: 0 auto;
	}
	header .nav-bottom > * {
		flex: 1;
		padding: 0 0 5px;
		border-right: 1px solid var(--gray);
	}
	header .nav-bottom .first2 {
		color: var(--white);
		border: none;
		background: var(--red);
	}
	header .nav-bottom .first2 svg {
		fill: var(--white);
	}
	header.onBg .nav-bottom {
		animation-name: fadeout;
		animation-duration: 0.5s;
		animation-timing-function: ease-out;

		animation-fill-mode: forwards;
	}@keyframes fadeout {
		0% {
			height: auto;
			opacity: 1;
		}
		100% {
			height: 0;
			opacity: 0;
		}
	}



	header nav {
		font-size: 16px;
		position: fixed;
		z-index: 1000;
		top: 0;
		right: -300px;
		align-items: flex-start;
		justify-content: flex-start;
		box-sizing: border-box;
		width: 300px;
		height: 100%;
		padding-top: 60px;
		background: var(--kon);
	}
	header nav ul {
		flex-flow: column;
		width: 100%;
	}
	header nav ul li a {
		display: block;
		padding: 20px 28px;
		text-decoration: none;
		color: var(--white);
	}
	header nav ul li a:hover {
		color: var(--bodybg2);
		background: var(--white);
	}
	header .hamburger {
		font-size: 11px;
		position: fixed;
		z-index: 1500;
		top: 0;
		right: 0;
		display: block;
		box-sizing: border-box;
		width: 60px;
		height: 60px;
		cursor: pointer;
		-webkit-transition: all 400ms;
		transition: all 400ms;
		color: var(--black);
		border-radius: 0 0 0 15px;
	}
	header .hamburger:after {
		position: absolute;
		right: 0;
		bottom: 5px;
		left: 0;
		margin: 0 auto;
		content: "メニュー";
		text-align: center;
		letter-spacing: 1px;
	}
	header .hamburger.open:after {
		content: "閉じる";
		letter-spacing: 0;
		color: var(--white);
	}
	header .hamburger span {
		position: absolute;
		right: 0;
		left: 0;
		width: 33px;
		height: 2px;
		margin: 0 auto;
		-webkit-transition: all 400ms;
		transition: all 400ms;
		background: var(--black);
	}
	header .hamburger span:nth-child(1) {
		top: 10px;
	}
	header .hamburger span:nth-child(2) {
		top: 20px;
	}
	header .hamburger span:nth-child(3) {
		top: 30px;
	}
	header .hamburger.open {
		background: none;
	}
	header .hamburger.open span {
		background: var(--white);
	}
	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);
	}
}

/**================================================== 
footer 
================================================== **/
.fix{
  display: none;
}
@media screen and (max-width:520px) {
	.fix {
		position: fixed;
		z-index: 900;
		bottom: 0;
		left: 0;
		display: flex;
		justify-content: space-between;
		width: 100%;
	}
	.fix > * {
		font-size: 12px;
		display: flex;
		align-items: center;
		flex: 1;
		flex-flow: column;
		justify-content: center;
		padding: 5px 0;
		text-align: center;
		color: var(--white);
	}
	.fix svg {
		display: block;
		width: 25px;
		height: 25px;
		margin: 0 auto;

		fill: var(--white);
	}

	.fix .discount {
		flex: none;
		width: 43%;
		padding: 5px;
		background: var(--kon);
		font-size: 14px;
		background: #a00;
	}.fix .balloon1_B {
		font-family: var(--webf);
		font-size: inherit;
		font-weight: bold;
		line-height: 1;
		display: block;
		margin: 0 0 5px;
		padding: 5px;
		color: #a00;
		border-radius: 50px;
		--balloon-bg:var(--white);
	}.balloon1_B:before {
		border-width: 5px 5px;
	}

	.fix .first2 {
		background: var(--pink);
	}
	.fix .inquiry {
	  position:relative;
		background: var(--kon);
		color:var(--yellow);
		font-size:14px;
	}	.fix .inquiry img {
		display: block;
		width: auto;
		height: 25px;
		margin: 0 auto;
	}
	.fix .inquiry span{
	  display: flex;
	  align-items: flex-end;
	}
	.fix .inquiry small{
	  background:var(--yellow);
	  color:var(--kon);
	  width:2.5em;
	  height: 2em;
	  border-radius: 50px;
	  display: inline-flex;
	  justify-content: center;
	  align-items: center;
	  position:relative;
	  margin:0 5px 4px 0;
	  font-weight: bold;
	  font-size: 1em;
	  position: absolute;
	  top: -10px;
	  left: 10px;
	  transform: rotate(-10deg);
	}.fix .inquiry small:after{
	  content: "";
	  display: block;
	  width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 3px 0 3px ;
    border-color: var(--yellow) transparent transparent transparent ;
    position:absolute;
    top:100%;
    left:50%;
    margin-top:-2px;
	}
	.fix .tel {
		color: var(--yellow);
		background: var(--green);
		font-size: 14px;
	}
}

.fix_pc {
	position: fixed;
	z-index: 900;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	width: 100%;
	padding: 5px 5%;
	color: var(--white);
	background: var(--kon);
	min-width: var(--base-width);
}

.fix_pc .tel {
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	position: relative;
	margin: 0 15px 0 0;
	color: var(--white);
}
.fix_pc .tel:before {
	position: absolute;
	top: 0;
	left: -70px;
	display: block;
	width: 60px;
	height: 60px;
	content: "";
	background: url(/common/images/tel_woman.png) no-repeat center / contain;
}
.fix_pc .tel svg {
	fill: var(--white);
}.fix_pc .tel p {
	font-size: 13px;
	color: var(--white);
}.fix_pc .tel ruby rt {
	font-family: var(--webf);
	font-size: 10px;
}

.fix_pc .mail {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 10px;
	padding: 5px 20px 5px 5px;
	color: var(--white);
	border: 1px solid var(--white);
	border-radius: 5px;
	box-shadow: 2px 2px 4px var(--black);
}.fix_pc .mail:after {
	position: absolute;
	top: 50%;
	right: 5px;
	display: block;
	width: 5px;
	height: 5px;
	content: "";
	transform: rotate(45deg);
	border-top: 1px solid var(--white);
	border-right: 1px solid var(--white);
}.fix_pc .mail img {
	width: 60px;
	margin: 0 10px 0 0;
}.fix_pc .mail p {
	font-size: 22px;
	line-height: 1.5;
}.fix_pc .mail small {
	font-size: 12px;
	display: block;
	color: var(--yellow);
}

.fix_pc .bnr_cam2 {
	font-size: 17px;
	line-height: 1.5;
	position: relative;
	padding: 8px 25px 0;
	color: var(--kon);
	border: 3px solid var(--balloon-bg);
	border-radius: 5px;
	background: var(--white);
	box-shadow: 2px 2px 4px var(--black);
	font-weight: 700;
}.fix_pc .bnr_cam2:after {
	position: absolute;
	top: 50%;
	right: 5px;
	display: block;
	width: 5px;
	height: 5px;
	content: "";
	transform: rotate(45deg);
	border-top: 1px solid var(--kon);
	border-right: 1px solid var(--kon);
}
@media screen and (max-width:520px) {
	.fix_pc {
		display: none;
	}
}



footer{
  padding-bottom: 120px;
}
footer .sitemap {
	font-family: var(--webf);
	display: flex;
	padding: 50px var(--over-width-half) ;
	background: var(--gray2);
}

footer .f_half {
	display: flex;
	flex-wrap: wrap;
	width: 50%;
}

footer dl {
	width: 50%;
}

footer dl dd {
	margin: 0 0 8px;
}footer dl dt.toggle + dd {
	padding: 5px 15px;
	border-left: 1px solid var(--black);
}footer dl a {
	display: block;
	padding: 3px 0;
	text-decoration: underline;
}footer dl a:hover {
	text-decoration: none;
}

footer .bnr {
	width: 100%;
}

footer .bnr img {
	width: 340px;
}

footer .copy {
	font-family: var(--webf);
	padding: 30px 0;
	text-align: center;
}
footer .copy h2 {
	font-family: var(--ff);
	font-size: 1.15em;
}

/***sp**/
@media screen and (max-width:520px) {
	footer {
		display: flex;
		flex-flow: column-reverse;
		padding-bottom: 100px;
		border-top: 1px solid var(--gray);
	}
	footer .sitemap {
		flex-flow: column;
		padding: 10px var(--over-width-half);
	}

	footer .f_half {
		flex-flow: column;
		width: 100%;
	}

	footer dl {
		width: 100%;
	}

	footer dl dt {
		position: relative;
		padding: 10px 0;
		border-bottom: 1px solid var(--gray);
	}

	footer dl dd {
		margin: 0;
		border-bottom: 1px solid var(--gray);
	}footer dl dt.toggle + dd {
		display: none;
		padding: 0 15px;
		border: none;
		border-bottom: 1px solid var(--gray);
	}footer dl dt.toggle + dd a {
		border-bottom: 1px dotted var(--gray);
	}footer dl dt.toggle + dd a:last-child {
		border: none;
	}
	footer dl dt.toggle:after {
		position: absolute;
		top: 50%;
		right: 10px;
		content: "+";
		transform: translateY(-50%);
	}

	footer dl a {
		display: block;
		padding: 10px 0;
		text-decoration: none;
	}footer dl a:hover {
		text-decoration: none;
	}

	footer .bnr {
		width: 100%;
		margin: 20px auto 0;
	}
	footer .bnr a {
		display: block;
		margin: 15px;
	}footer .bnr img {
		width: 100%;
	}

	footer .copy {
		padding: 15px 0;
	}
	footer .copy h2 {
		font-family: var(--ff);
		font-size: 1.15em;
	}
}

/**================================================== 
 バナーリンク
================================================== **/

.bnr_cam {
	font-family: var(--ff2);
	font-size: 26px;
	font-weight: bold;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5px 0;
	text-align: center;
	color: var(--kon);
	border: 1px solid var(--kon);
	background: var(--white) url(/common/images/bnr_cam.jpg) no-repeat center / cover;
	min-height: 97px;
	line-height: 1.5;
}.bnr_cam i svg {
	width: 10px;
	height: 5px;

	fill: var(--white);
}.bnr_cam i {
	position: absolute;
	bottom: -10px;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	transform: translateX(-50%);
	text-align: center;
	border-radius: 50px;
	background: var(--kon);
}.bnr_cam.sp {
	display: none;
}

.link_bnr {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 10px var(--over-width-half);
}

.link_bnr a {
	flex: 1;
	margin: 0 10px;
}

.link_bnr img {
	max-width: 100%;
}

.link_bnr a.min{
  width: calc((100% - 50px) / 3);
  flex: none;
}

@media screen and (max-width:520px) {
	.link_bnr {
		flex-flow: column;
	}
	.link_bnr a {
		margin: 5px 0;
	}

	.bnr_cam.sp {
		display: flex;
	}
	.bnr_cam{
	  min-height: auto;
	  font-size: 19px;
	}
	
	.link_bnr a.min{
    width:100%;
    flex: none;
  }
}

/**================================================== 
aside 
================================================== **/
.aside {
	padding: 30px var(--over-width-half);
}

.to_call,
.to_panf,
.to_camp {
	margin: 10px 0;

	--btnBw: 90%;
}

.to_call {
	display: flex;
	align-items: center;
	flex-flow: column;
	justify-content: center;
	padding: 15px 0;
	border: 1px solid var(--gray) ;
}.to_call strong {
	font-size: 19px;
	font-weight: bold;
	line-height: 1.3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 3.5em;
	padding: 8px 0;
	text-align: center;
	color: var(--kon);
	background: var(--bodybg);
}.to_call a {
	display: block;
	margin: 15px 15px 0;
}.to_call img {
	width: 100%;
}

.to_panf {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	padding: 15px 0;
	border: 1px solid var(--kon);

	--btnBm: 15px auto 0;
}.to_panf strong {
	font-size: 19px;
	font-weight: bold;
	line-height: 1.3;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3.5em;
	padding: 8px 0;
	text-align: center;
	color: var(--white);
	background: var(--kon);
}.to_panf img {
	display: block;
	width: 90%;
	max-width: none;
	margin: 10px auto;
}

.to_camp {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	padding: 15px 0;
	border: 1px solid var(--kon);

	--btnBw: 100%;
	--btnBm: 5px auto 0;
	--hti-w: 40%;
	--hti-parent-w: calc( 100% - 30px);
	--hti-parent-m: 15px 15px 5px;
	--hti-space-right: 0 0 0 5px;
}.to_camp strong {
	font-size: 19px;
	font-weight: bold;
	line-height: 1.3;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3.5em;
	padding: 8px 0;
	text-align: center;
	color: var(--white);
	background: var(--kon);
}.to_camp .text {
	line-height: 1.3;
	font-family: var(--ff2);
}.to_camp .black {
	font-size: 1.1em;
}.to_camp .kon {
	font-size: 1.6em;
	font-weight: bold;
	color: var(--kon);
}.to_camp .kon2 {
	font-size: 1.3em;
	font-weight: bold;
	margin: 5px 0;
	color: var(--kon2);
}
.to_camp .beige {
	font-size: 0.85em;
	color: var(--beige);
}.to_camp dl {
	margin: 0 15px;
}.to_camp dl dt {
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
	color: var(--kon);
}

@media screen and (max-width:520px) {
  .aside {
  	padding: 10px var(--over-width-half);
  }
  
	.to_call strong {
		display: none;
	}	.to_call a {
		margin: 8px 15px 0;
	}

	.to_panf strong,
	.to_camp strong {
		height: auto;
	}
}


.aside2 {
	width: var(--base-width);
	margin: 20px auto;
	padding: 15px;
	border: 1px solid var(--gray);
}

@media screen and (max-width:520px) {
	.aside2 {
		width: 90%;
	}.aside2 a + a {
		margin: 8px 0 0;
	}
}

/**------------------------------ 
挨拶
 ------------------------------**/
.greeting {
	margin: 20px var(--over-width-half) 50px;
	text-align: center;

	--titBta: center;
	--titBm: 15px auto;
}
.greeting h2 {
	--titBc: var(--kon);
	--titBfz: 1.8em;
}.greeting h3 {
	--titBc: var(--black);
	--titBfz: 1.4em;
}.greeting p {
	font-family: var(--webf);
	margin: 0 auto 20px;
}.greeting img {
	margin: 15px 0 0;
}

@media screen and (max-width:520px) {
	.greeting {
		line-height: 1.5;
		margin: 20px var(--over-width-half) 20px;
	}
	.greeting p {
		margin: 0 auto 10px;
		text-align: left;
	}.greeting img {
		width: 250px;
		margin: 8px 0 0;
	}
}

/**================================================== 
 TOP
================================================== **/
.hero {
	position: relative;
	min-height: 540px;
	color: var(--white);
}.hero:before {
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	opacity: 0.5;
	background: linear-gradient(to bottom,  rgba(25,25,112,1) 0%,rgba(25,25,112,0.86) 30%,rgba(255,255,255,0) 70%);

	mix-blend-mode: multiply;
}
.hero > * {
	position: relative;
	z-index: 15;
}

.hero .kuyoukun {
	line-height: 0;
	position: absolute;
	right: clamp( 10vw , var(--over-width-half) , 20vw);
	bottom: 50px;
}

.hero .slider_inner {
	position: relative;
	z-index: 1;
	width: 100%;
}

.hero .slider_inner img {
	width: 100%;
	height: 540px;

	object-fit: cover;
}
.hero .text {
	line-height: 1.5;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	height: 100%;
	padding: 50px var(--over-width-half) 80px;
	letter-spacing: 1px;
	text-shadow: 3px 3px 3px var(--black);
	font-weight: 700;
}
.hero p {
	font-family: var(--webf);
	font-size: 0.8em;
}

.hero .fz39 {
	font-size: 39px;
}.hero .fz36 {
	font-size: 36px;
}.hero .fz32 {
	font-size: 32px;
}.hero .fz56 {
	font-size: 56px;
}.hero .fz44 {
	font-size: 44px;
}.hero .fz40 {
	font-size: 40px;
}.hero .fz20 {
	font-size: 20px;
}



@media screen and (max-width:520px) {
	.hero {
		min-height: 350px;
	}
	.hero .text {
		line-height: 1.8;
	}
	.hero .slider_inner img {
		height: 350px;
	}

	.hero .text {
		padding: 20px var(--over-width-half) 40px;
	}

	.hero .fz39 {
		font-size: calc(39px / 2);
	}.hero .fz36 {
		font-size: calc(36px / 2);
	}.hero .fz32 {
		font-size: calc(32px / 2);
	}.hero .fz56 {
		font-size: calc(56px  / 2);
	}.hero .fz44 {
		font-size: calc(44px / 2);
	}.hero .fz40 {
		font-size: calc(40px / 2);
	}.hero .fz20 {
		font-size: calc(20px / 2);
	}

	.hero .kuyoukun {
		right: 5%;
		bottom: 25px;
		width: 70px;
	}
}

.hero-bnr {
	position: relative;
	z-index: 10;
	margin: 15px 0 30px;
	/*transform: translateY(-50px);*/
}

@media screen and (max-width:520px) {
	.hero-bnr {
		margin: 0;
	}
}


:is(.hero_ver2,.hero_ver3){
  background: #f9f4eb;
  padding-top: 30px;
  padding-bottom: 1px;
}

:is(.hero_ver2,.hero_ver3,.hero-list) .list-plan{
  margin: 15px auto 30px;
  justify-content: center;
  gap:calc( (100% - 32% * 3) / 3)
}
:is(.hero_ver2,.hero_ver3,.hero-list) .list-plan.box3C:after{
  display: none;
}

:is(.hero_ver2,.hero_ver3,.hero-list) .list-plan h4{
  line-height: 1.3;
}

:is(.hero_ver2,.hero_ver3,.hero-list) .list-plan p{
  color:var(--kon);
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
}
:is(.hero_ver2,.hero_ver3,.hero-list) .list-plan .sm{
  display: block;
  font-size: 16px;
  text-align: center;
  line-height: 1.3;
}
:is(.hero_ver2,.hero_ver3,.hero-list) .list-plan .sm b{
  font-size: 1.2em;
}
:is(.hero_ver2,.hero_ver3,.hero-list) .list-plan p i{
  font-style: normal;
}
:is(.hero_ver2,.hero_ver3,.hero-list) .list-plan p b{
  font-size: 40px;
}

@media screen and (max-width:520px) {
/*横並び無理やり*/
.hero_ver2{
  padding-top: 5px; 
}
.hero_ver2 .list-plan{
  width: 110%;
  margin: 5px 0 0 -5%;
  gap: 0;
}

.hero_ver2 .list-plan li{
  width: calc(100% / 3);
}
.hero_ver2 .list-plan li + li a{
  border-left: none;
}

.hero_ver2 .list-plan strong{
  font-size: 9px;
  padding:5px 0;
  min-height: 35px;
  line-height: 1.3;
}
.hero_ver2 .list-plan figure{
  margin: 3px 3px 5px;
}
.hero_ver2 .list-plan h4{
  font-size: 13px;
}
.hero_ver2 .list-plan h4 small{
  font-size:11px;
}

.hero_ver2 .list-plan .btnB{
  font-size: 10px;
  padding:3px 5px;
  margin: 5px auto;
}

.hero_ver2 .list-plan p{
    font-size: 11px;
}
.hero_ver2 .list-plan p b{
  font-size: 17px;
}

:is(.hero_ver2,.hero_ver3,.hero-list) .list-plan .sm{
  font-size: 9px;
}

/*縦並び*/
.hero_ver3{
  padding-top:15px;
}
:is(.hero_ver3,.hero-list) .list-plan{
  margin-bottom: 0;
}
:is(.hero_ver3,.hero-list) .list-plan li{
  width: 100%;
}

}

/**------------------------------ 
3つの安心
 ------------------------------**/
.top-sec01 {
	margin: 0 auto 50px;
	padding: 1px var(--over-width-half);
	background: url(/common/images/top_bg01.jpg) no-repeat center top 100px  / cover;
}

.list-star {
	display: flex;
	margin: 50px auto;
}

.list-star li {
	font-size: 1.2em;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 45px 30px 30px;
	text-align: center;
	color: var(--kon);
	border: 1px solid var(--gray);
}.list-star li i {
	position: absolute;
	top: -30px;
	left: 50%;
	display: block;
	transform: translateX(-50%);
}

@media screen and (max-width:520px) {
	.top-sec01 {
		margin: 30px auto;
		background-position: center top 60px;
	}
	.top-sec01 h2 img {
		width: 200px;
	}
	.list-star {
		margin: 20px auto;
	}
	.list-star li {
		font-size: 1em;
		position: relative;
		display: block;
		padding: 10px 0 10px 25px;
		text-align: left;
		color: var(--black);
		border: none;
	}.list-star li i {
		top: 7px;
		left: -13px;
		display: block;
		width: 35px;
		transform: none;
	}.list-star li:after {
		display: block;
		width: 100%;
		height: 1px;
		margin: 8px 0 0;
		content: "";
		background: var(--gray);
	}
}

/**------------------------------ 
プラン
 ------------------------------**/
.top-sec02 {
	padding: 60px var(--over-width-half);

	--titAm: 0 auto 20px;
}

.list-plan-wrap {
	margin: 0 0 50px;
}

.list-plan-wrap .category {
	margin: 20px auto 0;
	padding: 15px 5% 25px;
	text-align: center;
	background: var(--bodybg2) url(/common/images/top_bg02.png);

	--titBfz: 30px;
	--titBm: 10px auto;
	--titBta: center;
}
.list-plan-wrap .category .price {
	line-height: 1;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin: 0 auto 15px;
}.list-plan-wrap .category .price em {
	font-weight: normal;
	font-style: normal;
	display: block;
	margin: 0 20px;
	padding: 10px 20px;
	text-align: center;
	color: var(--white);
	background: var(--beige);
}.list-plan-wrap .category .price .min-price {
	font-size: 32px;
	font-weight: bold;
	margin: 0 20px 0 0;
	color: var(--kon);
}.list-plan-wrap .category .price .min-price b {
	font-size: 1.4em;
}
.list-plan-wrap .category .price .hosoku {
	font-size: 32px;
	font-weight: bold;
	margin: 15px auto;
	padding: 10px;
	color: var(--kon);
	background: var(--white);
}

.list-plan-wrap :is(.balloon1_B,.sameprice){
	font-size: 1.1em;
	width: 100%;
	margin: 0;
	padding: 20px 5%;
	text-align: center;

	--balloon-bg: var(--bodybg);
	--balloon-c: var(--black);
}.list-plan-wrap :is(.balloon1_B,.sameprice) .price {
	display: inline-block;
}.list-plan-wrap :is(.balloon1_B,.sameprice) .price .min-price {
	font-size: 26px;
	font-weight: bold;
	color: var(--kon);
}.list-plan-wrap :is(.balloon1_B,.sameprice) .price .min-price b {
	font-size: 1.3em;
}

.list-plan {
	margin: 30px auto;

	--btnBm: 15px auto;
	--btnBw: 90%;
}

.list-plan li {
	display: flex;
}.list-plan li a {
	flex-grow: 1;
	border: 1px solid var(--gray);
	box-shadow: 1px 2px 4px rgba(0,0,0,0.2);
	background: var(--white);
}.list-plan strong {
	font-weight: normal;
	display: block;
	padding: 5px;
	text-align: center;
	color: var(--white);
	background: var(--plan01);
}.list-plan figure {
	margin: 10px;
}.list-plan h4 {
	font-size: 24px;
	line-height: 1.5;
	text-align: center;
	color: var(--plan01);
}
.list-plan h4 small {
	font-size: 20px;
	display: block;
}

/**PCのみ**/
@media screen and (min-width:520px) {
	/**プラン１つの時**/
	.list-plan-wrap.flex2 {
		display: flex;
		justify-content: space-between;
		margin: 0 auto 50px;
	}
	.list-plan-wrap.flex2 .category-wrap {
		display: flex;
		flex-flow: column;
		width: 64%;
	}
	.list-plan-wrap.flex2 .category .price {
		display: block;
	}
	.list-plan-wrap.flex2 .category .price em {
		margin: 0 auto 10px;
	}
	.list-plan-wrap.flex2 .category {
		margin: 0 ;
	}.list-plan-wrap.flex2 .balloon1_B {
		display: flex;
		align-items: center;
		flex-grow: 1;
		justify-content: center;
	}
	.list-plan-wrap.flex2 .balloon1_B:before {
		position: absolute;
		top: 50%;
		left: 100%;
		margin-top: -10px;
		content: "";
		border-width: 8px 15px;
		border-style: solid;
		border-color: transparent transparent transparent var(--bodybg);
	}

	.list-plan-wrap.flex2 .list-plan {
		width: 32%;
		margin: 0;
	}
}

/**SPのみ**/
@media screen and (max-width:520px) {
	.top-sec02 {
		padding: 20px 0;
	}
	
	.top-sec02 .picture{
	 display: block;
	  padding: 15px 5%;
	}.top-sec02 .picture img{
	  width: 100%;
	}

	.list-plan-wrap {
		margin: 0;
	}


	.list-plan-wrap .category {
		width: 100%;
		padding: 10px 15px 15px;

		--titBfz: 24px;
		--titBm: 0 auto 10px;
	}

	.list-plan-wrap .category .price {
		flex-wrap: wrap;
		margin: 0 auto 10px;
		line-height: 1.5;
	}.list-plan-wrap .category .price em {
		width: 100%;
		margin: 0 auto 10px;
		padding: 8px;
	}.list-plan-wrap .category .price .min-price {
		font-size: 22px;
		font-weight: bold;
		margin: 0 5px 0 0;
		color: var(--kon);
	}

	.list-plan-wrap :is(.balloon1_B,.sameprice) {
		font-size: 1.1em;
		width: 100%;
		margin: 0;
		padding: 10px 5px 20px;
		text-align: center;
	}.list-plan-wrap :is(.balloon1_B,.sameprice) .price {
		font-size: 0.9em;
		line-height: 1;
		display: flex;
		align-items: flex-end;
		justify-content: center;
	}.list-plan-wrap :is(.balloon1_B,.sameprice) .price .min-price {
		font-size: 18px;
		font-weight: bold;
		color: var(--kon);
	}.list-plan-wrap :is(.balloon1_B,.sameprice) .price .min-price b {
		font-size: 1.5em;
	}

	.list-plan {
		width: 90%;
		margin: 30px auto 0;
	}
	.list-plan li {
		margin: 0 0 30px;
	}
}

/**230629修正***/
.list-plan-wrap .sameprice{
    --balloon-bg:var(--pink2);
    font-weight: bold;
    line-height:1.3;
    position: relative;
    min-width: 120px;
    max-width: 100%;
    color: var(--balloon-c);
    background: var(--balloon-bg);
    border: 3px solid var(--pink);
    box-shadow: 0 0 0 5px var(--pink2);
}
.list-plan-wrap .sameprice .price{
    /*font-family: var(--ff2);*/
margin:8px 0 0;
}
.list-plan-wrap .sameprice .price .min-price {
    font-size: 38px;
}
.list-plan-wrap .sameprice .add-price {
    font-family: var(--ff);
    display: block;
    text-align: center;
    margin:8px 0;
}

.list-plan-wrap .sameprice small{
    display: inline-block;
    background: var(--pink);
    color: var(--white);
    font-size: 12px;
    /*writing-mode: vertical-rl;
    padding: 5px 3px;
    margin: 0 5px 0 0;*/
    padding:3px 5px;
    margin:0 10px 5px 0;
    font-family: var(--webf);
    letter-spacing:2px;
}
.list-plan-wrap .sameprice .price .min-price{
color:var(--pink);
}
@media screen and (max-width: 520px) {
.list-plan-wrap .sameprice{
padding: 10px 5px 10px;
margin:5px auto 0;
width:calc( 100% - 10px);
}
.list-plan-wrap .sameprice .price .min-price {
    font-size: 23px;
}
.list-plan-wrap .sameprice small{
padding:3px;
display:block;
}
.list-plan-wrap .sameprice .add-price {
  font-size: 0.9em;
}
}


/**------------------------------ 
施設
 ------------------------------**/
.top-sec03 {
	margin: 0 0 50px;
	padding: 60px var(--over-width-half);
}

.list-hall {
	line-height: 1.3;
	margin: 40px auto;

	--btnAw: 100%;
	--btnBw: 100%;
}

.list-hall li {
	margin: 0 0 30px;
	padding: 15px;
	background: var(--white);
}

.list-hall.box2C > * {
	width: 48%;
}
.list-hall.box2C:after {
	display: block;
	width: 48%;
	content: "";
}

.list-hall li a {
	position: relative;
	flex-grow: 1;
	width: 100%;
}
	.list-hall li a:first-child{
	  display: block;
	  margin:0 0 10px;
	}
.list-hall li figure {
	width: 100%;
	height: 200px;
}.list-hall li figure img {
	width: 100%;
	height: 100%;

	object-fit: cover;
}
.list-hall.box2C li figure{
  height: 300px;
}

.list-hall li h3 {
	font-size: 1.2em;
	margin: 8px auto 0;
	text-align: center;
	color: var(--kon);
}
.list-hall h3 small{
  display: block;
}
.list-hall li p {
	font-family: var(--webf);
	text-align: center;
}

@media screen and (max-width:520px) {
	.top-sec03 {
		margin: 0 0 20px;
		padding: 30px var(--over-width-half)20px ;

		--titBm: 0 auto 20px;
	}

	.list-hall {
		line-height: 1.3;
		margin: 20px auto;

		--btnAm: 8px auto 0;
		--btnBm: 8px auto 0;
	}
.list-hall.box2C > * {
	width: 100%;
}
.list-hall.box2C:after {
	display: block;
	width: 100%;
	content: "";
}
	
	.list-hall li {
		margin: 0;
		padding: 10px;
		display: grid;
		grid-template-rows: auto auto;
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-areas: 
		"main main main"
		"b1 b2 b3";
		gap: 15px 5px;
	}
	.list-hall li + li {
		border-top: 1px solid var(--gray);
	}
	.list-hall li a {
		display: flex;
		flex-grow: 0;
		flex-wrap: wrap;
		width: 100%;
	}
	.list-hall li a:first-child{
	  display: flex;
	  margin:0 0 10px;
	}
	.list-hall li a.btnB {
		display: block;
	}
	.list-hall li a:first-child{
	  grid-area: main;
	  margin:0;
	}
	.list-hall li figure {
		flex: none;
		width: 110px;
		height: 90px;
		margin: 0 15px 0 0;
	}.list-hall li figure img {
		width: 100%;
		height: 100%;

		object-fit: cover;
	}
	.list-hall.box2C li figure{
    height: 90px;
  }
	.list-hall li .text {
		flex: 1;
	}
	.list-hall li h3 {
		font-size: 1.1em;
		margin: 0 0 10px;
		text-align: left;
	}.list-hall li p {
		font-size: 0.9em;
		text-align: left;
	}
}


/**------------------------------ 
はじめての方へ
 ------------------------------**/
.top-sec04 {
	padding: 40px 0;
}

.list-hatena {
	margin: 30px auto;
	padding: 50px var(--over-width-half);
	background: url(/common/images/top_bg04.jpg) no-repeat center /cover;
}
.list-hatena.bg2 {
	background: url(/common/images/top_bg04.jpg) no-repeat center bottom / cover;
}
.list-hatena > * {
	font-size: 1.1em;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 10px 0;
	padding: 20px;
	text-align: center;
	background: rgba(255,255,255,0.85);
	box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

@media screen and (max-width:520px) {
	.top-sec04 {
		padding: 20px 0;
	}
	.list-hatena {
		margin: 20px auto;
		padding: 20px var(--over-width-half);
	}
}

/**------------------------------ 
お客様の声
 ------------------------------**/
.top-sec05 {
	margin: 60px auto;
	padding: 60px var(--over-width-half);
}

.list-voice {
	margin: 30px auto;
}
.list-voice a {
	display: flex;
	flex-flow: column;
	margin: 15px 10px 0;
	border: 1px solid var(--gray);
	background: var(--white);
}.list-voice a p {
	flex-grow: 1;
	padding: 15px;
}.list-voice a p  small {
	display: block;
}
.list-voice a img {
	width: 100%;
	height: 200px;

	object-fit: cover;
}

@media screen and (max-width:520px) {
	.top-sec05 {
		margin: 30px auto;
		padding: 20px var(--over-width-half);
	}
	.list-voice {
		margin: 10px auto 30px;
	}
}

/**------------------------------ 
選ばれる理由
 ------------------------------**/
.top-sec06 {
	padding: 40px var(--over-width-half) 10px;
}

.top-sec06 .list-alternate {
	margin: 50px auto;

	--alimg-space: 0 40px 40px 0;
	--alimg-space-even: 0  0 40px 40px;
	--altxt-space: 0 0 40px;
	--altxt-space-even: 0 0 40px;
	--al-w: 40%;
	--btnBm: 25px 0;
	--btnBw: 340px;
}
.top-sec06 .list-alternate img {
	width: 100%;
	height: 360px;

	object-fit: cover;
}
.top-sec06 .list-alternate i {
	font-style: normal;
	display: block;
	color: var(--kon);
}
.top-sec06 .list-alternate h3 {
	font-size: 1.3em;
	line-height: 1.5;
	margin: 5px 0;
	color: var(--kon);
}.top-sec06 .list-alternate h4 {
	font-family: var(--webf);
	font-size: 1.2em;
	margin: 0 0 5px;
}.top-sec06 .list-alternate p {
	font-family: var(--webf);
}

@media screen and (max-width:520px) {
	.top-sec06 {
		padding: 20px var(--over-width-half) 10px;
	}

	.top-sec06 .list-alternate {
		margin: 20px auto;

		--alimg-space: 0 0 15px;
		--alimg-space-even: 0 0 15px;
		--altxt-space: 0;
		--altxt-space-even: 0;
		--al-w: 100%;
		--btnBm: 25px auto;
		--btnBw: 90%;
	}

	.top-sec06 .list-alternate img {
		width: 100%;
		height: 60vw;

		object-fit: cover;
	}

	.top-sec06 .list-alternate li {
		margin: 0 0 30px;
	}
	.top-sec06 .list-alternate li + li {
		margin: 0 0 30px;
		padding: 30px 0 0;
		border-top: 1px solid var(--gray);
	}
}

/**------------------------------ 
葬儀の知識
 ------------------------------**/
.top-sec07 {
	margin: 0 auto;
	padding: 30px var(--over-width-half);

	--titBc: var(--kon);
	--titBfz: 24px;
	--titBbg: var(--white);
	--titBp: 15px;
	--titBta: center;
}

.list-know {
	margin: 50px auto 30px;
}
.list-know li {
	display: flex;
	margin: 0 0 20px;
	box-shadow: 2px 2px 3px rgba(0,0,0,0.3);
}.list-know li a {
	font-family: var(--webf);
	position: relative;
	display: flex;
	align-items: center;
	flex-grow: 1;
	padding: 10px;
	background: var(--white);
}.list-know li a:after {
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	width: 6px;
	height: 6px;
	content: "";
	transform: rotate(45deg) translateY(-50%);
	border-top: 1px solid var(--gray);
	border-right: 1px solid var(--gray);
}
.list-know li .time{
  color:var(--gray);
}
.list-know li figure {
	flex: none;
	width: 100px;
	height: 90px;
	margin: 0 5px 0 0;
}.list-know li figure img {
	width: 100%;
	height: 100%;

	object-fit: cover;
}

@media screen and (max-width:520px) {
	.top-sec07 {
		margin: 0 auto;
		padding: 20px 0;

		--titBc: var(--kon);
		--titBfz: 22px;
		--titBbg: var(--white);
		--titBp: 5px;
		--titBta: center;
	}

	.list-know {
		width: 90%;
		margin: 30px auto 30px;
	}
	.list-know li a {
		font-size: 0.9em;
		line-height: 1.5;
	}
}

/**------------------------------ 
ブログ
 ------------------------------**/
.top-sec08 {
	padding: 60px var(--over-width-half);

	--btnBc: var(--kon);
	--btnBbg: var(--white);
	--btnBbd: var(--kon);
	--btnBm: 15px auto;
}
.list-blog {
	margin: 50px auto 30px;
}
.list-blog li {
	display: flex;
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid var(--gray);
} .list-blog li a {
	font-family: var(--webf);
	display: flex;
	flex-grow: 1;
	padding: 10px;
} .list-blog li figure {
	flex: none;
	width: 110px;
	height: 90px;
	margin: 0 15px 0 0;
} .list-blog li figure img {
	width: 100%;
	height: 100%;

	object-fit: cover;
}
.list-blog .boxLR {
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
}.list-blog .boxLR em {
	font-style: normal;
	display: inline-block;
	margin: 0 5px;
	padding: 1px 10px;
	color: var(--white);
	background: var(--beige);
}.list-blog h3 {
	font-size: 0.9em;
	line-height: 1.5;
	margin: 5px 0 0;
}

@media screen and (max-width:520px) {
	.top-sec08 {
		padding: 20px var(--over-width-half);
	}
	.list-blog {
		margin: 30px auto 30px;
	}
	.list-blog li {
		margin: 0 0 5px;
		padding: 0 0 5px;
	}
	.list-blog li a {
		padding: 10px 0;
	}
}

/**------------------------------ 
よくあるご質問
 ------------------------------**/
.top-sec09 {
	margin: 0 auto 80px;
	padding: 60px var(--over-width-half);

	--btnBc: var(--kon);
	--btnBbg: var(--white);
	--btnBbd: var(--kon);
	--btnBm: 15px auto;
}

.faq {
	margin: 50px auto;
}

.faq dl {
	margin: 0 0 20px;
	box-shadow: 0 0 3px 1px rgba(0,0,0,0.1);
}

.faq dt,
.faq dd {
	position: relative;
	margin: 0 0 1px;
	background: var(--white);
}
.faq dt {
	font-size: 1.2em;
	padding: 15px 80px;
	color: var(--kon);
}
.faq dt:before {
	font-size: 23px;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 60px;
	height: 100%;
	padding: 10px;
	content: "Q";
	text-align: center;
	color: var(--white);
	background: var(--kon2);
}
.faq dt:after {
	font-size: 1.5em;
	position: absolute;
	top: 50%;
	right: 20px;
	content: "+";
	transform: translateY(-50%);
}.faq dt.faq_open:after {
	content: "-";
}

.faq dd:before {
	font-family: var(--ff);
	font-size: 23px;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 60px;
	height: 100%;
	padding: 10px;
	content: "A";
	text-align: center;
	color: var(--beige);
}
.faq dd {
	font-family: var(--webf);
	font-size: 1em;
	padding: 20px 80px;
}

@media screen and (max-width:520px) {
	.top-sec09 {
		margin: 0 auto 20px;
		padding: 20px var(--over-width-half);
	}
	.faq {
		margin: 30px auto;
	}
	.faq dt {
		font-size: 1em;
		padding: 5px 50px;
	}
	.faq dt:before {
		font-size: 16px;
		width: 40px;
		padding: 5px;
	}
	.faq dd:before {
		font-size: 16px;
		width: 40px;
		padding: 5px;
	}
	.faq dd {
		font-size: 0.9em;
		line-height: 1.5;
		padding: 5px 20px 10px 50px;
	}
}

/**================================================== 
 中ページ
================================================== **/
.beginner-sec01 {
	--hti-w: 250px;
	--hti-space-left: 0 60px 0 0;
	--hti-parent-m: 0 5%;
}

.beginner-sec01 .h-text-img {
	align-items: center;
}

@media screen and (max-width:520px) {
	.beginner-sec01 {
		--hti-w: 200px;
		--hti-space-left: 0;
		--hti-parent-m: 0;
		--titBm: 15px auto 5px;
		--titBfz: 16px;
	}
}

.list-check {
	position: relative;
	padding: 0 0 0 30px;
	text-align: left;
}.list-check li {
	position: relative;
	padding: 0 0 15px;
}.list-check li:before {
	position: absolute;
	z-index: 5;
	top: 5px;
	left: -37px;
	display: block;
	width: 20px;
	height: 20px;
	content: "";
	border-radius: 50px;
	background: var(--kon2);
}.list-check li:after {
	position: absolute;
	top: 5px;
	left: -30px;
	display: block;
	width: 1px;
	height: 100%;
	content: "";
	border-left: 5px solid var(--bodybg);
}.list-check li:last-child:after {
	display: none;
}
.list-check.tuduku li:last-child:after {
	display: block;
	border-style: dashed;
}


.list-check strong {
	font-size: 1.2em;
	font-weight: bold;
	color: var(--pink);
}

@media screen and (max-width:520px) {
	.list-check li {
		position: relative;
		padding: 0 0 10px;
	}
}

.list-check2 {
	font-size: 1.1em;
	position: relative;
	padding: 15px 15px 10px 1em;
	text-align: left;
	border: 2px solid var(--kon);
	border-radius: 10px;
}.list-check2 li {
	line-height: 1.5;
	position: relative;
	padding: 0 0 15px;
}.list-check2 li:before {
	position: absolute;
	z-index: 5;
	top: 0.4em;
	left: -1.5em;
	display: block;
	width: 1.2em;
	height: 0.7em;
	content: "";
	transform: rotate(-40deg);
	border-bottom: 4px solid var(--pink);
	border-left: 4px solid var(--pink);
}.list-check2 li:after {
	position: absolute;
	top: 0.4em;
	left: -1.7em;
	display: block;
	width: 1.2em;
	height: 1.2em;
	content: "";
	border: 1px solid var(--kon);
	border-radius: 3px;
	background: var(--white);
}
.list-check2 li:before {
	animation: check2-fadein 5s infinite ease ;
}.list-check2 li:nth-child(2):before {
	animation-delay: 0.5s;
}.list-check2 li:nth-child(3):before {
	animation-delay: 1s;
}.list-check2 li:nth-child(4):before {
	animation-delay: 1.5s;
}.list-check2 li:nth-child(5):before {
	animation-delay: 2s;
}.list-check2 li:nth-child(6):before {
	animation-delay: 2.5s;
}.list-check2 li:nth-child(7):before {
	animation-delay: 3s;
}
@keyframes check2-fadein {
	0% {
		opacity: 0;
	}
	20% {
		opacity: 1;
	}
}
.list-check2 strong {
	font-size: 1.2em;
	font-weight: bold;
	color: var(--pink);
}

@media screen and (max-width:520px) {
	.list-check2 {
		margin-left: 5px;
		padding: 15px 10px 10px 1em;
	}
	.list-check2 li {
		position: relative;
		padding: 0 0 8px;
	}
	.list-check2 strong {
		font-size: 1.1em;
	}
}


.beginner-sec02 {
	margin: 0 auto 50px;
	padding: 30px var(--over-width-half) 1px;
	
	--titBta:center;
	--titBc:var(--kon);
	--titBm:20px 5%;
}

@media screen and (max-width:520px) {
	.beginner-sec02 {
		margin: 0 auto 30px;
	}
}

/**------------------------------ 
point
 ------------------------------**/
.list-point {
	margin: 0 auto 50px;
}
.list-point li {
	position: relative;
	margin: 0 0 30px;
	padding: 0 0 0 120px;
}
.list-point li  i {
	font-size: 14px;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100px;
	padding: 5px;
	text-align: center;
	color: var(--white);
	background: var(--kon);
}

@media screen and (max-width:520px) {
	.list-point {
		margin: 0 auto 30px;
	}
	.list-point li {
		margin: 0 0 15px;
		padding: 0 ;
	}
	.list-point li  i {
		position: static;
		width: 80px;
		margin: 0 0 5px;
	}
}

/**------------------------------ 
テレコリスト
 ------------------------------**/
.beginner-sec03 {
	padding: 40px var(--over-width-half) 1px;
}

.beginner-sec03 .list-alternate {
	margin: 50px auto 1px;

	--alimg-space: 0 40px 40px 0;
	--alimg-space-even: 0  0 40px 40px;
	--altxt-space: 0 0 40px;
	--altxt-space-even: 0 0 40px;
	--al-w: 40%;
	--btnBm: 25px 0;
	--btnBw: 340px;
}
.beginner-sec03 .list-alternate img {
	width: 100%;
}
.beginner-sec03 .list-alternate i {
	font-style: normal;
	display: block;
	color: var(--kon);
}
.beginner-sec03 .list-alternate h3 {
	font-size: 1.3em;
	line-height: 1.5;
	margin: 5px 0;
	color: var(--kon);
}.beginner-sec03 .list-alternate h4 {
	font-family: var(--webf);
	font-size: 1.2em;
	margin: 0 0 5px;
}.beginner-sec03 .list-alternate p {
	font-family: var(--webf);
}

@media screen and (max-width:520px) {
	.beginner-sec03 {
		padding: 20px var(--over-width-half) 10px;
	}

	.beginner-sec03 .list-alternate {
		margin: 20px auto;

		--alimg-space: 0 0 15px;
		--alimg-space-even: 0 0 15px;
		--altxt-space: 0;
		--altxt-space-even: 0;
		--al-w: 100%;
		--btnBm: 25px auto;
		--btnBw: 90%;
	}

	.beginner-sec03 .list-alternate li {
		margin: 0 0 30px;
	}
	.beginner-sec03 .list-alternate li + li {
		margin: 0 0 30px;
		padding: 30px 0 0;
		border-top: 1px solid var(--gray);
	}
}

.tehai {
	align-items: flex-start;
	margin: 50px auto 30px;
}

.tehai dl {
	margin: 0 0 20px;
	padding: 10px;
	border: 1px solid var(--gray);
}
.tehai dl dt {
	line-height: 1.5;
	position: relative;
	display: flex;
	align-items: center;
	padding-right: 20px;
	cursor: pointer;
}.tehai dl dt:after {
	position: absolute;
	top: 50%;
	right: 5px;
	content: "+";
	transform: translateY(-50%);
}.tehai dl dt.tehai_open:after {
	content: "-";
}
.tehai dl img {
	display: block;
	width: 60px;
	height: 60px;
	margin: 0 15px 0 0;

	object-fit: contain;
}
.tehai dl dd {
	font-family: var(--webf);
	font-size: 0.9em;
	line-height: 1.5;
	margin: 10px 0;
}

@media screen and (max-width:520px) {
	.tehai dl {
		margin: 0 0 10px;
	}
	.tehai dl dt:after {
		right: 0;
	}
}

.page-bnr {
	padding: 30px var(--over-width-half) 10px;
	background: var(--bodybg) url(/common/images/top_bg02_white.png);

	--titBm: 15px 0;
	--titBc: var(--kon);
	--titBfz: 20px;
}
.page-bnr .list-know {
	margin: 20px auto;
}


.yarimasu {
	font-size: 1.3em;
	padding: 20px;
	text-align: center;
	color: var(--white);
	background: var(--kon);
}.yarimasu b {
	font-size: 1.3em;
	color: var(--yellow);
}

@media screen and (max-width:520px) {
	.page-bnr {
		padding: 20px 0 1px;

		--titBm: 5px 5%;
	}
	.yarimasu {
		font-size: 1em;
		padding: 15px;
	}
}

.waku {
	max-width: var(--base-width);
	margin: 30px auto;
	padding: 20px;
	border: 1px solid var(--gray);
	background: var(--white);

	--titBm: 0 0 15px;
	--titBfz: 1.2em;
	--titBc: var(--white);
	--titBp: 10px 20px;
	--titBbg: var(--kon);
}
.waku p {
	font-family: var(--webf);
}
.waku.h-text-img {
	--hti-w: 300px;
}

@media screen and (max-width:520px) {
	.waku {
		margin: 15px auto;
		padding: 10px;

		--titBp: 10px;
		--titBfz: 1.1em;
	}
	.waku.h-text-img {
		--hti-w: 100%;
		--hti-space: 10px 0 0;
	}
}


/**================================================== 
 
================================================== **/
.beginner-sec04 {
	margin: 0 auto;
	padding: 30px var(--over-width-half);

	--titBc: var(--kon);
	--titBfz: 24px;
	--titBbg: var(--white);
	--titBp: 15px;
	--titBta: center;
	--hti-w: 40%;
	--hti-parent-m: 30px 0;
	--btnBw: 450px;
}

.beginner-sec04 .h-text-img {
	align-items: flex-start;
}

@media screen and (max-width:520px) {
	.beginner-sec04 {
		margin: 0 auto;
		padding: 10px var(--over-width-half);

		--titBfz: 20px;
		--titBp: 10px;
		--hti-w: 100%;
		--hti-parent-m: 15px 0;
		--btnBw: 100%;
	}
}


.beginner-sec05 {
	margin: 0 auto;
	padding: 30px var(--over-width-half) 50px;

	--titBc: var(--kon);
	--titBfz: 24px;
	--titBbg: var(--bodybg2) url(/common/images/top_bg02_3per.png) repeat top left / 250px auto;
	--titBp: 15px;
	--titBta: center;
	--hti-w: 40%;
	--hti-parent-m: 30px 0;
	--btnBw: 450px;
}

.list-flow {
	--btnBw: 450px;
}

.list-flow li {
	align-items: flex-start;
}

.list-flow dl {
	width: 30%;
}
.list-flow dt {
	font-size: 1.2em;
	display: block;
	margin: 0 0 5px;
	padding: 3px 10px;
	color: var(--white);
	background: var(--kon2);
}
.list-flow strong {
	display: block;
	margin: 5px 0;
	padding: 3px 10px;
	color: var(--kon);
	background: var(--bodybg);
}
.list-flow p {
	font-family: var(--webf);
}
.list-flow em {
	font-size: 0.9em;
	font-style: normal;
	line-height: 1.3;
	display: block;
	margin: 0 0 5px;
	padding: 5px 10px;
	color: var(--white);
	background: var(--beige);
}

.list-check .kanou {
	font-family: var(--webf);
}.list-check .kanou:before {
	background: var(--beige);
}

@media screen and (max-width:520px) {
	.beginner-sec05 {
		margin: 0 auto;
		padding: 10px var(--over-width-half) 1px;

		--titBfz: 20px;
		--titBp: 10px;
		--hti-w: 100%;
		--hti-parent-m: 15px 0;
		--btnBw: 100%;
	}

	.list-flow {
		--btnBw: 100%;
		--btnWrapb: 0 auto;
	}

	.list-flow dl {
		width: 100%;
		margin: 0 0 15px;
	}
	.list-flow dt {
		font-size: 1em;
	}

	.list-flow .kanou {
		font-family: var(--webf);
	}.list-flow .kanou:before {
		background: var(--beige);
	}
}


/**------------------------------ 
施設詳細
 ------------------------------**/
/**スライド**/
.detail-slide {
	position: relative;
	margin: 0;
	padding: 0;
}


.detail-slide .contest {
	position: absolute;
	z-index: 5;
	top: 20px;
	right: 20px;
}

/**メインスライド**/
.slide-main {
	position: relative;
	margin: 0;
	padding: 0;
}
.slide-main .item {
	position: relative;
	height: 100%;
	padding: 20px 20px 0;
	text-align: center;
	user-select:text;
}
.slide-main .item a {
	display: block;
}
.slide-main .item .image {
	position: relative;
	overflow: hidden;
}
.slide-main .item figcaption{
  margin: 10px 0 0;
}
.slide-main .item img {
	width: 100%;
	margin: auto;
}
.slide-main .item p {
	font-size: 14px;
	margin: 5px;
	text-align: center;
}
.slide-main > .slick-list,
.slide-main > .slick-list > .slick-track,
.slide-main > .slick-list > .slick-track > .slick-slide > div {
	position: relative;
	height: 100%;
}

/**サムネイル**/
.slide-navigation {
	line-height: 0;
	position: relative;
	margin: 20px 0 0;
	padding: 0;
}

/**サムネイル複数段ここから**/
.slide-navigation  .slick-track {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	width: 100% !important;
	transform: unset !important;
}
/*flexの値を変更し列数を変更*/
.slide-navigation  .slick-slide {
	display: block!important;
	float: none !important;
	flex: 0 0 12.5%;
}
/**サムネイル複数段ここまで**/

/* サムネイルスライド ここから
.slide-navigation .slick-track {
	display: flex;
	justify-content: center;
}
ここまで */
.slide-navigation .slick-track.scrl-l {
	transform: unset!important;
}
.slide-navigation .item {
	position: relative;
	width: 20%!important;
	max-width: 20%;
	cursor: pointer;
	opacity: 0.3;
	border: 2px solid #ffffff;
}
.slide-navigation .item img {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}
.slide-navigation .item.slick-current {
	opacity: 1;
}

@media screen and (max-width:520px) {
  .detail-slide .slick-prev,
	.detail-slide .slick-next {
		top: 27vw;
	}
  
	.works-detail {
		margin: 40px var(--over-width-half);
	}

	.list-before {
		margin: 0 auto 40px;
	}
	.works-detail03 {
		--hti-w: 100%;
		--titBfz: 1em;
		--hti-space: 0 auto 20px;
	}


	/**サムネイル**/
	.slide-navigation {
		margin: 20px 0 0;
	}

	/**サムネイル複数段ここから**/
	/*flexの値を変更し列数を変更*/
	.slide-navigation  .slick-slide {
		flex: 0 0 25%;
	}
	/**サムネイル複数段ここまで**/

	.slide-navigation .item {
		width: 33%!important;
		max-width: 33%;
	}

	.slide-main .item {
		font-size: 0.8em;
		line-height: 1.5;
		padding: 10px;
		text-align: left;
	}
	.slide-main .item p {
		text-align: left;
	}
}

/* 料金表 */
  /* ─── Section heading ─── */
  #fee .section-title {
    font-weight: bold;
    margin: 2rem 0 0.5rem;
  }

  /* ─── 受付時間 ─── */
  #fee .reception {
    margin-bottom: 0.5rem;
  }

  /* ─── Tables ─── */
  #fee .table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 0.5rem;
  }

  #fee table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    min-width: 300px;
  }

  #fee th, #fee td {
    border: 1px solid #000;
    padding: 0.4rem 0.8rem;
    text-align: center;
    vertical-align: middle;
  }

  #fee thead th {
    background: #fff;
    font-weight: bold;
  }

  /* ─── Notes ─── */
  #fee .notes {
    margin-top: 0.4rem;
    line-height: 1.9;
  }

  /* ─── Info list ─── */
  #fee .info-block {
    margin: 0.3rem 0 0 0;
  }
 #fee .info-block b{
	 font-weight: normal;
	 text-decoration: underline;
}
  #fee .info-block ul {
    list-style: none;
    padding: 0;
		margin: 0;
  }

  #fee .info-block li {
    line-height: 1.9;
    padding-left: 1em;
    text-indent: -1em;
  }

  #fee .info-block li::before {
    content: '・';
  }

  /* ─── Responsive ─── */
  @media (max-width: 520px) {
    #fee br.sp{display: inline-block;}
    #fee { padding: 1rem 0.8rem 3rem; }
    #fee th, #fee td { padding: 0.35rem 0.5rem; } 
  }


/**------------------------------ 
スタッフ
 ------------------------------**/
#staff_text{
padding:40px var(--over-width-half) 1px;
}
#staff_text .sbox{
background: #f0eedc;
padding: 30px;
display: flex;
flex-direction: row-reverse;
align-items: center;
justify-content:space-between ;
}
#staff_text .sbox dl{
  width: 700px;
}
#staff_text .sbox dl dt{
color: #b37b50;
font-size: 1.1em;
font-weight: bold;
border-bottom: #b37b50 solid 1px;
margin: 0 0 10px 0;
padding: 0 0 10px 0;
}
#staff_text .sbox dl span{
display: table;
margin: 1em 0 0 0;
font-size: 0.9em;
}
  /* ─── Responsive ─── */
  @media (max-width: 520px) {
#staff_text .sbox{
flex-wrap: wrap;
flex-direction:row;
justify-content:center ;
}
#staff_text .sbox dl{
  width: auto;
}

  }


/**------------------------------ 
ギャラリー
 ------------------------------**/
.list-gallery {
	font-family: var(--webf);
	margin: 50px auto 20px;
}

.list-gallery li{
  margin: 0 0 30px;
}

.list-gallery img {
	width: 100%;
	max-width: none;
	margin: 0 0 10px;
}

@media screen and (max-width:520px) {
	.list-gallery {
		font-size: 0.9em;
		line-height: 1.5;
	}
	.list-gallery img {
		margin: 0 0 5px;
	}
}

/**================================================== 
供花 購入 
================================================== **/
.list-items {
}

.list-items li {
	line-height: 1.5;
	margin: 0 0 30px;
	padding: 15px;
	text-align: center;
	border: 1px solid var(--gray2);
	background: var(--white);
	box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

.list-items li img {
	margin: 0 auto 10px;
}
.list-items li h3 {
	font-size: 1.2em;
	margin: 5px auto;
	color: var(--kon);
}.list-items li .price {
	font-family: var(--webf);
	margin: 0 0 20px;
}

.list-items a,
.list-items input[TYPE="submit"] {
	font-size: 14px;
	position: relative;
	display: block;
	width: 100%;
	margin: 10px auto 0;
	padding: 15px 5px;
	color: var(--white);
	border-radius: 5px;
}.list-items a:after,
.list-items input[TYPE="submit"]:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	border-radius: 5px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 2%,rgba(255,255,255,0.2) 2%,rgba(0,0,0,0.2) 60%);
}.list-items a:before,
.list-items input[TYPE="submit"]:before {
	position: absolute;
	z-index: 2;
	top: 50%;
	right: 8px;
	display: block;
	width: 6px;
	height: 6px;
	content: "";
	transform: rotate(45deg) translateY(-50%);
	border-top: 1px solid var(--white);
	border-right: 1px solid var(--white);
}/*.list-items a:hover {
	opacity: 0.9;
}*/
.list-items a span {
	position: relative;
	z-index: 2;
}

.list-items .hurikomi {
	background: rgb(22, 160, 133);
}
.list-items .card {
	background: var(--pink);
}


.list-items .waku {
	font-size: 1rem;
	margin: 0 auto 30px;
	border: none;
	border-bottom: 1px dotted var(--gray);
}
.first-sec04 .list-items .waku{
  margin:0;
  border:none;
}
.list-items .waku_inner {
	margin: 20px auto 0;
	padding: 15px;
	text-align: center;
	background: var(--bodybg2);
}

.list-items .text {
	display: inline-block;
	text-align: left;
	color: var(--black);
}


.list-items .text p {
	margin: 5px 0;
}

.list-items select {
	margin: 5px 10px 5px 0;
	vertical-align: middle;
	border: 1px solid var(--gray);
	background: var(--white);

	-moz-appearance: menulist;
	-webkit-appearance: menulist;
	appearance: menulist;
}
.list-items input[type="text"] {
	width: 300px;
	padding: 8px;
	background: var(--white);
}

.list-items input[TYPE="submit"] {
	font-family: var(--ff);
	font-size: 1em;
	font-weight: bold;
	width: 300px;
	margin: 20px auto;
	background: linear-gradient(to bottom, #ba6282 2%,#ba6282 2%,#913959 60%);
}


.floral-sec01 {
	--btnBw: 31%;
}
.floral-sec01 .waku svg {
	fill: var(--pink);
}

.floral-sec02 .aside2 {
	align-items: flex-end;
}

.floral-sec03 {
	padding: 50px var(--over-width-half) 20px;
}

@media screen and (max-width:520px) {
	.list-items input[type="text"] {
		width: 100%;
		margin: 5px 0;
	}
	.list-items input[TYPE="submit"] {
		width: 100%;
	}

	.floral-sec01 {
		--btnBw: 100%;
	}

	.floral-sec01 .waku {
		font-size: 0.9em;
		line-height: 1.5;
	}
	.floral-sec01 .waku svg {
		display: block;
		margin: 0 auto;
	}

	.floral-sec02 .aside2 {
		width: 100%;
	}

	.floral-sec03 {
		padding: 40px var(--over-width-half) 10px;
	}
}

/**================================================== 
 プラン
================================================== **/
.plan-sec01 {
	--titBm: 0 0 20px;
	--titBfz: 1.3em;
	--titBc: var(--kon);
	--titBta: center;
}

.plan-sec02 {
	position: relative;
	padding-top: 70px;
	background-image: url(/common/images/first_bg01.png) ;
	background-repeat: no-repeat;
	background-position: top right;
}.plan-sec02:before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 0;
	height: 0;
	content: "";
	transform: translateX(-50%);
	border-width: 50px 50px 0 50px;
	border-style: solid;
	border-color: var(--white) transparent transparent transparent;
}

.to_camp_big {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	margin: 40px auto 0;
	padding: 20px 0;
	background: var(--white);
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.2);

	--btnAm: 30px auto 15px;
	--titBm: 0 0 15px;
	--titBc: var(--kon);
	--titBfz: 1.6em;
	--hti-w: 30%;
	--hti-parent-w: 95%;
	--hti-parent-m: 0 auto 30px;
	--hti-space-right: 0 0 0 10px;
}

.to_camp_big em {
	font-size: 18px;
	font-weight: bold;
	font-style: normal;
	line-height: 1.3;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 110px;
	height: 110px;
	margin: 0 10px 10px 0;
	padding: 5px;
	text-align: center;
	color: var(--yellow);
	border: 2px solid var(--white);
	border-radius: 50%;
	background: var(--kon);
	box-shadow: 0 0 0 2px var(--kon);
}.to_camp_big em:after {
	position: absolute;
	top: 2px;
	left: 5px;
	display: block;
	width: 90px;
	height: 90px;
	content: "";
	border-radius: 50%;
	background: linear-gradient(to top, rgba(255,255,255,0) 0%,rgba(255,255,255,0.3) 100%);
}
.to_camp_big .pink {
	font-size: 32px;
	font-weight: bold;
	display: inline-block;
	margin: 10px 15px;
}
.to_camp_big .h-text-img {
	align-items: center;
}

.list-maru {
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 30px;
	border-radius: 5px;
	background: var(--bodybg3);
}
.list-maru li {
	font-size: 1.2em;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32%;
	margin: 0;
	padding: 10px 0;
	text-align: center;
	color: var(--kon);
	border: 2px solid var(--kon);
	border-radius: 50px;
	background: var(--white);
	box-shadow: 0 0 0 5px var(--bodybg);
}.list-maru li strong {
	font-size: 3.5em;
	font-weight: bold;
	line-height: 1;
	display: inline-block;
	margin: -25px 5px 0;
	vertical-align: bottom;
	color: var(--pink);
	text-shadow: 3px 3px 0 var(--white) ,-3px -3px 0 var(--white),-3px 3px 0 var(--white) ,3px -3px 0 var(--white);
}

@media screen and (max-width:520px) {
  .plan-sec01 {
	--titBm: 0 0 10px;
	--titBfz: 1.2em;
  }
  
	.to_camp_big {
		--hti-space: 0 auto;
		--hti-w: 100%;
		--hti-parent-w: 100%;
		--hti-parent-m: 0 auto 15px;
		--hti-space-right: 0;
		--hti-space-text: 5px 5%;
		position:relative;
	}
	
	.plan-sec02 .to_camp_big{
	  --hti-w: 50%;
	}
	.plan-sec02 .to_camp_big figure{
	  position:absolute;
	  top:20px;
	  right:15px;
	}
	.to_camp_big em {
		font-size: 16px;
		display: block;
		margin:0 0 5px;
		width: 100px;
		height: 100px;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
	}.to_camp_big .relifeoff {
		font-size: 1.5em;
	}

	.list-maru {
		flex-flow: column;
	}
	.list-maru li {
		font-size: 1.1em;
		width: 100%;
		margin: 0 0 5px;
		padding: 8px 0;
	}.list-maru li strong {
		font-size: 3em;
		font-weight: bold;
		line-height: 1;
		display: inline-block;
		margin: -15px 5px 0;
	}
}

/**------------------------------ 
プラン詳細
 ------------------------------**/
.plan-sec03 {
	--titBc: var(--kon);
	--titBm: 10px auto;
	--titBta: center;
}
.plan-sec03 .balloon1_B {
	font-size: 1.1em;
	width: 100%;
	margin-top: 0;
	padding: 15px 15px 30px;

	--balloon-bg: var(--bodybg2);
	--titBm: 0 0 15px;
	--titBta: center;
	--titBc: var(--kon);
	--titBfz: 1.2em;
}

.plan-sec03 .balloon1_B strong{
  font-size: 2rem;
  font-weight: bold;
  display: block;
  color:var(--red);
}
.plan-sec03 .balloon1_B small{
  font-size: 1rem; 
  color:var(--black);
}

.plan-sec03 .h-text-img {
	--hti-w: 45%;
}
.plan-sec03 .h-text-img figure {
	position: relative;
}.plan-sec03 .h-text-img figure figcaption {
	font-family: var(--webf);
	font-size: 12px;
	display: block;
	margin: 5px 0;
}

.plan-sec03 .h-text-img dl {
	display: flex;
	align-items: center;
	margin: 8px 0;
}
.plan-sec03 .h-text-img dl dt {
	font-family: var(--webf);
	font-size: 14px;
	width: 10em;
	margin: 0 15px 0 0;
	text-align: center;
	color: var(--white);
	border: 1px solid var(--white);
	background: var(--beige);
	box-shadow: 0 0 0 1px var(--beige);
}
.plan-sec03 .h-text-img dl dd {
	font-size: 1.2em;
	line-height: 1.3;
}
.plan-sec03 .h-text-img dl.gold dd {
	color: var(--pink);
}
.plan-sec03 .h-text-img dl.gold dd b {
	font-size: 2em;
}.plan-sec03 .h-text-img dl dd b {
	font-size: 1.5em;
}
.plan-sec03 .h-text-img dl dd small {
	font-size: 1rem;
	display: inline-block;
	margin: 0 10px;
	color: var(--black);
}
.plan-sec03 .h-text-img dl.ippan {
	margin-bottom: 15px;
}
.plan-sec03 .note {
	font-family: var(--webf);
	font-size: 13px;
	line-height: 1.5;
}

.plan-sec03 .slider_inner img{
  margin: 0 auto;
}

.plan-sec03 .slider_inner .slick-slide{
  padding:0 5px;
}

.list-planicon {
	margin: 30px auto;
	padding: 30px;
	border: 3px solid var(--gray);
	border-radius: 3px;
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.2);
}.list-planicon.notinclude {
	opacity: 0.8;
	border: none;
}
.list-planicon dt {
	font-size: 1.2em;
	padding: 0 5px 10px;
	text-align: center;
	border-bottom: 1px solid var(--black);
}
.list-planicon ul {
	display: flex;
	flex-wrap: wrap;
	margin: 20px auto 0;
}
.list-planicon ul li {
	font-family: var(--webf);
	font-size: 12px;
	line-height: 1.5;
	width: 12%;
	margin: 5px 0.5% 0 0;
	padding: 5px;
	text-align: center;
	color: var(--white);
	background: var(--kon2);
}
.list-planicon ul img {
	width: 100%;
}

.plan-sec03 .catBtn03 a {
	margin: 0 20px;
	padding: 30px 10px;
	cursor: default;
	border: 1px dashed var(--kon);
}
.plan-sec03 .catBtn03 a:after {
	display: none;
}.catBtn03 a + a:before {
	top: 40px;
	left: -43px;
	width: 15px;
	height: 15px;
}.plan-sec03 .catBtn03 a:hover {
	background: var(--white);
}



.works {
	display: flex;
	margin: 30px auto;
}.works h3 {
	font-size: 1.2em;
	display: flex;
	align-items: center;
	flex: none;
	justify-content: center;
	width: 30%;
	margin: 0 15px 0 0;
	text-align: center;
	color: var(--kon);
	background: var(--bodybg) url(/common/images/first_bg01L.png) no-repeat top left / 160px auto;
}
.works .text {
	padding: 15px 0;
}
.works .text p strong {
	font-size: 1.3em;
}
.works .text em {
	font-family: var(--webf);
	font-size: 14px;
	font-style: normal;
	line-height: 1;
	display: block;
	width: 150px;
	margin: 8px 0 0;
	padding: 5px 15px;
	color: var(--white);
	border: 1px solid var(--white);
	background: var(--beige);
	box-shadow: 0 0 0 1px var(--beige);
}
.works .text .price {
	font-size: 1.1em;
	line-height: 1;
	display: inline-flex;
	align-items: flex-end;
	margin: 5px 0 5px;
	padding: 5px 10px 5px 5px;
}.works .text .price b {
	font-size: 1.5em;
	color: var(--pink);
}.works .text .price small {
	font-size: 14px;
}

.works .text .iquall {
	font-size: 28px;
	line-height: 1;
	display: flex;
	align-items: flex-end;
	margin: 15px 0;
	color: var(--kon);
}.works .text .iquall b {
	font-size: 1.4em;
}.works .text .iquall small {
	font-size: 16px;
}.works .text .iquall:before {
	font-size: 0.7em;
	display: inline-block;
	margin: 0 10px 0 0;
	padding: 5px 10px;
	content: "お支払い";
	vertical-align: bottom;
	color: var(--white);
	border-radius: 3px;
	background: var(--kon);
}

@media screen and (max-width:520px) {
	.plan-sec03 {
		--titBc: var(--kon);
		--titBm: 10px auto;
		--titBta: center;
	}
	.plan-sec03 .titZ2 {
		width: 110%;
		margin-left: -5%;
	}
	.plan-sec03 .balloon1_B {
		font-size: 1em;
		padding: 15px;
		text-align: left;

		--titBfz: 1.1em;
	}

	.plan-sec03 .h-text-img {
		--hti-w: 100%;
		--hti-space: 0 0 10px;
	}
	.plan-sec03 .h-text-img figure figcaption {
		font-size: 10px;
		margin: 0;
	}

	.plan-sec03 .h-text-img dl {
		display: flex;
		align-items: flex-start;
		flex-flow: column;
		margin: 0 0 10px;
	}
	.plan-sec03 .h-text-img dl dt {
		font-size: 12px;
		width: 14em;
		margin: 5px 0;
	}
	.plan-sec03 .h-text-img dl dd {
		font-size: 1.2em;
		line-height: 1.3;
	}
	.plan-sec03 .h-text-img dl.gold dd b {
		font-size: 2em;
	}.plan-sec03 .h-text-img dl dd b {
		font-size: 1.5em;
		line-height: 1;
	}
	.plan-sec03 .h-text-img dl dd small {
		display: inline-block;
		margin: 0 5px;
	}
	.plan-sec03 .h-text-img dl.ippan {
		margin-bottom: 15px;
	}

	.list-planicon {
		margin: 20px auto;
		padding: 15px;
	}
	.list-planicon dt {
		font-size: 1em;
		line-height: 1.5;
	}
	.list-planicon ul {
		margin: 15px auto 0;
	}
	.list-planicon ul li {
		font-family: var(--webf);
		font-size: 10px;
		width: 24%;
		margin: 5px 1% 0 0;
		padding: 5px 0;
	}

	.plan-sec03 .catBtn03 a {
		margin: 0 10px;
		padding: 30px 5px;
	}
	.catBtn03 a + a:before {
		top: 40px;
		left: -20px;
		width: 10px;
		height: 10px;
	}

	.works {
		display: flex;
		flex-flow: column;
		margin: 20px auto;
	}.works h3 {
		font-size: 1.2em;
		width: 100%;
	}
	.works .text {
		padding: 15px 0 0;
	}
	.works .text .price {
		font-size: 1em;
		margin: 10px 0;
	}
	.works .text .arrow {
		width: 100%;
	}
	.works .text .iquall {
		font-size: 22px;
		justify-content: center;
		flex-wrap: wrap;
		margin:5px 0;
	}
	.works .text .iquall small{
	  font-size: 13px;
	}
	.works .text .iquall:before{
	  font-size: 13px;
	}
}

/**================================================== 
会社概要 
================================================== **/
.company-sec01 {
	--titAm: 0 auto 30px;
}.company-sec01  img {
	display: block;
	margin: 30px auto;
}

.company-sec02 {
	padding-bottom: 80px;

	--titAm: 0 auto 30px;
}
.company-sec02 p {
	font-family: var(--webf);
	margin: 30px 5%;
}

.company-sec03 {
	--titAm: 0 auto 50px;
	--titBta: center;
	--titBfz: 2.5em;
	--titBm: 0 0 50px;
	--titBc: var(--kon);
}

.company-sec03 p.note {
	font-size: 1.2em;
	margin: 10px 0;
}.company-sec03 p.note strong {
	font-size: 1.2em;
}

@media screen and (max-width:520px) {
	.company-sec02 {
		padding-bottom: 40px;
	}
	.company-sec02 p {
		margin: 20px 0;
	}

	.company-sec03 {
		--titAm: 0 auto 30px;
		--titBfz: 1.7em;
		--titBm: 0 0 30px;
	}
	.company-sec03 p.note {
		line-height: 1.5;
		padding-left: 4.5em;
		text-indent: -4.5em;
	}
}

/**------------------------------ 
はじめてのかたへ
 ------------------------------**/
.first-sec01 {
	background: url(/common/images/top_bg05.jpg) no-repeat right top;

	--titBfz: 28px;
	--titBta: center;
	--hti-w: 300px;
}
.first-sec01 .isogi {
	font-size: 34px;
	line-height: 1;
	padding: 20px 15px;
	text-align: center;
	color: var(--white);
	border-radius: 15px;
	background: var(--pink);
}.first-sec01 .isogi svg {
	vertical-align: top;

	fill: var(--white);
}
.first-sec01 .list-check2 {
	font-size: 1.3em;
}
.first-sec01 .h-text-img {
	align-items: center;
}


.first-sec02 {
	padding: 30px var(--over-width-half) 0;
	background: var(--pink2);

	--titBc: var(--black);
	--titBfz: 1.6em;
	--titBm: 0 auto 20px;
	--hti-w: 230px;
}
.first-sec02 .h-text-img {
	align-items: center;
	justify-content: center;
}.first-sec02 .h-text-img .text {
	flex: none;
}
.first-sec02 .richtext p strong{
  background: var(--pink);
  color:var(--white);
  display: block;
  padding:5px;
  text-align: center;
  display: block;
}

.first-sec02 .tel {
	font-size: 54px;
	line-height: 1;
	margin: 10px 0 0;
	color: var(--pink);
	font-weight: 700;
}.first-sec02 .tel svg {
	width: 60px;
	height: 40px;

	fill: var(--pink);
	--svg:var(--pink);
}.first-sec02 .tel p {
	font-size: 18px;
	margin: 15px auto;
	padding: 10px;
	text-align: center;
	color: var(--kon);
	border: 1px solid var(--kon);
	border-radius: 10px;
	background: var(--white);
}.first-sec02 .tel ruby rt {
	font-family: var(--webf);
	font-size: 10px;
}

.telbtn{
  display: block;
  background: var(--pink);
  color:var(--white);
  border-radius: 20px;
  text-align: center;
  padding:10px 0;
  box-shadow: 2px 2px 0 0 rgba(0,0,0,0.3),
  -1px -1px 0 0 var(--white) inset;
}

.telbtn strong{
  font-size: 22px;
}
.telbtn .tels {
	font-size: 44px;
	line-height: 1;
	margin: 0;
	color: var(--white);
	font-weight: 700;
}.telbtn .tels svg {
	width: 50px;
	height: 40px;
	fill: var(--white);
	--svg:var(--white);
}.telbtn p {
  width: fit-content;
	font-size: 16px;
	margin: 5px auto 0;
	padding: 0 10px;
	text-align: center;
	color: var(--kon);
	background: var(--white);
}.telbtn .tels ruby rt {
	font-family: var(--webf);
	font-size: 10px;
}


.telbtn2{
  display: block;
  background: linear-gradient(var(--red2), var(--red));
  color:var(--white);
  border-radius: 10px;
  text-align: center;
  padding:15px 15px 15px;
  box-shadow: 2px 2px 5px 0 rgba(0,0,0,0.3);
  text-shadow: -1 -1 0 rgba(0,0,0,0.3);
  width: 100%;
  max-width: 520px;
  margin:20px auto;
  position:relative;
}
.telbtn2:before{
  content: "";
  display: block;
  width: 90%;
  border-radius: 50px;
  height: 1px;
  background: rgba(255,255,255,0.2);
  position:absolute;
  top:5px;
  left: 5%;
  box-shadow:0 0 3px 3px rgba(255,255,255,0.2);
}
.telbtn2:after{
  content: "→";
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--white);
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50px;
  color: var(--red2);
  font-size: 10px;
  position: absolute;
  top: 50%;
  transform:translateY(-50%);
  right:5px;
}

.telbtn2 strong{
  font-size: 26px;
  color: var(--yellow);
  display: block;
  background: none;
}
.telbtn2 .tels {
	font-size: 44px;
	line-height: 1;
	margin: 0;
	color: var(--white);
	font-weight: 700;
}.telbtn2 .tels svg {
	width: 50px;
	height: 40px;
	fill: var(--white);
	--svg:var(--white);
}.telbtn2 p {
	font-size: 20px;
	margin: 15px auto 5px;
	padding: 0 10px;
	text-align: center;
	color: var(--red2);
	background: var(--white);
	border-radius: 5px;
}.telbtn2 .tels ruby rt {
	font-family: var(--webf);
	font-size: 10px;
}


.list-guidance {
	margin: 30px auto;
}
.list-guidance li {
	position: relative;
	margin: 0 auto;

	--titBm: 0 0 15px;
	--titBc: var(--kon);
	--titBfz: 1.4em;
	--hti-parent-w: calc(100% - 70px);
	--hti-parent-m: 0 0 0 70px;
	--hti-w: 300px;
}.list-guidance li:before {
	position: absolute;
	z-index: -1;
	top: 30px;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	content: "";
	background: var(--kon);
}
.list-guidance li:after {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 15px;
	display: block;
	width: 15px;
	height: 0;
	content: "";
	animation: guidance-line 2s ease 0s infinite normal;
	border-right: 5px dashed var(--bodybg);
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAAEZJREFUKFNjvHn3yX8GKFBXlmGEsdFpRmSFIElcijEU4lIMtgrdVGyK4W4ipBjF8fgUY/gSl2KswYFNMc5wQ1eMUyF6aAAArRYm1hFAopUAAAAASUVORK5CYII=) no-repeat bottom -3px left / 15px auto;
}.list-guidance li:last-child:after {
	display: none;
}
@keyframes guidance-line {
	0% {
		height: 0;
	}
	5% {
		height: 10%;
	}10% {
		height: 10%;
	}
	10% {
		height: 20%;
	}15% {
		height: 20%;
	}
	15% {
		height: 30%;
	}20% {
		height: 30%;
	}
	20% {
		height: 40%;
	}25% {
		height: 40%;
	}
	25% {
		height: 50%;
	}30% {
		height: 50%;
	}
	30% {
		height: 60%;
	}35% {
		height: 60%;
	}
	35% {
		height: 70%;
	}40% {
		height: 70%;
	}
	40% {
		height: 80%;
	}45% {
		height: 80%;
	}
	45% {
		height: 90%;
	}50% {
		height: 90%;
	}
	50% {
		height: 100%;
	}
	100% {
		height: 100%;
	}
}

.list-guidance li i {
	font-size: 1.8em;
	font-style: normal;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	text-align: center;
	color: var(--white);
	border-radius: 50px;
	background: var(--kon);
}
.list-guidance img {
	padding: 5px;
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.2);
}

.first-sec03 .tel {
	font-size: 40px;
	line-height: 1;
	margin: 10px 0 0;
	color: var(--pink);
		font-weight: 700;
}.first-sec03 .tel svg {
	width: 40px;
	height: 30px;

	fill: var(--pink);
	--svg:var(--pink);
}.first-sec03 .tel p {
	font-size: 18px;
	max-width: 300px;
	margin: 15px 0;
	padding: 10px;
	text-align: center;
	color: var(--pink);
	border: 1px solid var(--pink);
	border-radius: 10px;
	background: var(--white);
}
.first-sec03 .tel ruby rt {
	font-family: var(--webf);
	font-size: 10px;
}

.first-sec04 {
	--titBbg: var(--kon2);
	--titBc: var(--white);
	--titBp: 10px;
	--titBta: center;
	--titBm: 20px 0 0;
}
.first-sec04 .box2C,
.first-sec04 .box1C{
	margin-bottom: 30px;
	padding: 30px;
	background: var(--white);
}
.first-sec04 dl dt {
	font-size: 1.2em;
	font-weight: bold;
	margin: 0 0 15px;
	color: var(--kon);
}
.first-sec04 dl dd {
	margin: 0 5%;
}

@media screen and (max-width:520px) {
	.first-sec01 {
		background-size: 100% auto;

		--titBfz: 18px;
		--titBta: center;
		--hti-w: 200px;
	}
	.first-sec01 .isogi {
		font-size: 20px;
		padding: 15px 10px;
	}.first-sec01 .isogi svg {
		width: 30px;
		height: 20px;
		margin-left: 0;
	}
	.first-sec01 .list-check2 {
		font-size: 1em;
	}

	.first-sec02 {
		padding: 15px 5% 0;
		background: var(--pink2);

		--titBc: var(--black);
		--titBfz: 1.2em;
		--titBta: center;
		--titBm: 0 0 10px -80px;
		--hti-w: 85px;
		--hti-space-left: 0;
	}
	.first-sec02 .h-text-img {
		align-items: flex-end;
		justify-content: center;
	}.first-sec02 .h-text-img .text {
		flex: none;
	}

	.first-sec02 .tel {
		font-size: 28px;
		margin: 10px 5px 20px;
		padding: 10px;
		color: var(--white);
		border: 1px solid var(--pink);
		border-radius: 10px;
		background: var(--pink);
	}.first-sec02 .tel svg {
		width: 40px;
		height: 30px;

		fill: var(--white);
		--svg :var(--white);
	}.first-sec02 .tel p {
		font-size: 14px;
		margin: 10px 0 0;
		color: var(--pink);
		border: none;
	}
	
	.telbtn{
    display: block;
    background: var(--pink);
    color:var(--white);
    text-align: center;
    padding:0 15px 10px;
    margin:0 0 15px 5px;
  }
  
  .telbtn2{
    padding:5px 20px 15px 10px;
  }
  .to_call a.telbtn2{
    width:90%;
    margin: 0 auto;
  }
  
  .telbtn strong{
    font-size: 14px;
    margin-bottom: 5px;
  }
  .telbtn2 strong{
    font-size: 22px;
    text-align: center;
    margin-left: 10px;
  }
  .telbtn .tels,
  .telbtn2 .tels{
  	font-size: 28px;
  	margin:0 0 5px;
  	padding:0;
  	background: none;
  	border:none;
  }
  .telbtn2 .tels{
    font-size: 33px;
  }
  .telbtn .tels svg{
  	width: 30px;
  	height: 20px;
  }
  .telbtn2 .tels svg{
    width:30px;
    height:30px;
    margin:0;
  }
  .telbtn p,
  .telbtn2 p{
  	font-size: 12px;
  	padding: 0 5px;
  }.telbtn .tels ruby rt{
    font-size: 9px;
  }
  .telbtn2 p{
    width:100%;
    margin:10px auto 0;
  }

	.first-sec02 .sp img {
		width: 230px;
		margin: 0 10px 25px;
	}
	.list-guidance {
		margin: 20px auto 0 -10px;
	}
	.list-guidance li {
		position: relative;
		margin: 0 auto;
		padding: 0 0 15px;

		--titBm: 0 0 15px;
		--titBfz: 1.2em;
		--hti-parent-w: calc(100% - 40px);
		--hti-parent-m: 0 0 0 40px;
		--hti-w: 100%;
		--hti-space: 0 auto 10px;
	}.list-guidance li:before {
		top: 20px;
	}.list-guidance li:after {
		left: 8px;
	}.list-guidance li:last-child:after {
		display: none;
	}
	.list-guidance li i {
		font-size: 1.2em;
		width: 40px;
		height: 40px;
	}

	.first-sec03 .tel {
		font-size: 30px;
		margin: 10px 0;
		padding: 15px;
		color: var(--white);
		border: 1px solid var(--pink);
		border-radius: 10px;
		background: var(--pink);
	}.first-sec03 .tel svg {
		width: 40px;
		height: 30px;

		fill: var(--white);
			--svg:var(--white);
	}.first-sec03 .tel p {
		font-size: 16px;
		margin: 10px 0 0;
		text-align: center;
		color: var(--pink);
	}

	.first-sec04 {
		--titBp: 10px;
	}
	.first-sec04 .box2C {
		margin-bottom: 30px;
		padding: 10px 15px;
	}
	.first-sec04 .box1C{
	padding: 30px 15px;
  }
	.first-sec04 dl dt {
		font-size: 1.2em;
		margin: 0 0 10px;
	}
	.first-sec04 dl dd {
		margin: 0 0 0 5%;
	}
}

/**------------------------------ 
社葬
 ------------------------------**/
.funeral-sec01 {
	--titBfz: 28px;
	--titBta: center;
	--titBc: var(--kon);
	--titAm: 60px auto 30px;
}

.funeral-sec02 {
	position: relative;
	padding: 30px var(--over-width-half) 0;
	background: var(--bodybg3) url(/common/images/first_bg01.png) no-repeat top right ;

	--titBfz: 1.4em;
	--titBm: 0 auto 20px;
	--titBbg: var(--kon);
	--titBc: var(--white);
	--titBp: 10px 20px;
	--hti-w: 230px;
}.funeral-sec02:before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 0;
	height: 0;
	content: "";
	transform: translateX(-50%);
	border-width: 50px 50px 0 50px;
	border-style: solid;
	border-color: var(--white) transparent transparent transparent;
}
.funeral-sec02 .h-text-img {
	align-items: center;
}

@media screen and (max-width:520px) {
	.funeral-sec01 {
		--titBfz: 20px;
		--titBta: center;
		--titAm: 30px auto;
	}

	.funeral-sec02 {
		position: relative;
		padding: 30px var(--over-width-half) 30px;
		background: var(--bodybg3) ;

		--titBfz: 1.1em;
		--titBm: 30px auto 20px;
		--titBbg: var(--kon);
		--titBc: var(--white);
		--titBp: 10px 20px;
		--hti-w: 90px;
		--hti-space-left: 0;
	}.funeral-sec02:before {
		border-width: 30px 30px 0 30px;
	}
	.funeral-sec02 .h-text-img {
		align-items: center;
	}
	.funeral-sec02 .h-text-img figure {
		position: absolute;
		top: -13px;
		right: 5px;
	}
}

/**================================================== 
 法要
================================================== **/
.memorial-sec01 {
	display: flex;
	justify-content: space-between;
}
.memorial-sec01 > figure,
.memorial-sec01 .detail-slide {
	font-family: var(--webf);
	font-size: 14px;
	flex: none;
	width: 50%;
	margin-left: 30px;
}
.memorial-sec01 .slick-prev {
	left: 0;
}.memorial-sec01 .slick-next {
	right: 15px;
}.memorial-sec01 .slide-navigation {
	margin-top: 10px;
}

.memorial-sec01 .note {
	font-family: var(--webf);
	font-size: 13px;
	line-height: 1.5;
}
.memorial-sec01 dl {
	display: flex;
	align-items: center;
	margin: 8px 0;
}
.memorial-sec01 dl dt {
	font-family: var(--webf);
	font-size: 14px;
	width: 10em;
	margin: 0 15px 0 0;
	text-align: center;
	color: var(--white);
	border: 1px solid var(--black);
	border: 2px solid var(--white);
	background: var(--beige);
	box-shadow: 0 0 0 1px var(--beige);
}
.memorial-sec01 dl dd {
	font-size: 1.2em;
	line-height: 1.3;
}
.memorial-sec01 dl.gold dd {
	color: var(--pink);
}
.memorial-sec01 dl.gold dd b {
	font-size: 2em;
}.memorial-sec01 dl dd b {
	font-size: 1.5em;
}
.memorial-sec01 dl dd small {
	font-size: 1rem;
	display: inline-block;
	margin: 0 10px;
	color: var(--black);
}
.memorial-sec01 .waku {
	padding: 10px;
}

.memorial-sec02 {
	text-align: center;

	--titBfz: 1.6em;
	--titBc: var(--kon);
	--titBta: center;
}.memorial-sec02 .box3C {
	margin: 40px 0;
}

.memorial-sec03 {
	--titBc: var(--kon);
	--titBfz: 1.4em;
	--titBta: center;
}
.memorial-sec03 dl dt {
	font-size: 1.4em;
	width: 100%;
	padding: 5px 15px;
	text-align: center;
	text-align: center;
	color: var(--white);
	background: var(--kon2);
}
.memorial-sec03 dl dd {
	padding: 30px;
	background: var(--white);
}
.memorial-sec03 dl dd ul {
	font-size: 1.1em;
	display: flex;
	flex-wrap: wrap;
}.memorial-sec03 dl dd ul li:before {
	content: "● ";
	color: var(--kon2);
}.memorial-sec03 dl dd ul  li {
	margin: 5px 10px;
}

@media screen and (max-width:520px) {
	.memorial-sec01 {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
	}
	.memorial-sec01 > figure,
	.memorial-sec01 .detail-slide {
		width: 100%;
		margin-left: 0;
	}
	.memorial-sec01 .slick-prev {
		left: -15px;
	}.memorial-sec01 .slick-next {
		right: -4px;
	}

	.memorial-sec01 dl {
		display: flex;
		align-items: flex-start;
		flex-flow: column;
		margin: 0 0 10px;
	}
	.memorial-sec01  dl dt {
		font-size: 12px;
		margin: 5px 0;
	}
	.memorial-sec01  dl dd {
		font-size: 1.1em;
		line-height: 1.3;
	}
	.memorial-sec01  dl.gold dd b {
		font-size: 2em;
	}.memorial-sec01  dl dd b {
		font-size: 1.5em;
		line-height: 1;
	}
	.memorial-sec01  dl dd small {
		font-size: 13px;
		display: inline-block;
		margin: 0 5px;
	}
	.memorial-sec01 dl.ippan {
		margin-bottom: 15px;
	}

	.memorial-sec02 {
		text-align: left;

		--titBfz: 1.2em;
	}.memorial-sec02 .box3C {
		margin: 20px 0;
	}

	.memorial-sec03 {
		--titBfz: 1.2em;
		--titBta: left;
	}
	.memorial-sec03 dl dt {
		font-size: 1.2em;
	}
	.memorial-sec03 dl dd {
		padding: 10px;
		background: var(--white);
	}
	.memorial-sec03 dl dd ul  li {
		margin: 5px 10px;
		padding-left: 1em;
		text-indent: -1em;
	}
}

/**================================================== 
SDGS 
================================================== **/
.waku2 {
	padding: 40px;
	border-radius: 10px;
	background: var(--white);
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.2);
}

.list-sdgs {
	position: relative;
	margin: 0 0 50px;
	padding: 20px 30px 20px 0;
	border: 1px solid var(--titBc);
}.list-sdgs i {
	font-size: 1em;
	font-style: normal;
	position: relative;
	display: flex;
	align-items: center;
	flex: none;
	justify-content: center;
	width: 100px;
	height: 100px;
	margin: 0 20px 0 0;
	text-align: center;
	color: var(--white);
	border-radius: 50px;
	background: var(--titBc);
}.list-sdgs i:after {
	position: absolute;
	top: 0;
	left: 2px;
	display: block;
	width: 75px;
	height: 75px;
	content: "";
	border-radius: 50px;
	background: linear-gradient(to top, rgba(255,255,255,0) 0%,rgba(255,255,255,0.3) 100%);
}.list-sdgs dt {
	font-size: 1.4em;
	display: flex;
	align-items: center;
	margin: 0 0 0 -50px;
	padding: 0 0 15px;
	color: var(--titBc);
}.list-sdgs dd {
	font-family: var(--webf);
	padding: 0 0 0 60px;
}
.list-sdgs b {
	font-size: 1.1em;
	font-weight: bold;
	display: block;
	margin: 10px auto;
	padding: 5px 30px;
	color: var(--white);
	border-radius: 50px;
	background: var(--titBc);
}
.list-sdgs img {
	width: 80px;
	margin: 5px;
}
.sdgs01 {
	--titBc: var(--kon2) /*#427935*/;
}
.sdgs02 {
	--titBc: var(--kon2) /*#f5a200*/;
}
.sdgs03 {
	--titBc: var(--kon2) /*#c60f28*/;
}
.sdgs04 {
	--titBc: var(--kon2) /*#e83819*/;
}

@media screen and (max-width:520px) {
	.waku2 {
		padding: 20px;
	}
	.sdgs-sec01 .waku2 img {
		width: 200px;
	}

	.list-sdgs {
		position: relative;
		margin: 50px 0 20px;
		padding: 0 10px 10px;
	}.list-sdgs i {
		font-size: 1rem;
		width: 80px;
		height: 80px;
		margin: -30px 0 10px;
	}.list-sdgs i:after {
		width: 56px;
		height: 56px;
	}.list-sdgs dt {
		font-size: 1.1em;
		line-height: 1.5;
		flex-flow: column;
		margin: 0;
		padding: 0 0 5px;
	}.list-sdgs dd {
		padding: 10px 0;
	}
	.list-sdgs b {
		font-size: 0.9em;
		padding: 5px 15px;
	}
	.list-sdgs img {
		width: 80px;
		margin: 5px;
	}
}

/**------------------------------ 
お得な会員制度
 ------------------------------**/
.relifeoff {
	font-size: 2.8em;
	font-weight: bold;
	line-height: 1.5;
	display: inline-block;
	color: var(--pink);
}
.relifeoff small {
	font-size: 0.7em;
}
.relifeoff b {
	position: relative;
	display: inline-block;
	margin: 0 15px;
	padding: 0 20px 0;
	text-shadow: var(--white) 2px 0,  var(--white) -2px 0,
	var(--white) 0 -2px, var(--white) 0 2px,
	var(--white) 2px 2px , var(--white) -2px 2px,
	var(--white) 2px -2px, var(--white) -2px -2px,
	var(--white) 1px 2px,  var(--white) -1px 2px,
	var(--white) 1px -2px, var(--white) -1px -2px,
	var(--white) 2px 1px,  var(--white) -2px 1px,
	var(--white) 2px -1px, var(--white) -2px -1px;
}.relifeoff b:after {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 20px;
	content: "";
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAAXNSR0IArs4c6QAAAChJREFUGFdjZEADW93z/zMii4EEvHdOZIQLwgRAisCCyAJgQXQBkCAAeL8ScCDnukgAAAAASUVORK5CYII=);
}.relifeoff b span {
	position: relative;
	z-index: 2;
}

.cardHERO {
	position: relative;
	width: 100%;
	padding: 40px var(--over-width-half) 20px;
	background: url(/common/images/top_img06.jpg) no-repeat right top / auto 100%;

	--btnAm: 40px 0 20px;
}
.cardHERO:before {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	background: linear-gradient(to right, rgba(250, 252, 247,1) 50%,rgba(250, 252, 247,0) 80%);
}
.cardHERO > * {
	line-height: 1.5;
	position: relative;
	z-index: 2;
}
.cardHERO .kuyoukun {
	position: absolute;
	top: -20px;
	left: 50%;
	width: 100px;
}
.C_hero01 {
	font-size: 1.5em;
	width: 65%;
	margin: 0 0 10px;
	padding: 5px;
	text-align: center;
	color: var(--yellow);
	border-radius: 50px;
	background: var(--kon);
}
.C_hero02 {
	margin: 0 0 30px;
}
.C_hero03,
.C_hero04 {
	font-size: 1.5em;
	line-height: 1;
	position: relative;
	padding: 10px 15px 20px;
	letter-spacing: -2px;
	border: 3px solid var(--gold);
	border-radius: 10px;
	background: var(--white);
	box-shadow: 0 0 0 5px var(--bodybg2);
}
.C_hero04 {
	margin: 0 0 0 20px;
}
.C_hero03 strong,
.C_hero04 strong {
	font-size: 2em;
	font-weight: bold;
	display: inline-block;
	margin: 0 8px;
	vertical-align: baseline;
	letter-spacing: 0;
	color: var(--gold);
}
.C_hero04 small {
	font-family: var(--webf);
	font-size: 0.5em;
	position: absolute;
	right: 0;
	bottom: -25px;
	display: block;
	margin: 15px 0 0;
	text-align: right;
	letter-spacing: 0;
}
.C_hero05 {
	font-size: 1.5em;
	margin: 35px 0 0;
	color: var(--kon);
}

.card-sec01 .to_camp_big {
	box-shadow: none;
}

.card-sec02 .titZ2 {
	background: var(--gold);
}


.works2 {
	font-size: 1.2em;
	margin: 30px auto;
	padding: 0;
	text-align: center;
	border: 1px solid var(--kon2);
}
.works2 h4 {
	font-size: 1.1em;
	font-style: normal;
	display: block;
	margin: 0 0 15px;
	padding: 5px 20px;
	color: var(--white);
	background: var(--kon2);
}
.works2 .flex {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.5;
	display: inline-flex;
	align-items: center;
	margin: 0 0 15px;
	letter-spacing: 1px;
}
.works2 .flex p {
	font-size: 0.8em;
	margin: 5px 10px;
	padding: 15px;
	border: 2px solid var(--black);
	border-radius: 50px;
}.works2 .flex p strong {
	font-size: 1.5em;
	line-height: 1;
	color: var(--kon);
}.works2 .flex p  small {
	font-size: 0.8em;
}
.works2 .price {
	font-size: 2.8em;
	line-height: 1;
	display: inline-flex;
	align-items: flex-end;
	justify-content: center;
	margin: 20px auto 10px;
}
.works2 .price .icon {
	width: 130px;
	margin: 0 15px 0 0;
}.works2 .price .icon em {
	font-family: var(--webf);
	font-size: 14px;
	font-style: normal;
	line-height: 1;
	display: block;
	margin: 0;
	padding: 5px 15px;
	white-space: nowrap;
	color: var(--white);
	border: 1px solid var(--white);
	background: var(--beige);
	box-shadow: 0 0 0 1px var(--beige);
}.works2 .price .icon i {
	font-size: 14px;
	font-style: normal;
	display: block;
	margin: 5px 0 0;
	padding: 5px 15px;
	color: var(--white);
	border-radius: 50px;
	background: var(--pink);
}.works2 .price b {
	font-weight: bold;
	color: var(--pink);
}.works2 .price small {
	font-size: 0.4em;
}.works2 .otoku {
	font-size: 1.4em;
}.works2 .price img {
	width: auto;
	height: 1.5em;
	margin: 0 15px 0 0;
}
.works2 .touroku {
	font-family: var(--webf);
	margin: 25px 0 0;
	padding: 15px;
	color: var(--kon);
	background: var(--bodybg3);
}


.card-sec03 {
	background-image: url(/common/images/top_bg05L.png);
	background-repeat: no-repeat;
	background-position: top left;
}

.list-merrit {
	margin: 60px auto 10px;
}
.list-merrit li {
	font-size: 1.2em;
	line-height: 1.5;
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 0 30px;
	padding: 15px;
	counter-increment: number;
	background: var(--white);
	box-shadow: 0 0 3px 1px rgba(0,0,0,0.2);
}.list-merrit li:before {
	position: absolute;
	top: -5px;
	left: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	content: counter(number, decimal-leading-zero);
	text-align: center;
	color: var(--white);
	border-right: 25px solid var(--pink);
	border-bottom: 10px solid transparent;
	border-left: 25px solid var(--pink);
}
.list-merrit li figure {
	flex: none;
	width: 200px;
	margin: 0 15px 0 0;
}
.list-merrit li b {
	font-size: 1.1em;
	line-height: 1.4;
	position: relative;
	display: inline-block;
	margin: 0 2px 5px;
	padding: 0 5px 0;
	color: var(--pink);
	text-shadow: var(--white) 2px 0,  var(--white) -2px 0,
	var(--white) 0 -2px, var(--white) 0 2px,
	var(--white) 2px 2px , var(--white) -2px 2px,
	var(--white) 2px -2px, var(--white) -2px -2px,
	var(--white) 1px 2px,  var(--white) -1px 2px,
	var(--white) 1px -2px, var(--white) -1px -2px,
	var(--white) 2px 1px,  var(--white) -2px 1px,
	var(--white) 2px -1px, var(--white) -2px -1px;
}.list-merrit li b:after {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 10px;
	content: "";
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAAXNSR0IArs4c6QAAAChJREFUGFdjZEADW93z/zMii4EEvHdOZIQLwgRAisCCyAJgQXQBkCAAeL8ScCDnukgAAAAASUVORK5CYII=);
}.list-merrit li b span {
	position: relative;
	z-index: 2;
}

.table-kaiin {
	margin: 40px auto;
}

.table-kaiin table {
	font-family: var(--lato) , var(--webf);
	width: 100%;
	border-collapse: collapse;
}
.table-kaiin table th,
.table-kaiin table td {
	padding: 15px;
	vertical-align: middle;
	border: 1px solid var(--bodybg);
}
.table-kaiin table th {
	font-weight: normal;
	color: var(--white);
	background: var(--kon);
}
.table-kaiin table td {
	font-family: var(--lato);
	font-size: 1.2em;
	text-align: center;
	letter-spacing: 1px;
}
.table-kaiin table td b {
	font-size: 2em;
	font-weight: bold;
	display: inline-block;
	margin: 0 5px 0 0;
	color: var(--pink);
}.table-kaiin table td b + small {
	font-size: 16px;
	font-weight: bold;
	color: var(--pink);
}
.table-kaiin img {
	display: block;
	width: 150px;
	margin: 0 auto 5px;
	border-radius: 5px;
	box-shadow: 2px 2px 3px rgba(0,0,0,0.2);
}
.table-kaiin strong {
	font-size: 16px;
}

.table-kaiin .hangaku,
.table-kaiin .muryou {
	font-size: 1.5em;
	font-weight: bold;
	position: relative;
	margin: 0 5px 5px;
	color: var(--pink);
	background: var(--pink2);
	text-shadow: var(--white) 2px 0, var(--white) -2px 0, var(--white) 0 -2px, var(--white) 0 2px, var(--white) 2px 2px , var(--white) -2px 2px, var(--white) 2px -2px, var(--white) -2px -2px, var(--white) 1px 2px, var(--white) -1px 2px, var(--white) 1px -2px, var(--white) -1px -2px, var(--white) 2px 1px, var(--white) -2px 1px, var(--white) 2px -1px, var(--white) -2px -1px,rgba(0,0,0,0.5) 3px 3px 4px;
}

.kantanWari {
	--titBfz: 1.4em;
	--titBc: var(--kon);
	--titBta: center;
	--titBm: 0 0 5px;
}

.card-sec05 {
	position: relative;
	padding-top: 40px;
	background-image: url(/common/images/first_bg01.png);
	background-repeat: no-repeat;
	background-position: top right;
}.card-sec05:before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 0;
	height: 0;
	content: "";
	transform: translateX(-50%);
	border-width: 50px 50px 0 50px;
	border-style: solid;
	border-color: var(--white) transparent transparent transparent;
}


.to_camp_kari {
	position: relative;
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	margin: 40px auto 0;
	padding: 30px;
	background: var(--white);
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.2);

	--btnAm: 30px auto 15px;
	--titBm: 0;
	--titBc: var(--kon);
	--titBfz: 1.6em;
}
.to_camp_kari .text {
	margin: 0 5%;
}
.to_camp_kari h2 {
	font-size: 1.4em;
	display: block;
	margin: 0 0 10px;
	padding: 5px 15px;
	text-align: center;
	color: var(--yellow);
	border-radius: 50px;
	background: var(--kon);
}
.to_camp_kari .note {
	font-family: var(--webf);
}
.to_camp_kari img {
	position: absolute;
	top: 30px;
	right: 80px;
	width: 200px;
}
.relifeoffWrap {
	display: flex;
}
.relifeoff2 {
	font-size: 1.3em;
	line-height: 1;
	position: relative;
	display: inline-block;
	margin: 20px auto;
	padding: 10px 15px 20px;
	letter-spacing: -2px;
	border: 3px solid var(--gold);
	border-radius: 10px;
	background: var(--white);
	box-shadow: 0 0 0 5px var(--bodybg2);
}
.relifeoff2 b {
	font-size: 2em;
	font-weight: bold;
	display: inline-block;
	margin: 0 8px;
	vertical-align: baseline;
	letter-spacing: 0;
	color: var(--gold);
}
.relifeoff2 + .relifeoff3 {
	margin-left: 15px;
}
.relifeoff3 {
	font-size: 1.4em;
	display: inline-block;
	margin: 20px auto;
	padding: 10px 15px;
	color: var(--pink);
	border: 3px solid var(--pink);
	border-radius: 10px;
	background: var(--white);
	box-shadow: 0 0 0 5px var(--bodybg2);
}
.relifeoff3 b {
	font-size: 1.5em;
	line-height: 1.3;
	position: relative;
	display: inline-block;
	margin: 0 5px 5px;
	padding: 0 5px 0;
	color: var(--pink);
	text-shadow: var(--white) 2px 0,  var(--white) -2px 0,
	var(--white) 0 -2px, var(--white) 0 2px,
	var(--white) 2px 2px , var(--white) -2px 2px,
	var(--white) 2px -2px, var(--white) -2px -2px,
	var(--white) 1px 2px,  var(--white) -1px 2px,
	var(--white) 1px -2px, var(--white) -1px -2px,
	var(--white) 2px 1px,  var(--white) -2px 1px,
	var(--white) 2px -1px, var(--white) -2px -1px;
}.relifeoff3 b:after {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 15px;
	content: "";
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAAXNSR0IArs4c6QAAAChJREFUGFdjZEADW93z/zMii4EEvHdOZIQLwgRAisCCyAJgQXQBkCAAeL8ScCDnukgAAAAASUVORK5CYII=);
}.relifeoff3 b span {
	position: relative;
	z-index: 2;
}.relifeoff3 small {
	font-size: 0.7em;
	color: var(--black);
}

.card-sec06 {
	margin: 50px auto 0;

	--titAm: 0 auto 30px;
}
.card-sec07 {
	--titAm: 0 auto 30px;
}
.card-sec06 .catBtn02 {
	padding: 5px 0;
	background: var(--white);
}
.card-sec06 .waku {
	display: flex;
	align-items: center;
	background: var(--white);
}
.card-sec06 .waku svg {
	margin: 0 15px 0 0;

	fill: var(--pink);
}.card-sec06 .waku b {
	font-size: 1.2em;
	color: var(--pink);
}
.ruleBoxWrap {
	padding: 30px;
	background: var(--white);
}
.ruleBoxWrap .checkBox,
.ruleBoxWrap .checkBox2 {
	font-size: 1.4em;
	display: block;
	text-align: center;
	color: var(--pink);
}.ruleBoxWrap .checkBox  input,
.ruleBoxWrap .checkBox2  input {
	width: 20px;
	height: 20px;
	margin: 0 8px 0 0;
}.ruleBoxWrap .miniTxt {
	font-family: var(--webf);
	margin: 20px auto;
	text-align: center;
}
.ruleBox {
	font-family: var(--webf);
	line-height: 1.5em;
	overflow: auto;
	width: 100%;
	height: 200px;
	margin: 20px auto;
	padding: 1em;
	text-align: left;
	text-align: justify;
	letter-spacing: 0.07em;
	border: 1px solid var(--beige);
	background: var(--white);
}.ruleBox h2 {
	font-weight: bold;
	margin: 15px 0;
	text-align: center;
}.ruleBox p {
	padding: 0.2em 1em 0;
}.ruleBox p.elem {
	padding: 0 1em 0.5em 2em;
}.ruleBox ol {
	margin: 0 1em 0.6em 2em;
}

/**================================================== 
会員タブ切り替え
================================================== **/
/*タブ切り替え全体のスタイル*/
.siharai {
	display: none;
	margin-top: 30px;
}
.siharai .catBtn02 a {
	width: 98%;
}

.tabs,
.tabs2 {
	width: var(--base-width);
	margin: 0 auto;
	margin-top: 10px;
	padding-bottom: 40px;
}
.tabs {
	display: none;
	margin-top: 0;
}
.tabs form label,
.tabs2 form label {
	font-size: 1.2em;
	font-style: normal;
}
.tabs form input,
.tabs2 form input {
	font-family: var(--webf);
	margin: 5px;
	padding: 8px;
}

/*タブのスタイル*/
.tab_item,
.tab_item2 {
	font-size: 1;
	display: inline-block;
	width: 40%;
	padding: 15px;
	text-align: center;
	border: 1px solid var(--gray);
	border-bottom: none;
	border-radius: 10px 10px 0 0;
	background: var(--white);
	box-shadow: 0 -2px 5px 0 rgba(0,0,0,0.2) inset;
}
.tabs input[name="tab_item"],
.tabs2 input[name="tab_item2"] {
	visibility: hidden;
}

/*タブ切り替えの中身のスタイル*/
.tab_content,
.tab_content2 {
	display: none;
	clear: both;
	overflow: hidden;
	padding: 30px;
	background-color: #ffffff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.tab_content {
	border: 3px solid var(--kon);
}
.tab_content2 {
	border: 3px solid var(--beige);
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content {
	display: block;
}

/*選択されているタブのコンテンツのみを表示*/
#all2:checked ~ #all2_content,
#programming2:checked ~ #programming2_content {
	display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
	font-size: 1.2em;
	color: var(--yellow);
	border: 3px solid var(--kon);
	border-bottom: none;
	background-color: var(--kon);
}


.tabs2 input:checked + .tab_item2 {
	font-size: 1.2em;
	color: var(--white);
	border: 3px solid var(--beige);
	border-bottom: none;
	background-color: var(--beige);
	box-shadow: none;
}

.tabs form > * > label:nth-child(1),
.tabs2 form > * > label:nth-child(1) {
	font-family: var(--lato),var(--webf);
	font-size: 1.1em;
	font-style: normal;
	display: block;
	margin: 30px 0 10px;
	padding: 10px 20px;
	color: var(--white);
	background: var(--kon2);
}
.tabs2 form > * > label:nth-child(1) {
	background: var(--beige);
}

.tabs input[type="submit"],
.tabs2 input[type="submit"] {
	font-size: 1.2em;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	margin: 40px auto;
	padding: 15px 30px;
	color: var(--white);
	color: var(--yellow);
	border-radius: 50px;
	background: var(--kon);
}

.tabs2 a {
	font-size: 1.2em;
	position: relative;
	display: block;
	margin: 40px auto;
	padding: 20px;
	text-align: center;
	color: var(--white);
	border-radius: 10px;
}.tabs2 a:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	border-radius: 5px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 2%,rgba(255,255,255,0.2) 2%,rgba(0,0,0,0.2) 60%);
}.tabs2 a:before {
	position: absolute;
	z-index: 2;
	top: 50%;
	right: 8px;
	display: block;
	width: 6px;
	height: 6px;
	content: "";
	transform: rotate(45deg) translateY(-50%);
	border-top: 1px solid var(--white);
	border-right: 1px solid var(--white);
}.tabs2 a span {
	position: relative;
	z-index: 3;
}
.tabs2 .btn_g {
	background: var(--gold);
}.tabs2 .btn_s {
	background: rgb(127, 140, 141);
}.tabs2 .btn_b {
	background: rgb(205, 97, 51);
}

@media screen and (max-width:520px) {
	.relifeoff {
		font-size: 1.7em;
	}
	.relifeoff small {
		font-size: 0.7em;
	}

	.cardHERO {
		position: relative;
		width: 100%;
		padding: 40vw var(--over-width-half) 30px;
		background: url(/common/images/top_img06.jpg) no-repeat right top / 100% auto;

		--btnAm: 20px auto;
	}
	.cardHERO:before {
		background: linear-gradient(to top, rgba(250, 252, 247,1) 70%,rgba(250, 252, 247,0) 80%);
	}
	.cardHERO .kuyoukun {
		position: absolute;
		top: -20px;
		left: 85%;
		width: 60px;
	}
	.C_hero01 {
		font-size: 1em;
		width: 100%;
		margin: 0 0 10px;
		padding: 8px;
	}
	.C_hero02 {
		margin: 0 0 15px;
	}
	.cardHERO .flex {
		flex-flow: column;
	}
	.C_hero03,
	.C_hero04 {
		font-size: 1.2em;
		width: 100%;
		margin: 0 0 15px;
		padding: 10px 15px;
		text-align: center;
		letter-spacing: 0;
		border: 2px solid var(--gold);
	}
	.C_hero03 strong,
	.C_hero04 strong {
		font-size: 1.7em;
	}
	.C_hero05 {
		font-size: 1.2em;
		margin: 20px 0 0;
		color: var(--kon);
	}

	.card-sec01 .to_camp_big {
		margin: 10px 0 0;
		box-shadow: none;
	}

	.card-sec02 .titZ2 {
		background: var(--gold);
	}

	.card-sec01 .to_camp_big {
		--hti-space: 0 auto 15px;
		--titBfz: 1.2em;
		--titBm: 0 auto 10px;
	}

	.works2 {
		font-size: 1.2em;
		margin: 30px auto;
		padding: 0;
		text-align: center;
		border: 1px solid var(--kon2);
	}
	.works2 .flex {
		font-size: 1.2em;
		display: flex;
		flex-flow: column;
		margin: 0 0 5px;
	}
	.works2 .flex p {
		width: 90%;
		margin: 5px auto;
		padding: 8px;
	}
	.works2 .price {
		font-size: 2em;
		line-height: 1;
		display: flex;
		align-items: flex-end;
		flex-wrap: wrap;
		justify-content: center;
		margin: 20px auto 10px;
	}
	.works2 .price .icon {
		width: 100px;
		margin: 0 5px 0 0;
	}.works2 .price .icon em {
		padding: 5px;
	}.works2 .price small {
		width: 100%;
		margin: 8px 0 0;
		text-align: right;
	}.works2 .otoku {
		font-size: 1em;
	}
	.works2 .touroku {
		font-size: 0.8em;
		margin: 15px 0 0;
		text-align: left;
	}


	.list-merrit {
		margin: 40px auto 0;
	}
	.list-merrit li {
		font-size: 1.1em;
		flex-flow: column;
		padding: 15px;
	}
	.list-merrit li figure {
		flex: none;
		width: 100%;
		margin: 0 0 10px;
	}


	.table-kaiin {
		margin: 30px auto;
	}

	.table-kaiin table {
		border-bottom: 1px solid var(--bodybg);
	}
	.table-kaiin table,
	.table-kaiin tbody {
		display: block;
	}
	.table-kaiin table tr {
		display: flex;
		flex-wrap: wrap;
	}

	.table-kaiin table th,
	.table-kaiin table td {
		padding: 5px;
		border-top: none;
		border-bottom: none;
	}
	.table-kaiin table th {
		width: 100%;
	}
	.table-kaiin table td {
		font-size: 1em;
		flex: 1;
		letter-spacing: 0;
	}
	.table-kaiin table td b {
		font-size: 1.4em;
	}
	.table-kaiin img {
		width: 100%;
		max-width:150px;
	}
	.table-kaiin .hangaku,
	.table-kaiin .muryou {
		font-size: 1.5em;
		margin: 0;
	}

	.kantanWari {
		--titBfz: 1.2em;
	}

	.card-sec05 {
		padding-top: 30px;
	}


	.to_camp_kari {
		position: relative;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		margin: 40px auto 0;
		padding: 15px;
		background: var(--white);
		box-shadow: 0 0 5px 1px rgba(0,0,0,0.2);

		--btnAm: 30px auto 15px;
		--titBm: 0;
		--titBc: var(--kon);
		--titBfz: 1.2em;
	}
	.to_camp_kari .text {
		margin: 0;
	}
	.to_camp_kari img {
		position: absolute;
		top: -15px;
		right: 5px;
		width: 90px;
	}
	.relifeoffWrap {
		flex-flow: column;
	}
	.relifeoff2 {
		font-size: 1em;
		width: 100%;
		margin: 15px auto;
		padding: 10px;
		text-align: center;
	}
	.relifeoff2 + .relifeoff3 {
		margin-left: 0;
	}
	.relifeoff3 {
		font-size: 1.1em;
		line-height: 1;
		margin: 10px auto;
		padding: 10px 15px;
		text-align: center;
	}

	.card-sec06 {
		margin: 30px auto 0;
	}
	.card-sec06 .catBtn02 {
		padding: 5px 5px 0;
	}
	.card-sec06 .waku {
		flex-flow: column;
	}
	.card-sec06 .waku svg {
		margin: 0;
	}.card-sec06 .waku b {
		font-size: 1em;
	}

	.ruleBoxWrap {
		margin: 20px auto;
		padding: 15px;
	}
	.card-sec07 .ruleBoxWrap {
		padding: 15px 0;
	}
	.ruleBoxWrap .checkBox,
	.ruleBoxWrap .checkBox2 {
		font-size: 1.1em;
	}.ruleBoxWrap .miniTxt {
		margin: 10px auto;
		text-align: left;
	}

	.ruleBox {
		font-size: 0.8em;
		line-height: 1.5em;
		width: 100%;
		height: 250px;
		margin: 0 auto 20px;
		padding: 0.3em;
	}

	/**================================================== 
会員タブ切り替え
================================================== **/
	/*タブ切り替え全体のスタイル*/
	.tabs,
	.tabs2 {
		margin-top: 20px;
		padding-bottom: 20px;
	}
	.tabs form label,
	.tabs2 form label {
		font-size: 1em;
	}
	.tabs form input,
	.tabs2 form input {
		padding: 10px;
	}

	/*タブのスタイル*/
	.tab_item,
	.tab_item2 {
		line-height: 1.2;
		padding: 10px 5px;
		vertical-align: bottom;
	}.tab_item2 {
		min-height: 3.5em;
	}
	.tabs input[name="tab_item"],
	.tabs2 input[name="tab_item2"] {
		visibility: hidden;
	}

	/*タブ切り替えの中身のスタイル*/
	.tab_content,
	.tab_content2 {
		padding: 15px;
	}

	/*選択されているタブのスタイルを変える*/
	.tabs input:checked + .tab_item {
		font-size: 1em;
	}
	.tabs2 input:checked + .tab_item2 {
		font-size: 1em;
	}
	.tabs form > * > label:nth-child(1),
	.tabs2 form > * > label:nth-child(1) {
		font-size: 1em;
		margin: 15px 0 5px;
		padding: 10px;
	}
	.tabs2 form > * > label:nth-child(1) {
		background: var(--beige);
	}

	.tabs input[type="submit"],
	.tabs2 input[type="submit"] {
		font-size: 1.1em;
		width: 100%;
		margin: 20px auto;
		padding: 15px;
	}

	.tabs2 a {
		font-size: 1em;
		margin: 20px auto;
		padding: 15px;
	}
}

.sec-postdetail .right{
  width: 270px;
  line-height: 1.3;
  font-size: 14px;
  padding: 10px;
  background: var(--bodybg3);
  
  --titBbg:var(--kon);
  --titBm:0 auto 5px;
  --titBc:var(--white);
  --titBp:10px;
  --titBta:center;
  --btnAw:100%;
}

.sec-postdetail .left{
  width: 648px;
}
.sec-postdetail .right .list-blog{
  margin: 10px auto;
}
.sec-postdetail .right .list-blog li{
  margin: 0 0 10px;
  padding: 0 0 10px;
  border: none;
}
.sec-postdetail .right .list-blog li:nth-child(6) { 
  display:none; 
}
.sec-postdetail .right .list-blog li a{
  padding: 10px;
  background: var(--white);
}
.sec-postdetail .right figure{
  padding:0;
  border:none;
  width: 80px;
  height: 80px;
  margin: 0 10px 0 0;
}
.sec-postdetail .right time{
  font-size: 12px;
  display: block;
  margin: 0 0 5px;
}

.sec-postdetail .right img{
  width: 100%;
}


@media screen and (max-width:520px) {
  .sec-postdetail .left{
    width: 100%;
  }
  .sec-postdetail .right{
    font-size: 16px;
    width: 100%;
    padding:10px;
  }
}


.use_card{
  display: flex;
}

@media screen and (max-width:520px) {
  .use_card{
    flex-wrap:wrap;
  }.use_card > *{
    width: 14%;
  }
}


.rules{
  margin:20px auto;
  text-align: center;
}

@media screen and (max-width:520px) {
.rules .sp{
  display: inline-block;
}
}

/**230804 プラン 修正**/
.plan-sec03 .h-text-img dl.gold dt{
background:#a19038;
}.plan-sec03 .h-text-img dl.gold dd{
color:#a19038;
}.plan-sec03 .h-text-img dl.silver dt{
background:#92a6a6;
}.plan-sec03 .h-text-img dl.silver dd{
color:#92a6a6;
}.plan-sec03 .h-text-img dl.brons dt{
background:#9F7A46;
}.plan-sec03 .h-text-img dl.brons dd{
color:#9F7A46;
}
.list-plan-wrap .category .price .min-price,
.list-plan-wrap .balloon1_B .price .min-price{
color:var(--red);
}


/**240326 コンサル入った修正***/
/**SPのみ電話タップ**/
.ctaTop{
  display: none;
}
@media screen and (max-width:520px) {
  .ctaTop{
  display:block;
  text-align: center;
}

.ctaTop .text01 {
  margin: 20px auto 5px;
  font-size: min(15px,6vw);
  font-weight: 600;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.3;
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: center;
}.ctaTop .text01:before,.ctaTop .text01:after{
  content: "";
  height: 2em;
  width: 1px;
  background: var(--black);
  transform: rotate(-30deg);
}.ctaTop .text01:after{
  transform: rotate(30deg);
}

.ctaTop .inner {
  width: 90%;
  margin: 0 auto 3em;
  padding: 1em;
  background: #ed8c8a;
  border-radius: 8px;
  text-align: center;
}

.ctaTop .inner .text02 {
  margin: 0 auto 1em;
  padding: .4em 1em;
  color: #313131;
  background: #fceca2;
  border-radius: 2em;
  font-size: 1em;
  font-weight: 600;
  display: inline-block;
  text-align: center;
  width: 100%;
}

.ctaTop .inner ul {
  width: 95%;
  margin: 0 auto 1em;
  display: flex;
  align-items: stretch;
  justify-content: space-around;
  gap: 15px;
}

.ctaTop .inner ul li {
  width: 28%
}

.ctaTop .inner ul li figure img {
  width: 100%;
  height: auto;
  border: 3px solid #fff;
  border-radius: 50%;
}

.ctaTop .inner ul li figure figcaption {
  color: #fff;
  font-size: .875em;
}

.ctaTop .inner .tel {
  width: 100%;
  margin: 0 auto;
  padding: 1em 1.5em;
  background: #c40b0b;
  border-radius: .3em;
  box-shadow: 0 3px 0 #000;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.ctaTop .inner .tel i {
  width: 12%;
  max-width: 35px;
  flex-shrink: 0;
}

.ctaTop .inner .tel i img {
  width: 100%;
  height: auto;
}

.ctaTop .inner .tel em {
  font-style: normal;
  width: fit-content;
  flex-shrink: 0;
  padding:1px 15px;
  background: #ffffff;
  color: #c40b0b;
  font-weight: bold;
}

.ctaTop .inner .tel .text03 {
  width: 100%;
  color: #fff;
  font-size: min(20px,6vw);
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.ctaTop .inner .text04 {
  margin: 1em 0 0;
  color: #fff;
  font-size: min(16px,5vw);
  font-weight: 700;
}
}

/**PCのみ電話タップ**/
.pcvTop{
  width:var(--base-width);
  margin: 30px auto;
  display: grid;
  grid-template-rows: auto auto ;
  grid-template-columns: 50% 1fr;
  grid-template-areas: "L R"
  "text text";
  gap: 15px 30px;
  background: #f7ebe9;
  padding:30px;
  border-radius: 5px;
  margin:30px auto 60px;
}

.pcvTop .innerL{
  grid-area: L;
  display: flex;
  flex-flow: column;
  justify-content: center;
  gap: 20px;
  margin-top:-10px;
}
.pcvTop .innerR{
  grid-area: R;
}
.pcvTop .tel {
	font-size: 50px;
	line-height: 1;
	margin: 0;
	color: var(--red);
	position:relative;
	font-weight: 700;
}
.pcvTop .tel svg {
	fill: var(--red);
	--svg:var(--red);
}.pcvTop .tel p {
	font-size: 22px;
	color: var(--red);
	text-align: center;
}.pcvTop .tel ruby rt {
	font-family: var(--webf);
	font-size: 12px;
}

.pcvTop ul {
  width: 95%;
  margin: 0 auto 1em;
  display: flex;
  align-items: stretch;
  justify-content: space-around;
  gap: 15px;
}

.pcvTop ul li {
  width: 28%
}

.pcvTop ul li figure img {
  width: 100%;
  height: auto;
  border: 3px solid #fff;
  border-radius: 50%;
}

.pcvTop ul li figure figcaption {
  color: #fff;
  font-size: .875em;
}

.pcvTop .text01 {
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
  border: 1px solid var(--black);
  padding:10px;
}

.pcvTop .text02 {
  margin: 0 auto 1em;
  padding: .4em 1em;
  color: #313131;
  background: #f9e26a;
  border-radius: 2em;
  font-size: 1.2em;
  font-weight: 600;
  display: inline-block;
  text-align: center;
  width: 100%;
}

.pcvTop .text03 {
  grid-area: text;
  color: var(--white);
  font-size: 1.4em;
  font-weight: 600;
  text-align: center;
  width: 100%;
  background: #ed8c8a;
  padding:8px;
  border-radius: 5px;
}

@media screen and (max-width:520px) {
  .pcvTop{
    display: none;
  }
}


/***
ヘッダー 各市だけ各々トグルメニュー
***/

header nav ul li + li .megamenu:before {
    position: absolute;
    top: 20px;
    left: 0;
    display: block;
    width: 1px;
    height: 1.2em;
    content: "";
    background: var(--black);
}
.megamenu{
  position: relative;
}

.input {
	display: none;
}

.navbtn,
.childmenu {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.navbtn {
	/*タイトル*/
	font-family: var(--webf);
	display: block;
	position: relative;
	display: flex;
	align-items: center;
	text-align: center;
  padding: 20px 2vw;
  line-height: 1;
  cursor: pointer;
}

.childmenu {
	height: 0;
	width: 18em;
	padding: 0;
	overflow: hidden;
	position: absolute;
	top: 100%;
	left: 0;
	background: var(--white);
}.childmenu:before{
  content: "";
    width: 10px;
    height: 10px;
    border-left: 1px solid var(--kon);
    border-top: 1px solid var(--kon);
    transform: rotate(45deg);
    position: absolute;
    top: -6px;
    left: 60px;
    z-index: 10;
    display: block;
    background: var(--white);
}

.childmenu a {
	padding: 5px 15px;
	font-size: 0.9rem;
}.childmenu a + a{
  padding-top:15px;
}

.childmenu a:before{
  display: none;
}

.input:checked+.navbtn+.childmenu {
	/*開閉時*/
	height: auto;
	width: 18em;
	padding: 1em 0;
	transition: all .3s;
	overflow:  visible;
	border: 1px solid var(--kon);
}

@media screen and (max-width:520px) {
header .nav-bottom{
  overflow: visible;
}  
  
.megamenu{
  display: none;
}

.megamenu_sp{
  position: relative;
}

.childmenu{
  top:calc( 100% + 6px);
  width: 20em;
}

.childmenu a{
  display: block;
  font-size: 0.8rem;
  padding-left: 0;
  padding-right:0;
  text-align: left
}

.navbtn{
  padding:0;
  justify-content: center;
}

.childmenu:before{
    left: 30px;
}

.input:checked+.navbtn+.childmenu {
  width: 20em;
}

}


/***
新価格 ver2
***/

.price_ver2{
  position: relative;
}

.price_ver2 em.seal{
  position: absolute;
  top: -15px;
  right:-15px;
  width:100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 100vw;
  background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
  font-weight: bold;
  font-style: normal;
  border: 4px solid #DAAF08 ;
  box-shadow: 0 0 0 3px #fff inset;
  line-height: 1.3;
  color: #fff;
    text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5);
}

.price_ver2 .seal2{
  background: #736531;
  color:#fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  padding: 5px 10px;
  margin: 0 0 10px;
}
.price_ver2 .seal3{
  font-size: 52px;
  color:#8d8787;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
  padding: 0 60px 0 0;
  text-align: center;
    display: inline-block;
    width: 100%;
}
.price_ver2 .seal3 small{
  font-size: 24px;
}
.price_ver2 .seal4{
  font-size: 24px;
  color:#8d8787;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
  padding: 0 60px 0 0;
  text-align: center;
    display: inline-block;
    width: 100%;
}
.price_ver2 .seal4 small{
  font-size: 20px;
}

.price_ver2 p{
  line-height: 1.3;
  margin: 5px 0 15px;
  font-size: 14px;
}


@media screen and (max-width:520px) {
  .price_ver2 em.seal{
    font-size: 13px;
    width: 85px;
    height: 85px;
    z-index: 5;
  }
  
  .price_ver2 .seal3{
  font-size: 32px;
  }
  .price_ver2 .seal3 small{
  font-size: 18px;
}

.price_ver2 .seal4{
  font-size: 22px;
}
.price_ver2 .seal4 small{
  font-size: 16px;
}

}


.list-icons{
  display: flex;
  flex-flow: wrap;
  gap: 5px;
}
.list-icons li{
  border: 1px solid var(--red);
  padding:3px 15px;
  border-radius: 3px;
  color: var(--red);
}




	/**================================================== 
220519 新SDGs
================================================== **/
.sec-sdgs1{
  background: #f3fbff;
  margin: 0 0 40px;
  position: relative;
}
.sec-sdgs1:after{
  content: "";
  display: block;
  aspect-ratio: 610/470;
  width: 610px;
  height: auto;
  background: url(/common/images/sdgs_img01.png) no-repeat center bottom / contain;
  position: absolute;
  bottom: -40px;
  left:0;
  z-index: 1;
}

.sec-sdgs1 > *{
  position: relative;
  z-index: 5;
}

.sec-sdgs1 .text{
  margin: 0 0 0 300px;
}

.sec-sdgs1 .icons{
  display: block;
  text-align: right;
  margin: 0 0 10px auto;
}
.sec-sdgs1 .icons img{
    background: #f3fbff;
  box-shadow: 0 0 0 10px #f3fbff;
}

@media screen and (max-width:520px) {
  .sec-sdgs1{
    margin-bottom: 50px;
  }
  
  .sec-sdgs1 .text{
    margin: 0;
  }
  
  .sec-sdgs1:after{
    position: relative;
    width: 100%;
    bottom:-30px;
    margin-top: -20px;
  }
}


.sec-sdgs2{
  --btnBbg:#fff;
}

.sec-sdgs2 .titA:after{
  display: none;
}

.sec-sdgs2 .titMain{
  --titBfz:28px;
  --titBta:center;
  --titBm:80px auto 30px;
  --titBbg:none;
  --titBc:var(--kon);
  --titBp:10px 20px;
}

.sec-sdgs2 .titMain .titB{
  border: 6px double var(--kon);
  border-radius: 50px;
}

.sec-sdgs2 .list-sdgsicon{
  display: flex;
  justify-content: center;
  gap: 5px;
  margin: 0 auto 30px;
}
.sec-sdgs2 .list-sdgsicon img{
  width: 100px;
  height: auto;
}

.sec-sdgs2 .box-sdgs2{
  margin: 40px auto 0;
}


.sec-sdgs2 .titBar{
--titBfz:28px;
--titBm:5px 0;
--titBta:center;
margin: 80px auto 30px;
}
.sec-sdgs2 .titBar:before{
  content: "";
  display: block;
  height: 51px;
  width:100%;
  background: url(/common/images/sdgs_bar.png) repeat-x center;
  margin: 0 0 15px;
}


.sec-sdgs2 .list-sdgs2{
  color: var(--kon);
  gap: 30px 0;
  margin: 30px auto 40px;
}

.sec-sdgs2 .list-sdgs2 li{
  padding:10px;
}

.sec-sdgs2 .list-sdgs2 li p{
  padding:5px 10px;
  font-size: 15px;
  line-height: 1.5;
}

.sec-sdgs2 .list-sdgs2 figure{
  aspect-ratio:980/551;
  border: 1px solid var(--gray2);
}
.sec-sdgs2 .list-sdgs2 figure img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sec-sdgs2 .list-sdgs3{
  margin: 40px auto 0;
}

.sec-sdgs2 .list-sdgs3 .h-text-img{
  align-items: center;
}

.sec-sdgs2 .list-sdgs3 .text{
  margin: 0 15px;
  background:#f3fbff;
  padding: 15px 20px;
}

.sec-sdgs2 .list-sdgs3 .titB{
  --titBfz:24px;
  --titBp:0;
  --titBm:0 0 15px;
  
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.sec-sdgs2 .list-sdgs3 .titB:before{
  content: "";
display: block;
width: 60px;
height: 90px;
background: url(/common/images/sdgs_tree.png) no-repeat center / contain;
}


@media screen and (max-width:520px) {
  .sec-sdgs2 .titMain{
    --titBfz:16px;
    --titBm:40px auto 15px;
    --titBp:10px;
  }
  
  .sec-sdgs2 .titBar{
    --titBfz:20px;
    margin: 40px auto 15px;
  }
  
  .sec-sdgs2 .titBar:before{
    height: 25px;
    background: url(/common/images/sdgs_bar.png) repeat-x center / auto 25px;
    margin: 0 0 10px;
  }
  
  .sec-sdgs2 .list-sdgsicon img{
    width: 70px;
  }
  
  .sec-sdgs2 .list-sdgs3{
    margin: 0 auto;
  }
  
  .sec-sdgs2 .list-sdgs3 .h-text-img{
    align-items: center;
    flex-flow: column;
    gap:20px;
    margin: 40px auto 0;
  }

   .sec-sdgs2 .list-sdgs3 .h-text-img .text{
     width: 100%;
   }

}/*PAGE*/header .logo strong :is(.toyo,.iked,.ten1,.ten2){
  display: none;
}

header .ryokin{
  display: none;
}

header nav ul li.city_m,
header .nav-bottom a.city_m{
  display: block;
}

header nav ul li:is(.city_base,.city_i), 
header .nav-bottom a:is(.city_base,.city_i) {
    display: none;
}