
.-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*/
[data-lib="109"]{
	border: none;
    font-size: inherit;
    outline: none;
    padding: 0;
	cursor:pointer;
}/*widget:3814a386-94c4-46a6-b696-12ca3699d3bf*/
[data-lib="109"] svg{fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-miterlimit: 10;
	stroke: var(--btnAc);}/*widget:1c7d2271-52da-4740-bf76-b6e056313fea*/
/*widget:6ff82e99-f05c-4368-87ce-69f577c1fb2f*/
/*widget:29c74d65-a680-437e-ba08-0cb38e05aae1*/
/*widget:6265140c-7103-411c-8909-edf139182d61*/
/*widget:c9b0bf0a-871c-4b2b-8284-4f1a9ce1a16f*/
/*instance:12*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:5e5cc7bb-7531-4684-a761-1a30443a057f*/
/*instance:13*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:0d369506-4b2b-4cad-972b-0b1f8ec6657c*/
/*instance:40*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:3fb3992e-b3a6-42b9-a2f5-b859f375084d*/
/*widget:3814a386-94c4-46a6-b696-12ca3699d3bf*/
[data-lib="109"] svg{fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-miterlimit: 10;
	stroke: var(--btnAc);}/*instance:34*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:36*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:37*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:44*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:46*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:52*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:53*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:8f210826-3507-4b2a-9d9c-c30e5c28d265*/
/*instance:54*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:56*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:58*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:d7f9fa4c-ad12-43ef-abf2-7c6dae4b194a*/
/*instance:59*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:2b24bcdb-fb4e-4a9c-9e2b-008eacf103d3*/
/*instance:66*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:69*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:70*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:72*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:75*//*instance mediea*/@media screen and (max-width: 520px){}/*instance:77*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:e7ec39bf-42ea-4225-86dc-8fc5f6818df5*/
/*widget:a01e2524-c110-490e-859c-d6b96a4f70d7*/
/*instance:79*/[data-instance="79"]{background:url(/_img/ja/cms/79/bgimg/___/session/) no-repeat center center / cover;}/*instance:81*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:72635e7c-1cfe-4d98-afd5-d076b554ebfd*/
/*layout:1*/
/*! 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;
}



/* -------------------------------------
BASE
-------------------------------------*/

/** ================================================================================
		Default
================================================================================ **/
html {
	overflow: auto;
}

body {
	font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial",
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo",
		"游ゴシック", "Yu Gothic", "ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.8;
	position: relative;
	overflow: hidden;
	margin: 0 auto;

	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

/*リンク*/

p a {
	text-decoration: underline;
}

p a:hover {
	text-decoration: none;
}

a {
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}

a:hover {
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

a.td-u,
.td-u a {
	text-decoration: underline;
}

a.td-u:hover,
.td-u a:hover {
	text-decoration: none;
}

/**PC電話ボタン無効**/
a[href^="tel"],
a[href=""] {
	pointer-events: none;
}

@media screen and (max-width: 520px) {
	a[href^="tel"] {
		pointer-events: auto;
	}
}

/*区切り線*/
hr {
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
	border: 0;
}

.note {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}

figure img,
picture img {
	max-width: 100%;
}

@media screen and (max-width: 520px) {
	body {
		min-width: 100%;
	}

	/**post制御**/
	p {
		word-break: break-all;
	}

	table {
		width: 100%;
		word-break: break-all;
	}

	img {
		max-width: 100%;
		height: auto;
	}

	/**post制御**/
}

/* -------------------------------------
ベーススタイル設定

1.clearfix,clear
2.font
3.float
4.text-align
5.margin
6.padding
-------------------------------------*/
/*0.clock */
.block {
	display: block;
}

.in-block {
	display: inline-block;
}

.flx {
	display: flex;
}

.relative {
	position: relative;
}

.max100 {
	max-width: 100%;
}

/*1. clearfix,clear */

/* For modern browsers */
.cf:before,
.cf:after {
	display: block;
	overflow: hidden;
	content: "";
}

.cf:after {
	clear: both;
}

.clear {
	clear: both;
}

/*2. font 必要なら追加　優先順位：高*/
body .fw-b {
	font-weight: var(--fw-b);
}

body .fw-bb {
	font-weight: var(--fw-bb);
}

body .fz12 {
	font-size: 0.75rem;
}

body .fz14 {
	font-size: 0.87rem;
}

body .fz15 {
	font-size: 0.94rem;
}

body .fz16 {
	font-size: 16px;
}

body .fz17 {
	font-size: 17px;
}

body .fz18 {
	font-size: 18px;
}

body .fz20 {
	font-size: 20px;
}

body .fz22 {
	font-size: 22px;
}

body .fz24 {
	font-size: 24px;
}

body .fz26 {
	font-size: 26px;
}

body .fz28 {
	font-size: 28px;
}

body .fz30 {
	font-size: 30px;
}

body .fz32 {
	font-size: 32px;
}

body .fz35 {
	font-size: 35px;
}

body .fz40 {
	font-size: 40px;
}

body .fz44 {
	font-size: 44px;
}

body .fz46 {
	font-size: 46px;
}

body .fz54 {
	font-size: 54px;
}

body .fz50 {
	font-size: 50px;
}

body .fz60 {
	font-size: 60px;
}

body .fz70 {
	font-size: 70px;
}

@media screen and (max-width: 520px) {
	body .fz16 {
		font-size: 15px;
	}

	body .fz17 {
		font-size: 15px;
	}

	body .fz18 {
		font-size: 16px;
	}

	body .fz20 {
		font-size: 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(6.4vw, 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);
	}
}


.lh2 {
	line-height: 2;
}

.lh15 {
	line-height: 1.5;
}

.lh13 {
	line-height: 1.3;
}

.lh1 {
	line-height: 1;
}

/*3. float */
.f_L {
	display: inline;
	float: left;
}

.f_R {
	display: inline;
	float: right;
}

/*4. text-align 優先順位：高 */
/*4. align 優先順位：高 */
body .t_C,
body .t_CL,
body .t_CR {
	text-align: center;
}

body .t_R {
	text-align: right;
}

body .t_L {
	text-align: left;
}

body .ai_c {
	align-items: center;
}

body .ai_fe {
	align-items: flex-end;
}

body .ai_fs {
	align-items: flex-start;
}

body .ai_s {
	align-items: stretch;
}

body .jc_c {
	justify-content: center;
}

body .jc_fs {
	justify-content: flex-start;
}

body .jc_sb {
	justify-content: space-between;
}

body .jc_sa {
	justify-content: space-around;
}

@media screen and (max-width: 520px) {
	body .t_CL {
		text-align: left;
	}

	body .t_CR {
		text-align: right;
	}
}

body .m0 {
	margin: 0;
}

body .mb0 {
	margin-bottom: 0;
}

body .mb5 {
	margin-bottom: 5px;
}

body .mb10 {
	margin-bottom: 10px;
}

body .mb15 {
	margin-bottom: 15px;
}

body .mb20 {
	margin-bottom: 20px;
}

body .mb30 {
	margin-bottom: 30px;
}

body .mb40 {
	margin-bottom: 40px;
}

body .mb50 {
	margin-bottom: 50px;
}

body .mb70 {
	margin-bottom: 70px;
}

body .mb80 {
	margin-bottom: 80px;
}

body .mb100 {
	margin-bottom: 100px;
}

body .mb150 {
	margin-bottom: 150px;
}

body .mb200 {
	margin-bottom: 200px;
}

body .mb250 {
	margin-bottom: 250px;
}

body .mt0 {
	margin-top: 0;
}

body .mt5 {
	margin-top: 5px;
}

body .mt10 {
	margin-top: 10px;
}

body .mt15 {
	margin-top: 15px;
}

body .mt20 {
	margin-top: 20px;
}

body .mt30 {
	margin-top: 30px;
}

body .mt40 {
	margin-top: 40px;
}

body .mt50 {
	margin-top: 50px;
}

body .mt70 {
	margin-top: 70px;
}

body .mt80 {
	margin-top: 80px;
}

body .mt100 {
	margin-top: 100px;
}

body .mt150 {
	margin-top: 150px;
}

body .mt200 {
	margin-top: 200px;
}

body .mt250 {
	margin-top: 250px;
}

body .ml0 {
	margin-left: 0;
}

body .ml5 {
	margin-left: 5px;
}

body .ml10 {
	margin-left: 10px;
}

body .ml15 {
	margin-left: 15px;
}

body .ml20 {
	margin-left: 20px;
}

body .ml30 {
	margin-left: 30px;
}

body .mr0 {
	margin-right: 0;
}

body .mr5 {
	margin-right: 5px;
}

body .mr10 {
	margin-right: 10px;
}

body .mr15 {
	margin-right: 15px;
}

body .mr20 {
	margin-right: 20px;
}

body .mr30 {
	margin-right: 30px;
}

@media screen and (max-width: 520px) {

	/*5. margin 30以上は1/2 */
	body .mb20 {
		margin-bottom: 15px;
	}

	body .mb30 {
		margin-bottom: 20px;
	}

	body .mb40 {
		margin-bottom: 20px;
	}

	body .mb50 {
		margin-bottom: 30px;
	}

	body .mb70 {
		margin-bottom: 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: 30px;
	}

	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: 0;
}

body .pt5 {
	padding-top: 5px;
}

body .pt10 {
	padding-top: 10px;
}

body .pt15 {
	padding-top: 15px;
}

body .pt20 {
	padding-top: 20px;
}

body .pt30 {
	padding-top: 30px;
}

body .pt40 {
	padding-top: 40px;
}

body .pt50 {
	padding-top: 50px;
}

body .pt70 {
	padding-top: 70px;
}

body .pt80 {
	padding-top: 80px;
}

body .pt100 {
	padding-top: 100px;
}

body .pt150 {
	padding-top: 150px;
}

body .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: 30px;
	}

	body .pb70 {
		padding-bottom: 40px;
	}

	body .pb80 {
		padding-bottom: 40px;
	}

	body .pb100 {
		padding-bottom: 50px;
	}

	body .pb150 {
		padding-bottom: 75px;
	}

	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: 30px;
	}

	body .pt70 {
		padding-top: 40px;
	}

	body .pt80 {
		padding-top: 40px;
	}

	body .pt100 {
		padding-top: 50px;
	}

	body .pt150 {
		padding-top: 75px;
	}

	body .pt200 {
		padding-top: 140px;
	}

	body .pt250 {
		padding-top: 170px;
	}
}

/* -------------------------------------
幅
-------------------------------------*/
body .w100p,
body .w1100,
body .w1000,
body .w980,
body .w900,
body .w800,
body .w700,
body .w650,
body .w600 {
	margin-right: auto;
	margin-left: auto;
}

body .w100p {
	width: 100%;
}

body .w1100 {
	width: 1100px;
}

body .w1000 {
	width: 1000px;
}

body .w980 {
	width: var(--base-width);
}

body .w900 {
	width: 900px;
}

body .w800 {
	width: 800px;
}

body .w700 {
	width: 700px;
}

body .w650 {
	width: 650px;
}

body .w600 {
	width: 600px;
}

@media screen and (max-width: 520px) {

	body .w100p,
	body .w1100,
	body .w1000,
	body .w980,
	body .w900,
	body .w800,
	body .w700,
	body .w650,
	body .w600 {
		margin-right: auto;
		margin-left: auto;
	}

	body .w100p {
		width: 100%;
	}

	body .w1100 {
		width: 100%;
	}

	body .w1000 {
		width: 100%;
	}

	body .w980 {
		width: 100%;
	}

	body .w900 {
		width: 100%;
	}

	body .w800 {
		width: 100%;
	}

	body .w700 {
		width: 100%;
	}

	body .w650 {
		width: 100%;
	}

	body .w600 {
		width: 100%;
	}

	body .w100p>*,
	body .w1100>*,
	body .w1000>*,
	body .w980>*,
	body .w900>*,
	body .w800>*,
	body .w700>*,
	body .w650>*,
	body .w600>* {
		width: 90%;
		margin-right: auto;
		margin-left: auto;
	}

	body .w100p>.max,
	body .w100p.max,
	body .w1100>.max,
	body .w1100.max,
	body .w1000>.max,
	body .w1000.max,
	body .w980>.max,
	body .w980.max,
	body .w900>.max,
	body .w900.max,
	body .w800>.max,
	body .w800.max,
	body .w700>.max,
	body .w700.max,
	body .w650>.max,
	body .w650.max,
	body .w600>.max,
	body .w600.max {
		width: 100%;
	}
}

body .calc-bw {
	padding-right: max(calc((100% - var(--base-width)) / 2), 2%);
	padding-left: max(calc((100% - var(--base-width)) / 2), 2%);
}

@media screen and (max-width: 520px) {
	body .calc-bw>* {
		width: 90%;
		margin-right: auto;
		margin-left: auto;
	}

	body .calc-bw>.max {
		width: 100%;
	}
}

/* -------------------------------------
改行
-------------------------------------*/
.pc {}

.sp {
	display: none;
}

.ib {
	display: inline-block;
}

.flex {
	display: flex;
}

.sponly {
	display: none;
}

@media screen and (max-width: 520px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	.sp-ib {
		display: inline-block;
	}
}

@media screen and (max-width: 480px) {
	.sponly {
		display: block;
	}
}


/* -------------------------------------
横並びボックスの数
-------------------------------------*/
/**横並び**/
.boxLR {
	display: flex;
	justify-content: space-between;
}

/**２つ並び**/
.box2C {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}

.box2C>* {
	width: 48%;
}

.box2C:after {
	display: block;
	width: 48%;
	content: "";
}

/**3つ並び**/
.box3C {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}

.box3C>* {
	width: 32%;
}

.box3C:after {
	display: block;
	width: 32%;
	content: "";
}

/**4つ並び**/
.box4C {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}

.box4C>* {
	width: 24.5%;
}

.box4C:after,
.box4C:before {
	display: block;
	width: 24.5%;
	content: "";
}

.box4C:before {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
}

@media screen and (max-width: 520px) {

	/* -------------------------------------
横並びボックスの数
-------------------------------------*/
	/**２つ並び**/
	.box2C {
		width: 100%;
	}

	.box2C.box1C_sp {
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
	}

	.box2C.box2C_sp {
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
	}

	.box2C.box1C_sp>* {
		width: 100%;
	}

	.box2C.box1C_sp:after {
		display: none;
	}

	.box2C.box2C_sp>*,
	.box2C.box2C_sp::after {
		width: 48%;
	}

	.box2C.box2C_sp.sp1c>*,
	.box2C.box2C_sp.sp1c::after {
		/*		min-width: 300px;*/
	}

	/**3つ並び**/
	.box3C {
		width: 100%;
	}

	.box3C.box1C_sp {
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
	}

	.box3C.box2C_sp {
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
	}

	.box3C.box3C_sp {
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
	}

	.box3C.box1C_sp>* {
		width: 100%;
	}

	.box3C.box1C_sp:after {
		display: none;
	}

	.box3C.box2C_sp>*,
	.box3C.box2C_sp::after {
		width: 48%;
	}

	.box3C.box3C_sp>*,
	.box3C.box3C_sp::after {
		width: 31%;
	}

	/**4つ並び**/
	.box4C {
		width: 100%;
	}

	.box4C.box1C_sp {
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
	}

	.box4C.box2C_sp {
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
	}

	.box4C.box1C_sp>* {
		width: 100%;
	}

	.box4C.box2C_sp>* {
		width: 48%;
	}

	.box4C:after,
	.box4C:before {
		display: none;
	}
}

@media screen and (max-width: 520px) {

	/* -------------------------------------
横並びボックスの数
-------------------------------------*/
	.sp1c {
		-ms-flex-flow: column;
		flex-flow: column !important;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
	}

	.sp1c>*,
	.sp1c::after {
		width: 100% !important;
		margin-right: auto;
		margin-left: auto;
	}
}

/**------------------------------ 
写真なしリスト
ul.nop-list>li>a
em[data-name="カテゴリ"]カテゴリ
 ------------------------------**/
.nop-list {
	margin: 30px auto;
	border-top: 1px dotted var(--nop-b-c);
}

.nop-list li {
	border-bottom: 1px dotted var(--nop-b-c);
}

.nop-list a {
	display: flex;
}

.nop-list em {
	font-size: 13px;
	font-style: normal;
	min-width: 8em;
	margin: 0 20px;
	padding: 3px;
	text-align: center;
	color: var(--nop-cat-c);
	background: var(--nop-cat-bg);
}

@media screen and (max-width:520px) {
	.nop-list {
		margin: 15px auto;
	}

	.nop-list a {
		flex-wrap: wrap;
	}

	.nop-list a em {
		margin: 0 15px 5px;
	}
}


/* -------------------------------------
パンくず
-------------------------------------*/
#breadcrumb {
	font-size: 14px;
	width: 100%;
	margin: 0 auto;
	padding: 15px var(--over-width-half);
	color: rgb(var(--gray));
	background: rgba(var(--gray), 0.05);
}

/*家アイコン*/
#breadcrumb ul,
#breadcrumb ol {
	max-width: var(--base-width);
	margin: 0 auto;
}

#breadcrumb ul li,
#breadcrumb ol li {
	display: inline-block;
	padding: 0 5px;
}

#breadcrumb ul li+li:before,
#breadcrumb ol li+li:before {
	font-size: 12px;
	line-height: 1;
	top: 1.5em;
	display: inline-block;
	width: 5px;
	height: 5px;
	margin: 0 5px 0 0;
	content: "";
	transform: rotate(45deg);
	vertical-align: middle;
	border-top: 1px solid var(--bread-c);
	border-right: 1px solid var(--bread-c);
}

#breadcrumb a {
	text-decoration: underline;
}

#breadcrumb a:hover {
	text-decoration: none;
}

@media screen and (max-width: 520px) {

	#breadcrumb {
		font-size: 13px;
		padding: 10px 0;
	}

	#breadcrumb ul,
	#breadcrumb ol {
		padding: 0 2%;
	}
}

/* -------------------------------------
ページャー OWLet
-------------------------------------*/
.pagenation {
	margin: 30px auto;
	text-align: center;
}

.pagenation span {
	line-height: 38px;
	display: inline-block;
	width: 40px;
	height: 40px;
	margin: 5px;
	text-align: center;
	color: var(--pgn-c);
	border: 1px solid var(--blue);
	background: var(--blue);
}

.pagenation span.page {
	color: var(--pgn-bg);
	background: var(--pgn-c);
}

.pagenation span a {
	display: block;
	width: 100%;
	height: 100%;
	color: var(--pgn-c);
	background: var(--pgn-bg);
}

.pagenation span a:hover {
	color: var(--pgn-bg);
	background: var(--pgn-c);
}

@media screen and (max-width: 520px) {
	.pagenation span {
		line-height: 27px;
		width: 30px;
		height: 30px;
		margin: 3px;
	}

	.pagenation span a {
		min-width: 28px;
	}
}

/* -------------------------------------
ページャー WP
-------------------------------------*/
.pagenation_wp {
	margin: 30px auto;
	text-align: center;
}

.pagenation_wp ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.pagenation_wp a,
.pagenation_wp span {
	line-height: 38px;
	display: inline-block;
	min-width: 40px;
	height: 40px;
	margin: 5px;
	text-align: center;
	color: var(--pgn-c);
	border: 1px solid var(--pgn-c);
	background: var(--pgn-bg);
}

.pagenation_wp span.current {
	color: var(--pgn-bg);
	background: var(--pgn-c);
}

.pagenation_wp a:hover {
	color: var(--pgn-bg);
	background: var(--pgn-c);
}

.pagenation_wp .prev,
.pagenation_wp .next {
	padding: 0 8px;
	border: none;
}

@media screen and (max-width: 520px) {

	.pagenation_wp a,
	.pagenation_wp span {
		font-size: 13px;
		min-width: 30px;
	}
}

/* -------------------------------------
フォーム
-------------------------------------*/
/**エラー**/
.alert,
.error {
	margin: 5px 0;
	color: #ff0000;
}

form table th {
	position: relative;
}

/**必須**/

.require {
	font-size: 11px;
	font-weight: bold;
	line-height: 2em;
	width: 3em;
	height: 2em;
	text-align: center;
	color: #ffffff;
	border-radius: 3px;
	background: #cc0000;
	display: inline-block;
	margin:0 10px;
}

/*入力タグ*/
form input[type="text"],
form input[type="email"],
form textarea,
form select {
	font-size: 16px;
	line-height: 1.2;
	margin: 5px 5px;
	padding: 5px;
	border: 1px solid #cccccc;
}

form input[type="text"],
form input[type="email"] {
	width: 80%;
}

form textarea {
	width: 80%;
	min-height: 150px;
}

form select {
	margin: 0 5px 5px;
}

form label {
	display: block;
}

/**------------------------------ 
OWLet
 ------------------------------**/
/*電話 郵便番号*/
form input.owlet-input-tel1,
form input.owlet-input-tel2,
form input.owlet-input-tel3,
form input.zip1,
form input.zip2 {
	width: 5em;
}

/*名前*/
form input.owlet-input-name-sei,
form input.owlet-input-name-mei {
	width: 8em;
}

/*記入例など*/
form .owlet-input-sample {
	font-size: 14px;
	margin-top: 5px;
	color: #999999;
}

/**フォーム規約**/
.owlet-rules {
	width: 90%;
	margin: 0 auto 30px;
}

.owlet-rules-title {
	font-weight: bold;
	margin-bottom: 10px;
	text-align: center;
}

.owlet-rules-body {
	text-align: center;
	margin: 15px auto;
}


.owlet-rules-agree {
	position: relative;
	margin-bottom: 20px;
	text-align: center;
}

.owlet-rules-agree .require {
	position: static;
	margin: 0 15px;
}

/** ================================================================================
02: フォーム用
================================================================================ **/

/* -------------------------------------
フォーム
-------------------------------------*/
/**エラー**/
.alert {
	margin: 5px 0;
	color: #bb0033;
}

form table th {
	position: relative;
	padding-right: 54px !important;
}

/*入力タグ*/
form input[type="text"],
form textarea,
form select {
	/* border:1px solid #cccccc; */
	/* font-size: 14px; */
	line-height: 1.2;
	height: 50px;
	margin: 5px 5px 5px 0;
	padding: 5px 4px;
	border-radius: 5px;
	background: #eeeeee;
	-webkit-box-shadow: none;
	box-shadow: none;
}

form input[type="text"] {
	width: 100%;
}

form textarea {
	min-height: 150px;
	padding: 2px;
}

form select {
	font-size: 14px;
	display: grid;
	padding: 0 10px;

	place-items: center;
}

td input[type="button"] {
	font-size: 0.85em;
	height: 40px;
	padding: 0 10px;
	border: 1px solid #cccccc;
	/* 枠線 */
	border-radius: 0.3em;
	/* 角丸 */
	background: #dddddd;
	background-image: linear-gradient(to bottom, rgba(255, 255, 255, 1.0) 40%, rgba(200, 200, 200, 0.1) 100%);
	/* グラデーション */

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

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: 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 {
	margin: 5px 10px;
	font-size: 1.2em;
} */
/*ボタン*/
form button {
	margin: 0 10px;
	padding: 5px 10px;
	border-radius: 5px;
	background: #ffffff;
}

/*記入例*/
form .owlet-input-sample {
	font-size: 14px;
	margin-top: 5px;
	margin-left: 8px;
	color: #505050;
}



/**送信ボタン**/
.form_button {
	position: relative;
	display: flex;
	align-items: center;
	flex-flow: column-reverse;
	justify-content: center;
	width: 100%;
	margin: 50px auto 20px;
	text-align: center;
}

.form_button button[type="submit"],
.form_button input[type="submit"],
.form_button input.submit,
.form_button a {
	font-size: 15px;
	display: inline-block;
	width: 80vw;
	max-width: 450px;
	margin: 0 30px 10px;
	padding: 15px 30px;
	transition: var(--transition);
	text-align: center;
	color: rgb(var(--white));
	border: 1px solid rgb(var(--blue));
	border-radius: 5px;
	background: rgb(var(--blue));
}

.form_button button[type="submit"]:hover,
.form_button input[type="submit"]:hover,
.form_button input.submit:hover,
.form_button a:hover {
	opacity: 0.8;
}

@media screen and (max-width: 520px) {

	/**テーブル**/
	.owlet-form {
		width: 100%;
	}

	form table th,
	form table td {
		display: block;
		width: 100% !important;
	}

	/**必須**/
	.require {
		font-size: 12px;
	}

	/*入力タグ*/
	form input[type="text"],
	form textarea,
	form select {
		font-size: 14px;
		padding: 10px;
	}

	/*電話*/
	form input.owlet-input-tel1,
	form input.owlet-input-tel2,
	form input.owlet-input-tel3 {
		width: 6em;
		margin: 5px;
	}

	/*iPhone独自スタイル解除*/
	form input[type="button"],
	form input[type="text"],
	form input[type="submit"] {
		-webkit-appearance: none;
	}
	
	.owlet-rules{
	  width: 100%;
	}
	
	.owlet-rules-body,
	.-w-rules-body{
	  text-align: left;
	}
}

/**------------------------------ 
OWlet以外
 ------------------------------**/
form input[type="text"].min {
	width: 10em;
}

@media screen and (max-width: 520px) {
	.form_button {
		flex-flow: column-reverse;
	}

	/*iPhone独自スタイル解除*/
	form input[type="button"],
	form input[type="text"],
	form input[type="submit"] {
		border-radius: 0;

		-webkit-appearance: none;
	}

	/*入力タグ*/
	form input[type="text"],
	form input[type="email"],
	form textarea,
	form select {
		font-size: 13px;
	}
}
/*layout:2*/@charset "utf-8";
/* CSS Document */

/*-------------------------------------
基本装飾 -サイトにより変更-
-------------------------------------*/

:root {
	--base-width: 1200px;
	--over-width-half: calc(((100vw - (100vw - 100%)) - var(--base-width)) / 2);
	--body-min-width: 1340px;
	--ff: 'Zen Kaku Gothic New', sans-serif;
	--webf: 'Noto Serif JP', serif;
	--header-height: 84px;
	/**.fw-b.fw-bb*/
	--fw-b: 700;
	--fw-bb: 900;
	/**.pagenation**/
	--pgn-c: rgb(var(--blue));
	--pgn-bg: rgb(var(--white));
	/**color**/
	--blue: 43, 76, 146;
	/**#2b4c92**/
	--blue2: 166, 192, 238;
	--black:#000000;
	--white: 255, 255, 255;
	/**#ffffff**/
	--gray: 51, 51, 51;
	/**#333333**/
	--purple: 164, 115, 189;
	/**#a473bd**/
	--pink: 222, 1, 131;
	/**#de0183**/

	--grad1: linear-gradient(to right bottom, #ec99e5 0%, #a37def 55%, #5b62f8 100%);
	--grad2: linear-gradient(to top, rgba(251, 194, 235, 0.8) 0%, rgba(166, 193, 238, 0.8) 100%);
	--grad3: linear-gradient(to bottom, rgba(var(--pink), 0.05) 0%, rgba(var(--pink), 0.05) 100%),
		linear-gradient(to bottom, rgb(var(--white)) 0%, rgb(var(--white)) 100%);
	--grad4: linear-gradient(to top, rgba(251, 194, 235, 0.8) 0%, rgba(166, 193, 238, 0.8) 100%),
		linear-gradient(to bottom, rgb(var(--white)) 0%, rgb(var(--white)) 100%);
	--grad5: linear-gradient(to bottom, rgba(var(--pink), 0.08) 0, rgba(var(--purple), 0.3) 40%, rgba(var(--blue2), 0.3) 100%);
	--grad6: linear-gradient(to top, #ec99e5 0%, #a37def 55%, #5b62f8 100%);
}

@media screen and (max-width:520px) {
	:root {
		--base-width: 100%;
		--over-width-half: 5%;
		--body-min-width: 100%;
		--header-height: 50px;
	}
	
	body{
	  padding-top:60px;
	}
}

body {
	font-family: var(--ff);
	min-width: var(--body-min-width);
	font-size: 17px;
	background: rgb(var(--white));
}



/**================================================================================
レイアウト
================================================================================**/

/**------------------------------ 
横並びリスト 均等
box nth column
.boxNC>li
 ------------------------------**/

:root {
	--boxNC_w: var(--base-width);
	--boxNC_m: 30px auto;
	--boxNC_gap: 20px 5%;
	--boxNC_child_w: calc(90% / 3);
}

.boxNC {
	display: flex;
	flex-wrap: wrap;
	width: var(--boxNC_w);
	margin: var(--boxNC_m);

	gap: var(--boxNC_gap);
}

.boxNC>* {
	width: var(--boxNC_child_w);
}

@media screen and (max-width:520px) {
	:root {
		--boxNC_w: 100%;
		--boxNC_m: 20px auto;
		--boxNC_gap: 20px;
		--boxNC_child_w: 100%;
	}
}

/**------------------------------ 
横並びリスト 2カラム不均等
box left right
.boxLR>.left+.right
 ------------------------------**/
:root {
	--boxLR_w: var(--base-width);
	--boxLR_m: 30px auto;
	--boxLR_gap: 50px;
	--boxLR_1_w: 50%;
	--boxLR_2_w: calc((100% - var(--boxLR_1_w)) - var(--boxLR_gap));
	--boxLR_3_w: 0;
}

.boxLR {
	display: flex;
	flex-wrap: wrap;
	width: var(--boxLR_w);
	margin: var(--boxLR_m);

	gap: var(--boxLR_gap);
}

.boxLR>.LR1 {
	width: var(--boxLR_1_w);
}

.boxLR>.LR2 {
	width: var(--boxLR_2_w);
}

.boxLR>.LR3 {
	width: var(--boxLR_3_w);
}

@media screen and (max-width:520px) {
	:root {
		--boxLR_w: var(--base-width);
		--boxLR_m: 30px auto;
		--boxLR_gap: 10px;
		--boxLR_1_w: 100%;
		--boxLR_2_w: 100%;
		--boxLR_3_w: 100%;
		--boxLR_1_m: 0;
		--boxLR_2_m: 0;
		--boxLR_3_m: 0;
	}

	.boxLR>.LR1 {
		margin: var(--boxLR_1_m);
	}

	.boxLR>.LR2 {
		margin: var(--boxLR_2_m);
	}

	.boxLR>.LR3 {
		margin: var(--boxLR_3_m);
	}

}

/**------------------------------ 
横並びリスト 2カラム不均等 互い違い
box odd even
boxOE>li>.OE1+.OE2+.OE3
 ------------------------------**/
:root {
	--boxOE_w: var(--base-width);
	--boxOE_m: 30px auto;
	--boxOE_gap: 10px;
	--boxOE_1_w: 60%;
	--boxOE_2_w: calc(100% - var(--boxOE_1_w) - var(--boxOE_gap));
	--boxOE_3_w: 0;
}

.boxOE>* {
	display: flex;
	flex-wrap: wrap;
	width: var(--boxOE_w);
	margin: var(--boxOE_m);

	gap: var(--boxOE_gap);
}

.boxOE>*:nth-child(odd) {
	flex-direction: row;
}

.boxOE>*:nth-child(even) {
	flex-direction: row-reverse;
}

.boxOE>*>.OE1 {
	width: var(--boxOE_1_w);
}

.boxOE>*>.OE2 {
	width: var(--boxOE_2_w);
}

.boxOE>*>.OE3 {
	width: var(--boxOE_3_w);
}

@media screen and (max-width:520px) {
	:root {
		--boxOE_w: var(--base-width);
		--boxOE_m: 20px auto;
		--boxOE_gap: 10px;
		--boxOE_1_w: 100%;
		--boxOE_2_w: 100%;
		--boxOE_3_w: 100%;
	}

	.boxOE>*:nth-child(odd) {
		flex-direction: row;
	}

	.boxOE>*:nth-child(even) {
		flex-direction: row;
	}
}



/**================================================================================
装飾
================================================================================**/

/* -------------------------------------
カテゴリボタン
-------------------------------------*/
:root {
	--catBtn_c: var(--black);
	--catBtn_bd: var(--black);
	--catBtn_bg: rgba(var(--white));
}

.catBtn {
	display: flex;
	justify-content: center;
	margin: 25px auto;

	gap: 15px;
}

.catBtn a {
	font-weight: bold;
	position: relative;
	display: block;
	min-width: 8em;
	padding: 10px 40px 10px 20px;
	text-align: left;
	color: var(--catBtn_c);
	border: var(--catBtn_bd);
	background: var(--catBtn_bg);
}

.catBtn a:after {
	font-size: 12px;
	line-height: 1;
	top: 1.5em;
	display: inline-block;
	width: 5px;
	height: 5px;
	content: "";
	transform: rotate(45deg);
	border-top: 1px solid var(--catBtn_c);
	border-right: 1px solid var(--catBtn_c);
}

.catBtn a:hover {
	color: var(--catBtn_bg);
	border: var(--catBtn_bd);
	background: var(--catBtn_c);
}

.catBtn a:hover:after {
	border-top: 1px solid var(--catBtn_bg);
	border-right: 1px solid var(--catBtn_bg);
}

@media screen and (max-width: 520px) {
	.catBtn {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
		margin: 20px auto;

		gap: 1% 3px;
	}

	.catBtn a {
		flex: 1;
		min-width: auto;
		padding: 10px 20px 10px 10px;
		white-space: nowrap;
	}
}

/* -------------------------------------
文字装飾
-------------------------------------*/
:root {
	/**.edge**/
	--liner_c: #fff552;
	--edge_c: #555555;
	--edge2_c: #555555;
	--edge3_c: #555555;
}

/**黄色マーカー**/
b.liner {
	text-decoration: underline;
	/* 下線 */
	text-decoration-thickness: 0.5em;
	/* 線の太さ */
	text-decoration-color: var(--liner_c);
	/* 線の色 */
	text-underline-offset: -0.2em;
	/* 線の位置。テキストに重なるようにやや上部にする */
	text-decoration-skip-ink: none;
	/* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
}

b.liner2 {
	background: -webkit-linear-gradient(transparent 40%, var(--liner_c) 0%);
	background: linear-gradient(transparent 40%, var(--liner_c) 0%);
}

/*縁くくり*/
.edge {
	text-shadow: 1px 1px 0 var(--edge_c),
		-1px 1px 0 var(--edge_c),
		1px -1px 0 var(--edge_c),
		-1px -1px 0 var(--edge_c);
}

/*縁 2px以上*/
.edge2 {
	text-shadow: 2px 2px 1px var(--edge2_c),
		-2px 2px 1px var(--edge2_c),
		2px -2px 1px var(--edge2_c),
		-2px -2px 1px var(--edge2_c),
		2px 0 1px var(--edge2_c),
		0 2px 1px var(--edge2_c),
		-2px 0 1px var(--edge2_c),
		0 -2px 1px var(--edge2_c);
}

/*縁 枠*/
.edge3 {
	color: transparent;

	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: var(--edge3_c);
}

/* -------------------------------------
写真のエフェクト
-------------------------------------*/
/**4辺ぼかし：親要素にかける**/
.blur_w {
	position: relative;
	display: inline-block;
}

.blur_w:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	background: rgba(255, 255, 255, 0);
	box-shadow: inset 0 0 40px #ffffff, inset 0 0 40px #ffffff, inset 0 0 40px #ffffff,
		inset 0 0 40px #ffffff;
}

/**角丸：画像に直接かけれる**/
.radius {
	border-radius: 15px;
}

/**hover：透過**/
a:hover img.hv {
	opacity: var(--opacity);
}

/**hover時画像拡大**/
.scale {
	overflow: hidden;
}

.scale img {
	-webkit-transition: -webkit-transform 0.3s linear;
	-moz-transition: -moz-transform 0.3s linear;
	-ms-transition: -ms-transform 0.3s linear;
	-o-transition: -o-transform 0.3s linear;
	transition: transform 0.3s linear;
}

a:hover .scale img {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-ms-transform: scale(1.2);
	-o-transform: scale(1.2);
	transform: scale(1.2);
}

/**画像トリミング：親要素にwとhを指定する**/
.ojf img {
	width: 100%;
	height: 100%;

	-o-object-fit: cover;
	object-fit: cover;
}

picture {
	display: block;
}

.aspA {
	aspect-ratio: 1/0.667;
}

.aspB {
	aspect-ratio: 1/0.548;
}

.aspB img,
.aspA img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}



/**-------------------------------------
youtube
-------------------------------------**/
iframe {
	width: 100%;
}

.youtube {
	margin: 30px auto 20px;
}

.youtube iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
}

@media screen and (max-width: 520px) {
	.youtube {
		margin: 20px auto 10px;
	}
}

/* -------------------------------------
google gmap
-------------------------------------*/
/**地図**/
.gmap {
	width: 100%;
	height: auto;
}

.gmap iframe {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 480px) {
	.gmap iframe {
		height: 100%;
	}
}

/* -------------------------------------
PDF埋め込み src="URL末尾#view=Fit"を入れる
-------------------------------------*/
.pdf_wrap {
	width: 800px;
	height: 500px;
}

.pdf_wrap iframe {
	display: block;
	width: 100%;
	height: 100%;
	margin: 30px auto;
}

@media screen and (max-width: 520px) {
	.pdf_wrap {
		width: 90%;
		height: 60vw;
	}
}

/* -------------------------------------
吹き出し
-------------------------------------*/
:root {
	/**.balloon**/
	--balloon-c: #555555;
	--balloon-bg: #ffffff;
}

/**塗りつぶし（下）**/
.balloon1_B {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 0;
	padding: 7px 10px;
	text-align: center;
	color: var(--balloon-c);
	background: var(--balloon-bg);
}

.balloon1_B:before {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	content: "";
	border-width: 10px 5px;
	border-style: solid;
	border-color: var(--balloon-bg) transparent transparent transparent;
}

/**塗りつぶし（上）**/
.balloon1_T {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 0;
	padding: 7px 10px;
	text-align: center;
	color: var(--balloon-c);
	background: var(--balloon-bg);
}

.balloon1_T:before {
	position: absolute;
	top: -20px;
	left: 50%;
	margin-left: -5px;
	content: "";
	border-width: 10px 5px;
	border-style: solid;
	border-color: transparent transparent var(--balloon-bg) transparent;
}

/**塗りつぶし（左）**/
.balloon1_L {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 0 1.5em 15px;
	padding: 7px 10px;
	text-align: center;
	color: var(--balloon-c);
	background: var(--balloon-bg);
}

.balloon1_L:before {
	position: absolute;
	top: 50%;
	left: -20px;
	margin-top: -5px;
	content: "";
	border-width: 5px 10px;
	border-style: solid;
	border-color: transparent var(--balloon-bg) transparent transparent;
}

/**塗りつぶし（右）**/
.balloon1_R {
	font-size: 16px;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 15px 1.5em 0;
	padding: 7px 10px;
	color: var(--balloon-c);
	background: var(--balloon-bg);
}

.balloon1_R:before {
	position: absolute;
	top: 50%;
	left: 100%;
	margin-top: -5px;
	content: "";
	border-width: 5px 10px;
	border-style: solid;
	border-color: transparent transparent transparent var(--balloon-bg);
}

/**線（下）**/
.balloon2_B {
	font-size: 1.3rem;
	line-height: 1.3;
	font-weight: bold;
	position: relative;
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	margin: 1.5em 0;
	padding: 7px 10px;
	text-align: center;
	color: var(--black);
	border: solid 4px var(--balloon-c);
	background: var(--balloon-bg);
	border-radius: 20px;
}

.balloon2_B:before {
	position: absolute;
	z-index: 2;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin-top: -1px;
	content: "";
	border-width: 15px 10px;
	border-style: solid;
	border-color: var(--balloon-bg) transparent transparent transparent;
}

.balloon2_B:after {
	position: absolute;
	z-index: 1;
	top: calc(100% + 4px);
	left: 50%;
	transform: translateX(-50%);
	margin-top: -1px;
	content: "";
	border-width: 19px 14px;
	border-style: solid;
	border-color: var(--balloon-c) transparent transparent transparent;
}


/**================================================================================
サイト用 CSS
================================================================================**/

/**-------------------------------------
アイコン
-------------------------------------**/
.em {
	font-size: 14px;
	line-height: 1;
	display: inline-block;
	margin-right: 1px;
	padding: 5px 10px;
	vertical-align: middle;
	font-style: normal;

	text-align: center;
	color: rgba(var(--white));
	background: rgb(var(--blue));
}

.time {
	font-size: 14px;
	display: inline-block;
	margin: 5px;
	vertical-align: middle;
}

.tag {
	font-size: 14px;
	line-height: 1;
	display: inline-block;
	margin-right: 1px;
	padding: 5px 10px;
	vertical-align: middle;
	font-style: normal;
	display: inline-flex;
	align-items: center;
	position: relative;
}

.tag:before {
	content: "";
	width: 1em;
	height: 1em;
	background: url(/common/images/icon_tag.png) no-repeat center / contain;
}

/**-------------------------------------
見出し
-------------------------------------**/
.titZ {
	min-height: 200px;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	font-size: 2.5rem;
	letter-spacing: 3px;
	font-family: var(--webf);
	box-shadow: 0 0.3rem 0.9rem 0 rgba(var(--gray), .1) inset;
	line-height: 1.2;
}

.titZ h1:first-letter {
	color: rgb(var(--blue));
	font-size: 1.2em;
}

@media screen and (max-width:520px) {
	.titZ {
		min-height: 120px;
		font-size: 1.8rem;
		letter-spacing: 1px;
	}
}


:root {
	--titAbl: block;
	--titAfz: 2rem;
	--titAc: var(--black);
	--titAm: 0;
	--titAta: center;
	--titAbg: none;
	--titAp: 0;

	--titAbl_s: block;
	--titAfz_s: 1.1rem;
	--titAc_s: rgb(var(--blue));
	--titAm_s: 5px auto;
	--titAta_s: center;
	--titAbg_s: none;
	--titAp_s: 0;
}

.titA {
	display: var(--titAbl);
	font-size: var(--titAfz);
	color: var(--titAc);
	margin: var(--titAm);
	text-align: var(--titAta);
	background: var(--titAbg);
	padding: var(--titAp);
	position: relative;
	z-index: 1;
	line-height: 1.5;
	font-family: var(--webf);
}

.titA i {
	display: var(--titAbl_s);
	font-size: var(--titAfz_s);
	color: var(--titAc_s);
	margin: var(--titAm_s);
	text-align: var(--titAta_s);
	background: var(--titAbg_s);
	padding: var(--titAp_s);
	font-family: var(--ff);
	font-style: normal;
}



:root {
	--titBfz: 1.3rem;
	--titBc: rgb(var(--gray));
	--titBm: 0;
	--titBta: left;
	--titBbg: none;
	--titBp: 0;
}

.titB {
	font-size: var(--titBfz);
	color: var(--titBc);
	margin: var(--titBm);
	text-align: var(--titBta);
	background: var(--titBbg);
	padding: var(--titBp);
	position: relative;
	z-index: 1;
	line-height: 1.5;
	font-family: var(--webf);
}

@media screen and (max-width:520px) {
	:root {
		--titAfz: 1.5rem;

		--titAfz_s: 0.8rem;
	}
}

/**------------------------------ 
特殊ボタン
 ------------------------------**/
.tel {
	font-family: var(--webf);
	font-size: clamp(1.3rem, 1.5vw, 1.5rem);
	line-height: 1;
	position: relative;
	margin: 10px 25px 0;
	text-align: right;
}

.tel a {
	display: inline-block;
}

.tel svg {
	line-height: 1;
	display: inline-block;
	width: 0.9em;
	height: 0.9em;
	margin: 0 3px;
	vertical-align: middle;

	fill: var(--black);
}

.tel small {
	font-size: 0.65em;
}

.tel p {
	font-size: 0.6em;
	margin: 5px 0;
	font-family: var(--ff);
}

.conv_btn01,
.conv_btn02 {
	display: flex;
	color: rgba(var(--white));
	font-family: var(--webf);
	font-size: clamp(14px, 1vw, 1.1rem);
	padding: 20px 15px;
	line-height: 1.5;
	width: fit-content;
	justify-content: center;
	align-items: center;
}

.conv_btn01 {
	background: rgb(var(--blue));
}

.conv_btn02 {
	background: rgb(var(--gray));
}

/**-------------------------------------
ボタン
-------------------------------------**/
:root {
	--btnAfz: 1.1rem;
	--btnAw: 360px;
	--btnAc: rgb(var(--white));
	--btnAbg: rgb(var(--blue));
	--btnAm: 50px auto;
}

.btnA {
	font-size: var(--btnAfz);
	position: relative;
	display: block;
	width: var(--btnAw);
	margin: var(--btnAm);
	padding: 20px;
	cursor: pointer;
	text-align: center;
	border-radius: 10px;
	font-family: var(--webf);
}

.btnA {
	color: var(--btnAc);
	border: 1px solid transparent;
	background: var(--btnAbg);
}

.btnA:hover,
a:hover .btnA {
	color: var(--btnAbg);
	border: 1px solid var(--btnAbg);
	background: var(--btnAc);
}

:root {
	--btnBm: 20px 0 20px auto;
}

.btnB {
	display: block;
	font-family: var(--webf);
	position: relative;
	width: fit-content;
	padding: 0 0 0 35px;
	margin: var(--btnBm);
}

.btnB:after {
	content: "";
	display: block;
	width: 25px;
	height: 1px;
	background: rgb(var(--blue));
	position: absolute;
	top: 50%;
	left: 0;
}

.btnB:before {
	content: "";
	font-size: 0.5em;
	color: rgb(var(--blue));
	line-height: 1;
	position: absolute;
	top: 50%;
	margin-top: -6px;
	width: 6px;
	height: 6px;
	left: 20px;
	background-image: linear-gradient(to right top, transparent 3px, rgb(var(--blue)) 3px, rgb(var(--blue)) 4px, transparent 4px);
}

@media screen and (max-width: 520px) {
	:root {
		--btnAfz: 1rem;
		--btnAw: clamp(100%, 100%, 90vw);
		--btnAm: 30px auto;

	}

	.btnA {
		padding: 15px;
	}
}

/**================================================== 
 テーブル
================================================== **/

/* -------------------------------------
テーブル
-------------------------------------*/
.table table {
	margin: 30px auto;
	width: 100%;
	border-collapse: collapse;
}


.table th,
.table td {
	padding: 20px 20px;
	vertical-align: top;
	text-align: left;
	border-bottom: 1px solid rgba(var(--gray), 0.25);
}

.table th {
	width: 25%;
	position: relative;
	vertical-align: top;
	font-weight: bold;
	border-bottom: 1px solid rgba(var(--gray), 0.5);
}

.table a{
  text-decoration: underline;
}.table a:hover{
  text-decoration: none;
}

@media screen and (max-width: 520px) {

	.table :is(table, tbody, tr, th, td) {
		display: block;
		border: none;
	}

	.table table {
		border-bottom: 1px solid var(--table_bg);
	}

	.table :is(th, td) {
		padding: 10px;
		border: 1px solid var(--table_bg);
		border-bottom: none;
	}

	.table th {
		width: 100%;
	}
	
	.table form th{
	  background: rgba(var(--gray),0.05);
	}
}

/**------------------------------ 
フォームテーブル
 ------------------------------
:root {
	--form_bd: var(--black);
}

.owlet-form {
	padding: 0;
}

.owlet-form table {
	width: 100%;
	margin: 0 auto 20px;
	border-spacing: 1px;
	border-collapse: separate;
	border-top: 1px solid var(--form_bd);
}

.owlet-form table tr :is(th, td) {
	padding: 20px;
	text-align: left;
	border-bottom: 1px solid var(--form_bd);
	background: #ffffff;
}

.owlet-form table tr th {
	font-weight: bold;
	line-height: 1.8;
	position: relative;
	width: 30%;
	padding-right: 4.5em;
	color: var(--form_bd);
	background: #ffffff;
}

.owlet-form table tr:first-child :is(th, td) {
	border-top: none;
}

@media screen and (max-width:520px) {

	.owlet-form :is(table, tbody, tr, th, td) {
		display: block;
		border: none;
	}

	.owlet-form table tr th {
		border-top: none;
	}

	.owlet-form table tr :is(th, td) {
		display: block;
		box-sizing: border-box;
		width: 100%;
		min-height: auto;
		padding: 10px 2%;
		text-align: left;
	}

	.owlet-form table tr td {
		padding-bottom: 1em;
	}

	.owlet-form table tr th {
		padding-top: 1em;
	}
}

**/

/**================================================== 
 スライド
================================================== **/
/**================================================== 
slide共通パーツ
.sw1>.swiper-wrapper>(.swiper-slide * 3)
.sw1_btn>(.sw1-prev + .sw1-nex + .sw1-pagination)
================================================== **/
.sw1 {}

.sw1_btn {
	width: fit-content;
	display: grid;
	grid-template-columns: 50px 50px;
	grid-template-rows: 20px;
	grid-template-areas:
		'prev next'
		'num num';
	margin: 30px 13% 20px auto;
	justify-items: center;
}

.sw1-next,
.sw1-prev {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20px;
	height: 20px;
	z-index: 10;
	position: relative;
	cursor: pointer;
	grid-area: prev;
}

.sw1-next {
	grid-area: next;
}

.sw1-next:after,
.sw1-prev:after {
	content: "";
	display: block;
	width: 20px;
	height: 1px;
	background: rgb(var(--white));
}

.sw1-next:before,
.sw1-prev:before {
	content: "";
	font-size: 0.5em;
	color: rgb(var(--white));
	line-height: 1;
	position: absolute;
	top: 50%;
	margin-top: -6px;
	width: 6px;
	height: 6px;
}

.sw1-next:hover,
.sw1-prev:hover {
	background: var(--blue2);
}

.sw1-prev:before {
	left: 0px;
	background-image: linear-gradient(to left top, transparent 3px, rgb(var(--white)) 3px, rgb(var(--white)) 4px, transparent 4px);
}

.sw1-next:before {
	right: 0px;
	background-image: linear-gradient(to right top, transparent 3px, rgb(var(--white)) 3px, rgb(var(--white)) 4px, transparent 4px);
}

.sw1-pagination {
	color: rgb(var(--white));
	max-width: fit-content;
	grid-area: num;
}

/**3**/
.sw3_btn {
	height: 0.5em;
	line-height: 1;
}

.sw3-pagination {
	text-align: center;
}

.sw3-pagination .swiper-pagination-bullet-active {
	background: rgb(var(--blue));
}

.sw3-pagination .swiper-pagination-bullet {
	width: 5px;
	height: 5px;
}

/**================================================== 
 モーダル
================================================== 
a[role="group"] {
	position: relative;
}

a[role="group"]:before {
	content: "";
	width: 20px;
	height: 20px;
	background: url(/common/images/icon_large.png) no-repeat center /contain;
	position: absolute;
	top: 5px;
	right: 5px;
	z-index: 10;
}
**/

/**================================================== 
 セクション
================================================== **/

.sec-bg01,
.sec-bg02,
.sec-bg02_min,
.sec-bg03,
.sec-bg03_OE,
.sec-bg04,
.sec-bg05,
.sec-bg05_min,
.sec-bg05_minOE,
.sec-bg06,
.sec-bg09,
.sec-bg10{
	position: relative;
	padding-top: 1px;
	padding-bottom: 1px;
}

.sec-bg01:before,
.sec-bg02:before {
	content: "";
	display: block;
	width: 80%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}

.sec-bg01:before {
	background: rgb(var(--white));
}

.sec-bg02:before {
	background: rgba(var(--pink), 0.05);
}

.sec-bg02_min:before {
	content: "";
	display: block;
	width: 80%;
	height: 70%;
	position: absolute;
	right: 0;
	z-index: -1;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(var(--pink), 0.05);
}

.sec-bg03:before {
	content: "";
	display: block;
	width: 80%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--grad2);
	z-index: -1;
}

.sec-bg03_OE:before {
	content: "";
	display: block;
	width: 80%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: var(--grad5);
	z-index: -1;
}

.sec-bg04 {
	background: linear-gradient(to bottom, rgba(var(--white), 0) 40%, rgba(var(--blue2), 0.15) 40%, rgba(var(--blue2), 0.15) 100%);
}

.sec-bg05:before {
	content: "";
	display: block;
	width: 80%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(var(--blue2), 0.15);
	z-index: -1;
}

.sec-bg05_min:before {
	content: "";
	display: block;
	width: 80%;
	height: 70%;
	position: absolute;
	left: 0;
	z-index: -1;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(var(--blue2), 0.15);
}

.sec-bg05_minOE:before {
	content: "";
	display: block;
	width: 80%;
	height: 70%;
	position: absolute;
	right: 0;
	z-index: -1;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(var(--blue2), 0.15);
}

.sec-bg06 {
	background: url(/common/images/24839181_l_bg.jpg) no-repeat left center / 90% auto;
}

.sec-bg06:before {
	content: "";
	display: block;
	width: 90%;
	height: 100%;
	background: var(--grad1);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	mix-blend-mode: multiply;
}

.sec-bg07 {
	background: rgba(var(--blue2), 0.15);
}

.sec-bg08 {
	background: rgba(var(--pink), 0.05);
}

.sec-bg09:before {
	content: "";
	display: block;
	width: 80%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(var(--purple), 0.15);
	z-index: -1;
}

.sec-bg10{
  background: linear-gradient(to bottom, #cdc2ed 0%, #f3c5ec 100%);
}


@media screen and (max-width:520px) {
	:root {
		--in-w: 90%;
	}

	.sec-bg01:before,
	.sec-bg02:before {
		width: 95%;
	}

	.sec-bg03:before,
	.sec-bg05:before {
		width: 95%;
	}

	.sec-bg04 {
		background: rgba(var(--blue2), 0.15);
	}

}

/**------------------------------ 
余白
------------------------------**/
:root {
	--in-w: 700px;
}

.inner-w {
	width: var(--in-w);
	margin-left: auto;
	margin-right: auto;
}

/**------------------------------ 
 ------------------------------**/
.p30-0 {
	padding: 30px 0;
}

.p30-0-80 {
	padding: 30px 0 80px;
}

.p40-0 {
	padding: 40px 0;
}

.p60-0 {
	padding: 60px 0;
}

.p80-0 {
	padding: 80px 0;
}

.p30-owh {
	padding: 30px var(--over-width-half);
}

.p30-owh-80 {
	padding: 30px var(--over-width-half) 80px;
}


.p60-owh {
	padding: 60px var(--over-width-half);
}

.p80-owh {
	padding: 80px var(--over-width-half);
}


.m30-0 {
	margin: 60px 0;
}

.m60-0 {
	margin: 60px 0;
}

.m80-0 {
	margin: 80px 0;
}

.m0-0-80 {
	margin: 0 0 80px;
}

.m110-0 {
	margin: 110px 0;
}

@media screen and (max-width:520px) {
	.p0_sp {
		padding: 0;
	}

	.p30-0_sp {
		padding: 30px 0;
	}

	.p30-5p_sp {
		padding: 30px 5%;
	}

	.p30-13p_sp {
		padding: 30px 13%;
	}

	.p40-0_sp {
		padding: 40px 0;
	}

	.p30-10p-30-5p_sp {
		padding: 30px 10% 30px 5%;
	}

	.p30-5p-30-10p_sp {
		padding: 30px 5% 30px 10%;
	}

	.p20-5p-30_sp {
		padding: 20px 5% 30px;
	}

	.p1-5p_sp {
		padding: 1px 5%;
	}

	.p1-5p-30_sp {
		padding: 1px 5% 30px;
	}

	.m0_sp {
		margin: 0;
	}

	.m0-0-30_sp {
		margin: 0 0 30px;
	}

	.m20-0_sp {
		margin: 20px 0;
	}

	.m30-0_sp {
		margin: 30px 0;
	}

	.m40-0_sp {
		margin: 40px 0;
	}

	.m60-0_sp {
		margin: 60px 0;
	}


}

/**================================================== 
header
header nav ul
header .hamburger > (span*3)
================================================== **/
header {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	width: 100%;
	background: rgb(var(--white));
	z-index: 500;
}

header a:hover,
header dt:hover {
	opacity: 0.8;
}

header .menu1 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	/*max-width: 1500px;*/
	width: 100%;
	min-width: var(--body-min-width);
	margin: 0 auto;
}

header .logo {
	margin-right: auto;
	margin-left: 15px;
}

header .lang {
	display: flex;
	margin: 0 15px 0 5px;
}

header .lang a {
	display: inline-block;
	padding: 5px 10px;
	font-family: var(--webf);
	border: 1px solid transparent;
}

header .lang a:is(.current, .hover) {
	border: 1px solid rgba(var(--blue));
}

header .conv {
	display: flex;
}

header nav {
	display: flex;
	border-top: 1px solid rgba(var(--gray), 0.1);
	border-bottom: 1px solid rgba(var(--gray), 0.1);
	width: 100%;
	min-width: var(--base-width);
}

header nav ul {
	width: 100%;
	display: flex;
	gap: 0 80px;
	justify-content: center;
	align-items: center;
	position: relative;
}

header nav ul li>a,
header nav ul dl>dt {
	display: block;
	padding: 15px 0;
	cursor: pointer;
}

header nav ul dl>dt:after {
	content: "";
	width: 5px;
	height: 5px;
	border-right: 1px solid rgba(var(--gray), 1);
	border-bottom: 1px solid rgba(var(--gray), 1);
	display: inline-block;
	transform: rotate(45deg);
	vertical-align: middle;
	margin: 0 0 0 10px;
}

header nav ul dd {
	position: absolute;
	width: 100vw;
	top: 100%;
	left: 0;
	display: flex;
	flex-flow: wrap;
	justify-content: center;
	gap: 15px 3vw;
	padding: 40px 0;
	/*background: rgb(var(--gray), 0.1);*/
	background: var(--grad3);
	display: none;
	z-index: 1;
}

header nav ul dl.megamenu dd {
	display: flex;
	z-index: 5;
}

header nav ul svg {
	width: 42px;
	height: 7px;
	stroke: rgb(var(--blue));
	fill: none;
	margin: 0 0 0 10px;
}

header .hamburger {
	display: none;
}

.Bfix {
	display: none;
}

@media screen and (max-width: 520px) {
	header {
		width: 100%;
		padding: 5px 60px 7px 5%;
		position: absolute;
	}

	header .logo {
		width: 65%;
		margin-left: 0;
	}

	header .lang {
		display: flex;
		margin: 5px;
		font-size: 0.9em;
	}

	header .lang a {
		padding: 5px 10px;
	}

	header .tel,
	header .conv {
		display: none;
	}

	header nav {
		font-size: 16px;
		position: fixed;
		z-index: 500;
		top: 0;
		right: -100vw;
		align-items: flex-start;
		justify-content: flex-start;
		box-sizing: border-box;
		width: 300px;
		height: 100%;
		padding-top: 60px;
		background: var(--grad3);
		overflow-y: auto;
	}

	header nav ul {
		flex-flow: column;
		width: 100%;
	}

	header nav ul li {
		width: 100%;
	}

	header nav ul li a {
		display: block;
		padding: 10px 28px;
		text-decoration: none;
		color: rgb(var(--gray));
	}

	header nav ul li>a,
	header nav ul dl>dt {
		color: rgb(var(--gray));
	}

	header nav ul svg {
		display: none;
	}

	header nav ul dl {
		width: 100%;
	}

	header nav ul dl dt {
		position: relative;
		padding: 10px 28px;
	}

	header nav ul dl dt:before,
	header nav ul dl dt:after {
		content: "";
		background: rgb(var(--gray));
		display: block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		border: none;
		margin: 0;
	}

	header nav ul dl dt:before {
		width: 2px;
		height: 20px;

		right: calc(10px + ((20px - 2px) / 2));
	}

	header nav ul dl dt:after {
		width: 20px;
		height: 2px;
		right: 10px;
	}


	header nav ul dd {
		position: static;
		width: 100vw;
		flex-flow: column;
		justify-content: center;
		gap: 1px;
		padding: 0;
		background: none;
		display: none;
		z-index: 1;
	}

	header nav ul dl.megamenu dt:before {
		display: none;
	}

	header nav ul dl.megamenu dd {
		display: flex;
		z-index: 5;
	}

	header nav ul dd a {
		display: block;
		background: rgba(var(--purple), 0.08);
	}

	header .hamburger {
		font-size: 11px;
		position: fixed;
		z-index: 3;
		z-index: 600;
		top: 0;
		right: 0;
		display: block;
		box-sizing: border-box;
		width: 60px;
		height: 60px;
		cursor: pointer;
		-webkit-transition: all 400ms;
		transition: all 400ms;
		color: rgb(var(--gray));
		background: rgb(var(--white));
		border-radius: 0 0 0 10px;
	}

	header .hamburger:after {
		position: absolute;
		right: 0;
		bottom: 5px;
		left: 0;
		margin: 0 auto;
		content: "";
		text-align: center;
		letter-spacing: 1px;
	}

	header .hamburger.open:after {
		content: "";
		letter-spacing: 0;
		color: rgba(var(--gray));
	}

	header .hamburger span {
		position: absolute;
		right: 0;
		left: 0;
		width: 40px;
		height: 2px;
		margin: 0 10px;
		-webkit-transition: all 400ms;
		transition: all 400ms;
		background: rgb(var(--gray));
		--hamb-wids: 40px;
		--hamb-tops: 17px;
	}

	header .hamburger span:nth-child(1) {
		top: calc(0px + var(--hamb-tops));
		width: calc(var(--hamb-wids) - 20px);
	}

	header .hamburger span:nth-child(2) {
		top: calc(10px + var(--hamb-tops));
		width: calc(var(--hamb-wids) - 10px);
	}

	header .hamburger span:nth-child(3) {
		top: calc(20px + var(--hamb-tops));
		width: calc(var(--hamb-wids) - 0px);
	}

	header .hamburger.open {
		background: none;
		top: 10px;
		right: 5px;
	}

	header .hamburger.open span {
		background: rgba(var(--gray));
	}

	header .hamburger.open span:nth-child(1) {
		top: 20px;
		width: var(--hamb-wids);
		transform: rotate(45deg);
	}

	header .hamburger.open span:nth-child(2) {
		display: none;
	}

	header .hamburger.open span:nth-child(3) {
		top: 20px;
		width: var(--hamb-wids);
		transform: rotate(-45deg);
	}

	.Bfix {
		display: flex;
		position: fixed;
		z-index: 400;
		bottom: 0;
		left: 0;
		width: 100%;
		background: rgb(var(--white));
		box-shadow: 0 -1px 2px 0 rgba(var(--gray), 0.2);
	}

	.Bfix .tel {
		display: flex;
		flex-flow: wrap;
		justify-content: center;
		padding: 0;
		margin: 5px 5px 0;
		flex: 1;
		gap: 0 5px;
	}

	.Bfix .tel a {
		font-size: 0.9rem;
		flex: 1;
		padding: 8px 0;
		border: 1px solid rgb(var(--gray));
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.Bfix .tel p {
		width: 100%;
		font-size: 0.7rem;
		text-align: center;
	}

	.Bfix .conv {
		width: 50%;
	}

	.Bfix :is(.conv_btn01, .conv_btn02) {
		width: 100%;
		font-size: 0.9rem;
		padding: 10px 5px;
		line-height: 1.1;
		white-space: nowrap;
		text-align: center;
	}
}

/**================================================== 
footer 
================================================== **/
footer {
	width: var(--base-width);
	margin: 50px auto;
	display: flex;
	justify-content: space-between;
	gap: 0 30px;
}

footer .menu3 {
	width: 60%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto auto auto;
	grid-template-areas:
		'logo logo'
		'osaka tokyo'
		'time time'
		'conv conv';
	grid-gap: 20px 15px;
}

footer .menu3 .logo {
	grid-area: logo;
}

footer .menu3 .osaka {
	grid-area: osaka;
}

footer .menu3 .tokyo {
	grid-area: tokyo;
}

footer .menu3 .p {
	grid-area: time;
}

footer .menu3 .conv {
	grid-area: conv;
	display: flex;
	gap: 20px;
}

footer .menu3 .conv :is(.conv_btn01, .conv_btn02) {
	border-radius: 5px;
	padding: 20px 30px;
}

footer .menu4 {
	flex: 1;
	display: grid;
	grid-template-columns: auto auto;
	grid-template-rows: auto;
	gap: 0 40px;
}

footer .menu4 dl dd {
	color: rgba(var(--gray), 0.6);
	font-size: 0.9em;
}

footer .menu4 dl :is(dd+dt, dt+dt) {
	margin: 30px 0 0;
}

footer .menu4 dl dd a {
	display: block;
	text-indent: -1em;
	padding-left:1em;
	line-height: 1.5;
	margin: 0 0 5px;
}

footer .menu4 dl dd a:before {
	content: "－";
}

.copyright {
	border-top: 1px solid rgba(var(--gray), 0.1);
	text-align: center;
	padding: 20px 0;
	font-size: 0.7rem;
}


@media screen and (max-width:520px) {
	footer {
		width: var(--base-width);
		margin: 50px auto;
		display: flex;
		justify-content: space-between;
		gap: 15px;
		flex-flow: column;
	}

	footer .menu3 {
		width: 90%;
		display: flex;
		flex-flow: column;
		gap: 15px;
		margin: 15px auto;
	}

	footer .menu3 .conv {
		gap: 10px;
	}

	footer .menu3 .conv :is(.conv_btn01, .conv_btn02) {
		text-align: center;
		padding: 10px 5px;
		flex: 1;
	}

	footer .menu4 {
		display: grid;
		grid-template-columns: auto auto;
		grid-template-rows: auto;
		gap: 0 15px;
		width: 90%;
		margin: 0 auto;
		font-size: 0.9rem;
	}

	footer .menu4 dl dd a {
		margin: 10px 0;
	}

	.copyright {
		margin-bottom: 80px;
	}
}

/**================================================== 
お知らせテキストリスト 
ul.list-news>li>(time.time+em.em+a>h3)
================================================== **/
.list-news li {
	display: flex;
	padding: 15px 0;
	border-bottom: 1px solid rgba(var(--gray), 0.1);
	align-items: center;
	gap: 15px;
}

.list-news li .em {
	color: rgb(var(--white));
	background: rgba(var(--gray), 0.4);
	white-space: nowrap;
	flex: none;
}

.list-news li a:hover {
	text-decoration: underline;
}

@media screen and (max-width:520px) {

	.list-news li {
		flex-flow: wrap;
		align-items: center;
		gap: 8px;
	}

	.list-news li a {
		display: block;
		width: 100%;
	}

	.list-news li h3 {
		line-height: 1.3;
	}
}


/**================================================== 
 ブログリスト
 ul.boxNC.list-blogs>li>a>
 (figure>img)+(.text>em.em+time.time+h3+p)
================================================== **/

.wrap-post {
	display: flex;
	gap: 80px;
}

.wrap-post .main {
	flex: 1;
}

.list-blogs {
	flex-flow: column;

	--boxNC_w: 100%;
	--boxNC_m: 0 auto;
	--boxNC_gap: 0;
	--boxNC_child_w: 100%;
}

.list-blogs a {
	line-height: 1.5;
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 20px;
	border-bottom: 1px solid rgba(var(--gray), 0.15);
}

.list-blogs figure,
.list-blogs picture {
	flex: none;
	width: 180px;
	margin: 0 0 0 15px;
}

.list-blogs figure img,
.list-blogs picture img {
	width: 100%;
	height: 100%;

	object-fit: cover;
}

.list-blogs .em {
	min-width: 8em;
	text-align: center;
}

.list-blogs h3 {
	font-weight: bold;
	margin: 5px 0;
}

.side {
	--sidew: 340px;
	width: var(--sidew);
	flex: none;
}

.side h3 {
	font-weight: bold;
	font-size: 1.1rem;
	margin: 0 0 15px;
}

.side-cat {
	border: 1px solid rgba(var(--gray), 0.15);
	border-bottom: none;
	display: flex;
	flex-flow: column;
	margin: 0 0 30px;
}

.side-cat a,
.side-cat label{
	display: flex;
	align-items: center;
	padding: 0 20px;
	min-height: 50px;
	border-bottom: 1px solid rgba(var(--gray), 0.15);
}

.side-cat a:hover,
.side-cat a.current,
.side-cat span label.current{
	background: rgb(var(--blue));
	color: rgb(var(--white));
}

.side .list-blogs li+li {
	margin-top: -1px;
}

.side .list-blogs a {
	padding: 15px;
	border: 1px solid rgba(var(--gray), 0.15);
}

.side .list-blogs .em {
	width: fit-content;
}

.side .list-blogs h3 {
	margin-bottom: 5px;
}

.detail-blogs {
	--titAm: 40px auto;
	--titAta: left;
}

.detail-blogs .time {
	margin-right: 10px;
}

.detail-blogs .em {
	min-width: 8em;

}

.detail-blogs picture {
	display: block;
	width: 100%;
	margin: 1.5em auto;
}

.detail-blogs picture img {
	max-width: 100%;
	height: auto;
}

.sp_toggle {
	display: none;
}

@media screen and (max-width:520px) {
	.wrap-post {
		flex-flow: column;
		gap: 30px;
	}

	.list-blogs {
		--boxNC_gap: 8px;
		--boxNC_child_w: 100%;
	}

	.list-blogs a {
		padding: 8px 0;
		gap: 8px;
	}

	.list-blogs figure,
	.list-blogs picture {
		flex: none;
		width: 96px;
		height: 96px;
		margin: 0;
	}

	.list-blogs .em {
		min-width: fit-content;
	}

	.list-blogs h3 {
		font-weight: bold;
		margin: 5px 0;
	}

	.list-blogs p {
		display: none;
	}

	.side {
		--sidew: 100%;
	}

	.detail-blogs .flx {
		flex-flow: column;
	}

	.detail-blogs .time {
		width: 100%;
		text-align: center;
	}

	.detail-blogs .em {
		min-width: fit-content;
	}
	
	:root {
		--btnspfz: 1rem;
		--btnspw: 100%;
		--btnspc: rgb(var(--white));
		--btnspbg: rgb(var(--blue));
		--btnspm: 15px auto;
	}

	.sp_toggle {
		font-size: var(--btnspfz);
		position: relative;
		display: block;
		width: var(--btnspw);
		margin: var(--btnspm);
		padding: 10px;
		cursor: pointer;
		text-align: center;
		border-radius: 10px;
		font-family: var(--webf);
	}

	.sp_toggle {
		color: var(--btnspc);
		border: 1px solid transparent;
		background: var(--btnspbg);
	}
	
	.sp_toggle_main{
	  display: none;
	}
	
}

/**------------------------------ 
よくあるご質問
 ------------------------------**/
.faq {
	margin: 0 auto 40px;
	border: 1px solid rgba(var(--gray), 0.15);
	border-radius: 20px;
	background: rgb(var(--white));
}

.faq dt {
	font-size: 20px;
	font-weight: bold;
	position: relative;
	min-height: 60px;
	margin: 0;
	margin-top: 0;
	padding: 25px 30px 25px 110px;
	color: rgb(var(--gray));
	border-bottom: 1px solid rgba(var(--gray), 0.15);
}

.faq dt:before {
	font-size: 22px;
	font-weight: bold;
	position: absolute;
	top: 15px;
	left: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 50px;
	height: 50px;
	content: "Q";
	color: rgb(var(--blue));
	border: 1px solid rgb(var(--blue));
	border-radius: 50%;
}

.faq dd {
	position: relative;
	min-height: 60px;
	padding: 25px 30px 25px 110px;
	color: rgb(var(--gray));
}

.faq dd:before {
	font-family: "Roboto", sans-serif;
	font-size: 18px;
	font-weight: bold;
	position: absolute;
	top: 15px;
	left: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 50px;
	height: 50px;
	content: "A";
	color: #ffffff;
	border: 1px solid rgb(var(--blue));
	border-radius: 25px;
	background: rgb(var(--blue));
}

@media screen and (max-width: 768px) {
	.faq {
		margin: 0 auto 20px;
		border-radius: 10px;
	}

	.faq dt {
		font-size: 15px;
		min-height: 60px;
		padding: 20px 15px 20px 50px;
	}

	.faq dt:before {
		font-size: 17px;
		top: 15px;
		left: 10px;
		width: 30px;
		height: 30px;
	}

	.faq dd {
		min-height: 60px;
		padding: 20px 15px 20px 50px;
	}

	.faq dd:before {
		font-size: 17px;
		top: 15px;
		left: 10px;
		width: 30px;
		height: 30px;
	}
}

/**================================================== 
 .check
================================================== **/
.list-check {
	margin: 0 auto 40px;
	border: 1px solid rgba(var(--gray), 0.15);
	border-radius: 20px;
	background: rgb(var(--white));
}

.list-check li {
	font-size: 20px;
	font-weight: bold;
	position: relative;
	min-height: 60px;
	margin: 0;
	margin-top: 0;
	padding: 25px 30px 25px 90px;
	color: rgb(var(--gray));
}

.list-check li+li {
	border-top: 1px solid rgba(var(--gray), 0.15);
}

.list-check li:before {
	font-size: 22px;
	font-weight: bold;
	position: absolute;
	top: 25px;
	left: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	content: "";
	color: rgb(var(--purple));
	border: 1px solid rgb(var(--purple));
	border-radius: 50%;
}

.list-check li:after {
	content: "";
	display: block;
	width: 20px;
	height: 10px;
	border-bottom: 3px solid rgb(var(--purple));
	border-left: 3px solid rgb(var(--purple));
	transform: rotate(-45deg);
	position: absolute;
	top: 37px;
	left: 40px;
}


@media screen and (max-width: 768px) {
	.list-check {
		margin: 0 auto 20px;
		border-radius: 10px;
	}

	.list-check li {
		font-size: 15px;
		min-height: 60px;
		padding: 20px 15px 20px 50px;
	}

	.list-check li:before {
		font-size: 17px;
		top: 15px;
		left: 10px;
		width: 30px;
		height: 30px;
	}

	.list-check li:after {
		top: 22px;
		left: 15px;
	}
}


.list-enduser {
	margin: 0 auto 40px;
	border: 1px solid rgba(var(--gray), 0.15);
	border-radius: 20px;
	background: rgb(var(--white));
}

.list-enduser dt {
	font-size: 20px;
	font-weight: bold;
	position: relative;
	min-height: 60px;
	margin: 0;
	margin-top: 0;
	padding: 25px 30px 0 90px;
	color: rgb(var(--gray));
}

.list-enduser dd+dt {
	border-top: 1px solid rgba(var(--gray), 0.15);
}

.list-enduser dt:before {
	font-size: 22px;
	font-weight: bold;
	position: absolute;
	top: 25px;
	left: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	content: "";
	color: rgb(var(--purple));
	border: 1px solid rgb(var(--purple));
	border-radius: 50%;
}

.list-enduser dt:after {
	content: "";
	display: block;
	width: 20px;
	height: 10px;
	border-bottom: 3px solid rgb(var(--purple));
	border-left: 3px solid rgb(var(--purple));
	transform: rotate(-45deg);
	position: absolute;
	top: 37px;
	left: 40px;
}

.list-enduser dd {
	padding: 10px 30px 25px 90px;
	font-size: 1.1rem;
}

.list-enduser dd a {
	color: rgb(var(--blue));
	text-decoration: underline;
	display: inline-block;
}

.list-enduser dd a+a {
	margin: 0 0 0 1em;
}

.list-enduser dd a:hover {
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.list-enduser {
		margin: 0 auto 20px;
		border-radius: 10px;
	}

	.list-enduser dt {
		font-size: 15px;
		min-height: 60px;
		padding: 20px 15px 0 50px;
	}

	.list-enduser dt:before {
		font-size: 17px;
		top: 15px;
		left: 10px;
		width: 30px;
		height: 30px;
	}

	.list-enduser dt:after {
		top: 22px;
		left: 15px;
	}

	.list-enduser dd {
		padding: 0 15px 25px 50px;
		font-size: 1rem;
	}
}


/**================================================== 
 お問い合わせ
 EX)https: //ibaraki-minshou.com/contact/
================================================== **/
.sec-contact-01 {
	padding: 60px var(--over-width-half) 1px;

	--titAm: 0 auto 30px;
}

/**------------------------------ 
電話
 ------------------------------**/

.sec_tel {
	padding: 40px var(--calc980);
	text-align: center;

	--titCta: center;
	--titCbg: var(--blue3);
	--titCc: rgba(var(--white));
	--titCm: 0;
}

.sec_tel p {
	margin: 15px auto;
}

.sec_tel dd {
	background: var(--blue);
	padding: 1px 0 20px;
}

.sec_tel .tel,
.sec_tel .fax {
	font-size: 2rem;
	display: block;
	margin: 5px 0;
	font-weight: bold;
	color: var(--blue3);
	line-height: 1.5;
}

.sec_tel svg {
	fill: var(--blue3);
	display: inline-block;
	margin: 0 5px 0 0;
}

.sec_tel .fax svg {
	width: 30px;
	height: 26px;
}

.sec_tel .tel svg {
	width: 26px;
	height: 26px;
}

.sec_tel .tel:before,
.sec_tel .fax:before {
	display: inline-block;
	margin-right: 5px;
}

@media screen and (max-width:520px) {
	.sec_tel {
		padding: 30px var(--calc980) 5px;

		--titCfz: 1.2rem;
		--titCp: 10px;
	}

	.sec_tel dd {
		padding: 1px 0 5px;
	}

	.sec_tel .tel,
	.sec_tel .fax {
		font-size: 28px;
	}
}


/**================================================== 
 TOP
================================================== **/
.hero {
	position: relative;
}

.hero:before {
	content: "";
	display: block;
	width: 90%;
	height: 1040px;
	background: var(--grad1);
	position: absolute;
	top: 110px;
	left: 0;
	z-index: -1;
}

.hero .sw1 a {
	position: relative;
}

.hero picture {
	display: block;
	width: 1000px;
	height: 600px;
	overflow: hidden;
	border-radius: 0 0 0 50px;
	margin: 0 0 0 auto;
}

.hero picture img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.hero .text {
	color: rgb(var(--white));
	position: absolute;
	top: 50%;
	left: clamp(10px, 10%, var(--over-width-half));
	transform: translateY(-50%);
}

.hero .text :is(h1,h2) {
	font-family: var(--webf);
	font-size: 3rem;
	line-height: 1.4;
	text-shadow: 3px 3px 8px rgba(var(--gray), 1);
	margin: 0 0 25px;
}

.hero .text p {
	font-size: 1.3rem;
	margin: 0 0 20px;
}

.hero .text i {
	font-style: normal;
	font-size: 0.9rem;
}

.hero .text i:before {
	content: "";
	width: 60px;
	height: 1px;
	background: rgb(var(--white));
	margin-right: 15px;
	display: inline-block;
	vertical-align: middle;
}

.hero a:hover .text :is(p,i){
  opacity: 0.6;
}

@media screen and (max-width:520px) {
	.hero {
		position: relative;
		margin: 0 0 30px;
	}

	.hero:before {
		top: 60px;
	}

	.hero .sw1 a {
		padding-bottom: 8em;
	}

	.hero picture {
		width: 80%;
		height: 380px;
	}

	.hero .text {
		top: auto;
		bottom: 0;
		left: 5%;
		transform: none;
	}

	.hero .text :is(h1,h2) {
		font-size: 2rem;
		margin: 0 0 20px;
	}

	.hero .text p {
		font-size: 1rem;
		margin: 0 0 10px;
	}

	.hero .text i {
		font-size: 0.8rem;
	}

	.hero .text i:before {
		width: 40px;
	}

	.hero .sw1_btn {
		width: fit-content;
		display: flex;
		align-items: center;
		margin: -20px 12% 0 auto;
		justify-items: center;
		font-size: 0.9em;
		gap: 10px;
		line-height: 1;
	}
}


/**------------------------------ 
 ------------------------------**/
.top01 {
	--titAm: 0 auto 40px;

	--in-w: 700px;
}

@media screen and (max-width:520px) {
	.top01 {
		--titAm: 0 auto 20px;

		--in-w: 90%;
	}
}

.list-about {
	--boxNC_m: 60px auto 0;
}

.list-about picture {
	display: block;
	overflow: hidden;
	border-radius: 0 0 0 20px;
}

.list-about.oncolor li:nth-child(1) picture {
	border-top: 6px solid rgb(var(--blue));
}

.list-about.oncolor li:nth-child(2) picture {
	border-top: 6px solid rgb(var(--purple));
}

.list-about.oncolor li:nth-child(3) picture {
	border-top: 6px solid rgb(var(--pink));
}

.list-about h3 {
	font-family: var(--webf);
	font-size: 1.2rem;
	margin: 15px 0;
}

@media screen and (max-width:520px) {
	.list-about {
		--boxNC_m: 30px auto 0;
	}

	.list-about li:nth-child(1) picture,
	.list-about li:nth-child(2) picture,
	.list-about li:nth-child(3) picture {
		border-top-width: 3px;
	}

	.list-about h3 {
		font-size: 1.1rem;
		margin: 10px 0;
	}
}

/**------------------------------ 
 ------------------------------**/

.list-buisiness {
	--boxNC_m: 60px auto 0;
}

.list-buisiness a {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	height: 100%;
	--btnBm: auto 0 20px auto;
}

.list-buisiness picture {
	display: block;
	overflow: hidden;
	border-radius: 0 20px 0 20px;
}

.list-buisiness h3 {
	font-family: var(--webf);
	font-size: 1.2rem;
	margin: 15px 0;
	text-align: center;
}

.list-buisiness p {
	margin: 0 0 10px;
}

@media screen and (max-width:520px) {
	.list-buisiness {
		--boxNC_m: 30px auto 0;
	}

	.list-buisiness h3 {
		font-size: 1.1rem;
		margin: 10px 0;
	}
}

/**------------------------------ 
 ------------------------------**/
.top-mutech {
	--titAta: left;
	--titAc: rgb(var(--blue));
	--titAfz: 2.5rem;
	--titAm: 0 0 20px;

	--titBm: 0 0 20px;

	--boxLR_gap: 50px;
	--boxLR_1_w: 38%;
	--boxLR_2_w: calc((100% - var(--boxLR_1_w)) - var(--boxLR_gap));
}

.top-mutech figure {
	display: flex;
	align-items: flex-start;
	--nth: 50px;
}

.top-mutech.dandan4 img {
	width: 25%;
	height: auto;
}

.top-mutech.dandan4 img:nth-child(2) {
	margin-top: var(--nth);
}

.top-mutech.dandan4 img:nth-child(3) {
	margin-top: calc(var(--nth)*2);
}

.top-mutech.dandan4 img:nth-child(4) {
	margin-top: calc(var(--nth)*3);
}

@media screen and (max-width:520px) {
	.top-mutech {
		flex-flow: column-reverse;

		--titAfz: 1.6rem;
		--titAm: 0 0 10px;

		--titBfz: 1.1rem;
		--titBm: 0 0 10px;

		--btnAw: 86%;

		--boxLR_m: 0 auto 0;
		--boxLR_gap: 20px;
		--boxLR_1_w: 100%;
		--boxLR_2_w: 100%;
	}

	.top-mutech:before {
		content: "";
		display: block;
		width: 100vw;
		height: 90px;
		background: rgb(var(--white));
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}

	.top-mutech figure {
		--nth: 20px;
	}
}


/**------------------------------ 
 ------------------------------**/

.list-links {
	--boxNC_m: 20px auto;
	--boxNC_gap: 40px 5%;
	--boxNC_child_w: calc(95% / 2);
}

.list-links a {
	display: block;
	position: relative;
	padding: 0 0 26px;
}

.list-links figure {
	position: relative;
	border-radius: 0 0 0 30px;
	overflow: hidden;
}

.list-links figure:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(var(--blue), 0.4);
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.list-links figure figcaption {
	position: absolute;
	z-index: 5;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: rgba(var(--white));
	font-family: var(--webf);
	font-size: 2rem;
	text-shadow: 3px 3px 8px rgba(var(--blue), 0.8);
}

.list-links h3 {
	font-size: 4.6rem;
	line-height: 1;
	color: rgba(var(--white), 0.8);
	text-shadow: 0 0 0 rgb(var(--blue), 1);
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 10;
}

.top-access {
	--boxNC_m: 0 auto;
	--boxNC_gap: 40px 5%;
	--boxNC_child_w: calc(95% / 2);
}

.top-access .gmap {
	margin: 0 0 20px;
}

@media screen and (max-width:520px) {
	.list-links {
		--boxNC_w: 90%;
		--boxNC_m: 5px auto 0;
		--boxNC_gap: 40px 5%;
		--boxNC_child_w: 100%;
	}

	.list-links a {
		padding: 0 0 20px;
	}

	.list-links figure figcaption {
		font-size: 1.6rem;
	}

	.list-links h3 {
		font-size: 3rem;
	}

	.top-access {
		--boxNC_m: 0 auto;
		--boxNC_gap: 30px 5%;
		--boxNC_child_w: 100%;
	}

	.top-access .gmap {
		margin: 0 0 20px;
	}
}

/**------------------------------ 

 ------------------------------**/
.top-sdgs {
	align-items: center;

	--titAm: 0 auto 20px;

	--titBm: 0 auto 20px;
	--titBfz: 2rem;

	--boxLR_gap: 90px;
	--boxLR_1_w: 60%;
	--boxLR_2_w: calc((100% - var(--boxLR_1_w)) - var(--boxLR_gap));
}

.top-sdgs picture {
	border-radius: 0 0 0 50px;
	overflow: hidden;
}

@media screen and (max-width:520px) {
	.top-sdgs {
		--titBm: 0 auto 15px;
		--titBfz: 1.6rem;

		--boxLR_m: 5px auto 0;
		--boxLR_gap: 20px;
		--boxLR_1_w: 135%;
		--boxLR_2_w: 100%;
		--boxLR_1_m: 0 -17.5% 0 auto;
	}

	.top-sdgs picture {
		border-radius: 0 0 0 30px;
		overflow: hidden;
	}

}

/**------------------------------ 
top04
 ------------------------------**/
.top04 {
	--boxLR_gap: 100px;
	--boxLR_1_w: 200px;
	--boxLR_2_w: calc((100% - var(--boxLR_1_w)) - var(--boxLR_gap));
}

@media screen and (max-width:520px) {
	.top04 {
		--btnBm: 5px auto;

		--boxLR_gap: 20px;
		--boxLR_1_w: 100%;
		--boxLR_2_w: 100%;
	}
}

/**------------------------------ 
aside
 ------------------------------**/
.aside {
	position: relative;
	color: rgb(var(--white));
	text-align: center;

	--titAfz: 1.5rem;
	--titAc:rgb(var(--white));

	--titBc: rgb(var(--white));
	--titBta: center;
	--titBfz: 1.4rem;
	--titBm: 0 0 20px;

	--btnAc: rgb(var(--blue));
	--btnAbg: rgb(var(--white));
}

.aside:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(var(--blue), 0.9);
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.aside>* {
	position: relative;
	z-index: 2;
}

@media screen and (max-width:520px) {
	.aside {
		--titAfz: 1.3rem;

		--titBfz: 1rem;
		--titBm: 0 0 15px;
	}
}

/**================================================== 
 会社概要
================================================== **/
.company01 {
	--in-w: 980px;

	--titAm: 0 auto 30px;
	--titAm_s: 8px auto;

	--titBta: right;
	--titBfz: 1.1rem;
	--titBm: 30px 0;
}

.company01 .inner-w p+p {
	margin-top: 1em;
}

@media screen and (max-width:520px) {
	.company01 {
		--in-w: 100%;

		--titBfz: 1rem;
	}
}

/**------------------------------ 
会社
 ------------------------------**/

.list-access {
	--titBc: rgb(var(--blue));
	--titBfz: 1.5rem;
	--titBm: 0 0 10px;

	--boxLR_w: var(--base-width);
	--boxLR_m: 50px auto;
	--boxLR_gap: 30px;
	--boxLR_1_w: 30%;
	--boxLR_2_w: calc((100% - var(--boxLR_1_w)) - var(--boxLR_gap));

	--boxNC_w: var(--boxLR_2_w);
	--boxNC_m: 0;
	--boxNC_gap: 20px;
	--boxNC_child_w: calc((100% - var(--boxNC_gap))/ 2);
}

.list-access picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 30px 0;
}

.list-access .gmap{
  height: 260px;
  width: 100%;
}

.list-access .boxNC .gmap {
	width: var(--boxNC_child_w);
	height: auto;
}


@media screen and (max-width:520px) {
	.list-access {
		--boxLR_m: 20px auto 50px;
		--boxLR_gap: 20px;
		--boxLR_1_w: 100%;
		--boxLR_2_w: 100%;

		--boxNC_gap: 20px;
		--boxNC_child_w: 100%;
	}

	.list-access picture img {
		border-radius: 20px 0;
	}

	.list-access .gmap {
		width: 100%;
		height: 60vw;
	}
}

/**------------------------------ 
強み
 ------------------------------**/

.list-strong {
	--boxOE_w: 100%;
	--boxOE_m: 0 auto;
	--boxOE_gap: 0;
	--boxOE_1_w: 55%;
	--boxOE_2_w: 45%;

	--titBfz: 2rem;
	--titBm: 20px 0;

	margin: 60px auto;
}

.list-strong picture {
	display: block;
	overflow: hidden;
	border-radius: 0 0 0 50px;
}

.list-strong>*:nth-child(even) picture {
	border-radius: 0 0 50px 0;
}

.list-strong .OE1 {
	padding: 60px 6vw 60px var(--over-width-half);
}

.list-strong>*:nth-child(even) .OE1 {
	padding: 60px var(--over-width-half) 60px 6vw;
}


.list-strong.oncolor li:nth-child(1) picture {
	border-top: 6px solid rgb(var(--blue));
}

.list-strong.oncolor li:nth-child(2) picture {
	border-top: 6px solid rgb(var(--purple));

}

.list-strong.oncolor li:nth-child(3) picture {
	border-top: 6px solid rgb(var(--pink));
}

@media screen and (max-width:520px) {
	.list-strong {
		--boxOE_w: 100%;
		--boxOE_m: 15px auto;
		--boxOE_gap: 0;
		--boxOE_1_w: 100%;
		--boxOE_2_w: 100%;

		--titBfz: 1.4rem;
		--titBm: 20px 0;

		margin: 0 auto;
	}

	.list-strong picture {
		border-radius: 0;
	}

	.list-strong .OE1 {
		padding: 15px 5%;
	}

	.list-strong>*:nth-child(even) .OE1 {
		padding: 15px 5%;
	}

	.list-strong li:nth-child(2) picture {
		border-radius: 0;
	}
}


/**------------------------------ 
.boxOE 重なりあり
ul.box-overflow.boxOE>li>.OE1+pic.OE2>img
 ------------------------------**/

.box-overflow {
	--titAm: 0 0 20px;

	--boxOE_w: var(--base-width);
	--boxOE_m: 60px auto;
	--boxOE_gap: 0;
	--boxOE_1_w: 60%;
	--boxOE_2_w: 60%;
	--boxOE_3_w: 0;
}

.box-overflow>* {
	flex-flow: nowrap;
	position: relative;
	align-items: center;
}

.box-overflow .OE1 {
	background: rgba(var(--white), 0.9);
	padding: 40px;
}

.box-overflow .OE2 {
	margin-left: -10%;
	position: relative;
	z-index: -1;
	border-radius: 0 0 50px 0;
	overflow: hidden;
}

.box-overflow>*:nth-child(even) .OE2 {
	margin-left: auto;
	margin-right: -10%;
	border-radius: 0 0 0 50px;
}


/**================================================== 
 とは
================================================== **/
.about01 {
	--titAm: 0 auto 40px;

	--boxLR_gap: 90px;
	--boxLR_1_w: 50%;
	--boxLR_2_w: calc((100% - var(--boxLR_1_w)) - var(--boxLR_gap));

	position: relative;
	z-index: 2;
}

.about01 picture {
	border-radius: 0 0 0 30px;
	overflow: hidden;
}

@media screen and (max-width:520px) {
	.about01 {
		--titAm: 0 auto 30px;

		--boxLR_gap: 30px;
		--boxLR_1_w: 100%;
		--boxLR_2_w: 100%;
	}
}

/**------------------------------ 
想い
 ------------------------------**/
.list-thought {
	--titBc: rgb(var(--white));
	--titBm: 0 0 20px;
	--titBfz: 2rem;

	--boxNC_w: 90%;
	--boxNC_m: 60px auto;
	--boxNC_gap: 3%;
	--boxNC_child_w: calc(94% / 3);
}

.list-thought li {
	position: relative;
	background: rgba(var(--gray), 1);
	color: rgb(var(--white));
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
	min-height: 400px;
	padding: 30px 2.5vw;
	border-radius: 0 40px;
	overflow: hidden;
	text-shadow: 2px 2px 5px rgba(var(--gray), 1), -2px -2px 5px rgba(var(--gray), 1);
}

.list-thought li picture {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.4;
	z-index: 1;
}

.list-thought li picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.list-thought li>*:not(picture) {
	position: relative;
	z-index: 5;
}

@media screen and (max-width:520px) {
	.list-thought {
		--titBm: 0 0 20px;
		--titBfz: 1.4rem;

		--boxNC_w: 95%;
		--boxNC_m: 30px 0 30px auto;
		--boxNC_gap: 20px;
		--boxNC_child_w: 100%;
	}

	.list-thought li {
		min-height: auto;
		padding: 50px 5vw;
		border-radius: 0 30px;
	}
}

/**------------------------------ 
あゆみ
 ------------------------------**/
.history {
	--boxLR_gap: 60px;
	--boxLR_1_w: 250px;
	--boxLR_2_w: calc((100% - var(--boxLR_1_w)) - var(--boxLR_gap));

	--titAta: left;
	--titAta_s: left;
}

.history .LR1 {
	padding: 50px 30px 50px 0;
}

.list-history {
	position: relative;
	margin: 50px auto;

	--titBc: rgb(var(--blue));
	--titBfz: 2rem;
	--titBm: 0 0 15px;
}

.list-history li+li {
	padding: 20px 0 0;
}

.list-history p {
	margin-left: 30px;
}

.list-history figure,
.list-history picture {
	width: 340px;
	margin: 20px 0 20px 30px;
	padding: 10px;
	border: 1px solid rgba(var(--gray), 0.15);
	background: rgb(var(--white));
}

.list-history .titB {
	position: relative;
	display: flex;
	align-items: center;
	gap: 30px;
}

.list-history .titB:after {
	content: "";
	height: 1px;
	flex: 1;
	background: rgb(var(--blue));
}


@media screen and (max-width:520px) {
	.history {
		--btnBm: 5px auto;

		--boxLR_gap: 20px;
		--boxLR_1_w: 100%;
		--boxLR_2_w: 100%;
	}

	.history .LR1 {
		padding: 0;
	}

	.list-history {
		position: relative;
		margin: 50px auto;

		--titBfz: 1.6rem;
		--titBm: 20px 0 15px;
	}

	.list-history li {
		padding: 0;
	}

	.list-history p {
		margin-left: 0;
	}

	.list-history figure,
	.list-history picture {
		width: clamp(300px, 100%, 3 340px);
		margin: 15px 0;
		padding: 5px;
	}

	.list-history .titB {
		position: relative;
		display: flex;
		align-items: center;
		gap: 15px;
	}

	.list-history .titB:after {
		content: "";
		height: 1px;
		flex: 1;
		background: rgb(var(--blue));
	}
}

/**================================================== 
SDGS 
================================================== **/
.list-sdgs {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 15px;

	--titBfz: 1.6rem;
}

.list-sdgs li {
	background: rgb(var(--white), 1);
	padding: 50px;
}

.list-sdgs li:nth-child(1) {
	border-radius: 40px 0;
}

.list-sdgs li:nth-child(2) {
	border-radius: 0 40px;
}

.list-sdgs li:nth-child(3) {
	border-radius: 0 40px;
}

.list-sdgs li:nth-child(4) {
	border-radius: 40px 0;
}

.list-sdgs h3 {
	width: 100%;
	letter-spacing: -1px;
	margin: 0 0 20px;
}

.list-sdgs .img-wrap {
	display: flex;
	flex-flow: wrap;
	align-items: flex-start;
	height: 90px;
	margin: 0 0 30px;
}

.list-sdgs .img-wrap figure {
	width: 90px;
}

.list-sdgs p {
	flex: 1;
}

@media screen and (max-width:520px) {
	.list-sdgs {
		display: block;
		position: relative;

		--titBfz: 1.3rem;
		--titBta: center;
	}

	.list-sdgs li {
		display: flex;
		flex-flow: wrap;
		gap: 8px;
		padding: 20px;
		border-radius: 20px 0;
		margin: 0 0 15px;
	}
	.list-sdgs li >  div{
    width: 100%;
  }


	.list-sdgs h3 {
		width: 100%;
		margin: 0 0 10px;
	}

	.list-sdgs .img-wrap {
		width: 100%;
		display: flex;
		flex-flow: wrap;
		align-items: center;
		justify-content: center;
		height: auto;
		margin: 10px 0 5px;
	}

	.list-sdgs .img-wrap figure {
		width: calc(100% /5);
	}

	.list-sdgs p {
		flex: 1;
	}
}


.detail-item {}

.page-cat {
	width: var(--base-width);
	margin: 50px auto;
	display: flex;
	flex-flow: wrap;
	gap: 5px;
}

.page-cat a {
	width: calc((100% - 20px) / 5);
	display: flex;
	align-items: center;
	padding: 0 20px;
	min-height: 60px;
	background: rgb(var(--white));
	border: 1px solid rgba(var(--gray), 0.15);
	position: relative;
}

.page-cat a:after {
	content: "";
	width: 5px;
	height: 5px;
	display: block;
	border-top: 1px solid rgba(var(--gray), 0.8);
	border-right: 1px solid rgba(var(--gray), 0.8);
	position: absolute;
	top: 50%;
	right: 10px;
	transform: rotate(45deg) translateY(-50%);
}

.page-cat a:hover {
	background: rgb(var(--blue));
	color: rgb(var(--white));
}

.page-cat a:hover:after {
	border-top: 1px solid rgb(var(--white));
	border-right: 1px solid rgb(var(--white));
}

@media screen and (max-width:520px) {
	.page-cat {
		flex-flow: wrap;
		margin: 30px auto;
	}

	.page-cat a {
		width: calc((100% - 5px) / 2);
		padding: 10px;
		min-height: auto;
	}
}


.list-sample {
	--titBfz: 1.7rem;
	--titBm: 15px 0;
	--titBc: rgb(var(--blue));

	--boxLR_m: 50px auto 0;
}

.sample01 {
	border-bottom: 1px solid rgba(var(--gray), 0.15);
}

@media screen and (max-width:520px) {
	.list-sample {
		--titBfz: 1.3rem;
		--titBm: 10px 0;

		--boxLR_m: 30px auto 0;
	}

}

.slide-items {
	margin: 30px 0 0 var(--over-width-half);
	overflow: hidden;
}

.slide-items figure {
	position: relative;
}

.slide-items .em {
	position: absolute;
	top: 10px;
	left: 10px;
	background: rgb(var(--blue));
}

.slide-items p {
	margin: 15px 0;
	line-height: 1.4;
}

.sw2 .swiper-pagination-bullet-active {
	background: rgb(var(--blue));
}

.sw2 {
	position: relative;
}

.sw2_btn {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 20px 0 40px;
	gap: 20px;
}

.sw2-next,
.sw2-prev {
	display: block;
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid rgb(var(--blue));
	border-radius: 50px;
}

.sw2-next:after,
.sw2-prev:after {
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	border-top: 1px solid rgb(var(--blue));
	border-right: 1px solid rgb(var(--blue));
	transform: rotate(45deg);
}

.sw2-prev:after {
	transform: rotate(-135deg);
}

.sw2-pagination {
	text-align: center;
	max-width: fit-content;
	color: rgb(var(--purple));
}

@media screen and (max-width:520px) {
	.slide-items {
		margin: 20px 0;
	}

	.slide-items figure {
		position: relative;
	}

	.slide-items .em {
		position: relative;
		top: auto;
		left: auto;
	}

	.slide-items p {
		margin: 10px 0;
	}

	.sw2_btn {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		margin: 15px 0;
		gap: 20px;
	}
}

.item02 {
	--titAm: 0 0 50px;
	margin: 0 5%;
}

@media screen and (max-width:520px) {
	.item02 {
		--titAm: 0 0 30px;
		margin: 0;
	}
}


.story {
	--boxLR_m: 80px auto 60px;
	--boxLR_gap: 60px;
	--boxLR_1_w: 250px;
	--boxLR_2_w: calc((100% - var(--boxLR_1_w)) - var(--boxLR_gap));

	--titAta: left;
	--titAta_s: left;
}

.story picture {
	margin: 0 auto 2em;
}

.story p {
	margin: 2em 0;
}

.check {
	--titAc_s: rgb(var(--purple));
}

.list-example {
	--titBfz: 1.6rem;

	--boxNC_w: 100%;
	--boxNC_m: 30px auto;
	--boxNC_gap: 20px 3%;
	--boxNC_child_w: calc(94% / 3);
}

.list-example h3 {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
}

.list-example h3:before {
	content: attr(data-text)".";
	display: block;
	font-size: 3rem;
	color: rgba(var(--gray), 0.15);
	font-style: italic;
}


.list-voice {
	margin: 40px auto;
	border: 1px solid rgba(var(--gray), 0.15);
	border-radius: 30px;
	background: rgb(var(--white));
}

.list-voice li {
	display: flex;
	padding: 30px;
}

.list-voice li+li {
	border-top: 1px solid rgba(var(--gray), 0.15);
}

.list-voice li h3 {
	padding: 5px;
	width: 15em;
}

.list-voice dl {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
}

.list-voice dl dt {
	width: 9em;
	padding: 5px;
	font-weight: bold;
	text-align: right;
}

.list-voice dl dd {
	width: calc(100% - 9em);
	padding: 5px 15px;
}

@media screen and (max-width:520px) {

	.story {
		--boxLR_m: 1px auto;
		--boxLR_gap: 30px;
		--boxLR_1_w: 100%;
		--boxLR_2_w: 100%;

		--titAta: center;
		--titAta_s: center;
	}

	.check {
		--titAc_s: rgb(var(--purple));
	}

	.list-example {
		--titBfz: 1.4rem;

		--boxNC_w: 100%;
		--boxNC_m: 30px auto;
		--boxNC_gap: 15px;
		--boxNC_child_w: 100%;
	}

	.list-example h3 {
		gap: 10px;
	}

	.list-example h3:before {
		font-size: 2.5rem;
	}


	.list-voice {
		margin: 30px auto;
		border-radius: 20px;
	}

	.list-voice li {
		flex-flow: column;
		padding: 15px;
	}

	.list-voice li h3 {
		padding: 5px 0;
		width: 100%;
	}

	.list-voice dl {
		flex: 1;
		display: flex;
		flex-wrap: wrap;
		gap: 0 10px;
		font-size: 0.9rem;
	}

	.list-voice dl dt {
		width: 7em;
		padding: 5px 0;
		text-align: left;
	}

	.list-voice dl dd {
		width: calc(100% - 7em - 10px);
		padding: 5px 0;
	}
}

/**------------------------------ 
検索フォーム
 ------------------------------**/

#search {
	display: flex;
	gap: 15px;
	width: 100%;
	margin: 0 0 30px;
}

.-w-tag_list {
	flex: 1;
}

.-w-tag_list input {
	border: 1px solid rgba(var(--gray), 0.5);
	width: 100%;
	padding: 8px;
}

.-w-search_btn input {
	background: rgb(var(--blue));
	color: rgb(var(--white));
	padding: 0 15px;
	height: 100%;
}

.list-material {
	--boxNC_w: 100%;
	--boxNC_m: 0 auto 80px;
	--boxNC_gap: 30px 5%;
	--boxNC_child_w: calc(90% / 3);
}

.list-material li {
	overflow: hidden;
}

.list-material img {
	max-width: 100%;
}

.list-material i {
	display: block;
	margin-top: 10px;
	font-style: normal;
	color: rgb(var(--blue));
}

.list-material table {
	line-height: 1.3;
	font-size: 0.9rem;
	margin: 8px 0 0;
}

.list-material table th {
	font-weight: normal;
	padding: 0 5px 0 0;
	border-right: 1px dotted rgb(var(--gray));
	border-bottom: 5px solid rgb(var(--white));
	white-space: nowrap;
}

.list-material table td {
	padding: 0 0 0 5px;
	border-bottom: 8px solid rgb(var(--white));
}



@media screen and (max-width:520px) {
	/*.wrap-search {
		flex-flow: column-reverse;
	}*/

	.wrap-search .side-cat {
		flex-flow: row wrap;
	}

	.wrap-search .side-cat a,
	.wrap-search .side-cat span{
		width: 50%;
		min-height: 44px;
	}

	.wrap-search .side-cat a:nth-child(even),
	.wrap-search .side-cat span:nth-child(even){
		border-left: 1px solid rgba(var(--gray), 0.15);
	}

	.list-material {
		--boxNC_m: 0 auto 40px;
		--boxNC_gap: 30px 5%;
		--boxNC_child_w: calc(95% / 2);
	}

	.list-material table {
		line-height: 1.3;
		font-size: 0.7rem;
		margin: 8px 0 0;
	}

	.list-material table th {
		padding: 0 3px 0 0;
		width: 2.5em;

	}

}


.box-rinen{
  --titAta:left;
  --titAm:0 0 15px;
  --titAfz:2.3rem;
  
  --titBc:rgb(var(--white));
  --titBm:0 0 25px;
}

.box-rinen .text{
  width: 50%;
  min-width: 830px;
  background: rgba(var(--blue),0.8);
  color: rgb(var(--white));
  padding:80px 10%;
  background-blend-mode:multiply;
}

@media screen and (max-width:520px) {
  .box-rinen{
    padding-bottom: 80vw;
    
    --titAta:center;
    --titAm:0 0 15px;
    --titAfz:1.6rem;
    
    --titBta:center;
  }
  
  .box-rinen .text{
      min-width: auto;
    width: 100%;
    padding:40px 5%;
    text-align: center;
  }
}