@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

* {/* margin: 0; *//* padding: 0; *//* transition: all 0.3s; */}
html {
	height: 100%;
    font-family: 'Noto Sans Japanese', sans-serif;
}
body{
	width:100%;
	font-family: 'Noto Sans Japanese', sans-serif;
	/* min-width: 1280px; */
}
a:hover{
	opacity:0.6;
}
a{
    text-decoration: none;
    color: inherit;
}
li{
	list-style:none;
}
img{
	max-width:100%;
	height:auto;
}
.pc{display:initial;}
.sp{display:none;}

.note{
	color: #ff0033;
	line-height: 1.5;
}
.notfound{
	height: 44vh;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-top: 120px;
}

header.internal{
	background-color: #10218b;
}
header.internal img{
	height: 50px;
	display:inline-block;
	margin-top: 20px;
}
header.internal nav{
	display:inline-block;
	width:80%;
}
header.internal nav > ul > li{
	width: 22%;
}
section.niwatube{
	margin-top: 80px;
	position: relative;
    min-height: calc(100vh - 570px);
}
.niwatube_menu{
	position:fixed;
	width: 20%;
	height: 100%;
	background:#ccc;
	padding: 1.2rem;
}
.niwatube_contents{
	margin-left: 20%;
	padding:2rem;
	font-size: 1rem;
	width: 60%;
	/* min-width: 1000px; */
}
.niwatube_contents a{
	color: #2563eb;
}
.niwatube-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.niwatube-list li{
	width: 50%;
	padding: 5%;
}
.niwatube_cover{
	display: flex;
	text-align: center;
	background: #fff;
	height: 150px;
	width: 110px;
	box-shadow: 5px 5px 10px 0px #d1d1d1;
	align-items: center;
	justify-content: center;
}
.niwatube .content{
	box-shadow: 0px 8px 15px 3px #d1d1d1;
	padding:1rem;
	border-radius:5px;
	margin-bottom:3rem;
}
.niwatube .five_comments{
	display: flex; 
	flex-direction: row;
	flex-wrap: wrap;
}

.subject{
	float:left;
	margin-right: 2rem;
	margin-bottom: 2rem;
	width: 20%;
	overflow: hidden;
}
.subject .author_info{
	width: 100%;
	margin: 1rem 0;
	text-align:center;
}
.subject .author_info img{
	margin:0 auto;
}

.niwatuber{
	margin: 1rem 0;
	width: 100%;
}
.niwatuber_post_thumbnail{
	width: 100%;
	display: block;
}
.niwatuber_post{
	clear:both;
	margin-bottom: 3rem;
}
.niwatuber_post:last-of-type{
	margin-bottom:0;
}

.president_comment .content_title{
	float:left;
	margin-right:1rem;
}
.president_comment{
	/* background:no-repeat; */
	/* background-image:url(../img/niwatube/niwadai.png); */
	/* background-position: right bottom; */
	/* background-size: 240px; */
	padding-right: 200px;
}
.float-right-bottom-wrapper {
	display: flex;
}
.float-right-bottom .president {
  --img-width: 200px;
  --img-height: 300px;
  float: right;
  width: var(--img-width); /* imgタグのwidth属性を指定している場合は不要です  */
  height: 100%; /* 親要素の.float-right-bottomの存在が重要です！ */
  margin-left: 10px; /* お好みで */
  shape-outside: inset(calc(100% - var(--img-height)) 0 0 0); /* ポイント！ */
  object-fit: contain;
  object-position: bottom;
}

.author_info,
.five_comment_content{
	/* display:inline-block; */
	vertical-align: top;
}
.five_comment_content ul{
	display:flex;
	align-items: center;
	width: 100%;
	justify-content: flex-start;
}

.five_comment_content li{width: auto;}
.five_comment_content img{
	width: 100vw;
	height: 40vh;
	min-height: 400px;
	object-fit: cover;
}
.five_comment_post{
	margin: 1%;
	border: 1px solid #ccc;
	border-radius: 12px;
	padding: 1%;
	width: 47.5%;
}
.five_comment_post:has(.fc_image){width: 97%;}
.author_info{
	display: flex;
	text-align:center;
	line-height: 1.2;
	margin-right: 1rem;
	align-items: center;
	flex-direction: column;
}
.author_info img{
	border-radius:100%;
	width: 100px;
	max-width: initial;
	height: 100px;
	object-fit: cover;
	border: 1px solid #aaa;
	display: block;
}
.five_comment_post .author_info{
	float:left;
	margin: 5px 20px 24px 5px;
}

.niwatube_search{
	position: fixed;
	top: 80px;
	right: 0;
	width: 20%;
	background:#DCDDDD;
	padding: 1rem;
	height: 100%;
}
.niwatube_search form{
	padding: 5%;
	display: flex;
	align-content: center;
}
.niwatube_search form input{
	width: 80%;
}
.niwatube_search form button{
	width: 10%;
	height: 2rem;
	background: transparent;
	margin-left: 5px;
}

.report-contents{
	font-size:18px;
	line-height: 1.8;
	clear: both;
	margin-top: 3rem;
	padding-bottom: 40px;
	transition: 0.3sease-in-out;	
}
.report-contents.active{
	padding-bottom: 300px;
}
.report-contents .tpo{
	font-size:120%;
	border-bottom: 1px solid #888;
}
.report-contents .approved{
	max-height: 200px;
	overflow: auto;
}
#confirmation-form {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 9999;
    background: #ffffffde;
    padding: 0.5rem;
    backdrop-filter: blur(3px);
    transition: transform 0.3s ease-in-out;
    transform: translateY(calc(100% - 45px)); /* 最初は「▲」だけ見せる */
}
#confirmation-form.active {
    transform: translateY(0); /* フル表示 */
}
#toggle-button {
    width: 100%;
    background: #ddd;
    text-align: center;
    padding: 5px;
    cursor: pointer;
    font-size: 0.9rem;
}
#form-content {
    padding: 1rem;
    display: none;
}
#confirmation-form .approved-info{
	margin: 0;
	width: 100%;
}
#confirmation-form .approved-info textarea,
#confirmation-form .approved-info select{
	width: 100%;
}
#form-content #paste-area,
.approved-info #paste-area{
	border:1px solid #aaa;
}

.documents .title-info{
	float:right;
}
.documents table{
	width:100%;
	border-collapse:collapse;
	margin-top: 2rem;
}
.documents table td,
#form-content table td{
	border:1px solid #888;
	padding: 0.5rem;
	max-width: 210px;
}
.documents table td.hd,
#form-content table td.hd{
	width: 4.6rem;
}
.documents table li{
	display:inline-block;
	vertical-align: top;
}
.documents table .attached li{
	display:block;
}
.documents table select,
.documents table textarea{
	width:100%;
	background:#eee;
	padding:0.5rem;
}
.documents button,
#form-content button{
	width: 100%;
	text-align: center;
	display: block;
	margin:1rem auto;
	color: #FFF;
	vertical-align: middle;
	background-color: #10218b;
	padding: 1%;
}
.documents button:hover,
#form-content button:hover{
	opacity:0.8;
	cursor:pointer;
}
.documents .select2 button{
	width:auto;
	margin:initial;
}
.documents table .approved li{
	display:block;
	font-size:80%;
	border-bottom: 1px solid #aaa;
	margin: 0.5rem;
	padding: 0.5rem;
}
.documents table .attached_images li,
.attached_docs{
	display:block;
	padding: 0.5rem;
	clear:both;
	line-height: 1.2;
	font-size: 80%;
}
.approval_doc-contents img,
.approval_doc-contents .pdf_thumbnail{
	border:1px solid #cccccc;
	height: 120px;
	width: 120px !important;
	object-fit: cover;
}
.single-workflow footer,
.single-workflow #copyright{
	display: none;
}

.attached_images{
	display:flex;
	flex-direction: column;
}
.attached_images li{
	display: flex !important;
	align-items: flex-start;
}
.attached_images li img{
	width: 40% !important;
	object-fit: cover;
	border:1px solid #cccccc;
	margin-right:10px;
}
.attached_images li a,
.attached_images li .file-ext-badge{
	width: 40%;
	margin-right:10px;
}
.attached_images li .file-ext-badge{
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ccc;
}

.status{
	padding:0.2rem 0.5rem;
	border-radius:5px;
	margin: 0 1rem;
	color:#fff;
	white-space: nowrap;
}
.status.drafting{
	color: #f00;
}
.status.submitted{
	color: #666;
}
.status.approved{
	background:#2563eb;
}
.status.remand{
	background:#c62d2d;
}
.approved .status.checking{
	background:#eece31;
}
.doc_progress{
	margin-top: 1rem;
	background: #eee;
	padding: 0.5rem;
}
.doc_progress td{
	padding:2px 5px;
}

.catch.mypage .title-style-m{
	padding-left: 100px;
}
.catch img.user_pic{
	border-radius:100%;
	width:100px;
	height:100px;
	object-fit:cover;
	position: absolute;
	left: 0;
}
.common-form,
#acf-form{
	margin-top: 1rem;
}
.common-form td,
#acf-form td{
	padding: 0.5rem;
}
.common-form input:not(.select2-search__field),
.common-form select,
#acf-form input:not(.select2-search__field),
#acf-form select,
.common-form textarea:not(.select2-search__field),
#acf-form textarea:not(.select2-search__field){
	 border:1px solid #999; 
	margin-bottom:0.5rem;
}
.common-form select,
#acf-form select{
	margin: auto;
	height: 30px;
	border-radius: 5px;
}
.common-form input[type="file"],
#acf-form input[type="file"]{
	border:none;
}
.common-form input[type="checkbox"],
#acf-form input[type="checkbox"]{

}
.common-form button,
.common-form .button,
.acf-form-submit input{
	width: 100%;
	text-align: center;
	display: block;
	margin:1rem auto;
	color: #FFF;
	vertical-align: middle;
	background-color: #10218b;
	padding: 1%;
}
.event_edit_ui{
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 1rem;
}
.event_edit_ui button,
.event_edit_ui a{
	color: #FFF;
	vertical-align: middle;
	background-color: #10218b;
	padding: 1% 5%;
	margin: 0.3rem;
	display: inline-block;
	width:45%;
}
.event_edit_ui #delete-event{
	background-color: #dd3333;
}
button:disabled{
	opacity:0.8;
	background-color: #888;
}
#event_detail p a,
#event_detail li a{
	color: #2563eb;
	margin-left: 1rem;
}

.common-form button:hover,
.common-form .button:hover,
.acf-form-submit input:hover{
	opacity:0.8;
	cursor:pointer;
}
.ui-datepicker-trigger{
	position:absolute;
	right: 5px;
	top: 1px;
}
.ui-menu{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	margin: 1rem auto;
}
.ui-menu li,
.niwatube-post a{
	border: 1px solid #aaa;
	border-radius: 30px;
	height: 45px;
	padding: 1%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32%;
	margin-bottom: 10px;
	background:#fff3e1;
	position: relative;
	text-align: center;
}
.niwatube-post a{
	width:auto;
}
img.ui_ico{
	width: 24px;
	margin-right: 10px;
	vertical-align: middle;
	display: inline-block;
}

#workflow-iframe{
	height: 50vh;
	display: block;
}

.basic_list td{
	padding: 0.2rem 0.5rem;
}
.basic_list td.title{
	font-weight: 700;
}

span.report,
span.approval{
	padding:3px 0.5rem;
	display: block;
	text-align: center;
	width: 100%;
	position: relative;
}
span.report{
	background:#17208b;
	color:#fff;
}
span.report.confirmed{
	background:#ccc;
}
span.report.confirmed:after{
	content:"済";
	position: absolute;
	top: -5px;
	right: -5px;
	background: #f00;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
}

span.approval{
	background: #8ff97f;
}

.mypage .title-info{
	font-size: 120%;
	font-weight: 700;
}
.mypage .title-info img{
	width: 20px;
	margin-right: 10px;
	vertical-align: middle;
}

.internal-information {
	width: 100%;
	margin: 2% auto;
}
.internal-information > dt {
	width: 25%;
	float: left;
	font-size: 180%;
	text-align: center;
	color: #FFF;
	letter-spacing: 0.2em;
	line-height: 160%;
	background-color: #10218b;
	padding: 4% 1%;
}
.internal-information > dt span {
	font-size: 60%;
	letter-spacing: 0;
}
.internal-information > dd {
	width: 100%;
	max-height: 20vh;
	overflow: auto;
}
.internal-information > dd dl {
	width: 100%;
	display: table;
	border-bottom: 1px solid #CCC;
	padding: 2% 0;
}
.internal-information > dd dl dt {
	width: 160px;
	display: table-cell;
	font-size: 210%;
	font-weight: 300;
	/* vertical-align: middle; */
	padding-right: 8px;
}
.internal-information > dd dl dt span {
	font-size: 50%;
	display: inline-block;
	vertical-align: middle;
	margin-right: 15px;
}
.internal-information > dd dl dd {
	font-size: 100%;
	display: table-cell;
	vertical-align: middle;
	padding-right: 20px;
}
.internal-information > dd dl dd  img{
	float:right;
	/*border-radius:100%;*/
	width:100px;
	height:100px;
}
.internal-information > dd dl dd  a{
	display:block;
}
.caution{
	color:#f00;
	fill: #f00;
}

/*.iframe-placeholder {
   background-image: url('../img/loading.gif');
   background-position: center center;
   background-repeat: no-repeat;
}*/

#update_user:hover{
	cursor: pointer;
	opacity: 0.6;
}
#update_user_form{
	height:0;
	overflow:hidden;
	transition: height 500ms ease;
}
#update_user_form.active{
	height:auto;
	height: calc-size(auto, size);
}

.switch-checkbox {
    margin-bottom: 1rem;
}

.switch-checkbox input[type="checkbox"] {
    position: relative;
    cursor: pointer;
    width: 3rem;
    height: 22px;
    margin-top: 0.5rem;
    border-radius: 60px;
    background-color: #ddd;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    transition: .5s;
}

.switch-checkbox input[type="checkbox"]::before {
    position: absolute;
    top: 1px;
    left: .2rem;
    width: 18px;
    height: 18px;
    box-sizing: border-box;
    border-radius: 50%;
    background: white;
    color: black;
    content: '';
    transition: .3s ease;
}

.switch-checkbox input[type="checkbox"]:checked {
    background: #2563eb;
}

.switch-checkbox input[type="checkbox"]:checked::before {
    left: 1.7rem;
}

.badge{
	background: #f00;
	color: #fff;
	width: 24px;
	height: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100%;
	position: absolute;
	right: 0px;
	top: -10px;
}

.event-contents {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3列 */
    gap: 1rem; /* アイテム間のスペース */
}

.event-item {
    padding: 1rem; /* 内側の余白 */
}

.event-item img {
    max-width: 100%; /* 画像をコンテナ内に収める */
    object-fit: cover;
}

.childbirth_post,
.marriage_post{
	width: 100%;
	margin-top: 2rem;
}
.child_photo,
.marriage_photo{
	display: inline-block;
	padding: 1px;
	background: #000000;
	box-shadow: 5px 5px 3px #bbbbbb;
	width: 40%;
	vertical-align: top;
	margin-right: 3%;
}
.child_photo img,
.marriage_photo img{
  width: 100%;
  height: 400px;
  padding: 10px 10px 30px;
  background: #fff;
  object-fit: cover;
}
.child_info,
.marriage_info{
	display:inline-block;
	width: 50%;
}
.child_info dt{
	color:#d3aa25;
}
.child_info dd{
	margin-left:1rem;
	margin-bottom:0.5rem;
}

.marriage_info dt{
	color:#ee3e9b;
}
.marriage_info dd{
	margin-left:1rem;
	margin-bottom:0.5rem;
}

.newcomer_post {
	display: inline-block;
	width: 47%;
	margin: 1%;
	border: 1px solid #10218b;
	border-radius: 10px;
	vertical-align: top;
	padding: 1rem;
}
.newcomer_info{
	display: flex;
	justify-content: center;
}
.newcomer_comment{
	background: #eee;
	padding: 1rem;
}

/*吹き出し*/
.balloon_l,
.balloon_r{
  margin: 30px 0;
  display:flex;
  justify-content: flex-start;
  align-items: flex-start; /*縦位置を上揃え*/
/*   align-items: center; */ /*縦位置を真ん中揃え*/
}
.balloon_r{
  justify-content:flex-end;
}
.faceicon img{
  width: 80px; /*任意のサイズ*/
  max-width: initial;
  height: 80px;
  object-fit: cover;
  border: 1px solid #aaa;
  border-radius: 100%;
}
.balloon_r .faceicon{
  margin-left:25px;
}
.balloon_l .faceicon{
  margin-right:25px;
}
.balloon_r .faceicon{
  order:2 !important;
}
.says {
  max-width:500px; /*最大幅は任意*/
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 17px 13px 15px 18px;
  border-radius: 12px;
  background: #99dddd;/*色は任意*/
  box-sizing:border-box;
  margin:0 !important;
  line-height:1.5;
/*   align-items: center; */
}
.says:after {
  content: "";
  position: absolute;
  border: 10px solid transparent;
/*   margin-top:-3px;  */
}
.balloon_l .says:after {
  left: -26px;
  border-right: 22px solid #fff;
}
.balloon_r .says:after {
  right: -26px;
  border-left: 22px solid #99dddd;
}

.balloon_l .says {
  background: #fff;/*色は任意*/
}

.next_issue h3{margin-top: 4rem;}
.next_issue{
    background-image: url(https://niwachuzo.co.jp/wp-content/themes/niwachuzo/img/niwatube/next.png);
    background-size: 100% 100%;
    text-align: center;
    color: #fff;
}
.next_issue h3 + p{
	padding: 1rem 9% 5rem;
	font-size: 0.9rem;
	text-align: left;
}

.fancybox-trigger{
	border: 1px solid #aaa;
	border-radius: 30px;
	padding:0 3%;
	margin-bottom: 10px;
	background:#fff3e1;
	position: relative;
	text-align: center;
	font-size:80%;
	float: right;
}
#acf-form-modal{
	width:80%;
	height:80%;
}

.workflow .title-style{
	font-size: 2rem;
	text-align:left;
	border-bottom: 3px solid #CCC;
	font-weight: 700;
}
.workflow .title-style.small{
	font-size: 1.4rem;
}
.workflow .title-style span{
	border-bottom:none;
	line-height:1.2;
	padding-left: 0;
}
.workflow .report a,
.workflow .approval_doc a{
	color:#7487ff;
	text-decoration:underline;
}
.workflow .report-contents a.open-new[href^="http"]:after,
.workflow .report-contents a.open-new[href^="//"]:after,
.workflow .approval_doc a.open-new[href^="http"]:after,
.workflow .approval_doc a.open-new[href^="//"]:after{
  margin: 0 0 0 3px;
  font-family: "Font Awesome 5 Free";
  content: '\f35d';
  font-weight: 700;
  vertical-align: top;
}

.progress{
	border:1px solid #eee;
}
.fc-header-toolbar{
    width: 90%;
    max-width: 960px;
    position: relative;
    margin: 0 auto;
}
.fc-event div{
	width: 100%;
}
.fc-event:hover {
	opacity: 1;
	cursor: pointer;
}
th.fc-day-sat,
.fc-list-day.fc-day-sat th{
	background: #c1ebff !important;
}
.fc-day-sat .fc-daygrid-day-top{
	color: #2563eb;
}
th.fc-day-sun,
.fc-list-day.fc-day-sun th{
	background: #ffc7c7 !important;
}
.fc-day-sun .fc-daygrid-day-top{
	color: #f00;
}
.fc-direction-ltr .fc-list-day-side-text, .fc-direction-rtl .fc-list-day-text{
	float: left;
	margin-left: 0.5rem;
}
body.page-template-page-shareschedule,
body.page-template-page-shareschedule_list{
	min-width: initial;
}
.page-template-page-shareschedule .fancybox-content,
.page-template-page-shareschedule_list .fancybox-content,
.library .fancybox-content{
	max-width: 60%;
	min-width: 40%;
	max-height: 100%;
}
.acf-form-container.event_post{
}

.add_event_bt{
	width: 20px;
	height: 20px;
	background: #eee;
	position: absolute;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	right: 5px;
	top: 5px;
	z-index: 999;
}
.fc-list-table .add_event_bt{
	left: 180px;
	top: 12px;
	width: 120px;
	background: #fff;
	font-size: 0.8rem;
	border-radius: 4px;
}
.fc-list-day-cushion span{
	color:#888;
	font-weight: 400;
}
#fc-dom-1 .add_event_bt{
	width: 160px;
	position: absolute;
	right: 140px;
	height: 30px;
	top: 7px;
	font-size: 1rem;
	border-radius: 4px;
}
.add_event_bt:hover{
	background: #fdc7c7;
	cursor: pointer;
}
#yearMonthSelector{
	width: 400px;
	height: 280px;
}
#yearMonthSelector div{
	height: 100%;
	display: grid;
	justify-content: center;
	font-size: 1.8rem;
	align-content: space-evenly;
}

.contents-inner.calendar{
	max-width:initial;
}
#calendar{
	margin-top: -50px;
}
#calendar .fc-toolbar{margin: unset;margin-left: 5.5%;margin-bottom: 20px;width: 50%;}
#calendar .fc-daygrid-day-top{
	display: flex;
	flex-direction: initial;
}
.fc-daygrid-day-events{
    height: calc((100vh - 560px) / 6);
	overflow-y:clip;
	transition: 0.2s ease;
}
.fc-daygrid-day-events.visible{
    height: auto;
}
.fc-customListMonth-view{
	max-height: 45vh;
	overflow: auto;
}
.event_item{
	padding: 0px;
	border-radius: 4px;
	display: flex;
	align-items: center;
	overflow: hidden;
	border: 1px solid #ccc;
	height: 1rem;
}
.fc-customListMonth-view .event_item{
	height:initial;
}
#global-add-event-button{
	display: flex;
	position: absolute;
	z-index: 999;
	background: #444444d4;
	color: #fff;
	height: 70px;
	width: 70px;
	right: 20px;
	top: 70vh;
	border-radius: 100%;
	justify-content: center;
	align-items: center;
	font-size: 2.8rem;
}
.event_item .event_time{
	margin-right: 0.5rem;
}
.event_title{
	display: inline-block;
	min-width: 3rem;
	overflow: hidden;
	margin-right: 0.5rem;
}

.fc-daygrid-event{
	border-radius: initial;
}
.fc-h-event{
	border: none;
	background-color:initial;
}
.fc-list-event-graphic{
	display: none;
}

.customListMonth .fc-prev-button,
.customListMonth .fc-next-button{
	display: none;
}
#calendar-filters{
	margin-bottom: 1rem;
}
#sc_type-filters,
#dep-filters{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#sc_type-filters label,
#dep-filters label{
	margin: 5px;
	padding: 0.5px 5px;
	border-radius: 5px;
}
#sc_type-filters label{
	opacity: 0.4;
}
#dep-filters label:has(input[type="checkbox"]:checked) {
	background: #0783be;
	color: #fff;
}
#sc_type-filters label:has(input[type="checkbox"]:checked){
	opacity: 1;
}
#dep-filters label:has(input[disabled]) {
  opacity: 0.4;
  background: #ccc !important;
  color: #000 !important;
}
#participant-filter{
	width:50%;
}
.select2-selection__rendered{
	float:left;
	min-height: 2rem;
}
.select2 .select2-selection:after{
	content:"";
  	display: block;
  	clear: both;	
}
.event-search-container {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
    margin-right: 5%;
}

#event_search_input {
    width: 250px;
    padding: 6px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    transition: border-color 0.2s;
    outline: none;
}

#event_search_input:focus {
    border-color: #007aff;
}

#event_search_btn {
    margin-left: 8px;
    padding: 6px 16px;
    background-color: #17208b;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

#event_search_btn:hover {
    background-color: #005ecb;
}

/* 検索結果のスタイル */
#event_search {
    position: fixed;
    top: 90px;
    right: -100%; /* 初期状態で画面外に */
    width: 300px;
    height: 100vh;
    background-color: #fafafa;
    box-shadow: -2px 0 8px rgba(0,0,0,0.1);
    padding: 16px;
    overflow-y: auto;
    z-index: 9999;
    transition: right 0.3s ease; /* スライドアニメーション */
}

/* 開いた状態 */
#event_search.open {
    right: 0;
}

/* 閉じるボタン */
#close_event_search {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: #dddddd7a;
    border: none;
    padding: 4px 8px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.2s;
}

#close_event_search:hover {
    background-color: #ccc;
}

/* 検索結果のスタイル */
.event-results {
    list-style: none;
    padding: 0;
    margin: 0;
}

.event-item {
    padding: 10px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.event-item:hover {
    background-color: #b6e8ff;
}

.acf-gallery{
	height: 200px !important;
}

#all-dep,
#participant-filters{
	display: flex;
	margin-left: 10px;
    align-items: center;
}
#all-dep .all-dep-toggle {
  position: relative;
  display: block;
  width: 56px;
  height: 28px;
  border: 1px solid #555555;
  border-radius: 9999px;
  background-color: #dddddd;
  cursor: pointer;
  margin-left: 10px;
}

#all-dep .all-dep-toggle:has(:focus-visible) {
  outline: auto;
  outline: auto -webkit-focus-ring-color;
}

#all-dep .all-dep-toggle:has(:checked) {
  background-color: #17208b;
}
#show-all-dep {
  appearance: none;
  position: absolute;
  top: 50%;
  left: 2px;
  width: 24px;
  height: 24px;
  border: 1px solid #555555;
  border-radius: 9999px;
  transform: translateY(-50%);
  outline: none;
  background-color: #ffffff;
  transition: left 0.2s;
  cursor: pointer;
}

#show-all-dep:checked {
  left: calc(100% - 26px);
}
#participant-filters .select2-container{
	margin-left: 0.5rem !important;
}
#participant-filters .select2-selection__choice__display{
	margin-left: 1.5rem;
}
#participant-filters .select2-selection__choice{
	margin-top: 3px !important;
}
#participant-filters .select2-container .select2-selection--multiple{
	min-height: 4rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#participant-filters .select2-container--default .select2-search--inline .select2-search__field{
	width: 100% !important;
}



section.report{
	margin-right: 380px;
}
#change_history{
	width: 400px;
	position: fixed;
	top: 90px;
	right: 0;
	height: calc(100vh - 127px);
	padding: 14px;
	background: #eeeeeec7;
	backdrop-filter: blur(5px);
	overflow: auto;
	font-size: 80%;
	line-height: 1.5;
}

.library .contents-inner{
	max-width: 100%;
	min-width: 1200px;
}
.file-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.file-item {
  width: 120px;
  text-align: center;
	position:relative;
}
.file-thumb {
  width: 100%;
  height: auto;
  object-fit: cover;
  border: 1px solid #ccc;
  background: #fff;
}
.file-title {
  font-size: 12px;
  margin-top: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.library .ctrl_ui form{
	display:flex;
	flex-wrap: wrap;
	align-items: center;
}
.library .ctrl_ui form div{
	width:calc(100% /3);
	margin-bottom: 5px;
}
.library .ctrl_ui form div label{
	display:inline-block;
	width: 43%;
	text-align:right;
	vertical-align: -webkit-baseline-middle;
}
.library input,
.library select,
.library textarea{
        width: 50%;
        height: 2.2rem;
        padding: 6px 12px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
        transition: border-color 0.2s;
        outline: none;
	vertical-align:top;
}
.library input[type="file"]{
	border:none;
}
.library textarea{
	width:100%;
	height:4rem;
}
#view-switch {
	display:flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
}
#view-switch label,
#view-mode-toggle label{
	padding: 5px 10px;
	border-radius:5px;
}
#view-mode-toggle{
	border-right:1px solid #000;
	margin-right: 1.2rem;
	padding-right: 1rem;
}
.library input[type="radio"]{
	display:none;
}
.library label:has(input[type="radio"]:checked) {
	background:#2563eb;
	color:#fff;
}
.library button{
        margin-left: 8px;
        padding: 6px 16px;
        background-color: #17208b;
        color: #fff;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        font-size: 14px;
        transition: background-color 0.2s;
}
.niwa-file-upload{
	margin-top:2rem;
	border-top:1px solid #888;
}
#upload-form button{
	width:100%;
	margin: 0;
	margin-top:10px;
}
.delete-button{
	position:absolute;
	bottom: 33px;
	right:0;
	background:#f00;
	color:#fff;
	width:20px;
	height:20px;
	line-height:20px;
}
.delete-button:hover{
	cursor:pointer;
	opacity:0.8;
}
#filter_clear{
	float:left;
}


.file-grid.list-mode {
  display: block !important;
}
.file-grid.list-mode .file-item {
  display: block;
  border-bottom: 1px solid #ccc;
  padding: 10px;
  width: 100%;
}
.file-grid.list-mode .file-thumb,
.file-grid.list-mode .file-title {
  display: none;
}
.file-grid .file-meta{
	display: none;
}
.file-grid.list-mode .file-meta {
  text-align: left;
  display: flex;
  justify-content: space-between;
}
.file-grid.list-mode .file-info{
  display: flex;
  justify-content: space-between;
}
.file-grid.list-mode .file-info div{
	margin-left:2rem;
}
.file-grid.list-mode .delete-button{
	bottom:0;
}

#niwa-previews{
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
}
#paste-area img{
    display: none;
}
.preview-wrapper {
  position: relative;
  display: inline-block;
  margin: 5px;
  vertical-align: top;
}
.preview-img {
  height: 180px;
  width: 180px;
  object-fit: contain;
  margin: 0 auto;
  margin-bottom: 10px;
  display: flex;
  border: 1px solid #ccc;
  background: #ccc;
  align-items: center;
}
.remove-btn {
    position: absolute;
    bottom: 2px;
    right: 2px;
    display: none;
    background: rgba(0,0,0,0.7);
    color: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    width: 25px !important;
    height: 25px !important;
    margin: 0 !important;
}
.preview-wrapper:hover .remove-btn {
  display: block;
}



/* プレビューモーダル基本スタイル */
.breaks-preview-btn{
	background: #10218b;
	color: #fff;
	padding: 0.2rem 1rem;
}
.breaks-preview-btn:hover{
	opacity: 0.6;
}

#breaks-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0; top: 0; width: 100vw; height: 100vh;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(3px);
  overflow: auto;
}

.preview .title-style{
	font-size: 1.2vw;
	padding: 0;
}
.preview .title-style span{
	display: block;
	width:100%;
	text-align: left;
	border-bottom: 0.3vw solid #ccc;
}
.preview .title-info{
	float:initial;
	font-size: 0.9vw;
}
.preview .report-contents{
	font-size: 0.9vw;
	margin: 0;
	line-height: 1.4;
}
.preview .report-contents .tpo{
	border-bottom:none;
	font-size: inherit;
}
#breaks-modal-content {
  background: #fff;
  border-radius: 10px;
  margin: 5vh auto 0 auto;
  padding: 2.6vw 5.4vw;
  box-shadow: 0 10px 32px rgba(0,0,0,0.25);
  position: relative;
  -webkit-print-color-adjust: exact;
  width: 52.5vw !IMPORTANT;
  height:72.5vw !IMPORTANT;
  box-sizing: border-box;
  position: relative;
  overflow: auto;
}

#breaks-modal-close {
  position: absolute;
  width: 50px;
  top: 5vh;
  right: 19.8vw;
  font-size: 1.5em;
  background: none;
  border: none;
  cursor: pointer;
  color: #fff;
}

.pdf_thumbnail{
	width: 80px !important;
	height:auto;
	display:block;
}
.pdf_thumbnail:hover{
	opacity:0.6;
	cursor:pointer;
}


#dropzone,
#niwa-dropzone{
	border: 1px dashed #aaa;
	padding: 1rem;
	text-align: center;
}
#dropzone:hover,
.file-select:hover,
#dropzone.dragover,
#niwa-dropzone:hover,
#niwa-dropzone.dragover{
	cursor:pointer;
	background:#eee;
}
#paste-area.is-dragover {
	outline: 1px dashed #aaa;
	background: #f6f8ff;
}

.niwa-open-trigger{
	width: 100%;
	text-align: center;
	display: block;
	margin:1rem auto;
	vertical-align: middle;
	border: 1px solid #0783be;
	padding: 1rem;
}
.niwa-open-trigger:hover{
	cursor:pointer;
	background:#eee;
}

.library .ctrl_ui .tag {
	display:flex;
	white-space: nowrap;
	width: 100%;
	margin-bottom: 1rem;
	flex-wrap: wrap;
	align-items: center;
}
.library .ctrl_ui .tag label,
.library .tag label{
	width:auto;
	margin-left: 0.5rem;
}
.library .ctrl_ui .tag input,
.library .tag input{
	width: auto;
	height: auto;
	vertical-align: middle;
	margin-right: 5px;
}
#upload-form .tag{
	margin-top:1rem;
}
.library .ctrl_ui .tag a{
        border: 1px solid #aaa;
        border-radius: 30px;
        padding: 0 10px;
        background: #fff3e1;
        text-align: center;
        line-height: 30px;
        margin-left: 1rem;
}


/* ==== 確認進捗ウィジェット ==== */
.conf-progress{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  max-width:520px;
  margin:8px 0 16px;
}

.conf-progress__left{ width:56px; height:56px; flex:0 0 auto; }
.conf-progress__svg{ width:56px; height:56px; display:block; }
.conf-progress__track{
  fill:none;
  stroke:#e5e7eb;
  stroke-width:4;
}
.conf-progress__bar{
  fill:none;
  stroke:#2563eb;           /* お好みでブランドカラーに */
  stroke-width:4;
  stroke-linecap:round;
  transform:rotate(-90deg);
  transform-origin:50% 50%;
  stroke-dasharray: 125.66; /* 2*pi*r (r=20) ≒ 125.66 */
  stroke-dashoffset: 125.66;/* 初期は0% */
  transition: stroke-dashoffset .6s ease;
}
.conf-progress__text{
  font-size:10px;
  fill:#111827;
  font-weight:700;
}
.conf-progress__right{ flex:1 1 auto; min-width:0; }
.conf-progress__pendingBtn{
  appearance:none;
  border:none;
  background:transparent;
  padding:4px 0;
  font-size:14px;
  font-weight:600;
  color:#111827;
  line-height:1.4;
  cursor:pointer;
  text-align:left;
}
.conf-progress__pendingBtn:hover{ opacity:.8; }
.conf-progress__pendingList{
  margin-top:6px;
  border-top:1px dashed #e5e7eb;
  padding-top:6px;
}
.conf-progress__pendingList ul{
  margin:6px 0 0;
  padding-left:18px;
}
.conf-progress__pendingList li{
  line-height:1.7;
  font-size:14px;
}
