/* kinkikokuspo CSS */

/*********************************************************************** COMMON */
*{box-sizing:border-box;}
#container:after, .content:after, .inner:after, dl:after{display:none;}

html { 
font-family: "arial", "helvetica", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
min-height: 100%;
height: 100%;
}
body {
font-size: 1.5rem;
line-height: 1.8;
background: url("../img/bg_ptn.png") right top;
background-repeat: repeat;
/*background-size: 150%;*/
color: #333;
/*width: 100%;*/
height: 100%;
}
.cover {
width:100%;
height: 100%;
background: linear-gradient(rgba(255,255,255,0.4),rgba(255,255,255,0.2));
overflow: auto;
-ms-overflow-style: none;
scrollbar-width: none;
}
.cover::-webkit-scrollbar {
display: none;
}
.container {
background: url("../img/flag.svg") no-repeat;
background-position: center -0.6rem;
overflow: hidden;
}

p.btn{
display: block;
width: 33rem;
background-color: #fff;
border-radius: 1.5rem;
margin-top: 1rem;
font-weight: bold;
box-shadow: 1px 1px 4px rgba(0,0,0,0.1);
}
a.pdf-link{
display: flex;
align-items: center;
margin-bottom: 3rem;
padding: 0.8rem 1.8rem;
}
a.pdf-link:hover{
text-decoration: underline;
text-underline-offset: 3px;
}
a.pdf-link::before {
    content: "";
    display: inline-block;
    -webkit-mask: url(../img/f1c1.svg) no-repeat center center / contain;
    mask-image: url(../img/f1c1.svg);
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    width: 1.6rem;
    height: 1.6rem;
    margin: 0  0.5rem 0.2rem 0;
    background-color: #c00;
}



@media screen and (max-width:736px) {
/*PCのみ適用*/
.pc_only{
display: none;
}
}/*@media screen and (max-width:736px)*/

@media screen and (min-width:737px) {
/*spのみ適用*/
.sp_only{
display: none;
}

/*背景デコレーション*/
.decobox{
position: relative;
}
.bg_decoration1{
background-image: url("../img/bg_deco1.png");
background-repeat: no-repeat;
background-size: contain;
position: absolute;
z-index: -10;
opacity: 0.65;
width: 80rem;
height: 80rem;
top: 5%;
left: -50%;
}
.bg_decoration2{
background-image: url("../img/bg_deco2.png");
background-repeat: no-repeat;
background-size: contain;
position: absolute;
z-index: -10;
opacity: 0.65;
width: 90rem;
height: 90rem;
top: 30%;
left: 85%;
}
}/*@media screen and (min-width:737px)*/



/********************************************************************* .cont-box */
section.cont-box {
width:100%;
margin-bottom: 4rem;
padding: 0 1rem;
}

/*タイトル*/
div#ttl-area{
background-color: #fff;
margin: 13.5rem auto 0;
padding: 1rem;
text-align: center;
font-family: 'Zen Maru Gothic', sans-serif;
font-style: normal;
font-weight: 300;
line-height: 1.3;
border-radius: 1rem;
}
div#ttl-area h1{
font-size: 3.4rem;
margin-bottom: 3rem;
position: relative;
}
div#ttl-area h1::before{
content: '';
display: block;
width: 99%;
height: 2rem;
background-image: url("../img/line-s.png");
background-repeat: no-repeat;
position: absolute;
left: -0.5rem;
bottom: -2.5rem;
}
div#ttl-area h1::after{
content: '';
display: block;
width: 1.6rem;
height: 2rem;
background-image: url("../img/line-s_end.png");
background-repeat: repeat-x;
position: absolute;
right: 0;
bottom: -2.6rem;
}
div#ttl-area p{
font-size: 1.8rem;
margin-bottom: 1rem;
}
div#ttl-area p:last-child{
margin-bottom: 0;
}

@media screen and (max-width:350px) {
/*タイトル*/
div#ttl-area h1{
font-size: 3rem;
width: 68rem;
margin: 0 auto 3rem;
}
div#ttl-area p{
font-size: 1.6rem;
line-height: 1.4;
}
}/*@media screen and (max-width:350px)*/

@media screen and (min-width:500px) {
/*タイトル*/
div#ttl-area h1{
width: 75%;
margin: 0 auto 3rem;
}
div#ttl-area h1::before{
width: 99%;
}
}/*@media screen and (min-width:500px)*/

@media screen and (min-width:737px) {
/*タイトル*/
div#ttl-area h1{
width: 68rem;
margin: 0 auto 3rem;
}
/*div#ttl-area h1::after{
width: 680px;
}*/
div#ttl-area h1{
font-size: 4.4rem;
}
div#ttl-area p{
font-size: 2.4rem;
}
}/*@media screen and (min-width:737px)*/



/********************************************************************* 種目ボタン */

/*--------------------------------------------
	599px以下
---------------------------------------------*/
div.event {
margin-top: 5rem;
}
/*div.event p{
font-weight: bold;
}*/
div.event p.lead{
margin-bottom: 2rem;
font-size: 1.8rem;
}
div.event ul{
display: flex;
flex-wrap: wrap;
}
div.event ul li{
width: calc((100% - 2rem) / 3);
margin-right: 1rem;
margin-bottom: 2rem;
border: 2px #7b310d solid;
border-radius: 1rem;
background-color: #fff;
text-align: center;
font-size: 1.3rem;
line-height: 1.2;
transition: 0.1s all ease;
position: relative;
}
div.event ul li:hover{
border: 2px #dd3b00 solid;
}
div.event ul li.start0601{
border: 2px #888 solid;
/*border: 2px #3e3e3e solid;*/
background-color: #eee;
/*background-color: #cecece;*/
}
div.event ul li:nth-child(3n){
margin-right: 0;
}
div.event ul li img{
width: 75%;
}
div.event ul li a{
text-decoration: none;
padding: 3rem 0 0.5rem;
display: block;
color: #7b310d;
height: 100%;
}
div.event ul li a:hover{
color: #dd3b00;
}
div.event ul li p{
font-family: 'Zen Maru Gothic', sans-serif;
font-style: normal;
font-weight: 300;
margin: 1.5rem 0.5rem 0;
line-height: 1.3;
}

div.event ul li.start0601 a{
pointer-events: none;
}
div.event ul li.start0601 img, div.event ul li.start0601 p{
filter: brightness(0) saturate(100%) invert(75%) sepia(5%) saturate(16%) hue-rotate(339deg) brightness(83%) contrast(87%);
pointer-events: none;
}
/*div.event ul li.start0601 img, div.event ul li.start0601 p{
filter: grayscale(100%);
pointer-events: none;
}*/
div.event ul li span{
position: absolute;
top: 0.5rem;
right: 0;
background-color: #e54204;
color: #fff;
padding: 0.3rem 0.5rem 0.3rem 0.8rem;
border-radius: 0.5rem 0 0 0.5rem;
}


/*--------------------------------------------
	779px以下
---------------------------------------------*/
@media screen and (min-width:600px) and ( max-width:779px) {
div.event ul li{
width: calc((100% - 3rem) / 4);
margin-right: 1rem;
}
div.event ul li:nth-child(3n){
margin-right: 1rem;
}
div.event ul li:nth-child(4n){
margin-right: 0;
}
}/*@media screen and (min-width:600px) and ( max-width:779px) */


/*--------------------------------------------
	999px以下
---------------------------------------------*/
@media screen and (min-width:780px) and ( max-width:999px) {
div.event {
margin-top: 7rem;
}
div.event ul li{
width: calc((100% - 4rem) / 5);
margin-right: 1rem;
}
div.event ul li:nth-child(3n),
div.event ul li:nth-child(4n){
margin-right: 1rem;
}
div.event ul li:nth-child(5n){
margin-right: 0;
}
}/*@media screen and  (min-width:780px) and ( max-width:999px)*/


/*--------------------------------------------
	1000px以上
---------------------------------------------*/
@media screen and (min-width:1000px) {
section.cont-box {
width:1000px;
margin:0 auto 4rem;
padding: 0;
}

/*種目ボタン*/
div.event {
margin-top: 7rem;
}
div.event ul li{
width: calc((100% - 6rem) / 5);
margin-right: 1.5rem;
}
div.event ul li:nth-child(3n),
div.event ul li:nth-child(4n){
margin-right: 1.5rem;
}
div.event ul li:nth-child(5n){
margin-right: 0;
}
}/*@media screen and (min-width:1000px)*/



/****************************************************************** お問い合わせ先 */
.contact{
font-family: 'Zen Maru Gothic', sans-serif;
font-style: normal;
font-weight: 300;
background-color: #fff;
padding: 1rem 2rem;
border-radius: 1rem;
position: relative;
border: 3px dotted #6ecbc7; 
}
h2{
font-size: 2.4rem;
margin-bottom: 2rem;
position: relative;
width: 80%;
}
h2::before{
content: '';
display: block;
width: 99%;
height: 2rem;
background-image: url("../img/line-l.png");
background-repeat: no-repeat;
position: absolute;
left: 0;
bottom: -2rem;
}
h2::after{
content: '';
display: block;
width: 1.6rem;
height: 2rem;
background-image: url("../img/line-l_end.png");
background-repeat: no-repeat;
position: absolute;
right: 0;
bottom: -2.1rem;
}
.contact img{
position: absolute;
top: 3rem;
right: 2rem;
width: 15%;
transform: rotate(8deg)
}

@media screen and (min-width:737px) {
.h2{
width: 85%;
}
h2::before{
width: 99%;
}
h2::after{

}
.contact img{
top: 4rem;
right: 3rem;
width: 10%;
transform: rotate(10deg)
}
}/*@media screen and (min-width:737px)*/


/********************************************************************** footer */
footer{
text-align: center;
font-size: 1.2rem;
background-color: #f0f0f0;
line-height: 5rem;
}

/*pagetop*/
#page_top{
  width: 60px;
  height: 60px;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  background: #999;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 60px;
  height: 60px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 5rem;
  color: #fff;
  position: absolute;
  /*width: 50px;
  height: 50px;*/
  top: -15px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
