
.-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);
}
[data-lib="270"]{
	border: none;
    font-size: inherit;
    outline: none;
    padding: 0;
	cursor:pointer;
}/*widget:3814a386-94c4-46a6-b696-12ca3699d3bf*/
[data-lib="270"] svg{fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-miterlimit: 10;
	stroke: var(--btnAc);}/*widget:5e5cc7bb-7531-4684-a761-1a30443a057f*/
/*instance:1044*//*instance mediea*/@media screen and (max-width: 520px){}/*widget:6880754f-1963-48be-8e50-82e5050d2a65*/
/*widget:4f57f175-3cfd-4c11-9b08-fdfa7d1ad1a6*/
/*widget:de0e2b81-9a43-44b1-aa84-76475f58c0ac*/
/*widget:537be97e-33c7-4edd-a38d-6bc91a9d29bf*/
/*widget:60fea956-1669-422e-a51b-dc4c8b77ec4e*/
[data-lib="22"] .left{padding:50px var(--over-width-half);
	color:var(--black);}[data-lib="22"]{--btnAw:380px;
	--btnAm:15px auto;}[data-lib="22"] .category{display: flex;
	justify-content: center;
	font-size: 14px;
	line-height: 1.0;
	align-items: center;
	margin: 20px auto;
	gap: 15px;}[data-lib="22"] .entry-content{border:1px solid var(--color_type1);
	padding:0 0 1px;
	margin:50px 10%;
	color:var(--color_type1);}[data-lib="22"] .entry-content dt{text-align:center;
	font-weight: bold;
	font-size: 1.1em;
	padding:10px 30px;
	background: var(--color_type1);
	color:var(--white);}[data-lib="22"] .entry-content dt + dd{border-top:1px solid var(--gray);}[data-lib="22"] .entry-content dd{counter-increment: list;
	padding:15px 30px 15px 3em;
	text-indent: -1.2em;}[data-lib="22"] .entry-content dd:before{content: counter(list)". ";}[data-lib="22"] .entry-content dd a{text-decoration: underline;}[data-lib="22"] .entry-content dd a:hover{text-decoration: none;}[data-lib="22"] .left .fixnum{margin-bottom: 30px;}[data-lib="22"] .left figure{border: 1px solid #f1f1f1;
	padding: 20px;
	text-align: center;
	width: 100%;
	margin: 30px 0;}[data-lib="22"] .left figure img{display: block;
	margin: 0 auto;}[data-lib="22"] .left .youtube{width: 90%;
	margin: 20px auto;}[data-lib="22"] .left .richtext{margin: 50px 5%;}[data-lib="22"] .left .fixnum h3{font-weight: bold;
	font-size: 1.3em;
	text-align: left;
	border-bottom: 1px solid #000;
	padding: 20px;
	margin: 20px auto;}[data-lib="22"] .left .container{width: 768px;}@media screen and (max-width: 520px){[data-lib="22"]{width: 100%;
	padding: 20px 0 50px;
	--btnAw:90vw;
	padding: 0;}[data-lib="22"] .entry-content{padding:10px 0 15px;
	margin:30px 5% 20px;}[data-lib="22"] .entry-content dt{padding:0;}[data-lib="22"] .entry-content dd{padding:15px 10px 0 2em;
	text-indent: -1.2em;}[data-lib="22"] .left   figure{border: 1px solid #f1f1f1;
	padding: 8px;
	text-align: center;}[data-lib="22"] .left h2{font-size: 1.3em;}[data-lib="22"] .left .richtext{margin: 20px auto;}[data-lib="22"] .left .youtube{width: 100%;}[data-lib="22"] .left .fixnum h3{font-size: 1.2em;
	padding: 10px 0;}}/*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;
	margin: 0 auto;
	background: var(--white);

	-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.5s;
	transition: 0.5s;
}

a:hover img {
	opacity: 0.9;
}

a.td-u,
.td-u a {
	text-decoration: underline;
}

a.td-u:hover,
.td-u a:hover {
	text-decoration: none;
}

/**PC電話ボタン無効**/
a[href^="tel"],
a[href=""] {
	pointer-events: none;
}

@media screen and (max-width: 520px) {
	a[href^="tel"] {
		pointer-events: auto;
	}
}

/*区切り線*/
hr {
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
	border: 0;
	border-bottom: 1px dashed rgb(var(--blue));
}

.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: 20px;
	}

	body .fz26 {
		font-size: min(5vw, 22px);
	}

	body .fz28 {
		font-size: min(6vw, 24px);
	}

	body .fz30 {
		font-size: min(6vw, 24px);
	}

	body .fz32 {
		font-size: min(7vw, 26px);
	}

	body .fz35 {
		font-size: min(9vw, 28px);
	}

	body .fz40 {
		font-size: min(10vw, 30px);
	}

	body .fz44 {
		font-size: min(10vw, 32px);
	}

	body .fz46 {
		font-size: min(10vw, 40px);
	}

	body .fz50 {
		font-size: min(11vw, 42px);
	}

	body .fz54 {
		font-size: min(12vw, 42px);
	}

	body .fz60 {
		font-size: min(13vw, 40px);
	}

	body .fz70 {
		font-size: min(14vw, 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 .mb60 {
	margin-bottom: 60px;
}

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 .mt60 {
	margin-top: 60px;
}

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 .mt60 {
		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: 0.8em;
	width: 100%;
	margin: 0 0;
	padding: 8px var(--over-width-half);
	border-top: 1px solid var(--color_type1);
	border-bottom: 1px solid var(--color_type1);
	font-weight: normal;
}

/*家アイコン*/
#breadcrumb ul,
#breadcrumb ol {
	max-width: 100%;
	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 10px 0 0;
	content: "";
	transform: rotate(45deg);
	vertical-align: middle;
	border-top: 1px solid var(--color_type1);
	border-right: 1px solid var(--color_type1);
}


#breadcrumb a {
	text-decoration: none;
}

#breadcrumb a:hover {
	text-decoration: none;
}

@media screen and (max-width: 520px) {
	#breadcrumb {
		padding: 3px 0;
	}

	#breadcrumb ul,
	#breadcrumb ol {
		padding: 0 2%;
	}
}

/**------------------------------ 
RANKMATH パンくず
 ------------------------------**/
.rank-math-breadcrumb {
	width: var(--base-width);
	margin: 15px auto;
	font-size: 0.8em;
}

@media screen and (max-width:520px) {
	.rank-math-breadcrumb {
		width: 90%;
	}
}


/**================================================== 
 フォーム
================================================== **/

input,
textarea,
select,
button {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	font-size: 100%;
}

form {
	--alert: rgb(var(--green));
}

/**エラー**/
.alert {
	margin: 5px 0;
	color: var(--alert);
}

form input[type="text"],
form input[type="email"],
form textarea,
form select {
	height: auto;
	width: 100%;
	padding: 15px;
	border-radius: 4px;
	border: none;
	/*box-shadow: 0 0 0 1px #ccc inset;*/
	background: #fff;
	appearance: auto;
	-webkit-appearance: auto;
	-moz-appearance: auto;
	margin: 0 0 5px;
	font-size: 1rem;
  	border: 1px solid #ccc;
}


form input::placeholder {
	color: #ddd;
}

form select {
	padding: 0 30px;
	width: fit-content;
}

form input[type="text"]:focus,
form textarea:focus,
form select:focus {
	outline: 0;
	box-shadow: 0 0 0 2px var(--alert) inset;
}

form label {
	cursor: pointer;
	display: block;
	width: fit-content;
	line-height: 1;
}

form label+label {
	margin-top: 10px;
}

form input[type="radio"],
form input[type="checkbox"] {
	width: 1em;
	height: 1em;
	margin: 0 5px 0 0 !important;
	accent-color: var(--alert);
}/*layout:2*/@charset "utf-8";
/* CSS Document */

/*-------------------------------------
基本装飾 -サイトにより変更-
-------------------------------------*/

:root {
	--base-width: 1100px;
	--over-width-half: calc((100vw - var(--base-width)) / 2);
	--ff: "Noto Sans JP", sans-serif;
	--webf: "Inter", sans-serif;
	--webf2: "Roboto Flex", sans-serif;
	--header-height: 120px;

	--color_type1: #023793;
	--color_type2: #ea5f00;
	--color_type3: #efdd36;
	--color_type4: #07ace3;
	--color_type5: #54bca9;
	--color_type6: #ec6d88; /*#ffadad;*/
	--color_type7: #f9aa20;
	--color_type8: #005631;

	--black: #1F1F1F;
	--white: #ffffff;
	/**font-weight*/
	--bold: 800;
}

@media screen and (max-width:520px) {
	:root {
		--base-width: 100%;
		--over-width-half: 5%;
		--header-height: 50px;
	}
}

body {
	font-family: var(--ff);
	font-weight: 600;
	min-width: var(--base-width);
	padding-top: var(--header-height);
	color: var(--color_type1);
	font-size: 16px;
}

#top {
	background-color: color-mix(in srgb, var(--color_type2) 8%, var(--color_type3) 3%);
}

img {
	width: auto;
	height: auto;
}


/**================================================================================
装飾
================================================================================**/

/* -------------------------------------
カテゴリボタン
-------------------------------------*/
.catBtn {
	display: flex;
	justify-content: flex-start;
	flex-flow: wrap;
	margin: 0 auto 60px;
	font-family: var(--webf);
	gap: 10px;
}

.catBtn a {
	/*flex: 1;*/
	position: relative;
	display: block;
	font-size: 1rem;
	padding: 8px 40px 8px 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	color: var(--color_type1);
	background: var(--white);

	border: 1px solid var(--color_type1);
	border-radius: 50px;
	white-space: nowrap;
	min-width: calc((100% - 15px*4) / 5);
}


.catBtn a:after {
	content: "→";
	display: block;
	font-family: var(--webf);
	font-size: 1rem;
	line-height: 1;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}

.catBtn a.current,
.catBtn a:hover {
	color: var(--white);
	background: var(--color_type1);
}


.seach{
  padding:15px 30px 1px;
  margin: 0 0 60px;
  display: flex;
  gap:30px;
}

.seach .tags{
  width:calc( ( 100% - 30px ) / 2);
}

.seach h3{
  font-size: 1.4rem;
  font-weight: bold;
  color: var(--color_type2);
}

.side-cat{
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  margin: 10px auto 30px;
}

.side-cat :is(a,label){
  border: 1px solid var(--color_type1);
  padding:10px 20px;
  background: var(--white);
  display: block;
}

@media screen and (max-width: 520px) {
	.catBtn {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
		margin: 20px auto;
		gap: 8px;
	}

	.catBtn a {
		flex: 1;
		min-width: auto;
		padding: 10px 30px 10px 10px;
		white-space: nowrap;
		font-size: 1rem;
	}
	
	.seach{
  padding:15px 15px 1px;
  margin: 0 0 30px;
  flex-flow: column;
  gap: 0;
}

.seach .tags{
  width:100%;
}

.seach h3{
  font-size: 1.2rem;
}

.side-cat{
  margin: 5px auto 15px;
}

.side-cat :is(a,label){
  padding:5px 10px;
}
	
}

/* -------------------------------------
文字装飾
-------------------------------------*/
: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_type1 {
	position: relative;
	display: inline-block;
}

.blur_type1: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 var(--color_type1), inset 0 0 40px var(--color_type1), inset 0 0 40px var(--color_type1),
		inset 0 0 40px var(--color_type1);
}

/**角丸：画像に直接かけれる**/
.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.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

/**画像トリミング：親要素にwとhを指定する**/
.ojf img {
	width: 100%;
	height: 100%;

	-o-object-fit: cover;
	object-fit: cover;
}

.aspA {
	aspect-ratio: 1/0.667;
}

.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;
}

.youtube video {
	width: 100%;
	height: auto;
	display: block;
}

@media screen and (max-width: 520px) {
	.youtube {
		margin: 20px auto 10px;
	}
}

/* -------------------------------------
google gmap
-------------------------------------*/
/**地図**/
.gmap iframe {
	width: 100%;
	height: 480px;
}

@media screen and (max-width: 480px) {
	.gmap iframe {
		height: 45vh;
	}
}

/* -------------------------------------
PDF埋め込み src="URL末尾#view=Fit"を入れる
-------------------------------------*/
.pdf_wrap {
	width: 800px;
	height: 500px;
}

.pdf_wrap iframe {
	display: block;
	width: 100%;
	height: 100%;
	margin: 30px auto;
}

@media screen and (max-width: 520px) {
	.pdf_wrap {
		width: 90%;
		height: 60vw;
	}
}


/**================================================================================
サイト用 CSS
================================================================================**/

/**-------------------------------------
アイコン
-------------------------------------**/
.em em,
em.em {
	font-size: 0.9rem;
	display: inline-block;
	padding: 3px 10px;
	text-align: center;
	font-style: normal;
	background: var(--color_type1);
	color: var(--white);
	min-width: 120px;
}

.time {
	font-style: normal;
	font-size: 1rem;
	display: inline-block;
	font-family: var(--webf);
}

@media screen and (max-width:520px) {

	.em em,
	em.em {
		font-size: 0.8rem;
		padding: 2px 5px;
	}

}

/**------------------------------ 
色
 ------------------------------**/

.bg_type1,
.bg_type2,
.bg_type3,
.bg_type4,
.bg_type5,
.bg_type6,
.bg_type7 {
	padding: 10px 15px;
	border-radius: 5px;
}

.bg_type1 {
	background-color: var(--color_type1);
	color: var(--white);
}

.bg_type2 {
	background-color: var(--color_type2);
	color: var(--white);
}

.bg_type3 {
	background-color: var(--color_type3);
	color:var(--color_type8);
}

.bg_type4 {
	background-color: var(--color_type4);
	color: var(--white);
}

.bg_type5 {
	background-color: var(--color_type5);
	color: var(--white);
}

.bg_type6 {
	background-color: var(--color_type6);
	color: var(--white);
}

.bg_type7 {
	background-color: var(--color_type7);
	color: var(--white);
}

.c_type1 {
	color: var(--color_type1);
}

.c_type2 {
	color: var(--color_type2);
}

.c_type3 {
	color: var(--color_type3);
}

.c_type4 {
	color: var(--color_type4);
}

.c_type5 {
	color: var(--color_type5);
}

.c_type6 {
	color: var(--color_type6);
}

.c_type7 {
	color: var(--color_type7);
}

.bd_type1,
.bd_type2,
.bd_type3,
.bd_type4,
.bd_type5,
.bd_type6,
.bd_type7 {
	padding: 5px 15px;
}

.bd_type1 {
	border-bottom: 4px dotted var(--color_type1);
	border-top: 4px dotted var(--color_type1);
	color: var(--color_type1);
}

.bd_type2 {
	border-bottom: 4px dotted var(--color_type2);
	border-top: 4px dotted var(--color_type2);
	color: var(--color_type2);
}

.bd_type3 {
	border-bottom: 4px dotted var(--color_type3);
	border-top: 4px dotted var(--color_type3);
	color: var(--color_type3);
}

.bd_type4 {
	border-bottom: 4px dotted var(--color_type4);
	border-top: 4px dotted var(--color_type4);
	color: var(--color_type4);
}

.bd_type5 {
	border-bottom: 4px dotted var(--color_type5);
	border-top: 4px dotted var(--color_type5);
	color: var(--color_type5);
}

.bd_type6 {
	border-bottom: 4px dotted var(--color_type6);
	border-top: 4px dotted var(--color_type6);
	color: var(--color_type6);
}

.bd_type7 {
	border-bottom: 4px dotted var(--color_type7);
	border-top: 4px dotted var(--color_type7);
	color: var(--color_type7);
}


.waku_type1,
.waku_type2,
.waku_type3,
.waku_type4,
.waku_type5,
.waku_type6,
.waku_type7 {
	padding: 20px;
	border-radius: 10px;
}

:is(.waku_type1,
.waku_type2,
.waku_type3,
.waku_type4,
.waku_type5,
.waku_type6,
.waku_type7) img{
  border: 3px solid var(--white);
}

.waku_type1 {
	background-color: color-mix(in srgb,var(--color_type1) 15%,var(--white) 100%);
}

.waku_type2 {
	background-color: color-mix(in srgb,var(--color_type2) 15%,var(--white) 100%);
}

.waku_type3 {
	background-color: color-mix(in srgb,var(--color_type3) 15%,var(--white) 100%);
}

.waku_type4 {
	background-color: color-mix(in srgb,var(--color_type4) 15%,var(--white) 100%);
}

.waku_type5 {
	background-color: color-mix(in srgb,var(--color_type5) 15%,var(--white) 100%);
}

.waku_type6 {
	background-color: color-mix(in srgb,var(--color_type6) 15%,var(--white) 100%);
}

.waku_type7 {
	background-color: color-mix(in srgb,var(--color_type7) 15%,var(--white) 100%);
}

/**------------------------------ 
ページタイトル
 ------------------------------**/
.pageTitle {
	color: var(--color_type1);
	font-family: var(--webf);
	padding: 60px var(--over-width-half);
	text-align: left;
	font-size: 1.3rem;
	line-height: 1.3;
}

.pageTitle i {
	display: block;
	font-size: 3rem;
	font-style: normal;
	font-family: var(--webf);
}

@media screen and (max-width:520px) {
	.pageTitle {
		padding: 40px 5% 40px;
		font-size: 1.2rem;
		line-height: 1.5;
	}
	.pageTitle i {
  	font-size: 1.8rem;
  }
}

/**-------------------------------------
見出し
-------------------------------------**/

:root {
	--titAc: var(--color_type2);
	--titAm: 0 0 40px;
	--titAta: center;
	--titAp: 0;

	--titA_ic: var(--color_type1);
}

.titA {
	font-family: var(--ff);
	font-size: 1.1rem;
	text-align: var(--titAta);
	color: var(--titAc);
	padding: var(--titAp);
	margin: var(--titAm);
	line-height: 1.3;
}

.titA i {
	display: block;
	font-family: var(--fwebf), var(--ff);
	font-size: 2rem;
	font-style: normal;
	color: var(--titA_ic);
	line-height: 1.3;
}

:root {
	--titBc: var(--color_type2);
	--titBm: 0 0 40px;
	--titBta: center;
	--titBai: center;
	--titBjc: flex-start;
	--titBff: row;
	--titBgap: 15px;
	--titBp: 0;

	--titB_ic: var(--color_type1);
}

.titB {
	display: flex;
	align-items: var(--titBai);
	justify-content: var(--titBjc);
	flex-flow: var(--titBff);
	gap: var(--titBgap);
	font-family: var(--ff);
	font-size: 1.1rem;
	text-align: var(--titBta);
	color: var(--titBc);
	padding: var(--titBp);
	margin: var(--titBm);
	line-height: 1.3;
}

.titB i {
	display: block;
	font-family: var(--fwebf), var(--ff);
	font-size: 2rem;
	font-style: normal;
	color: var(--titB_ic);
	line-height: 1.3;
}

:root {
	--titCfz: 1.6rem;
	--titCbd: 1px solid var(--white);
	--titCm: 0;
	--titCp: 5px 0;
}

.titC {
	font-size: var(--titCfz);
	border-bottom: var(--titCbd);
	padding: var(--titCp);
	margin: var(--titCm);
}

:root {
	--titDbg: var(--white);
	--titDc: var(--color_type1);
	--titDp: 5px 15px;
	--titDm: 30px 0 20px;
	--titDfz: 1.2rem;
}

.titD {
	background: var(--titDbg);
	color: var(--titDc);
	padding: var(--titDp);
	margin: var(--titDm);
	font-size: var(--titDfz);
	font-weight: var(--bold);
}


@media screen and (max-width:520px) {
	:root {
		--titAm: 0 0 20px;
		--titBm: 0 0 20px;
	}

	:is(.titA, .titB) i {
		font-size: 1.5rem;
	}
}


/**-------------------------------------
ボタン
-------------------------------------**/
:root {
	--btnAfz: 1rem;
	--btnAw: min(100%, 200px);
	--btnAm: 20px auto;
	--btnAp: 10px 20px;
	--btnAbg: var(--white);
	--btnAbd: 1px solid var(--color_type1);
	--btnAc: var(--color_type1);

	--btnAfl: none;
}

.btnA {
	flex: var(--btnAfl);
	font-size: var(--btnAfz);
	width: var(--btnAw);
	margin: var(--btnAm);
	padding: var(--btnAp);
	color: var(--btnAc);
	background: var(--btnAbg);
	border: var(--btnAbd);

	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	border-radius: 50px;

	--size: 11px;
}

.btnA:after {
	content: "→";
	display: block;
	font-family: var(--webf);
	font-size: 1.2rem;
	line-height: 1;
	margin-left: 15px;
}

.btnA:hover,
a:hover .btnA {
	background-color: var(--btnAc);
	color: var(--btnAbg);
	-webkit-transition: 0.5s;
	transition: 0.5s;
}


:root {
	--btnBfz: 0.9rem;
	--btnBw: min(100%, 200px);
	--btnBm: 0;
	--btnBp: 10px 20px;
	--btnBbg: var(--color_type1);
	--btnBbd: none;
	--btnBc: var(--white);

	--btnBbg_h: var(--color_type2);
	--btnBc_h: var(--white);
}

.btnB {
	font-size: var(--btnBfz);
	width: var(--btnBw);
	margin: var(--btnBm);
	padding: var(--btnBp);
	color: var(--btnBc);
	background: var(--btnBbg);
	border: var(--btnBbd);

	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	border-radius: 10px;
}

.btnB:after {
	content: "→";
	display: block;
	font-family: var(--webf);
	font-size: 1.2rem;
	line-height: 1;
	padding-left:0.5em;
}

.btnB:hover,
a:hover .btnB {
	background-color: var(--btnBbg_h);
	color: var(--btnBc_h);
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

.btnL {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
	padding: 20px 0;
	border-bottom: 1px solid var(--color_type1);
}

.btnL2{
  flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
	padding: 20px 0 20px 20px;
	border-bottom: 1px solid var(--color_type1);
	border-left: 1px solid var(--color_type1);
	margin:0 0 0 3rem;
}

.btnL3{
  flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
	padding: 20px;
	border: 3px double var(--color_type1);
	margin:40px 0 0;
}


.btnL:first-child{
	border-top: 1px solid var(--color_type1);  
}

:is(.btnL,.btnL2,.btnL3):after {
	content: "→";
	font-family: var(--webf);
	font-size: 1.6rem;
	margin: 0 0 0 auto;
}

:is(.btnL,.btnL2,.btnL3):hover {
	color: var(--color_type2);
}

:is(.btnL,.btnL2,.btnL3) svg{
  width:2rem;
  height:2.5rem;
	fill: #cc0000;
}

:is(.btnL,.btnL2,.btnL3):hover svg{
  fill:var(--color_type2);
}

@media screen and (max-width:520px) {
.btnL {
	gap: 10px;
	padding: 20px 0;
}

.btnL2{
	gap: 10px;
	padding: 20px 0 20px 15px;
	margin:0 0 0 2rem;
}

.btnL3{
	gap: 10px;
	padding: 20px 10px;
}
}

/**================================================== 
 テーブル
================================================== **/

/* -------------------------------------
テーブル
-------------------------------------*/
.table {}

.table table {
	width: 100%;
	border-top: 1px solid var(--color_type1);
	background: var(--white);
}

.table :is(th, td) {
	padding: 15px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--color_type1);
}

.table th {
	white-space: nowrap;
	width: 20%;
	color: var(--color_type1);
	font-weight: var(--bold);
	font-size: 1.1rem;
	background: color-mix(in srgb, var(--color_type1) 10%, white 100%);
}

.table th:before {
	content: "- ";
}

@media screen and (max-width: 520px) {

	.table :is(table, tbody, tr, th, td) {
		display: block;
	}

	.table :is(th, td) {
		padding: 10px;
		white-space: unset;
	}

	.table th {
		width: 100%;
		color: var(--color_type1);
	}
}



/**================================================== 
 追加共通
================================================== **/
.sec-base-width {
	padding-left: var(--over-width-half);
	padding-right: var(--over-width-half);
}

.sec-min-width {
	padding-left: calc((100% - 800px) / 2);
	padding-right: calc((100% - 800px) / 2);
	margin: 0 auto;
}

.sec-p1 {
	padding-top: 60px;
	padding-bottom: 60px;
}

.sec-p2 {
	padding-top: 70px;
	padding-bottom: 70px;
}

.sec-p3{
  padding-top: 1px;
  padding-bottom: 1px;
}

.sec-bg1 {
	background-color: color-mix(in srgb, var(--color_type2) 25%, var(--color_type3) 10%);
}

.sec-bg2 {
	background-color: var(--color_type1);
	color: var(--white);
}

.sec-bg3 {
	background-color: color-mix(in srgb, var(--color_type7) 10%, var(--white) 100%);
}

.sec-bg4 {
	background-color: color-mix(in srgb, var(--color_type2) 8%, var(--color_type3) 3%);
}

.sec-bg5 {
	background:var(--white) url("data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAAXNSR0IArs4c6QAAACFJREFUGFdj/H561n8GBgYGTtM0RhANAygc0iTQjSTdKABIgAgH/gNeKwAAAABJRU5ErkJggg==") repeat center;
}

.sec-bg6{
  background: var(--white);
}

.sec-bg-top {
	border-top: 1px solid var(--color_type1);
}

.sec-bg-bottom {
	border-bottom: 1px solid var(--color_type1);
}

.sec-bg-both {
	border-top: 1px solid var(--color_type1);
	border-bottom: 1px solid var(--color_type1);
}

.yellow {
	color: var(--color_type3);
}

@media screen and (max-width:520px) {
	.sec-p1 {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.sec-p2 {
		padding-top: 35px;
		padding-bottom: 35px;
	}
}

/**================================================== 
header
================================================== **/
header {
	--p: 2vw;
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	flex-flow: wrap;
	align-items: center;
	justify-content: space-between;
	width: max(100%, var(--base-width));
	color: var(--white);
	z-index: 15;
	font-weight: var(--bold);
	background: var(--white);
	font-size: 0.9vw;
}

header .logo {
	margin-left: var(--p);
}

header .logo img {
	width: auto;
	height: 42px;
	margin: calc((60px - 42px) / 2);
}

header .h-tel {
	font-size: 1.25rem;
	margin-right: var(--p);
	color: var(--color_type2);
	font-family: var(--webf);
}

header nav {
	padding: 0 0 0 var(--p);
	width: 100%;
	height: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--color_type1);
	color: var(--white);
}

header nav ul {
	display: flex;
}

header nav ul a {
	border-radius: 50px;
	padding: 5px 1.5vw;
}

header nav ul a:hover {
	background: var(--white);
	color: var(--color_type1);
}

header .menu {
	flex: 1;
	display: flex;
	justify-content: flex-end;
	gap: var(--gaps);
	height: 100%;
}

header .menu a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	white-space: nowrap;
	min-width: 160px;
	height: 100%;
	padding: 0 var(--p);
	background: var(--color_type2);
	color: var(--white);
	margin-left: 1px;
}

header .menu a svg {
	width: 23px;
	height: 21px;
	fill: var(--white);
}

.hamburger,
#hamburger-check {
	display: none;
}

header .h-online {
	display: none;
}

header a.h-tel-sp {
	display: none;
	font-size: 1.2rem;
}
@media screen and (max-width: 1150px) {
  header{
    font-size: 12px;
  }
  header nav ul a{
    padding:5px;
  }
}

@media screen and (max-width: 520px) {
	header {
		--heights: 60px;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 100;
		display: flex;
		justify-content: space-between;
		border-bottom: 1px solid var(--color_type1);
	}

	header .logo img {
		width: 120px;
	}

	header .h-tel {
		display: none;
	}

	header .h-online {
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		right: var(--heights);
		top: 0;
		width: var(--heights);
		height: var(--heights);
		background: var(--white);
	}

	header .h-online svg {
		fill: var(--color_type2);
		width: 30px;
		height: 30px;
	}

	/**------------------------------ 
ハンバーガーjqueryなし
 ------------------------------**/
	.hamburger {
		--gap: 20px;
		--size: var(--heights);
		position: fixed;
		top: 0;
		right: 0;
		display: flex;
		height: var(--size);
		width: var(--size);
		justify-content: center;
		align-items: center;
		z-index: 90;
		background: var(--color_type1);
		color: var(--color_type1);
	}

	#hamburger-check {
		display: none;
	}

	/**タップされる前 open**/
	.hamburger span,
	.hamburger span:before,
	.hamburger span:after {
		content: '';
		display: block;
		height: 2px;
		width: 25px;
		border-radius: 3px;
		background-color: var(--white);
		position: absolute;
	}

	.hamburger span:before {
		bottom: 8px;
	}

	.hamburger span:after {
		top: 8px;
	}

	/**タップされたとき close**/
	#hamburger-check:checked~.hamburger span {
		background-color: var(--color_type1);
	}

	#hamburger-check:checked~.hamburger span::before {
		bottom: 0;
		transform: rotate(45deg);
	}

	#hamburger-check:checked~.hamburger span::after {
		top: 0;
		transform: rotate(-45deg);
	}

	/**------------------------------ 
	ハンバーガー中身
	 ------------------------------**/
	header nav {
		width: 100%;
		height: 100%;
		position: fixed;
		overflow: scroll;
		top: 0;
		left: 100%;
		/*leftの値を変更してメニューを画面外へ*/
		z-index: 80;
		background-color: var(--color_type1);
		color: var(--white);
		transition: all 0.5s;
		/*アニメーション設定*/

		font-size: 1.2em;
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 25px;
		padding: 70px 5% 20px;
		margin: 0;
	}

	#hamburger-check:checked~.hamburger+nav {
		left: 0;
		/*メニューを画面内へ*/
	}

	header nav ul {
		flex-flow: column;
	}

	header .menu {
		flex: none;
		display: flex;
		flex-flow: column;
		justify-content: flex-start;
		gap: var(--gaps);
		height: auto;
		width: 100%;
	}

	header .menu a {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		white-space: nowrap;
		min-width: none;
		width: 100%;
		height: auto;
		padding: 15px 5%;
		background: var(--color_type2);
		color: var(--white);
		margin: 0 0 10px;
	}

	header .menu a:is(.h-mail, .h-tel-sp) {
		display: block;
		border: 2px solid var(--color_type2);
		background: var(--white);
		color: var(--color_type2);
	}

	header .menu .h-tel-sp svg {
		fill: var(--color_type2);
	}
}


/**------------------------------ 
メガメニュー
 ------------------------------**/

/**================================================== 
	 トグル動作
		 <div class="megamenu">
		 <input id="faq-01" type="checkbox">
		 <label for="faq-01" class="navbtn">クリックボタン</label>
		 <div class="childmenu">内容</div>
		 </div>
	================================================== **/

.megamenu {}

.megamenu .input {
	display: none;
}

.megamenu .navbtn {
	border-radius: 50px;
	padding: 5px 20px;
}

.megamenu .navbtn::after {
	display: inline-block;
	content: "▼";
	margin: 0 0 0 5px;
}

.megamenu .navbtn:hover {
	background: var(--white);
	color: var(--color_type1);
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

.childmenu {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.childmenu {
	height: 0;
	width: 100%;
	padding: 0 calc(var(--p) * 1.5);
	overflow: hidden;
	position: absolute;
	top: 100%;
	left: 0;
	display: flex;
	flex-flow: wrap;
	background-color: color-mix(in srgb, var(--color_type1) 30%, var(--white) 70%);
	gap: 1rem;
}

.childmenu a {
	background: var(--white);
	color: var(--color_type1);
	border-radius: 50px;
	padding: 5px 20px;
}

.childmenu a:hover {
	background: var(--color_type1);
	color: var(--white);
}

.input:checked+.navbtn+.childmenu {
	/*開閉時*/
	height: auto;
	width: 100%;
	padding: 1em calc(var(--p) * 1.5) 1.5em;
	transition: all .3s;
}

.input:checked+.navbtn::after {
	transform: rotate(-180deg) !important;
}

@media screen and (max-width:520px) {

	.megamenu .navbtn,
	header nav ul a {
		display: block;
		border-radius: 0;
		padding: 10px 15px;
		border-bottom: 1px solid color-mix(in srgb, var(--color_type1) 80%, var(--white) 30%);
	}

	.megamenu .navbtn {
		display: flex;
		justify-content: space-between;
		border-top: 1px solid color-mix(in srgb, var(--color_type1) 80%, var(--white) 30%);
	}

	.childmenu {
		height: 0;
		width: 100%;
		padding: 0 5%;
		overflow: hidden;
		position: relative;
		top: auto;
		left: auto;
		display: flex;
		flex-flow: wrap;
		background-color: color-mix(in srgb, var(--color_type1) 30%, var(--white) 70%);
		gap: 2px;
	}

	.childmenu a {
		background: var(--white);
		color: var(--color_type1);
		border-radius: 0;
		border: none;
		padding: 10px 20px;
		width: 100%;
	}

	.childmenu a:hover {
		background: var(--color_type1);
		color: var(--white);
	}

	.input:checked+.navbtn+.childmenu {
		/*開閉時*/
		height: auto;
		width: 100%;
		padding: 1em 5%;
		transition: all .3s;
	}

}

/**================================================== 
 footer
================================================== **/
footer {
	padding: 50px var(--over-width-half);
	font-weight: var(--bold);
	background-color: color-mix(in srgb, var(--color_type2) 8%, var(--color_type3) 3%);

	display: grid;
	grid-template-rows: auto auto auto 1fr;
	grid-template-columns: 1fr;
	grid-template-areas: "logo menu"
		"p menu"
		"dl menu";
	gap: 25px 70px;
}

footer .logo {
	grid-area: logo;
	font-size: 0.85em;
}

footer .logo img {
	width: 200px;
	display: block;
}

footer p {
	grid-area: p;
	font-size: 0.85rem;
}

footer p a {
	display: inline-block;
	font-size: 1.25rem;
	text-decoration: none;
	margin-right: 10px;
}

footer dl {
	grid-area: dl;
}

footer dl dt {
	border-top: 1px solid var(--color_type1);
	border-bottom: 1px solid var(--color_type1);
	padding: 5px 0;
	margin: 0 0 15px;
}

footer .menu {
	grid-area: menu;
	display: flex;
	flex-flow: column;
	justify-content: space-between;
}

footer nav {
	display: grid;
	grid-template-rows: 1fr auto;
	grid-template-columns: auto auto auto;
	grid-template-areas: "ul1 ul2 ul3"
		"ul1 ul2 sns";
	gap: 40px;
	white-space: nowrap;
}

footer nav ul:nth-child(1) {
	grid-area: ul1;
}

footer nav ul:nth-child(2) {
	grid-area: ul2;
}

footer nav ul:nth-child(3) {
	grid-area: ul3;
}

footer nav a {
	display: block;
	margin: 0 0 10px;
	font-size: 1.05rem;
}

footer nav .sub-menu {
	margin: -5px 0 15px 1em;
}

footer nav .sub-menu a {
	margin: 0 0 10px;
	font-size: 0.9em;
}

footer nav .sns {
	grid-area: sns;
	margin-top: 40px;
}

footer nav .sns svg {
	fill: var(--color_type1);
	width: 40px;
	height: 40px;
}

.copy {
	text-align: right;
	font-size: 0.8rem;
}

@media screen and (max-width:520px) {
	footer {
		padding: 30px var(--over-width-half);
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto auto auto;
		gap: 15px;
		grid-template-areas: "logo"
			"p"
			"dl"
			"menu";
	}

	footer .logo {
		display: block;
		margin: 0 auto;
		text-align: center;
	}

	footer .logo img {
		width: 150px;
		margin: 5px auto;
	}

	footer p {
		text-align: center;
	}

	footer p a {
		display: block;
	}

	footer dl dt {
		font-size: 1.1rem;
		text-align: center;
	}

	footer nav {
		display: flex;
		flex-flow: column;
		gap: 0;
		border-top: 1px solid color-mix(in srgb, var(--color_type1) 30%, var(--white) 30%);
		padding-top: 10px;
	}

	footer nav a {
		font-size: 1rem;
		margin: 0 0 5px;
	}

	footer nav .sub-menu {
		margin: 0;
	}

	footer nav .sub-menu a {
		margin: 0 0 5px;
	}

	footer nav .sub-menu a:before {
		content: "- ";
	}

	footer nav .sns {
		text-align: center;
		margin-top: 15px;
	}

	.copy {
		text-align: center;
	}
}

/**================================================== 
slide 
================================================== **/
.infinite-loop {
	width: 100%;
	overflow: hidden;
}

.infinite-loop+.infinite-loop {
	margin-top: 15px;
}

.infinite-loop .swiper-wrapper {
	transition-timing-function: linear;
}

.infinite-loop img {
	width: 100%;
	height: auto;
}

@media screen and (max-width:520px) {
	.infinite-loop+.infinite-loop {
		margin-top: 5px;
	}
}

/**================================================== 
 pagenation
================================================== **/

/* -------------------------------------
ページャー
-------------------------------------*/
.pagenation {
	margin: 60px auto;
	text-align: center;
}

.pagenation span {
	display: inline-block;
	margin: 5px;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 38px;
	background: var(--white);
	border: 1px solid var(--color_type1);
	border-radius: 50%;
}
.pagenation :is(span.prev,span.next){
  background: none;
  border: none;
}

.pagenation span.page:hover,
.pagenation span.page.current {
	background: var(--color_type2);
	color: var(--white);
	border: 1px solid var(--color_type2);
}

.pagenation span a {
	display: block;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 768px) {
	.pagenation span {
		margin: 3px;
		width: 30px;
		height: 30px;
		line-height: 27px;
	}
}

/**================================================== 
 TOP
================================================== **/
.hero {
	width: 100%;
	position: relative;
	padding: 0 0 0 calc(7% + 360px);
	margin: 0 0 50px;
	overflow: hidden;
}

.hero:before {
	content: "";
	display: block;
	width: 100%;
	height: 123px;
	background: var(--grad1);
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}

.hero .text {
	position: absolute;
	top: 50%;
	left: 7%;
	transform: translateY(-50%);
	padding: 30px 0;
	z-index: 5;
}

.hero .text h2 {
	color: var(--color_type2);
	font-family: var(--webf);
	font-weight: var(--bold);
	font-size: 6.4em;
	line-height: 1;
}

.hero .text h3 {
	color: var(--color_type2);
	font-weight: var(--bold);
	font-size: 1.6em;
}

.hero .text p {
	font-size: 1.3em;
	font-weight: var(--bold);
	margin: 40px 0 0;
	line-height: 2;
}

.hero .slide-hero img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

/**---- swiper ---**/
.slide-hero .swiper-horizontal>.swiper-pagination-bullets,
.slide-hero .swiper-pagination-bullets.swiper-pagination-horizontal,
.slide-hero .swiper-pagination-custom,
.slide-hero .swiper-pagination-fraction {
	position: absolute;
	bottom: 0;
	left: 7%;
}

.slide-hero .swiper-pagination-bullet {
	width: 20px;
	height: 2px;
	border-radius: 0;
	background: var(--color_type1);
}

.hero-slid .swiper-pagination-bullet-active {
	background: var(--color_type1);
}

/**---- swiper ---**/

@media screen and (max-width:520px) {
	.hero {
		padding: 0;
		margin: 0 0 25px;
		display: flex;
		flex-flow: column;
	}

	.hero .text {
		position: relative;
		top: auto;
		left: auto;
		transform: none;
		padding: 15px 5%;
		z-index: 5;
	}

	.hero .text h2 {
		font-size: 3.2em;
	}

	.hero .text h3 {
		font-size: 1.3em;
	}

	.hero .text p {
		font-size: 1em;
		margin: 20px 0;
		line-height: 1.7;
	}
}

/**------------------------------ 
page-info
 ------------------------------**/
.page-info {
	border-top: 1px solid var(--color_type1);
	border-bottom: 1px solid var(--color_type1);
	background: var(--white);
	padding: 15px 5%;
	text-align: center;
}

.page-info a:hover {
	color: var(--color_type2);
}

@media screen and (max-width:520px) {
	.page-info {
		font-size: 0.85rem;
		padding: 15px 3%;
	}
}

/**------------------------------ 
product list
 ------------------------------**/
.page-product {
	width: 100%;
	overflow: hidden;

}

.page-product  > .btnA{
  		--btnAw: fit-content;
}

.page-product .p-btn {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 190px;

	--btnAm: 0;
}

.slide-product {
	margin: 50px 0;
	position: relative;
}

.slide-product .swiper-slide {
  position: relative;
	height: auto;
}
.slide-product .swiper-slide .a{
  height: 100%;
}
.slide-product .swiper-slide .b.btnB{
  position: absolute;
  bottom: 30px;
  right: 20px;
  z-index: 50;
  --btnBm:0;
  --btnBw:fit-content;
  background: #ff7f81;
  
}
.slide-product .swiper-slide .b:hover{
  text-decoration: none;
}

.slide-product .swiper-slide-item {
	height: 100%;
}

/***スライドじゃない時**/
.list-product:not(#slide) {
	display: flex;
	flex-flow: wrap;
	align-items: stretch;
	gap: 30px;
}

.list-product:not(#slide) > * {
	width: calc((100% - 30px * 2) / 3);
}

/***スライドでもスライドでなくても***/
.list-product .a {
	display: grid;
	grid-template-rows: auto auto auto 1fr auto;
	grid-template-columns: 1fr;
	gap: 0;
	background: var(--white);
	border: 1px solid var(--color_type1);
	border-radius: 10px;
	overflow: hidden;
	padding: 0 0 30px;
}

.list-product figure {
	border-bottom: 1px solid var(--color_type1);
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.list-product figure figcaption {
	position: absolute;
	top: 10px;
	left: 10px;
	width: calc(100% - 20px);
}

.list-product figure figcaption div {
	border-radius: 5px;
	width: fit-content;
	margin: 0 0 5px;
	letter-spacing: 1px;
}

.list-product figure img {
	aspect-ratio: 1/1;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.new {
	position: absolute;
	top: 0;
	right: 0;
	background: red;
	color: var(--white);
	font-family: var(--webf);
	padding: 5px 15px;
	font-size: 1.2em;
	line-height: 1;
}

.age {
	border: 2px solid var(--color_type4);
	color: var(--color_type4);
	background: var(--white);
	overflow: hidden;
	text-align: center;
	line-height: 1.3;
	text-align: justify;
	text-align-last: justify;
}

.age b {
	display: block;
	padding: 0 5px;
}

.age span {
	display: block;
	color: var(--white);
	background: var(--color_type4);
	padding: 2px 5px;
}

.cat1 {
	background-color: var(--color_type7);
	color: var(--white);
	padding: 2px 10px;
}

.cat2 {
	background-color: var(--color_type5);
	color: var(--white);
	padding: 2px 10px;
}

.cat3 {
	text-align: center;
	border: 2px solid var(--color_type1);
	padding: 2px 5px;
	line-height: 1.3;
	font-weight: var(--bold);
}

.cat3 span {
	display: block;
	text-align: justify;
	text-align-last: justify;
}

.list-product h3 {
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: var(--bold);
	margin-top: 13px;
}

.list-product :is(h3, p) {
	padding: 0 20px 10px;
}

.list-product .btnB {
  --btnBw:fit-content;
	--btnBm: auto 20px 0;
}



/**---- swiper ---**/
.sw-btn {
	width: max(77vw, 850px);
	position: absolute;
	top: 10vw;
	left: 50%;
	transform: translateX(-50%);
	z-index: 5;

	display: flex;
	justify-content: space-between;
	align-items: center;
}

.sw-btn :is(.sw-next, .sw-prev) {
	--size: 50px;
	border: 1px solid var(--color_type1);
	background: var(--white);
	width: var(--size);
	height: var(--size);
	border-radius: 50px;
	cursor: pointer;
}

.sw-btn :is(.sw-next, .sw-prev):before {
	content: "→";
	font-family: var(--webf);
	font-size: 1.5rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--bg_arrow_b) no-repeat center / 30px;
}

.sw-btn .sw-prev:before {
	content: "←";
}

/**---- swiper ---**/

@media screen and (max-width:520px) {
	.page-product {
		--titBff: column;
		--titBgap: 5px;
		--titBm: 0 auto 20px;
	}

	.page-product .p-btn {
		flex-flow: column;
		gap: 30px;

		--btnAm: 0 auto;
	}

	/***スライドじゃない時**/

	.list-product:not(#slides)>* {
		width: 100%;
	}

	/***スライドでもスライドじゃなくても**/
	.list-product a {
		grid-template-rows: auto auto 1fr auto;
		grid-template-columns: 1fr;
		gap: 13px 0;
		gap: 0;
	}

	.list-product figure figcaption div {
		font-size: 0.85rem;
	}

	.list-product .new {
		font-size: 1rem;
	}

	.list-product h3 {
		font-size: 1.2rem;
		margin-top: 10px;
	}

	.list-product :is(h3, p) {
		padding: 0 15px 10px;
	}

	.list-product p {
		font-size: 0.9em;
	}

	.list-product .btnB {
		--btnBw: 90%;
		--btnBm: 0 5%;
		--btnBp: 5px 10px;
	}
	
	.list-product .a .btnB{
    --btnBm: auto 10px 0;
    --btnBw: 50%;
    
  }

	.slide-product {
		margin: 50px 0 20px;
		position: relative;
	}

	/**---- swiper ---**/
	.sw-btn {
		width: 90vw;
		position: absolute;
		top: 130px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;

		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	/**---- swiper ---**/
	
	.slide-product .swiper-slide .b.btnB {
	  right:10px;
  	--btnBm: auto 0 0;
  }
}

/**------------------------------ 
page-news
 ------------------------------**/
.page-news {
	--btnAm: 0 0 0 auto;
}

.list-news {
	border-top: 1px solid var(--color_type1);
	margin: 45px 0;
}
.list-news:empty{
  border: none;
}

.list-news li {
	border-bottom: 1px solid var(--color_type1);
	padding: 20px 0;
	display: flex;
	align-items: center;
	gap: 0 20px;
}

.list-news li .time {
	margin-right: 15px;
}

.list-news li a {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.list-news li a img {
	flex: none;
	width: 150px;
	height: 100px;
	object-fit: cover;
	margin: 0 0 0 auto;
}

.list-news li a:after {
	content: "→";
	font-family: var(--webf);
	font-size: 1.6rem;
}

.list-news li a:hover {
	color: var(--color_type2);
}

@media screen and (max-width:520px) {
	.page-news {
		--btnAm: 0 auto;
	}

	.list-news {
		margin: 25px 0;
	}

	.list-news li {
		flex-flow: wrap;
		gap: 10px;
	}

	.list-news li a {
		flex: none;
		width: 100%;
		gap: 15px;
		align-items: flex-start;
	}

	.list-news li a img {
		width: 90px;
		height: 90px;
	}

	.list-news li a:after {
		content: "→";
		font-family: var(--webf);
		font-size: 1.0rem;
	}
}


/**------------------------------ 
page-rental
 ------------------------------**/
.page-rental {
	padding: 80px 0 80px var(--over-width-half);
	display: flex;
	gap: 0 100px;

	--btnAbg: var(--color_type2);
	--btnAbd: 1px solid var(--color_type2);
	--btnAc: var(--white);
	--btnAw: min(100%, 300px);
	--btnAm: 40px 0 0;
	--btnAp: 15px 20px;
}

.page-rental figure {
	margin: 30px 0 20px;
}

.page-rental .pic {
	flex: none;
	width: 640px;
}

.page-rental ul li {
	position: relative;
	counter-increment: li;
	padding: 20px 0 20px 80px;
	border-bottom: 2px dotted var(--white);
}

.page-rental ul li:before {
	flex: none;
	display: flex;
	justify-content: center;
	align-items: center;
	content: counter(li);
	background: var(--white);
	color: var(--color_type1);
	width: 60px;
	height: 60px;
	border-radius: 50px;
	font-size: 1.7rem;
	line-height: 1;
	font-family: var(--webf);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.page-rental ul h3 {
	font-size: 1.5rem;
}

.page-rental ul p {
	font-size: 0.85rem;
	font-weight: normal;
}

@media screen and (max-width:520px) {
	.page-rental {
		flex-flow: column;
		padding: 30px var(--over-width-half) 2px;
		gap: 40px;

		--btnAm: 40px auto 0;
	}

	.page-rental .pic {
		flex: none;
		width: 110%;
		display: flex;
		margin-left: -5%;
	}

	.page-rental ul li {
		position: relative;
		counter-increment: li;
		padding: 20px 0 20px 60px;
		border-bottom: 2px dotted var(--white);
	}

	.page-rental ul li:before {
		width: 40px;
		height: 40px;
		font-size: 1.4rem;
		top: 15px;
		left: 0;
		transform: none;
	}

	.page-rental ul h3 {
		font-size: 1.3rem;
		line-height: 1.3;
		margin: 0 0 10px;
	}
}

/**------------------------------ 
page-asys
 ------------------------------**/
.page-asys {}

.page-asys-bnr {
	display: flex;
	flex-flow: wrap;
	align-items: center;
	width: 100%;
	border: 1px solid var(--color_type1);

	--btnAm: 30px 0 0;
}

.page-asys-bnr h2 {
	width: 100%;
	font-size: 1.7rem;
	text-align: center;
	padding: 5px 5%;
	border-bottom: 1px solid var(--color_type1);
}

.page-asys-bnr picture {
	aspect-ratio: 1/1;
	flex: none;
	width: 550px;
	height: auto;
	border-right: 1px solid var(--color_type1);
}

.page-asys-bnr picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-asys-bnr .asys-bnr-inner {
	flex: 1;
	padding: 50px;
}

@media screen and (max-width:520px) {

	.page-asys-bnr {
		--btnAm: 30px auto 0;
	}

	.page-asys-bnr picture {
		width: 100%;
		border: none;
		border-bottom: 1px solid var(--color_type1);
	}

	.page-asys-bnr h2 {
		font-size: 1.3rem;
	}

	.page-asys-bnr .asys-bnr-inner {
		flex: 1;
		padding: 25px 15px;
	}
}

/**------------------------------ 
page-after
 ------------------------------**/
.page-after {
	--btnAm: 40px auto 0;
}

.page-after .youtube {
	width: 864px;
	margin: 0 auto;
}

.page-after p {
	text-align: center;
	margin: 30px 0;
}

.list-movie {
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	gap: 40px 100px;
	margin: 60px auto;

	--titCfz: 1.3rem;
	--titCm: 0 0 15px;
	--titCbd: none;
}

.list-movie li {
	width: calc((100% - 100px) / 2);
}

.list-movie li .youtube {
	width: 100%;
}

.list-movie li p {
	text-align: left;
	font-size: 0.9rem;
	font-weight: normal;
	margin: 15px 0 0;
}

@media screen and (max-width:520px) {
	.page-after p {
		text-align: left;
		margin: 20px 0;
	}

	.page-after .youtube {
		width: 100%;
		margin: 0 auto;
	}

	.list-movie li {
		width: 100%;
	}
}

/**------------------------------ 
page-selling
------------------------------**/
.page-selling {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	gap: 70px;

	--titCbd: 1px dashed var(--color_type1);
	--titCfz: 1.5rem;
	--titCm: 0 0 15px;

	--btnAm: 30px 0 0;
}

.page-selling figure {
	flex: none;
	width: 550px;
	position: relative;
}

.page-selling figure>img {
	border: 1px solid var(--color_type1);
}

.page-selling figure figcaption {
	display: block;
	position: absolute;
	top: -115px;
	left: -70px;
	animation: 10s linear infinite rotation;
}

.page-selling-inner {
	flex: 1;
}

@keyframes rotation {
	0% {
		transform: rotate(0);
	}

	100% {
		transform: rotate(360deg);
	}
}

.casper {
	margin: 15px 0;
	font-size: 1.2rem;
	line-height: 1.5;
}

.casper b {
	display: block;
}

.casper b::first-letter {
	font-size: 1.2em;
	color: var(--color_type2);
}

@media screen and (max-width:520px) {
	.page-selling {
		flex-flow: column;
		gap: 30px;

		--titCfz: 1.3rem;

		--btnAm: 30px auto 0;
	}

	.page-selling figure {
		width: 100%;
	}

	.page-selling figure figcaption {
		width: 120px;
		height: 120px;
		top: -60px;
		left: -5%;
	}
}


/**------------------------------ 
waku-ad
 ------------------------------**/
.waku-ad {
	background: var(--white);
	font-size: 1.8em;
	text-align: center;
	padding: 20px 5%;
}

@media screen and (max-width:520px) {
	.waku-ad {
		font-size: 1.2em;
	}
}

/**------------------------------ 
page-recruit
 ------------------------------**/
.page-recruit {
	background: url(/common/images/top_img06.webp) no-repeat center right / cover;
}

.page-rec-bnr {
	width: 460px;
	padding: 50px 60px;
	border: 1px solid var(--color_type1);

	--btnAm: 40px auto 0;
}

@media screen and (max-width:520px) {
	.page-recruit {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.page-rec-bnr {
		width: 100%;
		padding: 25px 15px;

		--btnAm: 30px auto 0;
	}
}

/**------------------------------ 
 ------------------------------**/

.page-vendor {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.page-vendor picture {
	width: 40vw;
	min-width: 550px;
	height: auto;
}

.page-vendor picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-vendor .text {
	flex: 1;
	padding: 0 60px;
}

.page-vendor .text h2 {
	color: var(--color_type2);
	font-family: var(--webf);
	font-weight: var(--bold);
	font-size: 6.4vw;
	line-height: 1.2;
}

.page-vendor .text h3 {
	color: var(--color_type2);
	font-weight: var(--bold);
	font-size: 1.6em;
}

.page-vendor .text p {
	font-size: 1.1em;
	font-weight: var(--bold);
	margin: 40px 0 0;
	line-height: 2;
}

@media screen and (max-width:520px) {
	.page-vendor {
		flex-flow: column-reverse;
	}

	.page-vendor picture {
		width: 100%;
		min-width: auto;
		height: 40vw;
	}

	.page-vendor .text {
		padding: 15px;
	}

	.page-vendor .text h3 {
		color: var(--color_type2);
		font-weight: var(--bold);
		font-size: 1.4em;
	}

	.page-vendor .text p {
		font-size: 1.2em;
		line-height: 1.5;
		margin: 20px 0 0;
	}
}

/**------------------------------ 
list-flow
 ------------------------------**/
.listTitle {
	display: grid;
	grid-template-rows: auto auto auto 1fr;
	grid-template-columns: 1fr 400px;
	grid-template-areas: "h3 pic"
		"h4 pic"
		"em pic"
		"p pic";
	gap: 0 60px;
	border: 1px solid var(--color_type1);
	padding: 0 0 0 30px;
}

.listTitle h3 {
	grid-area: h3;
}

.listTitle h4 {
	grid-area: h4;
}

.listTitle .em {
	grid-area: em;
	display: flex;
	flex-flow: wrap;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 20px;
}

.listTitle .em em {
	background: var(--white);
	color: var(--color_type1);
	padding: 5px 20px;
	font-size: 1rem;
	display: flex;
	align-items: center;
	gap: 10px;
}

.listTitle .em em:before {
	content: "";
	display: block;
	width: 10px;
	height: 15px;
	border-right: 3px solid var(--color_type1);
	border-bottom: 3px solid var(--color_type1);
	transform: rotate(45deg);
	opacity: 0.3;
}

.listTitle p {
	grid-area: p;
	font-size: 1.2rem;
}

.listTitle picture {
	grid-area: pic;
}

.list-flow {
	display: flex;
	flex-flow: wrap;
	gap: 30px;
	margin: 60px auto;
	overflow: hidden;
}

.list-flow li {
	width: calc((100% - 30px * 2) / 3);
	border: 1px solid var(--color_type1);
	padding: 30px;
	border-radius: 10px;
	display: flex;
	flex-flow: column;
	counter-increment: li;
	background: var(--white);
}

.list-flow li h3 {
	font-size: 1.2rem;
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	line-height: 1.3;
	margin: 0 0 20px;
	font-weight: var(--bold);
}

.list-flow li h3:before {
	font-size: 1.8rem;
	line-height: 1;
	content: counter(li);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 0 20px;
	width: 80px;
	height: 50px;
	border-radius: 0 50px 50px 0;
	background: var(--color_type1);
	color: var(--white);
	margin-left: -62px;
	font-family: var(--webf);
}

.list-flow li h4 {
	background: var(--color_type1);
	color: var(--white);
	padding: 5px 20px;
	margin: 0 0 15px;
}

.list-flow li p {
	margin: 0 0 15px;
}

.list-flow li picture {
	aspect-ratio: 1/1;
	margin: auto 0 0;
	border: 1px solid var(--color_type1);
	background: var(--white);
}

.list-flow li picture img {
	width: 100%;
	object-fit: contain;
}

@media screen and (max-width:520px) {
	.listTitle {
		display: grid;
		grid-template-rows: auto auto auto auto 1fr;
		grid-template-columns: 1fr;
		grid-template-areas: "h3"
			"h4"
			"em"
			"p"
			"pic";
		gap: 5px;
		padding: 15px;
	}

	.listTitle .em em {
		padding: 5px 10px;
		width: 100%;
		text-align: left;
		gap: 10px;
		font-size: .9rem;
	}

	.list-flow li {
		width: 100%;
		padding: 15px;
		border-radius: 10px;
	}

	.list-flow li h3:before {
		width: 60px;
		margin-left: -15px;
	}
}

/**------------------------------ 
list-faq
 ------------------------------**/
.list-faq dl {
	border: 1px solid var(--color_type1);
	background: var(--white);
}

.list-faq dl+dl {
	margin: 25px 0 0;
}

.list-faq dl dt {
	border-bottom: 1px solid var(--color_type1);
	font-size: 1.2rem;
	font-weight: var(--bold);
}

.list-faq dl :is(dt, dd) {
	padding: 15px 30px 15px 60px;
	position: relative;
}

.list-faq dl :is(dt, dd):before {
	content: "A.";
	font-family: var(--webf);
	font-size: 1.4rem;
	position: absolute;
	top: 10px;
	left: 30px;
	font-weight: bold;
}

.list-faq dl dt:before {
	content: "Q.";
	top: 12px;
}

.list-faq dl img {
	margin: 1em 0;
}

@media screen and (max-width:520px) {

	.list-faq dl dt {
		font-size: 1.2rem;
		line-height: 1.5;
	}

	.list-faq dl :is(dt, dd) {
		padding: 15px 15px 15px 45px;
	}

	.list-faq dl :is(dt, dd):before {
		font-size: 1.2rem;
		left: 15px;
	}
}

/**------------------------------ 
 ------------------------------**/
.page-thought {
	padding-top: 70px;
	padding-bottom: 100px;
	position: relative;

	background-image: url(/common/images/bg-02.webp), url(/common/images/bg-04.webp);
	background-repeat: no-repeat, no-repeat;
	background-position: top right, bottom left;
	font-size: 1.1rem;

	text-shadow: 1px 1px 0 #f8d7b1,
		-1px -1px 0 #f8d7b1,
		-1px 1px 0 #f8d7b1,
		1px -1px 0 #f8d7b1,
		0px 2px 0 #f8d7b1,
		0 -2px 0 #f8d7b1,
		-2px 0 0 #f8d7b1,
		2px 0 0 #f8d7b1;

	--titCbd: 1px dashed var(--color_type1);
	--titCfz: 1.5rem;
	--titCm: 0 0 15px;

	--btnAm: 30px 0 0;
}

@media screen and (max-width:520px) {
	.page-thought {
		padding: 35px 5% 50px;

		background-size: 45%, 45%;
	}
}

/**------------------------------ 
page-rinen
 ------------------------------**/
.page-rinen,
.page-mission,
.page-vision {
	position: relative;
	text-shadow: 1px 1px 0 #fdf1e5,
		-1px -1px 0 #fdf1e5,
		-1px 1px 0 #fdf1e5,
		1px -1px 0 #fdf1e5,
		0px 2px 0 #fdf1e5,
		0 -2px 0 #fdf1e5,
		-2px 0 0 #fdf1e5,
		2px 0 0 #fdf1e5;
}

.page-rinen {
	padding-top: 100px;
	padding-bottom: 70px;
}

:is(.page-rinen,
	.page-mission, .page-vision)>* {
	position: relative;
	z-index: 2;
}

.page-rinen:before {
	aspect-ratio: 250/270;
	content: "";
	display: block;
	width: 250px;
	height: auto;
	background: url(/common/images/bg-06.webp) no-repeat bottom right /contain;
	position: absolute;
	bottom: 0;
	right: 5px;
	opacity: 0.5;
}


.page-rinen figure {
	width: 140px;
	height: 140px;
	display: block;
	animation: 10s linear infinite rotation;
	border-radius: 50%;
	position: absolute;
	top: -70px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

@media screen and (max-width:520px) {

	.page-rinen {
		padding: 45px 5% 80px;
	}

	.page-rinen:before {
		width: 45%;
	}

	.page-rinen figure {
		width: 90px;
		height: 90px;
		top: -45px;
	}
}

/**------------------------------ 
page-mission
 ------------------------------**/

.page-mission:before {
	aspect-ratio: 250/300;
	content: "";
	display: block;
	width: 250px;
	height: auto;
	background: url(/common/images/bg-07.webp) no-repeat bottom left /contain;
	position: absolute;
	bottom: 0;
	left: 0;
	opacity: 0.5;
}

@media screen and (max-width:520px) {
	.page-mission {
		padding: 30px 5% 80px;
	}

	.page-mission:before {
		width: 45%;
	}
}


/**------------------------------ 
page-vision
 ------------------------------**/
.page-vision {
	padding-top: 70px;
	padding-bottom: 100px;
}

.page-vision:before {
	aspect-ratio: 250/300;
	content: "";
	display: block;
	width: 250px;
	height: 300px;
	background: url(/common/images/bg-05.webp) no-repeat bottom right/contain;
	position: absolute;
	bottom: 0;
	right: 0;
	opacity: 0.5;
}

@media screen and (max-width:520px) {
	.page-vision {
		padding: 35px 5% 80px;
	}

	.page-vision:before {
		width: 35%;
	}
}

/**------------------------------ 
page-popnclub
 ------------------------------**/

.page-popnclub {
	--titCbd: 1px solid var(--color_type1);
	--titCm: 0 0 20px;

	--titDbg: var(--color_type1);
	--titDc: var(--white);
	--titDm: 20px 0 10px;

	--btnAw: fit-content;
	--btnAm: 0 auto;
}

.page-popnclub picture {
	display: block;
	width: 100%;
	border: 1px solid var(--color_type1);
	margin: 0 0 40px;
}

.page-popnclub picture img {
	width: 100%;
}

.popn-director {
	display: flex;
	gap: 20px;
	padding: 20px;
	background: var(--white);
	border: 1px solid var(--color_type1);
	margin: 30px 0;
	font-size: 0.9rem;
}

.popn-director figure {
	width: 190px;
	flex: none;
}

.popn-director .sns {
	margin: 10px 0 0;
	display: flex;
	justify-content: flex-end;
	gap: 15px;
}

.popn-director .sns svg {
	width: 30px;
	height: 30px;
	fill: var(--color_type1);
}

@media screen and (max-width:520px) {
	.page-popnclub {
		--titCfz: 1.3rem;
	}

	.page-popnclub picture {
		margin: 0 0 20px;
	}

	.popn-director {
		flex-flow: column;
		gap: 15px;
		padding: 20px;
		margin: 20px 0;
	}

	.popn-director figure {
		margin: 0 auto;
	}
}

/**------------------------------ 
page-company
 ------------------------------**/

.page-company {
	--titAc: var(--white);
	--titA_ic: var(--white);
	--btnAw: fit-content;
}

.page-company .table {
	color: var(--color_type1);
}



/**================================================== 
製品詳細 
================================================== **/
.single-goods {
	padding: 0 0 1px;
	--Hmargin:30px 0 20px;
}

.single-goods h1 {
	text-align: center;
	font-size: 3rem;
	background: var(--white);
}

.single-goods h1 img {
	max-width: 100%;
	height: auto;
}

.single-goods h1 span {
	display: block;
	padding: 20px 5%;
}

.single-goods :is(h2, h3, h4, h5, h6) {
	margin:var(--Hmargin);
	line-height: 1.5;
}

.single-goods h2 {
	font-size: 2rem;
}

.single-goods h3 {
	font-size: 1.8rem;
}

.single-goods h3 {
	font-size: 1.6rem;
}

.single-goods h4 {
	font-size: 1.4rem;
}

.single-goods h5 {
	font-size: 1.2rem;
}

.single-goods h6 {
	font-size: 1rem;
}

.single-goods .category {
	display: flex;
	justify-content: center;
	gap: 15px;
	padding: 15px 5%;
	background: var(--white);
}

.single-goods .category>* {
	display: flex;
	flex-flow: column;
	justify-content: center;
	border-radius: 5px;
}

.single-goods .the_content {
	background: var(--white);
	width: var(--base-width);
	margin: 70px auto;
	padding: 50px;
	border: 1px solid var(--color_type1);
	color:#1e1e1e;
}

.the_content table :is(td,th){
  border: 1px solid #bfbfbf;
  padding:0.4em;
}

.the_content .img-img {
	display: flex;
	flex-flow: wrap;
	gap: var(--gaps);
}

.the_content .img-img>* {
	width: calc((100% - var(--gaps) * (var(--row) - 1)) / var(--row));
}

.the_content .img-img .on p{
  line-height:1.2;
}.the_content .img-img .on p + p br{
  display: none;
}

.the_content picture {
	display: block;
	text-align: center;
}

.the_content picture img {
	max-width: 100%;
	height: auto;
}

.the_content .text-img {
	display: flex;
	flex-flow: var(--flow);
	gap: 40px;
}

.the_content .text-img>* {
	flex: 1;
}


.the_content .num-list {
	margin: 30px 0 20px;
}

.the_content .num-list>* {
	padding: 20px 15px 20px 80px;
	display: flex;
	gap: 40px;
	position: relative;
}

.the_content .num-list>*+* {
	border-top: 1px dotted #aaa;
}

.the_content .num-list>*:before {
	content: attr(data-nums);
	position: absolute;
	top: 15px;
	left: 0;
	z-index: 2;
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50px;
	font-size: 1.6rem;
	color: var(--white);
	font-family: var(--webf);
}

.the_content .num-list :is(h2, h3, h4, h5, h6) {
	margin-top: 0;
}

.the_content .num-list picture {
  flex: none;
	max-width: 50%;
}

.the_content .num-list .richtext{
  flex: 1;
}

.the_content .flex {
	display: flex;
	flex-flow: var(--fff);
	gap: var(--fgap);
}

.the_content .flex .L {
	width: var(--Lw);
}

.the_content .flex .R {
	width: var(--Rw);
	flex: none;
}

.the_content .btn-wrap,
.the_content2 .btn-wrap{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: row;
	gap: 40px;
	margin: 30px 0 20px;

	--btnBw: fit-content;
	--btnBm: 0;
	--btnBw:fit-content;
  --btnBfz:1.2rem;
  --btnBp:10px 40px;
}


.the_content2 h2{
  font-size: 1.6rem;
  
  margin:0 auto 20px;
  --titDp:0;
  --titDc:var(--color_type1);
  --titDbg:none;
}

.the_content2 .btn-wrap + h2{
   margin:60px auto 20px;
}

@media screen and (max-width:520px) {
  .single-goods{
    --Hmargin:15px 0 10px;
  }
  
	.single-goods h1 {
		font-size: 1.6rem;
		line-height: 1.3;
	}

	.single-goods :is(h2, h3, h4, h5, h6) {
		margin:var(--Hmargin);
	}

	.single-goods h2 {
		font-size: 1.7rem;
	}

	.single-goods h3 {
		font-size: 1.5rem;
	}

	.single-goods h3 {
		font-size: 1.3rem;
	}

	.single-goods h4 {
		font-size: 1.2rem;
	}

	.single-goods h5 {
		font-size: 1.1rem;
	}

	.single-goods h6 {
		font-size: 1rem;
	}

	.single-goods .category {
		flex-flow: wrap;
	}

	.single-goods .the_content {
		width: 90%;
		margin: 35px auto;
		padding: 15px;
	}

	.the_content .img-img {
		gap: var(--gaps);
	}

	.the_content .text-img {
		gap: 20px;
	}


	.the_content .num-list {
		margin: 15px 0 10px;
	}

	.the_content .num-list>* {
		flex-flow: column;
		padding: 20px 15px 20px 50px;
		gap: 20px;
	}

	.the_content .num-list>*:before {
		top: 20px;
		width: 40px;
		height: 40px;
		font-size: 1.3rem;
	}

	.the_content .num-list :is(h2, h3, h4, h5, h6) {
		margin-top: 0;
	}

	.the_content .num-list picture {
		max-width: 100%;
	}

	.the_content .flex {
	}

	.the_content .flex .L {
		width: var(--Lw);
	}

	.the_content .flex .R {
		width: var(--Rw);
	}

	.the_content .btn-wrap,
	.the_content2 .btn-wrap{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-flow: column;
		gap: 20px;
		margin: 30px 0 20px;

		--btnBw: 100%;
		--btnBm: 0;
	  --btnBp:10px 15px;
	}
	
	.the_content2 h2{
    font-size: 1.3rem;
	}
}

/**================================================== 
電話
================================================== **/

.phone{
  font-size: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 20px auto;
}

.phone svg{
  fill:var(--white);
  width: 0.8em;
  height: 0.8em;
}

@media screen and (max-width:520px) {
  .phone{
  font-size: 2.3rem;
  gap: 5px;
  margin: 15px auto;
}
}


/**================================================== 
フォーム
================================================== **/
.table form th{
  position:relative;
  padding-right: 4em;
}

/*必須*/
.require {
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 2em;
	position: absolute;
	top: 15px;
	right: 10px;
	display: inline-block;
	width: 3em;
	height: 2em;
	text-align: center;
	color: #ffffff;
	border-radius: 3px;
	background: #cc0000;
}

/*エラー*/
.alert{
  color:#cc0000;
}

.owlet-input-sample {
	opacity: 0.6;
}

.-w-rules-body a{
  text-decoration: underline;
}

.-w-rules-agree label,
.owlet-rules-agree label{
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 50px auto;
	position: relative;
}

.-w-rules-agree .require,
.owlet-rules-agree .require{
	position: static;
	margin-left: 15px;
	transform: none;
}

.-w-form-btn {
	--btnAw: 300px;
	--btnAm: 20px auto;
	--btnAta: center;
}

form select{
  min-height: 3em;
  margin: 0 5px 10px;
}

form input.owlet-input-name-mei,
form input.owlet-input-name-sei {
	width: 10em;
	margin: 0 5px 5px;
}

form input.zip1,
form input.zip2,
form input.zip3 {
	width: 5em;
	margin: 0 5px 10px;
}

form input.zip2addr {
	height: 2.4em;
	padding: 0 15px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #ccc inset;
	margin: 0 5px 5px;
}

form input.address1 {
	width: calc(100% - 8em);
}

form input.owlet-input-tel1,
form input.owlet-input-tel2,
form input.owlet-input-tel3 {
	width: 5em;
	margin: 0 5px 5px;
}

.form_button{
  display: flex;
  flex-flow: column-reverse;
  justify-content: center;
  margin:30px auto;
}

.form_button input[type="submit"],
.form_button input[type="button"]{
	font-size: 1.2rem;
	width: 300px;
	margin: 50px auto;
	padding: 20px;
	color: var(--white);
	background: var(--color_type2);
	border: 1px solid var(--color_type2);

	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border-radius: 50px;
	text-align: center;
}

.form_button a{
  width: 10em;
  margin:10px auto;
  display:block;
  text-align: center;
  text-decoration: underline;
}.form_button a:hover{
  text-decoration: none;
}

@media screen and (max-width:520px) {

	.-w-rules-agree label {
		width: 100%;
	}

	form input.owlet-input-name-mei,
	form input.owlet-input-name-sei {
		width: 7em;
		margin: 0 5px 5px;
	}

	form input.zip1,
	form input.zip2,
	form input.zip3 {
		width: 5em;
		margin: 0 0px 5px;
	}

	form input.zip2addr {
		height: 2.4em;
		padding: 0 15px;
		border-radius: 4px;
		border: none;
		box-shadow: 0 0 0 1px #ccc inset;
		margin: 0 5px 5px;
	}

	form input.address1 {
		width: 100%;
	}
}


/**================================================== 
取引様
================================================== **/
.sec-client{}

.waku_first {
	display: flex;
	gap: 20px;
	padding: 20px;
	background: var(--white);
	margin: 30px 0;
	font-size: 0.9rem;
}

.waku_first figure {
	width:50px;
	flex: none;
}


@media screen and (max-width:520px) {
  .sec-client{
    padding-left: 5%;
    padding-right: 5%;
  }

	.waku_first {
		gap: 15px;
		padding: 20px;
		margin: 20px 0;
	}

	.waku_first figure {
		margin: 0 auto;
	}
}

/**================================================== 
お客様の声
================================================== **/
.sec-voice{
  width:100%;
  margin: 40px auto 0;
  padding: 30px;
  border-top: 1px solid var(--color_type1);
  background: var(--white);
  overflow: hidden;
  display: none;
}
.list-voice{
  width: var(--base-width);
  margin: 0 auto;
  display:flex;
  flex-flow: wrap;
  gap: 15px;
}

.list-voice li{
  width:calc( ( 100% - 30px ) / 3);
  display: flex;
  flex-flow: column;
  gap: 8px;
}

.list-voice li:nth-of-type(n + 7) {
  display: none;
}

.list-voice figure{
  aspect-ratio: 4/3;
  width: 100%;
  height: auto;
}

.list-voice figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.list-voice .flex{
  display: flex;
  justify-content: space-between;
  margin:15px 0 0;
}

.list-voice h3{
  margin:15px 0;
  font-size: 1.1rem;
  font-weight: bold;
}

#slide2{
  position: relative;
}

#slide2 .sw-btn{
  top:70px;
}

@media screen and (max-width:520px) {
  .list-voice{
  }
  
  .list-voice li{
    width:calc( ( 100% - 15px ) / 2);
  }
  
  #slide2 .sw-btn{
  top:45px;
  }
}

/*layout:5*/