@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

/* FONTS
font-family: "Jost", sans-serif;
font-family: "Crimson Text", serif;
*/

/* MATERIALS */

a:link{
	color:#00adad;
	text-decoration:none;
}

a:visited{
	color:#00adad;
	text-decoration:none;
}

a:hover{
	color:#00c5c5;
	text-decoration:none;
}

a:active{
	color:#00c5c5;
	text-decoration:none;
}

a.btn_a{
	display:table;
	padding:0.8em 3em 1em 1.5em;
	font-size:25px;
	font-weight:600;
	color:#fff;
	background-color:#eb6d8e;
	border-radius:50px;
	background-image:url("../img/interface/ico_triangle.svg");
	background-repeat:no-repeat;
	background-size:0.6em;
	background-position:right 1.2em center;
}

a.btn_a:hover{
	opacity:0.8;
	transition:0.3s;
}

a.btn_b{
	display:table;
	padding:0.8em 3em 1em 1.5em;
	font-size:18px;
	font-weight:600;
	color:#eb6d8e;
	background-color:#fff;
	border-radius:50px;
	background-image:url("../img/interface/ico_triangle_pink.svg");
	background-repeat:no-repeat;
	background-size:0.6em;
	background-position:right 1.2em center;
}

a.btn_b:hover{
	opacity:0.8;
	transition:0.3s;
}

a.btn_c{
	display:table;
	padding:0.8em 3em 1em 1.5em;
	font-size:17px;
	font-weight:600;
	line-height:1.2;
	color:#fff;
	background-color:#00adad;
	border-radius:50px;
	background-image:url("../img/interface/ico_triangle.svg");
	background-repeat:no-repeat;
	background-size:0.6em;
	background-position:right 1.2em center;
}

a.btn_c:hover{
	opacity:0.8;
	transition:0.3s;
}

@media only screen and (max-width:767px){
	a.btn_a{
		padding:0.8em 2.5em 1em 1.5em;
		font-size:5vw;
		background-position:right 1em center;
	}
	
	a.btn_b{
		padding:0.8em 2.5em 1em 1.5em;
		font-size:4.5vw;
		background-position:right 1em center;
	}
	a.btn_c{
		padding:0.8em 2.5em 1em 1.5em;
		font-size:4.5vw;
		background-position:right 1em center;
	}

}

/* INTERFACE */

html{
	scroll-behavior: smooth;
}

body{
	-webkit-text-size-adjust:100%;
	margin:0;
	padding:0;
	background-color:#fff;
	color:#000;
	font-family:"Noto Sans JP", sans-serif;
}

#home_schedule_area{
	padding:5%;
}

#home_schedule_area>div{
	max-width:1200px;
	margin:0 auto;
	padding:5%;
	border:1px solid #ddd;
	border-radius:10px;
	max-height:600px;
	overflow-y:scroll;
}

calendar { 
  height: 100%; 
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  background-color: #fff; 
}

/* --- 【修正】枠線を完全に除去 --- */
.fc-theme-standard .fc-list,
.fc-theme-standard td, 
.fc-theme-standard th,
.fc-theme-standard .fc-list-day-cushion,
.fc-theme-standard .fc-list-table,
.fc-list {
  border: none !important; /* すべての枠線を消す */
}

/* ヘッダー周り */
.fc .fc-toolbar { justify-content: center; padding-top: 1em; margin-bottom: 0.5em !important; }
.fc-prev-button, .fc-next-button { display: none !important; }
.fc-toolbar-title { font-size: 1.25rem; font-weight: bold; }

/* 日付見出しのデザイン調整 */
.fc-list-day {
  background-color: transparent !important;
}
.fc-list-day-cushion { 
  position: sticky; 
  top: 0; 
  z-index: 5; 
  background-color: #fff !important; 
  padding: 20px 15px 10px 15px !important; /* 上下に余白を持たせる */
}
.fc-list-day-text { 
  font-size: 1.1rem; 
  font-weight: bold; 
  color: #333; 
}

/* 不要な標準要素の削除 */
.fc-list-event-time, .fc-list-event-graphic { display: none !important; }

/* イベントコンテナの調整 */
.custom-event-container { 
  padding: 10px 15px 30px 15px; /* 下側に広めの余白をとって区切りとする */
  display: flex; 
  flex-direction: column; 
  gap: 6px; 
}

.meta-row { display: flex; align-items: center; gap: 10px; }
.event-tag { 
  background-color: #e8f5f4; 
  font-size: 11px; 
  padding: 4px 10px; 
  border-radius: 8px; 
}
.event-time { font-size: 14px; color: #888; }
.event-title-text { font-size: 18px; font-weight: bold; color: #000; line-height: 1.4; }
.event-description-inline { font-size: 14px; color: #444; line-height: 1.6; }

.apply-button { 
  display: inline-block; 
  background-color: #27ada6; 
  color: #fff !important; 
  padding: 10px 28px; 
  border-radius: 30px; 
  font-size: 14px; 
  font-weight: bold; 
  margin-top: 12px; 
  align-self: flex-start;
  transition: opacity 0.2s;
}
.apply-button:hover { opacity: 0.8; }

/* スクロールバー */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-thumb { background: #ddd; border-radius: 3px; }