@charset "utf-8";
/* CSS Document */

/* メインイメージ */
@media screen and (min-width:1024px){
.mainimage{
	margin:10px auto 0 auto;
	width:1024px;
	height:auto;
}
}

@media screen and (max-width:1024px){
.mainimage{
	max-width:100%;
	height:auto;
	overflow:hidden;
}
}

/* スライダー全体のスタイル */
@media screen and (min-width:1024px){
.slider-container {
    position: relative;
	margin:10px auto 0 auto;
    width: 1024px;
	height:auto;
    overflow: hidden;
	aspect-ratio: 32 / 10;
}
}

@media screen and (max-width:1024px){
.slider-container {
    position: relative;
	margin-top:10px;
    width: 100%;
	height:auto;
    overflow: hidden;
	aspect-ratio: 32 / 10;
}
}
/* 各スライド画像のスタイル */
.slideimg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    animation: slideAnime 25s infinite;
}
/* 最初の画像だけ親要素の高さを確保させる */
.slideimg:nth-child(1) {
    animation-delay: 0s;
}
/* 2枚目の画像のアニメーション遅延 */
.slideimg:nth-child(2) {
    animation-delay: 5s;
}
/* 3枚目の画像のアニメーション遅延 */
.slideimg:nth-child(3) {
    animation-delay: 10s;
}
/* 3枚目の画像のアニメーション遅延 */
.slideimg:nth-child(4) {
    animation-delay: 15s;
}
/* 3枚目の画像のアニメーション遅延 */
.slideimg:nth-child(5) {
    animation-delay: 20s;
}
/* フェードイン・アウトのアニメーション */
@keyframes slideAnime {
    0%, 30%, 100% { opacity: 0; }
    10%, 20% { opacity: 1; }
}
/* 画像の表示調整 */
.slideimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* メイン */
.bokin a{
	font-size:20pt;
	font-weight:bold;
}

main{
	display:block;
    float:left;
	width:100%;
	margin-top:10px;
    content:"";
}

@media screen and (min-width:980px){
main{
	width:70%;
}
}

#main2{
	display:block;
}

.features {
  padding: 1rem;
  background: #ffffff;
}

.section-title {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
  text-align: center;
}

.feature-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 8px;
  margin-bottom: 1rem;
  padding: 1rem;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.feature-image img {
  width: 100%;
  max-width: 300px;
  height: auto;
  border-radius: 6px;
}

.feature-text {
  margin-top: 0.5rem;
  text-align: center;
  font-size: 0.95rem;
}

.feature-text a {
  font-weight: bold;
  color: #0073aa;
  text-decoration: none;
}

.feature-text a:hover {
  text-decoration: underline;
}

/* タブレット以上の横並び */
  .features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.5rem;
  }

  .feature-box {
    margin-bottom: 0;
  }

.toku{
	display:block;
	max-width:100%;
	height:50px;
	background: rgba(135, 206, 250, 1);
	font-size:30px;
	font-weight: 900;
	padding:0 0 5px 20px;
	color:#FFF;
}

@media screen and (max-width:550px){
#main3{
	display:block;
    float:left;
    width:99%;
	margin-top:10px;
	margin-left:3px;
}
}

@media screen and (min-width:452px){
#main3{
    display:block;
    float:left;
    width:100%;
	margin-top:10px;
	margin-left:3px;
}
}

#main3 img{
	width:100%;
    height:auto;
}

.img{
	margin-right:10px;
	margin-bottom:5px;
}

.news1{
	display: flex;
	align-items: center;
	width:99%;
	height:50px;
	border:#a0a0a0 solid 1px;
}

.news2{
	display: block;
	width: 10px;
	height: 100%;
	background-color: rgba(248, 181, 81, 0.8);
}

.text{
	font-size:30px;
	font-weight: bold;
	padding-left: 5px;
    color: #000;
    letter-spacing: 0.05em;
}

ul.news{
	width:99%;
	height:200px;
	overflow:auto;
    margin-top:0px;
	margin-bottom:10px;
	border-left:#a0a0a0 solid 1px;
	border-right:#a0a0a0 solid 1px;
	border-bottom:#a0a0a0 solid 1px;
	list-style:none;
}

@media screen and (max-width:700px){
.news1{
	width:99%;
}

ul.news{
	width:99%;
}
}

ul.news li{
	padding-top:5px;
	margin-left:5px;
	margin-right:5px;
	line-height:1.5;
	border-bottom:dotted #A0A0A0 1px;
}

ul.up1 li{
	display: flex;
	margin-left:5px;
	margin-right:5px;
	line-height:1.5;
	border-bottom:dotted 1px #A0A0A0;
}

time{
	margin-right:5px;
}

p.update1{
	width:99%;
}

#update{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width:99%;
	height:50px;
	border:#a0a0a0 solid 1px;
}

.update2{
	display: block;
	width: 10px;
	height: 100%;
	background-color: rgba(135, 206, 250, 0.8);
}

#update .up{
	padding-right: 5px;
}

#update .up a{
	background:#FFF;
	border:#A0A0A0 solid 1px;
	border-radius: 5px;
	color:#000000;
	font:90% bolder;
	padding:5px 5px;
	width:100px;
	height:auto;
	display:block;
	z-index:101;
}

#update .up a:hover{
	background:rgba(135, 206, 250, 0.8);
	border:#A0A0A0 solid 1px;
	border-radius: 5px;
	text-decoration: none;
	color:#FFF;
	font:90% bolder;
	padding:5px 5px;
	width:100px;
	height:auto;
	display:block;
	z-index:101;
}

p.update1{
	font-size:30px;
	font-weight: bold;
	padding-left: 5px;
}

ul.up1{
	width:99%;
	height:200px;
	padding-top:5px;
	margin-bottom:10px;
	border-left:#a0a0a0 solid 1px;
	border-right:#a0a0a0 solid 1px;
	border-bottom:#a0a0a0 solid 1px;
	overflow:auto;
	list-style:none;
}

@media screen and (max-width:700px){
#update{
	width:99%;
}

ul.up1{
	width:99%;
}
}

#contents .add2 img{
	max-width: 100%;
}

#add, #add script{
	width:100%;
}

#add img{
	max-width: 100%;
}

@media screen and (min-width:665px){
#add{
	max-width:1024px;
	margin:10px auto;
}
}

/* サブ */
aside{
	float:left;
	width:99%;
}

@media screen and (min-width:980px){
aside{
	float:right;
	width:30%;
}
}

.sub{
	width: 98%;
	margin-top: 10px;
	margin-left:5px;
	}

.sub2 {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    width: 98%;
    height: 50px;
}

.contents2{
	width: 98%;
	height: auto;
	padding: 10px 5Px;
	margin-bottom: 5px;
	border-left:1px solid #A0A0A0;
	border-right:1px solid #A0A0A0;
	border-bottom:1px solid #A0A0A0;
}

#contents .contents2 img{
	max-width:240px;
}

@media screen and (min-width:556px) and (max-width:979px){
.sub{
	float:left;
	width:48%;
	margin-left: 5px;
}

.sub2 {
    width: 100%;
}

.contents2{
	width: 100%;
}
}

.in_serch-line{
	display: block;
	width: 10px;
	height: 100%;
	background-color: rgba(0, 128, 0, 0.8);
}

.twitter-line {
    display: block;
    width: 10px;
    height: 100%;
    background-color: rgba(255, 0, 0, 0.8);
}

.link-line{
	display: block;
	width: 10px;
	height: 100%;
	background-color: rgba(255, 255, 0, 0.8);
}

.twitter-text {
    padding-left: 10px;
    font-size: 30px;
	font-weight: 700;
	display: flex;
	align-items: center;
    color: #000;
    letter-spacing: 0.05em;
}

.contents2 a{
	line-height:25px;
}

.contents2 img{
	max-width: 100%;
}

#in_search{
	text-align:center;
}

#in_search input.text{
	width:200px;
	font-size:100%;
}

#in_search input.submit{
	width:45px;
	height:25px;
	font-size:100%;
}
