@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
main#main {
  background: #d8e2e3 url("../images/common/bg.png") top center no-repeat;
  background-size: 100% auto;
  background-attachment: fixed; }

/****************************
login
*****************************/
#limitedLogin {
  text-align: center;
  padding-bottom: 10rem;
  /*background: linear-gradient(90deg, #fef9f0, #ffffff, #fef9f0);*/ }
  #limitedLogin .txtArea {
    max-width: 1000px;
    width: 90%;
    margin: auto;
    padding: 13rem 0 3rem; }
  #limitedLogin .en_ttl {
    font-size: 5rem;
    letter-spacing: 0.1em;
    color: #505051;
    margin-bottom: 4rem; }
  #limitedLogin .copy {
    font-size: 2.5rem;
    margin-bottom: 8rem; }
  #limitedLogin p {
    font-size: 1.8rem;
    line-height: 1.5; }
  #limitedLogin .entryArea {
    width: 90%;
    margin: auto; }
    #limitedLogin .entryArea .btn {
      max-width: 400px;
      margin: 3rem auto; }
      #limitedLogin .entryArea .btn a {
        display: block;
        width: 100%;
        padding: 15px 0;
        background: #A7231A;
        color: #fff;
        font-size: 2.3rem; }
  @media screen and (max-width: 768px) {
    #limitedLogin {
      padding-bottom: 5rem; }
      #limitedLogin .txtArea {
        padding: 7rem 0 3rem; }
      #limitedLogin .en_ttl {
        font-size: 3rem;
        margin-bottom: 3rem; }
      #limitedLogin .copy {
        font-size: 2rem;
        margin-bottom: 6rem; }
      #limitedLogin p {
        font-size: 1.5rem; } }

.formArea {
  margin-bottom: 40px; }

#loginForm {
  margin: 0 auto 50px;
  max-width: 300px;
  position: relative; }

/*.loginPassWordBox {
  margin-right: 140px;
}*/
#loginPassWord {
  height: 48px;
  /*margin: 0 10px;*/
  border: 1px solid #ccc;
  background: #fff;
  color: #000;
  text-align: center;
  font-size: 18px;
  width: 100%; }
  #loginPassWord::placeholder {
    color: #696969; }

#loginPassSend {
  background: #505051;
  color: #fff;
  text-align: center;
  box-sizing: border-box;
  padding: 10px 0;
  font-size: 16px;
  cursor: pointer;
  width: 100%;
  margin-top: 2rem; }

/*@media screen and (max-width: 599px) {
  .loginPassWordBox {
    margin-right: 106px;
  }
  #loginPassWord {
    font-size: 14px;
    height: 43px;
  }
  #loginPassSend {
    padding: 13px 21px;
    font-size: 14px;
  }
}*/
/****************************
limited_top
*****************************/
#limitedPlanArea {
  background: #231815;
  color: #cabd9d;
  text-align: center;
  padding: 13rem 0;
  position: relative; }
  #limitedPlanArea::before, #limitedPlanArea::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background: #cabd9d;
    position: absolute;
    top: 0; }
  #limitedPlanArea::before {
    left: 10px; }
  #limitedPlanArea::after {
    right: 10px; }
  #limitedPlanArea .txtArea {
    max-width: 1000px;
    width: 90%;
    margin: auto; }
  #limitedPlanArea .en_ttl {
    font-size: 5rem;
    letter-spacing: 0.1em;
    color: #cabd9d;
    margin-bottom: 4rem; }
    #limitedPlanArea .en_ttl + .copy {
      color: #cabd9d; }
  #limitedPlanArea .copy {
    font-size: 2.7rem;
    margin-bottom: 8rem; }
  #limitedPlanArea .plan-list {
    justify-content: center;
    max-width: 860px;
    margin: auto;
    /*display: grid;
    gap: 20px;
    grid-template-columns: repeat(3,1fr);*/
    	  /* @media screen and (max-width: $tab) {
    		gap: 10px;
            grid-template-columns: repeat(2,1fr);
    	  }*/ }
    #limitedPlanArea .plan-list li {
      width: 50%;
      box-sizing: border-box;
      padding: 10px; }
      #limitedPlanArea .plan-list li a {
        display: block;
        background: #fff;
        transition: .3s; }
        #limitedPlanArea .plan-list li a img {
          width: 100%;
          height: auto; }
        #limitedPlanArea .plan-list li a:hover {
          opacity: 0.7; }
    @media screen and (max-width: 480px) {
      #limitedPlanArea .plan-list {
        /*gap: 20px;
        grid-template-columns: 1fr;*/ }
        #limitedPlanArea .plan-list li {
          width: 90%; } }
  @media screen and (max-width: 768px) {
    #limitedPlanArea {
      padding: 6rem 0;
      margin-bottom: 5rem; }
      #limitedPlanArea .en_ttl {
        font-size: 3rem; }
      #limitedPlanArea .copy {
        font-size: 2rem;
        margin-bottom: 4rem; } }

#openPlanArea {
  text-align: center;
  padding: 100px 0; }
  #openPlanArea .txtArea {
    max-width: 1000px;
    margin: auto; }
  #openPlanArea .copy {
    font-size: 2.7rem;
    margin-bottom: 8rem; }
  #openPlanArea .plan-list {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, 1fr); }
    #openPlanArea .plan-list li {
      box-sizing: border-box;
      padding: 10px; }
      #openPlanArea .plan-list li a {
        display: block;
        background: #fff;
        transition: .3s; }
        #openPlanArea .plan-list li a img {
          width: 100%;
          height: auto; }
        #openPlanArea .plan-list li a:hover {
          opacity: 0.7; }
    @media screen and (max-width: 768px) {
      #openPlanArea .plan-list {
        gap: 10px;
        grid-template-columns: repeat(2, 1fr); } }
    @media screen and (max-width: 480px) {
      #openPlanArea .plan-list {
        gap: 20px;
        grid-template-columns: 1fr; } }
  @media screen and (max-width: 768px) {
    #openPlanArea {
      padding-bottom: 5rem; }
      #openPlanArea .copy {
        font-size: 2rem;
        margin-bottom: 4rem; } }

#kankyo {
  padding-top: 0; }
  #kankyo .img {
    max-width: 400px;
    width: 90%;
    margin: auto; }

body#plan .contents {
  padding-bottom: 10px; }
  body#plan .contents::before {
    z-index: 0; }
  body#plan .contents .plan_detail,
  body#plan .contents .page-note-area,
  body#plan .contents .backToPlan {
    position: relative;
    z-index: 1; }
