@charset "UTF-8";
@-ms-viewport {
  width: device-width;
}

/*
Theme Name: infomall-04
Description: infomall
Version: 4
Author: viscom
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
/*=======================
全体の設定
=======================*/
* {
  margin: 0;
  padding: 0;
}
/* * {
  outline: 1px solid pink;
} */
html {
  font-size: 62.5% !important;
}
img {
  width: 100%;
}
@media (hover: hover) {
  a:hover {
    color: var(--color-03);
    transition: 0.5s;
  }
}
body {
  font-family: YuGothic, "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  background: var(--color-bg-07);
}
body.overflow-hidden {
  overflow: hidden;
}
.viewport-dimensions{
  display: flex;
  gap: 10px;
}
.viewport-dimensions p{
  color: var(--color-01);
}
html {
  scroll-behavior: smooth;
}

/*-----------------------
css変数
-----------------------*/
:root {
  /* 色の設定 */
  --color-01: #fff;
  --color-02: #333;
  --color-03: #808080;
  --color-04: #e6e6e6;
  --color-05: #f2f2f2;
  --color-06: #fafafa;
  --color-07: #fcfcfc;
  --color-symbol: #cc148f;
  --color-pale-red: #fff2f2;
  --color-pale-red2: #ffd9d9;
  /* フォントの設定 */
  --font-ja: "Noto Sans JP", sans-serif;
  --font-en: "Roboto", sans-serif;
  --font-light: 300;
  --font-regular: 400;
  --font-medium: 600;
  --font-bold: 700;
  --font-extrabold: 800;
  --font-black: 900;
   /* ブレイクポイント */
   --sm: 480px;
   --md: 768px;
   --lg: 1024px;
   --xl: 1440px;
}
/*-----------------------
レスポンシブ
-----------------------*/

.sp {
  display: none;
}

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


/*-----------------------
ボタンの設定
-----------------------*/
.more-btn {
  margin-top: 30px;
  text-align: center;
}
.more-btn a {
  display: inline-block;
  text-align: center;
  border-radius: 5px;
  padding: 15px 60px;
  transition: 0.5s;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.3rem;
  color: var(--color-02);
  border: 0.1rem solid var(--color-02);
}
.more-btn a:hover {
  background-color: var(--color-bg-07);
  transition: 0.2s;
}
.more-btn a:hover p {
  transition: 0.5s;
  color: #fff;
}
@media screen and (max-width: 1000px) {
  .more-btn a:hover {
    border: 1px solid #333;
    background-color: #fff;
    transition: 0.5s;
    color: #fff;
  }
  .more-btn a:hover p {
    transition: 0.5s;
    color: #333;
  }
}
@media screen and (max-width: 450px) {
  .more-btn-ex a {
    width: 100%;
    padding: 20px 60px;
    margin-top: 20px;
  }
  .more-btn a {
    display: block;
    text-align: center;
    border: 1px solid #fff;
    border-radius: 5px;
    padding: 15px 60px;
    transition: 0.5s;
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: 0.3rem;
  }
}
/*=======================
コンポーネント
=======================*/
h2 {
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 400;
  margin-bottom: 15px;
  color: var(--color-symbol);
}
.history-box-page h3{
  font-family: var(--font-ja);
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: 10px;
  color: var(--color-symbol);

}
.message-bar h2 {
  color: var(--color-01);
  margin-bottom: 0px;
}
.linkbox h1 {
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 400;
  margin-bottom: 15px;
  color: var(--color-symbol);
}
h3,
h4,
h5 ,
.linkbox .page-content h3,
.linkbox .page-content h4,
.linkbox .page-content h5 {
  font-family: var(--font-ja);
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 5px;
  color: var(--color-02);
}
.toolbox h3::before,
.history-box h3::before,
.note-box h3::before,
.linkbox h3::before {
  content: "・"; /* 追加したい記号 */
  margin-right: 1px; /* 記号とh2要素の間のスペース */
  font-size: 1rem; /* 記号のサイズを調整（任意） */
  vertical-align: middle;
}
.toolbox h4::before,
.history-box h4::before,
.note-box h4::before,
.linkbox h4::before ,
.toolbox h5::before,
.history-box h5::before,
.note-box h5::before{
  content: "-"; /* 追加したい記号 */
  margin-right: 1px; /* 記号とh2要素の間のスペース */
  font-size: 1rem; /* 記号のサイズを調整（任意） */
}

p {
  font-family: var(--font-ja);
  font-weight: var(--font-regular);
  color: var(--color-02);
  font-size: 1rem;
  letter-spacing: 0.01rem;
  line-height: 160%;
}
.history-box-page .swiper-slide p {
  font-family: var(--font-ja);
  font-weight: var(--font-regular);
  color: var(--color-02);
  font-size: 1rem;
  letter-spacing: 0.01rem;
  line-height: 160%;
  margin-left: 5px;
  margin-bottom: 5px;
}
.linkbox .page-content li {
  font-family: var(--font-ja);
  font-weight: var(--font-regular);
  color: var(--color-02);
  font-size: 1rem;
  letter-spacing: 0.01rem;
  line-height: 160%;
}

.message-bar p {
  color: var(--color-01);
}
h2 span p {
  display: inline; /* pタグをインラインにする */
  margin: 0; /* pタグのデフォルトのマージンを削除 */
  margin-left: 5px;
  color: var(--color-02);
}
.breadcrumb {
  margin-bottom: 10px;
}
.breadcrumb ul {
  display: flex;
  gap: 5px;
  font-family: var(--font-ja);
  font-size: 1rem;
  color: var(--color-03);
}

/*-----------------------
投稿ページ
-----------------------*/
.post h2 {
  font-size: 1.8rem;
}
.post h3 {
  font-size: 1.6rem;
}
.post h4 {
  font-size: 1.6rem;
}
.post p {
  font-size: 1.6rem;
  letter-spacing: 0.05rem;
  line-height: 200%;
  margin-bottom: 20px;
}
.post-contents{
  margin-bottom: 50px;
}
.sidebar h2,
.sidebar h3,
.sidebar li {
  font-size: 1.2rem;
}
/* 記事の目次 */
#toc{
  border-top: solid 1px var(--color-04);
  border-bottom: solid 1px var(--color-04);
  margin-bottom: 30px;
  padding: 15px 15px;
}
#toc ul {
  list-style-type: none;
  padding: 0;
}
#toc > h2{
  font-size: 1.8rem;
}
#toc li {
  font-size: 1.2rem;
  margin: 5px 0;
}
#toc li h2,
#toc li h3,
#toc li h4 {
  margin-bottom: 9px;
}
#toc li h2 {
  font-size: 1.4rem;
}
#toc li h2::before {
  content: "・";
  font-size: 1.4rem;
}
#toc li h3 {
  font-size: 1.2rem;
  margin-left: 15px;
}
#toc li h3::before {
  content: "-";
  font-size: 1.2rem;
}
#toc li h4 {
  font-size: 1.0rem;
  margin-left: 25px;
}
#toc li h4::before {
  content: "-";
  font-size: 1.0rem;
}
#toc a {
  display: block;
  text-decoration: none;
  color: var(--color-02);
}
#toc a:hover {
  color: var(--color-symbol);
}
#toc a h2, #toc a h3, #toc a h4 {
  color: inherit; /* a の色を引き継ぐ */
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .post-contents{
    margin-bottom: 10px;
  }
}
/*-----------------------
prev/nextボタン
-----------------------*/
/* 全体のグループ */
.navigation-links {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto; /* 親要素に横幅を設定する場合、中央寄せ */
  border-top: solid 1px var(--color-04);
  padding-top: 15px;
}
/* 各グループ */
.previous-post,
.next-post {
  display: flex;
  justify-content: center;
}
/* 各リンク */
.previous-post-link,
.next-post-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  border-radius: 5px;
  width: 100%; /* リンクの幅を親要素の幅に合わせる */
  justify-content: center; /* 中央にタイトルを配置 */
}
/* ホバー時の処理 */
.previous-post-link:hover,
.next-post-link:hover {
  color: var(--color-symbol);
}
/* ラベル */
.previous-post-label,
.next-post-label {
  margin-right: 10px;
  font-family: var(--font-en);
  font-size: 1.2rem;
  font-weight: var(--font-medium);
  color: var(--color-symbol);
}
/* 記事タイトル */
.previous-post-title,
.next-post-title {
  font-size: 1.2rem;
}
@media screen and (max-width: 1080px) {
  /* 全体のグループ */
  .navigation-links {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 450px) {
  /* 全体のグループ */
  .navigation-links {
    display: block;
    margin-bottom: 50px;
    border-top: none;
    padding-top: 20px;
  }
  /* 各グループ */
  .previous-post,
  .next-post {
    display: block;

}
  .previous-post{
  margin-bottom: 10px;
}
  .previous-post-link,
  .next-post-link {
    display: block;
    border:solid 1px var(--color-symbol);
    padding: 20px 10px;
    border-radius: 5px;
  }
}
/*=======================
header
=======================*/
.header {
  position: fixed;
  z-index: 1000;
  width: 100%;
  background-color: var(--color-01);
  transition: all 0.7s ease;
}
.header .inr {
  padding: 20px 0;
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
.header .inr h1 {
  width: 150px;
  transition: all 0.7s ease;
}
/*-----------------------
ヘッダーナビ
-----------------------*/
.header-nav .menu-list{
  display: flex;
}
.header-nav .menu-list li{

    font-family: var(--font-en);
    font-weight: var(--font-regular);
    color: var(--color-symbol);
    font-size: 1rem;
    letter-spacing: 0.05rem;
    line-height: 160%;

}
/* メニューアイテムの間に「/」を挿入 */
.menu-list li + li::before {
  content: " / ";
  margin: 0 10px; /* スペースを調整 */
}
/*-----------------------
ヘッダースクロール
-----------------------*/
#header.scroll {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 999; /*最前面へ*/
  background-color: var(--color-01);
  transition: all 0.7s ease;
}
#header.scroll .inr {
  padding: 10px 0;
}
#header.scroll .inr h1 {
  width: 120px;
  transition: all 0.7s ease;
}
/*-----------------------
header-space
-----------------------*/
.header-space {
  padding-top: 73px;
} 
/*-----------------------
レスポンシブ
-----------------------*/
@media screen and (max-width: 1080px) {
  .header .inr {
    padding: 20px 0;
    max-width: 1000px;
    width: 90%;
  }
  #header.scroll .inr {
    padding: 15px 0;
  }
  #header.scroll .inr h1 {
    width: 60px;
    transition: all 0.4s ease;
  }
  .header-space {
    padding-top: 64px;
  }
}
@media screen and (max-width: 750px) {
  .header .inr {
    padding: 20px 0;
    max-width: 750px;
    width: 90%;
  }
  #header.scroll .inr {
    padding: 15px 0;
  }
  #header.scroll .inr h1 {
    width: 50%;
    transition: all 0.4s ease;
  }
  .header-space {
    padding-top: 64px;
  }
}
@media screen and (max-width: 450px) {
  .header .inr {
    gap: 10px;
    padding: 20px 0;
    width: 90%;
  }
  .header .inr h1 {
    width: 100px;
  }
  #header.scroll .inr {
    padding: 15px 0;
  }
  #header.scroll .inr h1 {
    width: 80px;
    transition: all 0.4s ease;
  }
  .header-space {
    padding-top: 62px;
  }
}
/*=======================
footer
=======================*/
.footer {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  color: var(--color-text-01);
  padding: 50px 30px;
  background-color: var(--color-symbol);
  border-radius: 5px;
  margin-bottom: 20px;
}
.footer .inr {

}
.footer .title {
  width: 100px;
}
.footer .inr .wrap {
  display: flex;
  align-items: center;
justify-content: space-between;
gap: 10px;
margin-bottom: 10px;
}
.footer .inr .wrap-right {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--color-01);
  font-family: var(--font-en);
  font-weight: var(--font-regular);
  font-size: 1rem;
  letter-spacing: 0.05rem;
}
.footer .inr .link-box,
.footer .inr .note,
.footer .inr .note {
  font-family: var(--font-en);
  font-weight: var(--font-regular);
  font-size: 1rem;
  letter-spacing: 0.05rem;
  background-color: transparent;
  width: auto;
}
/* テキストの後ろに|を追加 */
.footer .inr .link-box::after,
.footer .inr .note::after,
.footer .inr .contact::after {
  content: "|";
  margin-left: 5px; /* 必要に応じてスペースを調整 */
}

.footer .inr .copyright {
  font-family: var(--font-en);
  font-weight: var(--font-regular);
  font-size: 1rem;
  letter-spacing: 0.05rem;
}
@media screen and (max-width: 1080px) {
  .footer{
    padding: 40px 0;
  }
  .footer .inr {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    display: block;
  }
  .footer .inr .wrap {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 750px) {
  .footer{
    padding: 40px 0;
  }
  .footer .inr {
    max-width: 750px;
    width: 90%;
    margin: 0 auto;
    display: block;
  }
  .footer .inr .wrap {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 450px) {
  .footer {
    padding: 20px 0;
  }
  .footer .inr {
    width: 90%;
  }
  .footer .inr .title {
    width: 90px;
  }
  .footer .inr .wrap-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
  }
  .footer .inr .wrap-right div:last-child {
    margin-left: unset; /* 最後の要素を右端に寄せる */
  }
  .footer .inr .wrap-right p {
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: 0.2rem;
    color: #333;
  }
  .footer .inr .copyright {
    font-size: 1rem;
    text-align: center;
  }
}
/*=======================
front-page
=======================*/
/*-----------------------
共通
-----------------------*/
/* レイアウト */
.history-box .inr,
.focus-box .inr,
.note-box .inr {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
/* 記事タイトル */
.toolbox li,
.history-posts li,
.note-posts li {
  font-family: var(--font-ja);
  font-size: 1rem;
}
.history-item,
.note-item {
  width: 18%;
}
/* 目次の第二階層 */
.toolbox .category-list .category-list,
.history-box .swiper-slide > .category-list,
.notes-box .category-list .category-list,
.linkbox .wp-block-group__inner-container .wp-block-group {
  margin-left: 5px; /* 第一階層よりインデント */
  padding-left: 5px;
}
/* 目次の第三階層 */
.toolbox .category-list .category-list .category-list,
.history-box .category-list .category-list .category-list {
  margin-left: 5px; /* 第二階層よりさらにインデント */
}
/* 目次の第四階層（さらにインデントする場合） */
.toolbox .category-list .category-list .category-list .category-list,
.history-box .category-list .category-list .category-list .category-list {
  margin-left: 5px;
}
.post-list {
  margin-left: 5px;
  margin-bottom: 2px;
}
.post-item {
  margin-bottom: 2px;
}
.post-item a {
  text-decoration: underline;
}
/* sp--1080px */
@media screen and (max-width: 1080px) {
  /* レイアウト */
.history-box .inr,
.focus-box .inr,
.note-box .inr {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
}
}
/* sp--861px */
@media screen and (max-width: 861px) {
  /* レイアウト */
.history-box .inr,
.focus-box .inr,
.note-box .inr {
  max-width: 750px;
  width: 90%;
  margin: 0 auto;
}
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .history-box,
  .note-box {
    display: block;
  }
  .history-box > .category-list,
  .note-box .category-list {
    display: block;
    justify-content: space-between;
  }
  .history-item,
  .note-item {
    width: 90%;
  }
}
/*-----------------------
message-bar
-----------------------*/
.message-bar {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 10px 10px 10px 15px;
  background-color: var(--color-symbol);
  margin-bottom: 15px;
  border-radius: 5px;
}
.message-bar .inr {
  display: flex;
  gap: 10px;
  align-items: center;
}
/* tb-1080px */
@media (max-width: 1080px) {
  .message-bar {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    padding: 10px 10px 10px 15px;
    background-color: var(--color-symbol);
    margin-bottom: 15px;
  }
}
/* tb-810px */
@media (max-width: 810px) {
  .message-bar {
    max-width: 750px;
    width: 90%;
    margin: 0 auto;
    padding: 10px 10px 10px 15px;
    background-color: var(--color-symbol);
    margin-bottom: 15px;
  }
}
/* SP-450px */
@media (max-width: 450px) {
  .message-bar {
    padding: 10px;
  }
  .message-bar ul {
    grid-template-columns: 1fr; /* 1列レイアウトに切り替え */
  }
  .message-bar ul li:not(:first-child) {
    display: none; /* 最初の1枚だけ表示 */
  }
}
/*-----------------------
test-box
-----------------------*/
.test-box{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  margin-bottom: 15px;
}
.test-box .inr > .category-list{
  display: flex;
  justify-content: space-between;
}

/*-----------------------
toolbox&linkbox
-----------------------*/
.box-set{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 15px;
}
/* tb-1080px */
@media (max-width: 1080px) {
  .box-set{
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin-bottom: 15px;
  }
}
/* tb-861px */
@media (max-width: 861px) {
  .box-set{
    max-width: 750px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 450px) {
  .box-set{
    display: block;
    width: 90%;

  }
}
/*-----------------------
toolbox
-----------------------*/
.toolbox {
  width: 49.5%;
  border-radius: 5px;
  border: solid 1px var(--color-symbol);
}
.toolbox .inr {
  padding: 15px 15px;
}
.toolbox .inr > .category-list {
  display: flex;
  justify-content: space-between;
}
.toolbox .inr > .category-list > .category-item {
  width: 20%;
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .toolbox {
    width: 100%;
    margin-bottom: 10px;
  }
  .toolbox .inr > .category-list {
    flex-wrap: wrap;
  }
  .toolbox .inr > .category-list > .category-item {
    width: 50%;
  }
}
/*-----------------------
linkbox(front-page)
-----------------------*/
.link-box{
  width: 49.5%;
  border-radius: 5px;
  border: solid 1px var(--color-symbol);
}
.link-box .inr {
  padding: 15px 15px;
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .link-box{
    width: 100%;
  }
}
/*-----------------------
history
-----------------------*/
.history-box {
  width: 100%;
  margin: 0 auto;
}

.history-box h3 {
  margin-bottom: 5px;
}

.history-box > .category-list li {
  border-radius: 10px;
}
.history-box > .category-list > .category-item {
  width: 20%;
}
/*-----------------------
focus
-----------------------*/
.focus-box {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 50px
}
/*-----------------------
note
-----------------------*/
.note-box {
  margin-top: 30px;
  margin-bottom: 100px;
}
.note-box .inr > .category-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 20px;
}
.note-box .inr > .category-list > .category-item {
  width:33%;
  background-color: var(--color-06);
  padding: 20px;
  border-radius: 5px;
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .note-box .inr > .category-list {
    display: block;
  }
  .note-box .inr > .category-list > .category-item {
    width: 100%;
    margin-bottom: 10px;
  }
}
/*-----------------------
swiper
-----------------------*/
.swiper-area {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  position: relative;
}
.note-box .swiper-area {
  width: 100%;
  margin: 0 auto;
  padding: 20px 0;
  position: relative;
}
.swiper-container {
  overflow: hidden;
  padding-bottom: 15px;
}
.swiper-wrapper {
  height: 100%;
}
.swiper-slide {
  height: auto; /* 高さも適宜変更 */
  background-color: var(--color-06);
  padding: 20px;
  border-radius: 5px;
}
/* 前のスライドボタン */
.swiper-button-prev {
  position: absolute; /* 絶対位置で配置 */
  top: 50%; /* 上から50%の位置（中央寄せ） */
  left: -5%; /* 左端から10pxの位置 */
  transform: translateY(-50%); /* 垂直方向の中央に調整 */
  width: 30px;
  height: 30px;
  background-color: var(--color-06);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
/* 次のスライドボタン */
.swiper-button-next {
  position: absolute; /* 絶対位置で配置 */
  top: 50%; /* 上から50%の位置 */
  right: -5%; /* 右端から10pxの位置 */
  transform: translateY(-50%); /* 垂直方向の中央に調整 */
  width: 30px;
  height: 30px;
  background-color: var(--color-06);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
/* ボタンがホバーされたとき */
.swiper-button-prev:hover,
.swiper-button-next:hover {
  background-color: var(--color-05);
}
.swiper-button-next::after {
  content: "▶︎"; /* 右矢印 */
  font-size: 1rem;
  color: var(--color-03);
}
.swiper-button-prev::after {
  content: "◀︎"; /* 左矢印 */
  font-size: 1rem;
  color: var(--color-03);
}
.swiper-area .swiper-button-next.swiper-button-disabled,
.swiper-area .swiper-button-prev.swiper-button-disabled {
  opacity: 0;
  cursor: auto;
  pointer-events: none
}
/* ページネーション */
.swiper-area .swiper-pagination {
  text-align: right;
  top: -30px;
  z-index: 0;
}
.swiper-area .swiper-pagination-bullet {
  background-color: var(--color-03);
  color: var(--color-03);
  opacity: 0.2;
  width: 20px;
  height: 2px;
  border-radius: 0;
}
.swiper-area .swiper-pagination-bullet-active {
  background-color: var(--color-symbol);
  color: var(--color-symbol);
  opacity: 1;
}
/* sp--1080px */
@media screen and (max-width: 1080px) {
  .swiper-area {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    position: relative;
  }
  .swiper-button-prev,
  .swiper-button-next {
    display: none;
  }
}
/* sp--861px */
@media screen and (max-width: 861px) {
  .swiper-area {
    max-width: 750px;
    width: 90%;
    margin: 0 auto;
    position: relative;
  }
  .swiper-button-prev,
  .swiper-button-next {
    display: none;
  }
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .swiper-container {
    padding-bottom: 15px;
  }
  .swiper-button-prev,
  .swiper-button-next {
    display: none;
  }
}
/*-----------------------
swiper-focus
-----------------------*/
.swiper-area-focus {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  position: relative;
}
.focus-box .swiper-area {
  width: 100%;
  margin: 0 auto;
  padding: 20px 0;
  position: relative;
}
.swiper-container-focus {
  box-sizing: border-box; /* paddingとborderを含む */

  overflow: hidden;
  padding-bottom: 30px;
  background-color: var(--color-06);
  border-radius: 5px;
}
.swiper-area-focus .swiper-wrapper {
  padding: 20px;
  height: 100%;
}
.swiper-area-focus .swiper-slide {
  height: auto; /* 高さも適宜変更 */
  padding: 0;
}
/* 前のスライドボタン */
.swiper-button-prev-focus {
  position: absolute; /* 絶対位置で配置 */
  top: 30%; /* 上から50%の位置（中央寄せ） */
  left: -5%; /* 左端から10pxの位置 */
  transform: translateY(-50%); /* 垂直方向の中央に調整 */
  width: 30px;
  height: 30px;
  background-color: var(--color-06);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  z-index: 1;
}
/* 次のスライドボタン */
.swiper-button-next-focus {
  position: absolute; /* 絶対位置で配置 */
  top: 50%; /* 上から50%の位置 */
  right: -5%; /* 右端から10pxの位置 */
  transform: translateY(-50%); /* 垂直方向の中央に調整 */
  width: 30px;
  height: 30px;
  background-color: var(--color-06);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  z-index: 1;
}
/* ボタンがホバーされたとき */
.swiper-button-prev-focus:hover,
.swiper-button-next-focus:hover {
  background-color: var(--color-05);
}
/* ボタン内の矢印 */
.swiper-button-next-focus::after {
  content: "▶︎"; /* 右矢印 */
  font-size: 1rem;
  color: var(--color-03);
}

.swiper-button-prev-focus::after {
  content: "◀︎"; /* 左矢印 */
  font-size: 1rem;
  color: var(--color-03);
}
.swiper-button-next-focus.swiper-button-disabled,
.swiper-button-prev-focus.swiper-button-disabled {
  opacity: 0;
  cursor: auto;
  pointer-events: none
}
/* ページネーション */
.swiper-area-focus .swiper-pagination-focus {
  position:absolute;
  text-align: right;
  top: -30px;
}
.swiper-container-focus .swiper-pagination-bullets {
  bottom: 0px;
}
.swiper-pagination-focus .swiper-pagination-bullet {
  background-color: var(--color-03);
  color: var(--color-03);
  opacity: 0.2;
  width: 20px;
  height: 2px;
  border-radius: 0;
}
.swiper-pagination-focus .swiper-pagination-bullet-active {
  background-color: var(--color-symbol);
  color: var(--color-symbol);
  opacity: 1;
}
/* sp--1080px */
@media screen and (max-width: 1080px) {
.swiper-area-focus {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
  position: relative;
}
}
/* sp--861px */
@media screen and (max-width: 861px) {
.swiper-area-focus {
  max-width: 750px;
  width: 90%;
  margin: 0 auto;
  position: relative;
}
}
@media screen and (max-width: 450px) {
  /* 前のスライドボタン */
  .swiper-button-prev-focus,
  .swiper-button-next-focus {
   display: none;
  }
}
/*=======================
小目次
=======================*/
.history-box-page{
  margin-bottom: 100PX;
}
.history-box-page .inr{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
/*=======================
投稿ページ
=======================*/
/*-----------------------
共通
-----------------------*/
.post {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 140px 0;
}
.post .posts-wrap {
  display: flex;
}
.post .posts-single {
  width: 65%;
}
.post .sidebar {
  width: 30%;
}
.post-contents a {
  text-decoration: underline;
}
/* sp--1080px */
@media screen and (max-width: 1080px) {
  .post {
    max-width: 750px;
    width: 90%;
    margin: 0 auto;
    padding: 130px 0;
  }
  .post .posts-wrap {
    display: flex;
    flex-direction: column-reverse;
  }
  .post .posts-single {
    width: 100%;
  }
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .post {
    padding: 80px 0 10px 0;
  }
  .post .posts-wrap {
    display: flex;
    flex-direction: column-reverse;
  }
  
}
/*-----------------------
投稿ページ
-----------------------*/
.post .post-header {
  margin-bottom: 20px;
}

.post .post-header h1 {
  margin-bottom: 5px;
}
.post .post-contents figure {
  margin-bottom: 15px;
}
.post .post-contents h2 {
  font-family: var(--font-ja);
  font-weight: var(--font-medium);
  color: var(--color-02);
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
  padding: 8px 12px;
  margin-bottom: 20px;
  background: var(--color-04);
  border-left: solid 3px var(--color-02);
}
.post .post-contents h3 {
  font-family: var(--font-ja);
  font-weight: var(--font-medium);
  color: var(--color-02);
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
  padding: 6px 15px;
  margin-bottom: 20px;
  background-color: var(--color-06);
}
.post .post-contents h4 {
  font-family: var(--font-ja);
  font-weight: var(--font-medium);
  color: var(--color-02);
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
  padding: 6px 15px;
  margin-bottom: 20px;
  border-bottom: solid 1px var(--color-04);
}
.post .post-contents ol {
  margin-bottom: 20px;
  list-style-type: decimal;
  padding-left: 20px;
}
.post .post-contents ol > li {
  font-family: var(--font-ja);
  font-weight: var(--font-regular);
  color: var(--color-02);
  font-size: 1.4rem;
  letter-spacing: 0.05rem;
  line-height: 130%;
  margin-bottom: 5px;
}
.post .post-contents ul {
  margin: 20px 0;
  list-style-type: disc;
  padding-left: 20px;
}
.post .post-contents ul li {
  font-family: var(--font-ja);
  font-weight: var(--font-regular);
  color: var(--color-02);
  font-size: 1.4rem;
  letter-spacing: 0.05rem;
  line-height: 130%;
  margin-bottom: 5px;
}
.post .post-contents table td {
  font-family: var(--font-ja);
  font-weight: var(--font-regular);
  color: var(--color-02);
  font-size: 1.2rem;
  letter-spacing: 0.05rem;
  line-height: 160%;
}
/* tb--1000px */
@media screen and (max-width: 1000px) {
  .post .contents-wrap {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
  }
  .post .contents-wrap .news-wrap {
    background-color: var(--color-text-01);
    width: 100%;
    padding: 20px 20px;
    border-radius: 10px;
  }
  .post .contents-wrap .news-wrap .news-list .news-item {
    margin-bottom: 40px;
  }
  .post .posts-single {
    width: 100%;
    margin: 0 auto;
  }
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .post .contents-wrap {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    flex-direction: column;
    gap: 20px;
  }
  .post .contents-wrap .news-wrap {
    width: 100%;
  }
  .post .contents-wrap .news-wrap ul li a {
    display: block;
  }
  .post .contents-wrap .news-wrap ul li a figure {
    width: 100%;
  }
  .post .posts-single {
    width: 100%;
  }
  .post .post-contents p {
    font-size: 1.6rem;
    letter-spacing: 0.05rem;
    line-height: 180%;
  }
}
/*-----------------------
サイドバー
-----------------------*/
.post .sidebar {
  width: 30%;
}
.post .sidebar .related-categories:first-child {
  margin-bottom: 10px;
}
.post .sidebar ul {
  margin-bottom: 20px;
}
.post .sidebar li,
.post .sidebar p {
  font-family: var(--font-en);
  font-weight: var(--font-regular);
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  padding-left: 5px;
  margin-bottom: 2px;
}
/* sp--1080px */
@media screen and (max-width: 1080px) {
  .post .sidebar {
    width: 100%;
  }
  .post .sidebar .inr {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
  .post .sidebar .related-categories:first-child {
    margin-bottom: 0px;
  }
  .post .sidebar .related-categories {
    width: 49.5%;
    background-color: var(--color-06);
    padding: 30px 20px;
  }
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .post .sidebar {
    margin-top: 10px;
    width: 100%;
  }
  .post .sidebar .inr {
    display: block;
  }
  .post .sidebar .related-categories{
    width: 100%;
    padding: 20px 10px;
  }
  .post .sidebar .related-categories:first-child {
    margin-bottom: 10px;
  }
}

/*=======================
linkbox
=======================*/
.linkbox{
max-width: 1200px;
width: 90%;
margin: 0 auto;
margin-top: 30px;
margin-bottom: 100px;
}
.linkbox .page-content{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 20px;
}
.linkbox .page-content > .wp-block-group{
  width:33%;
  background-color: var(--color-06);
  padding: 20px;
  border-radius: 5px;
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .linkbox .page-content{
    display: block;
  }
  .linkbox .page-content > .wp-block-group{
    width:100%;
    margin-bottom: 10px;
  }
}
/*=======================
index共通
=======================*/
/*-----------------------
共通
-----------------------*/
.main .posts-wrap {
  display: flex;
  justify-content: space-between;
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .main .posts-wrap {
    display: flex;
    flex-direction: column-reverse;
  }
}

/*-----------------------
アーカイブ
-----------------------*/
.main .posts-top {
  width: 70%;
}
.main .posts-top .headline {
  font-family: var(--font-en);
  font-weight: var(--font-medium);
  font-size: 2.4rem;
  letter-spacing: 0.1rem;
  margin-bottom: 30px;
}
.main .posts-wrap .posts-top ul li {
  margin-bottom: 13px;
}
.main .posts-wrap .posts-top ul.tag-list li {
  margin-bottom: 0px;
}
.main .posts-wrap .posts-top ul li a {
  display: flex;
  align-items: center;
  gap: 20px;
}
.main .posts-wrap .posts-top ul li a figure {
  width: 30%;
}
.main .posts-wrap .posts-top ul li a figure img {
  background-size: cover;
}
.date-tag {
  display: flex;
  gap: 5px;
  align-items: center;
  font-family: var(--font-en);
  font-weight: var(--font-regular);
  font-size: 1rem;
  letter-spacing: 0.1rem;
  color: var(--color-03);
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .main .posts-top {
    width: 100%;
  }
}
/*-----------------------
page-navi
-----------------------*/
.page-nav {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}
.wp-pagenavi {
  display: flex;
  gap: 15px;
  margin-top: 50px;
}
/*=======================
index共通
=======================*/
/*-----------------------
共通
-----------------------*/
.main {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  margin-top: 30px;
  margin-bottom: 100px;
}
.main .inr{

}
.main .inr .mv {
  margin-bottom: 10px;
}
.main .inr .page-wrap {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 40px;
}
/*-----------------------
404
-----------------------*/
.main .mv {
  margin-bottom: 40px;
}
.main .title-page {
  font-family: var(--font-en);
  font-weight: var(--font-regular);
  font-size: 1.4rem;
  color: var(--color-symbol);
}
.mv p {
  font-family: var(--font-ja);
  font-weight: var(--font-medium);
  font-size: 2.2rem;
  letter-spacing: 0.1rem;
  color: var(--color-symbol);
}
.main .notfound-wrap {
  background-color: var(--color-symbol);
  padding: 60px;
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
}
.main .notfound-wrap p {
  font-family: var(--font-ja);
  font-weight: var(--font-regular);
  color: var(--color-01);
  letter-spacing: 0.1rem;
  line-height: 180%;
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .main {
    padding: 0;
  }
}
/*-----------------------
プライバシーポリシー
-----------------------*/
.main .privacy-wrap {
  max-width: 700px;
  width: 90%;
}
.main .privacy-wrap h2 {
  font-family: var(--font-ja);
  font-weight: var(--font-medium);
  color: var(--color-02);
  font-size: 1.0rem;
  letter-spacing: 0.1rem;
  margin-bottom: 3px;
}
.main .privacy-wrap p {
  font-family: var(--font-ja);
  font-weight: var(--font-regular);
  color: var(--color-02);
  font-size: 1rem;
  letter-spacing: 0.1rem;
  margin-bottom: 20px;
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .main .privacy-wrap {
    width: 100%;
  }
}
/*-----------------------
コンタクト
-----------------------*/
.main .contact-wrap p {
  font-family: var(--font-ja);
  font-weight: var(--font-regular);
  font-size: 1.0rem;
  letter-spacing: 0.05rem;
  margin-bottom: 5px;
}
.main .contact-wrap dt {
  font-family: var(--font-ja);
  font-weight: var(--font-regular);
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  margin-bottom: 5px;
}
.main .contact-wrap dd {
  width: 500px;
  margin-bottom: 5px;
}
.main .contact-wrap dd input {
  width: 500px;
  padding: 5px 5px;
  font-family: var(--font-ja);
  font-weight: var(--font-regular);
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  border: solid 1px var(--color-04);
}
.main .contact-wrap dd textarea {
  width: 500px;
  border: solid 1px var(--color-04);
}
.main .contact-wrap .btn-wrapper input {
  display: inline-block;
  text-align: center;
  border-radius: 5px;
  padding: 15px 60px;
  transition: 0.5s;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.3rem;
  color: var(--color-01);
  border: 0.1rem solid var(--color-symbol);
  margin-top: 20px;
  background-color: var(--color-symbol);
}
.main .contact-wrap .btn-wrapper input:hover {
  color: var(--color-01);
  background-color: var(--color-pale-red2);
  transition: 0.5s;
}
/* sp--450px */
@media screen and (max-width: 450px) {
  .main .contact-wrap dd,
  .main .contact-wrap dd input,
  .main .contact-wrap dd textarea {
    width: 100%;
  }
  .main .contact-wrap .btn-wrapper {
width: 100%;
text-align: center;
  }
  .main .contact-wrap .wpcf7-spinner{
    display: none;
      }
  .main .contact-wrap .btn-wrapper input {
    display: inline-block;
    text-align: center;
    border-radius: 5px;
    padding: 20px 0;
    transition: 0.5s;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.3rem;
    color: var(--color-01);
    border: 0.1rem solid var(--color-symbol);
    margin-top: 20px;
    background-color: var(--color-symbol);
    width: 100%;
  }
  .main .contact-wrap .btn-wrapper input:hover {
    color: var(--color-01);
    background-color: var(--color-symbol);
  }
}
/*=======================
アニメーション
=======================*/
/* fadeDown */
.fadeDown {
  animation-name: fadeDownAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* fadeUP */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(+150px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* fadeRight */
.fadeRight {
  animation-name: fadeRightAnime;
  animation-duration: 3s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(-150px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* fadeInUp */
.fadeInUp {
  opacity: 0;
  transform: translateY(30px);
  transition: all 1.3s;
}
.fadeInUp.visible {
  opacity: 1;
  transform: translateY(0px);
}


