@charset "UTF-8";
/* CSS Document */
/* ========================================================
変数
======================================================== */
/* ========================================================
mixin
======================================================== */
/*margin
------------------------------------------------------------------------------------------------------------------*/
/*content
------------------------------------------------------------------------------------------------------------------*/
/*font-weight
------------------------------------------------------------------------------------------------------------------*/
/*formパーツ　input
------------------------------------------------------------------------------------------------------------------*/
/*#ehader 字下げ用
------------------------------------------------------------------------------------------------------------------*/
/*moduleスライドパーツ
------------------------------------------------------------------------------------------------------------------*/
/*module 画像のみスライドパーツ 960用
------------------------------------------------------------------------------------------------------------------*/
/*module 画像のみスライドパーツ 480用
------------------------------------------------------------------------------------------------------------------*/
/*list あしらい付き見出し用共通設定
------------------------------------------------------------------------------------------------------------------*/
/*title_set
------------------------------------------------------------------------------------------------------------------*/
/*midashi　全般　あしらいset　案2用
------------------------------------------------------------------------------------------------------------------*/
/* 背景が灰色 */
/* 全体を線で囲う */
/* 左に縦線 */
/* 下線　丸い点線 */
/* 下線　横長点線 */
/*midashi　全般　あしらいset 案1用
------------------------------------------------------------------------------------------------------------------*/
/* 2色重なってる横棒デザイン　変数で長さ位置調整 */
/* 左に2色の縦線 */
/* 横幅いっぱいに下線　1本 */
/* 左に縦線 */
/* 背景色を引いた見出し */
/* 左に横棒 */
/*cms_midashi　文字サイズと基本スタイル
------------------------------------------------------------------------------------------------------------------*/
/*cms_midashi_pict アイコン付見出しセット
------------------------------------------------------------------------------------------------------------------*/
/*midashi_set　文字サイズと基本スタイル
------------------------------------------------------------------------------------------------------------------*/
/*title_set モノクロアイコン用
------------------------------------------------------------------------------------------------------------------*/
/* @mixin tile_ico($bg_img: url(../images/parts/ico_call_02.svg), $size: 1.5em, $posi_top: 0.2em, $posi_left: 0) {
	background: $bg_img no-repeat;
	background-size: $size;
	background-position: top $posi_top left $posi_left;
} */
/*title_set ピンアイコン用
------------------------------------------------------------------------------------------------------------------*/
/*title_set ピンアイコン用 同時だし用 アイコンあり
------------------------------------------------------------------------------------------------------------------*/
/*title_set ピンアイコン用 同時だし用 アイコンなし
------------------------------------------------------------------------------------------------------------------*/
/*page_menu_list 階層1段目　デザイン
------------------------------------------------------------------------------------------------------------------*/
/*page_menu_list 階層2段目　デザイン
------------------------------------------------------------------------------------------------------------------*/
/*
------------------------------------------------------------------------------------------------------------------*/
/*top用　色反転パーツ
------------------------------------------------------------------------------------------------------------------*/
.tab_jamp_area2 {
  z-index: 9999;
}

img {
  pointer-events: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -khtml-user-select: none !important;
  -ms-user-select: none !important;
  user-drag: none !important;
  -webkit-user-drag: none !important;
  -moz-user-drag: none !important;
  -khtml-user-drag: none !important;
  -ms-user-drag: none !important;
}

.image-link.image-wrap {
  cursor: pointer;
  display: inline-block;
  -webkit-touch-callout: none !important; /* iphone ipadリンク長押しのポップアップを無効化 */
  -webkit-user-select: none !important; /* iphone ipad テキスト長押しの選択ボックスを無効化 */
}

/*top_cate_list 学校日記SPカテゴリ用
---------------------------------------------------------------------------------------------------------------------------------------------------*/
.top_cate {
  display: none;
}

@media screen and (max-width: 680px) {
  .top_cate {
    display: block;
    color: var(--base-color0);
    background: var(--base-color1);
  }
  .top_cate_title {
    position: relative;
    font-size: 1rem;
    padding: 0.8rem 0.5rem 0.8rem 3rem;
  }
  .top_cate_title:before {
    position: absolute;
    content: "";
    background: url("../images/parts/arrow_black.svg") no-repeat;
    width: 1rem;
    height: 1rem;
    left: 1rem;
    top: 1rem;
    filter: brightness(0) invert(1);
    transform: rotate(90deg);
  }
  .top_cate_title.active:before {
    top: 1rem;
    transform: rotate(-90deg);
  }
  .top_cate_box {
    display: none;
  }
  .top_cate_list a {
    border-top: 1px var(--base-color0) solid;
    font-size: 1.2rem;
    color: var(--base-color0);
    display: block;
    padding: 1rem;
  }
  .top_cate_list li:last-child a {
    border-bottom: 1px var(--base-color0) solid;
  }
  .top_cate_close {
    padding: 0.5rem 0;
    width: 2rem;
    margin: auto;
  }
  .top_cate_close img {
    filter: brightness(0) invert(1);
    width: 100%;
  }
}
.originalWhite,
.originalBlack {
  background-color: var(--bg-color_g1) !important;
}

/*page_title_area 下層ページタイトル
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.page_title_area {
  text-align: center;
  background: var(--bg-color_g1);
  position: relative;
  overflow: hidden;
  z-index: 0;
  padding: 3rem 0 5rem 0;
}
.page_title_area:before {
  content: "";
  background: url(../images/parts/page_title_bg.svg) no-repeat;
  background-position: bottom 0 center;
  background-size: cover;
  height: 6vw;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -1px;
  z-index: 2;
  transform: translateY(2px);
}

.page_title_area_w {
  max-width: 1200px;
  margin: auto;
}

.page_title {
  font-weight: bold;
  font-size: 3.4rem;
  z-index: 2;
  position: relative;
}
.page_title:before {
  content: "";
  background: var(--base-color1);
  background: var(--base-color1);
  height: 5px;
  width: 5rem;
  position: absolute;
  bottom: -2rem;
  left: 50%;
  border-radius: 5px;
  transform: translate(-50%, 0%);
  z-index: 3;
}

.page_title.ico_tag {
  padding-left: 1em;
  display: inline-block;
  background: url(../images/parts/ico_tag.svg) no-repeat;
  background-size: 0.8em;
  background-position: top 0.4em left 0;
}

.page_title_img {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.page_title_img img {
  width: 100%;
  opacity: 0.3;
}

@media screen and (max-width: 480px) {
  .page_title_area {
    padding: 2rem 0 3rem 0;
  }
  .page_title_area:before {
    height: 1.6em !important;
  }
  .page_title {
    font-size: 2.2rem;
  }
  .page_title:before {
    bottom: -1rem;
  }
}
/*colum2_fex 2カラム 
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.column2_flex {
  display: flex;
  justify-content: space-between;
}

/*反転*/
@media screen and (min-width: 681px), print {
  .column2_flex.reversal {
    flex-direction: row-reverse;
  }
}
.col2_box_01 {
  width: 67%;
  margin-right: 3%;
}

.col2_box_02 {
  width: 23%;
  padding: 3rem 3%;
  background: var(--normal-white-black);
}

@media screen and (max-width: 1200px) {
  .column2_flex {
    max-width: 90%;
    margin: auto;
  }
}
@media screen and (max-width: 680px) {
  .column2_flex {
    max-width: none;
    display: block;
  }
  .col2_box_01,
  .col2_box_02 {
    width: 100%;
    margin: auto;
  }
  .col2_box_02 {
    padding: 3rem 0;
  }
}
/*diary*/
@media screen and (max-width: 680px) {
  .diary .col2_box_02 {
    border-top: 1px solid #cccccc;
    padding-top: 4rem;
    margin-top: 5rem;
  }
}
/*column2_ab 2カラム 案2 
--------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (width >= 960px), print {
  .column2_ab .page_title_area:before {
    height: 7.9em;
  }
  .column2_ab .column2_ab_w {
    max-width: 80%;
    margin: auto;
    padding-bottom: 6rem;
  }
  .column2_ab .column2_flex {
    overflow: hidden;
  }
  .column2_ab .column2_flex .col2_box_02 {
    width: 20%;
    padding: 3rem 3%;
    background: var(--normal-white-black);
  }
  .column2_ab .column2_flex .col2_box_01 {
    width: 79%;
    margin-right: auto;
  }
  .column2_ab.handout_all_area {
    padding: 0 0 0rem 0;
  }
  .column2_ab.handout_all_area .col2_box_02_sp {
    display: none;
  }
  /*反転 */
  .column2_ab.reversal .column2_flex {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 1800px) {
  .column2_ab .column2_flex {
    max-width: 100%;
  }
  .back_num select {
    font-size: 1.4rem !important;
    padding: 1rem 3.1rem 1rem 0.2rem !important;
  }
}
@media screen and (max-width: 1366px) {
  .column2_ab .column2_ab_w {
    max-width: 90%;
    margin: auto;
    padding-bottom: 6rem;
  }
  .column2_ab .column2_flex .col2_box_01 {
    width: 79%;
    margin-right: auto;
  }
  .column2_ab .column2_flex .col2_box_02 {
    width: 20%;
    padding: 3rem 2%;
  }
}
@media screen and (max-width: 960px) {
  .column2_ab {
    /*   .page_title_area {
      &:before {
        content: "";
        height: 3vw;
      }
    } */
  }
  .column2_ab .column2_flex .column2_ab_w {
    width: 90%;
    margin: auto;
    padding-bottom: 3rem;
  }
  .column2_ab .column2_flex .handout_all_flex {
    margin-top: 10%;
  }
  .column2_ab .column2_flex .handout_all_flex > * {
    width: 48%;
    margin-right: 2%;
    margin-bottom: 10%;
  }
  .column2_ab.handout_all_area {
    padding: 0 0 0rem 0;
  }
  .column2_ab.handout_all_area .col2_box_02_sp {
    display: none;
  }
}
@media screen and (max-width: 680px) {
  .column2_ab .column2_flex {
    display: block;
  }
  .column2_ab .column2_flex .col2_box_01 {
    width: 100%;
    margin-right: auto;
  }
  .column2_ab .column2_flex .col2_box_02 {
    width: 100%;
    padding: 5rem 0 5rem 0;
  }
  .column2_ab .column2_flex .col2_box_02 .back_num {
    width: 90% !important;
  }
  .column2_ab .column2_flex .handout_all_flex {
    margin-top: 10%;
  }
  .column2_ab .column2_flex .handout_all_flex > * {
    width: 100%;
    margin-right: auto;
  }
  .column2_ab .side_section + .side_section {
    margin-top: 5% !important;
  }
  .column2_ab .side_menu_area {
    padding-bottom: 0rem;
    /* .side_title {
      display: none;
    } */
  }
  .handout_all_area .col2_box_02 {
    display: none;
  }
  .handout_all_area .col2_box_02_sp {
    padding: 1rem 0;
    display: block !important;
  }
  .handout_all_area .col2_box_02_sp .side_section {
    padding-bottom: 0rem;
    border-radius: 0;
    max-width: 100% !important;
  }
}
/*white_box
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.white_box {
  padding: 3rem;
  background: var(--base-color0);
  border-radius: 2rem;
}

@media screen and (max-width: 680px) {
  .white_box {
    padding: 2rem;
  }
}
/*module_pd
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.module_pd {
  padding: 8rem 0 8rem 0;
}

@media screen and (max-width: 680px) {
  .module_pd {
    padding: 4rem 0 5rem 0;
  }
}
/*disc_list
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.disc_list a {
  text-decoration: underline;
  color: var(--normal-black-white);
  position: relative;
  padding-left: 1em;
  display: block;
}
.disc_list a:hover {
  text-decoration: none;
}

ul.disc_list li a:before {
  content: "・";
  position: absolute;
  left: 0;
}

/*top____
=======================================================================================================================================*/
/*top_emergency
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.top_emergency {
  padding: 8rem 0;
  background: var(--bg-color_y4);
}
.top_emergency_flex {
  padding: 2rem 0rem;
  border: solid 3px var(--bg-color_y2);
  border-radius: 3rem;
  display: flex;
  background: var(--base-color0);
}
.top_emergency_flex .text_box {
  border-left: dashed 2px var(--bg-color_y2);
  width: 80%;
  padding: 4rem 3rem;
  /* color: var(--color-black); */
}

@media screen and (max-width: 1200px) {
  .top_emergency_flex {
    max-width: 90%;
  }
}
@media screen and (max-width: 960px) {
  .top_emergency {
    padding: 4rem 0;
  }
  .top_emergency .text_box {
    width: 65%;
  }
}
@media screen and (max-width: 680px) {
  .top_emergency {
    overflow: hidden;
  }
  .top_emergency_title {
    width: auto;
  }
  .top_emergency_flex {
    border-radius: 2rem;
    display: block;
    max-width: 85%;
  }
  .top_emergency_flex .text_box {
    border-left: none;
    border-top: dashed 2px var(--bg-color_y2);
    width: 90%;
    margin: auto;
    padding: 0rem 0rem;
    font-size: 1.5rem;
  }
}
/*top_emergency_title*/
.top_emergency_title {
  position: relative;
  width: 20%;
  z-index: 0;
  text-align: center;
  display: flex;
  justify-content: center;
  font-size: 2.2rem;
  font-weight: bold;
  padding: 0 1em;
}
.top_emergency_title:after {
  content: "";
  background: url(../images/parts/ico_ex_top.svg) no-repeat;
  background-size: contain;
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: -2rem;
  transform: translate(0%, -50%);
}

@media screen and (max-width: 960px) {
  .top_emergency_title {
    width: 35%;
  }
}
@media screen and (max-width: 680px) {
  /*top_emergency_title*/
  .top_emergency_title {
    padding: 0.5em 0;
    margin-bottom: 1em;
    width: 100%;
    font-size: 1.7rem;
    margin-left: auto;
  }
  .top_emergency_title:before {
    width: 100%;
    height: 100%;
  }
}
/*info_list
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.info_list > li + li {
  margin-top: 1rem;
}
.info_list .info_list_inner {
  display: flex;
  justify-content: space-between;
  display: flex;
  background: var(--base-color0);
  border-radius: 10rem;
  padding: 1rem 3em 1rem 3em;
}
.info_list .info_list_inner .date {
  width: 10em;
  line-height: 1.5;
  color: var(--base-color3);
}
.info_list .info_list_inner .text_box {
  width: calc(100% - 10em);
}
.info_list .info_list_inner .text_box a {
  text-decoration: underline;
  color: var(--base-color3);
}
.info_list .info_list_inner .text_box a:hover {
  text-decoration: none;
}

@media screen and (max-width: 680px) {
  .info_list > li + li {
    margin-top: 2rem;
  }
  .info_list .info_list_inner {
    border-radius: 1rem;
    padding: 1rem 3.5em 1rem 1.5em;
    font-size: 1.5rem;
    display: block;
  }
  .info_list .info_list_inner .date,
  .info_list .info_list_inner .text_box {
    width: auto;
  }
}
/* info_list_02
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.info_list_02 > li {
  padding: 2rem 6rem 1.5rem 6rem;
  background: var(--bg-color_g2);
  border-radius: 3rem;
}
.info_list_02 > li + li {
  margin-top: 2rem;
}
.info_list_02 .info_list_inner {
  display: flex;
  justify-content: space-between;
  display: flex;
}
.info_list_02 .info_list_inner .date {
  width: 20%;
}
.info_list_02 .info_list_inner .text_box {
  width: 85%;
  font-size: 1.3rem;
  color: var(--color-gray);
}

.info_list_02_title {
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
}

.info_list_02 .info_list_inner .text_box .tag_list {
  margin-top: 1rem;
}

@media screen and (max-width: 680px) {
  .info_list_02 > li {
    border-radius: 2rem;
    padding: 1.5rem 3rem 1rem 3rem;
  }
  .info_list_02 > li + li {
    margin-top: 2rem;
  }
  .info_list_02 .info_list_inner {
    display: block;
  }
  .info_list_02 .info_list_inner .date,
  .info_list_02 .info_list_inner .text_box {
    width: auto;
  }
}
/*  handout_list
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.handout_list > li {
  padding: 2rem 6rem 1.5rem 6rem;
  background: var(--base-color0);
  /*   box-shadow: var(--shadow); */
  border-radius: 3rem;
}
.handout_list > li + li {
  margin-top: 2rem;
}

.handout_list_title {
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: 0.3rem !important;
}
.handout_list_title a {
  text-decoration: underline;
  color: var(--base-color3);
  overflow-wrap: break-word;
}
.handout_list_title a:hover {
  text-decoration: none;
}

.handout_list .handout_list_inner .tag_list {
  margin-top: 1rem;
}

.handout_list_inner {
  width: 100%;
  font-size: 1.3rem;
  color: var(--color-gray);
}
.handout_list_inner > * {
  margin-bottom: 1rem;
  overflow-wrap: break-word;
}
.handout_list_inner > a {
  display: inline-block;
}
.handout_list_inner .card_date {
  margin-top: 0.1rem !important;
  margin-bottom: 0.1rem !important;
}

.handout_list_inner .tag_list {
  margin-top: 0.1rem !important;
  margin-bottom: 0.1rem !important;
}

@media screen and (max-width: 680px) {
  .handout_list > li {
    padding: 1.5rem 2rem 1.5rem 2rem;
    border-radius: 2rem;
  }
}
/*  handout_all_list
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.handout_box {
  background: var(--base-color0);
  /*  box-shadow: var(--shadow); */
  position: relative;
  border-radius: 2rem;
}
.handout_box .handout_all_list {
  padding-top: 1rem;
  max-width: 90%;
  margin: auto;
}
.handout_box .handout_all_list > li {
  padding: 1rem 0;
}
.handout_box_list {
  padding: 2rem 0 3rem;
  max-width: 85%;
  margin: auto;
}
.handout_box_list > li {
  position: relative;
  position: relative;
  padding-left: 1em;
  margin-bottom: 1em;
  border-bottom: 2px dashed var(--color-gray3);
  padding-bottom: 0.5em;
}
.handout_box_list > li:before {
  content: "●";
  position: absolute;
  left: 0;
  color: var(--base-color1);
}
.handout_box_title {
  padding: 0.4em 0;
  /* min-width: 100%; */
  width: 90%;
  margin: auto;
  font-size: 1.9rem;
  border-radius: 2rem;
  margin-top: -3rem;
  /* position: absolute;
  top: -2rem;
  left: 50%;
  transform: translate(-50%, -0%); */
  text-align: center;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--bg-color_y4);
}
@media screen and (max-width: 960px) {
  .handout_box_title {
    font-size: 1.4rem;
    min-width: 45%;
  }
}
@media screen and (max-width: 680px) {
  .handout_box_title {
    min-width: 70%;
  }
}

@media screen and (max-width: 680px) {
  .handout_box {
    border-radius: 1rem;
  }
  .handout_box .handout_all_list {
    padding-top: 0;
  }
}
/*  handout_center_flex センターTOP用
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.handout_center_flex {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3rem;
}
.handout_center_flex > * {
  width: 30.5%;
  margin-right: 4%;
  margin-bottom: 4%;
}
.handout_center_flex > *:nth-child(3n) {
  margin-right: auto;
}
.handout_center_flex > *:nth-child(even) .handout_box_title {
  background: var(--bg-color_y2);
}

@media screen and (max-width: 960px) {
  .handout_center_flex .handout_box_title {
    margin-top: -2rem;
  }
  .handout_list_inner .card_date {
    padding-top: 0;
  }
  .handout_list_inner .card_date dl + dl {
    margin-left: 0;
  }
}
@media screen and (max-width: 680px) {
  .handout_center_flex {
    display: block;
  }
  .handout_center_flex > * {
    width: 100%;
    margin-bottom: 12%;
    margin-right: auto;
  }
  .handout_center_flex > *:nth-child(2n) {
    margin-right: auto;
  }
  .handout_box_title {
    margin-top: 0rem;
    position: relative;
    top: -2rem;
  }
  .handout_box_list {
    padding: 0rem 0 3rem;
  }
  .handout_list_inner .card_date dl + dl {
    margin-left: 2%;
  }
}
@media screen and (max-width: 480px) {
  .handout_center_flex {
    display: block;
    margin-top: 3rem;
  }
  .handout_center_flex > * {
    margin-bottom: 20%;
  }
}
/*  handout_detail_list 横に線
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.handout_detail_list {
  padding-bottom: 3rem;
}
.handout_detail_list > li {
  position: relative;
  margin: 2rem auto;
  padding: 0 3rem;
  display: flex;
  border-bottom: 1px dashed #707070;
}
.handout_detail_list > li:before {
  content: "";
  height: calc(100% - 0.5rem);
  /*    height: calc(100% - 3.3rem);*/
  width: 6px;
  background: var(--base-color1);
  position: absolute;
  top: 0rem;
  left: 0;
  border-radius: 10px;
}
.handout_detail_list > li .cate {
  margin-top: 0;
}

@media screen and (max-width: 680px) {
  .handout_detail_list {
    padding-top: 0rem;
    padding-bottom: 1rem;
  }
}
/* sq_link_list
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.sq_link_list {
  display: flex;
  flex-wrap: wrap;
}
.sq_link_list li {
  width: 30%;
  position: relative;
  margin-bottom: 5%;
  margin-right: 5%;
  position: relative;
  transition: all 0.15s ease;
  background-size: 1em;
  background-position: top 50% right 1em;
}
.sq_link_list li:after {
  position: absolute;
  content: "";
  background: var(--bg-color_y2);
  width: 3rem;
  height: 3rem;
  top: -1rem;
  left: 50%;
  border-radius: 3rem;
  transform: translate(-50%, 0%);
  z-index: 3;
}
.sq_link_list li:hover a, .sq_link_list li:has(a:focus-visible) a {
  color: var(--base-color4) !important;
  opacity: 0.7;
  outline: none !important;
}
.sq_link_list li:has(a:focus-visible) {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: 2px;
  border-radius: 1rem;
}
.sq_link_list li:nth-child(3n) {
  margin-right: 0;
}
.sq_link_list li:nth-child(even):after {
  background: var(--bg-color_y4);
}
.sq_link_list li a {
  aspect-ratio: 1/0.5;
  padding: 1.5em 1.5em 1.5em 1em;
  overflow: hidden;
  line-height: 1.4;
  position: relative;
  display: grid;
  place-items: center;
  text-align: center;
  border-radius: 1rem;
  font-weight: bold;
  font-size: 1.8rem;
  background: var(--base-color0);
}
.sq_link_list li a:before {
  position: absolute;
  content: "";
  border: solid 2px var(--base-color1);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95%;
  height: 90%;
  border-radius: 0.8rem;
  z-index: 2;
}
.sq_link_list li a .img {
  position: absolute;
  opacity: 0.5;
  height: auto;
}
.sq_link_list li a span {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
}
.sq_link_list li a span:before {
  content: "";
  position: absolute;
  background: url(../images/parts/arrow2_green.svg) no-repeat;
  width: 1rem;
  height: 1.8rem;
  top: 50%;
  transform: translate(0%, -50%);
  right: -1.5rem;
  z-index: 1;
}

@media screen and (max-width: 680px) {
  .sq_link_list li {
    width: 100%;
    margin-right: auto;
    margin-bottom: 8%;
  }
  .sq_link_list li:last-child {
    margin-bottom: 0;
  }
  .sq_link_list li a {
    aspect-ratio: 1/0.3;
    padding: 1em 2em 1em 1em;
    font-size: 1.8rem;
  }
  .sq_link_list li a:before {
    width: 96%;
    height: 82%;
  }
}
/* card_list
===============================================================================*/
/*スライドあり*/
.card_list.slick-slider > div > div > li {
  margin: auto 1.5rem;
  padding: 1rem 0;
}

/*スライドなし*/
.card_list_inner {
  font-size: 1.5rem;
}
.card_list_inner .text_box {
  padding: 1rem 0.6rem;
}

@media screen and (max-width: 680px) {
  .card_list > li + li {
    margin-top: 3rem;
  }
}
/* 丸型サムネイル サイズ調整　基本*/
.card_list_inner .img {
  position: relative;
  text-align: center;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.card_list_inner .img img {
  border-radius: 100%;
  width: 80% !important;
  aspect-ratio: 1/1 !important;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit: cover; object-position: center;";
}
.card_list_inner .text_box a.blogtitle {
  display: inline-block;
  width: 100%;
}

/*card_parts
--------------------------------------------------------------------------------------------------------------------------------------------------*/
/*element、center_mess_list、でも使用*/
.card_parts .img img {
  width: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit: cover; object-position: center;";
}

.card_parts_title {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
  position: relative;
  border-bottom: 3px dashed var(--base-color1);
  padding-bottom: 0.2em;
}
.card_parts_title.b_l {
  padding-left: 1rem;
  border-left: 6px solid var(--base-color1);
}

.card_parts > a:focus-visible .img img {
  outline: 2px solid var(--black-black-black) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-white);
  outline-offset: -2px;
}

/*center_mess_list_date
--------------------------------------------------------------------------------------------------------------------------------------------------*/
.card_date {
  display: flex;
  font-size: 1.1rem;
  color: var(--black-black-white);
  padding-top: 1.5rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.card_date_text {
  font-size: 1.6rem;
  line-height: 1;
}
.card_date dl {
  display: flex;
  font-size: 1.1rem;
  color: var(--black-black-white);
}
.card_date dl + dl {
  margin-left: 3%;
}
.card_date dl dt {
  padding-right: 0.5rem;
  position: relative;
}
.card_date dl dt:before {
  content: "：";
  position: absolute;
  right: 0rem;
  height: 100%;
  width: 0.5rem;
}

.schedule_list_part_text_box .card_date {
  padding-top: 0;
}

.slick-slider .card_date {
  display: block;
}
.slick-slider .card_date .new_front {
  padding-left: 0 !important;
}
.slick-slider .card_date .new_front:before {
  top: -1.9rem;
}
.slick-slider .card_date dl + dl {
  margin-left: 0 !important;
}
.slick-slider .card_date dl dt {
  font-size: 1.3rem;
}
.slick-slider .card_date dl dd {
  font-size: 1.3rem;
}

.date {
  line-height: 1.2;
  font-size: 1.5rem;
}

.cate {
  border-radius: 2rem;
  border: solid 1px var(--base-color1);
  font-size: 1.3rem;
  display: inline-block;
  padding: 0.5rem 0.5rem;
  margin-top: 1.5rem;
  color: var(--base-color1);
}

.place {
  color: var(--color-gray);
  font-size: 1.4rem;
}

@media screen and (max-width: 680px) {
  .card_parts_title {
    font-size: 1.5rem;
  }
  .place {
    font-size: 1.2rem;
  }
}
.center_mess_list .card_parts .img {
  margin-right: 10px;
}
.center_mess_list li {
  margin-bottom: 2rem;
  padding-bottom: 1em;
  border-bottom: 3px dashed var(--base-color1);
}
.center_mess_list li:last-child {
  border-bottom: none;
}
.center_mess_list li .card_parts_title {
  border-bottom: none;
}

@media screen and (max-width: 480px) {
  .card_date_text {
    font-size: 1.4rem;
  }
  .center_mess_list > li .card_date {
    position: absolute;
    padding-bottom: 0.5rem;
    bottom: 0;
    width: 100%;
    left: 0;
  }
}
/*ico_normal ico_normal
--------------------------------------------------------------------------------------------------------------------------------------------------*/
/*pdf exel 緊急　鍵　他画像アイコン　画像テキストの前*/
.ico_front {
  font-size: 1.1rem !important;
  margin-right: 0.5rem;
}

/*pdf exel 緊急　鍵　他画像アイコン　テキストの後ろ*/
.ico_back {
  font-size: 1.1rem !important;
  margin-left: 0.5rem;
}

/*ico_front_img*/
.ico_img > * {
  height: 1.2em;
}

.ico_img_front {
  line-height: 1;
  vertical-align: middle;
}
.ico_img_front > * {
  height: 1.2em;
  margin-right: 0.5em;
  vertical-align: middle;
}

/*new
--------------------------------------------------------------------------------------------------------------------------------------------------*/
/*new_front　テキストの前*/
.new_front {
  position: relative;
  padding-left: 5rem;
}
.new_front:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 4rem;
  height: 1.5rem;
  background: url("../images/parts/ico_new.svg") no-repeat;
  background-size: contain;
}

/*new
--------------------------------------------------------------------------------------------------------------------------------------------------*/
/*new_front　テキストの前*/
.new_front {
  position: relative;
  padding-left: 4rem;
}
.new_front:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 4rem;
  height: 1.5rem;
  background: url("../images/parts/ico_new.svg") no-repeat;
  background-size: contain;
}

/*new_back　テキストの後ろ*/
.new_back {
  padding-right: 5rem;
  position: relative;
}
.new_back:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0.5rem;
  width: 4rem;
  height: 1.5rem;
  background: url("../images/parts/ico_new.svg") no-repeat;
  background-size: contain;
}

/*pin
--------------------------------------------------------------------------------------------------------------------------------------------------*/
/*pon_top　テキストの上*/
.pin_top {
  position: relative;
  padding-top: 1.5em;
}
.pin_top:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0em;
  width: 1.2em;
  height: 1.5em;
  background: url("../images/parts/ico_pin.svg") no-repeat;
  background-size: contain;
}

/* ピンのアイコン */
.ico_pin {
  position: relative;
  padding: 0 0 0 2rem;
  margin: auto;
}
.ico_pin:before {
  content: "";
  position: absolute;
  width: 1.2em;
  height: 1.5em;
  left: 0;
  background: url("../images/parts/ico_pin.svg") no-repeat;
  background-size: contain;
  bottom: auto;
}
.ico_pin:after {
  content: normal;
}

/* 学校日記　記事一覧のh2用もある list_ico_pin*/
/*cate_emergency　テキストの上
--------------------------------------*/
.ico_cate {
  /*    padding-top: 2.6rem;*/
  /*  position: absolute;*/
  font-size: 1.1rem;
  /*    top: -0rem;*/
  display: table-cell;
}

/*emergency*/
.ico_red {
  color: var(--color-red);
  border: solid 1px var(--color-red);
  padding: 0.5rem 0.5rem;
}
.handout_list_title .ico_red, .side_list_square .ico_red {
  padding: 0 0.5rem;
}

/*ico_green*/
.ico_green {
  color: var(--color-green);
  border: solid 1px var(--color-green);
  padding: 0.5rem 0.5rem;
}
.handout_list_title .ico_green, .side_list_square .ico_green {
  padding: 0 0.5rem;
}

/*ico_blue*/
.ico_blue {
  color: var(--color-blue);
  border: solid 1px var(--color-blue);
  padding: 0.5rem 0.5rem;
}
.handout_list_title .ico_blue, .side_list_square .ico_blue {
  padding: 0 0.5rem;
}

/*normal*/
.noraml {
  color: var(--color-blue2);
  border: solid 1px var(--color-blue2);
  padding: 0.5rem 0.5rem;
}
.handout_list_title .noraml, .side_list_square .noraml {
  padding: 0 0.5rem;
}

/*orange*/
.ico_orange {
  color: var(--color-orange);
  border: solid 1px var(--color-orange);
  padding: 0.5rem 0.5rem;
}
.handout_list_title .ico_orange, .side_list_square .ico_orange {
  padding: 0 0.5rem;
}

/*purple*/
.ico_purple {
  color: var(--color-purple);
  border: solid 1px var(--color-purple);
  padding: 0.5rem 0.5rem;
}
.handout_list_title .ico_purple, .side_list_square .ico_purple {
  padding: 0 0.5rem;
}

/*gray*/
.ico_gray {
  color: var(--color-gray);
  border: solid 1px var(--color-gray);
  padding: 0.5rem 0.5rem;
}
.handout_list_title .ico_gray, .side_list_square .ico_gray {
  padding: 0 0.5rem;
}

/* 塗りつぶし　アイコン */
/*purple*/
.ico_purple_fill {
  color: var(--fontsub-color);
  background: var(--color-purple);
  padding: 0.2em 1em;
  border-radius: 0.5em;
  font-size: 1rem;
}

/*slide
===============================================================================*/
/*再生ボタン　デザイン
-------------------------------------------------------------------*/
.row_btns button:focus-visible {
  outline: 2px solid var(--black-black-black) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-white) !important;
  outline-offset: -2px;
}
.row_btns > * {
  border-radius: 0.5em;
  border-radius: 0.5em;
  letter-spacing: 1px;
  font-weight: bold;
  background: var(--base-color0);
  color: var(--base-color1);
  border: solid 1px var(--base-color1);
  padding: 0.5em 1em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.row_btns > * img {
  opacity: 0.5;
  height: 1em !important;
  width: 100% !important;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.row_btns .slick_start.active {
  display: none;
}
.row_btns .slick_pause.active {
  display: none;
}

.one_slide_blog + .row_btns {
  display: none;
}

/* row_btns_center  row_btns
-----------------------------------------------------*/
.row_btns_center.row_btns {
  margin: 1.5em auto auto auto;
  text-align: center;
}

@media screen and (max-width: 680px) {
  .slide-module-03 + .row_btns {
    display: none;
  }
}
.slick-slider {
  margin-bottom: 0 !important;
}

.row_btns > * {
  letter-spacing: 1px;
  font-size: 2rem;
  font-weight: bold;
  background: var(--base-color0);
  color: var(--base-color1);
  border: solid 1px var(--base-color1);
  padding: 0.35em 1em;
}
.row_btns > * img {
  opacity: 0.5;
  height: 1em !important;
  width: 100% !important;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.row_btns .row_btns .slick_start,
.row_btns .row_btns .slick_pause {
  margin: 0 auto;
}
.row_btns .slick_start.active {
  display: none;
}
.row_btns .slick_pause.active {
  display: none;
}

.one_slide_blog + .row_btns {
  display: none;
}

/* row_btns_center  row_btns
-----------------------------------------------------*/
.row_btns_center.row_btns {
  margin: 1.5em auto auto auto;
  text-align: center;
}

@media screen and (max-width: 680px) {
  .slide-module-03 + .row_btns {
    display: none;
  }
}
/*
・1カラム・2カラム　カードスライド用 
slide-module-01 
・1カラム・2カラム　動画カードスライド用 
slide-module-02
・センターエレメント　カードスライド用
slide-module-03　
slide-module-04
・カラム内　カードスライド用
.column-slide-module-01
・1カラム・2カラム　画像スライド用 
slide-module-img
.slide-module-img-m
・カラム内　画像のみスライド用
.column-slide-module-img
*/
/*矢印 
-------------------------------------------------------------------*/
/*
・右下
.slide_arrow_01
・下左右
.slide_arrow_02
・真ん中左右
.slide_arrow_03
*/
/*矢印デザイン
---------------------------------------------------------*/
.slide_arrow_01 .slick-prev:before,
.slide_arrow_01 .slick-next:before,
.slide_arrow_02 .slick-prev:before,
.slide_arrow_02 .slick-next:before,
.slide_arrow_03 .slick-prev:before,
.slide_arrow_03 .slick-next:before,
.slide_arrow_center .slick-prev:before,
.slide_arrow_center .slick-next:before {
  /*リセット*/
  content: none;
}
.slide_arrow_01 .slick-prev:after,
.slide_arrow_01 .slick-next:after,
.slide_arrow_02 .slick-prev:after,
.slide_arrow_02 .slick-next:after,
.slide_arrow_03 .slick-prev:after,
.slide_arrow_03 .slick-next:after,
.slide_arrow_center .slick-prev:after,
.slide_arrow_center .slick-next:after {
  content: "";
  position: absolute;
  background: url("../images/top/slide_arrow_black.svg") no-repeat;
  background-position: center;
  background-size: contain;
  width: 7px;
  height: 12px;
  font-family: none;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  filter: brightness(0) invert(1);
}
.slide_arrow_01 .slick-prev:after,
.slide_arrow_02 .slick-prev:after,
.slide_arrow_03 .slick-prev:after,
.slide_arrow_center .slick-prev:after {
  transform: translate(-50%, -50%) scaleX(-1);
  top: 48%;
}
.slide_arrow_01 .slick-prev,
.slide_arrow_01 .slick-next,
.slide_arrow_02 .slick-prev,
.slide_arrow_02 .slick-next,
.slide_arrow_03 .slick-prev,
.slide_arrow_03 .slick-next,
.slide_arrow_center .slick-prev,
.slide_arrow_center .slick-next {
  left: auto;
  width: 5rem;
  height: 5rem;
  top: auto;
  transform: translate(0%, 0%);
  z-index: 2;
  background: var(--base-color1a85);
}
.slide_arrow_01 .slick-prev:hover,
.slide_arrow_01 .slick-next:hover,
.slide_arrow_01 .slick-prev:focus,
.slide_arrow_02 .slick-prev:hover,
.slide_arrow_02 .slick-next:hover,
.slide_arrow_02 .slick-prev:focus,
.slide_arrow_03 .slick-prev:hover,
.slide_arrow_03 .slick-next:hover,
.slide_arrow_03 .slick-prev:focus,
.slide_arrow_center .slick-prev:hover,
.slide_arrow_center .slick-next:hover,
.slide_arrow_center .slick-prev:focus {
  background: var(--base-color2a85);
}

/*矢印位置
---------------------------------------------------------*/
.slide_arrow_01 .slick-prev,
.slide_arrow_01 .slick-next {
  bottom: -6rem;
}
.slide_arrow_01 .slick-prev {
  right: 8rem;
}
.slide_arrow_01 .slick-next {
  right: 1.5rem;
}

@media screen and (max-width: 680px) {
  .slide_arrow_01 {
    padding-bottom: 3rem;
  }
  .slide_arrow_01 .slick-prev,
  .slide_arrow_01 .slick-next {
    width: 3rem;
    height: 3rem;
    bottom: -2rem;
  }
  .slide_arrow_01 .slick-prev {
    right: auto;
    left: calc(50% - 1.5rem);
    transform: translate(-50%, 0%);
  }
  .slide_arrow_01 .slick-next {
    right: auto;
    left: calc(50% + 1.5rem);
    transform: translate(-50%, 0%);
  }
}
.slide_arrow_02 .slick-prev,
.slide_arrow_02 .slick-next {
  bottom: auto;
  top: 55%;
  transform: translate(0%, -50%);
}
.slide_arrow_02 .slick-prev {
  left: 0rem;
}
.slide_arrow_02 .slick-next {
  right: 0rem;
}

@media screen and (max-width: 680px) {
  .slide_arrow_02 .slick-prev,
  .slide_arrow_02 .slick-next {
    bottom: -6rem;
  }
}
@media screen and (max-width: 480px) {
  .slide_arrow_02 .slick-prev,
  .slide_arrow_02 .slick-next {
    width: 5rem;
    height: 5rem;
    top: 50%;
    transform: translate(0%, -50%);
    z-index: 2;
  }
}
/*slide-module-03 slide-module-04 
---------------------------------------------------------*/
.slide_arrow_03 .slick-prev,
.slide_arrow_03 .slick-next {
  bottom: -8rem;
}
.slide_arrow_03 .slick-prev {
  left: 1.2rem;
}
.slide_arrow_03 .slick-next {
  right: 1.2rem;
}

/*センター
---------------------------------------------------------*/
.slide_arrow_center .slick-prev,
.slide_arrow_center .slick-next {
  width: 5rem;
  height: 5rem;
  top: 50%;
  transform: translate(0%, -50%);
  z-index: 2;
  background: var(--base-color1a85);
}
.slide_arrow_center .slick-prev:focus-visible,
.slide_arrow_center .slick-next:focus-visible {
  border: 2px solid black !important;
}
.slide_arrow_center .slick-prev {
  left: 0;
}
.slide_arrow_center .slick-prev:after {
  transform: translate(-50%, -50%) scaleX(-1);
}
.slide_arrow_center .slick-next {
  left: auto;
  right: 0;
}

/*サムネ
------------------------------------------------------------------------------------------------------------------*/
.slide_no_line .card_list_inner {
  box-shadow: none;
}
.slide_no_line .card_list_inner .img {
  border-bottom: none !important;
}
.slide_no_line .card_list_inner .img:before {
  content: none;
}
.slide_no_line .card_list_inner .img img {
  width: 100% !important;
  aspect-ratio: 3/2.25 !important;
  height: auto;
  border-radius: 0.5em !important;
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit: cover;";
}

/* .slide-module-01
---------------------------------------------------------------*/
.slide-module-01 .card_parts .img img,
.slide-module-01-m .card_parts .img img,
.slide-module-01-s .card_parts .img img {
  width: 100%;
  aspect-ratio: 3/2.2;
}

/*  1カラム　幅1200 .slide-module-01
--------------------*/
.w12 .slide-module-01 > div > div > li {
  margin: auto 4.9rem;
}
@media screen and (max-width: 480px) {
  .w12 .slide-module-01 > div > div > li {
    margin: auto 0.5rem !important;
  }
}
.w12 .slide-module-01-m > div > div > li {
  margin: auto 2rem;
}
@media screen and (max-width: 480px) {
  .w12 .slide-module-01-m > div > div > li {
    margin: auto 0.5rem !important;
  }
}
.w12 .slide-module-01-s > div > div > li {
  margin: auto 3rem;
}
@media screen and (max-width: 480px) {
  .w12 .slide-module-01-s > div > div > li {
    margin: auto 0.5rem !important;
  }
}

/* 2カラム slide-module-01*/
.column2_flex .slide-module-01 > div > div > li {
  margin: auto 1rem;
}
@media screen and (max-width: 960px) {
  .column2_flex .slide-module-01 > div > div > li {
    margin: auto 0.5rem !important;
  }
}
@media screen and (max-width: 480px) {
  .column2_flex .slide-module-01 > div > div > li {
    margin: auto 0.5rem !important;
  }
}
@media screen and (max-width: 960px) {
  .column2_flex .slide-module-01 .column-container .column-slide-module-01 > div > div > li {
    margin: auto 0.5rem !important;
  }
}
@media screen and (max-width: 480px) {
  .column2_flex .slide-module-01 .column-container .column-slide-module-01 > div > div > li {
    margin: auto 0.5rem !important;
  }
}

/* .slide-module-img　
---------------------------------------------------------------*/
.slide-module-img .card_parts .img img,
.slide-module-img-m .card_parts .img img,
.slide-module-img-s .card_parts .img img {
  width: 100%;
  /* aspect-ratio: 3/2.25!important; */
  /* object-fit: contain!important;
  object-position: center!important;
  font-family: 'object-fit: contain; object-position: center;' */
}

/*  1カラム　幅1200 .slide-module-img　
--------------------*/
.w12 .slide-module-img > div > div > li {
  margin: auto 4.8rem;
}
@media screen and (max-width: 960px) {
  .w12 .slide-module-img > div > div > li {
    margin: auto 0.5rem !important;
  }
}
@media screen and (max-width: 480px) {
  .w12 .slide-module-img > div > div > li {
    margin: auto 0.5rem !important;
  }
}
.w12 .slide-module-img-m > div > div > li {
  margin: auto 2rem;
}
@media screen and (max-width: 960px) {
  .w12 .slide-module-img-m > div > div > li {
    margin: auto 0.5rem !important;
  }
}
@media screen and (max-width: 480px) {
  .w12 .slide-module-img-m > div > div > li {
    margin: auto 0.5rem !important;
  }
}
@media screen and (max-width: 960px) {
  .w12 .slide-module-img-s > div > div > li {
    margin: auto 0.5rem !important;
  }
}
@media screen and (max-width: 480px) {
  .w12 .slide-module-img-s > div > div > li {
    margin: auto 0.5rem !important;
  }
}

/*  2カラム  .slide-module-img　
--------------------*/
.column2_flex .slide-module-img > div > div > li {
  margin: auto 3rem;
}
@media screen and (max-width: 960px) {
  .column2_flex .slide-module-img > div > div > li {
    margin: auto 2rem;
  }
}
@media screen and (max-width: 480px) {
  .column2_flex .slide-module-img > div > div > li {
    margin: auto 0.5rem !important;
  }
}

/* .column-slide-module-img
--------------------------------------------------*/
.column-slide-module-img.card_parts .img img {
  width: 100%;
  /* aspect-ratio: 3/2.25; */
  -o-object-fit: contain !important;
     object-fit: contain !important;
  -o-object-position: center !important;
     object-position: center !important;
  font-family: "object-fit: contain; object-position: center;";
}

/*  1カラム　幅1200
--------------------*/
.w12 .column-slide-module-img > div > div > li {
  margin: auto 2.5rem;
}
@media screen and (max-width: 960px) {
  .w12 .column-slide-module-img > div > div > li {
    margin: auto 0.5rem !important;
  }
}
@media screen and (max-width: 480px) {
  .w12 .column-slide-module-img > div > div > li {
    margin: auto 0.5rem !important;
  }
}

/* 2カラム内　2カラム */
.column2_flex .column-container .column-slide-module-img > div > div > li {
  margin: auto 1rem;
}
@media screen and (max-width: 1200px) {
  .column2_flex .column-container .column-slide-module-img > div > div > li {
    margin: auto 3rem;
  }
}
@media screen and (max-width: 960px) {
  .column2_flex .column-container .column-slide-module-img > div > div > li {
    margin: auto 2rem;
  }
}
@media screen and (max-width: 480px) {
  .column2_flex .column-container .column-slide-module-img > div > div > li {
    margin: auto 0.5rem !important;
  }
}

/* slide-module-02 movie_card_list
==========================================================================*/
/*スライドあり*/
.movie_card_list.slick-slider > div > div > li {
  margin: auto 1.5rem;
  padding: 1rem 0;
}

@media screen and (max-width: 680px) {
  .movie_card_list.slick-slider > div > div > li {
    margin-right: auto;
    margin: auto 2rem;
  }
}
/*スライドなし*/
.movie_card_list_inner {
  background: var(--base-color0);
  padding: 1rem;
  box-shadow: var(--shadow);
}
.movie_card_list_inner .img {
  margin-bottom: 0.5rem;
  position: relative;
  border-bottom: solid 2px var(--base-color1);
}
.movie_card_list_inner .img img {
  width: 100%;
}
.movie_card_list_inner .img:before {
  content: "";
  background: var(--base-color2);
  width: 10%;
  height: 2px;
  position: absolute;
  bottom: -2px;
  left: 0;
}
.movie_card_list_inner .img span {
  position: relative;
}
.movie_card_list_inner .img span:before, .movie_card_list_inner .img span:after {
  content: "";
  position: absolute;
}
.movie_card_list_inner .img span:before {
  background: url("../images/parts/ico_movie.svg") no-repeat;
  width: 6.2rem;
  height: 4.6rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.movie_card_list_inner .img span:after {
  background: rgba(255, 255, 255, 0.2);
  width: 100%;
  height: 100%;
  transition: all 0.15s ease;
  top: 0;
  left: 0;
}
.movie_card_list_inner .img iframe {
  width: 100%;
}
.movie_card_list_inner:hover .img span:after {
  background: rgba(255, 255, 255, 0.3);
}

/* slide-module-02 movie_card_list
==========================================================================*/
/*スライドあり*/
.movie_card_list.slick-slider > div > div > li {
  margin: auto 1.5rem;
  padding: 1rem 0;
}

@media screen and (max-width: 680px) {
  .movie_card_list.slick-slider > div > div > li {
    margin-right: auto;
    margin: auto 2rem;
  }
}
/*スライドなし*/
.movie_card_list {
  display: flex;
  flex-wrap: wrap;
}
.movie_card_list > li {
  margin-right: 5%;
  margin-bottom: 5%;
  width: 30%;
}
.movie_card_list > li:nth-child(3n) {
  margin-right: 0;
}

@media screen and (max-width: 680px) {
  .movie_card_list {
    display: block;
  }
  .movie_card_list > li {
    margin-right: auto;
    margin-bottom: 8%;
    width: auto;
  }
  .movie_card_list > li:nth-child(3n) {
    margin-right: auto;
  }
}
/* inner */
.movie_card_list_inner .img {
  margin-bottom: 0.5rem;
  position: relative;
}
.movie_card_list_inner .img img {
  width: 100%;
}
.movie_card_list_inner .img iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 1.5/1;
}
.movie_card_list_inner .text_box {
  left: 50%;
  transform: translate(-50%, 0%);
  text-align: center;
  margin-top: 1rem;
  background: var(--base-color0);
  padding: 0.5em 1.5em;
  display: inline-block;
  position: relative;
  border-radius: 3em;
  font-size: 1.7rem;
  color: var(--base-color1);
}
.movie_card_list_inner .text_box:before {
  content: "";
  background: url(../images/parts/balloon_arrow.svg) no-repeat;
  background-size: contain;
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: -0.5em;
  left: 1rem;
}

@media screen and (max-width: 1090px) {
  .movie_card_list_inner .img iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 1.3/1;
  }
}
@media screen and (max-width: 960px) {
  .movie_card_list_inner .img iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 740px) {
  .movie_card_list_inner .img iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 0.9/1;
  }
}
@media screen and (max-width: 680px) {
  .movie_card_list_inner .img iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 1.6/1;
  }
  .movie_card_list_inner .text_box {
    font-size: 1.5rem;
  }
}
/*bnr_list
==================================================== */
.bg_gray .banner_area {
  background: var(--bg-color_g1) !important;
}

@media screen and (min-width: 680px), print {
  .bnr_list {
    background: var(--base-color0);
    padding: 3rem 1rem 1rem 3rem;
    border-radius: 2rem;
  }
}
.bnr_list {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.2rem;
  line-height: 1.4;
}
.bnr_list > li {
  width: 31.5%;
  margin-right: 2%;
  margin-bottom: 2%;
  transition: all 0.15s ease;
}
.bnr_list > li:nth-child(3n) {
  margin-right: 0%;
}
.bnr_list > li > a {
  display: inline-block;
  width: 100%;
}
.bnr_list > li > a:focus-visible {
  outline: none !important;
}
.bnr_list > li > a:focus-visible img {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black);
  outline-offset: 2px;
  border-radius: 3px;
}
.bnr_list li img {
  width: 100%;
}
.bnr_list li img + p {
  margin-top: 0.5em;
}
.bnr_list > li:hover,
.bnr_list li > a:focus-visible {
  opacity: 0.8;
}

.bnr-tooltip-dynamic {
  position: absolute;
  background-color: #333;
  color: #fff;
  padding: 5px;
  border-radius: 5px;
  font-size: 12px;
  display: none; /* デフォルトでは非表示 */
  pointer-events: none;
  z-index: 10000;
}

@media screen and (max-width: 680px) {
  .bnr_list > li {
    width: 48%;
    margin-right: 2%;
    margin-bottom: 2%;
  }
  .bnr_list > li:nth-child(3n) {
    margin-right: 2%;
  }
  .bnr_list > li:nth-child(2n) {
    margin-right: 2%;
  }
}
/*diary
=======================================================================================================================================*/
/*diary page
==========================================================================*/
@media screen and (min-width: 961px), print {
  /*page_menu_list*/
  .page_menu_list.page_menu_list_layer1 {
    background: var(--bg-color_g3);
    display: flex;
    /*     flex-wrap: wrap;
       justify-content: center; */
    /*   background: var(--bg-color_g2); */
    width: 100%;
    gap: 2px;
    position: relative;
  }
  .page_menu_list.page_menu_list_layer1 > li {
    background: var(--bg-color_g3);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    width: auto;
    flex-basis: 50%;
    /* &.current a,
    &:hover a { */
    /* &.current,
    &:hover { */
    font-size: 0.9rem;
  }
  .page_menu_list.page_menu_list_layer1 > li > ul {
    padding: 0.5em 0;
  }
  .page_menu_list.page_menu_list_layer1 > li > a {
    text-align: center;
    width: 100%;
    padding: 1rem 0.5rem;
    height: 100%;
    display: flex;
    font-size: 1rem;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    color: var(--base-color3);
    text-decoration: underline;
    line-height: 1.4;
  }
  .page_menu_list.page_menu_list_layer1 > li.current, .page_menu_list.page_menu_list_layer1 > li:hover {
    background: var(--base-color1);
    text-decoration: none;
  }
  .page_menu_list.page_menu_list_layer1 > li.current a, .page_menu_list.page_menu_list_layer1 > li:hover a {
    color: var(--base-color0);
  }
  .page_menu_list.page_menu_list_layer1 > li.current a {
    color: var(--base-color0);
    text-decoration: none;
  }
  .page_menu_list.page_menu_list_layer1 > li.current > ul {
    height: auto;
    overflow: visible;
    opacity: 1;
  }
  .page_menu_list.page_menu_list_layer1 > li > ul {
    transition: 0.3s;
    height: 0;
    overflow: hidden;
    opacity: 0;
    position: absolute;
    background: var(--base-color1);
    display: flex;
    left: 0;
    width: 100%;
    z-index: 1;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .page_menu_list.page_menu_list_layer1 > li > ul > li {
    width: auto;
    margin: 0.5em;
  }
  .page_menu_list.page_menu_list_layer1 > li > ul > li > a {
    padding: 0 0.5em 0 1em;
    display: block;
    width: 100%;
    font-size: 0.9rem;
    text-align: left;
    color: var(--base-color0);
    position: relative;
  }
  .page_menu_list.page_menu_list_layer1 > li > ul > li > a:hover {
    text-decoration: underline !important;
  }
  .page_menu_list.page_menu_list_layer1 > li > ul > li > a:before {
    content: "";
    background: var(--base-color0);
    height: 1.7em;
    width: 1px;
    position: absolute;
    top: 0;
    left: 0.5em;
  }
  .page_menu_list.page_menu_list_layer1 > li > ul > li > ul {
    display: none;
  }
  .page_menu_list.page_menu_list_layer2 > li {
    /*  &.current {
      width: 100%;
    } */
  }
  .page_menu_list.page_menu_list_layer2 > li:not(.current) {
    display: none;
    height: 0;
    opacity: 0;
    overflow: hidden;
  }
  .page_menu_list.page_menu_list_layer2 > li > a {
    display: none;
  }
  .page_menu_list.page_menu_list_layer2 > li > a > span {
    display: none;
  }
  .page_menu_list.page_menu_list_layer2 > li > ul {
    /*  width: 100%; */
    background: var(--bg-color_g3);
    display: flex;
    /*     flex-wrap: wrap;
       justify-content: center; */
    /*   background: var(--bg-color_g2); */
    width: 100%;
    gap: 2px;
    position: relative;
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li {
    background: var(--bg-color_g3);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    width: auto;
    flex-basis: 50%;
    /* &.current a,
    &:hover a { */
    /* &.current,
    &:hover { */
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li > ul {
    padding: 0.5em 0;
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li > a {
    text-align: center;
    width: 100%;
    padding: 1rem 0.5rem;
    height: 100%;
    display: flex;
    font-size: 1rem;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    color: var(--base-color3);
    text-decoration: underline;
    line-height: 1.4;
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li.current, .page_menu_list.page_menu_list_layer2 > li > ul > li:hover {
    background: var(--base-color1);
    text-decoration: none;
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li.current a, .page_menu_list.page_menu_list_layer2 > li > ul > li:hover a {
    color: var(--base-color0);
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li.current a {
    color: var(--base-color0);
    text-decoration: none;
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li.current > ul {
    height: auto;
    overflow: visible;
    opacity: 1;
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li > ul {
    transition: 0.3s;
    height: 0;
    overflow: hidden;
    opacity: 0;
    position: absolute;
    background: var(--base-color1);
    display: flex;
    left: 0;
    width: 100%;
    z-index: 1;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li > ul > li {
    width: auto;
    margin: 0.5em;
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li > ul > li > a {
    padding: 0 0.5em 0 1em;
    display: block;
    width: 100%;
    font-size: 0.9rem;
    text-align: left;
    color: var(--base-color0);
    position: relative;
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li > ul > li > a:hover {
    text-decoration: underline !important;
  }
  .page_menu_list.page_menu_list_layer2 > li > ul > li > ul > li > a:before {
    content: "";
    background: var(--base-color0);
    height: 1.7em;
    width: 1px;
    position: absolute;
    top: 0;
    left: 0.5em;
  }
}
.page_menu_title,
.page_menu_list li .nav_down {
  display: none;
}

@media screen and (max-width: 960px) {
  .page_menu_title,
  .page_menu_list li .nav_down {
    display: block;
  }
  .page_menu_title {
    padding: 0.5rem 2em 0.5rem 1rem;
    display: block;
    background: var(--base-color1);
    color: var(--base-color0);
    position: relative;
    font-weight: bold;
    font-size: 1.6rem;
  }
  .page_menu_title:after {
    position: absolute;
    content: "";
    vertical-align: middle;
    right: 1.5rem;
    top: -0.2em;
    bottom: 0;
    margin: auto;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid var(--base-color0);
    border-right: 2px solid var(--base-color0);
    transform: rotate(135deg);
    transition: all 0.15s ease;
  }
  /*矢印*/
  /*page_menu_list
  -----------------------------------------------*/
  /*open*/
  /*第二階層
  -------------------------------------------------*/
}
@media screen and (max-width: 960px) and (max-width: 480px) {
  .page_menu_title {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 960px) {
  .page_menu.open .page_menu_title:after {
    top: 5px;
    transform: rotate(-45deg);
  }
  .page_menu_list li {
    position: relative;
    line-height: 1.3;
  }
  .page_menu_list li.menu_current > a {
    font-weight: bold !important;
    color: var(--base-color1);
  }
  .page_menu_list li .nav_down {
    position: absolute;
    top: 0.7em;
    height: 1.2em;
    width: 1.2em;
    display: block;
    right: 0;
    cursor: pointer;
  }
  .page_menu_list li .nav_down:after {
    content: "";
    display: block;
    position: absolute;
    left: auto;
    bottom: auto;
    right: 0px;
    top: 28%;
    width: 60%;
    height: 1px;
    background: var(--base-color1);
    transition: all 0.2s;
    z-index: 9;
  }
  .page_menu_list li .nav_down:before {
    content: "";
    display: block;
    position: absolute;
    left: auto;
    bottom: auto;
    right: 28%;
    top: 0;
    width: 1px;
    height: 60%;
    background: var(--base-color1);
    transition: all 0.2s;
  }
  .page_menu_list li.has_nav > a {
    padding: 1em 3.5rem 1em 1em;
  }
  .page_menu_list li a {
    padding: 0.8em 0rem 0.8em 1em;
    display: block;
    font-size: 1rem;
  }
  .page_menu_list li.open > ul {
    display: block;
    overflow: hidden;
    opacity: 1;
    height: auto;
  }
  .page_menu_list li.open > .nav_down:before {
    transform: translateY(0) rotate(90deg);
    opacity: 0;
  }
  .page_menu_list > li {
    border-bottom: 1px solid var(--color-gray3);
  }
  .page_menu_list > li:first-child {
    border-top: 1px solid var(--color-gray3);
  }
  .page_menu_list > li ul {
    display: none;
  }
  .page_menu_list > li > a {
    position: relative;
  }
  .page_menu_list > li > a:before {
    content: "";
    position: absolute;
    left: 0.4em;
    top: 1.1em;
    width: 1px;
    height: 1.2em;
    background: var(--base-color1);
  }
  .page_menu_list > li > ul > li > ul > li > a {
    padding-left: 2em !important;
  }
  .page_menu_list > li > ul > li > ul > li > ul > li a {
    margin-left: 3em;
  }
  .page_menu_list > li > ul > li > ul > li > ul > li a:before {
    content: "・";
    left: 3.2em;
    position: absolute;
    top: 0.9em;
  }
  .page_menu.open .page_menu_list {
    height: auto;
    opacity: 1;
    overflow: visible;
  }
  .page_menu_list {
    height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.15s ease;
  }
}
/* side_menu
==========================================================================*/
.side_menu_area {
  padding-bottom: 3rem;
}

.side_section + .side_section {
  margin-top: 15%;
}

.side_section {
  overflow: hidden;
  padding-bottom: 2.5rem;
  border-radius: 1rem;
  background: var(--base-color0);
}
.side_section .back_num {
  width: 90%;
  margin: auto;
}

.section_rss {
  padding: 2.5rem;
}

@media (min-width: 681px) and (max-width: 960px) {
  .side_section.section_rss {
    padding: 1rem;
  }
  .side_section .back_num select {
    font-size: 1rem;
  }
}
.side_pd > *:not(.side_title) {
  margin: 1.5rem;
}

@media screen and (max-width: 680px) {
  .side_menu_area {
    padding-bottom: 0rem;
  }
  .side_section_inner_pd {
    max-width: 90%;
    margin: auto auto;
  }
  .side_section + .side_section {
    margin-top: 10%;
  }
  .side_section + .sp_no_section {
    margin-top: 0;
  }
  .side_section {
    max-width: 90%;
    margin: auto;
  }
  .side_section .back_num {
    width: 100%;
  }
  .section_rss {
    padding: 2.5rem 0;
  }
  .section_rss > * {
    width: 85%;
    margin: auto;
  }
  .side_section_select_sp {
    padding: 2.5rem 0;
  }
}
/*side_title
---------------------------------------------------------------------------*/
.side_title {
  background: var(--bg-color_y2);
  padding: 1rem 1.5rem;
  font-weight: bold;
  font-size: 1.8rem;
}
.side_title + * {
  margin-top: 1rem !important;
}
.side_title + .category-wrap {
  margin-top: 0rem !important;
}
.side_title + .category-wrap .side_subtitle {
  margin-top: 0rem !important;
}

@media (min-width: 681px) and (max-width: 960px) {
  .side_section .side_title {
    padding: 0.5rem 0.5rem;
    font-size: 1.4rem;
  }
}
.side_subtitle {
  background: var(--bg-color_g1);
  padding: 1rem 1.5rem;
  font-size: 1.6rem;
  margin-top: 2rem;
}

@media (min-width: 681px) and (max-width: 960px) {
  .side_section .side_subtitle {
    padding: 0.5rem 0.5rem;
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.side_title + .side_subtitle {
  margin-top: 0rem !important;
}

.side_subtitle + * {
  margin-top: 1rem !important;
}

@media (min-width: 681px) and (max-width: 960px) {
  .side_section .side_subtitle + * {
    margin-top: 1rem !important;
  }
}
.side_section:nth-child(odd) .side_title {
  background: var(--bg-color_y4);
}

/*side_dl
---------------------------------------------------------------------------*/
.side_section .side_dl {
  font-size: 1.5rem;
  margin-bottom: 3rem;
}

.side_dl dl {
  border-bottom: 1px solid #cccccc;
  margin-bottom: 1rem;
  padding: 1rem 1rem;
}
.side_dl dl:first-child {
  padding: 0 1rem 1rem 1rem;
}
.side_dl dt {
  margin-bottom: 0.5rem;
}
.side_dl dd {
  padding-left: 2rem;
  position: relative;
}
.side_dl dd:before {
  /*     position: absolute;
  content: "";
  border: 4px solid transparent;
  border-left: 6px solid var(--base-color1);
  top: 50%;
  left: 1.5rem;
  box-sizing: border-box;
  width: 4px;
  height: 6px;
  transform: translate(-50%, -50%); */
  position: absolute;
  content: "・";
  color: var(--base-color1);
  left: 0.5em;
}
.side_dl dd a {
  text-decoration: underline;
  color: var(--base-color1);
}
.side_dl dd a:hover {
  text-decoration: none;
}

@media screen and (max-width: 960px) {
  .side_section .side_dl {
    padding: 1rem 1rem;
    font-size: 1.3rem;
    margin-bottom: 1em;
  }
  .side_dl dl {
    margin-bottom: auto;
    padding: 1rem 1rem;
  }
}
/*side_btn
---------------------------------------------------------------------------*/
.side_section .side_btn {
  max-width: 90%;
  margin: auto;
}

.side_section .side_btn > * {
  box-sizing: border-box;
  display: block;
  font-weight: bold;
  border: solid 3px var(--base-color1);
  padding: 1.5rem 2rem 1.5rem 0;
  text-align: center;
  color: var(--base-color1);
  font-size: 1.6rem;
  position: relative;
}
.side_section .side_btn > *:after {
  content: "";
  top: 50%;
  right: 1rem;
  transform: translate(0%, -50%) rotate(45deg);
  position: absolute;
  width: 1rem;
  height: 1rem;
  display: inline-block;
  border-top: 3px solid var(--base-color1);
  border-right: 3px solid var(--base-color1);
}
.side_section .side_btn > *:hover, .side_section .side_btn > *:focus-visible {
  color: var(--white-white-black);
  background: var(--base-color1);
}
.side_section .side_btn > *:hover:after, .side_section .side_btn > *:focus-visible:after {
  border-top: 3px solid var(--white-white-black);
  border-right: 3px solid var(--white-white-black);
}
.side_section .side_btn > *:focus-visible {
  outline: 2px solid var(--white-white-black) !important;
  box-shadow: 0px 0px 0px 1px var(--black-black-white) !important;
  outline-offset: -2px;
  border-radius: 3px;
}

@media screen and (max-width: 1500px) {
  .side_section .side_btn > * {
    padding-left: 1em;
    font-size: 1.4rem;
  }
}
@media (min-width: 681px) and (max-width: 960px) {
  .side_section .side_btn > * {
    font-size: 1rem;
  }
  .side_section .side_btn > *:after {
    right: 0.5em;
    width: 0.5em;
    height: 0.5em;
    border-top: 1px solid var(--base-color1);
    border-right: 1px solid var(--base-color1);
  }
  .side_section .side_btn > *:hover:after {
    border-top: 1px solid var(--white-white-black);
    border-right: 1px solid var(--white-white-black);
  }
}
/*side_list_arrowbox
---------------------------------------------------------------------------*/
ul.side_list_arrowbox > li {
  position: relative;
  font-size: 1.5rem;
  padding: 1rem 2rem 1rem 1rem;
  border-bottom: 1px solid #cccccc;
  display: block;
}
ul.side_list_arrowbox > li :after {
  content: "";
  top: 50%;
  right: 0.5rem;
  transform: translate(0%, -50%) rotate(45deg);
  position: absolute;
  width: 0.6rem;
  height: 0.6rem;
  display: inline-block;
  border-top: 1px solid #a5a5a5;
  border-right: 1px solid #a5a5a5;
}
ul.side_list_arrowbox > li:has(a:focus-visible) {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black);
  outline-offset: -2px;
  border-radius: 3px;
}
ul.side_list_arrowbox > li a:focus-visible {
  color: var(--base-color1);
  outline: none !important;
}

@media screen and (max-width: 960px) {
  .side_section ul.side_list_arrowbox > li {
    font-size: 1.3rem;
  }
}
/*side_list_parts
---------------------------------------------------------------------------*/
.side_list_parts > li {
  margin-bottom: 0.7em;
  padding-left: 1em;
  padding-right: 1em;
}
.side_list_parts > li a {
  display: block;
  position: relative;
  color: var(--base-color1);
  text-decoration: underline;
  padding-left: 0.7em;
}
.side_list_parts > li a:before {
  position: absolute;
  content: "・";
  left: 0em;
}
.side_list_parts > li a:hover {
  text-decoration: none;
}
.side_list_parts_img img {
  width: 100%;
}
.side_list_parts_img a:before {
  content: normal !important;
}
.side_list_parts_img a:hover {
  opacity: 0.7;
}

/*side_list_square
---------------------------------------------------------------------------*/
.side_section ul.side_list_square {
  max-width: 90%;
  margin: auto auto;
}

ul.side_list_square > li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}
ul.side_list_square > li:before {
  content: "■";
  position: absolute;
  left: 0;
  top: 0.3em;
  color: var(--color-gray2);
  font-size: 1.2rem;
}
ul.side_list_square > li:hover a {
  color: var(--base-color1);
}

/* @media (min-width: 681px) and (max-width: 960px) { */
@media screen and (max-width: 680px) {
  .side_section ul.side_list_square > li {
    font-size: 1.3rem;
  }
  .side_section ul.side_list_square > li:before {
    top: 0em;
  }
}
/*前にアイコンがある場合*/
.side_list_square > li.no_sq {
  padding-left: 0;
}
.side_list_square > li.no_sq:before {
  content: normal !important;
}

/*カラーバリエ サイドメニュー*/
ul.side_list_square > li.schedule-category-icon-black::before {
  color: #000;
}
ul.side_list_square > li.schedule-category-icon-blue::before {
  color: #003acc;
}
ul.side_list_square > li.schedule-category-icon-skyblue::before {
  color: #00808e;
}
ul.side_list_square > li.schedule-category-icon-green::before {
  color: #027a0e;
}
ul.side_list_square > li.schedule-category-icon-yellow::before {
  color: #726e00;
}
ul.side_list_square > li.schedule-category-icon-orange::before {
  color: #af5500;
}
ul.side_list_square > li.schedule-category-icon-red::before {
  color: #d82424;
}
ul.side_list_square > li.schedule-category-icon-pink::before {
  color: #c40d78;
}
ul.side_list_square > li.schedule-category-icon-purple::before {
  color: #6903bc;
}
ul.side_list_square > li.schedule-category-icon-brown::before {
  color: #5b0000;
}
ul.side_list_square > li.schedule-category-icon-navy::before {
  color: #1d2454;
}
ul.side_list_square > li.schedule-category-icon-gray::before {
  color: #636363;
}

/*fullcalender内のカテゴリカラー　カレンダー*/
.schedule-category-black {
  background-color: #000 !important;
}

.schedule-category-blue {
  background-color: #003acc !important;
}

.schedule-category-skyblue {
  background-color: #00808e !important;
}

.schedule-category-green {
  background-color: #027a0e !important;
}

.schedule-category-yellow {
  background-color: #726e00 !important;
}

.schedule-category-orange {
  background-color: #af5500 !important;
}

.schedule-category-red {
  background-color: #d82424 !important;
}

.schedule-category-pink {
  background-color: #c40d78 !important;
}

.schedule-category-purple {
  background-color: #6903bc !important;
}

.schedule-category-brown {
  background-color: #5b0000 !important;
}

.schedule-category-navy {
  background-color: #1d2454 !important;
}

.schedule-category-gray {
  background-color: #636363 !important;
}

.fc-daygrid-dot-event .fc-event-title {
  text-decoration: underline;
  cursor: pointer;
  font-weight: normal !important;
}

.schedule_title_area {
  display: flex;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
.schedule_title_area .schedule-btn-group {
  display: flex;
  flex-direction: row;
}
.schedule_title_area .schedule-btn-group .schedule_btn_now {
  margin-right: 3px;
}
.schedule_title_area .schedule-btn-group:last-child {
  justify-content: flex-end;
}

h2.schedule_month_title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  text-align: center;
}

.fc-button .fc-icon {
  font-size: 1.5em;
  vertical-align: middle;
}

/*back_num
---------------------------------------------------------------------------*/
.back_num *:focus-visible {
  outline: 2px solid var(--black-black-black) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-white) !important;
  outline-offset: -2px;
  border-radius: 3px;
}

.back_num select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: solid 1px #cccccc;
  outline: none;
  background: #fff url("../images/parts/select_arrow.svg") no-repeat;
  background-size: contain;
  background-position: top 0 right 0;
  padding: 1rem 3.1rem 1rem 0.2rem !important;
  width: 100%;
  font-size: 1.6rem;
  position: relative;
  z-index: 3;
}
.back_num select::-ms-expand {
  display: none;
}
.back_num select optgroup {
  /* color: var(--color-red); */
  font-style: normal;
  padding: 0 2px;
  background: var(--base-color1);
  color: var(--white-white-black);
}
.back_num select optgroup option {
  color: var(--font-color);
  background: var(--base-color0);
}

/*ie*/
@media screen and (max-width: 680px) {
  .back_num {
    width: 90%;
    margin: auto;
    font-size: 1.4rem;
  }
  .back_num select {
    font-size: 1.4rem;
  }
}
/*backnum-list-aco
---------------------------------------------------------------------------*/
.backnum-list-aco :focus-visible {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  border-radius: 3px;
}

.backnum-list-aco > li ul {
  display: none;
}

/*backnum_list_aco デザイン*/
.backnum_list_aco > li .backnum_list_title {
  position: relative;
  padding-left: 2rem;
  cursor: pointer;
}
.backnum_list_aco > li .backnum_list_title:before {
  position: absolute;
  content: "";
  border: 4px solid transparent;
  border-left: 6px solid var(--base-color1);
  top: 1em;
  left: 1.5rem;
  box-sizing: border-box;
  width: 4px;
  height: 6px;
  transform: translate(-50%, -50%) rotate(90deg);
}
.backnum_list_aco > li .backnum_list_title.active:before {
  top: 0.8em;
  transform: translate(-50%, -50%) rotate(-90deg);
}
.backnum_list_aco > li .backnum_list_title:focus-visible {
  outline-offset: -2px;
}
.backnum_list_aco > li ul {
  padding-left: 2rem;
}
.backnum_list_aco > li ul a {
  text-decoration: underline;
  color: var(--dark-black-white);
}
.backnum_list_aco > li ul a:hover {
  text-decoration: none;
}

@media screen and (max-width: 680px) {
  .backnum_list_aco.backnum-list-aco.pc_tab_68 {
    display: block;
  }
  .pc_tab_68 {
    display: block;
  }
  .pc_tab_68 .side_list_square {
    display: none;
  }
  .sp_68.event_sp_top_02.back_num {
    margin-top: 10px;
  }
}
/*backnum_list デザイン acoなし*/
.backnum_list > li {
  position: relative;
  padding-left: 2rem;
}
.backnum_list > li:before {
  position: absolute;
  content: "";
  border: 4px solid transparent;
  border-left: 6px solid var(--base-color1);
  top: 50%;
  left: 1.5rem;
  box-sizing: border-box;
  width: 4px;
  height: 6px;
  transform: translate(-50%, -50%);
}
.backnum_list > li a {
  text-decoration: underline;
  color: var(--base-color3);
}
.backnum_list > li a:hover {
  text-decoration: none;
}

/*side_tag_list
---------------------------------------------------------------------------*/
.side_section ul.side_tag_list {
  width: 90%;
  margin: auto auto 3rem auto;
  display: flex;
  flex-wrap: wrap;
}
.side_section ul.side_tag_list > li {
  margin-right: 5%;
  margin-bottom: 2%;
}
.side_section ul.side_tag_list > li a {
  color: var(--color-gray);
  text-decoration: underline;
  font-size: 1.3rem;
}
.side_section ul.side_tag_list > li a:hover {
  text-decoration: none;
}
.side_section .ico_rss {
  display: block;
  position: relative;
  padding-left: 2rem;
  line-height: 1;
  font-weight: bold;
}
.side_section .ico_rss:before {
  content: "";
  background: url("../images/parts/ico_rss.svg") no-repeat;
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 0;
  left: 0;
}

/*side ranking
---------------------------------------------------------------------------*/
.side_section .rank_normal {
  font-size: 1.2rem;
}
.side_section .rank_normal .rank_frame_list > li + li {
  margin-top: 1rem !important;
}
.side_section .rank_normal .rank_frame_list > li {
  /*  border-radius: 0; */
  border-radius: 5px;
  margin-bottom: auto;
}
.side_section .rank_normal .rank_frame_list > li:after {
  left: 1.2rem;
  top: 50%;
  transform: translate(0%, -50%);
  font-size: 1.5rem;
  z-index: 0 !important;
}
.side_section .rank_normal .rank_frame_list > li:nth-child(n+10):after {
  left: 0.9rem;
}
.side_section .rank_normal .rank_frame_list > li:before {
  width: 5rem;
  z-index: 0 !important;
}
.side_section .rank_normal .rank_frame_list > li > a {
  padding: 1rem 1rem 1rem 5rem;
  /* padding: 0.2rem 1rem 0.2rem 5rem; */
}
.side_section .rank_normal .rank_frame_list > li > a:before {
  content: normal;
  /* right: 0rem;
    top: -0.3rem;
    border-radius: 0;
    width: 2.2rem; */
}
.side_section .rank_normal .rank_frame_list > li > a:after {
  content: normal;
  /*  right: 0.5rem;
    top: 0.7rem;
    height: 1rem;
    width: 1rem; */
}
.side_section .rank_normal .rank_frame_list:first-child li:nth-child(5):after {
  left: 1.2rem;
}

/*side cms_contents
---------------------------------------------------------------------------*/
.side_section .cms_contents {
  font-size: 1.3rem;
}
.side_section .cms_contents h1 {
  font-size: 1.7rem;
  margin-top: 2em;
}
.side_section .cms_contents h2 {
  font-size: 1.6rem;
  margin-top: 2em;
}
.side_section .cms_contents h3 {
  font-size: 1.5rem;
  margin-top: 2em;
}
.side_section .cms_contents h4 {
  font-size: 1.5rem !important;
  margin-top: 2em;
}
.side_section .cms_contents h5 {
  font-size: 1.5rem !important;
  margin-top: 2em;
}
.side_section .cms_contents h6 {
  font-size: 1.6rem;
  margin-top: 2em;
}
.side_section .cms_contents > *:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* side_pd */
.side_pd_all {
  padding: 1rem 1rem 0 1rem;
}
.side_pd_all .tag_list {
  margin-top: auto;
  margin-bottom: auto;
}

/*side page_list
---------------------------------------------------------------------------*/
.side_section .page_menu_list_side li {
  position: relative;
  line-height: 1.3;
}
.side_section .page_menu_list_side li.menu_current > a {
  font-weight: bold !important;
  color: var(--base-color1);
}
.side_section .page_menu_list_side li .nav_down {
  position: absolute;
  top: 0.7em;
  height: 1.2em;
  width: 1.2em;
  display: block;
  right: 0;
  cursor: pointer;
}
.side_section .page_menu_list_side li .nav_down:after {
  content: "";
  display: block;
  position: absolute;
  left: auto;
  bottom: auto;
  right: 0px;
  top: 28%;
  width: 60%;
  height: 1px;
  background: var(--base-color1);
  transition: all 0.2s;
  z-index: 9;
}
.side_section .page_menu_list_side li .nav_down:before {
  content: "";
  display: block;
  position: absolute;
  left: auto;
  bottom: auto;
  right: 28%;
  top: 0;
  width: 1px;
  height: 60%;
  background: var(--base-color1);
  transition: all 0.2s;
}
.side_section .page_menu_list_side li.has_nav > a {
  padding: 1em 3.5rem 1em 1em;
}
.side_section .page_menu_list_side li a {
  padding: 0.8em 0rem 0.8em 1em;
  display: block;
  font-size: 1rem;
}
.side_section .page_menu_list_side li.open > ul {
  display: block;
  overflow: hidden;
  opacity: 1;
  height: auto;
}
.side_section .page_menu_list_side li.open > .nav_down:before {
  transform: translateY(0) rotate(90deg);
  opacity: 0;
}
.side_section .page_menu_list_side > li {
  border-bottom: 1px solid var(--color-gray3);
}
.side_section .page_menu_list_side > li:first-child {
  border-top: 1px solid var(--color-gray3);
}
.side_section .page_menu_list_side > li ul {
  display: none;
}
.side_section .page_menu_list_side > li > a {
  position: relative;
}
.side_section .page_menu_list_side > li > a:before {
  content: "";
  position: absolute;
  left: 0.4em;
  top: 1.1em;
  width: 1px;
  height: 1.2em;
  background: var(--base-color1);
}
.side_section .page_menu_list_side > li > ul > li > ul > li > a {
  padding-left: 2em !important;
}
.side_section .page_menu_list_side > li > ul > li > ul > li > ul > li a {
  margin-left: 3em;
}
.side_section .page_menu_list_side > li > ul > li > ul > li > ul > li a:before {
  content: "・";
  left: 3.2em;
  position: absolute;
  top: 0.9em;
}
.side_section .page_menu_list_side > li:first-child {
  border-top: none;
}
.side_section .page_menu_list_side * :focus-visible {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: -2px;
  border-radius: 3px;
}

/* pagination
-----------------------------------------------------------------------------------------------------------------------------------*/
.pagination {
  margin: 30px 0 20px;
  justify-content: center;
}

.pagenavi {
  display: flex;
  justify-content: center;
}
.pagenavi .pre.page-numbers,
.pagenavi .next.page-numbers {
  width: 2rem;
}
.pagenavi span {
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  padding: 7px 7px;
  margin: 0 5px;
  min-height: 30px;
  position: relative;
  box-sizing: border-box;
}
.pagenavi a {
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  padding: 7px 7px;
  margin: 0 5px;
  min-height: 30px;
  position: relative;
  box-sizing: border-box;
  color: var(--font-color);
  background: var(--bg-color_g1);
  cursor: pointer;
}
.pagenavi span.current {
  display: block;
  white-space: nowrap;
  color: var(--base-color0);
  background: var(--base-color1);
  border-radius: 2px;
}
.pagenavi a.current, .pagenavi a:hover {
  display: block;
  color: var(--base-color0);
  background: var(--base-color1);
  border-radius: 2px;
}
.pagenavi .previouspostslink,
.pagenavi .nextpostslink {
  background: none;
}

@media screen and (max-width: 768px) {
  .pagination {
    margin: 10% 0 10%;
  }
}
@media screen and (max-width: 480px) {
  .pagination a {
    margin: 0 1px;
  }
  .pagenavi {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .pagenavi > * {
    margin-bottom: 0.3em !important;
  }
}
/*cms parts
==========================================================================*/
/*cms_midashi ver_01
------------------------------------------------------------------------------------*/
.cms_midashi {
  /*   > * {
    &:first-of-type {
      margin-top: auto !important;
    }
  } */
}
.cms_midashi h1 {
  font-size: 3rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.cms_midashi h2 {
  font-size: 2.6rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.cms_midashi h3 {
  font-size: 2.4rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.cms_midashi h4 {
  font-size: 1.9rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.cms_midashi h5 {
  font-size: 2.3rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.cms_midashi h6 {
  font-size: 1.8rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
@media screen and (max-width: 960px) {
  .cms_midashi h1 {
    font-size: 1.7rem;
    margin-top: 2em;
  }
  .cms_midashi h2 {
    font-size: 1.6rem;
    margin-top: 2em;
  }
  .cms_midashi h3 {
    font-size: 1.5rem;
    margin-top: 2em;
  }
  .cms_midashi h4 {
    font-size: 1.5rem !important;
    margin-top: 2em;
  }
  .cms_midashi h5 {
    font-size: 1.5rem !important;
    margin-top: 2em;
  }
  .cms_midashi h6 {
    font-size: 1.6rem;
    margin-top: 2em;
  }
}
.cms_midashi h1 {
  position: relative;
  background: var(--bg-color_g1);
  border-radius: 0.5em;
  padding: 0.5em 0.5em 0.5em 1em;
}
.cms_midashi h1:before {
  content: "";
  position: absolute;
  height: 0.2em;
  width: 0.8em;
  left: -0.4em;
  background: var(--base-color1);
  border-radius: 1em;
  top: 50%;
  transform: translate(0%, -50%);
}
.cms_midashi h2 {
  border: solid 1px var(--base-color1);
  border-radius: 0.5em;
  padding: 0.5em;
}
.cms_midashi h3 {
  position: relative;
  line-height: 1.2;
  padding-left: 0.8em;
}
.cms_midashi h3:after {
  content: "";
  width: 5px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--base-color1);
  border-radius: 10px;
}
.cms_midashi h4 {
  padding: 0.8em 1em;
  background: var(--bg-color2);
  font-weight: bold;
  color: var(--base-color4);
  display: block;
  border-radius: 0.5em;
}
.cms_midashi h5 {
  padding-bottom: 0.2em;
  border-bottom: 2px dashed var(--base-color1);
}
.cms_midashi h6 {
  position: relative;
}
.cms_midashi h6:before {
  position: absolute;
  left: 0;
  bottom: -0.5rem;
  content: "";
  background: #cccccc;
  width: 100%;
  height: 1px;
}

/*cms_midashi ver_02　アイコン付き季節ごと
------------------------------------------------------------------------------------*/
.cms_midashi_pict {
  /*   > * {
    &:first-child {
      margin-top: auto !important;
    }
  } */
}
.cms_midashi_pict h1 {
  font-size: 3rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.cms_midashi_pict h2 {
  font-size: 2.6rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.cms_midashi_pict h3 {
  font-size: 2.4rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.cms_midashi_pict h4 {
  font-size: 1.9rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.cms_midashi_pict h5 {
  font-size: 2.3rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.cms_midashi_pict h6 {
  font-size: 1.8rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
@media screen and (max-width: 960px) {
  .cms_midashi_pict h1 {
    font-size: 1.7rem;
    margin-top: 2em;
  }
  .cms_midashi_pict h2 {
    font-size: 1.6rem;
    margin-top: 2em;
  }
  .cms_midashi_pict h3 {
    font-size: 1.5rem;
    margin-top: 2em;
  }
  .cms_midashi_pict h4 {
    font-size: 1.5rem !important;
    margin-top: 2em;
  }
  .cms_midashi_pict h5 {
    font-size: 1.5rem !important;
    margin-top: 2em;
  }
  .cms_midashi_pict h6 {
    font-size: 1.6rem;
    margin-top: 2em;
  }
}
.cms_midashi_pict h1 {
  position: relative;
}
.cms_midashi_pict h1:before {
  content: "";
  width: 1.8em;
  height: 1.5em;
  background: url("../images/parts/ico_normal_01.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.cms_midashi_pict h2 {
  position: relative;
  padding-bottom: 0.4em;
}
.cms_midashi_pict h2:before {
  content: "";
  width: 2em;
  height: 1.5em;
  background: url("../images/parts/ico_normal_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.cms_midashi_pict h2:after {
  width: 100%;
  background: #63aa26;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.cms_midashi_pict h3 {
  position: relative;
}
.cms_midashi_pict h3:before {
  content: "";
  width: 1.6em;
  height: 1.5em;
  background: url("../images/parts/ico_normal_03.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.cms_midashi_pict h4 {
  border: solid 3px #4f841c;
  font-size: 1.9rem;
  padding: 0.8em 1em;
}
.cms_midashi_pict h4:before {
  content: normal;
}
.cms_midashi_pict h5 {
  position: relative;
  font-size: 1.8rem;
}
.cms_midashi_pict h5:before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: url("../images/parts/ico_normal_05.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.cms_midashi_pict h6 {
  padding-bottom: 0.2em;
  border-bottom: 2px dashed #4f841c;
  margin-bottom: 2rem;
}
.cms_midashi_pict .list_ico_pin {
  position: relative;
  padding: 0 0 0 1.5em;
  margin: auto;
}
.cms_midashi_pict .list_ico_pin:before {
  content: "";
  position: absolute;
  width: 0.9em;
  height: 0.9em;
  left: 0;
  background: url("../images/parts/ico_pin.svg") no-repeat;
  background-size: contain;
  bottom: auto;
}
.cms_midashi_pict .list_ico_pin:after {
  content: normal;
}
.cms_midashi_pict h1.list_ico_pin_bg,
.cms_midashi_pict h2.list_ico_pin_bg,
.cms_midashi_pict h3.list_ico_pin_bg,
.cms_midashi_pict h5.list_ico_pin_bg {
  padding-left: 3em;
  background: url("../images/parts/ico_pin.svg") no-repeat;
  background-size: 1em;
  background-position: top 0 left 0em;
}
.cms_midashi_pict h1.list_ico_pin_bg:before,
.cms_midashi_pict h2.list_ico_pin_bg:before,
.cms_midashi_pict h3.list_ico_pin_bg:before,
.cms_midashi_pict h5.list_ico_pin_bg:before {
  left: 1.3em;
}
.cms_midashi_pict h4.list_ico_pin_bg,
.cms_midashi_pict h6.list_ico_pin_bg {
  padding-left: 1.5em;
  background: url("../images/parts/ico_pin.svg") no-repeat;
  background-size: 1em;
  background-position: top 0 left 0em;
}
.cms_midashi_pict h4.list_ico_pin_bg:before,
.cms_midashi_pict h6.list_ico_pin_bg:before {
  left: 1.3em;
}

.ver_spring h1 {
  position: relative;
}
.ver_spring h1:before {
  content: "";
  width: 2em;
  height: 1.5em;
  background: url("../images/parts/ico_spring_01.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_spring h2 {
  position: relative;
  padding-bottom: 0.4em;
}
.ver_spring h2:before {
  content: "";
  width: 2em;
  height: 2.5em;
  background: url("../images/parts/ico_spring_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_spring h2:after {
  width: 100%;
  background: #63aa26;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.ver_spring h3 {
  position: relative;
}
.ver_spring h3:before {
  content: "";
  width: 1.6em;
  height: 1.5em;
  background: url("../images/parts/ico_spring_03.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_spring h4 {
  border: solid 3px #ffbdba;
  font-size: 1.9rem;
  padding: 0.8em 1em;
}
.ver_spring h4:before {
  content: normal;
}
.ver_spring h5 {
  position: relative;
  font-size: 1.9rem;
}
.ver_spring h5:before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: url("../images/parts/ico_spring_04.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_spring h6 {
  padding-bottom: 0.2em;
  border-bottom: 2px dashed #ffbdba;
  margin-bottom: 2rem;
}

.ver_summer h1 {
  position: relative;
}
.ver_summer h1:before {
  content: "";
  width: 2em;
  height: 1.6em;
  background: url("../images/parts/ico_summer_01.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_summer h2 {
  position: relative;
  padding-bottom: 0.4em;
}
.ver_summer h2:before {
  content: "";
  width: 2em;
  height: 2.5em;
  background: url("../images/parts/ico_summer_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_summer h2:after {
  width: 100%;
  background: #63aa26;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.ver_summer h3 {
  position: relative;
}
.ver_summer h3:before {
  content: "";
  width: 1.6em;
  height: 1.5em;
  background: url("../images/parts/ico_summer_03.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_summer h4 {
  border: solid 3px #ffcfab;
  font-size: 1.9rem;
  padding: 0.8em 1em;
}
.ver_summer h4:before {
  content: normal;
}
.ver_summer h5 {
  position: relative;
  font-size: 1.9rem;
}
.ver_summer h5:before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: url("../images/parts/ico_summer_04.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_summer h6 {
  padding-bottom: 0.2em;
  border-bottom: 2px dashed #ffcfab;
  margin-bottom: 2rem;
}

.ver_autumn h1 {
  position: relative;
}
.ver_autumn h1:before {
  content: "";
  width: 2em;
  height: 1.6em;
  background: url("../images/parts/ico_autumn_01.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_autumn h2 {
  position: relative;
  padding-bottom: 0.4em;
}
.ver_autumn h2:before {
  content: "";
  width: 2em;
  height: 2em;
  background: url("../images/parts/ico_autumn_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_autumn h2:after {
  width: 100%;
  background: #db880f;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.ver_autumn h3 {
  position: relative;
}
.ver_autumn h3:before {
  content: "";
  width: 1.6em;
  height: 1.5em;
  background: url("../images/parts/ico_autumn_03.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_autumn h4 {
  border: solid 3px #db880f;
  font-size: 1.9rem;
  padding: 0.8em 1em;
}
.ver_autumn h4:before {
  content: normal;
}
.ver_autumn h5 {
  position: relative;
  font-size: 1.9rem;
}
.ver_autumn h5:before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: url("../images/parts/ico_autumn_04.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_autumn h6 {
  padding-bottom: 0.2em;
  border-bottom: 2px dashed #ba7831;
  margin-bottom: 2rem;
}

.ver_winter h1 {
  position: relative;
}
.ver_winter h1:before {
  content: "";
  width: 2em;
  height: 1.6em;
  background: url("../images/parts/ico_winter_01.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_winter h2 {
  position: relative;
  padding-bottom: 0.4em;
}
.ver_winter h2:before {
  content: "";
  width: 2em;
  height: 2em;
  background: url("../images/parts/ico_winter_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_winter h2:after {
  width: 100%;
  background: #bababa;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.ver_winter h3 {
  position: relative;
}
.ver_winter h3:before {
  content: "";
  width: 1.6em;
  height: 1.5em;
  background: url("../images/parts/ico_winter_03.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_winter h4 {
  border: solid 3px #9ac5ff;
  font-size: 1.9rem;
  padding: 0.8em 1em;
}
.ver_winter h4:before {
  content: normal;
}
.ver_winter h5 {
  position: relative;
  font-size: 1.9rem;
}
.ver_winter h5:before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: url("../images/parts/ico_winter_04.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_winter h6 {
  padding-bottom: 0.2em;
  border-bottom: 2px dashed #9ac5ff;
  margin-bottom: 2rem;
}

.ver_sports h1 {
  position: relative;
}
.ver_sports h1:before {
  content: "";
  width: 2em;
  height: 1.6em;
  background: url("../images/parts/ico_sports_01.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_sports h2 {
  position: relative;
  padding-bottom: 0.4em;
}
.ver_sports h2:before {
  content: "";
  width: 2em;
  height: 2em;
  background: url("../images/parts/ico_sports_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_sports h2:after {
  width: 100%;
  background: #ba7831;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.ver_sports h3 {
  position: relative;
}
.ver_sports h3:before {
  content: "";
  width: 1.6em;
  height: 1.5em;
  background: url("../images/parts/ico_sports_03.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_sports h4 {
  border: solid 3px #ba7831;
  font-size: 1.9rem;
  padding: 0.8em 1em;
}
.ver_sports h4:before {
  content: normal;
}
.ver_sports h5 {
  position: relative;
  font-size: 1.9rem;
}
.ver_sports h5:before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: url("../images/parts/ico_sports_04.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_sports h6 {
  padding-bottom: 0.2em;
  border-bottom: 2px dashed #ba7831;
  margin-bottom: 2rem;
}

.ver_nyugaku h1 {
  position: relative;
}
.ver_nyugaku h1:before {
  content: "";
  width: 2em;
  height: 1.2em;
  background: url("../images/parts/ico_nyugaku_01.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_nyugaku h2 {
  position: relative;
  padding-bottom: 0.4em;
}
.ver_nyugaku h2:before {
  content: "";
  width: 1.3em;
  height: 1.6em;
  background: url("../images/parts/ico_nyugaku_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_nyugaku h2:after {
  width: 100%;
  background: #e52c2c;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.ver_nyugaku h3 {
  position: relative;
}
.ver_nyugaku h3:before {
  content: "";
  width: 1.2em;
  height: 1.5em;
  background: url("../images/parts/ico_nyugaku_03.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_nyugaku h4 {
  border: solid 3px #e52c2c;
  font-size: 1.9rem;
  padding: 0.8em 1em;
}
.ver_nyugaku h4:before {
  content: normal;
}
.ver_nyugaku h5 {
  position: relative;
  font-size: 1.9rem;
}
.ver_nyugaku h5:before {
  content: "";
  width: 1.5em;
  height: 1.3em;
  background: url("../images/parts/ico_nyugaku_04.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_nyugaku h6 {
  padding-bottom: 0.2em;
  border-bottom: 2px dashed #e52c2c;
  margin-bottom: 2rem;
}

.ver_ensoku h1 {
  position: relative;
}
.ver_ensoku h1:before {
  content: "";
  width: 2em;
  height: 1.2em;
  background: url("../images/parts/ico_ensoku_01.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_ensoku h2 {
  position: relative;
  padding-bottom: 0.4em;
}
.ver_ensoku h2:before {
  content: "";
  width: 1.7em;
  height: 1.5em;
  background: url("../images/parts/ico_ensoku_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_ensoku h2:after {
  width: 100%;
  background: #63aa26;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.ver_ensoku h3 {
  position: relative;
}
.ver_ensoku h3:before {
  content: "";
  width: 1.3em;
  height: 1.5em;
  background: url("../images/parts/ico_ensoku_03.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_ensoku h4 {
  border: solid 3px #ffbdba;
  font-size: 1.9rem;
  padding: 0.8em 1em;
}
.ver_ensoku h4:before {
  content: normal;
}
.ver_ensoku h5 {
  position: relative;
  font-size: 1.9rem;
}
.ver_ensoku h5:before {
  content: "";
  width: 1.5em;
  height: 1.4em;
  background: url("../images/parts/ico_ensoku_04.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_ensoku h6 {
  padding-bottom: 0.2em;
  border-bottom: 2px dashed #ffbdba;
  margin-bottom: 2rem;
}

.ver_bunkasai h1 {
  position: relative;
}
.ver_bunkasai h1:before {
  content: "";
  width: 2em;
  height: 1.5em;
  background: url("../images/parts/ico_bunkasai_01.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_bunkasai h2 {
  position: relative;
  padding-bottom: 0.4em;
}
.ver_bunkasai h2:before {
  content: "";
  width: 1.4em;
  height: 1.5em;
  background: url("../images/parts/ico_bunkasai_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_bunkasai h2:after {
  width: 100%;
  background: #ff9a36;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.ver_bunkasai h3 {
  position: relative;
}
.ver_bunkasai h3:before {
  content: "";
  width: 1.6em;
  height: 1.1em;
  background: url("../images/parts/ico_bunkasai_03.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_bunkasai h4 {
  border: solid 3px #ff9a36;
  font-size: 1.9rem;
  padding: 0.8em 1em;
}
.ver_bunkasai h4:before {
  content: normal;
}
.ver_bunkasai h5 {
  position: relative;
  font-size: 1.9rem;
}
.ver_bunkasai h5:before {
  content: "";
  width: 1.5em;
  height: 1.4em;
  background: url("../images/parts/ico_bunkasai_04.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_bunkasai h6 {
  padding-bottom: 0.2em;
  border-bottom: 2px dashed #ff9a36;
  margin-bottom: 2rem;
}

.ver_jyuken h1 {
  position: relative;
}
.ver_jyuken h1:before {
  content: "";
  width: 2em;
  height: 1.2em;
  background: url("../images/parts/ico_jyuken_01.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_jyuken h2 {
  position: relative;
  padding-bottom: 0.4em;
}
.ver_jyuken h2:before {
  content: "";
  width: 1.8em;
  height: 1.3em;
  background: url("../images/parts/ico_jyuken_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_jyuken h2:after {
  width: 100%;
  background: #0f6608;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.ver_jyuken h3 {
  position: relative;
}
.ver_jyuken h3:before {
  content: "";
  width: 2em;
  height: 1.6em;
  background: url("../images/parts/ico_jyuken_03.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_jyuken h4 {
  border: solid 3px #0f6608;
  font-size: 1.9rem;
  padding: 0.8em 1em;
}
.ver_jyuken h4:before {
  content: normal;
}
.ver_jyuken h5 {
  position: relative;
  font-size: 1.9rem;
}
.ver_jyuken h5:before {
  content: "";
  width: 1.5em;
  height: 1.3em;
  background: url("../images/parts/ico_jyuken_04.svg") no-repeat;
  /* background: url("../images/parts/ico_normal_01.svg") no-repeat; */
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.ver_jyuken h6 {
  padding-bottom: 0.2em;
  border-bottom: 2px dashed #0f6608;
  margin-bottom: 2rem;
}

/*cms_list
------------------------------------------*/
ul.cms_list {
  margin-bottom: 2rem;
}
ul.cms_list li {
  position: relative;
  padding-left: 1em;
}
ul.cms_list li:before {
  content: "・";
  position: absolute;
  left: 0;
}

/*cms_contents
------------------------------------------*/
.cms_contents a {
  color: var(--base-color1);
  text-decoration: underline;
  word-wrap: break-word;
}
.cms_contents a:hover {
  text-decoration: none;
}

.cms_contents table.table-bordered,
.cms_contents table.table-borderless,
.cms_contents table.table-condensed {
  width: 100%;
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: normal;
}
.cms_contents table.table-bordered td, .cms_contents table.table-bordered th,
.cms_contents table.table-borderless td,
.cms_contents table.table-borderless th,
.cms_contents table.table-condensed td,
.cms_contents table.table-condensed th {
  word-break: break-word;
}
.cms_contents table.datagrid {
  margin: 2rem auto;
  width: 100%;
  border-top: solid 1px #cccccc;
  border-left: solid 1px #cccccc;
}
.cms_contents table.datagrid th,
.cms_contents table.datagrid td {
  padding: 0.2em 0.5em;
}
.cms_contents table.datagrid th {
  border-right: solid 1px #cccccc;
  border-bottom: solid 1px #cccccc;
}
.cms_contents table.datagrid td {
  border-right: solid 1px #cccccc;
  border-bottom: solid 1px #cccccc;
}
.cms_contents table.datagrid.legacy-designtype-table-1 th,
.cms_contents table.datagrid.legacy-designtype-table-1 td {
  padding: 0em 0em;
}
.cms_contents table.datagrid.legacy-designtype-table-2 {
  border-left: none;
}
.cms_contents table.datagrid.legacy-designtype-table-2 th,
.cms_contents table.datagrid.legacy-designtype-table-2 td {
  border-left: none;
  border-right: none;
}
.cms_contents table.datagrid.legacy-designtype-table-3 {
  border: none !important;
}
.cms_contents table.datagrid.legacy-designtype-table-3 th,
.cms_contents table.datagrid.legacy-designtype-table-3 td {
  border-left: none !important;
  border-right: none !important;
}
.cms_contents table.datagrid.legacy-designtype-table-4 {
  background: #ffffcc;
  color: var(--black-black-black);
}
.cms_contents table.datagrid.legacy-designtype-table-4 th,
.cms_contents table.datagrid.legacy-designtype-table-4 td {
  background: #ffffcc;
}
.cms_contents table.datagrid.legacy-designtype-table-5 {
  color: var(--black-black-black);
  background: #ffccdd;
}
.cms_contents table.datagrid.legacy-designtype-table-5 th,
.cms_contents table.datagrid.legacy-designtype-table-5 td {
  background: #ffccdd;
}
.cms_contents table.datagrid.legacy-designtype-table-6 {
  background: #eeddff;
}
.cms_contents table.datagrid.legacy-designtype-table-6 th,
.cms_contents table.datagrid.legacy-designtype-table-6 td {
  background: #eeddff;
}
.cms_contents table.datagrid.legacy-designtype-table-7 {
  background: #ddeeff;
}
.cms_contents table.datagrid.legacy-designtype-table-7 th,
.cms_contents table.datagrid.legacy-designtype-table-7 td {
  background: #ddeeff;
}
.cms_contents table.datagrid.legacy-designtype-table-8 {
  background: #ddffdd;
}
.cms_contents table.datagrid.legacy-designtype-table-8 th,
.cms_contents table.datagrid.legacy-designtype-table-8 td {
  background: #ddffdd;
}
.cms_contents ul {
  margin: 2rem auto;
  position: relative;
}
.cms_contents ul li {
  position: relative;
  padding-left: 1em;
}
.cms_contents ul li:before {
  content: "・";
  position: absolute;
  left: 0;
  color: var(--black-black-white);
}
.cms_contents ol {
  margin: 2rem auto;
  position: relative;
  list-style-type: decimal;
}
.cms_contents ol li {
  margin-left: 1em;
}

/*cms_text
------------------------------------------*/
.cms_text {
  padding: 0 0 2rem 0;
}

/*cms_aco
------------------------------------------*/
.cms_aco {
  padding: 3rem 0;
}
.cms_aco_btn {
  cursor: pointer;
  color: var(--base-color0);
  background: var(--base-color1);
  padding: 0.5em 3em 0.5em 0.5em;
  font-weight: bold;
  font-size: 1.8rem;
  position: relative;
}
.cms_aco_btn:after {
  position: absolute;
  content: "";
  vertical-align: middle;
  right: 1em;
  top: 0em;
  bottom: 0;
  margin: auto;
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid var(--base-color0);
  border-right: 2px solid var(--base-color0);
  transform: rotate(135deg);
  transition: all 0.15s ease;
}
.cms_aco_btn.active:after {
  top: 0.5rem;
  transform: rotate(-45deg);
}
.cms_aco_cont {
  padding: 2rem;
  display: none;
}

@media screen and (max-width: 680px) {
  .cms_aco_btn {
    font-size: 1.4rem;
  }
}
/*attachment_area　アイコン付きリスト
------------------------------------------*/
.attachment_area {
  padding: 4rem 0;
}
.attachment_area .link_ob {
  color: var(--font-link-color);
  text-decoration: underline;
  display: inline-block;
}
.attachment_area * + * {
  margin-top: 1rem;
}
.attachment_area .link_ob:hover {
  text-decoration: none;
}

/*good_area　いいね
------------------------------------------*/
.good_area {
  padding: 1rem 0 4rem 0;
  text-align: right;
  font-size: 1.4rem;
  border-top: 1px solid #cccccc;
}
.good_area :focus-visible {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black);
  outline-offset: 2px;
  border-radius: 3px;
}
.good_area > * {
  color: var(--color-gray);
}

@media screen and (max-width: 680px) {
  .good_area {
    font-size: 1.2rem;
  }
}
/*diary detail____
============================================================================================================================== */
/*diary_title
---------------------------------------------------------------------------*/
.diary_title {
  padding: 2rem 0 4rem 0;
  text-align: center;
  margin: auto;
}
.diary_title > * {
  font-size: 2.4rem;
  font-weight: bold;
  display: inline;
  position: relative;
  z-index: 1;
  background: linear-gradient(transparent 60%, var(--bg-color2) 60%);
}
.diary_title > *.size_s {
  font-size: 1.6rem;
}
.diary_title > *.size_l {
  font-size: 3.6rem;
}

@media screen and (max-width: 960px) {
  .diary_title > * {
    font-size: 1.5rem;
  }
  .diary_title > *.size_s {
    font-size: 1.3rem;
  }
  .diary_title > *.size_l {
    font-size: 2rem;
  }
}
/*center_mess_area
---------------------------------------------------------------------------*/
.center_mess_area {
  border: solid 2px var(--base-color1);
  border-radius: 1rem;
  margin-bottom: 4rem;
}
.center_mess_area_dialy_top {
  margin-bottom: 9rem;
}

.center_mess_title {
  text-align: center;
  color: var(--base-color1);
  padding: 0.5em 1em 0.8em 1em;
  font-size: 2.8rem;
  letter-spacing: 1px;
  position: relative;
  font-weight: bold;
}

.center_mess_from {
  font-size: 1.3rem;
}
.center_mess_from span {
  color: var(--base-color1);
  border: 1px solid var(--base-color1);
  border-radius: 5rem;
  padding: 0.2em 0.8em;
  margin-right: 1em;
}

@media screen and (max-width: 960px) {
  .center_mess_title {
    font-size: 1.8rem;
    padding: 1em 1em 0em 1em;
  }
}
@media screen and (max-width: 680px) {
  .center_mess_title {
    font-size: 1.6rem;
  }
}
/*center_mess_text_box
---------------------------------------------------------------------------*/
.center_mess_text_box {
  padding: 3.5rem;
}

@media screen and (max-width: 480px) {
  .center_mess_text_box {
    padding: 2rem;
  }
  .center_mess_list_flex .text_box {
    width: 73%;
  }
}
/*center_mess_list
-----------------------------------------*/
.center_mess_list > li {
  position: relative;
}
.center_mess_list > li + li {
  margin-top: 3rem;
}
.center_mess_list .card_parts_2col .card_parts_title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4;
}
.center_mess_list .card_parts_2col .card_date {
  margin-top: 1rem;
  padding-top: 0 !important;
}
.center_mess_list .card_parts {
  display: flex;
  justify-content: space-between;
}
.center_mess_list .card_parts .img {
  width: 10%;
}
.center_mess_list .card_parts .text_box {
  width: 88%;
}
.center_mess_list .card_parts .img img {
  width: 100%;
}
.center_mess_list .card_parts .card_parts_title {
  font-size: 1.5rem;
  font-weight: bold;
}
.center_mess_list .card_parts .card_date {
  margin-top: 1rem;
  padding-top: 0 !important;
}
.center_mess_list .card_parts .card_parts_2col .card_date {
  margin-top: 1rem;
  padding-top: 0 !important;
}
.diary_card_list_inner .card_parts a {
  display: block;
}
.diary_card_list_inner .card_parts .img a {
  display: block;
  overflow: hidden;
}
.diary_card_list_inner .card_parts .img a:focus-visible {
  outline: none !important;
}
.diary_card_list_inner .card_parts .img a:focus-visible > img {
  outline: 2px solid var(--black-black-black) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-white) !important;
  outline-offset: -2px;
  border-radius: 2rem;
}

.slide-module-01 .card_date dl + dl {
  margin-left: 0.3em;
}
.slide-module-01 .new_front {
  padding-left: 3.5rem;
}
.slide-module-01 .new_front:before {
  width: 3.2rem;
}
.slide-module-01 .card_date dl dt {
  padding-right: 0.3rem;
}

.column2_ab_w .slide-wrapper {
  padding: 5rem 0;
}
.column2_ab_w .card_list + .row_btns {
  bottom: auto !important;
  left: 40%;
}

@media screen and (max-width: 680px) {
  .column2_ab_w.document_page {
    display: flex;
    flex-direction: column;
  }
  .column2_ab_w.document_page .freebox_line {
    order: 2; /* 2番目に移動 */
  }
  .column2_ab_w.document_page .col2_box_02_sp {
    order: 1; /* 1番目に移動 */
  }
  .column2_ab_w.document_page .sp_section_s {
    order: 3; /* 3番目のまま */
  }
  .column2_ab_w.document_page .nodocument {
    order: 3;
  }
}
@media screen and (max-width: 480px) {
  .column2_ab_w .card_list + .row_btns {
    bottom: auto !important;
    left: 50%;
  }
}
@media screen and (max-width: 980px) {
  .slide-module-01 .card_date dl {
    font-size: 0.9rem;
  }
  .slide-module-01 .new_front {
    padding-left: 3rem;
  }
  .slide-module-01 .new_front:before {
    width: 2.9rem;
  }
}
@media screen and (max-width: 480px) {
  .center_mess_list .card_parts {
    padding-bottom: 0em;
  }
  .center_mess_list .card_parts .card_parts_title {
    font-size: 1.4rem;
    line-height: 1.3;
    margin-bottom: 1.5em;
    padding-bottom: 0.5em;
  }
  .center_mess_list .card_parts .card_date {
    /*  justify-content: flex-end; */
    padding-top: 0rem;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
  .center_mess_list .card_parts .img {
    width: 20% !important;
    margin-bottom: 2rem;
  }
  .center_mess_list > li {
    padding-bottom: 2.5rem;
  }
}
/*diary_top_area
------------------------------------------------------------------------*/
/*diary_top_list
-----------------------------------------*/
.diary_top_list > li {
  margin-bottom: 6rem;
  padding-bottom: 6rem;
  border-bottom: 2px solid var(--base-color1);
}

@media screen and (max-width: 480px) {
  .diary_top_list > li {
    margin-bottom: 4rem;
    padding-bottom: 4rem;
  }
}
/*diary_top_title 一覧h2用タイトル
-----------------------------------------*/
.diary_top_title {
  font-size: 3.2rem !important;
  /*  padding: 0 0 3rem 0; */
  font-weight: bold;
  margin-top: auto !important;
  margin-bottom: 1em;
  padding-bottom: 0.2em !important;
  /*   &.diary_top_title_pin {
    @include ico_pin_bg_noico;
    padding-left: 3em;
  } */
}
.diary_top_title_detail {
  margin-top: 2em !important;
}
.diary_top_title h1 {
  font-size: 3rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.diary_top_title h2 {
  font-size: 2.6rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.diary_top_title h3 {
  font-size: 2.4rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.diary_top_title h4 {
  font-size: 1.9rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.diary_top_title h5 {
  font-size: 2.3rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
.diary_top_title h6 {
  font-size: 1.8rem;
  margin-top: 3em;
  margin-bottom: 1em;
  font-weight: bold;
}
@media screen and (max-width: 960px) {
  .diary_top_title {
    font-size: 2.5rem !important;
  }
  .diary_top_title h1 {
    font-size: 1.7rem;
    margin-top: 2em;
  }
  .diary_top_title h2 {
    font-size: 1.6rem;
    margin-top: 2em;
  }
  .diary_top_title h3 {
    font-size: 1.5rem;
    margin-top: 2em;
  }
  .diary_top_title h4 {
    font-size: 1.5rem !important;
    margin-top: 2em;
  }
  .diary_top_title h5 {
    font-size: 1.5rem !important;
    margin-top: 2em;
  }
  .diary_top_title h6 {
    font-size: 1.6rem;
    margin-top: 2em;
  }
}
.diary_top_title.top_title_normal {
  position: relative;
  display: block;
  margin-bottom: 2em;
}
.diary_top_title.top_title_normal:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.5em;
  height: 1px;
  width: 100%;
  background: var(--base-color1);
}
.diary_top_title.top_title_normal2 {
  position: relative;
  padding-bottom: 0.4em;
}
.diary_top_title.top_title_normal2:before {
  content: "";
  width: 2em;
  height: 1.5em;
  background: url("../images/parts/ico_normal_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.diary_top_title.top_title_normal2:after {
  width: 100%;
  background: #63aa26;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.diary_top_title.top_title_spring {
  position: relative;
  padding-bottom: 0.4em;
  padding-left: 1.8em;
}
.diary_top_title.top_title_spring:before {
  content: "";
  width: 1.3em;
  height: 2em;
  background: url("../images/parts/ico_spring_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.diary_top_title.top_title_spring:after {
  width: 100%;
  background: #63aa26;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0em;
  left: 0;
}
.diary_top_title.top_title_summer {
  position: relative;
  padding-bottom: 0.4em;
}
.diary_top_title.top_title_summer:before {
  content: "";
  width: 2em;
  height: 2em;
  background: url("../images/parts/ico_summer_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.diary_top_title.top_title_summer:after {
  width: 100%;
  background: #63aa26;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.diary_top_title.top_title_autumn {
  position: relative;
  padding-bottom: 0.4em;
}
.diary_top_title.top_title_autumn:before {
  content: "";
  width: 2em;
  height: 1.8em;
  background: url("../images/parts/ico_autumn_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.diary_top_title.top_title_autumn:after {
  width: 100%;
  background: #63aa26;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.diary_top_title.top_title_winter {
  position: relative;
  padding-bottom: 0.4em;
}
.diary_top_title.top_title_winter:before {
  content: "";
  width: 2em;
  height: 2em;
  background: url("../images/parts/ico_winter_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.diary_top_title.top_title_winter:after {
  width: 100%;
  background: #bababa;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.diary_top_title.top_title_sports {
  position: relative;
  padding-bottom: 0.4em;
}
.diary_top_title.top_title_sports:before {
  content: "";
  width: 2em;
  height: 2em;
  background: url("../images/parts/ico_sports_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.diary_top_title.top_title_sports:after {
  width: 100%;
  background: #ba7831;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.diary_top_title.top_title_nyugaku {
  position: relative;
  padding-bottom: 0.4em;
}
.diary_top_title.top_title_nyugaku:before {
  content: "";
  width: 2em;
  height: 1.4em;
  background: url("../images/parts/ico_nyugaku_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.diary_top_title.top_title_nyugaku:after {
  width: 100%;
  background: #ba7831;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.diary_top_title.top_title_ensoku {
  position: relative;
  padding-bottom: 0.4em;
}
.diary_top_title.top_title_ensoku:before {
  content: "";
  width: 2em;
  height: 1.4em;
  background: url("../images/parts/ico_ensoku_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.diary_top_title.top_title_ensoku:after {
  width: 100%;
  background: #ba7831;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.diary_top_title.top_title_bunkasai {
  position: relative;
  padding-bottom: 0.4em;
}
.diary_top_title.top_title_bunkasai:before {
  content: "";
  width: 2em;
  height: 1.4em;
  background: url("../images/parts/ico_bunkasai_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.diary_top_title.top_title_bunkasai:after {
  width: 100%;
  background: #ba7831;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.diary_top_title.top_title_jyuken {
  position: relative;
  padding-bottom: 0.4em;
}
.diary_top_title.top_title_jyuken:before {
  content: "";
  width: 2em;
  height: 1.4em;
  background: url("../images/parts/ico_jyuken_02.svg") no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: sub;
  margin-right: 5px;
}
.diary_top_title.top_title_jyuken:after {
  width: 100%;
  background: #ba7831;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 480px) {
  .diary_top_title {
    font-size: 1.7rem !important;
  }
}
/*diary_top_title用ピン
---------------------------------------------------------------------------*/
.fixed_pin_ico {
  margin-left: 5rem;
  position: relative;
}
.fixed_pin_ico:before {
  content: "";
  position: absolute;
  top: -5rem;
  left: -9rem;
  border: 4rem solid transparent;
  border-left: 4rem solid var(--base-color1);
  transform: rotate(-135deg);
}
.fixed_pin_ico:after {
  content: "";
  position: absolute;
  top: -0.5rem;
  left: -4.5rem;
  background: url(../images/parts/ico_pin_ff.svg) no-repeat;
  background-size: contain;
  width: 2rem;
  height: 2rem;
  z-index: 1;
}

@media screen and (max-width: 480px) {
  .fixed_pin_ico {
    margin-left: 2.5rem;
  }
  .fixed_pin_ico:before {
    top: -3rem;
    left: -5rem;
    border: 2.3rem solid transparent;
    border-left: 2.3rem solid var(--base-color1);
  }
  .fixed_pin_ico:after {
    top: -0.3rem;
    left: -2.3rem;
    width: 1rem;
    height: 1rem;
  }
}
/*.diary_top_date
---------------------------------------------------------------------------*/
.diary_top_date {
  display: flex;
  font-size: 1.1rem;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}
.diary_top_date dl {
  display: flex;
  font-size: 1.1rem;
}
.diary_top_date dl + dl {
  margin-left: 3%;
}
.diary_top_date dl dt {
  padding-right: 0.5rem;
  position: relative;
  white-space: nowrap;
}
.diary_top_date dl dt:before {
  content: "：";
  position: absolute;
  right: 0rem;
  height: 100%;
  width: 0.5rem;
}
.diary_top_date .cate {
  font-size: 1rem;
  margin-left: 5%;
  margin-top: 0;
  padding: 0.1rem 0.8rem;
}
.diary_top_date.new {
  position: relative;
}
.diary_top_date.new > *:first-child {
  padding-left: 5rem;
}
.diary_top_date.new > *:first-child:before {
  content: "";
  position: absolute;
  width: 4rem;
  height: 1.5rem;
  left: 0;
  background: url("../images/parts/ico_new.svg") no-repeat;
  background-size: contain;
}

@media screen and (max-width: 480px) {
  .diary_top_date {
    flex-wrap: wrap;
  }
  .diary_top_date > dl {
    width: 30%;
  }
  .diary_top_date > dl + dl {
    width: 45%;
  }
  .diary_top_date .cate {
    margin-left: 0;
  }
}
/*new
---------------------------------------------------------------------------*/
.diary_top_list_img {
  margin-bottom: 4rem;
}
.diary_top_list_img img {
  max-width: 100%;
  cursor: pointer;
}
.diary_top_list_img > li {
  margin-bottom: 2rem;
}

/*diary_top_list_img　画像ライトボックス　4枚以上
--------------------------------------------------------------------------*/
.diary_top_list_img_area {
  position: relative;
}
.diary_top_list_img_area .lits_num {
  display: none;
}
.diary_top_list_img_area .lits_num:focus-visible {
  outline: 2px solid var(--white-white-black) !important;
  box-shadow: 0px 0px 0px 1px var(--black-black-white) !important;
  outline-offset: -2px;
  border-radius: 3px;
}
.diary_top_list_img_area.open_ico .lits_num {
  display: block;
  position: absolute;
  color: var(--base-color0);
  font-weight: bold;
  font-size: 3.2rem;
  bottom: 2rem;
  left: 3rem;
  /*  text-shadow: 0px 0px 5px rgba(0, 0, 0, 1); */
  z-index: 1;
  background: var(--color-gray);
  padding: 0.2em 0.4em 0.2em;
  border-radius: 0.1em;
  line-height: 1.2;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}
.diary_top_list_img_area.open_ico .diary_top_list_img > li {
  position: relative;
}
.diary_top_list_img_area.open_ico .diary_top_list_img > li a {
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.diary_top_list_img_area .diary_top_list_img img:focus-visible {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black);
  outline-offset: 2px;
  border-radius: 3px;
}

@media screen and (max-width: 480px) {
  .diary_top_list_img_area.open_ico .lits_num {
    font-size: 2rem;
  }
}
/* 4枚以上は隠す */
.diary_top_list_img > li:nth-child(n+4) {
  display: none;
}
.diary_top_list_img > li img {
  max-width: 100%;
}

/* 縦並び */
/* 横並び */
/* 1カラム element*/
.diary_top_list_img_flex .lits_num {
  left: auto !important;
  right: 0.8em;
}
.diary_top_list_img_flex > ul {
  margin-bottom: 2rem;
  display: flex;
}
.diary_top_list_img_flex > ul li {
  margin-bottom: 0;
}
.diary_top_list_img_flex > ul li img {
  width: 38rem;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit: cover; object-position: center;";
}
.diary_top_list_img_flex > ul > li + li {
  margin-left: 2%;
}

@media screen and (max-width: 480px) {
  .diary_top_list_img_flex .lits_num {
    bottom: 0.5em !important;
  }
}
/* 2カラム時  column内*/
.column-container .diary_top_list_img_area.open_ico .lits_num {
  font-size: 2rem;
}

/*diary_top_list_img_detail スクロールのモーダル
--------------------------------------------------------------------------*/
.diary_top_list_img_detail {
  display: none;
}

/*スクロール非表示*/
.modaal-fullscreen .modaal-container {
  pointer-events: auto;
  scrollbar-width: none !important;
  /*Firefox対応のスクロールバー非表示コード*/
  -ms-overflow-style: none !important;
  /*Internet Explore対応のスクロールバー非表示コード*/
}
.modaal-fullscreen .modaal-container::-webkit-scrollbar {
  display: none;
  /*Google Chrome、Safari、Microsoft Edge対応のスクロールバー非表示コード*/
}

/*開いたモーダル背景色*/
.modaal-container {
  background: #2e2e2e;
}

/* 開いたモーダル　余白、幅調整 */
.modaal-content-container {
  max-width: 99%;
}

@media screen and (max-width: 680px) {
  .modaal-content-container {
    max-width: 99%;
    padding-right: 30px;
  }
}
.modaal-fullscreen .modaal-close {
  right: 5%;
}

/*開いたモーダルの位置*/
.diary_top_list_img_detail_img {
  max-width: 70%;
  margin: auto auto 3rem auto;
  text-align: left;
  -webkit-touch-callout: none !important; /* iphone ipadリンク長押しのポップアップを無効化 */
  -webkit-user-select: none !important; /* iphone ipad テキスト長押しの選択ボックスを無効化 */
}
.diary_top_list_img_detail_img span {
  display: inline-block;
  font-size: 1.6rem;
  color: #fff;
  margin-top: 0.5rem;
  text-align: left;
}
.diary_top_list_img_detail_img img {
  text-align: center;
  max-width: 100%;
  margin: auto;
}

@media screen and (max-width: 680px) {
  .diary_top_list_img_detail_img {
    max-width: 100%;
    /*  */
  }
  .diary_top_list_img_detail_img:first-child {
    margin-top: 5rem;
  }
  .diary_top_list_img_detail_img span {
    font-size: 1.4rem;
  }
}
p.img,
.card-parts .img,
.secure-image-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-touch-callout: none !important; /* iphone ipadリンク長押しのポップアップを無効化 */
  -webkit-user-select: none !important; /* iphone ipad テキスト長押しの選択ボックスを無効化 */
  -webkit-user-drag: none !important;
  display: inline-block;
}
p.img .cover-img,
.card-parts .img .cover-img,
.secure-image-wrap .cover-img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  z-index: 100000;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  user-drag: none;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -khtml-user-drag: none;
  -ms-user-drag: none;
}

.protect-image-wrap {
  position: relative;
  width: 100%;
  -webkit-touch-callout: none !important; /* iphone ipadリンク長押しのポップアップを無効化 */
  -webkit-user-select: none !important; /* iphone ipad テキスト長押しの選択ボックスを無効化 */
  -webkit-user-drag: none !important;
  display: inline-block;
}

/*スケジュールモーダル
---------------------------------------------------------------------------*/
.modaal_cont_inner {
  width: 100%;
  margin: auto;
  background-color: var(--base-color0);
}

.modaal_cont_w {
  padding: 3rem;
  font-size: 1.6rem;
}
.modaal_cont_w > * {
  margin-bottom: 1rem;
}
.modaal_cont_w .modaal_title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 2em;
  position: relative;
  display: block;
}
.modaal_cont_w .modaal_title a {
  text-decoration: underline;
  padding-right: 2.5rem;
  background: url(../images/parts/ico_brank.svg) no-repeat;
  background-size: 0.8em;
  background-position: right;
}
.modaal_cont_w .modaal_title:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.5em;
  height: 1px;
  width: 100%;
  background: var(--base-color1);
}
.modaal_cont_w .modal_day {
  font-size: 1.4rem;
  padding: 0.8em 1em;
  background: var(--bg-color2);
  font-weight: bold;
  color: var(--base-color4);
  display: block;
  border-radius: 0.5em;
}
.modaal_cont_w .modal_place {
  margin-bottom: 2rem;
}

@media screen and (max-width: 680px) {
  .modaal_cont_w {
    font-size: 1.4rem;
  }
  .modaal_cont_w .modaal_title {
    font-size: 1.6rem;
  }
  .modaal_cont_w .modal_day {
    font-size: 1.3rem;
  }
}
/*tag_list
--------------------------------------------------------------------------*/
.tag_list {
  margin-top: 0.1rem;
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  font-size: 1.3rem;
  color: var(--color-gray);
  padding-left: 2.5rem;
}
.tag_list:before {
  content: "";
  position: absolute;
  width: 1.1rem;
  height: 1.3rem;
  left: 0;
  top: 0.5rem;
  background: url("../images/parts/ico_tag.svg") no-repeat;
  background-size: contain;
}
.tag_list li {
  margin-right: 1.5%;
}
.tag_list li a {
  display: block;
  text-decoration: underline;
  color: var(--color-gray) !important;
}
.tag_list li a:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
.tag_list li:has(a:focus-visible) {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: -2px;
  border-radius: 3px;
}

/*diary_paging
---------------------------------------------------------------------------*/
.diary_paging {
  margin: 5rem auto;
  display: flex;
  justify-content: space-between;
}
.diary_paging > * {
  width: 48%;
}
.diary_paging > * > a {
  word-wrap: break-word;
  padding: 0.5em 0;
  border: solid 1px var(--base-color1);
  position: relative;
  display: inline-block;
  min-width: 10em;
  border-radius: 3rem;
}
.diary_paging > * > a:hover, .diary_paging > * > a:focus-visible {
  background: var(--bg-color2);
}
.diary_paging > * > a:focus-visible {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: -1px;
}
.diary_paging .pre a {
  padding: 0.5em 0.5em 0.5em 2.5em;
}
.diary_paging .next {
  text-align: right;
}
.diary_paging .next a {
  padding: 0.5em 2.5em 0.5em 0.5em;
}
.diary_paging .pre a:before,
.diary_paging .next a:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: 50%;
  width: 1rem;
  height: 1rem;
  border-top: 2px solid var(--base-color1);
  border-right: 2px solid var(--base-color1);
}
.diary_paging .pre a:before {
  left: 1em;
  position: absolute;
  transform: translate(0%, -50%) rotate(-135deg);
}
.diary_paging .next a:before {
  right: 1em;
  transform: translate(0%, -50%) rotate(45deg);
}

.diary_paging .pre {
  flex: 1; /* 左側の余白を作る */
  text-align: left;
}

.diary_paging .next {
  flex: 1; /* 右側の余白を作る */
  text-align: right;
}

/* .pre が存在しない場合、.next を右寄せ */
.diary_paging:not(:has(.pre)) .next {
  margin-left: auto; /* 自動で左側の余白を作る */
  text-align: right;
}

/* .next が存在しない場合、.pre を左寄せ */
.diary_paging:not(:has(.next)) .pre {
  margin-right: auto; /* 自動で右側の余白を作る */
  text-align: left;
}

@media screen and (max-width: 680px) {
  .diary_paging {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .diary_paging > * * {
    min-width: auto !important;
  }
  .diary_paging .pre a {
    padding: 0.5em 1.5em 0.5em 2em;
  }
  .diary_paging .next {
    text-align: right;
  }
  .diary_paging .next a {
    padding: 0.5em 2em 0.5em 1.5em;
  }
}
/*related
---------------------------------------------------------------------------*/
.related_area {
  padding: 3rem 0;
}

.related_list {
  display: flex;
  flex-wrap: wrap;
}
.related_list > li {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 4%;
}
.related_list > li:nth-child(2n) {
  margin-right: 0%;
}

.related_list_inner {
  font-size: 1.5rem;
  display: flex;
  justify-content: space-between;
}
.related_list_inner .img {
  width: 150px;
}
.related_list_inner .img img {
  width: 100%;
  height: 9rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.related_list_inner .text_box {
  position: relative;
  width: calc(100% - 150px - 5%);
}
.related_list_inner .text_box_in {
  padding-bottom: 4rem;
}
.related_list_inner .text_box .date {
  position: absolute;
  left: 0;
  bottom: 0;
  line-height: 1.2;
}

@media screen and (max-width: 1024px) {
  .related_list_inner .img {
    width: 8vw;
  }
  .related_list_inner .img img {
    height: 6vw;
  }
  .related_list_inner .text_box {
    position: relative;
    width: calc(100% - 8vw - 5%);
  }
}
@media screen and (max-width: 680px) {
  .related_area {
    padding: 2rem 0;
  }
  .related_list {
    display: block;
  }
  .related_list > li {
    width: auto;
    margin-right: auto;
    margin-bottom: 4%;
  }
  .related_list_inner .text_box_in {
    padding-bottom: 0;
  }
  .related_list_inner .img {
    width: 30vw;
  }
  .related_list_inner .img img {
    height: 10rem;
  }
  .related_list_inner .text_box {
    position: relative;
    width: calc(100% - 30vw - 5%);
  }
}
@media screen and (max-width: 480px) {
  .related_area .img img {
    height: 7rem;
  }
}
/*コメント　comment_tab_area
==========================================================================*/
.comment_tab_area {
  border: solid 1px #cccccc;
}

/*コメントcomment_tab_flex
---------------------------------------*/
.comment_tab_flex {
  display: flex;
  width: 100%;
  border-bottom: solid 1px #cccccc;
  cursor: pointer;
}
.comment_tab_flex > * {
  display: flex;
  font-size: 1.3rem;
  padding: 5px 0;
  width: 50%;
  align-items: center;
  justify-content: center;
  color: var(--color-gray);
  background: var(--base-color0);
}
.comment_tab_flex > *:focus-visible {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: -1px;
  border-radius: 3px;
}
.comment_tab_flex > * + * {
  border-left: solid 1px #cccccc;
}
.comment_tab_flex > *.is-active {
  /* background: #E8E8E8;*/
  background: var(--bg-color_g1);
}

/*コメント　comment_tab_panel
--------------------------------------*/
.comment_tab_panel {
  padding: 2rem;
  font-size: 1.3rem;
}

.comment_title {
  font-weight: bold;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

/*コメント　comment_list
-----------------------------------------*/
.comment_list > li + li {
  padding-top: 3rem;
  margin-top: 3rem;
  border-top: 1px solid #cccccc;
}

.comment_list_date {
  margin-top: 1rem;
  display: flex;
  font-size: 1.3rem;
  color: var(--color-gray);
  flex-wrap: wrap;
}
.comment_list_date a {
  color: var(--color-gray);
  text-decoration: underline;
}
.comment_list_date a:hover {
  text-decoration: none;
}
.comment_list_date > * {
  margin-right: 2%;
}

/*コメント　comment_table form
------------------------------------------------------------------------------*/
.comment_table_inner {
  padding: 1rem 2.5rem;
}

.comment_table table {
  width: 100%;
}
.comment_table table th,
.comment_table table td {
  padding: 10px 0;
}
.comment_table table th {
  width: 20%;
  font-size: 1.4rem;
}
.comment_table table td {
  width: 75%;
  font-size: 1.6rem;
}

@media screen and (max-width: 480px) {
  .comment_table_inner {
    padding: 0.5rem 0rem;
  }
  .comment_table table th,
  .comment_table table td {
    display: block;
    padding: 0;
  }
  .comment_table table th {
    width: auto;
    font-size: 1.2rem;
    padding-bottom: 0.5rem;
  }
  .comment_table table td {
    width: auto;
    font-size: 1.6rem;
    padding-bottom: 1rem;
  }
}
/*comment_scroll*/
.comment_scroll {
  height: 400px;
  overflow-y: scroll;
}

/*コメント　フォームパーツ
---------------------------------------------------------------------------*/
.hiss {
  color: #c40500;
}

input[type=text], input[type=number], input[type=email], input[type=tel], input[type=mail], input[type=password], input[type=date], input[type=time] {
  padding: 4px;
  border-radius: 0;
  outline: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: solid 1px #cccccc;
  width: 100%;
  box-sizing: border-box;
  font-size: 1.6rem;
  background: var(--base-color0);
  color: var(--base-color4);
}

/*textarea*/
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  resize: none;
  outline: none;
  border-radius: 0;
  border: solid 1px #cccccc;
  padding: 4px;
  width: 100%;
  box-sizing: border-box;
  font-size: 1.6rem;
  color: var(--base-color4);
  background: var(--base-color0);
}

.comment_table td .w30 {
  width: 30%;
}

/*cation_text
---------------------------------------------------------------------------*/
.cation_text {
  border-top: solid 1px #cccccc;
  margin-top: 2rem;
  padding-top: 2rem;
  font-size: 1.2rem;
}

/*calender
---------------------------------------------------------------------------*/
.calender_block {
  font-size: 1.2rem;
  padding: 1.5rem 1rem;
  text-align: center;
  background: var(--base-color0);
  position: relative;
  border-radius: 1rem;
}

.calender_title {
  color: #757575;
  margin-bottom: 0.5rem;
}
.calender_title span {
  font-size: 1.8rem;
  color: #757575;
}

.calender_block table {
  width: 100%;
}
.calender_block table th {
  color: #757575;
  font-size: 1rem;
  text-align: center;
}
.calender_block table td {
  border: solid 2px var(--base-color0);
  /*  background: var(--bg-color_g1);*/
  height: 3rem;
}
.calender_block table td a {
  text-decoration: underline;
}
.calender_block table td * {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}
.calender_block table td *:hover, .calender_block table td *.select {
  text-decoration: none;
  background: var(--base-color1);
  color: var(--base-color0);
}
.calender_block table .fc-day-sat .fc-daygrid-day-frame .fc-daygrid-day-number {
  color: var(--color-blue);
}

/*calender_arrow*/
.calender_arrow {
  display: flex;
  justify-content: space-between;
  position: absolute;
  width: 90%;
  top: 2rem;
  left: 50%;
  transform: translate(-50%, 0%);
}
.calender_arrow > li.prev img {
  transform: scale(-1, 1);
}
.calender_arrow img {
  width: 100%;
  height: 10px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

@media screen and (max-width: 680px) {
  .side_section .calender_block {
    width: 85%;
    margin: auto;
  }
}
/*diary_aco
---------------------------------------------------------------------------*/
.diary_aco {
  margin-top: 2rem;
  padding-top: 6rem;
  padding-bottom: 5rem;
  position: relative;
}
.diary_aco > *:not(.more_text_box) {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
}
.diary_aco .more_text_box {
  display: none;
}

/*diary element__
============================================================================================================================== */
/*  diary_element_list_01
==========================================================================*/
.diary_element_list_01 > li {
  padding: 1rem 0;
  border-bottom: 1px solid #cccccc;
}
.diary_element_list_01 > li:first-child {
  padding-top: 0;
}
.diary_element_list_01 > li .date {
  margin-top: 0.5em;
  font-size: 1.2rem;
}
.diary_element_list_01 > li .cate {
  font-size: 1.2rem;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.diary_element_list_01 > li .tag_list {
  margin: 0.2em auto auto;
  font-size: 1.2rem;
}
.diary_element_list_01 > li .diary_element_list_01_inner .text_box {
  width: 100%;
  padding: 0.5em;
}

@media screen and (max-width: 680px) {
  .diary_element_list_01 > li {
    padding: 3rem 0 2rem 0;
  }
  .diary_element_list_01 > li .diary_element_list_01_inner .text_box {
    width: auto;
  }
}
/*img*/
.diary_element_list_01_inner .card_parts {
  display: flex;
  justify-content: space-between;
  font-size: 1.2rem;
}
.diary_element_list_01_inner .card_parts .img {
  width: 220px;
}
.diary_element_list_01_inner .card_parts .img img {
  width: 100%;
}
.diary_element_list_01_inner .card_parts .img + .text_box {
  width: calc(100% - 220px - 5%);
}
.diary_element_list_01_inner .card_parts .card_parts_title {
  position: relative;
  font-size: 1.4rem;
  /*    padding-left: 2rem;*/
  margin-bottom: 1rem;
}
.diary_element_list_01_inner .card_parts .card_parts_title a {
  text-decoration: underline;
}
.diary_element_list_01_inner .card_parts .card_parts_title a:hover {
  text-decoration: none;
}

@media screen and (max-width: 680px) {
  .diary_element_list_01_inner .card_parts {
    display: block;
    font-size: 1.2rem;
  }
  .diary_element_list_01_inner .card_parts .img {
    width: 100%;
    margin-bottom: 1rem;
  }
  .diary_element_list_01_inner .card_parts .img + .text_box {
    width: calc(100% - 0px - 0%);
  }
}
/*  diary_element_list_02
==========================================================================*/
.diary_element_list_02 > li {
  padding: 1rem 0;
  border-bottom: 1px solid #cccccc;
}
.diary_element_list_02 > li:first-child {
  padding-top: 0;
}
.diary_element_list_02 > li .date {
  margin-top: 0.5em;
  font-size: 1.2rem;
}
.diary_element_list_02 > li .cate {
  font-size: 1.2rem;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.diary_element_list_02 > li .tag_list {
  margin: 0.2em auto auto;
  font-size: 1.2rem;
}

@media screen and (max-width: 680px) {
  .diary_element_list_02 {
    display: flex;
    flex-wrap: wrap;
  }
  .diary_element_list_02 > li {
    padding: 1rem 0;
    margin-bottom: 1rem;
    width: 48%;
    margin-right: 4%;
  }
  .diary_element_list_02 > li:first-child {
    padding-top: 1rem;
  }
  .diary_element_list_02 > li:nth-child(2n) {
    margin-right: 0;
  }
}
/*img*/
.diary_element_list_02_inner .card_parts {
  display: flex;
  justify-content: space-between;
  font-size: 1.2rem;
}
.diary_element_list_02_inner .card_parts .img {
  width: 150px;
}
.diary_element_list_02_inner .card_parts .img img {
  border: solid 1px #dbdbdb;
  width: 100%;
}
.diary_element_list_02_inner .card_parts .img + .text_box {
  width: calc(100% - 150px - 3%);
}
.diary_element_list_02_inner .card_parts .card_parts_title {
  font-size: 1.4rem;
  position: relative;
  margin-bottom: 1rem;
}
.diary_element_list_02_inner .card_parts .card_parts_title a {
  text-decoration: underline;
}
.diary_element_list_02_inner .card_parts .card_parts_title a:hover {
  text-decoration: none;
}

@media screen and (max-width: 960px) {
  .diary_element_list_02_inner .card_parts .img img {
    height: 12vw;
  }
}
@media screen and (max-width: 680px) {
  .diary_element_list_02_inner .card_parts {
    display: block;
  }
  .diary_element_list_02_inner .card_parts .img {
    width: 100%;
    margin-bottom: 1rem;
  }
  .diary_element_list_02_inner .card_parts .img img {
    height: 42vw;
  }
  .diary_element_list_02_inner .card_parts .img + .text_box {
    width: calc(100% - 0px - 0%);
  }
}
@media screen and (max-width: 480px) {
  .diary_element_list_02_inner .card_parts .img img {
    height: 31vw;
  }
}
/*  diary_element column-container カラム
==========================================================================*/
.column-container {
  display: flex;
  flex-wrap: wrap;
}
.column-container > * {
  width: 48% !important;
  margin-bottom: 4%;
  margin-right: 4%;
}
.column-container > *:nth-child(2n) {
  margin-right: 0;
}
.column-container .column img {
  max-width: 100%;
  height: auto;
}
.column-container .column .element {
  overflow: auto;
}

@media screen and (max-width: 960px) {
  .column-container {
    display: block;
  }
  .column-container > * {
    width: auto !important;
    margin-bottom: 10%;
    margin-right: 0;
  }
}
/*diary list______
============================================================================================================================== */
.diary_card_list {
  display: flex;
  flex-wrap: wrap;
}
.diary_card_list > li {
  width: 30.6%;
  margin-right: 4%;
  margin-bottom: 5%;
}
.diary_card_list > li:nth-child(3n) {
  margin-right: 0;
}
.diary_card_list > li .img {
  overflow: hidden;
  border-radius: 2rem;
}
.diary_card_list > li dl {
  width: 39%;
  padding-top: 0 !important;
}
.diary_card_list > li dl.new_front {
  width: 39%;
}
.diary_card_list > li .card_list_inner .card_parts .text_box .card_parts_title {
  height: 1.8em;
}
.diary_card_list > li .card_list_inner .card_parts .text_box .card_parts_title + p {
  height: 4em;
}
.diary_card_list > li .tag_list li {
  color: var(--black-black-white) !important;
}
.diary_card_list > li .tag_list li a {
  color: var(--black-black-white) !important;
}
.diary_card_list .text_box {
  padding: 1rem 0;
}

@media screen and (min-width: 961px), print {
  .column-container .diary_card_list > li {
    width: 48%;
    margin-right: 2%;
  }
  .column-container .diary_card_list > li:nth-child(3n) {
    margin-right: 2%;
  }
  .column-container .diary_card_list > li:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 1440px) {
  .diary_card_list > li .card_list_inner .card_parts .text_box .card_parts_title {
    height: 3.5em;
  }
  .diary_card_list > li .card_list_inner .card_parts .text_box .card_parts_title + p {
    height: 5.5em;
  }
  .diary_card_list > li dl {
    width: 90%;
    padding-top: 0 !important;
    padding-left: 0;
    margin-left: 0;
  }
  .diary_card_list > li dl.new_front {
    position: relative;
    width: 90%;
    margin-top: 1rem;
    padding-left: 0;
  }
  .diary_card_list > li dl.new_front::before {
    position: absolute;
    top: -1.8rem;
  }
}
@media screen and (max-width: 1260px) {
  .diary_card_list > li {
    /* .card_date {
      display: block;
      dl + dl {
        margin-left: 0%;
      }
    } */
  }
  .diary_card_list > li .card_list_inner .card_parts .text_box .card_parts_title {
    height: 1.5em;
  }
  .diary_card_list > li .card_list_inner .card_parts .text_box .card_parts_title + p {
    height: 3.5em;
  }
}
@media screen and (max-width: 960px) {
  .diary_card_list li .card_list_inner .card_parts .text_box .card_parts_title {
    height: 3.5em;
  }
  .diary_card_list li .card_list_inner .card_parts .text_box .card_parts_title + p {
    height: 5.5em;
  }
}
@media screen and (max-width: 680px) {
  .diary_card_list li .card_list_inner .card_parts .text_box .card_parts_title {
    height: auto;
  }
  .diary_card_list li .card_list_inner .card_parts .text_box .card_parts_title + p {
    height: auto;
  }
  .diary_card_list li dl {
    width: 100%;
    margin-left: 0;
  }
  .diary_card_list li dl:nth-child(1) {
    padding-top: 2rem;
  }
  .diary_card_list li dl.new_front {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .diary_card_list {
    display: block;
  }
  .diary_card_list > li {
    width: auto;
    margin-right: auto;
    margin-bottom: 5%;
  }
  .diary_card_list > li:nth-child(3n) {
    margin-right: auto;
  }
  .diary_card_list > li dl {
    width: 48%;
    padding-top: 0;
  }
  .diary_card_list > li dl.new_front {
    position: relative;
    margin-top: 0;
    width: 50%;
    padding-left: 0;
  }
  .diary_card_list > li dl.new_front::before {
    position: relative;
    top: 0;
  }
}
/*diary pdf_iframe
==========================================================================*/
.pdf_iframe iframe {
  height: 80vh;
}

@media screen and (max-width: 960px) {
  .pdf_iframe iframe {
    height: 100vh;
  }
}
/*handout_all_area
============================================================================================================================== */
.handout_all_area {
  padding: 0 0 4rem 0;
}

@media screen and (max-width: 680px) {
  .handout_all_area {
    padding: 0rem 0 0rem 0;
  }
  .handout_all_area .col2_box_02_sp {
    display: block;
    margin-bottom: 12px;
  }
  .handout_all_area .side_menu_area {
    padding-bottom: 0rem;
  }
  .handout_all_area .side_menu_area .side_title {
    display: none;
  }
  .handout_all_area .side_section + .side_section {
    margin-top: 5%;
  }
}
/*handout_all_flex
-------------------------------------------------------------------------  */
.handout_all_flex {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3rem;
}
.handout_all_flex > * {
  padding: 1rem 1rem 2rem 1rem;
  border: solid 2px #cccccc;
  box-sizing: border-box;
  width: 30.5%;
  margin-right: 4%;
  margin-bottom: 5%;
}
.handout_all_flex > *:nth-child(3n) {
  margin-right: auto;
}
.handout_all_flex > *:nth-child(even) .handout_box_title {
  background: var(--bg-color_y2);
}
.handout_all_flex .more_btn {
  text-align: center;
}

/* 
@media screen and (max-width: 960px) {
  .handout_all_flex {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
 */
/*sp時順番変更*/
@media screen and (max-width: 680px) {
  .column2_sp_reverse .column2_flex {
    display: flex;
    flex-flow: column;
  }
  .column2_sp_reverse .column2_flex .col2_box_01 {
    order: 3;
  }
  .column2_sp_reverse .column2_flex .col2_box_02 {
    order: 1;
  }
}
/*event_area 行事予定　年間カレンダー
============================================================================================================================== */
/*module_tab_flex
---------------------------------------------------------------------------------------------*/
.module_tab_flex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4rem;
}
.module_tab_flex > * {
  width: 33%;
}
.module_tab_flex > * > * {
  border-radius: 3rem;
  width: 100%;
  border-left: 1px solid #fff;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--bg-color_g1);
  text-align: center;
  padding: 1rem 0;
  color: var(--base-color3);
  font-weight: bold;
}
.module_tab_flex > * > *:focus-visible {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: -2px;
  border-radius: 3rem;
}
.module_tab_flex > *:first-child > * {
  border-left: none;
}
.module_tab_flex > *.is-active > * {
  background: var(--base-color1);
  color: var(--base-color0);
}
.module_tab_flex > *.is-active > *:focus-visible {
  outline: 2px solid var(--white-white-black) !important;
  box-shadow: 0px 0px 0px 1px var(--black-black-white) !important;
  outline-offset: -2px;
  border-radius: 3rem;
}

/*event_area
---------------------------------------------------------------------------------------------*/
.event_area .col2_box_01 {
  padding-bottom: 8rem;
}
.event_area .btn_normal {
  font-size: 1.2rem;
}

@media screen and (max-width: 680px) {
  .event_area .col2_box_02 .side_title,
  .event_area .col2_box_02 .side_btn {
    margin-bottom: 2rem;
  }
}
/*サイドメニューが上の時　sp*/
@media screen and (max-width: 680px) {
  /*    .event_area {
      position: relative;
  }
  .event_area .col2_box_01 {
      padding-top: 34rem;
      padding-bottom: 0rem;
  }
  .event_area .module_tab_flex {
      position: absolute;
      top: 3.5rem;
      width: 90%;
      left: 50%;
      -webkit-transform: translate(-50%, -0%);
      -moz-transform: translate(-50%, -0%);
      -ms-transform: translate(-50%, -0%);
      transform: translate(-50%, -0%);
  }*/
  /*event_sp_top*/
  /*  .event_area .event_sp_top {
      position: absolute;
      top: 10rem;
      left: 0;
      width: 100%;
  }
  .event_sp_top .side_title {
      display: none;
  }*/
  /*event_sp_top_02*/
  /*.event_sp_top_02 {
      position: absolute;
      top: 25rem;
      width: 90%;
      left: 50%;
      -webkit-transform: translate(-50%, -0%);
      -moz-transform: translate(-50%, -0%);
      -ms-transform: translate(-50%, -0%);
      transform: translate(-50%, -0%);
  }*/
  /*event_sp_top_03*/
  /*.event_sp_top_03 {
      position: absolute;
      top: 5rem;
      width: 90%;
      left: 50%;
      -webkit-transform: translate(-50%, -0%);
      -moz-transform: translate(-50%, -0%);
      -ms-transform: translate(-50%, -0%);
      transform: translate(-50%, -0%);
  }*/
  /*余白削除*/
  /*.event_area .col2_box_02 {
      border-top: none;
      padding-top: 0;
      margin-top: 5rem;
  }
  .event_area .side_menu_area {
      padding-bottom: 0rem;
  }s
  .event_area .side_section + .side_section {
      margin-top: 5%;
  }*/
}
/*schedule 月間、年間共通 schedule_title_set
---------------------------------------------------------------------------------------------*/
.schedule_title_set {
  position: relative;
}

/*schedule_arrow_set*/
.schedule_arrow_set {
  width: 50%;
  position: absolute;
  left: 0;
  top: 16%;
  display: flex;
  justify-content: space-between;
  max-width: 17rem;
}

.schedule_btn_flex {
  width: 50%;
  display: flex;
  justify-content: space-between;
  border-radius: 0.3em;
  overflow: hidden;
}
.schedule_btn_flex > * {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.5rem 0.5rem;
  background-color: var(--fc-button-bg-color) !important;
  border: var(--fc-button-border-color) !important;
  color: var(--fc-button-text-color) !important;
}
.schedule_btn_flex > *:hover {
  background-color: var(--fc-button-hover-bg-color) !important;
}

@media screen and (max-width: 480px) {
  .schedule_arrow_set {
    max-width: 10rem;
    font-size: 1.2rem;
  }
}
/*今日*/
.schedule_btn_now {
  overflow: hidden;
}
.schedule_btn_now > * {
  padding: 0.5rem 0.5rem;
  display: block;
  width: 100%;
  background-color: var(--fc-button-bg-color) !important;
  border: var(--fc-button-border-color) !important;
  color: var(--fc-button-text-color) !important;
}
.schedule_btn_now > *.active, .schedule_btn_now > *:hover {
  background-color: var(--fc-button-hover-bg-color) !important;
  opacity: 0.65;
}

button.fc-button {
  height: 33px !important;
  padding: 0 !important;
}

span.fc-icon {
  margin-bottom: 0.4em !important;
}

button.left-bodrer-rad {
  border-radius: 0.3em 0 0 0.3em;
}

button.right-bodrer-rad {
  border-radius: 0 0.3em 0.3em 0;
}

button.all-bodrer-rad {
  border-radius: 0.3em;
}

/*event_area 行事予定 月間
============================================================================================================================== */
/*カレンダー
---------------------------------------------------------------------------------------------*/
.fc-theme-standard .fc-scrollgrid {
  border-left: 1px solid var(--color-gray2);
  border-top: 1px solid var(--color-gray2);
}

.fc-theme-standard td,
.fc-theme-standard th {
  border: 1px solid var(--color-gray2);
}

/*schedule_manth
---------------------------------------------------------------------------------------------*/
.manth_area_pd {
  padding-top: 4rem;
}

.manth_list > li {
  position: relative;
  padding: 1.5rem 3rem;
  display: flex;
  border-bottom: 1px dashed #707070;
}
.manth_list > li:before {
  content: "";
  height: calc(100% - 3rem);
  width: 6px;
  background: var(--base-color1);
  position: absolute;
  top: 1.5rem;
  left: 0;
  border-radius: 10px;
}
.manth_list > li .date_d {
  width: 15%;
  font-size: 1.8rem;
}
.manth_list > li .date_d.sunday {
  color: #a30000;
}
.manth_list > li .date_d.saturday {
  color: #026d8e;
}
.manth_list > li .date_d.holiday {
  color: #a30000;
}
.manth_list > li .text_box {
  width: 85%;
}
.manth_list > li .schedule_list_title a {
  padding-right: 2.5rem;
  background: url("../images/parts/ico_brank.svg") no-repeat;
  background-size: 0.8em;
  background-position: right;
}
.manth_list .cate {
  margin: 0.5rem auto;
}

.schedule_list_title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: var(--base-color4);
}
.schedule_list_title a {
  font-weight: bold;
  text-decoration: underline;
  color: var(--dark-black-white);
}
.schedule_list_title a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 680px) {
  /*サイドメニューが上の時*/
  /*    .manth_area .col2_box_01 {
      padding-bottom: 0rem;
  }*/
  .manth_area_pd {
    padding-top: 2rem;
  }
  .manth_list > li {
    display: block;
    padding: 1.5rem 0rem 1.5rem 0rem;
  }
  .manth_list > li:before {
    content: normal;
  }
  .manth_list > li .date_d {
    position: relative;
    width: auto;
    font-size: 1.5rem;
    padding-left: 1.5rem;
  }
  .manth_list > li .date_d:before {
    content: "";
    height: 100%;
    width: 6px;
    background: var(--base-color1);
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 10px;
  }
  .manth_list > li .date_d.sunday {
    color: #a30000;
  }
  .manth_list > li .date_d.saturday {
    color: #026d8e;
  }
  .manth_list > li .text_box {
    width: auto;
    padding-left: 1.5rem;
  }
  .schedule_list_title {
    font-size: 1.5rem;
  }
  /*アコーディオン*/
  .manth_list > li .date_d.sp-aco-tggle + .text_box {
    display: none;
  }
}
/*schedule_year
---------------------------------------------------------------------------------------------*/
.year_area_pd {
  padding-top: 4rem;
}

.year_list > li {
  position: relative;
  padding: 1.5rem 1.5rem 1.5rem 0;
  display: flex;
  align-items: flex-start;
  border-bottom: 1px dashed #707070;
}
.year_list > li:before {
  content: "";
  height: calc(100% - 4rem);
  width: 4px;
  background: var(--base-color1);
  position: absolute;
  top: 2rem;
  left: 0;
  border-radius: 10px;
}
.year_list > li .date_y {
  width: 4em;
  font-size: 1.8rem;
  background: var(--base-color1);
  color: var(--base-color0);
  padding: 0 1rem;
  text-align: center;
  margin-right: 3%;
}
[lang]:not([lang=ja]) .year_list > li .date_y {
  width: 6em;
}
.year_list > li .text_box {
  width: calc(100% - 4em);
}
.year_list > li .schedule_list_part_day {
  width: 4em;
}
.year_list > li .part_text_box_inner {
  width: calc(100% - 4em);
}
.year_list .cate {
  margin: 0.5rem auto;
}
.year_list .schedule_list_title a {
  padding-right: 2.5rem;
  background: url("../images/parts/ico_brank.svg") no-repeat;
  background-size: 0.8em;
  background-position: right;
}
.year_list .schedule_list_parts > li:first-child {
  display: block !important;
}

/* もっと見るがあるとき */
.year-aco .schedule_list_parts > li:nth-child(n+2) {
  display: none;
}

@media screen and (max-width: 680px) {
  /*サイドメニューが上の時*/
  /*    .manth_area .col2_box_01 {
      padding-bottom: 0rem;
  }*/
  .year_area_pd {
    padding-top: 2rem;
  }
  .year_list > li {
    border-bottom: none;
    display: block;
    padding: 1.5rem 0rem 1.5rem 0rem;
  }
  .year_list > li:before {
    content: normal;
  }
  .year_list > li .date_y {
    width: auto;
    font-size: 1.8rem;
    background: var(--base-color1);
    color: var(--base-color0);
    padding: 0 1rem;
    text-align: left;
    margin-right: auto;
    margin-bottom: 0.5rem;
  }
  .year_list > li .text_box {
    width: auto;
  }
  .year_list .schedule_list_parts > li + li {
    border-top: 1px dashed #707070;
    padding-top: 2rem;
  }
}
/*アコーディオン
-----------------------------------------------------------------*/
/*module_btn_open　もっと見る
-----------------------------------------------------------------*/
.module_btn_open {
  cursor: pointer;
  text-align: center;
}
.module_btn_open > span {
  position: relative;
  text-align: center;
  border: solid 1px var(--base-color1);
  display: inline-block;
  font-size: 1.4rem;
  padding: 0.5rem 3.5rem 0.5rem 0.5rem;
  min-width: 20rem;
  color: var(--base-color0);
  background: var(--base-color1);
  border-radius: 3rem;
}
.module_btn_open > span:after {
  position: absolute;
  content: "";
  top: 45%;
  right: 2rem;
  transform: translate(0%, -50%) rotate(135deg);
  width: 1rem;
  height: 1rem;
  border-top: 1px solid var(--base-color0);
  border-right: 1px solid var(--base-color0);
}
.module_btn_open:focus-visible > span {
  outline: 2px solid var(--white-white-black) !important;
  box-shadow: 0px 0px 0px 1px var(--black-black-white) !important;
  outline-offset: -2px;
  border-radius: 3rem;
}

/*module_btn_close 閉じる
-----------------------------------------------------------------*/
.module_btn_close {
  cursor: pointer;
  background: var(--base-color0);
  text-align: center;
  border: solid 1px var(--base-color1);
  display: block;
  width: 9rem;
  font-size: 1.2rem;
  padding: 0.5rem 1rem 0.5rem 3rem;
  position: relative;
  color: var(--base-color1);
  border-radius: 2rem;
}
.module_btn_close:before, .module_btn_close:after {
  content: "";
  position: absolute;
  background: var(--base-color1);
  width: 2rem;
  height: 1px;
  top: 50%;
  left: 2rem;
}
.module_btn_close:before {
  position: absolute;
  transform: translate(-50%, 0%) rotate(-45deg);
}
.module_btn_close:after {
  transform: translate(-50%, 0%) rotate(45deg);
}
.module_btn_close:focus-visible {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: -2px;
  border-radius: 3rem;
}
.module_btn_close.open {
  background: var(--base-color1);
  color: var(--base-color0);
}
.module_btn_close.open:before, .module_btn_close.open:after {
  background: var(--base-color0);
  width: 1rem;
}
.module_btn_close.open:before {
  left: 2.5rem;
}
.module_btn_close.open:after {
  left: 1.8rem;
}
.module_btn_close.open:focus-visible {
  outline: 2px solid var(--white-white-black) !important;
  box-shadow: 0px 0px 0px 1px var(--black-black-white) !important;
  outline-offset: -2px;
  border-radius: 3rem;
}

.module_btn_close.aco-close:focus-visible {
  background: var(--bg-color_g1);
}

.rank-close.module_btn_close {
  margin: 1em auto;
}
.rank-close.module_btn_close:focus-visible {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: -2px;
  border-radius: 3rem;
  background: var(--bg-color_g1);
}

.pcsp-aco-tggle-height-closemode {
  display: block;
}
.pcsp-aco-tggle-height-closemode.active {
  display: none;
}
.pcsp-aco-tggle-height-closemode:hover div, .pcsp-aco-tggle-height-closemode:focus-visible div {
  background: var(--base-color0);
  color: var(--base-color1);
}
.pcsp-aco-tggle-height-closemode:focus-visible {
  outline: none !important;
}
.pcsp-aco-tggle-height-closemode:focus-visible div {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: -2px;
  border-radius: 3px;
}

/*schedule_list_parts
--------------------------------------------------*/
.schedule_list_parts {
  font-size: 1.3rem;
  color: var(--color-gray);
}
.schedule_list_parts > li .tag_list {
  margin-top: 0.5rem;
  margin-bottom: auto;
}
.schedule_list_parts > li + li {
  margin-top: 3rem;
}

/*schedule_list_parts_inner*/
.schedule_list_parts_inner {
  display: flex;
}
.schedule_list_parts_inner .date_d {
  width: 10%;
  font-size: 1.8rem;
}
.schedule_list_parts_inner .date_d.sunday {
  color: #a30000;
}
.schedule_list_parts_inner .date_d.saturday {
  color: #026d8e;
}
.schedule_list_parts_inner .date_d.holiday {
  color: #a30000;
}
[lang]:not([lang=ja]) .schedule_list_parts_inner .date_d {
  width: 17%;
}
.schedule_list_parts_inner .schedule_list_part_text_box {
  width: 90%;
}
.schedule_list_parts_inner .schedule_list_part_text_box .part_text_box_inner + .part_text_box_inner {
  margin-top: 3rem;
}

@media screen and (max-width: 680px) {
  .schedule_list_parts_inner {
    display: block;
  }
  .schedule_list_parts_inner .date_d {
    width: 97%;
    margin: auto 0 auto auto;
    font-size: 1.8rem;
  }
  .schedule_list_parts_inner .date_d.saturday {
    color: #026d8e;
  }
  .schedule_list_parts_inner .date_d.sunday {
    color: #a30000;
  }
  .schedule_list_parts_inner .schedule_list_part_text_box {
    width: 87%;
    margin: auto 0 auto auto;
  }
}
/*schedule fullfullcalendar
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.fc .fc-button {
  padding: 0em 1em;
}
.fc .fc-button:focus {
  box-shadow: none !important;
}

.fc-event {
  border: none !important;
  color: var(--white-black-black) !important;
}

.fc-daygrid-event-dot {
  border: solid var(--white-black-black) !important;
}

.fc .fc-header-toolbar {
  position: relative;
}
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(1) .fc-button {
  margin-right: 2px;
}
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(3) .fc-button {
  margin-left: 2px;
}
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  text-align: center;
}
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) > * {
  float: none !important;
}
.fc .fc-header-toolbar *:focus-visible {
  outline: 2px solid var(--white-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--black-white-black) !important;
  outline-offset: -2px;
  border-radius: 3px;
}

@media screen and (max-width: 980px) {
  .fc .fc-header-toolbar {
    padding-top: 4rem;
  }
  .fc .fc-header-toolbar .fc-button {
    width: 50px;
  }
}
.fc-button {
  border-radius: 0;
}
.fc-button .fc-icon {
  font-size: 1em !important;
  vertical-align: middle;
  position: relative;
  top: -0.05em !important;
  margin: 0 0.2em;
  font-family: fcicons !important;
}

.fc-icon-chevron-left::before {
  box-sizing: border-box;
  content: "＜" !important;
}

.fc-icon-chevron-right::before {
  box-sizing: border-box;
  content: "＞" !important;
}

.schedule-btn-group {
  position: relative;
  z-index: 0;
}
.schedule-btn-group .schedule_btn_now {
  overflow: visible;
  position: relative;
  z-index: 0;
}
.schedule-btn-group .schedule_btn_now button {
  width: 70px;
}
.schedule-btn-group .schedule_btn_now button:focus {
  position: relative;
  z-index: 1;
}
.schedule-btn-group .schedule_btn_now button:focus-visible {
  outline: 2px solid var(--white-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--black-white-black) !important;
  outline-offset: -2px;
  border-radius: 3px;
}

@media screen and (max-width: 480px) {
  .fc-toolbar-title {
    font-size: 1.3rem !important;
  }
  .fc .fc-button {
    padding: 0em 0.8em;
    font-size: 1rem;
  }
  .fc-prev-button,
  .fc-next-button,
  .fc-today-button {
    padding: 0em 0.2em !important;
  }
  .fc-col-header-cell-cushion {
    font-size: 1em !important;
  }
  [lang]:not([lang=ja]) .fc-col-header-cell-cushion {
    font-size: 0.4em !important;
  }
  .fc .fc-header-toolbar .fc-toolbar-title {
    font-size: 2rem !important;
  }
  .fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(1) .fc-button {
    font-size: 1.3rem;
    width: 50px;
  }
  .fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(3) .fc-button {
    font-size: 1.3rem;
    width: 50px;
  }
}
@media screen and (max-width: 980px) {
  .schedule_title_area {
    margin-top: 7rem !important;
    position: relative;
  }
  .schedule_title_area .schedule_month_title {
    font-size: 2rem;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translate(-50%, 0%);
    text-align: center;
  }
  .schedule_title_area .schedule_month_title span {
    font-size: 2rem;
  }
  .schedule_title_area .schedule-btn-group {
    width: auto;
  }
  .schedule_title_area .schedule-btn-group button {
    width: 60px;
  }
  .schedule_title_area .schedule-btn-group button:focus {
    border: rgba(0, 0, 0, 0.8) 2px solid !important;
  }
  .schedule_title_area .schedule-btn-group.right {
    width: 44%;
  }
}
@media screen and (max-width: 480px) {
  [lang]:not([lang=ja]) .module_tab_flex .module-tab {
    font-size: 0.7em;
  }
}
[lang]:not([lang=ja]) .schedule-btn-group button {
  font-size: 0.7em;
}

/*祝日色*/
.is_holiday {
  background: var(--col-holiday);
}
.is_holiday .fc-h-event .fc-event-main,
.is_holiday .fc-daygrid-day-frame .fc-daygrid-day-number {
  color: var(--color-red);
}

.fc-day-sat .fc-daygrid-day-frame .fc-daygrid-day-number,
.fc-day-sun .fc-daygrid-day-frame .fc-daygrid-day-number {
  color: var(--color-red);
}

.is_holiday .fc-event,
.fc-event-dot {
  background-color: var(--base-color0) !important;
}

/*extract 抽出結果
============================================================================================================================== */
/*extract_area
---------------------------------------------------------------------------*/
.extract_area {
  border: solid 1px #cccccc;
  margin-bottom: 4rem;
}

.extract_title {
  background: var(--bg-color2);
  padding: 0.5em 1em 0.8em 1em;
  font-size: 2rem;
  letter-spacing: 1px;
  position: relative;
  font-weight: bold;
}
.extract_title:before {
  content: "";
  background: var(--base-color1);
  height: 3px;
  width: 7rem;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 0 10px 10px 0;
}
.extract_title .module_btn_close {
  position: absolute;
  top: 1.5rem;
  right: 2rem;
  width: 9rem;
  margin: auto auto auto auto;
}

@media screen and (max-width: 480px) {
  .extract_title {
    font-size: 1.6rem;
  }
}
/*閉じる*/
@media screen and (max-width: 480px) {
  .extract_title .module_btn_close {
    top: 0.8rem;
    right: 1rem;
  }
}
/*extract_area .fbox
---------------------------------------------------------------------------*/
@media screen and (max-width: 680px) {
  .extract_list .text_box .fbox_col2.f_pc_tab > * + * {
    margin-top: 5%;
  }
}
/*center_mess_text_box
---------------------------------------------------------------------------*/
.extract_text_box {
  padding: 3.5rem;
  /*  display: none */
}

@media screen and (max-width: 480px) {
  .extract_text_box {
    padding: 2rem;
    /*  display: block; */
  }
}
/*extract_chack_list
-----------------------------------------------------------------*/
.extract_list > li {
  padding: 3rem 0;
  border-bottom: 1px dashed #707070;
}
.extract_list > li:first-child {
  padding: 0 0 3rem 0;
}

/*extract_list_flex*/
.extract_list_flex {
  display: flex;
}

.extract_list_flex_title {
  width: 15%;
  font-size: 1.8rem;
  font-weight: bold;
  padding-left: 2rem;
  position: relative;
}
.extract_list_flex_title:before {
  content: "";
  background: var(--base-color2);
  width: 1.5rem;
  height: 3px;
  position: absolute;
  left: 0;
  top: 0.8em;
  border-radius: 10px;
}

.extract_list_flex_all_btn {
  margin-bottom: 1em;
  font-weight: bold;
}

/*text_box*/
.extract_list_flex .text_box {
  width: 85%;
}

/*extract_chack_list*/
.extract_chack_list {
  /*    width: 85%;*/
  display: flex;
  flex-wrap: wrap;
}
.extract_chack_list > li {
  margin-right: 3%;
}

@media screen and (max-width: 680px) {
  .extract_list_flex_title {
    width: 25%;
  }
  .extract_list_flex .text_box {
    width: 75%;
  }
}
@media screen and (max-width: 480px) {
  .extract_list > li {
    padding: 1.5rem 0;
  }
  .extract_list_flex {
    display: block;
  }
  .extract_list_flex_title {
    width: auto;
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
  .extract_chack_list {
    width: auto;
  }
  .extract_chack_list > li {
    font-size: 1.2rem;
    margin-right: 4%;
    margin-bottom: 1%;
  }
}
/*select2　飛び出し対応
 --------------------------------------------------------------------------------------*/
.extract_text_box .multi_select {
  width: 100% !important;
}

/*checkbox　デザイン
--------------------------------------------------------------------------------------*/
/*リセット */
input[type=checkbox].module_checkbox {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  padding-left: 1.8em;
  /* チェックボックス表示の余白 */
  vertical-align: middle;
  position: relative;
  /* 擬似要素のベース設定 */
  /* チェックボックスの枠（::before） */
  /* フォーカス時のスタイル */
  /* チェックマーク（::after） */
  /* チェック時に表示 */
}
input[type=checkbox].module_checkbox::before, input[type=checkbox].module_checkbox::after {
  content: "";
  display: block;
  position: absolute;
}
input[type=checkbox].module_checkbox::before {
  background: #fff;
  border-radius: 0;
  border: 1px solid #898989;
  width: 1.3em; /* 横幅 */
  height: 1.3em; /* 縦幅 */
  top: 50%;
  left: 5px;
  transform: translateY(-50%); /* 縦のセンタリング */
}
input[type=checkbox].module_checkbox:focus-visible::before {
  outline: 2px solid var(--black-black-black) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-white) !important;
  outline-offset: -2px;
  border-radius: 3px;
  background: var(--bg-color_g1);
}
input[type=checkbox].module_checkbox::after {
  background: url("../images/parts/ioc_check.svg") no-repeat;
  background-size: contain;
  opacity: 0; /* チェック前は非表示 */
  height: 0.8em; /* 高さ */
  width: 0.9em; /* 横幅 */
  left: 0.7em; /* 左の位置 */
  top: 50%; /* 中央揃え */
  transform: translateY(-50%); /* 縦位置の調整 */
  transition: opacity 0.2s ease; /* なめらかな表示 */
}
input[type=checkbox].module_checkbox:checked::after {
  opacity: 1;
}

/*calender_areas
-----------------------------------------------------------------*/
.calender_area {
  display: flex;
}
.calender_area .radio_box p {
  min-width: auto;
}
.calender_area input {
  width: 8em;
}

.calender_box span {
  position: relative;
  display: inline-block;
  padding-right: 2em;
}
.calender_box span:before {
  content: "";
  background: url("../images/parts/ico_calender.svg") no-repeat;
  background-size: contain;
  width: 1.5em;
  height: 1.5em;
  position: absolute;
  top: 0.3em;
  right: 0;
}

@media screen and (max-width: 680px) {
  .calender_box span {
    margin-bottom: 1rem;
  }
}
/*password__ 配布文書パスワード ============================================================================================================================== */
.password_check {
  font-size: 1.2rem;
}

.password_area {
  display: flex;
  justify-content: center;
}
.password_area input[type=text] {
  padding: 1.2rem 0.5rem 0.9rem 0.5rem;
  width: 20em;
}
.password_area input[type=password] {
  padding: 1.2rem 0.5rem 0.9rem 0.5rem;
  width: 20em;
}

.pass_btn {
  background: var(--base-color1) url("../images/parts/btn_arrow.svg") no-repeat;
  background-size: 2.5rem;
  background-position: center;
  width: 5rem;
  height: 5rem;
}
.pass_btn:focus-visible {
  outline: 2px solid var(--white-white-black) !important;
  box-shadow: 0px 0px 0px 1px var(--black-black-white) !important;
  outline-offset: -2px;
  border-radius: 3px;
}

@media screen and (max-width: 960px) {
  .password_area input[type=text],
  .password_area input[type=password] {
    padding: 1.25rem 0.5rem 0.4rem 0.5rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  .password_area input[type=text],
  .password_area input[type=password] {
    padding: 1.26rem 0.5rem 0.4rem 0.5rem;
    width: 15em;
  }
}
/*quest　アンケート
============================================================================================================================== */
/*radio_box
---------------------------------------------------------------------------*/
.radio_flex {
  display: flex;
  flex-wrap: wrap;
}
.radio_flex > * {
  margin-right: 5%;
}

/*.radio_box input[type="radio"]:focus-visible +  span {
 border: solid 1px red;
}*/
@media screen and (max-width: 680px) {
  .radio_flex {
    display: block;
  }
  .radio_flex > * {
    margin-right: auto;
    margin-top: 5%;
  }
}
.radio_box p {
  min-width: 5em;
}
.radio_box input[type=radio] {
  opacity: 0;
  position: absolute;
}
.radio_box input[type=radio] + span {
  border: solid 1px transparent;
  box-sizing: border-box;
  border-radius: 5px;
  padding-right: 0.5rem;
}
.radio_box input[type=radio]:focus-visible + span {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  border-radius: 3px;
}
.radio_box span {
  cursor: pointer;
  padding-left: 30px;
  position: relative;
}
.radio_box span::before, .radio_box span::after {
  content: "";
  display: block;
  position: absolute;
}
.radio_box span::before {
  background: #fff;
  border-radius: 20px;
  border: 1px solid #6b6b6b;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  top: 11.5px;
  left: 5px;
  box-sizing: border-box;
}
.radio_box span::after {
  border-radius: 12px;
  opacity: 0;
  top: 5.5px;
  left: 9px;
  width: 12px;
  height: 12px;
  background: #6b6b6b;
}
.radio_box input:checked + span::after {
  opacity: 1;
}

.btn_flex_center > .btn_basic.btn_back button:focus-visible {
  outline: 2px solid var(--white-white-black) !important;
  box-shadow: 0px 0px 0px 1px var(--black-black-white) !important;
  outline-offset: -2px;
  border-radius: 3rem;
}

.btn_flex_center > .btn_basic button:focus-visible {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: -2px;
  border-radius: 3rem;
}

/*tabでのハイライト*/
/*ラジオボタン装飾*/
/*.radio_box input[type="radio"] {
    display: none;
}*/
/*確認モーダル
---------------------------------------------------------------------------*/
.confirm_cont {
  display: none;
}
.confirm_cont_inner {
  width: 100%;
  margin: auto;
  background-color: var(--base-color0);
}
.confirm_cont_w {
  padding: 3rem;
  text-align: center;
  font-size: 1.8rem;
  color: var(--black-black-white);
}

@media screen and (max-width: 1024px) {
  .confirm_cont_inner {
    width: 100%;
  }
}
/*canter センター　top　
============================================================================================================================== */
/*module_tab_flex_map
---------------------------------------------------------------------------------------------*/
.module_tab_flex_map {
  display: flex;
  position: relative;
  top: 1px;
}
.module_tab_flex_map > * {
  cursor: pointer;
}
.module_tab_flex_map > * + * {
  margin-left: 0.5rem;
}
.module_tab_flex_map > * > * {
  padding: 0.2rem 0;
  display: inline-block;
  min-width: 7em;
  border-radius: 10px 10px 0 0;
  background: var(--base-color0);
  color: var(--base-color1);
  border: solid 1px var(--base-color1);
  text-align: center;
  box-sizing: border-box;
}
.module_tab_flex_map > *.is-active > *, .module_tab_flex_map > *:hover > * {
  background: var(--base-color1);
  color: var(--base-color0);
}

.panel_map {
  box-shadow: var(--shadow);
  border: solid 1px var(--base-color1);
}
.panel_map iframe {
  width: 100%;
}

.center-detail {
  margin: 30px 0;
}
.center-detail .card_parts_title {
  margin-bottom: 20px;
}
.center-detail .image-container {
  width: 60%;
  margin-bottom: 20px;
}
.center-detail .image-container img {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 480px) {
  .center-detail {
    margin: 10px 0;
  }
  .center-detail .card_parts_title {
    margin-bottom: 10px;
  }
  .center-detail .image-container {
    width: 100%;
    margin-bottom: 10px;
  }
  .center-detail .image-container img {
    max-width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 680px) {
  .module_tab_flex_map {
    justify-content: space-between;
  }
  .module_tab_flex_map > * {
    display: block;
    width: 100%;
  }
  .module_tab_flex_map > * > * {
    min-width: auto;
    display: block;
    width: 100%;
    font-size: 1.4rem;
    border-radius: 8px 8px 0 0;
  }
  .panel_map iframe {
    height: 460px;
  }
}
/*school_list
---------------------------------------------------------------------------------------------*/
.school_list {
  display: flex;
  flex-wrap: wrap;
}
.school_list > li {
  margin-right: 10%;
  margin-bottom: 2%;
}
.school_list > li:before {
  color: var(--base-color2) !important;
}
.school_list > li a {
  color: var(--base-color1);
  text-decoration: underline;
}
.school_list > li a:hover {
  text-decoration: none;
}

@media screen and (max-width: 680px) {
  /*select*/
  .shop_panel_list .back_num {
    width: 100%;
  }
}
/*canter センター　エレメント　
============================================================================================================================== */
/* ranking */
.rank_frame_title {
  border-radius: 1rem 1rem 0 0;
  color: var(--base-color0);
  text-align: center;
  background: var(--base-color1);
  font-size: 1.8rem;
  padding: 1rem 0;
}

.rank_frame_text {
  font-size: 1.4rem;
}

.rank_frame .text_box {
  padding: 3rem;
  box-shadow: var(--shadow);
  border-radius: 0 0 1rem 1rem;
  background: var(--white-white-black);
  counter-reset: titlenum;
}

.dark .rank_frame {
  border: 2px solid #fff;
  overflow: hidden;
  border-radius: 1rem 1rem 1.4rem 1.4rem;
}

@media screen and (max-width: 480px) {
  .rank_frame .text_box {
    padding: 2rem 1.5rem;
  }
}
.rank_more_section + .rank_more_section {
  margin-top: 2em;
}

/*連番の番号*/
.rank_frame_flex {
  display: flex;
  justify-content: space-between;
}
.rank_frame_flex li {
  position: relative;
  padding-left: 3rem;
}
.rank_frame_flex li:after {
  position: absolute;
  /* counter-resetと同じ文字列 */
  /* デザイン */
  color: var(--fontsub-color);
  left: 2.2rem;
  text-align: center;
  font-weight: 900;
  font-size: 2.1rem;
  top: 50%;
  transform: translate(0%, -50%);
}
.rank_frame_flex .rank_frame_list:first-child li:nth-child(5):after {
  left: 2.2rem;
}
.rank_frame_flex .count_num {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--base-color1);
  height: 100%;
  width: 7rem;
  position: absolute;
  color: var(--white-white-black);
  left: -1rem;
  text-align: center;
  font-weight: 900;
  font-size: 2.1rem;
  top: 50%;
  transform: translate(0%, -50%);
}
.rank_frame_flex > * {
  width: 48%;
}

.rank_normal {
  counter-reset: titlenum;
}
.rank_normal li {
  position: relative;
  padding-left: 3rem;
}
.rank_normal li:after {
  position: absolute;
  counter-increment: titlenum;
  content: counter(titlenum) "";
  /* デザイン */
  color: var(--white-white-white);
  left: 2.2rem;
  top: 0.5rem;
  text-align: center;
  font-weight: 900;
  font-size: 2.1rem;
}
.rank_normal li:nth-child(n+5):after {
  left: 1.7rem;
}
.rank_normal .rank_frame_list:first-child li:nth-child(5):after {
  left: 2.2rem;
}
.rank_normal li:before {
  content: "";
  background: var(--base-color1);
  height: 100%;
  width: 7rem;
  position: absolute;
  left: -1.5rem;
  top: 0;
  z-index: -1;
}

/*リストの並び*/
.rank_frame_list > li {
  padding: 0.1em;
  overflow: hidden;
  border-radius: 50rem;
  box-shadow: var(--shadow);
  margin-bottom: 1.5rem;
  margin-left: 0.4em;
}
.rank_frame_list > li:has(a:focus-visible) {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: -2px;
  border-radius: 3rem;
}
.rank_frame_list > li > a {
  text-decoration: underline;
  padding: 1.2rem 4.5rem 1.2rem 7rem;
  display: block;
  position: relative;
  display: block;
}
.rank_frame_list > li > a:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

@media screen and (max-width: 680px) {
  .rank_frame_flex {
    display: block;
  }
  .rank_frame_flex > * {
    width: 100%;
  }
}
/* rank_more
----------------------------------------------- */
.rank_frame_flex .rank_frame_list {
  margin-bottom: 1rem;
}

/*rank_more_btn 
--------------------------------------------- */
.rank_more_btn_area {
  position: relative;
  margin-bottom: 2em;
}
.rank_more_btn_area .rank_more_btn {
  cursor: pointer;
  background: var(--base-color1);
  color: var(--base-color0);
  padding: 0.5em 0;
  position: relative;
  border: solid 1px var(--base-color1);
  transition: all 0.1s ease;
  text-align: center;
}
.rank_more_btn_area .rank_more_btn:hover, .rank_more_btn_area .rank_more_btn:focus-visible {
  background: var(--base-color0);
  color: var(--base-color1);
}
.rank_more_btn_area .rank_more_btn:focus-visible {
  outline: 2px solid var(--black-black-white) !important;
  box-shadow: 0px 0px 0px 1px var(--white-white-black) !important;
  outline-offset: -2px;
  border-radius: 3px;
}
.rank_more_btn_area .module_btn_close {
  cursor: pointer;
  display: none;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0%);
}
.rank_more_btn_area.active .rank_more_btn {
  display: none;
}
.rank_more_btn_area.active .module_btn_close {
  display: block;
}
.rank_more_btn_area.close .rank_more_btn {
  display: block;
}
.rank_more_btn_area.close .module_btn_close {
  display: block;
}

/* .rank_frame_flex 
---------------------------------------------------*/
.rank_more {
  padding: 0.4em 0.5em 0.4em 0;
  overflow: hidden;
  height: 0;
  opacity: 0;
  transition: all 0.08s ease;
}

.rank_more_btn.active + * {
  height: auto;
  opacity: 1;
  margin-top: 2em;
}

.rank_more_btn_area.active + * {
  height: auto;
  opacity: 1;
  margin-bottom: 1em;
}

/*ボタン矢印*/
.condition_area {
  margin-bottom: 1rem;
}

/*center_element_area
-------------------------------------------------------------------------------------------------*/
.center_element_area {
  box-shadow: var(--shadow);
  background: var(--base-color0);
  padding: 4rem;
  border-radius: 1rem;
}

/*center_element_list_01*/
.center_element_list_01 > li + li {
  border-top: 2px solid #cccccc;
  padding-top: 3rem;
  margin-top: 3rem;
}

.center_element_list_01_inner .card_parts > * + * {
  margin-top: 1rem;
}
.center_element_list_01_inner .card_parts .tag_list {
  margin-bottom: auto;
}

@media screen and (max-width: 680px) {
  .center_element_area {
    box-shadow: none;
    padding: 2rem 0;
  }
}
/*center_element_list_02*/
.center_element_list_02 {
  display: flex;
  flex-wrap: wrap;
  max-width: 85%;
  margin: auto;
}
.center_element_list_02 > li {
  width: 31.3%;
  margin-right: 3%;
  margin-bottom: 3%;
}
.center_element_list_02 > li:nth-child(3n) {
  margin-right: auto;
}

.center_element_list_02_inner > * + * {
  margin-top: 1rem;
}
.center_element_list_02_inner .card_parts_title {
  font-size: 1.5rem;
  margin-top: 1rem;
}

@media screen and (max-width: 680px) {
  .center_element_list_02 {
    display: block;
    max-width: 100%;
  }
  .center_element_list_02 > li {
    width: auto;
    margin-right: auto;
    margin-bottom: 8%;
  }
}
/*slide-module-04*/
.slide-module-04 {
  margin-bottom: 10rem !important;
}

/*sitemap_area サイトマップ
============================================================================================================================== */
.sitemap_area .global > li {
  margin-bottom: 4rem;
}
.sitemap_area .global > li > a {
  text-decoration: underline;
  color: var(--dark-black-white);
  border: solid 1px #bfbfbf;
  padding: 1rem 2rem;
  display: block;
  font-size: 2rem;
  border-radius: 30px;
}
.sitemap_area .global > li > ul {
  display: flex;
  flex-wrap: wrap;
}
.sitemap_area .global > li > ul > li {
  margin: 3% 3% 0 3%;
  width: 28%;
}
.sitemap_area .global > li > ul > li:nth-child(3n) {
  margin-right: 0;
}
.sitemap_area .global > li > ul > li a {
  display: block;
  position: relative;
  padding-left: 0.8em;
  text-decoration: underline;
  color: var(--dark-black-white);
  font-size: 1.8rem;
}
.sitemap_area .global > li > ul > li a:hover {
  text-decoration: none;
}
.sitemap_area .global > li > ul > li > a:before {
  position: absolute;
  content: "";
  border: 5px solid transparent;
  border-left: 9px solid var(--dark-black-white);
  top: 0.5em;
  left: 0;
  box-sizing: border-box;
  width: 5px;
  height: 7px;
}
.sitemap_area .global > li > ul > li > ul {
  margin-top: 3%;
  margin-left: 1rem;
}
.sitemap_area .global > li > ul > li > ul > li + li {
  margin-top: 1%;
}
.sitemap_area .global > li > ul > li > ul > li a {
  font-size: 1.2rem;
  padding-left: 1.1em;
}
.sitemap_area .global > li > ul > li > ul > li a:before {
  content: "▷";
  position: absolute;
  left: 0;
  font-size: 0.5em;
  color: var(--dark-black-white);
}
.sitemap_area .global > li > ul > li > ul > li ul {
  margin-top: 3%;
  margin-left: 1rem;
}
.sitemap_area .global > li > ul > li > ul > li ul > li + li {
  margin-top: 1%;
}
.sitemap_area .global > li > ul > li > ul > li ul > li a {
  font-size: 1.2rem;
  padding-left: 1.1em;
}
.sitemap_area .global > li > ul > li > ul > li ul > li a:before {
  content: "▷";
  position: absolute;
  left: 0;
  font-size: 0.5em;
  color: var(--dark-black-white);
}

@media screen and (max-width: 480px) {
  .sitemap_area .global > li > a {
    font-size: 1.8rem;
  }
  .sitemap_area .global > li > ul {
    display: block;
    flex-wrap: wrap;
  }
  .sitemap_area .global > li > ul > li {
    margin: 3% 3% 0 3%;
    width: auto;
  }
  .sitemap_area .global > li > ul > li:nth-child(3n) {
    margin-right: auto;
  }
  .sitemap_area .global > li > ul > li a {
    font-size: 1.6rem;
  }
  .sitemap_area .global > li > ul > li > ul > li a {
    font-size: 1.4rem;
  }
}
/*nav_ico_kye*/
/* .nav_ico_kye.root クラスを持つ要素の直下の a に適用 */
.nav_ico_kye.root > a {
  position: relative;
  padding-left: 3rem !important;
}
.nav_ico_kye.root > a:before {
  content: "" !important;
  background: url("../images/parts/ico_lock.svg") no-repeat !important;
  background-size: contain;
  height: 1.5rem !important;
  width: 1.5rem !important;
  position: absolute;
  top: 23px; /* 23px に設定 */
  left: 0.5em;
  border: none !important;
}

@media screen and (max-width: 1390px) {
  .nav_ico_kye.root > a {
    position: relative;
    padding-left: 3rem !important;
  }
  .nav_ico_kye.root > a:before {
    content: "" !important;
    background: url("../images/parts/ico_lock.svg") no-repeat !important;
    background-size: contain;
    height: 1.5rem !important;
    width: 1.5rem !important;
    position: absolute;
    top: 15px; /* 23px に設定 */
    left: 0.5em;
    border: none !important;
  }
}
@media screen and (max-width: 960px) {
  .nav_ico_kye.root > a {
    position: relative;
    padding-left: 3rem !important;
  }
  .nav_ico_kye.root > a:before {
    content: "" !important;
    background: url("../images/parts/ico_lock.svg") no-repeat !important;
    background-size: contain;
    height: 1.5rem !important;
    width: 1.5rem !important;
    position: absolute;
    top: 10px; /* 23px に設定 */
    left: 0.5em;
    border: none !important;
  }
}
/* .nav_ico_kye の直下の a に適用 */
.nav_ico_kye > a {
  position: relative;
  padding-left: 3rem !important;
}
.nav_ico_kye > a:before {
  content: "" !important;
  background: url("../images/parts/ico_lock.svg") no-repeat !important;
  background-size: contain;
  height: 1.5rem !important;
  width: 1.5rem !important;
  position: absolute;
  top: 12px; /* 12px に設定 */
  left: 0.5em;
  border: none !important;
}

@media screen and (max-width: 780px) {
  .nav_ico_kye > a:before {
    top: 1em;
  }
  .nav_ico_kye > ul li a {
    padding-left: 2.5rem !important;
    background: none !important;
  }
}
/*アンケート
============================================================================================================================== */
/*QA枠　アンケートフォーム枠
------------------------------------------------------------------------------------*/
.quest_dl dl {
  background: var(--base-color0);
  box-shadow: var(--shadow);
}
.quest_dl dl + dl {
  margin-top: 3%;
}
.quest_dl dl dt {
  font-size: 1.8rem;
  padding: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: flex-start;
  border-bottom: 1px dashed #707070;
}
.quest_dl dl dd {
  padding: 1.5rem 2rem;
}

@media screen and (max-width: 680px) {
  .quest_dl dl + dl {
    margin-top: 7%;
  }
  .quest_dl dl dt {
    font-size: 1.6rem;
    display: block;
  }
  .quest_dl dl dt span {
    font-size: 1.4rem;
    max-width: 4em;
    margin-bottom: 0.5rem;
  }
  .quest_dl dl dd {
    padding: 1.5rem 2.5rem;
  }
}
.quest_dl_title {
  background: var(--base-color1);
}

/*results
------------------------------------------------------------------------------*/
.results_flex {
  padding: 2rem 0;
  max-width: 80%;
  margin: auto;
  display: flex;
}
.results_flex > * {
  width: 48%;
}

/*results_list*/
.results_list > li {
  margin-bottom: 2.5rem;
  display: flex;
}
.results_list > li > *:nth-child(1) {
  width: 15rem;
}
.results_list > li > *:nth-child(2) {
  width: 10rem;
  color: var(--base-color1);
  font-size: 1.4rem;
  font-weight: 700;
}
.results_list > li > *:nth-child(2) span {
  width: 10rem;
  font-size: 1.6rem;
  color: var(--base-color1);
}

/*resultsline_list
--------------------------------------------*/
.resultsline_list > li {
  padding: 1rem;
  border: solid 1px #a3a3a3;
}
.resultsline_list > li + li {
  margin-top: 1rem;
}

@media screen and (max-width: 680px) {
  .results_flex {
    max-width: 100%;
    justify-content: center;
    flex-flow: column;
  }
  .results_flex > * {
    width: auto;
  }
  /*results_list*/
  .results_list > li {
    justify-content: center;
  }
}
/*検索結果
============================================================================================================================== */
/*search_results_text*/
.search_results_text {
  position: relative;
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
}
.search_results_text p {
  position: relative;
  display: inline-block;
  padding-left: 2em;
  background: url("../images/ico_search.svg") no-repeat;
  background-size: 1.5em;
  background-position: top 1em left 0;
}
.search_results_text p:before {
  content: "";
  background: var(--black-black-white);
  width: 100%;
  height: 5px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.search_results_text span {
  font-size: 3.4rem;
}

.search_list_inner a .date,
.search_list_inner a p {
  text-decoration: underline !important;
}

@media screen and (max-width: 480px) {
  .search_results_text span {
    font-size: 2.4rem;
  }
  .search_results_text p {
    padding-left: 1.5em;
    background-size: 1.2em;
    background-position: top 0.6em left 0;
  }
  .search_results_text p:before {
    height: 3px;
  }
}
/*select_flex*/
.select_flex {
  display: flex;
  margin-bottom: 1%;
}
.select_flex .select_flex_title {
  width: 15%;
}

.select_box .back_num {
  width: 15em;
}

@media screen and (max-width: 680px) {
  .select_flex .select_flex_title {
    width: 20%;
    font-size: 1.2rem;
  }
  .select_box .back_num {
    width: 70%;
  }
}
/*free_text
==========================================================================*/
.free_box .inner_title {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 1em;
}

@media screen and (max-width: 680px) {
  .free_box .inner_title {
    font-size: 1.6rem;
  }
}
/* freebox_line */
.freebox_line {
  border: solid 3px var(--color-gray3);
  background: var(--white-white-black);
  padding: 5rem;
  border-radius: 1em;
}
.freebox_line .inner > *:first-child {
  padding-top: 0;
  margin-top: 0;
}

@media screen and (max-width: 680px) {
  .freebox_line {
    padding: 2rem;
  }
}
/* freebox_square */
.freebox_square {
  border-radius: 1em;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
  background: var(--white-white-black);
}
.freebox_square:before, .freebox_square:after {
  content: "";
  width: 4.4rem;
  height: 4.4rem;
  position: absolute;
  top: 0;
}
.freebox_square:before {
  background: url(../images/parts/square_bg_top_left.svg) no-repeat;
  background-size: contain;
  left: 0;
}
.freebox_square:after {
  background: url(../images/parts/square_bg_top_right.svg) no-repeat;
  background-size: contain;
  right: 0;
}
.freebox_square .inner {
  padding: 5rem;
  position: relative;
}
.freebox_square .inner .inner_title {
  padding-left: 1.5em;
  background: url(../images/parts/square_midashi.svg) no-repeat;
  background-size: 1em;
  background-position: top 0.3em left 0;
}
.freebox_square .inner > *:first-child {
  padding-top: 0;
  margin-top: 0;
}
.freebox_square .inner:before, .freebox_square .inner:after {
  content: "";
  width: 4.4rem;
  height: 4.4rem;
  position: absolute;
  bottom: 0;
}
.freebox_square .inner:before {
  background: url(../images/parts/square_bg_bottom_left.svg) no-repeat;
  background-size: contain;
  left: 0;
}
.freebox_square .inner:after {
  background: url(../images/parts/square_bg_bottom_right.svg) no-repeat;
  background-size: contain;
  right: 0;
}

@media screen and (max-width: 680px) {
  .freebox_square:before, .freebox_square:after {
    width: 2.2em;
    height: 3rem;
  }
  .freebox_square .inner {
    padding: 2rem;
  }
  .freebox_square .inner:before, .freebox_square .inner:after {
    width: 2.2em;
    height: 3rem;
  }
}
/*  freebox_stripe*/
.freebox_stripe {
  position: relative;
  padding: 5px;
  background: repeating-linear-gradient(45deg, rgb(217, 59, 59), rgb(217, 59, 59) 5px, var(--base-color0) 0, var(--base-color0) 10px);
}
.freebox_stripe .inner {
  position: relative;
  overflow: hidden;
  padding: 3rem;
  background-color: var(--base-color0);
}
.freebox_stripe .inner .inner_title {
  padding-left: 2.5rem;
  color: #d93b3b;
}
.freebox_stripe .inner > *:first-child {
  padding-top: 0;
  margin-top: 0;
}
.freebox_stripe .inner:before {
  content: "";
  position: absolute;
  border: 63px solid transparent;
  border-left: 99px solid #d93b3b;
  top: -91px;
  left: -26px;
  box-sizing: border-box;
  transform: rotate(-15deg);
}
.freebox_stripe .inner .freebox_stripe {
  padding-left: 2em;
  color: #d93b3b;
}

@media screen and (max-width: 680px) {
  .freebox_stripe .inner {
    padding: 2rem;
  }
  .freebox_stripe .inner:before {
    border: 56px solid transparent;
    border-left: 102px solid #d93b3b;
  }
}
/* freebox_rotate */
.freebox_rotate {
  position: relative;
  width: 100%;
  background-color: #999;
}
.freebox_rotate:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #ccc;
  transform: rotate(-1deg);
  display: block;
  z-index: 0;
}
.freebox_rotate .inner {
  position: relative;
  padding: 3rem;
  background-color: var(--white-white-black);
  border: 1px solid #ccc;
  z-index: 1;
}
.freebox_rotate .inner > *:first-child {
  padding-top: 0;
  margin-top: 0;
}
.freebox_rotate .inner_flex {
  display: flex;
}
.freebox_rotate .inner_flex .title_box {
  border-right: 1px solid var(--color-gray3);
  width: 35%;
  padding-right: 3rem;
  margin-right: 3rem;
}
.freebox_rotate .inner_flex .title_box .inner_title {
  position: relative;
  padding-left: 3rem;
}
.freebox_rotate .inner_flex .title_box .inner_title:before, .freebox_rotate .inner_flex .title_box .inner_title:after {
  content: "";
  position: absolute;
}
.freebox_rotate .inner_flex .title_box .inner_title:before {
  background: var(--color-gray3);
  width: 1em;
  height: 1em;
  left: 0;
  top: 0.3em;
}
.freebox_rotate .inner_flex .title_box .inner_title:after {
  left: 0.7em;
  top: 0.8em;
  border: 5px solid transparent;
  border-left: 6px solid var(--base-color0);
  box-sizing: border-box;
  transform: translate(-50%, -50%);
}
.freebox_rotate .inner_flex .text_box {
  width: 65%;
}

@media screen and (max-width: 680px) {
  .freebox_rotate .inner {
    padding: 2rem;
  }
  .freebox_rotate .inner_flex {
    display: block;
  }
  .freebox_rotate .inner_flex .title_box {
    width: auto;
    border-bottom: 1px solid var(--color-gray3);
    border-right: none;
    min-width: normal;
    padding-right: 0;
    margin-right: auto;
    padding-bottom: 0;
    margin-bottom: 2rem;
  }
  .freebox_rotate .inner_flex .text_box {
    width: auto;
  }
}
#kanaboFooter {
  font-size: 1.3rem !important;
}

.kana_conversion {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.kana_conversion .kana_title {
  margin-right: 0.5em;
  margin-bottom: 1.5em;
  color: var(--white-black-white);
}

/*確認モーダル
---------------------------------------------------------------------------*/
.confirm_cont {
  display: none;
}

.confirm_cont_inner {
  width: 100%;
  margin: auto;
  background-color: var(--base-color0);
}

.confirm_cont_w {
  padding: 3rem;
  text-align: center;
  font-size: 1.8rem;
  color: var(--black-black-white);
}

@media screen and (max-width: 1024px) {
  .confirm_cont_inner {
    width: 100%;
  }
}
/*アラートモーダル
---------------------------------------------------------------------------*/
.alert_cont {
  display: none;
}

.alert_cont_inner {
  width: 100%;
  margin: auto;
  background-color: var(--base-color0);
}

.alert_cont_w {
  padding: 3rem;
  text-align: center;
  font-size: 1.8rem;
}

@media screen and (max-width: 1024px) {
  .alert_cont_inner {
    width: 100%;
  }
}
/* カスタムデートピッカー　カレンダーのスタイル */
.calender_flex {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1vw;
}

@media (max-width: 600px) {
  .calender_flex {
    grid-template-columns: 1fr;
  }
}
.custom-datepicker {
  position: relative;
  display: flex;
}

.custom-calendar {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 1000;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  padding: 10px;
  font-size: 14px;
  display: none;
}

.custom-calendar table {
  width: 100%;
  border-collapse: collapse;
}

.custom-calendar th,
.custom-calendar td {
  text-align: center;
  padding: 10px;
  border: 1px solid #ccc;
}

.custom-calendar th {
  background-color: #f0f0f0;
}

.custom-calendar td:hover {
  background-color: #f5f5f5;
  cursor: pointer;
}

.custom-calendar .other-month {
  color: #ccc;
  cursor: pointer;
}

/* 本日の日付 */
/* 選択された日付 */
.calender-flex-wrap {
  display: flex;
  flex-direction: row;
}

@media (max-width: 680px) {
  .calender-flex-wrap {
    flex-direction: column;
  }
  .custom-datepicker input {
    width: 70%;
  }
}
.top_module_05 .card_date dl {
  color: var(--black-black-white) !important;
}
.top_module_05 .tag_list a {
  color: var(--black-black-white) !important;
}
.top_module_05 .cate {
  background: var(--white-white-black);
}

.blog-coment-err {
  color: red;
  font-weight: bold;
}

.youtube-responsive {
  position: relative;
  width: 100%;
  height: auto;
}
.youtube-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.column-container .youtube-responsive {
  position: relative;
  height: auto;
}
.column-container .youtube-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* スクロールバーを非表示にするクラス */
.no-scrollbar {
  overflow: "hidden";
  scrollbar-width: none !important; /* Firefox用 */
}

.no-scrollbar::-webkit-scrollbar {
  overflow: "hidden";
  display: none !important; /* Chrome, Safari, Edge用 */
}

/* アンケート */
#survey_summary_body,
.survey_summary_body,
#Question_Form {
  padding: 1em;
}
#survey_summary_body .quest_dl dl dt > *,
.survey_summary_body .quest_dl dl dt > *,
#Question_Form .quest_dl dl dt > * {
  width: 100% !important;
  box-sizing: border-box;
}
#survey_summary_body .quest_dl dl dt h1, #survey_summary_body .quest_dl dl dt h2, #survey_summary_body .quest_dl dl dt h3, #survey_summary_body .quest_dl dl dt h4, #survey_summary_body .quest_dl dl dt h5, #survey_summary_body .quest_dl dl dt h6,
.survey_summary_body .quest_dl dl dt h1,
.survey_summary_body .quest_dl dl dt h2,
.survey_summary_body .quest_dl dl dt h3,
.survey_summary_body .quest_dl dl dt h4,
.survey_summary_body .quest_dl dl dt h5,
.survey_summary_body .quest_dl dl dt h6,
#Question_Form .quest_dl dl dt h1,
#Question_Form .quest_dl dl dt h2,
#Question_Form .quest_dl dl dt h3,
#Question_Form .quest_dl dl dt h4,
#Question_Form .quest_dl dl dt h5,
#Question_Form .quest_dl dl dt h6 {
  width: 100%;
  box-sizing: border-box;
}
#survey_summary_body .quest_dl dl dt ol,
.survey_summary_body .quest_dl dl dt ol,
#Question_Form .quest_dl dl dt ol {
  padding-left: 0;
}
#survey_summary_body .quest_dl dl dt ul li,
.survey_summary_body .quest_dl dl dt ul li,
#Question_Form .quest_dl dl dt ul li {
  padding-left: 0.1em;
}
#survey_summary_body .quest_dl dl dt ul li:before,
.survey_summary_body .quest_dl dl dt ul li:before,
#Question_Form .quest_dl dl dt ul li:before {
  content: none; /* コンテンツを非表示にする */
  position: static; /* ポジションをリセット */
  color: inherit; /* 色をデフォルトに戻す */
}
#survey_summary_body .cms_contents ul,
.survey_summary_body .cms_contents ul,
#Question_Form .cms_contents ul {
  padding-left: 1em;
}
#survey_summary_body .cms_contents ul li,
.survey_summary_body .cms_contents ul li,
#Question_Form .cms_contents ul li {
  list-style-type: disc;
  padding-left: 0.1em;
}
#survey_summary_body .cms_contents ul li:before,
.survey_summary_body .cms_contents ul li:before,
#Question_Form .cms_contents ul li:before {
  content: none; /* コンテンツを非表示にする */
  position: static; /* ポジションをリセット */
  color: inherit; /* 色をデフォルトに戻す */
}

.freebox_line.document_top {
  padding: 2rem;
  margin: 0 auto 2rem;
  max-width: 100%;
}
.freebox_line.document_top .inner.free_box h1 {
  margin-top: 1rem;
  margin-bottom: 2rem;
}
.freebox_line.document_top img {
  max-width: 100%;
}
.freebox_line.document_top table td {
  word-break: break-word;
}

@media (max-width: 680px) {
  .freebox_line.document_top {
    width: 82%;
  }
}
.element.g-map iframe {
  max-width: 100%;
}

@media screen and (max-width: 960px) {
  .element.g-map iframe {
    max-width: 100%;
  }
}
.tar span.support_agent {
  max-width: 50%;
  display: inline-block;
}

@media screen and (max-width: 680px) {
  .tar span.support_agent {
    max-width: 80%;
    display: inline-block;
  }
}
.btn_basic.btn_arrow a.custom_message_btn {
  max-width: 44rem;
}

.school_list_element {
  list-style: none;
  padding: 0;
  margin: 0;
}

.school_list_element li {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ddd;
  padding: 8px 15px;
  font-size: 14px;
  flex-wrap: wrap;
  /* スマホ時に折り返しを許可 */
}

.school_list_element .school_name {
  font-weight: bold;
  text-decoration: underline;
  color: #333;
  min-width: 120px;
  /* 最小幅を小さく */
  max-width: 250px;
  /* 最大幅を指定 */
  flex: 1 1 250px;
  /* フレックスで調整 */
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-height: 1.4;
}

.school_list_element .school_name a {
  display: block;
  word-break: break-word;
  /* 途中で改行 */
  overflow-wrap: break-word;
}

.school_list_element .new_mark {
  font-weight: bold;
  margin-left: 10px;
  flex-shrink: 0;
}

.school_list_element .blog_title {
  flex: 3;
  /* 記事タイトルを広げる */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0 10px;
  text-decoration: underline;
}

.school_list_element .blog_title.no_article {
  text-decoration: none;
}

.school_list_element .blog_date {
  font-size: 12px;
  color: #777;
  text-align: right;
  min-width: 100px;
  flex-shrink: 0;
}

/* スマホ対応 */
@media screen and (max-width: 600px) {
  .school_list_element li {
    flex-direction: column;
    /* スマホでは縦並び */
    align-items: flex-start;
    padding: 10px;
    /* 余白を増やす */
  }
  .school_list_element .school_name {
    max-width: 100%;
    /* スマホ時は幅制限を解除 */
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    /* 途中で折り返しを可能に */
    margin-bottom: 5px;
    /* 下に余白を追加 */
    flex: auto;
  }
  .school_list_element .blog_title {
    flex: none;
    width: 100%;
    /* スマホ時はタイトルの幅をフルに */
    white-space: normal;
    /* 折り返し可能に */
  }
  .school_list_element .blog_date {
    text-align: left;
    width: auto;
    margin-top: 5px;
    /* 改行させる */
  }
  .school_list_element .new_mark {
    margin-bottom: 5px;
    /* 最新記事マークの余白調整 */
  }
}
.school_list_group_tab {
  list-style: none;
  padding: 0.5rem;
  margin: 1rem 0.5rem 2rem;
  display: flex;
  flex-wrap: wrap; /* スマホで折り返す */
  gap: 0.5rem;
  justify-content: flex-start; /* スマホ時に中央寄せ */
  text-decoration: underline;
  cursor: pointer;
  border: 1px solid darkgray;
  border-radius: 0.5rem;
}

.school_list_group_tab li {
  margin: 1rem;
  color: var(--base-color3);
  display: inline-block;
  white-space: nowrap; /* 文字の折り返しを防ぐ */
}

.school_list_group_tab li:before {
  content: "" !important;
}

.school_list_group_tab li a {
  text-decoration: underline;
  padding: 0.1rem 0.1rem;
  border-radius: 5px;
  transition: background 0.3s;
  display: block;
}

.school_list_group_tab li.active {
  font-weight: bold;
}

/* スマホ対応 */
@media screen and (max-width: 600px) {
  .school_list_group_tab {
    gap: 0;
  }
  .school_list_group_tab li {
    margin: 0.1rem;
  }
}
.image-list-element ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.image-list-element ul li {
  border-bottom: 1px solid #cccccc;
}
.image-list-element ul li .card_list_inner {
  box-shadow: none;
}
.image-list-element ul li .card_list_inner .card_parts {
  display: flex;
  padding: 1rem;
  gap: 10px;
  align-items: stretch;
}
.image-list-element ul li .card_list_inner .card_parts .img {
  border: 0.3rem solid var(--base-color1);
  display: flex;
  align-items: stretch;
  justify-content: center;
  border-radius: 1rem;
}
.image-list-element ul li .card_list_inner .card_parts .img::before {
  background: none;
}
.image-list-element ul li .card_list_inner .card_parts .img img {
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: inherit;
  width: 100% !important;
  height: 100%;
}
.image-list-element ul li .card_list_inner .card_parts .cms_midashi_pict h1,
.image-list-element ul li .card_list_inner .card_parts .cms_midashi_pict h2 {
  margin-top: 1em;
}
.image-list-element ul li .card_list_inner .card_parts .text_box_wrap {
  width: 75%;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  font-size: 1.5rem;
}
.image-list-element ul li .card_list_inner .card_parts .text_box_wrap a {
  text-decoration: underline;
}
.image-list-element ul li .card_list_inner .card_parts .text_box_wrap .text_box {
  padding: 0 0.6rem !important;
  position: relative;
  height: 100%;
  font-size: 1.4rem;
  overflow: hidden;
}
.image-list-element ul li .card_list_inner .card_parts .text_box_wrap .more-button {
  position: absolute;
  bottom: -1rem;
  width: 2rem;
  background: var(--base-color1);
  color: #fff;
  text-align: center;
  padding: 1px 2px;
  border-radius: 5px;
  cursor: pointer;
  font-weight: bold;
  font-size: 1.4rem;
  opacity: 0.9;
  transition: background 0.3s ease-in-out;
}
.image-list-element ul li .card_list_inner .card_parts .text_box_wrap .close-button {
  position: absolute;
  bottom: 0;
  width: 2rem;
  background: var(--base-color1);
  color: #fff;
  text-align: center;
  padding: 1px 2px;
  border-radius: 5px;
  cursor: pointer;
  font-weight: bold;
  font-size: 1.4rem;
  opacity: 0.8;
  transition: background 0.3s ease-in-out;
}
.image-list-element ul li .card_list_inner .card_parts .text_box_wrap .more-button:hover,
.image-list-element ul li .card_list_inner .card_parts .text_box_wrap .close-button:hover {
  opacity: 0.8;
}
.image-list-element ul.HorizontalSmall li .card_list_inner .card_parts .img {
  width: 12.5%;
}
.image-list-element ul.HorizontalSmall li .card_list_inner .card_parts .img img {
  aspect-ratio: 3/2 !important;
}
.image-list-element ul.HorizontalSmall li .card_list_inner .card_parts .text_box_wrap {
  width: 87.5%;
}
.image-list-element ul.HorizontalMedium li .card_list_inner .card_parts .img {
  width: 25%;
}
.image-list-element ul.HorizontalMedium li .card_list_inner .card_parts .img img {
  aspect-ratio: 3/2 !important;
}
.image-list-element ul.HorizontalMedium li .card_list_inner .card_parts .text_box_wrap {
  width: 75%;
}
.image-list-element ul.HorizontalLarge li .card_list_inner .card_parts .img {
  width: 50%;
}
.image-list-element ul.HorizontalLarge li .card_list_inner .card_parts .img img {
  aspect-ratio: 3/2 !important;
}
.image-list-element ul.HorizontalLarge li .card_list_inner .card_parts .text_box_wrap {
  width: 50%;
}
.image-list-element ul.VerticalSmall li .card_list_inner .card_parts .img {
  width: 12.5%;
}
.image-list-element ul.VerticalSmall li .card_list_inner .card_parts .img img {
  aspect-ratio: 2/3 !important;
}
.image-list-element ul.VerticalSmall li .card_list_inner .card_parts .text_box_wrap {
  width: 87.5%;
}
.image-list-element ul.VerticalMedium li .card_list_inner .card_parts .img {
  width: 22%;
}
.image-list-element ul.VerticalMedium li .card_list_inner .card_parts .img img {
  aspect-ratio: 2/3 !important;
}
.image-list-element ul.VerticalMedium li .card_list_inner .card_parts .text_box_wrap {
  width: 78%;
}
.image-list-element ul.VerticalLarge li .card_list_inner .card_parts .img {
  width: 33%;
}
.image-list-element ul.VerticalLarge li .card_list_inner .card_parts .img img {
  aspect-ratio: 2/3 !important;
}
.image-list-element ul.VerticalLarge li .card_list_inner .card_parts .text_box_wrap {
  width: 67%;
}
.image-list-element .LeftImageRightText li .card_list_inner .card_parts {
  flex-direction: row;
}
.image-list-element .LeftImageRightText li .card_list_inner .card_parts .text_box_wrap .text_box {
  margin-right: 1.2rem;
}
.image-list-element .LeftImageRightText li .card_list_inner .card_parts .more-button,
.image-list-element .LeftImageRightText li .card_list_inner .card_parts .close-button {
  right: -1rem;
}
.image-list-element .RightImageLeftText li .card_list_inner .card_parts {
  flex-direction: row-reverse;
}
.image-list-element .RightImageLeftText li .card_list_inner .card_parts .text_box_wrap .text_box {
  margin-left: 1.2rem;
}
.image-list-element .RightImageLeftText li .card_list_inner .card_parts .more-button,
.image-list-element .RightImageLeftText li .card_list_inner .card_parts .close-button {
  left: -1rem;
}

@media screen and (max-width: 680px) {
  .image-list-element ul.LeftImageRightText li .card_list_inner .card_parts .text_box_wrap .more-button,
  .image-list-element ul.LeftImageRightText li .card_list_inner .card_parts .text_box_wrap .close-button {
    font-size: 10px;
    width: 1.7rem;
    padding: 0;
  }
  .image-list-element ul.LeftImageRightText li .card_list_inner .card_parts .img {
    border: 0.1rem solid var(--base-color1);
  }
  .image-list-element ul.RightImageLeftText li .card_list_inner .card_parts .text_box_wrap .text_box {
    font-size: 1rem;
  }
  .image-list-element ul.RightImageLeftText li .card_list_inner .card_parts .text_box_wrap .more-button,
  .image-list-element ul.RightImageLeftText li .card_list_inner .card_parts .text_box_wrap .close-button {
    font-size: 10px;
    width: 1.7rem;
    padding: 0;
  }
  .image-list-element ul.RightImageLeftText li .card_list_inner .card_parts .img {
    border: 0.1rem solid var(--base-color1);
  }
}
@media screen and (max-width: 480px) {
  .image-list-element ul.LeftImageRightText li .card_list_inner .card_parts .text_box_wrap .text_box {
    font-size: 1rem;
  }
  .image-list-element ul.LeftImageRightText li .card_list_inner .card_parts .text_box_wrap .more-button,
  .image-list-element ul.LeftImageRightText li .card_list_inner .card_parts .text_box_wrap .close-button {
    font-size: 10px;
    padding: 0;
  }
  .image-list-element ul.RightImageLeftText li .card_list_inner .card_parts .text_box_wrap .text_box {
    font-size: 1rem;
  }
  .image-list-element ul.RightImageLeftText li .card_list_inner .card_parts .text_box_wrap .more-button,
  .image-list-element ul.RightImageLeftText li .card_list_inner .card_parts .text_box_wrap .close-button {
    font-size: 10px;
    padding: 0;
  }
}/*# sourceMappingURL=module.css.map */