@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;900&display=swap" rel="stylesheet');
html {
  font-size: 62.5%;
}

body {
  color: #252525;
  font-family: Meiryo, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  margin: 0;
  position: relative;
}

h1, h2 {
  margin: 0;
}

ul {
  margin: 0;
  padding: 0;
}

button, input {
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: inherit;
  font: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  text-align: left;
  vertical-align: middle;
  -webkit-appearance: none;
}

[type=radio] {
  -webkit-appearance: radio;
     -moz-appearance: radio;
          appearance: radio;
}

a {
  color: #426ccc;
  text-decoration: underline;
}
a:visited {
  color: #7b44a8;
}

p {
  margin: 0;
}

a[href*="tel:"] {
  color: var(--fontcolor4);
  text-decoration: underline;
}
@media screen and (min-width: 1024px) {
  a[href*="tel:"] {
    color: #252d27;
    cursor: default;
    pointer-events: none;
    text-decoration: none;
  }
  a[href*="tel:"]:focus-visible {
    outline: none;
  }
}

.u_visuallyHidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

*:focus-visible {
  outline: 3px solid #DD782C;
  outline-offset: -3px;
  z-index: 99;
}

:-moz-focusring {
  outline: 3px solid #DD782C;
}

input::-webkit-input-placeholder {
  color: #aaa;
  font-weight: 500;
  font-size: 1.2rem;
}

input:-moz-placeholder {
  color: #aaa;
  font-weight: 500;
}

input::-moz-placeholder {
  color: #aaa;
  font-weight: 500;
}

input:-ms-input-placeholder {
  color: #aaa;
  font-weight: 500;
}

@media print {
  .no-print {
    display: none;
  }
}
.line_wrap {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line_wrap br {
  display: none;
}

.line_wrap03 {
  display: -webkit-box;
  line-height: 1.6;
  max-height: 72px;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.line {
  display: inline-block;
}

.mbl_appear {
  display: block;
}
@media screen and (min-width: 1024px) {
  .mbl_appear {
    display: none;
  }
}

.mbl-disappear {
  display: none;
}
@media screen and (min-width: 1024px) {
  .mbl-disappear {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
}

body {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: -0.03rem;
  margin: 0 auto;
  min-height: 100vh;
  width: 100vw !important;
}
@media screen and (min-width: 1024px) {
  body {
    width: 100% !important;
  }
}
body.bg_black {
  background: var(--bgcolor2);
}
body.bg_blue {
  background: var(--bgcolor2);
}
body#onlord {
  visibility: hidden;
}

#wrapper {
  height: 100%;
  min-height: 100vh;
  overflow-x: hidden;
  position: relative;
  width: 100vw;
}
@media screen and (min-width: 1024px) {
  #wrapper {
    width: 100%;
  }
}

.common_title {
  font-size: clamp(1.8rem, 5.3vw, 2.3rem);
  font-weight: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .common_title {
    font-size: 1.9rem;
  }
}

.common_title::before, .common_title::after {
  content: "";
  background: url(../img/common/title_line.png) no-repeat center/contain;
  display: block;
  height: auto;
  max-width: 80px;
  width: 16vw;
}
@media screen and (min-width: 1024px) {
  .common_title::before, .common_title::after {
    width: 62px;
  }
}

.common_title::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.pagetop_btn {
  background: url(../img/common/pagetop.png) no-repeat center/72px 72px;
  display: block;
  height: 74px;
  position: fixed;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  right: 16px;
  width: 74px;
  z-index: 98;
}
@media screen and (min-width: 768px) {
  .pagetop_btn {
    right: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .pagetop_btn {
    right: 50px;
    height: 79px;
    width: 79px;
  }
}
.pagetop_btn .pagetop {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #252525;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 1rem;
  font-weight: bold;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
}

.skiplink {
  height: 1px;
  left: 0;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 1px;
}
@media screen and (min-width: 1024px) {
  .skiplink {
    height: auto;
    left: -9999px;
    top: 10px;
    visibility: visible;
    width: auto;
    z-index: 100;
  }
}
.skiplink a {
  color: var(--fontcolor1);
  padding-left: 34px;
  text-decoration: underline;
  vertical-align: middle;
}
.skiplink a .skiplink_text {
  vertical-align: top;
}

.accessibility {
  margin: 0 auto;
  max-width: 600px;
}
@media screen and (min-width: 1024px) {
  .accessibility {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    max-width: 960px;
    white-space: nowrap;
  }
}

.language_ctr, .fontsize_ctr, .bgcolor_ctr {
  background-color: var(--bgcolor2);
  margin: 0 auto;
  width: 64%;
}
@media screen and (min-width: 1024px) {
  .language_ctr, .fontsize_ctr, .bgcolor_ctr {
    background-color: transparent;
    display: block;
    -ms-flex-preferred-size: fit-content;
        flex-basis: fit-content;
    margin: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.language_ctr, .fontsize_ctr {
  margin-bottom: 10px;
}
@media screen and (min-width: 1024px) {
  .language_ctr, .fontsize_ctr {
    margin-bottom: 0;
  }
}

.language_ctr {
  padding: 4px 3px 3px;
}
@media screen and (min-width: 1024px) {
  .language_ctr {
    padding: 0;
  }
}
.language_ctr a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--fontcolor1) !important;
  -webkit-column-gap: 3px;
     -moz-column-gap: 3px;
          column-gap: 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: clamp(1.4rem, 5vw, 1.8rem);
  font-weight: bold;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
}
@media screen and (min-width: 1024px) {
  .language_ctr a {
    font-size: 1.3rem;
  }
}
.language_ctr a svg {
  fill: var(--fontcolor1);
  margin-bottom: 1px;
}
@media screen and (min-width: 1024px) {
  .language_ctr a svg {
    height: 19px;
    margin-bottom: 2px;
    width: 19px;
  }
}
.language_ctr a span {
  display: block;
  padding-top: 1px;
}
@media screen and (min-width: 1024px) {
  .language_ctr a span {
    padding-top: 0;
  }
}

.fontsize_ctr {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: clamp(1.3rem, 5vw, 1.5rem);
  font-weight: bold;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 3px 5px 0;
}
@media screen and (min-width: 1024px) {
  .fontsize_ctr {
    -webkit-column-gap: 6px;
       -moz-column-gap: 6px;
            column-gap: 6px;
    font-size: 1rem;
    padding-top: 0;
  }
}
.fontsize_ctr h3 {
  padding-top: 1px;
}
@media screen and (min-width: 1024px) {
  .fontsize_ctr h3 {
    padding-top: 2px;
  }
}
.fontsize_ctr .fontsize {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.fontsize_ctr .fontsize button {
  background-color: #fff;
  border: 1px solid #DAD9D9;
  border-radius: 4px;
  color: #252525;
  font-size: 1.8rem;
  margin: 0 0 3px -1px;
  padding: 5px 4px 1px;
}
@media screen and (min-width: 1024px) {
  .fontsize_ctr .fontsize button {
    border-radius: 3px;
    border: 1px solid #b3b3b3;
    font-size: 1.2rem;
    margin: 0 0 0 -1px;
    padding: 4px 2px 2px;
  }
}
.fontsize_ctr .fontsize button.active {
  background-color: #DAD9D9;
}

.bgcolor_ctr {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.5rem;
  font-weight: bold;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 3px 5px 0;
}
@media screen and (min-width: 1024px) {
  .bgcolor_ctr {
    -webkit-column-gap: 6px;
       -moz-column-gap: 6px;
            column-gap: 6px;
    font-size: 1rem;
    padding-top: 0;
  }
}
.bgcolor_ctr h3 {
  padding-top: 1px;
}
@media screen and (min-width: 1024px) {
  .bgcolor_ctr h3 {
    padding-top: 2px;
  }
}
.bgcolor_ctr .bgcolor {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.bgcolor_ctr .bgcolor button {
  border: 1px solid #DAD9D9;
  border-radius: 4px;
  font-size: 1.8rem;
  margin: 0 0 3px -1px;
  padding: 5px 5px 1px;
}
@media screen and (min-width: 1024px) {
  .bgcolor_ctr .bgcolor button {
    border: 1px solid #8A8A8A;
    border-radius: 3px;
    font-size: 1.2rem;
    margin: 0 0 0 -1px;
    padding: 4px 3px 2px;
  }
}
.bgcolor_ctr .white button {
  background-color: #fff;
  color: #252525;
}
.bgcolor_ctr .black button {
  background-color: #252525;
  color: #fff;
}
.bgcolor_ctr .blue button {
  background-color: #1200C1;
  color: #fff;
}

.language .Langpage_ctr {
  padding: 5px 10px;
}
@media screen and (min-width: 1024px) {
  .language .Langpage_ctr {
    font-size: 1.5rem;
    padding: 34px 0 44px;
  }
}
.language .Langpage_ctr .Langpage_area {
  background-color: var(--bgcolor2);
  border-radius: 10px;
  margin: 0 auto;
  max-width: 700px;
  padding: 8px 10px 20px;
}
@media screen and (min-width: 1024px) {
  .language .Langpage_ctr .Langpage_area {
    border-radius: 0;
    max-width: 960px;
    padding: 20px 18px 32px;
  }
}

/*==================================================================================================================================================
@group 翻訳
==================================================================================================================================================*/
.gtranslate_wrapper {
  margin: 5px 5px 0 1.2em;
}
.gtranslate_wrapper a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.gtranslate_wrapper a.glink {
  display: block;
  margin-bottom: 5px;
  text-decoration: underline;
}
.gtranslate_wrapper a.glink::before {
  background-color: var(--fontcolor1);
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 5px;
  margin-right: 0.5em;
  vertical-align: middle;
  width: 5px;
}

.top .header_ctr, .sub .header_ctr {
  position: relative;
}
.top .header_ctr .header_area, .sub .header_ctr .header_area {
  background-color: var(--bgcolor2);
  border-bottom: 3px solid #c7e0fb;
  height: 13vw;
  min-height: 50px;
  max-height: 62px;
}
@media screen and (min-width: 1024px) {
  .top .header_ctr .header_area, .sub .header_ctr .header_area {
    height: 113px;
    max-height: none;
  }
}
.top .header_ctr .sitelogo, .sub .header_ctr .sitelogo {
  height: 100%;
}
@media screen and (min-width: 1024px) {
  .top .header_ctr .sitelogo, .sub .header_ctr .sitelogo {
    height: auto;
    left: calc((100% - 960px) / 2);
    position: absolute;
    top: 52px;
  }
}
.top .header_ctr .sitelogo a, .sub .header_ctr .sitelogo a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.top .header_ctr .sitelogo a .kosa_logo, .sub .header_ctr .sitelogo a .kosa_logo {
  height: 10vw;
  min-height: 41px;
  margin-left: 7px;
  max-height: 49px;
}
@media screen and (min-width: 1024px) {
  .top .header_ctr .sitelogo a .kosa_logo, .sub .header_ctr .sitelogo a .kosa_logo {
    height: 49px;
    margin-left: 0;
    max-height: none;
  }
}
.top .header_ctr .sitelogo a .kosa_text, .sub .header_ctr .sitelogo a .kosa_text {
  height: 9vw;
  min-height: 36px;
  margin-left: 5px;
  max-height: 47px;
}
@media screen and (min-width: 1024px) {
  .top .header_ctr .sitelogo a .kosa_text, .sub .header_ctr .sitelogo a .kosa_text {
    height: 47px;
    margin-left: 0;
    max-height: none;
  }
}
.top .bmenu_list, .sub .bmenu_list {
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 75px;
  position: fixed;
  width: 100%;
  z-index: 99;
}
@media screen and (min-width: 1024px) {
  .top .bmenu_list, .sub .bmenu_list {
    display: block;
    height: auto;
    max-height: none;
    position: static;
    z-index: auto;
  }
}
.top .bmenu_list .bmenu, .sub .bmenu_list .bmenu {
  width: 25%;
}
@media screen and (min-width: 1024px) {
  .top .bmenu_list .bmenu, .sub .bmenu_list .bmenu {
    width: 100%;
  }
  .top .bmenu_list .bmenu:not(:first-child), .sub .bmenu_list .bmenu:not(:first-child) {
    display: none;
  }
}
.top .bmenu_list a, .sub .bmenu_list a {
  text-decoration: none;
  color: var(--fontcolor1);
}
.top .bmOpen_btn, .sub .bmOpen_btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: var(--bgcolor13);
  border: 1px solid #3284d5;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 75px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 3;
}
@media screen and (min-width: 1024px) {
  .top .bmOpen_btn, .sub .bmOpen_btn {
    display: none;
  }
}
.top .bmOpen_btn.open::after, .sub .bmOpen_btn.open::after {
  background-color: rgba(48, 68, 53, 0.3);
  content: "";
  display: block;
  height: 100%;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
.top .bmOpen_btn .btn_img, .sub .bmOpen_btn .btn_img {
  display: block;
  height: 54px;
  width: 100%;
}
.top .bmOpen_btn .mokuteki_icon, .sub .bmOpen_btn .mokuteki_icon {
  background: url(../img/common/bmenu/mokuteki.png) no-repeat top 6px center/58px auto;
}
.top .bmOpen_btn .event_icon, .sub .bmOpen_btn .event_icon {
  background: url(../img/common/bmenu/event.png) no-repeat top 3px center/44px auto;
}
.top .bmOpen_btn .search_icon, .sub .bmOpen_btn .search_icon {
  background: url(../img/common/bmenu/search.png) no-repeat top 4px center/44px auto;
}
.top .bmOpen_btn .btn_text, .sub .bmOpen_btn .btn_text {
  background-color: var(--bgcolor2);
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  height: 19px;
  letter-spacing: 0.5px;
  line-height: 19px;
  width: 100%;
}
.top .bmOpen_btn .btn_inside, .sub .bmOpen_btn .btn_inside {
  display: block;
  height: 54px;
  margin: 0 auto;
  position: relative;
  width: 55px;
}
.top .bmOpen_btn .btn_inside .more_solid, .sub .bmOpen_btn .btn_inside .more_solid {
  background: #fff;
  border-radius: 5px;
  display: block;
  height: 8px;
  margin: 0 auto;
  position: absolute;
  width: 55px;
}
.top .bmOpen_btn .btn_inside span:nth-of-type(1), .sub .bmOpen_btn .btn_inside span:nth-of-type(1) {
  top: 7px;
}
.top .bmOpen_btn .btn_inside span:nth-of-type(2), .sub .bmOpen_btn .btn_inside span:nth-of-type(2) {
  top: 22px;
}
.top .bmOpen_btn .btn_inside span:nth-of-type(3), .sub .bmOpen_btn .btn_inside span:nth-of-type(3) {
  top: 37px;
}
.top .menuInner, .sub .menuInner {
  background-color: rgba(48, 68, 53, 0.9);
  bottom: -100%;
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
  left: 0;
  max-height: calc(100svh - 54px);
  overflow: auto;
  padding: 12px 12px 51px;
  position: fixed;
  -webkit-transform: translateY(100svh);
          transform: translateY(100svh);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  width: 100%;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .top .menuInner, .sub .menuInner {
    background-color: transparent;
    height: auto;
    max-height: none;
    overflow: hidden;
    padding: 0;
    position: static;
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
            transform: none;
    z-index: auto;
  }
}
.top .menuInner.slide_in, .sub .menuInner.slide_in {
  bottom: 54px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  z-index: 2;
}
.top .bmClose_btn, .sub .bmClose_btn {
  background-color: #82B5FF;
  border-radius: 10px;
  display: block;
  height: 48px;
  margin: 0 0 20px auto;
  position: relative;
  width: 48px;
}
@media screen and (min-width: 1024px) {
  .top .bmClose_btn, .sub .bmClose_btn {
    display: none;
  }
}
.top .bmClose_btn .close_solid, .sub .bmClose_btn .close_solid {
  background-color: var(--bgcolor2);
  display: block;
  height: 3px;
  left: 4px;
  margin: 0 auto;
  position: absolute;
  width: 40px;
}
.top .bmClose_btn span:nth-of-type(1), .sub .bmClose_btn span:nth-of-type(1) {
  top: 2px;
  -webkit-transform: translateY(21px) rotate(-45deg);
          transform: translateY(21px) rotate(-45deg);
}
.top .bmClose_btn span:nth-of-type(2), .sub .bmClose_btn span:nth-of-type(2) {
  top: 23px;
  -webkit-transform: translateY(0px) rotate(45deg);
          transform: translateY(0px) rotate(45deg);
}
@media screen and (min-width: 1024px) {
  .top .bm_menu, .sub .bm_menu {
    display: grid;
    grid-template-rows: 41px 72px;
  }
}
@media screen and (min-width: 1024px) {
  .top .bm_menu .gmenu_ctr, .sub .bm_menu .gmenu_ctr {
    grid-row: 2/3;
    margin: 0 auto;
    width: 960px;
  }
}
.top .bm_menu .gmenu_ctr::after, .sub .bm_menu .gmenu_ctr::after {
  background-color: var(--bgcolor2);
  border-radius: 100vh;
  content: "";
  display: block;
  height: 3px;
  margin: 23px auto;
  max-width: 500px;
  width: 64%;
}
@media screen and (min-width: 1024px) {
  .top .bm_menu .gmenu_ctr::after, .sub .bm_menu .gmenu_ctr::after {
    display: none;
  }
}
.top .bm_menu .gmenu_list, .sub .bm_menu .gmenu_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 3%;
     -moz-column-gap: 3%;
          column-gap: 3%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  max-width: 600px;
  row-gap: 10px;
}
@media screen and (min-width: 1024px) {
  .top .bm_menu .gmenu_list, .sub .bm_menu .gmenu_list {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    height: 100%;
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
    margin: 0 0 0 178px;
    max-width: none;
    row-gap: 0;
  }
  .top .bm_menu .gmenu_list > li:last-child::after, .sub .bm_menu .gmenu_list > li:last-child::after {
    background: url(../img/common/menupc_line.png) no-repeat center/cover;
    content: "";
    display: block;
    height: 42px;
    position: absolute;
    right: -4px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 9px;
  }
}
.top .bm_menu .gmenu_list .gmenu, .sub .bm_menu .gmenu_list .gmenu {
  background-color: var(--bgcolor2);
  -ms-flex-preferred-size: 48.5%;
      flex-basis: 48.5%;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .top .bm_menu .gmenu_list .gmenu, .sub .bm_menu .gmenu_list .gmenu {
    background-color: transparent;
    border-left: none;
    -ms-flex-preferred-size: 16.6%;
        flex-basis: 16.6%;
    position: relative;
  }
  .top .bm_menu .gmenu_list .gmenu::before, .sub .bm_menu .gmenu_list .gmenu::before {
    background: url(../img/common/menupc_line.png) no-repeat center/cover;
    content: "";
    display: block;
    height: 42px;
    left: -4px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 9px;
  }
}
.top .bm_menu .gmenu_list .gmenu a, .sub .bm_menu .gmenu_list .gmenu a {
  border-left: 10px solid #95D2FF;
  color: var(--fontcolor1);
  display: block;
  font-size: clamp(1.6rem, 5vw, 2rem);
  font-weight: bold;
  height: 100%;
  line-height: 1;
  padding: 14px 4px 11px;
  text-decoration: none;
  width: 100%;
  word-break: break-word;
}
@media screen and (min-width: 1024px) {
  .top .bm_menu .gmenu_list .gmenu a, .sub .bm_menu .gmenu_list .gmenu a {
    background-color: transparent;
    border-left: none;
    -ms-flex-preferred-size: 16%;
        flex-basis: 16%;
    font-size: 1.8rem;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    padding: 12px 2px;
  }
}
@media screen and (min-width: 1024px) {
  .top .bm_menu .acc-ctr, .sub .bm_menu .acc-ctr {
    background-color: var(--bgcolor5);
    grid-row: 1/2;
  }
}
@media screen and (min-width: 1024px) {
  .top .bm_menu .sitelink_ctr, .sub .bm_menu .sitelink_ctr {
    display: none;
  }
}
.top .bm_menu .sitelink_ctr::after, .sub .bm_menu .sitelink_ctr::after {
  background-color: var(--bgcolor2);
  border-radius: 100vh;
  content: "";
  display: block;
  height: 3px;
  margin: 23px auto;
  max-width: 500px;
  width: 64%;
}
@media screen and (min-width: 1024px) {
  .top .bm_menu .sitelink_ctr::after, .sub .bm_menu .sitelink_ctr::after {
    display: none;
  }
}
.top .bm_menu .sitelink_ctr ul, .sub .bm_menu .sitelink_ctr ul {
  margin: 0 auto;
  max-width: 600px;
}
.top .bm_menu .sitelink_ctr li, .sub .bm_menu .sitelink_ctr li {
  background-color: var(--bgcolor2);
  list-style: none;
  margin-bottom: 10px;
  position: relative;
  text-align: center;
}
.top .bm_menu .sitelink_ctr li a, .sub .bm_menu .sitelink_ctr li a {
  color: var(--fontcolor1);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: bold;
  display: block;
  height: 100%;
  padding: 11px 0 5px;
  text-decoration: none;
  width: 100%;
}
.top .bm_menu .sitelink_ctr li:last-child, .sub .bm_menu .sitelink_ctr li:last-child {
  margin-bottom: 0;
}
.top .bm_menu .sitelink_ctr .kanko a, .sub .bm_menu .sitelink_ctr .kanko a {
  border-left: 30px solid #F3F47C;
  border-right: 30px solid #F3F47C;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.top .bm_menu .sitelink_ctr .ijyu a, .sub .bm_menu .sitelink_ctr .ijyu a {
  border-left: 30px solid #BAF69C;
  border-right: 30px solid #BAF69C;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.top .bm_menu .sitelink_ctr .furusato a, .sub .bm_menu .sitelink_ctr .furusato a {
  border-left: 30px solid #FCBF4E;
  border-right: 30px solid #FCBF4E;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.top .bm_mokuteki .mokuteki_ctr, .sub .bm_mokuteki .mokuteki_ctr {
  background-color: var(--bgcolor2);
  padding: 25px 10px 10px;
  margin: 0 auto;
  max-width: 700px;
}
@media screen and (min-width: 1024px) {
  .top .bm_mokuteki .mokuteki_ctr, .sub .bm_mokuteki .mokuteki_ctr {
    margin: 0;
    max-width: none;
  }
}
.top .bm_search .search_ctr, .sub .bm_search .search_ctr {
  background-color: var(--bgcolor2);
  margin: 0 auto;
  max-width: 700px;
}
@media screen and (min-width: 1024px) {
  .top .bm_search .search_ctr, .sub .bm_search .search_ctr {
    margin: 0;
    max-width: none;
  }
}
.top .bm_search .search_ctr .search_cont, .sub .bm_search .search_ctr .search_cont {
  padding: 20px 16px 0;
}
.top .bm_search .search_ctr .search_cont form, .sub .bm_search .search_ctr .search_cont form {
  width: 100%;
}
.top .bm_search .search_ctr .search_cont .searchInner, .sub .bm_search .search_ctr .search_cont .searchInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top .bm_search .search_ctr .search_cont .searchInner .search_text, .sub .bm_search .search_ctr .search_cont .searchInner .search_text {
  width: 100%;
}
.top .bm_search .search_ctr .search_cont .searchInner .search_text .text_box, .sub .bm_search .search_ctr .search_cont .searchInner .search_text .text_box {
  background-color: var(--bgcolor0);
  border: 1px solid #dcdcdc;
  border-radius: 100vh 0 0 100vh;
  height: 26px;
  text-indent: 10px;
  vertical-align: baseline;
  width: 100%;
}
.top .bm_search .search_ctr .search_cont .searchInner .search_img, .sub .bm_search .search_ctr .search_cont .searchInner .search_img {
  background: url(../img/tobira/searchbtn_mbl.png) no-repeat center/100% 26px;
  display: block;
  font-size: 0;
  position: relative;
  height: 26px;
  width: 63px;
}
.top .bm_search .search_ctr .search_cont .searchInner .search_img::before, .sub .bm_search .search_ctr .search_cont .searchInner .search_img::before {
  background: url(../img/tobira/search_zoom.png) no-repeat center/cover;
  content: "";
  display: block;
  height: 14px;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 14px;
}
.top .bm_search .keyword_ctr, .sub .bm_search .keyword_ctr {
  padding: 0 22px 18px;
}
.top .bm_search .keyword_ctr h3, .sub .bm_search .keyword_ctr h3 {
  color: var(--fontcolor6);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.4;
}
.top .bm_search .keyword_ctr .keyword_list, .sub .bm_search .keyword_ctr .keyword_list {
  -webkit-column-gap: 5%;
     -moz-column-gap: 5%;
          column-gap: 5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 4px;
}
.top .bm_search .keyword_ctr .keyword_list::before, .sub .bm_search .keyword_ctr .keyword_list::before {
  content: "";
  display: block;
  height: 0;
  min-width: 86px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 30%;
}
.top .bm_search .keyword_ctr .keyword_list::after, .sub .bm_search .keyword_ctr .keyword_list::after {
  content: "";
  display: block;
  height: 0;
  min-width: 86px;
  width: 30%;
}
.top .bm_search .keyword_ctr .keyword_list .keyword, .sub .bm_search .keyword_ctr .keyword_list .keyword {
  background-color: var(--bgcolor0);
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-preferred-size: 30%;
      flex-basis: 30%;
  list-style: none;
  min-width: 86px;
}
.top .bm_search .keyword_ctr .keyword_list .keyword a, .sub .bm_search .keyword_ctr .keyword_list .keyword a {
  color: var(--fontcolor6);
  display: block;
  font-size: 1.3rem;
  text-align: center;
  text-decoration: none;
  padding: 4px 0 3px;
}

.top .footer_ctr, .sub .footer_ctr {
  margin-bottom: 75px;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr, .sub .footer_ctr {
    margin: 0;
    padding: 68px 0 26px;
  }
}
.top .footer_ctr::before, .sub .footer_ctr::before {
  background: url(../img/common/footermbl_bg.png) no-repeat bottom center/100% 158px;
  bottom: 0;
  content: "";
  height: 100%;
  opacity: 0.9;
  position: absolute;
  width: 100%;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr::before, .sub .footer_ctr::before {
    background: var(--bgcolor2) url(../img/common/footerpc_bg.png) no-repeat bottom center/100% 210px;
  }
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .footer_area, .sub .footer_ctr .footer_area {
    display: grid;
    grid-template-columns: 1fr 480px 480px 1fr;
    row-gap: 20px;
  }
}
.top .footer_ctr .fmenu_ctr, .sub .footer_ctr .fmenu_ctr {
  margin: 28px 22px 0;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .fmenu_ctr, .sub .footer_ctr .fmenu_ctr {
    grid-column: 3/4;
    grid-row: 1/2;
    margin: 0;
  }
}
.top .footer_ctr .fmenu_ctr .fmenu_list, .sub .footer_ctr .fmenu_ctr .fmenu_list {
  -webkit-column-gap: 4%;
     -moz-column-gap: 4%;
          column-gap: 4%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto;
  max-width: 500px;
  row-gap: 10px;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .fmenu_ctr .fmenu_list, .sub .footer_ctr .fmenu_ctr .fmenu_list {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    font-size: 1.1rem;
    max-width: none;
    padding: 14px 0 0 130px;
  }
}
.top .footer_ctr .fmenu_ctr .fmenu_list .fmenu, .sub .footer_ctr .fmenu_ctr .fmenu_list .fmenu {
  -ms-flex-preferred-size: 48%;
      flex-basis: 48%;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .fmenu_ctr .fmenu_list .fmenu, .sub .footer_ctr .fmenu_ctr .fmenu_list .fmenu {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}
.top .footer_ctr .fmenu_ctr .fmenu_list .fmenu::before, .sub .footer_ctr .fmenu_ctr .fmenu_list .fmenu::before {
  background: url(../img/top/footer_dot.png) no-repeat center/contain;
  content: "";
  display: inline-block;
  height: 10px;
  margin-right: 4px;
  vertical-align: middle;
  width: 10px;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .fmenu_ctr .fmenu_list .fmenu::before, .sub .footer_ctr .fmenu_ctr .fmenu_list .fmenu::before {
    height: 9px;
    width: 9px;
  }
}
.top .footer_ctr .fmenu_ctr .fmenu_list .fmenu a, .sub .footer_ctr .fmenu_ctr .fmenu_list .fmenu a {
  color: var(--fontcolor1);
  text-decoration: none;
}
.top .footer_ctr .fmenu_ctr .fmenu_list .fmenu a:hover, .sub .footer_ctr .fmenu_ctr .fmenu_list .fmenu a:hover {
  text-decoration: underline;
}
.top .footer_ctr .footer_cont, .sub .footer_ctr .footer_cont {
  height: auto;
  margin: 58px auto 0;
  max-width: 700px;
  position: relative;
  width: 100%;
  z-index: 0;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .footer_cont, .sub .footer_ctr .footer_cont {
    grid-column: 2/3;
    grid-row: 1/2;
    margin: 0;
    max-width: none;
  }
}
.top .footer_ctr .footer_cont section, .sub .footer_ctr .footer_cont section {
  padding: 0 90px 0 20px;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .footer_cont section, .sub .footer_ctr .footer_cont section {
    display: grid;
    grid-template-columns: 104px 376px;
    padding: 0;
  }
}
.top .footer_ctr .footer_cont section > a, .sub .footer_ctr .footer_cont section > a {
  display: none;
  width: 85px;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .footer_cont section > a, .sub .footer_ctr .footer_cont section > a {
    display: block;
    grid-column: 1/2;
    grid-row: 1/3;
    margin: auto auto 5px 10px;
  }
}
.top .footer_ctr .footer_cont section img, .sub .footer_ctr .footer_cont section img {
  width: 100%;
}
.top .footer_ctr .footer_cont .f_sitelogo, .sub .footer_ctr .footer_cont .f_sitelogo {
  font-size: 1.6rem;
  line-height: 1.2;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .footer_cont .f_sitelogo, .sub .footer_ctr .footer_cont .f_sitelogo {
    font-size: 1.5rem;
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
.top .footer_ctr .footer_cont .f_sitelogo a, .sub .footer_ctr .footer_cont .f_sitelogo a {
  color: var(--fontcolor1);
  text-decoration: none;
}
.top .footer_ctr .footer_cont address, .sub .footer_ctr .footer_cont address {
  padding-left: 3px;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .footer_cont address, .sub .footer_ctr .footer_cont address {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
.top .footer_ctr .footer_cont address .location, .sub .footer_ctr .footer_cont address .location {
  font-size: 1.2rem;
  line-height: 1.3;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .footer_cont address .location, .sub .footer_ctr .footer_cont address .location {
    font-size: 1.1rem;
  }
}
.top .footer_ctr .footer_cont address .postalcode, .sub .footer_ctr .footer_cont address .postalcode {
  font-size: 1.1rem;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .footer_cont address .postalcode, .sub .footer_ctr .footer_cont address .postalcode {
    font-size: 1rem;
    line-height: 1.6;
  }
}
.top .footer_ctr .footer_cont address .tel, .top .footer_ctr .footer_cont address .oh, .sub .footer_ctr .footer_cont address .tel, .sub .footer_ctr .footer_cont address .oh {
  font-size: 1.1rem;
  margin-top: 3px;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .footer_cont address .tel, .top .footer_ctr .footer_cont address .oh, .sub .footer_ctr .footer_cont address .tel, .sub .footer_ctr .footer_cont address .oh {
    font-size: 1rem;
    margin-top: 2px;
  }
}
.top .footer_ctr .footer_cont address .telnumber a, .sub .footer_ctr .footer_cont address .telnumber a {
  color: var(--fontcolor1);
  text-decoration: none;
  display: inline-block;
}
.top .footer_ctr .footer_cont address .office-hours, .sub .footer_ctr .footer_cont address .office-hours {
  display: block;
  line-height: 1.8;
  text-indent: 60px;
}
@media screen and (min-width: 1024px) {
  .top .footer_ctr .footer_cont address .office-hours, .sub .footer_ctr .footer_cont address .office-hours {
    display: inline-block;
    line-height: 1.3;
    text-indent: 0;
  }
}
.top .copyright, .sub .copyright {
  font-size: 1rem;
  padding: 12px 0 10px;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .top .copyright, .sub .copyright {
    grid-column: 2/4;
    grid-row: 2/3;
  }
}

.mokuteki_ctr {
  padding: 86px 12px 0;
}
@media screen and (min-width: 1024px) {
  .mokuteki_ctr {
    grid-column: 3/4;
    grid-row: 2/3;
    padding: 52px 26px 0 90px;
    width: auto;
  }
}
.mokuteki_ctr .common_title {
  margin-bottom: 23px;
}
@media screen and (min-width: 1024px) {
  .mokuteki_ctr .common_title {
    margin-bottom: 12px;
  }
}
.mokuteki_ctr .mokuteki_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  list-style: none;
  row-gap: 12px;
  max-width: 560px;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .mokuteki_ctr .mokuteki_list {
    row-gap: 16px;
    max-width: none;
    margin: 0;
  }
}
.mokuteki_ctr .mokuteki_list .mokuteki {
  -ms-flex-preferred-size: 31%;
      flex-basis: 31%;
  max-width: 130px;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .mokuteki_ctr .mokuteki_list .mokuteki {
    -ms-flex-preferred-size: 21%;
        flex-basis: 21%;
    max-width: none;
  }
}
.mokuteki_ctr .mokuteki_list .mokuteki a {
  color: var(--fontcolor7);
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
}
@media screen and (min-width: 1024px) {
  .mokuteki_ctr .mokuteki_list .mokuteki a {
    font-size: 1.5rem;
    display: block;
  }
}
.mokuteki_ctr .mokuteki_list .mokuteki img {
  display: block;
  height: auto;
  width: 100%;
}
.mokuteki_ctr .mokuteki_list .mokuteki .mokuteki_text {
  display: block;
  line-height: 1.2;
  margin-top: 3px;
  word-break: break-word;
}
@media screen and (min-width: 1024px) {
  .mokuteki_ctr .mokuteki_list .mokuteki .mokuteki_text {
    margin-top: 6px;
  }
}/*# sourceMappingURL=common.css.map */