@charset "UTF-8";
/*$main-color: #006e1c;*/
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

html {
  font-size: 62.5%;
}

body {
  position: relative;
  background: #F4F6F7;
  color: #000;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
}
@media screen and (max-width: 767.98px) {
  body {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

img {
  max-width: 100%;
  height: auto;
  backface-visibility: hidden;
}

input[type=text],
input[type=email],
input[type=password],
input[type=date],
textarea,
select {
  max-width: 100%;
  padding: 0.4em 0.8em;
  border: 1px solid #777;
  border-radius: 6px;
  font-size: 1.6rem;
  font-family: inherit;
  background: #fff;
  outline: none;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=date]:focus,
textarea:focus,
select:focus {
  border-color: #2db92d;
  outline: 2px solid #2db92d;
}

input[type=text],
input[type=email],
input[type=password],
input[type=date] {
  height: 44px;
}

select {
  height: 44px;
  padding-right: 1.5em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z" fill="rgb(128,128,128)" /></svg>');
  background-position: right 7px center;
  background-repeat: no-repeat;
  background-size: 0.8em auto;
}

textarea {
  resize: none;
  outline: 1px solid #777;
  border: none;
}

/*-----------------------------
  header
-----------------------------*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #ddd;
  z-index: 997;
}
.header__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1em;
}
.header__title {
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .header__title {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .header__title {
    flex-shrink: 0;
    font-size: 2.6rem;
  }
}
.header__beta {
  display: none;
  margin-left: 0.5em;
  font-weight: 400;
  color: #aaa;
}
@media screen and (max-width: 767.98px) {
  .header__beta {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 768px) {
  .header__beta {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 767.98px) {
  .header-nav {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .header-nav {
    display: flex;
  }
  .header-nav__item {
    position: relative;
  }
  .header-nav__item a {
    display: block;
    padding: 0.8em 1em;
    border-radius: 6px;
    font-size: 1.5rem;
    line-height: 1.3;
    transition: 0.4s;
  }
  .header-nav__item a:hover {
    background: #cffcda;
  }
  .header-nav__submenu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border-radius: 6px;
    transition: opacity 0.4s;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
  }
  .header-nav__item:hover .header-nav__submenu {
    opacity: 1;
    visibility: visible;
  }
}
.header-nav--logout {
  margin: 0 2em 0 auto;
}

@media screen and (max-width: 767.98px) {
  .header-btns {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .header-btns {
    flex-shrink: 0;
    display: flex;
    gap: 0.6em;
  }
  .header-btns [class*=m-button] {
    font-size: 1.5rem;
  }
}

/*-----------------------------
  sp-menu
-----------------------------*/
.sp-menu {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .sp-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 5em 0 2em;
    background: #fff;
    overflow-y: auto;
    z-index: 998;
  }
}
.sp-menu__btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5em;
  margin-top: 1.5em;
}
.sp-menu__btns button {
  min-width: 120px;
}
@media screen and (max-width: 767.98px) {
  .sp-menu__btn {
    position: fixed;
    top: 8px;
    right: 8px;
    width: 42px;
    height: 42px;
    z-index: 999;
    background: #eee;
    border-radius: 50%;
  }
  .sp-menu__btn span {
    position: absolute;
    top: 50%;
    left: 25%;
    display: block;
    width: 50%;
    height: 2px;
    margin-top: -1px;
    background: #aaa;
    opacity: 1;
    transition: 0.3s;
  }
  .sp-menu__btn span:nth-child(2) {
    transform: translateY(-7px);
  }
  .sp-menu__btn span:nth-child(3) {
    transform: translateY(7px);
  }
  .sp-menu__btn.open span:first-child {
    opacity: 0;
  }
  .sp-menu__btn.open span:nth-child(2) {
    transform: translateY(0) rotate(-135deg);
  }
  .sp-menu__btn.open span:nth-child(3) {
    transform: translateY(0) rotate(135deg);
  }
}
@media screen and (min-width: 768px) {
  .sp-menu__btn {
    display: none;
  }
}

.sp-menu-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sp-menu-nav__item {
  width: 100%;
  border-bottom: 1px solid #ddd;
  font-size: 1.6rem;
}
.sp-menu-nav__item:first-child {
  border-top: 1px solid #ddd;
}
.sp-menu-nav__item a {
  position: relative;
  display: block;
  padding: 0.6em 2em;
}
.sp-menu-nav__item a::after {
  position: absolute;
  top: 50%;
  height: 1em;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
  transform: translateY(-50%);
}
.sp-menu-nav__item a:not(.sp-menu-nav__toggle)::after {
  right: 1.2em;
  width: 0.625em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z" fill="rgb(170,170,170)" /></svg>');
}
.sp-menu-nav__toggle::after {
  right: 1em;
  width: 0.875em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z" fill="rgb(170,170,170)" /></svg>');
}
.sp-menu-nav__toggle.open::after {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z" fill="rgb(170,170,170)" /></svg>');
}
.sp-menu-nav__submenu {
  display: none;
  background: #f7f7f7;
}
.sp-menu-nav__submenu li {
  border-top: 1px solid #ddd;
}
.sp-menu-nav [class*=m-icon-] {
  margin: 0 0.5em 0 0;
  font-size: 1.2em;
}
.sp-menu-nav [class*=m-icon-]::before {
  vertical-align: -0.2em;
}

/*-----------------------------
  main
-----------------------------*/
.main {
  padding-bottom: 80px;
}
@media screen and (max-width: 767.98px) {
  .main {
    padding-top: 60px;
    min-height: calc(100vh - 88px);
  }
}
@media screen and (min-width: 768px) {
  .main {
    padding-top: 72px;
    min-height: calc(100vh - 100px);
  }
}
@media screen and (min-width: 768px) {
  .main a {
    opacity: 1;
    transition: opacity 0.5s ease;
  }
  .main a:hover {
    opacity: 0.7;
  }
}
.main a:where(:not([class])) {
  color: #228b22;
  text-decoration: underline;
}

/*-----------------------------
  footer
-----------------------------*/
.footer {
  display: flex;
  background: #e6e6e6;
}
@media screen and (max-width: 767.98px) {
  .footer {
    flex-direction: column;
    align-items: center;
    padding: 1.5em 1.5em 2em;
  }
}
@media screen and (min-width: 768px) {
  .footer {
    flex-direction: row-reverse;
    justify-content: space-between;
    padding: 2em 2em 3em;
  }
}
.footer__nav {
  display: flex;
}
@media screen and (max-width: 767.98px) {
  .footer__nav {
    flex-direction: column;
    align-items: center;
    gap: 1em;
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav {
    gap: 2em;
    font-size: 1.3rem;
  }
}
.footer__copyright {
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .footer__copyright {
    margin-top: 2em;
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 768px) {
  .footer__copyright {
    font-size: 1.3rem;
  }
}

/*-----------------------------
  common
-----------------------------*/
body.modal-open {
  /*position: fixed;*/
  width: 100%;
  overflow: hidden;
  top: 0;
  left: 0;
}

.page-top {
  position: fixed;
  display: none;
  z-index: 99;
}
@media screen and (max-width: 767.98px) {
  .page-top {
    right: 2rem;
    bottom: 4rem;
  }
}
@media screen and (min-width: 768px) {
  .page-top {
    right: 4rem;
    bottom: 12rem;
  }
}
.page-top a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #777;
  border-radius: 50%;
  box-shadow: 0 4px 6px -2px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 767.98px) {
  .page-top a {
    width: 4.8rem;
    height: 4.8rem;
  }
}
@media screen and (min-width: 768px) {
  .page-top a {
    width: 6rem;
    height: 6rem;
  }
}
.page-top a::after {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2 160 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-306.7L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z" fill="rgb(255,255,255)"/></svg>');
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 75% auto;
  content: "";
}
@media screen and (max-width: 767.98px) {
  .page-top a::after {
    width: 1.8rem;
    height: 1.8rem;
  }
}
@media screen and (min-width: 768px) {
  .page-top a::after {
    width: 2.2rem;
    height: 2.2rem;
  }
}

/*-----------------------------
  error / notice
-----------------------------*/
.front-errors {
  margin-bottom: 1.2em;
  padding: 1em;
  background: #fee;
  color: #c33;
  font-size: 0.9em;
}

.front-messages {
  margin-bottom: 1.2em;
  padding: 1em;
  background: #efe;
  color: #393;
  font-size: 0.9em;
}

/*-----------------------------
  sweetalert2
-----------------------------*/
div:where(.swal2-container) div:where(.swal2-popup) {
  font-size: 1.6rem;
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm) {
  background-color: #228b22;
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover {
  background-color: #228b22;
}

/*-----------------------------
  module
-----------------------------*/
.m-container {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 767.98px) {
  .m-container__inner {
    padding: 4em 1em 3em;
  }
}
@media screen and (min-width: 768px) {
  .m-container__inner {
    padding: 4em 2em;
  }
}

.m-page-header {
  padding: 1em 1.2em;
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 767.98px) {
  .m-page-header {
    margin: 2em 1em 0;
  }
}
@media screen and (min-width: 768px) {
  .m-page-header {
    margin: 3em 2em 0;
  }
}
.m-page-header a {
  color: #228b22;
}
.m-page-header__title {
  display: flex;
  align-items: center;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .m-page-header__title {
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 768px) {
  .m-page-header__title {
    font-size: 2.2rem;
  }
}
.m-page-header__title [class*=m-icon-] {
  width: 2.5em;
  margin-right: 0.5em;
}
.m-page-header__title [class*=m-icon-]::before {
  font-size: 2.5em;
}
.m-page-header__title a {
  text-decoration: none;
}
.m-page-header__avatar {
  width: 2.5em;
  height: 2.5em;
  margin-right: 0.6em;
  border-radius: 50%;
}

.m-title {
  font-weight: 700;
}
.m-title:not(:last-child) {
  margin-bottom: 1.2em;
}
@media screen and (max-width: 767.98px) {
  .m-title {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) {
  .m-title {
    font-size: 2.4rem;
  }
}

.m-heading {
  margin-bottom: 1em;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .m-heading {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) {
  .m-heading {
    font-size: 2rem;
  }
}

.m-subheading {
  margin-bottom: 1em;
  font-weight: 700;
}
.m-subheading:not(:first-child) {
  margin-top: 2em;
}
@media screen and (max-width: 767.98px) {
  .m-subheading {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .m-subheading {
    font-size: 1.8rem;
  }
}

.m-underline {
  border-bottom: 1px solid #888;
  padding-bottom: 0.2em;
}

.m-ulist > li {
  position: relative;
  margin-left: 1em;
  list-style: disc;
  list-style-position: outside;
}
.m-ulist > li:not(:last-child) {
  margin-bottom: 0.5em;
}

.m-olist > li {
  position: relative;
  margin-left: 1em;
  list-style: decimal;
  list-style-position: outside;
}
.m-olist > li:not(:last-child) {
  margin-bottom: 0.5em;
}

.m-link-wrap {
  margin: 2em 0 1em;
}
@media screen and (max-width: 767.98px) {
  .m-link-wrap {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .m-link-wrap {
    text-align: right;
  }
}
@media screen and (min-width: 768px) {
  .m-link-wrap--center {
    text-align: center;
  }
}

.m-link-list {
  margin: 2em 0 1em;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767.98px) {
  .m-link-list {
    justify-content: center;
    gap: 1.5em 0;
  }
  .m-link-list .m-link {
    width: 50%;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .m-link-list {
    justify-content: space-around;
    gap: 2em;
  }
}

.m-link {
  display: inline-block;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .m-link {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) {
  .m-link {
    font-size: 2rem;
  }
}
.m-link::after {
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  margin-left: 0.4em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/></svg>');
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
}
@media screen and (max-width: 767.98px) {
  .m-link--s {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  .m-link--s {
    font-size: 1.6rem;
  }
}

[class*=m-button-] {
  /*margin: 0 .3em;*/
  height: 44px;
  padding: 0.4em 0.8em;
  border: 1px solid #aaa;
  border-radius: 6px;
  text-align: center;
  transition: 0.4s;
}
@media screen and (max-width: 767.98px) {
  [class*=m-button-] {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  [class*=m-button-] {
    font-size: 1.6rem;
  }
}

.m-button-01 {
  color: #228b22;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .m-button-01:hover {
    background: #cffcda;
  }
}

.m-button-02 {
  color: #fff;
  background: #228b22;
  border-color: #228b22;
}
@media screen and (min-width: 768px) {
  .m-button-02:hover {
    background: #2db92d;
    border-color: #2db92d;
  }
}
.m-button-02:disabled {
  background-color: #aaa;
  border-color: #aaa;
}
@media screen and (min-width: 768px) {
  .m-button-02:disabled:hover {
    background-color: #aaa;
    border-color: #aaa;
  }
}

.m-button-03 {
  background: #fff;
  color: #c33;
}
@media screen and (min-width: 768px) {
  .m-button-03:hover {
    background: #fcc;
  }
}

.m-add-button {
  position: absolute;
}
@media screen and (max-width: 767.98px) {
  .m-add-button {
    top: 1em;
    right: 1em;
  }
}
@media screen and (min-width: 768px) {
  .m-add-button {
    top: 1.5em;
    right: 1.7em;
  }
}

[class*=m-icon-] {
  display: inline-block;
  width: 1em;
  /*margin: 0 .4em 0 -.2em;*/
  margin-right: 0.4em;
  text-align: center;
}
[class*=m-icon-]::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: 50% 50%;
  content: "";
  vertical-align: -0.1em;
}

.m-icon-edit::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z" fill="rgb(34,139,34)" /></svg>');
}

.m-icon-delete::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z" fill="rgb(204,51,51)" /></svg>');
}

.m-icon-home::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z" fill="rgb(128,128,128)"/></svg>');
}

.m-icon-record::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z" fill="rgb(34,139,34)" /></svg>');
}

.m-icon-seeding::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0l32 0c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64l32 0c123.7 0 224 100.3 224 224l0 32 0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160C100.3 320 0 219.7 0 96z" fill="rgb(34,139,34)" /></svg>');
}

.m-icon-option::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z" fill="rgb(128,128,128)"/></svg>');
}

.m-icon-layout::before {
  width: 0.875em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M384 96l0 128-128 0 0-128 128 0zm0 192l0 128-128 0 0-128 128 0zM192 224L64 224 64 96l128 0 0 128zM64 288l128 0 0 128L64 416l0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z" fill="rgb(128,128,128)"/></svg>');
}

.m-icon-list::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z" fill="rgb(128,128,128)"/></svg>');
}

.m-icon-history::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M75 75L41 41C25.9 25.9 0 36.6 0 57.9L0 168c0 13.3 10.7 24 24 24l110.1 0c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24l0 104c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65 0-94.1c0-13.3-10.7-24-24-24z" fill="rgb(34,139,34)"/></svg>');
}

.m-icon-user::before {
  width: 0.875em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z" fill="rgb(128,128,128)"/></svg>');
}

.m-icon-users::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192l42.7 0c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0L21.3 320C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7l42.7 0C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3l-213.3 0zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352l117.3 0C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7l-330.7 0c-14.7 0-26.7-11.9-26.7-26.7z" fill="rgb(128,128,128)"/></svg>');
  background-size: 100% 80%;
}

.m-icon-circle-user::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M399 384.2C376.9 345.8 335.4 320 288 320l-64 0c-47.4 0-88.9 25.8-111 64.2c35.2 39.2 86.2 63.8 143 63.8s107.8-24.7 143-63.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 16a72 72 0 1 0 0-144 72 72 0 1 0 0 144z" fill="rgb(128,128,128)"/></svg>');
}

.m-icon-user-pen {
  margin-right: 0.6em;
}
.m-icon-user-pen::before {
  width: 1.25em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l293.1 0c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7l40.3-40.3c-32.1-31-75.7-50.1-123.9-50.1l-91.4 0zm435.5-68.3c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z" fill="rgb(34,139,34)"/></svg>');
}

.m-icon-login::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M217.9 105.9L340.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L217.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1L32 320c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM352 416l64 0c17.7 0 32-14.3 32-32l0-256c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c53 0 96 43 96 96l0 256c0 53-43 96-96 96l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z" fill="rgb(255,255,255)"/></svg>');
}

.m-icon-logout::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M377.9 105.9L500.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1-128 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM160 96L96 96c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96L0 128C0 75 43 32 96 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z" fill="rgb(128,128,128)"/></svg>');
}

.m-icon-garden::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M343.9 213.4L245.3 312l65.4 65.4c7.9 7.9 11.1 19.4 8.4 30.3s-10.8 19.6-21.5 22.9l-256 80c-11.4 3.5-23.8 .5-32.2-7.9S-2.1 481.8 1.5 470.5l80-256c3.3-10.7 12-18.9 22.9-21.5s22.4 .5 30.3 8.4L200 266.7l98.6-98.6c-14.3-14.6-14.2-38 .3-52.5l95.4-95.4c26.9-26.9 70.5-26.9 97.5 0s26.9 70.5 0 97.5l-95.4 95.4c-14.5 14.5-37.9 14.6-52.5 .3z" fill="rgb(34,139,34)"/></svg>');
}

.m-icon-mail::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z" fill="rgb(128,128,128)"/></svg>');
}

.m-icon-book::before {
  width: 0.875em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M96 0C43 0 0 43 0 96L0 416c0 53 43 96 96 96l288 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-64c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L384 0 96 0zm0 384l256 0 0 64L96 448c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16l192 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-192 0c-8.8 0-16-7.2-16-16zm16 48l192 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-192 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z" fill="rgb(128,128,128)"/></svg>');
}

.m-icon-unlock::before {
  width: 0.875em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M144 144c0-44.2 35.8-80 80-80c31.9 0 59.4 18.6 72.3 45.7c7.6 16 26.7 22.8 42.6 15.2s22.8-26.7 15.2-42.6C331 33.7 281.5 0 224 0C144.5 0 80 64.5 80 144l0 48-16 0c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-240 0 0-48z" fill="rgb(128,128,128)"/></svg>');
}

.m-icon-question::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z" fill="rgb(128,128,128)"/></svg>');
}

.m-checkbox {
  position: relative;
  cursor: pointer;
  user-select: none;
}
.m-checkbox input[type=checkbox] {
  width: 2em;
  height: 2em;
  position: absolute;
  top: -0.4em;
  left: -0.42em;
  border-radius: 50%;
}
.m-checkbox input[type=checkbox]:focus {
  background: #f0f0f0;
  outline: none;
}
.m-checkbox span {
  position: relative;
  display: inline-block;
  padding-left: 1.5em;
}
.m-checkbox span::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.2em;
  height: 1.4em;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
}
.m-checkbox span::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M384 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l320 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z" fill="rgb(150,150,150)"/></svg>');
}
.m-checkbox :checked + span::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z" fill="rgb(34,139,34)"/></svg>');
}

.m-radio {
  position: relative;
  cursor: pointer;
  user-select: none;
}
@media screen and (max-width: 767.98px) {
  .m-radio {
    display: block;
  }
}
.m-radio input[type=radio] {
  width: 2em;
  height: 2em;
  position: absolute;
  top: -0.4em;
  left: -0.42em;
  border-radius: 50%;
}
.m-radio input[type=radio]:focus {
  background: #f0f0f0;
  outline: none;
}
@media screen and (max-width: 767.98px) {
  .m-radio + .m-radio {
    margin-top: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  .m-radio + .m-radio {
    margin-left: 1.2em;
  }
}
.m-radio span {
  position: relative;
  display: inline-block;
  padding-left: 1.5em;
}
.m-radio span::before {
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 1.2em;
  height: 1.4em;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
}
.m-radio span::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z" fill="rgb(150,150,150)"/></svg>');
}
.m-radio :checked + span::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z" fill="rgb(34,139,34)"/></svg>');
}

@media screen and (min-width: 768px) {
  .m-cards {
    display: flex;
    flex-wrap: wrap;
  }
}
.m-cards__item {
  position: relative;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 4px 6px -2px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
@media screen and (max-width: 767.98px) {
  .m-cards__item {
    margin-bottom: 1.5em;
  }
}
@media screen and (min-width: 768px) {
  .m-cards__item {
    /*width: 31%;
    &:not(:nth-child(3n)) {
      margin-right: 3.5%;
    }*/
    width: 23%;
    margin-bottom: 3%;
  }
  .m-cards__item:not(:nth-child(4n)) {
    margin-right: 2.6666666667%;
  }
}
@media screen and (max-width: 767.98px) {
  .m-cards__link {
    display: flex;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .m-cards__link {
    opacity: 1;
    transition: opacity 0.5s ease;
  }
  .m-cards__link:hover {
    opacity: 0.7;
  }
}
.m-cards__image {
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .m-cards__image {
    width: 30%;
    padding-top: 30%;
  }
}
@media screen and (min-width: 768px) {
  .m-cards__image {
    padding-top: 66.666%;
  }
}
.m-cards__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-cards__noimage {
  position: relative;
  /*background: #e5e5e5;*/
  background: url("../images/no_image.png") no-repeat 50% 40%;
  background-size: cover;
  /*&::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2em;
    height: 2em;
    background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0l32 0c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64l32 0c123.7 0 224 100.3 224 224l0 32 0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160C100.3 320 0 219.7 0 96z" fill="rgb(34,139,34)" /></svg>');
    content: "";
    transform: translate(-50%, -50%);
  }*/
}
@media screen and (max-width: 767.98px) {
  .m-cards__noimage {
    width: 30%;
    padding-top: 30%;
  }
}
@media screen and (min-width: 768px) {
  .m-cards__noimage {
    padding-top: 66.666%;
  }
}
.m-cards__inner {
  padding: 1.2rem 1.2rem 4rem;
}
@media screen and (max-width: 767.98px) {
  .m-cards__inner {
    flex: 1;
    position: relative;
  }
}
.m-cards__title {
  margin-bottom: 0.5em;
  font-weight: 700;
  line-height: 1.3;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 2.6em;
}
@media screen and (max-width: 767.98px) {
  .m-cards__title {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .m-cards__title {
    font-size: 1.8rem;
  }
}
.m-cards__text {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 3em;
}
@media screen and (max-width: 767.98px) {
  .m-cards__text {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 768px) {
  .m-cards__text {
    font-size: 1.4rem;
  }
}
.m-cards__date {
  position: absolute;
  bottom: 1.2rem;
  left: 1.2rem;
  display: block;
  color: #888;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .m-cards__date {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  .m-cards__date {
    font-size: 1.3rem;
  }
}
.m-cards__author {
  position: absolute;
  bottom: 1.2rem;
  right: 1.2rem;
  display: block;
  color: #888;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .m-cards__author {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  .m-cards__author {
    font-size: 1.3rem;
  }
}

.m-list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767.98px) {
  .m-list {
    gap: 1em;
  }
}
@media screen and (min-width: 768px) {
  .m-list {
    gap: 1em 4%;
  }
}
.m-list > li {
  padding-bottom: 0.5em;
  border-bottom: 1px dashed #aaa;
}
@media screen and (max-width: 767.98px) {
  .m-list > li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .m-list > li {
    width: 48%;
  }
}
.m-list__update {
  color: #888;
  font-size: 0.8em;
}
.m-list__avatar {
  width: 1.4em;
  height: 1.4em;
  margin-right: 0.4em;
  border-radius: 50%;
  vertical-align: -0.3em;
}
.m-list [class*=m-icon-] {
  width: 1.4em;
  line-height: 1;
  vertical-align: -0.2em;
}
.m-list [class*=m-icon-]::before {
  width: 1.4em;
  height: 1.4em;
}

.m-article {
  position: relative;
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 767.98px) {
  .m-article {
    padding: 4.5em 1em;
  }
}
@media screen and (min-width: 768px) {
  .m-article {
    padding: 4.5em 5em 6em;
  }
}
.m-article__image {
  margin: 2em auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .m-article__image {
    width: 90%;
  }
}
.m-article__image img {
  border-radius: 6px;
}
.m-article__noimage {
  position: relative;
  margin: 2em auto;
  padding-top: 50%;
  background: url("../images/no_image.png") no-repeat 50% 40%;
  background-size: cover;
  border-radius: 6px;
}
@media screen and (min-width: 768px) {
  .m-article__noimage {
    width: 90%;
  }
}
.m-article__date {
  display: block;
  margin-bottom: 1em;
  color: #777;
  font-weight: 700;
  text-align: right;
}
.m-article__content {
  margin: 0 auto 2em;
}
@media screen and (min-width: 768px) {
  .m-article__content {
    width: 90%;
  }
}
.m-article__content > :not(:last-child) {
  margin-bottom: 1.2em;
}
.m-article__content p {
  line-height: 1.8;
}
.m-article__content img {
  margin: 1em auto;
  border-radius: 6px;
}
.m-article__btns {
  margin: 2em 0;
  text-align: right;
}
.m-article__list li {
  position: relative;
  padding-left: 1.2em;
}
.m-article__list li::before {
  position: absolute;
  top: 0.5em;
  left: 0.2em;
  width: 0.4em;
  height: 0.4em;
  background: #808080;
  border-radius: 50%;
  content: "";
}
.m-article__list li:not(:last-child) {
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767.98px) {
  .m-article__list--att {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  .m-article__list--att {
    font-size: 1.4rem;
  }
}
.m-article__list--att li {
  position: relative;
  padding-left: 1.2em;
}
.m-article__list--att li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}
.m-article__list--att li:not(:last-child) {
  margin-bottom: 0.5em;
}

.m-related {
  display: flex;
  margin-bottom: 3em;
}
.m-related__title {
  margin-right: 0.5em;
  font-weight: 700;
}
.m-related__detail {
  /*a {
    color: $main-color;
    text-decoration: underline;
  }*/
}

.m-filter {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2em;
  gap: 1em;
}
@media screen and (max-width: 767.98px) {
  .m-filter {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .m-filter {
    flex-wrap: wrap;
    align-items: center;
  }
}
.m-filter__item {
  display: flex;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .m-filter__item {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .m-filter__item {
    align-items: center;
  }
}
.m-filter__item dt {
  flex-shrink: 0;
  font-weight: 400;
}
@media screen and (max-width: 767.98px) {
  .m-filter__item dt {
    margin-bottom: 0.3em;
  }
}
@media screen and (max-width: 767.98px) {
  .m-filter__item select {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .m-filter__item select {
    width: 8em;
  }
}
@media screen and (max-width: 767.98px) {
  .m-filter__button {
    margin: 1em 0 0;
  }
}

.m-pagenav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
}
@media screen and (max-width: 767.98px) {
  .m-pagenav {
    margin: 1em 0 2em;
  }
}
@media screen and (min-width: 768px) {
  .m-pagenav {
    margin: 2em 0 4em;
  }
}
.m-pagenav__item,
.m-pagenav .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5em;
  height: 2.5em;
  background: #fff;
  border: 1px solid #777;
  border-radius: 6px;
}
@media screen and (max-width: 767.98px) {
  .m-pagenav__item,
  .m-pagenav .page-numbers {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .m-pagenav__item,
  .m-pagenav .page-numbers {
    font-size: 1.8rem;
  }
}
.m-pagenav__item--current, .m-pagenav__item.current,
.m-pagenav .page-numbers--current,
.m-pagenav .page-numbers.current {
  color: #fff;
  background: #777;
}
.m-pagenav__item--first::before, .m-pagenav__item--last::before, .m-pagenav__item--prev::before, .m-pagenav__item--next::before, .m-pagenav__item.prev::before, .m-pagenav__item.next::before,
.m-pagenav .page-numbers--first::before,
.m-pagenav .page-numbers--last::before,
.m-pagenav .page-numbers--prev::before,
.m-pagenav .page-numbers--next::before,
.m-pagenav .page-numbers.prev::before,
.m-pagenav .page-numbers.next::before {
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
}
.m-pagenav__item--first::before,
.m-pagenav .page-numbers--first::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256 438.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z" fill="rgb(128,128,128)" /></svg>');
}
.m-pagenav__item--last::before,
.m-pagenav .page-numbers--last::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 265.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 73.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z" fill="rgb(128,128,128)" /></svg>');
}
.m-pagenav__item--prev::before, .m-pagenav__item.prev::before,
.m-pagenav .page-numbers--prev::before,
.m-pagenav .page-numbers.prev::before {
  width: 0.625em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z" fill="rgb(128,128,128)" /></svg>');
}
.m-pagenav__item--next::before, .m-pagenav__item.next::before,
.m-pagenav .page-numbers--next::before,
.m-pagenav .page-numbers.next::before {
  width: 0.625em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z" fill="rgb(128,128,128)" /></svg>');
}
.m-pagenav__item.dots,
.m-pagenav .page-numbers.dots {
  display: none;
}
@media screen and (min-width: 768px) {
  .m-pagenav a.m-pagenav__item {
    transition: background 0.4s;
    font-size: 1.8rem;
  }
  .m-pagenav a.m-pagenav__item:hover {
    opacity: 1;
    background: #ccc;
  }
}

.m-tooltip, .modal-item__tooltip {
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z" fill="rgb(170,170,170)"/></svg>');
  background-repeat: no-repeat;
  background-size: 100% auto;
  cursor: pointer;
}

.m-toggle {
  position: relative;
  display: inline-block;
  width: 4.8rem;
  height: 2.6rem;
  margin-right: 0.4em;
  background: #ccc;
  border-radius: 2em;
  transition: 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.m-toggle::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 2rem;
  background: #fff;
  border-radius: 50%;
  content: "";
  transition: 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  transform: translate(-100%, -50%);
}
:checked + .m-toggle {
  background: #228b22;
}
:checked + .m-toggle::before {
  transform: translate(0%, -50%);
}

.m-table-wrap {
  overflow-x: auto;
  white-space: nowrap;
}

.m-table {
  width: auto;
  min-width: 100%;
  border-collapse: collapse;
}
.m-table tr:nth-child(odd) {
  background: #f7f7f7;
}
.m-table thead th {
  background: #777;
  color: #fff;
}
.m-table th, .m-table td {
  border: 1px solid #ccc;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767.98px) {
  .m-table th, .m-table td {
    padding: 1em 0.6em;
  }
}
@media screen and (min-width: 768px) {
  .m-table th, .m-table td {
    padding: 1.5em 1em;
  }
}

.m-txt-att {
  position: relative;
  padding-left: 1em;
}
.m-txt-att::before {
  position: absolute;
  top: 0;
  left: 0;
  font-family: inherit;
  font-size: inherit;
  content: "※";
}

/* tag */
.m-tag {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.m-tag__item {
  padding: 0.5em 0.8em;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.m-tag__item::before {
  margin-right: 0.1em;
  color: #777;
  content: "#";
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8em;
}
.tag-list__item {
  padding: 0.5em 0.8em;
  background: #fff;
  border-radius: 6px;
}
.tag-list__item::before {
  margin-right: 0.1em;
  color: #777;
  content: "#";
}

.tag-filter {
  margin: 2em 0;
}
.tag-filter__item {
  display: inline-flex;
  align-items: center;
  padding: 0.5em 0.8em;
  background: #fff;
  border-radius: 6px;
  font-size: 1.2em;
  font-weight: 700;
}
.tag-filter__item::before {
  margin-right: 0.1em;
  color: #777;
  content: "#";
}
.tag-filter__item::after {
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.3em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>');
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 62.5% 100%;
  content: "";
}

.m-faq:not(:last-child) {
  margin-bottom: 1em;
}
.m-faq__q::before, .m-faq__a::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 767.98px) {
  .m-faq__q::before, .m-faq__a::before {
    width: 2.6rem;
    height: 2.6rem;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) {
  .m-faq__q::before, .m-faq__a::before {
    width: 3rem;
    height: 3rem;
    font-size: 1.8rem;
  }
}
.m-faq__q {
  position: relative;
  padding: 0.4rem 2rem 1.4rem 4rem;
  cursor: pointer;
  user-select: none;
}
@media screen and (max-width: 767.98px) {
  .m-faq__q {
    padding-left: 3.6rem;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .m-faq__q {
    font-size: 1.7rem;
  }
}
.m-faq__q::before {
  background: #000;
  color: #fff;
  content: "Q";
}
.m-faq__q::after {
  position: absolute;
  top: 0.5em;
  right: 0;
  width: 1em;
  height: 1em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z" fill="rgb(128,128,128)"/></svg>');
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
}
.m-faq__q.is-open::after {
  transform: rotate(180deg);
}
.m-faq__a {
  display: none;
  position: relative;
  line-height: 2;
}
@media screen and (max-width: 767.98px) {
  .m-faq__a {
    padding-left: 3.6rem;
  }
}
@media screen and (min-width: 768px) {
  .m-faq__a {
    padding-left: 4rem;
  }
}
.m-faq__a::before {
  background: #e5e5e5;
  content: "A";
}

/*-----------------------------
  f-login
-----------------------------*/
.f-login {
  max-width: 400px;
  margin: 3em auto 0;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 6px #ccc;
}
@media screen and (max-width: 767.98px) {
  .f-login {
    padding: 2em 1em 3em;
  }
}
@media screen and (min-width: 768px) {
  .f-login {
    padding: 2em 2em 3em;
  }
}
.f-login__title {
  text-align: center;
}
.f-login__field:not(:last-child) {
  margin-bottom: 1.5em;
}
.f-login__field input[type=text],
.f-login__field input[type=password],
.f-login__field input[type=email] {
  width: 100%;
}
.f-login__label {
  margin-bottom: 0.3em;
}
.f-login__att {
  margin-top: 0.5em;
  font-size: 0.8em;
}
.f-login__submit {
  margin-top: 3em;
  text-align: center;
}
.f-login__submit button {
  width: 100%;
}

/*-----------------------------
  utility
-----------------------------*/
.u-fc-grn {
  color: #228b22;
}

.u-fc-red {
  color: #c33;
}

.u-fs-xl {
  font-size: 1.2em;
}

.u-fs-lg {
  font-size: 1.1em;
}

.u-fs-sm {
  font-size: 0.9em;
}

.u-fs-ss {
  font-size: 0.8em;
}

.u-mb-0 {
  margin-bottom: 0 !important;
}

.u-pt-0 {
  padding-top: 0 !important;
}

.u-pb-0 {
  padding-bottom: 0 !important;
}

.u-mt-1 {
  margin-top: 1em !important;
}

.u-mb-1 {
  margin-bottom: 1em !important;
}

.u-mb-2 {
  margin-bottom: 2em !important;
}

.u-mb-3 {
  margin-bottom: 3em !important;
}

.u-mb-4 {
  margin-bottom: 4em !important;
}

.u-ta-center {
  text-align: center;
}

.u-ta-right {
  text-align: right;
}

@media screen and (min-width: 768px) {
  .sp-show {
    display: none;
  }
}

@media screen and (max-width: 767.98px) {
  .pc-show {
    display: none;
  }
}

/*-----------------------------
  other
-----------------------------*/
.ads-container {
  /*gap: 2em;
  flex-wrap: wrap;*/
  max-width: 1200px;
  margin: 2em auto 0;
  text-align: center;
  /*@include sp {
    flex-direction: column;
    justify-content: center;
    padding: 0 1em;
    &.pc-show {
      display: none;
    }
  }
  @include pc {
    justify-content: space-around;
    padding: 0 2em;
    &.sp-show {
      display: none;
    }
  }*/
}

/*-----------------------------
  404
-----------------------------*/
/*-----------------------------
  grid-field
-----------------------------*/
:root {
  --modal-offset-x: 0px;
  --modal-offset-y: 0px;
}

.grid-field {
  overflow-x: auto;
  padding-bottom: 0.5em;
}
.grid-field__inner {
  display: grid;
  justify-content: center;
  grid-template-rows: repeat(4, 1fr);
  grid-template-columns: repeat(4, minmax(auto, 200px));
  grid-auto-flow: column;
  width: fit-content;
  margin: 0 auto;
  background: #d1b994;
  border-radius: 10px;
  transform-origin: top left;
}
@media screen and (max-width: 767.98px) {
  .grid-field__inner {
    gap: 3px 15px;
    min-width: 80vw;
    min-height: 50vh;
    padding: 15px;
  }
}
@media screen and (min-width: 768px) {
  .grid-field__inner {
    gap: 4px 20px;
    min-width: 1000px;
    min-height: 600px;
    padding: 20px;
  }
}
.grid-field__inner.une-div-5, .grid-field__inner.une-div-6, .grid-field__inner.une-div-7, .grid-field__inner.une-div-8 {
  min-height: 800px;
}
.grid-field__inner.scale-50 {
  transform: scale(0.5);
}
.grid-field__inner.scale-60 {
  transform: scale(0.6);
}
.grid-field__inner.scale-70 {
  transform: scale(0.7);
}
.grid-field__inner.scale-80 {
  transform: scale(0.8);
}
.grid-field__inner.scale-90 {
  transform: scale(0.9);
}
.grid-field__inner.scale-110 {
  transform: scale(1.1);
}
.grid-field__inner.scale-120 {
  transform: scale(1.2);
}
.grid-field__inner.scale-130 {
  transform: scale(1.3);
}
.grid-field__inner.scale-140 {
  transform: scale(1.4);
}
.grid-field__inner.scale-150 {
  transform: scale(1.5);
}
.grid-field .grid-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0.5em;
  background: #e6d1b3;
  border-radius: 6px;
  overflow: hidden;
  transition: 0.4s;
  user-select: none;
  z-index: 1;
}
@media screen and (max-width: 767.98px) {
  .grid-field .grid-item {
    min-height: 80px;
  }
}
@media screen and (min-width: 768px) {
  .grid-field .grid-item {
    min-height: 100px;
  }
}
.grid-field .grid-item.item-reg, .grid-field .grid-item.item-history {
  cursor: pointer;
}
.grid-field .grid-item__name {
  position: relative;
  color: #fff;
  line-height: 1.4;
  z-index: 2;
}
@media screen and (max-width: 767.98px) {
  .grid-field .grid-item__name {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  .grid-field .grid-item__name {
    font-size: 1.4rem;
  }
}
.grid-field .grid-item__thumb {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.grid-field .grid-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.grid-field .grid-item__thumb::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7) 80%);
  background: linear-gradient(transparent, hsl(135, 30%, 15%));
  content: "";
}
.grid-field .grid-item__period {
  position: relative;
  margin: 0.4em 0 0 0.2em;
  color: #bbb;
  line-height: 1.3;
  z-index: 2;
}
@media screen and (max-width: 767.98px) {
  .grid-field .grid-item__period {
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 768px) {
  .grid-field .grid-item__period {
    font-size: 1.2rem;
  }
}
.grid-field .grid-item.item-reg {
  /*background: #baf7ba;
  background: hsl(135deg 40% 40%);*/
}
.grid-field--edit .grid-item {
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .grid-field--edit .grid-item:not(.item-reg):hover {
    background: #baf7ba;
  }
}
.grid-field--edit .grid-item::after {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 20px;
  height: 20px;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z" fill="%23d1b994" /></svg>');
  content: "";
}
.grid-field--edit .grid-item.item-on {
  background: #baf7ba;
}
.grid-field--edit .grid-item.item-on::after {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z" fill="%23337733" /></svg>');
}
.grid-field--edit .grid-item.item-reg::after {
  display: none;
}
.grid-field--history .grid-item {
  justify-content: flex-start;
  padding: 0;
}
.grid-field--history .grid-item__list {
  padding: 0.5em;
  max-height: 150px;
  overflow-y: auto;
  scrollbar-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.1);
  scrollbar-width: thin;
}
.grid-field--history .grid-item__list li:not(:last-child) {
  margin-bottom: 1em;
}
.grid-field--history .item-join .grid-item__list {
  max-height: none;
}

.modal {
  /*display: none;*/
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: 0.4s;
  /*visibility: hidden;*/
  z-index: 999;
  pointer-events: none;
}
.modal.is-show {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}
@media screen and (max-width: 767.98px) {
  .modal.is-show .modal__content {
    top: 5%;
    transform: translate(-50%, 0) scale(1);
  }
}
@media screen and (min-width: 768px) {
  .modal.is-show .modal__content {
    transform: translate(-50%, -50%) scale(1);
  }
}
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background: rgba(0, 0, 0, 0.3);
}
.modal__wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
}
.modal__content {
  position: absolute;
  left: 50%;
  width: 90%;
  max-width: 600px;
  padding-bottom: 2em;
  /*height: 90%;
  max-height: 800px;*/
  /*background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 10px -2px rgba(0,0,0,.2);*/
  transition: 0.4s;
  transform-origin: 50% 50%;
}
@media screen and (max-width: 767.98px) {
  .modal__content {
    /*top: 50%;
    transform: translate(calc(-50% + var(--modal-offset-x, 0px)), calc(-50% + var(--modal-offset-y, 0px))) scale(.4);*/
    top: 5%;
    transform: translate(-50%, 0) scale(0.4);
  }
}
@media screen and (min-width: 768px) {
  .modal__content {
    top: 50%;
    transform: translate(calc(-50% + var(--modal-offset-x, 0px)), calc(-50% + var(--modal-offset-y, 0px))) scale(0.4);
  }
}
.modal__inner {
  overflow-y: auto;
  height: 100%;
  padding-bottom: 2em;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.2);
}
.modal__close {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  background: #444;
  border-radius: 50%;
  font-size: 0;
  transform: translate(40%, -40%);
  cursor: pointer;
  z-index: 2;
}
.modal__close::before {
  width: 1.5rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z" fill="rgb(255,255,255)"/></svg>');
  content: "";
}

.modal-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.modal-item__name {
  /*margin-bottom: 1.2em;*/
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
.modal-item__image {
  position: relative;
  width: 100%;
  margin-bottom: 2em;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .modal-item__image {
    padding-top: 100%;
  }
}
@media screen and (min-width: 768px) {
  .modal-item__image {
    padding-top: 75%;
  }
}
.modal-item__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}
.modal-item__link {
  color: #228b22;
}
.modal-item__fields {
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .modal-item__fields {
    padding: 0 1em;
  }
}
@media screen and (min-width: 768px) {
  .modal-item__fields {
    padding: 0 1.5em;
  }
}
.modal-item__field {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 767.98px) {
  .modal-item__field {
    flex-direction: column;
    gap: 0.8em;
    padding: 1.5em 2em;
  }
}
@media screen and (min-width: 768px) {
  .modal-item__field {
    gap: 1.5em;
    padding: 1.5em 3em 1.5em 2em;
  }
}
.modal-item__field:not(:last-child) {
  border-bottom: 1px solid #ccc;
  /*margin-bottom: 2em;*/
}
.modal-item__field input {
  width: 10em;
}
.modal-item__button {
  height: 44px;
  min-width: 10em;
  padding: 0.6em 1em;
  background: #777;
  border: 1px solid #777;
  border-radius: 6px;
  color: #fff;
  font-size: 1.6rem;
  text-align: center;
  transition: 0.4s;
}
.modal-item__text {
  width: 100%;
  text-align: center;
}
.modal-item__tooltip {
  position: absolute !important;
}
@media screen and (max-width: 767.98px) {
  .modal-item__tooltip {
    right: 1em;
    bottom: 2.3em;
  }
}
@media screen and (min-width: 768px) {
  .modal-item__tooltip {
    top: 50%;
    right: 0.5em;
    transform: translateY(-50%);
  }
}
.modal-item__content {
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .modal-item__content {
    padding: 0 1em;
  }
}
@media screen and (min-width: 768px) {
  .modal-item__content {
    padding: 1em 2em;
  }
}

@media screen and (max-width: 767.98px) {
  .modal-history {
    padding: 2em 1em;
  }
}
@media screen and (min-width: 768px) {
  .modal-history {
    padding: 2.5em 1.5em;
  }
}

.modal-history-item {
  position: relative;
  display: flex;
  padding: 1em;
  /*&:not(:last-child) {
    margin-bottom: 2em;
  }*/
}
@media screen and (max-width: 767.98px) {
  .modal-history-item {
    flex-direction: column;
    padding-right: 5em;
  }
}
@media screen and (min-width: 768px) {
  .modal-history-item {
    align-items: center;
    gap: 1em;
  }
}
.modal-history-item:nth-child(even) {
  background: #f7f7f7;
}
.modal-history-item__name {
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .modal-history-item__name {
    width: 40%;
  }
}
.modal-history-item__name::before {
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  margin-right: 0.3em;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
}
.modal-history-item--active .modal-history-item__name::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0l32 0c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64l32 0c123.7 0 224 100.3 224 224l0 32 0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160C100.3 320 0 219.7 0 96z" fill="rgb(34,139,34)" /></svg>');
}
.modal-history-item--closed .modal-history-item__name::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0l32 0c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64l32 0c123.7 0 224 100.3 224 224l0 32 0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160C100.3 320 0 219.7 0 96z" fill="rgb(135,135,135)" /></svg>');
}
.modal-history-item__period {
  color: #777;
  font-size: 0.9em;
}
@media screen and (min-width: 768px) {
  .modal-history-item__period {
    width: 35%;
  }
}
@media screen and (max-width: 767.98px) {
  .modal-history-item__btn {
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 768px) {
  .modal-history-item__btn {
    margin-left: auto;
  }
}

.f-layout__fixed-wrap {
  height: 60px;
}
.f-layout__fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  background: #F4F6F7;
  z-index: 99;
}
@media screen and (max-width: 767.98px) {
  .f-layout__fixed {
    padding: 0 1em;
  }
}
.f-layout__fixed.js-fixed-unfix {
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .f-layout__fixed.js-fixed-unfix {
    padding: 0;
  }
}
.f-layout__fixed button {
  width: 90%;
}
@media screen and (min-width: 768px) {
  .f-layout__fixed button {
    max-width: 610px;
  }
}
.f-layout__option {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5em 1em;
  margin-bottom: 2em;
}
@media screen and (max-width: 767.98px) {
  .f-layout__option {
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .f-layout__option {
    justify-content: flex-end;
  }
}
.f-layout__display {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767.98px) {
  .f-layout__display {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .f-layout__display {
    margin-right: auto;
  }
}
@media screen and (max-width: 767.98px) {
  .f-layout__display select {
    width: calc(100% - 30px);
  }
}
@media screen and (min-width: 768px) {
  .f-layout__display select {
    width: 18em;
  }
}
.f-layout__display .m-tooltip, .f-layout__display .modal-item__tooltip {
  margin-left: 0.5em;
}
.f-layout__toggle {
  display: inline-flex;
  align-items: center;
  margin-left: 2em;
  cursor: pointer;
  user-select: none;
}
.f-layout__scale {
  display: inline-flex;
  align-items: center;
  height: 2.6rem;
  padding: 0 0.8em;
  border-radius: 2em;
  background: #228b22;
  color: #fff;
  cursor: pointer;
  line-height: 1;
}
.f-layout__scale::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.3em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z" fill="rgb(255,255,255)"/></svg>');
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
}
.f-layout__btn-links {
  display: flex;
  flex-wrap: wrap;
  margin: 3em 0;
}
@media screen and (max-width: 767.98px) {
  .f-layout__btn-links {
    flex-direction: column;
    align-items: center;
    gap: 1.5em;
  }
}
@media screen and (min-width: 768px) {
  .f-layout__btn-links {
    gap: 1em;
    justify-content: center;
  }
}
.f-layout__btn-links [class*=m-button] {
  min-width: 12em;
}

.f-layout-cond {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  margin-bottom: 2em;
  padding: 1em 1em 1.5em;
  border-radius: 10px;
  background: #fff;
}
@media screen and (max-width: 767.98px) {
  .f-layout-cond {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .f-layout-cond {
    align-items: center;
    justify-content: space-between;
  }
}
.f-layout-cond__title {
  width: 100%;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #ccc;
  font-size: 1.1em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .f-layout-cond__item {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 767.98px) {
  .f-layout-cond__item dt {
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 767.98px) {
  .f-layout-cond__item select {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .f-layout-cond__item select {
    width: 11em;
  }
}
@media screen and (max-width: 767.98px) {
  .f-layout-cond__item input {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .f-layout-cond__status select {
    width: 8em;
  }
}
@media screen and (max-width: 767.98px) {
  .f-layout-cond__period input {
    width: 45%;
  }
}
@media screen and (min-width: 768px) {
  .f-layout-cond__period input {
    width: 8em;
  }
}
@media screen and (min-width: 768px) {
  .f-layout-cond__submit {
    width: 8em;
  }
}
@media screen and (max-width: 767.98px) {
  .f-layout-cond__button {
    width: 100%;
    margin: 0;
  }
}

.history-legend {
  display: flex;
  gap: 1.5em;
}
@media screen and (max-width: 767.98px) {
  .history-legend {
    width: 100%;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .history-legend {
    margin-right: auto;
  }
}
@media screen and (max-width: 767.98px) {
  .history-legend__item {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 768px) {
  .history-legend__item {
    font-size: 1.5rem;
  }
}
.history-legend__icon::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.3em;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
}
.history-legend__icon--active::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0l32 0c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64l32 0c123.7 0 224 100.3 224 224l0 32 0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160C100.3 320 0 219.7 0 96z" fill="rgb(34,139,34)" /></svg>');
}
.history-legend__icon--close::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0l32 0c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64l32 0c123.7 0 224 100.3 224 224l0 32 0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160C100.3 320 0 219.7 0 96z" fill="rgb(135,135,135)" /></svg>');
}
.history-legend__icon::after {
  margin-right: 0.3em;
  content: "…";
}

.history-item__name {
  font-size: 1.4rem;
  line-height: 1.4;
}
.history-item__period {
  margin: 0.4em 0 0 0.2em;
  color: #777;
  font-size: 1.2rem;
  line-height: 1.3;
}
.history-item--active .history-item__name::before, .history-item--closed .history-item__name::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.3em;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
  vertical-align: -0.1em;
}
.history-item--active .history-item__name::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0l32 0c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64l32 0c123.7 0 224 100.3 224 224l0 32 0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160C100.3 320 0 219.7 0 96z" fill="rgb(34,139,34)" /></svg>');
}
.history-item--closed .history-item__name::before {
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0l32 0c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64l32 0c123.7 0 224 100.3 224 224l0 32 0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160C100.3 320 0 219.7 0 96z" fill="rgb(135,135,135)" /></svg>');
}

/* レイアウト一覧 */
.layout-list {
  display: grid;
  grid-auto-rows: auto;
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 767.98px) {
  .layout-list {
    grid-template-columns: 1fr;
    gap: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  .layout-list {
    grid-template-columns: 1fr 1fr;
    gap: 1em 2em;
  }
}
@media screen and (max-width: 767.98px) {
  .layout-list {
    padding: 1em;
  }
}
@media screen and (min-width: 768px) {
  .layout-list {
    padding: 1em 2em;
  }
}
.layout-list__item {
  border-bottom: 1px dashed #aaa;
}
@media screen and (min-width: 768px) {
  .layout-list__item:first-child:last-child {
    grid-column: span 2;
  }
}
.layout-list__link {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0.5em 0;
}
.layout-list__title {
  max-width: calc(100% - 9em);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.layout-list__date {
  color: #888;
  font-weight: 400;
  font-size: 0.85em;
}

/*-----------------------------
  custom media uploader
-----------------------------*/
.cmu-library {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  z-index: 999;
}
.cmu-library__overlayer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.cmu-library__inner {
  position: relative;
  top: 5%;
  left: 0;
  width: 90vw;
  height: 90%;
  margin: 0 auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.2);
  /*overflow-y: auto;*/
}
@media screen and (max-width: 767.98px) {
  .cmu-library__inner {
    padding: 1em;
  }
}
@media screen and (min-width: 768px) {
  .cmu-library__inner {
    padding: 2em;
  }
}
.cmu-library__close {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  background: #444;
  border-radius: 50%;
  font-size: 0;
  transform: translate(40%, -40%);
  cursor: pointer;
}
.cmu-library__close::before {
  width: 1.5rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z" fill="rgb(255,255,255)"/></svg>');
  content: "";
}

.cmu-library-upload {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 1em;
}
@media screen and (max-width: 767.98px) {
  .cmu-library-upload {
    padding: 1em;
  }
}
@media screen and (min-width: 768px) {
  .cmu-library-upload {
    padding: 2em;
    border: 3px dashed #ccc;
  }
}
.cmu-library-upload__drop-text {
  font-size: 0.9em;
}
@media screen and (max-width: 767.98px) {
  .cmu-library-upload__drop-text {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .cmu-library-upload__drop-text {
    margin-bottom: 1em;
    color: #228b22;
  }
}

.cmu-library-meta {
  margin-bottom: 1em;
  color: #777;
  font-size: 1.4rem;
  text-align: center;
}

.cmu-library-list {
  display: flex;
  flex-wrap: wrap;
  margin: -6px;
  padding: 6px;
  overflow-y: auto;
}
@media screen and (max-width: 767.98px) {
  .cmu-library-list {
    gap: 1em;
    max-height: calc(100% - 200px);
  }
}
@media screen and (min-width: 768px) {
  .cmu-library-list {
    gap: 1.5em;
    max-height: calc(100% - 270px);
  }
}
.cmu-library-list__item {
  cursor: pointer;
  border-radius: 6px;
}
@media screen and (min-width: 768px) {
  .cmu-library-list__item {
    transition: 0.3s;
  }
  .cmu-library-list__item:hover {
    opacity: 0.8;
  }
}
.cmu-library-list__item img {
  border-radius: 6px;
  object-fit: cover;
}
@media screen and (max-width: 767.98px) {
  .cmu-library-list__item img {
    width: 90px;
    height: 90px;
  }
}
@media screen and (min-width: 768px) {
  .cmu-library-list__item img {
    width: 150px;
    height: 150px;
  }
}
.cmu-library-list__item.is-selected {
  box-shadow: 0 0 0 2px #fff, 0 0 0 6px hsl(135, 100%, 35%);
}
.cmu-library-list__loading {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767.98px) {
  .cmu-library-list__loading {
    width: 90px;
    height: 90px;
  }
}
@media screen and (min-width: 768px) {
  .cmu-library-list__loading {
    width: 150px;
    height: 150px;
  }
}
.cmu-library-list__loading::before {
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z" fill="rgb(34,139,34)"/></svg>');
  content: "";
  animation: animLoading 1.5s linear infinite;
}
@media screen and (max-width: 767.98px) {
  .cmu-library-list__loading::before {
    width: 3rem;
    height: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .cmu-library-list__loading::before {
    width: 4rem;
    height: 4rem;
  }
}
.cmu-library-list__more {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1em;
  background: #fff;
  border: 1px solid #777;
  border-radius: 6px;
  color: #228b22;
  cursor: pointer;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .cmu-library-list__more {
    width: 90px;
    font-size: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  .cmu-library-list__more {
    width: 150px;
    font-size: 0.9em;
    transition: 0.4s;
  }
  .cmu-library-list__more:hover {
    background: #cffcda;
  }
}
.cmu-library-list__more::before {
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z" fill="rgb(34,139,34)"/></svg>');
  content: "";
}
@media screen and (max-width: 767.98px) {
  .cmu-library-list__more::before {
    width: 2rem;
    height: 2rem;
    margin-bottom: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .cmu-library-list__more::before {
    width: 3rem;
    height: 3rem;
    margin-bottom: 1.2rem;
  }
}

@keyframes animLoading {
  to {
    transform: rotate(1turn);
  }
}
.cmu-library-select {
  position: absolute;
}
@media screen and (max-width: 767.98px) {
  .cmu-library-select {
    right: 1em;
    bottom: 1em;
  }
}
@media screen and (min-width: 768px) {
  .cmu-library-select {
    bottom: 2em;
    left: 50%;
    transform: translateX(-50%);
  }
}
.cmu-library-select__button {
  width: 200px;
}
.cmu-library-select__button.is-disabled {
  background: #aaa;
  border-color: #aaa;
}
@media screen and (min-width: 768px) {
  .cmu-library-select__button.is-disabled:hover {
    opacity: 1;
  }
}

.cmu-library-delete {
  position: absolute;
}
@media screen and (max-width: 767.98px) {
  .cmu-library-delete {
    bottom: 1em;
    left: 1em;
  }
}
@media screen and (min-width: 768px) {
  .cmu-library-delete {
    bottom: 2em;
    left: 2em;
  }
}
.cmu-library-delete__button {
  /*width: 200px;*/
}
.cmu-library-delete__button.is-disabled {
  opacity: 0.4;
}
@media screen and (min-width: 768px) {
  .cmu-library-delete__button.is-disabled:hover {
    opacity: 0.4;
    background: #fff;
  }
}

/*-----------------------------
  info
-----------------------------*/
.top-info {
  display: flex;
  gap: 1em;
  padding: 1em;
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 767.98px) {
  .top-info {
    flex-direction: column;
    margin: 2em 1em 0;
  }
}
@media screen and (min-width: 768px) {
  .top-info {
    align-items: center;
    margin: 3em 2em 0;
  }
}
.top-info__title {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .top-info__title {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  .top-info__title {
    margin-right: 3em;
    font-size: 1.6rem;
  }
}
.top-info__title::before {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.5em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z" fill="rgb(128,128,128)"/></svg>');
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
}
.top-info .m-link {
  flex-shrink: 0;
  margin-left: auto;
}
@media screen and (max-width: 767.98px) {
  .top-info .m-link {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 768px) {
  .top-info .m-link {
    font-size: 1.4rem;
  }
}

.info-list__item a {
  display: block;
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .info-list__item dl {
    display: flex;
    align-items: center;
  }
}
.info-list__item dt {
  color: #888;
  font-weight: 400;
}
@media screen and (max-width: 767.98px) {
  .info-list__item dt {
    margin-bottom: 0.5em;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  .info-list__item dt {
    min-width: 7em;
    margin-right: 1em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767.98px) {
  .info-list__item dd {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 768px) {
  .info-list__item dd {
    font-size: 1.5rem;
  }
}

.js-slider-vertical:not(.slick-initialized) .info-list__item:not(:first-child) {
  display: none;
}

.js-slider-vertical .info-list__item dd {
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  max-height: 1.5em;
  white-space: nowrap;
}

.info-archive {
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 767.98px) {
  .info-archive {
    padding: 1em;
  }
}
@media screen and (min-width: 768px) {
  .info-archive {
    padding: 2em;
  }
}
@media screen and (max-width: 767.98px) {
  .info-archive .info-list__item {
    padding: 1em 0;
  }
}
@media screen and (min-width: 768px) {
  .info-archive .info-list__item {
    padding: 1.2em 0;
  }
}
.info-archive .info-list__item:not(:first-child) {
  border-top: 1px dashed #aaa;
}

/*-----------------------------
  ログインユーザー用（編集、作成画面）
-----------------------------*/
.f-plant__field,
.f-record__field,
.f-layout__field,
.f-option__field,
.f-contact__field {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  .f-plant__field,
  .f-record__field,
  .f-layout__field,
  .f-option__field,
  .f-contact__field {
    display: flex;
  }
}
@media screen and (max-width: 767.98px) {
  .f-plant__field dt,
  .f-record__field dt,
  .f-layout__field dt,
  .f-option__field dt,
  .f-contact__field dt {
    margin-bottom: 0.5em;
  }
}
@media screen and (min-width: 768px) {
  .f-plant__field dt,
  .f-record__field dt,
  .f-layout__field dt,
  .f-option__field dt,
  .f-contact__field dt {
    min-width: 10em;
    padding-top: 0.5em;
    padding-right: 1em;
  }
}
.f-plant__field dt .m-tooltip, .f-plant__field dt .modal-item__tooltip,
.f-record__field dt .m-tooltip,
.f-record__field dt .modal-item__tooltip,
.f-layout__field dt .m-tooltip,
.f-layout__field dt .modal-item__tooltip,
.f-option__field dt .m-tooltip,
.f-option__field dt .modal-item__tooltip,
.f-contact__field dt .m-tooltip,
.f-contact__field dt .modal-item__tooltip {
  margin-left: 0.5em;
  vertical-align: -0.3em;
}
.f-plant__field dd,
.f-record__field dd,
.f-layout__field dd,
.f-option__field dd,
.f-contact__field dd {
  flex: 1;
}
@media screen and (max-width: 767.98px) {
  .f-plant__field dd input[type=text],
  .f-plant__field dd input[type=email],
  .f-plant__field dd input[type=date],
  .f-record__field dd input[type=text],
  .f-record__field dd input[type=email],
  .f-record__field dd input[type=date],
  .f-layout__field dd input[type=text],
  .f-layout__field dd input[type=email],
  .f-layout__field dd input[type=date],
  .f-option__field dd input[type=text],
  .f-option__field dd input[type=email],
  .f-option__field dd input[type=date],
  .f-contact__field dd input[type=text],
  .f-contact__field dd input[type=email],
  .f-contact__field dd input[type=date] {
    width: 100%;
  }
}
.f-plant__field.is-media-blank,
.f-record__field.is-media-blank,
.f-layout__field.is-media-blank,
.f-option__field.is-media-blank,
.f-contact__field.is-media-blank {
  display: none;
}
.f-plant__title,
.f-record__title,
.f-layout__title,
.f-option__title,
.f-contact__title {
  width: 100%;
}
.f-plant__content,
.f-record__content,
.f-layout__content,
.f-option__content,
.f-contact__content {
  width: 100%;
  height: 12em;
}
@media screen and (max-width: 767.98px) {
  .f-plant__plant,
  .f-record__plant,
  .f-layout__plant,
  .f-option__plant,
  .f-contact__plant {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .f-plant__plant,
  .f-record__plant,
  .f-layout__plant,
  .f-option__plant,
  .f-contact__plant {
    min-width: 10em;
  }
}
.f-plant__btns,
.f-record__btns,
.f-layout__btns,
.f-option__btns,
.f-contact__btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2em;
  margin-top: 3em;
}
@media screen and (max-width: 767.98px) {
  .f-plant__btns,
  .f-record__btns,
  .f-layout__btns,
  .f-option__btns,
  .f-contact__btns {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .f-plant__btns,
  .f-record__btns,
  .f-layout__btns,
  .f-option__btns,
  .f-contact__btns {
    flex-direction: row-reverse;
  }
}
.f-plant__btns button,
.f-record__btns button,
.f-layout__btns button,
.f-option__btns button,
.f-contact__btns button {
  min-width: 8em;
}
@media screen and (min-width: 768px) {
  .f-plant__text,
  .f-record__text,
  .f-layout__text,
  .f-option__text,
  .f-contact__text {
    padding-top: 0.5em;
  }
}
.f-plant__notice,
.f-record__notice,
.f-layout__notice,
.f-option__notice,
.f-contact__notice {
  margin-top: 0.8em;
  font-size: 0.9em;
}
.f-plant__req::after,
.f-record__req::after,
.f-layout__req::after,
.f-option__req::after,
.f-contact__req::after {
  color: #c33;
  content: "（必須）";
  font-size: 0.8em;
}

.f-option section:not(:last-child) {
  margin-bottom: 3em;
}
.f-option__field {
  margin-bottom: 0;
  padding: 2em 0;
}
.f-option__field:not(:last-child) {
  border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 767.98px) {
  .f-option__submit {
    margin-top: 1em;
  }
}
@media screen and (min-width: 768px) {
  .f-option__submit {
    margin-left: 0.3em;
  }
}
.f-option a:not([class]) {
  color: #228b22;
  text-decoration: underline;
}

.f-option-pw__field {
  display: flex;
  margin-top: 1.5em;
}
@media screen and (max-width: 767.98px) {
  .f-option-pw__field {
    flex-direction: column;
  }
}

.f-function section:not(:last-child) {
  margin-bottom: 3em;
}
.f-function__field {
  padding: 2em 0;
}
.f-function__field:not(:last-child) {
  border-bottom: 1px solid #ddd;
}
.f-function__field dd {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  padding: 1em;
}
@media screen and (max-width: 767.98px) {
  .f-function__field dd {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (min-width: 768px) {
  .f-function__field dd {
    align-items: center;
    justify-content: space-between;
  }
}

.f-function-point {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1em 0;
}
.f-function-point__num {
  margin-right: 0.2em;
  color: #228b22;
  font-size: 2em;
}

.f-price__table {
  width: 100%;
  margin-bottom: 4em;
  border-collapse: collapse;
}
.f-price__table th, .f-price__table td {
  border: 1px solid #ccc;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767.98px) {
  .f-price__table th, .f-price__table td {
    padding: 1em 0.6em;
  }
}
@media screen and (min-width: 768px) {
  .f-price__table th, .f-price__table td {
    padding: 1.5em 1em;
  }
}
.f-price__table thead th {
  background: #777;
  color: #fff;
}
.f-price__table tr:nth-child(odd) {
  background: #f7f7f7;
}
.f-price__table [class*=m-button-] {
  white-space: nowrap;
}
.f-price__before {
  color: #999;
  text-decoration: line-through;
}
.f-price__before::after {
  width: 0.9em;
  height: 0.9em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z" fill="rgb(153, 153, 153)"/></svg>');
  background-repeat: no-repeat;
  background-size: 87.5% 100%;
  content: "";
}
@media screen and (max-width: 767.98px) {
  .f-price__before::after {
    display: block;
    margin: 0.3em auto;
    transform: rotate(90deg);
  }
}
@media screen and (min-width: 768px) {
  .f-price__before::after {
    display: inline-block;
    margin: 0 0.6em;
  }
}
.f-price__point {
  font-weight: 700;
}
.f-price__point span {
  font-size: 1.5em;
}
@media screen and (min-width: 768px) {
  .f-price__point span {
    margin-right: 0.2em;
  }
}
.f-price__price {
  color: #228b22;
  font-weight: 700;
  font-size: 1.5em;
}
@media screen and (max-width: 767.98px) {
  .f-price__price {
    flex-direction: column;
  }
}
.f-price__discount {
  display: inline-block;
  padding: 0.4em 0.8em;
  color: #228b22;
  background: #fff;
  border: 1px solid #228b22;
  border-radius: 2em;
  font-weight: 700;
  line-height: 1;
  vertical-align: 0.3em;
}
@media screen and (max-width: 767.98px) {
  .f-price__discount {
    margin-top: 0.3em;
    font-size: 1.1rem;
    white-space: pre;
  }
}
@media screen and (min-width: 768px) {
  .f-price__discount {
    margin-left: 0.8em;
    font-size: 1.3rem;
  }
}
.f-price__submit {
  text-align: center;
}
.f-price__point {
  white-space: nowrap;
}
.f-price__point .m-radio span {
  padding-left: 1.8em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .f-price__point .m-radio span {
    font-size: 1.2em;
  }
}

@media screen and (min-width: 768px) {
  .f-contact__field dt {
    min-width: 12em;
  }
}
@media screen and (max-width: 767.98px) {
  .f-contact__name, .f-contact__email {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .f-contact__name, .f-contact__email {
    min-width: 20em;
  }
}
.f-contact__inquiry {
  width: 100%;
  height: 8em;
}
@media screen and (min-width: 768px) {
  .f-contact--confirm .f-contact__field dd {
    padding-top: 0.5em;
  }
}
.f-contact__confirm-text {
  margin-top: 3em;
  text-align: center;
}
.f-contact--complete {
  text-align: center;
}
.f-contact--complete p {
  margin-bottom: 1em;
}

.f-media [class*=m-button] {
  margin-right: 0.4em;
}
.f-media__view {
  margin-top: 1em;
}
.f-media__avatar img {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
}
.f-media__noimage {
  padding-top: 45%;
  background: url("../images/no_image.png") no-repeat 50% 40%;
  background-size: cover;
  border-radius: 6px;
}
.f-media__insert {
  display: inline-flex;
  align-items: center;
  margin-top: 1em;
  padding: 0.6em 0.8em 0.6em 0.4em;
  background: #fff;
  border: 1px solid #228b22;
  color: #228b22;
  border-radius: 2em;
  line-height: 1;
  cursor: pointer;
}
.f-media__insert::before {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.4em;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 344l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z" fill="rgb(34,139,34)"/></svg>');
  background-size: 87.5% auto;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  content: "";
}
.f-media__insert::after {
  font-size: 0.9em;
  content: "画像を挿入";
}

/* tag */
.tag-field {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #777;
  border-radius: 6px;
}
.tag-field input[type=text] {
  flex: 1;
  width: 100%;
  min-width: 8em;
  height: auto;
  border: none;
}
.tag-field input[type=text]:focus {
  outline: none;
}
.tag-field__selected {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
.tag-field__selected:has(*) {
  padding: 0.5em;
}
.tag-field__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.4em 0.8em;
  background: #eee;
}
.tag-field__tag::before {
  margin-right: 0.1em;
  color: #777;
  content: "#";
}
.tag-field__delete {
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  background-color: #777;
  background-repeat: no-repeat;
  background-size: 60% auto;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z" fill="rgb(255,255,255)"/></svg>');
  background-position: 50% 50%;
  border-radius: 50%;
  content: "";
}

.tag-suggest {
  position: relative;
  width: 100%;
}
.tag-suggest__list {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 300px;
  outline: 1px solid #bbb;
  border-radius: 6px;
  box-shadow: 1px 2px 6px -3px rgba(0, 0, 0, 0.2);
  overflow-y: auto;
}
.tag-suggest__item {
  padding: 0.5em;
  background: #fff;
  cursor: pointer;
  transition: 0.3s;
}
.tag-suggest__item:not(:last-child) {
  border-bottom: 1px solid #ddd;
}
.tag-suggest__item:hover, .tag-suggest__item:focus {
  background: #f2f2f2;
  outline: none;
}
.tag-suggest__item::before {
  margin-right: 0.1em;
  color: #777;
  content: "#";
}