@charset "UTF-8";
html[lang="ja"] {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.9; }

html[lang="en"] {
  font-family: "Inter", sans-serif;
  line-height: 1.5; }

/****************************************

          Typography

*****************************************/
html {
  font-size: 62.5%; }

body {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #222;
  font-family: "Noto Sans JP", sans-serif;
  overflow-x: hidden; }

* {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

p,
.text {
  line-height: 1.9; }

b {
  display: block; }

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s ease 0s;
  /*&:hover {
    opacity: 0.8;
  }*/ }

address {
  font-style: normal; }

table {
  table-layout: fixed; }

img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  vertical-align: top;
  font-size: 0;
  line-height: 0; }

/*　実装サンプル
&::after {
    content: "";
    @include icon-arrow-right; // 引数なし親引き継ぎ
    margin-left: 0.5em;
  }
*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
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;
  vertical-align: baseline;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  /* Safari */ }

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

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; }

button,
input,
select,
textarea {
  outline: none;
  font-size: 1em; }

button {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  outline: none;
  border: none;
  cursor: pointer; }

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

a.rev {
  text-decoration: underline; }

a.rev:hover {
  text-decoration: none; }

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

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

/****************************************

          button

*****************************************/
/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */
audio,
canvas,
img,
video {
  vertical-align: middle; }

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical;
  vertical-align: top; }

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

.l-main_container {
  position: relative; }
  .l-main_container::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 30px;
    background: linear-gradient(180deg, #eee 0%, #fff 100%); }

.w100 img,
.main_img img {
  width: 100%;
  max-width: none;
  max-height: none; }

.wide-contents {
  max-width: 1100px;
  width: 90%;
  margin-left: auto;
  margin-right: auto; }

@media screen and (min-width: 768px) {
  .wide-window {
    padding-left: 16px;
    padding-right: 16px; } }
@media screen and (max-width: 767px) {
  .wide-window {
    padding-left: 5%;
    padding-right: 5%; } }

.mini-contents {
  max-width: 900px;
  width: 100%;
  margin-left: auto;
  margin-right: auto; }

@media screen and (min-width: 768px) {
  .tablet90 {
    margin-left: 5%;
    margin-right: 5%;
    width: 90%; } }
@media screen and (min-width: 1080px) {
  .tablet90 {
    margin-left: auto;
    margin-right: auto;
    width: 100%; } }
@media screen and (max-width: 767px) {
  .tablet90 {
    width: 90%;
    margin-left: 5%;
    margin-right: 5%; } }

/*body {
  &::after {
    display: block;
    position: fixed;
    bottom: 0;
    background: pink;
    @include mq-up() {
      content: "mq-up";
    }
    @include mq-pc() {
      content: "mq-pc";
    }
    @include mq-tab() {
      content: "mq-tab";
    }
    @include mq-mobile() {
      content: "mq-mobile";
    }
    @include mq-down() {
      content: "mq-sp";
    }
  }
}*/
/* header.scss

***************************************
          header
*****************************************/
.l-header {
  font-size: 1.4rem;
  flex-wrap: wrap; }
  @media screen and (min-width: 1080px) {
    .l-header {
      padding: 0 24px; } }
  @media screen and (max-width: 1080px) {
    .l-header {
      padding: 16px 5%;
      padding-right: calc(5% + 40px); } }

@media screen and (min-width: 768px) {
  .c-head_logo {
    width: 15%;
    max-width: 200px; } }
@media screen and (max-width: 767px) {
  .c-head_logo {
    width: 45%; } }

@keyframes showHeader {
  from {
    transform: translateY(-100%); }
  to {
    transform: translateY(0); } }
.l-header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
  background: white;
  transition: transform 0.3s ease-in-out; }
  .l-header.is-hidden {
    transform: translateY(-100%); }

@media screen and (min-width: 1080px) {
  .c-sp-nav {
    display: flex;
    flex-direction: column-reverse;
    justify-content: space-between; }
    .c-sp-nav .c-head_logo {
      display: none; } }
@media screen and (max-width: 1080px) {
  .c-sp-nav {
    display: none;
    position: absolute;
    width: 100%;
    overflow: scroll;
    box-sizing: border-box;
    height: 100dvh;
    left: 0;
    background: white;
    padding: 16px 5% 120px; }
    .c-sp-nav .c-head_logo {
      width: 26%; }

  /*=============================
.btn-trigger
=============================*/
  .btn-trigger {
    right: 5%;
    position: fixed;
    z-index: 99;
    display: inline-block;
    width: 30px;
    height: 23px;
    cursor: pointer;
    transition: all 0.1s;
    box-sizing: border-box; }
    .btn-trigger span {
      position: absolute;
      left: 0;
      display: inline-block;
      width: 100%;
      height: 3px;
      background-color: #222;
      border-radius: 3px;
      transition: all 0.1s;
      box-sizing: border-box; }
      .btn-trigger span:nth-of-type(1) {
        top: 0; }
      .btn-trigger span:nth-of-type(2) {
        top: 10px; }
      .btn-trigger span:nth-of-type(3) {
        bottom: 0; }

  #sp_nav span:nth-of-type(1) {
    animation: btn07-bar01 0.75s forwards; }
  #sp_nav span:nth-of-type(2) {
    transition: all 0.25s 0.25s;
    opacity: 1; }
  #sp_nav span:nth-of-type(3) {
    animation: btn07-bar03 0.75s forwards; }
  #sp_nav.active span:nth-of-type(1) {
    animation: active-btn07-bar01 0.75s forwards; }
  #sp_nav.active span:nth-of-type(2) {
    opacity: 0; }
  #sp_nav.active span:nth-of-type(3) {
    animation: active-btn07-bar03 0.75s forwards; }

  @keyframes btn07-bar01 {
    0% {
      transform: translateY(10px) rotate(30deg); }
    50% {
      transform: translateY(10px) rotate(0); }
    100% {
      transform: translateY(0) rotate(0); } }
  @keyframes btn07-bar03 {
    0% {
      transform: translateY(-10px) rotate(-30deg); }
    50% {
      transform: translateY(-10px) rotate(0); }
    100% {
      transform: translateY(0) rotate(0); } }
  @keyframes active-btn07-bar01 {
    0% {
      transform: translateY(0) rotate(0); }
    50% {
      transform: translateY(10px) rotate(0); }
    100% {
      transform: translateY(10px) rotate(30deg); } }
  @keyframes active-btn07-bar03 {
    0% {
      transform: translateY(0) rotate(0); }
    50% {
      transform: translateY(-10px) rotate(0); }
    100% {
      transform: translateY(-10px) rotate(-30deg); } } }
/**************************************
          footer
*****************************************/
.l-footer {
  background: #222;
  color: #fff;
  padding-bottom: 24px; }
  @media screen and (min-width: 1080px) {
    .l-footer {
      padding: 16px 24px 40px; }
      .l-footer > .u-flex-ce {
        display: grid; } }
  @media screen and (max-width: 1080px) {
    .l-footer {
      padding: 16px 5% 40px; } }
  @media screen and (min-width: 768px) {
    .l-footer a:hover {
      text-decoration: underline; } }
  @media screen and (min-width: 768px) and (max-width: 1080px) {
    .l-footer > .u-flex-ce {
      display: block; } }
  .l-footer .logo {
    width: 175px; }
  .l-footer .totop {
    position: fixed; }
    @media screen and (min-width: 768px) {
      .l-footer .totop {
        right: 20px;
        bottom: 20px; } }
    @media screen and (max-width: 767px) {
      .l-footer .totop {
        right: 3%;
        bottom: 3vw; } }
    .l-footer .totop a {
      display: flex;
      align-items: center;
      justify-content: center;
      border: solid 1px #222;
      border-radius: 50%;
      background: white;
      transform: rotate(90deg);
      color: #222;
      font-size: 1.8rem; }
      @media screen and (min-width: 768px) {
        .l-footer .totop a {
          width: 50px;
          height: 50px; } }
      @media screen and (max-width: 767px) {
        .l-footer .totop a {
          width: 40px;
          height: 40px; } }
    .l-footer .totop div {
      margin: 0 0 0.3em 0; }

.l-footer-nav {
  grid-column: 2;
  grid-row: 1; }

.c-foot_aside {
  border-top: solid 1px #bbb; }

@media screen and (max-width: 767px) {
  .c-link-banner {
    flex-wrap: wrap; } }
@media screen and (max-width: 767px) {
  .c-link-banner li {
    width: calc(33% - 6px);
    text-align: center; } }
@media screen and (min-width: 768px) {
  .c-link-banner img {
    max-height: 50px;
    width: auto; } }
@media screen and (max-width: 767px) {
  .c-link-banner img {
    height: auto;
    width: 100%; } }

#totop a {
  display: none;
  position: fixed;
  z-index: 98;
  width: 29px;
  height: 72px;
  padding: 10px; }
  @media screen and (min-width: 768px) {
    #totop a {
      right: 20px;
      bottom: 40px; } }
  @media screen and (max-width: 767px) {
    #totop a {
      right: 3%;
      bottom: 5px; } }
#totop img {
  width: 100%;
  height: auto; }

/* footer

***************************************
          footer
*****************************************/
/* nav.scss
***************************************
          navi
*****************************************/
.c-head_sub_nav {
  font-size: 1.2rem;
  padding-top: 4px; }
  .c-head_sub_nav a {
    padding: 8px;
    display: inline-block; }
    @media screen and (max-width: 1080px) {
      .c-head_sub_nav a {
        padding: 8px 0; } }
  .c-head_sub_nav .sns,
  .c-head_sub_nav .mypage {
    font-size: 1.8rem;
    padding: 0 16px; }
  .c-head_sub_nav .en span {
    border: solid 1px #222;
    padding: 2px 5px;
    line-height: 1; }
  @media screen and (max-width: 1080px) {
    .c-head_sub_nav {
      display: grid !important;
      grid-template-columns: repeat(3, 1fr); }
      .c-head_sub_nav a::after {
        content: "";
        display: inline-block;
        width: 1.3em;
        height: calc(1.3em * (11.71 / 42.41));
        background-color: currentColor;
        -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
        mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        mask-size: contain;
        vertical-align: 0.15em;
        font-size: 1.6rem;
        margin-left: 4px; }
      .c-head_sub_nav .mypage,
      .c-head_sub_nav .en,
      .c-head_sub_nav .sns {
        padding: 0; }
        .c-head_sub_nav .mypage a::after,
        .c-head_sub_nav .en a::after,
        .c-head_sub_nav .sns a::after {
          display: none; }
        .c-head_sub_nav .mypage i,
        .c-head_sub_nav .en i,
        .c-head_sub_nav .sns i {
          font-size: 2.4rem; }
      .c-head_sub_nav .mypage {
        grid-column: 1 / 1;
        grid-row: 2 / 2; }
      .c-head_sub_nav .en {
        grid-column: 4 / 4;
        grid-row: 2 / 2; }
      .c-head_sub_nav .sns {
        grid-column: 1/5;
        grid-row: 3;
        margin-top: 16px;
        padding-top: 16px;
        border-top: solid 1px #222; }
        .c-head_sub_nav .sns a {
          padding: 8px; } }

@media screen and (min-width: 1080px) {
  .c-head_nav {
    display: flex; } }
@media screen and (max-width: 1080px) {
  .c-head_nav {
    padding-top: 16px;
    border-bottom: solid 1px #222;
    margin-bottom: 16px; } }
.c-head_nav .child {
  display: none;
  z-index: 99; }
  @media screen and (min-width: 1080px) {
    .c-head_nav .child {
      position: absolute;
      background: #eee;
      padding: 16px 0; } }
  @media screen and (max-width: 1080px) {
    .c-head_nav .child {
      background: #eee;
      padding: 8px 0; } }
  @media screen and (min-width: 1080px) {
    .c-head_nav .child a {
      opacity: 1;
      padding: 16px 64px 16px 24px; }
      .c-head_nav .child a:hover {
        color: #fff;
        background: #46995a; } }
  @media screen and (max-width: 1080px) {
    .c-head_nav .child a {
      padding: 8px 16px; } }
  .c-head_nav .child .inner a {
    padding-left: calc(24px + 1em); }
.c-head_nav > li.se a::before {
  bottom: 0;
  background: #c68081; }
@media screen and (min-width: 1080px) {
  .c-head_nav > li:hover .child {
    display: block; }
  .c-head_nav > li:last-child > .child {
    right: 0; }
  @keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-10px); }
    to {
      opacity: 1;
      transform: translateY(0); } }
  .c-head_nav > li a {
    position: relative;
    z-index: 2; }
  .c-head_nav > li > a::before {
    content: "";
    display: block;
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 8px;
    transition: ease 0.3s; }
  .c-head_nav > li:hover > a {
    opacity: inherit;
    background: #c68081;
    color: white; } }
@media screen and (max-width: 1080px) {
  .c-head_nav > li {
    border-top: solid 1px #222;
    position: relative; }
    .c-head_nav > li::after {
      font: var(--fa-font-solid);
      content: "\f107";
      position: absolute;
      font-size: 1.6rem;
      top: 1.6em;
      right: 0.5em;
      transform: translateY(-50%); }
    .c-head_nav > li.active::after {
      content: "\f106"; } }
@media screen and (min-width: 1080px) {
  .c-head_nav > li > a {
    padding: 24px 16px; } }
@media screen and (max-width: 1080px) {
  .c-head_nav > li > a {
    width: 90%;
    padding: 16px 4px; } }
.c-head_nav a {
  display: block; }

@media screen and (min-width: 1080px) {
  .c-sp-sub_nav {
    display: none; } }
@media screen and (max-width: 1080px) {
  .c-sp-sub_nav {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
    margin-right: 16px; }
    .c-sp-sub_nav a {
      display: block;
      text-align: center; }
    .c-sp-sub_nav span {
      display: block;
      font-size: 0.8rem; }
    .c-sp-sub_nav i {
      margin: auto;
      display: flex;
      justify-content: center;
      width: 25px;
      aspect-ratio: 1;
      align-items: center;
      border-radius: 50%;
      font-size: 1.6rem; }
    .c-sp-sub_nav i:not(.fa-circle-user) {
      background: #222;
      color: white; } }

/***************************************
         foot navi
*****************************************/
.l-footer-nav {
  margin-right: 0;
  margin-left: auto; }
  @media screen and (min-width: 768px) and (max-width: 1080px) {
    .l-footer-nav {
      width: 100%;
      max-width: none; } }
  .l-footer-nav + .c-head_sub_nav {
    grid-column: 2;
    grid-row: 2;
    gap: 16px; }
    @media screen and (min-width: 768px) {
      .l-footer-nav + .c-head_sub_nav {
        font-size: 1.4rem;
        justify-content: flex-start;
        margin: 20px 0 0; } }
    @media screen and (max-width: 767px) {
      .l-footer-nav + .c-head_sub_nav {
        display: none !important; } }

.foot_address .c-head_sub_nav {
  font-size: 1.6rem; }
  @media screen and (max-width: 1080px) {
    .foot_address .c-head_sub_nav {
      display: flex !important;
      align-items: flex-end;
      justify-content: space-between;
      margin-bottom: 64px; } }
  .foot_address .c-head_sub_nav i {
    font-size: 2.4rem; }
  .foot_address .c-head_sub_nav .sns {
    padding-left: 0; }
    .foot_address .c-head_sub_nav .sns a {
      padding-left: 0; }
  @media screen and (min-width: 1080px) {
    .foot_address .c-head_sub_nav .en {
      margin: 16px 0 64px; } }
  .foot_address .c-head_sub_nav .en a {
    padding-left: 0; }
  .foot_address .c-head_sub_nav .en span {
    border-color: #fff; }

.c-foot_nav {
  display: grid;
  color: #bbb;
  gap: 20px;
  grid-template-columns: repeat(4, 1fr); }
  @media screen and (max-width: 767px) {
    .c-foot_nav {
      display: none; } }
  .c-foot_nav > li {
    font-size: 1.4rem; }
    .c-foot_nav > li > a {
      display: block;
      border-bottom: solid 1px #bbb;
      padding: 16px 0;
      color: #fff; }
    .c-foot_nav > li .child {
      font-size: 1.2rem;
      padding: 8px 0; }
      .c-foot_nav > li .child a {
        padding: 4px 0;
        display: block; }
      .c-foot_nav > li .child .inner a {
        padding-left: 1em; }
  .c-foot_nav > li:last-child {
    grid-column: 4 / 4; }

/***************************************
         コンテンツ横移動ナビ
*****************************************/
@media screen and (max-width: 1080px) {
  .c-page_nav:not(.bottom) {
    display: none; } }
.c-page_nav.bottom {
  margin-bottom: 24px; }
  @media screen and (max-width: 1080px) {
    .c-page_nav.bottom {
      background: #eee;
      padding: 16px 0;
      width: 90%;
      margin-left: auto;
      margin-right: auto; }
      .c-page_nav.bottom ul {
        display: block;
        width: 100%;
        font-size: 1.6rem; }
        .c-page_nav.bottom ul a {
          padding: 8px 16px; }
      .c-page_nav.bottom br {
        display: none; }
      .c-page_nav.bottom li::before {
        width: 10px;
        height: 100%;
        transform: translateX(-100%); } }
.c-page_nav ul {
  font-size: 1.2rem;
  width: fit-content;
  margin-left: auto;
  margin-right: 16px;
  display: flex; }
  .c-page_nav ul a {
    display: block;
    padding: 16px 16px; }
  .c-page_nav ul li {
    position: relative; }
    .c-page_nav ul li::before {
      content: "";
      position: absolute;
      top: 0;
      display: block;
      width: 100%;
      height: 8px; }
    .c-page_nav ul li.se::before {
      background: #46995a; }
    .c-page_nav ul li:hover {
      background: #46995a;
      color: white; }

/*ナビ左に来る戻るボタン*/
.c-page_nav_area .u-back_arrow {
  font-size: 3.2rem; }
  @media screen and (min-width: 768px) {
    .c-page_nav_area .u-back_arrow {
      margin-left: 16px; }
      .c-page_nav_area .u-back_arrow div {
        transition: ease 0.3s; }
      .c-page_nav_area .u-back_arrow:hover div {
        transform: translateX(-0.3em) scale(-1, 1); } }
  @media screen and (max-width: 767px) {
    .c-page_nav_area .u-back_arrow {
      margin-left: 5%; } }

/*ページ内リンクベース*/
.c-page_contents_nav {
  display: flex;
  justify-content: flex-end; }
  .c-page_contents_nav ul {
    gap: 4px;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    flex-wrap: wrap; }
  @media screen and (min-width: 768px) {
    .c-page_contents_nav li {
      flex: 1 1 19%; } }
  .c-page_contents_nav li.se a {
    background: #bbb; }
  .c-page_contents_nav a {
    display: block;
    background: #eee;
    white-space: nowrap; }
    @media screen and (min-width: 768px) {
      .c-page_contents_nav a {
        padding: 16px; }
        .c-page_contents_nav a:hover {
          background: #bbb; } }
    @media screen and (max-width: 767px) {
      .c-page_contents_nav a {
        padding: 16px 16px; } }

/****************************************
common.scss
/****************************************/
/****************************************
          マージンパディング調整用
*****************************************/
.u-mt-10 {
  margin-top: 10px !important; }

.u-mb-10 {
  margin-bottom: 10px !important; }

.u-pt-10 {
  padding-top: 10px !important; }

.u-pb-10 {
  padding-bottom: 10px !important; }

.u-mt-20 {
  margin-top: 20px !important; }

.u-mb-20 {
  margin-bottom: 20px !important; }

.u-pt-20 {
  padding-top: 20px !important; }

.u-pb-20 {
  padding-bottom: 20px !important; }

.u-mt-30 {
  margin-top: 30px !important; }

.u-mb-30 {
  margin-bottom: 30px !important; }

.u-pt-30 {
  padding-top: 30px !important; }

.u-pb-30 {
  padding-bottom: 30px !important; }

.u-mt-40 {
  margin-top: 40px !important; }

.u-mb-40 {
  margin-bottom: 40px !important; }

.u-pt-40 {
  padding-top: 40px !important; }

.u-pb-40 {
  padding-bottom: 40px !important; }

.u-mt-50 {
  margin-top: 50px !important; }

.u-mb-50 {
  margin-bottom: 50px !important; }

.u-pt-50 {
  padding-top: 50px !important; }

.u-pb-50 {
  padding-bottom: 50px !important; }

.u-mt-60 {
  margin-top: 60px !important; }

.u-mb-60 {
  margin-bottom: 60px !important; }

.u-pt-60 {
  padding-top: 60px !important; }

.u-pb-60 {
  padding-bottom: 60px !important; }

.u-mt-70 {
  margin-top: 70px !important; }

.u-mb-70 {
  margin-bottom: 70px !important; }

.u-pt-70 {
  padding-top: 70px !important; }

.u-pb-70 {
  padding-bottom: 70px !important; }

.u-mt-80 {
  margin-top: 80px !important; }

.u-mb-80 {
  margin-bottom: 80px !important; }

.u-pt-80 {
  padding-top: 80px !important; }

.u-pb-80 {
  padding-bottom: 80px !important; }

.u-mt-90 {
  margin-top: 90px !important; }

.u-mb-90 {
  margin-bottom: 90px !important; }

.u-pt-90 {
  padding-top: 90px !important; }

.u-pb-90 {
  padding-bottom: 90px !important; }

.u-mt-100 {
  margin-top: 100px !important; }

.u-mb-100 {
  margin-bottom: 100px !important; }

.u-pt-100 {
  padding-top: 100px !important; }

.u-pb-100 {
  padding-bottom: 100px !important; }

@media screen and (max-width: 767px) {
  .u-sp-mt-10 {
    margin-top: 10px !important; }

  .u-sp-mb-10 {
    margin-bottom: 10px !important; }

  .u-sp-pt-10 {
    padding-top: 10px !important; }

  .u-sp-pb-10 {
    padding-bottom: 10px !important; }

  .u-sp-mt-20 {
    margin-top: 20px !important; }

  .u-sp-mb-20 {
    margin-bottom: 20px !important; }

  .u-sp-pt-20 {
    padding-top: 20px !important; }

  .u-sp-pb-20 {
    padding-bottom: 20px !important; }

  .u-sp-mt-30 {
    margin-top: 30px !important; }

  .u-sp-mb-30 {
    margin-bottom: 30px !important; }

  .u-sp-pt-30 {
    padding-top: 30px !important; }

  .u-sp-pb-30 {
    padding-bottom: 30px !important; }

  .u-sp-mt-40 {
    margin-top: 40px !important; }

  .u-sp-mb-40 {
    margin-bottom: 40px !important; }

  .u-sp-pt-40 {
    padding-top: 40px !important; }

  .u-sp-pb-40 {
    padding-bottom: 40px !important; }

  .u-sp-mt-50 {
    margin-top: 50px !important; }

  .u-sp-mb-50 {
    margin-bottom: 50px !important; }

  .u-sp-pt-50 {
    padding-top: 50px !important; }

  .u-sp-pb-50 {
    padding-bottom: 50px !important; }

  .u-sp-mt-60 {
    margin-top: 60px !important; }

  .u-sp-mb-60 {
    margin-bottom: 60px !important; }

  .u-sp-pt-60 {
    padding-top: 60px !important; }

  .u-sp-pb-60 {
    padding-bottom: 60px !important; }

  .u-sp-mt-70 {
    margin-top: 70px !important; }

  .u-sp-mb-70 {
    margin-bottom: 70px !important; }

  .u-sp-pt-70 {
    padding-top: 70px !important; }

  .u-sp-pb-70 {
    padding-bottom: 70px !important; }

  .u-sp-mt-80 {
    margin-top: 80px !important; }

  .u-sp-mb-80 {
    margin-bottom: 80px !important; }

  .u-sp-pt-80 {
    padding-top: 80px !important; }

  .u-sp-pb-80 {
    padding-bottom: 80px !important; }

  .u-sp-mt-90 {
    margin-top: 90px !important; }

  .u-sp-mb-90 {
    margin-bottom: 90px !important; }

  .u-sp-pt-90 {
    padding-top: 90px !important; }

  .u-sp-pb-90 {
    padding-bottom: 90px !important; }

  .u-sp-mt-100 {
    margin-top: 100px !important; }

  .u-sp-mb-100 {
    margin-bottom: 100px !important; }

  .u-sp-pt-100 {
    padding-top: 100px !important; }

  .u-sp-pb-100 {
    padding-bottom: 100px !important; } }
/****************************************
 幅（width）ユーティリティクラスの自動生成
　tableやフォームに使用
*****************************************/
.u-w-5 {
  width: 5%; }

.u-w-10 {
  width: 10%; }

.u-w-15 {
  width: 15%; }

.u-w-20 {
  width: 20%; }

.u-w-25 {
  width: 25%; }

.u-w-30 {
  width: 30%; }

.u-w-35 {
  width: 35%; }

.u-w-40 {
  width: 40%; }

.u-w-45 {
  width: 45%; }

.u-w-50 {
  width: 50%; }

.u-w-55 {
  width: 55%; }

.u-w-60 {
  width: 60%; }

.u-w-65 {
  width: 65%; }

.u-w-70 {
  width: 70%; }

.u-w-75 {
  width: 75%; }

.u-w-80 {
  width: 80%; }

.u-w-85 {
  width: 85%; }

.u-w-90 {
  width: 90%; }

.u-w-95 {
  width: 95%; }

.u-w-100 {
  width: 100%; }

@media screen and (max-width: 767px) {
  .u-sp-w-5 {
    width: 5%; }

  .u-sp-w-10 {
    width: 10%; }

  .u-sp-w-15 {
    width: 15%; }

  .u-sp-w-20 {
    width: 20%; }

  .u-sp-w-25 {
    width: 25%; }

  .u-sp-w-30 {
    width: 30%; }

  .u-sp-w-35 {
    width: 35%; }

  .u-sp-w-40 {
    width: 40%; }

  .u-sp-w-45 {
    width: 45%; }

  .u-sp-w-50 {
    width: 50%; }

  .u-sp-w-55 {
    width: 55%; }

  .u-sp-w-60 {
    width: 60%; }

  .u-sp-w-65 {
    width: 65%; }

  .u-sp-w-70 {
    width: 70%; }

  .u-sp-w-75 {
    width: 75%; }

  .u-sp-w-80 {
    width: 80%; }

  .u-sp-w-85 {
    width: 85%; }

  .u-sp-w-90 {
    width: 90%; }

  .u-sp-w-95 {
    width: 95%; }

  .u-sp-w-100 {
    width: 100%; } }
.u-w-33 {
  width: 33.333% !important; }

/****************************************
          カラム
*****************************************/
@media screen and (min-width: 768px) {
  .u-col2-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; }
    .u-col2-list > * {
      width: calc((100% - 20px * (2 - 1)) / 2); }

  .u-col3-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; }
    .u-col3-list > * {
      width: calc((100% - 20px * (3 - 1)) / 3); }

  .u-col4-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; }
    .u-col4-list > * {
      width: calc((100% - 20px * (4 - 1)) / 4); }

  .u-col5-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px; }
    .u-col5-list > * {
      width: calc((100% - 15px * (5 - 1)) / 5); } }
@media screen and (max-width: 767px) {
  .u-sp-col2-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; }
    .u-sp-col2-list > * {
      width: calc((100% - 10px * (2 - 1)) / 2); }

  .u-sp-col3-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; }
    .u-sp-col3-list > * {
      width: calc((100% - 10px * (3 - 1)) / 3); }

  .u-sp-col4-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px; }
    .u-sp-col4-list > * {
      width: calc((100% - 5px * (4 - 1)) / 4); }

  .u-sp-col1-list {
    display: flex;
    flex-direction: column;
    gap: 15px; }
    .u-sp-col1-list > * {
      width: 100%; } }
/****************************************
          パーツ
*****************************************/
.pc-block {
  display: block; }
  @media screen and (max-width: 767px) {
    .pc-block {
      display: none; } }

.sp-block {
  display: none; }
  @media screen and (max-width: 767px) {
    .sp-block {
      display: block; } }

/*　矢印アイコン　*/
.u-arrow_ico {
  display: inline-block;
  width: 1.3em;
  height: calc(1.3em * (11.71 / 42.41));
  background-color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  vertical-align: 0.15em;
  margin-left: 0.5em;
  transition: ease 0.3s; }

@media screen and (min-width: 768px) {
  a:hover .u-arrow_ico {
    transform: translate(0.3em); } }
.u-arrow_ico_left {
  display: inline-block;
  width: 1.3em;
  height: calc(1.3em * (11.71 / 42.41));
  background-color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  vertical-align: 0.15em;
  transform: scaleX(-1);
  margin-right: 0.5em;
  transition: ease 0.3s; }

@media screen and (min-width: 768px) {
  a:hover .u-arrow_ico_left {
    transform: translate(-0.3em) scale(-1, 1); } }
/*　線　*/
.u-border-top {
  border-top: solid 1px #bbb; }

.u-border-bottom {
  border-bottom: solid 1px #bbb; }

.u-border {
  border: solid 1px #bbb; }

.c-bg_area {
  background: #eee; }
  @media screen and (min-width: 768px) {
    .c-bg_area {
      padding: 40px; } }
  @media screen and (max-width: 767px) {
    .c-bg_area {
      padding: 40px 5%; } }

/*　マウスオーバーで透過　*/
@media screen and (min-width: 768px) {
  .c-link_hover {
    transition: ease 0.3s; }
    .c-link_hover:hover {
      opacity: 0.8; } }

.c-table_scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }
  .c-table_scroll table {
    width: 100%;
    min-width: 800px;
    table-layout: fixed; }

/*　汎用テーブル　*/
.c-table_basic,
.c-table_basic table {
  width: 100%; }
.c-table_basic th {
  width: 150px;
  font-weight: 700;
  text-align: left;
  font-size: 1.4rem;
  color: #555;
  vertical-align: top; }
.c-table_basic th,
.c-table_basic td {
  padding-bottom: 24px; }
@media screen and (max-width: 767px) {
  .c-table_basic.c-table_sp_down,
  .c-table_basic.c-table_sp_down table,
  .c-table_basic.c-table_sp_down tbody,
  .c-table_basic.c-table_sp_down th,
  .c-table_basic.c-table_sp_down tr,
  .c-table_basic.c-table_sp_down td {
    width: 100%;
    display: block; }
  .c-table_basic.c-table_sp_down th {
    padding-bottom: 8px; } }

.wp-block-table.c-table_basic table th,
.wp-block-table.c-table_basic table td {
  padding-bottom: 24px; }
@media screen and (max-width: 767px) {
  .wp-block-table.c-table_basic table th {
    width: 90px; } }
@media screen and (max-width: 767px) {
  .wp-block-table.c-table_basic.c-table_sp_down th {
    padding-bottom: 8px; } }

/*　テーブル線付き　*/
.c-table_border {
  width: 100%;
  border: solid 1px #bbb; }
  .c-table_border th,
  .c-table_border td {
    vertical-align: middle;
    border: solid 1px #bbb;
    padding: 16px; }

/* 汎用リスト */
.c-list {
  margin-left: 1em;
  line-height: 1.9; }
  .c-list_dot {
    list-style: disc outside; }
  .c-list_num {
    list-style: decimal outside; }
  .c-list_attention {
    margin-left: 0; }
    .c-list_attention li {
      padding-left: 1.3em;
      position: relative; }
      .c-list_attention li::before {
        content: "※";
        position: absolute;
        left: 0;
        top: 0; }

.c-line_list_item {
  border-top: solid 1px #bbb; }
  @media screen and (min-width: 768px) {
    .c-line_list_item {
      padding: 64px 0; } }
  @media screen and (max-width: 767px) {
    .c-line_list_item {
      padding: 40px 0; } }
  .c-line_list_item_title,
  .c-line_list_item dt {
    font-weight: normal;
    font-size: 2.4rem;
    margin-bottom: 24px; }
  .c-line_list_item b {
    display: block;
    font-weight: normal; }

/****************************************
          パンクズ
*****************************************/
.c-pankuzu {
  font-size: 1.4rem;
  position: relative;
  z-index: 2; }
  @media screen and (min-width: 768px) {
    .c-pankuzu {
      padding: 16px; } }
  @media screen and (max-width: 767px) {
    .c-pankuzu {
      padding: 16px 5%; } }
  .c-pankuzu ul {
    display: flex;
    flex-wrap: wrap; }
  .c-pankuzu li + li::before {
    content: ">";
    margin: 10px; }

/****************************************
ベーシック一覧（イベント／企画展／お知らせ）
*****************************************/
.c-post_archive_list {
  border-top: solid 1px #bbb; }
  .c-post_archive_list li {
    border-bottom: solid 1px #bbb; }
  .c-post_archive_list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 0; }
    @media screen and (max-width: 767px) {
      .c-post_archive_list a {
        display: grid;
        gap: 16px; } }
    .c-post_archive_list a::after {
      content: "";
      display: inline-block;
      width: 2em;
      height: calc(2em * (11.71 / 42.41));
      background-color: currentColor;
      -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
      mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-size: contain;
      mask-size: contain;
      vertical-align: 0.15em;
      margin-right: 24px;
      transition: ease 0.3s; }
      @media screen and (max-width: 767px) {
        .c-post_archive_list a::after {
          display: none; } }
    @media screen and (min-width: 768px) {
      .c-post_archive_list a:hover {
        background: #eee; }
        .c-post_archive_list a:hover::after {
          transform: translate(16px); } }
  .c-post_archive_list img {
    border: solid 1px #bbb; }
  .c-post_archive_list .date {
    margin-bottom: 4px;
    font-size: 1.4rem;
    color: #555; }

@media screen and (min-width: 768px) {
  .u-flex {
    display: flex; }

  .u-flex-col {
    display: flex;
    flex-direction: column; }

  .u-flex-wrap {
    display: flex;
    flex-wrap: wrap; }

  .u-inline-flex {
    display: inline-flex; }

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

  .u-flex-ce {
    display: flex;
    align-items: center;
    justify-content: space-between; }

  .u-flex-re {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between; }

  .u-flex-start {
    display: flex;
    align-items: center;
    justify-content: flex-start; }

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

  .u-items-start {
    align-items: flex-start; }

  .u-items-center {
    align-items: center; }

  .u-items-stretch {
    align-items: stretch; }

  .u-items-end {
    align-items: flex-end; }

  .u-items-re {
    flex-direction: column-reverse; }

  .u-justify-start {
    justify-content: flex-start; }

  .u-justify-center {
    justify-content: center; }

  .u-justify-end {
    justify-content: flex-end; }

  .u-justify-between {
    justify-content: space-between; }

  .u-flex-1 {
    flex: 1 1 0%; }

  .u-shrink-0 {
    flex-shrink: 0; }

  .u-gap-10 {
    gap: 10px; }

  .u-gap-20 {
    gap: 20px; }

  .u-gap-30 {
    gap: 30px; }

  .u-gap-40 {
    gap: 40px; }

  .u-gap-50 {
    gap: 50px; } }
.u-gap-0 {
  gap: 0; }

@media screen and (max-width: 767px) {
  .u-sp-flex {
    display: flex; }

  .u-sp-flex-col {
    display: flex;
    flex-direction: column; }

  .u-sp-flex-wrap {
    display: flex;
    flex-wrap: wrap; }

  .u-sp-inline-flex {
    display: inline-flex; }

  .u-sp-flex-center {
    display: flex;
    align-items: center;
    justify-content: center; }

  .u-sp-flex-ce {
    display: flex;
    align-items: center;
    justify-content: space-between; }

  .u-sp-flex-re {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between; }

  .u-sp-flex-start {
    display: flex;
    align-items: center;
    justify-content: flex-start; }

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

  .u-sp-items-start {
    align-items: flex-start; }

  .u-sp-items-center {
    align-items: center; }

  .u-sp-items-end {
    align-items: flex-end; }

  .u-sp-items-re {
    flex-direction: column-reverse; }

  .u-sp-justify-start {
    justify-content: flex-start; }

  .u-sp-justify-center {
    justify-content: center; }

  .u-sp-justify-end {
    justify-content: flex-end; }

  .u-sp-justify-between {
    justify-content: space-between; }

  .u-sp-flex-1 {
    flex: 1 1 0%; }

  .u-sp-shrink-0 {
    flex-shrink: 0; }

  .u-sp-gap-10 {
    gap: 10px; }

  .u-sp-gap-20 {
    gap: 20px; }

  .u-sp-gap-30 {
    gap: 30px; }

  .u-sp-gap-40 {
    gap: 40px; }

  .u-sp-gap-50 {
    gap: 50px; } }
/* title.scss
***************************************
          title
*****************************************/
@media screen and (min-width: 768px) {
  .contents-title.ll-size {
    font-size: 4.8rem; }
  .contents-title.l-size {
    font-size: 3.2rem; }
  .contents-title.m-size {
    font-size: 2.4rem; }
  .contents-title.s-size {
    font-size: 1.8rem; } }
@media screen and (max-width: 767px) {
  .contents-title.ll-size {
    font-size: 3.2rem; }
  .contents-title.l-size {
    font-size: 2.4rem; }
  .contents-title.m-size {
    font-size: 2rem; }
  .contents-title.s-size {
    font-size: 1.8rem; } }

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

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

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

.u-text-sm {
  font-size: 1.4rem; }

.u-text-lg {
  font-size: 1.8rem; }

.u-text-xl {
  font-size: 2.4rem; }

.u-text-2xl {
  font-size: 3.2rem; }

.u-lineheight-tight {
  line-height: 1.5; }

.u-lineheight-base {
  line-height: 1.9; }

.u-lineheight-loose {
  line-height: 2; }

.u-bold {
  font-weight: 700; }

.u-normal {
  font-weight: normal; }

.u-color-red {
  color: #c68081; }

.u-color-green {
  color: #46995a; }

.u-color-att_red {
  color: #e00000; }

.u-color-white {
  color: #fff; }

a.u-text-link,
.u-text-link a {
  color: #0090ff;
  font-weight: 700; }
  @media screen and (min-width: 768px) {
    a.u-text-link:hover,
    .u-text-link a:hover {
      text-decoration: underline; } }

@media screen and (max-width: 767px) {
  .u-sp-text-center {
    text-align: center; }

  .u-sp-text-right {
    text-align: right; }

  .u-sp-text-left {
    text-align: left; }

  .u-sp-text-sm {
    font-size: 1.4rem; }

  .u-sp-text-lg {
    font-size: 1.8rem; }

  .u-sp-bold {
    font-weight: 700; }

  .u-sp-normal {
    font-weight: normal; }

  .u-sp-color-white {
    color: #fff; } }
/*ページ英語タイトル*/
.c-bg_big_title_area {
  height: clamp(30px, 7vw, 40px); }

.c-bg_big_title {
  font-size: clamp(1rem, 9.7vw, 8rem);
  color: #eee;
  font-weight: 700;
  position: absolute;
  top: 0.5em; }
  @media screen and (min-width: 768px) {
    .c-bg_big_title {
      right: 16px; } }
  @media screen and (max-width: 767px) {
    .c-bg_big_title {
      right: 5%; } }

/*ページ日本語タイトル*/
.c-page_title {
  position: relative;
  z-index: 2;
  font-weight: normal; }
  @media screen and (min-width: 768px) {
    .c-page_title {
      margin-left: 16px;
      font-size: 3.2rem;
      margin-bottom: 40px;
      margin-top: 40px; } }
  @media screen and (max-width: 767px) {
    .c-page_title {
      margin-left: 5%;
      font-size: 2.4rem;
      margin-bottom: 24px;
      margin-top: 24px; } }
  .c-page_title .c-page_title_sub {
    display: block;
    font-size: 1.8rem;
    margin-top: 8px; }

/****************************************
         post single
		 （editor-styleと同時に調整）
*****************************************/
.post_text a {
  text-decoration: underline; }
.post_text h1,
.post_text h2,
.post_text h3,
.post_text h4,
.post_text h5,
.post_text h6,
.post_text h7 {
  font-weight: bold;
  margin-bottom: 15px; }
.post_text h1 {
  font-size: 2.6rem; }
.post_text h2 {
  font-size: 2.4rem; }
.post_text h3 {
  font-size: 2.2rem; }
.post_text h4 {
  font-size: 1.8rem; }
.post_text h5 {
  font-size: 1.8rem; }
.post_text h6 {
  font-size: 1.8rem; }
.post_text h7 {
  font-size: 1.8rem; }
.post_text hr {
  border-width: 1px !important; }
.post_text a {
  color: #0090ff;
  font-weight: 700; }
  @media screen and (min-width: 768px) {
    .post_text a:hover {
      text-decoration: underline; } }
.post_text em {
  font-style: italic; }
.post_text ul,
.post_text ol {
  list-style: outside;
  margin-left: 1.5em;
  line-height: 1.9; }
.post_text ol {
  list-style-type: decimal; }
.post_text .video {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .post_text .video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

.c-table_basic.wp-block-table,
.c-table_basic .wp-block-table {
  padding: 0; }
  .c-table_basic.wp-block-table th,
  .c-table_basic.wp-block-table td,
  .c-table_basic .wp-block-table th,
  .c-table_basic .wp-block-table td {
    border: none;
    vertical-align: top; }

.wp-block-table th,
.wp-block-table td {
  vertical-align: middle; }

.wp-block-table thead {
  border: none; }
  .wp-block-table thead th,
  .wp-block-table thead td {
    font-weight: normal;
    background: #eee; }

.wp-caption-text,
.wp-element-caption {
  text-align: left;
  font-size: 8px; }

/*　btn.scss

***************************************
ページネーション
*****************************************/
.pagination {
  font-size: 1.8rem;
  text-align: center;
  margin: 24px auto 96px; }
  .pagination .pagination-arrow,
  .pagination ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px; }
  .pagination ul .current,
  .pagination ul a {
    border-radius: 50%;
    width: 50px;
    padding: 0;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center; }
  .pagination .current,
  .pagination a {
    display: block;
    border: solid 1px #222;
    border-radius: 24px;
    width: 40px;
    padding: 8px 0;
    background: #fff; }
  .pagination a:hover,
  .pagination .current {
    background-color: #222;
    color: #fff; }

.pagination-arrow {
  gap: 24px !important; }
  .pagination-arrow i {
    margin: 0;
    vertical-align: 0.25em; }
  .pagination-arrow span {
    font-size: 1.4rem; }
  .pagination-arrow a {
    width: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px; }

/**************
	戻るボタン
	***************/
.u-back_btn {
  border: solid 1px #222;
  width: fit-content;
  border-radius: 40px;
  font-size: 24px; }
  .u-back_btn a {
    display: block;
    transition: ease 0.3s; }
    @media screen and (min-width: 768px) {
      .u-back_btn a {
        padding: 8px 40px; } }
    @media screen and (max-width: 767px) {
      .u-back_btn a {
        padding: 0 24px; } }
    .u-back_btn a::after {
      content: "";
      display: inline-block;
      width: 1.3em;
      height: calc(1.3em * (11.71 / 42.41));
      background-color: currentColor;
      -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
      mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-size: contain;
      mask-size: contain;
      vertical-align: 0.15em;
      transform: scaleX(-1);
      vertical-align: 0.25em; }
  @media screen and (min-width: 768px) {
    .u-back_btn:hover a {
      transform: translateX(-0.1em); } }

/**************
	共通ボタン
	***************/
.c-btn a,
a.c-btn,
.c-btn.nolink {
  border-radius: 30px;
  width: fit-content;
  border: solid 1px #222;
  padding: 8px 24px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  .c-btn a i,
  a.c-btn i,
  .c-btn.nolink i {
    font-size: 1.8rem; }
  .c-btn a_black,
  a.c-btn_black,
  .c-btn.nolink_black {
    background: #222;
    color: #fff; }
    @media screen and (min-width: 768px) {
      .c-btn a_black:hover,
      a.c-btn_black:hover,
      .c-btn.nolink_black:hover {
        background-color: #555; } }
  .c-btn a_gray,
  a.c-btn_gray,
  .c-btn.nolink_gray {
    background: #eee;
    border-radius: 0;
    border: none !important; }
    @media screen and (min-width: 768px) {
      .c-btn a_gray:hover,
      a.c-btn_gray:hover,
      .c-btn.nolink_gray:hover {
        background-color: #fff; } }
    @media screen and (max-width: 767px) {
      .c-btn a_gray,
      a.c-btn_gray,
      .c-btn.nolink_gray {
        padding: 8px 16px;
        font-size: 1.4rem; } }

/*_cal.scss
***************************************
          calender
*****************************************/
.fc button {
  background: white !important;
  border: none !important; }
.fc .fc-toolbar-title {
  font-weight: normal; }
.fc .fc-icon-chevron-left {
  display: inline-block;
  width: 2em;
  height: calc(2em * (11.71 / 42.41));
  background-color: #222;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  vertical-align: 0.15em;
  transform: scaleX(-1); }
  .fc .fc-icon-chevron-left::before {
    display: none !important; }
.fc .fc-icon-chevron-right {
  display: inline-block;
  width: 2em;
  height: calc(2em * (11.71 / 42.41));
  background-color: #222;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  vertical-align: 0.15em; }
  .fc .fc-icon-chevron-right::before {
    display: none !important; }
.fc .fc-cell-shaded,
.fc .fc-day-disabled {
  background: #eee; }
.fc .fc-scroller-harness th {
  font-size: 1.4rem;
  font-weight: normal;
  padding: 8px; }

.fc-h-event .fc-event-title-container {
  font-size: 1.2rem; }

.fc .fc-daygrid-day.fc-day-today {
  background: #f3c6c6; }

.fc-theme-standard .fc-scrollgrid,
.fc td,
.fc th {
  border-color: #999 !important; }

.fc-h-event .fc-event-main {
  color: #222; }

/* カレンダーラッパー */
#cal-calendar {
  margin: 0 auto;
  box-sizing: border-box; }

/* SP対応 */
@media screen and (max-width: 767px) {
  #cal-calendar .fc-col-header-cell-cushion {
    font-size: 1.2rem; }

  #cal-calendar .fc-daygrid-day-number {
    font-size: 1.2rem; } }
/* mailform.scss

***************************************
mailform
*****************************************/
                                           /*
.mailform{
	padding-top: 60px;
	padding-bottom: 120px;
	table{
		width: 100%;
		text-align: left;
	}
	input,textarea{
		border: solid 1px #707070;
		max-width: 100%;
		padding: 5px 10px;
	}
	.w100{
		width: 100%;
	}
	@include mq-up(){
		th,td{
			padding-bottom: 55px;
			vertical-align: middle;
		}
		th{
			padding-right: 20px;
		}
	}
	@include mq-down(){
		table,tbody,tr,th,td{
			display: block;
		}
		td{
			padding-bottom: 30px;
		}
		.white-in-box{
			padding: 5%;
		}
	}
}
.form-required{
	margin-bottom: 10px;
	@include mq-up(){
		padding-left: 60px;
	}
}
.form-privacy-check{
	span{
		font-weight: bold;
	}
}

.mailform__send__btn{
	/* iOSでのデフォルトスタイルをリセット */
	                          /*
	input[type="submit"],
	input[type="button"] {
		border-radius: 0;
		-webkit-box-sizing: content-box;
		-webkit-appearance: button;
		appearance: button;
		border: none;
		box-sizing: border-box;
		&::-webkit-search-decoration {
			display: none;
		}
		&::focus {
			outline-offset: -2px;
		}
	}
	
	input{
		background: black;
		color: white;
		width: 200px;
		line-height: 55px;
		font-weight: bold;
		font-size: 140%;
		letter-spacing: 0.2em;
		margin-top: 30px;
	}
}*/
/*top.scss

***************************************
          top cont
*****************************************/
.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center; }

.swiper-pagination-bullet-active {
  background-color: #222 !important; }

/* main_img */
.swiper-full {
  width: 100%; }
  .swiper-full .swiper-slide {
    height: auto; }
  .swiper-full img {
    width: 100%;
    height: auto; }
  .swiper-full a {
    display: block;
    width: 100%; }

.c-main_img {
  border-bottom: solid 1px #bbb;
  background-color: #eee; }

/*臨時のお知らせ*/
.c-top_attention {
  background: #222;
  color: #fff; }
  @media screen and (min-width: 768px) {
    .c-top_attention {
      padding: 64px 24px;
      margin: 0 auto 64px; } }
  @media screen and (max-width: 767px) {
    .c-top_attention {
      padding: 40px 0;
      margin: 0 auto 40px; } }
  @media screen and (min-width: 768px) {
    .c-top_attention .post_set {
      padding: 40px 40px; } }
  @media screen and (max-width: 767px) {
    .c-top_attention .post_set {
      padding: 40px 0; } }
  .c-top_attention .post_set + .post_set {
    border-top: solid 1px #bbb; }

@media screen and (min-width: 768px) {
  .c-sp-top_nav {
    display: none; } }
@media screen and (max-width: 767px) {
  .c-sp-top_nav {
    gap: 40px;
    margin-top: 40px;
    margin-bottom: 40px; }
    .c-sp-top_nav a {
      display: block;
      text-align: center; }
    .c-sp-top_nav span {
      display: block;
      font-size: 1.2rem; }
    .c-sp-top_nav i {
      margin: auto;
      display: flex;
      justify-content: center;
      width: 64px;
      aspect-ratio: 1;
      align-items: center;
      border-radius: 50%;
      font-size: 3.2rem;
      margin-bottom: 4px; }
    .c-sp-top_nav i:not(.fa-circle-user) {
      background: #222;
      color: white; } }

/* スライダードットの調整*/
.swiper-center,
.swiper-left-align,
.swiper-center2 {
  padding-bottom: 40px !important; }

.c-top_title {
  font-size: 4rem; }
  .c-top_title span {
    font-size: 1.4rem;
    display: block;
    font-weight: normal; }

@media screen and (min-width: 768px) {
  .l-top_crs .swiper-center {
    margin-top: 64px; } }
@media screen and (max-width: 767px) {
  .l-top_crs .swiper-center {
    margin-top: 40px; } }
@media screen and (min-width: 768px) {
  .l-top_crs img {
    transition: ease 0.3s; }
  .l-top_crs a:hover img {
    transform: scale(0.95); } }

.l-top_topics {
  margin: 64px auto; }

.l-top_event {
  margin: 40px auto; }
  @media screen and (min-width: 768px) {
    .l-top_event .text {
      width: fit-content;
      display: flex;
      align-items: center;
      font-weight: 700; } }
  .l-top_event .c-event_nav {
    display: flex;
    gap: 16px;
    margin-top: 24px; }
    .l-top_event .c-event_nav .swiper-button-prev,
    .l-top_event .c-event_nav .swiper-button-next {
      position: static;
      top: auto;
      left: auto;
      right: auto;
      margin: 0;
      border: solid 1px #222;
      color: #222;
      border-radius: 20px;
      width: 65px;
      height: 40px; }
      .l-top_event .c-event_nav .swiper-button-prev i,
      .l-top_event .c-event_nav .swiper-button-next i {
        margin: 0; }
    .l-top_event .c-event_nav .swiper-navigation-icon {
      display: none; }
  .l-top_event .swiper {
    margin: 0 0 0 auto;
    padding-top: 20px !important; }
    @media screen and (min-width: 768px) {
      .l-top_event .swiper {
        width: calc(50% + 300px); } }
    @media screen and (min-width: 768px) and (max-width: 1080px) {
      .l-top_event .swiper {
        width: calc(100% - (5% + 180px)); } }
    @media screen and (max-width: 767px) {
      .l-top_event .swiper {
        width: 95%;
        margin-left: 5%; } }

.c-event_card img {
  margin-bottom: 16px;
  width: 100%;
  transition: ease 0.3s;
  border: solid 1px #bbb; }
.c-event_card a {
  display: block; }
@media screen and (min-width: 768px) {
  .c-event_card a:hover img {
    transform: scale(0.95); } }
.c-event_card .c-cate {
  margin-bottom: 3px; }
.c-event_card .date {
  color: #555;
  font-size: 1.2rem; }
.c-event_card .title {
  line-height: 1.5; }
  @media screen and (min-width: 768px) {
    .c-event_card .title {
      font-size: 1.8rem; } }
  @media screen and (max-width: 767px) {
    .c-event_card .title {
      font-size: 1.6rem; } }

.l-top_handson {
  background: #555;
  color: #fff;
  padding: 64px 0; }
  @media screen and (max-width: 767px) {
    .l-top_handson .u-text-sm {
      margin-right: 5%; }
    .l-top_handson .wide-contents {
      width: 95%;
      margin-right: 0; }
    .l-top_handson .swiper {
      width: 95%;
      margin-left: 5%; } }
  .l-top_handson .c-event_card .date {
    color: #fff; }
  .l-top_handson .c-cate li {
    border-color: #fff; }
  @media screen and (max-width: 767px) {
    .l-top_handson .l-event_card_list .u-sp-flex-ce {
      align-items: flex-start;
      flex-wrap: nowrap;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      /* 任意：Swiperと余白を合わせる */
      gap: 24px; }
    .l-top_handson .l-event_card_list .c-event_card {
      width: calc((95vw - 3.2px) / 1.2);
      flex-shrink: 0; } }

.l-top_ig {
  background: #eee;
  padding: 64px 0; }

/*navi_page.scss
***************************************
          navi_page
*****************************************/
/*ナビゲーションページレイアウト*/
.c-navi_page_cont {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 64px;
  margin-bottom: 96px; }
  .c-navi_page_cont > * {
    width: calc((100% - 40px * (2 - 1)) / 2); }
  @media screen and (max-width: 767px) {
    .c-navi_page_cont {
      margin-top: 40px;
      margin-bottom: 40px;
      display: flex;
      flex-wrap: wrap;
      gap: 20px; }
      .c-navi_page_cont > * {
        width: calc((100% - 20px * (2 - 1)) / 2); } }
  @media screen and (max-width: 767px) and (min-width: 768px) {
    .c-navi_page_cont li {
      margin-bottom: 24px; } }

  .c-navi_page_cont b {
    font-weight: normal;
    display: block; }
    @media screen and (min-width: 768px) {
      .c-navi_page_cont b {
        margin-bottom: 16px;
        font-size: 2.4rem; } }
    @media screen and (max-width: 767px) {
      .c-navi_page_cont b {
        margin-bottom: 4px;
        font-size: 1.8rem; } }
  .c-navi_page_cont img + p {
    margin-top: 8px;
    line-height: 1.5; }
    @media screen and (max-width: 767px) {
      .c-navi_page_cont img + p {
        font-size: 1.2rem; } }
  @media screen and (min-width: 768px) {
    .c-navi_page_cont img {
      transition: ease 0.3s; }
    .c-navi_page_cont a:hover img {
      transform: scale(0.95); } }

/*ナビゲーションページミュージアムショップ*/
.c-navi_page_cont_museumshop li {
  margin-bottom: 40px; }
.c-navi_page_cont_museumshop a {
  display: flex;
  align-items: center;
  margin-left: auto; }
  @media screen and (min-width: 768px) {
    .c-navi_page_cont_museumshop a {
      width: 95%; } }
  @media screen and (min-width: 1080px) {
    .c-navi_page_cont_museumshop a {
      width: 90%; } }
  @media screen and (max-width: 767px) {
    .c-navi_page_cont_museumshop a {
      width: 95%; } }
  .c-navi_page_cont_museumshop a b {
    width: 30%;
    font-weight: normal; }
  .c-navi_page_cont_museumshop a img {
    width: 70%; }
@media screen and (min-width: 768px) {
  .c-navi_page_cont_museumshop img {
    transition: ease 0.3s; }
  .c-navi_page_cont_museumshop a:hover img {
    transform: scale(0.95); } }

/*event.scss
***************************************
          event
*****************************************/
@media screen and (min-width: 768px) {
  .c-event_list_cont a {
    gap: 40px; }
  .c-event_list_cont .cont {
    width: 70%; }
  .c-event_list_cont img {
    width: 20%; } }
@media screen and (max-width: 767px) {
  .c-event_list_cont img {
    width: 50%; } }
.c-event_list_cont .date {
  color: #555; }
.c-event_list_cont .title {
  font-size: 1.8rem;
  font-weight: normal;
  margin-bottom: 8px; }

.c-cate {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  line-height: 1.5;
  align-items: center;
  margin-right: 16px; }
  .c-cate li {
    border: solid 1px #222;
    font-size: 1.2rem;
    padding: 0.05em 0.2em; }
    .c-cate li.is-active {
      background: #222;
      color: white; }

.c-event_sub_cate {
  background: #777;
  color: #fff;
  font-size: 2.4rem;
  font-weight: normal;
  padding: 8px;
  margin-bottom: 40px; }

.c-event_sub_cate_copy {
  font-weight: normal;
  margin-bottom: 40px; }

/***************************************
          　詳細ページ　
*****************************************/
.l-event_detail .c-event_detail {
  padding-top: 40px;
  border-top: solid 1px #bbb;
  margin-bottom: 64px; }
  .l-event_detail .c-event_detail .cate_cont {
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
.l-event_detail figure.img {
  border: solid 1px #bbb; }
@media screen and (min-width: 768px) {
  .l-event_detail figure.img {
    width: 75%; }
  .l-event_detail .cate_cont {
    width: 20%; } }
@media screen and (max-width: 767px) {
  .l-event_detail figure.img {
    margin-bottom: 24px; } }

.c-event_contents {
  border-top: solid 1px #bbb;
  border-bottom: solid 1px #bbb;
  padding: 40px 0; }
  .c-event_contents .overview {
    border-bottom: solid 1px #bbb;
    margin-bottom: 40px;
    padding-bottom: 16px; }
    .c-event_contents .overview td {
      font-size: 1.8rem; }
    @media screen and (max-width: 767px) {
      .c-event_contents .overview th {
        width: 90px; } }

.c_event_set_link {
  font-size: 1.2rem;
  margin-left: auto; }

.c-event_id_set .ev {
  padding: 24px 0;
  border-bottom: solid 1px #bbb;
  display: flex; }
  @media screen and (min-width: 768px) {
    .c-event_id_set .ev {
      align-items: center;
      justify-content: space-between; }
      .c-event_id_set .ev .cont {
        width: clamp(500px, 63vw, 760px); } }
  @media screen and (max-width: 767px) {
    .c-event_id_set .ev {
      flex-wrap: wrap;
      columns: 1;
      align-items: flex-end; }
      .c-event_id_set .ev > div {
        width: 100%; }
      .c-event_id_set .ev .c-btn {
        margin-left: auto; } }
    @media screen and (max-width: 767px) and (min-width: 768px) {
      .c-event_id_set .ev .c-btn {
        margin-top: 16px; } }
    @media screen and (max-width: 767px) and (max-width: 767px) {
      .c-event_id_set .ev .c-btn {
        margin-top: 8px; } }

  .c-event_id_set .ev .c-btn.nolink {
    display: flex;
    align-items: center;
    justify-content: space-between;
    opacity: 0.3; }
.c-event_id_set .date_title {
  font-size: 1.8rem; }
  @media screen and (min-width: 768px) {
    .c-event_id_set .date_title {
      margin-bottom: 16px; } }
  @media screen and (max-width: 767px) {
    .c-event_id_set .date_title {
      margin-bottom: 8px; } }
.c-event_id_set .date_set.date_set {
  margin-top: 5px; }

.c-ev_nokori {
  padding: 4px 8px;
  line-height: 1;
  border-radius: 15px;
  color: #fff;
  font-size: 1.2rem;
  margin-right: 10px;
  background-color: #21b3e0; }
  .c-ev_nokori.before {
    background-color: #777; }
  .c-ev_nokori.wazuka {
    background-color: #f08100; }
  .c-ev_nokori.no {
    background-color: #e00000; }

/***************************************
          体験・学習
*****************************************/
.c-handson_learning_list {
  border: none; }
  .c-handson_learning_list .c-handson_learning_list_cont {
    border: none;
    background: #f2f2f2; }
    .c-handson_learning_list .c-handson_learning_list_cont:nth-child(even) {
      background: #e7e7e7; }
    .c-handson_learning_list .c-handson_learning_list_cont a {
      max-width: 1100px;
      width: 90%;
      margin-left: auto;
      margin-right: auto; }
  .c-handson_learning_list a {
    display: grid;
    gap: 20px;
    padding: 40px 0; }
    .c-handson_learning_list a .u-flex {
      grid-column: 1;
      align-items: flex-start; }
    .c-handson_learning_list a::after {
      grid-column: 3; }
    .c-handson_learning_list a:hover {
      background: none; }
  .c-handson_learning_list .cont div {
    margin-bottom: 16px; }
  .c-handson_learning_list .black_title {
    background: #222;
    color: #fff;
    display: inline;
    line-height: 1.9;
    font-weight: normal;
    font-size: 1.8rem;
    padding: 8px; }
  .c-handson_learning_list .title {
    font-size: 2.4rem;
    font-weight: normal;
    width: 100%; }
  .c-handson_learning_list img {
    border: none; }
    @media screen and (min-width: 768px) {
      .c-handson_learning_list img {
        width: 40%; } }
    @media screen and (max-width: 767px) {
      .c-handson_learning_list img {
        width: 100%;
        margin-bottom: 16px; } }
  .c-handson_learning_list p {
    line-height: 1.9; }

.c-handson_learning_list_report {
  border-top: solid 1px #bbb;
  border-bottom: solid 1px #bbb;
  background: none; }

/***************************************
          　アートスクウェア
*****************************************/
.l-artsquare .artsquare_logo img {
  max-width: 700px;
  width: 90%; }
.l-artsquare .c-artsquare_school_btn {
  background: #eee8c9;
  position: relative;
  line-height: 1.9; }
  .l-artsquare .c-artsquare_school_btn .cont {
    padding: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .l-artsquare .c-artsquare_school_btn .cont img {
      max-width: 260px; }
  .l-artsquare .c-artsquare_school_btn .u-arrow_ico {
    font-size: 2.4rem; }
  @media screen and (min-width: 768px) {
    .l-artsquare .c-artsquare_school_btn img {
      transition: ease 0.3s; }
    .l-artsquare .c-artsquare_school_btn a:hover > img {
      transform: scale(0.95); } }
.l-artsquare .c-artsquare_school_new {
  background: #cce3e6; }
  .l-artsquare .c-artsquare_school_new::after {
    content: "NEW";
    width: 88px;
    aspect-ratio: 1;
    display: block;
    text-align: center;
    line-height: 88px;
    color: white;
    border-radius: 50%;
    background: #e00000;
    position: absolute;
    top: 16px;
    left: 16px; }
@media screen and (max-width: 767px) {
  .l-artsquare .c-table_scroll table {
    min-width: 1000px; } }

/***************************************
          取り組み・報告
*****************************************/
.l_handson_learning_report {
  background: #eee;
  padding: 64px 0 8px;
  margin-bottom: 64px;
  /* 詳細 */ }
  .l_handson_learning_report .c-event_card img {
    border: none; }
  .l_handson_learning_report .c-event_card .date {
    font-size: 1.4rem; }
  .l_handson_learning_report .c-topics_contents {
    background: #fff;
    border: none;
    padding: 64px 64px; }

/*exhibition.scss
***************************************
          exhibition
*****************************************/
.c-exhibit_nav a {
  display: block;
  background: #777;
  color: #fff; }
  @media screen and (min-width: 768px) {
    .c-exhibit_nav a {
      padding: 16px 96px; }
      .c-exhibit_nav a:hover {
        background: #555; } }
  @media screen and (max-width: 767px) {
    .c-exhibit_nav a {
      padding: 16px 24px; } }
.c-exhibit_nav ul {
  gap: 4px; }
.c-exhibit_nav li {
  position: relative; }
  .c-exhibit_nav li.se::before {
    content: "";
    display: block;
    position: absolute;
    bottom: -11px;
    left: 0;
    width: 100%;
    height: 8px;
    transition: ease 0.3s;
    background: #46995a; }

.c-exhibition_list_cont a {
  padding: 40px 0;
  gap: 40px;
  align-items: flex-start; }
  .c-exhibition_list_cont a::after {
    margin-top: auto;
    margin-bottom: auto; }
@media screen and (min-width: 768px) {
  .c-exhibition_list_cont img {
    width: 40%; } }
@media screen and (max-width: 767px) {
  .c-exhibition_list_cont img {
    width: 100%; } }
@media screen and (min-width: 768px) {
  .c-exhibition_list_cont .cont {
    width: calc(60% - 112px); } }
.c-exhibition_list_cont .title {
  font-size: 1.8rem;
  font-weight: normal; }
.c-exhibition_list_cont .date {
  font-size: 1.8rem; }
.c-exhibition_list_cont .c-now_ico {
  background: #46995a;
  color: #fff;
  width: fit-content;
  margin-top: 24px;
  padding: 8px 16px;
  font-size: 1.8rem; }

/* =============================================
exhibition
================================================ */
#exhibition {
  width: 100%; }
  @media screen and (min-width: 768px) {
    #exhibition {
      min-width: 980px; } }
  #exhibition #main_img {
    width: 100%;
    /*height:430px;*/
    background-repeat: no-repeat;
    background-position: center center;
    /*min-width:980px;*/ }
    #exhibition #main_img .black_area {
      width: 100%;
      background: black;
      color: white; }
  #exhibition .exh_old .black_area,
  #exhibition .exh_old .black_area p {
    background: white;
    color: #555555 !important; }
  #exhibition section {
    width: 100%; }
  #exhibition .black_area .black_area p {
    color: white; }
  #exhibition .black_area:first-child {
    padding: 50px 0; }
  #exhibition h2 {
    font-size: 195%;
    font-weight: normal;
    margin-bottom: 10px;
    line-height: 130%; }
  #exhibition .exh_old .date {
    margin-bottom: 30px; }
  #exhibition .date {
    font-size: 125%; }
  #exhibition h3 {
    margin: 30px 0;
    font-size: 125%;
    font-weight: normal; }
  #exhibition .row {
    padding: 50px 0; }
    #exhibition .row .name {
      color: #777777;
      font-size: 125%; }
      @media screen and (min-width: 768px) {
        #exhibition .row .name {
          width: 160px; } }
      @media screen and (max-width: 767px) {
        #exhibition .row .name {
          width: 100%; } }
    @media screen and (min-width: 768px) {
      #exhibition .row .cont {
        width: 780px; } }
    @media screen and (max-width: 767px) {
      #exhibition .row .cont {
        width: 100%; } }
  #exhibition #summary .row {
    padding: 0 0 10px; }
    #exhibition #summary .row .name {
      font-weight: normal;
      font-size: 100%;
      width: 15%;
      color: #999999; }
  #exhibition .cont {
    width: 85%;
    /*color:#555;*/
    color: #777; }
  #exhibition .map_btn a {
    display: block;
    padding: 10px 10px 10px 0;
    color: white;
    width: 180px;
    text-align: center;
    background: url(img/share/sankaku_w.png) no-repeat 95% center;
    background-color: #777777;
    margin: 10px 0;
    text-decoration: none; }
  #exhibition .map_btn a:hover {
    background-color: #555; }
  #exhibition .event_cont {
    margin-bottom: 40px; }
    #exhibition .event_cont h4 {
      color: #555555;
      font-size: 150%;
      font-weight: normal;
      margin-bottom: 20px; }
      #exhibition .event_cont h4 span {
        padding-left: 30px; }
  @media screen and (min-width: 768px) {
    #exhibition .center {
      width: 940px;
      margin: auto; } }

/* =============================================
筆の宇宙
================================================ */
/* 常設展ナビページ用　ガイド */
@media screen and (min-width: 768px) {
  .ex_perm_nav_guide .cont {
    width: 65%; }
  .ex_perm_nav_guide img {
    width: 25%; } }
@media screen and (max-width: 767px) {
  .ex_perm_nav_guide img {
    display: block;
    margin: 16px auto 0;
    width: 40%; } }

/*museumshop.scss
***************************************
          museumshop
*****************************************/
.c-museumshop_main_img {
  width: 95%;
  margin-left: auto; }

.c-selectshop_banner img {
  max-width: 600px;
  width: 80%; }

/*guide.scss
***************************************
          guide
*****************************************/
/***************************************
          入館案内・アクセス
*****************************************/
.c-guide_admission_table {
  border-top: solid 1px #bbb; }
  @media screen and (min-width: 768px) {
    .c-guide_admission_table {
      padding: 40px 0; } }
  .c-guide_admission_table th,
  .c-guide_admission_table td {
    border-bottom: solid 1px #bbb;
    padding-top: 40px;
    padding-bottom: 40px; }
  .c-guide_admission_table .inner {
    font-weight: normal;
    padding-left: 24px; }
  .c-guide_admission_table .c-table_border th,
  .c-guide_admission_table .c-table_border td {
    font-weight: normal;
    color: #222; }
    @media screen and (min-width: 768px) {
      .c-guide_admission_table .c-table_border th,
      .c-guide_admission_table .c-table_border td {
        padding: 8px 24px; } }
    @media screen and (max-width: 767px) {
      .c-guide_admission_table .c-table_border th,
      .c-guide_admission_table .c-table_border td {
        padding: 8px 8px; } }
  @media screen and (max-width: 767px) {
    .c-guide_admission_table .c-table_border table,
    .c-guide_admission_table .c-table_border tbody {
      display: table; }
    .c-guide_admission_table .c-table_border tr {
      display: table-row; }
    .c-guide_admission_table .c-table_border th,
    .c-guide_admission_table .c-table_border td {
      border-bottom: solid 1px #bbb;
      border-top: none;
      width: fit-content;
      display: table-cell; }
    .c-guide_admission_table .c-table_border tr:last-child th,
    .c-guide_admission_table .c-table_border tr:last-child td {
      border-bottom: none; }
    .c-guide_admission_table .c-table_border td {
      border-right: none; } }
  @media screen and (max-width: 767px) {
    .c-guide_admission_table .u-border-bottom {
      border: none; }
    .c-guide_admission_table th,
    .c-guide_admission_table td,
    .c-guide_admission_table tbody {
      width: 100%; }
    .c-guide_admission_table th {
      border: none;
      padding-bottom: 0; }
    .c-guide_admission_table td {
      padding-top: 16px; } }
  .c-guide_admission_table b {
    display: block; }
  .c-guide_admission_table .honkan,
  .c-guide_admission_table .sousakukan {
    background: #46995a;
    color: #fff;
    font-size: 1.8rem;
    padding: 8px 16px;
    margin-bottom: 24px; }
  .c-guide_admission_table .sousakukan {
    background: #c68081; }
  .c-guide_admission_table figure.sansaku {
    max-width: 500px;
    width: 90%; }

.googlemap {
  position: relative;
  width: 100%;
  aspect-ratio: 1.55 / 1; }
  .googlemap iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

.c-facility_use_nav ul {
  max-width: 890px; }
  .c-facility_use_nav ul.u-col5-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px; }
    .c-facility_use_nav ul.u-col5-list > * {
      width: calc((100% - 5px * (5 - 1)) / 5); }
  .c-facility_use_nav ul.u-col3-list {
    max-width: 400px;
    width: 100%; }

/***************************************
          ふでっこクラブ
*****************************************/
.guide_fudekko_bosyu {
  background: #fdf4ea; }
  @media screen and (min-width: 768px) {
    .guide_fudekko_bosyu {
      padding: 96px 0; } }
  @media screen and (max-width: 767px) {
    .guide_fudekko_bosyu {
      padding: 64px 0 40px; } }
  .guide_fudekko_bosyu .bosyu_access {
    margin: 40px auto;
    border: solid 1px #bbb;
    padding: 24px; }

/***************************************
          施設利用
*****************************************/
.l-guide_facility_use .c-bg_area_title {
  font-size: 2.4rem;
  font-weight: normal; }
  @media screen and (min-width: 768px) {
    .l-guide_facility_use .c-bg_area_title {
      margin-bottom: 40px; } }
  @media screen and (max-width: 767px) {
    .l-guide_facility_use .c-bg_area_title {
      margin-bottom: 24px; } }
.l-guide_facility_use .c-bg_area_title_no {
  background: #222;
  color: #eee;
  display: inline-block;
  aspect-ratio: 1;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .l-guide_facility_use .c-bg_area_title_no {
      width: 50px;
      line-height: 50px;
      font-size: 3.2rem;
      margin-right: 24px;
      border-radius: 15px; } }
  @media screen and (max-width: 767px) {
    .l-guide_facility_use .c-bg_area_title_no {
      width: 40px;
      line-height: 40px;
      font-size: 2.4rem;
      margin-right: 16px;
      border-radius: 10px; } }
.l-guide_facility_use .c-facility_use_inner {
  padding-left: 3em; }

.c-facility_use_detail table {
  border: solid 1px #222;
  background: white;
  line-height: 1.9; }
  .c-facility_use_detail table th {
    font-weight: normal;
    text-align: center; }
  .c-facility_use_detail table th,
  .c-facility_use_detail table td {
    padding: 8px;
    border: solid 1px #222;
    vertical-align: middle; }
.c-facility_use_detail .table1 th {
  width: 130px; }
.c-facility_use_detail .table1 td {
  width: 270px;
  padding-left: 40px; }
.c-facility_use_detail .table2 tr:first-child th {
  background: #eee; }

/***************************************
          フロアガイド
*****************************************/
.floor_list {
  column-gap: 16px;
  margin-top: 64px; }
  @media screen and (min-width: 768px) {
    .floor_list {
      column-count: 3; } }
  @media screen and (max-width: 767px) {
    .floor_list {
      width: fit-content;
      margin-right: auto;
      margin-left: auto; } }
  .floor_list li {
    break-inside: avoid; }
  .floor_list.nocol {
    column-count: 1;
    width: fit-content;
    margin-right: auto;
    margin-left: auto; }

.c-guide_floor_nav ul {
  width: 100%; }
.c-guide_floor_nav.bottom li::before {
  bottom: auto;
  top: -11px; }
.c-guide_floor_nav li {
  position: relative;
  flex: inherit; }
  @media screen and (min-width: 768px) {
    .c-guide_floor_nav li {
      width: 200px; } }
  @media screen and (max-width: 767px) {
    .c-guide_floor_nav li {
      width: 45%; } }
  .c-guide_floor_nav li.se::before {
    content: "";
    display: block;
    position: absolute;
    bottom: -11px;
    left: 0;
    width: 100%;
    height: 8px;
    transition: ease 0.3s; }
  .c-guide_floor_nav li.honkan::before {
    background: #46995a; }
  .c-guide_floor_nav li.sousakukan::before {
    background: #c68081; }

/***************************************
          ダウンロード
*****************************************/
.c-facility_download th {
  width: 30%; }

/***************************************
          カフェ・レストラン
*****************************************/
.l-guide_cafe_restaurant .ico {
  font-size: 1.8rem;
  width: 120px;
  text-align: center;
  color: #fff;
  border-radius: 10px;
  padding: 16px 0; }
  .l-guide_cafe_restaurant .ico.honkan {
    background: #46995a; }
  .l-guide_cafe_restaurant .ico.creation {
    background: #c68081; }
@media screen and (min-width: 768px) {
  .l-guide_cafe_restaurant .img {
    width: 55%; }
  .l-guide_cafe_restaurant .cont {
    width: 40%; } }
.l-guide_cafe_restaurant b {
  font-weight: 700; }
.l-guide_cafe_restaurant i {
  font-size: 4.8rem; }

/*about.scss
***************************************
          about
*****************************************/
/***************************************
          入館案内・アクセス
*****************************************/
.c-timeline_table {
  width: 100%; }
  .c-timeline_table th {
    font-size: 1.4rem;
    padding-left: 40px;
    text-align: right;
    font-weight: 700; }
  .c-timeline_table th,
  .c-timeline_table td {
    background: #eee;
    vertical-align: top;
    padding: 8px 16px; }
  .c-timeline_table .c-timeline_group {
    padding-bottom: 24px; }
    .c-timeline_table .c-timeline_group tr:first-child th,
    .c-timeline_table .c-timeline_group tr:first-child td {
      border-top: 1px solid #fff;
      padding-top: 24px; }
    .c-timeline_table .c-timeline_group tr:last-child th,
    .c-timeline_table .c-timeline_group tr:last-child td {
      padding-bottom: 24px; }

.c-archi_table {
  width: 100%; }
  .c-archi_table th {
    text-align: left;
    font-size: 1.4rem; }
  .c-archi_table td {
    padding: 8px 16px; }

.c-archi_mark img {
  max-width: 278.5px;
  width: 100%; }

.c-about_archi_nav ul {
  max-width: 570px;
  width: 100%; }

/***************************************
          館長紹介
*****************************************/
.c-about_director table th,
.c-about_director table td {
  font-weight: normal;
  text-align: left;
  padding-right: 16px;
  padding-bottom: 8px; }

/***************************************
          コレクション詳細
*****************************************/
.c-collection_list {
  line-height: 1.9; }
  @media screen and (min-width: 768px) {
    .c-collection_list {
      display: flex;
      align-items: flex-start;
      gap: 40px; } }
  @media screen and (min-width: 768px) {
    .c-collection_list img {
      max-width: 450px; } }
  @media screen and (max-width: 767px) {
    .c-collection_list img {
      margin-bottom: 16px; } }
  .c-collection_list .name {
    font-size: 1.8rem; }
  .c-collection_list th {
    width: 120px; }

/***************************************
          指定管理者
*****************************************/
.yakuin_table th {
  font-weight: normal; }
.yakuin_table th,
.yakuin_table td {
  border: solid 1px #222;
  text-align: left;
  padding: 8px; }

/*etegami.scss
***************************************
          etegami
*****************************************/
/***************************************
          絵てがみトップ
*****************************************/
.c-etegami_btn {
  background-color: #f4f5ef; }
  @media screen and (min-width: 768px) {
    .c-etegami_btn {
      transition: ease 0.3s; }
      .c-etegami_btn:hover {
        background-color: #d7dbc6; } }
  .c-etegami_btn a {
    display: block;
    padding: 40px 40px 64px;
    position: relative;
    height: 100%; }
    .c-etegami_btn a::after {
      content: "";
      font-size: 3.2rem;
      display: inline-block;
      width: 1.3em;
      height: calc(1.3em * (11.71 / 42.41));
      background-color: currentColor;
      -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
      mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.41 11.71"><polygon fill="%23000" points="42.41 11.71 0 11.71 0 9.71 37.59 9.71 29.29 1.41 30.71 0 42.41 11.71"/></svg>');
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-size: contain;
      mask-size: contain;
      vertical-align: 0.15em;
      position: absolute;
      bottom: 40px;
      right: 40px; }
  .c-etegami_btn .u-flex-ce {
    gap: 40px; }
  @media screen and (min-width: 768px) {
    .c-etegami_btn img {
      width: max(300px); } }
  @media screen and (max-width: 767px) {
    .c-etegami_btn img {
      width: 70%;
      margin-top: 20px; } }

.c-etegami_ig_btn {
  background: #f1ebec;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .c-etegami_ig_btn {
      border-radius: 140px; } }
  @media screen and (max-width: 767px) {
    .c-etegami_ig_btn {
      border-radius: 100px; } }
  @media screen and (min-width: 768px) {
    .c-etegami_ig_btn {
      transition: ease 0.3s; }
      .c-etegami_ig_btn:hover {
        background: #e5d9db; } }
  .c-etegami_ig_btn a {
    display: block;
    padding: 40px 40px; }
  .c-etegami_ig_btn i {
    font-size: 4.8rem; }
  .c-etegami_ig_btn img {
    width: 85px; }

.c-etegami_video_area {
  background: #ebe9de;
  padding: 150px 0;
  margin: 96px 0;
  position: relative; }
  .c-etegami_video_area::before, .c-etegami_video_area::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 95px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 94.97' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M1280,0H0V95C186.18,42.73,405.37,12.59,640,12.59S1093.82,42.73,1280,95Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    pointer-events: none;
    background-position: center; }
    @media screen and (min-width: 768px) {
      .c-etegami_video_area::before, .c-etegami_video_area::after {
        background-size: 100% 100%; } }
    @media screen and (max-width: 767px) {
      .c-etegami_video_area::before, .c-etegami_video_area::after {
        background-size: 150% 100%; } }
  .c-etegami_video_area::before {
    top: -2px; }
  .c-etegami_video_area::after {
    bottom: -2px;
    transform: rotate(180deg); }

/***************************************
          絵てがみ公募
*****************************************/
.c-etegami_title_bg {
  background: #f4f5ef;
  padding: 16px 24px;
  margin-bottom: 64px; }

.c-etegami_summary_table tr,
.c-etegami_summary_table th,
.c-etegami_summary_table td {
  display: block; }
.c-etegami_summary_table th {
  padding-bottom: 0; }

.c-etegami_summary {
  margin-bottom: 64px; }
  @media screen and (min-width: 768px) {
    .c-etegami_summary {
      display: flex;
      align-items: flex-start;
      justify-content: space-between; }
      .c-etegami_summary figure {
        width: 60%; }
      .c-etegami_summary .cont {
        width: 35%; } }

.l-etegami_entries .c-list .c-btn {
  color: white;
  border: none;
  width: fit-content; }
@media screen and (max-width: 767px) {
  .l-etegami_entries table tr,
  .l-etegami_entries table th,
  .l-etegami_entries table td {
    display: block; }
  .l-etegami_entries table th {
    padding-bottom: 8px; } }
.l-etegami_entries .ippan_a,
.l-etegami_entries .ippan_b,
.l-etegami_entries .kids {
  padding: 16px;
  margin-bottom: 16px; }
  .l-etegami_entries .ippan_a .contents-title,
  .l-etegami_entries .ippan_b .contents-title,
  .l-etegami_entries .kids .contents-title {
    display: block; }
.l-etegami_entries .ippan_a {
  background: #7bd1f0; }
.l-etegami_entries .ippan_b {
  background: #f0acaf; }
.l-etegami_entries .kids {
  background: #bad4a5; }
.l-etegami_entries .download_area,
.l-etegami_entries .dantai_area {
  margin-bottom: 40px; }
  @media screen and (min-width: 768px) {
    .l-etegami_entries .download_area,
    .l-etegami_entries .dantai_area {
      padding: 40px; } }
  @media screen and (max-width: 767px) {
    .l-etegami_entries .download_area,
    .l-etegami_entries .dantai_area {
      padding: 40px 5%; } }
.l-etegami_entries .dantai_area {
  border: solid 10px #46a638; }
.l-etegami_entries .download_area {
  border: solid 10px #12428c; }
.l-etegami_entries .download_area .dl_filename span {
  color: #777777;
  font-size: 1.4rem;
  font-weight: normal; }
.l-etegami_entries .obosaki_area {
  background-color: #eee;
  padding: 40px; }

/***************************************
          絵てがみライブラリー
*****************************************/
.c-etegami_library_table td,
.c-etegami_library_table th {
  border-bottom: solid 1px #bbb;
  padding-top: 24px; }
.c-etegami_library_table td {
  width: 20%; }
.c-etegami_library_table tr:first-child th,
.c-etegami_library_table tr:first-child td {
  border-top: solid 1px #bbb; }

/***************************************
          絵てがみ交流
*****************************************/
.c-etegami_interact_nav ul {
  max-width: 500px; }
  @media screen and (max-width: 767px) {
    .c-etegami_interact_nav ul {
      width: 100%; } }
@media screen and (min-width: 768px) {
  .c-etegami_interact_nav li {
    width: 50%; } }
@media screen and (max-width: 767px) {
  .c-etegami_interact_nav li {
    width: 40%; } }

/***************************************
          絵てがみのお問合せ
*****************************************/
.c-etegami_contact .cont {
  background-color: #eee;
  padding: 40px; }
@media screen and (max-width: 767px) {
  .c-etegami_contact img {
    width: 70%;
    display: block;
    margin: 24px auto; } }

/*membership.scss
***************************************
          membership
*****************************************/
/***************************************
          メンバーシップについて
*****************************************/
.c-member_btn {
  background: #b6eeff;
  position: relative; }
  @media screen and (min-width: 768px) {
    .c-member_btn img {
      transition: ease 0.3s; }
    .c-member_btn a:hover img {
      transform: scale(0.95); } }
  .c-member_btn .u-arrow_ico {
    font-size: 3.2rem; }
  .c-member_btn_kcp {
    background: #0065ac;
    color: #fff; }
    .c-member_btn_kcp .u-arrow_ico {
      color: #fff; }
  .c-member_btn_mypage {
    background: url(../img/membership/mypage_img.png) no-repeat 95% bottom #eee;
    background-size: auto min(100%, 300px) !important; }
    @media screen and (min-width: 768px) {
      .c-member_btn_mypage {
        transition: ease 0.3s; }
        .c-member_btn_mypage:hover {
          background: url(../img/membership/mypage_img.png) no-repeat 95% bottom #bbb; } }
    @media screen and (max-width: 767px) {
      .c-member_btn_mypage {
        background-size: 50vw !important;
        background-position: center bottom !important; }
        .c-member_btn_mypage .cont {
          padding-bottom: 0 !important; }
        .c-member_btn_mypage .cont + div {
          padding-bottom: 32vw; } }
  @media screen and (max-width: 767px) {
    .c-member_btn .cont + div {
      position: relative; } }
  .c-member_btn .cont + div div {
    position: absolute;
    height: 100%;
    top: 0;
    right: 24px;
    display: flex;
    align-items: center; }
  .c-member_btn img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .c-member_btn a .cont {
    position: relative; }
    @media screen and (min-width: 768px) {
      .c-member_btn a .cont {
        padding: 40px 40px 64px; }
        .c-member_btn a .cont p + div {
          position: absolute;
          right: 40px;
          bottom: 20px; } }
    @media screen and (max-width: 767px) {
      .c-member_btn a .cont {
        padding: 40px 5% 64px; } }

.l-membership_activities .c-event_card {
  margin-bottom: 24px; }

/***************************************
          筆の里PAL会員
*****************************************/
.pal_campaign_banner a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #faebf4;
  position: relative;
  color: #e4007f;
  padding: 24px 0; }
  .pal_campaign_banner a i {
    position: absolute;
    right: 20px;
    margin-left: auto; }

.c-membership_pal_box {
  background-color: #1da6d0;
  text-align: center;
  border-radius: 24px;
  color: #fff; }
  .c-membership_pal_box a {
    display: flex;
    align-items: center;
    align-content: space-between;
    justify-content: space-between;
    flex-direction: column;
    height: 100%; }
    .c-membership_pal_box a .u-arrow_ico {
      font-size: 3.2rem; }
    @media screen and (min-width: 768px) {
      .c-membership_pal_box a {
        padding: 40px 0; } }
    @media screen and (max-width: 767px) {
      .c-membership_pal_box a {
        padding: 24px 0;
        height: 250px; } }
  .c-membership_pal_box.update {
    background-color: #30a358; }

.c-membership_pal_entry_btn a {
  display: flex;
  align-items: center;
  padding: 40px;
  border-radius: 24px;
  justify-content: space-between;
  background-color: #1da6d0;
  color: #fff; }

.c-membership_pal_teikei {
  background: #eee; }
  @media screen and (min-width: 768px) {
    .c-membership_pal_teikei {
      padding: 40px; } }
  @media screen and (max-width: 767px) {
    .c-membership_pal_teikei {
      padding: 40px 0; }
      .c-membership_pal_teikei table {
        margin-left: 40px;
        margin-right: 40px; } }
  .c-membership_pal_teikei th {
    width: 35%; }
  .c-membership_pal_teikei th,
  .c-membership_pal_teikei td {
    padding-bottom: 16px;
    padding-top: 16px;
    border-bottom: solid 1px #bbb; }

/***************************************
          ご利用方法
*****************************************/
.l-pal_guide .c-list_num,
.l-pal_guide .c-line_list_item b {
  font-weight: 700; }
.l-pal_guide p {
  font-weight: normal;
  margin: 8px 0 16px; }
.l-pal_guide .u-color-att_red a {
  color: #e00000; }
.l-pal_guide .u-color-att_red a,
.l-pal_guide .u-color-att_red {
  font-weight: normal; }

/***************************************
          PAL会員規約
*****************************************/
.c-membership_pal_kiyaku dt {
  font-weight: 700;
  font-size: 1.4rem;
  color: #555;
  margin-bottom: 8px; }
.c-membership_pal_kiyaku dd {
  padding-bottom: 40px; }

/***************************************
          KCP
*****************************************/
.c-kcp_banner {
  border: solid 2px #0872bb;
  display: flex;
  width: fit-content;
  align-items: center;
  padding: 8px 16px; }
  .c-kcp_banner img {
    max-width: 285px; }
  .c-kcp_banner i {
    font-size: 2.4rem; }

.l-membership_kcp .bosyu {
  margin: 96px 0;
  background: #edf2f5;
  overflow: hidden;
  padding: 64px 0; }
.l-membership_kcp .u-flex-ce .cont {
  border-top: solid 10px #0872bb;
  padding: 30px 0;
  color: #0872bb; }
  @media screen and (min-width: 768px) {
    .l-membership_kcp .u-flex-ce .cont {
      width: 47%; } }
.l-membership_kcp .u-flex-ce h3 {
  font-size: 3.2rem;
  color: #0872bb; }
.l-membership_kcp .u-flex-ce .palette {
  border-top-color: #e60012; }
  .l-membership_kcp .u-flex-ce .palette h3:first-letter,
  .l-membership_kcp .u-flex-ce .palette h3 + p {
    color: #e60012; }
.l-membership_kcp .u-flex-ce .creation {
  border-top-color: #23ac38; }
  .l-membership_kcp .u-flex-ce .creation h3:first-letter,
  .l-membership_kcp .u-flex-ce .creation h3 + p {
    color: #23ac38; }

/*inquiry.scss
***************************************
          inquiry
*****************************************/
.c-contact_list {
  border-top: solid 1px #bbb; }
  .c-contact_list p {
    line-height: 1.5;
    font-size: 1.4rem;
    margin-top: 4px; }
  .c-contact_list .name b {
    font-weight: normal; }
  .c-contact_list .tel {
    margin-bottom: 24px; }
    .c-contact_list .tel a {
      font-size: 2.4rem; }
  .c-contact_list .fax {
    margin-bottom: 24px; }
  .c-contact_list .fax,
  .c-contact_list .mail {
    font-size: 1.8rem; }
  .c-contact_list .c-ico_fax {
    display: inline-block;
    width: 1.3em;
    height: 1em;
    background-image: url(../img/inquiry/ico_fax.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    vertical-align: -0.125em; }
  .c-contact_list i {
    font-size: 2.4rem;
    color: #999;
    margin-right: 24px; }
  @media screen and (min-width: 768px) {
    .c-contact_list {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      padding: 40px 0; }
      .c-contact_list > div {
        width: 50%; } }
  @media screen and (max-width: 767px) {
    .c-contact_list {
      padding: 40px 0; }
      .c-contact_list .name {
        margin-bottom: 24px; } }
