@charset "UTF-8";

.red {
	color: #CC0000;
}

.ft-bnr .red {
	display: flex;
	align-items: center;
	padding: 2px 3px 0;
	font-weight: bold;
	background: #EFF0F3;
	margin: 0 3px 2px;
	line-height: 1.1;
}

@media screen and (min-width: 1280px) {
}

html {
	text-align: center;
	margin:auto;
	font-size: 62.5%;
}

body {
  margin: 0;
	background: url(../img/main_bg.png) top center no-repeat;
	background-size: cover;
  /*min-width: 1280px;*/
  padding-bottom: 40px;
  position: relative;
}

/*-------------------
ヘッダー
-------------------*/
header {
	position: relative;
	width: 100%;
}
/*-------------------
お知らせ関連
-------------------*/
.contents-info {
    position: absolute;
    width: 100%;
    top: 0px;
}
/*contact*/
.contact-box a {
    color: #cc0101;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    position: absolute;
    left: 3.5%;
    /* width: 274px; */
    /* height: 30px; */
    top: 0px;
    /* bottom: 0; */
    margin: 10px auto 0;
    background: rgb(255 255 255 / 90%);
    padding: 7px 40px;
    border: solid 1px;
}

/*TOPICS*/
.topics-box {
	position: absolute;
	right: 3.5%;
	width: 20%;
	height: 90px;
	top: 45px;
	margin: auto;
	background: rgba(255, 255, 255, 0.9);
	padding: 15px 20px;
}
.topics-title {
	color: #0C0052;
	font-size: 2rem;
	font-weight: bold;
	text-align: left;
}

.topics-list {
	font-size: 1.2rem;
	height: 56px;
	overflow-y: scroll;
}

.topics-list dl {
  display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: column;
	margin: 5px auto 10px;
}

.topics-list dl:last-child {
	margin: 5px auto 0;
}

.topics-list dd {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 195px;
}

.topics-list dt {
	text-align: left;
	color: #000;
}

.topics-list dt a {
	text-decoration: underline;
	color: #000;
}

.topics-list dt a:hover {
	text-decoration: none;
}

/*NEWマーク*/
.new {
  display: none;
}
.new.show {
  display: inline-block;
	padding: 4px 4px;
	color: #fff;
	font-weight: bold;
	font-size: 0.9rem;
	text-align: center;
	background: #CC0000;
	margin: 0 10px;
	line-height: 1;
}

footer {
    position: absolute;
    bottom: 40px;
    width: 100%;
}
footer a{
    text-decoration: none;
}
.ft-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.link-btn a {
    display: flex;
    background: #0C0052;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    padding: 10px 50px;
    align-items: center;
    position: relative;
}
.link-btn a:hover{
    opacity: .8;
}
.link-btn.prev a{
    border-radius: 0 30px 30px 0;
}
.link-btn.prev a::before{
    position: absolute;
    content: url(../img/ft_arrow_pre.svg);
    line-height: 0;
    left: 10px;
}
.link-btn.next a{
    border-radius: 30px 0 0 30px;
}
.link-btn.next a::after{
    position: absolute;
    content: url(../img/ft_arrow_nex.svg);
    line-height: 0;
    right: 10px;
}
.ft-bnr a {
    display: flex;
    padding: 5px 0;
    border: 2px solid #0c0052;
    background: #0c0052;
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    justify-content: center;
    align-items: center;
    width: 328px;
    box-sizing: border-box;
}

.ft-bnr a::after{
  content: url(../img/ft_arrow.png);
  line-height: 1;
	padding-left: 3px;
}

.ft-bnr a:hover {
	opacity: 0.8;
}

.ft-bnrbox {
  display: flex;
  width: 676px;
  justify-content: space-between;
  align-items: center;
	margin: auto;
}
@media all and (-ms-high-contrast: none) {
  /* ieのみ */
  .main {
	overflow: hidden;
}
}
.title{
	background: url("../img/title_bg.png")no-repeat center;
	-webkit-background-size: contain;
	background-size: contain;
	padding: 15px 70px;
	margin-bottom: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: content-box;
	min-height: 60px;
}
.title h1{
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "Helvetica", "Arial", "sans-serif";
	font-size: 3rem;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
}
.title .sub{
	font-size:1.5rem;
}
.wrapper{
	position: absolute;
	top:50%;
	width: 100%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}
.content{
	display: flex;
	align-items: center;
	justify-content: center;
}
.bg_img{
	width: 100%;
	height: auto;
}

@keyframes pulsate {
    0%   { opacity: 0.5 }
    50%  { opacity: 1; }
    100% { opacity: 0.5 ;}
}

/* レスポンシブ */ 
/* ====================================================================== */ 
/* コンテンツ横幅を固定 */
@media (min-width:641px) {
  html {
    min-width:1200px;
  }
}


@media (max-width:640px) {
body {
    padding-bottom: 190px;
    position: relative;
}
header {
    position: relative;
    height: auto;
}
.contact-box {
    position: relative;
    bottom: 70px;
}
.contents-info {
    position: absolute;
    width: 100%;
    top: auto;
    bottom: 0;
}
.contact-box a {
    font-size: 1.3rem;
    position: absolute;
    left: 5%;
    width: 90%;
    margin: 10px auto 0;
    padding: 5px 40px;
    box-sizing: border-box;
}
.main-title-box {
    padding: 0px 3% 0;
}
.main-title-box img {
    max-width: 100%;
    width: auto;
    margin: auto;
    display: block;
}
.topics-box {
    position: relative;
    right: 0;
    top: -40px;
    width: 90%;
    height: auto;
    margin: 0 auto 40px;
    box-sizing: border-box;
    bottom: 0px;
}
.topics-box {
    height: auto;
}
}