@charset "utf-8";
/*!
Theme Name: YS_KYOTO
Version: 0.0.1
*/

/* Don't overwrite this file. Compile "/assets/main.scss" to "/assets/dist/main.css" */
/* From http://codex.wordpress.org/CSS */

/* カスタムカラー */
/*        KITA #03BD93 #DAF6EF #00D3A3 #D6E8E4  BUTTON #1C906E */
/*   YAMASHINA #E0647D #FBE8EC #F47991 #F5DCE1  BUTTON #AC3E53 */
/*    SHIMOGYO #02AFAE #DAF3F2 #2CD0CF #DCFAF9  BUTTON #038585 */
/*      MINAMI #964B7D #F0DCEB #B25894 #FEEBF8  BUTTON #633252 */
/* HIGASHIYAMA #5A7800 #E7EBDB #6B9001 #F5F5DC  BUTTON #425700 */
/*     FUSHIMI #027DAE #DAECF3 #0095BF #CDF3FF  BUTTON #095C7D */
/*        CHUO #E19600 #FBF0DA #ECA70F #F5E4C1  BUTTON #A66F00 */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@300;400;500;700&display=swap');
.plus-m { font-family: "M PLUS Rounded 1c", sans-serif; font-style: normal; }
.plus-k { font-family: "M PLUS 1p", sans-serif; font-style: normal; }

html { overflow-x: hidden; }
body { -webkit-text-size-adjust: 100%; font-family: "M PLUS Rounded 1c", sans-serif; font-weight: 400; font-style: normal; overflow-x: hidden; color: #333; }
img {	user-drag: none; -webkit-user-drag: none; -moz-user-select: none; }
.container { max-width: 1320px!important; }
#single .container,#page .container { max-width: 1200px!important; }


/* 共通パーツ */
.topBtn {
		opacity: 0;
		position: fixed;
		bottom: 0;
		left: 0;
		background: #E0647D;
		color: #fff;
		font-weight: 500;
		padding: 2.0rem;
		z-index: 99;
}
.font300 { font-weight: 300; }
.font400 { font-weight: 400; }
.font500 { font-weight: 500; }
.font700 { font-weight: 700; }
.fontS { font-size: 75% !important; }
.fontB { font-family: "M PLUS 1p", sans-serif; font-weight: 500; font-style: normal; }
.fs-6 { font-size: 0.8rem!important; }
.bold { font-weight: 700!important; }
.icon i { margin-right: 4px; }
.w100 { width: 100%; }
.w290 { min-width: 290px; }
.h100 { height: 100%; }
.no-wrap { white-space: nowrap; }
.no-post { padding: 20% 0; }
.download-bt a { display: inline-block; color: #fff; background: #dc143c; padding:1.0rem 3.0rem; border-radius: 6px; }
.download-bt a:hover { background: #db8495; transition: 0.8s; color: #dc143c; }
.gyou-1 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
.gyou-2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.gyou-3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.bg-00 { background: #fff; }
.bg-01 { background: #f5f5f5; }
.bg-02 { background: #2e8b57; }
.bg-03 { background: #1a80af; }
.bg-04 { background: #dce4ee; }
.bg-05 { background: #bee0ce; }
.bg-06 { background: #bccf54; }
.bg-07 { background: #1e90ff; }
.bg-08 { background: #000; }
.bg-09 { background: #fff5f5; }
.mt-8 { margin-top:3.0rem!important; }
.text-wrap-01 { font-size: 0.9rem; padding: 0.3rem; }
.text-vwrap { line-height: 2.0rem; }
.text-space { letter-spacing: 0.5rem; }
.red { color: #dc143c; }
.green { color: #5A7800; }
.lgreen { color: #02AFAE; }
.ygreen { color: #E0647D; }
.white { color: #fff; }
.blue { color: #027DAE; }
.black { color: #000; }
.orange { color: #FF8C00; }
.purple { color: #964B7D; }
.pink { color: #E0647D; }
.img100 { width:100%; height: auto; }
.over-img { overflow: hidden; }
.over-img img { height: 100%; width: 100%; object-fit: cover; }
.v-center { display:flex; align-items:center; }
.vh-center { display:flex; align-items:center; justify-content:center; }
.v-top { vertical-align: top; }
.v-bottom { vertical-align: bottom; }
.full-width { margin: 0 calc(50% - 50vw); }
.zoom-over:hover { transform:scale(1.1,1.1); transition:1s all; }
.shadow { box-shadow: 0 .15rem 0.4rem rgba(0, 0, 0, .2) !important; }
.nowrap { white-space: nowrap; }
.not-found { padding: 22% 0; }
.not-found p:first-of-type { font-size: 2.1rem; }
.not-found a { background: #0d6efd; color: #fff; padding: 10px 40px; border-radius: 10px; }
a.pdf:before { content: '\f1c1'; font-family: 'Font Awesome 5 Free'; font-weight: 900; padding-right: 6px; } 

.ys-color-a { background: #8BB519; }
.top-color-a { background: #AFD202; }
.kita-color-a { background: #03BD93; }
.yama-color-a { background: #E0647D; }
.shimo-color-a { background: #02AFAE; }
.minami-color-a { background: #964B7D; }
.higashi-color-a { background: #5A7800; }
.fushimi-color-a { background: #027DAE; }
.chuo-color-a { background: #E19600; }


#single .container h1,#page .container h1 { color: #526658; }
#single .container h2,#page .container h2 {
  border: 3px solid #E0647D;
  background-color: #fff;
  padding: 0.35rem 0.8rem;
  position: relative;
  color:#E0647D;
  margin:2.5rem 0;
}
#single .container h2:before,#page .container h2:before  {
  content: '';
  width: 100%;
  height: 100%;
  background-image: radial-gradient(#E0647D 8%, transparent 16%), radial-gradient(#E0647D 8%, transparent 16%);
  background-position: 0 0, 7px 7px;
  background-size: 12px 12px;
  position: absolute;
  top: -10px;
  left: 10px;
  z-index: -1;
}
#single .container h3,#page .container h3 { 
  font-weight: bold;
  padding: 0.5rem 0.8rem;
  border: 3px solid #E0647D;
  border-radius: 10px;
  background-image: linear-gradient(45deg, #fff 0 10%, #E0647D 10%);
  -webkit-background-clip: text;
  color: transparent;
  position: relative;
  margin:2.5rem 0 2.0rem 0;
}
#single .container h3:before,#page .container h3:before { 
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, #E0647D 10%, #fff 0 10%);
  content: '';
  z-index: -1;
}
#single .container h4,#page .container h4 {
  position: relative;
  padding: 0.8rem 1.0rem;
  color: #fff;
  border-radius: 10px;
  background: #E0647D;
  margin:2.0rem 0 1.5rem 0;
}
#single .container h4:before,#page .container h4:before {
position: absolute;
  bottom: -9px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #E0647D transparent transparent transparent;
}
#single .container h5,#page .container h5 { color:#E0647D; font-size:1.4rem; margin-bottom:0.7rem; }
#single .container h5:before,#page .container h5:before { content: '\f058'; font-family: 'Font Awesome 5 Free'; font-weight: 900; padding-right: 8px; }
#single .container h6,#page .container h6 { color: #fff; background: #E0647D; display: inline-block; padding: 0.5rem 1.0rem; border-radius: 8px; margin-bottom: 0.8rem; }
#single .container hr,#page .container hr { height: 13px; background-repeat: repeat-x; background-image: url(./image/hr_wave.png); border: 0px; margin: 2.0rem 0; }
#single .container table,#page .container table { margin: 1.0rem 0; }
#single .container th,#page .container th { border: 1px solid #333; padding: 0.5rem; }
#single .container td,#page .container td { border: 1px solid #333; padding: 0.5rem; }


/* ヘッダーナビ */
.navbar { position: absolute; width: 100%; top: 0; }
.navbar-bt-top,.navbar-bt { position: fixed; right:30px; top:40px; z-index:99; }
.navbar-toggler {
		position: relative;
		width: 75px;
		height: 75px;
		background: #E0647D;
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 4px solid #fff;
}
.navbar-toggler:focus { outline: none; }
.navbar-toggler .navbar-toggler-icon {
		width: 40px;
		background-image: url('data:image/svg+xml;charset=UTF8,<svg viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"><path stroke="rgba(255, 255, 255, 1)" stroke-width="2" stroke-linecap="round" d="M4 7h22M4 15h22M4 23h22"/></svg>');
}
.navbar-toggler.active .navbar-toggler-icon {
  background-image: url('data:image/svg+xml;charset=UTF8,<svg viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"><path stroke="rgba(255, 255, 255, 1)" stroke-width="2" stroke-linecap="round" d="M7 7l16 16M7 23L23 7"/></svg>');
}
.navbar-toggler-icon { height: 2.0rem; }
.offcanvas-header .btn-close { font-size: 1.8rem; color:#fff !important; margin-top:20px; }
.offcanvas { background: #E0647D; }
.offcanvas-body li { color: #fff; font-size: 1.2rem; padding: 0.5rem 0; border-bottom: 1px solid #fff; }
.offcanvas-body li a { color: #fff; }

.chuo { border:2px solid #E19600; background: #E19600; }
.chuo:hover { background: #fff; color: #E19600; transition: 0.8s; }
.kita { border:2px solid #1C906E; background: #1C906E; }
.kita:hover { background: #fff; color: #85B32B; transition: 0.8s; }
.higashiyama { border:2px solid #5A7800; background: #5A7800; }
.higashiyama:hover { background: #fff; color: #5A7800; transition: 0.8s; }
.yamashina { border:2px solid #E0647D; background: #E0647D; }
.yamashina:hover { background: #fff; color: #E0647D; transition: 0.8s; }
.shimogyo { border:2px solid #02AFAE; background: #02AFAE; }
.shimogyo:hover { background: #fff; color: #02AFAE; transition: 0.8s; }
.minami { border:2px solid #964B7D; background: #964B7D; }
.minami:hover { background: #fff; color:#964B7D; transition: 0.8s; }
.fushimi { border:2px solid #027DAE; background: #027DAE; }
.fushimi:hover { background: #fff; color: #027DAE; transition: 0.8s; }
.sodan { border:2px solid #728D7B; background: #728D7B; }
.sodan:hover { background: #fff; color: #728D7B; transition: 0.8s; }
.yskyoto { border:2px solid #7da315; background: #7da315; }
.yskyoto:hover { background: #fff; color: #7da315; transition: 0.8s; }

.extra-link { padding-left: 15px; }
.extra-link-head p { padding: 0.6rem 0.8rem; margin-top: 15px; }
.extra-link-wrap { padding-left: 15px; }
.extra-link-wrap a { display: block; padding: 0.4rem 0.8rem; color: #fff; }


/* ハンバーガーメニュー */
.drawer_hidden { display: none; }
.drawer_open { position: absolute; left: 0px; top: 0; width: 70px; height: 70px; }
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 2px;
  width: 50px;
  border-radius: 4px;
  background: #fff;
  transition: 0.5s;
  position: absolute;
  top: 35px;
  right: 8px;
}


/* ページネーション */
.pagination { display: flex; justify-content: center; margin-top:60px; }
.page-numbers { font-size: 1.3rem; }
a.page-numbers,.page-numbers.current {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background-color: #AFD202;
		color: #fff;
		text-align: center;
		font-size: 18px;
		font-weight: bold;
}
.page-numbers.current { background: #d8d8d8; color: #333; }


/* カルーセル　*/
.front-head-wrap .splide__arrow { height: 44px; width: 44px; }
.pickup-contents-wrap .splide__arrow { margin-top: -3.8rem; }
.splide__slide { position: relative; overflow: hidden; border-radius: 20px; }
.splide__arrow { background: #fff !important; opacity:1 !important; }
.splide__slide img { width:280px; height: 280px; border-radius: 6px; }
.splide__slide .report-list-title { height: 3.0rem; bottom: 6px; border-radius: 0 0 6px 6px; }
.splide__slide .report-category { border-radius: 6px 0 0 0; }
.splide__pagination { bottom: 15px; }


/* パンくずリスト */
.breadcrumbs-wrap { font-size: 94%; }
.breadcrumbs-home { margin-right: 0.6rem; }
ul.breadcrumbs { display: flex; flex-wrap: wrap; list-style: none; padding:0; }
ul.breadcrumbs li:not(:last-child)::after { content: "＞"; margin: 0 .6em; color: #777; }


/* ポストナビゲーション */
.post-navigation .title { font-size: 1.0rem; }
.post-navigation .previous-post,.post-navigation .next-post { background: #E0647D; color:#fff; border: none; }
.post-navigation .previous-post:hover,.post-navigation .next-post:hover{ opacity: 0.5; }

/* エフェクトリンクボタン TYPE-A */
a.bt-a { 
		display: inline-block;
		position: relative;
		text-align: center;
		font-weight: bold;
		font-size: 1.25rem;
		color: #fff;
		background: #E0647D;
		padding: 20px 40px;
		border-radius: 100px;
		box-shadow: 0px 8px 0px 0px #AC3E53;
		text-decoration: none;
		border: 1px solid #E0647D;
}

a.bt-a:hover {
  color: #E0647D;
  background: #fff;
  transition: 0.25s;
}


/* エフェクトリンクボタン TYPE-B */
a.bt-b { 
		display: inline-block;
		position: relative;
		text-align: center;
		font-weight: bold;
		font-size: 1.25rem;
		color: #E0647D;
		background: #fff;
		padding: 20px 40px;
		border-radius: 100px;
		box-shadow: 0px 8px 0px 0px #AC3E53;
		text-decoration: none;
		border: 1px solid #AC3E53;
}

a.bt-b:hover {
  color: #fff;
  background: #E0647D;
  transition: 0.25s;
}


/* frontpage header section */
.front-head-wrap {
		position: relative;
		background: #E0647D;
		padding-top: 50px;
		height: 800px;
}
.front-head-wrap .container { position: relative; }
.front-head-inner { background: #E0647D; height:50px; bottom: 0; }
.scroll {
		position: absolute;
		bottom: -25px;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
}
.header-logo-top,.header-logo {
		background: #E0647D;
		padding: 20px;
		border-bottom-left-radius: 10px;
		border-bottom-right-radius: 10px;
		position: absolute;
		top: 30px;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		z-index:99;
}
.header-logo-top {
		top: 30px;
}
img.header-logo { width: 220px; }

.slide-over-wrap {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		background: rgba(0, 0, 0, 0.2);
		width: 100%;
		height: 100%;
		padding: 2.0rem 0;
		border-radius: 20px;
}
.slide-over1 {
		font-size: 2.5rem;
		text-align: center;
		font-weight: 700;
		color: #fff;
		letter-spacing: 0.4rem;
}
.slide-over2 {
		font-size: 2.0rem;
		font-weight: 500;
		text-align: center;
		color: #fff;
		border-top: 1px solid #fff;
		border-bottom: 1px solid #fff;
}
.week-link {
	position: absolute;
	bottom:2%;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	text-align: center;
	font-weight: bold;
	font-size: 1.25rem;
	color: #fff;
	background: #E0647D;
	padding: 14px 40px;
	border-radius: 100px;
	box-shadow: 0px 8px 0px 0px #AC3E53;
	text-decoration: none;
	border: 1px solid #E0647D;
}
.week-link:hover {
  color: #E0647D;
  background: #fff;
  transition: 0.25s;
}
.week-link:before { content: "\f073"; font-family: "Font Awesome 6 Free"; padding-right: 4px; }


/* single header section */
.single-head-wrap {
		position: relative;
		background: #F5DCE1;
		padding-top: 50px;
		min-height: 400px;
}
.single-head-wrap .container { position: relative; }
.single-head-title-wrap {
		width:100%;
		height: 350px;
		background-image: url(./image/single_head_bg.png);
		background-repeat: no-repeat;
		background-position: left top;
}
.single-head-title { bottom: 80px; width: 100%; padding-top: 200px; padding-left: 150px; }
.single-head-title p { font-weight: bold; font-size: 1.1rem; color: #E0647D; }
.center-line {
		background-image:linear-gradient( transparent 49%, #000 50%, #000 50%, transparent 52%);
		background-position-y: -5px;
}
.single-head-title h2 { display: inline-block; background: #F5DCE1; padding-right: 1.0rem; }
.meta-block { background: #E0647D; padding: 6px 12px; color: #fff; display: inline-block; border-radius: 6px; font-size:1.0rem; }
.meta-date { margin-left: 4px; font-size:1.0rem; }
.meta-on { background: #ff0000; padding: 6px 12px; color: #fff; display: inline-block; border-radius: 6px; font-size:1.0rem; }
.meta-off { background: #c0c0c0; padding: 6px 12px; color: #fff; display: inline-block; border-radius: 6px; font-size:1.0rem; }
.meta-report { background: #97a315; padding: 6px 12px; color: #fff; display: inline-block; border-radius: 6px; font-size:1.0rem; }

.link-block li,.dl-block li { line-height: 1.7rem; }
.link-block li:hover,.dl-block li:hover { margin-left: 10px; transition: 0.85s; }
.link-block i { margin-left: 8px; }
.link-img img:hover { opacity:0.6; transition:0.8s all; }
.dl-block span { margin-left: 8px; background: red; color: #fff; padding: 0 12px; border-radius: 20px; font-size: 0.9rem; vertical-align: top; }
.dl-block i { margin-right: 6px; }
.sq-img { overflow: hidden; aspect-ratio:1/1; height: 100%; }
.sq-img img { object-fit: cover; height:100%; object-position: center; }

.relation-link { height: 100%; background: rgba(175,210,2,0.3); padding: 10px; border-radius: 10px; border: 1px solid #fff; }
.relation-thumb { max-width: 70px; }
.relation-thumb img { width:100%;  height:auto; aspect-ratio: 1 / 1; border-radius: 8px; }
.relation-body { line-height: 1.2rem; margin-left: 10px; height: 100%; color: #728D7B; }
.relation-date { font-size: 0.8rem; color: #728D7B; }
.relation-title { font-size: 1.0rem; }

.fontsize-btn { position: absolute; display: flex; align-items: center; justify-content: end; bottom: 15px; right: 15px; }
.fontsize-btn .small,.fontsize-btn .medium,.fontsize-btn .large { width: 40px; padding: 6px; border-radius: 4px; margin-left: 0.3rem; }
.room-link { font-size: 0; }
.room-link a { font-size: 1.0rem; display:inline-block; background: #f5f5f5; padding: 10px; width: calc( 100% / 5 - 4px );  text-align: center; color:#333; margin: 0 2px 4px 2px;}
.room-link a:hover { background: #E0647D; color: #fff; }
.reserve-frlink:before { content: "\f073"; font-family: "Font Awesome 6 Free"; padding-bottom: 4px; }
.reserve-frlink {
		z-index: 10;
		font-family: sans-serif; font-style: normal;
		font-size: 1.2rem;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-align: center;
		background: #ffa500;
		color: #330000;
		padding: 10px 15px 10px 10px;
		border-radius: 6px 0 0 6px;
		position: fixed;
		right: 0;
		top: 20%;
		transform: translateY(-50%);
		text-decoration: none;
		line-height: normal;
}
.reserve-frlink:hover { background:#ffdb99; transition: 0.8s; }

/* frontpage info section */
#info { margin-top: 50px; }
.info-wrap-inner { border: 4px solid #E0647D; padding: 0.8rem 1.6rem; border-radius: 20px; }
.info-contents { display: flex; padding: 0.7rem 0 0.5rem 0; border-bottom: 2px dotted #E0647D; }
.info-contents:last-child { border-bottom:none; }
.col-info-date { font-weight: 800; padding-right: 1.0rem; }
.info-title { margin-bottom: 0.3rem; font-weight: 500; color: red; }


/* frontpage about section */
.about-wrap { position: relative; padding-top: 80px; }
.about-wrap-inner { position: relative; }
.about-body-wrap { top: 80px; }
.about-label {
		text-align: center;
		font-size: 2.8rem;
		color: #E0647D;
}
.about-label-title {
		line-height: 2.3rem;
		margin-top: -8px;
		text-align: left;
		font-weight: bold;
		font-size: 1.8rem;
}

.about-back { position: absolute; top :42px; right: 0; width: 90%; height: 22%; background: #FBE8EC; z-index: -999; }
.about-ribbon { position: absolute; top :0; left: 40px; width:200px; }

/* YouTube */
.movie-wrap { aspect-ratio: 16 / 9; }
.movie-wrap iframe { width: 100%; height: 100%; }

/* frontpage pickup section */
.pickup-wrap { position: relative; padding-top:100px; margin-top: 3.0rem; }
.pickup-inner { position: relative; }
.pickup-label-wrap { position: absolute; top:0; background: #F47991; height: 260px; padding-top: 20px; z-index: -999; }
.pickup-label { font-size: 3.0rem; color: #fff; text-align: center; }
.pickup-star { position: absolute; top: -80px; left: 20px; }
.pickup-contents-wrap { background: #fff; padding: 40px 15px 0px 15px; border-radius: 20px ;}
.pickup_archive i { color: #F47991; }
.pickup_archive { color: #000; }
.pickup-slide-wrap { padding: 10px; }
.pickup-label-img { width:120px; height:120px; margin-top:30px; z-index:999; }
.pickup-link:hover .pickup-thumb img { transform:scale(1.15,1.15); transition:1s all; }
.pickup-thumb { aspect-ratio: 1.6 / 1; overflow: hidden; border-top-right-radius: 20px; border-bottom-left-radius: 20px; }
.pickup-thumb img { height: 100%; width: 100%; object-fit: cover; }
.pickup-over-ray { position:absolute; top:0; width:100%; height: 100%; background: rgba(0, 0, 0, 0.2); border-top-right-radius: 20px; border-bottom-left-radius: 20px; }
.pickup-item { position: relative; }
.pickup-link h2 {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		width: 100%;
		padding: 0 45px;
		font-weight: bold;
		font-size: 1.2rem;
		color:#fff;
}
.pickup-date { position: absolute; bottom:-40px; left: 20px; background: #F47991; padding: 10px 40px; border-radius: 100px; color:#fff; }
.pickup-body { margin-top: 40px; }
.pickup-label-2 { font-weight: bold; font-size: 1.6rem; }


/* frontpage news section */
#news { margin-bottom:100px; }
.news-wrap { position: relative; margin-top: 200px; }
.news_label_head { position: absolute; top:-150px; max-width: 540px; left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
}
.news-inner { background: #F7F7F7; padding: 100px 40px 40px 40px; border-radius: 20px; }
p.news-cat.news-regular { background: #1E7764; border-radius: 50px; color: #fff; padding: 0.3rem 0.5rem; margin-right: 0.5rem; font-size: 0.8rem; }
p.news-cat.news-report { background: #97a315; border-radius: 50px; color: #fff; padding: 0.3rem 0.5rem; margin-right: 0.5rem; font-size: 0.8rem; }
p.news-cat.news-regular:before { content:"お知らせ"; }
p.news-cat.news-report:before { content:"レポート"; }
.news-thumb-wrap { border-radius: 50%; overflow: hidden; aspect-ratio: 1/1; }
a.news-link img { width: 100%; height: 100%; object-fit: cover; }
a.news-link img:hover { transform:scale(1.15,1.15); transition:1s all; }
a.news-link h3 { font-size: 1.2rem; }
.news-link-block { position: absolute; width:100%; bottom: -65px; 
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
}
.news-link-bt { top:15px; }


/* youth services KYOTO */
.top-hr { height: 110px; background-image: url(./image/front_hr.png); background-repeat:repeat-x; background-position:center; background-size:contain; margin-bottom: 60px; }


/* frontpage service section */
#service { margin-bottom:60px; }
.service-wrap {	background: #F47991; }
.service-head-title { text-align: center; font-weight: bold; font-size: 2.5rem; color: #fff; }
.service-thumb { position: relative; }
.service-thumb-wrap { aspect-ratio: 1.2 / 1; overflow: hidden; border-top-left-radius: 30px; border-top-right-radius: 30px; }
.service-thumb-wrap img { width: 100%; height: 100%; object-fit: cover; }
.service-over-ray { position:absolute; top:0; width:100%; height: 100%; background: rgba(0, 0, 0, 0.2); border-top-left-radius: 30px; border-top-right-radius: 30px; }
.service-link:hover .service-thumb-wrap img { transform:scale(1.10,1.10); transition:1s all; }
.service-item-head { position: absolute; width:100%; bottom: 10px; font-size: 1.2rem; font-weight: bold; color: #fff; padding: 1.0rem; }
.service-body { background: rgba(255, 255, 255, 0.9); padding: 0 20px 20px; border-bottom-left-radius: 30px; border-bottom-right-radius: 30px; }
.service-item-icon { text-align: center; background: #fff; border-radius: 50px; }
.service-on-icon { background: #ff0000; border-radius: 0 0 50px 50px; color: #fff; padding: 1.0rem 0.5rem;; font-size: 0.8rem; display: inline-block; }
.service-off-icon { background: #c0c0c0; border-radius: 0 0 50px 50px; color: #fff; padding: 1.0rem 0.5rem;; font-size: 0.8rem; display: inline-block; }
.service-item-body { font-weight: bold; }


/* frontpage facility section */
#facility { margin-bottom:200px; }
.facility-wrap { position: relative; background: #DECAB6; padding: 80px 0 60px; }
.facility-inner { position: relative; width:100%; }
.facility_label_h { margin-bottom: 50px; }
.facility-view { position: relative; width: 100%; }
.facility-table { width: 100%; height: 100%; background: #fff; border-radius: 20px; padding: 40px 8px 10px 8px; }
.facility-today { position: absolute; top: -25px; left: -10px; }
.facility-select { position: absolute; top: 40px; left: -10px; }
.facility-link-block { position: absolute; width:100%; bottom: -95px; }
.facility-link-block-lg { width:100%; }
.facility-link-bt { min-width: 300px; }
#facility-content .facility-date { position: absolute; top: -10px; left: 20px; font-weight: bold; color: #fff; }
#facility-content-form { margin-bottom: 10px; }
#facility-content-form input ,#facility-content-form button { font-size: 1.0rem; border-color: #0d6efd; }
#facility-content-calendar { min-height: 350px; margin-bottom: 20px; }
#facility-content-calendar p { position: absolute; top: 48%; left: 0%; right: 0%; margin: 0; text-align: center; font-size: 1.2rem; }
.input-group-sm { background: #fff; border-radius: 20px ; }
#facility-content-date-change-next button { font-size: 1.2rem; }
#facility-content-date-change-next .prev-day { border-radius: 20px 0 0 20px; }
#facility-content-date-change-next .next-day { border-radius: 0 20px 20px 0; }
.prev-day:before { content: "\f359"; font-family: "Font Awesome 6 Free"; padding-right: 4px; }
.next-day:after { content: "\f35a"; font-family: "Font Awesome 6 Free"; padding-left: 4px; }
.weekly-view { padding-top: 0.5rem; font-size: 1.15rem; }


/* 施設空き状況 */
.table-responsive .table-bordered { border-color: #333; margin-bottom: 8px; }
.table-responsive .caption { text-align: center; width: 15%; }
.table-responsive th { white-space: nowrap; background: #f5f5f5; }
.table-responsive .header th { text-align: center; background: #eee8aa; }
.table-responsive th:not(:first-child) { width: calc(85% / 22); }
.table-responsive td {
	vertical-align: middle;
	font-size: 0.8rem;
	text-align: center;
	font-weight: bold;
}
.table-responsive .reserved {
	background-image: url(/reserve/image/reserved_bg.png);
	background-position: left;
	background-repeat: repeat-x;
	background-size:auto 100%;
	font-size: 0;
}
.table-responsive .rest {
	background-image: url(/reserve/image/rest_bg.png)!important;
	background-position: left!important;
	background-repeat: repeat-x!important;
	background-size:auto 100%!important;
	font-size: 0;
}
.table-responsive .free { 
	background-image: url(/reserve/image/free_icon.png),url(/reserve/image/free_bg.png);
	background-position: left, left;
	background-repeat: no-repeat, repeat-x ;
	background-size:auto 100%;
	font-size: 0;
}
.table-responsive .study { 
	background-image: url(/reserve/image/study_icon.png),url(/reserve/image/study_bg.png);
	background-position: left, left;
	background-repeat: no-repeat, repeat-x ;
	background-size:auto 100%;
	font-size: 0;
}


/* singlepage facility section */
button.day-view { background: #d8d8d8; border:2px solid #d8d8d8; padding: 0.5rem 1.2rem; border-radius: 30px; }
button.day-view:hover { background: #fff; border:2px solid #333; padding: 0.5rem 1.2rem; border-radius: 30px; }
.weekly .facility-date { font-weight: bold; color: #fff; }
.weekly .facility-date:first-child { position: absolute; top: -10px; left: 20px; font-weight: bold; color: #fff; }
.weekly .rest { position:initial!important; margin: 0 0 1.0rem 0!important; min-height: 400px; background: #fff; line-height: 400px; text-align: center; border: 1px solid #333; }
.table-bordered .rest { min-height: initial; line-height: initial; }
.weekly .facility-date:not(:first-child) { display: inline-block; background: #E0647D; padding: 0.8rem; }
.weekly table { margin: 0 0 1.0rem!important; } 


/* frontpage sns section */
#sns { margin-bottom:5px; }
.sns-wrap { 
		position: relative;
		background-image: url(./image/sns_background.jpg);
		background-repeat: no-repeat; 
		background-size: cover;
		background-position: center center;
		padding: 100px 0;
}
.sns-inner { padding: 60px 30px 50px 30px; background: #fff; border-radius: 20px; }
.sns-inner img:hover { transform:scale(1.10,1.10); transition:1s all; }
.sns-title { position: absolute; top: -80px; left: 50%; transform: translateX(-50%); }


/* frontpage bunner section */
#bunner { margin-bottom:60px; }
.bunner-wrap { background: #FFF4EA; padding: 40px 0; }
.bunner-img { padding: 8px; }
.bunner-img img { border-radius: 8px; }
.bunner-img img:hover { filter: brightness(80%); transition: 0.8s; }
.center-link { width: 100%; font-size:0; }
.center-link a { font-size: 0.95rem; color: #fff; display: inline-block; text-align: center; width: calc(100% / 4); padding: 15px 0; }
.center-link a:hover { filter: brightness(80%); transition: 0.8s; }
a .bunner-link:hover { filter: brightness(80%); transition: 0.8s; }


/* frontpage access section */
#access { margin-bottom:60px; }
p.access-label {
		text-align: center;
		font-size: 1.3rem;
}
h2.access-label {
		font-size: 3.0rem;
		text-align: center;
		font-weight: bold;
}
.access-wrap { padding:5px; background: #E0647D; border-radius: 20px; margin-top: 40px; }
.access-inner { background: #fff; border: 3px solid #E0647D ; border-radius: 15px; padding: 50px; }
.access-title { width: 100%; color: #fff; background: #333333; text-align: center; border-radius: 20px; padding: 10px 0; }
.access-method { color: #fff; padding: 40px; }
.access-map {
		margin-top: 40px;
		position: relative;
		width: 100%;
		height: 0;
		padding-top: 45%; /* 比率を4:3に固定 */
}
.access-map iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 20px;
}


/* フッター */
#footer { margin-top: 2.0rem; }
#page_top:hover { opacity: 0.6; transition: 1.0s; }
.footer-block1 { background: #F5DCE1; }
.footer-block1-inner { padding: 30px 0px; }
.footer-menu ul { padding: 0; }
.footer-menu li { display: inline-block; padding: 4px 14px; background: #fff; margin-bottom: 8px; border-radius: 4px; }
.footer-menu li:hover { background:#FBE8EC;  }
.footer-block2 { background: #333333; padding: 0 0 40px; }
.footer-block2-label {
		letter-spacing: 0.4rem;
		font-size: 2.5rem;
		text-align: center;
		color: #F47991;
		margin-top:0 !important;
		margin-bottom: 40px;
}

.contact-bt { border-radius: 14px!important; line-height: 1.8rem; }
.contact-item-title { width: 100%; color: #333; background: #fff; text-align: center; border-radius: 20px; padding: 8px 0; font-size: 1.4:rem; }
.contact-item-body { margin-left: 10px; color:#fff; font-size: 1.2rem; }
.copyright { background: #F47991; color: #fff; }
.copyright p { width: 100%; padding: 0 15px; }


/* アーカイブ テンプレート*/
.archive-tab { padding: 0; margin-top: -1.01rem; }
.archive-tab a { display: inline-block; width: 8.0rem; text-align: center; list-style: none; padding: 0.6rem 0; background: #F5DCE1;  margin-right: 4px; border-radius: 0 0 8px 8px; color:#333; }
.archive-tab a:last-child { margin-right: 0px; }
.archive-tab a:hover { font-weight: 500; color:#E0647D; }
.archive-years-wrap { margin-top: 20px; }
#archive-years-list { width: 300px; display: inline-block; font-size: 1.2rem; }
.archive-wrap { height: 100%; background: #f8f8f8; padding: 20px; border-radius: 8px; }
.archive-thumb { position: relative; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 8px; }
.archive-thumb img { width:100%;  height:100%; object-fit: cover; }
.archive-regular,.archive-report,.archive-service-on,.archive-service-off { color: #fff; padding: 0.3rem 0.5rem; font-size: 0.8rem; display: inline-block; margin: 0.3rem 0; border-radius: 25px; }
.archive-regular { background: #1E7764; }
.archive-report { background: #97a315; }
.archive-service-on { background: #ff0000; }
.archive-service-off { background: #c0c0c0; }
.archive-wrap a:hover .archive-thumb img { transform:scale(1.10,1.10); transition:1s all; }
.archive-wrap h4 { font-size: 1.1rem; }
.archive-date { color: #333; }
.archive-date:before { content: "\f073"; font-family: "Font Awesome 6 Free"; padding-right: 4px; }


/* カスタム投稿 テンプレート*/
.text-block-box { background: #f0f8ff; padding: 1.5rem 2rem; border-radius: 12px; }
.text-block-box h2,.text-block-box h3{ margin-top: 0!important; margin-top: 0!important; margin-bottom: 1.0rem!important; font-size: 1.5rem!important; }
.text-block-box h3 { background-image: none!important; color: #E0647D!important; }
.text-block-box h4 { font-size: 1.2rem!important; margin-top: 0!important; }

h3.entryform { border-radius: 8px 8px 0 0 !important; }
.entryform-wrap { background: #E0647D; border-radius: 0 0 8px 8px; padding-bottom: 0.5rem;}
.entryform-inner { padding: 1.0rem; color:#fff; }
.entry-item p { font-size:1.15rem; background: #EEF4BD; height: 100%; padding: 1.2rem; border-radius: 8px; color:#333; }
.entry-limit { display: inline-block; background: #d8d8d8; font-size: 1.2em; padding: 12px 40px; }
.bt-entryform { 
		display: inline-block;
		text-align: center;
		font-weight: bold;
		font-size: 22px;
		color: #fff;
		background: red;
		padding: 12px 30px;
		border-radius: 100px;
		box-shadow: 0px 8px 0px 0px #AC3E53;
		text-decoration: none;
		border: 1px solid red;
		margin-bottom:8px;
}
.bt-entryform:hover { border: 1px solid red; background:#fff; transition: 0.8s; color: red; }
.dl-block h3:before { content: '\f56d'!important; }
.relation-block h3:before { content: '\f4ad'!important; }
.event-meta { font-size: 1.2rem; }
.event-head { background: #E4F4E9; padding: 6px 12px; border-radius: 6px; }
.img-block-wrap { height:100%; overflow: hidden; aspect-ratio: 4 / 3; }
img.img-block-thumb { height:100%; width:100%; border-radius: 8px; object-fit: cover; }
.img-vertical-wrap { overflow: hidden; height:100%; }
img.img-block-vertical { height:100%; width:auto; border-radius: 8px; object-fit: cover; }
img.img-block-thumb:hover,.img-block-vertical:hover { opacity: 0.6; transition:1s all; }


/* フォーム共通 */
.form80 { width: 79.3%; }
.form50 { width: 49.3%; }
.form30 { width: 30.5%; }
.form-entry-item { border: none; pointer-events : none; width:100%; }
.form-age { width: 4rem; }
.form-section:first-child { border-top: 1px solid #d8d8d8; }
.form-section { background: #f5f5f5; border-bottom: 1px solid #d8d8d8; }
.form-section .error { display:block !important; }
.req { font-size: 0.6rem; padding: 3px 5px; background: red; color: #fff; border-radius: 4px; margin-left : 6px; vertical-align: middle; }
.form-head { padding: 0.8rem; }
.form-body { background: #fff; padding: 1.2rem 0.8rem; }
.form-head p,.form-body p { margin: 0; }
.form-control::placeholder { color: #a9a9a9; }

p.form-area { font-weight:normal; margin: 0.5rem 0 0.5rem 0; }
.form-control { border:2.0px solid #c0c0c0; }
.form-link a { text-decoration: underline; }
.send-check { margin-right: 1.5rem; }

#autozip { display: none!important; }
.back-bt { color: #fff; background: #008080; padding:1.0rem 1.0rem; margin-top:1.0rem; border:none; border-radius: 6px; }
.back-bt:hover { background: #8fb3b3; transition: 0.8s; color: #008080; }
.send-bt { color: #fff; background: #dc143c; padding:1.0rem 1.0rem; margin-top:1.0rem; border:none; border-radius: 6px; }
.send-bt:hover { background: #db8495; transition: 0.8s; color: #dc143c; }
.thanks { padding: 22% 0; }
.thanks a { background: #0d6efd; color: #fff; padding: 10px 40px; border-radius: 10px; }


/* 申し込みフォーム */
.entry-meta-wrap { margin: 1.0rem 0; padding: 1.5rem; background: #F5DCE1; border-radius: 8px; }
.entry-doc { display: inline-block; background: #E0647D; color: #fff; font-weight: bold; width: 100%; margin-bottom: 0; padding: 0.4rem; }


/* 個人情報保護方針 */
.policy-body { padding-left: 2rem; }
.policy-add { text-align: left; margin-top:2rem; padding: 1rem; border: 2px solid #d8d8d8; border-radius:6px; display: inline-block; }


/* サイトマップ */
.sitemap-item { display:block; border: 1.2px solid #696969; padding: 0.8rem; }
a.sitemap-item:before { font-family: "Font Awesome 6 Free"; content: '\f152'; font-weight: 900; margin-right: 5px; }
.sitemap-depth2 a { display:block; padding: 0.2rem 0 0.2rem 1.2rem; }
.sitemap-depth2 a:before { font-family: "Font Awesome 6 Free"; content: '\f054'; font-weight: 900; margin-right: 5px; }
.lb-blue { border-left:5px solid #1e90ff; }
.lb-red { border-left:5px solid #dc143c; }


/* SNS シェアボタン */
.share a { font-size: 1.75rem; margin: 0 10px; }
.tweet a { color: #333; }
.facebook a { color: #1877f2; }
.line a { color: #1dcd00; }
.pocket a { color: #ee4056; }

.pagetop { 
cursor: pointer;
position: fixed;
bottom: 50px;
right: 30px;
color: #fff;
background-color: #1e90ff;
border-radius: 50%;
width: 50px;
height: 50px;
font-size: 20px;
line-height: 50px;
text-align: center;
}
.pagetop:hover {
opacity: 0.5;
}


/* 記事検索 */
.searchform {
  line-height: 1;
  position: relative;
  padding-left:15px;
  width: 100%;
}
.searchfield {
  box-sizing: border-box;
  width: 100%;
  font-size: 1.2rem;
  border: 2px solid #bbb;
  border-radius: 5px;
  background-color: #efefef;
}
.searchsubmit {
  position: absolute;
  top: 50%;
  right: .75em;
  display: block;
  padding-right: 10px;
  cursor: pointer;
  transform: translateY(-50%);
  color: #000;
  border: none;
  background: transparent;
}
.searchsubmit:hover { opacity: .6; }
.card__excerpt { margin-left:1rem; }


/*　SP調整　*/
@media screen and (max-width: 1100px) {
a.bt-a,a.bt-b { padding: 20px; }
}

@media screen and (max-width: 991px) {
html { font-size: 90%; }
a.bt-a,a.bt-b { width:80%; padding: 20px; }
.single-head-title-wrap { background-position: left -130px top; }
.single-head-title { padding-left: 50px; }
.pickup-label { font-size: 2.2rem; text-align:right; padding-top: 15px; padding-right: 15px; }
.pickup-link-sp { font-size: 1.2rem; border-bottom: 3px dotted #F47991; }
.service-head-title { font-size: 1.8rem; }
.facility-wrap { margin-bottom: 20px; padding: 50px 0 60px; border-top-left-radius: 40px; border-bottom-left-radius: 40px;}
.facility-link-block-lg { margin-bottom: 200px; }
.weekly .facility-date:not(:first-child) { margin-top: 20px; }
.center-link a { width: calc(100% / 2); padding: 15px 0; }
.contact-bt-wrap { text-align: center; margin-top: 20px !important; }
.year-select { padding-top: 30px; }
br.lg-br { display: none; }
.room-link a { width: calc( 100% / 4 - 4px ); }
}

@media screen and (max-width: 769px) {
html { font-size: 80%; }
.header-logo { top: 20px; padding: 40px 20px 20px 20px; }
img.header-logo-top,img.header-logo { width: 180px; }
.navbar-toggler { width: 65px; height: 65px; }
.slide-over1 { font-size: 2.0rem; }
.slide-over2 { font-size: 1.4rem; }
.top-hr { height: 80px; }
.pickup-label { font-size: 1.5rem; }
.table-bordered th:first-child {
		position: sticky;
		left: 0;
		font-size: 0.8rem;
		background-clip: padding-box!important;
		vertical-align: middle;
		&:before {
    content: "";
    position: absolute;
    top: 0px;
    left: -1px;
    width: calc(100% + 2px);
    height: 100%;
    border-left: 2.5px solid #333;
    border-right: 2px solid #333;
  }
}
.sns-inner { padding: 50px 10px 30px 10px; }
.footer-block1-inner .footer-menu{ margin-top:0; }
.footer-block1-inner .footer-menu ul { margin-bottom:0; }
.form80,.form50 { width: 100%; }
.form30 { width: 49.3%; }
br.md-br { display: none; }
.room-link a { width: calc( 100% / 3 - 4px ); }
}

@media screen and (max-width: 575px) {
a.bt-a,a.bt-b { width:100%; }
.left-arrow { left: -10px; }
.right-arrow { right: -10px; }
.news-inner { padding: 100px 15px 40px 15px; }
.footer-block1-inner { padding-left: 15px; padding-right: 15px; }
.form30 { width: 100%; }
.archive-tab a { width: 5.0rem; font-size: 0.8rem; }
.room-link a { width: calc( 100% / 2 - 4px ); }
}

@media screen and (min-width: 575px) {
br.xs-br { display: none; }
}