/*
Theme Name:datsutanso2025
Theme URI: 
Version: 1.0
Author: wakizashi
Author URI: https://wakizashi.jp
License: wakizashi
*/


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

.mincho {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

body {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    letter-spacing: 2px;
    background-image: url(img/bg.webp);
    background-repeat: repeat;
    background-size: 100%;
    overflow-x: hidden;
}

body:before {
    content: "";
    background-image: url(img/bg.webp);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: top center;
    display: block;
    width: 100%;
    top: -1%;
    bottom: 50%;
    position: absolute;
    z-index: -3;
}

body:after {
    content: "";
    background-image: url(img/bg2.webp);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: top center;
    display: block;
    width: 100%;
    top: 49%;
    bottom: 0%;
    position: absolute;
    z-index: -2;
}



* html body {
    overflow: hidden;
    height: 100% font-size:90%;
}

/*各種基本クラス初期設定*/

.fixed {
    /*position: fixed;*/
    top: 0px;
    left: 0px;
    width: 100%;
    z-index: 9999;
}

.clear {
    clear: both;
}

a {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

a:hover {
    opacity: 0.6;
    filter: alpha(opacity=80);
}


.fade {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.fade:hover {
    opacity: 0.6;
    filter: alpha(opacity=80);
}

.hide ,.special{
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    height: 0px !important;
    padding: 0px !important;
    margin: 0px !important;
    border: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
    font-size: 100%;
    font-weight: normal;

}

h3 {

    font-size: 110%;
    margin-top: 10px;
    margin-bottom: 10px;
    letter-spacing: 1px;
}



.page img {
    max-width: 100%;
    height: auto;
}

ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    line-height: 160%;
}

a {
    color: #333333;
    text-decoration: none;
}

a:hover {
    /*color:#aaaaaa;
	text-decoration:underline;*/

}

p {
    margin: 15px 0 20px 0px;
    font-size: 95%;
    color: #fff;
    line-height: 180%;
    letter-spacing: 0px;
    text-align: justify;
}

p a {
    color: #00688C;
}

ol {}

ol li {
    margin: 10px 0px;
    line-height: 160%;
}

span {
    color: #fff;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*文字サイズ・基本装飾*/

.pop {
    font-family: 'Shrikhand', cursive;
}

.strong {
    font-weight: bold !important;
}

.big {
    font-size: 125% !important;

}

.v_big {
    font-size: 150% !important;
}

.vv_big {
    font-size: 180% !important;
}

table .big {
    color: #2968BE;
}

.blue {
    color: #0085B2;
}

.bun {
    text-indent: 1em;
}

.textright {
    text-align: right !important;
}

.textcenter {
    text-align: center !important;
}

.small {
    font-size: 85% !important;
}

.v_small {
    font-size: 70% !important;
}

.green {
    color: #00C131 !important;
}

.red {
    color: #bc3e3f;
}

hr {
    border: none;
    border-bottom: dotted 1px #cccccc;
    margin: 50px 0px;
}

.space {
    border: none;
    display: block;
    height: 10px;
    margin: 15px 0;
}


/*YouTube Googlemap*/

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

#page .gmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;

}

#home .gmap {

    position: relative;
    height: 500px;
    overflow: hidden;
}

.gmap iframe,
.gmap object,
.gmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#home #mapCas {
    width: 90%;
    height: 300px;
    margin: 10px auto;
}

#page #mapCas {
    width: 90%;
    height: 480px;
    margin: 10px auto;
}

.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style] {
    width: 100% !important;
}


/*テーブル設定*/

table {
    clear: both;
    border-collapse: collapse;
    margin-left: 0px;
    margin-top: 15px;
    margin-bottom: 55px;
    width: 100%;
}


th,
td {
    padding: 10px 5px 10px 7px;
    vertical-align: top;
    color: #111111;
    line-height: 160%;
    letter-spacing: 0px;
}

th span,
td span {
    font-weight: bold;
    margin: 10px 0px;
}

th p,
td p {
    font-size: 100%;
    margin: 10px 0 !important;
}



/*イメージ*/
img {
    max-width: 100%;
    border: none;
    height: auto;
}

.center {
    text-align: center !important;
    display: block !important;
    margin: 10px auto 0 !important
}


/*サイトヘッダー*/
#header {

    z-index: 13;
    width: 100%;
    /* border-top: 3px #2968BE solid; */
    /* height: 80px; */
    padding-bottom: 25px;
    position: fixed;
    top: 0;
}

#header:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}



/*h1 img{
  animation: hoverShake 4s linear infinite;
  width: 70%;
}*/

.title_area .enter_free {
    position: absolute;
    z-index: 99;
    bottom: -1%;
    left: -10%;
    width: 25%;
    height: 25%;
}


.title_area .catch {}

@keyframes hoverShake {
    0% {
        transform: skew(0deg, 0deg);
    }

    5% {
        transform: skew(2deg, 2.2deg);
    }

    10% {
        transform: skew(-1.5deg, -2deg);
    }

    15% {
        transform: skew(2deg, 1.2deg);
    }

    20% {
        transform: skew(-1deg, -1deg);
    }

    25% {
        transform: skew(0.9deg, 0.9deg);
    }

    30% {
        transform: skew(-0.6deg, -0.6deg);
    }

    35% {
        transform: skew(0.3deg, 0.3deg);
    }

    40% {
        transform: skew(-0.2deg, -0.2deg);
    }

    45% {
        transform: skew(0.1deg, 0.1deg);
    }

    50% {
        transform: skew(0deg, 0deg);
    }
}






/*ヘッダーメニュー*/
#headercont {
    min-width: 1260px;
    width: 1260px;
    margin: 0 auto;
    position: relative;
    padding: 0px;
    z-index: 10;
    height: 100px;
}

#top_mainmenu {
    max-width: 100%;
    width: auto;
    margin: 15px auto 0;
    position: absolute;
    text-align: right;
    right: 10px;
    bottom: 10px;
    display: block;
}

#top_mainmenu ul {
    margin: 0 auto;
    display: block;
    box-sizing: border-box;
    padding: 0px 0px;
    width: 100%;
    text-align: right;
}

#top_mainmenu li {
    display: inline-block;
    letter-spacing: 1px;
}

#top_mainmenu li:first-child {
    border: none !important;
}

#top_mainmenu li a {
    color: #111;
    font-weight: bold;
    padding: 8px 20px;
    font-size: 105%;
    /* font-weight: bold;*/
}

#top_mainmenu li a span {
    display: block;
    text-align: right;
    font-size: 70%;
}


#top_mainmenu li:first-child {}

#top_mainmenu li ul li {
    border: none !important;
    padding: 0px;
    border-bottom: none !important;
}

#top_mainmenu li ul li a {
    color: #000;
    background: #FADC1D;
    border-bottom: 2px solid #000;
}

#top_mainmenu .contact_link {
    position: relative;
    text-align: center;
    background: #111;
    border-radius: 100px;
    display: block;
    padding: 3px 22px;
    color: #fff;
    font-size: 1.1rem;
    font-weight: bold;

    margin: auto;
}

#top_mainmenu .contact_link:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    height: 20px;
    background: url(img/mail_icon.png) no-repeat left;
    background-size: cover;

}



/*ローダー*/

#loader-bg {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background: #6ce3ff;
    background-size: cover;
    z-index: 10001;
}

.zero {
    height: 0px;
}

#loader {
    /* display: none; */
    position: fixed;
    top: 50%;
    left: 25%;
    width: 50%;
    height: 150px;
    margin-top: -100px;
    /* margin-left: -130px; */
    text-align: center;
    color: #fff;
    z-index: 200;
	animation-delay: 1s;
}

#loader img {
    /*visibility: visible !important;*/
    width: 39%;
	transform-origin:center top;
	animation:show 1s both;
}

#loader img:nth-of-type(1) {
    animation-delay: 0.6s;
    margin: 0 -10% 0 0%;
}

#loader img:nth-of-type(2) {
    animation-delay: 0.3s;
    position: relative;
    z-index: 2;
}

#loader img:nth-of-type(3) {
    animation-delay: 0.9s;
    margin: 0 0 0 -12%;
    display: block;
    position: relative;
    bottom: -1rem;
}

#loader .event_chara {
    z-index: 1200;
    justify-content: center;
    flex-wrap: nowrap;
}

.show {
	transform-origin:center top;
	animation:show 1s both;
}

@keyframes show {
	0% {
		transform:translate(0,2em);
		opacity:0;
		text-shadow:0 0 0 #0f0;
	}
	50% {
		text-shadow:0 0 0.5em #0f0;
	}
	100% {
		transform:translate(0,0);
		opacity:1;
		text-shadow:none;
	}
}

.bounce {
    animation: bounce_4933 2.5s ease infinite;
    transform-origin: 50% 50%;
    height: 74px;
}

@keyframes bounce_4933 {
    0% {
        transform: translateY(0)
    }

    5.55556% {
        transform: translateY(0)
    }

    11.11111% {
        transform: translateY(0)
    }

    22.22222% {
        transform: translateY(-15px)
    }

    27.77778% {
        transform: translateY(0)
    }

    33.33333% {
        transform: translateY(-15px)
    }

    44.44444% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(0)
    }

    height:62px;
}

.sns_button {
    padding: 13px 5px !important;
}

.sns_button a {
    padding: 0px !important;
}



/*スライダー*/

.flexslider .slides {
    position: relative;
}

.no1,
.no2 {
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
}

.no1 {
    position: relative;
    width: auto;
    z-index: 11;
    width: 170%;
    max-width: none;
    left: 15%;
    top: 20%;
    height: auto;
    line-height: 1.8;
    font-size: 3.5rem;
    color: #111;
    font-weight: bold;
}


.no1 span {
    background: rgb(9, 70, 179, 0.8);
    padding: 6px 10px;
    font-weight: bold;
    color: #fff;
    font-size: 180%;
    margin-top: 10px;
}

.section {
    width: 100%;
    padding: 0px;
}


/*トップページレイアウト*/

.catch_area {
    position: relative;
    max-width: 1600px;
    margin: 0 auto;
    min-width: 1280px;
}

.text_event {
    content: "";
    background: url(img/text_event.svg);
    background-repeat: no-repeat;
    position: absolute;
    width: 30%;
    height: 20rem;
    left: 2%;
    top: -2%;
}

.main_illust {
    content: "";
    background: url(img/main_illust.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 20%;
    height: 17rem;
    top: 20%;
    left: 2%;
}

.main_illust2 {
    content: "";
    background: url(img/main_illust2.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 15%;
    height: 19rem;
    top: 28%;
    right: 1%;
    animation-delay: 2s !important;
}

.btn_area {
    position: absolute;
    top: 2%;
    right: 5%;
    z-index: -1;
}

.btn_area .circle {
    width: 17rem;
    /* height: 9rem; */
}

.btn_area .circle:nth-of-type(1) {
    position: relative;
    top: 0rem;
    display: block;
    margin: 1rem;
    background: unset;
    right: -2rem;
}

.btn_area .circle:nth-of-type(2){
	
}

#tree-wrap {
    width: 54%;
    margin: 0px -19% 0 0;
}

#tree-wrap .cls-1 {
	fill: #ffe158;
}

#tree-wrap .cls-2 {
	fill: #6ce3ff;
	filter: url(#drop-shadow-7);
}

#tree-wrap .cls-3 {
	fill: #fff;
}

#tree-wrap .cls-4 {
	fill: none;
}

#tree-wrap .cls-5 {
	fill: #09af5c;
	filter: url(#drop-shadow-5);
}

#tree-wrap .cls-6 {
	fill: #094;
}

#tree-wrap .cls-7 {
	clip-path: url(#clippath);
}

#tree-wrap .cls-8 {
	fill: #172a88;
}

#tree #body{
	position: relative;
	transform-box: fill-box;
}

.yurayura-face{
    transform-origin: center bottom;
    animation: yurayura-face 2s linear infinite;
}

@keyframes yurayura-face {
  0% , 100%{
      transform: rotate(5deg);
  }
  50%{
      transform: rotate(-5deg);
  }
}

#bear-wrap {
    width: 37%;
    margin: 0 0% 0;
    position: relative;
    z-index: 2;
}

#bear-wrap .cls-1 {
	fill: #6ce3ff;
	filter: url(#drop-shadow-7);
}

#bear-wrap .cls-2 {
        fill: #fff;
      }

#bear-wrap .cls-3 {
        fill: none;
      }

#bear-wrap .cls-4 {
        fill: #c2e6fa;
      }

#bear-wrap .cls-5 {
        clip-path: url(#clippath);
      }

#bear-wrap .cls-6 {
        fill: #172a88;
      }

#bear-wrap .cls-7 {
        fill: #63c6ee;
      }

.hi1 {
    animation: hi1 7s ease 0s infinite;
    transform-box: fill-box;
    transform-origin: center bottom;
}

@keyframes hi1{
	
0% {
    transform: translateX(0px);
	opacity:0;
}
	
10% {
    transform: translateX(0px);
	opacity:1;
}

20% {
    transform: rotate(10deg);
	opacity:1;
}
	
40% {
    transform: rotate(0deg);
	opacity:1;
}
	
60% {
    transform: rotate(10deg);
}
	
80% {
    transform: translateX(0px);
	opacity:1;
}

90% {
    transform: translateX(0px);
	opacity:0;
}
	
100% {
    transform: translateX(0px);
	opacity:0;
}
}

.hi2 {
    animation: hi2 7s ease 0s infinite;
    transform-box: fill-box;
    transform-origin: center bottom;
}

@keyframes hi2 {
	
0% {
	opacity:1;
}
	
10% {
	opacity:0;
}
	
40% {
	opacity:0;
}
	
60% {
	opacity:0;
}
	
80% {
	opacity:0;
}
	
90% {
    transform: translateX(0px);
	opacity:1;
}

100% {
	opacity:1;
}
}

#heart-wrap {
    width: 39%;
    margin: 0px 0% 0 -11%;
}

#heart-wrap .st0 {
	fill: #f4df3b;
}

#heart-wrap .st1 {
	fill: #fff;
}

#heart-wrap .st2 {
	fill: #e9598b;
}

#heart-wrap .st3 {
	fill: #e84475;
}

#heart-wrap .st4 {
	fill: #172a88;
}

.pyon {
    animation: pyon 3s ease 0s infinite;
    transform-origin: bottom;
}

@keyframes pyon {
  0% { transform: translateY(0px); animation-timing-function: ease; }
  20% { transform: scale(1 ,0.95) translateY(5px); animation-timing-function: ease; }
  40% { transform: scale(1 ,1.05) translateY(-20px); animation-timing-function: ease; }
  100% { transform: scale(1 ,1) translateY(0px); }
}

.shake_hand {
    animation: shake_hand 3s ease 0s infinite;
    transform-origin: bottom left;
    transform-box: fill-box;
}

@keyframes shake_hand {
  0% { transform: rotate(-10deg); animation-timing-function: ease; }
  20% { transform: rotate(0deg); animation-timing-function: ease; }
  40% { transform: rotate(-10deg); animation-timing-function: ease; }
  60% { transform: rotate(0deg); animation-timing-function: ease; }
  80% { transform: rotate(0deg); animation-timing-function: ease; }
  100% { transform: rotate(-10deg); }
}

.event-copy{
    width: 90%;
    margin: 5% auto 2%;
    max-width: 650px;
}

.event_title {
    max-width: 600px;
    margin: 0 auto;
    width: 90%;
}

.event_chara {
    margin: -5% auto 0;
    max-width: 900px;
    position: relative;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}

.date {
    width: 70%;
    margin: 3% auto;
    max-width: 850px;
}

.date img:nth-of-type(1) {
    margin: 8% auto 5%;
    position: relative;
    width: 40%;
    display: block;
}

.date img:nth-of-type(2) {
    margin: 0 auto;
    width: 90%;
    display: block;
}


.date img:nth-of-type(3) {
    margin: 10% auto 30%;
    width: 70%;
    display: block;
}

.jump {
  animation: jump 3s ease 0s infinite;
}

@keyframes jump {
  0% { transform: translateY(0px); animation-timing-function: ease; }
  10% { transform: translateY(-10px); animation-timing-function: ease; }
  20% { transform: translateY(0px); animation-timing-function: ease; }
  30% { transform: translateY(-10px); animation-timing-function: ease; }
  40% { transform: translateY(0px); animation-timing-function: ease; }
  100% { transform: translateY(0px); }
}

.linear_area {
    margin: -10% auto 0;
    position: absolute;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
}

@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}

.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}

.scroll-infinity__list--left {
    animation: infinity-scroll-left 60s infinite linear 0.5s both;
}

.scroll-infinity__item {
    width: 150vw;
}

.scroll-infinity__item>img {
  width: 100%;
}

.gest{
    max-width: 1000px;
    margin: 0 auto;
    width: 90%;
}

.event{
    max-width: 1000px;
    margin: 0 auto;
	position: relative;
}

.event h2{
    width: 50%;
    margin: 0 0 0 3%;
}

.event-illust1 {
    position: absolute;
    width: 20rem;
    bottom: -13%;
    z-index: 2;
    left: -12%;
}

.event-illust2 {
    position: absolute;
    width: 16rem;
    bottom: -4rem;
    z-index: 2;
    right: -5%;
}

.event-illust3 {
    position: absolute;
    width: 9rem;
    top: 40%;
    z-index: 2;
    left: -9%;
}

.mabataki{
	animation: mabataki 6s linear 0s infinite;
}

@keyframes mabataki {
  0% { transform: scale(1, 1);
 animation-timing-function: ease; }
  50% { transform: scale(1, 1); animation-timing-function: ease; }
  55% { transform: scale(1, 0); animation-timing-function: ease; }
  58% { transform: scale(1, 1); animation-timing-function: ease; }
  60% { transform: scale(1, 0); animation-timing-function: ease; }
  70% { transform: scale(1, 1); animation-timing-function: ease; }
  100% { transform: scale(1, 1); }
}

.circle {
    position: absolute;
    width: 2.2px;
    height: 3.2px;
    background: #000;
    border-radius: 50%;
}

.event-illust1 .left .eye-left {
    left: 12%;
    top: 16.5%;
	animation-delay: 2000ms;
}

.event-illust1 .left .eye-right {
    left: 14.5%;
    top: 16%;
	animation-delay: 2000ms;
}

.event-illust1 .right .eye-left {
    right: 17.5%;
    top: 9%;
}

.event-illust1 .right .eye-right {
    right: 20%;
    top: 9.5%;
}

.event-illust2 .left .eye-left {
    top: 14%;
    left: 30%;
}

.event-illust2 .left .eye-right {
    top: 14.5%;
    left: 27%;
}

.event-illust2 .right .eye-left {
    top: 8.5%;
    right: 10%;
}

.event-illust2 .right .eye-right {
    top: 7.5%;
    right: 14%;
}

.event-illust3 .eye-left {
    width: 3px;
    height: 3px;
    top: 3.5%;
    left: 60%;
}

.event-illust3 .eye-right {
    width: 3px;
    height: 3px;
    top: 3.8%;
    left: 52%;
}

.grid_area>div{
	position: relative;
}

.grid_area{
	display: grid;
	grid-column-gap: 0px;
	grid-row-gap: 0px;
}


.grid1 { 
	grid-area: 1 / 1 / 2 / 7;
}

.grid2 { 
	grid-area: 2 / 1 / 3 / 7;
}

.grid2 .line {
    position: absolute;
    width: 11%;
    height: 14%;
    top: 40%;
    left: 34%;
}

.grid2 .line a {
    width: 100%;
    height: 100%;
    display: block;
}

.grid2 .more_btn {
    background: url(img/event6-btn.webp);
    width: 10%;
    height: 13%;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 12%;
    bottom: 24%;
}

.grid2 .more_btn a {
    width: 100%;
    height: 100%;
    display: block;
}

.grid3 { 
	grid-area: 3 / 1 / 4 / 7;
}

.grid4 {
    grid-area: 4 / 1 / 5 / 4;
    width: 95%;
}

.grid5 {
    grid-area: 4 / 3 / 5 / 7;
    width: 80%;
    margin: 0 0 0 auto;
}

.grid6 { 
	grid-area: 5 / 1 / 6 / 5;
}

.grid7 { 
	grid-area: 5 / 5 / 6 / 7;
	position:relative;
}

.grid8 img{
	position: absolute;
}

.grid7 img:nth-of-type(1) {
    width: 35%;
    top: -20%;
    right: 60%;
}

.grid7 img:nth-of-type(2) {
    width: 65%;
    left: 50%;
    top: 10%;
	animation-delay: 4s;
}

.grid7 img:nth-of-type(3) {
    width: 30%;
    bottom: 0;
    right: 50%;
}

.yurayura {
  animation: yurayura 2s ease-in-out 0s infinite alternate-reverse;
}

@keyframes yurayura{
  0% { transform: rotate(-10deg); animation-timing-function: ease; }
  100% { transform:rotate(10deg); }
}

.yurayura_bottom_to_top {
  animation: yurayura_bottom_to_top 3s ease-in-out 0s infinite alternate-reverse;
	transform-origin: bottom center 0;
}

@keyframes yurayura_bottom_to_top {
  0% { transform: rotate(5deg) translateY(-10%);
	}
  50% { transform: rotate(-5deg) ;
	}
  100% { transform: rotate(5deg) translateY(10%); 
	}
}

.eco_life {
    position: relative;
    margin: 3% auto 15%;
}

.eco_life>figure {
    margin: 0 auto 2%;
    width: 20%;
    position: relative;
    left: -30%;
}

.eco_life article {
    max-width: 1280px;
    display: flex
;
    justify-content: space-between;
    align-items: center;
    margin: 15% auto 0;
    width: 90%;
}

.eco_life article .main {
    width: 70%;
}

.eco_life article .sub {
    width: 22%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0;
}

.eco_life .sub img:nth-of-type(1) {
    margin: 0 0 25%;
}

.eco_life .sub img:nth-of-type(2){
    
}

.eco_life::before {
    content: "";
    background: #fff;
    position: absolute;
    top: 0;
    bottom: -30%;
    right: 0;
    left: 0;
    z-index: -1;
    clip-path: polygon(0 20%, 100% 0%, 100% 80%, 0% 100%);
}

/*共通（イベント会場図）*/
.event_area {
    padding: 0% 0 0 0;
    margin-top: -0%;
    position: relative;
	padding-bottom:5%;
}

.event_area::before {
    content: "";
    background: url(img/bg2.webp);
    background-repeat: repeat;
    background-size: cover;
    background-position: 0% 0%;
    position: absolute;
    top: -35%;
    bottom: 0;
    right: 0%;
    left: 0%;
    z-index: -2;
}

.event_area article {
    max-width: 96%;
    margin: auto;
    width: 1200px;
    border: 2px solid #eee;
    border-radius: 10px;
    background: #fff;
    padding: 3%;
    box-sizing: border-box;

}

.event_area article h2 {
    font-weight: 800;
    font-size: 2rem;
    text-align: center;
}

.event_area article p {
    padding: 25px 0;
    font-size: 105%;
}


.event_area article p {
    text-align: center;
}

.flag {
    animation: fluffy 4.5s infinite;
}


.event_contents article {
    margin: 0 auto;
}

.event_contents article p {
    width: 100%;
}

.info_area .time {
    width: 40%;
    margin: 10% 0 5%;
}

.special_booth span {
    position: absolute;
    color: #fff;
    font-weight: bold;
    bottom: -3%;
    right: 10%;
}





@keyframes fluffy {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }
}

.fuwafuwa {
    animation: fluffy 3s infinite;
}

@keyframes fluffy {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
    }
}

.link_box {
    background: orange;
    padding: 12px 20px;
    box-sizing: border-box;
    border-radius: 100px;
    font-weight: bold;
    margin: auto;
    display: block;
    width: fit-content;
    font-size: 1.2rem;
}

.marker {

    background: linear-gradient(transparent 60%, #ffff66 60%);
}

.strong {
    font-weight: bold;
}


/*ほか*/

.event_area .fukidashi {
    position: relative;
    display: block;
    width: 500px;
    margin: 1.5em auto -20px;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 86%;
    color: #555;
    font-size: 16px;
    z-index: 5;
    border-radius: 200px;
    background: #39b34a;
}

.fukidashi:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    z-index: 2;
    border-top: 15px solid #39b34a;
}


.fukidashi h2 {
    font-weight: bold;
    font-size: 1.8rem;
    text-align: center;
    padding: 20px 0;
    color: #fff;
}

.fukidashi h2 span {
    font-size: 60%;
    display: block;
    margin-top: 12px;
}


.fukidashi p {
    margin: 0;
    padding: 0;
}


.sponsors {
    display: flex;
    flex-wrap: wrap;
}

.sponsors li {
    width: 33%;
    padding: 2% 3%;
    box-sizing: border-box;
    text-align: center;
}

.sponsors li a {
    display: block;
}


.dino {
    display: block;
    text-align: center;
    max-width: 680px;
    margin: auto;
    animation: btn_animation 2s infinite;
}



@keyframes btn_animation {
    0% {
        transform: translate(4px, 0px);
    }

    5% {
        transform: translate(-4px, 0px);
    }

    10% {
        transform: translate(4px, 0px);
    }

    15% {
        transform: translate(-4px, 0px);
    }

    20% {
        transform: translate(4px, 0px);
    }

    25% {
        transform: translate(-4px, 0px);
    }

    30% {
        transform: translate(0px, 0px);
    }
}


/*注意事項*/

#home .info_area .chuijikou {
    display: block;
    width: fit-content;
    background: #fff;
    padding: 1%;
    box-sizing: border-box;
    border-radius: 10px;
}

#home #wrap .chuijikou h3 {
    color: deeppink;
}

#home #wrap .annai h3 {
    color: green;
}
#home #wrap .annai p {
    color: #111;
}

.chuijikou ul {}

.chuijikou ul li {}

.chuijikou ul li span {
    color: green;
}


/*新着情報・トピックス*/

.topics_area {


    padding: 80px 0 60px;
}

.topics_area .flex {
    display: flex;
    width: 92%;
    max-width: 1000px;
}

.topics_area h2 {
    font-weight: bold;
    width: 15%;
    text-align: center;
}

.topics_area h2 span {
    display: block;
}

.topics_area .right {
    text-align: right;
}


.topics_area .topics {
    width: 100%;
    box-sizing: border-box;
    padding: 1% 3%;
}

#list ul {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    max-width: 100%;
    display: inline-block;
}

.topics li {
    width: 100%;
    padding: 20px 0px;
    list-style: none;
    position: relative;
    box-sizing: border-box;
    border-bottom: 1px solid #666;
}



#list li h3 {
    font-size: 1.15rem;
    font-weight: bold;
    margin: 5px 0px 3px;
    width: 100%;
    line-height: 130%;
    letter-spacing: 0;
    text-align: justify;
}

#list li h3 a {
    font-size: 0.9rem;
}

#list li p {
    padding: 5px 0px;
    font-size: 80%;
    margin: 0px;
    color: #888;
}


#home .topics .date {
    text-align: left;
    display: block;
    padding: 3px 0px;
    font-size: 95%;
}


.readmore {
    display: block;
    float: right;
}

.date {
    font-weight: bold;
}

.cat {
    color: #fff;
    padding: 5px 0px;
    font-size: 95%;
    display: inline-block;
}

#cboxTitle,
#cboxCurrent {
    display: none !important;
}




/*カテゴリー用記事リスト*/

#page #list ul {
    text-align: left;
}

#page #list ul li {

    margin: 5px;
    padding: 5px;
    /*min-height: 140px;*/
}

#sidebar #list ul {
    padding: 0 !important;
}

#sidebar #list ul li {
    margin: 5px 0px !important;
    padding: 5px 0px !important;
}

#page #list .thumb {
    max-width: 100%;
    height: auto;
}

#page #list .thumb img {
    /*top: 50%!important;*/
    left: 0% !important;
    position: relative;
    width: 100%;
    -webkit-transform: translate(-0%, -0%);
    -ms-transform: translate(-0%, -0%);
    transform: translate(-0%, -0%);
}

.seven_box .date {
    color: #00a5d9;
}

.seven_box .cat-name {

    background: #00a5d9;
    color: #fff;
    padding: 1px 4px;
    font-size: 90%;
}


.archive-list {
    font-size: 80%;
}

.year {
    font-style: italic;
    font-weight: inherit;
}

.month-archive-list li {
    margin: 5px 0px;
}

/*コンテンツ・基本レイアウト*/


#wrap {
    margin: 0px auto;
	
    min-height: 100%;
    width: 100%;
    max-width: 100%;
    z-index: 3;
}

#home #wrap h3 {
    color: #fff;
    /*text-align: center;*/
    font-size: 1.6rem;
    font-weight: bold;
}

/*見出し*/

#page h2 {}


.cont {
    margin: 0px auto 0px;
    width: 100%;
    padding: 10px 0px 30px;
    z-index: 1;
    max-width: 1260px;
}

#page .cont p {
    line-height: 180%;
    margin: 18px 0 10px;
    padding: 0px;
    font-size: 100%;
}

#main_con {
    max-width: 100%;
    width: 880px;
    vertical-align: top;
    display: inline-block;
    padding-left: 5px;
    box-sizing: border-box;
}


/*単独ページの共通設定*/
#page #main p {
    text-align: justify;
    padding: 0 5px 20px 5px;
    font-size: 100%;
    line-height: 1.8;
}

#page #main h2 {
    margin: 20px 0 30px;
    font-size: 1.3rem;
    font-weight: bold;

}

#page #main h3 {

    padding: 10px 0px 10px 0px;
    margin: 0px;
    font-weight: bold;
    font-size: 140%;

}

#page #main .center_h3 {}

#page #main h3 span {
    display: inline-block;
    font-size: 80%;
    /* width: 50%; */
    text-align: right;
    background: #fff;
    padding: 0px 5px 0 5px;
}


.page_title {}

#home h4 {
    margin: 25px 0 15px;
}

#page #main h4 {

    padding: 4px 5px;
    margin: 20px 0;
    /* color: #fff; */
    display: block;
    font-size: 110%;
    font-weight: bold;
    letter-spacing: 0;
}

#page #main h5 {
    font-size: 105%;
    color: #333;
    padding: 2px 0px;
    margin: 10px 0 15px;
}

.page {
    margin: 0px auto 0px;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
}

#cont:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}

/*フッター*/
#footer {
    min-width: 100%;
    position: relative;
    bottom: 0px;
    background: url(img/footer.jpg);
    background-size: cover;
    padding: 10px 0;
    z-index: 2;
}

#footer h2 {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    padding-bottom: 1%;
    padding-top: 1%;
}

#footer .cont {

    box-sizing: border-box;
}

#footer .cont p {
    text-align: ;
    color: #111;
}

#footer .sub_menu {}

#footer .sub_menu li {
    font-size: 1.2rem;
    padding: 8px;
}


.ft_bottom {
    font-size: 100%;
    text-align: center;
    color: #111;
    padding-top: 80px;
}

.footer_info span {
    display: block;
    text-align: center;
    /* font-size: 1.5rem; */
    font-weight: 400;
    /* padding: 1%; */
}

.footer_info h3 {
    font-size: 2rem;
    color: #fff;

    text-align: center;
    font-weight: 600;

}

.footer_info h3 .open_hour {
    font-size: 1.5rem;
}

.information {
    padding: 0 10px 20px;
    display: flex;
    flex-wrap: ;
    max-width: 1200px;
    width: 96%;
    justify-content: center;
}

.information figure {
    width: 50%;
}

.map_icon {
    background: url(img/map_icon_black.png) no-repeat left;
    padding: 5px 5px 5px 30px;
    border-bottom: 1px solid #111;
}

@media screen and (max-width: 768px){
	.pc{display:none!important;}
}

/*固定ページメインタイトル*/

#pageheader {
    width: 100%;
    position: relative;
    z-index: 8;
    /*padding: 150px 0px 120px;
    margin: 0 auto;
    background-size: cover;
    position: relative;
    background: url(img/01.jpg) no-repeat center;
    background-size: cover;*/
}



.pageheader_cont {
    width: 100%;
    margin: 0 auto;
    height: auto;
    padding: 10px 0 10px 10px;
    z-index: 10;
    position: relative;
    display: flex;
    box-sizing: border-box;
}

.pageheader_cont .h2 {
    color: #111 !important;
    font-size: 2rem;
    margin: 10px auto;
    width: 200%;
    position: relative;
    z-index: 10;
    padding: 5% 0px 0px 15%;
    border: none;
    letter-spacing: 3px;
    font-weight: bold;

}

.pageheader_cont h2 span {
    color: #fff;
    display: block;
    font-size: 200%;
    margin: 5px 0 0;
    opacity: 0.7;
    font-weight: normal;

}

.pageheader_cont .left h2:after {
    content: "";
    width: 120px;
    border-top: 5px solid #111;
    display: block;
    margin-top: 30px;

}

.pageheader_cont .right {
    width: 60%;
}

.pageheader_cont .right img {
    border-radius: 20px 0 0 20px;
}



/*メインコンテンツ*/
#main {
    max-width: 100%;
    margin: auto;
    width: 100%;
    font-size: 100%;
    z-index: 1;
    padding: 5px;
    vertical-align: top;
    display: inline-block;
}


.post {
    padding: 0px 0 20px 0px;
    z-index: 1;
}

.entrytext {
    padding: 20px 0px 30px;
}

.hidsuke {
    display: block;
    text-align: right;
    border-bottom: 1px solid #111;
    margin-bottom: 40px;
}


.postnav {
    padding: 20px 0;
    border-top: 1px solid #111;
    position: relative;
    display: flex;
    justify-content: space-between;
}

.postnav .prev {
    text-align: left;
}

.postnav .prev a {
    font-weight: bold;
}

.postnav .next {
    text-align: right;
}

.postnav .next a {
    font-weight: bold;
}

.file_list {}



/*カテゴリー一覧設定*/

/*トピックス専用*/
.topics_h3 {
    background: none !important;
    font-size: 115% !important;
    margin: 10px 0 !important;
    padding: 5px 0px !important;
    border: none !important;
}

.cate_block {
    width: 1060px;
    max-width: 92%;
    box-sizing: border-box;
    text-align: center;
    margin: 10px auto 20px;
    padding: 5px 10px 5px;
    display: block;
}

.cate_right {
    vertical-align: top;
    display: inline-block;
    box-sizing: border-box;

    max-width: 100%;
    width: 100%;
    text-align: left;
    padding: 10px !important;
    border-bottom: 1px solid;
}

.summary {
    margin: 10px 0 15px;
    line-height: 120%;
    color: #888;
    text-align: justify;
}

.morelink {
    text-align: right;
}

.morelink a {
    border-radius: 5px;
    padding: 2px 8px;
    color: #111;
    border: 1px solid #111;
    display: inline-block;
}





/*ワードプレス設定*/
.edit a {
    font-size: 12px;
    background: #007fff;
    color: #fff;
    padding: 1px 3px;
    margin-left: 20px;
    text-decoration: none;
}

img.centered {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

img.alignright {
    padding: 4px;
    margin: 0 0 2px 7px;
    display: inline;
}

img.alignleft {
    padding: 4px;
    margin: 0 7px 2px 0;
    display: inline;
}

.alignright {
    float: right;
}

.alignleft {
    float: left
}

.more-link,
.more-link:hover {
    color: #111111;
}

.gallery {
    clear: both;
}

.gallery img {
    border: none !important;
    padding: 5px;
    box-sizing: border-box;
}

/* ここからがIE8以下透過PNG適用のためのCSS */
html>body .sampleBox {
    background-image: url(img/bg.gif);
}

* html .sampleBox {
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/bg.gif', sizingMethod='scale');
}

/* お問い合わせフォーム調整 */
.wpcf7-form {
    padding: 20px 0;
    /*ボックス内の余白*/
    margin-top: -50px;
    border-radius: 20px
}

/*ボックスを角丸に指定*/

.wpcf7-form span.hissu {
    color: #aa0000;
    /*必須の文字色指定*/
    font-size: smaller
}

/*文字サイズを一回り小さく*/

.wpcf7-form input {
    width:
}

/*入力フィールド幅*/

.wpcf7-form textarea {
    width: 80%;
    height: 150px;
}

/*テキストエリア幅*/

.wpcf7-form p.submit {
    text-align: left
}

/*送信ボタンの場所*/

.wpcf7-form .wpcf7-submit {
    width: 30%;
    background: #111;
    color: #fff;
    font-size: 1.3rem;
    border: none;
}

/*送信ボタンの横幅指定*/

/*　ロールアップ　*/
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
    z-index: 100;
}

#page-top a {
    background: url(img/up.png) no-repeat;
    ;
    text-decoration: none;
    color: #fff;
    width: 45px;
    height: 45px;
    text-indent: -99999px;
    display: block;
}

#page-top a:hover {
    width: 45x;
    margin-bottom: 0px;
    height: 45px;
}


/*　スマイルアイコン非表示　*/
img#wpstats {
    position: absolute;
    width: 0px;
    height: 0px;
    padding: 0px;
    border: none;
    overflow: hidden;
}

div.wpcf7 {
    margin: 0;
    padding: 50px 0 0 0px !important;
}

/* ----- The Pretty Stuff ----- */

* {
    outline: 0;
}


/*ドロップダウンメニューCSS*/
.dropmenu {
    *zoom: 1;
    list-style-type: none;
    /*width: 780px;*/
    padding: 0;
}

.dropmenu:before,
.dropmenu:after {
    content: "";
    display: table;
}

.dropmenu:after {
    clear: both;
}

.dropmenu li {
    position: relative;

}

.dropmenu li a {
    display: block;
}

.dropmenu li ul {
    list-style: none;
    position: absolute;
    z-index: 9999;
    top: 100%;
    left: 0;
    margin: 0;
    padding: 0;
    width: 240px !important;
    border-radius: 5px;
}

.dropmenu li ul li {
    margin: 0px !important;
    background: #fff !important;
    width: 240px !important;
    line-height: 150%;
    opacity: 0.8;
}

.dropmenu li ul li a {
    padding: 10px 5px !important;
    border-top: 1px solid #cccccc;
    text-align: center;
    font-size: 100%;
    letter-spacing: 1px;
    font-weight: normal;
    color: #513F2D;
    width: 230px !important;
}

.dropmenu li:hover>a {
    background: #dddddd;
    color: #ffffff;
}

.dropmenu li a:hover {
    color: #ffffff;
    background: none;
}

.dropmenu li ul li a:hover {
    background: #eeeeee;
    color: #ffffff !important;
}


/*フェードイン*/
.fade-in2 li ul {
    opacity: 0;
    top: 50%;
    visibility: hidden;
    transition: .5s;
    width: 100%;
}

.fade-in2 li:hover ul {
    top: 100%;
    visibility: visible;
    opacity: 1;
}

.fade-in2 li ul li:hover {}

.fade-in2 li ul li a:hover {

    opacity: 1 !important;
}


/*パンくずリスト*/
.breadcrumbs {
    font-size: 80%;
    margin-left: 5px;
    margin-bottom: 15px;

}

.breadcrumbs span {
    padding: 0 7px;
    font-weight: bold;

}

.breadcrumbs a {
    font-weight: bold;
    border: 1px solid #111;
    border-radius: 20px;
}

/*レスポンシブ基本CSS*/

.pcheader {
    display: block;
    min-width: 1260px;
}

.mobileheader {
    display: none !important;
}

.pc {
    display: block;
}

.mobile {
    display: none !important;
}

.mbr {
    display: none;
}

#sns {
    padding: 50px 0px 0px;
}

.drawer-hamburger {
    display: none !important;
}

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

    .drawer-hamburger {
        display: block !important;
    }

    .mbr {
        display: inline-block;
    }

    .pcheader {
        display: none !important;
    }

    .mobileheader {
        display: block !important;
    }

    .pc {
        display: none !important;
    }

    .mobile {
        display: block !important;
    }



    #header {
        max-width: 100%;
        min-width: 100%;
    }

    #headercont {
        max-width: 100%;
        min-width: 100%;
        padding: 0px;
        margin: 0px;
        height: auto;
    }

    #top_mainmenu {
        display: none;
    }

    .mobileheader {
        display: block !important;
        width: 100%;
    }

    .big {
        font-size: 115% !important;
    }

    .vv_big {
        font-size: 140% !important;
    }

    .v_big {
        font-size: 120% !important;
    }

    .longtable {
        overflow-x: scroll;
    }


    .info_area article {

        flex-direction: column;
        flex-wrap: wrap;
    }

    .info_area article .pan,
    .info_area article .time {
        width: 100%;
        position: relative;
    }

    .info_area article .makoto,
    .info_area article .hiragino {
        width: 50%;
        position: relative;
    }

    .info_area .first {
        flex-direction: row;
    }

    .action article {}

    .info_area article .pan {

        margin-top: 0%;
    }


    .info_area article .family {

        z-index: 5;
    }


    .no1 {

        max-width: 250%;
        left: 3%;
        /* bottom: 25%; */
        height: auto;
        font-size: 1.3rem;
        width: 250%;
    }


    .pageheader_cont h2 {
        color: #fff !important;
        font-size: 130% !important;
        margin: 10px auto;
        padding: 0px 0px 0px 0px;
        border: none;
        letter-spacing: 2px;
        font-weight: bold;
    }

    #page .cont {
        padding: 1.5%;
        box-sizing: border-box;
    }

    #page #wrap {
        padding: 1% 0 8%;
    }

    .info_area {
        padding: 0 3% 60px;
    }

    .information {
        padding: 0 10px 20px;
        display: flex;
        flex-wrap: wrap;
        max-width: 1200px;
        width: 96%;
    }

    .information figure {
        width: 100%;
    }

    .info_area article .sub {
        position: relative;
        z-index: 1;
        padding: 0 0 0 20%;
        box-sizing: border-box;
    }


    .profile_area article {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
    }

    .profile_area article figure {
        width: 100%;
        margin: auto;
    }

    .profile_area article figure img {
        border-radius: 10px;

    }

    .profile_area article .text_box {
        width: 100%;

    }

    .profile_area article .text_box {
        text-align: justify;
        padding: 0 1%;
        box-sizing: border-box;

    }

    .fukidashi {
        position: relative;
        display: block;
        width: 280px;
        margin: 60px auto 0;
        padding: px 10px;
        min-width: 120px;
        max-width: 86%;
        color: #555;
        font-size: 16px;
        border-radius: 200px;
        background: #39b34a;
    }



    .title_wrap {

        top: 11%;
    }

    .sponsors li {
        width: 50%;
    }

    .luboa {
        max-height: 120px;
    }

    .luboa img {
        max-height: inherit;
    }

    /*トップページ*/

    .fukidashi {
        box-sizing: border-box;
        max-width: 72%;
    }

    .fukidashi h2 {

        font-size: 1.1rem;

    }





    /*注意事項*/

    .chuijikou {}

    .chuijikou ul {}

    .chuijikou ul li {}

    .chuijikou ul li span {}

    /*カテゴリー・投稿*/

    .cate_block {
        max-width: 90%;
        margin: 10px auto 20px;
        padding: 5px 5px 5px;
        display: block;
    }

    .cat {}

    #page .cate_right {
        vertical-align: top;
        display: inline-block;
        box-sizing: border-box;
        font-size: 12px;
        padding: 10px 3px !important;
    }

    /*サイド*/
    #sidebar #list ul li {
        margin-bottom: 5px;
        width: 46%;
        padding: 0;
        display: inline-block;
        vertical-align: top;
        padding: 5px !important;
    }


    /*その他基本設定*/
	


    #main {
        box-sizing: border-box;
    }

    #home .cont {
        padding: 8px;
        box-sizing: border-box;
    }

    h2 {
        font-size: 120%t;
        letter-spacing: 1px;
    }

    h3 {
        font-size: 108%;
        letter-spacing: 1px;
    }

    p {
        font-size: 85%;
    }

    .long_table {
        overflow-x: scroll;
    }

    #sidebar {
        margin: 10px auto;
        width: 98%;
        display: block;
    }

    .foot_menu {
        width: 100%;
    }

    #footer .cont {
        display: block;

    }

    .footer_info {
text-align: left;
        width: 100%;
        font-size: 0.80%;
    }
#footer h2 {
    text-align: center;
    font-size: 1.2rem;
}
.footer_info h3 {
    font-size: 1.2rem;
    color: #fff;
    text-align: center;
    font-weight: 600;
}
	
.footer_info h3 .open_hour {
    font-size: 1.2rem;
}
	
.ft_bottom {
    font-size: 83%;
    text-align: center;
    color: #fff;
    padding: 40px 0;
}	
	
    .footmenu ul {
        padding: 10px 0px;
        font-size: 90%;
    }

    #list ul {

        font-size: 100%;
        line-height: 160%;
        letter-spacing: 0px;
    }

    #list ul li {
        margin-bottom: 5px;
    }

}



/*========= ナビゲーションのためのCSS ===============*/

#g-nav {
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position: fixed;
    z-index: -1;
    opacity: 0;
    /*はじめは透過0*/
    /*ナビの位置と形状*/
    top: 0;
    width: 100%;
    height: 100vh;
    /*ナビの高さ*/
    background: #999;
    /*動き*/
    transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive {
    opacity: 1;
    z-index: 999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
    position: fixed;
    background: #DAEEE9;
    z-index: 999;
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 10% 0;
}

#g-nav.panelactive #g-nav-list h2 {
    text-align: center;
    margin: 0;

    font-weight: normal;
    font-size: 1.3rem !important;
}

/*ナビゲーション*/
#g-nav ul {
    display: none;
    /* position: absolute; */
    margin: 5px auto 40px;
    max-width: 80%;
    z-index: 999;
    top: 50%;
    left: 50%;
    /* transform: translate(-50%,-50%);*/
}

#g-nav.panelactive ul {
    display: block;
    min-width: 300px;
}

#g-nav.panelactive .contact_menu {}

#g-nav.panelactive ul .tel_button {}

#g-nav.panelactive ul .tel_button a {
    border: none;
    padding: 8px 0;
}

#g-nav.panelactive ul li .home {
    border: 1px solid #111;
    border-radius: 80px;
    padding: 10px 20px;
    margin-top: 50px;
}

#g-nav.panelactive .contact_menu .contact_link {
    position: relative;
    text-align: center;
    background: #111;
    border-radius: 100px;
    display: block;
    padding: 12px 22px;
    color: #fff;
    font-size: 1.3rem;
    font-weight: bold;
    width: 60%;
    margin: auto;
}

#g-nav.panelactive .contact_menu .contact_link:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 38px;
    height: 25px;
    background: url(img/mail_icon.png) no-repeat left;
    background-size: cover;
    margin-right: 12px;

}

/*リストのレイアウト設定*/

#g-nav li {
    list-style: none;
    text-align: center;
}

#g-nav li a {
    color: #111;
    text-decoration: none;
    font-size: 1.3rem;
    padding: 20px 20px;
    border-bottom: 1px #111 solid;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1 {
    position: fixed;
    z-index: 9999;
    top: 5%;
    right: 1%;
    cursor: pointer;
    width: 60px;
    height: 60px;
    background: #009944;
    border: 2px solid #ffffff;
    border-radius: 8px;
}

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

    .openbtn1 {}
}

/*×に変化*/
.openbtn1 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 5px;
    border-radius: 2px;
    background-color: #fff;
    width: 53%;
    top: 15px;
}



.openbtn1 span:nth-of-type(1) {
    top: 15px;
}

.openbtn1 span:nth-of-type(2) {
    top: 26px;
}

.openbtn1 span:nth-of-type(3) {
    top: 37px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 22px;
    left: 16px;
    transform: translateY(6px) rotate(-45deg);
    width: 45%;
}

.openbtn1.active span:nth-of-type(2) {
    opacity: 0;
}

.openbtn1.active span:nth-of-type(3) {
    top: 28px;
    left: 17px;
    transform: translateY(0px) rotate(45deg);
    width: 46%;
}

@media (width<=768px){
body {
    background-size: 300%;
}

.catch_area {
    width: 90%;
	min-width: unset;
}

.event-copy {
    width: 70%;
}

event_title {
    width: 70%;
}

.date {
    width: 100%;
}

.date img:nth-of-type(1) {
    margin: 0 auto 5%;
    width: 70%;
}

.date img:nth-of-type(3) {
    margin: 5% auto 30%;
}

.eco_life::before {
    top: 5%;
    bottom: 0%;
    clip-path: polygon(0 5%, 100% 0%, 100% 95%, 0% 100%);
}

.grid_area{
    display: block;
    max-width: 500px;
    margin: 0 auto;
    width: 95%;
}

.grid5,.grid6 {
    width: 100%;
}

.eco_life>figure {
    width: 100%;
    left: 0%;
}

.event {
    margin: 0 auto 30%;
}

.grid_area>div {
    position: relative;
    width: 100%;
}

.grid7 img:nth-of-type(1) {
    width: 25%;
    top: -10%;
    right: 0;
    left: 5%;
}

.grid7 img:nth-of-type(2) {
    width: 35%;
    left: unset;
    right: 5%;
}

.grid7 img:nth-of-type(3) {
    width: 20%;
    bottom: 2rem;
    right: 46%;
    top: 2rem;
}

.event-illust1 {
    width: 12rem;
    left: -25%;
}

.event-illust2 {
    width: 10rem;
    right: -24%;
}

.event-illust3 {
    width: 6rem;
    top: 40%;
    left: 1%;
}

.circle {
    width: 1.2px;
    height: 1.2px;
}

.event h2 {
    margin: 0 auto;
}





}

@media(width<=450px){
	.sp{
		display:none!important;
	}
}

