@charset "UTF-8";


/* #mainvisual
-------------------------------------------------*/
#mainvisual {
  border-top: 1px solid #cdcdcd;
  z-index: 97;
  margin-top: -1px;
  margin-bottom: 5%;
  border-bottom: 5px solid #942536;
  height: 420px;
}
#mainvisual::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  z-index: 2;
  content: '';
  width: 67%;
  height: 5px;
  background-color: #1ab39f;
}
#mainvisual .mainvisual_inner {
  height: 100%;
/*  background: url(../img/top/mainvisual.jpg) center 50% no-repeat;
  background-size: 100%;*/
  width: 1040px;
  margin: 0 auto;
  position: relative;
}
/*#mainvisual h2 {
	position: absolute;
	left: 10%;
	top: 12.5%;
	width: 35.82%;
	max-width: 466px;
}*/
@media only screen and (min-width:681px) and (max-width:1040px){
  #mainvisual{
    height: 320px;
  }
  #mainvisual .mainvisual_inner{
    width:100%;
  }
}
@media only screen and (min-width:1px) and (max-width:680px){
#mainvisual {
	height: auto;
	margin-top: 0;
	margin-bottom: 13%;
	background: none;
/*	border-bottom: 2px solid #942536;*/
	border-bottom: 2px solid transparent;
}
#mainvisual::after {
	bottom: -2px;
  	height: 2px;
/* 	background-color: #1ab39f;*/
	background-color: transparent;
}
/*#mainvisual h2 {
	position: absolute;
	left: inherit;
	right: 4%;
	top: 8.5%;
	width: 75% !important;
}
  body#th #container #mainvisual h2{
    width: 75% !important;
  }*/
  #mainvisual .mainvisual_inner{
    width:100%;
  }
}


/* headline
-------------------------------------------------*/
.headline1 {
	margin-bottom: 5.8%;
}

@media only screen and (min-width:1px) and (max-width:680px){
.headline1 {
	margin-bottom: 8%;
}
}


/* .news
-------------------------------------------------*/
.news {
	max-width: 960px;
	padding: 0 40px;
}
.news dl {
	max-width: 960px;
	text-align: center;
	display: table;
	margin: 0 auto;
}
.news dl dt {
	display: table-cell;
	width: 130px;
	vertical-align: top;
/*  font-size:20px;*/
}
.news dl dd {
	display: table-cell;
	vertical-align: top;
/*  font-size:20px;*/
}
body#th .news dl dt,
body#th .news dl dd {
	font-size:20px;
}

@media only screen and (min-width:1px) and (max-width:680px){
.news {
	padding: 0;
}
.news dl dt {
	width: 30%;
}
}
.u-ta-c {
	margin-top: 5%;
	text-align:center!important
}
.c-btnLine {
	display:inline-block;
	min-width:200px;
	padding:8px 15px 5px;
	color:#1ab39f;
	font-size:15px;
	line-height:1.6;
	text-decoration:none;
	text-align:center;
	vertical-align:middle;
	background-color:#fff;
	border:1px solid #1ab39f;
	border-radius:3px;
	box-sizing:border-box;
	transition:all .3s cubic-bezier(.165,.84,.44,1)
}
@media only screen and (min-width:1px) and (max-width:680px){
.u-ta-c {
	margin-top: 10%;
}
a.c-btnLine {
	min-width:160px;
	padding:7px 15px 6px;
	font-size:13px
}
}
a.c-btnLine:hover {
	color:#fff;
	background-color:#1ab39f
}

/* .contests
-------------------------------------------------*/
.contests {
	width: 100%;
	background: url(../img/top/bg.jpg) right bottom no-repeat rgba(15, 104, 92, 0.13);
	background-size: contain;
	padding: 5.5% 0 8%;
	margin-bottom: 8%;
}
.contests ul {
	max-width: 640px;
	margin: 0 auto;
	padding: 0 40px;
	overflow: hidden;
	font-size: 0;
    display: flex;
    flex-wrap: wrap;
}
.contests ul li {
/*	float: left;*/
/*	width: 32%;*/
	width: 48%;
	margin-right: 2%;
/*    margin-bottom: 2%;*/
	margin-bottom: 12px;
	text-align: center;
	position: relative;
}
.contests ul li:last-child {
	margin-right: 0;
}
.contests ul li a {
	display: block;
	height: 26.125vw;
	max-height: 270px;
}
.contests ul li:first-child a {
	background: url(../img/top/btn01.jpg) center center no-repeat;
	background-size: cover;
}
.contests ul li:nth-child(2) a {
	background: url(../img/top/btn02.jpg) center center no-repeat;
	background-size: cover;
}
.contests ul li:nth-child(3) a {
	background: url(../img/top/btn03.jpg) center top no-repeat;
	background-size: cover;
}
.contests ul li:last-child a {
	background: url(../img/top/btn04.jpg) center center no-repeat;
	background-size: cover;
}
.contests ul li div {
	width: 100%;
	position: absolute;
	left: 50%;
  	top: 60%;
	transform: translate3d(-50%, -50%, 0);
	color: #fff;
}
body#th .contests ul li:last-child div {
  	top: 55%;
}
.contests ul li p {
	width: 40%;
	margin: 10% auto 0;
	border: 1px solid #fff;
	padding: 1% 0;
	background: url(../common/img/icon01.png) 90% center no-repeat;
	background-size: 5% auto;
}
body#th .contests ul li:last-child p {
    margin-top: 4.5%;
}
@media only screen and (min-width:681px) and (max-width:1040px){
body#th .contests ul li div {
    font-size:3.12vw !important;
}
body#th .contests ul li:last-child div {
  	top: 60%;
}
body#th .contests ul li:last-child p {
    margin-top: 10%;
}
}
@media only screen and (min-width:1px) and (max-width:680px){
.contests {
	width: 100%;
	background: url(../img/top/bgSP.jpg) right center no-repeat rgba(15, 104, 92, 0.13);
	background-size: contain;
	padding: 14% 0;
	margin-bottom: 0;
}
.contests ul {
	width: 94%;
	max-width: inherit;
	padding: 0;
	margin: 0 auto;
}
.contests ul li {
/*	display: list-item;*/
	width: 100%;
/*	margin: 0 0 7%;*/
	margin: 0 0 10px;
}
.contests ul li:last-child {
	margin: 0;
}
.contests ul li a {
	height: 57.812vw;
	max-height: inherit;
}
.contests ul li div {
/*  	top: 70%;*/
	top: 62%;
	transform: translate3d(-50%, -50%, 0);
	color: #fff;
}
body#th .contests ul li:last-child div {
  	top: 62%;
}
.contests ul li p {
	width: 50%;
/*	margin: 4.5% auto 0;*/
	margin: 9% auto 0;
	padding:0.3% 0;
	background: url(../common/img/icon01.png) 90% center no-repeat;
	background-size: 3% auto;
}
body#th .contests ul li:last-child p{
    margin-top: 9%;
  }
}


/* .fnav
-------------------------------------------------*/
.fnav {
  width: 100%;
  background-color: #f5f5f5;
  padding: 4% 0 2%;
}
.fnav ul {
  font-size: 0;
  width:1040px;
  margin: 0 auto;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}
.fnav ul li {
/*  float: left;*/
  width:23.8%;
  font-size: 16px;
  /*width: 23.65%;*/
  margin-right: 1.0%;
  margin-bottom: 20px;
  background-color: #fff;
  /*border: 1px solid #d3d3d3;*/
}
.fnav ul li:nth-child(4n){
  margin-right: 0;
}
.fnav ul li a {
  display: block;
  border: 1px solid #d3d3d3;
}

@media only screen and (min-width:681px) and (max-width:1040px) {
.fnav ul {
  width:97.3%
}
}

@media only screen and (min-width:1px) and (max-width:680px) {
.fnav {
  padding: 7.5% 0 2.5%;
}
.fnav ul {
  width: 80%;
  margin:0 auto;
}
.fnav ul li {
  display: list-item;
  width: 99%;
  margin: 0 auto 4%;
  text-align: center;
}
.fnav ul li a{
  padding: 5px 0;
}
.fnav ul li img {
  width: 90%;
  border:none;
}
}