
.-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";
/* CSS Document */

/*! 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-style: solid;
  border-width: 0;
}
html {
  line-height: 1.15; /* 1 */
  -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;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
dt {
  font-weight: inherit;
}
dd {
  margin-left: 0;
}
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}
address {
  font-style: inherit;
}
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
abbr[title] {
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; /* 2 */
}
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;
}

/* Forms */
/* ============================================ */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}
[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}
[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}
button,
input {
  /* 1 */
  overflow: visible;
}
button,
select {
  /* 1 */
  text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
select::-ms-expand {
  display: none;
}
option {
  padding: 0;
}
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  outline-offset: -2px; /* 1 */
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
details {
  display: block;
}
summary {
  display: list-item;
}
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption {
  text-align: left;
}
td,
th {
  vertical-align: top;
  padding: 0;
}
th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
template {
  display: none;
}
[hidden] {
  display: none;
}



@charset "utf-8";
/* CSS Document */
/* -------------------------------------
Browser：Edge over
-------------------------------------
01: リセットの追加
02: 変数
03: ベース
-------------------------------------*/

/** ================================================================================
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-font:'Noto Sans JP', sans-serif;
	--def-bg-color:#fff;
	--base-width:1100px;
	--ovf-half:calc((100vw - var(--base-width)) / 2);
	--ovf-half-mns:min(calc((100vw - var(--base-width)) / -2), -5vw);
	--color:#646464;
	--c-main:#ff8700;
	--c-sub:#6a5c53;
	--c-point:#fdef40;
	--red:#cd3a1f;
	--bg-ylw:#fffcd9;

	--gray:#afafaf;
	--bg-gray:#f3f4f5;

	--webf:'Inter', sans-serif;
	--fw-b:700;
	--opacity:.8;
	--transition: .3s all ease-in-out;
	--border:1px solid var(--gray);
	--dot:1px dotted var(--gray);
	--shadow:0 0 14px rgba(0,0,0,.2);
	--hr:1px solid var(--bg-gray);
}

@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;
		--radius:26px;
	}
}

/** ================================================================================
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: var(--def-font);
	font-weight: 400;
	line-height: 1.8;
	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: 128px;
	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: 1100px) {
	.sec-in{
		padding-left: 6vw;
		padding-right: 6vw;
	}
}

@media screen and (max-width: 768px) {
	body main{
		margin-top: 60px;
	}
}


/* -------------------------------------
レイアウト
-------------------------------------*/
.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 .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 .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;
}

@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 .w1100,
body .w980,
body .w900,
body .w850,
body .w800,
body .w700,
body .w650,
body .w600{
	width: 100%;
	margin-right: auto;
	margin-left : auto;
	position: relative;
}
body .w100p{
	width: 100%;
}
body .w1100{
	max-width: 1100px;
}
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 {--row:2;}
.box3C {--row:3;}
.box4C {--row:4;}
.box2C > *,
.box3C > *,
.box4C > *{
	width: calc((100% - var(--gap)*calc(var(--row) - 1)) / var(--row));
}

@media screen and (max-width: 520px) {
	.box2C,
	.box3C,
	.box4C{
		--gap:4%;
	}
	body .sp1c {--row:1;}
	body .sp2c {--row:2;}
	body .sp3c {--row:3;}
}

/* -------------------------------------
配置･･･画像の位置が基準
-------------------------------------*/
.h-text-img{
	--gap-row:clamp(30px, 5vw, 70px);
	--gap-column:clamp(20px, 2vw, 30px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-left:auto;
	margin-right: auto;
	width: 100%;
}

/*配置*/
.h-text-img.right{
	flex-flow: row;
	gap: var(--gap-row);
}
.h-text-img.left{
	flex-flow: row-reverse;
	gap: var(--gap-row);
}
.h-text-img.center_t{
	flex-flow: column-reverse;
	gap: var(--gap-column);
}
.h-text-img.center_b{
	flex-flow: column;
	gap: var(--gap-column);
}

/*画像*/
.h-text-img figure{
	flex:none;
}
.h-text-img.center_t figure{
	margin-left: auto;
	margin-right: auto;
}
.h-text-img.center_b figure{
	margin-left: auto;
	margin-right: auto;
}
.h-text-img figure.w60p{
	width: 60%;
}
.h-text-img figure.w50p{
	width: 50%;
}
.h-text-img figure.w40p{
	width: 40%;
}
.h-text-img figure.w30p{
	width: 30%;
}

/*テキスト領域*/
.h-text-img .text{
	flex:1;
}
.pdf{
	width: 100%;
	margin:30px auto;
	text-align: center;
}

@media screen and (max-width: 520px) {
	.h-text-img{
		--gap-row:20px;
		--gap-column:20px;
	}

	/*配置*/
	.h-text-img.right,
	.h-text-img.left{
		flex-flow: column-reverse;
		align-items: center;
	}

	/*画像*/
	.h-text-img.right figure,
	.h-text-img.left figure{
		margin-left: auto;
		margin-right: auto;
	}
	.h-text-img figure.w60p,
	.h-text-img figure.w50p,
	.h-text-img figure.w40p,
	.h-text-img figure.w30p{
		width: 100%;
	}
	.h-text-img figure.w60p.sp-w90,
	.h-text-img figure.w50p.sp-w90,
	.h-text-img figure.w40p.sp-w90,
	.h-text-img figure.w30p.sp-w90{
		width: 90%;
	}
	.h-text-img figure.w60p.sp-w80,
	.h-text-img figure.w50p.sp-w80,
	.h-text-img figure.w40p.sp-w80,
	.h-text-img figure.w30p.sp-w70{
		width: 80%;
	}
	.h-text-img figure.w60p.sp-w70,
	.h-text-img figure.w50p.sp-w70,
	.h-text-img figure.w40p.sp-w70,
	.h-text-img figure.w30p.sp-w70{
		width: 70%;
	}
	.h-text-img figure.w60p.sp-w60,
	.h-text-img figure.w50p.sp-w60,
	.h-text-img figure.w40p.sp-w60,
	.h-text-img figure.w30p.sp-w60{
		width: 60%;
	}
	.h-text-img figure.w60p.sp-w50,
	.h-text-img figure.w50p.sp-w50,
	.h-text-img figure.w40p.sp-w50,
	.h-text-img figure.w30p.sp-w50{
		width: 50%;
	}

	/*テキスト領域*/
	.h-text-img .text{
		width: 100%;
	}
}



/* -------------------------------------
リンク
-------------------------------------*/
a{
	color:inherit;
	text-decoration:none;
	cursor: pointer;
	transition: .3s;
}
.a-ul{
	color: var(--c-main);
	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(--c-main);
}



@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: 30vh;
	}
}

/* -------------------------------------
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(--dot);
}
.tableA tr{
	border-bottom: var(--dot);
}
.tableA th,
.tableA td{
	padding:22px 24px;
	vertical-align: top;
	text-align: left;
}
.tableA th{
	width: 25%;
	font-weight: normal;
	background: var(--bg-gray);
}
.tableA.th-ylw th{
	background: var(--bg-ylw);
}


@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%;
	color: #fff;
	background: var(--c-main);
}


@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･･･th W:100%
-------------------------------------*/
.tableD table,
table.tableD{
	width: 100%;
}
.tableD th,
.tableD td{
	display: block;
	width: 100%;
}
.tableD th{
	margin-bottom: 10px;
	padding: 14px;
	font-size: 1.1rem;
	font-weight: var(--fw-b);
	text-align: left;
	background: yellow;
}
.tableD td{
	margin-bottom: 40px;
}

@media screen and (max-width: 520px) {
	.tableD th{
		margin-bottom: 4px;
		font-size: 0.9rem;
	}
	.tableD td{
		margin-bottom: 20px;
	}
}


/* -------------------------------------
背景
-------------------------------------*/
.bg-ylw{
	background: var(--bg-ylw);
}
.bg-gray{
	background: var(--bg-gray);
}

/* bg-photo */
[class*="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(46,46,46,.6);
}
[class*="bg-photo"]>*{
	position: relative;
}
.bg-photo_wh::before{
	background: rgba(255,255,255,.9);
}



/* -------------------------------------
色
-------------------------------------*/
body .gray{
	color: var(--gray);
}
body .c-main{
	color: var(--c-main);
}
body .ylw{
	color: var(--ylw);
}



/* -------------------------------------
タイトル
-------------------------------------*/
/*ページタイトル*/
.page-tit{
	height: 140px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	background: url(/common/images/bg-pgetit.jpg) no-repeat center / cover;
}
.page-tit span{
	font-size: 2.2em;
}
.page-tit em{
	display: block;
	font-family: var(--webf);
	font-size: 1.2em;
	font-weight: normal;
}

@media screen and (max-width: 520px) {
	/*ページタイトル*/
	.page-tit{
		height: 86px;
	}
	.page-tit span{
		font-size: 1.5em;
	}
	.page-tit em{
		font-size: 0.8em;
	}
}

/* tit */
.tit{
	font-weight: var(--fw-b);
}

/* titA */
.titA{
	display: flex;
	flex-flow: column;
	margin-bottom: 30px;
	padding-left: 1em;
	font-size: 2.2em;
	color: var(--c-sub);
	font-weight: var(--fw-b);
	line-height: 1.4;
	background: url(/common/images/deco-tit.png) no-repeat left top 0.3em / 30px;
}
.titA span{
	font-family: var(--webf);
	font-size: 1rem;
	font-weight: normal;
}
/* 位置 */
.titA.t_C{
	align-items: center;
	padding: 0;
	text-align: center;
	background: none;
}

@media screen and (max-width: 520px) {
	/* titA */
	.titA{
		margin-bottom: 20px;
		padding-left: 1.4em;
		font-size: 1.6em;
		line-height: 1.4;
		background-position: left top 3px;
		background-size: 30px auto;
	}
	.titA span{
		margin-top: 2px;
		font-size: 0.9rem;
	}
}

/* titB */
.titB{
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	padding: 10px 1em;
	font-weight: var(--fw-b);
	text-align: center;
	border-top: 2px dotted var(--c-main);
	border-bottom: 2px dotted var(--c-main);
}
.titB em{
	color: var(--c-main);
}

@media screen and (max-width: 520px) {
	/* titA */
	.titA i.en.fz46{
		font-size: min(8.8vw,36px);
	}
}



/* -------------------------------------
btn
-------------------------------------*/


/* -------------------------------------
more
-------------------------------------*/
.more{
	width: fit-content;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap:0.7em;
	margin-top: 30px;
	position: relative;
}
.more::before{
	--size:64px;
	content: "";
	width: var(--size);
	height: var(--size);
	background: var(--c-point);
	border-radius: 50%;
	position: absolute;
	left: 1px;
	top: auto;
	bottom: auto;
	transition: var(--transition);
}
.more::after{
	--size:66px;
	content: "";
	width: var(--size);
	height: var(--size);
	/* -webkit-mask: url(/common/images/ico-more.svg);
	mask: url(/common/images/ico-more.svg);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat:no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position:center;
	mask-position: center; */
	background: url(/common/images/ico-more.png) no-repeat center / contain;
	border-radius: 50%;
	position: relative;
	transition: var(--transition);
}
.more:hover{
	color: var(--c-main);
}
.more:hover::before{
	background: var(--c-main);
}
.more:hover::after{
	background-image: url(/common/images/ico-more_hover.png);
}

/* 位置 */
.more.center{
	margin-left: auto;
	margin-right: auto;
}
.more.right{
	margin-left: auto;
}

@media screen and (max-width: 520px) {
	.more{
		gap:0.7em;
		margin-top: 20px;
		margin-left: auto;
	}
	.more::before{
		--size:48px;
	}
	.more::after{
		--size:50px;
	}
}



/* 位置 */
.more.center{
	margin-left: auto;
	margin-right: auto;
}
.more.right{
	margin-left: auto;
}

@media screen and (max-width: 520px) {
	.more{
		gap:0.7em;
		margin-top: 20px;
		margin-left: auto;
	}
	.more::before{
		--size:48px;
	}
	.more::after{
		--size:50px;
	}
}



/* -------------------------------------
svgアイコン
-------------------------------------*/
svg{
	vertical-align: top;
}
i.svg-mail svg{
	aspect-ratio: 5/4;
}


/* -------------------------------------
tel
-------------------------------------*/
a.tel{
	display: flex;
	align-items: center;
	gap: 0.2em;
	font-family: var(--webf);
	font-weight: bold;
	line-height: 1.0;
}
a.tel img {
	width: 0.8em;
	vertical-align: middle;
}

@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);
}


@charset "utf-8";
/* CSS Document */
/* -------------------------------------
Browser：Edge over
-------------------------------------
00: ベース
01: アーティクル用
02: フォーム用
-------------------------------------*/

/* -------------------------------------
この記述を入れると、ウィジェット設置時に
「コンテンツ幅を選んでの設置」をする選択肢が出るようになります。
対象ウィジェットには<div data-w-width=""></div>を記述
-------------------------------------*/
/*ウィンドウ幅での設置*/
[data-w-width] {
    max-width: 100%;
}

@media screen and (max-width: 768px){
    [data-w-width="1"] {
        width: 90%;
    }
}

/* -------------------------------------
パンくず
-------------------------------------*/
#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(--c-main);
    text-decoration: none;
}.richtext p a:hover{
	border-bottom: none;
}
.richtext p a[href^="tel"]{
    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(--c-main);
}

@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(--c-main);
    background: var(--c-main);
    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: 45%;
        /*max-width: 160px;*/
        font-size: 0.7rem;
		font-weight: normal;
		min-height: 3.0em;
    }
    .catBtn a:after{
        right: 5px;
    }
}

/* -------------------------------------
カテゴリ
-------------------------------------*/
/*背景あり*/
.ctgr{
	display: inline-block;
	min-width: 100px;
	margin: 0 2px;
	padding: 8px 1em;
	font-size: 12px;
	color: #fff;
	line-height: 1.0;
	text-align: center;
	vertical-align:middle;
	background:var(--c-main);
	border-radius: 20px;
}

@media screen and (max-width: 520px) {
	.ctgr{
		padding: 6px 1em;
	}
}

/* -------------------------------------
ページャー
-------------------------------------*/
.pagenation{
	margin: 30px auto;
	text-align: center;
}
.pagenation span{
	--size:20px;
	display: inline-block;
	margin: 5px;
	width: var(--size);
	height: var(--size);
/*	border-radius: 50%;*/
	/* border: 1px solid red; */
	text-align: center;
	line-height: var(--size);
	color: #aaa;
}
.pagenation span.page{
	/* background: #efefef; */
}
.pagenation span a{
	display: block;
	width: 100%;
	height: 100%;
/*	border-radius: 50%;*/
	background: #fff;
	color: var(--c-main);
	text-decoration: underline;
}.pagenation span a:hover{
	text-decoration: none;
}

@media screen and (max-width: 512px) {
	.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: 54px !important;
	position: relative;
}
/**必須**/
.require {
	display: inline-block;
	width: 3em;
	height: 2em;
	border-radius: 3px;
	background: var(--bg-ylw);
	border:1px solid var(--c-main);
	color: var(--c-main);
	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: 8px;
	height:40px;
	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;
} */
form input[type="radio"],
form input[type="checkbox"]{
	margin-right: 4px;
}

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.owlet-input-tel1,
form input.owlet-input-tel2,
form input.owlet-input-tel3{
    width: 5em;
	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;
	color: #d7071d;
}

/**フォーム規約**/
.owlet-rules {
	margin: 30px auto 20px;
	width: 100%;
	text-align: center;
}
.owlet-rules p a{
	color: var(--c-main);
	text-decoration: underline;
}.owlet-rules p a:hover{
	text-decoration: none;
}

.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 {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin: 50px auto 20px;
}
.form_button button[type="submit"],
.form_button input[type="submit"],
.form_button input.submit,
.form_button a{
	display: block;
	width: 200px;
	padding: 12px 10px;
	color: #fff;
	text-align: center;
	background: var(--c-main);
	border: 1px solid var(--c-main);
	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: 100vw !important;
		margin-left: -6vw;
		margin-right: -6vw;
		border-bottom: 2px solid var(--bg-gray);
	}
	form table tr{
		border-bottom: 1px dotted red;
    }
	form table th,
	form table td{
        display: block;
		width: 100% !important;
    }

	/**必須**/
	.require {
		font-size: 12px;
	}

	/**フォーム規約**/
	.owlet-rules {
		margin: 30px auto 10px;
	}

	/*iPhone独自スタイル解除*/
	form input[type="button"],
	form input[type="text"],
	form input[type="submit"] {
		-webkit-appearance: none;
	}
}
/*widget:bb9c0390-45da-4909-9110-cdc95d75b7c6*/
/*widget:4b1e3cf7-106a-40c4-8a69-bd9ff2a5b159*/
/*widget:0ad7d7ca-a62d-4b8a-85ed-8477141280d1*/
/*widget:3cfcd636-35a2-4d22-a363-26f13a5c3ed3*/
/*widget:1a59b70a-4db8-446c-a071-992ab57a8faf*/
/*widget:7123a71f-4722-4616-971b-c1ed6c34ebd1*/
/*widget:446d683f-f69e-4033-af98-7b24989fc7bb*/
/*instance:134*//*instance mediea*/@media screen and (max-width: 520px) {}/*layout:1*/@charset "utf-8";
/* CSS Document */
/* -------------------------------------
Browser：Edge over
-------------------------------------
共通
テンプレート
ヘッダー＆フッター
ページ
-------------------------------------*/

/** ==============================================
共通
============================================== **/
/* -------------------------------------
文字サイズ･･･em
-------------------------------------*/
body .fs12em{
	font-size: 0.75em;
}
body .fs14em{
	font-size: 0.95em;
}

body .fs16em{
	font-size: 1.06em;
}
body .fs17em{
	font-size: 1.13em;
}
body .fs18em{
	font-size: 1.2em;
}
body .fs20em{
	font-size: 1.33em;
}
body .fs22em{
	font-size: 1.46em;
}
body .fs24em{
	font-size: 1.6em;
}
body .fs26em{
	font-size: 1.73em;
}
body .fs28em{
	font-size: 1.86em;
}
body .fs30em{
	font-size: 2em;
}
body .fs32em{
	font-size: 2.13em;
}
body .fs35em{
	font-size: 2.33em;
}
body .fs40em{
	font-size: 2.66em;
}
body .fs44em{
	font-size: 2.93em;
}
body .fs46em{
	font-size: 3.06em;
}
body .fs54em{
	font-size: 3.6em;
}
body .fs50em{
	font-size: 3.33em;
}
body .fs60em{
	font-size: 4em;
}
body .fs70em{
	font-size: 4.66em;
}

@media screen and (max-width: 768px) {
	body .fs16em{
		font-size: 1em;
	}
	body .fs17em{
		font-size: 1em;
	}
	body .fs18em{
		font-size: 1em;
	}
	body .fs20em{
		font-size: 1.1em;
	}
	body .fs22em{
		font-size: 1.1em;
	}
	body .fs24em{
		font-size: 1.2em;
	}
	body .fs26em{
		font-size: 1.46em;
	}
	body .fs28em{
		font-size: 1.6em;
	}
	body .fs30em{
		font-size: 1.73em;
	}
	body .fs32em{
		font-size: 1.86em;
	}
	body .fs35em{
		font-size: 2em;
	}
	body .fs40em{
		font-size: 2.4em;
	}
	body .fs44em{
		font-size: 2.4em;
	}
	body .fs46em{
		font-size: 2.66em;
	}
	body .fs50em{
		font-size: 2.8em;
	}
	body .fs54em{
		font-size: 2.8em;
	}
	body .fs60em{
		font-size: 3.06em;
	}
	body .fs70em{
		font-size: 3.2em;
	}
}

@media screen and (max-width: 480px) {
	body .fs26em{
		font-size: 5vw;
	}
	body .fs28em{
		font-size: 5vw;
	}
	body .fs30em{
		font-size: 5vw;
	}
	body .fs32em{
		font-size: 6vw;
	}
	body .fs35em{
		font-size: 6vw;
	}
	body .fs40em{
		font-size: 7vw;
	}
	body .fs44em{
		font-size: 7vw;
	}
	body .fs46em{
		font-size: 7vw;
	}
	body .fs50em{
		font-size: 7vw;
	}
	body .fs54em{
		font-size: 7vw;
	}
	body .fs60em{
		font-size: 8.8vw;
	}
	body .fs70em{
		font-size: 8.8vw;
	}
}

/* -------------------------------------
文字サイズ変更
-------------------------------------*/
.textsize {
	font-size: 14px;
	position: absolute;
	left: 64%;
	top: 10px;
}
.textsize ul::before {
	content: "文字サイズ";
}
.textsize li:first-child{
	display: none;
}
.textsize li{
	display: inline-block;
	margin-left: 4px;
	padding: 6px;
	line-height: 1.0;
	color: #fff;
	text-align: center;
	background: var(--gray);
}
.textsize li:hover,
.textsize li.t2{
	color: var(--color);
	background: var(--c-point);
}

@media screen and (max-width: 768px) {
	.textsize {
		display: none;
	}
}



/** ================================================================================
テンプレート
================================================================================ **/
/* -------------------------------------
list
-------------------------------------*/
.list li{
	display: flex;
	margin-bottom: 10px;
}
.list li::before{
	content: "check_circle";
	font-family: 'Material Icons';
	font-size: 30px;
	color: var(--blue);
	line-height: 1.0;
	margin-right: 4px;
}

/* -------------------------------------
list2
-------------------------------------*/
.list2 li{
	display: flex;
	margin-bottom: 10px;
}
.list2 li::before{
	content: "●";
	color: #008cd9;
	margin-right: 4px;
}


/**==============================================
ヘッダー
==============================================**/
header{
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	background: #fff;
}
header .inner .logo{
	width: min(250px, 18%);
    margin: 0;
	padding: 10px 0 8px;
}
header .inner .logo img{
	width: 100%;
}

/*nav*/
header nav ul.menu1{
	display: flex;
	justify-content: flex-end;
}
header nav ul.menu1 li{
    position:relative;
}
header nav ul.menu1 li+li::before{
    content: "";
    display: block;
    width: 1px;
    height: 16px;
    background:var(--color);
    position: absolute;
    left: 0;
    top: 20px;
}
header nav ul li a{
	display: block;
	padding: 20px 25px;
	font-size: 0.95em;
	line-height: 1.2;
	text-align: center;
	position: relative;
}header nav ul li a:hover{
	color: var(--c-main);
}

/*menu2*/
header nav .menu2{
	width: min(805px, 80%);
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	position: absolute;
	right: 0;
	top: 10px;
}
header nav .menu2 p{
    display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0 auto 0 0;
	font-size: 0.9em;
    line-height: 1.3;
}

header nav .menu2 .tel{
	font-size: 1.4em;
}
header nav .menu2 em{
	width: 100%;
}
header nav .menu2 a.h-btn {
	display: grid;
	place-content: center;
	width: clamp(7em,calc(8em + 5vw),250px);
	line-height: 46px;
	background: var(--c-point);
	transition: var(--transition);
}header nav .menu2 a.h-btn:hover{
	color: #fff;
	background: var(--c-main);
}

@media screen and (max-width: 768px){
	header .inner .logo{
		width: fit-content;
		padding: 0;
        height: 60px;
	}
	header .inner .logo a{
		padding: 10px 5%;
	}
	header .inner .logo img{
		height: 40px;
		width: auto;
	}

	#menu{
		--size:60px;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1500;
		width: var(--size);
		height: var(--size);
		background: var(--c-main);
		text-align: center;
		line-height: 1.0;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	#menu:before{
        color: #fff;
		content: "\e3c7";
		font-size: 36px;
		font-family: 'Material Icons';
        line-height: 46px;
	}
	.on #menu:before{
		content: "\e5cd";
	}
	#menu:after{
		display: block;
		margin: -5px auto;
        color: #fff;
		content: "MENU";
		font-size: 11px;
		font-family: var(--webf);
	}.on #menu:after{
		content: "CLOSE";
	}

	/* nav */
	header nav{
		display: none;
        width: 100% !important;
		height: calc(100vh - 60px);
		overflow-y: scroll;
	}
	header nav ul.menu1{
		display: block;
		margin: 0;
		padding: 30px 0 10px;
	}
	header nav ul.menu1 li+li::before{
		display: none;
	}
	header nav ul.menu1 li a{
		padding: 14px 10%;
		line-height: 1.2;
	}

    header nav .menu2{
		width: 100%;
        position: relative;
        top: 0;
        display: block;
        padding: 20px 20px 30px;
        text-align: center;
    }
    header nav .menu2 p{
		flex-flow: column;
        line-height: 1.7;
    }
	header nav .menu2 .tel{
		margin: 5px auto;
		font-size: 2em;
	}
	header nav .menu2 a.h-btn{
		width: 100%;
		max-width: 300px;
		margin: 30px auto;
	}
}


/**==============================================
フッター
==============================================**/
footer {
	padding: 80px 0 0;
}
footer .sec-in{
    display: flex;
	justify-content: space-between;
}
footer .sec-in .footer-main{
	width: 290px;
	font-size: 15px;
}
footer .sec-in .footer-main >*{
	margin-bottom: 10px;
}
footer .sec-in .footer-main .f-logo{
	display: block;
	width: 290px;
	margin-bottom: 50px;
}footer .sec-in .footer-main .f-logo:hover{
	opacity: var(--opacity);
}
footer .sec-in .footer-main .f-logo img{
	width: 100%;
}
footer .sec-in .footer-main .f-btn{
	width: 90%;
	height: 56px;
	display: grid;
	place-content: center;
	margin-top: 30px;
	text-align: center;
	background: var(--c-point);
	transition: var(--transition);
}
footer .sec-in .footer-main .f-btn:hover{
	color: #fff;
	background: var(--c-main);
}

/* nav-wrapper */
footer .nav-wrapper {
	width: 620px;
	display: flex;
	flex-flow: column;
}
/*nav*/
footer nav {
	margin-bottom: 50px;
}
footer nav ul {
	column-count: 2;
	column-gap: 150px;
}
footer nav ul::after{
	content: "";
	display: block;
	width: 100%;
	height: 3em;
}
footer nav ul li{
	break-inside: avoid;/*ブロックの途中で改行させない*/
}
footer nav ul li a{
	display: block;
	padding: 0 10px 6px;
	width: 100%;
}footer nav ul li a:hover{
    color: var(--c-main);
}

/* f-bnr-wrapper */
.f-bnr-wrapper{
	--gap:20px;
	--row:2;
	display: flex;
	flex-wrap: wrap;
	gap:var(--gap)
}
.f-bnr-wrapper a {
	width: calc((100% - var(--gap)*calc(var(--row) - 1)) / var(--row));
}.f-bnr-wrapper a:hover {
	opacity: var(--opacity);
}
.f-bnr-wrapper a img{
	width: 100%;
}

/** コピーライト **/
.copyright {
	padding: 1em;
	color: #fff;
	text-align: center;
	background: var(--c-sub);
}
.copyright small{
    display: block;
    width:100%;
    font-size:12px;
    line-height: 1.0;
}

@media screen and (max-width: 520px){
	footer {
		padding: 50px 0 0;
	}
	footer .sec-in{
		flex-flow: column;
		margin-bottom: 30px;
	}
	footer .sec-in .footer-main{
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom: 40px;
	}
	footer .sec-in .footer-main .f-logo{
		width: min(60% , 220px);
		margin-bottom: 20px;
	}
	footer .sec-in .footer-main .tel{
		font-size: 1.6rem;
	}
	footer .sec-in .footer-main .f-btn{
		width: 70%;
		margin: 15px auto 0;
	}

	/*nav*/
	footer .nav-wrapper {
		width: 100%;
		padding-top: 10px;
	}
	footer nav {
		margin-bottom: 30px;
	}
	footer nav ul {
		column-gap: 10px;
	}
	footer nav ul::after{
		display: none;
	}
	footer nav ul li{
		margin-bottom: 10px;
		font-size: 14px;
	}
	.f-bnr-wrapper{
		gap: 16px;
	}
}


/**==============================================
TOPページ
==============================================**/
/* -------------------------------------
HERO
-------------------------------------*/
.hero {
	--height: 680px;
	height: var(--height);
	position: relative;
}
.hero::before {
	content: "";
	display: block;
	width: 50%;
	height: 50%;
	background: var(--bg-ylw);
	position: absolute;
	left: 0;
	bottom: 0;
}
.hero-slide{
	--radius:50px;
	width: 90%;
	height: var(--height);
	margin: 0 auto;
	border-radius: var(--radius) var(--radius) 0 0;
	overflow: hidden;
	position: relative;
}
.hero .swiper-slide {
	height: var(--height);
	position: relative;
}
.hero .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero .catch {
	position: absolute;
	left: 12%;
	top: 5vw;
	z-index: 3;
}
.hero .catch img{
	width: min(100%,614px);
}
.hero .deco {
	font-family: var(--webf);
	font-size: 112px;
	color: var(--bg-ylw);
	line-height: 1;
	opacity: .5;
	position: absolute;
	right: 5%;
	bottom: -15px;
	z-index: 4;
}

/* アニメーション */
/* @keyframes zoomUp {
0% {
	transform: scale(1);
}
100% {
	transform: scale(1.15);
}
}
.hero .swiper-slide-active img,
.hero .swiper-slide-duplicate-active img,
.hero .swiper-slide-prev img {
	animation: zoomUp 10s linear 0s 1 normal both;
} */

@media screen and (max-width: 520px) {
.hero {
	--height: 35vh;
	padding-top: 10px;
	}
	.hero-slide{
		--radius:30px;
		height: calc(var(--height) - 10px);
		width: 92%;
	}

	.hero .catch {
		width: 80%;
		left: 2%;
		top: 10vw;
	}
	.hero .deco {
		font-size: 50px;
		bottom: -8px;
	}
}

/* -------------------------------------
top-コンセプト
-------------------------------------*/
.sec-top-concept{
	--bg-width:48%;
	background: var(--bg-ylw);
	background: linear-gradient(90deg, var(--bg-ylw) var(--bg-width), #fff var(--bg-width));
}
.sec-top-concept .h-text-img{
	position: relative;
}
.sec-top-concept .h-text-img::before{
	content: "";
	display: block;
	width: 24%;
	aspect-ratio: 1/1;
	background: url(/common/images/deco-maru.png) no-repeat center / contain;
	position: absolute;
	right: -10%;
	top: -5%;
}
.sec-top-concept figure{
	margin-top: 50px;
	position: relative;
}

@media screen and (max-width: 520px) {
	.sec-top-concept{
		--bg-width:80%;
	}
	.sec-top-concept .h-text-img::before{
		width: 42%;
		top: -7%;
	}
	.sec-top-concept figure{
		margin-top: 0;
	}
}


/* -------------------------------------
top-お知らせ
-------------------------------------*/
.sec-top-news .news-wrapper{
	display: flex;
	gap: clamp(30px, 5vw, 70px);
}
.sec-top-news .news-wrapper .news-head{
	width: 260px;
}
.sec-top-news .news-wrapper .news-main{
	flex: 1;
}

/* top-news-list */
.top-news-list{
	border-top: var(--dot);
}
.top-news-list li{
	padding: 20px 0;
	border-bottom: var(--dot);
}
.top-news-list li a{
	display: flex;
	align-items: center;
	gap: 20px;
}
.top-news-list li a p{
	flex: 1;
	transition: var(--transition);
}
.top-news-list li a:hover p{
	color: var(--c-main);
}

@media screen and (max-width: 520px) {
	.top-news-list li{
		padding: 18px 0;
	}
	.top-news-list li a{
		flex-wrap: wrap;
		gap: 10px 20px;
	}
	.top-news-list li a p{
		width: 100%;
		flex:auto;
	}
}

@media screen and (max-width: 520px) {
	.sec-top-news .news-wrapper{
		flex-flow: column;
		gap: 0;
	}
	.sec-top-news .news-wrapper .news-head{
		display: contents;
	}
	.sec-top-news .news-wrapper .news-main{
		order: 2;
	}
	.sec-top-news .more{
		order: 3;
	}
}

/* -------------------------------------
top-グループ施設
-------------------------------------*/
.group-facility{
	margin-left: var(--ovf-half-mns);
	margin-right: var(--ovf-half-mns);
}
.group-facility .facility{
	min-height: 460px;
	background: var(--bg-gray);
}
.group-facility .facility .text{
	padding: 50px var(--ovf-half) 30px 0;
}
.group-facility .facility .tit span{
	display: block;
	font-size: 1rem;
	font-weight: normal;
}

/* てれこ */
.group-facility .facility:nth-child(even){
	flex-direction: row;
	background: var(--bg-ylw);
}
.group-facility .facility:nth-child(even) .text{
	padding: 50px 0 30px var(--ovf-half);
}

@media screen and (max-width: 520px) {
	.group-facility .facility,
	.group-facility .facility:nth-child(even){
		flex-direction: column-reverse;
		gap:0;
		min-height: auto;
	}
	.group-facility .facility .text,
	.group-facility .facility:nth-child(even) .text{
		padding: 22px 7vw 40px;
	}
	.group-facility .facility .tit span{
		font-size: 1rem;
	}
}

/* -------------------------------------
top-ご入居までのの流れ
-------------------------------------*/
/* flow-list */
.flow-list {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.flow-list li {
	display: flex;
	align-items: center;
	font-size: 15px;
	background: #fff;
	box-shadow: 1px 1px 10px rgb(0 0 0 / 20%);
}
.flow-list li::before{
	--size:100px;
	width: var(--size);
	height: var(--size);
	flex-shrink: 0;
	display: grid;
	place-content: center;
	margin-left: calc(var(--size) / -2);
	font-family: var(--webf);
	font-size: 3em;
	color: #fff;
	line-height: 1;
	background: var(--c-sub);
	border-radius: 50%;
}
.flow-list li .inner {
	flex: 1;
	padding: 30px 40px 30px;
}
.flow-list li .inner h3{
	color: var(--c-main);
	font-weight: var(--fw-b);
}
.flow-list li figure {
	width: 40%;
}

@media screen and (max-width: 768px) {
	.flow-list {
		gap:56px;
		margin-top: 60px;
	}
	.flow-list li {
	flex-flow: column;
	box-shadow: 1px 1px 6px rgb(0 0 0 / 20%);
	}
	.flow-list li::before{
		--size:80px;
		margin:calc(var(--size) / -2 + 2px) 0 0;
		font-size: 2.2em;
	}
	.flow-list li .inner {
		padding: 10px 8%;
	}
	.flow-list li .inner > * {
		text-align: center;
	}
	.flow-list li .inner h3{
		font-size: 4.2vw;
	}
	.flow-list li figure {
		width: 100%;
	}
}

/* -------------------------------------
top-お問い合わせ
-------------------------------------*/
.top-contact{
	margin-left: var(--ovf-half-mns);
	margin-right: var(--ovf-half-mns);
}
.top-contact figure{
	flex: 1;
}
.top-contact .text{
	width: 75%;
	padding: 50px 0 0 8%;
}

/* contact-content */
.contact-content{
	display: flex;
	align-items: center;
	gap: 10vw;
	border-top: var(--border);
}
.contact-content .more{
	margin-top: 0;
}
.contact-content .cntct-tel{
	padding: 60px 0 60px 10vw;
	border-left: var(--border);
}

@media screen and (max-width: 520px) {
	.top-contact{
		flex-direction: column;
		align-items: center;
	}
	.top-contact figure{
		flex: auto;
		width: 90%;
		height: 50vw;
		z-index: 2;
	}
	.top-contact .text{
		width: 100%;
		margin-top: calc(-25vw);
		padding: calc(25vw + 30px) 5% 0 5%;
		z-index: 1;
	}
	.top-contact .text p{
		margin-bottom: 26px;
	}

	/* contact-content */
	.contact-content{
		flex-direction: column;
		gap: 0;
		border-top: var(--border);
	}
	.contact-content .more{
		margin:0 auto;
		padding: 20px 0;
	}
	.contact-content .cntct-tel{
		width: 100%;
		padding: 20px 0 ;
		text-align: center;
		border-left: none;
		border-top: var(--border);
	}
	.contact-content .cntct-tel .tel{
		justify-content: center;
		margin-bottom: 5px;
		font-size: 7.5vw;
	}
	.contact-content .cntct-tel p{
		font-size: 12px;
	}
}

/* -------------------------------------
top-採用情報
-------------------------------------*/
.sec-top-recruit .titA{
	color: #fff;
}
.recruit-links{
  justify-content: center;
}
.recruit-links a img{
	width: 100%;
}
.recruit-links a:hover {
	opacity: var(--opacity);
}

@media screen and (max-width: 520px) {
	.recruit-links{
		justify-content: center;
		gap: 16px;
	}
	.recruit-links a{
		width: 70%;
	}
}


/**==============================================
会社情報
==============================================**/
/* -------------------------------------
sec-access
-------------------------------------*/
.access-wrapper {
	gap: 60px;
}
.access-wrapper .titA{
	width: 22%;
	margin-top: 30px;
	font-size: 2.2em;
	position: relative;
	z-index: 3;
}
.access-wrapper .titA::before{
	content: "";
	display: block;
	width: 90%;
	aspect-ratio: 1/1;
	background: url(/common/images/deco-maru.png) no-repeat center / contain;
	position: absolute;
	right: -7%;
	top: -14%;
	z-index: -1;
}
.access-wrapper .gmap{
	flex: 1;
	position: relative;
	z-index: 3;
}
.access-wrapper .gmap::before{
	content: "";
	display: block;
	width: 200%;
	height: 74%;
	background: var(--bg-ylw);
	position: absolute;
	left: -40px;
	bottom: -40px;
	z-index: -1;
}

@media screen and (max-width: 520px) {
	.access-wrapper {
		flex-direction: column;
		gap: 0;
	}
	.access-wrapper .titA{
		width: 100%;
		margin-top: 0;
		font-size: 1.4em;
	}
	.access-wrapper .titA::before{
		display: none;
	}
	.access-wrapper .gmap::before{
		height: 100%;
	}
	.access-wrapper .gmap::after{
		content: "";
		display: block;
		width: 50%;
		aspect-ratio: 1/1;
		background: url(/common/images/deco-maru.png) no-repeat center / contain;
		position: absolute;
		right: -40px;
		top: -60px;
		z-index: -1;
	}
}

/* -------------------------------------
sec-group
-------------------------------------*/
/* group-list */
.group-list {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.group-list li{
	--gap:5%;
	display: flex;
	gap:var(--gap);
	padding: 30px 40px;
	background: #fff;
	box-shadow: 1px 1px 10px rgb(0 0 0 / 20%);
}
.group-list li figure{
	width: 30%;
}
.group-list li .text{
	flex: 1;
}
.group-list li .logo{
	width: 290px;
	aspect-ratio: 5/1;
	margin: 10px 0 30px;
}
.group-list li .logo img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left;
}
.group-list li p>*{
	display: block;
	line-height: 1.6;
}
.group-list li .more{
	margin-top: auto;
}

@media screen and (max-width: 520px) {
	/* group-list */
	.group-list {
		gap: 30px;
	}
	.group-list li{
		--gap:14px;
		flex-direction: column;
		padding: 20px;
	}
	.group-list li figure{
		width: 100%;
		order: 3;
	}
	.group-list li .text{
		display: contents;
	}
	.group-list li .logo{
		width: 200px;
		margin: 0 auto ;
		order: 2;
	}
	.group-list li p{
		order: 1;
		text-align: center;
	}
	.group-list li .more{
		margin-top: 0;
		order: 4;
	}
}


/**==============================================
お知らせ
==============================================**/
/* -------------------------------------
news-list
-------------------------------------*/
.news-list{
	--gap:60px;
	display: flex;
	flex-wrap: wrap;
	gap: 40px var(--gap);
}
.news-list li{
	width: calc(50% - calc(var(--gap)/2));
}
.news-list li a{
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding-bottom: 10px;
	border-bottom: var(--dot);
}
.news-list li .content{
	flex:1;
	display: flex;
	flex-wrap: wrap;
}
.news-list li .content time{
	margin-left: 1em;
}
.news-list li .content p{
	width: 100%;
	font-size: 15px;
	line-height: 1.5;
}
.news-list li a:hover .content p{
	color: var(--main-color);
}
.news-list li .content p strong{
	display: block;
	margin: 0.5em 0 0.4em;
	font-size: 1rem;
	font-weight: var(--fw-b);
}
.news-list li figure{
	width: 120px;
}

@media screen and (max-width: 520px) {
	/* -------------------------------------
	news-list
	-------------------------------------*/
	.news-list{
		gap: 30px;
	}
	.news-list li{
		width: 100%;
	}
	.news-list li a{
		gap: 10px;
	}
	.news-list li .content p{
		font-size: 14px;
	}

	.news-list li figure{
		width: 90px;
	}
}


/**==============================================
お問い合わせ
==============================================**/
/* -------------------------------------
お電話から
WEBから
-------------------------------------*/
.sec-tel-contact .flx,
.web-contact-flx{
	justify-content: center;
	align-items: center;
	gap:50px;
}
.sec-tel-contact .flx .titA,
.web-contact-flx .titA{
	width: 7em;
}
.sec-tel-contact .flx .text,
.web-contact-flx .text{
	flex:1;
}
.sec-tel-contact .flx .text{
	padding: 20px 30px;
	text-align: center;
	border: var(--border);
}
.sec-tel-contact .flx .text a.tel{
	justify-content: center;
}

@media screen and (max-width: 520px) {
	.sec-tel-contact .flx,
	.web-contact-flx{
		flex-direction: column;
		gap:0;
	}
	.sec-tel-contact .flx .titA,
	.web-contact-flx .titA{
		width: 7em;
		border-right: none;
	}
	.web-contact-flx .text{
		margin: 0 0 10px;
	}

}

/*layout:5*//*layout:6*/