@charset "UTF-8";


#happy20th .head01 .jp{
	font-size: 3rem;
}

#happy20th .iwai {
	display: inline-block;
	color: red;
	margin: 0 10px 10px;
	padding: 0 8px;
	border: solid 1px red;
	border-radius: 50%;
}

#happy20th .logo{
	text-align: center;
	margin: 2% 0;
}
#happy20th .logo img{
	width: 28%;
}



/*==================================================
スライダーのためのcss
===================================*/
#happy20th .slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
    width:100%;
    margin:0 auto;
	position: relative;
	font-size: 0;
	line-height: 0;
}

#happy20th .slick-slide {
  height: auto !important;
}

#happy20th .slider img {
    width:480px;/*スライダー内の画像を60vwにしてレスポンシブ化*/
   height: auto;
	margin:0 auto;
}

#happy20th .slider .slick-slide {
  transform: scale(0.85);/*左右の画像のサイズを85%に*/
  transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
  opacity: 0.5;/*透過50%*/
}

#happy20th .slick-list{
	margin: 16px 0 0 ;
}

/*
#happy20th .slider .slick-slide{
    margin-right: 1vw!important;
    margin-left: 1vw!important;
	}
*/

#happy20th .slider .slick-slide.slick-center{
  transform: scale(1);/*中央の画像のサイズだけ等倍に*/
  opacity: 1;/*透過なし*/
}


/*矢印の設定*/

/*戻る、次へ矢印の位置*/
#happy20th .slick-prev, 
#happy20th .slick-next {
    position: absolute;/*絶対配置にする*/
    top: 50%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #71a91f;/*矢印の色*/
    border-right: 2px solid #71a91f;/*矢印の色*/
    height: 15px;
    width: 15px;
}

#happy20th .slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
		top: 50%;
    transform: rotate(-135deg);
}

#happy20th .slick-next {/*次へ矢印の位置と形状*/
    right: -1.5%;
	  top: 50%;
    transform: rotate(45deg);
}



/*ドットナビゲーションの設定*/

#happy20th .slide-dots {
  text-align:center;
/*  margin:20px 0 0 0;*/
}

#happy20th .slide-dots li {
  display:inline-block;
  margin:0 1.5%;
	flex-flow: row wrap;
}

button{
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#happy20th .slick-dots{
	position: absolute;
    bottom: -24px;
    z-index: 1;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    list-style: none;
    text-align: center;
	
}

#happy20th .slick-dots li{
	display: inline-block;
    margin: 0 0.5%;
}

#happy20th .slick-dots li button{
	position: relative;
  text-indent: -9999px;
	display: block;
    width: 8px;
    height: 8px;
    outline: none;
    border: 0;
    background: transparent;
    color: transparent;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
}

#happy20th .slick-dots li button:before{
	position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background: #eeeeee;
    content: "";
}

#happy20th li.slick-active button:before{
	position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background: #9fc156;
    content: "";
}


#happy20th li .slick-list{
	height: auto;
}


/*========= レイアウトのためのCSS ===============*/



ul{
  margin:0;
  padding: 0;
  list-style: none;
}


a:hover,
a:active{
  text-decoration: none;
}





/*
================================

sec01

================================
*/

sec01{
	padding-bottom: 80px;
}

#happy20th .aisatsu{
	background: url("../img/20th/bg1.png") no-repeat right center;
	width: 100%;
	height:auto;
}
#happy20th .aisatsu p{
	margin:5% 7% 0%;
	padding: 5%;
	font-family: Midashi Go MB31;
  font-weight: bold;
	font-size: 2rem;
}


/*
================================

sec02

================================
*/

#happy20th .sec02{
	padding: 120px 0;
}

#happy20th .sec02 .ttl1{
	text-align: left;
	position: relative;
}


#happy20th .sec02 .ttl1:before {
content:"";
padding-top: 15%;
background: url("../img/20th/bg2.png") no-repeat;
background-position: center;
background-size: contain;
position: absolute;
right: 0;
left:0;
top:-15%;
		
z-index: 1;
}

#happy20th .sec02 .ttl1_2{
	display: inline-block;
	font-size: 2.5rem;
	color: #71a91f;
	font-family: Midashi Go MB31;
  font-weight: bold;
	margin: 0 auto;
	position: relative;
}


#happy20th .sec02 .ttl1 .date{
	font-size: 1.75rem;
	display: inline-block;
	color: #4b4b4b;
	position: absolute;
  right: 0;
  bottom: 3px;
}

#happy20th .sec02 .ttl1_text{
	text-align: center;
	padding-top: 80px;
}

#happy20th .sec02 .ttl1_text{
	font-size: 16px;
	font-family:sans-serif;
	font-weight: normal;
	line-height: 2;
}

#happy20th .sec02 .ttl2{
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
	font-family: Midashi Go MB31;
	font-size: 2rem;
	width: 76%;
	margin: 8% auto 0;
	letter-spacing: 0.75px;
}

#happy20th .sec02 .ttl1 .sp_only img{
	display: none;
}

#happy20th .sec02 .shiki01 .ttl2,#happy20th .sec02 .shiki02 .ttl2,#happy20th .sec02 .shiki03 .ttl2{
	margin: 14% auto 0;
}

#happy20th .sec02 .ttl2:before{
	margin-right: 1rem;
}

#happy20th .sec02 .ttl2:after{
		margin-left: 1rem;
}

#happy20th .sec02 .ttl2:before,#happy20th .sec02 .ttl2:after{
	content: "";
  height: 2px;
  flex-grow: 1;
  background-color:#71a91f;
}

#happy20th .sec02 .shiki00 .text,#happy20th .sec02 .shiki02 .text,#happy20th .sec02 .shiki03 .text{
	margin: 5% 0;
	text-align: center;
	font-size: 16px;
}

#happy20th .sec02 .shiki01 .wrap,#happy20th .sec02 .shiki02 .wrap{
/*	width: 72%;*/
	max-width: 580px;
	margin: 8% auto 2%;
}

#happy20th .sec02 .shiki01 .wrap:nth-child(n+2){
		margin: 8% auto 2%;
	
}

#happy20th .sec02 .shiki01 h4,#happy20th .sec02 .shiki02 h4{
　font-family: Midashi Go MB31;
	font-size: 1.75rem;
	font-weight: bold;
	display: inline-block;
}

#happy20th .sec02 .shiki01 h4:after,#happy20th .sec02 .shiki02 h4:after{
	content: "";
  display: block;
  border-top: 1.75px solid #71a91f;
  transform: scaleY(1.5);
  transform-origin: 100% 0;
}

#happy20th .sec02 .shiki00 p,#happy20th .sec02 .shiki01 p,#happy20th .sec02 .shiki02 p{
	margin-top: 2%;
  line-height: 2;
	font-size: 16px;
}

#happy20th .sec02 .shiki01 .wrap .no,#happy20th .sec02 .shiki02 .wrap .no{
	color: #71a91f;
}


#happy20th .sec02 .shiki02 .shokyushi{
	font-family: Midashi Go MB31;
	font-size: 1.75rem;
	font-weight: bold;
	display: block;
	text-align: center;
	position: relative;
	margin-top: 16%;
}

#happy20th .sec02 .shiki02 .shokyushi:before{
	content: "";
	background: url("../img/20th/shokyushi.svg") no-repeat;
	padding-top:  4%;
	width: 72%;
	display: block;
	background-position: center;
background-size: contain;
	position: absolute;
	top:0;
	bottom: 0;
	right: 0;
	left: 0;
	
}

#happy20th .sec02 .shiki02 .shokyushi:before{
	position: absolute;
	left: 15%;
	bottom: 0;
}

#happy20th .sec02 .shiki02 .shokyushi:after{
	position: absolute;
	right: 15%;
	bottom: 0;
}




/*
================================

sec03

================================
*/

#happy20th .sec03{
	background-color: #71a91f21;
	padding:  1% 0 10%;
}


#happy20th .sec03 .text{
	padding: 5% 0 5%;
	text-align: center;
	position: relative;
}

#happy20th .sec03 div h2{
	font-family: Midashi Go MB31;
	font-size: 2.5rem;
	text-align: center;
	font-weight: bold;
	display: inline;
	background:linear-gradient(transparent 60%, #FFFFFF 0%);
	padding: 0 2px 4px;
}

#happy20th .sec03 div h2:before{
	content: "";
	background: url("../img/20th/fukidashi.svg") no-repeat;
	padding-top: 12%;
	width: 72%;
	display: block;
	background-position: center;
background-size: contain;
	position: absolute;
	top:0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
}

#happy20th .sec03 .movie{
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	-webkit-box-orient: horizontal;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: row;
  	flex-direction: row;
}

#happy20th .sec03 .movie .item {
flex: 0 0 46%;
padding: 2%;
background-color: #ffffff;
}

#happy20th .sec03 .movie .item:not(:nth-of-type(2n + 2)){
		margin-right: 6%;
}

#happy20th .sec03 .movie .item:nth-of-type(n + 3){
	margin-top: 60px;
}

#happy20th .sec03 .movie .item iframe{
	width: 100%;
	height: 20vw;
}

#happy20th .sec03 .movie .item .ttl{
	font-family: Midashi Go MB31;
	font-size: 2rem;
	text-align: center;
	font-weight: bold;
	margin: 2% 0 0%;
	letter-spacing: 1px;
}




/*
================================

レスポンシブ

================================
*/

@media screen and (max-width:1300px) and (min-width:1200px) {
	#happy20th .sec03 div h2:before{
		padding-top: 0%;
		width: 100%;
	}
}


@media screen and (max-width:821px) and (min-width:768px) {
	#happy20th .sec02 .ttl1:before {
		padding-top: 18%;
	}
	
	#happy20th .sec03 div h2:before{
		padding-top: 0%;
    width: 100%;
	}
}

@media screen and (max-width:767px){
	

	
	#happy20th .logo{
		margin: 6% 0 2%;
	}
	
	#happy20th .logo img {
		width: 50%;
		
	}
	
	
	#happy20th .head01 .jp{
		font-size: 2.25rem;
	}
	
	#happy20th .aisatsu{
		background: url(../img/20th/bg1.png) no-repeat center center;
	}
	
	#happy20th .aisatsu p{
		font-size: 1.75rem;
		margin: 10% 2% 0%;
		padding: 0%;
		font-family: sans-serif; 
    font-weight: normal;
	}
	
	#happy20th .sec02{
		padding: 60px 0 120px;
	}
		
	#happy20th .sec02 .ttl1:before {
		display: none;
	}
	
	#happy20th .sec02 .ttl1_2{
		font-size: 2.25rem;
		text-align: center;
	}
	
		#happy20th .sec02 .ttl1 .date{
		text-align: center;
		display: block;
		position: static;
    right: 0;
    bottom: 0;
		
	}

	#happy20th .sec02 .ttl1 .sp_only{
		display: block;
		width: 260px;
		margin: 3% auto;
	}
	
	#happy20th .sec02 .ttl1 .sp_only img{
	  display: block;
		width: 100%;
	}
	
	#happy20th .sec02 .ttl2{
		  width: 100%;
	}
	
	#happy20th .sec02 .ttl1_text{
		padding-top: 0px;
	}
	
	#happy20th .slider img{
		width: 320px;
	}
	
	#happy20th .slider .slick-slide{
		transform: scale(0.925);
	}
	
	#happy20th .slick-dots li{
		margin: 0 2%;
	}
	
  #happy20th .dots2 .slick-dots {
		bottom: -44px;
	}
	
	#happy20th .dots2 .slick-dots li{
		margin: 1% 2%;
	}
	

	#happy20th .sec02 .shiki01 .ttl2, #happy20th .sec02 .shiki02 .ttl2, #happy20th .sec02 .shiki03 .ttl2{
		margin: 26% auto 0;
	}
	
	#happy20th .sec02 .shiki01 div .wrap {
		margin: 18% auto 2%;
	}
	
	#happy20th .sec02 .shiki02 div .wrap:nth-child(n+2) {
		margin: 18% auto 2%;
	}
	
	#happy20th .sec02 .shiki02 .shokyushi{
		margin-top: 18%;
	}
	
	#happy20th .sec02 .shiki02 .wrap2{
		margin: 16% auto 2%;
	}
	
	#happy20th .sec03 div h2{
		font-size: 2rem;
	}
	
	#happy20th .sec03 div h2:before{
		width: 100%;
	}
	
	#happy20th .sec03 .movie .item .ttl{
		font-size: 1.75rem;
		margin: 0% 0% 0%;
	}
	
	#happy20th .sec02 .shiki00 p, #happy20th .sec02 .shiki01 p, #happy20th .sec02 .shiki02 p{
		line-height: 1.5;
	}
	
	#happy20th .sec03 .movie{
		-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
	}
	
	#happy20th .sec03 .movie .item:not(:nth-of-type(2n + 2)){
		margin-right: 0%;
	}
	
	#happy20th .sec03 .movie .item:nth-of-type(n + 3){
		margin-top: 0px;
	}
	
	#happy20th .sec03 .movie .item:nth-of-type(n + 2){
		margin-top: 40px;
	}
	
	#happy20th .sec03 .ai_c{
			-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;

	}
	
	
	#happy20th .sec03 .movie .item iframe{
		height: 60vw;
	}
}
