@charset "utf-8";

@media screen and (max-width:1200px) {}
@media (hover: hover) and (pointer: fine) {}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {}
/*==================================================
$common
==================================================*/
:root {
  /* font-family */
  --zenmaru: "Zen Maru Gothic", sans-serif;
  --noto: "Noto Sans JP", sans-serif;

  /* space */
  --space-0: 0;
  --space-10: 10px;
  --space-15: 15px;
  --space-20: 20px;
  --space-25: 25px;
  --space-30: 30px;
  --space-40: 40px;
  --space-50: 50px;

  /* max-width */
  --maxwidth-m: 1000px;
  --maxwidth-s: 980px;
  --maxwidth-xs: 900px;
  --maxwidth-xxs: 800px;
  --maxwidth-xxxs: 700px;
  --maxwidth-l: 1100px;
  --maxwidth-xl: 1165px;
  --maxwidth-inbox-normal: 500px;
  --maxwidth-inbox-image: 400px;

  /* base color */
  --black: #000;
  --yellow: #FFD700;
  --blue: #003366;
  --gray: #E0E0E0;
  --white: #fff;
  --black-filter: brightness(0) saturate(100%) invert(0%) sepia(95%) saturate(7437%) hue-rotate(2deg) brightness(76%) contrast(102%);
  --yellow-filter: brightness(0) saturate(100%) invert(83%) sepia(26%) saturate(2042%) hue-rotate(358deg) brightness(102%) contrast(104%);
  --blue-filter: brightness(0) saturate(100%) invert(13%) sepia(75%) saturate(2376%) hue-rotate(195deg) brightness(93%) contrast(102%);
  --gray-filter: brightness(0) saturate(100%) invert(100%) sepia(2%) saturate(2010%) hue-rotate(188deg) brightness(118%) contrast(76%);
  --white-filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(6deg) brightness(103%) contrast(103%);

  /* background */
  --color-bg: #FAFAFA;
  --color-block-bg: #fff;
  --color-inheading-bg: #f2f2f2;
  --color-input-bg: #f2f2f2;
  --color-footer-bg: #F2EFEA;
  --color-footer-under-bg: #94A56A;
  --color-overlay: #000;
  --color-pickup-bg: #F6F7F0;

  /* color */
  --color-basetext: #000;
  --color-subtext: #5d5d5d;
  --color-primary: #7A4171;
  --color-light-primary: #F2EEF2;
  --color-inversion: #fff;
  --color-accent: #D16A6A;

  /* border */
  --color-heading-border: #f2f2f2;
  --color-border: #ddd;

  /* filter */
  --color-primary-filter: brightness(0) saturate(100%) invert(33%) sepia(18%) saturate(1286%) hue-rotate(258deg) brightness(89%) contrast(95%);
  --color-light-primary-filter: brightness(0) saturate(100%) invert(87%) sepia(2%) saturate(517%) hue-rotate(266deg) brightness(114%) contrast(90%);
  --color-inversion-filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(6deg) brightness(103%) contrast(103%);
  --color-accent-filter: brightness(0) saturate(100%) invert(69%) sepia(52%) saturate(3912%) hue-rotate(315deg) brightness(89%) contrast(85%);
}

:where(*) {box-sizing: border-box;}
:where(body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,p,blockquote,table,th,td,figure,figcaption) {padding: 0;margin: 0;}
:where(ul,dl,ol) {text-indent: 0;}
:where(li) {list-style: none;}
.space-0 { --space: var(--space-0); }
.space-10 { --space: var(--space-10); }
.space-15 { --space: var(--space-15); }
.space-20 { --space: var(--space-20); }
.space-25 { --space: var(--space-25); }
.space-30 { --space: var(--space-30); }
.space-40 { --space: var(--space-40); }
.space-50 { --space: var(--space-50); }
.mt { margin-top: var(--space, initial) !important; }
.mb { margin-bottom: var(--space, initial) !important; }
.pt { padding-top: var(--space, initial) !important; }
.pb { padding-bottom: var(--space, initial) !important; }

html {
  font-size: calc(100% * var(--font-scale));
}
html[data-font="small"]  { --font-scale: 0.875; }
html[data-font="medium"] { --font-scale: 1; }
html[data-font="large"]  { --font-scale: 1.125; }
body {
	margin: 0 auto;
	padding: 0;
	font-size: calc(16px * var(--font-scale));
	line-height: 1.7;
	position: relative;
	color: var(--color-basetext);
	font-family: "Noto Sans JP","游ゴシック","Yu Gothic","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 400;
	text-align: left;
  background: var(--color-bg);
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

a {color: inherit;text-decoration: none;}
a[href^="tel:"] {pointer-events: none;}
.sp {display: none !important;}
img {max-width: 100%;width: auto;height: auto;}

main {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-bottom: 100px;
}
.zen-maru {
  font-family: var(--zenmaru);
}
.primary {
  color: var(--color-primary);
}
.subtext {
  color: var(--color-subtext);
}
.accent {
  color: var(--color-accent);
}
.underline {
  text-decoration: underline;
}
.text-right {
  display: block;
  text-align: right;
}
.text-center {
  display: block;
  text-align: center;
}
.indent {
  display: inline-block;
  padding-left: 1em;
  text-indent: -1em;
}
.inner {
  padding-left: 0;
  padding-right: 0;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
:where(.inner:not(:last-child)) {
  margin-bottom: 60px;
}
.wm {max-width: var(--maxwidth-m);}
.ws {max-width: var(--maxwidth-s);}
.wxs {max-width: var(--maxwidth-xs);}
.wxxs {max-width: var(--maxwidth-xxs);}
.wxxxs {max-width: var(--maxwidth-xxxs);}
.wl {max-width: var(--maxwidth-l);}
.wxl {max-width: var(--maxwidth-xl);}
.bgw {background: var(--color-block-bg) !important;}
.breadcrumb {
  position: absolute;
  top: 0;
  right: 0;
  margin: auto;
  width: 100%;
  font-size: 0.75rem;
  padding-top: 10px;
  padding-bottom: 10px;
}
.breadcrumb .inner {
  width: 100%;
  overflow-x: auto;
}
.breadcrumb ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: stretch;
  width: max-content;
  margin-left: auto;
}
.breadcrumb ul li {
  margin-left: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.breadcrumb ul li:not(:last-child)::after {
  content: "";
  margin-left: 10px;
  width: 0.8em;
  height: 0.8em;
  background: url(../img/icon_arrow.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
}
.breadcrumb ul li a {
  color: var(--color-subtext);
}
.breadcrumb ul li:first-child a {
  background: url(../img/icon_home.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
  text-indent: -9999px;
  width: 1.2em;
  height: 1.2em;
  overflow: hidden;
}
.breadcrumb ul li:last-child a {
  pointer-events: none;
  text-decoration: none;
}
/*==================================================
$parts
==================================================*/
/* ---------------------------- heading ---------------------------- */
.page_title {
  padding: 50px 0;
}
.page_title .text {
  font-size: 1.875rem;
  font-weight: bold;
  color: var(--color-primary);
  font-family: var(--zenmaru);
  line-height: 1.3;
  max-width: var(--maxwidth-l);
  margin-left: auto;
  margin-right: auto;
}
.page_title .text span {
  font-size: 1.375rem;
  margin-left: 5px;
}
.category_heading {
  font-size: 1.75rem;
  font-weight: bold;
  font-family: var(--zenmaru);
  margin-bottom: 15px;
  line-height: 1.3;
}
.section_heading {
  font-size: 1.375rem;
  font-weight: bold;
  position: relative;
  border-bottom: 4px solid var(--color-heading-border);
  padding-bottom: 10px;
  line-height: 1.3;
}
*+.section_heading {
  padding-top: 20px;
}
.section_heading::after {
  content: "";
  width: 230px;
  position: absolute;
  bottom: -4px;
  left: 0;
  height: 4px;
  background: var(--color-primary);
}
/* ---------------------------- link btn ---------------------------- */
.btn01 {
  font-size: 0.875rem;
  font-weight: bold;
  width: 100%;
  height: min-content;
  min-height: 55px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  background: var(--color-block-bg);
  border-radius: 10px;
  border: 1px solid var(--color-border);
  box-shadow: 0 2px 0 var(--color-border);
  padding: 5px 20px;
  line-height: 1.3;
}
.btn01::after {
  content: "";
  width: 8px;
  min-width: 8px;
  height: 14px;
  background: url(../img/icon_arrow.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
  margin-left: 20px;
}
.btn01.download::after {
  background: url(../img/icon_download.svg) no-repeat center/contain;
  width: 10px;
  min-width: 10px;
  height: 20px;
}
.btn01 span {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  position: relative;
}
.btn01 span img {
  width: 23px;
  min-width: 23px;
  height: 23px;
  object-fit: contain;
  margin-right: 20px;
}
.btn01.pdf span,
.btn01.zip span,
.btn01.excel span,
.btn01.word span {
  padding-right: 30px;
}
.btn01.pdf span::after,
.btn01.zip span::after,
.btn01.excel span::after,
.btn01.word span::after {
  content: "";
  width: 23px;
  min-width: 23px;
  height: 23px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.btn01.pdf span::after {
  background: url(../img/icon_pdf.png) no-repeat center/contain;
}
.btn01.zip span::after {
  background: url(../img/icon_zip.png) no-repeat center/contain;
}
.btn01.excel span::after {
  background: url(../img/icon_excel.png) no-repeat center/contain;
}
.btn01.word span::after {
  background: url(../img/icon_word.png) no-repeat center/contain;
}
.btn02 {
  max-width: 460px;
  width: 90%;
  min-height: 60px;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 30px;
  background: var(--color-primary);
  color: var(--color-inversion);
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 100vw;
  position: relative;
  line-height: 1.3;
  border: 1px solid var(--color-primary);
}
.btn02::after {
  content: "";
  width: 8px;
  min-width: 8px;
  height: 14px;
  background: url(../img/icon_arrow.svg) no-repeat center/contain;
  filter: var(--color-inversion-filter);
  margin-left: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
}
.btn02.download::after {
  background: url(../img/icon_download.svg) no-repeat center/contain;
  width: 10px;
  min-width: 10px;
  height: 20px;
}
.btn03 {
  width: 100%;
  height: 55px;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 100vw;
  color: var(--color-inversion);
  padding: 5px 10px 5px 30px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  font-size: 1.125rem;
}
.btn03::after {
  content: "";
  width: 27px;
  min-width: 27px;
  height: 27px;
  background: url(../img/icon_circlearrow.svg) no-repeat center/contain;
  filter: var(--color-inversion-filter);
}
.ill_btn {
  width: 100%;
  height: 100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: var(--color-light-primary);
  color: var(--color-primary);
  font-size: 1.125rem;
  font-weight: bold;
  border-radius: 10px;
  border: 1px solid var(--color-light-primary);
  box-shadow: 0 3px 3px var(--color-border);
  position: relative;
  font-family: var(--zenmaru);
}
.ill_btn::before,
.ill_btn::after {
  content: "";
  width: 25px;
  min-width: 25px;
  height: 25px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  border-radius: 100vw;
}
.ill_btn::before {
  background: var(--color-primary);
  transform: scale(.9);
}
.ill_btn::after {
  background: url(../img/icon_circlearrow.svg) no-repeat center/contain;
  filter: var(--color-inversion-filter);
}
.ill_btn>img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 7%;
  margin: auto;
  max-width: 70px;
}
.ill_btn span {
  max-width: 40%;
  line-height: 1.2;
  position: relative;
  z-index: 2;
}
.ill_btn.bottom>img {
  max-width: 90px;
  top: auto;
  bottom: -1px;
  left: 7%;
}
.ill_btn.large {
  height: 160px;
}
.ill_btn.large>img {
  left: 3%;
  max-width: 200px;
  width: 30%;
}
.ill_btn.large span {
  max-width: none;
}
.ill_btn.large span img {
  max-height: 96px;
  margin: 0 auto;
  display: block;
}
.ill_btn.large.accordion {
  margin-bottom: 0;
}
.ill_btn.large.accordion::before {
  background: var(--color-primary);
  transform: scale(.9);
}
.ill_btn.large.accordion::after {
  background: url(../img/icon_circleplus.svg) no-repeat center/contain;
  filter: var(--color-inversion-filter);
}
.ill_btn.large.accordion.open {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.ill_btn.large.accordion:not(.open) {
  transition-delay: 0.35s;
}
.ill_btn.large.accordion.open::after {
  background: url(../img/icon_circleminus.svg) no-repeat center/contain;
  filter: var(--color-inversion-filter);
}
.ill_btn.large.accordion+.accordion_inlink {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  position: relative;
  z-index: 2;
  box-shadow: 0 3px 3px var(--color-border);
}
.ill_btn.large.accordion+.accordion_inlink::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: var(--color-light-primary);
  opacity: 0.5;
  pointer-events: none;
  z-index: -1;
}
.ill_btn.large.accordion+.accordion_inlink li {
  margin-bottom: 0;
}
.ill_btn.large.accordion+.accordion_inlink li:not(:last-child) {
  border-bottom: 1px dashed var(--color-border);
}
.ill_btn.large.accordion+.accordion_inlink li a {
  padding: 20px;
  color: var(--color-primary);
  font-size: 0.875rem;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.ill_btn.large.accordion+.accordion_inlink li a::before {
  content: "";
  width: 24px;
  min-width: 24px;
  height: 24px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 21px;
  margin: auto;
  border-radius: 100vw;
  background: var(--color-primary);
}
.ill_btn.large.accordion+.accordion_inlink li a::after {
  content: "";
  width: 26px;
  min-width: 26px;
  height: 26px;
  background: url(../img/icon_circlearrow.svg) no-repeat center/contain;
  filter: var(--color-inversion-filter);
}
.dangle_link {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  position: relative;
  z-index: 2;
  box-shadow: 0 3px 3px var(--color-border);
}
.dangle_link::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: var(--color-light-primary);
  opacity: 0.5;
  pointer-events: none;
  z-index: -1;
}
.dangle_link li {
  margin-bottom: 0;
}
.dangle_link li:not(:last-child) {
  border-bottom: 1px dashed var(--color-border);
}
.dangle_link li a {
  padding: 20px;
  color: var(--color-primary);
  font-size: 0.875rem;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.dangle_link li a::before {
  content: "";
  width: 24px;
  min-width: 24px;
  height: 24px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 21px;
  margin: auto;
  border-radius: 100vw;
  background: var(--color-primary);
}
.dangle_link li a::after {
  content: "";
  width: 26px;
  min-width: 26px;
  height: 26px;
  background: url(../img/icon_circlearrow.svg) no-repeat center/contain;
  filter: var(--color-inversion-filter);
}
.ill_btn.large + .dangle_link {
  margin-top: -15px;
}
.ill_btn.large + .dangle_link li:first-child {
  padding-top: 10px;
}
.ill_btn.lock span::after {
  content: "";
  width: 0.8em;
  height: 0.8em;
  background: url(../img/icon_lock.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
  margin-left: 10px;
  display: inline-block;
}
.link_icon {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.link_icon a {
  width: 35px;
  min-width: 35px;
  height: 35px;
  margin: 0 auto;
}
.link_icon a.pdf {
  background: url(../img/icon_pdf.png) no-repeat center/contain;
}
.link_icon a.zip {
  background: url(../img/icon_zip.png) no-repeat center/contain;
}
.link_icon a.excel {
  background: url(../img/icon_excel.png) no-repeat center/contain;
}
.link_icon a.word {
  background: url(../img/icon_word.png) no-repeat center/contain;
}
.page_link {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  max-width: none;
  width: 100%;
}
.page_link li {
  margin-right: 10px;
  margin-bottom: 10px;
}
.page_link li a {
  display: block;
  padding: 5px 20px;
  border-radius: 100vw;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  min-height: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  font-size: 0.813rem;
  background: var(--color-block-bg);
}
.page_link li a::after {
  content: "";
  width: 8px;
  min-width: 8px;
  height: 14px;
  filter: var(--color-primary-filter);
  transform: rotate(90deg);
  margin-left: 15px;
  background: url(../img/icon_arrow.svg) no-repeat center/contain;
}
.about_btn {
  background: var(--color-light-primary);
  border-radius: 10px;
  box-shadow: 0 3px 3px var(--color-border);
  overflow: hidden;
  height: 100%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  color: var(--color-primary);
  font-family: var(--zenmaru);
  font-weight: bold;
}
.about_btn span {
  font-size: 1.125rem;
  text-align: center;
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.about_btn span:first-child {
  height: calc(100% - 80px);
  position: relative;
  overflow: hidden;
}
.about_btn span:last-child {
  min-height: 80px;
  position: relative;
  padding: 0 50px;
}
.about_btn span:last-child::before,
.about_btn span:last-child::after {
  content: "";
  width: 24px;
  min-width: 24px;
  height: 24px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  border-radius: 100vw;
  z-index: 2;
}
.about_btn span:last-child::before {
  background: var(--color-primary);
  transform: scale(0.9);
}
.about_btn span:last-child::after {
  background: url(../img/icon_circlearrow.svg) no-repeat center/contain;
  filter: var(--color-inversion-filter);
}
.about_btn span img {
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.link_list ul li {
  width: 100%;
  border-bottom: 1px dashed var(--color-border);
}
.link_list ul li a {
  width: 100%;
  padding: 15px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
}
.link_list ul li a::after {
  content: "";
  width: 7px;
  min-width: 7px;
  height: 12px;
  margin-left: 10px;
  background: url(../img/icon_arrow.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
}
.textlink {
  text-decoration: underline;
  color: var(--color-primary);
}
.textlink.arrow::after {
  content: "";
  width: 0.7em;
  height: 0.7em;
  display: inline-block;
  margin-left: 5px;
  background: url(../img/icon_arrow.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
}
.textlink.external::after {
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  margin-left: 10px;
  background: url(../img/icon_external_link.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
}
/* ---------------------------- pager ---------------------------- */
.pager {
  padding: 100px 0;
}
.block .pager {
  padding: 50px 0 0;
}
.pager>*:not(:last-child) {
  margin-bottom: 20px;
}
.pager:last-child {
  padding-bottom: 0;
}
.pager ol {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
}
.pager ol li {
  margin: 0 10px;
}
.pager ol li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 50px;
  min-width: 50px;
  height: 50px;
  background-color: var(--color-light-primary);
  color: var(--color-primary);
  border-radius: 100vw;
  font-size: 0.813rem;
}
.pager ol li.prev a::before,
.pager ol li.next a::before {
  content: "";
  width: 7px;
  min-width: 7px;
  height: 11px;
  background: url(../img/icon_arrow.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
}
.pager ol li.prev a::before {
  transform: scale(-1,1);
}
.pager ol li.current a {
  background-color: var(--color-primary);
  color: var(--color-light-primary);
}
.pager ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  position: relative;
  min-height: 50px;
}
.pager ul li {
  font-size: 0.813rem;
  text-align: center;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 160px;
}
.pager ul li a {
  text-align: center;
  width: 100%;
  height: 50px;
  border-radius: 100vw;
  background: var(--color-light-primary);
  color: var(--color-primary);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 10px 20px;
}
.pager ul li a::before {
  content: "";
  width: 7px;
  min-width: 7px;
  height: 11px;
  background: url(../img/icon_arrow.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.pager ul li.prev {
  left: 0;
}
.pager ul li.back {
  left: 0;
  right: 0;
}
.pager ul li.next {
  right: 0;
}
.pager ul li.prev a::before,
.pager ul li.back a::before {
  left: 20px;
  transform: scale(-1,1);
}
.pager ul li.next a::before {
  right: 20px;
}
/* ---------------------------- block ---------------------------- */
.block {
  padding: 50px 0;
  border-radius: 10px;
  overflow: hidden;
}
:where(.block:not(:last-child)) {
  margin-bottom: 50px;
}
:where(.block>*:not(:last-child)) {
  margin-bottom: 30px;
}
:where(.block>*:not(.print_btn)) {
  padding-bottom: 30px;
}
.print_btn {
  max-width: var(--maxwidth-xs);
  margin: 0 auto 30px;
}
.print_btn a {
  font-size: 0.875rem;
  font-weight: bold;
  width: 90%;
  max-width: 210px;
  height: 48px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background: var(--color-block-bg);
  border-radius: 10px;
  border: 1px solid var(--color-border);
  box-shadow: 0 2px 0 var(--color-border);
  margin-left: auto;
  margin-right: 0;
  color: var(--color-primary);
}
.print_btn a::before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: url(../img/icon_print.png) no-repeat center/contain;
  margin-right: 10px;
}
:where(.block>section>*:not(:last-child)) {
  margin-bottom: 30px;
}
.block .section_heading+.date {
  font-size: 1rem;
  display: block;
  text-align: right;
  color: var(--color-subtext);
  font-weight: 400;
  margin-top: -20px;
  margin-bottom: 50px;
}
:where(.block>section>*:not(.category_heading)) {
  max-width: var(--maxwidth-xs);
  margin-left: auto;
  margin-right: auto;
}
.block .table table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--color-border);
}
.block .table table th {
  border: 1px solid var(--color-border);
  padding: 20px 10px;
  vertical-align: middle;
  text-align: center;
  font-weight: bold;
  word-break: keep-all;
  font-size: 0.875rem;
}
.block .table table td {
  border: 1px solid var(--color-border);
  padding: 20px;
  vertical-align: middle;
}
.block .table.fixed table {
  table-layout: fixed;
}
.block .table.fixed table th,
.block .table.fixed table td {
  text-align: center;
}
.block .table.beside table th {
  background: var(--color-light-primary);
  color: var(--color-primary);
  padding: 15px 10px;
}
.block .table.beside.materials table th:last-child {
  width: 120px;
}
.block .table.vertical table thead th {
  background: var(--color-light-primary);
  color: var(--color-primary);
  padding: 15px 10px;
}
.block .table.vertical table tbody th {
  background: var(--color-heading-border);
}
.block .table table td.maru {
  background: url(../img/icon_maru.svg) no-repeat center/1.5em;
  filter: var(--color-primary-filter);
}
.block .table table td.batsu {
  background: url(../img/icon_batsu.svg) no-repeat center/1.5em;
  filter: var(--color-primary-filter);
}
.block .inheading {
  max-width: var(--maxwidth-xs);
  text-align: center;
  background: var(--color-inheading-bg);
  color: var(--color-primary);
  font-size: 1.125rem;
  font-weight: bold;
  border-radius: 6px;
  padding: 20px;
  min-height: 65px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  line-height: 1.3;
}
.block .insubheading {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 20px;
  display: block;
}
:where(.block .inbox) {
  max-width: var(--maxwidth-xxxs);
}
.block .inbox {
  width: 90%;
  padding: 30px 0;
  border-radius: 10px;
  background: var(--color-light-primary);
  margin: 30px auto;
}
.block .inbox:last-child {
  margin-bottom: 0;
}
:where(.block .inbox>*) {
  max-width: var(--maxwidth-inbox-normal);
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
:where(.block .inbox>*:not(:last-child)) {
  margin-bottom: 20px;
}
.block .inbox.image {
  background: var(--color-bg);
}
.block .inbox.image img {
  max-width: var(--maxwidth-inbox-image);
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.block .inbox.image.trafficaccident_image {
  background: var(--color-pickup-bg);
}
.block .inbox.image.trafficaccident_image img {
  max-width: 370px;
}
.block .inbox+span {
  display: block;
  max-width: var(--maxwidth-xxxs);
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-top: -30px;
}
.decimal {
  counter-reset: decimal 0;  
}
.decimal>ol>li {
  padding-left: 2em;
  position: relative;
}
.decimal>ol>li:not(:last-child) {
  margin-bottom: 5px;
}
.decimal>ol>li::before {
  counter-increment: decimal 1;
  content: counter(decimal)". ";
  position: absolute;
  top: 0;
  left: 0;
  min-width: 1.6em;
  text-align: right;
}
.parentheses_decimal {
  counter-reset: parentheses_decimal 0;  
}
.parentheses_decimal>ol>li {
  padding-left: 2em;
}
.parentheses_decimal>ol>li:not(:last-child) {
  margin-bottom: 10px;
}
.parentheses_decimal>ol>li::before {
  counter-increment: parentheses_decimal 1;
  content: "("counter(parentheses_decimal)")";
  color: var(--color-primary);
  font-size: 1.125rem;
  font-weight: bold;
  text-indent: -1.8em;
  display: inline-block;
  vertical-align: top;
}
.parentheses_decimal>ol>li strong {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 5px;
  display: inline-block;
}
.parentheses_decimal>ol>li span {
  font-size: 0.875rem;
}
.disc>ul>li {
  width: 100%;
  position: relative;
  padding-left: 1em;
}
.disc>ul>li::before {
  content: "";
  width: 7px;
  min-width: 7px;
  height: 7px;
  border-radius: 100vw;
  background: var(--color-primary);
  margin: 0.7em 10px 0 0;
  position: absolute;
  top: 0;
  left: 0;
}
.disc>ul>li span {
  font-size: 90%;
  width: 100%;
}
/* ---------------------------- grid ---------------------------- */
.grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 30px;
}
:where(.grid:not(:last-child)) {
  margin-bottom: 30px;
}
:where(.grid>*>*:not(:last-child)) {
  margin-bottom: 10px;
}
.grid.to_3 {
  grid-template-columns: repeat(3, 1fr);
}
.grid.to_21 {
  grid-template-columns: repeat(1, 2fr 1fr);
}
.grid.to_archive {
  grid-template-columns: repeat(1, 4.5fr 1fr);
}
@media screen and (max-width:850px) {
  .grid.subpage_news {
    display: block;
  }
  .grid.subpage_news .news_list {
    margin-bottom: 30px;
  }
  .grid.subpage_news div:not(.news_list) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    grid-gap: 10px;
  }
  .grid.subpage_news div:not(.news_list)>* {
    margin-bottom: 0;
  }
}
.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 20px 30px;
}
/* ---------------------------- news ---------------------------- */
:where(.news_list:not(:last-child)) {
  margin-bottom: 50px;
}
:where(.news_list *) {
  margin-bottom: 0;
}
.news_list ul {
  border-top: 1px dashed var(--color-border);
}
.news_list ul li {
  border-bottom: 1px dashed var(--color-border);
  position: relative;
  margin: 0;
}
.news_list ul li a {
  padding: 20px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}
.news_list ul li a span {
  margin: 0;
}
.news_list ul li a span.date {
  font-size: 0.875rem;
  width: 100px;
  min-width: 100px;
  color: var(--color-subtext);
}
.news_list ul li a span.label {
  font-size: 0.875rem;
  min-width: 130px;
  position: relative;
  padding-left: 20px;
}
.news_list ul li a span.label::before {
  content: "";
  width: 1px;
  height: 60%;
  background: var(--color-basetext);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.news_list ul+span {
  text-align: right;
  display: block;
  margin-top: 10px;
}
.news_list ul+span a {
  font-size: 0.875rem;
}
.news_list ul+span a::after {
  content: "";
  width: 8px;
  min-width: 8px;
  height: 13px;
  background: url(../img/icon_arrow.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
  margin-left: 10px;
  display: inline-block;
}
.news_list ul li.new span.text::after {
  content: "";
  width: 52px;
  min-width: 52px;
  height: 20px;
  background: url(../img/new.svg) no-repeat center/contain;
  margin-left: 20px;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 3px;
  filter: var(--color-accent-filter);
}
.news_list ul li.pin::after {
  content: "";
  width: 26px;
  min-width: 26px;
  height: 26px;
  background: url(../img/icon_circlepin.svg) no-repeat center/contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  filter: var(--color-primary-filter);
  z-index: 2;
  opacity: 0.6;
}
.news_list ul li.pin a {
  background: var(--color-light-primary);
  padding-right: 50px;
}
.news_list ul li.outlink a,
.news_list ul li.file a {
  padding-right: 50px;
}
.news_list ul li.outlink a::after,
.news_list ul li.file a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  filter: var(--color-primary-filter);
}
.news_list ul li.outlink a::after {
  width: 15px;
  height: 15px;
  background: url(../img/icon_external_link.svg) no-repeat center/contain;
}
.news_list ul li.file a::after {
  width: 18px;
  height: 18px;
  background: url(../img/icon_file.svg) no-repeat center/contain;
}
.news_list ul li.pin.outlink a,
.news_list ul li.pin.file a {
  padding-right: 80px;
}
.news_list ul li.pin.outlink a::after,
.news_list ul li.pin.file a::after {
  right: 60px;
}
.subpage_news .news_list {
  margin-bottom: 0;
}
.archive {
  margin-left: 15%;
  min-width: 150px;
}
.archive div {
  background: var(--color-light-primary);
  border-radius: 10px;
  padding: 30px 30px 40px;
}
.archive div strong {
  font-size: 1.125rem;
  font-weight: bold;
  color: var(--color-primary);
  margin-bottom: 15px;
  display: block;
  font-family: var(--zenmaru);
}
.archive div ul li {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}
.archive div ul li::before {
  content: "";
  width: 8px;
  min-width: 8px;
  height: 8px;
  background: var(--color-primary);
  margin-right: 10px;
  border-radius: 100vw;
}
/* ---------------------------- faq ---------------------------- */
.faq_list dl {
  padding: 20px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  cursor: pointer;
}
.faq_list dl:not(:last-child) {
  margin-bottom: 20px;
}
.faq_list dl dt {
  width: 100%;
  min-height: 40px;
  padding: 5px 20px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.faq_list dl dt::before {
  content: "";
  width: 16px;
  min-width: 16px;
  height: 3px;
  background: var(--color-primary);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  transform: rotate(90deg);
  transition: .3s;
  opacity: 1;
}
.faq_list dl.active dt::before {
  opacity: 0;
}
.faq_list dl dt::after {
  content: "";
  width: 16px;
  min-width: 16px;
  height: 3px;
  background: var(--color-primary);
}
.faq_list dl dd {
  padding: 20px 20px 0;
  display: none;
  font-size: 0.875rem;
  font-weight: 400;
  cursor: auto;
}
/* ---------------------------- search ---------------------------- */
.search_box form {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  position: relative;
}
.search_box input {
  width: 180px;
  background: var(--color-input-bg);
  padding: 5px 33px 5px 10px;
  border-radius: 100vw;
  outline: none;
  border: 1px solid var(--color-border);
  color: var(--color-basetext);
}
.search_box button {
  width: 33px;
  min-width: 33px;
  height: 33px;
  background: var(--color-primary);
  overflow: hidden;
  text-indent: -9999px;
  border-radius: 100vw;
  position: relative;
  border: 1px solid var(--color-primary);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  cursor: pointer;
}
.search_box button::after {
  content: "";
  width: 15px;
  min-width: 15px;
  height: 15px;
  background: url(../img/icon_search.svg) no-repeat center/contain;
  filter: var(--color-inversion-filter);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.search_box ul li {
  margin: 0 5px 10px 0;
  display: inline-block;
}
.search_box ul li a {
  font-size: 0.813rem;
  padding: 5px 10px;
  border-radius: 100vw;
  background: var(--color-block-bg);
  border: 1px solid var(--color-border);
  color: var(--color-primary);
}
/*==================================================
$header
==================================================*/
header {
  padding-top: 25px;
  width: 100%;
  position: relative;
}
header::after {
  content: "";
  position: absolute;
  inset: 0;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  pointer-events: none;
  z-index: -1;
  height: calc(100% + 30px);
}
header.fixed {
  position: fixed;
  top: -75px;
  left: 0;
  z-index: 100;
}
header .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 98%;
}
header .logo {
  max-width: 325px;
  width: 50%;
}
header .logo a {
  display: block;
}
header .logo a img {
  width: 100%;
}
header .upper_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  max-width: calc(100% - 325px - 10px);
}
header .member {
  width: 160px;
  border-radius: 15px;
  overflow: hidden;
  margin-left: 20px;
}
header .member a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 45px;
  background: var(--color-primary);
  color: var(--color-inversion);
  font-size: 0.875rem;
  font-weight: bold;
}
header .member a::before {
  content: "";
  width: 1.2em;
  min-width: 1.2em;
  height: 1.2em;
  background: url(../img/icon_lock.svg) no-repeat center/contain;
  filter: var(--color-inversion-filter);
  margin-right: 10px;
}
header .upper_nav .search_btn {
  display: none;
}
header .upper_nav .burger,
header .upper_nav .burger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
header .upper_nav .burger {
  width: 25px;
  height: 20px;
  position: relative;
  z-index: 1000;
  margin: auto;
  cursor: pointer;
  z-index: 100;
  margin-left: 20px;
}
header .upper_nav .burger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-primary);
  border-radius: 4px;
}
header .upper_nav .burger span:nth-of-type(1) {
  top: 0;
}
header .upper_nav .burger span:nth-of-type(2) {
  top: 0;
  bottom: 0;
  margin: auto;
}
header .upper_nav .burger span:nth-of-type(3) {
  bottom: 0;
}
header .upper_nav .burger.active span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg);
}
header .upper_nav .burger.active span:nth-of-type(2) {
  opacity: 0;
}
header .upper_nav .burger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-9px) rotate(45deg);
  transform: translateY(-9px) rotate(45deg);
}
header nav {
  width: 100%;
  padding-top: 15px;
}
header nav .main_nav {
  background: var(--color-block-bg);
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 3px 3px rgba(0,0,0,.1);
}
header nav .main_nav ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}
header nav .main_nav ul li {
  width: 100%;
  text-align: center;
  position: relative;
}
header nav .main_nav ul li:not(:last-child)::after {
  content: "";
  width: 1px;
  height: 70%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  background: var(--color-border);
}
header nav .main_nav ul li a {
  width: 100%;
  line-height: 1.3;
  font-size: 0.75rem;
  min-height: 70px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: var(--color-subtext);
  padding: 10px 5px;
}
header nav .main_nav ul li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 2px;
}
header nav .main_nav ul li a strong {
  font-size: 1rem;
  display: block;
  width: 100%;
  color: var(--color-basetext);
}
header nav .main_nav ul li a.current {
  color: var(--color-primary);
}
header nav .main_nav ul li a.current strong {
  color: var(--color-primary);
}
header nav .main_nav ul li a.current::after {
  background: var(--color-primary);
}
header .sub_nav {
  width: 100%;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  opacity: 0;
  transition: .3s;
  pointer-events: none;
}
header .sub_nav.burger_open {
  opacity: 1;
  pointer-events: auto;
}
header .sub_nav .sub_nav_overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: var(--color-overlay);
  opacity: 0.5;
}
header .sub_nav .inner {
  z-index: 2;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
}
header .sub_nav .inner .block {
  margin-top: 20px;
  padding: 40px;
  position: relative;
  max-width: 700px;
  max-height: 90vh;
  overflow-y: auto;
  background: var(--color-bg);
  z-index: 2;
  width: 100%;
}
header .sub_nav .inner .block .close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 100px;
  background: var(--color-overlay);
  opacity: 0.2;
  border: 1px solid var(--color-overlay);
  cursor: pointer;
}
header .sub_nav .inner .block .close::before,
header .sub_nav .inner .block .close::after {
  content: "";
  width: 22px;
  height: 2px;
  background: var(--color-block-bg);
  border-radius: 100vw;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
header .sub_nav .inner .block .close::after {
  transform: rotate(-45deg);
}
header .sub_nav .inner .block .sub_nav_heading {
  font-size: 1.438rem;
  font-weight: bold;
  font-family: var(--zenmaru);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 20px;
}
header .sub_nav .inner .block .sub_nav_heading::before {
  content: "";
  width: 2em;
  height: 1.5em;
  margin-right: 5px;
}
header .sub_nav .inner .block .search_box .sub_nav_heading::before {
  background: url(../img/icon_search.png) no-repeat center/contain;
}
header .sub_nav .inner .block .sub_nav_faq .sub_nav_heading::before {
  background: url(../img/icon_faq.png) no-repeat center/contain;
}
header .sub_nav .inner .block .accessibility .sub_nav_heading::before {
  background: url(../img/icon_gear.png) no-repeat center/contain;
}
:where(header .sub_nav .inner .block>*:not(strong):not(:last-child)) {
  padding: 20px 0;
  border-bottom: 2px dashed var(--color-border);
}
:where(header .sub_nav .inner .block>*:last-child) {
  margin-top: 20px;
}
:where(header .sub_nav .inner .block>*) {
  margin-bottom: 0;
}
header .sub_nav .inner .block .search_box {
  padding-top: 0;
}
header .sub_nav .inner .block .search_box .sub_nav_heading+p {
  color: var(--color-primary);
  font-family: var(--zenmaru);
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 5px;
  display: none;
}
header .sub_nav .inner .block .search_box div {
  margin-bottom: 20px;
  display: none;
}
header .sub_nav .inner .block .search_box div form input {
  width: 100%;
  padding: 10px 33px 10px 10px;
  background: var(--color-block-bg);
}
header .sub_nav .inner .block .search_box div form button {
  transform: scale(1.3);
}
header .sub_nav .inner .block .sub_nav_faq ul li {
  border-bottom: 2px solid var(--color-border);
}
header .sub_nav .inner .block .sub_nav_faq ul li a {
  padding: 15px;
  display: block;
}

header .sub_nav .inner .block .accessibility dl {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  margin-top: 10px;
  padding: 10px 20px;
  background: var(--color-input-bg);
  border-radius: 10px;
}
header .sub_nav .inner .block .accessibility dl dt {
  font-size: 0.875rem;
  font-weight: bold;
  width: 100px;
  min-width: 100px;
  color: var(--color-primary);
}
header .sub_nav .inner .block .accessibility dl dd {
  width: calc((100% - 100px - 30px) / 4);
  min-width: 35px;
  height: 35px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 0.813rem;
  font-weight: bold;
  background: var(--color-block-bg);
  box-shadow: 0 1px 2px var(--color-border);
  border-radius: 10px;
  cursor: pointer;
}
header .sub_nav .inner .block .accessibility dl dd:not(:last-child) {
  margin-right: 10px;
}
header .sub_nav .inner .block .accessibility .text dd {
  color: var(--color-primary);
}
header .sub_nav .inner .block .accessibility .text .current {
  color: var(--color-inversion);
  background: var(--color-subtext);
}
header .sub_nav .inner .block .accessibility .background .normal {
  background: var(--white);
  color: var(--black);
  border: 1px solid var(--black);
}
header .sub_nav .inner .block .accessibility .background .blue {
  background: var(--blue);
  color: var(--white);
}
header .sub_nav .inner .block .accessibility .background .yellow {
  background: var(--yellow);
  color: var(--black);
}
header .sub_nav .inner .block .accessibility .background .black {
  background: var(--black);
  color: var(--white);
}
header .sub_nav .sub_nav_link {
  padding-bottom: 0;
}
header .sub_nav .sub_nav_link>* {
  margin-bottom: 20px;
}
header .sub_nav .sub_nav_link .grid {
  grid-gap: 20px;
}
header .sub_nav .sub_nav_link .ill_btn>img {
  left: 5%;
  max-width: 65px;
}
header .sub_nav .sub_nav_link .ill_btn span {
  max-width: none;
  width: 100%;
  padding-left: calc(5% + 65px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
header .sub_nav .sub_nav_link .ill_btn::before,
header .sub_nav .sub_nav_link .ill_btn::after {
  display: none;
}
header .sub_nav .sub_nav_link .about_btn {
  flex-wrap: nowrap;
  align-items: stretch;
  margin-bottom: 20px;
}
header .sub_nav .sub_nav_link .about_btn span:first-child {
  width: 40%;
  height: auto;
}
header .sub_nav .sub_nav_link .about_btn span:last-child {
  width: 60%;
  padding: 10px 5%;
  height: 100px;
}
header .sub_nav .sub_nav_link .about_btn span img {
  height: 120%;
  transform: translate(-50%,-40%);
}
header .sub_nav .sub_nav_link .about_btn span:last-child::before,
header .sub_nav .sub_nav_link .about_btn span:last-child::after {
  display: none;
}
header .sub_nav .sub_nav_link .grid .ill_btn {
  height: 90px;
}
/*==================================================
$footer
==================================================*/
footer {
  background: var(--color-footer-bg);
}
footer .upper {
  padding-top: 50px;
  font-family: var(--zenmaru);
}
:where(footer .upper .inner>*:not(:last-child)) {
  margin-bottom: 20px;
}
footer .upper .logo {
  margin-bottom: 10px;
}
footer .upper ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
}
footer .upper ul li {
  max-width: 263px;
  width: 100%;
  margin-right: 20px; 
}
footer .upper address {
  font-style: normal;
}
footer .upper address .telephone {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: baseline;
  font-size: 0.875rem;
  margin-bottom: 5px;
}
footer .upper address .telephone::before {
  content: "";
  width: 20px;
  min-width: 20px;
  height: 20px;
  background: url(../img/icon_tel.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
  margin-right: 10px;
}
footer .upper address .telephone a {
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.2;
}
footer .upper::after {
  content: "";
  display: block;
  width: 100%;
  height: 18vw;
  background: url(../img/footer_bg.png) no-repeat bottom center/contain;
}
footer .under {
  background: var(--color-footer-under-bg);
  padding: 20px;
  font-size: 0.75rem;
  position: relative;
}
footer .under .totop {
  width: 96px;
  min-width: 96px;
  height: 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-family: var(--zenmaru);
  font-weight: bold;
  font-size: 0.875rem;
  position: absolute;
  top: -60px;
  right: 5%;
  margin: auto;
  color: var(--color-inversion);
  background: var(--color-footer-under-bg);
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  padding-top: 20px;
}
footer .under .totop::before {
  content: "";
  width: 11px;
  height: 20px;
  background: url(../img/icon_arrow.svg) no-repeat center/contain;
  transform: rotate(-90deg);
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
  margin: auto;
  filter: var(--color-inversion-filter);
}
footer .under ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
footer .under ul li {
  padding: 0 20px;
  position: relative;
}
footer .under ul li:not(:last-child)::after {
  content: "";
  width: 1px;
  height: 80%;
  background: var(--color-inversion);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
footer .under ul li a {
  color: var(--color-inversion);
  display: block;
  padding-bottom: 0.1em;
}
footer .under span {
  display: block;
  text-align: center;
  opacity: 0.3;
}
/*==================================================
$toppage
==================================================*/
.toppage main {
  padding-bottom: 0;
}
.toppage .block {
  margin-bottom: 0;
  padding: 30px 0;
}
.toppage main>.inner {
  margin-bottom: 30px;
}
.toppage .inner {
  padding-bottom: 0;
}
.toppage .block .inner {
  width: calc(100% - 60px);
}
.mv {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-top: 30px;
}
.mv::after {
  content: "";
  width: 115%;
  height: 5vw;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  background: var(--color-bg);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  z-index: 10;
}
.mv .mv_slider {
  opacity: 0;
  visibility: hidden;
}
.mv .mv_slider.slick-initialized {
  opacity: 1;
  visibility: visible;
}
.mv .mv_slider .mv_slider_item img {
  width: 100%;
}
.important_notice {
  margin: 30px 0;
}
.important_notice .inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  overflow: hidden;
  border-radius: 10px;
}
.important_notice strong {
  font-size: 1.125rem;
  background: var(--color-accent);
  color: var(--color-inversion);
  text-align: center;
  width: 190px;
  min-width: 190px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.important_notice ul {
  width: calc(100% - 190px);
  background: var(--color-input-bg);
  padding: 20px 30px;
}
.important_notice ul li:not(:first-child) {
  margin-top: 5px;
}
.important_notice ul li a {
  font-size: 0.875rem;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
}
.important_notice ul li a::before {
  content: "";
  width: 7px;
  min-width: 7px;
  height: 7px;
  background: var(--color-accent);
  border-radius: 100px;
  margin: 10px 10px 0 0;
}
.top_block_heading {
  font-size: 1.75rem;
  font-weight: bold;
  font-family: var(--zenmaru);
  text-align: center;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  line-height: 1.3;
}
.top_block_heading::before {
  content: "";
  width: 100%;
  height: 1.5em;
  margin-bottom: 10px;
}
.top_download .top_block_heading::before {
  background: url(../img/icon_download.png) no-repeat center/contain;
}
.top_faq .top_block_heading::before {
  background: url(../img/icon_faq.png) no-repeat center/contain;
}
.top_contact .top_block_heading::before {
  background: url(../img/icon_telephone.png) no-repeat center/contain;
}
.top_search .top_block_heading {
  display: block;
  text-align: left;
}
.top_search .top_block_heading::before {
  width: 1.2em;
  min-width: 1.2em;
  margin-bottom: 0;
  display: inline-block;
  vertical-align: middle;
  background: url(../img/icon_search.png) no-repeat center/contain;
  margin-right: 10px;
}
@media screen and (max-width:900px) {
  .top_block_heading {
    font-size: 1.375rem;
  }
}
.top_search .search_box input {
  width: 100%;
  padding: 10px 33px 10px 10px;
}
.top_search .search_box button {
  transform: scale(1.3);
}
.top_search .search_box ul {
  margin-top: 20px;
}
.top_search .search_box ul li {
  margin: 0 10px 15px 0;
}
.top_news_heading {
  margin-bottom: 40px;
}
.top_news_heading+.inner>.grid {
  margin-bottom: 30px;
}
@media screen and (max-width:900px) {
  .top_news_heading+.inner>.grid {
    display: block;
  }
  .top_news_heading+.inner>.grid>* {
    width: 100%;
  }
  .top_news_heading+.inner>.grid>*:first-child {
    margin-bottom: 30px;
  }
}
.top_news {
  position: relative;
  overflow: visible;
  margin-bottom: 0;
}
.top_news .top_news_tab {
  position: absolute;
  bottom: 100%;
  left: 0;
  margin: auto;
  width: 100%;
}
.top_news .top_news_tab ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-end;
  padding: 0 15px;
}
.top_news .top_news_tab ul li {
  margin: 0 5px;
}
.top_news .top_news_tab ul li:first-child {
  margin-left: 0;
}
.top_news .top_news_tab ul li:last-child {
  margin-right: 0;
}
.top_news .top_news_tab ul li a {
  display: block;
  padding: 5px 8px;
  background: var(--color-border);
  color: var(--color-subtext);
  font-size: 0.75rem;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  text-align: center;
  line-height: 1.3;
}
.top_news .top_news_tab ul li.active a {
  color: var(--color-inversion);
  background: var(--color-primary);
}
.top_news .news_list {
  display: none;
  margin-bottom: 0;
}
.top_news .news_list.show {
  display: block;
}
.top_news .news_list ul li a {
  flex-wrap: wrap;
  position: relative;
}
.top_news .news_list ul li a .text {
  width: 100%;
  font-size: 0.875rem;
}
.top_news .news_list ul li.new a .label::after {
  content: "";
  width: 52px;
  min-width: 52px;
  height: 20px;
  background: url(../img/new.svg) no-repeat center / contain;
  margin-left: 20px;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 3px;
  filter: var(--color-accent-filter);
}
.top_news .news_list ul li.new a .text::after {
  display: none;
}
.pickup_block {
  padding: 30px 0;
  margin: 0 0 30px;
  background: var(--color-pickup-bg);
}
.pickup_block .pickup_heading {
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center;
  font-family: var(--zenmaru);
  margin-bottom: 20px;
  line-height: 1;
}
.pickup_block .pickup_wrap .pickup_slider {
  opacity: 0;
  visibility: hidden;
}
.pickup_block .pickup_wrap .pickup_slider.slick-initialized {
  opacity: 1;
  visibility: visible;
}
.pickup_block .pickup_wrap .pickup_slider .pickup_slider_item {
  width: 300px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 3px var(--color-border);
  margin: 0 10px;
}
.pickup_block .pickup_wrap .pickup_slider .pickup_slider_item a {
  display: block;
  width: 100%;
  background: var(--color-inversion);
}
.pickup_block .pickup_wrap .pickup_slider .pickup_slider_item a .image {
  display: block;
  padding: 33.6% 0;
  position: relative;
  overflow: hidden;
}
.pickup_block .pickup_wrap .pickup_slider .pickup_slider_item a .image img {
  width: 100%;
  max-width: none;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.pickup_block .pickup_wrap .pickup_slider .pickup_slider_item a .text {
  display: block;
  min-height: 80px;
  padding: 10px 15px;
  font-size: 0.875rem;
}
.toppage .inabout_btn>*>*:not(:last-child)  {
  margin-bottom: 30px;
}
.banner_area {
  background: var(--color-pickup-bg);
  padding: 50px 0;
}
.banner_area:last-child {
  margin-top: 100px;
  margin-bottom: -100px;
}
.banner_area ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(230px, 1fr));
  gap: 20px;
  width: 90%;
  max-width: var(--maxwidth-l);
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
  place-items: center;
}
.banner_area ul:has(> :nth-child(-n+2):last-child){
  display: flex;
  justify-content: center;
  gap: 20px;
}
.banner_area ul li {
  max-width: 320px;
}
.banner_area ul li a {
  display: block;
  width: 100%;
}
.banner_area ul li a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.subpage_top_block:not(:last-child) {
  margin-bottom: 30px;
}
.subpage_top_block>div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.subpage_top_block>div .text {
  width: calc(100% - 160px - 40px);
}
.subpage_top_block>div .image {
  width: 160px;
  margin-left: 40px;
}
.subpage_top_block>div .btn02 {
  margin-top: 20px;
}
.access_exterior {
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
  position: relative;
  line-height: 0;
}
.access_exterior img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.access_map {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 28% 0;
}
.access_map iframe {
  width: 100%;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.contact_address {
  max-width: var(--maxwidth-xs);
  background: var(--color-light-primary);
  padding: 30px 0;
  border-radius: 10px;
}
.contact_address_inbox {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  max-width: none;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.contact_address_inbox:not(:last-child) {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid var(--color-border);
}
.contact_address_inbox .area {
  width: 55%;
  background: var(--color-inversion);
  border-radius: 10px;
  padding: 10px 20px;
}
.contact_address_inbox .area strong {
  display: block;
  text-align: center;
  color: var(--color-primary);
  margin-bottom: 10px;
}
.contact_address_inbox .area p {
  font-size: 0.875rem;
}
.contact_address_inbox .telephone {
  width: 100%;
  text-align: center;
}
.contact_address_inbox .area+.telephone {
  width: 42%;
}
.contact_address_inbox .telephone a {
  font-size: 2.125rem;
  font-weight: bold;
  color: var(--color-primary);
  line-height: 1.3;
}
.contact_address_inbox .telephone a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 0.8em;
  min-width: 0.8em;
  height: 0.8em;
  background: url(../img/icon_tel.svg) no-repeat center/contain;
  filter: var(--color-primary-filter);
  margin-right: 10px;
}
.contact_address_inbox .telephone span {
  display: block;
  font-size: 0.875rem;
}
.reception_hours dl {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 20px;
  border: 1px solid var(--color-border);
}
.reception_hours dl:not(:last-child) {
  margin-bottom: 20px;
}
.reception_hours dl dt {
  color: var(--color-primary);
  min-width: 90px;
}
.reception_hours dl dt dd {
  width: calc(100% - 90px);
}
.contact_inwrap {
  padding: 50px 30px;
  border: 1px solid var(--color-border);
}
:where(.contact_inwrap>div>*:not(:last-child)){
  margin-bottom: 30px;
}
.flow_block {
  counter-reset: flow 0;
}
.flow_block ol li {
  margin-bottom: 50px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  padding: 30px;
  border-radius: 10px;
  background: var(--color-light-primary);
  position: relative;
}
.flow_block ol li:not(:last-child)::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  border-top: 34px solid var(--color-light-primary);
  border-bottom: 0;
  position: absolute;
  bottom: -33px;
  left: 0;
  right: 0;
  margin: auto;
}
.flow_block ol li .step {
  width: 100px;
  min-width: 100px;
  color: var(--color-primary);
  text-align: center;
}
.flow_block ol li .step strong {
  font-size: 1.5rem;
  font-weight: bold;
  display: block;
  line-height: 1.3;
}
.flow_block ol li .step strong::after {
  counter-increment: flow 1;
  content: counter(flow);
  margin-left: 5px;
}
.flow_block ol li .step span {
  display: block;
  font-size: 0.875rem;
}
.flow_block ol li .text {
  width: calc(100% - 100px - 40px);
  margin-left: 40px;
}
.flow_block ol li .text strong {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
}
.handbook_box {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}
.handbook_box .image {
  width: 30%;
}
.handbook_box .text {
  width: 65%;
}
.handbook_box .text strong {
  display: block;
  font-size: 1.25rem;
  margin-bottom: 10px;
}
.certificate_flow {
  padding: 30px;
  border-radius: 10px;
  background: var(--color-pickup-bg);
  max-width: var(--maxwidth-xxxs);
  counter-reset: cflow 0;
}
.certificate_flow ol {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 20px;
}
.certificate_flow ol li {
  width: 100%;
  height: 80px;
  background: var(--color-inversion);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  border: 1px solid var(--color-border);
  position: relative;
  padding: 10px;
  line-height: 1.3;
}
.certificate_flow ol li::before {
  counter-increment: cflow 1;
  content: counter(cflow);
  background: var(--color-primary);
  color: var(--color-inversion);
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 26px;
  min-width: 26px;
  height: 26px;
  border-radius: 100vw;
  position: absolute;
  top: -10px;
  left: -10px;
}
.homehealth_about .flex .text {
  width: 50%;
}
.homehealth_about .flex .image {
  width: 45%;
}
.homehealth_data {
  position: relative;
  padding: 100px 0 50px;
  width: 100%;
}
.homehealth_data .homehealth_data_deco {
  width: 100%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.homehealth_data .homehealth_data_deco img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
}
.homehealth_data .homehealth_data_deco img:nth-child(1) {
  width: 750px;
  top: -650px;
  right: -700px;
}
.homehealth_data .homehealth_data_deco img:nth-child(2) {
  width: 500px;
  top: -70px;
  left: -770px;
}
.homehealth_data .homehealth_data_deco img:nth-child(3) {
  width: 500px;
  top: 290px;
  right: -770px;
}
.homehealth_data .homehealth_data_block {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
  align-items: center;
  position: relative;
  padding-bottom: 20%;
}
.homehealth_data .homehealth_data_block::after {
  content: "";
  max-width: 485px;
  width: 80%;
  padding: 17% 0;
  background: url(../img/homehealth_ill02.png) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.homehealth_data .homehealth_data_block>div {
  width: 350px;
  height: 350px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 20px;
  position: relative;
}
.homehealth_data .homehealth_data_block>div::after {
  content: "";
  width: 100%;
  height: 100%;
  background: var(--color-inversion);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
  border-radius: 100vw;
}
.homehealth_data .homehealth_data_block>div.membership::after {
  width: 86%;
  height: 86%;
}
.homehealth_data .homehealth_data_block>div .category_heading {
  width: 100%;
  text-align: center;
  position: relative;
}
.homehealth_data .homehealth_data_block>div .category_heading::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 5px);
  left: 0;
  right: 0;
  margin: auto;
}
.homehealth_data .homehealth_data_block>div p {
  color: var(--color-primary);
  font-weight: bold;
}
.homehealth_data .homehealth_data_block .membership .category_heading::before {
  width: 74px;
  height: 40px;
  background: url(../img/icon_group.png) no-repeat center/contain;
}
.homehealth_data .homehealth_data_block .membership p {
  font-size: 2.125rem;
  font-family: var(--zenmaru);
  text-align: center;
  line-height: 1;
}
.homehealth_data .homehealth_data_block .membership p strong {
  font-size: 4rem;
}
.homehealth_data .homehealth_data_block .membership p span {
  font-size: 0.875rem;
  display: block;
  margin-top: 10px;
  color: var(--color-basetext);
  font-family: var(--noto);
  font-weight: 400;
}
.homehealth_data .homehealth_data_block .purpose {
  margin-top: -300px;
}
.homehealth_data .homehealth_data_block .purpose .category_heading::before {
  width: 65px;
  height: 65px;
  background: url(../img/icon_target.png) no-repeat center/contain;
}
.homehealth_data .homehealth_data_block .purpose p {
  text-align: center;
}
.homehealth_data .homehealth_data_block .activity .category_heading::before {
  width: 62px;
  height: 60px;
  background: url(../img/icon_announcement.png) no-repeat center/contain;
}
.homehealth_recruitment .category_heading {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
}
.homehealth_recruitment .category_heading::before,
.homehealth_recruitment .category_heading::after {
  content: "";
  height: 1em;
  width: 4px;
  border-radius: 100vw;
  background: var(--color-basetext);
  margin: 0 20px;
  transform: rotate(-30deg);
}
.homehealth_recruitment .category_heading::after {
  transform: rotate(30deg);
}
.homehealth_recruitment p {
  text-align: center;
  margin-bottom: 50px;
}
.homehealth_recruitment p a {
  color: var(--color-primary);
  text-decoration: underline;
}
.homehealth_recruitment .btn02 {
  position: relative;
}
.homehealth_recruitment .btn02 .balloon {
  background: var(--color-inversion);
  padding: 5px 20px;
  position: absolute;
  bottom: 85%;
  left: -65%;
  right: 0;
  margin: auto;
  color: var(--color-basetext);
  font-family: var(--zenmaru);
  max-width: 260px;
  border-radius: 100vw;
  font-size: 110%;
  z-index: 2;
}
.homehealth_recruitment .btn02 .balloon strong {
  color: var(--color-accent);
  font-size: 110%;
}
.homehealth_recruitment .btn02 span:not(.balloon) {
  position: relative;
}
.homehealth_recruitment .btn02 span:not(.balloon)::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 20px solid var(--color-inversion);
  border-bottom: 0;
  position: absolute;
  bottom: calc(100% - 3px);
  left: -20px;
  z-index: 1;
}
.homehealth_contact {
  background: var(--color-light-primary);
  padding: 50px 0;
  margin-bottom: -100px;
}
.homehealth_contact .category_heading {
  text-align: center;
}
.homehealth_contact .grid .tel {
  width: 100%;
}
.homehealth_contact .grid div>a {
  min-height: 100px;
  background: var(--color-inversion);
  border: 1px solid var(--color-border);
  box-shadow: 0 2px 0 var(--color-border);
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  border-radius: 10px;
  padding: 10px 20px;
}
.homehealth_contact .grid div>a[href^="tel:"] {
  pointer-events: auto;
}
@media (hover: hover) and (pointer: fine) {
  .homehealth_contact .grid div>a {
    cursor: text;
    user-select: text;
    -webkit-user-select: text;
    -webkit-user-drag: none;
  }
}
.homehealth_contact .grid div>a span {
  width: 100%;
  display: block;
}
.homehealth_contact .grid .tel>a::before {
  content: "";
  width: 50px;
  min-width: 50px;
  height: 50px;
  background: url(../img/icon_telephone.png) no-repeat center/contain;
  margin-right: 10px;
}
.homehealth_contact .grid .tel>a span:last-child {
  font-size: 2.125rem;
  color: var(--color-primary);
  line-height: 1;
}
.homehealth_contact .grid .tel a+span {
  display: block;
  text-align: center;
}
.homehealth_contact .grid .tel a+span a {
  color: var(--color-primary);
  font-weight: bold;
  pointer-events: none;
}
.homehealth_contact .grid .mail>a::before {
  content: "";
  width: 65px;
  min-width: 65px;
  height: 50px;
  background: url(../img/icon_email.png) no-repeat center/contain;
  margin-right: 10px;
}
.homehealth_contact .grid .mail>a span:last-child {
  font-size: 1.5rem;
  color: var(--color-primary);
  line-height: 1.3;
}
/*==================================================
$theme
==================================================*/
/* -------------------------- blue -------------------------- */
html[data-theme="blue"]  {
  /* background */
  --color-bg: var(--blue);
  --color-block-bg: var(--blue);
  --color-inheading-bg: var(--white);
  --color-input-bg: inherit;
  --color-footer-bg: var(--blue);
  --color-footer-under-bg: var(--white);
  --color-overlay: var(--white);
  --color-pickup-bg: var(--blue);

  /* color */
  --color-basetext: var(--white);
  --color-subtext: var(--white);
  --color-primary: var(--white);
  --color-light-primary: var(--blue);
  --color-inversion: var(--blue);
  --color-accent: var(--white);

  /* border */
  --color-heading-border: var(--white);
  --color-border: var(--white);

  /* filter */
  --color-primary-filter: var(--white-filter);
  --color-light-primary-filter: var(--blue-filter);
  --color-inversion-filter: var(--blue-filter);
  --color-accent-filter: var(--white-filter);
}
/* common */
html[data-theme="blue"] .ill_btn,
html[data-theme="blue"] .about_btn,
html[data-theme="blue"] .block,
html[data-theme="blue"] .pager ul li a,
html[data-theme="blue"] .pager ol li a,
html[data-theme="blue"] .archive div,
html[data-theme="blue"] header .sub_nav .inner .block .accessibility .text dd,
html[data-theme="blue"] header nav .main_nav {
  border: 1px solid var(--white);
}
html[data-theme="blue"] .block .inheading {
  border: 1px solid var(--white);
  background: var(--blue);
}
html[data-theme="blue"] .search_box button {
  border: 1px solid var(--blue);
}
html[data-theme="blue"] .block .table table th {
  background: var(--white);
  color: var(--blue);
  border: 1px solid var(--blue);
}
html[data-theme="blue"] header .logo,
html[data-theme="blue"] footer .upper .inner .logo {
  filter: var(--white-filter);
}
html[data-theme="blue"] footer .under span {
  color: var(--blue);
  opacity: 1;
}
html[data-theme="blue"] header .sub_nav .inner .block .close,
html[data-theme="blue"] .news_list ul li.pin::after {
  opacity: 1;
}
/* toppage */
html[data-theme="blue"] .important_notice .inner {
  border: 1px solid var(--white);
}
html[data-theme="blue"] .important_notice ul {
  background: var(--blue);
}
html[data-theme="blue"] .top_news .top_news_tab ul li a {
  background: var(--blue);
  border: 1px solid var(--white);
}
html[data-theme="blue"] .top_news .top_news_tab ul li.active a {
  background: var(--white);
}
html[data-theme="blue"] .pickup_block .pickup_wrap .pickup_slider .pickup_slider_item a {
  border: 1px solid var(--white);
}
/* subpage */
html[data-theme="blue"] .homehealth_data .homehealth_data_block>div::after,
html[data-theme="blue"] .homehealth_recruitment .btn02 .balloon {
  border: 1px solid var(--white);
}
html[data-theme="blue"] .contact_address,
html[data-theme="blue"] .contact_address_inbox .area {
  border: 1px solid var(--white);
}
/* -------------------------- yellow -------------------------- */
html[data-theme="yellow"]  {
  /* background */
  --color-bg: var(--yellow);
  --color-block-bg: var(--yellow);
  --color-inheading-bg: var(--black);
  --color-input-bg: inherit;
  --color-footer-bg: var(--yellow);
  --color-footer-under-bg: var(--black);
  --color-overlay: var(--black);
  --color-pickup-bg: var(--yellow);

  /* color */
  --color-basetext: var(--black);
  --color-subtext: var(--black);
  --color-primary: var(--black);
  --color-light-primary: var(--yellow);
  --color-inversion: var(--yellow);
  --color-accent: var(--black);

  /* border */
  --color-heading-border: var(--black);
  --color-border: var(--black);

  /* filter */
  --color-primary-filter: var(--black-filter);
  --color-light-primary-filter: var(--yellow-filter);
  --color-inversion-filter: var(--yellow-filter);
  --color-accent-filter: var(--black-filter);
}
/* common */
html[data-theme="yellow"] .ill_btn,
html[data-theme="yellow"] .about_btn,
html[data-theme="yellow"] .block,
html[data-theme="yellow"] .pager ul li a,
html[data-theme="yellow"] .pager ol li a,
html[data-theme="yellow"] .archive div,
html[data-theme="yellow"] header .sub_nav .inner .block .accessibility .text dd,
html[data-theme="yellow"] header nav .main_nav {
  border: 1px solid var(--black);
}
html[data-theme="yellow"] .block .inheading {
  border: 1px solid var(--black);
  background: var(--yellow);
}
html[data-theme="yellow"] .search_box button {
  border: 1px solid var(--yellow);
}
html[data-theme="yellow"] .block .table table th {
  background: var(--black);
  color: var(--yellow);
  border: 1px solid var(--yellow);
}
html[data-theme="yellow"] header .logo,
html[data-theme="yellow"] footer .upper .inner .logo {
  filter: var(--black-filter);
}
html[data-theme="yellow"] footer .under span {
  color: var(--yellow);
  opacity: 1;
}
html[data-theme="yellow"] header .sub_nav .inner .block .close,
html[data-theme="yellow"] .news_list ul li.pin::after {
  opacity: 1;
}
/* toppage */
html[data-theme="yellow"] .important_notice .inner {
  border: 1px solid var(--black);
}
html[data-theme="yellow"] .important_notice ul {
  background: var(--yellow);
}
html[data-theme="yellow"] .top_news .top_news_tab ul li a {
  background: var(--yellow);
  border: 1px solid var(--black);
}
html[data-theme="yellow"] .top_news .top_news_tab ul li.active a {
  background: var(--black);
}
html[data-theme="yellow"] .pickup_block .pickup_wrap .pickup_slider .pickup_slider_item a {
  border: 1px solid var(--black);
}
/* subpage */
html[data-theme="yellow"] .homehealth_data .homehealth_data_block>div::after,
html[data-theme="yellow"] .homehealth_recruitment .btn02 .balloon {
  border: 1px solid var(--black);
}
html[data-theme="yellow"] .contact_address,
html[data-theme="yellow"] .contact_address_inbox .area {
  border: 1px solid var(--black);
}
/* -------------------------- black -------------------------- */
html[data-theme="black"]  {
  /* background */
  --color-bg: var(--black);
  --color-block-bg: var(--black);
  --color-inheading-bg: var(--gray);
  --color-input-bg: inherit;
  --color-footer-bg: var(--black);
  --color-footer-under-bg: var(--gray);
  --color-overlay: var(--gray);
  --color-pickup-bg: var(--black);

  /* color */
  --color-basetext: var(--gray);
  --color-subtext: var(--gray);
  --color-primary: var(--gray);
  --color-light-primary: var(--black);
  --color-inversion: var(--black);
  --color-accent: var(--gray);

  /* border */
  --color-heading-border: var(--gray);
  --color-border: var(--gray);

  /* filter */
  --color-primary-filter: var(--gray-filter);
  --color-light-primary-filter: var(--black-filter);
  --color-inversion-filter: var(--black-filter);
  --color-accent-filter: var(--gray-filter);
}
/* common */
html[data-theme="black"] .ill_btn,
html[data-theme="black"] .about_btn,
html[data-theme="black"] .block,
html[data-theme="black"] .pager ul li a,
html[data-theme="black"] .pager ol li a,
html[data-theme="black"] .archive div,
html[data-theme="black"] header .sub_nav .inner .block .accessibility .text dd,
html[data-theme="black"] header nav .main_nav {
  border: 1px solid var(--gray);
}
html[data-theme="black"] .block .inheading {
  border: 1px solid var(--gray);
  background: var(--black);
}
html[data-theme="black"] .search_box button {
  border: 1px solid var(--black);
}
html[data-theme="black"] .block .table table th {
  background: var(--gray);
  color: var(--black);
  border: 1px solid var(--black);
}
html[data-theme="black"] header .logo,
html[data-theme="black"] footer .upper .inner .logo {
  filter: var(--gray-filter);
}
html[data-theme="black"] footer .under span {
  color: var(--black);
  opacity: 1;
}
html[data-theme="black"] header .sub_nav .inner .block .close,
html[data-theme="black"] .news_list ul li.pin::after {
  opacity: 1;
}
/* toppage */
html[data-theme="black"] .important_notice .inner {
  border: 1px solid var(--gray);
}
html[data-theme="black"] .important_notice ul {
  background: var(--black);
}
html[data-theme="black"] .top_news .top_news_tab ul li a {
  background: var(--black);
  border: 1px solid var(--gray);
}
html[data-theme="black"] .top_news .top_news_tab ul li.active a {
  background: var(--gray);
}
html[data-theme="black"] .pickup_block .pickup_wrap .pickup_slider .pickup_slider_item a {
  border: 1px solid var(--gray);
}
/* subpage */
html[data-theme="black"] .homehealth_data .homehealth_data_block>div::after,
html[data-theme="black"] .homehealth_recruitment .btn02 .balloon {
  border: 1px solid var(--gray);
}
html[data-theme="black"] .contact_address,
html[data-theme="black"] .contact_address_inbox .area {
  border: 1px solid var(--gray);
}
@media (hover: hover) and (pointer: fine) {
  :where(a) {
    transition: 0.3s;
    opacity: 1;
  }
  :where(a:hover) {
    opacity: 0.7;
  }
  .btn01 {
    transition: 0.3s;
    transform: translate(0);
  }
  .btn01:hover {
    transform: translate(0, 2px);
    box-shadow: 0 0 0 var(--color-border);
  }
  .btn02 {
    transition: 0.3s;
    opacity: 1;
  }
  .btn02:hover {
    opacity: 0.7;
  }
  .btn03 {
    transition: 0.3s;
    opacity: 1;
  }
  .btn03:hover {
    opacity: 0.7;
  }
  .print_btn a {
    transition: 0.3s;
    transform: translate(0);
  }
  .print_btn a:hover {
    transform: translate(0, 2px);
    box-shadow: 0 0 0 var(--color-border);
  }
  .page_link li a {
    transition: 0.3s;
  }
  .page_link li a:hover {
    background: var(--color-primary);
    color: var(--color-inversion);
  }
  .page_link li a::after {
    transition: 0.3s;
    position: relative;
    top: 0;
  }
  .page_link li a:hover::after {
    top: 2px;
    filter: var(--color-inversion-filter);
  }
  .textlink:hover {
    text-decoration: none;
  }
  .pager ul li a {
    transition: 0.3s;
  }
  .pager ul li a:hover {
    background: var(--color-primary);
    color: var(--color-inversion);
  }
  .pager ul li a::before {
    transition: 0.3s;
  }
  .pager ul li a:hover::before {
    filter: var(--color-inversion-filter);
  }
  .ill_btn:not(.accordion) {
    transition: 0.3s;
    transform: translate(0);
  }
  .ill_btn:not(.accordion):hover {
    transform: translate(0, 3px);
    box-shadow: 0 0 0 var(--color-border);
  }
  .about_btn {
    transition: 0.3s;
    transform: translate(0);
  }
  .about_btn:hover {
    transform: translate(0, 3px);
    box-shadow: 0 0 0 var(--color-border);
  }
  .dangle_link li a {
    transition: 0.3s;
    background: inherit;
  }
  .dangle_link li a:hover {
    background: var(--color-light-primary);
  }
  .news_list ul li a {
    transition: 0.3s;
    background: inherit;
  }
  .news_list ul li a:hover {
    background: var(--color-light-primary);
  }
  .link_list ul li a {
    transition: 0.3s;
    background: inherit;
  }
  .link_list ul li a:hover {
    background: var(--color-light-primary);
  }
  header nav .main_nav ul li a,
  header nav .main_nav ul li a strong,
  header nav .main_nav ul li a::after {
    transition: 0.3s;
  }
  header nav .main_nav ul li a:hover {
    color: var(--color-primary);
  }
  header nav .main_nav ul li a:hover strong {
    color: var(--color-primary);
  }
  header nav .main_nav ul li a:hover::after {
    background: var(--color-primary);
  }
  .search_box ul li a {
    transition: 0.3s;
  }
  .search_box ul li a:hover {
    color: var(--color-block-bg);
    background: var(--color-primary);
  }
}
