@charset "UTF-8";
/* ------------------------------------------------- *
 *  ＠MEMBERSHIP　　　　　　　　　　　　　　
 * ------------------------------------------------- */


.header.mem{
  width:100%;
  border-bottom: 1px solid #006400;
  background-color: #006400;
}

.header.mem button{
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  display:none;
}



.header.mem{
  padding:0;
}
.mem-box{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-inner.mem-box h1,
.header-inner.mem-box h1 a {
	font-size: 1.8rem;
  font-weight: 700;
  color:#fff
}
.header-inner.mem-box h1 .m-title {
  padding-left:.5em;
}
.header-inner.mem-box .membership a {
	padding:2px .5em;
	color:#000;
	border-radius:3px;
	background-color: #fff;
}
.header-inner.mem-box .membership a:hover {
	padding:2px .5em;
	color:#fff;
	border-radius:3px;
	background-color: #c00;
	transition: all .3s;
}
@media screen and (min-width:768px), print{
  .header-inner.mem-box h1,
  .header-inner.mem-box h1 a {
    font-size: 2.4rem;
  }
  .header-inner.mem-box h1 .m-title {
    padding-left:1em;
  }
}






.login-box {
  max-width: 80%;
  margin: 3em auto;
  padding: 2em 1em;
  border-radius:6px;
  background-color: #eee;
}
.login-box-title {
  text-align: center;
  padding: 0;
  font-size: 1.8rem;
}
.login-box-form {
  margin:auto;
  padding: 0 1.5em;
}
.login-box-form-item {
  margin: 1em auto 0;
}
.login-box-form-item input {
  width: 100%;
  height: 3em;
  font-size: 1.6rem;
  line-height: 1;
  color: #444;
  text-indent:.75em;
  transition: border-color 0.3s;
  border: none;
  border-bottom: 2px solid #fff;
  background-color: #fff;
}
.login-box-form-item input:focus {
  outline: none;
  border-bottom: 3px solid #006400;
}
.login-box-form-button {
  margin: 2em auto 0;
  width: 100%;
}
.login-box-form-button .button {
  width: 100%;
  height: 50px;
  cursor: pointer;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.05em;
  text-align: center;
  border: none;
  border-radius:4px;
  background-color: #006400;
}
#login-box-loginerror{
  width:100%;
  margin:2em auto 0;
  line-height: 1.5;
  color:#f00;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width:768px), print {
  .login-box {
    width: 50%;
    max-width: 500px;
    margin: 3em auto 6em;
  }
  .login-box-title {
    font-size: 2.4rem;
  }
  .login-box-form-item input {
    font-size: 1.8rem;
  }
  .login-box-form-button {
    width: 60%;
  }
  .login-box-form-button .button:hover {
    background-color: #c00;
    transition: all .3s;
  }
  #login-box-loginerror{
    width:28em;
    margin:2em auto 1em;
    font-size: 1.6rem;
  }
}





.logout-box {
  max-width: 80%;
  margin: 3em auto;
  padding: 2em 1em 1.5em;
  border-radius:6px;
  background-color: #eee;
}
.logout-box-title {
  margin-bottom:2em;
  text-align: center;
  padding: 0;
  font-size: 1.8rem;
}
.logout-box-button{
  width: auto;
  height: 50px;
  margin:1em 1.5em 1.5em;
  cursor: pointer;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 50px;
  letter-spacing: 0.05em;
  text-align: center;
  border: none;
  border-radius:4px;
  background-color: #006400;
}
.logout-box-button a{
  color: #fff;
}
.logout-box-button:hover {
  background-color: #c00;
  transition: all .3s;
}
@media screen and (min-width:768px), print {
  .logout-box {
    width: 50%;
    max-width: 500px;
    margin: 3em auto 6em;
  }
  .logout-box-title {
    font-size: 2rem;
  }
  .logout-box-button {
    width: 60%;
    margin:1.5em auto;
    font-size: 1.8rem;
  }
  .logout-box-button:hover {
    background-color: #c00;
    transition: all .3s;
  }
}




.sp-only {
  display: block;
}
.pc-only {
  display: none;
}
@media screen and (min-width:768px), print {
  .sp-only {
    display: none;
  }
  .pc-only {
    display: block;
  }
}







#membership .main-inner{
  padding-top: 0;
}
#membership .container-mem{
  width:100%;
  margin: 0 auto;
  padding:0 0 150px;
}
#membership .main-ttl{
  margin-top:0;
	border-bottom: 0px solid #006600;
}
#membership .main-container{
	width: 100%;
  margin:0 auto 80px;
	padding-left: 4%;
	padding-right:4%;
	box-sizing: border-box;
}
#membership .mem-inner{
  max-width: 100%;
  margin-top:-30px;
}
#membership .mem-inner .head {
	margin: 40px 0 10px;
  font-size:1.8rem;
}
#membership .mem-inner .body {
  padding:0 1em;
	line-height: 2;
}
#membership .mem-inner .body .body-inner {
	margin: 20px 0;
}
#membership .mem-inner .body dl {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 35px;
}
#membership .mem-inner .body dl dt {
	width: 100px;
}
#membership .mem-inner .bold {
	font-weight: 700;
}
#membership .mem-inner .underline {
	text-decoration:underline;
}
#membership .mem-inner .red {
	color:red;
  text-decoration-color:red;
}
.mem-bg {
	padding: 50px 0;
}
.mem-bg:nth-child(odd) {
	background-color: #f4f4f4;
}
@media screen and (min-width:768px), print {
  #membership .container-mem{
    max-width:100%;
  }
  #membership .main-ttl{
    border-bottom: 0px solid #006600;
  }
  #membership .main-container{
    max-width: 1200px;
    width: calc(1120 / 1200 * 100%);
    margin:0 auto;
    padding-left: 40px;
    padding-right: 40px;
  }
  #membership .mem-inner{
    max-width: 1100px;
    margin-top:-30px;
  }
  #membership .mem-inner .head {
    font-size:2rem;
  }
}