* {
  margin : 0 ;
  padding : 0 ;
}

a{color:#666;
text-decoration: none;
}
a.r{color:#b22222;
}

body {
	text-align:center;
	font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	line-height:1.4;
	display: flex;
    flex-direction: column;
	font-size : 14px ;
    min-height: 100vh;
	background:#960000;
}

#page_top{
	position:fixed;
	right:40px;
	bottom:65px;
	opacity: 0;
	transition: .3s;
	z-index: 20;
}
#page_top span{
	position: relative;
	color:#fff;
}
#page_top span::after{
	content: "";
	position: absolute;
	top:-12px;
	right:28%;
	width:10px;
	height:10px;
	border-top:3px solid #fff;
	border-right:3px solid #fff;
	transform:rotate(-45deg);
}

#page_top.show{
	opacity: 1;
}

@media only screen and (max-width: 520px) {
	#page_top{
		padding:15px 10px 5px;
		right:15px;
		border-radius: 5px;
		background-color: rgba(0,0,0,.3);
	}
	#page_top span::after{
		top:-10px;
		width:8px;
		height:8px;
		border-top:1px solid #fff;
		border-right:1px solid #fff;
	}
	#page_top span{
		font-size:11px;
	}


}


.toplogo{
	margin:14px auto 0;
	animation: fadeIn 1.5s;
	width:450px;
}
@media only screen and (max-width: 520px) {
	.toplogo{
		width:90%;
	}
}

@keyframes fadeIn {
  0% {
    opacity: 0;
	}
  9% {
    opacity: 0;
	}
  10% {
    opacity: 1;
  }
  13% {
    opacity: 0;
	}
  16% {
    opacity: 1;
  }
  18% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
	30% {
    opacity: 0;
	}
  35% {
    opacity: 1;
	}
  38% {
    opacity: 0;
	}
50% {
    opacity: 0;
	}
  55% {
    opacity: 1;
	}
  56% {
    opacity: 0;
	}
  88% {
    opacity: 0;
	}
  90% {
    opacity: 1;
	}
  97% {
    opacity: 1;
	}
  99% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.content{
	text-align: center;
	margin: 25px 0 0 0;
	color:#eee;
}

.content .topimg{
	width:80%;
	min-width:760px;
	max-width: 1100px;
	margin:14px 0 30px;
}
@media only screen and (max-width: 767px) {
	.content .topimg{
		width:90%;
		min-width:auto;
	}
}
@media only screen and (max-width: 520px) {
	.content #topimg_box{
		width:100%;
		overflow-x: hidden;
	}
	.content .topimg{
		width:100%;
	}
	.content .topimg.karasu{
		width:110%;
		transform: translateX(-5%);
	}
}

.what{
	font-size:16px;
	line-height:140%;
	letter-spacing:1px;
	margin:0 20px 40px;
}
@media only screen and (max-width: 520px) {
	.what{
		font-size:14px;
	}
}

.contents{
   margin: 20px 0;
   text-align:center;
	display: flex;
   flex-direction: column;
   min-height: 100vh;
}

/*トップニュース*/
.contents_in_n{
  margin: 0 auto;
  padding:80px 0 100px;
  width:500px;
  color:#eee;
  font-size:14px;
}
.contents_in_n h2{
	font-size:25px;
	line-height:200%;
	font-weight: normal;
}
@media only screen and (max-width: 520px) {
	.contents_in_n{
		padding:30px 0;
		width:90%;
	}
}

.contents_in_s{
	margin:0 auto;
	padding:4px 20px 4px 10px;
	text-align:left;
	color:#eee;
	font-size:14px;
	border-bottom: 1px solid #999;
}
.contents_in_s a{
	position: relative;
	color:#eee;
	display: block;
	transition: .2s;
}
.contents_in_s a::after{
	content: "";
	position:absolute;
	width:7px;
    height:7px;
    display:inline-block;
    border-top:1px solid #fff;
    border-right:1px solid #fff;
    top:calc(50% - 4px);
    right:-10px;
    -webkit-transform:rotate(45deg);
    transform: rotate(45deg);
	transition: .2s;
}

.contents_in_s a:hover{
  color:#555;
  text-decoration: none;
}
.contents_in_s a:hover::after{
	border-color:rgba(0,0,0,0);
}

/*自己紹介*/
.contents_in2{
	margin: 0 auto;
	width:45%;
	min-width: 390px;
	text-align:left;
	color:#eee;
}
.contents_in2 p{
	font-size:12px;
}

.contents_in2 a{
	color:#bbb;
	font-size:12px;
	text-decoration: underline;
}

.contents_in2 img{
	width:26%;
	max-width: 150px;
	float:left;
	margin:0 24px 5px;
}
.contents_in2 .name{
	font-size:25px;
}

@media only screen and (max-width: 520px) {
	.contents_in2{
	margin: 0 auto;
	width:80%;
	min-width: 100px;
	text-align:center;
}
	.contents_in2 img{
	width:26%;
	float:none;
	margin:0 auto;
	}
	.contents_in2 p{
		text-align: justify;
	}
}
@media only screen and (max-width: 370px) {
	.contents_in2{
		width:90%;
	}
}

.main_contents_box{
	width:calc(100% - 50px);
	max-width: 900px;
	margin: auto;
}
.main_contents_box img{
	width: 100%;
	transition: .2s;
}

.main_contents_box .link_box{
	
}

.main_contents_box .link_box a{
  margin:0px 0 5px;
  display: block;
  text-decoration: none;
  font-weight: bold;
  font-size:20px;
  color: #fff;
  background:rgba(0,0,0,0.1);
  width: 100%;
  text-align: center;
  padding:12px 0;
  overflow: hidden;
  transition: .2s;
}


.link_box_inner{
	display:flex;
	flex-wrap:wrap;
	gap:0 5px;
}

.main_contents_box .link_box_inner.four a{
	width:calc((100% - 15px) / 4);
}

.main_contents_box .link_box_inner.two a{
	width:calc((100% - 5px) / 2);
}

@media only screen and (min-width: 521px) {
	.main_contents_box .link_box a:hover {
		color: #fff;
		background:#960000;
	}
	.main_contents_box img:hover{
		opacity: .7;
	}
}

@media only screen and (max-width: 700px) {
	.main_contents_box .link_box_inner.four a{
		width:calc((100% - 5px) / 2);
	}
	.main_contents_box .link_box_inner.two a{
		width:100%;
	}
}

@media only screen and (max-width: 520px) {
	.main_contents_box .link_box a{
		font-size: 18px;
	}
}


.footer_page{
  margin: 0 auto;
  width:700px;
  text-align:center;
  color:#333;

}

.footer{
    width:100%;
    background-color:#222;
    color:#fff;
    text-align:center;
    padding:10px 0;
    bottom:0px;
    clear:left;
    margin-top: auto;
}

.footer_menu{
	margin:30px auto;
    width: 100%; 
	text-align: center;
}
@media only screen and (max-width: 320px) {
	.footer_menu{
	margin:30px auto 0;
	}
}


address {
	font-style : normal ;
	font-size : 75% ;
}

.footer a{
	display: inline-block;
	color:#fff;
	font-size : 85% ;
	text-decoration: underline;
	padding:0 5px 5px;
}


.photo_{
	transition: .2s;
}

.photo_ :hover{
	transition: .2s;
	opacity: .6 ;
	}

/* 表示 */
.tab { display: none !important; }
.tb { display: none !important; }
.tb_b { display: none !important; }
.phone { display: none !important; }
.phone_b { display: none !important; }

@media only screen and (max-width: 900px) {
	.pc { display: none !important; }
}

@media only screen and (max-width: 767px) {
	.tb { display: inline !important; }
	.tb_b { display: block!important; }
	.no_tb { display: none !important; }
}

@media only screen and (max-width: 900px) and (min-width: 521px) {
	.tab { display: inline!important; }
}

@media only screen and (max-width: 520px) {
	.phone { display: inline!important; }
	.phone_b { display: inline-block!important; }
	.no_phone { display: none!important; }
}