@charset "UTF-8";

.pageTitle {
  margin: 0 auto;
  width: 860px;
  text-align: justify;
  font-size: 1.2em;
}

.pageTitle i {
  margin-right: 5px;
}

.pageTitle span {
  border-bottom: 2px dotted #DADADA;
  padding: 0 10px;
}

@media screen and (max-width: 960px) {
  .pageTitle {
    width: 90%;
  }
}

#login {
  text-align: center;
  padding: 5em 0 0;
  margin: 0 auto 5em;
  line-height: 1.8em;
}

#login .h-area {
  font-size: 1.8em;
  line-height: 1.4em;
  font-weight: 700;
  color: #222;
  margin-bottom: 1.0em;
}

@media screen and (max-width: 768px) {
  #login {
    padding: 2.5em 0 0;
    margin: 0 auto 3em;
  }

  #login .h-area {
    margin-bottom: 0.7em;
    font-size: 1.5em;
  }
}

#login .innInfo1 {
  width: 650px;
  margin: 0 auto 0;
}

@media screen and (max-width: 768px) {
  #login .innInfo1 {
    width: 90%;
    margin: 0 auto;
  }
}

#login .innInfo1 dl {
  margin: 1em 0 0;
  display: flex;
  flex-wrap: wrap;
  text-align: justify;
  padding: 2em 1.5em;
  border: 1px solid #cecece;
}

#login .innInfo1 dl dt {
  width: 35%;
  font-weight: 500;
  padding: 1.2em 0.5em;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  #login .innInfo1 dl dt {
    width: 100%;
    padding-bottom: 0;
  }
}

#login .innInfo1 dl dd {
  width: 65%;
  padding: 1.2em 0.5em;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  #login .innInfo1 dl dd {
    width: 100%;
    padding-top: 0;
    border-top: none;
  }
}

#login .innInfo1 input {
  height: 40px;
  font-size: 16px;
  border: none;
  border-bottom: 1px solid #CCC;
  padding: 0 10px;
  box-sizing: border-box;
}

::placeholder {
  color: #CCC;
}

#login .innInfo1 .boxW100 input {
  width: 100%;
  box-sizing: border-box;
}

#login .innInfo1 #image-btn {
  width: 400px;
  margin: 0 auto;
}

@media screen and (max-width: 480px) {
  #login .innInfo1 #image-btn {
    width: 85%;
  }
}

#login .innInfo1 #image-btn input {
  height: 70px;
  background-color: #222;
  border: none;
  font-weight: 500;
  padding: 15px 0 13px;
  display: inline-block;
  width: 100%;
  color: #FFFFFF;
  cursor: pointer;
  font-size: 1.2em;
  box-sizing: border-box;
  border-radius: 0;
  margin-top: 2em;
}

#login .innInfo1 #image-btn input:hover {
  background-color: #DDD;
  color: #222;
}

#login .forget {
  width: 100%;
  margin: 10px auto 0;
}

@media screen and (max-width: 768px) {
  #login .forget {
    width: 90%;
    margin: 0 auto;
  }
}

#login .forget a {
  text-decoration: underline;
}

#login .forget i {
  margin-left: 6px;
  line-height: 1.6em;
}

#login .topText {
  width: 740px;
  margin: 0 auto 2em;
  text-align: justify;
}

@media screen and (max-width: 768px) {
  #login .topText {
    width: 90%;
    margin: 0 auto 1em;
  }
}

#login ol {
  width: 740px;
  margin: 0 auto 3em;
  background-color: #F4F4F4;
  padding: 2em;
  box-sizing: border-box;
  text-align: justify;
}

@media screen and (max-width: 768px) {
  #login ol {
    width: 90%;
    margin: 0 auto 2em;
  }
}

#login ol li {
  list-style: decimal;
  margin-left: 1em;
}

.contact {
  text-align: center;
  padding: 5em 0 0;
  margin: 0 auto 5em;
  line-height: 1.8em;
}

@media screen and (max-width: 1200px) {
  .contact {
    text-align: center;
  }
}

@media screen and (max-width: 960px) {
  .contact {
    padding-top: 2.5em;
    margin: 0 auto 3em;
  }
}

.contact .h-area {
  font-size: 1.8em;
  line-height: 1.4em;
  font-weight: 700;
  color: #222;
  margin-bottom: 1.0em;
}

@media screen and (max-width: 768px) {
  .contact .h-area {
    margin-bottom: 0.7em;
    font-size: 1.5em;
  }
}

.contact .text {
  margin-bottom: 1em;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .contact .text {
    width: 90%;
    margin: 0 auto 1em;
  }
}

.contact .text span {
  font-weight: 900;
  font-size: 1.5em;
  line-height: 1.6em;
}

.contact .topText {
  display: inline-block;
  text-align: justify;
}

@media screen and (max-width: 960px) {
  .contact .topText {
    width: 90%;
  }
}

.contact .topText a {
  text-decoration: underline;
}

.contact dl {
  width: 860px;
  display: flex;
  flex-wrap: wrap;
  margin: 4em auto 2em;
  text-align: left;
  box-sizing: border-box;
  padding: 2em 1.5em;
  border: 1px solid #cecece;
}

@media screen and (max-width: 960px) {
  .contact dl {
    width: 90%;
    padding: 2em 2em;
    margin: 1em auto 2em;
  }
}

@media screen and (max-width: 480px) {
  .contact dl {
    padding: 1.5em 1.5em 2em;
    margin: 1.5em auto 0;
  }
}

.contact dl .cardReg {
  width: 100%;
  font-size: 1.2em;
  font-weight: 700;
  background-color: #64717B;
  color: #FFFFFF;
  padding: 7px 1em;
  margin: 1.5em 0 0.5em;
}

.contact dl dt {
  width: 28%;
  padding: 1em 0;
  font-weight: 500;
  border-top: 1px dotted #cecece;
}

.contact dl dt:first-child {
  border-top: none;
}

.contact dl dt span {
  font-weight: 500;
  font-size: 0.6em;
  line-height: 1.1em;
  padding: 0px 6px 2px;
  margin-left: 6px;
  background-color: #e52d2d;
  color: #FFFFFF;
  border-radius: 4px;
}

.contact dl dt span.bln {
  padding: 1px;
  background-color: #FFF;
  color: #FFFFFF;
}

.contact dl dd {
  width: 72%;
  padding: 1em 0;
  border-top: 1px dotted #cecece;
}

.contact dl dd:nth-child(2) {
  border-top: none;
}

.contact dl img {
  width: 240px;
}

@media screen and (max-width: 480px) {
  .contact dl img {
    width: 100%;
  }
}

@media screen and (max-width: 960px) {
  .contact dl {
    margin-bottom: 0;
  }

  .contact dl dt {
    width: 100%;
    padding: 1em 0 0;
  }

  .contact dl dd {
    width: 100%;
    padding: 0 0 1em;
    border-top: none;
  }
}

.contact input {
  height: 40px;
  font-size: 16px;
  border: none;
  border-bottom: 1px solid #CCC;
  padding: 0 10px;
  box-sizing: border-box;
  /*background-color: #FAFAFA;*/
}

.contact input.box30 {
  width: 30%;
  margin-bottom: 5px;
}

@media screen and (max-width: 960px) {
  .contact input.box30 {
    width: 50%;
  }
}

.contact input.box100 {
  width: 100%;
}

.contact textarea {
  font-size: 16px;
  border-radius: 6px;
  border: 1px solid #CCC;
  padding: 3px 10px;
  box-sizing: border-box;
  width: 100%;
}

.contact select {
  height: 40px;
}

.contact input,
.contact select {
  vertical-align: middle;
}

.contact .boxW100 input,
.contact .boxW100 textarea {
  width: 100%;
  box-sizing: border-box;
}

.contact .boxW50 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.contact .boxW50 input {
  width: 48%;
  box-sizing: border-box;
}

.contact .must {
  display: inline-block;
  font-size: 10px;
  line-height: 1.5em;
  color: #FFFFFF;
  border-radius: 4px;
  margin: 0 0 0 10px;
  padding: 2px 5px;
}

.contact #image-btn {
  width: 400px;
  margin: 0 auto;
}

@media screen and (max-width: 480px) {
  .contact #image-btn {
    width: 85%;
  }
}

.contact #image-btn input {
  height: 70px;
  background-color: #222;
  border: none;
  font-weight: 500;
  padding: 15px 0 13px;
  display: inline-block;
  width: 100%;
  color: #FFFFFF;
  cursor: pointer;
  font-size: 1.2em;
  box-sizing: border-box;
  border-radius: 0;
  margin-top: 2em;
}

.contact #image-btn input:hover {
  background-color: #DDD;
  color: #222;
}

.contact #image-btn button {
  height: 70px;
  background-color: #222;
  border: none;
  font-weight: 500;
  padding: 15px 0 13px;
  display: inline-block;
  width: 100%;
  color: #FFFFFF;
  cursor: pointer;
  font-size: 1.2em;
  box-sizing: border-box;
  border-radius: 0;
  margin-top: 2em;
}

.contact #image-btn button:hover {
  background-color: #DDD;
  color: #222;
}

.contact .formBtn {
  width: auto;
  margin-top: 2em;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0;
}

@media screen and (max-width: 960px) {
  .contact .formBtn {
    margin-top: 1em;
  }
}

.contact .formBtn input {
  width: 260px;
  height: 70px;
  background-color: #222;
  border: none;
  font-weight: 500;
  padding: 15px 0 13px;
  display: inline-block;
  color: #FFFFFF;
  cursor: pointer;
  font-size: 1.2em;
  box-sizing: border-box;
  border-radius: 0;
  margin: 2em 1em 0;
}

.contact .formBtn input:hover {
  background-color: #DDD;
  color: #222;
}

@media screen and (max-width: 960px) {
  .contact .formBtn input {
    margin: 0 0.5em;
    font-size: 1.0em;
  }
}

@media screen and (max-width: 480px) {
  .contact .formBtn input {
    width: 160px;
    margin: 0 0.5em;
    font-size: 1.0em;
  }
}

.contact ::placeholder {
  color: #CCC;
}

.contact .conT {
  text-align: center;
}

@media screen and (max-width: 960px) {
  .contact .conT {
    width: 90%;
    margin: 0 auto;
  }
}

.contact .conT a {
  text-decoration: underline;
}

/*マイページボタン*/
.mypBtn {
  text-align: center;
  margin: 2em auto 0;
}

.mypBtn .navBtn {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media screen and (max-width: 1200px) {
  .mypBtn .navBtn {
    width: 90%;
  }
}

.mypBtn .navBtn p {
  width: 150px;
  font-size: 0.9em;
  margin-bottom: 0.5em;
  margin-left: 1.2em;
}

.mypBtn .navBtn p:first-of-type {
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  .mypBtn .navBtn {
    justify-content: space-between;
  }

  .mypBtn .navBtn p {
    width: 49%;
    margin-left: 0;
  }
}

.mypBtn .navBtn a {
  display: inline-block;
  box-sizing: border-box;
  padding: 0.7em 0;
  border: 1px solid rgba(0, 36, 93, 0.8);
  color: #00245D;
  width: 100%;
  border-radius: 30px;
}

.mypBtn .navBtn a:hover {
  background-color: #00245D;
  color: #FFFFFF;
}

#mypage {
  text-align: center;
  padding: 4em 0 0;
  margin: 0 auto 4em;
  line-height: 1.6em;
}

#mypage .h-area {
  font-size: 1.8em;
  line-height: 1.4em;
  font-weight: 700;
  color: #222;
  margin-bottom: 1.0em;
}

@media screen and (max-width: 960px) {
  #mypage {
    padding: 2.5em 0 0;
  }

  #mypage .h-area {
    margin-bottom: 0.7em;
    font-size: 1.5em;
  }
}

#mypage .innInfo1 {
  width: 860px;
  margin: 0 auto 0;
  text-align: justify;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo1 {
    width: 90%;
    margin: 0 auto;
  }
}

#mypage .innInfo1 dl {
  margin: 0 0 1.5em;
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #cecece;
  padding: 2em;
  box-sizing: border-box;
  background-color: #FAFAFA;
}

#mypage .innInfo1 dl dt {
  width: 30%;
  font-weight: 700;
  padding: 1.2em 0.7em;
  box-sizing: border-box;
  border-top: 1px dotted #DDD;
}

#mypage .innInfo1 dl dt:first-child {
  border-top: none;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo1 dl dt {
    width: 100%;
    padding: 1.2em 0 0;
  }
}

@media screen and (max-width: 480px) {
  #mypage .innInfo1 dl {
    padding: 0.1em 1em;
  }
}

#mypage .innInfo1 dl dd {
  width: 70%;
  padding: 1.2em 0.7em;
  box-sizing: border-box;
  border-top: 1px dotted #DDD;
  text-align: left;
}

#mypage .innInfo1 dl dd:nth-child(2) {
  border-top: none;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo1 dl dd {
    width: 100%;
    padding: 0 0 1.2em;
    border-top: none;
  }
}

#mypage .innInfo1 input {
  height: 40px;
  font-size: 16px;
  border: none;
  border-bottom: 1px solid #CCC;
  padding: 0 10px;
  box-sizing: border-box;
  background-color: #FAFAFA;
}

#mypage .innInfo1 input.box100 {
  width: 100%;
}

#mypage .innInfo1 select {
  height: 40px;
}

#mypage .innInfo1 input,
#mypage .innInfo1 select {
  vertical-align: middle;
}

#mypage .innInfo1 .boxW50 {
  display: flex;
  justify-content: space-between;
}

#mypage .innInfo1 .boxW50 input {
  width: 49%;
}

#mypage .innInfo1 .boxW100 input,
#mypage .innInfo1 .boxW100 textarea {
  width: 100%;
  box-sizing: border-box;
}

#mypage .innInfo1 #image-btn {
  width: 400px;
  margin: 0 auto;
}

@media screen and (max-width: 480px) {
  #mypage .innInfo1 #image-btn {
    width: 85%;
  }
}

#mypage .innInfo1 #image-btn input {
  height: 70px;
  background-color: #222;
  border: none;
  font-weight: 500;
  padding: 15px 0 13px;
  display: inline-block;
  width: 100%;
  color: #FFFFFF;
  cursor: pointer;
  font-size: 1.2em;
  box-sizing: border-box;
  border-radius: 0;
  margin-top: 2em;
}

#mypage .innInfo1 #image-btn input:hover {
  background-color: #DDD;
  color: #222;
}

#mypage .innInfo2 {
  margin: 0 auto 0;
  text-align: justify;
  line-height: 1.6em;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo2 {
    width: 100%;
  }
}

#mypage .innInfo2 .box1 {
  width: 90%;
  margin: 3em auto;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo2 .box1 {
    width: 100%;
  }
}

#mypage .innInfo2 .box1 .inner {
  width: 860px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo2 .box1 .inner {
    width: 90%;
  }
}

#mypage .innInfo2 .box1 .inner figure {
  width: 20%;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo2 .box1 .inner figure {
    width: 30%;
  }
}

@media screen and (max-width: 480px) {
  #mypage .innInfo2 .box1 .inner figure {
    width: 100%;
  }
}

#mypage .innInfo2 .box1 .inner figure img {
  display: block;
}

#mypage .innInfo2 .box1 .inner .info {
  width: 40%;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo2 .box1 .inner .info {
    width: 66%;
  }
}

@media screen and (max-width: 480px) {
  #mypage .innInfo2 .box1 .inner .info {
    width: 100%;
    margin: 1em 0 1.5em;
  }
}

#mypage .innInfo2 .box1 .inner .info .fee {
  font-weight: 500;
  color: #BA0000;
}

#mypage .innInfo2 .box1 .inner .btn {
  width: 35%;
  text-align: right;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo2 .box1 .inner .btn {
    width: 100%;
    margin-top: 1em;
  }
}

#mypage .innInfo2 .box1 .inner .btn a {
  color: #FFFFFF;
  border-radius: 6px;
  text-decoration: none;
  padding: 0.4em 1em;
  margin-left: 8px;
}

#mypage .innInfo2 .box1 .inner .btn a.color1 {
  background-color: #0094DE;
}

#mypage .innInfo2 .box1 .inner .btn a.color2 {
  background-color: #A4A4A4;
}

#mypage .innInfo2 .box2 {
  width: 90%;
  margin: 0 auto;
  padding: 3em 0;
  background-color: #EEF0F1;
}

@media screen and (max-width: 1200px) {
  #mypage .innInfo2 .box2 {
    width: 100%;
  }
}

#mypage .innInfo2 .box2 .inner {
  width: 860px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo2 .box2 .inner {
    width: 90%;
  }
}

#mypage .innInfo2 .box2 .inner figure {
  width: 20%;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo2 .box2 .inner figure {
    width: 30%;
  }
}

@media screen and (max-width: 480px) {
  #mypage .innInfo2 .box2 .inner figure {
    width: 100%;
  }
}

#mypage .innInfo2 .box2 .inner figure img {
  display: block;
}

#mypage .innInfo2 .box2 .inner .info {
  width: 40%;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo2 .box2 .inner .info {
    width: 66%;
  }
}

@media screen and (max-width: 480px) {
  #mypage .innInfo2 .box2 .inner .info {
    width: 100%;
    margin: 1em 0 1.5em;
  }
}

#mypage .innInfo2 .box2 .inner .btn {
  width: 35%;
  text-align: right;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo2 .box2 .inner .btn {
    width: 100%;
    margin-top: 1em;
  }
}

#mypage .innInfo2 .box2 .inner .btn a {
  color: #FFFFFF;
  border-radius: 6px;
  text-decoration: none;
  padding: 0.4em 1em;
  margin-left: 8px;
}

#mypage .innInfo2 .box2 .inner .btn a.color1 {
  background-color: #0094DE;
}

#mypage .innInfo2 .box2 .inner .btn a.color2 {
  background-color: #A4A4A4;
}

#mypage .innInfo3 {
  width: 860px;
  margin: 0 auto 0;
  text-align: justify;
}

@media screen and (max-width: 960px) {
  #mypage .innInfo3 {
    width: 90%;
  }
}

#mypage .innInfo3 .notes {
  margin: 1em 0 0.2em;
  color: #FF0004;
  font-size: 1.1em;
  font-weight: 700;
}

#mypage .innInfo3 .text {
  background-color: #FDF0F1;
  padding: 1.5em 2em;
  font-weight: 500;
}

#mypage .btnArea {
  text-align: center;
  margin: 5em 0;
}

@media screen and (max-width: 960px) {
  #mypage .btnArea {
    margin: 3em 0;
  }
}

#mypage .btnArea a {
  display: inline-block;
  width: 330px;
  text-align: center;
  background-color: #222;
  color: #FFFFFF;
  font-weight: 500;
  padding: 1.0em 0;
}

#mypage .btnArea a:hover {
  background-color: #DDD;
  color: #222;
}

@media screen and (max-width: 480px) {
  #mypage .btnArea a {
    width: 80%;
  }
}

#mypage .btnArea input {
  display: inline-block;
  width: 330px;
  text-align: center;
  background-color: #222;
  color: #FFFFFF;
  font-weight: 500;
  padding: 1.0em 0;
  font-size: 1.2em;
}

#mypage .btnArea input:hover {
  background-color: #DDD;
  color: #222;
}

@media screen and (max-width: 480px) {
  #mypage .btnArea input {
    width: 80%;
  }
}

.text-center {
  text-align: center;
}

.member-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 1000px;
  margin: 1em auto;
}

.member-info div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.member-info div .possession-pt {
  font-weight: 700;
  font-size: 0.8em;
  line-height: 1.8em;
  margin-left: 1.5em;
}

.member-info div a {
  font-size: 0.9em;
  line-height: 1.8em;
  padding: 5px 1.0em;
  background-color: #246BE8;
  color: #FFF;
  margin-left: 10px;
  display: flex;
  align-items: center;
}

.member-info div img {
  width: 20px;
  margin-right: 6px;
}

.member-info div a:hover {
  background-color: #598FED;
}

.member-info div p {
  margin-right: 6px;
}

.member-info div a:first-of-type {
  margin-left: 0;
}

.member-info div p:first-of-type {
  margin-left: 0;
}

@media screen and (max-width:768px) {
  .member-info {
    width: 94%;
  }

  .member-info div .possession-pt {
    margin-left: 1.0em;
  }

  .member-info div a {
    font-size: 0.8em;
    line-height: 1.8em;
    padding: 5px 0.8em;
    margin-left: 6px;
  }

  .member-info div img {
    width: 18px;
    margin-right: 5px;
  }
}

@media screen and (max-width:480px) {
  .member-info {
    width: 94%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 1em auto;
  }

  .member-info div {
    margin-bottom: 10px;
  }

  .member-info div .possession-pt {
    margin-left: 1.0em;
  }
}