html {
  width: 100%; }

body {
  *font-size: small;
  *font: x-small;
  font-size: 14px;
  color: #333;
  line-height: 1.5;
  font-family: 'M PLUS Rounded 1c woff', sans-serif;
  width: 100%;
  margin: 0px;
  padding: 0px;
  background-color: #fff;
  -webkit-text-size-adjust: 100%; }

* {
  padding: 0;
  margin: 0; }

@font-face {
  font-family: 'M PLUS Rounded 1c woff';
  font-style: normal;
  font-weight: 700 !important;
  src: local("M PLUS Rounded 1c"), local("MPLUSRounded1c-Bold"), url("/c/greenponta/font/MPLUSRounded1c-Bold.woff") format("woff"); }

h1, h2, h3, h4, h5, p, ul, ol, li, img, table, th, td, dl, dt, dd, strong {
  margin: 0px;
  padding: 0px;
  font-size: 14px;
  font-weight: normal !important; }

li {
  list-style-type: none; }

table {
  border-collapse: collapse; }

a {
  -webkit-transition: opacity 0.2s cubic-bezier(0.21, 0.6, 0.35, 1);
  -o-transition: opacity 0.2s cubic-bezier(0.21, 0.6, 0.35, 1);
  transition: opacity 0.2s cubic-bezier(0.21, 0.6, 0.35, 1);
  -webkit-tap-highlight-color: transparent; }
  a:link, a:visited {
    cursor: pointer;
    color: #333;
    text-decoration: none; }
  a:hover {
    opacity: 0.7; }

img {
  vertical-align: top;
  border: 0;
  max-width: 100%;
  -webkit-backface-visibility: hidden; }

a img {
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  -webkit-transition: opacity 0.2s cubic-bezier(0.21, 0.6, 0.35, 1);
  -o-transition: opacity 0.2s cubic-bezier(0.21, 0.6, 0.35, 1);
  transition: opacity 0.2s cubic-bezier(0.21, 0.6, 0.35, 1); }

input, textarea, select, button, label {
  outline: none;
  border: 0;
  -webkit-tap-highlight-color: transparent; }

button {
  cursor: pointer; }

.pc_only {
  display: block !important; }

.sp_only {
  display: none !important; }

#wrap {
  position: relative;
  overflow: hidden;
  text-align: left;
  background-color: #fff;
  padding-top: 75px; }

@media only screen and (max-width: 768px) {
  body.active {
    overflow: hidden;
    height: 100%; }
  #wrap {
    padding-top: 65px; }
  .pc_only {
    display: none !important; }
  .sp_only {
    display: block !important; } }

/* header
-----------------------------------------------*/
header {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 8;
  width: 100%;
  height: 75px;
  background: url("https://pntc.sslcs.cdngc.net/cdn/greenponta/cmn/img/line_01.png") repeat-x bottom left #fff; }
  header h1, header p {
    padding: 10px 0 0 20px; }

#menuBtn {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10;
  width: 72px;
  height: 72px;
  cursor: pointer;
  font-size: 0; }
  #menuBtn span, #menuBtn::before, #menuBtn::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 32px;
    height: 2px;
    margin: auto;
    background: #333; }
  #menuBtn::before {
    -webkit-transform: translate(0, -12px);
    -ms-transform: translate(0, -12px);
    transform: translate(0, -12px);
    content: ""; }
  #menuBtn::after {
    -webkit-transform: translate(0, 12px);
    -ms-transform: translate(0, 12px);
    transform: translate(0, 12px);
    content: ""; }
  #menuBtn span {
    -webkit-transition: opacity 150ms 50ms;
    -o-transition: opacity 150ms 50ms;
    transition: opacity 150ms 50ms; }
  #menuBtn::before, #menuBtn::after {
    -webkit-transition: -webkit-transform 200ms;
    transition: -webkit-transform 200ms;
    -o-transition: transform 200ms;
    transition: transform 200ms;
    transition: transform 200ms, -webkit-transform 200ms; }
  #menuBtn.active span {
    opacity: 0;
    -webkit-transition: opacity 150ms;
    -o-transition: opacity 150ms;
    transition: opacity 150ms; }
  #menuBtn.active::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  #menuBtn.active::after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  #menuBtn.active::before, #menuBtn.active::after {
    width: 35px; }

@media only screen and (max-width: 768px) {
  header {
    height: 65px;
    background-size: 100% 3px; }
    header h1, header p {
      padding: 12px 0 0 15px;
      max-width: 180px; }
  #menuBtn {
    width: 62px;
    height: 62px; }
    #menuBtn span, #menuBtn::before, #menuBtn::after {
      width: 26px; }
    #menuBtn::before {
      -webkit-transform: translate(0, -9px);
      -ms-transform: translate(0, -9px);
      transform: translate(0, -9px);
      content: ""; }
    #menuBtn::after {
      -webkit-transform: translate(0, 9px);
      -ms-transform: translate(0, 9px);
      transform: translate(0, 9px);
      content: ""; } }

/* menu
-----------------------------------------------*/
#menu {
  overflow: hidden;
  position: fixed;
  right: -400px;
  top: 0;
  z-index: 9;
  width: 400px;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #e9f2ae;
  -webkit-transition: right 0.4s cubic-bezier(0.21, 0.6, 0.35, 1);
  -o-transition: right 0.4s cubic-bezier(0.21, 0.6, 0.35, 1);
  transition: right 0.4s cubic-bezier(0.21, 0.6, 0.35, 1); }

.ps {
  overflow: hidden !important;
  overflow-anchor: none;
  -ms-overflow-style: none;
  touch-action: auto;
  -ms-touch-action: auto; }

.ps__rail-x {
  display: none;
  -o-transition: background-color .2s linear, opacity .2s linear;
  transition: background-color .2s linear, opacity .2s linear;
  -webkit-transition: background-color .2s linear, opacity .2s linear;
  height: 15px;
  bottom: 0px;
  position: absolute; }

.ps__rail-y {
  display: none;
  -o-transition: background-color .2s linear, opacity .2s linear;
  transition: background-color .2s linear, opacity .2s linear;
  -webkit-transition: background-color .2s linear, opacity .2s linear;
  width: 15px;
  right: 0;
  position: absolute; }

.ps--active-x > .ps__rail-x, .ps--active-y > .ps__rail-y {
  display: block;
  background-color: transparent; }

/*
 * Scrollbar thumb styles
 */
.ps__thumb-x {
  background-color: #aaa;
  border-radius: 8px;
  -o-transition: background-color .2s linear, height .2s ease-in-out;
  transition: background-color .2s linear, height .2s ease-in-out;
  -webkit-transition: background-color .2s linear, height .2s ease-in-out;
  height: 8px;
  bottom: 2px;
  position: absolute; }

.ps__thumb-y {
  background-color: #218642;
  border-radius: 8px;
  -o-transition: background-color .2s linear, width .2s ease-in-out;
  transition: background-color .2s linear, width .2s ease-in-out;
  -webkit-transition: background-color .2s linear, width .2s ease-in-out;
  width: 8px;
  right: 0;
  position: absolute; }

@supports (-ms-overflow-style: none) {
  .ps {
    overflow: auto !important; } }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ps {
    overflow: auto !important; } }

#menu.active {
  right: 0; }

#menu .inner {
  padding: 100px 40px 40px; }

#menu .link {
  border-top: 1px solid #218642; }
  #menu .link li a {
    border-bottom: 1px solid #218642;
    display: table;
    vertical-align: top;
    width: 100%;
    padding: 20px 0; }
    #menu .link li a > span {
      display: table-cell;
      vertical-align: top;
      width: 100px; }
      #menu .link li a > span span {
        display: block;
        background-color: #218642;
        color: #fff;
        text-align: center;
        font-size: 12px;
        font-weight: bold;
        border-radius: 100px;
        padding: 2px 0; }
    #menu .link li a strong {
      display: table-cell;
      font-size: 16px;
      padding-left: 7px; }
  #menu .link li.comingsoon {
    pointer-events: none; }
    #menu .link li.comingsoon a > span span {
      background-color: #cae1b7; }
    #menu .link li.comingsoon a strong {
      color: #7c7f64; }

#menu .sns {
  margin-top: 50px; }
  #menu .sns p {
    text-align: center;
    font-size: 16px;
    font-weight: bold; }
  #menu .sns > img {
    display: block;
    margin: 10px auto 0; }
  #menu .sns ul {
    font-size: 0;
    text-align: center;
    margin-top: 20px; }
    #menu .sns ul li {
      display: inline-block;
      vertical-align: top;
      margin: 0 7px; }

@media only screen and (min-width: 767px) {
  #menu.min {
    overflow-y: scroll; } }

@media only screen and (max-width: 768px) {
  #menu {
    z-index: 7;
    padding-top: 65px;
    right: -90%;
    width: 90%; }
    #menu .inner {
      padding: 5px 20px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      height: 100vh;
      overflow-y: scroll; }
    #menu .link {
      border-top: none; }
      #menu .link li a {
        padding: 18px 0; }
        #menu .link li a > span {
          width: 90px; }
          #menu .link li a > span span {
            font-size: 10px; }
        #menu .link li a strong {
          font-size: 15px; }
    #menu .sns {
      margin-top: 25px; }
      #menu .sns p {
        font-size: 15px; }
      #menu .sns > img {
        width: 80px; }
      #menu .sns ul {
        margin-top: 15px; }
        #menu .sns ul li {
          margin: 0 5px; } }

@media only screen and (max-width: 374px) {
  #menu .inner {
    padding: 5px 15px; }
  #menu .link li a {
    padding: 13px 0; }
    #menu .link li a strong {
      font-size: 13px;
      padding-left: 5px; }
  #menu .sns {
    margin-top: 13px; }
    #menu .sns > img {
      width: 55px;
      margin: 3px auto 0; }
    #menu .sns p {
      font-size: 13px; }
    #menu .sns ul {
      margin-top: 8px; } }

/* breadcrumb
-----------------------------------------------*/
#breadcrumb {
  padding: 20px 40px 0;
  font-size: 0; }
  #breadcrumb li {
    display: inline-block;
    font-size: 14px; }
    #breadcrumb li::after {
      content: ">";
      display: inline-block;
      margin: 0 10px; }
    #breadcrumb li:last-child::after {
      display: none; }

@media only screen and (max-width: 768px) {
  #breadcrumb {
    display: none; } }

/* breadcrumb
-----------------------------------------------*/
#contents #main {
  position: relative;
  z-index: 1;
  background: url("https://pntc.sslcs.cdngc.net/cdn/greenponta/cmn/img/bgi_main_01.png") center top;
  text-align: center;
  height: 360px;
  margin-top: 20px; }
  #contents #main::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url("https://pntc.sslcs.cdngc.net/cdn/greenponta/cmn/img/bgi_main_02.png") center 32px no-repeat;
    text-align: center; }
  #contents #main .ttl {
    color: #218642;
    padding-top: 55px; }
    #contents #main .ttl p {
      font-size: 28px;
      line-height: 1.2; }
    #contents #main .ttl h1 {
      font-size: 55px;
      line-height: 1.2;
      margin-top: 5px; }
  #contents #main .txt {
    padding-top: 40px; }
    #contents #main .txt p {
      font-size: 20px;
      line-height: 1.8; }
  #contents #main .ttl {
    -webkit-transform: translateY(15px);
    -ms-transform: translateY(15px);
    transform: translateY(15px);
    opacity: 0;
    -webkit-transition: opacity 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), -webkit-transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1);
    transition: opacity 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), -webkit-transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1);
    -o-transition: transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), opacity 0.5s cubic-bezier(0.21, 0.6, 0.35, 1);
    transition: transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), opacity 0.5s cubic-bezier(0.21, 0.6, 0.35, 1);
    transition: transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), opacity 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), -webkit-transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1); }
  #contents #main.fade .ttl {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  #contents #main .txt p {
    -webkit-transform: translateY(15px);
    -ms-transform: translateY(15px);
    transform: translateY(15px);
    opacity: 0;
    -webkit-transition: opacity 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), -webkit-transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1);
    transition: opacity 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), -webkit-transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1);
    -o-transition: transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), opacity 0.5s cubic-bezier(0.21, 0.6, 0.35, 1);
    transition: transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), opacity 0.5s cubic-bezier(0.21, 0.6, 0.35, 1);
    transition: transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), opacity 0.5s cubic-bezier(0.21, 0.6, 0.35, 1), -webkit-transform 0.5s cubic-bezier(0.21, 0.6, 0.35, 1); }
  #contents #main.fade .txt p {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }

/* fade */
@media only screen and (max-width: 900px) {
  #contents #main .ttl {
    padding-top: 65px; }
    #contents #main .ttl p {
      font-size: 24px; }
    #contents #main .ttl h1 {
      font-size: 50px; }
  #contents #main .txt {
    padding-top: 50px; }
    #contents #main .txt p {
      font-size: 16px; } }

@media only screen and (max-width: 768px) {
  #contents #main {
    background: url("https://pntc.sslcs.cdngc.net/cdn/greenponta/cmn/img/bgi_main_01_sp.png") center top no-repeat;
    background-size: auto 88px;
    height: auto;
    margin-top: 15px; }
    #contents #main::before {
      display: none; }
    #contents #main::after {
      content: "";
      display: block;
      background: url("https://pntc.sslcs.cdngc.net/cdn/greenponta/cmn/img/bgi_main_02_sp.png") center top repeat-x;
      background-size: auto 13px;
      width: 100%;
      height: 13px;
      text-align: center; }
    #contents #main .ttl {
      color: #218642;
      padding-top: 35px; }
      #contents #main .ttl p {
        font-size: 16px; }
      #contents #main .ttl h1 {
        font-size: 26px; }
    #contents #main .txt {
      padding: 15px 20px;
      text-align: center; }
      #contents #main .txt p {
        display: inline-block;
        font-size: 13px;
        text-align: center; } }

/* topBtn
-----------------------------------------------*/
.topBtn {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 5;
  display: none;
  width: 150px;
  height: 150px;
  cursor: pointer;
  background: #fff;
  cursor: pointer;
  border-radius: 150px;
  background-image: url("https://pntc.sslcs.cdngc.net/cdn/greenponta/cmn/img/img_topBtn_01.png");
  -webkit-box-shadow: 0px 0px 8px 3px rgba(0, 0, 0, 0.08);
  box-shadow: 0px 0px 8px 3px rgba(0, 0, 0, 0.08);
  -webkit-transition: background 0.2s cubic-bezier(0.21, 0.6, 0.35, 1);
  -o-transition: background 0.2s cubic-bezier(0.21, 0.6, 0.35, 1);
  transition: background 0.2s cubic-bezier(0.21, 0.6, 0.35, 1);
  margin: 0 40px 20px 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  .topBtn:hover {
    background-color: #ffe6ca; }

@media only screen and (max-width: 768px) {
  .topBtn {
    width: 130px;
    height: 63px;
    background-image: url("https://pntc.sslcs.cdngc.net/cdn/greenponta/cmn/img/img_topBtn_01_sp.png");
    background-size: 130px auto;
    border-radius: 260px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin: 0; } }

/* footer
-----------------------------------------------*/
footer {
  position: relative;
  z-index: 6;
  padding: 60px 40px;
  background: url("https://pntc.sslcs.cdngc.net/cdn/greenponta/cmn/img/line_01.png") repeat-x top left #fff;
  background-color: #fff; }
  footer p:first-child {
    position: absolute;
    right: 40px;
    bottom: 60px;
    margin: 0;
    font-size: 14px; }
  footer > a {
    display: block;
    max-width: 330px; }
    footer > a img {
      width: 100%; }
  footer ul {
    font-size: 0;
    font-weight: bold;
    margin-top: 20px; }
    footer ul li {
      display: inline-block;
      vertical-align: top;
      font-size: 13px; }
      footer ul li a {
        margin: 0 10px; }
  footer p {
    font-size: 11px;
    margin-top: 15px; }

@media only screen and (max-width: 768px) {
  footer {
    padding: 30px 20px;
    background-size: 100% 3px; }
    footer p:first-child {
      top: 15px;
      right: 15px;
      bottom: auto;
      font-size: 12px; }
    footer > a {
      max-width: 240px; }
    footer ul {
      margin-top: 15px; }
      footer ul li {
        font-size: 12px; }
    footer p {
      font-size: 10px;
      margin-top: 5px; } }
