@charset "UTF-8";
/* ===========================================
common
=========================================== */
:root {
  --ff-main: -apple-system,BlinkMacSystemFont,"Zen Kaku Gothic New","游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","游ゴシック",'Noto Sans JP', sans-serif;
  --ff-heading: -apple-system,BlinkMacSystemFont,"Zen Maru Gothic","游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","游ゴシック",'Noto Sans JP', sans-serif;
  --white: #fff;
  --black: #000;
  --orange0: #D93D00;
  --orange1: #DD680D;
  --orange2: #FFC685;
  --orange3: #FFF6F0;
  --bg1:#F9F6EF;
  --green0: #66744C;
  --green1: #B5C75A;
  --green2: #D4E094;
  --green3: #D9E3C7;
  --green4: #F9FBEF;
  --gray0: #333;
  --gray1: #636363;
  --gray2: #f7f7f7;
  --thead1: #F9F6EF;
  --thead2: #FEFAEF;
  --stripe: #FFFDF9;
  --line1:#DD680D;
  --line2:#B5C75A;
  --line3:#D9E3C7;
  --contrast:contrast(120%);
  /*--logo-size-x:clamp(20.625rem, -69.688rem + 106.25vw, 36.563rem);
  --logo-size-y:clamp(18.125rem, -52.708rem + 83.33vw, 30.625rem);*/
  --logo-size-x:clamp(20.625rem, 1.995rem + 29.11vw, 36.563rem);
  --logo-size-y:clamp(18.125rem, 3.513rem + 22.83vw, 30.625rem);
  --pc-ctrl:clamp(1.875rem, -18262.5rem + 17000vw, 12.5rem);
  --nav-icon-size:clamp(3.375rem, 3.044rem + 1.1vw, 3.75rem);
  --nav-fs:clamp(0.875rem, -0.074rem + 1.48vw, 1.125rem);
  --page-topicon-size:clamp(1.125rem, 0.463rem + 2.21vw, 1.875rem);
  --bgposi:calc(rem(calc((100vw - 960px) / 2) , 15px) * -1);
  --bgposi2:calc((15px - rem(calc((100vw - 960px) / 2) , 15px)) * 1);
  --bgposi1:calc(15px - (((100vw - 960px) / 2) / 15));
  --fs14:clamp(0.75rem, 0.64rem + 0.37vw, 0.875rem);
  --fs16:clamp(0.75rem, 0.529rem + 0.74vw, 1rem);
  --fs18:clamp(0.875rem, -0.053rem + 1.45vw, 1.125rem);
  --fs20:clamp(0.938rem, -0.222rem + 1.81vw, 1.25rem);
  --fs22:clamp(1rem, -0.391rem + 2.17vw, 1.375rem);
  --fs24:clamp(1rem, -0.855rem + 2.9vw, 1.5rem);
  --fs28:clamp(1.125rem, -1.194rem + 3.62vw, 1.75rem);
  --fs36:clamp(1.25rem, -2.46rem + 5.8vw, 2.25rem); }

html {
  font-size: 100%;
  font-family: var(--ff-main);
  font-weight: 500;
  color: var(--black);
  overflow-x: hidden;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"; }

body {
  color: #000;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: var(--fs18); }

body.bgblack {
  background-color: var(--black); }

p {
  font-size: var(--fs18); }

h1 {
  font-size: var(--fs36); }

h2, .catch {
  font-size: var(--fs28); }

h3 {
  font-size: var(--fs22); }

h4, h5, h6 {
  font-size: var(--fs20); }

b, strong {
  font-weight: 700; }

pre {
  position: relative;
  margin: 2em 0;
  padding: 0;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  background-color: var(--bg1);
  white-space: pre-wrap;
  border-radius: 5px; }

code {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: var(--fs18);
  display: block;
  margin: 0;
  padding: 2em 1em 1em;
  max-height: 240px;
  line-height: 1.4;
  overflow: auto; }

.copy-button {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  margin: 0 auto;
  padding: 0 1em;
  height: 24px;
  border: none;
  line-height: 1;
  font-weight: bold;
  background: var(--gray1);
  color: var(--white);
  cursor: pointer;
  font-size: var(--fs14);
  border-top-right-radius: 5px; }

.copy-button:hover {
  background: #999; }

.center {
  text-align: center; }
  .center th, .center td {
    text-align: center; }

.right {
  text-align: right; }

.left {
  text-align: left; }

h1, h2 {
  font-family: var(--ff-heading);
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
  text-align: center; }

h1 {
  margin-bottom: 30px; }

h2 {
  padding-bottom: .7em;
  background: url("../images/co_h2_line.png") left bottom repeat-x;
  margin-bottom: 30px; }

h3, h4, h5, h6 {
  font-family: var(--ff-heading);
  letter-spacing: 0;
  font-weight: 700;
  position: relative;
  margin-bottom: 30px; }

h3 {
  padding-bottom: .3em; }
  h3::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 100%;
    border-width: 0;
    background-repeat: repeat-x;
    background-size: 0.7em 0.3em,1.7em 0.3em,3.5em 0.3em,3.7em 0.3em;
    background-position: right bottom;
    background-image: radial-gradient(0.3em 0.2em at center center, #DD680D, rgba(221, 104, 13, 0)), radial-gradient(0.5em 0.2em at center center, #DD680D, rgba(221, 104, 13, 0)), radial-gradient(0.8em 0.2em at center center, #DD680D, rgba(221, 104, 13, 0)), radial-gradient(7.2em 0.2em at center center, #DD680D, rgba(221, 104, 13, 0)); }

h4 {
  margin-bottom: 20px;
  padding-bottom: .2em; }
  h4::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 100%;
    border-width: 0;
    background-repeat: repeat-x;
    background-size: 0.7em 0.3em,1.7em 0.3em,3.5em 0.3em,3.7em 0.3em;
    background-position: right bottom;
    background-image: radial-gradient(0.3em 0.2em at center center, #999, rgba(221, 104, 13, 0)), radial-gradient(0.5em 0.2em at center center, #999, rgba(221, 104, 13, 0)), radial-gradient(0.8em 0.2em at center center, #999, rgba(221, 104, 13, 0)), radial-gradient(7.2em 0.2em at center center, #999, rgba(221, 104, 13, 0)); }

dt {
  font-family: var(--ff-heading); }

@media screen and (max-width: 1024px) {
  h1, h2, h3, h4, h5, h6 {
    margin-bottom: 20px;
    text-align: left; } }
.has-medium-font-size {
  font-size: var(--fs18); }

.has-small-font-size {
  font-size: var(--fs16); }

.has-large-font-size {
  font-size: var(--fs20); }

.has-orange-color {
  color: var(--orange0); }

.has-green-color {
  color: var(--green0); }

.has-gray-color {
  color: var(--gray1); }

mark {
  background: linear-gradient(transparent 80%, #FFC685 0%); }

mark.has-inline-color.has-orange-color {
  background: none; }

mark.has-inline-color.has-green-color {
  background: none; }

mark.has-inline-color.has-gray-color {
  background: none; }

.has-text-align-center {
  text-align: center; }

.has-text-align-right {
  text-align: right; }

.has-text-align-left {
  text-align: left; }

/* ===========================================
header
=========================================== */
header {
  width: 100vw;
  position: relative;
  z-index: 1; }
  header a {
    text-decoration: none !important; }
  header nav {
    text-align: center;
    font-weight: 700;
    font-size: var(--nav-fs); }
    header nav i {
      color: var(--orange1);
      font-size: var(--nav-icon-size);
      display: block; }

@media screen and (min-width: 1025px), print {
  body::before, body::after {
    content: "";
    display: block;
    position: fixed;
    z-index: 0;
    transition: all .5s;
    opacity: 0; }
  body::before {
    width: 280px;
    height: 230px;
    background: url("../images/co_img_panda1.svg") 0 0 no-repeat;
    top: calc(100vh - 230px); }
  body::after {
    content: "" !important;
    display: block !important;
    width: 230px;
    height: 172px;
    background: url("../images/co_img_panda2.svg") 0 0 no-repeat;
    top: 480px;
    right: 0;
    z-index: -1; }

  body:not(.is-scrollEnd)::before, body:not(.is-scrollEnd)::after {
    opacity: 1; }

  body.home::before, body.home::after {
    opacity: 0 !important; }
  body.home h1 {
    display: none; }

  header {
    padding: 20px 0;
    z-index: 102; }
    header .logo {
      width: var(--logo-size-x);
      height: var(--logo-size-y);
      background: url("../images/logo_pc.svg") top left no-repeat;
      background-size: contain;
      font-size: 0;
      display: block;
      position: absolute;
      top: 0;
      left: 0; }
      header .logo a {
        display: block;
        width: 65%;
        height: 60%;
        margin-top: 12%;
        margin-left: 12%; }
    header nav {
      max-width: 1000px;
      margin-left: calc(var(--logo-size-x) + 20px);
      margin-top: 20px; }
      header nav ul.gnavi {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: repeat(1, 1fr);
        gap: 0px; }
        header nav ul.gnavi li {
          padding: 10px 0 20px 6px;
          background-image: radial-gradient(circle, #DD680D 2px, transparent 2px);
          background-position: left top;
          background-repeat: repeat-y;
          background-size: 4px 10px; }
          header nav ul.gnavi li:last-child {
            background-image: radial-gradient(circle, #DD680D 2px, transparent 2px), radial-gradient(circle, #DD680D 2px, transparent 2px);
            background-position: right top, left top;
            background-repeat: repeat-y, repeat-y;
            background-size: 4px 10px, 4px 10px; }
      header nav ul.spnavi {
        display: none; }
    header .pc-ctrl {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: flex-end;
      align-items: center;
      width: auto;
      margin-right: var(--pc-ctrl);
      gap: 20px; }
      header .pc-ctrl .jump a {
        background-color: var(--orange2);
        padding: .5em 1em;
        font-size: var(--fs16);
        font-family: var(--ff-heading);
        font-weight: 700;
        border-radius: 2em; }
      header .pc-ctrl .color-change {
        display: flex;
        align-items: center;
        gap: 5px; }
        header .pc-ctrl .color-change p {
          font-size: var(--fs14);
          color: var(--gray1); }
        header .pc-ctrl .color-change ul {
          display: flex;
          gap: 5px; }
          header .pc-ctrl .color-change ul li a {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 2em;
            height: 2em;
            line-height: 1;
            border-radius: 1em;
            border: 1px solid var(--black);
            background-color: var(--white);
            color: var(--black);
            cursor: pointer; }
          header .pc-ctrl .color-change ul li#black a {
            border: 1px solid var(--white);
            background-color: var(--black);
            color: var(--white); }
      header .pc-ctrl .google-search {
        display: flex;
        align-items: center;
        gap: 10px; }
        header .pc-ctrl .google-search p {
          font-size: var(--fs14);
          color: var(--gray1); }
        header .pc-ctrl .google-search .gsc-control {
          width: 300px;
          padding-right: 0; }
        header .pc-ctrl .google-search .gsc-control-cse {
          border: none !important;
          background-color: transparent !important;
          font-size: var(--fs18);
          padding: 0;
          color: var(--black);
          width: 350px; }
        header .pc-ctrl .google-search .gsc-input-box {
          border: none;
          background-color: var(--bg1);
          border-top-left-radius: 1.5em;
          border-bottom-left-radius: 1.5em; }
        header .pc-ctrl .google-search form.gsc-search-box {
          font-size: var(--fs18);
          margin-bottom: 0; }
        header .pc-ctrl .google-search table.gsc-search-box {
          margin-bottom: 0; }
        header .pc-ctrl .google-search table.gsc-search-box td.gsc-input {
          padding-right: 0;
          background-color: var(--bg1);
          border-top-left-radius: 1.5em;
          border-bottom-left-radius: 1.5em; }
        header .pc-ctrl .google-search .gsc-input {
          font-size: var(--fs18); }
        header .pc-ctrl .google-search input.gsc-input {
          font-size: var(--fs18);
          background-color: var(--bg1) !important; }
        header .pc-ctrl .google-search .gsib_a {
          padding: .5em 0 .5em 1em; }
        header .pc-ctrl .google-search .gsib_b {
          width: 2.5em; }
        header .pc-ctrl .google-search .gsc-search-button {
          margin-left: 0;
          background-color: var(--orange1);
          border-top-right-radius: 1.5em;
          border-bottom-right-radius: 1.5em;
          display: table-cell !important; }
        header .pc-ctrl .google-search .gsc-search-button-v2 {
          background-color: transparent;
          padding: 0px 20px;
          margin-top: 0;
          border-color: transparent;
          border-radius: 0; }
          header .pc-ctrl .google-search .gsc-search-button-v2 svg {
            width: 18px;
            height: 18px; }
        header .pc-ctrl .google-search .gsc-clear-button {
          display: none; }
        header .pc-ctrl .google-search .gsst_a .gscb_a {
          color: var(--gray1); }

  .side-nav {
    position: fixed;
    top: 200px;
    right: 0;
    z-index: 100;
    width: 50px; }
    .side-nav ul li {
      display: block;
      width: 50px;
      height: 130px; }
      .side-nav ul li + li {
        margin-top: 15px; }
      .side-nav ul li a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        background-color: var(--orange2);
        padding: 0;
        text-align: center;
        border-top-left-radius: 1em;
        border-bottom-left-radius: 1em;
        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
        font-weight: 700;
        text-decoration: none !important;
        writing-mode: vertical-rl;
        font-size: var(--fs18); }
        .side-nav ul li a i {
          font-size: var(--fs28);
          display: none; } }
@media screen and (min-width: 1600px) {
  .side-nav {
    width: 125px; }
    .side-nav ul li {
      display: block;
      width: 125px;
      height: 115px; }
      .side-nav ul li + li {
        margin-top: 15px; }
      .side-nav ul li a {
        display: block;
        width: 100%;
        height: 100%;
        background-color: var(--orange2);
        padding: .5em 0 1em 0;
        text-align: center;
        border-top-left-radius: 1em;
        border-bottom-left-radius: 1em;
        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
        font-weight: 700;
        text-decoration: none !important;
        writing-mode: horizontal-tb; }
        .side-nav ul li a i {
          font-size: var(--nav-icon-size);
          display: block; } }
@media screen and (min-width: 1720px) {
  .side-nav {
    top: 70px; }

  header nav {
    margin-left: calc((100vw - var(--logo-size-x)) / 2); } }
@media screen and (max-width: 1024px) {
  header {
    height: 100px; } }
/*============
.toggle_btn
=============*/
.toggle_btn {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 100px;
  height: 100px;
  padding: 20px;
  transition: all .5s;
  cursor: pointer;
  z-index: 101;
  background-color: transparent;
  text-align: center;
  font-family: var(--ff-heading);
  font-weight: 700; }

.toggle_btn span {
  display: block;
  position: absolute;
  left: 25px;
  width: 50px;
  height: 3px;
  background-color: var(--black);
  border-radius: 4px;
  transition: all .5s; }

.toggle_btn span:nth-child(1) {
  top: 26px; }

.toggle_btn span:nth-child(2) {
  top: 40px; }

.toggle_btn span:nth-child(3) {
  bottom: 42px; }

.toggle_btn.open span {
  background-color: var(--black); }

.toggle_btn.open span:nth-child(1) {
  -webkit-transform: translateY(12px) rotate(-315deg);
  transform: translateY(12px) rotate(-315deg); }

.toggle_btn.open span:nth-child(2) {
  opacity: 0; }

.toggle_btn.open span:nth-child(3) {
  -webkit-transform: translateY(-17px) rotate(315deg);
  transform: translateY(-17px) rotate(315deg); }

@media screen and (max-width: 1024px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    background-color: var(--orange1);
    z-index: 11; }
    header .pc-ctrl {
      display: none; }
    header .logo {
      background: url("../images/logo_sp.svg") 0 center no-repeat;
      height: 100px;
      width: calc(100% - 115px);
      background-size: contain;
      font-size: 0;
      display: block;
      margin-left: 15px; }
      header .logo a {
        width: 100%;
        height: 100%;
        display: block; }

  .toggle_btn {
    display: flex;
    justify-content: center;
    align-items: flex-end; }

  #sp-nav {
    position: absolute;
    right: 0;
    left: 0;
    top: 100px;
    width: 100%;
    height: calc(100vh - 190px);
    overflow-y: auto;
    padding-bottom: 30px;
    transform: translateX(100%);
    background-color: var(--orange1);
    transition: ease .4s;
    z-index: 100; }
    #sp-nav a {
      position: relative; }
    #sp-nav a[target="_blank"]::after {
      font-family: 'icomoon' !important;
      content: "\e913";
      margin-left: .5em;
      color: var(--orange0);
      text-decoration: none !important;
      display: inline-block; }
    #sp-nav ul {
      background-color: var(--white);
      border: 1em solid var(--white);
      border-width: 1em 2em;
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
      border-radius: 20px;
      width: calc(100% - 60px);
      margin: auto; }
      #sp-nav ul + ul {
        margin-top: 10px; }
    #sp-nav ul.gnavi {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(3, 1fr); }
      #sp-nav ul.gnavi li {
        border-bottom: 1px dotted var(--orange1);
        padding-bottom: 20px; }
        #sp-nav ul.gnavi li:nth-child(odd) {
          border-right: 1px dotted var(--orange1); }
        #sp-nav ul.gnavi li:nth-child(5) {
          border-bottom: none; }
        #sp-nav ul.gnavi li:nth-child(6) {
          border-bottom: none; }
    #sp-nav ul.spnavi {
      display: block;
      text-align: left; }
      #sp-nav ul.spnavi li {
        border-bottom: 1px solid var(--line3);
        padding: .5em 0; }
        #sp-nav ul.spnavi li:last-child {
          border-bottom: none; }

  #sp-nav.open {
    transform: translateX(0); }

  .side-nav {
    display: block;
    z-index: 101;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--white);
    height: 90px;
    box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.3); }
    .side-nav ul {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: repeat(1, 1fr);
      gap: 0px;
      height: 90px; }
      .side-nav ul li {
        text-align: center;
        background-image: radial-gradient(circle, #DD680D 2px, transparent 2px);
        background-position: left top;
        background-repeat: repeat-y;
        background-size: 4px 10px; }
        .side-nav ul li:first-child {
          background: none; }
        .side-nav ul li a {
          width: 100%;
          height: 100%;
          display: block;
          display: flex;
          align-items: center;
          justify-content: center;
          flex-direction: column;
          text-decoration: none !important; }
        .side-nav ul li i {
          font-size: var(--nav-icon-size); } }
/* ===========================================
main
=========================================== */
main {
  position: relative; }
  main .page-header {
    background-color: var(--bg1); }
  main section {
    padding-bottom: 80px;
    position: relative; }
    main section.mg-sml {
      padding-bottom: 0px; }
  main p, main h2, main h3, main h4, main h5, main h6 {
    line-height: 1.8; }
  main p + *, main table + *, main dl + *, main ul + *, main ol + *, main blockquote + *, main figure + *, main div + table {
    margin-top: 30px; }
  main * + .wp-block-image {
    margin-top: 30px !important; }
  main * + h2 {
    margin-top: 80px; }
  main * + h3 {
    margin-top: 50px; }
  main table {
    border: 30px solid var(--white);
    border-radius: 20px;
    border-collapse: separate !important;
    border-spacing: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);
    width: 100%;
    background-color: var(--white); }
    main table td, main table th {
      padding: 1em;
      font-weight: 500;
      line-height: 1.8;
      border-top: 1px solid var(--line3); }
    main table tbody th {
      min-width: 210px;
      background-color: var(--thead2);
      text-align: left; }
    main table thead th {
      background-color: var(--thead1); }
    main table th, main table td {
      border-right: 1px solid var(--line3); }
    main table tr td:last-child, main table tr th:last-child {
      border-right: none; }
    main table tr:first-child td, main table tr:first-child th {
      border-top: none; }
  main table:has(td[rowspan]) {
    /*tr{
      td:not(:has([rowspan])):last-child,th:not(:has([rowspan])):last-child{
        border-right: 1px solid var(--line3);
      }
      td:has([rowspan]):last-child,th:has([rowspan]):last-child{
        border-right:none;
      }
    }*/ }
  main ul {
    margin-left: 1.5em;
    list-style: disc;
    line-height: 1.8; }
  main ol {
    margin-left: 1.5em;
    list-style: decimal;
    line-height: 1.8; }
  main dl {
    line-height: 1.8; }
  main a {
    text-decoration: underline;
    position: relative; }
    main a:hover {
      text-decoration: none; }
  main a[target="_blank"]::after {
    font-family: 'icomoon' !important;
    content: "\e913";
    margin-left: .5em;
    color: var(--orange0);
    text-decoration: none !important;
    display: inline-block; }
  main a[href$='.pdf']::before {
    content: "PDF";
    display: inline-block;
    background-color: #B30B00;
    color: var(--white);
    font-size: var(--fs14);
    padding: .2em .5em .3em;
    border-radius: 2px;
    margin-right: .5em;
    line-height: 1; }
  main a[href$='.docx']::before {
    content: "WORD";
    display: inline-block;
    background-color: #185ABD;
    color: var(--white);
    font-size: var(--fs14);
    padding: .2em .5em .3em;
    border-radius: 2px;
    margin-right: .5em;
    line-height: 1; }
  main a[href$='.xlsx']::before {
    content: "EXCEL";
    display: inline-block;
    background-color: var(--green0);
    color: var(--white);
    font-size: var(--fs14);
    padding: .2em .5em .3em;
    border-radius: 2px;
    margin-right: .5em;
    line-height: 1; }
  main img {
    border-radius: 20px;
    max-width: 100%;
    height: auto; }
    main img .no-radius {
      border-radius: 0 !important; }
  main figure.no-radius img {
    border-radius: 0 !important; }
  main p.outline {
    text-align: center;
    font-size: var(--fs20); }
  main .link {
    text-align: center; }
    main .link a.link-button {
      display: inline-block;
      color: var(--black);
      background-color: var(--orange2);
      padding: 1em 2em;
      min-width: 15em;
      border-radius: 2em;
      text-decoration: none; }
      main .link a.link-button::before {
        display: none; }

@media screen and (max-width: 1024px) {
  main {
    padding-top: 100px; }
    main section {
      padding-bottom: 30px; }
    main p + *, main table + *, main dl + *, main ul + *, main ol + *, main blockquote + *, main figure + * {
      margin-top: 20px; }
    main * + h2 {
      margin-top: 30px; }
    main * + h3 {
      margin-top: 30px; }
    main p.outline {
      text-align: left; }
    main table {
      border-width: 15px; }
      main table th, main table td {
        padding: .8em; }
      main table th {
        min-width: inherit;
        text-align: center;
        font-weight: 700; }
    main figure:not(.wp-block-flexible-table-block-table) table tbody th, main figure:not(.wp-block-flexible-table-block-table) table tbody td {
      display: block;
      border: none !important; }
    main figure:not(.wp-block-flexible-table-block-table) table tbody th {
      text-align: center; }
    main table:has(thead):not(.has-fixed-layout) tbody th, main table:has(thead):not(.has-fixed-layout) tbody td {
      display: table-cell;
      /*border: none !important;*/ }
    main table:has(thead):not(.has-fixed-layout) tbody th {
      text-align: center; } }
/* ===========================================
footer
=========================================== */
footer {
  width: 100%;
  position: relative;
  background: url("../images/co_img_foot.svg") center top no-repeat;
  background-size: cover; }
  footer a {
    text-decoration: none !important; }

@media screen and (min-width: 1025px), print {
  footer {
    padding: 15.6vw 0 50px;
    position: relative; }
    footer .cmp-inner {
      display: flex;
      justify-content: space-between;
      align-items: flex-start; }
      footer .cmp-inner p {
        line-height: 1.5; }
      footer .cmp-inner ul {
        margin-right: 50px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 20px 10px;
        max-width: 850px;
        flex-wrap: wrap; }
        footer .cmp-inner ul li {
          display: inline-block; }
        footer .cmp-inner ul a {
          background-color: var(--green1);
          padding: .2em 1em;
          border-radius: 1.5em;
          font-size: var(--fs16);
          font-weight: 700;
          white-space: nowrap;
          position: relative; }
        footer .cmp-inner ul a[target="_blank"]::after {
          font-family: 'icomoon' !important;
          content: "\e913";
          margin-left: .5em;
          color: var(--orange0);
          text-decoration: none !important;
          display: inline-block; } }
@media screen and (min-width: 1600px) {
  footer .cmp-inner ul {
    margin-right: 0; } }
@media screen and (max-width: 1024px) {
  footer {
    padding: 16vw 0 120px;
    background: url("../images/co_img_foot.svg") center top no-repeat;
    background-size: contain; }
    footer .cmp-inner {
      text-align: center;
      width: calc(100% - 50px); }
      footer .cmp-inner p {
        line-height: 1.5; }
      footer .cmp-inner ul {
        display: none; } }
/* ============================================================================= */
/* Page Top Button */
/* ============================================================================= */
.pagetop-button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--orange1);
  border-radius: 50%;
  width: 80px;
  height: 80px;
  color: var(--white);
  font-weight: 700;
  font-size: 16px;
  text-decoration: none !important;
  letter-spacing: .1em;
  line-height: 1;
  bottom: 40px;
  transition: color .5s,background-color .5s,opacity .5s;
  z-index: 10;
  opacity: .8;
  font-family: var(--ff-heading);
  font-weight: 700; }
  .pagetop-button i {
    font-size: var(--page-topicon-size); }
  .pagetop-button:hover {
    opacity: 1; }

body:not(.__scrolled) .pagetop-button {
  opacity: 0;
  pointer-events: none; }

@media screen and (min-width: 1025px), print {
  .pagetop-button {
    position: sticky;
    margin-block: -80px;
    margin-inline: auto 40px; } }
@media screen and (max-width: 1024px) {
  .pagetop-button {
    position: fixed;
    bottom: 100px;
    right: 20px; } }
/* ===========================================
component
=========================================== */
.cmp-inner {
  max-width: 1300px;
  width: calc(100% - 60px);
  margin: auto; }

.cmp-image {
  width: 100%;
  height: auto; }
  .cmp-image.cmp-img-169 img {
    aspect-ratio: 1 / 0.3461538461538462;
    width: 100%;
    object-fit: cover;
    border-radius: 20px; }
  .cmp-image figcaption {
    text-align: right;
    font-size: var(--fs16);
    margin-top: .5em; }

/* -------------------------------------------
/* cmp-flex
------------------------------------------- */
.cmp-flex {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1em; }
  .cmp-flex.cmp-fl-start {
    justify-content: flex-start; }
  .cmp-flex.cmp-fl-end {
    justify-content: flex-end; }
  .cmp-flex.cmp-fl-center {
    justify-content: center; }
  .cmp-flex.cmp-fl-between {
    justify-content: space-between; }
  .cmp-flex.cmp-al-center {
    align-items: center; }
  .cmp-flex.cmp-al-start {
    align-items: flex-start; }
  .cmp-flex.cmp-col2 > * {
    width: calc((100% - 30px) / 2); }
    .cmp-flex.cmp-col2 > * + * {
      margin-top: 0; }
  .cmp-flex.cmp-ratio32 .text-area {
    width: 100%; }
  .cmp-flex.cmp-ratio32:has(figure) {
    gap: 50px; }
    .cmp-flex.cmp-ratio32:has(figure) .text-area {
      width: calc(100% - 520px); }
    .cmp-flex.cmp-ratio32:has(figure) figure {
      width: 470px;
      margin-top: 0; }
      .cmp-flex.cmp-ratio32:has(figure) figure figcaption {
        font-size: var(--fs16);
        text-align: center;
        margin-top: .5em; }
      .cmp-flex.cmp-ratio32:has(figure) figure + figure {
        margin-top: 30px; }
    .cmp-flex.cmp-ratio32:has(figure) .image-area {
      width: 470px;
      margin-top: 0; }

@media screen and (max-width: 1024px) {
  .cmp-flex.cmp-col2 > * {
    width: calc((100% - 20px) / 2); }
    .cmp-flex.cmp-col2 > * + * {
      margin-top: 0; }
  .cmp-flex.cmp-ratio32:has(figure) {
    gap: 30px;
    flex-direction: column; }
    .cmp-flex.cmp-ratio32:has(figure) .text-area {
      width: 100%; }
    .cmp-flex.cmp-ratio32:has(figure) .image-area, .cmp-flex.cmp-ratio32:has(figure) figure {
      width: 100%; } }
/* -------------------------------------------
/* cmp-grid
------------------------------------------- */
[class^="cmp-grid"], [class*=" cmp-grid"] {
  display: grid;
  width: 100%;
  position: relative;
  justify-content: space-between; }
  [class^="cmp-grid"] > *, [class*=" cmp-grid"] > * {
    display: grid;
    grid-template-rows: subgrid; }
  [class^="cmp-grid"].span1 > *, [class*=" cmp-grid"].span1 > * {
    grid-row: span 1 !important; }
  [class^="cmp-grid"].span2 > *, [class*=" cmp-grid"].span2 > * {
    grid-row: span 2 !important; }
  [class^="cmp-grid"].span3 > *, [class*=" cmp-grid"].span3 > * {
    grid-row: span 3 !important; }

/* ===========================================
parts
=========================================== */
/* -------------------------------------------
/* page-header
------------------------------------------- */
.page-header {
  position: relative;
  padding: 30px 0;
  margin-bottom: 80px; }
  .page-header::before {
    content: "";
    width: 100%;
    height: 5px;
    background: url("../images/co_cover_bottom.svg") left bottom repeat-x;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0; }
  .page-header::after {
    content: "";
    width: 100%;
    height: 5px;
    background: url("../images/co_cover_top.svg") left top repeat-x;
    background-size: cover;
    position: absolute;
    bottom: 0;
    left: 0; }
  .page-header .page-header_inner .breadCrumb {
    text-align: right; }
    .page-header .page-header_inner .breadCrumb a {
      text-decoration: underline; }
      .page-header .page-header_inner .breadCrumb a:hover {
        text-decoration: none; }
      .page-header .page-header_inner .breadCrumb a::before {
        display: none; }
    .page-header .page-header_inner .breadCrumb + h1 {
      margin-top: 30px; }

@media screen and (min-width: 1025px), print {
  .page-header .page-header_inner {
    max-width: 1300px;
    text-align: center;
    margin: 0 auto; }
    .page-header .page-header_inner p {
      margin-bottom: 50px; } }
@media screen and (max-width: 1024px) {
  .page-header {
    margin-bottom: 30px;
    padding: 20px 0; }
    .page-header::before {
      display: none; }
    .page-header .page-header_inner {
      width: 100%;
      left: 0;
      padding: 0 30px; }
      .page-header .page-header_inner p {
        margin-bottom: 20px; }
      .page-header .page-header_inner h1 {
        text-align: center;
        margin-bottom: 10px; }
      .page-header .page-header_inner .breadCrumb {
        text-align: left; }
        .page-header .page-header_inner .breadCrumb + h1 {
          margin-top: 10px; } }
/* -------------------------------------------
/* page-title
------------------------------------------- */
.page-title .post-date {
  text-align: right;
  margin-bottom: 1em; }
  .page-title .post-date + .event-date {
    margin-top: -1em; }
.page-title .event-date {
  text-align: center;
  font-size: var(--fs20);
  margin-bottom: -.5em;
  text-align: right; }

@media screen and (min-width: 1025px) {
  .page-title h1 {
    margin: 1em 3em 30px; }

  .tag-list + section .page-title h1 {
    margin: 0 0 30px; } }
@media screen and (max-width: 1024px) {
  .page-title .post-date {
    text-align: left; } }
/* -------------------------------------------
/* related-links
------------------------------------------- */
.related-links {
  position: relative; }
  .related-links + .related-links {
    margin-top: -50px; }
  .related-links dl {
    padding: 1.5em;
    background-color: var(--green4);
    border-radius: 20px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start; }
    .related-links dl dt {
      width: 10vw; }
  .related-links ul {
    list-style: none;
    margin-left: 0; }

@media screen and (max-width: 1024px) {
  .related-links + .related-links {
    margin-top: -20px; }
  .related-links dl {
    flex-direction: column; }
    .related-links dl dt {
      width: auto; } }
/* -------------------------------------------
/* sns-links
------------------------------------------- */
.sns-links {
  position: relative;
  text-align: center; }
  .sns-links ul {
    list-style: none;
    margin-left: 0;
    gap: 10px; }
    .sns-links ul a {
      font-size: 0;
      text-decoration: none; }
      .sns-links ul a i {
        font-size: 40px;
        color: var(--orange1); }

/* -------------------------------------------
/* gmap
------------------------------------------- */
iframe {
  width: 100% !important; }

@media screen and (max-width: 1024px) {
  .gmap iframe {
    height: 300px; } }
.wp-block-embed-youtube {
  text-align: center; }
  .wp-block-embed-youtube iframe {
    width: 80% !important;
    height: auto;
    margin: 0 auto;
    aspect-ratio: 16 / 9; }

@media screen and (max-width: 1024px) {
  .wp-block-embed-youtube iframe {
    width: 100% !important; } }
/* -------------------------------------------
/* remarks
------------------------------------------- */
.remarks {
  margin-top: 50px;
  padding: 1.5em;
  background-color: var(--bg1);
  border-radius: 20px; }

@media screen and (max-width: 1024px) {
  .remarks {
    margin-top: 30px; } }
/* -------------------------------------------
/* contact
------------------------------------------- */
.contact {
  position: relative; }
  .contact h3 {
    border-top: 1px solid var(--line2);
    padding-top: .5em;
    padding-bottom: 0;
    margin-bottom: 20px; }
    .contact h3::after {
      display: none; }
  .contact dt {
    font-size: var(--fs20); }

/* -------------------------------------------
/* tag-cloud
------------------------------------------- */
.tag-cloud ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-weight: 500;
  list-style: none;
  margin-left: 0; }
  .tag-cloud ul a {
    border: 1px solid var(--orange0);
    border-radius: 1.5em;
    color: var(--orange0);
    background-color: var(--white);
    padding: .3em 1em;
    text-decoration: none;
    white-space: nowrap; }
    .tag-cloud ul a::before {
      display: none; }

@media screen and (max-width: 1024px) {
  .tag-cloud {
    margin-top: 0;
    text-align: left; }
    .tag-cloud ul {
      justify-content: flex-start;
      row-gap: 10px; } }
/* -------------------------------------------
/* tag-list
------------------------------------------- */
.tag-list {
  text-align: right;
  margin-top: -50px; }
  .tag-list ul {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 12px;
    font-weight: 500;
    list-style: none;
    margin-left: 0; }
    .tag-list ul a {
      border: 1px solid var(--orange0);
      border-radius: 1.5em;
      color: var(--orange0);
      background-color: var(--white);
      padding: .3em 1em;
      text-decoration: none;
      white-space: nowrap; }
      .tag-list ul a::before {
        display: none; }

@media screen and (min-width: 1025px) {
  .tag-list .cmp-inner ul {
    max-width: 950px;
    margin-left: 350px; } }
@media screen and (max-width: 1024px) {
  .tag-list {
    margin-top: -10px;
    margin-bottom: -10px;
    font-size: var(--fs16);
    text-align: left; }
    .tag-list ul {
      justify-content: flex-start;
      row-gap: 10px; } }
/* -------------------------------------------
/* tag-list-small
------------------------------------------- */
.tag-list-small {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px !important;
  list-style: none;
  margin-left: 0;
  font-size: var(--fs14); }
  .tag-list-small li {
    border-bottom: none !important; }
  .tag-list-small a {
    border: 1px solid var(--gray1);
    border-radius: 1.5em;
    color: var(--gray1);
    background-color: var(--white);
    padding: .3em 1em;
    text-decoration: none;
    white-space: nowrap; }
    .tag-list-small a::before {
      display: none !important; }

@media screen and (max-width: 1024px) {
  .tag-list-small {
    gap: 10px 5px !important; } }
/* -------------------------------------------
/* search-form
------------------------------------------- */
.search-form {
  display: flex;
  justify-content: center;
  align-items: center; }
  .search-form label {
    color: var(--gray1); }
  .search-form input[type="text"] {
    background-color: var(--bg1);
    text-align: left;
    padding: .5em 1em;
    border-top-left-radius: 1.5em;
    border-bottom-left-radius: 1.5em;
    width: 40em;
    max-width: 80%; }
  .search-form input.search-submit {
    background-color: var(--orange1);
    color: var(--white);
    padding: .5em 1em;
    border-top-right-radius: 1.5em;
    border-bottom-right-radius: 1.5em; }

/* -------------------------------------------
/* service-index
------------------------------------------- */
.service-index .service-anchor {
  margin: 0 auto 50px; }
  .service-index .service-anchor ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 0;
    margin: 0; }
    .service-index .service-anchor ul li {
      list-style: none;
      display: inline-block; }
      .service-index .service-anchor ul li a {
        position: relative;
        white-space: nowrap;
        /*&::after{
          display: inline-block;
          font-family: 'icomoon';
          content: "\e915";
          color: var(--orange0);
          font-size: var(--fs20);
          text-decoration: none;
          transform:rotate(90deg);
          padding-left: .1em;
          padding-bottom: .3em;
        }*/ }
.service-index .service-index-list {
  border-radius: 20px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
  background-color: var(--white); }
  .service-index .service-index-list .service-index-image figure {
    overflow: hidden;
    position: relative;
    width: 100%; }
    .service-index .service-index-list .service-index-image figure img {
      /*position: absolute;
      max-width: inherit;
      height: auto;
      width: 100%;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      border-radius: 0;*/
      aspect-ratio: 1;
      object-fit: cover;
      width: 100%;
      border-radius: 0; }
  .service-index .service-index-list .service-index-text .cmp-flex > div .service-index-title {
    font-size: var(--fs20); }
    .service-index .service-index-list .service-index-text .cmp-flex > div .service-index-title a {
      position: relative;
      padding-left: 1.2em;
      display: block; }
      .service-index .service-index-list .service-index-text .cmp-flex > div .service-index-title a::before {
        position: absolute;
        top: -.1em;
        left: 0;
        display: inline-block;
        font-family: 'icomoon';
        content: "\e915";
        color: var(--orange0);
        font-size: var(--fs22);
        text-decoration: none; }
  .service-index .service-index-list .service-index-text .cmp-flex > div .tag-list-small {
    justify-content: flex-start;
    margin-top: 20px;
    margin-left: var(--fs22); }

@media screen and (min-width: 1025px), print {
  .service-index .service-anchor ul li {
    list-style: none;
    display: inline-block;
    padding: 0 .8em; }
    .service-index .service-anchor ul li + li {
      background-image: radial-gradient(circle, #DD680D 1px, transparent 1px);
      background-position: left top;
      background-repeat: repeat-y;
      background-size: 4px 8px;
      /*linear-gradient(to right, #DD680D 2px, transparent 2px);*/ }
  .service-index .service-index-list {
    border: 50px solid Var(--white); }
    .service-index .service-index-list + .service-index-list {
      margin-top: 100px; }
    .service-index .service-index-list .service-index-image {
      width: 300px; }
      .service-index .service-index-list .service-index-image figure {
        border-radius: 50%;
        aspect-ratio: 1; }
        .service-index .service-index-list .service-index-image figure img {
          /*height: 100%;
          width: auto;*/
          aspect-ratio: 1;
          object-fit: cover; }
    .service-index .service-index-list .service-index-text {
      width: calc(100% - 350px); }
      .service-index .service-index-list .service-index-text h2 {
        text-align: left; }
      .service-index .service-index-list .service-index-text .cmp-flex {
        gap: 20px 50px; }
        .service-index .service-index-list .service-index-text .cmp-flex > div {
          width: calc((100% - 50px) / 2); } }
@media screen and (max-width: 1024px) {
  .service-index .service-anchor {
    margin: 0 auto 30px; }
    .service-index .service-anchor ul li {
      padding: 0 .5em; }
  .service-index .service-index-list + .service-index-list {
    margin-top: 30px; }
  .service-index .service-index-list .service-index-image {
    width: 100%; }
    .service-index .service-index-list .service-index-image figure {
      border-radius: 20px 20px 0 0;
      height: 120px;
      display: flex;
      align-items: center; }
  .service-index .service-index-list .service-index-text {
    width: 100%;
    padding: 20px 30px 40px 30px; }
    .service-index .service-index-list .service-index-text h2 {
      text-align: center; }
    .service-index .service-index-list .service-index-text .cmp-flex {
      flex-direction: column;
      gap: 10px; } }
/* -------------------------------------------
/* top-mainimg
------------------------------------------- */
.top-mainimg {
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding-bottom: 0; }
  .top-mainimg::after {
    content: "";
    width: 100%;
    height: 15px;
    background: url(../images/co_cover_top.svg) left top repeat-x;
    background-size: cover;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2; }
  .top-mainimg::before {
    content: "";
    width: 100%;
    height: 5px;
    background: url(../images/co_cover_bottom.svg) left bottom repeat-x;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2; }

.bubble {
  position: absolute;
  bottom: -50px;
  background-color: transparent;
  pointer-events: none;
  /*box-shadow: inset 0 0 10px rgba(255,255,255,0.2);*/
  background: url("../images/bubble.png") center center no-repeat;
  background-size: contain;
  animation: bubble 8s linear infinite; }

/* 泡が上に浮かび上がっていくアニメーション */
@keyframes bubble {
  0% {
    transform: translatY(0);
    opacity: .5; }
  50% {
    opacity: .3; }
  100% {
    transform: translateY(-120vh);
    opacity: 0; } }
@media screen and (max-width: 1024px) {
  .top-mainimg::before {
    display: none; } }
/* -------------------------------------------
/* top-news
------------------------------------------- */
.top-news .news-block .title {
  position: relative; }
  .top-news .news-block .title h2 {
    background: url(../images/title_news.svg) center center no-repeat;
    background-size: contain;
    width: 108px;
    height: 44px;
    font-size: 0;
    margin-left: calc((100% - 108px) / 2);
    margin-top: 0; }
.top-news .news-block-list, .top-news .banner {
  border-radius: 20px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  background-color: var(--white);
  padding: 20px; }

@media screen and (min-width: 1025px), print {
  .top-news {
    padding-bottom: 250px;
    position: relative; }
    .top-news::before {
      content: "";
      display: block;
      background: url("../images/top_img_news_bg2.svg") 0 0 no-repeat;
      width: 644px;
      height: 454px;
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: -1; }
    .top-news::after {
      content: "";
      display: block;
      background: url("../images/top_img_news_bg1.svg") 0 0 no-repeat;
      width: 201px;
      height: 150px;
      position: absolute;
      right: 0;
      top: 0;
      z-index: -1; }
    .top-news .cmp-flex {
      z-index: 1;
      column-gap: 30px;
      justify-content: space-between;
      align-items: stretch; }
      .top-news .cmp-flex .news-block {
        width: calc(100% - 300px); }
        .top-news .cmp-flex .news-block .news-block-list {
          background: #fff url("../images/top_img_news.svg") 40px center no-repeat;
          background-size: 99px 194px;
          width: 100%;
          min-height: 270px;
          padding: 35px 50px;
          margin-bottom: 20px; }
          .top-news .cmp-flex .news-block .news-block-list ul {
            width: calc(100% - 130px);
            margin-left: 130px;
            list-style: none; }
            .top-news .cmp-flex .news-block .news-block-list ul li {
              border-bottom: 1px solid var(--line3);
              padding: .5em 0;
              display: flex;
              justify-content: flex-start;
              column-gap: .5em; }
              .top-news .cmp-flex .news-block .news-block-list ul li span {
                min-width: 8em; }
              .top-news .cmp-flex .news-block .news-block-list ul li:last-child {
                border-bottom: none; }
      .top-news .cmp-flex .banner {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        width: 270px;
        text-align: center;
        color: #E40071; }
        .top-news .cmp-flex .banner a {
          text-decoration: none !important; }
        .top-news .cmp-flex .banner a[target="_blank"]::after {
          display: none !important; }
        .top-news .cmp-flex .banner p + p {
          margin-top: 15px !important; } }
@media screen and (max-width: 1024px) {
  .top-news {
    padding-bottom: 130px; }
    .top-news .news-block {
      width: 100%; }
      .top-news .news-block .title h2 {
        width: 80px;
        height: 32px;
        margin-left: calc((100% - 80px) / 2); }
      .top-news .news-block .title::after {
        content: "";
        background: #fff url("../images/top_img_news.svg") 0 0 no-repeat;
        background-size: cover;
        display: block;
        width: 70px;
        height: 70px;
        margin: 0 auto; }
      .top-news .news-block .news-block-list {
        margin-bottom: 20px; }
        .top-news .news-block .news-block-list ul {
          list-style: none;
          margin-left: 0; }
          .top-news .news-block .news-block-list ul li {
            border-bottom: 1px solid var(--line3);
            padding: .5em 0; }
            .top-news .news-block .news-block-list ul li:last-child {
              border-bottom: none; }
            .top-news .news-block .news-block-list ul li span {
              display: block; }
    .top-news .banner {
      display: none; } }
/* -------------------------------------------
/* top-instagram
------------------------------------------- */
.top-instagram {
  padding: 80px 0; }
  .top-instagram .title h2 {
    background: url(../images/title_instagram.svg) center center no-repeat;
    background-size: contain;
    width: 210px;
    height: 44px;
    font-size: 0;
    margin-left: calc((100% - 210px) / 2);
    margin-top: 0; }
  .top-instagram #sb_instagram img {
    border-radius: 0 !important; }
  .top-instagram #sb_instagram .sbi_follow_btn a[target="_blank"]::after {
    display: none !important; }

@media screen and (max-width: 1024px) {
  .top-instagram {
    padding: 50px 0; }
    .top-instagram .title h2 {
      width: 158px;
      height: 32px;
      font-size: 0;
      margin-left: calc((100% - 158px) / 2); }
    .top-instagram #sb_instagram.sbi_mob_col_3 #sbi_images {
      gap: 5px !important; } }
/* -------------------------------------------
/* top-event
------------------------------------------- */
.top-event {
  background-image: repeating-linear-gradient(90deg, rgba(217, 232, 189, 0.2), rgba(217, 232, 189, 0.2) 40px, transparent 40px, transparent 50px);
  position: relative; }
  .top-event .title {
    position: absolute;
    text-align: center;
    top: -120px;
    left: 0;
    width: 100%;
    height: 166px; }
    .top-event .title::after {
      content: "";
      display: inline-block;
      background: url("../images/top_img_event.svg") 0 0 no-repeat;
      background-size: contain;
      width: 224px;
      height: 121px; }
    .top-event .title h2 {
      background: url(../images/title_event.svg) center center no-repeat;
      background-size: contain;
      width: 122px;
      height: 44px;
      font-size: 0;
      margin-left: calc((100% - 122px) / 2);
      margin-top: 0; }
  .top-event ul {
    list-style: none;
    margin-left: 0;
    padding-top: 100px; }
    .top-event ul li * + * {
      margin-top: inherit; }
    .top-event ul li figure {
      overflow: hidden;
      border-radius: 50%;
      position: relative;
      width: 100%;
      aspect-ratio: 1; }
      .top-event ul li figure img {
        aspect-ratio: 1;
        object-fit: cover; }
    .top-event ul li .event-list-title {
      font-size: var(--fs20); }
    .top-event ul a::before {
      display: none !important; }

@media screen and (min-width: 1025px), print {
  .top-event ul {
    justify-content: center;
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    gap: 80px 33.3px; }
    .top-event ul li {
      align-content: flex-start;
      width: 300px;
      row-gap: 20px; }
      .top-event ul li .event-list-date {
        line-height: 1; }
      .top-event ul li .event-list-title {
        display: flex;
        justify-content: center;
        text-align: left;
        margin: -5px 0 0 0; } }
@media screen and (max-width: 1024px) {
  .top-event {
    background-image: repeating-linear-gradient(90deg, rgba(217, 232, 189, 0.2), rgba(217, 232, 189, 0.2) 10px, transparent 10px, transparent 14px);
    padding-bottom: 50px; }
    .top-event .title {
      top: -80px;
      left: 0;
      height: 120px; }
      .top-event .title::after {
        width: 36vw;
        height: 19vw; }
      .top-event .title h2 {
        background-size: contain;
        width: 92px;
        height: 32px;
        font-size: 0;
        margin-left: calc((100% - 92px) / 2);
        margin-top: 0;
        margin-bottom: 10px; }
    .top-event ul {
      grid-template-columns: repeat(2, 1fr);
      text-align: center;
      gap: 30px;
      padding-top: 50px; }
      .top-event ul li {
        row-gap: 5px;
        grid-row: span 3; } }
/* -------------------------------------------
/* search-area
------------------------------------------- */
.search-area {
  position: relative;
  /*ラジオボタンを全て消す*/
  /*タブ切り替えの中身のスタイル*/
  /*選択されているタブのコンテンツのみを表示*/ }
  .search-area h2 strong {
    font-size: 110%;
    color: var(--orange0); }
  .search-area p.center {
    font-size: var(--fs20);
    margin-bottom: 150px; }
  .search-area .title {
    position: relative;
    width: 100%; }
    .search-area .title::before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      background: url("../images/top_img_search1.svg") 0 0 no-repeat;
      background-size: contain; }
    .search-area .title::after {
      content: "";
      display: block;
      position: absolute;
      right: 0;
      bottom: 0;
      background: url("../images/top_img_search2.svg") 0 0 no-repeat;
      background-size: contain; }
    .search-area .title h2 {
      background: url("../images/title_search.svg") center center no-repeat;
      background-size: contain;
      font-size: 0;
      position: absolute;
      top: 0;
      margin-top: 0; }
  .search-area .tabs {
    background-color: var(--bg1);
    background: url("../images/co_search_bg.png") 0 0 repeat;
    margin: 0 auto;
    position: relative; }
  .search-area .tab_index {
    display: flex;
    justify-content: center;
    align-items: center; }
    .search-area .tab_index .tab_item {
      font-size: var(--fs24);
      font-family: var(--ff-heading); }
  .search-area input[name="tab_item"] {
    display: none; }
  .search-area .tab_content {
    display: none;
    clear: both; }
    .search-area .tab_content .tab_content_description {
      display: flex;
      justify-content: center;
      align-items: stretch;
      flex-wrap: wrap; }
      .search-area .tab_content .tab_content_description a {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        background-color: var(--white);
        text-align: center;
        border-radius: 20px;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        text-decoration: none;
        font-family: var(--ff-heading);
        font-size: var(--fs22); }
        .search-area .tab_content .tab_content_description a::before {
          display: none; }
        .search-area .tab_content .tab_content_description a:hover {
          color: var(--white);
          background-color: var(--orange1); }
      .search-area .tab_content .tab_content_description .search-form input[type="text"] {
        background-color: var(--white) !important; }
      .search-area .tab_content .tab_content_description.grid {
        display: grid; }
        .search-area .tab_content .tab_content_description.grid a {
          display: grid;
          grid-template-rows: subgrid;
          grid-row-gap: 10px;
          grid-row: span 2;
          width: auto; }
          .search-area .tab_content .tab_content_description.grid a i {
            color: var(--orange1);
            font-size: 70px; }
          .search-area .tab_content .tab_content_description.grid a:hover i {
            color: var(--white); }
  .search-area .tabs:has(#field:checked) #field_content,
  .search-area .tabs:has(#generation:checked) #generation_content,
  .search-area .tabs:has(#facility:checked) #facility_content,
  .search-area .tabs:has(#freeword:checked) #freeword_content {
    display: block; }

@media screen and (min-width: 1025px), print {
  .search-area {
    margin-top: 100px;
    /*タブ切り替えの中身のスタイル*/
    /*選択されているタブのスタイルを変える*/ }
    .search-area .title {
      height: 190px; }
      .search-area .title::before {
        width: 143px;
        height: 190px; }
      .search-area .title::after {
        width: 120px;
        height: 190px; }
      .search-area .title h2 {
        width: 150px;
        height: 44px;
        top: 0;
        left: calc((100% - 150px) / 2 );
        margin-top: 0; }
      .search-area .title p {
        position: absolute;
        left: 170px;
        top: 20px; }
        .search-area .title p::before {
          content: "";
          display: block;
          height: 2px;
          width: 80px;
          background-color: var(--black);
          border-radius: 1px;
          transform: translateY(-25px) rotate(-20deg);
          position: absolute;
          left: -20px;
          top: 0; }
        .search-area .title p::after {
          content: "";
          display: block;
          height: 2px;
          width: 80px;
          background-color: var(--black);
          border-radius: 1px;
          transform: translateY(50px) rotate(20deg);
          position: absolute;
          left: -20px;
          top: 0; }
    .search-area .tabs {
      top: -2px; }
      .search-area .tabs::before {
        content: "";
        background: url("../images/co_img_flower.png") 0 0 no-repeat;
        background-size: contain;
        width: 268px;
        height: 159px;
        position: absolute;
        bottom: 0;
        left: 100px;
        z-index: 0; }
      .search-area .tabs::after {
        content: "";
        background: url("../images/co_img_flower.png") 0 0 no-repeat;
        background-size: contain;
        width: 268px;
        height: 159px;
        position: absolute;
        bottom: 0;
        right: 100px;
        transform: scale(-1, 1);
        z-index: 0; }
      .search-area .tabs .cmp-inner {
        position: relative;
        z-index: 1; }
    .search-area .tab_index {
      width: 970px;
      column-gap: 30px;
      top: -70px;
      left: calc((100% - 970px) / 2);
      position: absolute; }
      .search-area .tab_index .tab_item {
        width: 220px;
        height: 70px;
        line-height: 70px;
        transition: all 0.2s ease;
        text-align: center;
        background-color: var(--green2);
        border-top-left-radius: 10px;
        border-top-right-radius: 10px; }
    .search-area .tab_content {
      padding: 70px 0 80px 0; }
      .search-area .tab_content .tab_content_description {
        gap: 20px;
        column-gap: 10px; }
        .search-area .tab_content .tab_content_description a {
          width: calc((100% - 50px) / 6);
          padding: 30px 5px; }
        .search-area .tab_content .tab_content_description.grid {
          grid-template-columns: repeat(6, 1fr);
          margin-bottom: 20px; }
    .search-area .tabs input:checked + .tab_item {
      background-color: var(--bg1);
      background: url("../images/co_search_bg.png") 0 0 repeat;
      background-image: url("../images/co_search_bg.png");
      background-position: var(--bgposi) 0;
      /*mod(var(--bgposi) / 15px)*/
      background-repeat: repeat;
      color: var(--orange0); } }
@media screen and (max-width: 1024px) {
  .search-area {
    margin-top: 20px;
    /*タブ切り替えの中身のスタイル*/
    /*選択されているタブのスタイルを変える*/ }
    .search-area .title {
      width: calc(100vw - 30px);
      margin-left: -15px;
      height: 70px; }
      .search-area .title::before {
        width: 53px;
        height: 70px; }
      .search-area .title::after {
        width: 53px;
        height: 70px;
        background-position: top right; }
      .search-area .title h2 {
        width: 25vw;
        height: 5vw;
        top: inherit;
        bottom: 0;
        left: calc((100% - 25vw) / 2 );
        margin-top: 0; }
      .search-area .title p {
        text-align: center; }
    .search-area .tabs {
      top: -2px; }
    .search-area .tab_index {
      padding-top: 30px;
      width: 100%;
      column-gap: 10px; }
      .search-area .tab_index .tab_item {
        line-height: 2em;
        padding: 0 .5em; }
    .search-area .tab_content {
      margin-top: 0;
      padding: 10px 0 50px 0; }
      .search-area .tab_content .tab_content_description {
        gap: 10px;
        column-gap: 10px; }
        .search-area .tab_content .tab_content_description a {
          width: calc((100% - 10px) / 2);
          padding: 20px 10px; }
        .search-area .tab_content .tab_content_description.grid {
          grid-template-columns: repeat(2, 1fr);
          margin-bottom: 10px; }
          .search-area .tab_content .tab_content_description.grid a {
            padding: 10px 10px 15px; }
            .search-area .tab_content .tab_content_description.grid a i {
              font-size: 50px; }
    .search-area .tabs input:checked + .tab_item {
      color: var(--orange0);
      border-bottom: 3px solid var(--orange0); }
    .search-area .search-form input[type="text"] {
      width: 18em !important; } }
/* -------------------------------------------
/* search-result
------------------------------------------- */
.search-result h2 {
  color: var(--orange0); }
.search-result .cmp-inner > div > div .search-result-image figure {
  overflow: hidden;
  position: relative;
  width: 100%; }
  .search-result .cmp-inner > div > div .search-result-image figure img {
    aspect-ratio: 1;
    object-fit: cover; }
.search-result .cmp-inner > div > div .search-result-image a::before {
  display: none; }
.search-result .cmp-inner > div > div .label {
  background-color: var(--green2);
  border-radius: 2px;
  padding: .3em 1em;
  font-size: var(--fs16);
  display: inline-block; }
  .search-result .cmp-inner > div > div .label + p {
    margin-top: .3em; }
.search-result .cmp-inner > div > div .search-result-title {
  font-size: var(--fs20); }
.search-result .cmp-inner > div > div .search-result-tag {
  background-color: var(--green2);
  line-height: 1;
  font-size: var(--fs14);
  padding: .5em 1em;
  display: inline-block; }
  .search-result .cmp-inner > div > div .search-result-tag + .search-result-title {
    margin-top: 5px; }
.search-result .cmp-inner > div > div .tag-list-small {
  justify-content: flex-start;
  margin-top: 20px; }

@media screen and (min-width: 1025px), print {
  .search-result .cmp-inner > div {
    margin-top: 100px;
    gap: 50px; }
    .search-result .cmp-inner > div > div {
      width: calc((100% - 50px) / 2);
      gap: 30px;
      padding-bottom: 30px;
      border-bottom: 1px solid var(--line3); }
      .search-result .cmp-inner > div > div .search-result-image {
        width: 150px; }
        .search-result .cmp-inner > div > div .search-result-image figure {
          border-radius: 50%;
          aspect-ratio: 1; }
          .search-result .cmp-inner > div > div .search-result-image figure img {
            /*height: 100%;
            width: auto;*/
            aspect-ratio: 1;
            object-fit: cover; }
      .search-result .cmp-inner > div > div .search-result-text {
        width: calc(100% - 180px); } }
@media screen and (max-width: 1024px) {
  .search-result .cmp-inner > div {
    gap: 20px;
    flex-direction: column; }
    .search-result .cmp-inner > div > div {
      width: 100%;
      gap: 10px;
      padding-bottom: 20px;
      border-bottom: 1px solid var(--line3); }
      .search-result .cmp-inner > div > div .search-result-image {
        width: 100px; }
        .search-result .cmp-inner > div > div .search-result-image figure {
          border-radius: 50%;
          aspect-ratio: 1; }
          .search-result .cmp-inner > div > div .search-result-image figure img {
            /*height: 100%;
            width: auto;*/
            aspect-ratio: 1;
            object-fit: cover; }
      .search-result .cmp-inner > div > div .search-result-text {
        width: calc(100% - 110px); } }
/* -------------------------------------------
/* pagenation
------------------------------------------- */
.pagenation a, .pagenation span {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--orange0);
  color: var(--orange0);
  width: 3em;
  height: 3em;
  line-height: 1;
  border-radius: 1.5em;
  text-decoration: none; }
.pagenation span {
  color: var(--black);
  border-color: var(--black);
  opacity: .3; }
.pagenation a::before {
  display: none !important; }
.pagenation div {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 10px; }
  .pagenation div ul {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    margin-left: 0;
    column-gap: 10px;
    margin: 0 20px; }
    .pagenation div ul + * {
      margin-top: 0; }
    .pagenation div ul span {
      opacity: 1;
      background-color: var(--orange1);
      border-color: var(--orange1);
      color: var(--white); }
.pagenation .pagination__btn--first i,
.pagenation .pagination__btn--prev i,
.pagenation .pagination__btn--next i,
.pagenation .pagination__btn--last i {
  font-size: 150%; }
.pagenation .pagination__btn--first i,
.pagenation .pagination__btn--prev i {
  transform: rotateY(180deg); }

@media screen and (max-width: 768px) {
  .pagenation {
    font-size: var(--fs16); }
    .pagenation a, .pagenation span {
      width: 2.5em;
      height: 2.5em; }
    .pagenation div {
      column-gap: 3px; }
      .pagenation div ul {
        column-gap: 3px;
        margin: 0 8px; } }
/* -------------------------------------------
/* news-list
------------------------------------------- */
.news-list ul {
  border-top: 1px solid var(--line3);
  list-style: none;
  margin-left: 0; }
  .news-list ul li {
    border-bottom: 1px solid var(--line3);
    padding: 1em;
    display: flex;
    justify-content: flex-start;
    column-gap: 2em;
    background-color: var(--white); }
    .news-list ul li .news-list-date {
      min-width: 8em; }
    .news-list ul li a[target="_self"] {
      padding-left: 0; }
    .news-list ul li a[target="_self"]::after {
      display: none; }
    .news-list ul li a::before {
      display: none !important; }
  .news-list ul li:nth-child(odd) {
    background-color: var(--green4); }

@media screen and (max-width: 1024px) {
  .news-list ul li {
    flex-direction: column; } }
/* -------------------------------------------
/* event-list
------------------------------------------- */
.event-list ul {
  list-style: none; }
  .event-list ul li * + * {
    margin-top: inherit; }
  .event-list ul li figure {
    overflow: hidden;
    border-radius: 50%;
    position: relative;
    width: 100%;
    aspect-ratio: 1; }
    .event-list ul li figure img {
      aspect-ratio: 1;
      object-fit: cover; }
  .event-list ul li .event-list-date {
    color: var(--orange0);
    line-height: 1; }
  .event-list ul li .event-list-title {
    font-size: var(--fs20); }
  .event-list ul li .label {
    background-color: var(--green2);
    border-radius: 2px;
    padding: .3em 1em;
    font-size: var(--fs16);
    display: inline-block; }
    .event-list ul li .label + p {
      margin-top: .3em; }
  .event-list ul a::before {
    display: none !important; }

@media screen and (min-width: 1025px), print {
  .event-list ul {
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    gap: 80px 33.3px; }
    .event-list ul li {
      align-content: flex-start;
      width: 300px;
      row-gap: 20px; }
      .event-list ul li .event-list-title {
        display: flex;
        justify-content: center;
        text-align: left;
        margin: -5px 0 0 0; }
      .event-list ul li .tag-list-small {
        margin-bottom: 100px; }
        .event-list ul li .tag-list-small li {
          width: auto; }
  .event-list.hospital ul li .event-list-title {
    text-align: center; } }
@media screen and (max-width: 1024px) {
  .event-list div > ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    margin-left: 0; }
    .event-list div > ul > li {
      gap: 0 10px;
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: 1.5em 1fr;
      padding-bottom: 20px;
      border-bottom: 1px solid var(--line3);
      align-items: start; }
      .event-list div > ul > li .event-list-image {
        grid-area: 1 / 1 / 4 / 2; }
      .event-list div > ul > li .event-list-date {
        grid-area: 1 / 2 / 2 / 5; }
      .event-list div > ul > li .event-list-title {
        grid-area: 2 / 2 / 3 / 5; }
      .event-list div > ul > li .tag-list-small {
        justify-content: flex-start;
        grid-area: 3 / 2 / 4 / 5; } }
/* -------------------------------------------
/* sitemap-list
------------------------------------------- */
.sitemap-list a {
  padding-left: 1.2em; }
  .sitemap-list a::before {
    position: absolute;
    top: -.1em;
    left: 0;
    display: inline-block;
    font-family: 'icomoon';
    content: "\e915";
    color: var(--orange0);
    font-size: var(--fs22);
    text-decoration: none; }
.sitemap-list ul {
  margin-left: 0; }
  .sitemap-list ul li {
    list-style: none; }
  .sitemap-list ul.cmp-flex {
    column-gap: 25px;
    row-gap: 30px; }
    .sitemap-list ul.cmp-flex li {
      width: calc((100% - 50px) / 3);
      font-weight: 700; }
      .sitemap-list ul.cmp-flex li ul {
        margin-left: 1.5em; }
        .sitemap-list ul.cmp-flex li ul li {
          font-weight: 500;
          width: 100%; }

@media screen and (max-width: 1024px) {
  .sitemap-list ul.cmp-flex li {
    width: 100%; } }
/* -------------------------------------------
/* about-site
------------------------------------------- */
.about-feature h4 {
  background: none;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  grid-column-gap: .7em; }
  .about-feature h4::after {
    display: none; }
  .about-feature h4 + p {
    margin-top: -15px; }
.about-feature .circle-a {
  background-color: var(--orange0);
  color: var(--white);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  font-size: 90%;
  height: 3.5em;
  width: 3.5em;
  line-height: 1; }
  .about-feature .circle-a .num {
    font-size: 150%;
    font-weight: 700; }
.about-feature .circle-b {
  background-color: #00afec;
  color: var(--white);
  border-radius: 50%;
  display: inline-block;
  height: 1.5em;
  width: 1.5em;
  margin-right: .3em;
  text-align: center;
  line-height: 1.5em; }
.about-feature ul {
  list-style: none;
  margin: 0 0 1em 0; }
  .about-feature ul li {
    position: relative;
    padding-left: 1.2em;
    display: inline-block;
    margin-right: 1em; }
    .about-feature ul li::before {
      content: "◎";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      color: var(--orange0); }

/* -------------------------------------------
/* WordPress　reset
------------------------------------------- */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
  display: none; }

.wp-block-flexible-table-block-table {
  border: 30px solid #fff !important;
  border-radius: 20px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16); }
  .wp-block-flexible-table-block-table > table {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    position: relative; }
    .wp-block-flexible-table-block-table > table tr th, .wp-block-flexible-table-block-table > table tr td {
      border-left: none !important;
      border-color: var(--line3) !important;
      padding: 1em !important;
      font-weight: 500 !important;
      line-height: 1.8 !important;
      border-top: 1px solid var(--line3) !important;
      border-bottom: none !important; }
    .wp-block-flexible-table-block-table > table thead tr th {
      background-color: var(--thead1) !important;
      border-bottom: 1px solid var(--line3) !important; }
      .wp-block-flexible-table-block-table > table thead tr th:last-child {
        border-right: none !important; }
    .wp-block-flexible-table-block-table > table tbody {
      position: relative; }
      .wp-block-flexible-table-block-table > table tbody::after {
        position: absolute;
        content: "";
        display: block;
        top: 0;
        right: 0;
        height: 100%;
        width: 1px;
        background-color: white; }
      .wp-block-flexible-table-block-table > table tbody tr:first-child td, .wp-block-flexible-table-block-table > table tbody tr:first-child th {
        border-top: none !important; }
      .wp-block-flexible-table-block-table > table tbody tr th {
        min-width: 210px !important;
        background-color: var(--thead2) !important;
        text-align: left; }
        .wp-block-flexible-table-block-table > table tbody tr th:last-child {
          border-right-color: transparent !important; }
      .wp-block-flexible-table-block-table > table tbody tr td:last-child {
        border-right-color: transparent !important; }
  .wp-block-flexible-table-block-table > table:has([rowspan]) tbody tr th:not([rowspan]):last-child {
    border-right-color: var(--line3) !important; }
  .wp-block-flexible-table-block-table > table:has([rowspan]) tbody tr td:not([rowspan]):last-child {
    border-right-color: var(--line3) !important; }
  .wp-block-flexible-table-block-table > table:has([colspan]) tbody tr th:not([colspan]):last-child {
    border-right-color: var(--line3) !important; }
  .wp-block-flexible-table-block-table > table:has([colspan]) tbody tr td:not([colspan]):last-child {
    border-right-color: var(--line3) !important; }

/*
.wp-block-flexible-table-block-table{
  table{
    th,td{
      border-right: 1px solid var(--line3);
    }
    tr td:last-child,tr th:last-child{
      border-right: none;
    }
    tr td:not(:has([rowspan])):last-child{
      border-right: 1px solid var(--line3);
    }
    tr td:has([rowspan]):last-child{
      border-right: none;
      background-color: #ccc;
    }
    tbody th{
      min-width: 210px !important;
      background-color: var(--thead2) !important;
      text-align: left;
    }
    thead{
      th{
        background-color: var(--thead1) !important;
        border-bottom: 1px solid var(--line3) !important;
      }
    }
    
  }
  
  table:has([rowspan]){
  }
}
*/
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(odd) td {
  background-color: var(--white) !important; }

.is-layout-flex {
  display: flex;
  column-gap: 50px; }

.wp-block-columns + .wp-block-columns {
  margin-top: 30px; }

[class^="wp-block-"] + [class^="wp-block-"] {
  margin-top: 30px; }

[class^="wp-block-"] + h3[class^="wp-block-"] {
  margin-top: 50px; }

[class^="wp-block-"] + h4[class^="wp-block-"] {
  margin-top: 30px; }

[class^="wp-block-"] + p {
  margin-top: 30px; }

[class^="wp-block-"] + h2 {
  margin-top: 80px !important; }

.is-layout-flex [class^="wp-block-"] + [class^="wp-block-"] {
  margin-top: 0; }
.is-layout-flex [class^="wp-block-"] + h3[class^="wp-block-"] {
  margin-top: 50px; }

figure.wp-block-image.aligncenter {
  width: 100%; }

.aligncenter {
  text-align: center; }

.wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
  flex-basis: 0;
  flex-grow: 1; }

:root :where(.wp-block-image figcaption) {
  font-size: var(--fs16) !important;
  color: var(--black) !important;
  margin-top: .5em !important; }

.wp-block-aioseo-table-of-contents {
  background-color: var(--bg1);
  padding: 1.5em;
  border-radius: 20px;
  /*box-shadow: 0 1px 6px rgba(0,0,0,.16);
  display: inline-block;*/
  min-width: 320px;
  position: relative; }
  .wp-block-aioseo-table-of-contents::before {
    content: 'Index';
    display: block;
    font-weight: 700;
    font-size: var(--fs16);
    border-bottom: 1px solid var(--green1);
    padding-bottom: .3em;
    margin-bottom: .5em; }
  .wp-block-aioseo-table-of-contents ul {
    list-style-type: decimal; }
    .wp-block-aioseo-table-of-contents ul a::before {
      display: none; }

@media screen and (max-width: 1024px) {
  .is-layout-flex {
    flex-direction: column; }

  .wp-block-columns:has(.wp-block-column .wp-block-flexible-table-block-table.is-scroll-on-mobile) {
    flex-wrap: nowrap !important; }

  .wp-block-flexible-table-block-table > table.has-fixed-layout tbody tr th {
    min-width: inherit !important; }

  .wp-block-flexible-table-block-table {
    border: 15px solid #fff !important; }
    .wp-block-flexible-table-block-table > table tbody tr:first-child td, .wp-block-flexible-table-block-table > table tbody tr:first-child th {
      border-top: 1px solid var(--line3) !important; }
      .wp-block-flexible-table-block-table > table tbody tr:first-child td:first-child, .wp-block-flexible-table-block-table > table tbody tr:first-child th:first-child {
        border-top: none !important; }
    .wp-block-flexible-table-block-table > table:has(thead) tbody th {
      min-width: inherit !important; }
    .wp-block-flexible-table-block-table > table:has(thead) tbody tr:first-child td, .wp-block-flexible-table-block-table > table:has(thead) tbody tr:first-child th {
      border-top: none !important; }

  .wp-block-flexible-table-block-table.is-scroll-on-mobile.scroll-cancel {
    overflow-x: hidden; }
    .wp-block-flexible-table-block-table.is-scroll-on-mobile.scroll-cancel table {
      width: auto !important; }

  .no-scroll table {
    min-width: 100%; }
    .no-scroll table td, .no-scroll table th {
      width: 100% !important;
      display: block !important;
      border: none !important;
      border-left: none !important; }
    .no-scroll table th + td, .no-scroll table th + th, .no-scroll table td + td {
      border-left: none !important; }

  [class^="wp-block-"] + [class^="wp-block-"] {
    margin-top: 20px; }

  [class^="wp-block-"] + h2 {
    margin-top: 30px; }

  .is-layout-flex [class^="wp-block-"] + [class^="wp-block-"] {
    margin-top: 20px; }

  .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
    flex-basis: auto !important; }

  :root :where(.wp-block-image figcaption) {
    text-align: left !important; } }
/* -------------------------------------------
/* bgblack
------------------------------------------- */
body.bgblack {
  color: var(--white);
  background-color: var(--black); }
  body.bgblack a,
  body.bgblack header .pc-ctrl .color-change p,
  body.bgblack header .pc-ctrl .google-search p,
  body.bgblack mark {
    color: var(--white); }
  body.bgblack main a[href$='.pdf']::before {
    color: var(--white) !important; }
  body.bgblack .top-mainimg::before, body.bgblack .page-header::before {
    background: url("../images/co_cover_bottom_black.svg") left bottom repeat-x;
    background-size: cover; }
  body.bgblack .top-mainimg::after, body.bgblack .page-header::after {
    background: url("../images/co_cover_top_black.svg") left top repeat-x;
    background-size: cover; }
  body.bgblack main .page-header,
  body.bgblack main table,
  body.bgblack .related-links dl,
  body.bgblack .service-index .service-index-list,
  body.bgblack .wp-block-aioseo-table-of-contents,
  body.bgblack .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td,
  body.bgblack .remarks {
    background-color: var(--gray0); }
  body.bgblack main table,
  body.bgblack .service-index .service-index-list {
    border-color: var(--gray0); }
  body.bgblack .wp-block-flexible-table-block-table {
    background-color: var(--gray0) !important;
    border-color: var(--gray0) !important; }
  body.bgblack .wp-block-flexible-table-block-table table tbody th {
    background-color: var(--gray0) !important; }
  body.bgblack main table tbody th,
  body.bgblack .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th {
    background-color: rgba(255, 255, 255, 0.05) !important; }
  body.bgblack .wp-block-flexible-table-block-table > table thead th,
  body.bgblack .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead th {
    background-color: rgba(255, 255, 255, 0.1) !important; }
  body.bgblack .tag-list ul a,
  body.bgblack .tag-list-small a {
    background-color: transparent; }
  body.bgblack .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(odd) td,
  body.bgblack .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(even) td {
    background-color: transparent !important; }
  body.bgblack .tag-list ul a,
  body.bgblack .pagenation a {
    border-color: var(--orange1); }
  body.bgblack .pagenation span {
    border-color: var(--white);
    color: var(--white);
    opacity: .5; }
  body.bgblack .pagenation a {
    color: var(--orange1);
    opacity: 1; }
  body.bgblack .pagination__item--current span {
    color: var(--black);
    border-color: var(--orange1);
    opacity: 1; }
  body.bgblack .tag-list ul a,
  body.bgblack main a:not([href^="mailto:"])::before,
  body.bgblack main a:not([href^="mailto:"])::after,
  body.bgblack mark.has-inline-color.has-orange-color,
  body.bgblack .search-result h2 {
    color: var(--orange1); }
  body.bgblack:not(.is-scrollEnd)::before, body.bgblack:not(.is-scrollEnd)::after {
    opacity: .2; }
  body.bgblack header .pc-ctrl .jump a,
  body.bgblack .side-nav ul li a,
  body.bgblack footer .cmp-inner p,
  body.bgblack footer .cmp-inner a,
  body.bgblack header .pc-ctrl .color-change ul li a.bg-set-white,
  body.bgblack .search-area .tab_content .tab_content_description .search-form input[type="text"],
  body.bgblack .search-form input[type="text"] {
    color: var(--black); }
  body.bgblack .search-area .tab_index .tab_item {
    background-color: rgba(255, 255, 255, 0.2); }
  body.bgblack .search-area .tabs,
  body.bgblack .search-area .tabs input:checked + .tab_item {
    background-image: url("../images/co_search_bg.png");
    background-color: rgba(0, 0, 0, 0.6);
    background-blend-mode: darken; }
  body.bgblack .search-area .tab_content .tab_content_description a {
    background-color: var(--black); }
  body.bgblack .search-area .tabs input:checked + .tab_item {
    color: var(--white); }
  body.bgblack .search-area .tab_content .tab_content_description.grid a:hover,
  body.bgblack .search-area .tab_content .tab_content_description a:hover {
    color: var(--orange1); }
  body.bgblack .search-area .title p::before,
  body.bgblack .search-area .title p::after {
    background-color: var(--white); }
  body.bgblack .top-news .cmp-flex .banner,
  body.bgblack .top-news .cmp-flex .news-block .news-block-list {
    background-color: var(--gray0); }
  body.bgblack .top-news .cmp-flex .news-block .news-block-list ul li {
    border-bottom-color: rgba(255, 255, 255, 0.1); }
  body.bgblack .search-area .tabs::before, body.bgblack .search-area .tabs::after,
  body.bgblack .top-news::before, body.bgblack .top-news::after {
    opacity: .2; }
  body.bgblack .news-list ul {
    border-top-color: rgba(255, 255, 255, 0.2); }
  body.bgblack .news-list ul li {
    background-color: var(--black);
    border-bottom-color: rgba(255, 255, 255, 0.2); }
  body.bgblack .news-list ul li:nth-child(odd) {
    background-color: rgba(255, 255, 255, 0.1); }
  body.bgblack .wp-block-flexible-table-block-table > table tbody::after {
    background-color: var(--gray0); }

.gssb_c,
.gssb_c th,
.gssb_c td {
  color: var(--black) !important; }

@media screen and (max-width: 1024px) {
  [class^="wp-block-"] + h2 {
    margin-top: 30px !important; }

  [class^="wp-block-"] + p {
    margin-top: 20px; }

  .n2-ss-slider .ontext {
    width: 50% !important; }

  .n2-ss-slider .ontext-left {
    width: 50% !important;
    left: -20px !important;
    top: 20px !important; } }
/* -------------------------------------------
/* js-scrollable
------------------------------------------- */
.js-scrollable {
  white-space: nowrap; }

/* -------------------------------------------
/* print
------------------------------------------- */
@page {
  margin: 5mm 8mm;
  size: A4 portrait; }
@media print {
  body {
    width: 100%;
    min-width: inherit; }

  header .pc-ctrl, #sp-nav, .toggle_btn, .side-nav, body:not(.is-scrollEnd)::before, body:not(.is-scrollEnd)::after, .page-header .page-header_inner .breadCrumb, .pagetop-button, footer .cmp-inner ul, .sns-links, .tag-list, .search-area .title::before, .search-area .title::after, .search-area .title p, .top-news::before, .top-news::after {
    display: none; }

  header .logo {
    width: 30mm;
    height: 25mm; }

  .page-header {
    padding: 0 5mm;
    margin-bottom: 5mm; }

  .page-header .page-header_inner {
    max-width: 100%;
    width: 100%; }

  .page-header .page-header_inner .breadCrumb + h1 {
    margin: 0;
    padding: 5mm 0; }

  .page-title h1 {
    margin-left: 20mm;
    margin-right: 20mm; }

  .cmp-inner {
    max-width: 100%;
    width: calc(100% - 10mm); }

  .search-result .cmp-inner > div {
    margin-top: 5mm;
    flex-direction: column;
    gap: 5mm; }

  .search-result .cmp-inner > div > div {
    width: 100%;
    gap: 5mm;
    padding-bottom: 5mm; }

  main section {
    padding-bottom: 10mm; }

  .search-result .cmp-inner > div > div .search-result-image {
    width: 25mm; }

  .search-result .cmp-inner > div > div .search-result-text {
    width: calc(100% - 30mm); }

  h2, h3, h4, h5, h6 {
    margin-bottom: 5mm; }

  .contact h3 {
    margin-bottom: 2mm; }

  [class^="wp-block-"] + h3[class^="wp-block-"], [class^="wp-block-"] + p, main p + *, main table + *, main dl + *, main ul + *, main ol + *, main blockquote + *, main figure + *, main div + table {
    margin-top: 5mm; }

  .wp-block-flexible-table-block-table {
    border-width: 3mm !important;
    border-radius: 3mm !important; }

  .wp-block-flexible-table-block-table > table tr th, .wp-block-flexible-table-block-table > table tr td {
    padding: 3mm !important; }

  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th, .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
    width: auto !important; }

  body .is-layout-flex {
    flex-wrap: nowrap !important; }

  ss3-force-full-width {
    width: 100% !important; }

  .search-area {
    margin-top: 10mm; }

  .top-event ul {
    grid-template-columns: repeat(auto-fit, 22%);
    gap: 3%; }

  .event-list ul li {
    width: 50mm; }

  .event-list ul li .tag-list-small {
    margin-bottom: 10mm; }

  .related-links dl dt {
    width: 8em; }

  .related-links + .related-links {
    margin-top: -5mm; }

  .service-index .service-index-list .service-index-image {
    width: 40mm; }

  .service-index .service-index-list .service-index-text {
    width: calc(100% - 45mm); }

  .service-index .service-index-list + .service-index-list {
    margin-top: 10mm; }

  .service-index .service-index-list {
    border: 5mm solid Var(--white);
    border-radius: 5mm; }

  .gmap iframe {
    width: 184mm !important;
    margin: 0 auto; }

  .search-area .title {
    height: 30mm; }

  .search-area .tab_index {
    width: 180mm;
    left: calc((100% - 180mm) / 2);
    column-gap: 5mm;
    top: -15mm; }

  .search-area .tab_index .tab_item {
    width: 40mm;
    height: 15mm;
    line-height: 15mm; } }
