@charset "UTF-8";
/* CSS Document */

.pc{
	display:none !important;
}

/*アニメーション要素のスタイル*/
.fade{
	opacity : 0;
	visibility: hidden;
	transition: 0.9s;
    transition-delay: 0.35s;
	transform: translateY(50px);
}
/*アニメーション要素までスクロールした時のスタイル*/
.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.anchor{
    display: block;
    width: 100%;
    height: 0;
    margin: 0 ;
    float: left;
    clear: both;
}

*{
	margin:0;
	padding:0;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

img{
	border:0;
	border-style:none;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

a img {
	border:0;
    border-style:none;
}

html{
	height:100%;
}

body{
	width:100%;
	height:100%;
	margin:0;
    background-color: #fff;
	background-image: url("../images/bg.jpg");
	background-size: cover;
	background-position: top center;
	background-attachment: fixed;
	background-repeat: repeat-y;
    animation: fadeIn 1.2s ease 0s 1 normal;
    -webkit-animation: fadeIn 1.2s ease 0s 1 normal;
}

ol,ul {
	list-style:none;
}

#logo{
    display: block;
    position: relative;
    width: auto;
    height: auto;
    margin: 0 auto;
    top:0;
}

/* レイアウト */
header{
	display: block;
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	background-image: url("../images/header_bg.jpg");
	background-size: 100% auto;
	background-position: top center;
}
main{
	display: block;
	width: calc(100% - 40px);
	max-width: 660px;
	padding: 0 20px;
	margin: 0 auto;
	background-image: url("../images/main_bg.jpg");
	background-size: 106% auto;
	background-position: top center;
}
footer{
	display: block;
	width: 100%;
}

/* header */
h1{
	display: block;
	float: left;
	clear: both;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
header .block{
	display: block;
	width: 94%;
	padding: 0 !important;
	margin: 15px 3% 0 3%;
	float: left;
	clear: both;
}
header .lead{
	text-align: center;
	font-feature-settings: 'palt';
	font-size: 0.90rem;
	line-height: 180%;
	letter-spacing: 0;
	font-weight: bold;
	color: #0085d0;
}
header .period{
	text-align: center;
	font-feature-settings: 'palt';
	letter-spacing: 0 !important;
	font-size: 0.85rem;
	font-weight: bold;
	padding: 30px 0;
}
header .period strong{
	display: block;
	width: 100px;
	letter-spacing: 1px;
	padding: 4px 0 3px 3px;
	margin: 0 auto 15px auto;
	border: solid 1px #000;
	border-radius: 8px;
	clear: both;
}

/* MAP */
#map_area{
	display: block;
	width: 100%;
}
#map_area h2{
	display: block;
	width: 100% !important;
}

/* MAP */
#howto_area{
	display: block;
	width: 100%;
	padding: 30px 0 0 0;
}
#howto_area h2{
	display: block;
	width: 100% !important;
	padding: 0;
	margin: 0;
}
#howto_area ol{
	display: block;
	width: calc(100% - 50px);
	padding: 35px 25px 10px 25px;
	background-color: #f3e277;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
}
#howto_area ol li{
	display: block;
	margin-bottom: 50px;
}

/* 店舗 */
#shop_area{
	display: block;
	position: relative;
	width: 100%;
	padding: 30px 0 0 0;
	z-index: 5;
}
#shop_area h2{
	display: block;
	width: 100% !important;
	padding: 0;
	margin: 0;
}
#shop_area h2 img{
	display: block;
	width: 75% !important;
	padding: 0;
	margin: 40px auto;
}

#shop_area ul li{
	display: block;
	width: 100%;
	text-align: center;
	margin-bottom: 60px;
	float: left;
	clear: both;
}
#shop_area ul li .text{
	display: block;
	width: 90%;
	background-color: #fff;
	padding: 23% 5% 20px 5%;
	margin-top: -21%;
	border-radius:20px;
	float: left;
	clear: both;
}

#shop_area ul li .text h3{
	display: block;
	width: 100%;
	font-size: 1.2rem;
	font-weight: bold;
	font-feature-settings: 'palt';
	letter-spacing: 0 !important;
	color: #2c6da5;
	margin-bottom: 10px;
	vertical-align: bottom;
}
#shop_area ul li .text h3 span{
	display: inline-block;
	font-size: 0.80rem !important;
}
#shop_area ul li .text p{
	display: block;
	width: 100%;
	font-size: 0.75rem;
}

#shop_area ul li .text a{
	display: block;
	text-decoration: none;
	width: 90%;
	color: #fff;
	font-size: 1.1rem;
	letter-spacing: 1px;
	font-weight: bold;
	padding: 8px 0;
	margin: 15px 5% 10px 5%;
	background-color: #25a7c6;
	border-radius: 50px;
	transition: 0.3s;
}
#shop_area ul li .text a:hover{
	transform: scale(1.05);
	background-color: #51DDFF;
	transition: 0.3s;
}
#shop_area ul li .text .copy{
	font-size: 0.65rem !important;
	margin-top: 10px !important;
}
#shop_area ul li .text .caption2{
	font-size: 0.62rem !important;
	transform: scale(0.95,1);
}

/*STAMP*/
#stamp_area{
	display: block;
	width: 100%;
	padding: 30px 0 0 0;
}
#stamp_area h2{
	display: block;
	width: 100% !important;
	padding: 0;
	margin: 0;
}
#stamp_area .block{
	display: block;
	width: calc(100% - 30px);
	padding: 35px 15px 10px 15px;
	background-color: #f3e277;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
}
#stamp_area .block .lead{
	text-align: left;
	font-feature-settings: 'palt';
	font-size: 0.95rem;
	line-height: 170%;
	letter-spacing: 0;
	font-weight: bold;
	color: #0085d0;
	margin-bottom: 30px;
}

#stamp_area .block .period{
	text-align: center;
	font-feature-settings: 'palt';
	letter-spacing: 0;
	font-size: 0.8rem;
	line-height: 180%;
	font-weight: bold;
	padding: 0 0;
}
#stamp_area .block .period span{
	font-size: 0.7rem !important;
}
#stamp_area .block .period strong{
	display: block;
	width: 120px;
	letter-spacing: 1px;
	padding: 4px 0 3px 3px;
	margin: 0 auto 10px auto;
	border: solid 1px #000;
	border-radius: 8px;
	background-color: #fff;
	clear: both;
}


#stamp_area ul{
	display: block;
	width: 100%;
	padding: 25px 0 10px 0;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	overflow: auto;
	overflow-x: hidden;
	overflow-y: hidden;
}
#stamp_area ul li{
	display: block;
	margin-bottom: 25px;
	clear: both;
}

.stamp_li01{
	border-bottom: dashed 1px #000;
	padding-bottom: 50px;
}
.stamp_li02{
	border-bottom: dashed 1px #000;
	padding-bottom: 50px;
}
.stamp_li03 h3{
	margin-top: 30px !important;
}
#stamp_area .text{
	display: block;
	width: 100%;
	margin: 10px 0 25px 0;
	float: left;
	clear: both;
}
#stamp_area .text img{
	display: block;
	width: 36%;
	height: auto;
	float: left;
}
.stamp_img01{
	width: 80%;
	margin: 0 10%;
	border-radius:20px;
}
.stamp_img02{
	border-radius:20px;
}
#stamp_area .stamp_li01 h3,
#stamp_area .stamp_li02 h3,
#stamp_area .stamp_li03 h3{
	display: block;
	width: 57%;
	font-size: 1.1rem;
	line-height: 170%;
	padding: 0;
	margin: 0;
	float: right;
}

#stamp_area .stamp_li01 span,
#stamp_area .stamp_li02 span,
#stamp_area .stamp_li03 span{
	display: inline-block;
	color: #fff !important;
	font-size: 0.9rem !important;
	line-height: 140% !important;
	background-color: #0085d0;
	padding: 6px 15px 5px 15px;
	margin: 0 0 8px 0 !important;
	border-radius: 6px;
}
.prize{
	display: inline-block;
	max-width: calc(42% - 16px);
	color: #fff;
	font-size: 0.85rem;
	padding: 10px 8px;
	margin-top: 3px;
	margin-bottom: 15px;
	background-color: #c11a20;
	border-radius: 10px;
	float: left;
}
#stamp_area .stamp_li04 h3,
#stamp_area .stamp_li05 h3{
	display: block;
	width: 60%;
	font-size: 1.0rem;
	line-height: 160% !important;
	font-feature-settings: 'palt';
	padding: 0;
	margin: 0 0 30px 0;
	float: right;
}
#stamp_area .stamp_li04 .caution,
#stamp_area .stamp_li05 .caution{
	display: inline-block;
	font-size: 0.7rem !important;
	line-height: 120% !important;
	font-weight: normal;
	margin-top: 5px !important;
	float: left;
}

#stamp_area .stamp_li05 .small{
	font-size: 0.9rem !important;
}


.bt_block{
	display: block;
	width: 100%;
	padding: 60px 0 30px 0;
}
.bt_block img{
	display: block;
	width: 75%;
	margin: 0 auto;
}
.bt_stamp a{
	display: block;
	text-decoration: none;
	width: 90%;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: 0;
	font-weight: bold;
	padding: 20px 0;
	margin: 25px 5% 35px 5%;;
	background-color: #25a7c6;
	border-radius: 100px;
	transition: 0.3s;
}
.bt_stamp a:hover{
	transform: scale(1.05);
	background-color: #51DDFF;
	transition: 0.3s;
}

/*footer*/
footer .block{
	display: block;
	width: 100%;
	background-color: #fff;
	padding: 90px 0 40px 0;
	margin: 0 auto;
}
footer .logo2{
	display: block;
	width: 90%;
	max-width: 280px;
	margin: 0 auto 60px auto;
}
footer .copyright{
	text-align: center;
	font-size: 0.7rem;
}