﻿@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}
hr{
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #ccc;
    margin-bottom: 1em;
    padding:0
}
input,select{
    vertical-align:middle
}


/*================================================
 *  一般・共通設定
 ================================================*/

body {
	width:98%;
    margin:0 auto;
    font-size:16px;
    /* font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif; */
    /* font-family: 'Noto Sans JP', sans-serif; */
    /* font-family: 'HaranoAjiMincho', serif; */

  font-family: 'HaranoAjiMincho','Noto Serif JP', serif ;
    line-height:1.6;
    background-color: gainsboro;
}

a,.uline{
    color: inherit;
	text-decoration: underline dotted gray;

}

a:hover,.uline:hover {
    color: #B40431;
    text-decoration: underline;
}

h1 {
    margin-bottom:0.8em;
    font-size:28px;
    /* color:#c6341d; */
    color:#cf3700;
    border-bottom:3px solid #444;
    padding-left: 5px;
    padding-bottom: 5px;
    text-align: center;
    
    
}

h2 {
    
    font-size:24px;
    margin-bottom: 2px;
}
h2:before {
    font-size: 1.1;
    content: "\2B9F\00a0";
    color:#cf3700;
}

h3 {
    margin-bottom:0.25em;       
    font-size:20px;
    
}
h3:before {
    content:"\2714\00a0";
    color:#cf3700;
}

h4 {
    margin-bottom:0.25em;
    font-size: 20px;
}
h4:before {
    content:"\2B27\00a0";
    color:#cf0c0c;
}



h5 {

    font-size:22px;
    margin-bottom:0.25em;
    padding:2px;


}


h6 {
    margin-bottom:0.25em;
    padding:2px;
    font-size:18px;
    border-top:1px dotted #ddd;
    border-bottom:1px dotted #ddd;
    background:#f3f3f3;

}

p {
    margin:0 0 1em 0;
    
}

img {
    vertical-align:bottom;
}

em {
    font-weight:bold;
}

strong {
    font-weight:bold;
    color:#ef8100;
}

pre {
    margin:1em 0;
    padding:1em;
}

blockquote {
    margin-bottom:1em;
    padding:1em;
    border:1px dotted #ddd;
    border-left:5px solid #ddd;
}

ul,ol{
    margin:0 0 1em 0;
}
ul li {
    list-style:disc;
}
ol li {
    list-style:decimal;
}
li {
    margin-left:2em;
}

dl {
    margin-left:2em;
    margin-bottom: 1em;
}
dt {
    display: list-item; 
    list-style:disc;
    margin-bottom: 0.5em;
    font-size: 1.2em;
    font-weight: bolder;
    /* border-bottom:1px dotted #ddd; */
}

dd {
    display: list-item; 
   margin-left:1em;
   margin-bottom: 0.5em;
   list-style:disc;
   
}


table {
    width: 100%;
    margin-bottom:0.5em;
    border-collapse:collapse;
    border:1px solid #ddd;
    
}
th {
    padding:0.5em;
    text-align:center;
    vertical-align:middle;
    border:2px solid #c5c3c3;
   /* background:#95bbc6; */
    background:#f3f3f3;
     /* white-space: nowrap;  */
}

th.headline {
    background-color: #03000041;
}

td.headline {
    background-color: #03000027;
}


td {
    padding:0.8em;
    text-align:center;
    border:2px solid #ddd;
    line-height: 1.6; /* または 1.5 や 1.8 など *
   /*  white-space: nowrap; */
}


textarea{
    line-height: 1.6; /* または 1.5 や 1.8 など */

}



/*================================================
 *  汎用クラス
 ================================================*/

.ui-checkbox {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.ui-checkbox:before, .ui-checkbox:after {
	-webkit-box-sizing: inherit;
	        box-sizing: inherit;
}
.ui-checkbox .box {
	width: 90%;
	margin: 2em auto;
	text-align: left;
	border: 1px solid white;
	border-radius: 3px;
	background: #ffffff;
}
.ui-checkbox input[type=checkbox] {
	display: none;
}
.ui-checkbox label:focus,
.ui-checkbox label:hover,
.ui-checkbox label:active,
.ui-checkbox input:checked + label {
	color: #4169e1;
}
.ui-checkbox label:focus:before,
.ui-checkbox label:hover:before,
.ui-checkbox label:active:before,
.ui-checkbox input:checked + label:before {
	border-color: #4169e1;
	background: #ffffff;
}
.ui-checkbox label {
	font-size: 1em;
	line-height: 1;
	position: relative;
	display: block;
	overflow: hidden;
	padding: 1em 1em 1em 2.5em;
	cursor: pointer;
	-webkit-transition: all 0.15s ease;
	        transition: all 0.15s ease;
	white-space: nowrap;
	text-overflow: ellipsis;
	background: #ffffff;
}
.ui-checkbox label:before {
	position: absolute;
	top: 1em;
	left: 1em;
	width: 10px;
	height: 10px;
	content: '';
	border: 0.2em solid #cccccc;
}
.ui-checkbox input:checked + label:before {
	border-color: #4169e1;
	background: #4169e1;
}



.msg_center{
	
	 position: absolute;
  left: 33%;
  top: 5%;
  margin: auto;
}
 
 
.list {
    padding:0 0 0 2em;
}

.list li {
    margin:0;
    padding:0;
    list-style:none;
    text-indent:-1.3em;
}
.list li:before {
    content:"\002605\00a0";
    color:#ffc720;
}

.temp {
    clear:both;
    overflow:hidden;
    margin-bottom:50px;
}




.img {
    float:left;
    width:300px;
}

.text {
    float:right;
    width:450px;
}

.photo {
    padding:10px;
    box-shadow:rgba(113, 135, 164, 0.8) 0 3px 15px 0;
    background:#fff;
}



.center{
width: 98%;
  margin-left: auto;
  margin-right: auto;

}

.nomal_att_status{

	background:#e0ffff;

}

.sphol_att_status{
    /* -webkit-print-color-adjust: exact; */
	background:#fad5e9;

}

.wrong_att_status{


	background:#ffe4b8 ;
    /* -webkit-print-color-adjust: exact; */
    


}

.cont_title{
  margin-left: 1%;
  margin-right: 1%;

}

.update_date_time{
	
	font-weight:bold;
	color:#ff0101;
	
}

.unvisible{
	
	display:none;
	
}


/* IEで右端のXを非表示 */
input::-ms-clear {
    visibility:hidden
}


/* ホバーでマウスカーソルをポインタに*/

.point_cursor{
cursor: pointer;
}

.point_cursor:hover{
    text-decoration: underline;
    }

.login_form_windows{
	
	 margin: 0 auto;
  max-width: 500px;
}


td.td_sun{
	background:#fff0f5;
}
td.td_sat{
	background:#f0f8ff;
}
 
 
 .balloon_pop{

 background-color: #efefef;

 }
 
 
.time_cell{
	
	
	font-size:x-small;
}

.title_cell{
	
	
	font-size:small;
}

div#login_form input.radio_attend{
	display: none;
}
div#login_form label{
	display: block;
	float: left;
	cursor: pointer;
	width: 120px;
	margin: 0;
	padding: 12px 5px;
	border-right: 1px solid #abb2b7;
	background: #bdc3c7;
	color: #555e64;
	font-size: 14px;
	text-align: center;
	line-height: 1;
	transition: .1s;
}
div#login_form label:first-of-type{
	border-radius: 3px 0 0 3px;
}
div#login_form label:last-of-type{
	border-right: 0px;
	border-radius: 0 3px 3px 0;
}
div#login_form input[type="radio"]:checked + label {
	background-color: #1e90ff;
	color: #fff;
}

/*================================================
 *  ヘッダー
 ================================================*/
header {
    margin-top:30px;
    margin-bottom:50px;
}
header h1 {
    margin-bottom:30px;
}
h1 span {
    font-size:12px;
}

/*================================================
 *  グローバルナビゲーション
 ================================================*/
nav {
    width:96%;
      margin-left: 2%;
  margin-right: 2%;
    
    position:fixed;
    top:0;
    left:0;
    padding:5px 0;
    opacity:0.8;
    background:aliceblue;
    z-index:10;
}
nav ul {
    position:relative;
    float:left;
    left:50%;
    margin:0;
}
nav li {
    position:relative;
    left:-50%;
    float:left;
    list-style:none;
    margin:0;
    padding:0 20px;
}
nav li a {
    color:slategray;
    text-decoration:none;
}
nav li a:hover {
    color:crimson;
    text-decoration:underline;
}

/*================================================
 *  メイン
 ================================================*/
section {
    margin-bottom:100px;
}

/*================================================
 *  フッター
 ================================================*/
footer {
    clear:both;
    padding:20px 0;
    font-size:11px;
    text-align:center;
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
    position:fixed;
    bottom:15px;
    right:15px;
}
.totop a {
    display:block;
    text-decoration:none;
}
.totop img {
    background:#000;
}
.totop img:hover {
    background:#333;
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:779px) {
    body {
        box-sizing:border-box;
        width:100%;
        padding:0 10px;
    }
}



li.select2-results__option{
    list-style-type: none;


}

.login_form{
	
    margin: 0 auto;
    margin-top :2em;
    max-width: 500px;
}
.wide_helf{
	
    margin: 0 auto;
    margin-top: 2em;
    max-width: 800px;
}

.edit_self{
    margin: 0 auto;
    margin-top: 2em;
    max-width: 500px;
}
.wide_print{
	
    margin: 0 auto;
    margin-top: 0.5em;
    max-width: 1024px;
}

.wide{
	
    margin: 0 auto;
    margin-top: 2em;
    max-width: 90%;
}
.midwide{
    margin: 0 auto;
    max-width: 1024px;

}
div.line1_cent{
    clear: both;
    float: center;
    text-align:center;
    width: 100%;
}
div.line1_left{
    clear: both;
    float: center;
    text-align:left;
    width: 100%;
}

.center{

    text-align:center;

}
.right{

    text-align: right;
    display: block;

}

div.line3_left{
    clear: both;
    float: left;
    text-align:center;
    width: 300px;

}
div.line3_cent{
    float: left;
    text-align:center;
    width: 300px;

}
div.line3_rigt{
    float: left;
    text-align:center;

}
.gyouseki td{

    text-align:left;
}

.mark0 {

	background-color: #FFFF66;

	

}
.mark1 {

	background-color: #90ffff;

}	

.mark2 {

	background-color: #ff95ff;

}	
.mark3 {

	background-color: #79ff8f;

}

.mark4 {

	background-color: #fdc06f;

}	

.mark5 {

	background-color: #969dff;

}	

.mark6 {

	background-color: #fd9494;

}	

th.cat{

    font-size: 1.4em;
    /* font-weight: bold; */
    background-color: #d8d8d8;
}
.col{

    font-size: 1.2em;
    /* font-weight: bold; */
    /* background-color: #ddcac5; */
}
.s_cat{

    font-size: 1.2em;
    /* text-align: left; */
}
td.sum{

    font-size: 1.2em;
    text-align: right;
    margin-bottom: 5em;
}

td.sum_print{

    font-size: 0.8em;
    text-align: right;
    margin-bottom: 5em;
}
.hit_g{
    background-color: #f0eaea;
}

.number{
    width :1.4em;
}
.name{
    width:15em;
}
.sc_name{
    width :5em;

}

.date{
    width :7.5em;
}
.date_short{
    width :6em;
}
.date_long{
    width :20em;
}

.person_name_title{
    text-align: right;
    font-size:28px;
    margin-right: 10px;
}
.person_kakenhi_title{
    text-align: right;
    font-size:18px;
    margin-right: 10px;
}

/* .person_data_head{
    text-align: right;
    font-weight: bold;

} */

.info-wrapper {
  display: flex;
  justify-content: space-between;

  align-items: flex-end; /* ← ここがポイント！ */
}

.manual-list {
  text-align: left;
}

.login-info {
  text-align: right;
  white-space: nowrap;
  font-weight: bold;
}

.peerreview{
    font-size: 0.8em;
    padding: 0.1em;
    padding-left: 0.4em;
    padding-right: 0.4em;
    /* font-weight: bold; */
    color: #6091d3;/*文字色*/
    background: #FFF;
    border: solid 1px #6091d3;/*線*/
    border-radius: 6px;/*角の丸み*/
    white-space: nowrap;

}

ol h6:nth-child(even){
	background: #fcfcfc;
}
.checkbox{
    margin-left: 3em;
}

div.offset2em{
    margin-left: 2em;
    margin-right: 1em;
    margin-bottom: 2em;
}
input , button{

    accent-color: #242424;
}


/* ボタンの基本スタイル */
input[type="button"], input[type="submit"] ,button {
    background-color: snow; /* 背景色を透明に */
    color: black; /* 文字色を黒に */
    /* padding: 6px 12px; パディング */
    text-align: center; /* テキストの中央揃え */
    text-decoration: none; /* テキストの装飾をなしに */
    display: inline-block; /* インラインブロック表示 */
    font-size: 16px; /* フォントサイズ */
    /* margin: 6px 3px; マージン */
    cursor: pointer; /* カーソルをポインタに */
    border: 2px solid black; /* 黒いボーダー */
    border-radius: 2px; /* 角を少し丸く */
    transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease; /* トランジション */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* ボックスシャドウ */
}

/* ホバー時のスタイル */
input[type="button"]:hover , input[type="submit"] :hover {
    background-color: black; /* ホバー時の背景色を黒に */
    color: white; /* ホバー時の文字色を白に */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* ホバー時のシャドウ */
    transform: scale(1.05); /* ホバー時に少し大きくする */
}

/* フォーカス時のスタイル */
input[type="button"]:focus, input[type="submit"] :focus {
    outline: none; /* フォーカス時のアウトラインをなしに */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); /* フォーカス時のシャドウ */
}



/* .col2{
    column-count: 2;

} */
.inner_col2 {
    display: inline-block;
    width: 45%;
    vertical-align: top;

  }

.main{
    background-color: #ffeed8

}
img.logo{
    height: 1.3em;
    margin-bottom: 0.3em;
    margin-right: 0.2em;
    
}

div.fix{
    position: fixed;
}
.annotation{
    font-size: 0.7em;
}

.logo_text_small{
    text-align: right;
    display: block;
    color:#cf0c0c;
}
.login_form_block{
    
    margin-left: 5em;
    margin-right: 5em;
}


span.msgstr{
    text-align: left;
}

span.backlink{

    text-align: right;
}

.photo_round {
    padding:10px;
    box-shadow:rgba(113, 135, 164, 0.8) 0 3px 15px 0;
    background:#fff;
    border-radius: 10px; /* 角を丸める */
}


.left{
    text-align: left;
}




.alp li {
  margin-left: 2em;
  list-style-type: upper-alpha; 
}


.romannum li {
    list-style-type: upper-roman;
}


tr.left td {
  /* ここにスタイルを追加 */
  text-align: left; /* 文字を左寄せにする */
}


td.edit_self_input{

    text-align: left;
}

td.edit_self_input form > * {
    margin-bottom: 1em;
}

/* <img class="logo" src="../img/otani_logo_large.png"><a href="./">大谷大学教育研究業績管理システム</a>
の下線を消す */
img.logo + a {
  text-decoration: none;
  
}
.ui-datepicker {
  margin-top: 0px; /* 表示位置を上にずらす */
  z-index: 9999;
  box-shadow: 0 3px 10px rgba(0,0,0,0.5), 0 0 4px rgba(0,0,0,0.2);
  border: 1px solid #ddd; /* やわらかい枠線で視認性UP */
  border-radius: 8px; /* 少し丸みをつけてUI向上 */

}



.year-only .ui-datepicker-calendar {
  display: none;
}
.year-only .ui-datepicker-month {
  display: none;
}



/* admin インターフェイス */
.adm_menu{
  text-align: left;   /* 左寄せ */
  font-size: 1.5em;     /* フォントサイズを2emに */


}
h1.uline{
    color:#cf3700;
}
.adm_menu  li{  
    list-style: none;
}
.adm_menu li.p_li li{
    padding-left: 25%;
}
div#admin_top th{
    font-size: 1.3em;
    font-weight: 600; /* 通常: 400, 太字: 700 */

}
div#admin_top td{
    text-align: left;   /* 左寄せ */
   

}



/* tabsorter */
#sumlist {
  font-size: inherit; /* または 1rem や 100% でもOK */
}


.floating-nav {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: rgba(0, 0, 0, 0.31);
  text-align: center;
  padding: 10px;
  border-radius: 8px;
  z-index: 9999;
}

.floating-nav button {
  display: inline-block; /* 🔸左右中央揃えにする */
 
  margin: 5px 0;
  padding: 8px 16px;
  background-color: #f0eeee;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-weight: bold;
}

.floating-nav button:hover {
  background-color: #4d4c4c;
}


html {
  scroll-behavior: smooth;
}


.highlight-on-filled:not(:placeholder-shown) {
  background-color: #ffe4e4;
}
.tabreload{
    
    margin-top: 0.5em;
    background-color: #e6e6e6;
}


.ui-tabs-panel, .ui-widget-content {
  font-size: 0.9em; /* or px単位 */
}



#person,#sysinfo,#logfillter,#addremove{

    font-size: 0.9em; /* or px単位 */
}

#ui-datepicker-div.year-only .ui-datepicker-calendar,
#ui-datepicker-div.year-only .ui-datepicker-month {
  display: none !important;
}
#manual_top li{
    font-size: 1.2em;
    margin-bottom: 1em;

}

ul.fix{
  position: sticky;
  top: 0;
  border-width: 0;
  background-color: white;  /* 背景色を指定しないと下の内容が透けることがある */
  z-index: 999;             /* 他要素より前面に出す */
  margin: 0;
  padding: 10px;


}

#manual_top #tabs img{
    max-width: 500px;
    height: auto;
}
#manual_top h3,#manual_top h2{
    font-weight: bold;
}

.thumb {
  max-width: 300px;
  cursor: pointer;
  border: 1px solid #ccc;
  transition: transform 0.2s;
}
.thumb:hover {
  transform: scale(1.05);
}

.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.8);
}

.modal-content {
  margin: auto;
  display: block;
  max-width: 90%;
  max-height: 90%;
  box-shadow: 0 0 10px #fff;
}

.close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
}


/* Magnific Popup内の画像を制限＆シャドウ付きでスタイル */
.mfp-img {
  display: block;
  margin: auto;
  max-width: 70vw;
  max-height: 70vh;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  border-radius: 8px;
}

.mfp-preloader {
  display: none !important;
}


html, body, .mfp-container {
  height: 100%;
}

#tabs.ui-widget,
#tabs.ui-widget * {
    font-family: 'HaranoAjiMincho', 'Noto Serif JP',serif ;
}

:lang(zh-Hans) {
  font-family: "Noto Serif SC", serif,;

  
}
:lang(zh-Hant) {
  font-family: "Noto Serif TC", serif;
}


#privacy_policy {
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 600px;
  height: auto;
  background-color: white;
  backdrop-filter: blur(3px);
  z-index: 1000;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
}


.popup-inner {
  background: white;
  padding: 20px;
  max-width: 600px;
  margin: 10% auto;
  border-radius: 8px;
  box-shadow: 0 0 30px rgba(0,0,0,0.4);
  transform: scale(0.95);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.popup-inner.show {
  transform: scale(1);
  opacity: 1;
}


@media print {

    
             .photo {
                padding:10px;
                box-shadow:unset;
         
                background:#fff;
            }

            .print-no-area {
                display: none; /* 印刷時に表示しない要素 */
            }
            .print-area {
                display: block; /* 印刷時に表示する要素 */
            }

            
        }