@charset "UTF-8";
/* Reset */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

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

hr {
  border: none;
  background-color: transparent;
  margin: 0;
  padding: 0;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

img {
  max-width: 100%;
  vertical-align: middle;
}

input {
  margin: 0;
  padding: 0;
}

textarea {
  padding: 0;
  font: inherit;
  color: inherit;
}

button {
  font: inherit;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
}

input[type=text],
input[type=email],
input[type=date],
input[type=tel],
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  margin: 0;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.cf:before,
.cf:after {
  content: " ";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  *zoom: 1;
}

body {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  color: #333;
}

sup {
  vertical-align: text-top;
  font-size: 0.75em;
}

#js-loading {
  position: fixed;
  z-index: 100;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #bfbfbf;
  background-color: #fff;
}
#js-loading.is-hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 500ms;
}

.l-drawer {
  width: 100vw;
  position: fixed;
  top: 0;
  right: 0;
  left: inherit;
  bottom: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-image: radial-gradient(circle at 14% 14%, rgba(0, 0, 0, 0.7) 10%, rgb(0, 0, 0) 90%);
  padding: 5em 0;
  z-index: 91;
}

.l-drawer-menu {
  max-width: 28em;
}
@media only screen and (max-width: 600px) {
  .l-drawer-menu {
    max-width: 25em;
  }
}
.l-drawer-menu > li > a {
  display: block;
  color: rgba(255, 255, 255, 0.85);
  padding: 1em 2.5em 1em 0.5em;
  border-radius: 0.5em;
  text-shadow: 0 0 0.25em #000;
  position: relative;
}
.l-drawer-menu > li > a span {
  color: #333;
  background-color: rgba(255, 255, 255, 0.85);
  text-shadow: none;
  padding: 0 0.25em;
  margin-right: 0.5em;
}
.l-drawer-menu > li > a:after {
  content: "\f105";
  display: inline-block;
  font-family: FontAwesome;
  font-weight: normal;
  font-size: inherit;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  transition: 0.3s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  .l-drawer-menu > li > a:hover {
    color: rgb(255, 255, 255);
    background-color: rgba(255, 255, 255, 0.1);
  }
  .l-drawer-menu > li > a:hover:after {
    right: 0.5em;
  }
}

.l-drawer-present {
  display: flex;
  justify-content: space-between;
  gap: 0.5em;
}
.l-drawer-present__body {
  width: 50%;
}
.l-drawer-present__title {
  font-weight: 500;
}
.l-drawer-present__text {
  font-size: 0.8em;
  font-weight: 300;
}
.l-drawer-present__photo {
  width: 50%;
}

.l-drawer-sns {
  display: flex;
  gap: 1em;
  margin: 2em 0;
}
.l-drawer-sns > li > a {
  font-size: 2em;
  color: rgba(255, 255, 255, 0.85);
  padding: 0.5em 0.75em;
  border-radius: 0.25em;
}
@media (hover: hover) and (pointer: fine) {
  .l-drawer-sns > li > a {
    transition: 0.3s ease-in-out;
  }
  .l-drawer-sns > li > a:hover {
    color: rgb(255, 255, 255);
    background-color: rgba(255, 255, 255, 0.1);
  }
}
.l-drawer-sns__note {
  width: 0.75em;
  display: inline-block;
}
.l-drawer-sns__note img {
  margin-bottom: 0.25em;
}

body.is-drawer-open {
  height: 100%;
  overflow: hidden;
}

/* 共通レイアウト */
.l-wide-wrap {
  width: 100%;
  padding: 0 1.5em;
  margin: 0 auto;
}
@media only screen and (min-width: 1400px) {
  .l-wide-wrap {
    max-width: calc(1280px + 4em);
  }
}

.l-middle-wrap {
  width: 100%;
  padding: 0 1.5em;
  margin: 0 auto;
}
@media only screen and (min-width: 1400px) {
  .l-middle-wrap {
    max-width: calc(1024px + 4em);
  }
}

.l-narrow-wrap {
  width: 100%;
  max-width: calc(767px + 4em);
  padding: 0 2em;
  margin: 0 auto;
}

.l-common-main {
  padding-top: 3em;
}
.l-common-main h2, .l-common-main h3, .l-common-main h4, .l-common-main h5, .l-common-main h6 {
  font-weight: 700;
}
.l-common-main h2 {
  font-size: 1.75em;
  font-feature-settings: "palt";
}
.l-common-main h3 {
  font-size: 1.5em;
  font-feature-settings: "palt";
}
.l-common-main h4 {
  font-size: 1.25em;
  font-feature-settings: "palt";
}
.l-common-main hr {
  border-top: solid 1px #ccc;
  margin: 2em 0;
}
.l-common-main ul {
  list-style: disc;
  margin-left: 1.25em;
}

.l-left {
  position: fixed;
  top: 0;
  left: 0;
  width: calc(50% - 240px);
  height: 100svh;
  background-image: url(img/common/bg_side2.webp);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
}
.l-left__logo {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  padding: 2em;
}
@media only screen and (max-width: 1199px) {
  .l-left__logo {
    display: none;
  }
}

.l-center {
  width: 100%;
  max-width: 480px;
  min-width: 360px;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
  z-index: 3;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

.l-right {
  position: fixed;
  top: 0;
  right: 0;
  width: calc(50% - 240px);
  height: 100svh;
  text-align: right;
  background-image: url(img/common/bg_side1.webp);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
}
.l-right__inner {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  height: 100%;
  padding: 2em;
}
@media only screen and (max-width: 1199px) {
  .l-right__inner {
    display: none;
  }
}

.l-footer {
  padding: 3em 0;
  background-color: #dcdcdc;
  font-size: 0.75em;
  font-feature-settings: "palt";
}
.l-footer__head {
  font-weight: 500;
  margin-bottom: 0.25em;
}
.l-footer__text {
  line-height: 1.7;
  margin-bottom: 0.5em;
}
.l-footer__text--indent {
  text-indent: -3em;
  padding-left: 3em;
}
.l-footer__link {
  border-bottom: dotted 1px currentColor;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__link {
    transition: 0.3s ease-in-out;
  }
  .l-footer__link:hover {
    padding-bottom: 0.25em;
  }
}
.l-footer__fsc {
  width: 10em;
  margin-top: 2em;
}
.l-footer__kyushulogo {
  width: 7em;
  margin: 1em 0;
}

.l-footer-grid {
  display: flex;
  justify-content: space-between;
  gap: 1em;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 3em;
}
.l-footer-grid__left {
  flex-grow: 1;
}
.l-footer-grid__center {
  flex-grow: 1;
}
.l-footer-grid__right {
  flex-grow: 1;
  min-width: 9em;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.l-footer-sns {
  max-width: 340px;
  margin: 0 auto;
}

.l-footer-copyright__inner {
  margin: 3em auto 0;
  padding: 0 7em;
  display: flex;
  align-items: center;
  gap: 2em;
}
.l-footer-copyright__fsc {
  flex-basis: 40%;
}
.l-footer-copyright__logo {
  flex-basis: 60%;
}
.l-footer-copyright__text {
  text-align: center;
  margin-top: 1em;
}

.l-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5em;
}
.l-grid-2.is-center {
  place-items: center;
}

.l-2col {
  width: 100%;
  display: flex;
  gap: 1.5em;
}
.l-2col.is-nogap {
  gap: 0;
}
.l-2col.is-align-center {
  align-items: center;
}
.l-2col__30 {
  flex-basis: 30%;
}
.l-2col__40 {
  flex-basis: 40%;
}
.l-2col__50 {
  flex-basis: 50%;
}
.l-2col__60 {
  flex-basis: 60%;
}
.l-2col__70 {
  flex-basis: 70%;
}

.c-scrolldown {
  position: absolute;
  left: 50%;
  bottom: 2.5em;
  height: 3.5em;
}
.c-scrolldown span {
  position: absolute;
  top: -1.25em;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  letter-spacing: 0.1em;
  white-space: nowrap;
  font-size: 1.1em;
  font-weight: 600;
  text-shadow: 0 0 3px #000, 0 0 6px #fff;
}
.c-scrolldown:after {
  content: "";
  position: absolute;
  top: 0;
  width: 2px;
  height: 30px;
  background: #fff;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
  box-shadow: 0 0 3px #000;
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}

.c-nav-button {
  display: inline-block;
  font-weight: 600;
  letter-spacing: 0.05em;
  width: 6em;
  height: 2.5em;
  border: solid 1px currentColor;
  border-radius: 1.25em;
}
@media (hover: hover) and (pointer: fine) {
  .c-nav-button:hover {
    transition: 0.3s ease-in-out;
    background-color: #333;
    color: #fff;
  }
}
.c-nav-button {
  position: fixed;
  top: 0.75em;
  right: calc(50% - 240px + 0.5em);
}
.c-nav-button--open {
  z-index: 90;
  background-color: rgba(255, 255, 255, 0.75);
}
.c-nav-button--close {
  color: #fff;
  background-color: rgba(40, 40, 40, 0.7);
  z-index: 99;
}
@media only screen and (max-width: 480px) {
  .c-nav-button {
    right: 0.75em;
  }
}

.c-link {
  padding: 0.5em 3em 0.5em 2em;
  border-radius: 1.5em;
  border: solid 1px currentColor;
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
}
@media (hover: hover) and (pointer: fine) {
  .c-link {
    transition: 0.3s ease-in-out;
  }
  .c-link:hover {
    color: #fff;
    background-color: #333;
  }
}
.c-link > span {
  position: relative;
}
.c-link > span:after {
  display: inline-block;
  font-family: FontAwesome;
  font-weight: normal;
  font-size: inherit;
  position: absolute;
  top: 50%;
  right: -1.5em;
  transform: translateY(-50%);
  transition: 0.3s ease-in-out;
}
.c-link--inner > span:after {
  content: "\f105";
}
.c-link--outer > span:after {
  content: "\f08e";
}

.c-page-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.c-page-head__logo {
  width: 240px;
  margin: 0 auto;
}
.c-page-head__logo a {
  display: block;
}
.c-page-head__issue {
  margin-top: 1em;
  text-align: center;
}
.c-page-head__title {
  font-size: 1.5em;
  font-weight: 600;
  text-align: center;
  margin-top: 0.5em;
  font-feature-settings: "palt";
}
.c-page-head__title span {
  display: inline-block;
}
.c-page-head__photo {
  margin-top: 2em;
  width: 100%;
  position: relative;
}
.c-page-head__caption {
  position: absolute;
  right: 1em;
  bottom: 1em;
  color: #fff;
  text-shadow: 0 0 1em #000;
}
.c-page-head__follow {
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.7;
  margin: 2em auto;
  width: -moz-fit-content;
  width: fit-content;
  font-feature-settings: "palt";
}

.c-page-subhead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5em;
  width: 100%;
  margin-top: 5em;
  line-height: 1.3;
}
@media only screen and (max-width: 600px) {
  .c-page-subhead {
    margin-top: 3em;
  }
}
.c-page-subhead__line {
  width: 0.1em;
  height: 3em;
  background-color: #f5ee63;
}
.c-page-subhead__title {
  font-size: 1.75em;
  font-weight: 800;
  text-align: center;
}
.c-page-subhead__catch {
  font-size: 2em;
  font-weight: 500;
  text-align: center;
  font-feature-settings: "palt";
  line-height: 1.4;
}
.c-page-subhead__follow {
  text-align: center;
  line-height: 1.7;
}
@media only screen and (max-width: 600px) {
  .c-page-subhead__follow {
    text-align: left;
  }
}
.c-page-subhead__fig {
  width: 100%;
  max-width: 25em;
}
.c-page-subhead__fig--w15 {
  max-width: 15em;
}

.c-breadcrumb {
  border-top: solid 1px #dcdcdc;
  padding: 1em 0;
  margin-top: 5em;
}
.c-breadcrumb__list {
  list-style: none !important;
  margin-left: 0 !important;
}
.c-breadcrumb__list > li {
  display: inline-block;
  font-size: 0.75em;
  line-height: 2;
}
.c-breadcrumb__list > li:not(:last-child) {
  margin-right: 1.2em;
  position: relative;
}
.c-breadcrumb__list > li:not(:last-child):after {
  content: "\f105";
  color: #dcdcdc;
  display: inline-block;
  font-family: FontAwesome;
  font-weight: normal;
  font-size: inherit;
  position: absolute;
  top: 50%;
  right: -1em;
  transform: translateY(-50%);
  transition: 0.3s ease-in-out;
}
.c-breadcrumb__list > li:not(:last-child) a {
  border-bottom: dotted 1px currentColor;
}
@media (hover: hover) and (pointer: fine) {
  .c-breadcrumb__list > li:not(:last-child) a {
    transition: all 0.3s ease-in-out;
  }
  .c-breadcrumb__list > li:not(:last-child) a:hover {
    padding-bottom: 0.25em;
  }
}

.c-list {
  list-style: disc;
}
.c-list li {
  margin-left: 1.5em;
}

.c-list-num {
  list-style: decimal;
}
.c-list-num li {
  margin-left: 1.5em;
}

.c-pagetop-view {
  width: 100%;
  height: 100svh;
  margin-top: 2em;
  position: relative;
}
.c-pagetop-view__backimg {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.c-pagetop-view__backimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  filter: blur(5px);
  opacity: 0.3;
}
.c-pagetop-view__mainimg {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: -100svh;
  margin: -100svh auto 0 auto;
  height: 100svh;
  position: relative;
  z-index: 2;
}
.c-pagetop-view__mainimg img {
  width: auto;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-pagetop-view__caption {
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
  color: #fff;
  z-index: 3;
  font-size: 0.9em;
  text-shadow: 0 0 5px #000;
}

.c-photocaption__wrap {
  position: relative;
}
.c-photocaption {
  position: absolute;
  right: 0.5em;
  bottom: 0.5em;
  color: #fff;
  text-shadow: 0 0 0.5em #000;
}
.c-photocaption--black {
  color: #000;
  text-shadow: 0 0 0.5em #fff;
}

.lum-lightbox {
  z-index: 1000;
}

.lum-lightbox {
  background: rgba(0, 0, 0, 0.8);
}

.lum-close-button {
  opacity: 1;
  cursor: pointer;
  width: 50px;
  height: 50px;
}

.lum-close-button:after, .lum-close-button:before {
  height: 50px;
  left: 15px;
  position: absolute;
  width: 3px;
}

.lum-lightbox-position-helper img {
  border: solid 1px #666;
}

.lum-gallery-button {
  display: none;
}

.c-photo {
  position: relative;
}
.c-photo a.luminous {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
  color: #fff;
  font-size: 1.5em;
  text-shadow: 0 0 1em #000;
}
@media (hover: hover) and (pointer: fine) {
  .c-photo a.luminous {
    transition: 0.3s ease-in-out;
  }
  .c-photo a.luminous:hover {
    transform: scale(1.1);
    filter: brightness(2);
  }
}
.c-photo a.luminous i {
  font-size: 1em;
}
@media only screen and (max-width: 767px) {
  .c-photo a.luminous {
    display: none;
  }
}

.c-sns {
  width: 100%;
  display: grid;
  gap: 1em;
  grid-template-columns: repeat(1, 1fr);
}
.c-sns > li {
  min-height: 4em;
}
.c-sns > li > a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  background-color: #fff;
  border: solid 1px currentColor;
  position: relative;
  border-radius: 1em;
  font-size: 1.25em;
}
@media (hover: hover) and (pointer: fine) {
  .c-sns > li > a {
    transition: 0.3s ease-in-out;
  }
  .c-sns > li > a:hover {
    background-color: #333;
    color: #fff;
  }
}
.c-sns > li > a:after {
  content: "\f08e";
  display: inline-block;
  font-family: FontAwesome;
  font-weight: normal;
  font-size: inherit;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  transition: 0.3s ease-in-out;
}
.c-sns__insta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .c-sns__insta {
    flex-direction: column;
  }
}
.c-sns__head {
  font-size: 0.75em;
  font-weight: 600;
  display: flex;
  align-items: center;
}
.c-sns__head i {
  font-size: 1.75em;
  margin-right: 0.25em;
}
.c-sns__head__note {
  display: flex;
  align-items: center;
  width: 5em;
  height: 2em;
  background-image: url(img/common/logo_note.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.c-sns__body {
  font-size: 0.75em;
  margin-top: -0.25em;
}

@media (hover: hover) and (pointer: fine) {
  .c-sns li a:hover .c-sns__head__note {
    background-image: url(img/common/logo_note_white.svg);
  }
}
/* index.html */
.p-index-cover {
  position: relative;
  overflow: hidden;
}
.p-index-cover__sub {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1.5em;
}
.p-index-cover__main {
  width: 100%;
  height: auto;
  position: relative;
  z-index: -1;
  padding: 1.5em;
}
.p-index-cover__logo {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  width: 100%;
  padding: 40px;
}
.p-index-cover__issue {
  text-align: center;
  font-feature-settings: "palt";
  line-height: 1;
  margin: 1em 0;
  color: #00aae7;
  background-color: #f5ee63;
  padding: 0.7em 1em;
  white-space: nowrap;
}
.p-index-cover__copy {
  font-size: 2em;
  font-weight: 700;
  text-align: center;
  color: #fff;
  text-shadow: 0 0 5px #000;
  margin-top: 2em;
}
.p-index-cover__caption {
  position: absolute;
  bottom: 2em;
  right: 1.5em;
  color: #fff;
  z-index: 3;
  font-size: 0.9em;
  text-shadow: 0 0 5px #000;
}
@media only screen and (max-width: 480px) {
  .p-index-cover {
    height: 100svh;
  }
  .p-index-cover img {
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.p-index-main {
  margin-top: 3em;
}

#js-index-logo path {
  fill: none;
  stroke: #fff;
  stroke-width: 1px;
  stroke-dasharray: 1180px;
}

#js-index-logo.is-complete path {
  fill: #fff;
  stroke-width: 0;
}

.p-index-heading__title {
  font-size: 1.75em;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.p-index-content {
  width: 100%;
  display: grid;
  gap: 1.5em;
  grid-template-columns: repeat(1, 1fr);
  margin-top: 1em;
}
.p-index-content > li > a {
  display: block;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .p-index-content > li > a {
    transition: 0.3s ease-in-out;
  }
  .p-index-content > li > a:hover {
    background-color: #eee;
  }
  .p-index-content > li > a:hover .p-index-article__eyecatch img {
    transition: 0.3s ease-in-out;
    transform: scale(1.1);
    filter: brightness(1.25);
  }
}

.p-index-article {
  display: flex;
  align-items: center;
  gap: 1.5em;
}
.p-index-article__eyecatch {
  flex-basis: 35%;
  overflow: hidden;
}
.p-index-article__eyecatch img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 3/2;
}
.p-index-article__head {
  flex-basis: 65%;
  font-weight: 600;
}
.p-index-article__label {
  display: inline-block;
  font-size: 0.9em;
  background-color: #333;
  color: #fff;
  padding: 0.1em 1em;
}
.p-index-article__body {
  display: inline-block;
  font-size: 0.9em;
  font-weight: 400;
  line-height: 1.4;
}

.p-index-backnum {
  width: 100%;
  display: grid;
  gap: 1em;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 2em;
}
.p-index-backnum > li > a {
  display: block;
  transition: 0.3s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  .p-index-backnum > li > a:hover {
    background-color: #dcdcdc;
    border-radius: 0.5em;
  }
  .p-index-backnum > li > a:hover img {
    transform: scale(0.8);
    filter: contrast(120%) brightness(1.1);
  }
}

.p-index-backitem {
  display: flex;
  align-items: center;
  gap: 1em;
}
.p-index-backitem > img {
  width: 35%;
  flex-grow: 1;
  transition: 0.3s ease-in-out;
}
.p-index-backitem > p {
  width: 65%;
  flex-grow: 1;
  font-feature-settings: "palt";
}
.p-index-backitem__more {
  height: 100%;
  display: flex;
  align-items: center;
}

/* special.html */
.p-special-page {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2em;
  font-weight: 700;
}
.p-special-page > div {
  padding: 0 0.5em;
}
.p-special-page > div a {
  display: block;
  color: #333;
  font-size: 1.5em;
}
@media (hover: hover) and (pointer: fine) {
  .p-special-page > div a {
    transition: 0.3s ease-in-out;
  }
  .p-special-page > div a:hover {
    transform: scale(1.2);
    filter: brightness(2);
  }
}
.p-special-page__prev.is-nolink, .p-special-page__next.is-nolink {
  pointer-events: none;
  opacity: 0.1;
}
.p-special-page__num p {
  line-height: 1;
  text-align: center;
}
.p-special-page__num span {
  font-size: 0.7em;
  margin: 0 0.25em;
  vertical-align: 0.2em;
}

/* mytown.html */
.p-mytown-map {
  width: 200px;
  margin: 0 auto;
}

/* talk.html */
.p-talk-meeting__head {
  font-size: 1.25em;
  font-weight: 500;
  text-align: center;
}
.p-talk-meeting__body {
  display: flex;
  gap: 1em;
  align-items: center;
  margin-top: 1em;
}
.p-talk-meeting__person {
  flex-basis: 5em;
  text-align: center;
  padding-top: 1em;
}
.p-talk-meeting__photo {
  border-radius: 50%;
  overflow: hidden;
}
.p-talk-meeting__name {
  font-weight: 600;
  letter-spacing: 0.25em;
}
.p-talk-meeting__comment {
  flex-basis: calc(100% - 6em);
  padding-right: 6em;
}
@media only screen and (max-width: 600px) {
  .p-talk-meeting__comment {
    padding-right: 0;
  }
}
.p-talk-meeting__comment p {
  position: relative;
  background: #EDEDED;
  padding: 1em;
  border-radius: 1em;
}
.p-talk-meeting__comment p::after {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-color: rgba(237, 237, 237, 0);
  border-top-width: 13px;
  border-bottom-width: 13px;
  border-left-width: 14px;
  border-right-width: 14px;
  margin-top: -13px;
  border-right-color: #EDEDED;
  right: 100%;
  top: 50%;
}

.p-talk-meeting__body--reverse {
  flex-direction: row-reverse;
}
.p-talk-meeting__body--reverse .p-talk-meeting__comment {
  padding-right: 0;
  padding-left: 6em;
}
@media only screen and (max-width: 600px) {
  .p-talk-meeting__body--reverse .p-talk-meeting__comment {
    padding-left: 0;
  }
}
.p-talk-meeting__body--reverse .p-talk-meeting__comment p::after {
  border-right-color: transparent;
  border-left-color: #EDEDED;
  right: inherit;
  left: 100%;
}

.u-mgt0_25em {
  margin-top: 0.25em !important;
}

.u-mgt0_5em {
  margin-top: 0.5em !important;
}

.u-mgt0_75em {
  margin-top: 0.75em !important;
}

.u-mgt1_5em {
  margin-top: 1.5em !important;
}

.u-mgt-0_25em {
  margin-top: -0.25em !important;
}

.u-mgt-0_5em {
  margin-top: -0.5em !important;
}

.u-mgt-0_75em {
  margin-top: -0.75em !important;
}

.u-mgt0em {
  margin-top: 0em !important;
}

.u-mgt-0em {
  margin-top: 0em !important;
}

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

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

.u-mgt2em {
  margin-top: 2em !important;
}

.u-mgt-2em {
  margin-top: -2em !important;
}

.u-mgt3em {
  margin-top: 3em !important;
}

.u-mgt-3em {
  margin-top: -3em !important;
}

.u-mgt4em {
  margin-top: 4em !important;
}

.u-mgt-4em {
  margin-top: -4em !important;
}

.u-mgt5em {
  margin-top: 5em !important;
}

.u-mgt-5em {
  margin-top: -5em !important;
}

.u-mgt6em {
  margin-top: 6em !important;
}

.u-mgt-6em {
  margin-top: -6em !important;
}

.u-mgt7em {
  margin-top: 7em !important;
}

.u-mgt-7em {
  margin-top: -7em !important;
}

.u-mgt8em {
  margin-top: 8em !important;
}

.u-mgt-8em {
  margin-top: -8em !important;
}

.u-mgt9em {
  margin-top: 9em !important;
}

.u-mgt-9em {
  margin-top: -9em !important;
}

.u-mgt10em {
  margin-top: 10em !important;
}

.u-mgt-10em {
  margin-top: -10em !important;
}

.u-mgb0_25em {
  margin-bottom: 0.25em !important;
}

.u-mgb0_5em {
  margin-bottom: 0.5em !important;
}

.u-mgb0_75em {
  margin-bottom: 0.75em !important;
}

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

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

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

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

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

.u-mgb5em {
  margin-bottom: 5em !important;
}

.u-mgb6em {
  margin-bottom: 6em !important;
}

.u-mgb7em {
  margin-bottom: 7em !important;
}

.u-mgb8em {
  margin-bottom: 8em !important;
}

.u-mgb9em {
  margin-bottom: 9em !important;
}

.u-mgb10em {
  margin-bottom: 10em !important;
}

.u-mgl0_25em {
  margin-left: 0.25em !important;
}

.u-mgl-0_25em {
  margin-left: -0.25em !important;
}

.u-mgl0_5em {
  margin-left: 0.5em !important;
}

.u-mgl-0_5em {
  margin-left: -0.5em !important;
}

.u-mgl0_75em {
  margin-left: 0.75em !important;
}

.u-mgl-0_75em {
  margin-left: -0.75em !important;
}

.u-mgl1em {
  margin-left: 1em !important;
}

.u-mgl-1em {
  margin-left: -1em !important;
}

.u-mgr0_25em {
  margin-right: 0.25em !important;
}

.u-mgr-0_25em {
  margin-right: -0.25em !important;
}

.u-mgr0_5em {
  margin-right: 0.5em !important;
}

.u-mgr-0_5em {
  margin-right: -0.5em !important;
}

.u-mgr0_75em {
  margin-right: 0.75em !important;
}

.u-mgr-0_75em {
  margin-right: -0.75em !important;
}

.u-mgr1em {
  margin-right: 1em !important;
}

.u-mgr-1em {
  margin-right: -1em !important;
}

.u-mgr2em {
  margin-right: 2em !important;
}

.u-mgr-2em {
  margin-right: -2em !important;
}

.u-zindex2 {
  position: relative !important;
  z-index: 2 !important;
}

.u-zindex3 {
  position: relative !important;
  z-index: 3 !important;
}

.u-zindex4 {
  position: relative !important;
  z-index: 4 !important;
}

.u-zindex5 {
  position: relative !important;
  z-index: 5 !important;
}

.u-zindex6 {
  position: relative !important;
  z-index: 6 !important;
}

.u-zindex7 {
  position: relative !important;
  z-index: 7 !important;
}

.u-zindex8 {
  position: relative !important;
  z-index: 8 !important;
}

.u-zindex9 {
  position: relative !important;
  z-index: 9 !important;
}

.u-zindex10 {
  position: relative !important;
  z-index: 10 !important;
}

.u-fsize0_25em {
  font-size: 0.25em !important;
}

.u-fsize0_5em {
  font-size: 0.5em !important;
}

.u-fsize0_6em {
  font-size: 0.6em !important;
}

.u-fsize0_7em {
  font-size: 0.7em !important;
}

.u-fsize0_75em {
  font-size: 0.75em !important;
}

.u-fsize0_8em {
  font-size: 0.8em !important;
}

.u-fsize0_85em {
  font-size: 0.85em !important;
}

.u-fsize0_9em {
  font-size: 0.9em !important;
}

.u-fsize0_95em {
  font-size: 0.95em !important;
}

.u-fsize1em {
  font-size: 1em !important;
}

.u-fsize1_1em {
  font-size: 1.1em !important;
}

.u-fsize1_15em {
  font-size: 1.15em !important;
}

.u-fsize1_2em {
  font-size: 1.2em !important;
}

.u-fsize1_25em {
  font-size: 1.25em !important;
}

.u-fsize1_5em {
  font-size: 1.5em !important;
}

.u-fsize1_75em {
  font-size: 1.75em !important;
}

.u-fsize2em {
  font-size: 2em !important;
}

.u-fsize2_25em {
  font-size: 2.25em !important;
}

.u-fsize2_5em {
  font-size: 2.5em !important;
}

.u-fweight100 {
  font-weight: 100 !important;
}

.u-fweight200 {
  font-weight: 200 !important;
}

.u-fweight300 {
  font-weight: 300 !important;
}

.u-fweight400 {
  font-weight: 400 !important;
}

.u-fweight500 {
  font-weight: 500 !important;
}

.u-fweight600 {
  font-weight: 600 !important;
}

.u-fweight700 {
  font-weight: 700 !important;
}

.u-fweight800 {
  font-weight: 800 !important;
}

.u-fweight900 {
  font-weight: 900 !important;
}

.u-line1 {
  line-height: 1 !important;
}

.u-line1_2 {
  line-height: 1.2 !important;
}

.u-line1_1 {
  line-height: 1.1 !important;
}

.u-line1_3 {
  line-height: 1.3 !important;
}

.u-line1_4 {
  line-height: 1.4 !important;
}

.u-line1_5 {
  line-height: 1.4 !important;
}

.u-palt {
  font-feature-settings: "palt" !important;
}

.u-letter-001 {
  letter-spacing: -0.01em !important;
}

.u-letter-005 {
  letter-spacing: -0.05em !important;
}

.u-letter-01 {
  letter-spacing: -0.1em !important;
}

.u-text-center {
  text-align: center !important;
}

.u-text-right {
  text-align: right !important;
}

.u-text-balance {
  word-break: auto-phrase;
  text-wrap: balance;
}

.u-indent {
  text-indent: -1em;
  padding-left: 1em;
}

.u-font-osaka {
  font-family: "MS ゴシック";
}

.u-text-bg-color {
  background-color: #f5ee63;
  color: #fff;
  padding: 0.25em 1em;
  font-weight: 500;
}

.u-margin-auto {
  margin: 0 auto !important;
}

.u-margin-left-auto {
  margin-left: auto !important;
}

.u-margin-right-auto {
  margin-right: auto !important;
}

.u-fit-content {
  width: -moz-fit-content;
  width: fit-content;
}

.u-width50 {
  width: 50%;
  margin: 0 auto;
}

.u-width60 {
  width: 60%;
  margin: 0 auto;
}

.u-width70 {
  width: 70%;
  margin: 0 auto;
}

.u-width80 {
  width: 80%;
  margin: 0 auto;
}

@media only screen and (min-width: 1025px) {
  .u-hide-pc {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .u-hide-tablet {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  .u-hide-sp {
    display: none !important;
  }
}