body,td,th {
	font-size:14px;
	font-family: -apple-system,BlinkMacSystemFont,Helvetica Neue,Hiragino Kaku Gothic ProN,"メイリオ",meiryo,sans-serif;
	line-height: 160%;
}
a { text-decoration:none; }
a:hover { text-decoration:underline; color:#008080; }
.pass_box{
    position: relative;
    max-width:250px;
}
.toggle-pass{
    position:absolute;
    top:50%;
    right: 13px;
    transform: translateY(-50%);
}
.article-content{
	background:rgba(200,200,200,0.05);
	box-shadow: 0 1px 2px rgba(0,0,0,0.2);
	padding:8px;
	font-size:90%;
	margin-top: 4px;
}
.likeClick { background-color: #ffffff; border: 1px solid #f1f1f1;padding: 3px 12px;cursor:pointer;color:#666666;font-size:16px;border-radius:6px; }
.likeClick i { padding-right:5px; }
.over-lay {
  content: '';
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #999;
  opacity: 0.7;
}
.modalPost {
  display: none;
   position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 20px;
    border-radius: 15px;
    width:70%;
    max-width:400px;
}
.modalPost.active,
.over-lay.active {
  display: block;
}

.poll-results {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 10px;
}

.poll-option {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.poll-bar-select {
  display: flex;
  align-items: center;
  max-width: 100%;
  width:350px;
  box-sizing:border-box;
  height: 30px;
  overflow: hidden;
  border-radius: 5px;
  border: 1px solid #999999;
  color:#555555;
}

.poll-bar-select:hover {
  background-color: #eeeeee;
}

.poll-bar-container {
  display: flex;
  align-items: center;
  width: 300px;
  height: 30px;
  overflow: hidden;
  border-radius: 5px;
}

.poll-bar {
  height: 100%;
  background-color: #87ceeb;
}

.poll-label {
  font-size: 14px;
  margin-left: auto; /* 追加された修正 */
  right: 5px; /* 追加された修正 */
}

.poll-percentage {
  position: absolute;
  margin-left: 7px;
  font-size: 13px;
  font-weight:bold;
}

.res_waku {
	border-top: thin solid #999;
	margin-left:50px;
	margin-top:22px;
	margin-bottom:30px;
	width:95%;
}
.layer {
  box-shadow:
    0 1.9px 2.5px rgba(0, 0, 0, 0.057),
    0 5px 6.1px rgba(0, 0, 0, 0.076),
    0 8.1px 11.4px rgba(0, 0, 0, 0.086),
    0 17.2px 19.8px rgba(0, 0, 0, 0.092);
}
.rwd {
	margin-left:5px;
	clear: both;
	width:95%;
}
.rwi {
	margin-top:10px;
	margin-bottom:2px;
}

.lity{z-index:9990;position:fixed;top:0;right:0;bottom:0;left:0;white-space:nowrap;background:#0b0b0b;background:rgba(0,0,0,0.9);outline:none !important;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}.lity.lity-opened{opacity:1}.lity.lity-closed{opacity:0}.lity *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lity-wrap{z-index:9990;position:fixed;top:0;right:0;bottom:0;left:0;text-align:center;outline:none !important}.lity-wrap:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-0.25em}.lity-loader{z-index:9991;color:#fff;position:absolute;top:50%;margin-top:-0.8em;width:100%;text-align:center;font-size:14px;font-family:Arial,Helvetica,sans-serif;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}.lity-loading .lity-loader{opacity:1}.lity-container{z-index:9992;position:relative;text-align:left;vertical-align:middle;display:inline-block;white-space:normal;max-width:100%;max-height:100%;outline:none !important}.lity-content{z-index:9993;width:100%;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;-o-transition:-o-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease, -webkit-transform .3s ease, -o-transform .3s ease}.lity-loading .lity-content,.lity-closed .lity-content{-webkit-transform:scale(.8);-ms-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}.lity-content:after{content:'';position:absolute;left:0;top:0;bottom:0;display:block;right:0;width:auto;height:auto;z-index:-1;-webkit-box-shadow:0 0 8px rgba(0,0,0,0.6);box-shadow:0 0 8px rgba(0,0,0,0.6)}.lity-close{z-index:9994;width:35px;height:35px;position:fixed;right:0;top:0;-webkit-appearance:none;cursor:pointer;text-decoration:none;text-align:center;padding:0;color:#fff;font-style:normal;font-size:35px;font-family:Arial,Baskerville,monospace;line-height:35px;text-shadow:0 1px 2px rgba(0,0,0,0.6);border:0;background:none;outline:none;-webkit-box-shadow:none;box-shadow:none}.lity-close::-moz-focus-inner{border:0;padding:0}.lity-close:hover,.lity-close:focus,.lity-close:active,.lity-close:visited{text-decoration:none;text-align:center;padding:0;color:#fff;font-style:normal;font-size:35px;font-family:Arial,Baskerville,monospace;line-height:35px;text-shadow:0 1px 2px rgba(0,0,0,0.6);border:0;background:none;outline:none;-webkit-box-shadow:none;box-shadow:none}.lity-close:active{top:1px}.lity-image img{max-width:100%;display:block;line-height:0;border:0}.lity-iframe .lity-container,.lity-youtube .lity-container,.lity-vimeo .lity-container,.lity-facebookvideo .lity-container,.lity-googlemaps .lity-container{width:100%;max-width:964px}.lity-iframe-container{width:100%;height:0;padding-top:56.25%;overflow:auto;pointer-events:auto;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-overflow-scrolling:touch}.lity-iframe-container iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;-webkit-box-shadow:0 0 8px rgba(0,0,0,0.6);box-shadow:0 0 8px rgba(0,0,0,0.6);background:#000}.lity-hide{display:none}

.follow-me {
  list-style: none;
  margin: 0 0 -8px;
  overflow: hidden;
  padding: 0;
}
.follow-me li {
  float: left;
  margin: 0 10px 10px 0;
  padding: 0;
}
.follow-me li a::before {
  -webkit-border-radius: 2px;
  border-radius: 2px;
  color: #fff;
  display: inline-block;
  font-family: FontAwesome;
  font-size: 16px;
  height: 20px; /* Button height */
  line-height: 20px; /* Button height */
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  text-align: center;
  width: 40px; /* Button width */
  padding-left:10px;
  padding-right:10px;
}
.follow-me li a:hover::before {
  opacity: 0.7;
}

.follow-me li a[href*="facebook.com"]::before       { background-color: #3b5998; content: "\f39e"; }
.follow-me li a[href*="twitter.com"]::before        { background-color: #000000; content: "\e61b"; }

.c_tb{
margin:0;padding:0;
}
ul.c_tb li{
	float:left;
	text-align:center;
	padding: 1px;
}
a.edit_icon {
  display:block;
  float: right;
  background: url("../image/edit_icon.png") no-repeat;
  background-size: 18px 18px;
  padding-right:10px;
  padding-top:15px;
  height:18px;
  width:18px;
  opacity:0.15;
}

.edit_icon:hover {
  opacity:0.5;
}
.c_wk {
	list-style-type:none;
	text-align:center;
	padding:2px;
	width:10px;
	height:10px;
	border:2px #eeeeee solid;
	margin:2px;
	margin-right:1.9px;
	margin-left:0;
}
.c_in {
	width:10px;
	height:10px;
}

.wrapper{
	width: 90% ;
	margin: 0 auto ;
	padding: 0 ;
}
.m_waku{
	padding:10px;
}

/* スマホだけに適用するCSS */
@media screen and ( max-width:800px )
{
	.wrapper
	{
		width: auto ;
		padding: 0 1px ;		/* 左右の余白 */
	}
	.commentary
	{
		display: none ;		/* 非表示にする */
	}
	.m_waku{
		padding:2px;
	}
}

.blinking{
	-webkit-animation:blink 1.2s ease-in-out infinite alternate;
    -moz-animation:blink 1.2s ease-in-out infinite alternate;
    animation:blink 1.2s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

.kage{
    text-shadow: 2px 2px 0 #cccccc;
}

#modal-content {
	margin: 0 ;
	padding: 20px 30px ;
	border: 1px solid #eeeeee;
	background: #fff ;
	position: fixed ;
	display: none ;
	z-index: 2 ;
	color:#444444;
	font-size:15px;
	border-radius: 8px;
	font-family: -apple-system,BlinkMacSystemFont,Helvetica Neue,Hiragino Kaku Gothic ProN,"メイリオ",meiryo,sans-serif;
}
  
#modal-overlay {
	z-index: 1 ;
	display: none ;
	position: fixed ;
	top: 0 ;
	left: 0 ;
	width: 100% ;
	height: 120% ;
	background-color: rgba( 0,0,0, 0.65 ) ;
}
.indent1 { padding-left:3em; }
.indent2 { text-indent:5%; }
.spc { 
	padding-left:15px;
	margin-bottom:10px;
	margin-top:16px;
}
.spc p{ margin-top:0;margin-bottom:4px; }
.sp_spc p{ margin-top:0;margin-bottom:4px; }
.n { font-size:16px;padding-left:3px;padding-right:3px; }

.bbst_r {
	margin: 3px;
	padding: 5px;
	height: 15px;
	background-color: #ffffff;
	color: #666;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-top-color: #eee;
	line-height: 15px;
}

.b {
	background-color:#FFFFFF;
	color:#000000;
	font-family:Verdana,Helvetica,Arial;
}
.f {
	background-color:#FFFFFF;
	color:#000000;
}
.bbst {
	margin-top: 8px;
	margin-left: 8px;
}
.bbs_co {
	margin: 3px;
	padding: 5px;
	height: 15px;
	background-color: #ffffff;
	color: #666;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-top-color: #eee;
	line-height: 15px;
}
.submitbtn{
  position: relative;
  border: 1px solid #eeeeee;
  border-radius: 5px;
  background-color: #666666;
  color: #fff;
  padding: 10px 50px;
  font-size: 13px;
  cursor: pointer;
}
.submitbtn:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 6px;
  height: 6px;
  margin: -4px 0 0 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.submitbtn:hover{
	opacity: 0.85;
}

.form-container {
display: flex;
flex-direction: column;
width: 100%;
max-width:350px;
margin: 0 auto;
}

.form-group {
display: flex;
align-items: center;
margin-bottom: 10px;
}

.form-group input[type="text"],
.form-group input[type="submit"] {
padding: 10px;
font-size: 16px;
border: 2px solid #ccc;
border-radius: 4px;
}

.form-group input[type="text"] {
flex: 1;
margin-right: 10px;
}

.form-group input[type="submit"] {
cursor: pointer;
background-color: #666666;
color: white;
border: none;
}

.form-group input[type="submit"]:hover {
background-color: #0056b3;
}

.checkbox-group {
margin-top: 4px;
}

.modal {
display: none; /* デフォルトでは非表示 */
position: fixed; 
z-index: 1; 
left: 0;
top: 0;
width: 100%; 
height: 100%; 
overflow: auto; 
background-color: rgb(0,0,0); 
background-color: rgba(0,0,0,0.4); 
padding-top: 60px;
}

/* モーダルコンテンツ */
.modal-content {
    background-color: #fefefe;
    margin: 5% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 400px;
    border-radius: 8px;
    color:#444444;
}

/* 閉じるボタン */
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}

.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}

input#p_btn { -webkit-appearance: none;cursor:pointer;letter-spacing: 2px;padding:5px 20px;background: #eeeeee; color: #333333; border: solid thin; }input#p_btn:hover { background: #fff; color: #333; border: solid thin #333; transition: all 0.1s; }input#p_btn:active { background: #666666; color: #fff; }

  .upload-container {
    width: 400px;
    padding: 2px;
    text-align: center;
  }

  .upload-container h2 {
    font-size: 20px;
    margin-bottom: 20px;
    color: #333;
  }

  .upload-area {
    padding: 7px 10px;
    border: 2px dashed #666666;
    font-size:14px;
    background: rgba(240, 240, 240, 0.3);
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s, border-color 0.3s;
    margin-bottom:5px;
  }

  .upload-area.dragover {
    background-color: #eef1ff;
    border-color: #3b3bff;
  }

  .upload-area p {
    margin: 0;
    font-size: 14px;
    color: #666;
  }

  .file-list {
    text-align: left;
    display: none;
    margin-top: 5px;
  }

  .file-list ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
  }

  .file-list li {
    background: rgba(240, 240, 240, 0.8);
    padding: 10px;
    margin-bottom: 5px;
    border-radius: 4px;
    font-size: 14px;
    color: #333;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .file-list img {
    max-width: 50px;
    max-height: 50px;
    margin-left: 10px;
    border-radius: 4px;
  }

  .error-message {
    color: red;
    font-size: 14px;
    display: none;
  }
  
  .box {
	display: table;
	width:100%;
}
.box .image {
	display: table-cell;
	width: 240px;
	height: 200px;
    background: rgba(255,255,255,0.7);
	vertical-align: middle;
	padding:8px;
	text-align: center;
}
.image img{
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
a:hover img {
  opacity: 0.7;
}
.imageSize {
	width:100%;
	height:100%;
	object-fit: cover;
}

.image-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 12px; /* 隙間を追加 */
    padding: 0px;
    width:95%;
    margin-top:2px;
}

.image-item {
    position: relative;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    overflow: hidden; /* 子要素がはみ出さないようにする */
}

.image-item img {
    width: 100%;
    max-height: 200px; /* 統一された高さ */
    object-fit: cover; /* アスペクト比を維持しつつ高さを統一 */
    vertical-align: top;
}

.image-item .timestamp {
    position: absolute;
    bottom: 5px;
    right: 5px;
    background-color: rgba(0, 0, 0, 0.6);
    color: white;
    padding: 3px 6px;
    border-radius: 3px;
    font-size: 12px;
    font-family: Arial, sans-serif;
}

.image-item img:hover {
    transform: scale(1.05);
    transition: transform 0.2s ease;
}
@media screen and ( max-width:1050px ){
	li.latest {
		width: 25%;
		height: auto;
	}
	.box .image {
		width:100%;
		height: auto;
		max-height:95px;
	}
}
@media screen and ( max-width:700px ){
	li.latest {
		width: 33.3%;
		height: auto;
	}
	.box .image {
		width:100%;
		height: 30vw;
		object-fit: cover;
	}
	.image-grid {
	    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	}
}
@media screen and ( max-width:500px ){
	.image-grid {
	    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	    width:100%;
	}
}

        .button-container {
            display: flex;
            gap: 20px;
            margin-bottom:40px;
        }

        .button {
            padding: 10px 20px;
            font-size: 16px;
            font-weight: bold;
            color: white;
            background: linear-gradient(45deg, #6b7280, #4b5563);
            border: none;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            cursor: pointer;
            transition: all 0.3s ease;
            text-decoration: none;
            text-align: center;
        }

        .button:hover {
            background: linear-gradient(45deg, #4b5563, #6b7280);
            transform: scale(1.05);
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
        }

        .button:active {
            transform: scale(0.95);
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
        }