@charset "utf-8";

/*--------------------------
サイト全体
--------------------------*/
body {
 margin: 0;
 padding: 0;
 font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "sans-serif";
}
#wrap {
 width: 100%;
 margin: 0;
 padding: 0;
}

/*--------------------------
 トップページ読み込み部分
---------------------------*/
.start {
 width: 100vw;
 height: 100vw;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 900;
 background: #FFF;
}
.start p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 999;
	width: 300px;
}


/*--------------------------
文字／見出し部分
--------------------------*/
p {
 color: #232323;
 font-size: 2rem;
 text-align: justify;
 margin-bottom: 1em;
}
h1, h2, h3, h4 {
 font-family: "myFont", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "sans-serif";
 -webkit-font-feature-settings: "palt";
 font-feature-settings: "palt";
 font-weight: normal;
}
h1 {
 position: relative;
 color: #004121;
 font-size: 8rem;
 text-align: center;
 line-height: 1;
}
h2 {
 width: 100%;
 margin: 0 auto 1em;
 color: #232323;
 font-size: 6rem;
 text-align: center;
 border-bottom: 2px solid #004121;
}
h3 {
 color: #004121;
 font-size: 6rem;
 text-align: center;
}
h4 {
 width: 100%;
 margin: 0 auto 1em;
 color: #004121;
 font-size: 6rem;
 text-align: center;
 border-bottom: 2px solid #004121;
 background: url("../images/logo_S.svg") right no-repeat;
}
h5 {
 width: 100%;
 margin: 4em auto 2em;
 padding: 0.5em;
 font-size: 2rem;
 font-weight: normal;
 border-radius: 8px;
 background: rgba(201,188,156,0.50);
}
.break:before {
 content: "\A";
 white-space: pre;
}
.marker {
 padding: 0 0.5em;
background: linear-gradient(transparent 0%, rgba(143,195,31,0.30) 0%);
}

@media only screen and (max-width:960px){
 h2, h3, h4 {
  font-size: 5rem;
 }
}

@media only screen and (max-width:560px){
 h1 {
  font-size: 5rem;
  line-height: 0.9;
 }
 h2, h3 {
  font-size: 4rem;
 }
 h4 {
  margin-bottom: 0.5em;
  background: none;
 }
 h5 {
  font-size: 1.8rem;
 }
}

@media only screen and (max-width:320px){
 p {
  font-size: 1.6rem;
 }
  h1 {
  position: relative;
  color: #004121;
  font-size: 3.8rem;
 }
 h2, h3, h4, h5 {
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 0.5em;
 }
}

/*--------------------------
ヘッダー／波紋部分
--------------------------*/
.header {
 width: 100%;
 height: 100vh;
 display: table;
}
.logo {
 z-index: 5;
 position: absolute;
 top: 10px;
 left: 10px;
}
.logo img {
 width: 150px;
}
.logo .active {
 position: absolute;
 left: 0;
 top: 0;
 opacity: 0;
 transition: 0.5s;
}
.logo:hover .active {
  opacity: 1;
}
#ripples {
 z-index: 1;
 position: relative;
 width: 100%;
 height: 100vh;
 background: url("../images/mv_01.jpg") center center / cover no-repeat;
 display: table-cell;
 vertical-align: middle;
}
.scroll {
 position: absolute;
 bottom: 0;
 width: 100%;
 text-align: center;
}
.scroll p{
 color: #004121;
 font-size: 1.6rem;
 text-align: center;
}
.scroll a {
 display: block;
}
/*---しずく---*/
.scroll span {
 content: '';
 position: absolute;
 bottom: 30px;
 color: #004121;
 -webkit-animation: updown 0.8s cubic-bezier(0.2, 0.6, 0.3, 1) 0s infinite alternate;
 animation: updown 0.8s cubic-bezier(0.2, 0.6, 0.3, 1) 0s infinite alternate;
}
@keyframes updown {
 0% {
  -webkit-transform: translate3d(-50%, 0, 0);
  transform: translate3d(-50%, 0, 0);
 }
 100% {
  -webkit-transform: translate3d(-50%, -20px, 0);
  transform: translate3d(-50%, -20px, 0);
 }
}

@media only screen and (max-width:560px){
 .logo img {
  width: 100px;
 }
}

@media only screen and (max-width:320px){
 .logo img {
  width: 80px;
 }
 .scroll span {
  font-size: 5rem;
 }
}

/*--------------------------
共通レイアウト部分
--------------------------*/
.inner_center {
 width: 100%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-orient: vertical;
 -webkit-box-direction: normal;
 -ms-flex-direction: column;
 flex-direction: column;
 -webkit-box-alian:center;
 -ms-flex-alian: center;
 align-items: center;
 -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.inner_around {
 width: 80%;
 margin: 0 auto 8em;
 padding: 0;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 justify-content: space-around;
}
.text_R {
 width: 50%;
 padding-left: 4em;
}
.text_L {
 width: 50%;
 padding-right: 4em;
}
.images {
 width: 50%;
}
figure {
 position: relative;
 overflow: hidden;
 width: 100%;
}
/*figure:hover .transform {
 -webkit-transform: scale(1.5);
 transform: scale(1.5);
}*/
figcaption {
 z-index: 20;
 color: #ECECEC;
 font-size: 3rem;
 text-align: center;
 margin-bottom: 1em;
 padding-bottom: 0.25em;
 border-bottom: 2px solid #ECECEC;
}
.overlay {
 z-index: 10;
 position: absolute;
 top: -100%;
 left: -100%;
 width: 100%;
 height: 100%;
 padding: 4em;
 background: rgba(0,0,0,0.50);
 -webkit-transition: 0.5s;
 transition: 0.5s;
 opacity: 1;
}
figure:hover .overlay {
 top: 0;
 left: 0;
}
.overlay p {
 z-index: 21;
 color: #ECECEC;
 font-size: 2rem;
 text-align: justify;
 line-height: 1.6;
 padding-top: 1em;
}
.overlay p a {
 color: #C9BC9C;
}
.overlay li {
 list-style: disc;
 color: #ECECEC;
 font-size: 1.8rem;
 text-align: left;
 text-align: justify;
}
figure .active {
 position: absolute;
 left: 0;
 top: 0;
 opacity: 0;
 transition: 0.5s;
}
figure:hover .active {
  opacity: 1;
}

@media only screen and (max-width:960px){
 .inner_around {
  width: 90%;
  margin: 0 auto 8em;
  padding: 2em;
 }
 .text_R {
  width: 100%;
  padding-left: 0;
 }
 .text_L {
  width: 100%;
  padding-right: 2em;
 }
 .images {
  width: 100%;
 }
}

.mbt_8 {
 margin: 8em 0;
}

@media only screen and (max-width:560px){
 
}

@media only screen and (max-width:320px){
 .inner_around {
 width: 90%;
 margin: 0 auto 2em;
 }
  .text_R {
  width: 100%;
  padding-left: 0;
 }
 .text_L {
  width: 100%;
  padding-right: 0;
 }
 .images {
  width: 100%;
 }
}

/*--------------------------
メイン部分
--------------------------*/
.main {
 width: 100%;
 padding-top: 8em;
 position:relative;
 background: rgba(201,188,156,0.50);
}
svg{
  position:absolute;
  bottom:-10px;
  left:0;
  width:100%;
  height:100px;
  display:block;
}
.dropcap p:first-letter {
 font-size: 2.8em;
 line-height: 0.8;
 float: left;
 margin: 0 0.2em 0 0;
 padding: 0.1em 0;
 text-align: justify;
}

@media only screen and (max-width:560px){
 
}

@media only screen and (max-width:320px){
 .main {
  padding-top: 2em;
 }
 .dropcap p:first-letter {
  font-size: 2em;
  line-height: 0.8;
  float: left;
  margin: 0 0.2em 0 0;
  padding: 0.2em 0;
 }
}

/*--------------------------
セクション部分
--------------------------*/
section {
 width: 100%;
 font-size: 1.8rem;
 text-align: center;
 background: #FFF;
}
/*section:nth-last-of-type(even) {
 background: linear-gradient(90deg,rgba(201,188,156,0.50) 0%,rgba(201,188,156,0.50) 50%,#FFF 50%,#FFF 100%)
}*/
#section2 {
 margin-top: 10em;
}
.inner_section {
 width: 80%;
 padding: 0;
 margin: 0 auto 8em;
}

@media only screen and (max-width:560px){
  #section2 {
  margin-top: 4em;
 }
}

@media only screen and (max-width:320px){
  #section2 {
  margin-top: 2em;
 }
}

/*--------------------------
タブ切り替え部分
--------------------------*/
.tab {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 flex-wrap: wrap;
 max-width: 100%;
 background: #FFF;
}
/*inputを非表示にする*/
.input {
 position: absolute;
  opacity: 0;
}
/*tabボタン部分*/
.tab_label {
 width: 100%;
 padding: 10px 30px;
 cursor: pointer;
 color: #232323;
 font-size: 1.8rem;
 margin: 0 0.25em 0 0;
 border-radius: 8px 8px 0 0;
 background: rgba(201,188,156,0.50);
 transition: background 0.1s, color 0.1s;
}
.tab_label:not(:last-child) {
 margin-right: 0;
}
.tab_label:hover {
 background: rgba(201,188,156,0.20);
}
.tab_label:active {
 background: rgba(201,188,156,0.50);
}
.input:checked + .tab_label {
 color: #FFF;
 background: rgba(201,188,156,1.00);
}
/*tabの本文エリア*/
.tab_panel {
 display: none;
 padding: 2em 4em;
 background: #FFF;
 border: 1px solid #C9BC9C;
 border-radius: 0 8px 8px 8px;
}
.input:checked + .tab_label + .tab_panel {
 display: block;
}
@media (min-width: 960px){
  .tab_label {
   width: auto;
  }
  .tab_panel {
   order: 99;
  }
 }

@media only screen and (max-width:560px){

}

@media only screen and (max-width:320px){
.tab_label {
 width: 100%;
 padding: 1em;
 font-size: 1.6rem;
 margin: 0 0.2em 0 0;
 border-radius: 0;
 border-bottom: 1px solid #FFF;
}
.tab_panel {
 display: none;
 padding: 1em;
 background: #FFF;
 border: 1px solid #C9BC9C;
 border-radius: 0;
 }
}

/*--------------------------
アドレス部分
--------------------------*/
address {
 text-decoration: none;
 color: #232323;
 font-size: 1.8rem;
 text-align: left;
}
.border_b {
 margin-bottom: 0.5em;
 border-bottom: 2px dotted rgba(143,195,31,1.00);
}
.mb2 {
 margin-bottom: 2em;
}
.about p {
 color: #232323;
 font-size: 2rem;
 text-align: left;
}

/*--------------------------
マップ部分
--------------------------*/
.map {
 width: 80%;
 margin: 8em auto 0;
 padding: 0;
 /*margin-bottom: 4em;*/
}
.map iframe {
 -webkit-filter: grayscale(1);
　filter: grayscale(1);
 width: 100%;
 height: 400px;
}
.map iframe:hover {
 -webkit-transition: filter 0.8s ease;
 transition: filter 0.8s ease;
 -webkit-filter: hue-rotate(30deg);
　filter: hue-rotate(30deg);
 /*-webkit-filter: sepia(60%);
 filter: sepia(60%);*/
}

@media only screen and (max-width:960px){
 .map {
  width: 90%;
  margin: 0 auto 8em;
  padding: 2em;
 }
}

/*--------------------------
トップへ戻る部分
--------------------------*/
.pagetop {
 display: none;
 position: fixed;
 right: 10px;
 bottom: 10px;
 text-align: center;
}
.pagetop a {
 display: inline-block;
 width: 100px;
 height: 170px;
 padding-top: 1em;
 color: #FFF;
 font-size: 3rem;
 line-height: 1.2;
 background: url("../images/pagetop.png") no-repeat;
 object-fit: cover;
}
.pagetop a:hover {
 color: rgba(0,65,33,0.00);
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
 -webkit-transform: translateY(-20px);
 -ms-transform: translateY(-20px);
 transform: translateY(-20px);
}

@media only screen and (max-width:960px){
  .pagetop {
   z-index: 20;
   position: fixed;
   right: 10px;
   bottom: 0;
  }
  .pagetop a{
   display: block;
   width: 60px;
   height: 60px;
   color: rgba(255,255,255,0.00);
   background: url("../images/up.svg") center no-repeat;
   background-color: #B09D6F;
   border-radius: 4px;
  }
 .pagetop a:hover {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  bottom: 0;
  opacity: 0.5;
 }
}

@media only screen and (max-width:320px){
  .pagetop a {
   width: 50px;
   height: 50px;
 }
}

/*--------------------------
フッター部分
--------------------------*/
footer {
 position: relative;
 width: 100%;
 text-align: center;
 background: url("../images/bg_footer.png") center bottom no-repeat;
 object-fit: cover;
}
#copyright {
 position:absolute;
 bottom: -10px;
 width: 100%;
 padding: 2em;
 color: "FFF";
 text-align: center;
 background: #004121;
}
#copyright span {
 margin: 0 2em;
}
small {
 color: #FFF;
 font-size: 2rem;
}

@media only screen and (max-width:560px){
 #copyright {
  padding: 1em;
 }
 #copyright span {
  margin: 0 0.5em;
  font-size: 2.6rem;
 }
 small {
  font-size: 1.6rem;
 }
}

@media only screen and (max-width:320px){
 #copyright span {
  margin: 0;
  font-size: 2rem;
 }
 small {
  font-size: 1.4rem;
 }
}
 
/*------------------------------
問い合わせフォーム
------------------------------*/
.inner_form {
 width: 90%;
 margin: 0 auto;
 padding: 8em 8em 0;
}
ul.privacy {
 width: 100%;
 margin-left: 3em;
 }
ul.privacy li {
 width: 100%;
 list-style: disc;
 color: #232323;
 font-size: 1.6rem;
 text-align: left;
 padding-bottom: 1em;
}
ul.privacy li:not(:last-child) {
 padding-bottom: 0;
}
.form {
 display: table;
 width: 100%;
 margin: 4em auto 0;
}
.form dl {
 display: table-row;
}
.form dt {
 display: table-cell;
 /*vertical-align: middle;*/
 padding: 1em 0;
 color: #232323;
 font-size: 1.8rem;
 text-align: right;
 line-height: 1.4;
}
.form dd {
 display: table-cell;
 width: 70%;
 padding: 1em 0;
 font-size: 1.6rem;
 text-align: left;
}
.form dd:not(:last-child) {
 border-bottom: none;
}
.textlines {
 width: 100%;
 padding: 0.5em;
 border: 1px solid #004121;
 background: rgba(143,195,31,0.05);
 border-radius: 4px;
}
.textlines:focus {
 outline: none;
 background: #FFF;
}

/*セレクト部分*/
.form_select {
	width: 70%;
 margin-bottom: 1em;
	overflow: hidden;
 color: #232323;
	text-align: center;
 padding: 0.5em 0;
}
.form_select select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
 padding: 0.5em;
}
.form_select select:-ms-expand {
 display: none;
}
.form_select.form_select02 {
	position: relative;
 padding-left: 0.5em;
 border: 1px solid #004121;
 background-color: rgba(143,195,31,0.05);
 border-radius: 4px;
}
.form_select.form_select02:focus {
 background: #FFF;
 border: 1px solid #004121;
}
.form_select.form_select02:before {
 content: '';
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #666666;
	pointer-events: none;
}
.form_select.form_select02:after {
 content: '';
	position: absolute;
	top: 0;
	right: 2.5em;
	bottom: 0;
	width: 1px;
	border-left: 1px solid #232323;
}
.form_select.form_select02 select {
	padding: 4em;
	color: #232323;
}

/*個人情報リスト部分*/
.form_list li {
 display: inline-block;
 margin-right: 2em;
}
.form_list li:not(:last-child) {
 margin-right: 0;
}
.form span {
 padding: 0.25em 0.5em 0.25em 1em;
 margin: 0 1em;
 color: #FFF;
 text-align: center;
 letter-spacing: 0.5em;
 border-radius: 4px;
 background: #C9BC9C;
}

/*問い合わせフォームボタン*/
input[type="submit"]{
-webkit-appearance: none;
}
form .btn_form {
 border: none;
 display: inline-block;
 padding: 1em 2em;
 margin: 2em 0;
 color: #FFF;
 border: 2px solid #8fc31f; 
 font-size: 2rem;
 line-height: 1;
 text-align: center;
 cursor: pointer;
 border-radius: 10px;
 background: #8fc31f;
 box-shadow: 0 0 8px rgba(0,0,0,0.20);
}
.btn_form:hover {
 color: #8fc31f;
 border: 2px solid #8fc31f; 
 background: #FFF;
 -webkit-transition: 0.3s;
 transition: 0.3s;
}

@media only screen and (max-width:960px){
 .inner_form {
  width: 100%;
  margin: 0 auto;
  padding: 4em 4em 0;
 }
 ul.privacy {
  width: 100%;
  margin-left: 1.5em;
  }
 ul.privacy li {
  margin-bottom: 1em;
 }
 .form dl {
  display: block;
 }
 .form dt {
  width: 100%;
  display: block;
  margin: 0 auto;
  padding-bottom: 0.25em;
  text-align: left;
 }
 .form dd {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 2em;
 }
 .form .btn_form {
  margin: 0;
 }
}

@media only screen and (max-width:560px){
 .inner_form {
  width: 100%;
  margin: 0 auto;
  padding: 4em;
 } 
}

@media only screen and (max-width:320px){
 .inner_form {
  width: 100%;
  margin: 0 auto;
  padding: 2em 2em 0;
 }
 .form .btn_form {
  margin: 0;
 }
}

/*------------------------------
SNSアイコン部分
------------------------------*/
.inner_sns {
 width: 50%;
 margin: 0 auto;
 padding: 10em 0;
 display: table;
 text-align: center;
}
.btn_sns {
 position: relative;
 display: table-cell;
 border-radius: 50
}
.btn_sns img {
 position: inherit;
 width: 8em;
 height: 8em;
 margin-bottom: 8em;
}
.btn_sns .ring {
 position: absolute;
 top: -10px;
 left: 62px;
 width: 10em;
 height: 10em;
	border-radius: 50%;
 background: rgba(143,195,31,0.8);
 z-index: -1;
}
.btn_sns:hover .ring {
 -webkit-animation: wave 1s ease-out;
	-webkit-animation-iteration-count: infinite;
 -moz-animation: wave 1s ease-out;
	-moz-animation-iteration-count: infinite;
 -ms-animation: wave 1s ease-out;
	-ms-animation-iteration-count: infinite;
 -o-animation: wave 1s ease-out;
	-o-animation-iteration-count: infinite;
 animation: wave 1s ease-out;
	animation-iteration-count: infinite;
}
@keyframes wave {
	0% {transform: scale(1, 1); }
	50% {opacity: 1;}
	100% {transform: scale(1.5, 1.5); opacity: 0.0;}
}

@media only screen and (max-width:960px){
 .inner_sns {
  width: 70%;
  padding: 8em 0;
 }
 .btn_sns .ring {
  position: absolute;
  top: -10px;
  left: 60px;
 }
}

@media only screen and (max-width:560px){
 .inner_sns {
  width: 80%;
  padding: 4em 0;
 }
 .btn_sns {
  position: relative;
  width: 50px;
  height: 50px;
  margin: 0 4em 8em;
  border-radius: 50%;
  padding: 2em 0;
 }
 .btn_sns .ring {
  position: absolute;
  top: 10px;
  left: 22px;
  width: 10em;
  height: 10em;
 }
}

@media only screen and (max-width:320px){
  .inner_sns {
   width: 90%;
   margin: 0 auto;
   padding: 0 0 5em;
   display: table;
   text-align: center;
  }
  .btn_sns img {
   position: inherit;
   width: 7em;
   height: 7em;
   margin-bottom: 0;
  }
  .btn_sns .ring {
   position: absolute;
   top: 15px;
   left: 5px;
   width: 8em;
   height: 8em;
  }
  .btn_sns:hover .ring {
   -webkit-animation: wave 1s ease-out;
	  -webkit-animation-iteration-count: infinite;
   -moz-animation: wave 1s ease-out;
  	-moz-animation-iteration-count: infinite;
   -ms-animation: wave 1s ease-out;
  	-ms-animation-iteration-count: infinite;
   -o-animation: wave 1s ease-out;
  	-o-animation-iteration-count: infinite;
   animation: wave 1s ease-out;
	  animation-iteration-count: infinite;
  }
/*@keyframes wave {
	0% {transform: scale(0, 0); }
	50% {opacity: 1;}
	100% {transform: scale(0.5, 0.5); opacity: 0.0;}
}*/
}

/*--------------------------
ナビゲーション部分
--------------------------*/
.gnav a, a:visited, a:hover, a:active {
 color: inherit;
}
.gnav {
 z-index: 1;
 position: fixed;
 top: 0;
 right: 0;
}
.gnav .menu {
 position: fixed;
 top: 0;
 right: 0;
 width: 100%;
 height: 100%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 visibility: hidden;
 overflow: hidden;
 pointer-events: none;
 outline: 1px solid transparent;
 -webkit-visibility: hidden;
 align-items: center;
 justify-content: center;
}
.gnav .menu > div {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 width: 200%;
 height: 200vh;
 overflow: hidden;
 transition: all 0.8s ease;
 -webkit-transform: scale(0);
 transform: scale(0);
 text-align: center;
 color: #FFF;
 border-radius: 50%;
 background: rgba(0,65,33,0.6);
 flex: none;
 -webkit-backface-visibility: hidden;
 backface-visibility: hidden;
 align-items: center;
 justify-content: center;
}
.gnav .menu > div > ul {
 display: block;
 max-height: 100vh;
 margin: 0;
 padding: 0 1em;
 transition: opacity 0.4s ease;
 opacity: 0;
}
.gnav .menu > div > ul > li {
 font-size: 2rem;
 line-height: 2;
}
.gnav .menu > div > ul > li > a:hover:after {
 width: 100%;
}
.gnav .menu > div > ul > li > a:after {
 position: absolute;
 z-index: 1;
 bottom: -0.15em;
 right: 0;
 width: 0;
 height: 2px;
 content: '';
 transition: width 0.8s ease;
 background: #004121;
}
/*メニュー開閉部分*/
.gnav .toggle {
 position: absolute;
 z-index: 2;
 top: 0;
 right: 0;
 width: 60px;
 height: 60px;
 cursor: pointer;
 opacity: 0;
}
.gnav .toggle:checked + .hamburger > span {
 -webkit-transform: rotate(135deg);
 transform: rotate(135deg);
}
.gnav .toggle:checked + .hamburger > span:before,
.gnav .toggle:checked + .hamburger > span:after {
 top: 0;
 -webkit-transform: rotate(90deg);
 transform: rotate(90deg);
}
.gnav .toggle:checked + .hamburger > span:after {
 opacity: 0;
}
.gnav .toggle:checked ~ .menu {
visibility: visible;
pointer-events: auto;
}
.gnav  .toggle:checked ~ .menu > div {
transition-duration: 0.75s;
-webkit-transform: scale(1);
transform: scale(1);
}
.gnav .toggle:checked ~ .menu > div > ul {
opacity: 1;
}
.gnav .toggle:checked ~ .menu > div > ul li:nth-of-type(1) {
transition-delay: 0.4s;
}
.gnav .toggle:checked ~ .menu > div > ul li:nth-of-type(2) {
transition-delay: 0.6s;
}
.gnav .toggle:checked ~ .menu > div > ul li:nth-of-type(3) {
transition-delay: 0.8s;
}
.gnav .toggle:checked ~ .menu > div > ul li:nth-of-type(4) {
transition-delay: 1.0s;
}
.gnav .toggle:checked ~ .menu > div > ul li:nth-of-type(5) {
transition-delay: 1.2s;
}
.gnav .toggle:checked ~ .menu > div > ul li:nth-of-type(6) {
transition-delay: 1.4s;
}
.gnav .toggle:checked ~ .menu > div > ul li:nth-of-type(7) {
transition-delay: 1.6s;
}
.gnav .toggle:hover + .hamburger {
box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
}
.gnav .toggle:checked:hover + .hamburger > span {
-webkit-transform: rotate(225deg);
transform: rotate(225deg);
}
/*ハンバーガー作りますよ*/
.gnav .hamburger {
 position: absolute;
 z-index: 1;
 top: 0;
 right: 0;
 display: block;
 width: 60px;
 height: 60px;
 padding: 0.5em 1em;
 cursor: pointer;
 transition: box-shadow 0.4s ease;
 border-radius: 0 0.12em 0.12em 0;
 background: #004121;
 -webkit-backface-visibility: hidden;
 backface-visibility: hidden;
}
.gnav .hamburger > span {
position: relative;
top: 50%;
display: block;
width: 100%;
height: 2px;
transition: all 0.4s ease;
background: #fefefe;
}
.gnav .hamburger > span:before,
.gnav .hamburger > span:after {
position: absolute;
z-index: 1;
top: -10px;
right: 0;
display: block;
width: 100%;
height: 2px;
content: '';
transition: all 0.4s ease;
background: inherit;
}
.gnav .hamburger > span:after {
top: 10px;
}
.gnav .menu ul li {
 padding: 0.5em;
}
.gnav .menu ul li a:hover {
 border-bottom: 2px solid #FFF;
}

/*--------------------------
アイコンフォント部分
--------------------------*/
.im_20{
 font-size: 20rem;
}
.im_15{
 font-size: 15rem;
}
.im_10{
 font-size: 10rem;
}
.im_8{
 color: #FFF;
 font-size: 8rem;
}
.im_7{
 color: #FFF;
 font-size: 7rem;
}
.im_5{
 color: #FFF;
 font-size: 5rem;
}
.im_4{
 color: #FFF;
 font-size: 4rem;
}
.im_3{
 color: #FFF;
 font-size: 3rem;
}

@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?ik5bhw');
  src:  url('../fonts/icomoon.eot?ik5bhw#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?ik5bhw') format('truetype'),
    url('../fonts/icomoon.woff?ik5bhw') format('woff'),
    url('../fonts/icomoon.svg?ik5bhw#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-Leaf:before {
  content: "\e900";
  color: #8fc31f;
}
.icon-logo_LL:before {
  content: "\e903";
  color: #004121;
}
.icon-logo_PP:before {
  content: "\e906";
  color: #004121;
}
.icon-logo_SS:before {
  content: "\e909";
  color: #004023;
}
.icon-shizuku:before {
  content: "\e90a";
  color: rgba(0,65,33,0.50)
}
.icon-droplet:before {
  content: "\e90b";
}
.icon-heart:before {
  content: "\e9da";
}
.icon-circle-right:before {
  content: "\ea42";
}
.icon-facebook:before {
  content: "\ea90";
}
.icon-twitter:before {
  content: "\ea96";
}
.icon-tumblr:before {
  content: "\eab9";
}


@font-face {
 font-family: "myFont";
 src: url("../fonts/myWebFont.eot?")  format('eot'),
       url("../fonts/myWebFont.woff")  format('woff'),
       url("../fonts/myWebFont.ttf") format('truetype');
 font-style: normal;
 font-weight: normal;
 letter-spacing: 0.1em;
 -webkit-font-feature-settings: "palt" 1;
 font-feature-settings: "palt" 1;
}
.myFont {
 font-family: "myFont";
 letter-spacing: 0.1em;
 -webkit-font-feature-settings: "palt" 1;
 font-feature-settings: "palt" 1;
}