@charset "utf-8";

/****************************************
■基本スタイル
****************************************/
html {
	font-size: 62.5%;
}
body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .05em;
	-webkit-text-size-adjust: 100%;
	font-size: 1.5rem;
	font-size: 15px;
	color: #000000;
	background-color: #e7f3fd;
}
@media all and (-ms-high-contrast: none){
  body{
    font-family: "ヒラギノ角ゴ ProN W3", "メイリオ", "游ゴシック", YuGothic, Meiryo, sans-serif; /* IE10以上 */
  }
}
p{
	margin:0;
	padding:0;
	font-family: 'Noto Sans JP', sans-serif,;
	font-weight:400;
}
h1 , h2 , h3 , h4 , h5 , h6 {
	margin:0;
	padding:0;
	font-weight:500;
}
ul{
	list-style:none;
	margin:0;
	padding:0;
}
li{
	list-style:none;
	margin:0;
	padding:0;
}
a {
	text-decoration:none;
	color:#000000;
}
a:hover {
	color: #0085c0;
	text-decoration:none;
	transition: all .3s ease-out;
  transition: var(--transit-default, all 0.3s ease-out);
}
input[type=search] ,
input[type=submit] {
	-webkit-appearance: none;
}

/**********************
共通
***********************/

/*******見出し*******/
#main-contents h1 {
	text-align:center;
	font-size: 2.5rem;
	font-size:25px;
	display:block;
	padding:20px 0;
	font-weight:500;
}
#main-contents h2 {
	font-size: 2rem;
	font-size:20px;
	padding:5px 10px;
	border:1px solid #d9d9d9;
	background-color:#f2f2f2;
	border-radius:3px;
	border-left:5px solid #009ad4;
	margin:10px 0 20px 0;
	line-height:1.3em;
	font-weight:500;
}
#main-contents h3 {
	font-size: 1.7rem;
	font-size:17px;
	color:#3b2826;
	text-align:left;
	padding:3px 10px;
	border:1px solid #ffd574;
	background-color: rgba(255,213,116,0.3);
	border-radius:3px;
	line-height:1.3em;
	margin-bottom:10px;
	font-weight:500;
}
#main-contents h4 {
	font-size: 1.5rem;
	font-size:15px;
	border-bottom:1px solid #999;
	padding:0 5px 0 20px;
	margin-bottom:10px;
	line-height:1.3em;
	font-weight:500;
}
#main-contents h4:before {
	content: "\025c6";
	font-size:10px;
	color:#009ad4;
	margin:0 5px 0 -15px;
	vertical-align:middle;
}
#main-contents h5 {
	font-size: 1.5rem;
	font-size:15px;
	display:block;
	padding:5px 0;
	line-height:1.5rem;
	font-weight:700;
}
#main-contents h6 {
	font-size: 1.5rem;
	font-size:15px;
	display:block;
	padding:5px 0;
	line-height:1.5rem;
	color:#009ad4;
	font-weight:700;
}
/*******ボタン*******/
.input_button {
	padding: 15px 40px;
	border: none;
	border-radius: 100px;
	font-size: 1.8rem;
	font-size:18px;
	cursor: pointer;
	color: #ffffff;
}
.enter_button {
	display:inline-block;
	position:relative;
	background-image: linear-gradient(90deg, rgb(241, 112, 157), rgb(244, 162, 193));
	z-index:0;
}
.enter_button:before{
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    transition:0.5s;
    background:linear-gradient(90deg, rgb(241, 112, 157), rgb(244, 162, 193));
	border-radius: 100px;
}
.enter_button:after{
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    z-index:-2;
	top:0;
    left:0;
    background:linear-gradient(90deg, rgb(244, 162, 193), rgb(241, 112, 157));
	border-radius: 100px;
}
.enter_button:hover:before{
  opacity:0;
}
a.enter_button:hover{
	color: #ffffff;
}
.clear_button {
	background-color: #b2b2b2;
}
.clear_button:hover {
	background-color: #999999;
	transition: all .3s ease-out;
  transition: var(--transit-default, all 0.3s ease-out);
}
.link_button {
	display:inline-block;
	position:relative;
	background-image: linear-gradient(90deg, #99cfee, #0085c0);
	z-index:0;
}
.link_button:before{
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    transition:0.5s;
    background:linear-gradient(90deg, #99cfee, #0085c0);
	border-radius: 100px;
}
.link_button:after{
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    z-index:-2;
	top:0;
    left:0;
    background:linear-gradient(90deg, #0085c0, #99cfee);
	border-radius: 100px;
}
.link_button:hover:before{
  opacity:0;
}
a.link_button:hover{
	color: #ffffff;
}
#linkbutton-area {
  padding: 50px 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
/*写真比率固定*/
.aspect-out {
	position: relative;
	width: 100%;
	overflow:hidden;
	}
.aspect-out:before {
	content:"";
	display: block;
	padding-top: 66%;/*3:2比率*/
	}
.aspect-in {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	width: 100%;
}
/* =================================== */
/*　ヘッダーナビ  */
/* =================================== */
/*------------PC-----------*/
@media screen and (min-width: 900px) {
#logo img{
	max-width:350px;
	padding: 0 20px;
}
header {
	background-color:#ffffff;
}
nav{
	display: -webkit-box;
display: -ms-flexbox;
display: flex;
	height: 120px;
	background-color:#ffffff;
	max-width:1200px;
	margin:0 auto;
}
.Toggle{
	display: none;
}
.drawer{
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	height: 120px;
	padding: 0 1em;
}
.menu{
	width: 100%;
	font-size:16px;
	background-color: transparent;
	margin:0 10px;
	-webkit-transform: translateX(0);
	transform: translateX(0);

}
.menu ul{
	height: 120px;
	display: -webkit-box;
display: -ms-flexbox;
display: flex;
	-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
	-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
	-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

/*hover*/
.header-navmenu {
  display: inline-block;
  padding-bottom: 8px;
  position: relative;
}
/*.header-navmenu::after {
  bottom: 0;
  content: '';
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
transition: 0.3s;
  width: 0;
	background-color: #0085c0;
}

.header-navmenu:hover::after {
  width: 100%;
}*/
}
@media screen and (min-width: 1000px) {
#topimage .menu ul li a{
	margin: 0 5px;
	border-bottom: none;
	background-color:#ffffff;
	padding: 10px 20px;
	border-radius: 100px;
	white-space: nowrap;
}
#topimage .menu ul li a:hover{
	background-color:#e7f3fd;


}
	}
@media screen and (max-width: 1200px) {
.menu ul li a{
	padding: 0;
	margin:0 0.5em;
	font-size:14px;
}
#logo img {
	max-width:250px;
	padding:0;
}
}
/*------------SP-----------*/
@media screen and (max-width: 899px) {

nav{
	width: 100%;
	height: 70px;
	position: relative;
	background: #ffffff;


}
.drawer{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: relative;
	height: 70px;
	padding: 0 1em;


}
/*ナビゲーション部分*/
.menu ul li a {
	display:block;
	padding: 20px;
	border-bottom: 1px solid #CCC;
	text-decoration:none;
	font-size:17px;
}
.menu ul li a:hover{
	background-color:rgba(0,133,192,0.1);
	color:#0085c0;
}
.menu{
	text-align:left;
	background-color:rgba(255,255,255,0.9);
	right: -100%;
	width: 100%;
	height: 100vh;
	transition: right 0.5s;
	z-index:1;
	position: fixed;
}
/*OPEN時の動き*/
.menu.open {
	right: 0;

}
/*トグルボタンのスタイルを指定*/
.Toggle {
    display: block;
    position :absolute;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 3;
  right:15px;
}
.Toggle span {
    display: block;
    position: absolute;
    width: 40px;
    border-bottom: solid 3px #0085c0;
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.Toggle span:nth-child(1) {
    top:5px;
}
 .Toggle span:nth-child(2) {
    top: 18px;
}
 .Toggle span:nth-child(3) {
    top: 32px;
}
.Toggle.active span:nth-child(1) {
    top: 18px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
}
/*検索ボタン*/
@media screen and (min-width: 900px) {

.menu ul li a.searchmenu {
	display:block;
	position:relative;
	background-image: linear-gradient(90deg, #99cfee, #0085c0);
	z-index:0;
	border-radius: 100px;
	color: #ffffff;
	padding: 10px 30px;
}
.menu ul li a.searchmenu:before{
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    transition:0.5s;
    background:linear-gradient(90deg, #99cfee, #0085c0);
	border-radius: 100px;
}
.menu ul li a.searchmenu:after{
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    z-index:-2;
	top:0;
    left:0;
    background:linear-gradient(90deg, #0085c0, #99cfee);
	border-radius: 100px;
}
.menu ul li a.searchmenu:hover:before{
  opacity:0;
}

i.search-icon:before {
	content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
  width: 17px;
  height: 17px;
  background: url("../img/icon-serch.png") no-repeat;
	background-size: contain;
	}
	}
/**********************
トップページ
***********************/
#indexmain-contents {
	overflow:hidden;
	max-width:100%;
	position: relative;
}
#indexmain-contents .toptitle {
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	width: 400px;
}
#indexmain-contents img {
	width: 100%;
}
@media screen and (max-width:1200px){
#indexmain-contents .toptitle {
	width: 350px;
}
}
@media screen and (max-width:800px){
#indexmain-contents .toptitle {
	width: 200px;
}
}

#index-content h2 {
	text-align: center;
	color: #0085c0;
	padding: 60px 0 0 0;
	margin: 30px 0;
	font-size: 30px;
}
#topimage {
	width: 100%;
}
#topimage .toptitle {
	max-width:1000px;
	margin:0 auto;
	height:150px;
	display:flex;
	align-items: center;
}
#topimage .toptitle h1 {
	padding:0 20px;
}
#topimage .toptitle h1 img {
	width:400px;
}
@media screen and (max-width:900px){
#index-content h2 {
	margin: 20px 0;
	font-size: 25px;
}
}
/**************************/
/*********求人検索**********/
.search-area {
	background-color: #ffffff;
	border-radius: 30px;
	margin: 30px 30px 100px 30px;
}
.search-wrap {
	max-width: 1120px;
	margin: 0 auto;
	padding: 30px 50px;
}
h2.search-title {
	position: relative;
}
h2.search-title:before {
	content: "";
    position: absolute;
    top: 0;
    left: 50%;
	transform: translateX(-50%);
    width: 50px;
	height: 50px;
    background-image: url("../img/kensaku-icon.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
@media screen and (max-width:900px){
.search-wrap {
	padding: 20px;
}
}

/*********タブ**********/
.tab-2 {
    display: flex;
    flex-wrap: wrap;
    gap: 0 5px;
    max-width: 100%;
	align-items:stretch;
}

.tab-2 > label {
    flex: 1 1;
    order: -1;
    min-width: 50px;
    padding: 5px;
	line-height: 1.2em;
    background-color: #99cfee;
    color: #fff;
    font-size: 13px;
    text-align: center;
    cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tab-2 > label:hover {
    background-color: #0085c0;
}

.tab-2 input {
    display: none;
}

.tab-2 > div {
    display: none;
    width: 100%;
    padding: 10px 20px 20px 20px;
    background-color: #fff;
	border-style: solid;
	border-width: 5px 1px 1px 1px;
	border-color: #0085c0 #ccc #ccc #CCC;
}

.tab-2 label:has(:checked) {
    opacity: 1;
	background-color: #0085c0;
}

.tab-2 label:has(:checked) + div {
    display: block;
}
@media screen and (max-width:900px){
.tab-2 > label {
	margin-bottom: 5px;
	min-width: 25%;
	min-height: 2em;
}
}
/*********検索タグ**********/
ul.searchtag-list li{
	display: inline-block;
	margin: 0 10px 10px 0;
}
ul.searchtag-list li label {
    padding: 5px 20px;
    border-radius: 100px;
    background-color: #ededed;
	border: 1px solid #dbdbdb;
    font-size: 15px;
    text-align: center;
    cursor: pointer;
	display: block;
}
ul.searchtag-list li label:hover {
    background-color: #f4a2c1;
	border: 1px solid #f1709d;
}
ul.searchtag-list label:has(:checked) {
    background-color: #f4a2c1;
	border: 1px solid #f1709d;
}
#search .tag-title {
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	align-items: center;
	padding: 0 10px 20px 10px;
}
#search .tag-title a {
	font-size: 15px;
}
@media screen and (max-width:900px){
ul.searchtag-list li label {
    padding: 5px 20px;
    font-size: 13px;
    text-align: left;
}
}

/*********検索ボタンエリア**********/
#search .searchbutton {
	padding-bottom: 30px;
}
#search .searchbutton ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
#search .searchbutton ul li {
	padding: 10px 20px;
}
/*********フリーワード検索**********/
#search .freesearch-wrap {
	padding: 0 20px 50px 20px;
}
#search .free-search {
	max-width: 600px;
	margin: 0 auto;
	padding: 30px;
	background-color: #f5f5f5;
	text-align: center;
}
#search .buttonarea {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 20px;
}
#search .inputtextbox {
	font-size: 18px;
  width: 20em;
  padding: 3px 7px;
  border-radius: 5px;
  border: 1px solid #ccc;
	margin-right: 20px;
}

 #search i.search-icon::before {
    content: "";
    display: inline-block;
    vertical-align: bottom;
    margin-right: 10px;
    width: 22px;
    height: 22px;
    background: url("../img/icon-serch.png") no-repeat;
    background-size: auto;
    background-size: contain;
  }
@media screen and (max-width:800px){
#search .inputtextbox {
	font-size: 18px;
  width: 100%;
  padding: 10px 10px;
	margin-right:0;
	margin-bottom: 20px;
}
}
/**********************************/
/*********イベントカレンダー**********/
@media screen and (max-width: 900px) {
	#calendar-section {
		display: none; /*スマホカレンダー非表示*/
	}
}
.calender-area {
	background-color: #ffffff;
	border-radius: 100px 0 100px 0;
	padding: 50px 0;
}
.calender-wrap {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 20px;
}
.event-wrap {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}
h2.calender-title {
	position: relative;
}
h2.calender-title:before {
	content: "";
    position: absolute;
    top: 0;
    left: 50%;
	transform: translateX(-50%);
    width: 50px;
	height: 50px;
    background-image: url("../img/calender-icon.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
#event {
	padding-top: 50px;
}
/******************************/
/*********求人イベントリスト**********/
@media screen and (min-width: 900px) {
#newevent {
    display: none; /*スマホイベントリスト非表示*/
}
}
#newevent h3 {
	text-align: center;
	font-size: 25px;
	color:  #0085c0;
	padding: 60px 0 30px 0;
	position: relative;
}
h3.calender-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 50px;
  background-image: url("../img/calender-icon.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#newevent .event-list li {
	padding: 10px;
	border-bottom: 1px solid #cccccc;
	font-size: 13px;
}
/******************************/
/*********開催中イベント**********/
#event h3 {
	text-align: center;
	font-size: 25px;
	color:  #0085c0;
	padding-bottom: 30px;
}
#event .event-list li {
	padding: 10px;
	border-bottom: 1px solid #cccccc;
}
@media screen and (max-width: 900px) {
#event .event-list li {
	font-size: 13px;
}
}
/*********カレンダー上書き用**********/
#event-modal h3 {
	padding: 30px 0 10px 0;
}
#event-modal .modal-content {
	padding: 30px;
}
#event-modal .modal-text {
	font-size: 13px;
}
#event-modal .modal-button {
	text-align: center;
	padding-top: 30px;
}
/**************************/
/*********新着求人**********/
.newrecruit-wrap {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 30px;
}
h2.newrecruit-title {
	position: relative;
}
h2.newrecruit-title:before {
	content: "";
    position: absolute;
    top: 0;
    left: 50%;
	transform: translateX(-50%);
    width: 50px;
	height: 50px;
    background-image: url("../img/event-icon.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
#sliderarea img{
	max-width: 100%;
}
#sliderarea .slidebox {
}
#sliderarea .slidecont a {
	padding: 20px;
	display: block;
}
#sliderarea .slidecont a:hover {
	opacity: 0.8;
}
#sliderarea .slick-prev::before,
#sliderarea .slick-next::before {
	color: #000000;
	font-size: 20px;
}
#sliderarea ul.tagarea {
	padding: 10px 0;
}
#sliderarea ul.tagarea li {
	display: inline-block;
	padding: 5px 5px 0 0;
}
#sliderarea .rec-company {
	color: #0085c0;
	padding-top: 5px;
}
#sliderarea span.tag {
	display: block;
	color: #f1709d;
	border: 1px solid #f1709d;
	border-radius: 5px;
	padding: 1px 5px;
	font-size: 12px;
}
#sliderarea .slick-track {
  display: flex;
}
#sliderarea .slick-slide {
  height: auto !important;
	background-color: #ffffff;
	border-radius: 10px;
	margin: 0 10px;
}

/**********************
フッター
***********************/
#footer {
	clear:both;
	background-image: linear-gradient(90deg, #99cfee, #0085c0);
	padding-bottom: 10px;
	margin-top: 100px;
}

#footer-wrap{
	background-color: #ffffff;
}
#footer-contents{
	text-align:center;
	max-width:960px;
	margin: 0 auto;
	padding:30px 0;
}
.footer-menu {
	text-align:center;
	padding:10px 0;
}
.footer-menu li {
	display:inline-block;
	padding:0 15px;
}
.footer-menu li:first-child {
	border-left:none;
}
.address {
	text-align:center;
	padding:5px 0;
}
.address li {
	display:inline-block;
	padding:0 10px;
	font-size: 14px;
}
.address li img {
	vertical-align:bottom;
	width:150px;
	border:none;
}
#footer .footer-contact {
	display:block;
	padding:1px 10px;
	color:#209bd9;
	border:1px solid #209bd9;
	border-radius:3px;
}
#footer .footer-contact:hover {
	background-color:rgba(32,155,217,0.1);
	text-decoration:none;
}
.copyright {
	padding:10px;
	font-size: 1.1rem;
	font-size: 11px;
	color:#949494;
	line-height:1em;
}

#page-top {
    position: fixed;
    bottom: 25px;
    right: 10px;
	font-size: 1.5rem;
    font-size: 15px;
}
#page-top a {
    background: #9DBC55;
    text-decoration: none;
    color: #fff;
    padding: 10px 20px;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
    text-decoration: none;
    opacity: 0.7;
}
/*ページトップ*/
#topscroll{
    position: relative;
    z-index: 100;
    margin: 0;
    padding: 0;
}
#topscroll-btn{
    display: block;
    position: fixed;
    z-index: 9999;
    bottom: -250px;
    right: 10px;
    width: 50px;
    height: 50px;
    padding: 0;
    text-align: center;
    text-decoration: none;
    transition: 1s;
        -webkit-transition: 1s;
	padding:8px;
	border-radius:5px;
}
#topscroll:hover{
	opacity: 0.7;
}



.arrow_r_b {
  position: relative;
  display: block;
  padding-right: 35px;
}
.arrow_r_b:before {
  content: '';
  width: 18px;
  height: 18px;
  background: #e7f3fd;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto;
}
.arrow_r_b:after {
  content: '';
  width: 4px;
  height: 4px;
  border: 0;
  border-top: solid 1px #0085c0;
  border-right: solid 1px #0085c0;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 17px;
  bottom: 0;
  margin: auto;
}

/**********************
イベントカレンダー
***********************/
/* 土日の背景色を完全に無効化 */
.fc .fc-daygrid-day.fc-day-sat,
.fc .fc-daygrid-day.fc-day-sun {
  background-color: transparent !important;
}

.fc .fc-daygrid-day.fc-day-sat::before,
.fc .fc-daygrid-day.fc-day-sun::before {
  background: none !important;
}

/* 本日の背景色 */
.fc-day-today {
  background-color: #fefce8 !important; /* ごく薄い黄色 */
}

/* 日曜日（赤） */
.fc .fc-col-header-cell.fc-day-sun .fc-col-header-cell-cushion {
  color: #f1709d !important;
}

/* 土曜日（青） */
.fc .fc-col-header-cell.fc-day-sat .fc-col-header-cell-cushion {
  color: #0085c0 !important;
}

/* 商工会イベント */
.event-emphasis {
  background-color: #f1709d !important;
  border-left: none;
  color: #ffffff;
}
/*
.event-emphasis .fc-daygrid-event-dot {
  border-color: #b38cff !important;
}
.event-emphasis.event-multiday .fc-daygrid-event-dot {
  border-color: #7c3aed;
}
*/
.event-emphasis:hover {
  background-color: #ede9fe !important;
	cursor: pointer;
}
.event-emphasis.event-multiday {
  background-color: #f1709d !important; /* ピンク */
  color: #ffffff;
  border-left: none;
}

/* 通常イベント */
.event-normal {
  background-color: #e0f2fe !important;
  border-left: 4px solid #0284c7;
  color: #0c4a6e;
}
.event-normal .fc-daygrid-event-dot {
  border-color: #7db5ff !important;
}
.event-normal:hover {
  background-color: #bae6fd !important;
	cursor: pointer;
}
.event-normal.event-multiday {
  background-color: #0085c0 !important; /* 少し濃い青 */
  color: #ffffff;
  border-left: none;
}
.event-normal.event-multiday .fc-daygrid-event-dot {
  border-color: #2563eb;
}
/* ★ 白文字を防ぐ決定打 */
.event-multiday .fc-event-main,
.event-multiday .fc-event-title {
  color: inherit !important;
}
/* 複数日イベント：枠線なし */
.fc-daygrid-block-event.event-emphasis,
.fc-daygrid-block-event.event-normal {
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
}

/* イベントタイトル共通 */
.fc-event-title {
  font-weight: 700;          /* 太字 */
  letter-spacing: 0.02em;    /* わずかに読みやすく */
}
.fc-daygrid-block-event .fc-event-title {
  font-weight: 700;
}
.fc-event-title {
  text-shadow: 0 0 0 rgba(0,0,0,0.3); /* にじみ防止 */
}
/* 商工会イベント（紫）タイトル */
.event-emphasis .fc-event-title {
  color: #4c1d95;            /* 濃い紫 */
}

/* 通常イベント（青）タイトル */
.event-normal .fc-event-title {
  color: #0c4a6e;            /* 濃い青 */
}
/* 1日だけ開催の表示消す */
.fc-daygrid-event-dot {
	display: none;
}
#calendar-section .fc-daygrid-dot-event {
	padding: 2px 2px !important;
}