@charset "UTF-8";
/* Break point
---------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Jost&family=Noto+Sans+JP:wght@100..900&display=swap");
/* ==========================================================================//
//
//　変数
//
// ========================================================================== */
:root {
  /* Color
  ---------------------------------------------------------- */
  --color-font: #000000;
  --color-gray: #7B7B7B;
  --color-gray02:#BCBCBC;
  --color-main: #002A74;
  --color-sub: #0085A1;
  --color-back: #E7EAEB;
  --color-line01:#E8EDEF;
  --color-line02:#D9E1E3;
  --color-line03:#DCDCDC;
  --color-red: #EB0000;
  --color-highlight: #FFE600;
  /* Font
  ---------------------------------------------------------- */
  --font-jp: "Noto Sans JP", sans-serif;
  --font-en: "Jost", sans-serif;
  --font-m: 500;
  --font-b: 700;
  --font11: 0.7rem;
  --font12: 0.79rem;
  --font13: 0.81rem;
  --font14: 0.88rem;
  --font16: 1rem;
  --font17: 1.06rem;
  --font18: 1.12rem;
  --font19: 1.19rem;
  --font20: 1.25rem;
  --font22: 1.42rem;
  --font24: 1.5rem;
  --font25: 1.6rem;
  --font28: 1.8rem;
  --font30: 1.875rem;
  --font32: 2rem;
  --font35: 2.18rem;
  --font36: 2.28rem;
  --font40: 2.5rem;
  --font43: 2.68rem;
  --font44: 2.75rem;
  --font45: 2.81rem;
  --font46: 2.88rem;
  --font48: 3rem;
  --font60: 3.75rem;
  --font80: 5rem;
  /* Radius
  ---------------------------------------------------------- */
  --radius: 2px;
  /* letter-spacing
  ---------------------------------------------------------- */
  --ls20: 0.02em;
  /* hight
  ---------------------------------------------------------- */
  --headerH: 60px;
  /* shadow
  ---------------------------------------------------------- */
  --shadow: 0 0 10px rgba(0,0,0,0.1) ;
}
@media screen and (min-width: 960px) {
  :root {
    --headerH: 98px;
  }
}

/* Placeholder
---------------------------------------------------------- */
a[target=_blank]:not(.noIcon)::after, .l-article a[href$=".zip"]:not(.noIcon)::after, .l-block_content a[href$=".zip"]:not(.noIcon)::after, .l-article a[href$=".doc"]:not(.noIcon)::after, .l-block_content a[href$=".doc"]:not(.noIcon)::after,
.l-article a[href$=".docx"]:not(.noIcon)::after,
.l-block_content a[href$=".docx"]:not(.noIcon)::after, .l-article a[href$=".xlsx"]:not(.noIcon)::after, .l-block_content a[href$=".xlsx"]:not(.noIcon)::after,
.l-article a[href$=".xls"]:not(.noIcon)::after,
.l-block_content a[href$=".xls"]:not(.noIcon)::after, .l-article a[href$=".pdf"]:not(.noIcon)::after, .l-block_content a[href$=".pdf"]:not(.noIcon)::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
}

.l-item_discription, .l-formItem {
  padding: 1.5rem 0;
}
@media screen and (min-width: 960px) {
  .l-item_discription, .l-formItem {
    display: grid;
    grid-template-columns: var(--ttlW) auto;
    -webkit-column-gap: 5rem;
       -moz-column-gap: 5rem;
            column-gap: 5rem;
  }
}

.l-article a:not([class]), .l-block_content a:not([class]) {
  color: var(--color-sub);
  text-decoration: underline;
}
@media screen and (min-width: 960px) {
  .l-article a:not([class]):hover, .l-block_content a:not([class]):hover {
    text-decoration: none;
  }
  .l-article a:not([class]):focus, .l-block_content a:not([class]):focus {
    text-decoration: none;
  }
}
.l-article a[href$=".pdf"]:not(.noIcon)::after, .l-block_content a[href$=".pdf"]:not(.noIcon)::after {
  background-image: url(/assets/images/icon_pdf.svg);
  width: 1em;
  height: 1em;
  background-size: contain;
  vertical-align: middle;
  margin-left: 0.3em;
}
@media screen and (min-width: 960px) {
  .l-article a[href$=".pdf"]:not(.noIcon):hover::after, .l-block_content a[href$=".pdf"]:not(.noIcon):hover::after {
    background-image: url(/assets/images/icon_pdf_color.svg);
  }
  .l-article a[href$=".pdf"]:not(.noIcon):focus::after, .l-block_content a[href$=".pdf"]:not(.noIcon):focus::after {
    background-image: url(/assets/images/icon_pdf_color.svg);
  }
}
.l-article a[href$=".xlsx"]:not(.noIcon)::after, .l-block_content a[href$=".xlsx"]:not(.noIcon)::after,
.l-article a[href$=".xls"]:not(.noIcon)::after,
.l-block_content a[href$=".xls"]:not(.noIcon)::after {
  background-image: url(/assets/images/icon_excel.svg);
  width: 1em;
  height: 1em;
  background-size: contain;
  vertical-align: middle;
  margin-left: 0.3em;
}
@media screen and (min-width: 960px) {
  .l-article a[href$=".xlsx"]:not(.noIcon):hover::after, .l-block_content a[href$=".xlsx"]:not(.noIcon):hover::after,
  .l-article a[href$=".xls"]:not(.noIcon):hover::after,
  .l-block_content a[href$=".xls"]:not(.noIcon):hover::after {
    background-image: url(/assets/images/icon_excel_color.svg);
  }
  .l-article a[href$=".xlsx"]:not(.noIcon):focus::after, .l-block_content a[href$=".xlsx"]:not(.noIcon):focus::after,
  .l-article a[href$=".xls"]:not(.noIcon):focus::after,
  .l-block_content a[href$=".xls"]:not(.noIcon):focus::after {
    background-image: url(/assets/images/icon_excel_color.svg);
  }
}
.l-article a[href$=".doc"]:not(.noIcon)::after, .l-block_content a[href$=".doc"]:not(.noIcon)::after,
.l-article a[href$=".docx"]:not(.noIcon)::after,
.l-block_content a[href$=".docx"]:not(.noIcon)::after {
  background-image: url(/assets/images/icon_word.svg);
  width: 1em;
  height: 1em;
  background-size: contain;
  vertical-align: middle;
  margin-left: 0.3em;
}
@media screen and (min-width: 960px) {
  .l-article a[href$=".doc"]:not(.noIcon):hover::after, .l-block_content a[href$=".doc"]:not(.noIcon):hover::after,
  .l-article a[href$=".docx"]:not(.noIcon):hover::after,
  .l-block_content a[href$=".docx"]:not(.noIcon):hover::after {
    background-image: url(/assets/images/icon_word_color.svg);
  }
  .l-article a[href$=".doc"]:not(.noIcon):focus::after, .l-block_content a[href$=".doc"]:not(.noIcon):focus::after,
  .l-article a[href$=".docx"]:not(.noIcon):focus::after,
  .l-block_content a[href$=".docx"]:not(.noIcon):focus::after {
    background-image: url(/assets/images/icon_word_color.svg);
  }
}
.l-article a[href$=".zip"]:not(.noIcon)::after, .l-block_content a[href$=".zip"]:not(.noIcon)::after {
  background-image: url(/assets/images/icon_zip.svg);
  width: 1em;
  height: 1em;
  background-size: contain;
  vertical-align: middle;
  margin-left: 0.3em;
}
@media screen and (min-width: 960px) {
  .l-article a[href$=".zip"]:not(.noIcon):hover::after, .l-block_content a[href$=".zip"]:not(.noIcon):hover::after {
    background-image: url(/assets/images/icon_zip_color.svg);
  }
  .l-article a[href$=".zip"]:not(.noIcon):focus::after, .l-block_content a[href$=".zip"]:not(.noIcon):focus::after {
    background-image: url(/assets/images/icon_zip_color.svg);
  }
}

/* ==================================================================

Base

================================================================== */
*,
::before,
::after {
  word-break: break-word;
}

html {
  font-size: 0.94rem;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--headerH) + 50px);
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1rem;
  }
}

body {
  color: var(--color-font);
  font-family: var(--font-jp);
  font-optical-sizing: auto;
  position: relative;
}
@media print {
  body {
    zoom: 0.5;
  }
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

@media screen and (min-width: 960px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    color: inherit;
    text-decoration: none;
  }
}

video {
  width: 100%;
}

a[target=_blank]:not(.noIcon)::after {
  background-image: url(/assets/images/icon_external.svg);
  background-size: contain;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  margin-left: 8px;
}
@media screen and (min-width: 960px) {
  a[target=_blank]:not(.noIcon):hover::after {
    background-image: url(/assets/images/icon_external_color.svg);
  }
  a[target=_blank]:not(.noIcon):focus::after {
    background-image: url(/assets/images/icon_external_color.svg);
  }
}

ol:not(.decimal),
ul {
  list-style-type: none;
}

ol.decimal {
  list-style-type: decimal;
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
}

img {
  width: 100%;
}

p {
  line-height: 1.75;
}

em, strong {
  font-style: normal;
}

p, li, em, strong, span, a {
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

select {
  border: 1px solid var(--color-line);
}

address {
  font-style: normal;
}

/* ==========================================================================//
//
//　Top Animation
//
// ========================================================================== */
.a-ttlAnim .text_catch {
  display: inline-block;
  overflow: hidden;
}
.a-ttlAnim .text_catch > span,
.a-ttlAnim .text_catch .animItem {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.8s ease-in-out;
  transition: -webkit-transform 0.8s ease-in-out;
  transition: transform 0.8s ease-in-out;
  transition: transform 0.8s ease-in-out, -webkit-transform 0.8s ease-in-out;
  -webkit-transform: translate3d(0, 100%, 0) skewY(12deg);
          transform: translate3d(0, 100%, 0) skewY(12deg);
  -webkit-transform-origin: left;
          transform-origin: left;
}
.a-ttlAnim .text_catch.catch_01, .a-ttlAnim .text_catch.catch_02 {
  height: 1.3em;
  vertical-align: bottom;
}
.a-ttlAnim.show .text_catch > span,
.a-ttlAnim.show .text_catch .animItem {
  -webkit-transform: translate3d(0, 0, 0) skewY(0);
          transform: translate3d(0, 0, 0) skewY(0);
}

.a-ttlAnim_vertical {
  overflow: hidden;
}
.a-ttlAnim_vertical > span {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.8s ease-in-out;
  transition: -webkit-transform 0.8s ease-in-out;
  transition: transform 0.8s ease-in-out;
  transition: transform 0.8s ease-in-out, -webkit-transform 0.8s ease-in-out;
  -webkit-transform: translate3d(-100%, 0, 0) skewY(12deg);
          transform: translate3d(-100%, 0, 0) skewY(12deg);
  -webkit-transform-origin: left;
          transform-origin: left;
}
.a-ttlAnim_vertical.show > span {
  -webkit-transform: translate3d(0, 0, 0) skewY(0);
          transform: translate3d(0, 0, 0) skewY(0);
}

/* ==========================================================================//
//
//　Layout
//
// ========================================================================== */
.l-pagebody {
  position: relative;
  z-index: 1;
}
.l-pagebody.back {
  position: relative;
}
.l-pagebody.back::after {
  content: "";
  display: block;
  width: 100vw;
  height: auto;
  aspect-ratio: 1/0.2;
  background-image: url(/assets/images/img_logo_back.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: fixed;
  top: calc(var(--headerH) + 9rem);
  left: 20%;
  -webkit-filter: blur(5px);
          filter: blur(5px);
  z-index: -5;
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .l-pagebody.back::after {
    left: 50%;
  }
}
.l-pagebody:not(.toppage) {
  margin-top: var(--headerH);
}

.l-inner {
  padding: 0 20px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  max-width: 1320px;
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .l-inner {
    padding: 0 140px;
  }
}
.l-inner.inner900 {
  max-width: 900px;
  margin: 0 auto;
}

.l-inner_page {
  padding-right: 20px;
}
@media screen and (min-width: 960px) {
  .l-inner_page {
    padding-right: 70px;
  }
}
@media screen and (min-width: 960px) {
  .l-inner_page.in {
    padding-right: 140px;
  }
}

/*------ ページネーション -------*/
.l-pagination {
  --wid: 35px;
  max-width: 400px;
  margin: 0 auto;
  font-weight: var(--font-m);
}
.l-pagination .list_pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 0.8em;
     -moz-column-gap: 0.8em;
          column-gap: 0.8em;
}
@media screen and (min-width: 768px) {
  .l-pagination .list_pagination {
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
  }
}
.l-pagination .list_pagination .num {
  font-family: var(--font-en);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 2em;
  height: 2em;
}
.l-pagination .list_pagination .num.current {
  background-color: var(--color-sub);
  color: #fff;
  border-radius: 50%;
}

/*------ 横スクロールありテーブル -------*/
.l-table_scroll {
  overflow-x: auto;
}
.l-table_scroll table {
  white-space: nowrap;
  width: 100%;
}
@media screen and (min-width: 960px) {
  .l-table_scroll.pcKeep {
    overflow-x: initial;
  }
}
@media screen and (min-width: 960px) {
  .l-table_scroll.pcKeep table {
    white-space: normal;
  }
}

/* ==========================================================================//
//
// Header
//
// ========================================================================== */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--headerH);
  /*------ スクロール時 -------*/
}
.l-header.active {
  background-color: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
}
@media screen and (min-width: 960px) {
  .l-header.active .l-logo {
    padding-bottom: 1.5rem;
  }
  .l-header.active .nav_PC .list_nav a {
    padding-bottom: 2.2rem;
  }
  .l-header.active .nav_PC .list_nav .list_nav_child {
    top: calc(100% - 1rem);
  }
}

/*------ ヘッダーインナー -------*/
.inner_header {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (min-width: 960px) {
  .inner_header {
    gap: 40px;
  }
}

/*------ メニューボタン -------*/
.btn_menu {
  --btnW: 40px;
  --btnH: 24px;
  --btnC: var(--color-main);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: var(--btnW);
  height: var(--btnH);
  /*------ オープン時 -------*/
}
@media screen and (min-width: 960px) {
  .btn_menu {
    display: none;
  }
}
.btn_menu .line_btn {
  width: var(--btnW);
  height: 3px;
  background-color: var(--btnC);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.btn_menu .line_btn::before, .btn_menu .line_btn::after {
  content: "";
  display: inline-block;
  width: var(--btnW);
  height: 3px;
  background-color: var(--btnC);
  position: absolute;
  left: 0;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.btn_menu .line_btn::before {
  top: -10px;
}
.btn_menu .line_btn::after {
  top: 10px;
}
.btn_menu.active .line_btn {
  background-color: transparent;
}
.btn_menu.active .line_btn::before {
  top: 1px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.btn_menu.active .line_btn::after {
  top: 1px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/*------ ナビ後ろのオーバーレイ -------*/
.header_overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 2;
  visibility: hidden;
  opacity: 0;
  cursor: pointer;
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  /*------ オープン時 -------*/
}
@media screen and (min-width: 960px) {
  .header_overlay {
    display: none;
  }
}
.header_overlay.active {
  visibility: visible;
  opacity: 1;
}

/*------ ヘッダーロゴ -------*/
.l-logo {
  max-width: 165px;
  padding: 5px 0;
  -webkit-transition: padding 0.2s;
  transition: padding 0.2s;
}
@media screen and (min-width: 960px) {
  .l-logo {
    width: 20%;
    max-width: 285px;
    padding: 0 0 1rem 0;
  }
}

/* ヘッダーナビゲーション
---------------------------------------------------------- */
.l-globalNav {
  font-size: var(--font18);
  /*------ SPナビゲーション -------*/
  /*------ PCナビゲーション -------*/
}
.l-globalNav .arrow svg {
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: -0.2em;
  fill: var(--colorLinkArrow);
}
@media screen and (min-width: 768px) {
  .l-globalNav .arrow svg {
    width: 20px;
    height: 20px;
  }
}
.l-globalNav.nav_SP {
  --gap: 2rem;
  padding: 2rem 0;
  position: absolute;
  top: var(--headerH);
  left: 50%;
  background-color: #fff;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  height: calc(var(--vh) - var(--headerH) - var(--gap));
  overflow-y: auto;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  width: 80%;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.13);
          box-shadow: 0 0 6px rgba(0, 0, 0, 0.13);
  /*------ オープン時 -------*/
}
.l-globalNav.nav_SP .inner_nav {
  max-width: 14em;
}
.l-globalNav.nav_SP .ttl_list {
  padding: 0 0 0.5em 0;
  color: var(--color-main);
  font-size: var(--font18);
  font-weight: var(--font-b);
  border-bottom: 2px solid var(--color-main);
}
.l-globalNav.nav_SP .ttl_nav {
  --colorLinkArrow: var(--color-main);
  font-weight: var(--font-b);
  border-bottom: 1px solid var(--color-line02);
}
.l-globalNav.nav_SP .item_nav {
  --colorLinkArrow: #fff;
}
.l-globalNav.nav_SP .item_nav .arrow svg {
  -webkit-filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.2));
}
.l-globalNav.nav_SP .link_ttl,
.l-globalNav.nav_SP .link_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 0.5em 0;
}
.l-globalNav.nav_SP.active {
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 960px) {
  .l-globalNav.nav_SP.active {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
.l-globalNav.nav_PC {
  display: none;
}
@media screen and (min-width: 960px) {
  .l-globalNav.nav_PC {
    display: block;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 750px;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.l-globalNav.nav_PC .list_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 3rem;
  font-size: clamp(0.875rem, 0.5rem + 0.63vw, 1.125rem);
  /*------ current -------*/
}
.l-globalNav.nav_PC .list_nav > li {
  height: 100%;
}
.l-globalNav.nav_PC .list_nav > li > a {
  padding-bottom: 1rem;
  font-weight: var(--font-b);
  display: inline-block;
  -webkit-transition: padding 0.2s;
  transition: padding 0.2s;
}
@media screen and (min-width: 960px) {
  .l-globalNav.nav_PC .list_nav > li > a:hover {
    color: var(--color-sub);
  }
  .l-globalNav.nav_PC .list_nav > li > a:focus {
    color: var(--color-sub);
  }
}
@media screen and (min-width: 960px) {
  .l-globalNav.nav_PC .list_nav .item_parent:hover .list_nav_child {
    display: block;
  }
  .l-globalNav.nav_PC .list_nav .item_parent:focus .list_nav_child {
    display: block;
  }
}
.l-globalNav.nav_PC .list_nav .item_parent:focus-within .list_nav_child {
  display: block;
}
@media screen and (min-width: 960px) {
  .l-globalNav.nav_PC .list_nav .item_parent a:hover + .list_nav_child {
    display: block;
  }
  .l-globalNav.nav_PC .list_nav .item_parent a:focus + .list_nav_child {
    display: block;
  }
}
.l-globalNav.nav_PC .list_nav .link_parent {
  position: relative;
}
.l-globalNav.nav_PC .list_nav .list_nav_child {
  padding: 1rem 1.5rem;
  position: absolute;
  top: calc(100% + 1px);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: none;
  background-color: #fff;
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}
@media screen and (min-width: 960px) {
  .l-globalNav.nav_PC .list_nav .list_nav_child:hover {
    display: block;
  }
  .l-globalNav.nav_PC .list_nav .list_nav_child:focus {
    display: block;
  }
}
.l-globalNav.nav_PC .list_nav .list_nav_child > li:not(:last-child) {
  border-bottom: 1px solid var(--color-line);
}
.l-globalNav.nav_PC .list_nav .list_nav_child > li > a {
  padding: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3em;
}
.l-globalNav.nav_PC .list_nav .list_nav_child > li > a .arrow svg {
  fill: #fff;
  -webkit-filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.2));
}
@media screen and (min-width: 960px) {
  .l-globalNav.nav_PC .list_nav .list_nav_child > li > a:hover {
    color: var(--color-main);
  }
  .l-globalNav.nav_PC .list_nav .list_nav_child > li > a:hover .arrow svg {
    fill: var(--color-main);
    -webkit-filter: none;
            filter: none;
  }
  .l-globalNav.nav_PC .list_nav .list_nav_child > li > a:focus {
    color: var(--color-main);
  }
  .l-globalNav.nav_PC .list_nav .list_nav_child > li > a:focus .arrow svg {
    fill: var(--color-main);
    -webkit-filter: none;
            filter: none;
  }
}
.l-globalNav.nav_PC .list_nav a.current {
  color: var(--color-sub);
}

.l-pagetop {
  display: none;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  margin: 0 0 0 auto;
}
@media screen and (min-width: 960px) {
  .l-pagetop {
    display: block;
  }
}
.l-pagetop .link_pagetop {
  width: 80px;
  height: 80px;
  background-color: var(--color-back);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  bottom: 100%;
  right: 0;
}
.l-pagetop .link_pagetop::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 12px solid rgba(0, 0, 0, 0.3);
  position: relative;
  bottom: 0;
  -webkit-transition: bottom 0.15s;
  transition: bottom 0.15s;
}
@media screen and (min-width: 960px) {
  .l-pagetop .link_pagetop:hover::before {
    bottom: 5px;
  }
  .l-pagetop .link_pagetop:focus::before {
    bottom: 5px;
  }
}

/* ヘッダーOPEN
---------------------------------------------------------- */
#navInput {
  position: absolute;
}
#navInput:checked ~ .nav_SP {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  border-top: 1px solid var(--color-line);
}
#navInput:checked ~ .inner_header .btn_menu .line_btn {
  background-color: transparent;
}
#navInput:checked ~ .inner_header .btn_menu .line_btn::before {
  top: 1px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#navInput:checked ~ .inner_header .btn_menu .line_btn::after {
  bottom: 1px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/* ==========================================================================//
//
//　Common Layout
//
// ========================================================================== */
.l-pageHeader {
  padding: 1.5em 0 3em;
  margin-bottom: 2em;
  position: relative;
  border-bottom: 1px solid var(--color-line01);
}
@media screen and (min-width: 768px) {
  .l-pageHeader {
    padding: 3em 0;
    margin-bottom: 3em;
  }
}
.l-pageHeader .video_head {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.5;
  z-index: -1;
  mix-blend-mode: multiply;
}

.block_pageHeader {
  padding-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 3rem;
}
@media screen and (min-width: 768px) {
  .block_pageHeader {
    padding-top: 5rem;
  }
}

.ttl_pageHeader .ttl_sub_index {
  font-size: var(--font14);
  display: block;
  letter-spacing: 0.02em;
  font-weight: var(--font-b);
}
@media screen and (min-width: 768px) {
  .ttl_pageHeader .ttl_sub_index {
    font-size: var(--font20);
  }
}
.ttl_pageHeader .ttl_main_index {
  font-size: var(--font35);
  letter-spacing: 0.02em;
  font-weight: var(--font-b);
}
@media screen and (min-width: 768px) {
  .ttl_pageHeader .ttl_main_index {
    font-size: var(--font45);
  }
}
.ttl_pageHeader .ttl_main_index span {
  display: block;
}
.ttl_pageHeader .ttl_sub_page {
  font-size: var(--font14);
  display: block;
}
@media screen and (min-width: 768px) {
  .ttl_pageHeader .ttl_sub_page {
    font-size: var(--font20);
  }
}
.ttl_pageHeader .ttl_main_page {
  font-size: var(--font30);
  font-weight: var(--font-b);
}
@media screen and (min-width: 768px) {
  .ttl_pageHeader .ttl_main_page {
    font-size: var(--font40);
  }
}
.ttl_pageHeader .ttl_main_page span {
  display: block;
}

.catch_pageHeader {
  color: var(--color-main);
  font-weight: var(--font-b);
}
@media screen and (min-width: 768px) {
  .catch_pageHeader {
    font-size: var(--font18);
  }
}

/* ニュースリスト
---------------------------------------------------------- */
.l-list_news {
  width: 100%;
}
.l-list_news .ttl_news {
  font-weight: var(--font-b);
  display: inline-block;
}

.l-item_news {
  padding: 1.5em 0;
  border-top: 1px solid var(--color-line02);
  display: grid;
}
.l-item_news:last-child {
  border-bottom: 1px solid var(--color-line02);
}
.l-item_news .ttl_news {
  margin-top: 0.7em;
}
@media screen and (min-width: 960px) {
  .l-item_news a:hover {
    color: var(--color-sub);
  }
  .l-item_news a:focus {
    color: var(--color-sub);
  }
}

/* パンくずリスト
---------------------------------------------------------- */
.l-breadcrumb a {
  color: var(--color-gray);
}
@media screen and (min-width: 960px) {
  .l-breadcrumb a:hover {
    opacity: 0.8;
  }
  .l-breadcrumb a:focus {
    opacity: 0.8;
  }
}

.list_breadcrumb {
  font-size: var(--font12);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.list_breadcrumb > li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.list_breadcrumb > li:not(:last-child)::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 4px solid var(--color-gray02);
  border-right: 0;
  margin: 0 0.5em;
}

/* 扉ページメニュー
---------------------------------------------------------- */
.l-list_indexMenu {
  display: grid;
  grid-template-columns: auto auto;
  gap: 1.5em 1em;
}
@media screen and (min-width: 768px) {
  .l-list_indexMenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 4%;
       -moz-column-gap: 4%;
            column-gap: 4%;
  }
}
.l-list_indexMenu .ttl_menu {
  text-align: center;
  letter-spacing: var(--ls20);
  margin-top: 0.8em;
}
.l-list_indexMenu a {
  display: block;
}
@media screen and (min-width: 960px) {
  .l-list_indexMenu a:hover .ttl_menu {
    color: var(--color-sub);
  }
  .l-list_indexMenu a:focus .ttl_menu {
    color: var(--color-sub);
  }
}

/* ローカルナビ
---------------------------------------------------------- */
.l-list_pageNav > li:not(:first-of-type) {
  margin-top: 0.3em;
}
@media screen and (min-width: 768px) {
  .l-list_pageNav > li:not(:first-of-type) {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .l-list_pageNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.5em;
  }
}

/* タブボタン
---------------------------------------------------------- */
.l-list_tabBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
}

/* GoogleMap
---------------------------------------------------------- */
.l-block_gMap {
  height: 360px;
}
@media screen and (min-width: 768px) {
  .l-block_gMap {
    height: 400px;
  }
}
.l-block_gMap iframe {
  width: 100%;
  height: 100%;
}

/* 説明リストみたいなやつ
---------------------------------------------------------- */
.l-item_discription {
  border-top: 1px solid var(--color-line01);
}

.l-item_discription {
  border-bottom: 1px solid var(--color-line01);
}
.l-item_discription .ttl_discription {
  font-weight: var(--font-b);
  margin-bottom: 0.3em;
}
@media screen and (min-width: 960px) {
  .l-item_discription .ttl_discription {
    margin-bottom: 0;
  }
}
.l-item_discription .data_discription {
  font-weight: var(--font-m);
}

/* 記事
---------------------------------------------------------- */
.l-article {
  padding-bottom: 8rem;
}
@media screen and (min-width: 768px) {
  .l-article {
    padding-bottom: 10rem;
  }
}
.l-article .image_article img {
  max-height: 1000px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.l-article .info_article {
  padding-top: 3em;
}
.l-article .ttl_article {
  padding: 1em 0 0;
  font-size: var(--font25);
  font-weight: var(--font-b);
}
@media screen and (min-width: 768px) {
  .l-article .ttl_article {
    font-size: var(--font32);
    padding-top: 2em;
  }
}
.l-article em {
  color: var(--color-red);
}
.l-article .ttl_sec {
  font-size: var(--font25);
  font-weight: var(--font-b);
  margin: 3em 0 1.5em;
}
.l-article .body_article {
  margin-top: 2em;
  border-top: 1px solid var(--color-line03);
}
.l-article .block_content:not(:first-child) {
  padding-top: 5em;
}
.l-article .block_content:first-child {
  padding-top: 2em;
}
@media screen and (min-width: 768px) {
  .l-article .block_content .imgL {
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 3em;
  }
  .l-article .block_content .imgL .image_article {
    margin-top: 0;
  }
  .l-article .block_content .imgL .text_article {
    margin-top: 0;
  }
  .l-article .block_content .imgL .text_article h1:first-child,
  .l-article .block_content .imgL .text_article h2:first-child,
  .l-article .block_content .imgL .text_article h3:first-child,
  .l-article .block_content .imgL .text_article h4:first-child,
  .l-article .block_content .imgL .text_article h5:first-child,
  .l-article .block_content .imgL .text_article h6:first-child {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .l-article .block_content .imgR {
    display: grid;
    grid-template-columns: 1fr 40%;
    gap: 3em;
  }
  .l-article .block_content .imgR .image_article {
    margin-top: 0;
  }
  .l-article .block_content .imgR .text_article {
    margin-top: 0;
  }
  .l-article .block_content .imgR .text_article h1:first-child,
  .l-article .block_content .imgR .text_article h2:first-child,
  .l-article .block_content .imgR .text_article h3:first-child,
  .l-article .block_content .imgR .text_article h4:first-child,
  .l-article .block_content .imgR .text_article h5:first-child,
  .l-article .block_content .imgR .text_article h6:first-child {
    margin-top: 0;
  }
}
.l-article .text_article h6, .l-article .text_article h5, .l-article .text_article h4, .l-article .text_article h3, .l-article .text_article h2, .l-article .text_article h1 {
  font-weight: var(--font-b);
  margin: 3em 0 1em;
}
.l-article .text_article + .image_article {
  margin-top: 2em;
}
.l-article .text_article p {
  line-height: 2;
}
.l-article .text_article p + p {
  padding-top: 0.8em;
}
.l-article .text_article h1 {
  font-size: var(--font25);
}
.l-article .text_article h2 {
  font-size: var(--font22);
}
.l-article .text_article h3 {
  font-size: var(--font20);
}
.l-article .text_article h4 {
  font-size: var(--font18);
}
.l-article .text_article h5 {
  font-size: var(--font17);
}
.l-article .image_article + .text_article {
  margin-top: 1em;
}
.l-article .image_article + .image_article {
  margin-top: 1em;
}
.l-article .image_article figcaption {
  font-size: var(--font14);
  text-align: center;
  margin-top: 5px;
}
.l-article .image_article.grid {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 0.5em;
}
@media screen and (min-width: 768px) {
  .l-article .image_article.grid {
    gap: 2em;
  }
}

/* 汎用ブロック
---------------------------------------------------------- */
.l-block_content {
  padding: 0 20px;
}
@media screen and (min-width: 960px) {
  .l-block_content {
    padding: 0 140px 0 0;
    width: 73%;
    margin-right: 0;
    margin-left: auto;
  }
}

/* ==========================================================================//
//
//　Footer
//
// ========================================================================== */
.top_footer {
  background-color: var(--color-back);
}
.top_footer .text_tel {
  text-decoration: none;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .top_footer .text_tel {
    pointer-events: none;
    font-size: var(--font45);
  }
}
.top_footer .btn_form {
  padding: 1em 1.2em;
  border-radius: var(--radius);
  background-color: var(--color-sub);
  display: inline-block;
  color: #fff;
}
@media screen and (min-width: 960px) {
  .top_footer .btn_form:hover {
    background-color: var(--color-font);
  }
  .top_footer .btn_form:focus {
    background-color: var(--color-font);
  }
}

.bottom_footer .list_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.bottom_footer .list_link li:not(:last-child) {
  position: relative;
  padding-right: 1.8em;
}
.bottom_footer .list_link li:not(:last-child)::after {
  content: "|";
  color: var(--color-line02);
  position: absolute;
  right: 0.9em;
}
@media screen and (min-width: 960px) {
  .bottom_footer .list_link a:hover {
    color: var(--color-sub);
  }
  .bottom_footer .list_link a:focus {
    color: var(--color-sub);
  }
}

.ttl_footer {
  font-size: var(--font36);
}
@media screen and (min-width: 768px) {
  .ttl_footer {
    font-size: var(--font40);
  }
}

.ttl_footer_en {
  font-size: var(--font20);
}
@media screen and (min-width: 768px) {
  .ttl_footer_en {
    font-size: var(--font24);
  }
}

.splide__pagination__page.is-active {
  background-color: var(--color-main);
}

/* ==========================================================================//
//
//　Formまわり
//
// ========================================================================== */
.l-formBlock {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.l-formItem {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}
.l-formItem textarea, .l-formItem input {
  padding: 0.8em 1em;
  border: 1px solid var(--color-line03);
  border-radius: var(--radius);
  background-color: #f8f8f8;
}
.l-formItem .label_item {
  font-weight: var(--font-b);
  display: inline-block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 960px) {
  .l-formItem .label_item {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 0;
  }
}
.l-formItem .label_required {
  padding: 0 0.5em 1px;
  background-color: var(--color-red);
  font-size: var(--font12);
  letter-spacing: 0.04em;
  border-radius: 3px;
  color: #fff;
}
.l-formItem input {
  width: 100%;
}
.l-formItem textarea {
  width: 100%;
  height: 10em;
}
.l-formItem select {
  padding: 0.8em 2em 0.8em 1em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  cursor: pointer;
}

.l-form_select {
  position: relative;
  border: 1px solid var(--color-line03);
  border-radius: var(--radius);
}
.l-form_select::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-left: 0.5em solid transparent;
  border-right: 0.5em solid transparent;
  border-top: 0.6em solid var(--color-gray02);
  border-bottom: 0;
  margin: 0 0.5em;
  position: absolute;
  top: 50%;
  right: 1em;
  pointer-events: none;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.l-form_notification {
  color: var(--color-main);
  font-weight: var(--font-b);
  font-size: var(--font18);
}

.l-form_error {
  color: var(--color-red);
  font-size: var(--font14);
  font-weight: var(--font-m);
}

/* ==========================================================================//
//
//　微調整
//
// ========================================================================== */
.pcOnly {
  display: none !important;
}
@media screen and (min-width: 960px) {
  .pcOnly {
    display: inline-block !important;
  }
}

@media screen and (min-width: 768px) {
  .spOnly {
    display: none !important;
  }
}

.visually-hidden {
  position: fixed !important;
  /* keep it on viewport */
  top: 0px !important;
  left: 0px !important;
  /* give it non-zero size, VoiceOver on Safari requires at least 2 pixels
     before allowing buttons to be activated. */
  width: 4px !important;
  height: 4px !important;
  /* visually hide it with overflow and opacity */
  opacity: 0 !important;
  overflow: hidden !important;
  /* remove any margin or padding */
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  /* ensure no other style sets display to none */
  display: block !important;
  visibility: visible !important;
}

/* Link
---------------------------------------------------------- */
.c-link_02 {
  text-decoration: underline;
}
@media screen and (min-width: 960px) {
  .c-link_02:hover {
    text-decoration: none;
  }
  .c-link_02:focus {
    text-decoration: none;
  }
}

.c-link_arrow {
  --colorLinkArrow: var(--color-font);
  font-weight: var(--font-m);
  color: var(--colorLinkArrow);
}
.c-link_arrow svg {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: -0.2em;
  fill: var(--colorLinkArrow);
}
@media screen and (min-width: 768px) {
  .c-link_arrow svg {
    width: 18px;
    height: 18px;
  }
}
@media screen and (min-width: 960px) {
  .c-link_arrow:hover {
    --colorLinkArrow: var(--color-sub);
  }
  .c-link_arrow:focus {
    --colorLinkArrow: var(--color-sub);
  }
}
.c-link_arrow .arrow + span {
  margin-left: 0.3em;
}
.c-link_arrow span + .arrow {
  margin-left: 0.3em;
}
.c-link_arrow.color_main {
  --colorLinkArrow: var(--color-main);
}
@media screen and (min-width: 960px) {
  .c-link_arrow.color_main:hover {
    --colorLinkArrow: var(--color-font);
  }
  .c-link_arrow.color_main:focus {
    --colorLinkArrow: var(--color-font);
  }
}
.c-link_arrow.color_white {
  --colorLinkArrow: #fff;
}
@media screen and (min-width: 960px) {
  .c-link_arrow.color_white:hover {
    --colorLinkArrow: var(--color-main);
  }
  .c-link_arrow.color_white:focus {
    --colorLinkArrow: var(--color-main);
  }
}
.c-link_arrow.arrowB svg {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

/* Button
---------------------------------------------------------- */
.c-btn {
  color: #fff;
  background-color: var(--color-sub);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.7em 1em;
  border-radius: var(--radius);
}
.c-btn .text_btn {
  font-weight: var(--font-m);
  padding-left: 1em;
}
.c-btn svg {
  fill: #fff;
}
@media screen and (min-width: 960px) {
  .c-btn:hover {
    background-color: var(--color-font);
  }
  .c-btn:focus {
    background-color: var(--color-font);
  }
}
.c-btn.off {
  background-color: var(--color-line02);
  color: var(--color-gray);
}
@media screen and (min-width: 960px) {
  .c-btn.off:hover {
    background-color: var(--color-sub);
    color: #fff;
  }
  .c-btn.off:focus {
    background-color: var(--color-sub);
    color: #fff;
  }
}
.c-btn.black {
  background-color: var(--color-font);
}
@media screen and (min-width: 960px) {
  .c-btn.black:hover {
    background-color: var(--color-main);
  }
  .c-btn.black:focus {
    background-color: var(--color-main);
  }
}

/* List
---------------------------------------------------------- */
.c-list.disc li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-list.disc li::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border: 1px solid var(--color-font);
  border-radius: 50%;
  margin-right: 0.8em;
  margin-top: 0.6em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-list.mark > li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
}
.c-list.mark > li .mark {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* Title
---------------------------------------------------------- */
.c-ttl_01 {
  font-size: var(--font25);
  font-weight: var(--font-b);
  position: relative;
  padding-left: 20px;
  text-indent: -20px;
  margin-bottom: 3rem;
}
.c-ttl_01::before {
  content: "";
  display: inline-block;
  width: 60px;
  height: 3px;
  background-color: var(--color-main);
  vertical-align: 0.3em;
  margin-right: 0.5em;
}
@media screen and (min-width: 768px) {
  .c-ttl_01 {
    font-size: var(--font32);
  }
}
@media screen and (min-width: 960px) {
  .c-ttl_01 {
    margin-bottom: 2rem;
  }
}

.c-ttl_02 {
  font-size: var(--font20);
  font-weight: var(--font-b);
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .c-ttl_02 {
    font-size: var(--font25);
  }
}

.c-ttl_03 {
  font-size: var(--font18);
  font-weight: var(--font-b);
  margin-bottom: 1.1em;
}
@media screen and (min-width: 768px) {
  .c-ttl_03 {
    font-size: var(--font20);
  }
}

.c-ttl_solid {
  background-color: var(--color-line01);
  padding: 0.5em 1em;
  font-weight: var(--font-b);
}

/* Text
---------------------------------------------------------- */
.c-en {
  font-family: var(--font-en);
}

.c-ttl_en {
  font-size: var(--font40);
  line-height: 1.1;
}
@media screen and (min-width: 768px) {
  .c-ttl_en {
    font-size: var(--font60);
  }
}

.c-color {
  color: var(--color-main);
}

.c-gray {
  color: var(--color-gray);
}

.c-border {
  border: 1px solid var(--color-line02);
}

.c-borderT {
  border-top: 1px solid var(--color-line02);
}

.c-borderB {
  border-bottom: 1px solid var(--color-line02);
}

.c-frame {
  border: 1px solid var(--color-line02);
  border-radius: var(--radius);
}

.c-label_round {
  font-family: var(--font-en);
  width: 2em;
  height: 2em;
  background-color: var(--color-label);
  border-radius: 50%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* Category
---------------------------------------------------------- */
.c-category {
  padding: 1px 1em 2px 1em;
  font-size: var(--font12);
  color: var(--color-gray);
  border: 1px solid var(--color-gray);
  border-radius: var(--radius);
  font-weight: var(--font-m);
}

/* Hover
---------------------------------------------------------- */
.c-hover {
  -webkit-transition: opacity 0.05s;
  transition: opacity 0.05s;
}
@media screen and (min-width: 960px) {
  .c-hover:hover {
    opacity: 0.8;
  }
  .c-hover:focus {
    opacity: 0.8;
  }
}

/* Disabled
---------------------------------------------------------- */
.c-disabled {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
  opacity: 0.5;
  pointer-events: none;
}

/* Spacing
---------------------------------------------------------- */
.ls40 {
  letter-spacing: 0.04em;
}

.pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc-only {
    display: revert;
  }
}

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