@charset "utf-8";

@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
@import url(//use.fontawesome.com/releases/v5.0.6/css/all.css);

/*
	font-family:"FontAwesome";
	font-family:"Font Awesome 5 Free";
*/

html {
	font-size: 62.5%; /* 10px; */
}

/* PC */
@media screen and (min-width: 641px) {

body {
  font-size: 1.3rem;
  background: -webkit-linear-gradient(#eccf78, #fff 7%, #fff 92%, #eccf78 100%);
  background: -o-linear-gradient(#eccf78, #fff 7%, #fff 92%, #eccf78 100%);
  background: linear-gradient(#eccf78, #fff 7%, #fff 92%, #eccf78 100%);
}

main {
  max-width: 1080px;
  margin: 0 auto;
    display: block;
}
body main {
}


header img {
  width: 100%;
}

.header_sp {
  display: none;
}

/* ナビゲーション */
.navigation ul {
  overflow: hidden;
  width: 98%;
  margin: 0 auto;
  list-style: none;
  display: flex;
  padding: 0;
  margin-bottom: 70px;
}

.navigation li {
  width: calc(100% / 3);
  font-size: 2rem;
  margin-right: 5%;
}

.navigation li:last-of-type {
  margin-right: 0;
}

.navigation li a {
  display: block;
  background: #16b28b;
  padding: 14px 0;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  transition: 0.5s;
  text-decoration: none;
  margin: 0 !important;
}
  
.navigation li a:hover {
  background: rgba(26, 178, 131, .7);
}

/* hタグ */
h2 {
  margin-left: 1%;
  padding: 0.8rem 2rem;
  font-size: 3.6rem;
  color: #16b28b;
  border-left: 8px double #16b28b;
}

h3 {
  font-size: 2.6rem;
  color: #ff6098;
  margin: 0 0 0 1%;
}

h3::before {
  content: "★";
}

/* 概要 */
.overview {
  width: 98%;
  font-size: 1.4rem;
  padding-left: 2%;
  margin-bottom: 50px;
}

.overview a {
  text-decoration: none;
  transition: 0.5s;
  margin: 0 !important;
}

.overview a::before{
  content: "≫";
  margin-right: 6px;
}

.overview a:hover {
  margin-left: 4px !important;
  color: #ff6098;
  transition: 0.4s;
}

/* 開催店舗 */
#shop ul {
  width: 98%;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  padding-left: 2%;
  margin: 20px 0 35px;
}

#shop ul:last-of-type{
  margin-bottom: 50px;
}

#shop li {
  width: calc(100% / 4);
  font-size: 1.3rem;
}

#shop li a{
  display: block;
  padding: 6px 0;
  transition: 0.5s;
  text-decoration: none;
  color: #000;
  margin: 0 !important;
}

#shop ul::before,
#shop ul::after {
  content: "";
  display: block;
  width: calc(100% / 4);
}

#shop ul::before {
  order: 1;
}

#shop li a::before{
  content: "≫";
  margin-right: 6px;
}
  
#shop li a:hover {
  margin-left: 4px !important;
  color: #ff6098;
  transition: 0.4s;
}

/* 店舗写真 */
.shopWrap {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin-bottom: 60px;
}

.shopWrap::before,
.shopWrap::after {
  content: "";
  display: block;
  width: 250px;
}

.shopWrap::before {
  order: 1;
}
  
.shopBox {
  width: 250px;
  margin: 0 !important;
}

.imgbox {
    width: 240px;
    height: 240px;
    border: solid #ff6098 1px;
    position: relative;
    margin-top: 30px;
    background-color: #fff;
}
.sub_img {
    display: none;
}
.Name {
  padding: 2px 0 0 10px;
  margin-top: 10px;
}

.imgbox img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
 position: absolute;
 left: 0;
 right: 0;
 top: 0;
 bottom: 0;
 margin: auto;}

.ribbon {
  width: 222px;
  height: 30px;
  background-color: #ff6098;
  color: #ffffff;
  position: relative;
  line-height: 200%;
  margin-left: 4px !important;
}

.ribbon:after {
  content: '';
  border-style: solid;
  border-width: 15px 15px 15px 5px;
  border-color: #ff6098;
  border-right-color: transparent;
  position: absolute;
  left: 222px;
  top: 0px;
}

/* バナー */
.BnrWrap {
	margin: 150px 0 0px;	
}
  
#BnrWrap ul {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  list-style: none;
  padding: 0;
}

#BnrWrap ul::after {
  content: "";
  display: block;
  width: calc(100% / 3 - 20px);
  margin: 0 10px 20px;
}

#BnrWrap li{
	width: calc(100% / 3 - 20px);
	margin: 0 10px 20px;
	list-style: none;
}

#BnrWrap li img{
	width: 100%;
	border: 1px solid #000;
}

/* footer */
footer .copyright {
	margin: 15px 0 35px;
	font-size: 1.2rem;
	text-align: center;
}  
}/* @media screen and (min-width: 641px) */

/* グラデーション調整*/
@media screen and (min-width:750px) and ( max-width:1000px) {
body {
  background: -webkit-linear-gradient(#eccf78, #fff 4%, #fff 95%, #eccf78 100%);
  background: -o-linear-gradient(#eccf78, #fff 4%, #fff 95%, #eccf78 100%);
  background: linear-gradient(#eccf78, #fff 4%, #fff 95%, #eccf78 100%);
}}

@media screen and (min-width:640px) and ( max-width:750px) {
body {
  background: -webkit-linear-gradient(#eccf78, #fff 3%, #fff 97%, #eccf78 100%);
  background: -o-linear-gradient(#eccf78, #fff 3%, #fff 97%, #eccf78 100%);
  background: linear-gradient(#eccf78, #fff 3%, #fff 97%, #eccf78 100%);
}}

/* スマホ */
@media screen and (max-width: 640px) {

body {
  background: -webkit-linear-gradient(#eccf78, #fff 2%, #fff 96%, #eccf78 100%);
  background: -o-linear-gradient(#eccf78, #fff 2%, #fff 96%, #eccf78 100%);
  background: linear-gradient(#eccf78, #fff 2%, #fff 96%, #eccf78 100%);
  font-size:1.3rem;
}

main {
  width: 95%;
  margin: 0 auto;
}

header, header img {
  width: 100%;
}

.header_pc {
  display: none;
}

/* nav */
.navigation ul {
  overflow: hidden;
  width: 100%;
  padding: 0;
  list-style: none;
  margin-bottom: 30px;
}

.navigation li{
  float: left;
  width: calc(100% / 3 - 16px);
  margin: 0 8px;
  font-size: 1.4rem;
}

.navigation li a{
  display: block;
  background: #16b28b;
  padding: 10px 0 8px;
  color: #fff;
  line-height: 1;
  text-align: center;
  border: 2px solid #16b28b;
  border-radius: 5px;
  text-decoration: none;
}

/* hタグ */
h2 {
  margin-left: 2.5%;
  padding: 0.8rem 2rem;
  font-size: 1.8rem;
  color: #16b28b;
  border-left: 5px double #16b28b;
}

h3 {
  font-size: 1.6rem;
  color: #ff6098;
  margin: 15px 0 0 3%;
}

h3::before {
  content: "★";
}

/* 概要 */
.overview {
  font-size: 1.4rem;
  padding: 0 5%;
  margin-bottom: 50px;
}

.overview a {
  text-decoration: none;
}

.overview a::before{
  content: "≫";
  margin-right: 6px;
}

/* 開催店舗 */
#shop ul {
  width: 90%;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  padding: 5px 5% 0;
}

#shop ul:last-of-type{
  margin-bottom: 50px;
}

#shop li {
  width: calc(100% / 2);
  font-size: 1.1rem;
}

#shop li a{
  display: block;
  padding: 5px 0;
  text-decoration: none;
  color: #000;
  line-height: 1.3em;
  margin: 0 !important;
}

#shop ul::before,
#shop ul::after {
  content: "";
  display: block;
  width: calc(100% / 4);
}

#shop ul::before {
  order: 1;
}

#shop li a::before{
  content: "≫";
  margin-right: 6px;
} 

/* 店舗写真 */
.shopWrap {
  width: 96%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin: 0 2%;
}

.shopWrap::before,
.shopWrap::after {
  content: "";
  display: block;
  width: calc(100% / 2 - 10px);
  margin: 0 2%;
}

.shopWrap::before {
  order: 1;
}
  
.shopBox {
  width: calc(100% / 2 - 10px);
  margin: 0 auto;
}

.imgbox {
  width: 100%;
  padding-bottom: 100%;
  border: solid #ff6098 1px;
  position: relative;
  margin-top: 15px;
  background-color: #fff;
}

.Name {
  width: 96%;
  padding: 5px 2.5% 0;
  background: #ff6098;
  margin-top: 5px;
  color:#fff;
  text-align:center;
  overflow: visible;
}

.imgbox img {
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
 position: absolute;
 left: 0;
 right: 0;
 top: 0;
 bottom: 0;
 margin: auto;
}
.sub_img{
        display: none;
    }    

/* バナー */
.BnrWrap {
	margin: 70px 0 0px;	
}
  
#BnrWrap ul {
  width: 96%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  list-style: none;
  padding: 0;
}

#BnrWrap li{
	width: calc(100% / 2 - 10px);
	margin: 0;
	list-style: none;
}

#BnrWrap li img{
	width: 100%;
	border: 1px solid #000;
}

/* footer */
footer .copyright {
    width: 100%;
	margin: 30px 0 30px;
	font-size: 1.2rem;
	text-align: center;
}
}/*@media screen and (max-width: 640px)*/

/* topへ戻る */
#footerGroup #totop{
    width:40px;
    height:40px;
    padding:0;
    text-indent:-9999px;
    background-color:#0079c7;
    border-radius:100%;
    position:fixed;
    bottom:10px;
    right:0;
    z-index:800;
    display:none;
    cursor:pointer;
}
#footerGroup #totop a {display:block;}
#footerGroup #totop::after{
    content:"\f106";
    font-family:"FontAwesome";
    font-size:40px;
    line-height:35px;
    text-indent:0;
    text-align:center;
    color:#fff;
    display:block;
    position:absolute;
    top:0;
    left:0;
    right:0;
}
