
.-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*/
@charset "utf-8";
/* -------------------------------------
base.css
-------------------------------------*/

/** ================================================================================
01.リセットの追加
================================================================================ **/
h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	clear: none;
}
/*
mark{
	color: inherit;
}
*/
*{
	color: inherit;
	font-weight: inherit;
	font-style: normal;
}
b,strong{
	font-weight: inherit;
}


/** ================================================================================
02.変数
================================================================================ **/
:root {
	--def-bg-color:#f1e5ce;
	--base-width:1100px;
	--ovf-half:calc((100vw - var(--base-width)) / 2);
	--ovf-half-mns:min(calc((100vw - var(--base-width)) / -2), -5vw);
	--color:#4f352c;
	--color_l:#725d56;
	--main-color:#f4a31f;
	--org:#ec6e25;
	--red:#cd3a1f;

	--bg_l:#fcf0d9;
	--bg_d:#f0dec2;
	--bg-brwn:#4f352c;

	--cat-news-color:#8d8951;
	--cat-event-color:#c07a94;
	--f-b1:#e1cccc;
	--f-1f:#bcd6d6;
	--f-2f:#b7b8d4;
	--f-3f:#e1d2a5;
	--f-4f:#d1d79f;
	--f-5f:#a7dbc5;

	--gray:#d1d1d1;
	--gray_l:#eee ;
	--bg-gray:#F4F4F1;

	/* --webf:'Anton', sans-serif;
	--num:'Oswald', sans-serif; */
	--fw-b:700;
	--opacity:.8;
	--transition: .3s all ease-in-out;
	--border:1px solid var(--color_l);
	--border-gray:1px solid var(--gray);
	--shadow:0 0 4px rgba(79,53,44,.5);
}

@media screen and (max-width: 980px) {
	:root{
		--ovf-half:calc((100% - var(--base-width)) / -2);
		--ovf-half-mns:calc((100% - var(--base-width)) / 2);
	}
}

@media screen and (max-width: 520px) {
	:root{
		--ovf-half:6vw;
		--ovf-half-mns:-6vw;
	}
}

/** ================================================================================
03.ベース
================================================================================ **/
html{
	overflow: auto;
}
body{
	min-width: var(--base-width);
	margin: 0 auto;
	background: var(--def-bg-color);
	color: var(--color);
	font-size:16px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 400;
	line-height: 1.7;
	overflow: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

@media screen and (max-width: 520px) {
	body{
		min-width: 100%;
	}
}


/* -------------------------------------
セクション
-------------------------------------*/
body main{
	margin-top: 86px;
	position: relative;
}
body section,
body aside{
	position: relative;
}
body section>*,
body aside>*{
	position: relative;
}
.sec-in{
	padding-left: max(calc((100vw - var(--base-width)) / 2), 5vw);
	padding-right: max(calc((100vw - var(--base-width)) / 2), 5vw);
}
@media screen and (max-width: 979px) {
	body main{
		margin-top: 60px;
	}

	.sec-in{
		padding-left: 6vw;
		padding-right: 6vw;
	}
}
@media screen and (max-width: 520px) {
	.sec-in{
	}
}


/* -------------------------------------
レイアウト
-------------------------------------*/
.w1500{
	margin-left: calc( ( 100vw - 100% ) / -2 );
	margin-right: calc( ( 100vw - 100% ) / -2 );
}
.block{
	display: block;
}
.flx{
	display: flex;
}

@media screen and (min-width: 1501px) {
	.w1500{
		width: 1500px;
		margin-left: -260px;
		margin-right: -260px;
	}
}

@media screen and (max-width: 1100px) {
	.w1500{
		margin-left: calc( (var(--base-width) - 100% ) / -2 );
		margin-right: calc( (var(--base-width) - 100% ) / -2 );
	}
}

@media screen and (max-width: 520px) {
	.w1500{
		margin-left: 0;
		margin-right: 0;
	}
}


/* -------------------------------------
ベーススタイル設定
2.font
3.float
4.align
5.margin
6.padding
-------------------------------------*/
/*2. font 必要なら追加　優先順位：高*/
body .fw-b {
	font-weight: var(--fw-b);
}
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: 16px;
	}
	body .fz22{
		font-size: 16px;
	}
	body .fz24{
		font-size: 18px;
	}
	body .fz26{
		font-size: min(5vw, 22px);
	}
	body .fz28{
		font-size: min(5vw, 24px);
	}
	body .fz30{
		font-size: min(5vw, 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(8vw, 40px);
	}
	body .fz70{
		font-size: min(8vw, 48px);
	}
}

/*4. align 優先順位：高 */
body .t_R {
	text-align: right;
}
body .t_L {
	text-align: left;
}
body .t_C {
	text-align: center;
}

/*5. margin 必要なら追加　優先順位：高 */
/*5. margin 30以上は1/2 */
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 .mb200 {
	margin-bottom: 200px;
}
body .mb250 {
	margin-bottom: 250px;
}
body .mt0{
	margin-top: 0px;
}
body .mt5 {
	margin-top:5px;
}
body .mt10 {
	margin-top:10px;
}
body .mt15 {
	margin-top:15px;
}
body .mt20 {
	margin-top:20px;
}
body .mt30 {
	margin-top:30px;
}
body .mt40 {
	margin-top:40px;
}
body .mt50 {
	margin-top:50px;
}
body .mt70 {
	margin-top:70px;
}
body .mt80 {
	margin-top:80px;
}
body .mt100 {
	margin-top:100px;
}
body .mt150 {
	margin-top:150px;
}
body .mt200 {
	margin-top:200px;
}
body .mt250 {
	margin-top:250px;
}

@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: 40px;
	}
	body .mb70 {
		margin-bottom: 50px;
	}
	body .mb80 {
		margin-bottom: 60px;
	}
	body .mb100 {
		margin-bottom: 80px;
	}
	body .mb150 {
		margin-bottom: 100px;
	}
	body .mb200 {
		margin-bottom: 140px;
	}
	body .mb250 {
		margin-bottom: 170px;
	}
    body .mt20 {
        margin-top:15px;
    }
    body .mt30 {
        margin-top:20px;
    }
	body .mt40 {
		margin-top:20px;
	}
	body .mt50 {
		margin-top:40px;
	}
	body .mt70 {
		margin-top:50px;
	}
	body .mt80 {
		margin-top:60px;
	}
	body .mt100 {
		margin-top:80px;
	}
	body .mt150 {
		margin-top:100px;
	}
	body .mt200 {
		margin-top:140px;
	}
	body .mt250 {
		margin-top:170px;
	}
}

/*6. padding 優先順位:高*/
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 .pb200 {
	padding-bottom: 200px;
}
body .pb250 {
	padding-bottom: 250px;
}
body .pt0{
	padding-top: 0px;
}
body .pt5 {
	padding-top:5px;
}
body .pt10 {
	padding-top:10px;
}
body .pt15 {
	padding-top:15px;
}
body .pt20 {
	padding-top:20px;
}
body .pt30 {
	padding-top:30px;
}
body .pt40 {
	padding-top:40px;
}
body .pt50 {
	padding-top:50px;
}
body .pt70 {
	padding-top:70px;
}
body .pt80 {
	padding-top:80px;
}
body .pt100 {
	padding-top:100px;
}
body .pt150 {
	padding-top:150px;
}
body .pt200 {
	padding-top:200px;
}
body .pt250 {
	padding-top:250px;
}
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: 40px;
	}
	body .pb70 {
		padding-bottom: 50px;
	}
	body .pb80 {
		padding-bottom: 60px;
	}
	body .pb100 {
		padding-bottom: 80px;
	}
	body .pb150 {
		padding-bottom: 100px;
	}
	body .pb200 {
		padding-bottom: 140px;
	}
	body .pb250 {
		padding-bottom: 170px;
	}
	body .pt20 {
		padding-top:15px;
	}
	body .pt30 {
		padding-top:20px;
	}
	body .pt40 {
		padding-top:20px;
	}
	body .pt50 {
		padding-top:40px;
	}
	body .pt70 {
		padding-top:50px;
	}
	body .pt80 {
		padding-top:60px;
	}
	body .pt100 {
		padding-top:80px;
	}
	body .pt150 {
		padding-top:100px;
	}
	body .pt200 {
		padding-top:140px;
	}
	body .pt250 {
		padding-top:170px
	}
}


/* -------------------------------------
幅
-------------------------------------*/
body .w100p,
body .w980,
body .w900,
body .w850,
body .w800,
body .w700,
body .w650,
body .w600{
	width: 100%;
	margin-right: auto;
	margin-left : auto;
}
body .w100p{
	width: 100%;
}
body .w980{
	max-width: 980px;
}
body .w900{
	max-width: 900px;
}
body .w850{
	max-width: 850px;
}
body .w800{
	max-width: 800px;
}
body .w700{
	max-width: 700px;
}
body .w650{
	max-width: 650px;
}
body .w600{
	max-width: 600px;
}


/* -------------------------------------
横並びボックスの数
-------------------------------------*/
.box2C,
.box3C,
.box4C{
	--gap:50px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
.box2C > *{
	width: calc((100% - var(--gap)*1) / 2);
}
.box3C > *{
	width: calc((100% - var(--gap)*2) / 3);
}
.box4C > *{
	width: calc((100% - var(--gap)*3) / 4);
}

@media screen and (max-width: 520px) {
	.box2C,
	.box3C,
	.box4C{
		--gap:4%;
	}
}



/* -------------------------------------
リンク
-------------------------------------*/
a{
	color:inherit;
	text-decoration:none;
	cursor: pointer;
	transition: .3s;
}
.a-ul{
	color: var(--main-color);
	text-decoration:underline;
}
.a-ul:hover{
	text-decoration:none;
}

/**PC電話ボタン無効**/
a[href^="tel"]{
	pointer-events: none;
}
@media screen and (max-width: 520px) {
	a[href^="tel"]{
		pointer-events: auto;
	}
}

/**hover：透過**/
a:hover .hv{
	opacity: var(--opacity);
}


/* -------------------------------------
改行
-------------------------------------*/
.sp{
	display:none;
}
.ib{
	display: inline-block;
}

@media screen and (max-width: 520px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	.sp-ib{
		display: inline-block;
	}
}

/* -------------------------------------
画像
-------------------------------------*/
img{
	vertical-align: top;
}
figure{
	overflow: hidden;
}
figure img,
i img{
	max-width: 100%;
}

/**角丸：画像に直接かけれる**/
.radius{
	border-radius: var(--radius);
}

/**hover：透過**/
a:hover img.hv{
	opacity: var(--opacity);
}

/**hover：拡大**/
.scale {
	overflow: hidden;
}
.scale img {
	transition: transform 0.3s linear;
}
a:hover .scale img {
	transform: scale(1.1);
}

/* objedt-fit*/
.ojf img {
	width: 100%; /*サイズ指定必須*/
	height: 100%; /*サイズ指定必須*/
	object-fit: cover;
}


/* -------------------------------------
文字
-------------------------------------*/
h1,h2,h3,h4,h5{
	line-height: 1.5;
}
.webf{
	font-family: var(--webf);
	font-weight: normal;
}
.lh1{
	line-height: 1.0;
}
.lh13{
	line-height: 1.3;
}
.lh15{
	line-height: 1.5;
}
.lh2{
	line-height: 2.0;
}

.richtext p strong{
	font-weight: var(--fw-b);
	color: var(--main-color);
}
.richtext p em{
	display: block;
	margin-top: 0.4em;
	font-size: 0.8em;
	font-weight: var(--fw-b);
	font-style: normal;
}


@media screen and (max-width: 520px) {
	lh2{
		line-height: 1.7;
	}
}

/**黄色マーカー**/
mark{
	background: linear-gradient(transparent 70%, #ffff77 0%);
}

/**-------------------------------------
地図 動画 iframe
-------------------------------------**/
iframe{
	width: 100%;
}
.youtube{
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube iframe{
	width: 100%;
	height: 100%;
}


/* -------------------------------------
gmap
-------------------------------------*/
/**地図**/
.gmap iframe{
	height: 380px;
}
@media screen and (max-width: 480px) {
	.gmap iframe{
		height: 32vh;
	}
}

/* -------------------------------------
table
-------------------------------------*/
table{
	line-height: 1.6;
}

/* -------------------------------------
フォーム table･･･スマホで th＝w:100%;
-------------------------------------*/
.table-form table,
table.table-form{
	width: 100%;
	margin: 30px auto;
	--table-form-border: 1px solid var(--gray);
}
.table-form th,
.table-form td{
	padding: 15px;
	border-top: var(--table-form-border);
	border-bottom: var(--table-form-border);
	vertical-align: top;
	text-align: left;
}
.table-form th{
	width: 25%;
	/* color: #fff; */
	font-weight: var(--fw-b);
	background: #dfdedc;
	/* border-color:#fff; */
	vertical-align:middle;
}
.table-form td{
	background: #fff;
}

@media screen and (max-width: 520px) {
	.table-form table,
	.table-form tbody,
	.table-form tr,
	.table-form th,
	.table-form td{
		display: block;
/*		border: none;*/
	}
	.table-form th,
	.table-form td{
		padding: 10px;
		border-bottom: none;
	}
	.table-form th{
		width: 100%;
		padding: 8px;
		font-size: 0.9em;
		/* border-color: red; */
	}
}

/* -------------------------------------
tableA･･･スマホもth＝w:25%
-------------------------------------*/
.tableA table,
table.tableA{
	width: 100%;
	border-top: var(--border);
}
.tableA tr{
	border-bottom: var(--border);
}
.tableA th,
.tableA td{
	padding:22px 14px;
	vertical-align: top;
	text-align: left;
}
.tableA th{
	width: 25%;
	font-weight: var(--fw-b);
}

/* mini */
.tableA.mini th,
.tableA.mini td{
	padding:12px 14px;
	font-size: 14px;
}

@media screen and (max-width: 520px) {
	.tableA th,
	.tableA td{
		padding: 14px 10px;
		font-size: 0.9em;
	}

	/* mini */
	.tableA.mini th,
	.tableA.mini td{
		padding:12px 6px;
		font-size: 14px;
	}
	.tableA.mini th{
		min-width: 7em;
		padding-right: 10px;
		font-size: 13px;
	}
}

/* -------------------------------------
tableB･･･スマホ th=w:100%
-------------------------------------*/
.tableB table,
table.tableB{
	--tableB-border: 1px dotted var(--gray);
	width: 100%;
	background: #fff;
	border-top: var(--tableB-border);
}
.tableB tr{
	border-bottom: var(--tableB-border);
}
.tableB th,
.tableB td{
	padding:24px 20px;
	vertical-align: middle;
	text-align: left;
}
.tableB th{
	width: 25%;
	background: var(--bg-gray);
}

@media screen and (max-width: 520px) {
	.tableB table,
	table.tableB{
		border-top: none;
	}
	.tableB tr{
		border-bottom: none;
	}
	.tableB th,
	.tableB td{
		display: block;
		width: 100%;
		font-size: 15px;
	}
	.tableB th{
		padding: 14px 10px;
	}
	.tableB td{
		padding: 16px 14px 28px;
	}
}


/* -------------------------------------
tableC･･･スマホもth＝w:25% / てれこで背景カラー
-------------------------------------*/
.tableC table,
table.tableC{
	width: 100%;
	--tableC-border: 1px dotted red;
	border-top: var(--tableC-border);
}
.tableC tr{
	border-bottom: var(--tableC-border);
}
.tableC tr:nth-of-type(odd){
	background: yellow;
}
.tableC tr:nth-of-type(even){
	background: purple;
}
.tableC th,
.tableC td{
	padding: 20px 16px;
	vertical-align: top;
	text-align: left;
}
.tableC th{
	width: 25%;
	font-weight: var(--fw-b);
}

@media screen and (max-width: 520px) {
	.tableC th,
	.tableC td{
		padding: 8px 10px;
		font-size: 14px;
	}
	.tableC th{
		min-width: 6em;
		font-size: 0.9rem;
		font-size: 13px;
	}
}

/* -------------------------------------
tableD
-------------------------------------*/
.tableD table,
table.tableD{
	width: 100%;
	/* border-top: var(--border); */
}
.tableD tr{
	/* border-bottom: var(--border); */
}
.tableD th,
.tableD td{
	padding:10px 14px;
	vertical-align: top;
	text-align: left;
}
.tableD th{
	width: 25%;
	font-weight: var(--fw-b);
}
.tableD td{
	padding-left: 25px;
}

/* mini */
.tableD.mini table,
table.tableD.mini{
	width: 100%;
	border-top: var(--border);
}
.tableD.mini tr{
	border-bottom: var(--border);
}
.tableD.mini th,
.tableD.mini td{
	padding:12px 14px;
	font-size: 14px;
}

@media screen and (max-width: 520px) {
	.tableD th,
	.tableD td{
		padding: 4px 10px;
		font-size: 0.9em;
	}
	.tableD th{
		padding-top: 10px;
	}

	/* mini */
	.tableD.mini th,
	.tableD.mini td{
		padding:12px 6px;
		font-size: 14px;
	}
	.tableD.mini th{
		min-width: 7em;
		padding-right: 10px;
		font-size: 13px;
	}
}


/* -------------------------------------
背景
-------------------------------------*/
.bg-wh{
	background: #fff;
}
.bg-mc{
	background: var(--main-color);
}
.bg-d{
	background: var(--bg_d);
}
.bg-l{
	background: var(--bg_l);
}

.bg-gray{
	background: var(--bg-gray);
}

/* bg-photo */
.bg-photo{
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
}
[class*="bg-photo"]::before{
	content: "";
	display: block;
	width:100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(22,98,166,.3);
	mix-blend-mode:multiply;
}
.bg-photo>*{
	position: relative;
}


/* -------------------------------------
色
-------------------------------------*/
body .gray{
	color: var(--gray);
}
body .main-color{
	color: var(--main-color);
}


/* -------------------------------------
タイトル
-------------------------------------*/
/*ページタイトル*/
.page-tit{
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	height: 90px;
	color: #fff;
	font-weight: var(--fw-b);
	text-align: center;
	line-height: 1.4;
	background: var(--bg-brwn);
}

@media screen and (max-width: 520px) {
	/*ページタイトル*/
	.page-tit{
		height: 70px;
	}
}

/* tit */
.tit{
	font-weight: var(--fw-b);
	line-height: 1.6;
}

/* titA */
.titA{
	display: flex;
	flex-flow: column;
	align-items: center;
	gap:10px;
	color: var(--main-color);
	font-weight: var(--fw-b);
	text-align: center;
	line-height: 1.2;
}
.titA span{
	width: fit-content;
	padding: 0 3em;
	color: var(--color);
	border-left: 2px solid var(--color);
	border-right: 2px solid var(--color);
}

/* titB */
.titB{
	margin-left: var(--ovf-half-mns);
	margin-right: var(--ovf-half-mns);
	padding: 10px;
	color: #fff;
	font-weight: var(--fw-b);
	text-align: center;
	line-height: 1.3;
	background: var(--color);
}
.titB.bg-l{
	background: var(--color_l);
}

/* titC */
.titC{
	padding: 10px 1em;
	text-align: center;
	line-height: 1.3;
	border-top: 1px solid var(--color);
	border-bottom: 1px solid var(--color);
}

/* titD */
.titD{
	padding: 10px;
	color: #fff;
	font-weight: var(--fw-b);
	line-height: 1.3;
	background: var(--color_l);
}


@media screen and (max-width: 520px) {
	/* titA */
	.titA{
		gap:6px;
		font-size: 0.8em;
	}
	.titA span{
		padding: 0 2em;
	}
}


/* -------------------------------------
btn
-------------------------------------*/
.btn,
[class^="btn_"]{
	width: min(360px, 80%);
	min-height: 52px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
    padding: 10px 8px 10px 2em;
	color: #fff;
	text-align: center;
	line-height: 1.3;
	background: var(--color_l);
	border-radius: 6px;
	position: relative;
	transition: var(--transition);
}.btn:hover,
[class^="btn_"]:hover{
	background: var(--main-color);
}
.btn span,
[class^="btn_"] span{
	flex:1;
	padding-right: 1em;
}
.btn::after,
[class^="btn_"]::after{
	content: "arrow_forward_ios";
	font-family: 'Material Icons';
	transition: var(--transition);
}

/* サイズ */
/* .btn.mini,
[class^="btn_"].mini{
	width: 350px;
	min-height: 62px;
} */
/* 左寄せ */
/* .btn.left,
.btn.pc-left,
[class^="btn_"].left,
[class^="btn_"].pc-left{
	margin-left: 0;
	margin-right: 0;
} */

/* btn-wrap */
/* .btn-wrap{
	display: flex;
	justify-content: center;
	gap: 50px;
}
.btn-wrap .btn,
.btn-wrap [class^="btn_"]{
	margin-left: 0;
	margin-right: 0;
	min-height: 80px;
	padding-right: 74px;
}
.btn-wrap .btn::after,
.btn-wrap [class^="btn_"]::after{
	--size:50px;
} */

@media screen and (max-width: 520px) {
	.btn,
	[class^="btn_"]{
		width: 90%;
		min-height: 45px;
		font-size: 0.9em;
	}

	/* 左寄せ */
	/* .btn.left,
	[class^="btn_"].left{
		margin-left: auto;
		margin-right: auto;
	} */

	/* btn-wrap */
	/* .btn-wrap{
		flex-direction: column;
		gap: 20px;
	}
	.btn-wrap .btn,
	.btn-wrap [class^="btn_"]{
		margin-left: auto;
		margin-right: auto;
		min-height: 60px;
		padding-right: 60px;
	}
	.btn-wrap .btn::after,
	.btn-wrap [class^="btn_"]::after{
		--size:36px;
	} */
}


/* -------------------------------------
more
-------------------------------------*/
.more{
	display: flex;
	justify-content: flex-end;
}
.more >*{
	display: flex;
	align-items: center;
	padding: 10px 4px;
	font-family: var(--webf);
	font-size: 0.9rem;
	line-height: 1.0;
	transition: var(--transition);
}.more >*:hover{
	color: var(--red);
}
.more >*::after{
	content:"→";
	font-size: 1.5em;
	padding-left: 8px;
	color: var(--red);
	transition: var(--transition);
}.more >*:hover::after{
	color: var(--red);
	transform: translateX(4px);
}



/* -------------------------------------
svgアイコン
-------------------------------------*/
svg{
	vertical-align: top;
}
i.svg-mail svg{
	aspect-ratio: 5/4;
}


/* -------------------------------------
tel
-------------------------------------*/
a[href^="tel:"]{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.2em;
	line-height: 1.0;
	text-decoration: none !important;
}
i.svg-tel svg{
	width: 24px;
	aspect-ratio: 12/13;
	fill: var(--color);
}

@media screen and (max-width: 520px) {
	i.svg-tel svg{
		width: 20px;
	}
}

/* -------------------------------------
ブロック
-------------------------------------*/
.content-box{
	padding: 60px;
	background: #fff;
}

@media screen and (max-width: 520px) {
	.content-box{
		margin-left: -2%;
		margin-right: -2%;
		padding: 30px;
	}
}

/**-------------------------------------
lead
-------------------------------------**/
.lead {
	width: min(95%, 800px);
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

@media screen and (max-width: 520px) {
	.lead {
		width: 90%;
	}
}


/**-------------------------------------
count  自動連番
-------------------------------------**/
.count li{
	counter-increment: num 1;
}
.count li::before{
	content: "0" counter(num) ".";
}


/**-------------------------------------
hr
-------------------------------------**/
.hr{
	border: var(--hr);
}

/*widget:bb9c0390-45da-4909-9110-cdc95d75b7c6*/
/*widget:e0c55e7b-5fee-4700-9fad-ca12ba6b4e55*/
/*widget:69251958-33eb-412d-89af-c8d5a3ced875*/
/*instance:223*/[data-instance="223"] .access-img{background-image:url(/_img/ja/cms/223/bg_img/_/?1784953581);}/*widget:0ad7d7ca-a62d-4b8a-85ed-8477141280d1*/
/*widget:ae6b341a-3400-43fe-9064-64fd9345dae9*/
/*widget:3cfcd636-35a2-4d22-a363-26f13a5c3ed3*/
/*widget:1a59b70a-4db8-446c-a071-992ab57a8faf*/
/*widget:8513c57d-3efa-40c8-9564-6b1f70c0915f*/
/*widget:b3f4ea96-c3c8-47ba-ad47-482c9728797b*/
/*widget:519a9ba8-4a1b-4ea9-b021-28b6f4fec889*/
/*layout:10*/@charset "utf-8";
/* -------------------------------------
style.css
-------------------------------------*/

/** ==============================================
01.共通
============================================== **/
/* -------------------------------------
店舗カテゴリーの色分け
-------------------------------------*/
:root{
	--gourmet:#f4a31f;
	--beauty:#ddaacb;
	--amusement:#b8b68f;
	--clinic:#a0d2c9;
	--public:#9692b9;
	--office:#c5b1a5;
	--other:#ccc;
}

/* TOPページ__カテゴリー別店舗一覧 */
.shop-cat [data-shop-cat="グルメ・カフェ"]{--sc-color: var(--gourmet);}
.shop-cat [data-shop-cat="美容"]{--sc-color: var(--beauty);}
.shop-cat [data-shop-cat="アミューズメント"]{--sc-color: var(--amusement);}
.shop-cat [data-shop-cat="クリニック"]{--sc-color: var(--clinic);}
.shop-cat [data-shop-cat="公共施設"]{--sc-color: var(--public);}
.shop-cat [data-shop-cat="事務所"]{--sc-color: var(--office);}

/* フロアガイド__フロアガイド-アイコン */
.icons-cat li[data-shop-cat="グルメ・カフェ"]::before{background: var(--gourmet);}
.icons-cat li[data-shop-cat="美容"]::before{background: var(--beauty);}
.icons-cat li[data-shop-cat="アミューズメント"]::before{background: var(--amusement);}
.icons-cat li[data-shop-cat="クリニック"]::before{background: var(--clinic);}
.icons-cat li[data-shop-cat="公共施設"]::before{background: var(--public);}
.icons-cat li[data-shop-cat="事務所"]::before{background: var(--office);}
.icons-cat li[data-shop-cat="その他"]::before{background: var(--other);}

/* フロアガイド__店舗一覧 */
.floor-shop-list li[data-shop-cat="グルメ・カフェ"] a i{background: var(--gourmet);}
.floor-shop-list li[data-shop-cat="美容"] a i{background: var(--beauty);}
.floor-shop-list li[data-shop-cat="アミューズメント"] a i{background: var(--amusement);}
.floor-shop-list li[data-shop-cat="クリニック"] a i{background: var(--clinic);}
.floor-shop-list li[data-shop-cat="公共施設"] a i{background: var(--public);}
.floor-shop-list li[data-shop-cat="事務所"] a i{background: var(--office);}

/* 店舗情報__店舗情報 */
.shop-head-content .shop-head-cat[data-shop-cat="グルメ・カフェ"]{background: var(--gourmet);}
.shop-head-content .shop-head-cat[data-shop-cat="美容"]{background: var(--beauty);}
.shop-head-content .shop-head-cat[data-shop-cat="アミューズメント"]{background: var(--amusement);}
.shop-head-content .shop-head-cat[data-shop-cat="クリニック"]{background: var(--clinic);}
.shop-head-content .shop-head-cat[data-shop-cat="公共施設"]{background: var(--public);}
.shop-head-content .shop-head-cat[data-shop-cat="事務所"]{background: var(--office);}



/* -------------------------------------
svgアイコン
-------------------------------------*/
svg{
	vertical-align: top;
}
i.svg-mail svg{
	aspect-ratio: 5/4;
}
i.svg-search svg{
	aspect-ratio: 8/11;
}
i.svg-name svg{
	aspect-ratio: 48/11;
}


/* -------------------------------------
flx
-------------------------------------*/
.flx{
	--gap:60px;
	display: flex;
	align-items: flex-start;
	gap: var(--gap);
}
.flx>*{
	width: 100%;
	flex: 1;
}
.flx figure img{
	border-radius: var(--radius);
}
.flx .w30p{
	width: 30%;
	flex:unset;
}
.flx .text{
	flex:1;
}

@media screen and (max-width: 520px) {
	.flx{
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	.flx .w30p{
		width: 100%;
	}
}


/* -------------------------------------
time
-------------------------------------*/
time{
	font-size: 0.9rem;
}

/* -------------------------------------
スライド パーツ
-------------------------------------*/
.slide-parts {
	--slide-parts-height:40px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin:24px ;
}
.slide-parts .swiper-button-next,
.slide-parts .swiper-button-prev{
	width: var(--slide-parts-height);
	height: var(--slide-parts-height);
	margin: 0 0 0 10px;
	position: static;
	transition: var(--transition);
}
.slide-parts .swiper-button-next::after,
.slide-parts .swiper-button-prev::after{
	display: none;
}
.slide-parts .swiper-button-next::before,
.slide-parts .swiper-button-prev::before{
	content:"\e5e1";
	font-family:'Material Icons';
	display: grid;
	place-items: center;
	width: var(--slide-parts-height);
	height: var(--slide-parts-height);
	color: #3c3c3c;
	border-radius: 50%;
	border: 1px solid #3c3c3c;
}
.slide-parts .swiper-button-prev::before{
	transform: scale(-1, 1);
}
.slide-parts .swiper-button-next:hover::before,
.slide-parts .swiper-button-prev:hover::before{
	opacity: .6;
}
.slide-parts .swiper-pagination{
	width:auto;
	margin-right: 20px;
	font-size: 1.5rem;
	color: #9c9c9c;
	line-height: 1.0;
	position: static;
}
.slide-parts .swiper-pagination .swiper-pagination-current{
	color: var(--main-color);
}

@media screen and (max-width: 520px) {
	/* スライドパーツ */
	.slide-parts {
		--slide-parts-height:30px;
	}
	.slide-parts .swiper-pagination{
		font-size: 1.0rem;
	}
}


/* -------------------------------------
maru-bf
-------------------------------------*/
.maru-bf>*{
	margin: 0 1.5em 10px 1.2em;
	line-height: 1.5;
}
.maru-bf>*::before{
	content: "●";
	margin-right: 0.2em;
	margin-left: -1.2em;
}

.maru-bf>div p{
	display: inline;
}


/** ==============================================
02.テンプレート
============================================== **/
/* -------------------------------------
news-list
-------------------------------------*/
.news-list{
	--gap:30px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
.news-list li{
	width: calc((100% - var(--gap)*2) / 3);
	font-size: 14px;
	background: #fff;
	box-shadow: var(--shadow);
}
.news-list li a{
	display: flex;
	flex-direction: column;
	height: 100%;
}
.news-list li a figure{
	flex-shrink: 0;
}
.news-list li a .main{
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 16px 20px 20px;
}
.news-list li a p strong{
	display: block;
	margin-bottom: 10px;
	font-size: 1.1em;
	font-weight: var(--fw-b);
	line-height: 1.5;
}

.news-list .news-cat{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}
.news-list .news-cat .ctgr{
	margin-left: -20px;
}
.news-list time{
	display: block;
	margin-top: auto;
	text-align: right;
}

@media screen and (max-width: 520px) {
	.news-list li{
		width: 100%;
	}
}


/* -------------------------------------
floor-btn
-------------------------------------*/
.floor-btn{
	--f-color:var(--f-b1);
	--gap:24px;
	--row:6;
	display: flex;
	gap:var(--gap);
}
.floor-btn a{
	width: calc((100% - var(--gap) * calc(var(--row) - 1)) / var(--row));
	height: 98px;
	background: var(--f-color);
	position: relative;
	transition: var(--transition);
}
.floor-btn a::after{
	content: "";
	display: block;
	width: calc(100% + 2px);
	height: 7px;
	background: var(--color_l);
	position: absolute;
	left: -1px;
	bottom: -1px;
	transition: var(--transition);
	opacity: 0;
}
.floor-btn a:hover::after{
	opacity: 1;
}
.floor-btn a span{
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	border: 6px solid #fff;
	outline: 2px solid var(--f-color);
}
.floor-btn a span::before,
.floor-btn a span::after{
	content: "";
	display: block;
	width: 34px;
	height: 32px;
	background: #fff;
	position: absolute;
}
.floor-btn a span::before{
	clip-path: polygon(0 0, 0 100%, 100% 0);
	left:0;
	top:0;
}
.floor-btn a span::after{
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
	right: 0;
	bottom:0;
}
/* 色分け */
.floor-btn a[data-floor="1F"]{--f-color: var(--f-1f);}
.floor-btn a[data-floor="2F"]{--f-color: var(--f-2f);}
.floor-btn a[data-floor="3F"]{--f-color: var(--f-3f);}
.floor-btn a[data-floor="4F"]{--f-color: var(--f-4f);}
.floor-btn a[data-floor="5F"]{--f-color: var(--f-5f);}

@media screen and (max-width: 520px) {
	.floor-btn{
		--gap:12px;
		--row:3;
		flex-wrap: wrap;
	}
	.floor-btn a{
		height: 70px;
	}
	.floor-btn a span{
		border-width: 4px;
	}
	.floor-btn a span::before,
	.floor-btn a span::after{
		width: 24px;
		height: 22px;
	}
}


/**==============================================
03: ヘッダー
==============================================**/
header {
	width: 100%;
	display: flex;
	align-items: center;
	z-index: 1000;
	padding:10px var(--ovf-half);
	position: fixed;
	transition: .3s all;
	background: #fff;
}
header .logo{
	--width:260px;
	width: var(--width);
	transition: var(--transition);
}
header .logo img{
	max-width: 100%;
}

/* nav */
header nav {
	margin-left: auto;
}
header nav ul.gnav{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap:10px;
	z-index: 2;
}
header nav ul.gnav li {
	position: relative;
}
header nav ul.gnav li a{
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 12px 1.0em;
	font-weight: var(--fw-b);
	line-height: 1.5;
	text-align: center;
	transition: var(--transition);
}
header nav ul.gnav li a i{
	font-size: 0.75em;
	color: var(--main-color);
}
header nav ul.gnav li a:hover{
	color: var(--org);
}

@media screen and (max-width: 979px){
	header{
		height: 60px;
		padding: 10px 2%;
	}
	header .logo{
		--width:auto;
		height: 48px;
	}
	header .logo img{
		height: 100%;
	}

	/* hamburger */
	header .hamburger {
		--size:60px;
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1500;
		box-sizing: border-box;
		width: var(--size);
		height: var(--size);
		cursor: pointer;
		transition: all 400ms;
		color:#fff;
		background: var(--main-color);
	}
	header .hamburger span {
		position: absolute;
		width: 24px;
		height: 2px;
		background:#fff;
		transition: all 400ms;
		right: 0;
		left: 0;
		margin: 0 auto;
	}
	header .hamburger span:nth-child(1) {
		top: 34%;
	}
	header .hamburger span:nth-child(2) {
		top: 50%;
	}
	header .hamburger span:nth-child(3) {
		top: 66%;
	}
	header.nav-open .hamburger {
		background: none;
	}
	header.nav-open .hamburger span {
		/* background: var(--main-color); */
	}
	header.nav-open .hamburger span:nth-child(1) {
		top: 20px;
		transform: rotate(45deg);
	}
	header.nav-open .hamburger span:nth-child(2) {
		display: none;
	}
	header.nav-open .hamburger span:nth-child(3) {
		top: 20px;
		transform: rotate(-45deg);
	}

	/* nav */
	header nav{
		height: 100vh;
		overflow-y: scroll;
		position: fixed;
		top: 0px;
		right: -80vw;
		width: 80vw !important;
		transition: var(--transition);
		z-index: 1499;
		height: 100%;
		margin: 0;
		padding: 0 0 40px;
		background: var(--main-color);
	}
	header.nav-open nav{
		right: 0;
		box-shadow: 0px 0 10px -4px #333;
	}
	header nav ul.gnav{
		flex-direction: column;
		margin:60px 0 0;
		gap: 0;
	}
	header nav ul.gnav li {
		width:100%;
		border-bottom: 1px solid #fff;
	}
	header nav ul.gnav li a{
		padding: 16px 1em;
		color: #fff;
	}
	header nav ul.gnav li a i{
		color: #fff;
	}
}


/**==============================================
03: フッター
==============================================**/
footer .sec-in{
    display: flex;
	padding-top: 60px;
	padding-bottom: 40px;
	background: var(--bg_d);
}
footer .sec-in .f-logo-wrap{
	width: 300px;
}
footer .sec-in .f-logo img{
	max-width: 100%;
}

/* f-sns */
.f-sns{
	display: flex;
	justify-content: center;
	gap: 30px;
	margin-top: 40px;
	font-size: 1.6em;
}.f-sns a:hover{
	color: var(--color_l);
}

/*nav*/
footer nav {
	--gap:50px;
	flex: 1;
	display: flex;
	justify-content: flex-end;
	gap:var(--gap);
}
footer nav ul li{
	margin-bottom: 8px;
}
footer nav ul li a,
footer nav ul li .sub-head {
	display: block;
	margin-bottom: 12px;
	padding: 0 0 8px;
	font-weight: var(--fw-b);
	line-height: 1.2;
}footer nav ul li a:hover{
	color: var(--org);
}
footer nav ul li .sub-nav a{
	margin-bottom: 4px;
	font-size: 0.9em;
}
footer nav ul li .sub-nav a::before{
	content: "navigate_next";
	content: "chevron_right";
	font-family: 'Material Icons';
	margin-right: 0.2em;
}

/** コピーライト **/
.copyright small{
    display: block;
    width:100%;
	padding: 30px 0;
    font-size:12px;
    line-height: 1.0;
	color: #fff;
	text-align: center;
	background: var(--color);
}

@media screen and (max-width: 520px){
	footer .sec-in{
		flex-direction: column;
		padding-top: 30px;
		padding-bottom: 20px;
	}
	footer .sec-in .f-logo-wrap{
		width: 200px;
		margin: 0 auto 30px;
	}
	footer .sec-in .f-logo{
		display: block;
		transform: translateX(-10%);
	}

	/* f-sns */
	.f-sns{
		margin-top: 20px;
		font-size: 1.6em;
	}

	/*nav*/
	footer nav {
		--gap:20px;
		--row:2;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	footer nav ul{
		width: calc((100% - var(--gap) * calc(var(--row) - 1)) / var(--row));
	}
	footer nav ul:first-of-type{
		order: 3;
		width: 100%;
	}
	footer nav ul:first-of-type li{
		margin: 0;
		font-size: 14px;
		border-top: 1px dotted var(--color_l);
	}
	footer nav ul:first-of-type li a{
		padding:12px 0;
	}
	footer nav ul li a {
		margin-bottom: 0;
		padding-bottom: 12px;
	}
	footer nav ul li .sub-head{
		padding: 0;
		font-size: 14px;
		color: #fff;
		text-align: center;
		line-height: 30px;
		background: var(--color);
		border-radius: 4px;
	}
	footer nav ul li .sub-nav a{
		margin-bottom: 8px;
		margin-left: 1.5em;
		text-indent: -1em;
	}
}



/**==============================================
TOPページ
==============================================**/
/* -------------------------------------
HERO
-------------------------------------*/
.hero{
	--height:max(36vw, 540px);
	height: var(--height);
	overflow: hidden;
	position: relative;
}
.hero .swiper-slide{
	height: var(--height);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	overflow: hidden;
	mix-blend-mode: plus-lighter; /* ←クロスフェード */
}
.hero .swiper-slide img.hero-mv{
	width: 100vw;
	height: var(--height);
	object-fit: cover;
	position: absolute;
	left: 0;
	top: 0;
}
.hero .catch{
	--c-height:430px;
	width: 630px;
	height: var(--c-height);
	display: flex;
	flex-direction: column;
	align-items: center;
	filter: drop-shadow(0px 0px 5px rgba(79,53,44,.7));
}
.hero .catch i{
	height: 80px;
	z-index: 2;
}
.hero .catch i img{
	max-height: 100%;
}
.hero .catch .catch-content{
	flex: 1;
	width: 100%;
	display: flex;
	flex-direction: column;
	margin-top: -10px;
	padding-top: 24px;
	font-weight: var(--fw-b);
	text-align: center;
	line-height: 1.3;
	background: #fff;
	border-radius: 20px;
	position: relative;
}
.hero .catch h3{
	display: block;
	padding: 0.45em;
	font-size: 1.2em;
	color: #fff;
	font-weight: var(--fw-b);
	line-height: 1.3;
	background: var(--bg-brwn);
	border-top: 7px solid var(--main-color);
	border-bottom: 7px solid var(--org);
}
.hero .catch p{
	display: grid;
	place-items: center;
	height: 100%;
	padding: 0 1em 20px;
}

/* アニメーション */
.hero .swiper-slide-active img.hero-mv,
.hero .swiper-slide-duplicate-active img.hero-mv,
.hero .swiper-slide-prev img.hero-mv{
	animation: zoomUp 10s linear 0s 1 normal both;
}
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.08);
	}
}

@media screen and (max-width: 520px) {
	.hero{
		--height:62vh;
	}
	.hero .catch{
		--c-height:50%;
		width: 80%;
	}
	.hero .catch i{
		height: 45px;
	}
	.hero .catch .catch-content{
		border-radius: 10px;
	}
	.hero .catch h3{
		font-size: 0.95em;
		border-top-width: 5px;
		border-bottom-width: 5px;
	}
	.hero .catch p{
		font-size: 0.8em;
		padding: 0 5% 20px;
	}
}


/* -------------------------------------
top-about
-------------------------------------*/
.sec-top-about .sec-in{
	background: linear-gradient(90deg, var(--bg_d) 70%,  var(--def-bg-color) 70%);
}
.top-about{
	flex-direction: row-reverse;
	align-items: stretch;
	position: relative;
}
.top-about figure.deco-wrap{
	position: relative;
	overflow: visible;
}
/* deco */
.top-about .text{
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.top-about .deco-txt{
	position: absolute;
	left: 0;
	top: -40px;
}
.top-about .deco-circle {
	width: fit-content;
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translate(50%, 50%);
	z-index: 1;
}
.top-about .deco-circle img{
	animation: rotation 18s linear infinite;
}
/* アニメーション */
@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@media screen and (max-width: 520px) {
	.sec-top-about.pt80.pb50{
		padding-top: 80px;
		padding-bottom: 0;
	}
	.sec-top-about .sec-in{
		padding-bottom: 150px;
		background: linear-gradient(0deg, var(--bg_d) 80%,  var(--def-bg-color) 80%);
	}
	.top-about{
		flex-direction: column;
	}
	.top-about figure{
		width: 92%;
		margin:-18px auto 20px;
	}
	.top-about .deco-txt{
		left: -6vw;
		top: -40px;
	}

	.top-about .deco-circle {
		transform: translate(24%,40%);
	}
	.top-about .deco-circle img{
		width: 26vw;
	}
}


/* -------------------------------------
top-イベント
-------------------------------------*/
.top-event{
	width: 980px;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
}
.top-event i{
	width: 390px;
	z-index: 2;
}
.top-event i img{
	width: 100%;
	filter: drop-shadow(-1px -1px 0px var(--color)) drop-shadow(1px -1px 0px var(--color));
}
.top-event .content{
	width: 100%;
	margin-top: -2px;
	padding-top: 40px;
	font-weight: var(--fw-b);
	text-align: center;
	line-height: 1.5;
	background: #fff;
	border: 2px solid var(--color);
	outline:15px solid var(--main-color);
	border-radius: 20px;
	position: relative;
	overflow: hidden;
}
.top-event .content::before{
	content: "EVENT";
    display: block;
    width: 240px;
	font-size: 1.4em;
    color: #fff;
    background: var(--org);
    line-height: 38px;
    position: absolute;
    left: -80px;
    top: -40px;
    transform: rotate(-38deg);
    transform-origin: right top;
}
.top-event h3{
	display: block;
	padding: 20px;
	color: #fff;
	font-weight: var(--fw-b);
	line-height: 1.3;
	background: var(--bg-brwn);
	border-top: 7px solid var(--main-color);
	border-bottom: 7px solid var(--org);
}
.top-event p{
	padding: 30px 50px 50px;
}
.top-event p strong{
	display: block;
	margin-bottom: 20px;
}

@media screen and (max-width: 520px) {
	.top-event{
		width: 95%;
		margin-top: -95px;
	}
	.top-event i{
		width: auto;
		height: 46px;
	}
	.top-event i img{
		width: auto;
		height: 100%;
	}
	.top-event .content{
		margin-top: -3px;
		padding-top: 30px;
		outline-width:8px ;
		border-radius: 10px;
	}
	.top-event .content::before{
		width: 160px;
		font-size: 0.8em;
		line-height: 28px;
		left: -90px;
		top: -40px;
		transform: rotate(-44deg);

	}
	.top-event h3{
		font-size: 20px;
		background: var(--bg-brwn);
		border-top-width: 5px;
		border-bottom-width: 5px;
	}
	.top-event p{
		padding: 15px 7% 24px;
		font-size: 14px;
	}
	.top-event p strong{
		font-size: 1rem;
		margin-bottom: 10px;
	}
}


/* -------------------------------------
top-店舗一覧
-------------------------------------*/
/* カテゴリー */
/* .shop-cat{
	--sc-color:var(--gray);
	--gap:20px;
	display: flex;
	justify-content: center;
	gap:var(--gap);
}
.shop-cat li{
	width: 100%;
	height: 96px;
	display: grid;
	place-items: center;
	padding: 10px;
	color: #fff;
	text-align: center;
	line-height: 1.3;
	background: var(--sc-color);
	border-bottom: 8px solid #fff;
	transition: var(--transition);
}.shop-cat li:hover,
.shop-cat li.active{
	color: var(--color);
	background: #fff;
	border-bottom-color: var(--sc-color);
} */
.shop-cat{
	--sc-color:var(--gray);
	--gap:20px;
	display: flex;
	justify-content: center;
	gap:var(--gap);
}
.shop-cat >*{
	width: 100%;
	height: 96px;
	display: grid;
	place-items: center;
	padding: 10px;
	color: #fff;
	text-align: center;
	line-height: 1.3;
	background: var(--sc-color);
	border-bottom: 8px solid #fff;
	transition: var(--transition);
}.shop-cat >*:hover,
.shop-cat >*.current{
	color: var(--color);
	background: #fff;
	border-bottom-color: var(--sc-color);
}


/* area */
.tab-wrap .area{
	padding: 0 0 80px;
}

/* shop-cat-list */
.shop-cat-list{
	--gap:40px;
	--row:4;
	flex-wrap: wrap;
	gap:60px var(--gap);
	display: none;
	display: flex;
}
/* 絞込で表示 */
.shop-cat:has(.current) + .area .shop-cat-list{
	display: flex;
}
.shop-cat-list li{
	width: calc((100% - var(--gap) * calc(var(--row) - 1)) / var(--row));
}

.shop-cat-list li a figure{
	margin-bottom: 10px;
	padding: 10px 16%;
	background: #fff;
	border: var(--border-gray);
}
.shop-cat-list li a figure img{
	width: 100%;
	/* aspect-ratio: 245 / 170;
	object-fit: contain; */
}
.shop-cat-list li a p{
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-left: 2px;
	font-size: 0.8em;
	line-height: 1.2;
}
.shop-cat-list li a p .name{
	font-size: 1.1em;
	font-weight: var(--fw-b);
}.shop-cat-list li a:hover p{
	color: var(--org);
}
.shop-cat-list li a p .sub-cat::before{
	content: "[";
}
.shop-cat-list li a p .sub-cat::after{
	content: "]";
}

@media screen and (max-width: 520px) {
	.sec-top-shop h2{
		margin-bottom: 20px;
	}
	.sec-top-shop .titC{
		margin-bottom: 30px;
	}
	/* カテゴリー */
	.shop-cat{
		--gap:10px;
		--row:3;
		flex-wrap: wrap;
	}
	.shop-cat >*{
		width: calc((100% - var(--gap) * calc(var(--row) - 1)) / var(--row));
		height: 60px;
		font-size: 0.75em;
		font-weight: var(--fw-b);
		border-bottom-width: 4px;
	}

	/* area */
	.tab-wrap .area{
		padding-bottom: 50px;
	}

	/* shop-cat-list */
	.shop-cat-list{
		/* --gap:12px;
		--row:2; */
		--gap:10px;
		--row:2;
		gap:20px var(--gap);
	}
	.shop-cat-list li a p{
		gap: 4px;
		padding-left: 4px;
		font-size: 0.75em;
	}
}

/* -------------------------------------
top-関連リンク
-------------------------------------*/
.bnr-links{
	--gap:20px;
	--row:3;
	display: flex;
	flex-wrap: wrap;
	gap:var(--gap)
}
.bnr-links a{
	width: calc((100% - var(--gap) * calc(var(--row) - 1)) / var(--row));
}.bnr-links a:hover{
	opacity: var(--opacity);
}
.bnr-links a img{
	width: 100%;
}

@media screen and (max-width: 520px) {
	.bnr-links{
		--gap:16px;
		--row:2;
	}
}

/* -------------------------------------
top-アクセス
-------------------------------------*/
.access{
	display: flex;
}
.access .access-content{
	width: 360px;
	padding: 30px;
	text-align: center;
	background: #fff;
}
.access .access-img{
	flex:1;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

@media screen and (max-width: 520px) {
	.access{
		flex-direction: column-reverse;
		margin: 0 -6vw -130px;
	}
	.access .access-content{
		width: 100%;
		padding: 30px 30px 180px ;
	}
	.access .access-img{
		height: 70vw;
		width: 100%;
		flex:unset;
	}
}


/**==============================================
フロアガイド
==============================================**/
/* -------------------------------------
フロアガイド
-------------------------------------*/
/* floorguide */
.floorguide{
	padding: 40px 60px 60px;
	background: #fff;
}
.floorguide figure{
	position: relative;
}
.floorguide figure .main-img{
	width: 100%;
}
.floorguide figure figcaption{
	position: absolute;
	left: 0;
	top: 0;
}
.floorguide figure figcaption img{
	width: 100px;
}
/* guide-icons */
.guide-icons{
	margin-top: 80px;
	padding: 36px 20px 0;
	border-top: var(--border-gray);
}
/* icons-cat */
.icons-cat{
	display: flex;
	flex-wrap: wrap;
	gap:20px;
}
.icons-cat li{
	display: flex;
	align-items: center;
	gap:6px;
	font-size: 0.9em;
	line-height: 1.0;
}
.icons-cat li::before{
	content: "";
	width: 40px;
	aspect-ratio: 4/3;
	background: yellow;
}
/* icons-info */
.icons-info{
	--gap:12px;
	--row: 5;
	display: flex;
	flex-wrap: wrap;
	gap:var(--gap);
	margin-top: 30px;
}
.icons-info li{
	width: calc((100% - var(--gap) * calc(var(--row) - 1)) / var(--row));
	display: flex;
	flex-direction: row;
	align-items: center;
	gap:10px;
	font-size: 0.9em;
	line-height: 1.0;
}
.icons-info li i{
	--size:40px;
	width: var(--size);
	height: var(--size);
}
.icons-info li i img{
	width: 100%;
}

@media screen and (max-width: 520px) {
	.floor-btn-wrap.sec-in{
		padding-left: 10vw;
		padding-right: 10vw;
	}
	.sec-floorguide .titA.mb50{
		margin-bottom: 20px;
	}
	/* floorguide */
	.floorguide{
		margin-left: -3vw;
		margin-right: -3vw;
		padding: 24px 20px 30px;
	}
	.floorguide figure {
		overflow:visible;

	}
	.floorguide figure figcaption{
		top:-10px;
		left:4px;
	}
	.floorguide figure figcaption img{
		width: 44px;
	}
	/* guide-icons */
	.guide-icons{
		margin-top: 40px;
		padding: 36px 10px 0;
	}
	/* icons-cat */
	.icons-cat{
		gap:10px 14px;
	}
	.icons-cat li{
		gap:6px;
		font-size: 0.7em;
	}
	.icons-cat li::before{
		width: 20px;
	}
	/* icons-info */
	.icons-info{
		--gap:10px;
		--row: 2;
		margin-top: 25px;
	}
	.icons-info li{
		gap:10px;
		font-size: 0.7em;
	}
	.icons-info li i{
		--size:30px;
	}
}

/* floor-shop-list */
.floor-shop-list{
	--gap:50px;
	--row:2;
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--gap);
}
.floor-shop-list li{
	width: calc((100% - var(--gap) * calc(var(--row) - 1)) / var(--row));
}
.floor-shop-list li a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:14px;
	padding: 14px 0;
	border-top: var(--border);
}.floor-shop-list li a:hover{
	color: var(--org);
}
.floor-shop-list li:nth-last-of-type(-n+2) a{
	border-bottom: var(--border);
}
.floor-shop-list li a i{
	--size:40px;
	width: var(--size);
	height: var(--size);
	display: grid;
	place-items: center;
	font-size: 1.2rem;
	color: #fff;
	background: yellow;
}
.floor-shop-list li a p{
	flex:1;
	display: flex;
	flex-direction: column;
	gap: 6px;
	line-height: 1.2;
}
.floor-shop-list li a p .name{
	font-weight: var(--fw-b);
}
.floor-shop-list li a p .sub-cat{
	font-size: 0.9em;
}
.floor-shop-list li a p .sub-cat::before{
	content: "[";
}
.floor-shop-list li a p .sub-cat::after{
	content: "]";
}
.floor-shop-list li a figure{
	width: 140px;
	padding: 6px;
	background: #fff;
}

/* フロアガイド以外 */
.floor-shop-list.no-map-num li a p .sub-cat::after{
	display: none;
}
.floor-shop-list.no-map-num li a p .sub-cat b::before{
	content: "]";
	margin-right: 1em;
}



@media screen and (max-width: 520px) {
	.floor-shop-list{
		--row:1;
	}
	.floor-shop-list li a{
		gap:18px;
		padding: 20px 0;
	}
	.floor-shop-list li:nth-last-of-type(2) a{
		border-bottom: none ;
	}
	.floor-shop-list li a i{
		--size:36px;
		font-size: 1rem;
	}
	.floor-shop-list li a p{
		gap: 6px;
	}
	.floor-shop-list li a p .sub-cat{
		font-size: 0.9em;
	}
	.floor-shop-list li a figure{
		width: 80px;
	}
}


/**==============================================
店舗情報
==============================================**/
.shop-head{
	--gap:40px;
	display: flex;
	align-items: flex-start;
	gap:var(--gap);
	margin-bottom: 40px;
}
.shop-head .shop-logo{
	width: 130px;
}
.shop-head .shop-logo img{
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
.shop-head-content{
	flex:1;
	display: flex;
	flex-direction: column;
	gap:8px;
	margin-top: 4px;
	line-height: 1.2;
}
.shop-head-content .shop-head-cat{
	width: 10em;
	color: #fff;
	line-height: 1.8;
	text-align: center;
	background: var(--bg-brwn);
}
.shop-head-content .tit{
	padding-bottom: 10px;
	line-height: 1.2;
	border-bottom: var(--border);
}
.shop-head-content .sub-cat::before{
	content: "[";
}
.shop-head-content .sub-cat::after{
	content: "]";
}

/* shop-details */
.shop-details{
	display: flex;
	gap:40px;
}
.shop-details .shop-photo {
	width: 50%;
}
.shop-details .shop-photo img{
	max-width: 100%;
}
.shop-details .shop-photo .photos{
	--gap:10px;
	--row:2;
	display: flex;
	flex-wrap: wrap;
	gap:var(--gap);
	margin-top: 20px;
}
.shop-details .shop-photo .photos img{
	width: calc((100% - var(--gap) * calc(var(--row) - 1)) / var(--row));
}
.shop-details .shop-content{
	flex:1;
}
.shop-details .shop-content .tit{
	margin-bottom: 20px;
}
.shop-details .shop-content .richtext{
	margin-bottom: 50px;
}
.shop-details .shop-content table td a[href^="tel"]{
	display: block;
	line-height: 1.7;
}
.shop-details .shop-content table td a:not([href^="tel"]){
	text-decoration: underline;
}
.shop-details .shop-content table td a:not([href^="tel"]):hover{
	text-decoration: none;
}
.shop-details .shop-content table td a:not([href^="tel"])+p{
	margin-top: 8px;
	line-height: 1.2;
}

/* shop-sns */
.shop-sns{
	display: flex;
	justify-content: flex-start;
	gap: 20px;
	font-size: 1.4em;
	line-height: 1.0;
}.shop-sns a:hover{
	color: var(--color_l);
}

@media screen and (max-width: 520px) {
	.shop-head{
		--gap:24px;
		align-items: flex-start;
		margin-bottom: 30px;
	}
	.shop-head .shop-logo{
		width: 80px;
	}
	.shop-head-content{
		gap:6px;
		margin-top: 0;
	}
	.shop-head-content .shop-head-cat,
	.shop-head-content .sub-cat{
		font-size: 12px;
	}
	.shop-head-content .tit{
		font-size: 1.2rem !important;
	}

	/* shop-details */
	.shop-details{
		flex-direction: column;
		gap:14px;
	}
	.shop-details .shop-photo {
		display: contents;
	}
	.shop-details .shop-photo .main-photo{
		order: 1;
		margin-bottom: 10px;

		margin-left: -6vw;
		margin-right: -6vw;
		max-width: 100vw;
	}
	.shop-details .shop-photo .photos{
		--gap:5px;
		order: 4;
		margin-top: 0;
	}
	.shop-details .shop-content{
		display: contents;
	}
	.shop-details .shop-content .tit{
		order: 2;
		margin-bottom: 0;
	}
	.shop-details .shop-content .richtext{
		order: 3;
		margin-bottom: 10px;
	}
	.shop-details .shop-content .shop-info{
		order:5;
		margin-top: 50px;
	}

	/* shop-sns */
	.shop-sns{
		font-size: 1.6em;
	}
}

/* -------------------------------------
同じカテゴリー一覧
-------------------------------------*/
.shop-cat-list.sames{
	display: flex;
}
.shop-cat-list.sames em{
	margin-right: 0.7em;
}


/**==============================================
施設紹介
==============================================**/
/* -------------------------------------
施設紹介-about
-------------------------------------*/
.sec-about .flx {
	align-items: center;
}
.sec-about .flx figure{
	width: 54%;
	flex:inherit;
}

@media screen and (max-width: 520px) {
	.sec-about .flx figure{
		width: 100%;
	}
}


/* -------------------------------------
施設紹介-館内サービス
-------------------------------------*/
/* facility-list */
.facility-list{
	--gap:30px;
	--row:4;
	display: flex;
	flex-wrap: wrap;
	gap: 40px var(--gap);
}
.facility-list li{
	width: calc((100% - var(--gap) * calc(var(--row) - 1)) / var(--row));
	font-size: 0.95em;
	line-height: 1.4;
}
.facility-list li figure{
	margin-bottom: 10px;
}
.facility-list li strong{
	display: block;
	margin-bottom: 5px;
	font-size: 1.1em;
	font-weight: var(--fw-b);
	line-height: 1.3;
}

@media screen and (max-width: 520px) {
	.facility-list{
		--gap:20px;
		--row:3;
		gap: 30px var(--gap);
	}
	.facility-list li{
		font-size: 0.9em;
	}
	.facility-list li figure{
		margin-bottom: 10px;
	}
	.facility-list li strong{
		font-size: 1.0em;
	}
}

/* -------------------------------------
施設紹介-アクセス
-------------------------------------*/
.access-map{
	text-align: center;
}
.access-add{
	display: flex;
	gap:50px;
}
.access-add .add{
	width: 30%;
	border-right: 1px solid var(--color);
}
.access-add .access2{
	flex:1;
}
.access-add .access2 span{
	display: block;
	margin-top: 10px;
}

@media screen and (max-width: 520px) {
	.access-add{
		flex-direction: column;
		gap:30px;
	}
	.access-add .add{
		width: 100%;
		border-right: none;
	}
	.access-add .access2{
		flex:1;
	}
	.access-add .access2 span{
		display: block;
		margin-top: 10px;
	}
}


/**==============================================
お問い合わせ
==============================================**/
#contact .note{
	padding: 20px 30px;
	font-size: 0.95em;
	border: var(--border);
	border-style: dotted;
	font-weight: bold;
	background: rgba(255,255,255,.4);
}
#contact .note.richtext p strong{
	color: unset;
}

@media screen and (max-width: 520px) {
	#contact .note{
		padding: 20px;
	}
}/*layout:1*/@charset "utf-8";
/* -------------------------------------
owlet.css
-------------------------------------*/
/* -------------------------------------
パンくず
-------------------------------------*/
#breadcrumb{
	margin:0 auto;
	padding:5px 0 15px;
	max-width:980px;
	width:94%;
	font-size:12px;
}
/*家アイコン*/
#breadcrumb ol:before {
	display: inline-block;
	content: "\e88a";
	vertical-align: middle;
	font-size: 14px;
	font-family: 'Material Icons';
}
#breadcrumb ol li{
	display:inline-block;
	padding:0 5px;
}
#breadcrumb ol li+li:before{
	content:">";
}
#breadcrumb a{
	text-decoration: underline;
}#breadcrumb a:hover{
	text-decoration: none;
}

/* -------------------------------------
リッチテキスト
-------------------------------------*/
.richtext{
}
.richtext *[style*="font-size: 10px"]{
    font-size: 10px!important;
}
.richtext *[style*="font-size: 11px"]{
    font-size: 11px!important;
}
.richtext *[style*="font-size: 12px"]{
    font-size: 12px!important;
}
.richtext *[style*="font-size: 13px"]{
    font-size: 13px!important;
}
.richtext *[style*="font-size: 14px"]{
    font-size: 14px!important;
}
.richtext *[style*="font-size: 15px"]{
    font-size: 15px!important;
}
.richtext p{
	margin: 0 auto 10px;
}
.richtext strong {
}/*リセットしていないので不要*/
.richtext s{
}/*リセットしていないので不要*/
.richtext u{
}/*リセットしていないので不要*/
.richtext em {
	font-style: italic;
}
.richtext ul {
    line-height: 1.4;
}
.richtext ul li {
    list-style: outside decimal;
}
.richtext ol {
    line-height: 1.4;
}
.richtext ol li{
	list-style: outside decimal;
}
.richtext h1{
	font-size: 2.0em;
}
.richtext h2{
	font-size: 1.5em;
}
.richtext h3{
	font-size: 1.17em;
}
.richtext h4{
	font-size: 1.0em;
}
/*▽▽追加▽▽*/
.richtext p a{
    /* border-bottom: 1px dotted var(--color); */
    text-decoration: underline;
}.richtext p a:hover{
	/* border-bottom: none; */
	text-decoration: none;
}
.richtext p a[href^="tel"]{
	display: inline;
    border-bottom: none;
}
.richtext ul li{
    display: block;
    margin-bottom: 10px;
    margin-left: 1em;
    text-indent: -1em;
    list-style: none;
}
.richtext ul li::before{
    content: "●";
}
/*△△追加△△*/
.richtext table{
	max-width: 100%;
	border: none;
	border-collapse: collapse;
	table-layout: fixed;
	empty-cells: show;
}
.richtext table tr td{
	border: 1px solid #ccc;
	vertical-align: middle;
	text-align: left;
	-webkit-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
}
.richtext img{
	max-width: 100%;
}
.richtext iframe{
	max-width: 100%;
}

@media screen and (max-width: 768px) {
	.richtext *[style*="font-size: 8px"]{
	}
	.richtext *[style*="font-size: 9px"]{
	}
	.richtext *[style*="font-size: 10px"]{
        font-size: 10px!important;
	}
	.richtext *[style*="font-size: 11px"]{
        font-size: 10px!important;
	}
	.richtext *[style*="font-size: 12px"]{
        font-size: 10px!important;
	}
	.richtext *[style*="font-size: 13px"]{
        font-size: 12px!important;
	}
	.richtext *[style*="font-size: 14px"]{
        font-size: 12px!important;
	}
    .richtext *[style*="font-size: 15px"]{
        font-size: 14px!important;
    }
	.richtext *[style*="font-size: 16px"]{
	    font-size: 1rem!important;
	}
	.richtext *[style*="font-size: 18px"]{
		font-size: 1rem!important;
	}
	.richtext *[style*="font-size: 24px"]{
		font-size: 1.2rem!important;
	}
	.richtext *[style*="font-size: 30px"]{
		font-size: 1.3rem!important;
	}
	.richtext *[style*="font-size: 36px"]{
		font-size: 1.6rem!important;
	}
	.richtext *[style*="font-size: 48px"]{
		font-size: 1.65rem!important;
	}
	.richtext *[style*="font-size: 60px"]{
		font-size: 1.7rem!important;
	}
	.richtext *[style*="font-size: 72px"]{
		font-size: 1.75rem!important;
	}
	.richtext *[style*="font-size: 96px"]{
		font-size: 1.8rem!important;
	}
}




/** ================================================================================
01: アーティクル用
================================================================================ **/
/* -------------------------------------
公開日
-------------------------------------*/
.time{
	font-size: 14px;
	display: inline-block;
	margin: 0 2px;
	vertical-align:middle;
	padding:5px 0;
	line-height: 1.0;
}

@media screen and (max-width: 768px) {
    .time{
        font-size: 11px;
    }
}

/* -------------------------------------
boxLR
 お知らせ一覧のタグ+日付
-------------------------------------*/
.boxLR{
	display: flex;
	margin: 14px auto 0;
	font-size: 14px;
}
.boxLR em.cat{
	display: inline-block;
	margin-left: 6%;
	padding: 6px 20px;
	font-size: 12px;
	color: #fff;
	text-align: center;
	line-height: 1.0;
	background: var(--main-color);
}

@media screen and (max-width: 480px) {
	.boxLR{
		font-size: 13px;
	}
	.boxLR em.cat{
		padding: 4px 0.5em 0;
		font-size: 11px;
	}
}

/* -------------------------------------
カテゴリボタン
 一覧のディレクトリーボタン
-------------------------------------*/
.catBtn{
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
    margin:  25px auto;
}
.catBtn a{
    position: relative;
    display: block;
    margin: 5px;
    padding: 10px 60px 10px 40px;
    min-width: 8em;
    line-height: 1.2;
    border: 1px solid var(--color);
    background: var(--color);
    color: #fff;
    text-align: left;
    font-weight: bold;
	/* border-radius:6px; */
    display: flex;
    align-items: center;
    flex-flow: column;
    justify-content: center;
}
.catBtn a:after{
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "\e5cc";
    font-family: 'Material Icons';
}
.catBtn a:hover{
    opacity: .8;
}

@media screen and (max-width: 768px) {
    .catBtn{
        margin:  20px auto;
        width: 90%;
        max-width: 480px;
    }
    .catBtn a{
        margin: 0 4px 8px;
        padding: 4px 15px 4px 10px;
        min-width: 8em;
        width: 25%;
        /*max-width: 160px;*/
        font-size: 0.7rem;
		font-weight: normal;
		min-height: 3.0em;
    }
    .catBtn a:after{
        right: 5px;
    }
}

/* -------------------------------------
カテゴリ（採用）
-------------------------------------*/
/*背景あり*/
.ctgr{
	display: inline-block;
	margin: 0 2px;
	padding: 4px 2em;
	font-size: 14px;
	color: #fff;
	font-weight: var(--fw-b);
	line-height: 1.0;
	vertical-align:middle;
	position: relative;
	background:var(--main-color);
/*    border-radius: 3px;*/
}
/* 色分け */
.ctgr[data-cat="NEWS"]{
	background: var(--cat-news-color);
}
.ctgr[data-cat="EVENT"]{
	background: var(--cat-event-color);
}


/* -------------------------------------
ページャー
-------------------------------------*/
.pagenation{
	margin: 30px auto;
	text-align: center;
}
.pagenation span{
	display: inline-block;
	margin: 5px;
	width: 20px;
	height: 40px;
	/*	border-radius: 50%;*/
	/* border: 1px solid red; */
	text-align: center;
	line-height: 38px;
	/* color: #aaa; */
}
.pagenation span.page{
	/* background: #efefef; */
}
.pagenation span a{
	display: block;
	width: 100%;
	height: 100%;
	/*	border-radius: 50%;*/
	/* background: #fff; */
	/* color: var(--main-color); */
	text-decoration: underline;
}.pagenation span a:hover{
	color: var(--org);
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.pagenation span{
		margin: 3px;
		width: 30px;
		height: 30px;
		line-height: 27px;
	}
}

/* -------------------------------------
category
 記事詳細のタグ+日付
-------------------------------------*/
.category {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 5%;
	text-align: center;
}
.category time{
	margin: 0 20px;
	font-family: var(--webf);
}

/* -------------------------------------
SNS
-------------------------------------*/
.sns{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 30px 0;
	flex-wrap: wrap;
}
.sns > *{
	margin: 0 5px 5px 0;
	color: #fff;
	padding: 3px 0;
	width: 100px;
	font-size: 13px;
	text-align: center;
	border-radius: 5px;
}
.sns a{
	display: block;
}
.sns  i{
	margin: 0 5px 0 0;
}
.sns .line{
    background: #00b900;
}
.sns .line i{
	width: 20px;
	height: 20px;
	overflow:hidden;
	display: inline-block;
	position: relative;
	vertical-align: middle;
}
.sns .line i:before{
    position: absolute;
    top: -5px;
    left: -5px;
    color: #00b900;
    background: #fff;
    font-size: 30px;
	width: 1em;
}
.sns .gb{
	background: #3a5b97;
}
.sns .ht{
	background: #4e73b5;
}
.sns .pk{
	background: #ec4058;
}
.sns .pr{
	background: #d7071d;
}
.sns .tw{
	background: #50aff0;
}

/* -------------------------------------
目次
-------------------------------------*/
.entry-content{
	margin: 50px 5% 0;
	padding: 20px 30px;
	border: 1px dotted #aaa;
	background: #fafafa;
}
.entry-content dt{
    text-align:center;
    font-weight: bold;
    font-size: 1.1em;
}
.entry-content dd{
    counter-increment: list;
    padding:15px 0 0 1.2em;
    text-indent: -1.2em;
}.entry-content dd:before{
    content: counter(list)". ";
}
.entry-content dd a{
    text-decoration: underline;
}.entry-content dd a:hover{
    text-decoration: none;
}

@media screen and (max-width: 768px) {
	.entry-content{
		padding:15px;
		margin:30px 5% 0;
	}
}

/* -------------------------------------
記事本文
-------------------------------------*/
.post-detail .tit{
	font-weight: var(--fw-b);
}
.post-detail figure{
	text-align: center;
}
.post-detail .richtext{
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}




/** ================================================================================
02: フォーム用
================================================================================ **/

/* -------------------------------------
フォーム
-------------------------------------*/
/**エラー**/
.alert {
	margin: 5px 0;
	color: #f00;
}
form table th{
	padding-right: 60px !important;
	position: relative;
}
/**必須**/
.require {
	display: inline-block;
	width: 3em;
	height: 2em;
	border-radius: 3px;
	background: #bb0033;
	background: var(--org);
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 14px;
	line-height: 2em;
	position: absolute;
    top: 0;
    right: 0.5em;
    bottom: 0;
	margin: auto 5px;
}

/*入力タグ*/
form input[type="text"],
form textarea,
form select{
	padding: 6px;
	min-height:44px;
	background: #fff;
	/* border:1px solid #cccccc; */
	font-size: 14px;
	line-height: 1.2;
	margin: 5px 5px 5px 0;
	-webkit-box-shadow: none;
	box-shadow: none;
	border-radius: 5px;
}
form input[type="text"]{
   width: 100%;
}
form textarea {
	min-height: 150px;
}
form select{
	display: grid;
	place-items: center;
	padding: 0 10px;
	font-size: 14px;
}
td input[type="button"]{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: linear-gradient(to bottom, rgba(255,255,255,1.0) 40%,rgba(200,200,200,0.1) 100% ); /* グラデーション */
	background: #ddd;
	border: 1px solid #ccc; /* 枠線 */
	border-radius: 0.3em;      /* 角丸 */
	height: 40px;
	padding:0 10px;
	font-size: 0.85em;
}
form input[type="file"]{
    display: block;
    margin: 8px 0;
}
form input[type="checkbox"]{
	margin-right: 0.5em;
}
/*電話*/
form input.owlet-input-tel1,
form input.owlet-input-tel2,
form input.owlet-input-tel3{
    width: 7em;
	margin: 5px;
}
/*名前*/
form input.owlet-input-name-sei,
form input.owlet-input-name-mei{
    width: 8em;
}
/*郵便番号*/
form input.zip1,
form input.zip2{
    width: 5em;
	margin: 5px;
}
/**住所**/
form input.address{
    display: block;
}
/*label 縦並び*/
/*
form label {
	display: block;
    margin: 5px 0;
}
 */

/*label 横並び*/
form label {
	display: inline-block;
	margin: 5px 10px;
}
/*ボタン*/
form button{
	margin: 0 10px;
	padding: 5px 10px;
	border-radius: 5px;
	background: #fff;
}
/*記入例*/
form .owlet-input-sample {
	margin-top: 5px;
	color: #505050;
	font-size: 14px;
	margin-left: 8px;
}
/**フォーム規約**/
.owlet-rules {
	margin: 0 auto 30px;
	width: 100%;
}
.owlet-rules-title {
	margin-bottom: 10px;
	text-align: center;
	font-weight: bold;
	display: none;
}
.owlet-rules-body {
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin-bottom: 20px;
	border-top:1px dashed #000;
	padding:15px;

	/*iframeの場合は設定*/
	overflow-y:scroll;
	height:200px;
	border:1px solid #dcdcdc;
	background: #fff;
	/*/iframeの場合は設定*/
}
.owlet-rules-agree {
	position: relative;
	margin-bottom: 20px;
	text-align: center;
}
.owlet-rules-agree .require{
	position: static;
	margin: 0 15px;
}

/**送信ボタン**/
.form_button {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column-reverse;
	margin: 50px auto 20px;
	text-align: center;
	position: relative;
}
.form_button button[type="submit"],
.form_button input[type="submit"],
.form_button input.submit,
.form_button a{
	display: inline-block;
	margin: 0 30px 10px;
	padding: 15px 30px;
	width: 80vw;
	max-width: 450px;
	border: 1px solid var(--main-color);
	background: var(--main-color);
	color: #fff;
	text-align: center;
	font-size: 15px;
	transition: var(--transition);
}
.form_button button[type="submit"]:hover,
.form_button input[type="submit"]:hover,
.form_button input.submit:hover,
.form_button a:hover{
	opacity: .8;
}

@media screen and (max-width: 520px) {
	/**テーブル**/
	.owlet-form {
		width: 100%;
	}

	/**これで.tableAでも.tableBでも何でもOK！**/
	form table{
		width: 96vw !important;
		margin-left: -4vw;
		margin-right: -4vw;
	}
	/* form table tr{
		border-bottom: 1px dotted red;
    } */
	form table th,
	form table td{
        display: block;
		width: 100% !important;
    }

	/**必須**/
	.require {
		position:static;
		font-size: 12px;
	}

	/*iPhone独自スタイル解除*/
	form input[type="button"],
	form input[type="text"],
	form input[type="submit"] {
		-webkit-appearance: none;
	}
}
/*layout:2*//*layout:3*//*layout:5*/