@charset "utf-8";

.clearfix:after {  
  content: ".";   
  display: block;   
  height: 0;   
  clear: both;   
  visibility: hidden;  
}  
  
.clearfix { display: inline-table; }  
  
/* Hides from IE-mac \*/  
* html .clearfix { height: 1%; }  
.clearfix { display: block; }  
/* End hide from IE-mac */

#wrapper{
	max-width:inherit;
}

#globalnavi{
	margin:0 auto;
}

.content{
	width:100%;
	/*margin-top:20px;*/
	padding-bottom:80px;
	background:#000;
}

.visual{
	position:relative;
	width:940px;
	margin:0 auto;
}

.visual h1{
	padding:0;
}

.visual h1 img{
	display:block;
	margin:0 auto;
}

.cnt{
	width:660px;
	margin:0 auto;
	font-size:20px;
	padding-top:140px;
	color:#fff;
}

.cnt p{
	font-size:20px;
}


.cnt iframe{
	margin:0 auto;
	display:block;
}

.campaign{
	width:100%;
	margin:110px auto 105px;
}

.campaign h2{
	margin:0;
	width:auto;
	line-height:0;
}

.campaign p{
	margin:0;
	width:auto;
	line-height:0;
}

.campaign h3{
	margin:0;
	width:auto;
	line-height:0;
  padding-right: 0;
}

.campaign .detail{
	background:url(../images/bg01.jpg) no-repeat;
	width:660px;
	padding:0 70px 30px;
	box-sizing:border-box;
}

.campaign .detail p{
	line-height:1.5;
	text-align:left;
	margin-bottom:30px;
}

.campaign .detail h4{
	margin:0 auto;
	text-align:center;
	font-size:24px;
	padding-bottom:15px;
	border-bottom:1px solid #fff;
}

.campaign .detail dl{
	margin:30px auto;
}

.campaign .detail dl dd{
	margin-bottom:30px;
}

.campaign p + div{
	background:url(../images/bg02.jpg) center bottom / 100% auto no-repeat;
	height:100px;
	width:660px;
	padding:38px 88px 0;
	box-sizing:border-box;
}

.program h2{
	width:84.8%;
	font-size:30px;
	color:#fff;
	text-align:center;
	line-height:1;
	padding:0 0 20px;
	margin:0 auto 15px;
	font-weight:normal;
	border-bottom:2px solid #fff;
}

.program table{
	width:84.8%;
	font-size:20px;
	color:#fff;
	margin:40px auto 90px;
	border-bottom:2px solid #fff;
}

.program table th{
	font-weight:normal;
	text-align:right;
	padding:2px 0;
}

.program table tr:last-child th{
	padding:2px 0 35px;
}

.program table td{
	padding:2px 0;
}

.program table tr:last-child td{
	padding:2px 0 35px;
}

.program table tr:last-child td[colspan="2"]{
	padding:4px 0 35px;
	text-align:center;
	color:#fff100;
}

.program h3{
	font-size:59px;
	text-align:center;
	font-weight:bold;
	color:#fff100;
	margin:110px 0 20px;
}

.program h3 span{
	font-size:32px;
	color:#fff;
	width:100%;
	margin-bottom:20px;
	border:4px solid #fff;
	box-sizing:border-box;
	display:block;
}

.program h3 + p{
	font-size:20px;
	text-align:center;
	color:#fff;
	margin:0 0 80px;
}

.program .beige{
	background:#d4b799;
	padding:30px 50px 40px;
	color:#000;
	font-size:15px;
	margin-top:80px;
}

.program .beige + .beige{
	margin:20px 0 100px;
}

.program .beige h4{
	font-size:34px;
	text-align:center;
	margin-bottom:20px;
	font-weight:normal;
}

.program .beige h4 span{
	font-size:20px;
	display:block;
}

.program .beige + .beige h4{
	margin-bottom:40px;
}

.program .beige p{
	font-size:15px;
}

.program .beige img{
	margin:0 auto 10px;
	display:block;
  width: 300px;
}

.program .beige a img{
	margin:0 auto;
	display:block;
}

.program .beige + .beige img{
	float:left;
	margin:0;
  width: 200px;
}

.program .beige img + p{
	margin:0 0 10px 124px;
	line-height:1.6;
}

.program .beige + .beige img + p{
	float:left;
	margin:50px 0 0 20px;
}

.program .beige div a{
	margin:30px 0 0 22px;
	display:block;
	float:left;
}

.program .beige div a:last-child{
	margin:30px 0 0 20px;
}

.program .beige div + a{
	margin:40px 0 0;
	text-align:center;
	color:#000;
	display:block;
	line-height:1;
}

.program .beige div + a:hover{
	text-decoration:underline;
}

.program + a{
	width:624px;
	margin:0 auto;
	display:block;
}



/* smartphone
------------------------------------------------------------*/
@media print, screen and (max-width: 768px) {

.visual {
    position: relative;
    width: 100%;
    margin: 0 auto;
}
.cnt {
    width: 82vw;
    font-size: 4vw;
    padding-top: 8vw;
    color: #fff;
    margin: 0 auto;
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.campaign {
    width: 100%;
    margin: 16vw auto 12vw;
}
h3 {
  padding-right: 0;
}
.campaign .detail {
    background: url(../images/bg01.jpg) center top / 100% auto repeat-y;
    width: 100%;
    padding: 0 12vw 8vw;
    box-sizing: border-box;
}
.campaign p + div {
    background: url(../images/bg02.jpg) center bottom / 100% auto no-repeat;
    height: 12.86667vw;
    width: 100%;
    padding: 4vw 11vw 0;
    box-sizing: border-box;
}
.program h2 {
    font-size: 5vw;
}
.program table {
    font-size: 4vw;
}
.program h3 {
  font-size: 6.333vw;
    text-align: center;
    font-weight: bold;
    color: #fff100;
    margin: 110px 0 20px;
}
.program h3 span {
    font-size: 5vw;
    color: #fff;
    width: 100%;
    margin-bottom: 20px;
    border: 4px solid #fff;
    box-sizing: border-box;
    display: block;
}
.program .beige {
    padding: 4vw 6vw 8vw;
    font-size: 4vw;
    margin-top: 8vw;
}
.program .beige h4 {
    font-size: 6vw;
    margin-bottom: 4vw;
}
.program .beige h4 span {
    font-size: 4vw;
}
.program .beige img {
    margin: 0 auto 10px;
    display: block;
    width: 38vw;
}
.program .beige img + p {
    margin: 0 0 1.33vw 14.66vw;
    line-height: 1.6;
}
.program .beige + .beige img {
    float: left;
    margin: 0;
    width: 40%;
}
.program .beige + .beige img + p {
    float: left;
    margin: 0 0 0 4%;
    width: 52%;
    font-size: 2.4vw;
}
.program .beige p {
    font-size: 4vw;
}
.program .beige div a {
    margin: 4vw 0 4vw;
    display: block;
    float: inherit;
    width: 100%;
}
.program .beige div a img {
  width: 100% !important;
  float: inherit !important;
}
.program .beige div a:last-child {
margin: 4vw 0 0;
}
.program .beige div + a {
  font-size: 5vw;
}
.program + a {
    width: 82vw;
    margin: 0 auto;
    display: block;
}




}/* smartphone End */
