@charset "utf-8";

/* 共通要素 */
body {
  box-sizing: border-box;
  margin:0;
  font-family: "游ゴシック", YuGothic , "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: 500;
}

.google-font {
  font-family: 'Maven Pro', sans-serif;
  letter-spacing: 1px;
}

.clear {
  clear: both;
}

ul {
  list-style: none;
}

.dash {
  letter-spacing: -2px;
}

.time {
  font-family: 'Maven Pro', sans-serif;
  letter-spacing: 1px;
  color: #009100;
}

.inner {
  color:#333333;
  border-bottom:1px solid #cccccc;
}
.inner:nth-of-type(3) {
  border-bottom:none;
}

.inner_txt a {
  text-decoration: none;
  color:#009100;
}
.inner_txt a:hover {
  text-decoration: underline;
}

#loader svg {
  width:100%;
}
.logo-svg {
  stroke: #009100;
  fill: #009100;
  stroke-width: 1;
  fill-opacity: 0;
  -webkit-animation: SVG-anim01 4s 1s ease 1;
          animation: SVG-anim01 4s 1s ease 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  stroke-dasharray: 800;
  stroke-dashoffset: 800;
}

@-webkit-keyframes SVG-anim01 {
0% {stroke-dashoffset: 800;}
80% {fill-opacity: 0;stroke-dashoffset: 0;}
100% {fill-opacity: 1;}
}
@keyframes SVG-anim01 {
0% {stroke-dashoffset: 800;}
80% {fill-opacity: 0;stroke-dashoffset: 0;}
100% {fill-opacity: 1;}
}

/* ボタン */
.button {
  position: relative;
	display: inline-block;
	width: 240px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
  background-color: #fff;
  color: #009100;
  border: 1px solid #009100;
  overflow: hidden;
  letter-spacing: 2px;
}
.button a { 
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
}

.hvr-sweep-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-sweep-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #009100;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-right:hover, .hvr-sweep-to-right:focus, .hvr-sweep-to-right:active {
  color: white;
}
.hvr-sweep-to-right:hover:before, .hvr-sweep-to-right:focus:before, .hvr-sweep-to-right:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.hvr-underline-from-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden;
}
.hvr-underline-from-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 100%;
  bottom: 0px;
  background: #ffff33;
  height:4px;
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-underline-from-left:hover:before, .hvr-underline-from-left:focus:before, .hvr-underline-from-left:active:before {
  right: 0;
}

/* アコーディオン */
.accordionbox{
	width: 100%;
	background:#ffff;
	margin: 10px auto 40px;
}
.accordionlist dt{
    margin:0 auto;
    width:100%;
    height:40px;
    display:block;
    background: #fff;
    border-top: 1px solid #DFDFDF;
    cursor: pointer;
}
.accordionlist dt:first-child{
    border-top: none !important;
}
.accordionlist dt .title{
  maring-top:3px;
  width:55%;
  height:40px;
	float:left;
  text-align:right;
  color: #009100;
  font-weight: bold;
  font-size: 14px;
}
.accordionlist dd{
  clear:both;
  width:80%;
  display:none;
	background: #fff;
  margin:0 auto;
  margin-top:20px;
}
.accordion_icon,
.accordion_icon span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
  margin-left:5px;
}
.accordion_icon {
	position: relative;
	width: 40px;
	height: 40px;
  top:3px;
	float: left;
}
.accordion_icon span {
	position: absolute;
    left: 6px;
    width: 50%;
	height: 2px;
    background-color: #009100;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-ms-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
}
.accordion_icon span:nth-of-type(1) {
    top: 5px;
	transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}
.accordion_icon span:nth-of-type(2) {
    top: 5px;
	transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}
.accordion_icon.active span:nth-of-type(1) {
	display:none;
}
.accordion_icon.active span:nth-of-type(2) {
	top: 5px;
	transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}

/* fade */

.fade {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-delay:1s;
 -ms-animation-delay:1s;
 animation-delay:1s;
 -webkit-animation-name: fade;
 -ms-animation-name: fade;
 animation-name: fade;
 visibility: visible !important;
}


.fadeup {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:2s;
 -ms-animation-duration:2s;
 animation-duration:2s;
 -webkit-animation-delay:2s;
 -ms-animation-delay:2s;
 animation-delay:2s;
 -webkit-animation-name: fadeup;
 -ms-animation-name: fadeup;
 animation-name: fadeup;
 visibility: visible !important;
}

.fadein {
  visibility: visible !important;
    transform : translate(0, 40px);
    transition : all 500ms;
    }

.fadein.scrollin {
  visibility: visible !important;
    transform : translate(0, 0);
    }

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

    @-webkit-keyframes fadeup {
     0% { opacity:0; -webkit-transform: translateY(30px); }
     100% { opacity: 1; -webkit-transform: translateY(0); }
    }
    @keyframes fadeup {
     0% { opacity: 0; -webkit-transform: translateY(30px); -ms-transform: translateY(30px); transform: translateY(30px); }
     100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
    }


/* ハンバーガーナビ */
#menu {
  display:none;
  position:fixed;
  background-color: #009100;
  margin-top:0px;
  width:30%;
  height:100%;
  top:0px;
  right:0px;
  padding-top:160px;
  z-index:9998;

}
#menu li {
  font-size:22px;
  font-weight:bold;
  color:#ffffff;
  line-height: 250%;
  letter-spacing: 3px;
}

#menu li a {
    color:#ffffff;
    text-decoration: none;
}

#menu li a:hover {
  filter:alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}

nav.menu {
  width:36px;
  height:40px;
  top: 30px;
  right:30px;
  position:fixed;
  cursor:pointer;
  overflow:hidden;
  z-index:9999;
}
nav .icon_bar1 {
  width:36px;
  height:4px;
  background-color: #009100;
  border-radius: 6px;
  top:6px;
  position:absolute;
}
nav .icon_bar2 {
  width:36px;
  height:4px;
  background-color: #009100;
  border-radius: 6px;
  top:20px;
  position:absolute;
}


nav, nav .icon_bar1, nav .icon_bar2 {
  -o-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
}


nav .menuclick1	{
  top:12px;
  -o-transform: rotate(405deg);
  -moz-transform: rotate(405deg);
  -webkit-transform: rotate(405deg);
  -ms-transform: rotate(405deg);
  transform: rotate(405deg);
  background-color: #ffffff;
  height:4px;
  border-radius: 12px;
}
nav .menuclick2	{
  top:12px;
  -o-transform: rotate(-405deg);
  -moz-transform: rotate(-405deg);
  -webkit-transform: rotate(-405deg);
  -ms-transform: rotate(-405deg);
  transform: rotate(-405deg);
  background-color: #ffffff;
  height:4px;
  border-radius: 12px;
}

/* タイトル部分 */
.main {
  position:relative;
  height:100vh;
  max-height:940px;
}
.title {
  width:100%;
}

.slide,
.slide:after {
    position: absolute;
    width: 75%;
    height: 100%;
    top: 80px;
    right: 0px;
    z-index: 0;
}

.slide li span {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    color: transparent;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: none;
    opacity: 0;
    z-index: 0;
    animation: imageAnimation 24s linear infinite 0s;
}

.slide li:nth-child(1) span {
    background-image: url(../img/main01.jpg)
}
.slide li:nth-child(2) span {
    background-image: url(../img/main02.jpg);
    animation-delay: 6s;
}
.slide li:nth-child(3) span {
    background-image: url(../img/main03.jpg);
    animation-delay: 12s;
}
.slide li:nth-child(4) span {
    background-image: url(../img/main04.jpg);
    animation-delay: 18s;
}

.slide li:nth-child(2) div {
    animation-delay: 6s;
}
.slide li:nth-child(3) div {
    animation-delay: 12s;
}
.slide li:nth-child(4) div {
    animation-delay: 18s;
}

@keyframes imageAnimation {
    0% { opacity: 0; animation-timing-function: ease-in; }
    12.5% { opacity: 1; animation-timing-function: ease-out; }
    25% { opacity: 1 }
    37.5% { opacity: 0 }
    100% { opacity: 0 }
}



/* PC用設定 */
@media (min-width: 780px) {
  #loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  min-height: 100%;
  top: 0px;
  left: 0px;
  background: #ffffff;
  z-index: 7;
  }
  #loader {
  display: none;
  position: fixed;
  top: 17%;
  left: 32%;
  width:40%;
  text-align: center;
  color: #fff;
  z-index: 8;
  }
  #top { position:relative;
  width:100%;
  height:auto;
}

  .title img {
    position:absolute;
    top:33.3%;
    left: 7%;
    width: 360px;
  }
  .bnr {
    width:260px;
    position:absolute;
    right:0px;
    bottom:0px;
  }
  .bnr img {
    width:100%;
  }
  .bnr a:hover {
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
  }

  #about {
    margin-top:180px;
    position:relative;
    height:auto;
  }
  .concept {
    position:relative;
    left:0;
    width:100%;
    font-size:14px;
    font-weight:bold;
    letter-spacing:1.5px;
    line-height:200%;
    display:flex;
    flex-wrap:nowrap;
    flex-direction: row-reverse;
    padding:120px 0 40px 0;
  }
  .concept_inner { position:relative; width:40%; padding:0 10% 0 5%; }
  .concept_ttl img {
    width:80%;
    max-width:380px;
  }
  .pic01 {
    position:relative;
    width:60%;
    overflow: hidden;
  }
  .pic01 img {
    width:100%;
    height:100%;
    margin:0;
    object-fit: cover;
  }
  #info {
    position:relative;
    width:100%;
    height:auto;
    padding:140px 0;
  }

  .info {
    position:relative;
    width:80%;
    left:10%;
   }

  .info_ttl img {
    position:relative;
    left:0;
    margin-top:0px;
    margin-bottom:40px;
    width:45%;
    max-width:420px;
    z-index:10;
  }
  .timeline{
    width:40%;
    min-width:260px;
    position:absolute;
    top:180px;
    left:10%;
  }
  .btn {
    margin-top:40px;
  }
  .spec{
    width:100%;
    position:relative;
    display:flex;
    justify-content: space-between;
  }
  .spec_inner { 
    width:50%;
   }
   .spec_inner dl {
    display:flex;
    width:100%;
    flex-wrap: wrap;
    margin:0 0 20px 0;
   }
   .spec_inner dt {
    width:20%;
    margin:0;
    padding:15px 0;
   }
   .spec_inner dd {
    width:80%;
    margin:0;
    padding:15px 0;
  }

  .spec a {
    color:#009100;
    text-decoration:none;
  }

  .spec br {
    display:none;
  }

  .address img {
    position:relative;
    left:-1px;
    width:22px;
    margin-right:5px;
    margin-top:0px;
    vertical-align: middle;
  }

  .strong {
    font-weight: bold;
    margin-right:20px;
  }
  .caption {
    font-size:12px;
  }

  .access {
    width:45%;
  }

  .access img{
    width:100%;
    margin-top:10px;
  }

  .map {
    width:100%;
    margin:0 auto;
  }
  .map img {
    width:100%;
    margin-bottom:40px;
  }
  #contents{
    margin-top:0px;
    width:100%;
  }
  .line {
    display:none;
  }
  .cont_l {
    width:65%;
    max-height:480px;
    float:left;
    margin-bottom: 10%;
  }
  .cont_l img {
    display:block;
    width:100%;
  }
  .cont_lt {
    display:block;
    width:35%;
    float:left;
    margin-bottom: 10%;
    }

  .cont_lt img {
    display:block;
    width:65%;
    margin:0 auto;
    margin-top:40px;
  }

  .cont_r {
    width:65%;
    max-height:480px;
    float:right;
    margin-bottom: 10%;
  }
  .cont_rt {
    display:block;
    width:35%;
    float:right;
    margin-bottom: 10%;
  }

  .cont_r img {
    display:block;
    width:100%;
  }
  .cont_rt img {
    display:block;
    width:65%;
    margin:0 auto;
    margin-top:40px;
  }

  .cont_lt .detail {
    width:180%;
    margin-left:-155%;
    font-size:14px;
    line-height:200%;
    letter-spacing: 1px;
    background-color: #ffffff;
    margin-top:45%;
  }

  .cont_rt .detail {
    width:180%;
    margin-left:75%;
    font-size:14px;
    line-height:200%;
    letter-spacing: 1px;
    background-color: #ffffff;
    margin-top:45%;
  }


  .detail img {
    width:60%;
    margin-bottom:60px;
  }
  .detail a {
    color:#009100;
    text-decoration: none;
  }

  .cont_o {
    width:95%;
    margin:0 auto;
    overflow-x: hidden;
    position:relative;
    z-index:1;
    height:340px;
    background-image: url(../img/line_bk.svg);
  }
  .cont_ot {
    width:300px;
    margin:0 auto;
    z-index:2;
    margin-top:60px;
  }
  .cont_ot img {
    height:100px;
    top:30px;
  }
  .cont_o_txt {
    width:100%;
    margin-top:40px;
    margin-bottom:20px;
  }
  .cont_o_txt p {
    width:90%;
    display:block;
    font-size: 16px;
    margin:0 auto;
    text-align:center;
  }
  .comingsoon {
    text-align:center;
    font-weight: bold;
    font-size:20px;
    color:#999999;
  }

  .btn2 {
    width:240px;
    margin:0 auto;
    display:block;
    position:relative;
    top:-30px;
    z-index:2;
  }

  .insta_pc {
    margin-top:120px;
    margin-bottom:120px;
    pointer-events:none;
    display:block;
  }
  .insta_sp {
    display:none;
  }

  #schedule {
    width:100%;
  }

  .sch_ttl img {
    display:block;
    width:20%;
    margin:0 auto;
  }

  .cal_wrapper {
    width:70%;
    margin:0 auto;
    margin-top:20px;
  }

  .googlecal {
    position: relative;
    padding-bottom: 70%; /* 縦横比 */
    height: 0;
    overflow: hidden;
  }
  .googlecal iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }
  #contact {
    width:100%;
    margin-top:160px;
    background-color: #009100;
    height:480px;
  }
  .contact_ttl {
    width:300px;
    margin:0 auto;
    padding-top:140px;
  }
  .contact_txt {
    width:100%;
    margin-top:40px;
    color: #ffffff;
    text-align: center;
    font-size:18px;
    line-height: 200%;
  }
  .contact_mail {
    font-weight:bold;
    font-size:24px;
  }
  .contact_mail  a {
    color:#ffffff;
    text-decoration: none;
  }
  #produced {
    width:100%;
    margin-top:120px;
  }
  .prd_ttl {
    width:220px;
    margin:0 auto;
    margin-bottom:60px;
  }
  .prd_logo {
    width:40%;
    float:left;
    box-sizing: border-box;
  }
  .prd_logo img {
    width:60%;
    padding-top:30px;
    padding-left:25%;
  }
  .prd_txt {
    width:55%;
    font-size:16px;
    line-height: 180%;
    letter-spacing: 1px;
    padding-right:5%;
    margin-bottom:40px;
    float:left;
    box-sizing: border-box;

  }
  .staff {
    width:80%;
    margin:0 auto;
    text-align:center;
    border-top: solid 1px #999999;
    padding-top:20px;
    font-size:14px !important;
    letter-spacing: 1px;
    clear:both;
  }
  .ft_wrapper {
    position:relative;
    width:100%;
    margin-top:180px;
    padding-bottom: 40px;
    box-sizing: border-box;
    border-top:solid 8px #009100;
    border-bottom:solid 8px #009100;
  }
  .ft_wrapper_inner {
    position:relative;
    width:80%;
    left:10%;
  }

  .ft_logo {
    width:30%;
    margin-top:40px;
    margin-left:5%;
    float:left;
  }
  .ft_navi {
    width:50%;
    float:left;
    padding-left:80px;
    margin-top:20px;
    box-sizing: border-box;
  }
  .ft_navi ul {
    padding:0;
    color: #009100;
    font-weight:bold;
    font-size:18px;
    line-height: 250%
  }

  .ft_navi ul a {
    color: #009100;
    text-decoration: none;
  }
  .ft_navi li {
    width:50%;
    float:left;
  }
  .sns {
    float:left;
    width:80px;
    margin-top:40px;
    box-sizing: border-box;
  }
  .sns ul {
    padding:0;
    width:100%;
    margin-top:0;
  }
  .sns li {
    width:64px;
  }
  .sns img {
    width:60px;
  }
  .sns a:hover {
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
  }
  .copyright {
    width:100%;
    margin-top:10px;
    text-align:center;
    color:#009100;
  }

}

@media (max-width: 940px) {
  .concept {flex-wrap: wrap; flex-direction: row; padding:80px 0 0 0;}
  .concept_inner { position:relative; width:80%; left:10%; padding:0%; margin-bottom:40px; }
  .pic01 { position:relative; width:80%; left:10%; }

}


/* SP用設定 */
@media (max-width: 780px) {

  #loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  min-height: 100%;
  top: 0px;
  left: 0px;
  background: #ffffff;
  z-index: 7;
  }
  #loader {
  display: none;
  position: fixed;
  top: 45%;
  left: 13%;
  width: 80%;
  margin-top: -100px;
  text-align: center;
  color: #fff;
  z-index: 8;
  }

  #menu {
    width:100%;
    height:100%;
    text-align:center;
    padding-top:100px;
  }

  .title img {
    position:absolute;
    top: 40px;
    left: 40px;
    width: 240px;
  }
  .main {
    height:680px;
  }
  .slide,
  .slide:after {
      position: relative;
      width: 100%;
      height: 420px;
      top: 235px;
      left: 0px;
      z-index: 0;
      padding-left:0px;
  }

  .bnr {
    width:200px;
    position:absolute;
    right:0px;
    top:602px;
  }
  .bnr img {
    width:100%;
  }
  .bnr a:hover {
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
  }

  .concept {
    margin:0 auto;
    font-size:14px;
    font-weight:bold;
    letter-spacing:1.5px;
    line-height:180%;
  }
  .concept_ttl img {
    width:280px;
  }

  .pic01 {
    position:relative;
    width:80%;
    left:10%;
    overflow: hidden;
  }
  .pic01 img {
    width:100%;
    height:100%;
    margin:0;
    object-fit: cover;
  }

  #info {
    position:relative;
    font-size: 14px;
    padding:40px 0 80px 0;
  }

  .info{
    margin:0 auto;
    width:85%;
  }
  .info img {
    width:220px;
    margin-top:80px;
  }
  .btn {
    width:240px;
    margin:0 auto;
    display:block;
    text-align: center;
  }
  .spec{
    margin-top:20px;
  }
  .address {
    font-size:16px;
    margin-right: 10px;
  }
  .address img {
    width:20px;
    margin-right:10px;
    margin-top:0px;
    vertical-align: middle;
  }

  .spec_inner { 
    width:100%;
   }
   .spec_inner dl {
    display:flex;
    width:100%;
    flex-wrap: wrap;
    margin:0 0 20px 0;
   }
   .spec_inner dt {
    width:20%;
    margin:0;
    padding:15px 0;
   }
   .spec_inner dd {
    width:80%;
    margin:0;
    padding:15px 0;
  }

  .info_btn { position:relative; left:50%; transform:translateX(-50%); }
  .spec a {
    color:#009100;
    text-decoration:none;
  }

  .spec a:hover {
    color:#009100;
    text-decoration:underline;
  }

  .strong {
    font-weight: bold;
  }
  .caption {
    font-size:12px;
  }
  .access {
    display:none;
  }
  #map {
    margin:0;
    width:100%;
  }
  .map img {
    width:100%;
    margin-top:20px;
  }

  #contents{
    margin-top:60px;
    width:100%;
  }
  .line {
    margin:0;
    padding:0;
  }
  .line img {
    display:block;
    width:100%;
    margin:0;
    padding:0;
  }
  .cont_l img {
    display:block;
    width:100%;
  }
  .cont_lt img {
    display:block;
    width:200px;
    margin:0 auto;
    margin-top:20px;
  }
  .cont_r img {
    display:block;
    width:100%;
  }
  .cont_rt img {
    display:block;
    width:200px;
    margin:0 auto;
    margin-top:20px;
  }
  .cont_o {
    width:100%;
    margin:auto;
    overflow-x: hidden;
    position:relative;
    z-index:1;
    height:260px;
    background-image: url(../img/line_bk.svg);
  }
  .cont_ot {
    width:200px;
    margin:0 auto;
    z-index:2;
    margin-top:30px;
  }
  .cont_ot img {
    height:70px;
    top:30px;
  }
  .cont_o_txt {
    width:100%;
    margin-top:10px;
    margin-bottom:20px;
  }
  .cont_o_txt p {
    width:90%;
    display:block;
    font-size: 14px;
    margin:0 auto;
  }
  .comingsoon {
    text-align:center;
    font-weight: bold;
    font-size:20px;
    color:#999999;
  }

  .detail {
    border-top:dotted 2px #bbbbbb;
    font-size:14px;
    line-height:200%;
    letter-spacing: 1px;
  }
  .detail img {
    width:70%;
    margin-top:40px;
  }
  .detail a {
    color:#009100;
    text-decoration: none;
  }

  .btn2 {
    width:240px;
    margin:0 auto;
    display:block;
    position:relative;
    top:-30px;
    z-index:2;
  }

  .insta_pc {
    display:none;
  }

  .insta_sp {
    margin-top:40px;
    pointer-events:none;
    display:hidden;
  }

  #schedule {
    width:100%;
    margin-top:60px;
  }

  .sch_ttl img {
    display:block;
    width:200px;
    margin:0 auto;
  }

  .cal_wrapper {
    width:90%;
    margin:0 auto;
    margin-top:20px;
  }

  .googlecal {
    position: relative;
    padding-bottom: 100%; /* 縦横比 */
    height: 0;
    overflow: hidden;
  }
  .googlecal iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }

  #contact {
    width:100%;
    margin-top:60px;
    background-color: #009100;
    height:300px;
  }
  .contact_ttl {
    width:200px;
    margin:0 auto;
    padding-top:60px;
  }
  .contact_txt {
    width:100%;
    margin-top:40px;
    color: #ffffff;
    text-align: center;
    font-size:14px;
    line-height: 200%;
  }
  .contact_mail {
    font-weight:bold;
    font-size:18px;
  }
  .contact_mail  a {
    color:#ffffff;
    text-decoration: none;
  }
  #produced {
    width:100%;
    margin-top:40px;
  }
  .prd_ttl {
    width:120px;
    margin:0 auto;
  }
  .prd_logo {
    width:50%;
    margin:0 auto;
    margin-top:20px;
    margin-bottom:30px;
  }
  .prd_txt {
    width:80%;
    margin:0 auto;
    font-size:14px;
    line-height: 180%;
    letter-spacing: 1px;
  }
  .staff {
    width:80%;
    margin:0 auto;
    margin-top:30px;
    text-align:center;
    border-top: solid 1px #999999;
  }

  .ft_wrapper {
    width:100%;
    margin-top:120px;
    padding-bottom: 60px;
    box-sizing: border-box;
    border-top:solid 8px #009100;
    border-bottom:solid 8px #009100;
  }

  .ft_logo {
    width:80%;
    max-width:400px;
    height:auto;
    margin:0 auto;
    margin-top:40px;
  }
  .ft_navi {
    width:80%;
    height:auto;
    max-width:400px;
    margin:0 auto;
  }
  .ft_navi ul {
    padding:0;
    color: #009100;
    font-weight:bold;
    font-size:16px;
    line-height: 250%
  }

  .ft_navi ul a {
    color: #009100;
    text-decoration: none;
  }
  .ft_navi li {
    width:50%;
    float:left;
  }
  .sns {
    width:80%;
    max-width:400px;
    margin:0 auto;
    margin-top:20px;
  }
  .sns ul {
    padding:0;
    width:140px;
    margin:0 auto;
  }
  .sns li {
    width:50%;
    float:left;
  }
  .sns img {
    width:60px;
  }
  .sns a:hover {
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
  }
  .copyright {
    width:100%;
    margin-top:10px;
    text-align:center;
    color:#009100;
  }
}
