body {
  margin: 20px 30px 0px 30px;
}


a:link {
 color: #ff8100;
 text-decoration: underline;
}

a:visited {
 color: #551A8B;
 text-decoration: underline;
}

a:hover {}

a:active {
 color: #ff0000;
 text-decoration: underline;
}


footer{
  text-align: center;
}

article {
  padding: 20px 15px 15px 15px;
  word-wrap: break-word;
  background-color:#fff4f0;
}
textarea {
  width: 100%;
  box-sizing: border-box; /* 追加：内側のpaddingやborderを含めた幅を設定 */
}
summary {
  padding-left:10px;
  width: 50%;
  color: #fff;
  margin-bottom:10px;
  background-image: linear-gradient(120deg, rgba(211, 67, 179, 1), rgba(255, 255, 255, 0));
  text-align: left;
}
details {
  margin-top: 5px;
  padding-left: 5px;
}
table{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}


table th,table td{
  padding: 10px 0;
  text-align: center;
}

table tr:nth-child(odd){
  background-color: #fff0f0
}

ul{
  padding-left:0;
}

li{
  list-style:none;
}

.full-width-input {
  width: 100%;
  box-sizing: border-box; /* 内側のpaddingやborderを含めた幅を設定 */
}


.width-input250 {
  width: 250px;
  box-sizing: border-box; /* 内側のpaddingやborderを含めた幅を設定 */
}

hr{
  margin: 5px 0px 20px 0px;
  padding:0px;
}
input, select, textarea, text {
	font-size: 18px;
}
.error {
  color: #ff0000;
}
.login {
  margin: 20px 15px 15px 15px;
  padding: 20px 15px 15px 15px;
  text-align:center;
}
.logout {
  font-size:12px;
  margin-left: 15px;
}
.ctgr {
  padding:2px;
  background-color: #efb3cf;
  color: #fff;
}
.ctgr_sw {
  padding:2px;
  background-color: #efb3cf;
  color: #fff;
}
.date {
  margin-left:5px;
  margin-right:5px;
  background-color: #efb3cf;
  color: #fff;
}
.t_left {
  text-align:left;
}
.spacing-top80{
  margin-top:80px;
}


.responsive-iframe-container {
  position: relative;
  width: 100%;
  height: 315px; /* iframeのデフォルトの高さを設定 */
  padding-bottom: 56.25%; /* 16:9のアスペクト比を維持 */
  margin-top: 20px; /* 上部に20pxのマージンを設定 */
  overflow: hidden; /* オーバーフローを隠す */
}

.responsive-iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.thumbnail-hidden {
    overflow: hidden;
    padding-top:40px;
    padding-bottom:40px;
}

.thumbnail-container {
    width: 100%;
    white-space: nowrap;
    box-sizing: border-box;
    position: relative;
}

.thumbnail {
    display: inline-block;
    width: 200px;
    height: 200px;
    margin-right: 10px;
    overflow: hidden;
    box-sizing: border-box;
}

.thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    box-sizing: border-box;
}

.lightbox img {
    max-width: 80%;
    max-height: 80%;
}

.lightbox .close {
    position: absolute;
    top: 60px;
    right: 20px;
    font-size: 30px;
    color: white;
    cursor: pointer;
    z-index: 1000;
}
