@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;
}
a:hover{
	opacity:0.6;
}
a{
    text-decoration: none;
	color:inherit;
}
li{
	list-style:none;
}
img{
	max-width:100%;
	height:auto;
}
input,
textarea{
	font-size:16px;
}
.sp{display:initial;}
.pc{display:none;}

header.internal{
	height:62px;
}
header.internal img{
	height: 46px;
	display:inline-block;
	margin-top: 10px;
}
header.internal .header-spmenu img{
	width:36px;
	height:36px;
	margin-top:0;
}

.note{
	color: #ff0033;
	line-height: 1.5;
}

.notfound{
	height: 44vh;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-top: 100px;
}

.mypage .title-style span{
	display: inline-block;
	border-bottom: 5px solid #CCC;
	padding: 1% 3%;
	margin-bottom: 1rem;
}

.niwatube{
	margin-top: 82px;
	overflow: hidden;
	padding: 0 0.5rem;
	font-size: 18px;
	line-height: 1.5;
}
.niwatube_contents h3{
	text-align:center;
	font-size:150%;
}
.niwatube img{
	width: 100%;
	height: auto;
	max-height: 50vh;
	object-fit: contain;
}
.niwatube_contents a{
	color:#2563eb;
}
.niwatube .content{
	margin-bottom:3rem;
}
.niwatube-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.niwatube-list li{
	width: 50%;
	padding: 5%;
}
.niwatube_cover{
	display: flex;
	background: #ffffff;
	border: 1px solid #ccc;
	height: 190px;
	width: 90%;
	box-shadow: 5px 5px 10px 0px #d1d1d1;
	align-items: center;
	justify-content: center;
}
.niwatube_menu {
	text-align:center;
	margin-bottom: 1.5rem;
}
.niwatube_menu li{
	display: inline-block;
	padding: 0.3rem;
	margin: 0.2rem;
	background: #0d0f64;
}
.niwatube_menu li a{
	color: #fff;
	display: block;
	font-size:0.8rem;
	margin-top: -3px;
}

.niwatube_search form{
	padding: 5%;
	display: flex;
	align-content: center;
}
.niwatube_search form input{
	width: 80%;
	font-size: 150%;
	border: 1px solid #999;
}
.niwatube_search form button{
	width: 9%;
	height: 2rem;
	background: transparent;
	margin-left: 5px;
}
.president_comment .content_title{
	width:75vw;
	padding-bottom: 8vw;
	display:block;
}
.president_comment .president{
	position:absolute;
	width: 26vw;
	right:0;
}

.subject{
	margin-bottom: 1.5rem;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
.subject .subject_content,
.subject .author_info{
	font-size:80%;
	max-width: 50%;
	overflow: hidden;
}

.subject .author_info img{
	margin:0 auto;
}
.five_comment_post{
	margin-bottom:3rem;
}
.five_comment_content img.fc_image{
	width: 100vw;
	object-fit: cover;
}
.five_comment_post .author_info{
	width:auto;
	float:left;
	margin:1rem;
	margin-right:1.5rem;
}
.niwatuber{
	margin: 1rem 0;
}
.niwatuber_post_thumbnail{
	width: 100%;
	display: block;
}
.niwatuber_post{
	clear:both;
	padding-bottom: 1rem;
}

.basic_list td{
	padding: 0.2rem;
	line-height: 1.2;
}
.basic_list td.title{
	font-weight: 700;
}
span.report,
span.approval{
	padding:3px;
	display: block;
	white-space: nowrap;
	width: 100%;
	text-align: center;
	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;
}

.report-contents{
	font-size: 16px;
	line-height: 1.8;
	clear: both;
	margin-top: 3rem;
	padding-bottom: 12vw;
  transition: 0.3sease-in-out;	
}
.report-contents.active{
	padding-bottom: 80vw;
}
.report-contents .tpo{
	font-size: 80%;
	border-bottom: 1px solid #888;
}
.report-contents .approved{
	max-height: 180px;
	overflow: auto;
}
#confirmation-form {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: #ffffffde;
    padding: 0;
    backdrop-filter: blur(3px);
    transition: transform 0.3s ease-in-out;
    transform: translateY(calc(100% - 30px)); /* 最初は「▲」だけ見せる */
}
#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%;
}

.documents .title-info{text-align: center;display: block;}
.documents table{
	width:100%;
	border-collapse:collapse;
	margin-top: 2rem;
}
.documents table td{
	border: 1px solid #888;
	padding: 0.5rem;
}
.documents table li{
	display:inline-block;
}
.documents table .attached li{
	display:block;
}
.documents table .attached_images li,
.attached_docs{
	clear:both;
	display:block;
	padding: 0.5rem;
}
.attached_images img{
	width: 40%;
	float: left;
	margin-right: 0.5rem;
	height: 12vh;
	object-fit: cover;
}

.documents table select,
.documents table textarea{
	width:100%;
	background:#eee;
	padding:0.5rem;
}
.documents table textarea{
	height: 6vh;
}
.approved-info td:first-child{
	width: 18%;
}
.documents button,
#form-content button{
	width: 100%;
	text-align: center;
	display: block;
	margin:1rem auto;
	color: #FFF;
	vertical-align: middle;
	background-color: #10218b;
	padding: 1rem;
}
.documents 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;
}
.single-workflow footer,
.single-workflow #copyright,
.single-workflow .noprint{
	display: none;
}

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

.catch.mypage .title-style-m{
	padding-left: 90px;
}
.catch img.user_pic{
	border-radius:100%;
	width: 54px;
	height: 54px;
	object-fit:cover;
	position: absolute;
	left: 20px;
	top: 6px;
}
.user_info{
	margin-top: 1rem;
}
.user_info input{
	border:1px solid #999;
	margin-bottom:0.5rem;
	width: 100%;
}
.user_info input[type="file"]{
	border:none;
}
.user_info button{
	width: 100%;
	text-align: center;
	display: block;
	margin:1rem auto;
	color: #FFF;
	vertical-align: middle;
	background-color: #10218b;
	padding: 1%;
}
.user_info button:hover{
	opacity:0.8;
	cursor:pointer;
}

.mypage .title-info{
	font-size: 120%;
	font-weight: 700;
}
.mypage .title-info img{
	width: 20px;
	margin-right: 10px;
}
.internal-information {
	width: 100%;
	margin: 3% auto 8%;
}
.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%;
	border-bottom: 1px solid #CCC;
	padding: 2% 0;
}
.internal-information > dd dl dt {
	width: 100%;
	display: block;
	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%;
	vertical-align: middle;
}
.internal-information > dd dl dd  img{
	float:right;
	/*border-radius:100%;*/
	width: 80px;
	height: 80px;
	margin-top: -30px;
}
.internal-information > dd dl dd  a{
	display:block;
}

.ui-menu{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.ui-menu li,
.niwatube-post a{
	border: 1px solid #aaa;
	border-radius: 30px;
	height: 40px;
	padding: 1%;
	display: flex;
	align-items: center;
	width: 100%;
	padding-left: 5%;
	margin-bottom: 10px;
	background: #fff3e1;
	position: relative;
}
img.ui_ico{
	width: 24px;
	margin-right: 10px;
	vertical-align: middle;
	display: inline-block;
}
.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"],
.common-form input[type="checkbox"]{

}
.common-form button,
.common-form .button,
.acf-form-submit input{
	width: 100% !important;
	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;
}
#acf-form .button{
	width: auto;
}
#acf-form .acf-table td{
}
.ui-datepicker-trigger{
	position:absolute;
	right: 5px;
	top: 3px;
}
five_comment_content .fc_image{
	width:100vw;
}
.author_info{
	text-align:center;
	line-height: 1.2;
	width: 100%;
	margin: 1rem auto;
	font-size: 80%;
}
.author_info img{
	border-radius:100%;
	width: 100px;
	height: 100px;
	object-fit: cover;
	border: 1px solid #aaa;
	display: block;
	margin: 0 auto;
}

#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-item img {
    max-width: 100%; /* 画像をコンテナ内に収める */
    object-fit: cover;
}

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

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

.newcomer_post {
	border: 1px solid #10218b;
	border-radius: 10px;
	padding: 1rem;
	margin-bottom: 1rem;
}
.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;
}
.newcomer_info .faceicon img{
  width: 60px; /*任意のサイズ*/
  height: 60px;
  max-width: initial;
  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{
	padding-top: 5rem;
}
.next_issue{
    background-image: url(https://niwachuzo.co.jp/wp-content/themes/niwachuzo/img/niwatube/next.png);
    background-size: 100% 100%;
    width: calc(100% + 2.4rem);
    margin-left: -1rem;
    text-align: center;
    color: #fff;
}
.next_issue h3 + p{
	padding: 1rem 2.4rem 6rem;
	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: 96%;
	height: 90%;
	padding: 2%;
}

.workflow .title-style{
	font-size: 1.2rem;
	text-align:left;
	border-bottom: 3px solid #CCC;
	font-weight: 700;
}
.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;
}

#calendar{
	min-height:80vh;
}
#calendar-filters{
	margin: 1rem 0;
}
.fc-header-toolbar{
    width: 100%;
    position: relative;
    margin: 0 auto;
}
.fc-event div{
	width: 100%;
}
.fc-event:hover {
	opacity: 1;
	cursor: pointer;
}
.fc-customListMonth-view{
	max-height: 75vh;
	overflow: auto;
}
#global-add-event-button{
	display: flex;
	position: fixed;
	z-index: 9999;
	background: #444444d4;
	color: #fff;
	height: 70px;
	width: 70px;
	right: 17px;
	bottom: 20px;
	border-radius: 100%;
	justify-content: center;
	align-items: center;
	font-size: 2.8rem;
}
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;
}
.add_event_bt{
	width: 12px;
	height: 12px;
	background: #eeeeeea6;
	position: absolute;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	right: 5px;
	bottom: 5px;
	z-index: 999;
}
.fc-list-table .add_event_bt{
	right: 3px;
	height: auto;
	top: 4px;
	width: 120px;
	background: #fff;
	font-size: 0.7rem;
	border-radius: 4px;
}
#fc-dom-1 .add_event_bt{
	width: 100px;
	position: absolute;
	right: 0px;
	height: 30px;
	top: -42px;
	font-size: 0.8rem;
	border-radius: 4px;
	z-index: 999;
}
.fc-list-day-cushion span{
	color:#888;
	font-weight: 400;
	float:left;
	margin-left:10px;
}
.add_event_bt:hover{
	background: #fdc7c7;
	cursor: pointer;
}
.fc .fc-toolbar-title,
.fc .fc-button .fc-icon{
	font-size: 0.8rem;
}
.fc .fc-toolbar-title{
}
.fc-direction-ltr .fc-list-day-side-text, .fc-direction-rtl .fc-list-day-text{
	float: left;
	margin-left: 0.5rem;
}

#calendar .fc-daygrid-day-top{
	display: flex;
	flex-direction: initial;
}
.event_item{
	padding: 0 2px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	overflow: hidden;
	border: 1px solid #ccc;
}
.event_item .event_time{
	margin-right: 0.5rem;
}
.event_title{
	display: inline-block;
	min-width: 1.3rem;
	overflow: hidden;
	margin-right: 0.5rem;
}
.fc .fc-daygrid-day-frame{
	padding-bottom: 20px;
}
.fc-list-event-time{
	width: 14.5% !important;
	white-space: normal !important;
	padding-right: 0 !important;
}
.event_author{
	white-space: nowrap;
}
.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;
}

#sc_type-filters,
#dep-filters{
	display: flex;
	flex-wrap: wrap;
}
#sc_type-filters label,
#dep-filters label{
	margin: 3px;
	padding: 0px 3px;
	border-radius: 5px;
	white-space: nowrap;
}
#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;
}

.event-search-container {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

#event_search_input {
    width: 80%;
    padding: 6px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    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: 62px;
    right: -100%; /* 初期状態で画面外に */
    width: 300px;
    height: 100vh;
    background-color: #fafafae3;
    box-shadow: -2px 0 8px rgba(0,0,0,0.1);
    padding: 16px;
    overflow-y: auto;
    z-index: 9999;
    transition: right 0.3s ease; /* スライドアニメーション */
    backdrop-filter: blur(3px);
}

/* 開いた状態 */
#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;
	align-items: center;
	margin-left: 7px;
}
#participant-filters{
        justify-content: space-between;
}
#all-dep .all-dep-toggle {
  position: relative;
  display: block;
  width: 40px;
  height: 20px;
  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: 0px;
  width: 19px;
  height: 19px;
  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% - 19px);
}
.page-template-page-shareschedule .fancybox-content,
.page-template-page-shareschedule_list .fancybox-content{
	min-width: 90%;
	max-height: 90vh;
}

#participant-filter{
	width:85%;
}
#participant-filters .select2 .selection:after{
	content:"";
  display: block;
  clear: both;	
}
#participant-filters .select2-selection__rendered{
	float:left;
	width: auto;
}
#participant-filters .select2 .select2-selection:after{
	content:"";
  	display: block;
  	clear: both;	
}
#participant-filters .select2-container{
	margin-left: 0.5rem !important;
}
#participant-filters .select2-selection__choice__display{
	margin-left: 1.5rem;
}
#participant-filters .select2-container--default .select2-search--inline .select2-search__field{
	width: 70vw !important;
}

#change_history.noprint{
	display: block !important;
	margin-bottom: 60px;
}

.library .contents-inner{
	max-width: 100%;
}
.file-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.file-item {
  width: calc(100% / 3 - 7px);
  text-align: center;
  position:relative;
}
.file-thumb {
  width: 100%;
  height: 100px;
  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-direction: column;
	margin-top: 10px;
}
.library .ctrl_ui form div{
	width: 100%;
	margin-bottom: 5px;
	display: flex;
	align-items: center;
}
.library .ctrl_ui form div label{
	display:inline-block;
	width: 30%;
	text-align:right;
	font-size: 90%;
	line-height: 1.5;
}
.library input,
.library select,
.library textarea{
        width: 65%;
        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-start;
	flex-direction: row;
}
#view-mode-toggle{
	width:100%;
	display: flex;
	justify-content: flex-start;
	margin-bottom: 0.5rem;
}
#view-switch label{
	padding:5px 10px;
	border-radius:5px;
}
.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{
	text-align: center;
	margin-bottom: 10px;
}
#drop-area{
	display: none;
}

.file-grid.list-mode {
  display: block;
}
.file-grid.list-mode .file-item {
  display: block;
  border-bottom: 1px solid #ccc;
  padding: 10px;
  width: auto;
}
.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;
}

#paste-area img{
    display: none;
}
.preview-wrapper {
  position: relative;
  display: inline-block;
  margin: 5px;
}
.preview-img {
  width: 100px;
  height: auto;
  border: 1px solid #ccc;
  background: #ccc;
}
.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: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 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: 2.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: 1.4vw;
	text-align: left;
}
.preview .report-contents{
	font-size: 1.56vw;
	margin: 0;
	line-height: 1.4;
}
.preview .report-contents .tpo{
	border-bottom:none;
	font-size: inherit;
}
.preview .report-contents table{
	margin-top: 3.4vw;
}
.preview .report-contents table td{
	padding: 1.2vw;
	border: 1px solid #ccc;
}
#breaks-modal-content {
  background: #fff;
  border-radius: 10px;
  margin: 12vh 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: 84vw !IMPORTANT;
  height: 116vw !IMPORTANT;
  box-sizing: border-box;
  position: relative;
  overflow: auto;
}

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

#dropzone{
	border: 1px dashed #aaa;
	padding: 1rem;
	text-align: center;
}
#dropzone:hover,
.file-select:hover,
#dropzone.dragover{
	cursor:pointer;
	background:#eee;
}
.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{
        position: relative;
        border: 1px solid #aaa;
        border-radius: 30px;
        padding: 0 10px;
        background: #fff3e1;
        text-align: center;
        margin-left: 1rem;
        font-size: 80%;
        top: 3px;
}
.library .ctrl_ui .tag a img{
	width:20px;
}


/* ==== 確認進捗ウィジェット ==== */
.conf-progress{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  max-width: 100%;
  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 !important;
  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;
}
