@charset "UTF-8";
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
fieldset, img {
  border: 0;
}
address, caption, cite, code, dfn, em, /* strong, */ th, var {
  font-style: normal;
  font-weight: normal;
}
ol, ul {
  list-style: none;
}
caption, th {
  text-align: left;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}
q:before, q:after {
  content: '';
}
abbr, acronym {
  border: 0;
  font-variant: normal;
}
/*sup {
  vertical-align: text-top;
}
sub {
  vertical-align: text-bottom;
}*/
input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%;
}
legend {
  color: #000;
}
figure {
  padding: 0;
  margin: 0;
}
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
*:focus {
  outline: 0;
  outline: none;
}
/* clearfix */
.cf {
  zoom: 1;
}
.cf:before, .cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}
main {
  display: block;
}
a:hover {
  cursor: pointer;
}
button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
@media only screen and (max-width: 768px) {
  .mt_XS_sp, .mt_XS, .editarea p, .editarea ul, .editarea ol {
    margin-top: 10px;
  }
  .mt_SS_sp, .mt_SS {
    margin-top: 10px;
  }
  .mt_S_sp, .mt_S, .list_ul, .list_ol, .editarea h4, .editarea h2 + p, .editarea img, .editarea table {
    margin-top: 20px;
  }
  .mt_M_sp, .mt_M, .editarea * + h2, .editarea h3 {
    margin-top: 30px;
  }
  .mt_L_sp, .mt_L {
    margin-top: 40px;
  }
  .mt_LL_sp, .mt_LL {
    margin-top: 50px;
  }
  .mt_XL_sp, .mt_XL {
    margin-top: 60px;
  }
  .mt_XXL_sp, .mt_XXL {
    margin-top: 80px;
  }
  .mb_XS_sp, .mb_XS {
    margin-bottom: 10px;
  }
  .mb_SS_sp, .mb_SS {
    margin-bottom: 10px;
  }
  .mb_S_sp, .mb_S {
    margin-bottom: 20px;
  }
  .mb_M_sp, .mb_M {
    margin-bottom: 30px;
  }
  .mb_L_sp, .mb_L {
    margin-bottom: 40px;
  }
  .mb_LL_sp, .mb_LL {
    margin-bottom: 50px;
  }
  .mb_XL_sp, .mb_XL {
    margin-bottom: 60px;
  }
  .mb_XXL_sp, .mb_XXL {
    margin-bottom: 80px;
  }
  .pt_XS_sp, .pt_XS {
    padding-top: 10px;
  }
  .pt_SS_sp, .pt_SS {
    padding-top: 10px;
  }
  .pt_S_sp, .pt_S {
    padding-top: 20px;
  }
  .pt_M_sp, .pt_M {
    padding-top: 30px;
  }
  .pt_L_sp, .pt_L {
    padding-top: 40px;
  }
  .pt_LL_sp, .pt_LL {
    padding-top: 50px;
  }
  .pt_XL_sp, .pt_XL {
    padding-top: 60px;
  }
  .pt_XXL_sp, .pt_XXL {
    padding-top: 80px;
  }
  .pb_XS_sp, .pb_XS {
    padding-bottom: 10px;
  }
  .pb_SS_sp, .pb_SS {
    padding-bottom: 10px;
  }
  .pb_S_sp, .pb_S {
    padding-bottom: 20px;
  }
  .pb_M_sp, .pb_M {
    padding-bottom: 30px;
  }
  .pb_L_sp, .pb_L {
    padding-bottom: 40px;
  }
  .pb_LL_sp, .pb_LL {
    padding-bottom: 50px;
  }
  .pb_XL_sp, .pb_XL {
    padding-bottom: 60px;
  }
  .pb_XXL_sp, .pb_XXL {
    padding-bottom: 80px;
  }
}
@media only screen and (min-width: 769px) {
  .ml_XS_pc, .ml_XS {
    margin-left: 15px;
  }
  .mt_XS_pc, .mt_XS, /*.editarea p,*/ .editarea ul, .editarea ol {
    margin-top: 10px;
  }
  .mt_SS_pc, .mt_SS {
    margin-top: 20px;
  }
  .mt_S_pc, .mt_S, .list_ul, .list_ol, .editarea h4, .editarea h2 + p, .editarea img, .editarea table {
    margin-top: 30px;
  }
  .mt_M_pc, .mt_M, .editarea * + h2 /*.editarea h3*/ {
    margin-top: 40px;
  }
  .mt_L_pc, .mt_L {
    margin-top: 50px;
  }
  .mt_LL_pc, .mt_LL {
    margin-top: 60px;
  }
  .mt_XL_pc, .mt_XL {
    margin-top: 80px;
  }
  .mt_XXL_pc, .mt_XXL {
    margin-top: 100px;
  }
  .mb_XS_pc, .mb_XS {
    margin-bottom: 10px;
  }
  .mb_SS_pc, .mb_SS {
    margin-bottom: 20px;
  }
  .mb_S_pc, .mb_S {
    margin-bottom: 30px;
  }
  .mb_M_pc, .mb_M {
    margin-bottom: 40px;
  }
  .mb_L_pc, .mb_L {
    margin-bottom: 50px;
  }
  .mb_LL_pc, .mb_LL {
    margin-bottom: 60px;
  }
  .mb_XL_pc, .mb_XL {
    margin-bottom: 80px;
  }
  .mb_XXL_pc, .mb_XXL {
    margin-bottom: 100px;
  }
  .pt_XS_pc, .pt_XS {
    padding-top: 10px;
  }
  .pt_SS_pc, .pt_SS {
    padding-top: 20px;
  }
  .pt_S_pc, .pt_S {
    padding-top: 30px;
  }
  .pt_M_pc, .pt_M {
    padding-top: 40px;
  }
  .pt_L_pc, .pt_L {
    padding-top: 50px;
  }
  .pt_LL_pc, .pt_LL {
    padding-top: 60px;
  }
  .pt_XL_pc, .pt_XL {
    padding-top: 80px;
  }
  .pt_XXL_pc, .pt_XXL {
    padding-top: 100px;
  }
  .pb_XS_pc, .pb_XS {
    padding-bottom: 10px;
  }
  .pb_SS_pc, .pb_SS {
    padding-bottom: 20px;
  }
  .pb_S_pc, .pb_S {
    padding-bottom: 30px;
  }
  .pb_M_pc, .pb_M {
    padding-bottom: 40px;
  }
  .pb_L_pc, .pb_L {
    padding-bottom: 50px;
  }
  .pb_LL_pc, .pb_LL {
    padding-bottom: 60px;
  }
  .pb_XL_pc, .pb_XL {
    padding-bottom: 80px;
  }
  .pb_XXL_pc, .pb_XXL {
    padding-bottom: 100px;
  }
}
/*---------------------------------------------
フォントサイズの設定
---------------------------------------------*/
@media only screen and (max-width: 768px) {
  .font_XS_sp, .font_XS {
    font-size: 1rem;
  }
  .font_SS_sp, .font_SS {
    font-size: 1.2rem;
  }
  .font_S_sp, .tabBox .tabArea label p, .font_S {
    font-size: 1.4rem;
  }
  .font_M_sp, .font_M, .h_3, .h_fM_fb, .cardJob .area, .cardJob .jobList li, .card.column .contents, .cardInfo .cat, .cardInfo .contents .title, .tabBox .panelArea .tabPanel .tabBtn, .tabBox .panelArea .tabPanel .keyword input, .btn_more, .btn_blueL, .btn_whiteL, .boxEmg .title, .condTxt, .sortTxt, .form_h {
    font-size: 1.8rem;
  }
  .font_L_sp, .font_L, .h_2, .h_honkan, .h_bunkan, .editarea h2, .h_faq, .tabBox .panelArea .tabPanel .tab_h, .pager, .biz_h {
    font-size: 2rem;
  }
  .font_LL_sp, .font_LL {
    font-size: 2.2rem;
  }
  .font_XL_sp, .font_XL, .h_1, .editarea h1 {
    font-size: 2.5rem;
  }
}
@media only screen and (min-width: 769px) {
  .font_XS_pc, .font_XS {
    font-size: 1.2rem;
  }
  .font_SS_pc, .table_pl tbody, .font_SS {
    font-size: 1.4rem;
  }
  .font_S_pc, .font_S {
    font-size: 1.6rem;
  }
  .font_M_pc, .tabBox .panelArea .tabPanel .checkItem, .font_M, .h_3, .h_fM_fb, .cardJob .area, .cardJob .jobList li, .card.column .contents, .cardInfo .cat, .cardInfo .contents .title, .tabBox .panelArea .tabPanel .tabBtn, .tabBox .panelArea .tabPanel .keyword input, .btn_more, .btn_delete, .btn_blueL, .btn_whiteL, .boxEmg .title, .condTxt, .sortTxt, .form_h {
    font-size: 1.8rem;
  }
  .font_L_pc, .tabBox .tabArea label p, .font_L, .h_2, .h_honkan, .h_bunkan, .editarea h2, .tabBox .panelArea .tabPanel .tab_h, .pager, .biz_h {
    font-size: 2rem;
  }
  .font_LL_pc, .font_LL {
    font-size: 2.6rem;
  }
  .font_XL_pc, .font_XL, .h_1, .editarea h1 {
    font-size: 3.5rem;
  }
}
/*---------------------------------------------
 全体レイアウト
---------------------------------------------*/
html {
  font-size: 62.5%;
  /*  font-family: "YoGo-Medium","游ゴシック体", "Yu Gothic", YuGothic, Arial,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Helvetica, sans-serif;
*/
  font-family: "BIZ UDPゴシック", "BIZ UDPGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "YoGo-Medium", "游ゴシック体", "Yu Gothic", YuGothic, Arial, "メイリオ", Meiryo, Helvetica, sans-serif;
  color: #594E4D;
  line-height: 1.8;
  position: relative;
  height: 100%;
}
@media only screen and (min-width: 769px) {
  html {
    min-height: 100%;
    position: relative;
  }
}
@media all and (-ms-high-contrast: none) {
  html {
    font-family: 'fontAwesome';
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  html:not(:target) {
    font-family: 'fontAwesome';
  }
}
body {
  font-size: 1.6rem;
  background-color: #FFFFFF;
  opacity: 1;
  -webkit-transition: .2s .1s;
  transition: .2s .1s;
  position: absolute;
  min-height: 100%;
  width: 100%;
  padding-bottom: 0;
  margin: 0;
}
img {
  max-width: 100%;
  vertical-align: bottom;
  height: auto;
}
a {
  color: #594E4D;
  text-decoration: none;
}
h1, h2, h3, h4 {
  line-height: 1.4;
}
/*p + p {
  margin-top: .2em;
}*/
@media only screen and (max-width: 768px) {
  .is-pc {
    display: none !important;
  }
}
@media only screen and (min-width: 769px) {
  .is-sp {
    display: none !important;
  }
}
#ie {
  display: none;
}
/* コンテンツ幅 */
.container {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
  .container_cal {
    padding-left: 5px;
    margin-left: auto;
  }
  .container_calinfo {
    padding-right: 5px;
  }
}
@media only screen and (min-width: 769px) {
  .container {
    max-width: 1230px;
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media(min-width: 769px) and (max-width: 1000px) {
  .container_calinfo {
    max-width: 100%;
    padding-right: 0;
  }
  .container_cal {
    margin-left: 0px;
  }
}
@media(min-width: 1001px) and (max-width: 1030px) {
  .container_calinfo {
    max-width: 270px;
    padding-right: 5px;
  }
  .container_cal {
    margin-left: 15px;
  }
}
@media only screen and (min-width: 1031px) {
  .container_calinfo {
    max-width: 410px;
    padding-right: 5px;
  }
  .container_cal {
    max-width: 810px;
    padding-left: 5px;
    margin-left: 15px;
  }
}
.container.L {
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (min-width: 1030px) {
  .container.L {
    max-width: 1000px;
  }
}
.container.M {
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (min-width: 930px) {
  .container.M {
    max-width: 900px;
  }
}
.container.S {
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (min-width: 830px) {
  .container.S {
    max-width: 800px;
  }
}
.editarea {
  background-color: #FFF;
  /*padding-bottom: 30px;*/
  padding: 20px 20px 30px;
}
.editarea a {
  color: #bb5520;
  text-decoration: underline;
  transition: 0.3s;
}
@media only screen and (max-width: 768px) {
  .editarea {
    padding: 10px 10px 30px;
  }
}
@media only screen and (min-width: 1030px) {
  .editarea a:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}
/* テキスト位置 */
.t_left {
  text-align: left;
}
.t_ctr {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .t_ctr_sp, .condTxt, .sortBox {
    text-align: center;
  }
}
@media only screen and (min-width: 769px) {
  .t_ctr_pc {
    text-align: center;
  }
}
.t_right {
  text-align: right;
}
/* フォント系 */
.f_bold, .h_1, .h_2, .h_honkan, .h_bunkan, .editarea h1, .editarea h2, .editarea h3, .editarea h4, .h_3, .h_4, .h_fM_fb, .h_faq, .h_top1, .h_top2, .h_top3, .h_top4, .h_top_plane, .h_top_car, .area, .cardInfo .cat, .cardInfo .contents, .navItem, .condBox, .sortTxt, .biz_h, .sitemap li.item, .form_h, .calBox .calendar th, .calBox .month, .globalMenu li {
  font-weight: 600;
}
.f_blue, .form_h {
  color: #0F71BA;
}
.f_blue a {
  color: #0F71BA;
}
.f_red {
  color: #d70035;
}
.f_red a {
  color: #d70035;
}
.f_white {
  color: #fff;
}
/* 背景色 */
.bgc_white {
  background-color: #fff;
}
.bgc_cream {
  background-color: #F7F3E9;
}
.bgc_babypurple {
  background-color: #EEEBEC;
}
.bgc_blue {
  background-color: #0F71BA;
}
.bgc_sky {
  background-color: #E3F0F8;
}
.bgc_gray {
  background-color: #f5f5f5;
}
/* ボーダー */
.bor_none {
  border: none;
}
/*下層ページ用タイトル欄*/
.bgc_box_kasou {
  padding: 0 0 70px;
}
@media only screen and (max-width: 768px) {
  .bgc_box_kasou {
    margin-top: 0px;
    padding: 0 0 10px;
  }
}
/*--------------------------------
  グリッドレイアウト
--------------------------------*/
@media only screen and (max-width: 768px) {
  .grid {
    display: block;
  }
  .grid_cal {
    display: block;
  }
  .grid_box_cal {
    box-sizing: border-box;
    background: #fff;
    padding: 30px 15px;
    border-radius: 10px;
  }
  .grid_box_calinfo {
    margin-bottom: 40px;
    box-sizing: border-box;
    background: #fff;
    padding: 30px 15px 20px;
    border-radius: 10px;
  }
}
@media only screen and (min-width: 769px) {
  .grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    overflow: hidden;
    /*    margin-right: -30px;*/
  }
  .gridItem {
    margin: 0 30px 30px 0;
  }
  .gridItem.x1 {
    width: calc(8.33333% - 30px);
  }
  .gridItem.x2 {
    width: calc(16.66666% - 30px);
  }
  .gridItem.x3 {
    width: calc(24.99999% - 30px);
  }
  .gridItem.x4 {
    width: calc(33.33332% - 30px);
  }
  .gridItem.x5 {
    width: calc(41.66665% - 30px);
  }
  .gridItem.x6 {
    width: calc(49.99998% - 30px);
  }
  .gridItem.x7 {
    width: calc(58.33331% - 30px);
  }
  .gridItem.x8 {
    width: calc(66.66664% - 30px);
  }
  .gridItem.x9 {
    width: calc(74.99997% - 30px);
  }
  .gridItem.x10 {
    width: calc(83.3333% - 30px);
  }
  .gridItem.x11 {
    width: calc(91.66663% - 30px);
  }
}
@media(min-width: 769px) and (max-width: 1000px) {
  .grid_cal {
    display: block;
  }
  .grid_box_calinfo {
    margin-bottom: 40px;
    height: auto;
  }
  .calendar_bg .grid {
    display: block;
  }
}
@media only screen and (min-width: 1001px) {
  .grid_cal {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  .grid_box_cal {
    height: 700px;
  }
  .grid_box_calinfo {
    height: 700px;
    margin-bottom: -20px;
  }
}
.grid_cal .gridItem {
  margin: 0 auto;
}
.grid_box_cal {
  margin-bottom: -20px;
  box-sizing: border-box;
  background: #fff;
  padding: 40px 15px 40px;
  border-radius: 5px;
}
.grid_box_calinfo {
  box-sizing: border-box;
  background: #fff;
  padding: 40px 15px;
  border-radius: 5px;
  width: 100%;
}
.grid_box {
  margin-bottom: -20px;
  /*  border-right: dotted 1px #434343;*/
  box-sizing: border-box;
  background: #fff;
  padding: 40px;
  border-radius: 10px;
  box-shadow: 0 3px 5px 0 rgba(190, 189, 187, 0.5);
}
/* sp グリッド維持で横スクロール */
.g_all {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  overflow: hidden;
  margin-right: -30px;
}
.g_all .item {
  margin: 0 30px 30px 0;
}
.g_all .item.x1 {
  width: calc(8.33333% - 30px);
}
.g_all .item.x2 {
  width: calc(16.66666% - 30px);
}
.g_all .item.x3 {
  width: calc(24.99999% - 30px);
}
.g_all .item.x4 {
  width: calc(33.33332% - 30px);
}
.g_all .item.x5 {
  width: calc(41.66665% - 30px);
}
.g_all .item.x6 {
  width: calc(49.99998% - 30px);
}
.g_all .item.x7 {
  width: calc(58.33331% - 30px);
}
.g_all .item.x8 {
  width: calc(66.66664% - 30px);
}
.g_all .item.x9 {
  width: calc(74.99997% - 30px);
}
.g_all .item.x10 {
  width: calc(83.3333% - 30px);
}
.g_all .item.x11 {
  width: calc(91.66663% - 30px);
}
/* sp 2個並びグリッド */
@media only screen and (max-width: 768px) {
  .half_sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    overflow: hidden;
  }
  .half_sp .inner {
    width: calc(44% - $column-space);
  }
}
/*---------------------------------------------
// パンくずリスト
---------------------------------------------*/
#breadc ol {
  margin-bottom: 10px;
}
#breadc li {
  display: inline-block;
  color: #594E4D;
  position: relative;
  padding-right: .3em;
  margin-right: .6em;
}
/*#breadc li::after {
/*  left: 100%;
/*  top: 37%;
/*  position: absolute;
/*  content: '';
/*  display: block;
/*  width: 5px;
/*  height: 5px;
/*  border-top: 2px solid #241a08;
/*  border-right: 2px solid #241a08;
/*  -webkit-transform: rotate(45deg);
/*          transform: rotate(45deg);
/*}
*/
/*#breadc li:last-child::after {
/*  content: none;
/*}
*/
#breadc li a {
  text-decoration: underline;
  color: #594E4D;
}
@media only screen and (min-width: 769px) {
  #breadc li a {
    -webkit-transition: .3s;
    transition: .3s;
  }
  #breadc li a:hover {
    color: #594E4D;
  }
}
/*---------------------------------------------
//見出し
---------------------------------------------*/
/***** トップページ見出し お知らせ *****/
.h_top1 {
  position: relative;
  padding: 15px 16px;
  outline: 1px solid #594E4D;
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #594E4D;
  display: block;
  box-sizing: border-box;
  /* max-width: 530px;*/
  text-align: center;
  margin: 15px 5px 20px;
}
.h_top1::before {
  content: "";
  position: absolute;
  top: -6px;
  left: -6px;
  width: 40px;
  height: 40px;
  background: #6A758A;
  clip-path: polygon(0 0, 100% 0%, 0 100%);
  z-index: -999;
}
.h_top1::after {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  width: 100%;
  height: 100%;
  outline: 1px solid #594E4D;
}
@media only screen and (max-width: 1024px) {
  .h_top1 {
    font-size: 2.4rem;
  }
}
/***** トップページ見出し お知らせ リスト *****/
.news_box {
  margin-left: 15px;
}
.li_info {
  margin-bottom: 20px;
  /*border-right: solid 1px #878A88;*/
  /*box-sizing: border-box;*/
  /*background: #fff;*/
  position: relative;
}
.li_info::after {
  position: absolute;
  content: "";
  display: block;
  max-height: 800px;
  height: 108%;
  width: 1px;
  background-color: #878A88;
  right: -10px;
  top: 0;
}
.li_list {
  /*margin-bottom: 10px;*/
  margin-right: 20px;
  /*  border-bottom: 2px dotted #434343;  */
  box-sizing: border-box;
  border-bottom: dotted 2px #878A88;
  padding: 10px 0;
}
.li_list:last-child {
  margin-bottom: 50px;
}
.li_inner {
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .news_box {
    margin-left: 0px;
  }
  .li_info {
    border-right: none;
    margin-bottom: 30px;
  }
  .li_info::after {
    display: none;
  }
  .li_list {
    margin-right: 0px;
  }
  .li_inner {
    display: block;
  }
}
.li_inner .li_time {
  margin-right: 15px;
}
.li_cat {
  margin-left: -.5em;
}
.li_cat li {
  display: inline-block;
  text-align: center;
  padding: .2em 10px;
  font-size: 1.4rem;
  margin-left: .5em;
  margin-bottom: .5em;
  border-radius: 5px;
  color: #594E4D;
}
.li_cat .new {
  color: #E2041B;
}
.li_cat .lib1 {
  background-color: #C9BBCF;
}
.li_cat .lib2 {
  background-color: #FFEAA5;
}
.li_cat .lib3 {
  background-color: #e6a3a3;
}
.li_cat .event {
  background-color: #C1E0DB;
}
.li_cat .news {
  background-color: #EAC7B7;
}
.li_cat .emg {
  color: #E60033;
  background-color: #fff;
  border: 2px solid #E60033;
}
/*.li_cat .recruit, .li_cat .event, .li_cat .co, .li_cat .uij, .li_cat .emg {
/*  width: 120px;
/*}
*/
.li_txt {
  text-decoration: underline;
  line-height: 2;
  font-weight: bold;
  transition: .3s;
}
@media only screen and (min-width: 769px) {
  .li_txt {
    -webkit-flex: 1;
    flex: 1;
  }
  .li_txt:hover {
    text-decoration: none;
    opacity: 0.7;
  }
  .li_txt a {
    transition: .3s;
  }
}
/***** トップページ見出し お知らせ 一覧へボタン *****/
.btn_morenews {
  margin-left: auto;
  margin-right: auto;
  /*  margin-top: 40px;
  margin-bottom: 10px; */
}
.btn_morenews a {
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: relative;
  /*  margin: 0 auto; */
  padding: 1em 2em;
  max-width: 270px;
  width: 100%;
  /*  color: #333; */
  /*  font-size: 18px; */
  font-weight: 700;
  border: 1px solid #594E4D;
  background-color: #fff;
  border-radius: 3px;
  transition: 0.3s;
  text-align: center;
}
.btn_morenews a::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-color: #6A758A;
  border-radius: 50vh;
}
.btn_morenews a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
}
.btn_morenews a:hover {
  text-decoration: none;
  background-color: #6A758A;
  color: #fff;
}
.original-button {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  color: #333333;
  font-size: 18px;
  border-radius: 0px;
  /*  width: 200px;
/*  height: 40px;*/
  font-weight: bold;
  border: 1px solid #333333;
  transition: 0.3s;
  box-shadow: 5px 5px 0px 0px #7ACFD6;
  background-color: #ffffff;
  padding: 1em 2em;
  margin-left: auto;
  margin-right: auto;
  width: 270px;
}
/***** トップページ見出し 図書館カレンダー*****/
.h_top2 {
  text-align: center;
  background: #fff;
  border-top: 2px solid #DDA287;
  border-bottom: 2px solid #DDA287;
  padding: 0.4em 0.5em;
  position: relative;
  color: #594E4D;
  font-weight: 600;
  font-size: 2.8rem;
  width: 100%;
}
.h_top2::before, .h_top2::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #DDA287;
}
.h_top2::before {
  top: 3px;
}
.h_top2::after {
  bottom: 3px;
}
.h_top2 span {
  font-size: 2.8rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .h_top2 {
    padding: 15px 0;
  }
}
@media only screen and (max-width: 1024px) {
  .h_top2 span {
    font-size: 2.4rem;
  }
}
/***** トップページ見出し かんたん検索 入力BOX *****/
.search_box {
  margin: 0 15px 0 0;
}
.searchAreatop {
  padding: 10px 15px;
  /*background-color: #fff;*/
  max-width: 555px;
  width: 100%;
}
.form .searchtext {
  width: 100%;
  border: 1px solid #594E4D;
  border-radius: 4px;
  height: 50px;
  line-height: 50px;
  vertical-align: middle;
  padding: 10px 20px;
  margin: 0 auto;
  max-width: 530px;
}
@media only screen and (max-width: 768px) {
  .searchAreatop {
    margin: 50px auto;
  }
  .search_box {
    margin: 60px 0 40px;
  }
  .searchAreatop {
    padding: 10px 0;
  }
}
@media only screen and (min-width: 769px) {
  .searchAreatop {
    padding: 50px 0 70px 0;
  }
}
/***** トップページ見出し かんたん検索 検索ボタン *****/
.btn_search {
  margin: 30px auto 0;
  padding: 10px 20px;
  height: 50px;
  border: 1px solid #594E4D;
  border-radius: 7px;
  background-color: #EAC7B7;
  color: #594E4D;
  display: block;
  max-width: 530px;
  width: 100%;
  text-align: center;
  -webkit-transition: .5s;
  transition: .5s;
  -webkit-appearance: none;
  font-weight: bold;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  .btn_search {
    margin: 20px auto 0;
  }
}
@media only screen and (min-width: 769px) {
  /*  .btn_search {
/*    width: 80%;
/*  }
*/
  .btn_search:hover {
    background-color: #DDA287;
    color: #594E4D;
  }
}
/***** トップページ見出し かんたん検索エリア ボタン *****/
.btn_moresearch, .btn_morelogin {
  margin: 0 auto 30px;
}
.btn_moresearch a {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 1em 1em;
  max-width: 242px;
  width: 100%;
  /*  color: #333; */
  /*  font-size: 18px; */
  font-weight: 700;
  border: 1px solid #594E4D;
  background-color: #fff;
  border-radius: 3px;
  transition: 0.3s;
  text-align: center;
}
.btn_moresearch a::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-color: #6A758A;
  border-radius: 50vh;
}
.btn_moresearch a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
}
.btn_moresearch a:hover {
  text-decoration: none;
  background-color: #6A758A;
  color: #fff;
}
.btn_morelogin a {
  display: block;
  position: relative;
  padding: 1em 2em;
  max-width: 242px;
  width: 100%;
  font-weight: 700;
  border: 1px solid #543F32;
  background-color: #6A758A;
  color: #FFFFFF;
  border-radius: 3px;
  transition: 0.3s;
  text-align: center;
  margin: 0 auto;
}
.btn_morelogin a::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-color: #fff;
  border-radius: 50vh;
}
.btn_morelogin a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid #6A758A;
  border-right: 2px solid #6A758A;
}
.btn_morelogin a:hover {
  text-decoration: none;
  color: #6A758A;
  background-color: #fff;
  border: 1px solid #6A758A;
  box-shadow: inset 0 0 0 1px #6A758A;
}
.btn_morelogin a:hover::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-color: "#fff";
  border-radius: 50vh;
}
@media only screen and (max-width: 768px) {
  .btn_moresearch a, .btn_morelogin a {
    max-width: 375px;
  }
}
/***** トップページ見出し カレンダーボタン *****/
.btn_morecal {
  margin: 0 auto;
}
.btn_morecal a {
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: relative;
  /*  margin: 0 auto; */
  padding: 1em 2em;
  max-width: 270px;
  width: 100%;
  /*  color: #333; */
  /*  font-size: 18px; */
  font-weight: 700;
  border: 1px solid #594E4D;
  background-color: #fff;
  border-radius: 3px;
  transition: 0.3s;
  text-align: center;
}
.btn_morecal a::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-color: #EAC7B7;
  border-radius: 50vh;
}
.btn_morecal a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #594E4D;
  border-right: 2px solid #594E4D;
}
.btn_morecal a:hover {
  text-decoration: none;
  background-color: #EAC7B7;
}
@media only screen and (max-width: 768px) {
  .mt_cal {
    margin-top: 40px;
  }
}
/***** トップページ見出し ピックアップ *****/
.h_top3 {
  width: 100%;
  padding: 10px 0;
  font-size: 2.8rem;
  border-radius: 10px;
  text-align: center;
}
.h_top3 div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2vw; /* モチーフとテキストの間の余白 */
  position: relative;
}
.h_top3-text {
  flex-shrink: 0;
  padding: 0 1vw;
}
.deco {
  display: inline-block;
  width: min(140px, 12vw); /* 最大140px、画面幅12vwまで可変 */
  height: min(70px, 7vw);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.deco1 {
  background-image: url("../images/com/deco1.png");
}
.deco2 {
  background-image: url("../images/com/deco2.png");
}
/* ===== 線デザイン（PCのみ表示） ===== */
.h_top3 div::before, .h_top3 div::after {
  content: "";
  display: block;
  height: 2px;
  background-color: #D89E85;
  flex-grow: 1;
  min-width: 30px;
  max-width: 340px;
}
/* ===== スマホレイアウト調整（600px以下） ===== */
@media (max-width: 600px) {
  .h_top3 {
    font-size: 2.4rem; /* テキストサイズを大きめに */
    padding: 8px 0;
  }
  .h_top3 div {
    gap: 3vw;
  }
  .deco {
    width: 25vw;
    height: 14vw;
  }
  /* 線を消す */
  .h_top3 div::before, .h_top3 div::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
  }
  .h_top3 div::before {
    top: -10px;
  }
  .h_top3 div::after {
    bottom: -10px;
  }
}
/***** トップページ見出し 新着資料・ランキング *****/
.h_top4 {
  text-align: center;
  background: #fff;
  border-top: 2px solid #C1E0DB;
  border-bottom: 2px solid #C1E0DB;
  padding: 0.4em 0.5em;
  position: relative;
  color: #594E4D;
  font-weight: 600;
  font-size: 2.6rem;
  width: 100%;
}
.h_top4::before, .h_top4::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #C1E0DB;
}
.h_top4::before {
  top: 3px;
}
.h_top4::after {
  bottom: 3px;
}
.h_top4 span {
  font-size: 2.4rem;
  position: relative;
}
@media only screen and (max-width: 1024px) {
  .h_top4 {
    font-size: 2.4rem;
    padding: 15px 0;
  }
}
/***** トップページ見出し 新着資料・ランキングボタン*****/
.btn_morebest {
  margin-left: auto;
  margin-right: auto;
  /*  margin-top: 40px;
  margin-bottom: 10px; */
}
.btn_morebest a {
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: relative;
  /*  margin: 0 auto; */
  padding: 1em 2em;
  max-width: 270px;
  width: 100%;
  /*  color: #333; */
  /*  font-size: 18px; */
  font-weight: 700;
  border: 1px solid #594E4D;
  background-color: #fff;
  border-radius: 3px;
  transition: 0.3s;
  text-align: center;
}
.btn_morebest a::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-color: #C1E0DB;
  border-radius: 50vh;
}
.btn_morebest a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #594E4D;
  border-right: 2px solid #594E4D;
}
.btn_morebest a:hover {
  text-decoration: none;
  background-color: #C1E0DB;
}
/*---------------------------------------------
//下層ページ 見出し
---------------------------------------------*/
.h_1, .editarea h1 {
  position: relative;
  padding: 15px 16px;
  outline: 1px solid #594E4D;
  font-size: 3.0rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #594E4D;
  display: block;
  box-sizing: border-box;
  /* max-width: 530px;*/
  margin: 15px 5px 40px;
  z-index: 0;
}
.h_1::before, .editarea h1::before {
  content: "";
  position: absolute;
  top: -6px;
  left: -6px;
  width: 40px;
  height: 40px;
  background: #6A758A;
  clip-path: polygon(0 0, 100% 0%, 0 100%);
  z-index: -999;
}
.h_1::after, .editarea h1::after {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  width: 100%;
  height: 100%;
  outline: 1px solid #594E4D;
  z-index: -998;
}
.h_1 a, .editarea h1 a, .h_2 a, .editarea h2 a, .h_4 a, .editarea h4 a {
  color: #594E4D;
}
.h_2, .editarea h2 {
  position: relative;
  background-color: #FDF3EE;
  padding: 0.6em;
  font-size: 2.5rem;
  color: #594E4D;
  margin-bottom: 10px;
  border-bottom: solid 2px #DDA287;
  border-left: solid 10px #DDA287;
}
.h_3, .editarea h3 {
  color: #6A758A;
  font-size: 2.0rem;
  padding: 0.6em 0.8em;
  background-image: repeating-linear-gradient(90deg, #6A758A, #6A758A 10px, transparent 10px, transparent 17px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 3px;
  margin-bottom: 20px;
}
.h_3 a, .editarea h3 a {
  color: #6A758A;
}
.h_4, .editarea h4 {
  padding: 5px 0.9em;
  margin: 10px 0 20px;
  font-size: 1.8rem;
  color: #594E4D;
  position: relative;
}
.h_4::before, .editarea h4::before {
  position: absolute;
  content: "";
  background-color: #DDA287;
  width: 8px;
  height: 25px;
  border-radius: 2px;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .h_1, .editarea h1 {
    font-size: 2.8rem;
  }
  .h_2, .editarea h2 {
    font-size: 2.2rem;
  }
  .h_3, .editarea h3 {
    font-size: 1.8rem;
  }
  .h_4, .editarea h4 {
    font-size: 1.6rem;
  }
}
.h_faq {
  background-color: #FDFBEA;
  color: #0F71BA;
  padding: 20px;
}
/* リンク */
.link_a {
  text-decoration: underline;
  color: #333;
}
.link_a:not(.btn_more)[target=_blank] {
  position: relative;
  padding-right: .7em;
  margin-right: .2em;
}
.link_a:not(.btn_more)[target=_blank]::after {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 1rem;
  content: '\f08e';
  font-family: 'fontAwesome';
}
@media only screen and (min-width: 769px) {
  .link_a:not(.btn_more) {
    -webkit-transition: .3s;
    transition: .3s;
  }
  .link_a:not(.btn_more):hover {
    opacity: .7;
    text-decoration: none;
  }
}
/*---------------------------------------------
// レイアウトパーツ
---------------------------------------------*/
/* テキスト */
.container p {
  /*padding: 0 20px;*/
  padding-left: 20px;
  margin: 5px 0;
}
@media only screen and (max-width: 768px) {
  .container p {
    padding: 0 5px;
    margin: 5px 0;
  }
}
/*.container ul, .container ol {
  padding: 0;
 margin: 10px 0; 
}*/
@media only screen and (max-width: 768px) {
  .container ul, .container ol {
    padding: 0 5px;
    /*    margin: 5px 0 10px 0; */
  }
}
/* テーブル */
/*.table, */
.editarea table {
  border: 1px solid #738683;
}
.table, .editarea table {
  /*width: 100%;*/
}
.table thead th, .editarea table thead th {
  background: #C1E0DB;
  font-weight: bold;
}
.table tbody, .editarea table tbody {
  border-top: 1px solid #738683;
}
.table tbody tr, .editarea table tbody tr {
  border-bottom: 1px solid #738683;
}
.table tbody th, .editarea table tbody th {
  font-weight: bold;
  background: #C1E0DB;
}
.table th, .table td, .editarea table th, .editarea table td {
  border-right: 1px solid #738683;
}
.table th:last-child, .table td:last-child, .editarea table th:last-child, .editarea table td:last-child {
  border-right: none;
}
@media only screen and (max-width: 768px) {
  .table tbody th, .editarea table tbody th {
    border-bottom: 1px solid #738683;
  }
  /*.table th, .table td, .editarea table th, .editarea table td {
    width: 100%;
    display: block;
    overflow-x: auto;
  }*/
}
@media only screen and (min-width: 769px) {
  .table tbody th, .editarea table tbody th {
    border-bottom: 1px solid #738683;
    vertical-align: middle;
    width: auto;
    padding-left: 30px;
  }
}
.table th, .table td, .editarea table th, .editarea table td {
  padding: .5em .8em;
}
/* テーブル */
.table_st {
  /*width: 100%;*/
  /*color: #738683;*/
}
.table_st thead th {
  background: #C1E0DB;
  font-weight: bold;
  border-bottom: 1px solid #738683;
}
.table_st tbody {
  border-top: 1px solid #738683;
  font-size: large;
  /*  font-weight: bold;  */
}
.table_st tbody tr {
  border-bottom: 1px solid #738683;
}
.table_st tbody th {
  font-weight: bold;
  background: #C1E0DB;
  border-bottom: 1px solid #738683;
}
@media only screen and (min-width: 769px) {
  .table_st tbody th {
    border-bottom: 1px solid#738683;
    vertical-align: middle;
    width: auto;
    padding-left: 30px;
  }
}
.table th, .table td {
  padding: .5em .8em;
}
.table_st {
  width: 98%;
  border: 1px solid #738683;
  text-align: center;
  margin: 10px 1%;
}
/*@media only screen and (max-width: 768px) {
/*  .table_st {
/*    font-size: 0.8rem;
/*  }
/*}
*/
.table_st thead {
  border-bottom: 1px solid #738683;
}
.table_st thead th {
  background: #C1E0DB;
  font-weight: bold;
  text-align: center;
  padding: .5em .8em;
}
.table_st thead th:not(:first-child) {
  border-left: 1px solid #738683;
}
.table_st tbody tr {
  border-bottom: 1px solid #738683;
}
.table_st tbody th, .table_st tbody td {
  padding: .5em .8em;
}
.table_st tbody td {
  border-left: 1px solid #738683;
}
/* カード（記事一覧） */
@media only screen and (min-width: 769px) {
  .card article {
    -webkit-transition: .5s;
    transition: .5s;
  }
  .card article:hover {
    opacity: .9;
    -webkit-box-shadow: 8px 8px 8px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 8px 8px 8px 0 rgba(0, 0, 0, 0.15);
  }
}
.card .cardBtn {
  position: absolute;
  bottom: 30px;
  left: calc(50% - 100px);
}
.card.column figure {
  border: 1px solid #acacac;
}
.card.column .contents {
  background-color: #0F71BA;
  color: #fff;
  min-height: 122px;
  padding: 15px;
}
@media only screen and (max-width: 768px) {
  .card.half {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    overflow: hidden;
  }
  .card.half article {
    width: calc(49.99998% - 8px);
  }
  .card.half article:nth-child(odd) {
    margin-right: 16px;
  }
}
/* ボタン */
.btn_more {
  margin-left: auto;
  margin-right: auto;
  display: block;
  text-align: center;
  width: 270px;
  padding: 16px 10px;
  border: 3px solid #d7a98c;
  background-color: #fff;
  position: relative;
  -webkit-box-shadow: 0px 6px 3px -3px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 6px 3px -3px rgba(0, 0, 0, 0.15);
  -webkit-appearance: none;
  border-radius: 10px;
  font-weight: bold;
}
.btn_more::after {
  right: 1em;
  top: 37%;
  position: absolute;
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #d7a98c;
  border-right: 2px solid #d7a98c;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media only screen and (min-width: 769px) {
  .btn_more {
    -webkit-transition: .7s;
    transition: .7s;
  }
  .btn_more:hover {
    background-color: #434343;
    color: #fff;
  }
  .btn_more:hover::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
}
.btn_more.L {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .btn_more.L {
    max-width: 400px;
  }
}
.btn_blue {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  text-align: center;
  max-width: 200px;
  width: 80%;
  padding: 6px;
  border: 1px solid #0F71BA;
  border-radius: 5px;
  background-color: #0F71BA;
  color: #fff;
  display: block;
  -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: .5s;
  transition: .5s;
  -webkit-appearance: none;
}
.btn_blue::after {
  right: 1em;
  top: 35%;
  position: absolute;
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media only screen and (min-width: 769px) {
  .btn_blue:hover {
    background-color: #fff;
    color: #0F71BA;
  }
  .btn_blue:hover::after {
    border-top: 2px solid #0F71BA;
    border-right: 2px solid #0F71BA;
  }
}
.btn_blueL {
  margin-left: auto;
  margin-right: auto;
  padding: 10px 25px;
  border: 1px solid #0F71BA;
  border-radius: 10px;
  background-color: #0F71BA;
  color: #fff;
  display: block;
  max-width: 800px;
  width: 100%;
  text-align: center;
  -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: .5s;
  transition: .5s;
  -webkit-appearance: none;
}
@media only screen and (min-width: 769px) {
  .btn_blueL {
    width: 80%;
  }
  .btn_blueL:hover {
    background-color: #fff;
    color: #0F71BA;
  }
}
.btn_whiteL {
  margin-left: auto;
  margin-right: auto;
  padding: 10px 25px;
  border: 1px solid #0F71BA;
  border-radius: 10px;
  background-color: #fff;
  color: #0F71BA;
  display: block;
  max-width: 800px;
  width: 100%;
  text-align: center;
  -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: .5s;
  transition: .5s;
}
@media only screen and (min-width: 769px) {
  .btn_whiteL {
    width: 80%;
  }
  .btn_whiteL:hover {
    background-color: #0F71BA;
    color: #fff;
  }
}
/* リスト */
.list_ul {
  margin: 10px 0;
  padding-left: 20px;
}
.list_ul li {
  line-height: 2;
  padding: 0.1em 0 0.1em 1.8em;
  position: relative;
}
.list_ul li::before {
  position: absolute;
  display: inline-block;
  text-indent: 0;
  content: '';
  height: 15px;
  width: 15px;
  background-color: #C1E0DB;
  border-radius: 3px;
  top: 0.6em;
  left: 0;
}
.list_ul li a {
  text-decoration: underline;
}
td .list_ul {
  padding-left: 0px;
}
/* お知らせ一覧用リスト */
ul.list_news {
  /* padding: 0.5em;*/
  list-style-type: none;
}
ul.list_news li.list_news_item {
  position: relative;
  padding: 1em 1em 1em 0;
  border-bottom: 1px solid #434343;
}
ul.list_news li.list_news_item a {
  transition: .3s;
  text-decoration: underline;
  color: #594E4D;
}
@media only screen and (min-width:1030px) {
  ul.list_news li.list_news_item a:hover {
    opacity: .7;
    text-decoration: none;
  }
}
/* 番号付きリスト */
.list_ol, .editarea ol {
  counter-reset: num;
  margin: 10px 0;
  font-size: 1.6rem;
  padding-left: 20px;
}
.list_ol > li, .editarea ol > li {
  line-height: 2;
  position: relative;
  padding: 0.2em 0 0.2em 1.8em;
}
.list_ol > li::before, .editarea ol > li::before {
  position: absolute;
  font-size: 1.2rem;
  font-weight: bold;
  counter-increment: num;
  content: counter(num) "";
  left: 0;
  top: 0.7em;
  color: #FFFFFF;
  width: 22px;
  height: 22px;
  text-align: center;
  box-sizing: border-box;
  line-height: 1;
  background: #6A758A;
  padding: 5px 0;
  border-radius: 50%;
}
.list_ol > li a, .editarea ol > li a {
  text-decoration: underline;
}
@media (min-width: 769px) {
  .list_ol > li a, .editarea ol > li a {
    transition: .3s;
  }
  .list_ol > li a:hover, .editareaol > li a:hover {
    opacity: .7;
    text-decoration: none;
  }
}
/* ジャンル用リスト */
.list_genre {
  position: relative;
  padding: 1.2em 1em 1.2em 2.5em !important;
  border-bottom: 1px dashed #9B9494;
  font-weight: bold;
}
.list_genre::before {
  position: absolute;
  content: '';
  border-right: 12px solid transparent;
  border-top: 22px solid #DDA287;
  border-left: 12px solid transparent;
  left: 0px;
}
.list_genre::after { /*小さい丸*/
  position: absolute;
  content: '';
  border-right: 10px solid transparent;
  border-bottom: 15px solid #C1E0DB;
  border-left: 10px solid transparent;
  left: 8px;
  bottom: 21px;
}
.list_genre p {
  margin: 0;
}
.list_genre a {
  transition: .3s;
  text-decoration: underline;
  color: #594E4D;
}
.list_genre a:hover {
  opacity: .7;
}
/* バナー  */
.bnrTop {
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .bnrTop a {
    -webkit-transition: .3s;
    transition: .3s;
  }
  .bnrTop a:hover {
    opacity: .7;
  }
}
/* スクロール */
@media only screen and (max-width: 768px) {
  .scrollX {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .scrollX > * {
    min-width: 1230px;
  }
}
@media only screen and (max-width: 1170px) {
  .scrollX {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .scrollX > * {
    min-width: 1170px;
  }
}
/* map */
.iframeMap iframe {
  width: 100%;
}
/*---------------------------------------------
header
---------------------------------------------*/
.header {
  background-color: #F4EDE9;
  overflow: hidden;
  position: relative;
  top: 0;
  z-index: 100;
  border-bottom: solid 1px #594E4D;
}
/*.headerSub {
/*  text-align: center;
/*  padding-top: 10px;
/*}
/*
/*@media only screen and (min-width: 769px) {
/*  .headerSub {
/*    text-align: right;
/*    padding-top: 15px;
/*    margin-right: 5px;
/*  }
/*}
*/
.headerMain {
  box-sizing: border-box;
  /*  display: flex;
/*  flex-wrap: wrap;
/*  margin: 0 auto !important;
/*  position: relative;
/*  padding-top: 15px;
/*  margin-bottom: 15px;
*/
  padding-top: 15px;
  margin-right: 5px;
  margin-bottom: 35px;
  position: relative;
}
.headerMain .logo img {
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .headerMain {
    padding-top: 10px;
    margin-bottom: 10px;
  }
}
.headerMain .link_area_header {
  /*  display: inline-block;*/
  /*  float: right;*/
  position: absolute;
  bottom: 0;
  right: 0;
  top: 30%;
}
.headerMain .link_area_header li {
  display: inline-block;
  vertical-align: middle;
}
.headerMain li a {
  -webkit-transition: .5s;
  transition: .5s;
}
/****** 文字の大きさ調整ボタン ******/
.header .headerMain ul.btn_fontsize {
  display: inline-block;
  margin: 0 20px 8px 0;
  padding: 0 20px 0 0;
  border-right: 1px solid #434343;
  vertical-align: middle;
}
.header .headerMain ul.btn_fontsize li {
  display: inline-block;
  vertical-align: middle;
}
.header .headerMain ul.btn_fontsize li.text {
  padding: 6px 0 3px;
  line-height: 1;
}
.header .headerMain ul.btn_fontsize li.btn {
  margin-left: 10px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.0;
  background: #fff;
  border: 1px solid #c2c2c2;
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  ;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
}
/****** 背景色変更ボタン ******/
.header .headerMain ul.btn_backcolor {
  display: inline-block;
  margin: 0 20px 8px 0;
  padding: 0 20px 0 0;
  /*  border-right: 2px solid #434343;  */
  vertical-align: middle;
}
.header .headerMain ul.btn_backcolor li.text {
  padding: 6px 0 3px;
  line-height: 1;
}
.header .headerMain ul.btn_backcolor .bg1 {
  color: #fff;
  background-color: #000;
  border: 1px solid #c2c2c2;
  border-radius: 0.5rem;
  padding: 0.5rem;
  cursor: pointer;
  line-height: 1;
}
.header .headerMain ul.btn_backcolor .bg2 {
  color: #000;
  background-color: #fff;
  border: 1px solid #c2c2c2;
  border-radius: 0.5rem;
  padding: 0.5rem;
  cursor: pointer;
  line-height: 1;
}
.header .headerMain ul.btn_backcolor .bg3 {
  color: #000;
  background-color: #ccc;
  border: 1px solid #c2c2c2;
  border-radius: 0.5rem;
  padding: 0.5rem;
  cursor: pointer;
  line-height: 1;
}
.headerMain .logo {
  width: 320px;
  height: auto;
  display: inline-block;
}
@media only screen and (max-width: 768px) {
  .headerMain .logo {
    width: 240px;
    height: auto;
  }
}
/*.headerMain .loginBtn {
/*  position: absolute;
/*  right: 130px;
/*  bottom: 0;
/*}
/*
/*.headerMain .loginBtn a {
/*  padding: 8px 25px;
/*  border: 1px solid #0F71BA;
/*  border-radius: 5px;
/*  background-color: #0F71BA;
/*  color: #fff;
/*  display: block;
/*  -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.15);
/*          box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.15);
/*  -webkit-transition: .5s;
/*  transition: .5s;
/*}
/*
/*@media only screen and (min-width: 769px) {
/*  .headerMain .loginBtn a:hover {
/*    background-color: #fff;
/*    color: #0F71BA;
/*  }
/*}
}
*/
/****** グローバルメニュー ******/
.header .nav {
  display: block;
  box-sizing: border-box;
  /*  padding-top: 15px;  */
  /*  margin-right: 5px;  */
  position: relative;
  max-width: 1230px;
  text-align: center;
}
.header .nav li {
  display: block;
  /*  float: left;*/
  width: 16.66%;
  text-align: center;
  border-right: solid 1px #594E4D;
  box-sizing: border-box;
}
.header .nav li:first-child {
  border-left: solid 1px #594E4D;
}
.header .nav li > a {
  text-align: center;
  display: block;
  color: #543F32;
  /*  padding: 15px 0; */
  text-decoration: none;
  /*  height: 56px;*/
  box-sizing: border-box;
  line-height: 1.4em;
  transition: .3s;
  position: relative;
  padding: 65px 0 15px 0;
}
.header .nav li > a:hover {
  background-color: #EAC7B7;
}
.header .nav li.menu01 > a {
  padding: 80px 0 10px 0;
}
.header .nav li.menu02 > a {
  padding: 80px 0 10px 0;
}
.header .nav li.menu03 > a {
  padding: 80px 0 10px 0;
}
.header .nav li.menu04 > a {
  padding: 80px 0 10px 0;
}
.header .nav li.menu05 > a {
  padding: 80px 0 10px 0;
}
.header .nav li.menu06 > a {
  padding: 80px 0 10px 0;
}
.globalMenu {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  padding: 0;
  margin: 0;
}
/*.headerMain li.border {
/*  position: relative;
/*  padding-left: 12px;
/*}
*/
/*.headerMain li.border::before {
/*  content: '';
/*  height: 1em;
/*  line-height: 1em;
/*  width: 1px;
/*  position: absolute;
/*  left: 0;
/*  top: 20%;
/*  display: block;
/*  border-left: 1px solid #333;
/*}
*/
.header .nav li > a::before {
  top: 8px;
}
.header .nav li > a::before, .header .nav li > a::after {
  display: block;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  height: 60px;
  background-size: contain;
}
.header .nav li > a::after {
  /* bottom: 25px; */
  height: 16px;
  font-weight: 400;
}
.header .nav li.menu01 > a::before {
  background: url("../images/com/info-icon.png") center no-repeat;
  background-size: contain;
}
.header .nav li.menu02 > a::before {
  background: url("../images/com/search-icon.png") center no-repeat;
  background-size: contain;
}
.header .nav li.menu03 > a::before {
  background: url("../images/com/service-icon.png") center no-repeat;
  background-size: contain;
}
.header .nav li.menu04 > a::before {
  background: url("../images/com/mypage-icon.png") center no-repeat;
  background-size: contain;
}
.header .nav li.menu05 > a::before {
  background: url("../images/com/web-icon.png") center no-repeat;
  background-size: contain;
}
.header .nav li.menu06 > a::before {
  background: url("../images/com/kids-icon.png") center no-repeat;
  background-size: contain;
}
/****** ハンバーガーメニュー ******/
.hamburger {
  position: absolute;
  right: 15px;
  top: 15px;
  width: 40px;
  /* クリックしやすいようにちゃんと幅を指定する */
  height: 40px;
  /* クリックしやすいようにちゃんと高さを指定する */
  cursor: pointer;
  z-index: 500;
}
@media only screen and (min-width: 769px) {
  .hamburger {
    top: 5px;
    right: 15px;
  }
}
@media only screen and (min-width: 1230px) {
  .hamburger {
    right: 50px;
  }
}
.hamburger.tophamb {
  top: 8px;
  right: 15px;
}
.hamburger .navLine {
  position: absolute;
  right: 0;
  width: 33px;
  height: 3px;
  background-color: #434343;
  transition: all .6s;
}
.hamburger .navLine_1 {
  top: 10px;
}
.hamburger .navLine_2 {
  top: 20px;
}
.hamburger .navLine_3 {
  top: 30px;
}
.nav-open .navLine_1 {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 25px;
}
.nav-open .navLine_2 {
  width: 0;
  left: 50%;
}
.nav-open .navLine_3 {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 25px;
}
.nav-open .hamburger .navLine {
  background-color: #fff;
}
.navBox {
  text-align: center;
  position: fixed;
  top: -100vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(28, 28, 28, 0.9);
  padding-top: 60px;
  transition: all .6s;
  z-index: 200;
  overflow-y: auto;
}
/* 表示された時用のCSS */
.nav-open .navBox {
  top: 0;
}
.navList {
  list-style: none;
  padding-top: 30px;
}
@media only screen and (min-width: 769px) {
  .navList {
    padding-top: 10px;
  }
}
.navItem {
  letter-spacing: .2em;
  text-align: center;
  padding: 10px;
  height: 50px;
  display: block;
  text-decoration: none;
  color: #fff;
  -webkit-transition: .3s;
  transition: .3s;
}
@media only screen and (max-width: 768px) {
  .navItem {
    font-size: 1.8rem;
  }
}
.navBtn {
  position: absolute;
  position: fixed;
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 300;
}
@media only screen and (max-width: 768px) {
  .navBtn {
    right: 20px;
    top: 20px;
  }
}
@media only screen and (min-width: 769px) {
  .navBtn {
    right: 65px;
    bottom: 0px;
    */ top: 74px;
  }
}
@media only screen and (min-width: 1230px) {
  .navBtn {
    right: calc(50% - 550px);
  }
}
/*---------------------------------------------
footer
---------------------------------------------*/
.footer {
  width: 100%;
  background-color: #F4EDE9;
  position: relative;
  padding-top: 60px;
  margin-top: 100px;
  /*  border-top: 1px solid #434343;*/
  background-size: auto;
}
.footer .logo {
  margin-bottom: 60px;
}
.footer .logo img {
  height: auto;
  width: 300px;
}
.footer .toTop {
  position: absolute;
  padding: 10px;
  z-index: 20;
  right: 5px;
  top: -50px;
  /*opacity: .8;*/
}
.footer_box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}
.footer_box-item1 {
  position: relative;
}
.footer_box-item1::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 95%;
  right: 0;
  top: 0;
  background-color: #878A88;
}
.footer_text {
  margin-bottom: 30px;
}
.footer_text p {
  margin: 0;
  line-height: 2.0;
}
.footerLib {
  padding: 0.1em 0 0.1em 1.8em;
  position: relative;
  font-weight: 600;
  margin-bottom: 5px;
}
.footerLib::before {
  position: absolute;
  display: inline-block;
  text-indent: 0;
  content: '';
  height: 15px;
  width: 15px;
  background-color: #C1E0DB;
  border-radius: 3px;
  top: 0.6em;
  left: 0;
}
.footerList {
  list-style: disc;
  padding-left: 20px;
}
.footer_sitemap {
  padding-bottom: 30px;
}
.footer_sitemap-list li {
  position: relative;
  padding: 0.1em 0 0.1em 1.8em;
  text-decoration: underline;
  transition: all 0.3s;
  pointer-events: none;
}
.footer_sitemap-list li a {
  display: inline;
  pointer-events: all;
}
.footer_sitemap-list li::before {
  position: absolute;
  display: inline-block;
  text-indent: 0;
  content: '';
  height: 2px;
  width: 10px;
  background-color: #594E4D;
  border-radius: 1px;
  top: 1.0em;
  left: 0;
}
.footer_sitemap-list li:hover {
  text-decoration: none;
  opacity: 0.7;
}
.footer_copy {
  margin-top: 30px;
  font-size: 1.4rem;
  text-align: center;
  align-content: center;
  background-color: #594E4D;
  color: #FFFFFF;
  height: 40px;
}
@media only screen and (min-width: 769px) {
  .footer .toTop {
    top: 30px;
    right: 10px;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .footer .toTop:hover {
    top: 10px;
  }
}
@media only screen and (min-width: 1230px) {
  .footer .toTop {
    right: calc(50% - 585px);
  }
}
.footer .toTop img {
  display: block;
  width: 100px;
  height: 100px;
}
@media only screen and (max-width: 768px) {
  .footer .logo img {
    height: auto;
    width: 240px;
  }
  .footer .toTop img {
    width: 80px;
    height: 80px;
  }
  .footer_box {
    display: block;
  }
  .footer_box-item1::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    right: 0;
    top: auto;
    bottom: -30px;
    background-color: #878A88;
  }
  .footer_box-item2 {
    margin-top: 60px;
  }
  .footer_copy {
    font-size: 1.0rem;
  }
}
/*---------------------------------------------
トップページ
---------------------------------------------*/
/* トップスライド */
.slide {
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .slide {
    padding: 100% 0 0;
  }
}
@media only screen and (min-width: 769px) {
  .slide {
    padding: 32.15% 0 0;
  }
}
.slideWrap {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .slideWrap {
    max-width: 1230px;
    padding-left: 30px;
    padding-right: 30px;
    margin-left: auto;
    margin-right: auto;
  }
}
.slide button {
  border: none;
  background: none;
}
.slideBox {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.slideItem {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  opacity: 0;
  -webkit-transition: 3s;
  transition: 3s;
}
.slideItem img {
  width: 100%;
}
.slideItem.is-show {
  opacity: 1;
  z-index: 10;
  -webkit-transition: 3s;
  transition: 3s;
}
.slideItem:hover {
  opacity: .8;
}
.slideCtl {
  z-index: 10;
  position: absolute;
  text-align: center;
  width: 100%;
  bottom: 10px;
}
.slideCtl li {
  padding: 0 20px;
  display: inline-block;
}
.slideCtl li button {
  color: #fff;
  text-shadow: 1px 1px 1px #999;
}
.slideCtl li .current {
  color: #969696;
}
/* トップ重要なお知らせ */
.h_emg {
  display: block;
  margin: 0;
  padding: 13px 30px;
  width: 60%;
  max-width: 350px;
  /*    color: #000;*/
  background-color: #e6c0c0;
  border-left: 1px solid #000000;
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  text-align: center;
  border-radius: 10px 10px 0 0;
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  .h_emg {
    font-size: 2.0rem;
  }
}
.emgTit {
  /*  background-color: #FEB4B4!important;
/*  color: #434343;
*/
}
/*.emgTit h2 {
/*  margin: 0;
/*  padding: 10px 0;
/*}
*/
.emgBox {
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  border-left: 1px solid #000000;
  border-radius: 0 7px 7px 7px;
  background-color: #fff;
}
.txtbox ul > li:first-child {
  margin: 0 0.8em 0.8em 0.8em;
  padding-top: 0.8em;
  border-bottom: 1px dashed #767171;
}
.txtbox ul > li {
  margin: 0 0.8em 0.8em 0.8em;
  border-bottom: 1px dashed #767171;
}
/* トップカレンダー */
.calendar_bg {
  background-color: #DDA287;
  margin-top: 60px;
  padding: 50px 0 70px;
}
@media(min-width: 769px) and (max-width: 1000px) {
  .calendar_bg .grid {
    display: block;
  }
}
.today-box {
  margin: 30px 2.0em 40px;
  text-align: center;
  border: 1px solid #58444D;
  border-radius: 5px;
}
.today {
  background-color: #EAC7B7;
  border-radius: 5px 5px 0 0;
  padding: 0.8em 2.0em 0.8em 0.5em;
}
.today li {
  font-size: 2.2rem;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
}
.today li img {
  width: 35px;
  height: 35px;
  left: 3.0em;
  margin-right: 0.8em;
  vertical-align: middle;
}
.today-text {
  font-weight: 600;
}
@media(max-width: 768px) {
  .today {
    padding: 0.8em 2.0em 0.8em 0.5em !important;
  }
}
.calOpen {
  margin: 30px 0;
}
.calOpen .calOpen-ul li {
  position: relative;
  padding-left: 2em;
  align-items: center;
  font-weight: 600;
}
.calOpen .calOpen-ul li::before {
  position: absolute;
  content: "";
  height: 15px;
  width: 15px;
  border-radius: 3px;
  left: 0;
  top: 0.4em;
  background-color: #C1E0DB;
}
.calOpen .calOpen-li {
  align-items: center;
}
.calBox {
  max-width: 400px;
  border: 1px solid #434343;
  border-radius: 10px;
  margin-left: auto;
  margin-right: auto;
}
.calBox .title1, .calBox .title2, .calBox .title3 {
  vertical-align: middle;
  width: 100%;
  text-align: center;
  font-weight: 600;
  font-size: 1.8rem;
}
.calBox .title1 {
  background-color: #B9D9C3;
  height: 68px;
  line-height: 68px;
  border-radius: 10px 10px 0 0;
  border-bottom: 1px solid #434343;
}
.calBox .title2 {
  background-color: #B9D9C3;
  height: 68px;
  line-height: 68px;
  border-radius: 10px 10px 0 0;
  border-bottom: 1px solid #434343;
}
.calBox .calCont {
  background-color: #fff;
  padding: 20px 10px 30px;
  border-radius: 0 0 10px 10px
}
@media only screen and (min-width:769px) {
  .calBox .calCont {
    padding: 20px 20px 40px;
  }
}
.grid_box_cal .grid {
  justify-content: center;
}
.table {
  display: table;
  border-collapse: collapse;
  border-spacing: 0;
}
.calHeader {
  background-color: #EAC7B7;
  height: 68px;
  line-height: 68px;
  border-radius: 10px 10px 0 0;
  border-bottom: 1px solid #594E4D;
  color: #594E4D;
  vertical-align: middle;
  width: 100%;
  text-align: center;
  font-weight: 600;
}
/*.calHeader.table {
 border-bottom: 1px solid #43676b;
 color: #2c4f54;
 background-color: #fff;
 overflow: hidden;
}
*/
.previous-anchor, .next-anchor {
  padding: 5px 15px;
}
.row {
  display: table-row;
}
.cell, .cell2, .cell3, .cell4 {
  display: table-cell;
  /*background-color: #fff;*/
  vertical-align: middle;
  color: #594E4D;
}
.cell2 {
  width: 50%;
}
.cell3 {
  width: 33.3%;
}
.cell4 {
  width: 25%;
}
.cell a {
  text-decoration: underline;
}
.cell2 a, .cell3 a, .cell4 a {
  color: #594E4D;
  text-decoration: underline;
}
.cell.btns.next-btn a, .cell.btns.previous-btn a, .calpage_link a, {
  color: #594E4D;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.event-calendar-row.text-center, .weekdays, .week, .day {
  /*background-color: #f8f4e6;*/
  font-weight: bold;
}
.content, .day.weekdays, .week.weekdays, .event.weekdays, .week, .day {
  color: #594E4D;
}
.week.sunday {
  color: #d70035;
  font-weight: bold;
}
.week.saturday {
  color: #0c5bac;
  font-weight: bold;
}
.calendar-box {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  /* border: 1px solid #594E4D;*/
  background-color: #fff;
  border-radius: 10px;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  table-layout: fixed; /* 固定レイアウトを使用してセルが均等に配置されるようにする */
}
.calendar-box .calHeader {
  width: 100%;
  padding: 0.5rem 0;
}
.calendar-box .calHeader .btns {
  width: 15%;
}
.calendar-box .main {
  width: 90%;
  margin: 5%;
  padding: 20px 10px 30px;
}
.calendar-box .main .cell-date {
  padding: 0.3rem 0;
  border: 1px solid #333;
}
.calendar-box .main .close {
  background-color: #F5E188;
}
.calendar-box .main .outside {
  visibility: hidden;
}
.calendar-box .main .event {
  background-color: #C1E0DB;
}
.calendar-box table {
  width: 100%;
}
.calendar-box .calFooter {
  width: 90%;
  margin: 0 5% 5% 5%;
}
.calendar-box .calFooter .legend {
  display: inline-block;
}
.calendar-box .calFooter .legend > span {
  display: inline-block;
}
.calendar-box .calFooter .event, .calendar-box .calFooter .close {
  height: 20px;
  width: 20px;
  border: 1px solid #594E4D;
  vertical-align: middle;
  display: inline-block;
}
.calendar-box .calFooter {
  display: flex;
  justify-content: space-between;
}
.calendar-box .calFooter .legendLabel {
  display: flex;
}
.calendar-box .calFooter .event {
  background-color: #C1E0DB;
  margin-left: 10px;
}
.calendar-box .calFooter .close {
  background-color: #F5E188;
}
.calendar-box .main .week {
  font-weight: bold;
  /*border-bottom: 1px solid #c1c1c1;*/
}
.calendar-box .main .week.sunday {
  color: #b91313;
}
.calendar-box .main .week.saturday {
  color: #005eaa;
}
.event-calendar, .event-info {
  width: 100%;
  clear: both;
}
.event-calendar-row, .event-info-row {
  display: flex;
  background-color: #fffffb;
}
.event-calendar-row .week, .event-calendar-row .day, .event-calendar-row .event {
  flex: 1;
  border: 1px solid #594E4D;
}
.event-info-row .week, .event-info-row .day {
  flex-basis: 80px;
  border: 1px solid #594E4D;
}
.event-info-row .event {
  flex-grow: 1;
  border: 1px solid #594E4D;
}
@media only screen and (max-width:768px) {
  .calendar-box .calFooter {
    align-items: center;
  }
  .calendar-box .calFooter .legendLabel {
    display: block;
  }
  .calendar-box .calFooter .event {
    margin-left: 0;
    margin-top: 10px;
  }
}
.center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.event-calendar-row .event div, .event-info-row .event div {
  padding: 0.5rem;
}
.event-calendar-row .event .close, .event-info-row .event .close {
  color: #C1E0DB;
}
.event-calendar-row .event .holiday, .event-info-row .event .holiday {
  color: #fff;
  background-color: #F5E188;
  font-weight: bold;
}
.calBox {
  max-width: 100%;
  width: 500px;
  border: 1px solid #594E4D;
  border-radius: 10px;
  margin-left: auto;
  margin-right: auto;
}
.calBox .title1, .calBox .title2, .calBox .title3 {
  vertical-align: middle;
  width: 100%;
  text-align: center;
  font-weight: 600;
}
.calBox .title1 {
  background-color: #c2dfbd;
  height: 68px;
  line-height: 68px;
  border-radius: 10px 10px 0 0;
  border-bottom: 1px solid #594E4D;
  color: #2c4f54;
}
.calBox .title2 {
  background-color: #e7d984;
  height: 68px;
  line-height: 68px;
  border-radius: 10px 10px 0 0;
  border-bottom: 1px solid #594E4D;
}
.calBox .title3 {
  background-color: #e6a3a3;
  height: 68px;
  line-height: 68px;
  border-radius: 10px 10px 0 0;
  border-bottom: 1px solid #594E4D;
}
.calBox .calCont {
  background-color: #fff;
  padding: 20px 10px 30px;
  border-radius: 0 0 10px 10px;
}
@media only screen and (min-width: 767px) {
  .calBox .calCont {
    padding: 20px 20px 40px;
  }
}
.calBox .calendar td, .calBox .calendar th, .calBox .month {
  text-align: center;
}
.calBox .calendar .sun {
  color: #d70035;
}
.calBox .calendar .sat {
  color: #0c5bac;
}
.calBox .calendar th {
  padding: 10px;
}
.calBox .calendar td {
  background-color: #fff;
}
.calBox .calendar td {
  margin: 2px;
  padding: 5px;
  border: 1px solid #594E4D;
  background-color: #fff;
  font-size: 1.2rem;
  width: calc(100% / 7);
}
@media only screen and (min-width: 767px) {
  .calBox .calendar td {
    padding: 10px;
    transition: 0.3s;
  }
}
.calBox .calendar td a {
  text-decoration: underline;
}
.calBox .calendar td.closingday1 {
  background-color: #c2dfbd;
}
.calBox .calendar td.closingday2 {
  background-color: #e7d984;
}
.calBox .calendar td.closingday3 {
  background-color: #e6a3a3;
}
.calBox .calendar table {
  width: 100%;
}
/****** トップ新着資料・ランキング ******/
.sec_rank {
  background-color: #C1E0DB;
  width: 100%;
  padding: 60px 0;
}
.rank-box {
  background-color: #fff;
  padding: 30px 10px;
  border-radius: 5px;
}
.contentsBox {
  margin-left: auto;
  margin-right: auto;
}
.contentsBox .title1, .contentsBox .title2, .contentsBox .title3 {
  vertical-align: middle;
  width: 100%;
  text-align: center;
  font-weight: 600;
}
.contentsBox .calCont {
  padding: 20px 10px 30px;
  border-radius: 0 0 10px 10px
}
.contentsBox ol {
  /*list-style: decimal;*/
  list-style-type: none;
  padding-left: 20px; /* 数字の表示を調整 */
  margin: 0; /* 撓科学することなくリスト全体を表示する */
}
/*.contentsBox ol li {
  padding-left: 0;
  margin-left: 0; 数字表示がリスト項目内に収まるようにする
}*/
.libbest-box {
  margin: 20px auto;
}
ol.libbest {
  /*list-style: decimal;*/
  list-style-type: none;
  padding-left: 20px;
  counter-reset: num;
  margin: 10px 0;
  font-size: 1.6rem;
}
ol.libbest-style1 > li, ol.libbest-style2 > li {
  line-height: 2;
  position: relative;
  padding: 0.2em 0 0.2em 2.5em;
}
ol.libbest-style1 > li {
  line-height: 2;
  padding: 0.1em 0 0.1em 1.8em;
  position: relative;
}
ol.libbest-style1 > li::before {
  position: absolute;
  display: inline-block;
  text-indent: 0;
  content: '';
  height: 15px;
  width: 15px;
  background-color: #C1E0DB;
  border-radius: 3px;
  top: 0.6em;
  left: 0;
}
ol.libbest-style2 > li::before {
  position: absolute;
  font-size: 1.4rem;
  font-weight: bold;
  counter-increment: num;
  content: counter(num) ".";
  left: -0.5em;
  top: 0.5em;
  color: #2c4f54;
  width: 22px;
  height: 22px;
  text-align: center;
  box-sizing: border-box;
  line-height: 1;
  /*background: #B9D9C3;*/
  padding: 6px 0;
  /*border-radius: 3px;*/
}
ol.libbest-style2 > li:first-child::before {
  position: absolute;
  display: block;
  background: url("../images/com/first-crown.png");
  background-size: contain;
  font-size: 1.4rem;
  font-weight: bold;
  counter-increment: num;
  content: counter(num) "";
  left: -5%;
  top: 0%;
  color: #2c4f54;
  width: 35px;
  height: 35px;
  text-align: center;
  box-sizing: border-box;
  line-height: 1;
  padding: 16px 0;
}
ol.libbest-style2 > li:nth-child(2)::before {
  position: absolute;
  display: block;
  background: url("../images/com/second-crown.png");
  background-size: contain;
  font-size: 1.4rem;
  font-weight: bold;
  counter-increment: num;
  content: counter(num) "";
  left: -5%;
  top: 0;
  color: #2c4f54;
  width: 35px;
  height: 35px;
  text-align: center;
  box-sizing: border-box;
  line-height: 1;
  padding: 16px 0;
}
ol.libbest-style2 > li:nth-child(3)::before {
  position: absolute;
  display: block;
  background: url("../images/com/third-crown.png");
  background-size: contain;
  font-size: 1.4rem;
  font-weight: bold;
  counter-increment: num;
  content: counter(num) "";
  left: -5%;
  top: 0;
  color: #2c4f54;
  width: 35px;
  height: 35px;
  text-align: center;
  box-sizing: border-box;
  line-height: 1;
  padding: 16px 0;
}
/*ol.libbest li {
  margin: 0;
  padding-left: 0;
}*/
ol.libbest li a:hover {
  text-decoration: underline;
}
ol.libbest li a:visited {
  color: #951c54;
}
/*ol.libbest li:first-child{
  position: relative;
}
ol.libbest li:first-child::after {
  position: absolute;
  background: url("../images/first-crown.png")
}*/
@media only screen and (min-width:767px) {
  .contentsBox .calCont {
    padding: 20px 20px 40px;
  }
  /*.contentsBox ol {
    padding-left: 40px;
  }
  .contentsBox ol li {
    padding-left: 0;
    margin-left: 0;
  }*/
}
.contentsBox .calendar td, .contentsBox .calendar th, .contentsBox .month {
  text-align: center
}
.contentsBox.calendar .sun {
  color: #d70035;
}
.contentsBox .calendar .sat {
  color: #0c5bac;
}
.contentsBox .calendar th {
  padding: 10px;
}
.contentsBox .calendar td {
  background-color: #fff;
}
.contentsBox .calendar td {
  margin: 2px;
  padding: 5px;
  border: 1px solid #2c4f54;
  /*  display: block;  */
  /*  cursor: pointer;*/
  background-color: #fff;
  font-size: 1.2rem
}
@media only screen and (min-width:767px) {
  .contentsBox .calendar td {
    padding: 10px;
    transition: .3s;
  }
  /*  .contentsBox .calendar td:hover {
/*    background-color: #86e1e3;
/*  }
*/
}
.contentsBox .calendar td a {
  text-decoration: underline;
}
.contentsBox .calendar td.closingday1 {
  background-color: #c2dfbd;
}
.contentsBox .calendar td.closingday2 {
  background-color: #e7d984;
}
.contentsBox .calendar td.closingday3 {
  background-color: #e6a3a3;
}
.contentsBox .calendar table {
  width: 100%;
}
.bgc_white {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  border-radius: 10px;
}
.bgc_white::after {
  content: "";
  display: table;
  clear: both;
}
.calpage_link {
  text-decoration: underline;
}
@media only screen and (max-width: 768px) {
  /*  .calendar-box {
    padding: 10px;
  }*/
  .calendar-box .calFooter .legend > span {
    height: 2.2rem;
    width: 64px;
  }
  .rank-box {
    margin-bottom: 40px;
  }
  .rank-box:last-child {
    margin-bottom: 0px;
  }
}
/****** トップpickupバナー ******/
.pic_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 20px;
}
a.btn_pickup {
  width: 100%;
  height: 80px;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  padding: 1rem 4rem;
  cursor: pointer;
  display: block;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  align-content: center;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #543F32;
  overflow: hidden;
  background: #fff;
  border: 1px solid #543F32;
  border-radius: 5px;
}
a.btn_pickup:hover {
  border: solid 1px #dda287;
  box-shadow: inset 0 0 0 1px #dda287;
}
a.btn_pickup::before {
  background-color: #dda287;
  position: absolute;
  top: 50%;
  right: 30px;
  width: 20px;
  height: 2px;
  margin-top: 0px;
  content: "";
  transition: 0.3s;
}
a.btn_pickup::after {
  position: absolute;
  top: 50%;
  right: 30px;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 2px solid #dda287;
  border-right: 2px solid #dda287;
  content: "";
  display: inline-block;
  vertical-align: middle;
  transition: 0.3s;
}
a.btn_pickup:hover::before {
  background-color: #dda287;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 20px;
  height: 2px;
  margin-top: 0px;
  content: "";
}
a.btn_pickup:hover::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 2px solid #dda287;
  border-right: 2px solid #dda287;
  content: "";
  display: inline-block;
  vertical-align: middle;
}
@media only screen and (max-width: 768px) {
  .pic_grid {
    display: block;
    margin-top: 40px;
  }
  a.btn_pickup {
    height: 70px;
    font-size: 1.8rem;
  }
}
/**********************************************/
/*
a.btn_pickup {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #434343;
  box-sizing: border-box;
  width: 100%;
  height: 80px;
  padding: 0 25px;
  color: #434343;
  font-size: 2.4rem;
  text-align: left;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
}
a.btn_pickup:hover {
  background: #228bc8;
  border: 1px solid #05639a;
  color: #fff;
}
a.btn_pickup:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 40px 50px;
  border-color: transparent transparent #7ACFD6 transparent;
}
a.btn_pickup span {
    position: absolute;
    bottom: 12px;
    right: 20px;
    display: inline-block;
}
a.btn_pickup span:before {
    content: '';
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -8px;
}
a.btn_pickup span:after {
    content: '';
    width: 4px;
    height: 4px;
    border: 0;
    border-top: 2px solid #228bc8;
    border-right: 2px solid #228bc8;
    border-top: 2px solid #7ACFD6;
    border-right: 2px solid #7ACFD6;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 4px;
    margin-top: -3px;
}
*/
/**********************************************/
/*---------------------------------------------
カレンダー一覧
---------------------------------------------*/
.calBox .calCont_list {
  background-color: #fff;
  padding: 20px 10px 30px;
  border-radius: 10px
}
@media only screen and (min-width:769px) {
  .calBox .calCont_list {
    padding: 20px 20px 40px;
  }
}
/*---------------------------------------------
サイトマップ
---------------------------------------------*/
.sitemap li.item + li.item {
  margin-top: .5em;
}
.sitemap a {
  color: #0F71BA;
  text-decoration: underline;
}
.sitemap li.item::before {
  display: inline-block;
  content: '●';
  color: #69B0E3;
  -webkit-transform: scale(0.8, 0.8);
  transform: scale(0.8, 0.8);
  line-height: 1;
  vertical-align: .08em;
  width: 1.5em;
  margin-right: .1em;
}
.sitemap li.item .itemList {
  padding-left: 20px;
}
.sitemap li.item .itemList li {
  position: relative;
  margin-top: .5em;
  padding-left: 1.5em;
}
.sitemap li.item .itemList li::before {
  position: absolute;
  left: 0;
  top: .3em;
  content: 'ー';
  color: #69B0E3;
  line-height: 1em;
  height: 1em;
  width: 1.5em;
}
/*---------------------------------------------
こどものページ
---------------------------------------------*/
.kids_deco {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 10px 0;
}
.kids_deco::before {
  position: absolute;
  top: -50px;
  content: "";
  background-image: url("/child/images/arch.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  max-height: 280px;
  height: 100%;
  width: 100%;
  z-index: -1;
  opacity: 0.6;
}
.kids_deco::after {
  position: absolute;
  bottom: -120px;
  content: "";
  background-image: url("/child/images/arch.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  transform: scale(1, -1);
  max-height: 280px;
  height: 100%;
  width: 100%;
  z-index: -1;
  opacity: 0.6;
}
.sec_kids {
  max-width: 1000px;
  width: 100%;
  padding: 0 45px;
  margin-bottom: 100px;
}
.kids_title {
  margin: 120px 0 60px;
}
.kids_title-sp {
  display: none;
}
.btn_kids {
  position: relative;
  top: 0;
  transition: 0.3s;
}
.btn_kids:hover {
  top: -10px;
}
@media only screen and (max-width: 768px) {
  .kids_deco {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 10px 0;
  }
  .kids_deco::before, .kids_deco::after {
    max-height: 200px;
  }
  .sec_kids {
    padding: 0 20px;
    margin-bottom: 20px;
  }
  .kids_title {
    display: none;
    margin: 0;
  }
  .kids_title-sp {
    display: block;
    margin: 60px 0;
  }
  .kids_title-sp img {
    max-height: 250px;
    height: 100%;
    width: auto;
  }
  .btn_kids {
    position: relative;
    top: 0;
    transition: 0.3s;
  }
}
/*---------------------------------------------
イベント用　メニューリストデザイン
---------------------------------------------*/
ul.list_event {
  /* padding: 0.5em;*/
  list-style-type: none;
}
ul.list_event li.list_event_item {
  position: relative;
  padding: 1.2em 1em 1.2em 2.5em !important;
  border-bottom: 1px dashed #9B9494;
  font-weight: bold;
}
ul.list_event li.list_event_item::before {
  position: absolute;
  content: '';
  border-right: 12px solid transparent;
  border-top: 22px solid #DDA287;
  border-left: 12px solid transparent;
  left: 0px;
  top: 22px;
}
ul.list_event li.list_event_item::after {
  position: absolute;
  content: '';
  border-right: 10px solid transparent;
  border-bottom: 15px solid #C1E0DB;
  border-left: 10px solid transparent;
  left: 8px;
  bottom: 21px;
}
ul.list_event li.list_event_item a {
  transition: .3s;
  text-decoration: underline;
  color: #594E4D;
  padding-left: 20px;
}
@media only screen and (min-width:1030px) {
  ul.list_event li.list_event_item a:hover {
    opacity: .7;
    text-decoration: none;
  }
}
@media only screen and (max-width:768px) {
  ul.list_event li.list_event_item a {
    padding: 0 5px
  }
}
/*---------------------------------------------
フォーム
---------------------------------------------*/
.form .text {
  width: 100%;
  border: 1px solid #69B0E3;
  border-radius: 4px;
  height: 50px;
  line-height: 50px;
  vertical-align: middle;
  padding: 10px 20px;
}
.form .textarea {
  width: 100%;
  /*  height: 200px;*/
  height: 100px;
  border: 1px solid #69B0E3;
  border-radius: 4px;
  padding: 10px 20px;
}
.form .checkItem {
  display: inline-block;
  margin-bottom: 20px;
}
.form .checkItem:not(:last-child) {
  margin-right: 30px;
}
@media only screen and (min-width: 769px) {
  .form .checkItem:not(:last-child) {
    margin-right: 50px;
    min-width: 155px;
  }
}
/*.form .checkItem input[type="checkbox"] {
  display: none;
}*/
.form .checkItem input[type="checkbox"]:checked ~ label {
  color: #0F71BA;
}
.form .checkItem input[type="checkbox"] + label {
  position: relative;
  padding-left: 30px;
}
.form .checkItem input[type="checkbox"] + label::before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid #0F71BA;
  */ border-radius: 3px;
  */ content: "";
  cursor: pointer;
  display: block;
  width: 20px;
  height: 20px;
}
.form .checkItem input[type="checkbox"]:checked + label::before {
  background: #0F71BA;
}
.form .checkItem input[type="checkbox"]:checked + label::after {
  content: "";
  display: block;
  width: 14px;
  height: 8px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  position: absolute;
  top: 30%;
  left: 7px;
  -webkit-transform: rotate(-45deg) translateY(-50%);
  transform: rotate(-45deg) translateY(-50%);
}
.form .radioItem {
  display: inline-block;
  margin-bottom: 20px;
}
.form .radioItem:not(:last-child) {
  margin-right: 30px;
}
@media only screen and (min-width: 769px) {
  .form .radioItem:not(:last-child) {
    margin-right: 50px;
    min-width: 155px;
  }
}
.form .radioItem input[type="radio"] {
  display: none;
  line-height: normal;
}
/*---------------------------------------------
formスタイル
---------------------------------------------*/
input:focus {
  background: #E3F0F8;
}
/*---------------------------------------------
検索欄スタイル
---------------------------------------------*/
.searchArea {
  padding: 25px 15px;
  background-color: #fff;
  border-radius: 0 0 10px 10px / 0 0 10px 10px;
}
@media only screen and (min-width: 769px) {
  .searchArea {
    padding: 50px 80px;
  }
}
.searchArea .search_h {
  color: #0F71BA;
  font-size: 1.8rem;
  font-weight: 600;
  padding-left: 13px;
  border-left: 10px solid #0F71BA;
}
/*---------------------------------------------
ログインボタン（コンテンツエリア）
---------------------------------------------*/
.btn_login {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 270px;
  display: block;
  font-size: 1.8rem;
  border: 1px solid #0F71BA;
  padding: 8px 25px;
  border-radius: 5px;
  background-color: #0F71BA;
  -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: .5s;
}
.btn_login a {
  color: #fff;
  transition: .5s;
  display: block;
}
@media only screen and (min-width: 769px) {
  .btn_login:hover {
    background-color: #fff;
    color: #0F71BA;
  }
  .btn_login a:hover {
    background-color: #fff;
    color: #0F71BA;
  }
}
/*---------------------------------------------
    印刷用スタイル
---------------------------------------------*/
@media print {
  /* 幅はコンテンツサイズに合わせて修正 */
  html, body {
    width: 1024px;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
  }
  body, body > .wrap {
    background: none;
  }
  .header {
    display: none;
  }
  .footer {
    display: none;
  }
  .pt_none {
    display: none;
  }
  body {
    position: static;
    zoom: .8;
  }
  .grid {
    display: flex;
    flex-wrap: wrap;
  }
  .gridItem {
    margin: 0 30px 30px 0;
  }
  .gridItem.x1 {
    width: calc(8.33333% - 30px);
  }
  .gridItem.x2 {
    width: calc(16.66666% - 30px);
  }
  .gridItem.x3 {
    width: calc(24.99999% - 30px);
  }
  .gridItem.x4 {
    width: calc(33.33332% - 30px);
  }
  .gridItem.x5 {
    width: calc(41.66665% - 30px);
  }
  .gridItem.x6 {
    width: calc(49.99998% - 30px);
  }
  .gridItem.x7 {
    width: calc(58.33331% - 30px);
  }
  .gridItem.x8 {
    width: calc(66.66664% - 30px);
  }
  .gridItem.x9 {
    width: calc(74.99997% - 30px);
  }
  .gridItem.x10 {
    width: calc(83.3333% - 30px);
  }
  .gridItem.x11 {
    width: calc(91.66663% - 30px);
  }
  .ml_XS_pc, .ml_XS {
    margin-left: 15px;
  }
  .mt_XS_pc, .mt_XS, .editarea p, .editarea ul, .editarea ol {
    margin-top: 10px;
  }
  .mt_SS_pc, .mt_SS {
    margin-top: 20px;
  }
  .mt_S_pc, .mt_S, .list_ul, .list_ol, .editarea h4, .editarea h2 + p, .editarea img, .editarea table {
    margin-top: 30px;
  }
  .mt_M_pc, .mt_M, .editarea * + h2, .editarea h3 {
    margin-top: 40px;
  }
  .mt_L_pc, .mt_L {
    margin-top: 50px;
  }
  .mt_LL_pc, .mt_LL {
    margin-top: 60px;
  }
  .mt_XL_pc, .mt_XL {
    margin-top: 80px;
  }
  .mt_XXL_pc, .mt_XXL {
    margin-top: 100px;
  }
  .mb_XS_pc, .mb_XS {
    margin-bottom: 10px;
  }
  .mb_SS_pc, .mb_SS {
    margin-bottom: 20px;
  }
  .mb_S_pc, .mb_S {
    margin-bottom: 30px;
  }
  .mb_M_pc, .mb_M {
    margin-bottom: 40px;
  }
  .mb_L_pc, .mb_L {
    margin-bottom: 50px;
  }
  .mb_LL_pc, .mb_LL {
    margin-bottom: 60px;
  }
  .mb_XL_pc, .mb_XL {
    margin-bottom: 80px;
  }
  .mb_XXL_pc, .mb_XXL {
    margin-bottom: 100px;
  }
  .pt_XS_pc, .pt_XS {
    padding-top: 10px;
  }
  .pt_SS_pc, .pt_SS {
    padding-top: 20px;
  }
  .pt_S_pc, .pt_S {
    padding-top: 30px;
  }
  .pt_M_pc, .pt_M {
    padding-top: 40px;
  }
  .pt_L_pc, .pt_L {
    padding-top: 50px;
  }
  .pt_LL_pc, .pt_LL {
    padding-top: 60px;
  }
  .pt_XL_pc, .pt_XL {
    padding-top: 80px;
  }
  .pt_XXL_pc, .pt_XXL {
    padding-top: 100px;
  }
  .pb_XS_pc, .pb_XS {
    padding-bottom: 10px;
  }
  .pb_SS_pc, .pb_SS {
    padding-bottom: 20px;
  }
  .pb_S_pc, .pb_S {
    padding-bottom: 30px;
  }
  .pb_M_pc, .pb_M {
    padding-bottom: 40px;
  }
  .pb_L_pc, .pb_L {
    padding-bottom: 50px;
  }
  .pb_LL_pc, .pb_LL {
    padding-bottom: 60px;
  }
  .pb_XL_pc, .pb_XL {
    padding-bottom: 80px;
  }
  .pb_XXL_pc, .pb_XXL {
    padding-bottom: 100px;
  }
}