@charset "UTF-8";
a {
  text-decoration: none;
  transform: 0.5;
  -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 {
  opacity: 1; }

a:hover {
  opacity: 0.8; }

a,
p,
span,
li,
dt, dd,
th, td {
  font-family: 'Noto Sans JP', serif;
  color: #000;
  font-weight: 400; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Noto Sans JP', serif;
  color: #000;
  font-weight: 400; }

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.sp_header,
.tbbr,
.spbr,
.sp {
  display: none; }

#pc_header {
  width: 100%;
  margin: 0;
  position: fixed;
  top: 0;
  z-index: 999;
  background: #FFF;
  box-shadow: 0px 3px 0px #23D152; }
  #pc_header div.inner {
    width: 95%;
	width: 98%;
    max-width: 1600px;
    margin: 30px auto;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  #pc_header a.logo {
    display: block;
    width: 20%;
    max-width: 329px; }
  #pc_header ul.menu {
    width: 75%;
    max-width: 1100px;
    display: flex;
    justify-content: space-between; }
    #pc_header ul.menu li a {
      display: inline-block;
      font-size: clamp(17px, 1.1vw, 22px);
	  font-size: clamp(16px, 1.1vw, 21px);
      font-weight: 700;
      background-image: linear-gradient(to right, #23D152, #23D152 50%, #000 50%);
      background-size: 200% 100%;
      background-position: -100%;
      padding: 5px 0;
      position: relative;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      transition: all 0.3s ease-in-out; }
      #pc_header ul.menu li a::before {
        content: '';
        background: #000;
        display: block;
        position: absolute;
        bottom: -3px;
        left: 0;
        width: 0;
        height: 2px;
        transition: all 0.3s ease-in-out; }
      #pc_header ul.menu li a:hover {
        background-position: 0; }
      #pc_header ul.menu li a:hover::before {
        width: 100%; }

.container {
  overflow: hidden; }

/*********************************
ここから全ページ共通
*********************************/
.layer_board_bg,
.layer_board {
  position: absolute; }

.layer_board_bg {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 1000;
  top: 0;
  left: 0;
  display: none;
  cursor: pointer;
  background: #000; }

.layer_board {
  width: 70%;
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
  z-index: 2000; }

.layer_board video {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain; }

.btn_close {
  display: block;
  text-decoration: none;
  background: #FFF;
  color: #000;
  text-align: center;
  padding: 10px 20px;
  width: 150px;
  margin: 10px auto 0 auto;
  font-size: clamp(14px, 0.83vw, 16px); }

p.txt_l {
  font-size: clamp(16px, 1.1vw, 20px);
  text-align: left;
  line-height: 2em; }

p.txt_c {
  font-size: clamp(16px, 1.1vw, 20px);
  text-align: center;
  line-height: 2em; }

p.txt_r {
  font-size: clamp(16px, 1.1vw, 20px);
  text-align: right;
  line-height: 2em; }

h2 {
  font-size: clamp(55px, 2.6vw, 50px);
  font-weight: 900;
  color: #23D152;
  text-align: center;
  padding: 0;
  margin: 0 auto 50px auto; }
  h2 span {
    display: block;
    font-size: clamp(18px, 1.1vw, 20px);
    font-weight: 700; }

/*********************************
ここからTOP
*********************************/
/*ここからスライドショー(背景)*/
.main_img {
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom;
  aspect-ratio: 1920 / 926;
  position: relative; }

picture, source {
  width: 100%;
  display: block; }

div.campaign {
  width: 80%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 0; }

div.inner,
ul.inner {
  width: 90%;
  max-width: 1400px;
  margin: 0 auto; }

/******************************
左右のアニメーション
******************************/
.leftAnime {
  overflow: hidden;
  display: inline-block;
  opacity: 0;
  /*事前に透過0にして消しておく*/ }

.leftAnimeInner {
  display: inline-block; }

.slideAnimeLeftRight {
  animation-name: slideTextX100;
  animation-duration: 0.9s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes slideTextX100 {
  from {
    transform: translateX(-100%);
    /*要素を左の枠外に移動*/
    opacity: 0; }
  to {
    transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1; } }
.slideAnimeRightLeft {
  animation-name: slideTextX-100;
  animation-duration: 0.9s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes slideTextX-100 {
  from {
    transform: translateX(100%);
    /*要素を右の枠外に移動*/
    opacity: 0; }
  to {
    transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1; } }
/******************************
スクロールでふわっと出現
******************************/
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.9s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger {
  opacity: 0; }

/******************************
スクロールで左から順にふわっと出現
******************************/
.hidden {
  opacity: 0; }

div.concept {
  width: 100%;
  padding: 100px 0;
  background: url("../../img/concept_bg.png");
  background-color: #FFFDD5;
  background-size: contain;
  background-position: right;
  background-repeat: no-repeat; }
  div.concept div.inner {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    div.concept div.inner div {
      width: 48%; }
      div.concept div.inner div div.slide_txt {
        width: 100%; }
        div.concept div.inner div div.slide_txt p {
          display: inline-block;
          font-size: clamp(30px, 2.6vw, 50px);
          font-weight: 900;
          line-height: 1.2em;
          margin-bottom: 20px; }
          div.concept div.inner div div.slide_txt p span {
            font-size: clamp(50px, 3.6vw, 70px);
            font-weight: 900;
            background: -webkit-linear-gradient(0deg, #23D152, #60E031);
            color: #60E031;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent; }
      div.concept div.inner div h3 {
        font-size: clamp(22px, 1.56vw, 30px);
        font-weight: 700;
        margin-bottom: 50px; }
      div.concept div.inner div p.txt_l {
        font-size: clamp(16px, 1.1vw, 20px);
        font-weight: 700; }
    div.concept div.inner div.picrure picture {
      display: block;
      width: 100%;
      height: auto;
      object-fit: contain; }

div.enjoy {
  width: 100%;
  padding: 100px 0;
  background-image: url("../../img/enjoy_bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
  div.enjoy ul.inner li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 94px; }
    div.enjoy ul.inner li:last-child {
      margin-bottom: 0; }
    div.enjoy ul.inner li div.img {
      width: 48%;
      position: relative; }
      div.enjoy ul.inner li div.img p {
        font-size: clamp(25px, 1.56vw, 30px);
        font-weight: 700;
        color: #FFF;
        background: #23D152;
        padding: 10px 5%;
        border-radius: 10px;
        position: absolute;
        left: 3%;
        top: -30px; }
    div.enjoy ul.inner li div.txt {
      width: 48%; }
      div.enjoy ul.inner li div.txt h3 {
        font-size: clamp(25px, 1.8vw, 35px);
        font-weight: 900;
        margin-bottom: 30px; }

div.enjoy ul.grn_tape {
  margin-top: 20px; }
  div.enjoy ul.grn_tape li {
    display: block;
    background: transparent linear-gradient(94deg, #23D152 0%, #60E031 100%) 0% 0% no-repeat padding-box;
    color: #FFF;
    font-size: clamp(16px, 1.1vw, 20px);
    font-weight: 700;
    text-align: center;
    padding: 10px 0;
    margin-bottom: 10px; }

div.instagram {
  background: url("../../img/instagran_bg.jpg");
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 100px 0; }
  div.instagram div.box {
    width: 100%;
    margin-bottom: 50px; }

a.viewmore {
  display: block;
  width: 350px;
  margin: 0 auto;
  padding: 10px 0;
  background: #23D152;
  border: 2px solid #23D152;
  color: #FFF;
  font-size: clamp(20px, 1.25vw, 24px);
  font-weight: 700;
  text-align: center;
  position: relative; }
  a.viewmore::after {
    content: '\f138';
    display: block;
    font-family: "Font Awesome 5 Free";
    font-size: clamp(20px, 1.25vw, 24px);
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 2%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: 0;
    color: #FFF; }
  a.viewmore:hover {
    background: #FFF;
    color: #23D152;
    opacity: 1; }
    a.viewmore:hover::after {
      color: #23D152; }

div.price {
  width: 100%;
  padding: 100px 0;
  text-align: center;
  background-image: url("../../img/price_bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
  div.price div.leftAnime p.txt_c {
    margin-bottom: 60px; }
    div.price div.leftAnime p.txt_c span {
      display: inline-block;
      font-size: clamp(25px, 1.56vw, 30px);
      font-weight: 700;
      background: linear-gradient(transparent 60%, #F5FF00 60%); }

ul.point {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 100px auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  grid-row-gap: 40px; }
  ul.point li {
    width: 30%;
    position: relative; }
    ul.point li:nth-child(3n+1) {
      top: 40px; }
    ul.point li:nth-child(3n+2) {
      top: 20px; }
    ul.point li p.blk {
      background: #000;
      color: #FFF;
      font-size: clamp(20px, 1.25vw, 24px);
      font-weight: 700;
      padding: 10px 0;
      text-align: center;
      border-radius: 20px 20px 0 0; }
    ul.point li div {
      padding: 30px 0 20px 0;
      text-align: center;
      border-radius: 0 0 20px 20px;
      background: #FFF;
      box-shadow: 0px 10px 0px #00000029; }
      ul.point li div img {
        display: block;
        width: auto;
        height: 98px;
        object-fit: contain;
        margin: 0 auto 22px auto; }
      ul.point li div p {
        display: inline-block;
        font-size: clamp(16px, 1.1vw, 20px);
        font-weight: 700; }

div.price_flex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 150px; }
  div.price_flex div.each {
    width: 48%;
    background: #FFF;
	  box-shadow: 0px 10px 0px #23D152;
      border-radius: 0 0 20px 20px;
}
    div.price_flex div.each h4 {
      background: transparent linear-gradient(98deg, #23D152 0%, #60E031 100%) 0% 0% no-repeat padding-box;
      border-radius: 20px 20px 0 0;
      padding: 20px 0;
      text-align: center;
      color: #FFF;
      font-size: clamp(30px, 2vw, 40px);
      font-weight: 900; }
    div.price_flex div.each div {
      padding: 45px 0;
		display:flex;
		flex-flow: column;
		align-items: center;
		justify-content: center;
		height:calc(100% - 84px);
}
      div.price_flex div.each div img {
        display: block;
		  width:auto;
		  max-width:90%;
        object-fit: contain; }

div.price_flex div.each div p {
	margin-top:0.5em;
	font-size:clamp(16px, 1.9vw, 21px);
	font-weight:700;
}
div.price_flex div.each div p span{
	display: inline-block;
    font-size: 115%;
    font-weight: 700;
    background: linear-gradient(transparent 60%, #F5FF00 60%);
}
div.merit {
  width: 100%;
  border-radius: 20px;
  padding: 200px 0 70px 0;
  background: #A1F882;
  position: relative; }
  div.merit h3 {
    width: 90%;
    max-width: 800px;
    padding: 33px 0;
    text-align: center;
    font-size: clamp(40px, 2.6vw, 50px);
    font-weight: 900;
    background: #FFF;
    border-radius: 20px;
    box-shadow: 6px 6px 0px #00000029;
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%); }
    div.merit h3::before {
      content: "";
      border-width: 40px;
      border-style: solid;
      border-color: #FFF transparent transparent transparent;
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      filter: drop-shadow(6px 6px 0px #00000029); }
    div.merit h3 span {
      display: block;
      font-size: clamp(20px, 1.25vw, 24px);
      font-weight: 700; }
  div.merit div.inner {
    width: 90%;
    max-width: 1187px; }
  div.merit picture {
    margin-bottom: 30px; }
  div.merit p.txt_l {
    font-size: clamp(14px, 0.83vw, 16px);
    font-weight: 500;
    margin-bottom: 30px; }
  div.merit p.wht_box {
    width: 100%;
    padding: 25px 3%;
    font-size: clamp(16px, 1.1vw, 20px);
    font-weight: 500;
    background: #FFF;
    border-radius: 20px;
    text-align: left; }

div.flow {
  width: 100%;
  padding: 100px 0;
  background-image: url("../../img/flow_bg.jpg");
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
  div.flow h2 {
    color: #FFF; }
    div.flow h2 span {
      color: #FFF; }

ul.flow {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto; }
  ul.flow li {
    padding: 30px 3%;
    background: #FFF;
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px; }
    ul.flow li:last-child {
      margin-bottom: 0; }
    ul.flow li img {
      display: block;
      width: 7%;
      height: auto;
      object-fit: contain; }
    ul.flow li div {
      width: 86%; }
      ul.flow li div h4 {
        display: inline-block;
        font-size: clamp(25px, 1.56vw, 30px);
        font-weight: 900;
        margin-bottom: 23px; }
      ul.flow li div p.txt_l {
        font-weight: 700; }
      ul.flow li div a.viewmore {
        margin: 10px auto 0 0; }

div.btn_flex {
  display: flex;
  justify-content: space-between;
  margin-top: 100px; }
  div.btn_flex a {
    width: 48%; }
    div.btn_flex a:hover {
      opacity: 0.9; }

div.faq {
  background: #ECECEC;
  padding: 100px 0; }

section.qaBox {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto 20px auto;
  box-shadow: 0px 3px 6px #00000029; }
  section.qaBox:last-child {
    margin-bottom: 0; }
  section.qaBox input.faq-check {
    display: none; }
  section.qaBox label.faq-label {
    width: 100%;
    background: #FFF;
    position: relative;
    display: flex;
    align-items: center; }
    section.qaBox label.faq-label > p {
      width: calc(100% - 100px);
      padding: 30px 14% 30px 4%;
      font-size: clamp(23px, 1.45vw, 28px);
      font-weight: 700; }
    section.qaBox label.faq-label::before {
      content: 'Q';
      display: flex;
      width: 100px;
      aspect-ratio: 1 / 1;
      font-family: 'Noto Sans JP', serif;
      font-size: clamp(30px, 2vw, 40px);
      font-weight: 700;
      background: transparent linear-gradient(133deg, #23D152 0%, #60E031 100%) 0% 0% no-repeat padding-box;
      color: #FFF;
      justify-content: center;
      align-items: center; }
    section.qaBox label.faq-label::after {
      content: '\f078';
      display: block;
      font-family: "Font Awesome 5 Free";
      font-size: 40px;
      font-weight: 900;
      position: absolute;
      top: 50%;
      right: 0;
      -ms-transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      margin: 0;
      color: #23D152; }
  section.qaBox div.faq-content {
    display: block;
    height: 0;
    opacity: 0;
    padding: 0 2%;
    transition: .5s;
    visibility: hidden; }
    section.qaBox div.faq-content > p {
      font-size: clamp(14px, 0.83vw, 16px); }
  section.qaBox .faq-check:checked + .faq-label::after {
    content: '\f077'; }
  section.qaBox .faq-check:checked + .faq-label + .faq-content {
    height: auto;
    background-color: #FFF;
    opacity: 1;
    padding: 20px 2%;
    visibility: visible; }

div.contact {
  width: 100%;
  padding: 70px 0;
  background-image: url("../../img/contact_bg.png");
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
  div.contact div.wht_box {
    width: 90%;
    max-width: 1400px;
    margin: 0 auto;
    background: #FFF;
    border-radius: 40px;
    padding: 70px 0; }

div.contact_tab {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto; }
  div.contact_tab input {
    display: none; }

ul.tab_btn {
  width: 90%;
  max-width: 750px;
  margin: 0 auto 50px auto;
  padding: 0;
  list-style-type: none;
  display: flex;
  justify-content: space-between; }
  ul.tab_btn li {
    width: 46%; }
    ul.tab_btn li label {
      display: block;
      width: 100%;
      padding: 25px 0;
      text-align: center;
      border-radius: 10px;
      background: #FFF;
      border: 3px solid #23D152;
      color: #23D152;
      cursor: pointer;
      font-size: clamp(20px, 1.25vw, 24px);
      position: relative; }
      ul.tab_btn li label:hover {
        background: #23D152;
        color: #FFF; }

#entry:checked ~ ul.tab_btn #list1,
#inquiry:checked ~ ul.tab_btn #list2 {
  background: #23D152;
  color: #FFF; }

#entry:checked ~ .contact_box #content1,
#inquiry:checked ~ .contact_box #content2 {
  display: block; }

div.contact_box div.contents {
  display: none; }

/*体験お申込みはこちら*/
div#content1 p.txt_c {
  font-weight: 700;
  margin-bottom: 20px; }
div#content1 div.flow_flex {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 30px auto;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  div#content1 div.flow_flex div {
    width: 29%;
    display: flex;
    flex-flow: column;
    align-items: center;
    grid-row-gap: 10px; }
    div#content1 div.flow_flex div img {
      display: block;
      width: 51%;
      height: auto;
      object-fit: contain; }
    div#content1 div.flow_flex div div.txt {
      width: 100%;
      display: block; }
      div#content1 div.flow_flex div div.txt h6 {
        font-size: clamp(16px, 1.1vw, 20px);
        font-weight: 600;
        text-align: center; }
      div#content1 div.flow_flex div div.txt p.txt_c {
        font-size: clamp(14px, 0.83vw, 16px);
        font-weight: 400;
        line-height: 1.5em;
        margin-bottom: 0; }
  div#content1 div.flow_flex picture {
    width: 2%; }
    div#content1 div.flow_flex picture img {
      display: block;
      height: auto;
      object-fit: contain; }

.co_form {
  width: 100%;
  margin: 0px auto 50px auto;
  border-collapse: collapse; }
  .co_form dl {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    border-bottom: 1px dashed #707070; }
    .co_form dl dt {
      width: 30%;
      position: relative;
      margin-bottom: 0px;
      padding: 30px 0; }
      .co_form dl dt label {
        font-size: clamp(16px, 1.1vw, 20px);
        font-weight: 700; }
      .co_form dl dt span {
        display: inline-block;
        background: transparent linear-gradient(120deg, #23D152 0%, #60E031 100%) 0% 0% no-repeat padding-box;
        padding: 4px 10px;
        border-radius: 5px;
        font-size: clamp(10px, 0.72vw, 14px);
        color: #FFF;
        position: absolute;
        top: 50%;
        right: 0%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%); }
    .co_form dl dd {
      width: 70%;
      padding: 20px 0 20px 5%; }

div.contact_tab input[type="text"], div.contact_tab [type="tel"], div.contact_tab [type="email"], div.contact_tab [type="date"], .con_select, .con_select> option {
  display: block;
  width: 100%;
  font-size: clamp(16px, 0.9vw, 18px);
  padding: 15px 3%;
  color: #000;
  background: #ECECEC; }
div.contact_tab textarea {
  resize: vertical;
  width: 100%;
  height: 200px;
  font-size: clamp(16px, 0.9vw, 18px);
  font-weight: 400;
  padding: 15px 3%;
  background: #ECECEC;
  color: #000; }
div.contact_tab input.sent {
  display: block;
  width: 350px;
  display: block;
  margin: 0 auto;
  padding: 12px 0px;
  font-size: clamp(20px, 1.25vw, 24px);
  font-weight: 700;
  text-align: center;
  color: #FFF;
  background: #23D152;
  border: 3px solid #23D152;
  -webkit-transition: .3s ease-in-out;
  transition: .2s ease-in-out; }
  div.contact_tab input.sent:hover {
    opacity: 1;
    background: #FFF;
    color: #23D152; }

.wpcf7 form .wpcf7-response-output {
  font-size: clamp(14px, 0.9vw, 18px);
  font-family: 'Noto Sans JP', serif; }

div.access {
  width: 100%;
  padding: 100px 0;
  background: transparent linear-gradient(148deg, #F1FDDD 0%, #F1FDDD 50%, #FDFFDD 50%, #FDFFDD 100%) 0% 0% no-repeat padding-box; }
  div.access div.flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px; }
    div.access div.flex picture {
      display: block;
      width: 48%;
      height: auto;
      object-fit: contain; }
    div.access div.flex div.info {
      width: 48%; }
      div.access div.flex div.info h1 {
        display: inline-block;
        font-size: clamp(25px, 1.56vw, 30px);
        font-weight: 700;
        background: linear-gradient(transparent 60%, #F5FF00 60%);
        margin-bottom: 20px; }
      div.access div.flex div.info p.txt_l {
        font-weight: 700;
        margin-bottom: 50px; }
        div.access div.flex div.info p.txt_l.mb10 {
          margin-bottom: 10px; }
        div.access div.flex div.info p.txt_l a {
          display: inline-block;
          font-size: clamp(16px, 1.1vw, 20px);
          text-decoration: none;
          background-image: linear-gradient(to right, #23D152, #23D152 50%, #000 50%);
          background-size: 200% 100%;
          background-position: -100%;
          padding: 0;
          position: relative;
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
          transition: all 0.3s ease-in-out; }
          div.access div.flex div.info p.txt_l a::before {
            content: '';
            background: #000;
            display: block;
            position: absolute;
            bottom: -3px;
            left: 0;
            width: 0;
            height: 2px;
            transition: all 0.3s ease-in-out; }
          div.access div.flex div.info p.txt_l a:hover {
            background-position: 0; }
          div.access div.flex div.info p.txt_l a:hover::before {
            width: 100%; }
      div.access div.flex div.info h5 {
        display: inline-block;
        padding: 10px 30px;
        margin-bottom: 10px;
        background: transparent linear-gradient(105deg, #23D152 0%, #60E031 100%) 0% 0% no-repeat padding-box;
        color: #FFF;
        font-size: clamp(16px, 1.1vw, 20px);
        font-weight: 700; }
      div.access div.flex div.info a {
        display: block;
        font-size: clamp(14px, 0.83vw, 16px);
        font-weight: 700;
        margin-bottom: 10px;
        text-decoration: underline; }
        div.access div.flex div.info a::before {
          display: inline-block;
          font-family: "Font Awesome 5 Free";
          font-size: clamp(14px, 0.83vw, 16px);
          font-weight: 900;
          color: #23D152;
          margin-right: 10px; }
      div.access div.flex div.info a.map::before {
        content: '\f5a0'; }
      div.access div.flex div.info a.video::before {
        content: '\f03d';
        margin-bottom: 0; }
  div.access iframe {
    display: block;
    width: 100%;
    height: 350px; }

footer {
  width: 100%;
  padding: 30px 0;
  background: #000; }
  footer p {
    text-align: center;
    color: #FFF;
    font-size: 14px; }

div.follow_btn {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 1;
}
  div.follow_btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    grid-column-gap: 10px;
    width: 250px;
    padding: 20px 0;
/* ライトグリーン   background: transparent linear-gradient(180deg, #23D152 0%, #60E031 100%) 0% 0% no-repeat padding-box;color: #FFF;font-size: clamp(15px, 0.88vw, 17px);*/
/* イエロー  background-color: #ffd700;color: #000;*/
/* ダークグリーン*/ background-color: #006400;color: #FFF;
    font-size: clamp(18px, 0.88vw, 28px);
    font-weight: 700;
    text-align: center;
    border-radius: 10px 10px 0 0; }
    div.follow_btn a img {
      display: block;
/*      width: 26px;*/
width: 34px;
      height: auto;
      object-fit: contain; }
    div.follow_btn a:hover {
      opacity: 0.9; }

a.totop {
  position: fixed;
  right: 1%;
  bottom: 87px;
  display: block;
  width: 98px;
  height: auto; }
  a.totop img {
    display: block;
    object-fit: contain; }

/*# sourceMappingURL=pc_style.css.map */

._mb3rem{margin-bottom: 3rem;}

#pc_header ul.menu .hd_btn1 {
    border-radius: 20px;
    background-color: #289846;
	display: flex;
    align-items: center;
}
#pc_header ul.menu .hd_btn1 a {
    display: inline-block;
    font-size: clamp(15px, 1.1vw, 18px);
    font-weight: 700;
    background-image: linear-gradient(to right, #fff, #fff 50%, #fff 50%);
    color: #fff;
    padding: 5px 0.6em;
}
#pc_header ul.menu .hd_btn1 a::before {
	display: none;
}
/* 20240116 */
.floating-banner {
	position: fixed;
	z-index: 999;
}
@media(min-width:768px){
	.floating-banner {
		top: 150px;
		right: 16px;
	    filter: drop-shadow(6px 6px 5px rgba(0, 0, 0, 0.4));
	}
}
@media(max-width:767px){
	.floating-banner {
		top: 90px;
		right: 16px;
		width:265px;
		height:54px;
	}
}
.banner-close {
	position: absolute;
	top: -10px;
	right: -10px;
	padding: 0px 0 1px;
	background-color: #fff;
	cursor: pointer;
	border-radius: 50%;
	font-weight: bold;
	width: 29px;
	height: 29px;
	line-height: 0;
	z-index: 1;
	border: solid 1px #999;
	text-align: center;
	font-size: 17px;
}
.floating-banner > a {
	display: block;
	width: 100%;
	height:100%;
}
.floating-banner > a > img.pc {
	width: 307px;
	height: 150px;
}
@media(max-width:767px){
	.floating-banner > a > img.pc {
		display:none;
	}
}
.floating-banner > a > img.sp {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
@media(min-width:768px){
	.floating-banner > a > img.sp {
		display:none;
	}
}