@charset "utf-8";

/* -------------------------------------------------------
CSS基本設定
---------------------------------------------------------- */

html {
  font-size: 62.5%;
  /* 1rem = 10px */
  width: 100%;
}

body {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-family: Hiragino Sans, "ヒラギノ角ゴシック", Arial, Roboto, “Droid Sans”, “游ゴシック”, YuGothic, “ヒラギノ角ゴ ProN W3″, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, sans-serif;
  width: 100%;
  overflow-x: hidden;
  position: relative;
  color: #333;
  font-weight: 300;
}

p {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-all;
  text-align: justify;
}

img {
  border: 0px;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
  clear: both;
}

.clearfix {
  display: inline-block;
}

* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}

input[type="text"],
input[type="password"],
input[type="email"],
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
select::-ms-expand {
    display: none;
}

input[type="submit"],input[type="button"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  vertical-align: middle;
  text-align: center;
  border: none;
}

input::-webkit-input-placeholder {
  color: #ccc;
  font-weight: 200;
  letter-spacing: 0.05rem;
}

input[type="radio" i] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}

input[type="checkbox" i] {
  -webkit-appearance: checkbox;
  box-sizing: border-box;
}

h1,
h2,
h3,
h4 {
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
}


/* 見出し共通スタイル */

.heading {
  border-left: 10px solid #d3dfef;
  padding-left: 1.2rem;
}

.heading span {
  font-size: 1.8rem;
  letter-spacing: 0.05rem;
  font-weight: 600;
}

label.error {
  width: 72%;
  font-size: 1.6rem;
  color: #e40706;
  padding: 1% 2%;
  display: inline-block;
  margin-top: 1rem;
  background-color: #fdc9d2;
}
#mla-error,#mla_confirm-error{
margin-bottom:2rem;
}
.api-error{
border:2px solid #2361ad;
background-color:#fff;
padding:1rem;
font-size:1.6rem;
padding-left:5rem;
position:relative;
margin-bottom:2rem;
}
.api-error::before{
position:absolute;
content:"!";
display:block;
background-color:#2361ad;
left:0.7rem;
top:0.7rem;
height: 3rem;
width: 3rem;
text-align: center;
color: #fff;
font-size: 2rem;
}
.api-error.select-fop {
width:50%;
max-width:846px;
margin:0 auto;
}
header {
  max-width: 100%;
  margin: 0 auto;
  min-width: 280px;
  margin-bottom: 1em;
  padding: 0;
}

.pull-down {
  display: inline-block;
  position: relative;
  overflow: hidden;
  height: 25px;
  width: 12%;
  background: #fff;
  border: 1px solid #999;
  border-radius: 4px;
  vertical-align: middle;
}
.pull-down.wide {
  width:auto;
  margin-top:5px;
}

.pull-down:before,
.pull-down:after {
  content: '';
  position: absolute;
  z-index: 2;
  top: 4px;
  right: 6px;
  width: 0;
  height: 0;
  border-style: solid;
  pointer-events: none;
}

.pull-down:before {
  border-width: 0 4px 6.9px 4px;
  border-color: transparent transparent #333333 transparent;
}

.pull-down:after {
  margin-top: 10px;
  border-width: 6.9px 4px 0 4px;
  border-color: #333333 transparent transparent transparent;
}

.pull-down select {
  position: relative;
  width: 120%;
  margin: 0;
  padding: 0 15% 0 1rem;
  height: 25px;
  line-height: 15px;
  font-size: 1.4rem;
  color: #333;
  /* Fallback for IE 8 */
  background: #fff;
  /* "transparent" doesn't work with Opera */
  background: rgba(0, 0, 0, 0) !important;
  border: 0;
  border-radius: 0;
}
@media (max-width: 767px) {
  .pull-down select {
  font-size:1.6rem;
  line-height:1;
  height:3rem;
  }
  label.error {
    width: 96%;
  }
}

/* confirm default moji style */

.con {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
}
.con.d-con{
display:block;
}
.red {
  color: #ff0000;
}
.blk{
color:#333;
}
.confirm .caution {
  color: #ff0000;
}
.complete .caution {
  color: #ff0000;
}
.bold{
font-weight:600;
}
.forsmp{
display:none;
}
@media (max-width: 767px) {
.forsmp{
display:inline-block;
}
}

/* -------------------------------------------------------
login PC
---------------------------------------------------------- */

header {
  border-bottom: 3px solid #2361ad;
}

#header-inner {
  width: 996px;
  margin: 0 auto;
  padding: 15px 2px;
}

#header-inner .logo {
  width: 230px;
  float: left;
}
#header-inner .logo.d-logo {
  width: 110px;
}

#header-inner .logo a {
  display: block;
}

#header-inner .logo img {
  width: 100%;
  display: block;
}

.login #login-main {
  width: 800px;
  margin: 30px auto 60px;
  padding: 0 2px;
}

.login-block {
  width: 47%;
  float: left;
  border: 2px solid #efefef;
  padding: 20px 4%;
}

.login .errormessage{
color:#ff0000;
font-size:1.6rem;
}
.preregistration .login-block {
  float: none;
  margin: 0 auto;
  border: none;
  background-color: #f9f9f9;
}

h1.page-title {
  font-size: 2.2rem;
  letter-spacing: 0.05rem;
  font-weight: 600;
  margin-bottom: 20px;
}

.quest-set .quest {
  font-size: 1.6rem;
  display: block;
  margin-bottom: 10px;
  font-weight: 300;
  padding-left: 0.5rem;
}

.quest-set input.rect {
  display: block;
  font-size: 1.6rem;
  padding: 4%;
  line-height: 1;
  border-radius: 4px;
  border: 1px solid #999;
  width: 91%;
  margin-bottom: 16px;
  background-color: #fff;
}
.pass-show{
text-align:right;
display:block;
float:right;
margin-top:1rem;
}
.quest-set input.rect:focus {
  outline: 0;
  border: 2px solid #2361ad;
}

.quest-set input::-webkit-input-placeholder {
  color: #999;
  font-weight: 200;
  letter-spacing: 0.05rem;
}

.quest-set.auto-login {
  margin: 0 auto 16px;
  width: 80%;
}

.quest-set input#persist,.pass-show input{
  border: 1px solid #2361ad;
  width: 1.4rem;
  height: 1.4rem;
  vertical-align: middle;
  line-height: 1;
  -webkit-appearance: none;
}

.quest-set input#persist:checked,.pass-show input:checked{
  background-color: transparent;
  border-radius: 0;
  background-image: url(/common/fki/images/v1/passport/checked.png);
  background-size: 1.3rem;
  background-repeat: no-repeat;
}

.quest-set input#persist:focus {
  outline: 0;
}

.quest-set label {
  font-size: 1.4rem;
  line-height: 1;
}

.quest-set .note {
  display: block;
  font-size: 1.4rem;
  line-height: 1;
  margin-top: 8px;
  color: #666;
}

.quest-set input.proc, .quest-set > a {
  background-color: #2361ad;
  border: none;
  padding: 15px 0;
  width: 100%;
  text-align: center;
  display: block;
  border-radius: 4px;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.1rem;
  margin-bottom: 16px;
}

.quest-set input.proc:hover {
  opacity: 0.9;
}

.fp {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 200;
}

.fp a {
  color: #2361ad;
}

.regist-block {
  width: 40%;
  float: right;
  margin-top: 22px;
}

.login .regist-block h2 {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  line-height: 1.2;
  margin-bottom: 16px;
}

.login .regist-block .btn a {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: 600;
  color: #fff;
  background-color: #649f45;
  border: 3px solid #6db04b;
  border-radius: 4px;
  padding: 17px 70px;
  letter-spacing: 0.1rem;
  position: relative;
  display: block;
  text-decoration: none;
  margin-bottom: 30px;
  width:auto;
}

.login .regist-block .btn a:after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 12.1px;
  border-color: transparent transparent transparent #ffffff;
  top: 22px;
  right: 10px;
}

.login .regist-block .btn a:hover {
  opacity: 0.9;
}

.login .regist-block .rectangle-ad {
  text-align: center;
}
.login .regist-block .rectangle-ad > div{
margin:0 auto;
}

/* 共通footer */

.linkbtn-section {
  text-align: center;
  margin-bottom: 14px;
}

.linkbtn-section a {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1;
  border: 1px solid #2361ad;
  color: #2361ad;
  padding: 2px 20px;
  text-align: center;
  border-radius: 4px;
  margin-right: 10px;
}

.linkbtn-section a:last-child {
  margin-right: 0;
}

.linkbtn-section a:hover {
  background-color: #2361ad;
  color: #fff;
}

.link-section {
  background-color: #2361ad;
  text-align: center;
  padding: 10px 0;
}

.link-section a {
  color: #fff;
  font-size: 13.5px;
  line-height: 1;
  padding: 0 7px;
  letter-spacing: 0.05rem;
}

.copy {
  text-align: center;
  font-size: 1.2rem;
  padding: 16px 0;
}
.complete-adress{
font-size:1.6rem;
padding:2rem;
border:2px solid #2361ad;
width:50%;
margin:3rem auto;
text-align:center;
}

/* -------------------------------------------------------
login iPad or narrow book
---------------------------------------------------------- */

@media (max-width: 999px) {
  #header-inner {
    width: 98%;
    padding: 15px 1%;
  }
  .login #login-main {
    width: 90%;
    padding: 0 1%;
  }
}

@media (max-width: 880px) {
  .login .regist-block .btn a {
    padding: 20px 20%;
  }
}

@media (max-width: 818px) {
  .login .regist-block .btn a {
    padding: 15px 17%;
  }
}


/* -------------------------------------------------------
login smp
---------------------------------------------------------- */

@media (max-width: 767px) {
  header {
    border-bottom: 3px double rgba(35, 97, 173, 1);
  }
  #header-inner {
    width: 100%;
    padding: 1rem 0 0.5rem;
  }
  #header-inner .logo {
    width: 100%;
    text-align: center;
    float: none;
  }
  #header-inner .logo img {
    width: 46%;
    display: inline-block;
    max-width: 220px;
    line-height: 1;
  }
  .login #login-main {
    width: 92%;
    padding: 0 4%;
    margin: 3% auto 5%;
  }
  .login-block {
    width: 100%;
    float: none;
    border: none;
    padding: 0;
  }
  .login-block .page-title {
    margin-bottom: 3%;
  }
  .quest-set.auto-login {
    width: 100%;
    text-align: center;
  }

  .quest-set input.rect {
    margin-bottom: 4%;
    width: 91%;
  }
.login .quest-set input.rect{
width: 99%;
}
  .quest-set input.proc {
    font-weight: 300;
    padding: 4% 0;
    margin-bottom: 2%;
  }
  .quest-set.auto-login .note {
    display: none;
  }
  .regist-block {
    width: 100%;
    float: none;
    margin-top: 3.5%;
  }
  .regist-block h2 {
    font-size: 1.8rem;
    line-height: 1.5;
    margin-bottom: 2%;
  }
  .regist-block .btn a {
    font-size: 1.6rem;
    letter-spacing: 0.025rem;
    padding: 4% 0;
    text-align: center;
    border: none;
    line-height: 1;
    font-weight: 300;
  }
  .regist-block .btn a:after {
    display: none;
  }
  .linkbtn-section {
    margin-bottom: 3%;
    padding: 0 4%;
  }
  .linkbtn-section a {
    margin-bottom: 2%;
    font-size: 1.5rem;
    border-radius: 3rem;
  }
  .link-section {
    padding: 4% 4% 2%;
    text-align: left;
  }
  .link-section a {
    display: inline-block;
    font-size: 1.4rem;
    margin-bottom: 3%;
  }
  .copy {
    padding: 2% 4%;
  }
  .complete-adress{
  width:80%;
  }
}

@media (max-width: 320px) {
  .regist-block .btn a {
    font-size: 1.4rem;
    padding: 5% 0;
  }
}


/* -------------------------------------------------------
会員登録 PC
---------------------------------------------------------- */

.process {
  float: right;
}

.process ul {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: count-number;
}

.process ul li {
  float: left;
  text-align: center;
  width: 120px;
  position: relative;
}

.process ul li:before {
  display: block;
  content: "";
  border-bottom: 4px solid #efefef;
  position: absolute;
  width: 120px;
  bottom: 12px;
  z-index: -1;
}

.process ul li:first-child:before {
  width: 60px;
  right: 0;
}

.process ul li:last-child:before {
  width: 60px;
  left: 0;
}

.process ul li:after {
  counter-increment: count-number;
  content: counter(count-number);
  display: block;
  font-size: 1.2rem;
  line-height: 28px;
  vertical-align: middle;
  background-color: #efefef;
  width: 28px;
  height: 28px;
  color: #fff;
  border-radius: 14px;
  margin-left: 46px;
  margin-top: 7px;
  z-index: 1;
}

.process ul li .step {
  font-size: 1.2rem;
  letter-spacing: 0.05rem;
}

.main-part {
  margin-bottom: 3rem;
}

#form-main {
  margin: 20px auto 80px;
  max-width: 846px;
  padding: 0 2px;
  width: 88%;
}

#form-main.contact-form {
  width: 98%;
}

#form-main .preface {
  margin-bottom: 2.5rem;
  padding: 0 2%;
}

.preregistration #form-main .preface {
  text-align: center;
}

#form-main .preface h1 span:nth-child(2) {
  padding-left: 3%;
}

#form-main .preface .s-process {
  display: none;
}

#form-main .preface p {
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 0;
  color: #666;
  letter-spacing: 0.05rem;
}

.preregistration #form-main .preface p {
  text-align: center;
  font-size: 1.2rem;
  color: #333;
}
.preregistration #form-main .preface p.reset-p{
font-size: 1.4rem;
color: #666;
}
#form-main table {
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
  width: 100%;
  border: 1px solid #c8c8c8;
}

#form-main table tr {
  border-top: 1px solid #c8c8c8;
}

#form-main table tr.no-border {
  border-top: none;
}

#form-main table tr th {
  background-color: #eee;
  border-right: 1px solid #c8c8c8;
  padding: 20px 2%;
  text-align: left;
  vertical-align: middle;
  line-height: 20px;
  width: 36%;
}

#form-main table tr th label span {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
}

#form-main table .required span {
  float: right;
  background-color: #eb4847;
  font-size: 1.2rem;
  color: #fff;
  letter-spacing: 0.1rem;
  padding: 1px 0;
  line-height1;
  text-align: center;
  width: 45px;
  border-radius: 4px;
  font-weight: 300;
}

#form-main table tr td {
  background-color: #f3f3f3;
  vertical-align: middle;
  padding: 20px 3.5%;
}

#form-main table tr td input.form_border,#form-main table tr td input.rect{
  padding: 15px 3%;
  font-size: 1.6rem;
  line-height: 1;
  width: 70%;
  border-radius: 4px;
  background-color: #fff;
  border: 1px solid #999;
}

#form-main table tr td input.form_border:focus {
  border: 1px solid #2361ad;
}

#form-main table tr td div.inp_support_txt p {
  margin: 1rem 0 0 0;
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.1rem;
}

#form-main table tr td div.inp_support_txt.exception p {
  margin-top: 0;
  margin-bottom: 1rem;
}

#form-main .um {
  margin-bottom: 10px;
}

#form-main table tr td input.inp_name {
  width: 31%;
}

#form-main table tr td .beside {
  font-size: 1.6rem;
  padding-right: 4%;
}

#form-main table tr td .beside.follow {
  padding-left: 4%;
}

#form-main table tr td .beside.sm {
  padding-right: 1%;
}

#form-main .inp_label {
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
  padding-left: 1rem;
  margin-right: 1rem;
}

#form-main .pull-down-table>div {
  float: left;
}

#form-main .pull-down.year {
  width: 18%;
}

#form-main .pull-follow {
  font-size: 1.6rem;
  line-height: 25px;
  margin: 0 1.4rem 0 0.8rem;
}

#form-main table tr td input.inp_tel,
#form-main table tr td input.inp_address {
  width: 36%;
}

#form-main table tr td input.inp_address_detail {
  width: 56%;
}

#form-main .address-set {
  margin-bottom: 1.5rem;
}

#form-main .address-set.nm {
  margin-bottom: 0;
}

#form-main .address-set .beside {
  display: inline-block;
  width: 35%;
  padding-right: 0;
}

#form-main .pull-down.job {
  width: 40%;
}

#form-main table tr.reader {
  border-top: none;
}

.reader-name {
  margin-top: 2.4rem;
}

.m-address-select label {
  display: block;
}

#another-email {
  margin: 1rem 0;
}

.mail-box {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mail-box li {
  float: left;
  width: 49%;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.mail-box li:nth-child(odd) {
  margin-right: 2%;
}

.mail-box li label {
  position: relative;
  display: block;
  border-radius: 10px;
  background-color: #fff;
  border: 1px solid #2361ad;
  box-shadow: 0px 2px 0px 0.5px #2361ad;
  padding: 1rem;
  word-break: break-all;
  line-height: 2.0rem;
}

.mail-box li label input[type="checkbox"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.mail-box li label input[type="checkbox"]~span {
  position: relative;
  padding: 0 0 0 3rem;
  line-height: 2rem;
  vertical-align: middle;
  display: inline-block;
}

.mail-box li label input[type="checkbox"]~span::before,
.mail-box li label input[type="checkbox"]~span::after {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  content: '';
  box-sizing: border-box;
}

.mail-box li label input[type="checkbox"]~span::before {
  z-index: 0;
  background-color: transparent;
  width: 2rem;
  height: 2rem;
  border: 1px solid #2361ad;
}

.mail-box li label input[type="checkbox"]~span::after {
  z-index: 1;
  margin: 2px 6px;
  width: 9px;
  height: 12px;
}

.mail-box li label input[type="checkbox"]:checked~span::before {}

.mail-box li label input[type="checkbox"]:checked~span::after {
  border: 2px solid #2361ad;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.agreement .heading {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 1.5rem;
  text-align: center;
  border-left: none;
}

.agreement .agreement-box {
  border: 8px solid #efefef;
  padding: 2rem 2%;
  width: 90%;
  margin: 0 auto 1.5rem;
  height: 20rem;
  overflow-x: scroll;
  font-size: 1.6rem;
}
.agreement .agreement-box.include-textarea {
padding:0;
width:92%;
overflow:hidden;
}
.agreement .agreement-box.include-textarea textarea{
font-size:1.6rem;
width:100%;
height:100%;
border:none;
}
.agreement .agreement-box .caution {
  color: #2361ad;
}

.agreement .agreement-box p {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.agreement .agreement-box h2 {
  font-size: 2.2rem;
  line-height: 1.5;
  font-weight: 300;
  text-decoration: underline;
  margin-bottom: 1rem;
}
.agree-check{
text-align:center;
margin-bottom:1.5rem;
}
.agree-check input{
border: 1px solid #2361ad;
width: 1.4rem;
height: 1.4rem;
vertical-align: middle;
line-height: 1;
-webkit-appearance: none;
}
.agree-check input:checked{
  background-color: transparent;
  border-radius: 0;
  background-image: url(/common/fki/images/v1/passport/checked.png);
  background-size: 1.3rem;
  background-repeat: no-repeat;
}
.agree-check input:focus{
outline:0;
}
.agree-check span{
font-size:2rem;
vertical-align: middle;
padding-left:1rem;
}
.submit-btn-section {
  width: 96%;
  margin: 0 auto 2rem;
  display:flex;
}

.submit-btn-section .btn {
  width: 49%;
  /*float: left;*/
  text-align: center;
}

.submit-btn-section .btn:nth-child(2) {
  margin-left: 2%;
}

.submit-btn-section .btn input,
.contact-form .btn input,
.content .btn input,
.btn input,
.btn a{
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.1rem;
  padding: 1.5rem 0;
  width: 100%;
  display: block;
  background-color: #2361ad;
  border-radius: 4px;
  text-align: center;
}
.submit-btn-section .btn input:hover,
.contact-form .btn input:hover,
.content .btn input:hover,
.btn input:hover,
.btn a:hover{
cursor: pointer;
opacity:0.9;
}
.btn input[type="submit"][disabled], .btn input[type="submit"].is-disabled{
  background-color: #ccc !important;
  pointer-events: none;
}
.btn input[type="submit"][disabled]:hover, .btn input[type="submit"].is-disabled:hover{
cursor: auto;
opacity:1;
}
.regist-caution-section{
font-size:1.8rem;
display:block;
text-align:right;
}
.signup .btn,.half-btn{
  width: 50%;
  margin: 0 auto;
}

.signup .submit-btn-section .btn {
  width: 49%;
  float: left;
  text-align: center;
}

.agreement .notes {
  font-size: 1.4rem;
  line-height: 1.5;
}

.agreement .notes p {
  margin: 0;
  text-align: center;
}

#reader-name {
  display: none;
}

#form-main .main-part.second table tr:first-child td {
  padding: 20px 1%;
}

.genre-box {
  list-style: none;
  padding: 0;
  margin: 0;
  float: left;
  width: 20.5%;
}

.genre-box:first-child {
  width: 34%;
}

.genre-box:nth-child(3) {
  width: 25%;
}

.genre-box li {
  float: left;
  font-size: 1.4rem;
  line-height: 1;
  display: inline-block;
  width: 100%;
  margin-bottom: 1rem;
}

.genre-box li:last-child {
  margin-bottom: 0;
}

textarea.interest {
  width: 95%;
  height: 100px;
  font-size: 1.6rem;
  padding: 1rem 2.5%;
}
textarea.interest.cform{
height: 200px;
}
#form-main .pull-down.industry {
  width: 60%;
}

#form-main .pull-down.job-category {
  width: 45%;
}

.caution-section {
  margin: 4rem auto 0;
  width: 85%;
}

.caution-section span {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  line-height: 1;
  margin-bottom: 1rem;
  display: block;
  background-color: bisque;
  padding: 6px;
}

.caution-section .caution {
  margin: 0 0 3rem;
  font-size: 1.2rem;
  padding-left: 2%;
}
.thanks{
font-size:1.6rem;
line-height:1.6;
margin-bottom:1rem;
}
.thanks.reset-pass-complete{
text-align:center;
}
.thanks.dkan-link{
font-size:2.2rem;
}
.others{
margin-top:4rem;
}
.other-bnr{
float:left;
margin-right:2%;
width:29%;
}
.other-bnr:first-child{
width:69%;
}
.other-bnr:last-child{
margin-right:0;
}
.other-bnr a{
display:block;
}
.other-bnr img{
width:100%;
display:block;
}

.pw-container {
  position: relative;
  width:10em;
  margin: 0;
  padding: 0;
}
.pw-view {
  position:absolute;
  top: 0;
  right: 1.0em;
  margin:0;
  padding:0;
  border:none;
  background:none;
}

/* -------------------------------------------------------
会員登録 iPad or narrow book
---------------------------------------------------------- */

@media (max-width: 880px) {
  #header-inner .logo {
    float: none;
    text-align: center;
    width: 100%;
  }
  #header-inner .logo img {
    width: 230px;
    display: inline-block;
  }
  .process {
    float: none;
    width: 600px;
    margin: 16px auto 2px;
  }
  .genre-box {
    width: 50%;
  }
  .genre-box:first-child {
    width: 50%;
  }
  .genre-box:nth-child(3) {
    width: 50%;
    clear: left;
  }
  .genre-box li:last-child {
    margin-bottom: 1rem;
  }
  .genre-box:nth-child(3) li:last-child,
  .genre-box:nth-child(4) li:last-child {
    margin-bottom: 0;
  }
  #form-main table tr td input.form_border {
    width: 80%;
  }
  #form-main table tr td input.inp_name {
    width: 30%;
  }
#form-main table tr td .beside.follow {
    padding-left: 2%;
  }
#form-main table tr td input.inp_address {
    width: 56%;
  }
#form-main .pull-down.job {
    width: 40%;
  }
#form-main .address-set.nm .beside{
width:100%;
}
}

@media (max-width: 776px) {
  #form-main table tr td .beside.sm {
    padding-right: 0;
  }
}


/* -------------------------------------------------------
会員登録 smp
---------------------------------------------------------- */

@media (max-width: 767px) {
  .process {
    display: none;
    width: 96%;
  }
  #form-main {
    width: 92%;
    padding: 0 4%;
    margin-top: 1rem;
  }
  #form-main .preface {
    padding: 0 1%;
  }
  #form-main .preface h1.page-title {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 1rem;
  }
  #form-main .preface h1.page-title span {
    display: block;
    padding: 0;
  }
  #form-main .preface>p {
    display: none;
  }
  .preregistration #form-main .preface>p {
    display: block;
    margin-top: 2rem;
    text-align: left;
  }
  #form-main .preface>p.certificate {
    display: block;
  }
  #form-main .preface .s-process {
    display: block;
  }
  .s-process ul li {
    width: 20%;
  }
  .process ul li:before {
    width: 100%;
  }
  .s-process ul li:after {
    width: 26px;
    height: 26px;
    line-height: 26px;
    margin-left: 30%;
    border-radius: 13px;
    margin-top: 0;
  }
  @media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .s-process ul li:after {
    width: 26px;
    height: 26px;
    line-height: 26px;
    margin-left: 30%;
    border-radius: 14px;
    margin-top: 0;
  } /* IE11 */
}
  .s-process ul li:first-child:before {
    width: 50%;
  }
  .s-process ul li:last-child:before {
    width: 50%;
  }
  #form-main table tr th {
    width: 92%;
    display: block;
    padding: 1rem 4%;
    border-bottom: 1px solid #c8c8c8;
  }
  #form-main table tr td {
    width: 94%;
    display: block;
    padding: 1rem 3%;
    background-color: #fff;
  }
  #form-main .main-part.second table tr:first-child td {
    padding: 1rem 3%;
  }
  #form-main table tr td input.form_border,#form-main table tr td input.rect{
    width: 93%;
  }
  #form-main table tr td div.inp_support_txt p {
    margin-top: 0.5rem;
  }
  #form-main table tr td input.inp_name {
    display: inline-block;
    width: 78%;
    margin-bottom: 1rem;
  }
  #form-main table tr td input.inp_name:last-child {
    margin-bottom: 0;
  }
  #form-main table tr td .beside {
    padding-left: 5%;
  }
  #form-main table tr td .beside.follow {
    padding-left: 5%;
  }
  #form-main table tr td .beside.sm {
    padding-right: 4%;
    padding-left: 0;
    display:inline-block;
  }
  #form-main table tr td .beside.sm.follwow {
    padding-left: 0;
  }
  #form-main table tr.no-border {
    border-top: 1px solid #c8c8c8;
  }
  .pull-down {
    width: 18%;
  }
  #form-main .pull-down.year {
    width: 25%;
  }
  #form-main .postal-set .beside {
    padding: 0;
    width: 10%;
    display: inline-block;
  }
  #form-main .address-set .beside {
    padding: 0;
    width: 26%;
    display: inline-block;
  }
  #form-main .address-set.nm .beside {
    width: 100%;
  }
  #form-main table tr td input.inp_address {
    width: 65%;
  }
  #form-main .pull-down.job,
  #form-main .pull-down.job-category,
  #form-main .pull-down.industry {
    padding: 11.5px 0;
    width: 100%;
  }
  .pull-down.job:before,
  .pull-down.job:after,
  .pull-down.job-category:before,
  .pull-down.job-category:after,
  .pull-down.industry:before,
  .pull-down.industry:after {
    top: 16px;
    right: 5%;
  }
  #form-main table tr.reader {
    border-top: 1px solid #c8c8c8;
  }
  #form-main .um {
    margin-top: 1rem;
  }
  .agreement .heading {
    font-size: 1.8rem;
  }
  .agreement .agreement-box {
    border: 5px solid #efefef;
    width: 89%;
    padding: 1rem 4%;
    font-size: 1.4rem;
  }
  .agreement .agreement-box h2 {
    font-size: 1.4rem;
    font-weight: 600;
    text-decoration: none;
  }
  .submit-btn-section .btn input,
  .contact-form .btn input,
  .content .btn input,
  .btn input {
    font-weight: 400;
    font-size: 1.6rem;
  }
  .submit-btn-section .btn {
    width: 100%;
    float: none;
  }
  .submit-btn-section .btn:nth-child(1) input,.submit-btn-section .btn:nth-child(1) a {
    background-color: #649f45;
    margin-bottom: 2rem;
    border: none;
  }
  .submit-btn-section .btn:nth-child(2) {
    margin-left: 0;
  }
  .submit-btn-section .btn:nth-child(2) input {
    border: none;
  }
  .regist-caution-section{
  text-align:center;
  font-size:1.4rem;
  }
  .addtional .submit-btn-section .btn:nth-child(1) input {
    background-color: #2361ad;
  }
  .addtional .submit-btn-section .btn:nth-child(2) input {
    background-color: #649f45;
  }
  .signup .btn {
    width: 100%;
  }
  .signup .submit-btn-section .btn{
  width:100%;
  float:none;
  }
  .preregistration .login-block {
    background-color: transparent;
  }
  .caution-section {
    margin-top: 4rem;
  }
  .other-bnr{
float:none;
margin-right:0;
width:80%;
text-align:center;
margin:0 auto 2rem;
}
.other-bnr:first-child{
width:100%;
}
.other-bnr:last-child{
margin-right:auto;
}
.other-bnr a{
display:block;
text-align:center;
}
.other-bnr img{
width:100%;
}
}

@media (max-width: 442px) {
  .mail-box li {
    float: none;
    width: 100%;
    margin-bottom: 0;
  }
  .mail-box li label {
    border: none;
    box-shadow: none;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .genre-box:nth-child(odd) {
    width: 60%;
  }
  .genre-box:nth-child(even) {
    width: 40%;
  }
  textarea.interest {
    border: 1px solid #ccc;
  }
}

/* -------------------------------------------------------
resetpassword PC
---------------------------------------------------------- */
.change-mailaddress .process{
display:none;
}
.reset-password .process{
display:none;
}
.resst-password .login-form .required span {
  float: right;
  background-color: #eb4847;
  font-size: 1.2rem;
  color: #fff;
  letter-spacing: 0.1rem;
  padding: 1px 0;
  line-height1;
  text-align: center;
  width: 45px;
  border-radius: 4px;
  font-weight: 300;
}

.resst-password .login-form label span,.resst-password .login-form .quest{
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
  width:100%;
  display:block;
  margin-bottom:1rem;
  font-weight:500;
}
.resst-password .login-form span.beside{
font-size: 1.6rem;
padding-right: 4%;
}
.resst-password .login-form span.beside.follow{
padding-left: 4%;
}
.resst-password .login-form input[type="text"].form_border{
  display: inline-block;
  font-size: 1.6rem;
  padding: 4%;
  line-height: 1;
  border-radius: 4px;
  border: 1px solid #999;
  width: 91%;
  margin-bottom: 2rem;
  background-color: #fff;
}
.resst-password .login-form .pull-down-table{
margin-bottom:4rem;
}
.reset-p-btn{
margin:2rem auto 0;
width:60%;
}
/* -------------------------------------------------------
resetpassword iPad
---------------------------------------------------------- */
@media (max-width: 880px) {
.resst-password .login-block{
width:60%;
}
}
/* -------------------------------------------------------
resetpassword smp
---------------------------------------------------------- */
@media (max-width: 767px) {
.resst-password .login-block{
width:100%;
}
.resst-password .login-form input[type="text"].form_border{
width:91%;
}
.resst-password .login-form span.beside{
padding-right:2%;
}
.resst-password .login-form span.beside.follow{
padding-left:0;
}
}
/* -------------------------------------------------------
会員ページ PC
---------------------------------------------------------- */

.update header {
  margin-bottom: 1.8rem;
}

.update #header-inner {
  padding: 1rem 2px;
}

#header-inner .menu {
  float: right;
  margin-top: 2rem;
}

#header-inner .menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#header-inner .menu ul li {
  float: left;
  font-size: 1.4rem;
  line-height: 1;
  display: inline-block;
  position: relative;
}

#header-inner .menu ul li a {
  color: #2361ad;
  display: block;
  padding: 0 1rem;
  letter-spacing: 0.05rem;
}

#header-inner .menu ul li:after {
  content: '';
  width: 1px;
  height: 1.4rem;
  background: #2361ad;
  position: absolute;
  top: 0;
  margin-top: 0;
  right: 0;
}

#header-inner .menu ul li:last-child:after {
  display: none;
}

#main {
  width: 996px;
  margin: 0 auto;
  padding: 0 2px;
  margin-bottom: 15rem;
}

.purchase-section {
  margin: 4rem 0;
  font-size: 1.6rem;
}

.purchase-title {
  font-weight: 500;
  padding-left: 4px;
  line-height: 1;
  margin-bottom: 1rem;
  letter-spacing: 0.05rem;
}

.purchase {
  width: 100%;
  font-weight: 300;
  margin-bottom: 6rem;
  display:table;
}

.purchase-label {
  background-color: #f4f7fb;
  display:table-row;
}
.table-row{
  display:table-row;
}
.purchase .table-head,
.purchase .table-data {
  text-align: center;
  font-weight: 300;
  display:table-cell;
  padding:4px 0;
}

.purchase .table-head:nth-child(1),
.purchase .table-data:nth-child(1) {
  width: 55%;
  text-align: left;
  padding-left: 3%;
}

.purchase .table-head:nth-child(2),
.purchase .table-data:nth-child(2) {
  width: 15%;
  text-align: center;
}

.purchase .table-head:nth-child(3),
.purchase .table-data:nth-child(3) {
  width: 15%;
  text-align: center;
}
.purchase .table-head2,
.purchase .table-data2 {
  text-align: center;
  font-weight: 300;
  display:table-cell;
  padding:4px 0;
}

.purchase .table-head2:nth-child(1),
.purchase .table-data2:nth-child(1) {
  width: 50%;
  text-align: left;
  padding-left: 3%;
}

.purchase .table-head2:nth-child(2),
.purchase .table-data2:nth-child(2) {
  width: 15%;
  text-align: center;
}

.purchase .table-head2:nth-child(3),
.purchase .table-data2:nth-child(3) {
  width: 10%;
  text-align: center;
}

.purchase .table-head2:nth-child(4),
.purchase .table-data2:nth-child(4) {
  width: 15%;
  text-align: center;
}

.purchase-caution{
font-size:1.4rem;
color:#ff0000;
line-height:1.8;
}
.purchase-caution ul{
list-style:none;
padding:0;
margin:0;
}
.top-btn-outer {
  float: right;
  width: 720px;
}

.top-btn {
  width: 400px;
}

.top-btn a {
  display: block;
  background-color: #2361ad;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  text-align: center;
  padding: 1.5rem 0;
  line-height: 1;
  border-radius: 4px;
}
.top-btn a:hover{
opacity:0.9;
}

.guide-detail {
  margin-top: 3rem;
  position: relative;
  border: 2px solid #2361ad;
  padding: 3%;
  font-size: 1.6rem;
}

.guide-close {
  position: absolute;
  top: -3.1rem;
  background-color: #2361ad;
  padding: 0.5rem 1rem;
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
  color: #fff;
  right: 0;
  border-radius: 4px 4px 0 0;
}

.guide-detail h3 {
  font-weight: 600;
  letter-spacing: 0.05rem;
}

.guide-detail h3 a {
  padding-top: 0.5rem;
}

.info-list {
  list-style: none;
  padding: 0;
  margin: 4rem 0 6rem;
}

.info-list li {
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 2rem;
  padding-left: 4.5%;
  position: relative;
}

.info-list li a {
  color: #2361ad;
  position: relative;
  display: inline-block;
  transition: .3s;
  line-height: 1.5;
}

.info-list li a::before,
.info-list li a::after {
  position: absolute;
  content: '';
  width: 0;
  height: 1px;
  background-color: #649f45;
  transition: .3s;
}

.info-list li a::before {
  top: 0;
  left: 0;
}

.info-list li a::after {
  bottom: 0;
  right: 0;
}

.info-list li a:hover::before,
.info-list li a:hover::after {
  width: 100%;
}

.info-list li a:hover {
  color: #649f45;
}

.info-list li::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 3px;
  position: absolute;
  top: 8.5px;
  left: 2%;
  background-color: #2361ad;
}

.info-list li:hover::before {
  background-color: #649f45;
}


/* メニュー */

.welcome {
  background-color: #f4f7fb;
  border-radius: 1rem;
  padding: 1.5rem 2%;
  font-size: 1.4rem;
  line-height: 1.2;
  letter-spacing: 0.02rem;
  margin-bottom: 1.5rem;
  width: 184px;
}

.welcome .message {
  margin-bottom: 0.6rem;
}
.welcome .message .m{
display:block;
margin-bottom:1rem;
}
.welcome .message .name {
  font-weight: 600;
}

.welcome .status {
  color: #2361ad;
}

.menu-unit {
  position: relative;
}

.main-menu {
  width: 180px;
  font-size: 1.4rem;
  padding: 1.5rem 2%;
  position: absolute;
  top: 0;
  left: 0;
}
.main-menu a{
display:block;
}
.menu-unit .main-menu.service-menu{
top:0;
}
.menu-unit .main-menu.member-id{
  top: 72px;
}
.menu-unit .main-menu.purchase-menu{
  top: 144px;
}
.menu-unit .main-menu.info-menu{
  top: 216px;
}
.menu-unit .main-menu.newspaper-menu{
  top: 298px;
}
.menu-unit .main-menu.contact-menu{
  top: 370px;
}
.menu-unit .main-menu.usage-menu{
  top: 440px;
}

.main-menu img {
  width: 32px;
  vertical-align: middle;
  display: inline-block;
  padding-right: 9%;
}

.main-menu span {
  color: #2361ad;
  display: inline-block;
  vertical-align: middle;
}

.content {
  width: 720px;
  float: right;
  margin-top: -7rem;
  margin-bottom: 7rem;
}
.content.print{
width:500px;
float:none;
margin:4rem auto 7rem;
}
.content.current {
  display: block;
}

.menu-unit .content.usag {
  display: block;
}
.guide-list {
  font-size: 1.6rem;
  list-style: none;
  padding: 0;
  margin: 0;
  margin-top: 2.5rem;
  padding: 0 1.2rem;
}
.guide-list > li{
  line-height: 2;
  border-bottom:1px dashed #2361ad;
  cursor:pointer;
  position:relative;
  padding-right:3rem;
}
.guide-list > li::after{
content:"▼";
display:block;
color:#2361ad;
position:absolute;
right:0;
top:0;
}
.guide-list > li.current::after{
content:"閉じる";
font-size:1rem;
line-height:3.2rem;
}
.guide-list > li:nth-child(1),.guide-list > li:nth-child(3){
padding-right:0;
cursor:default;
}
.guide-list > li:nth-child(1)::after,.guide-list > li:nth-child(3)::after{
display:none;
}
.guide-list a {
  color: #2361ad;
}
.guide-list .section{
display:none;
margin-bottom:40px;
}
.guide-list .section.current{
display:block;
}
.contact-caution p {
  font-size: 1.6rem;
  margin-bottom: 0;
}

.content #form-main {
  margin: 0 0 80px;
  width: 100%;
  padding: 0;
}
.content #form-main.less-complete{
  margin: 0 0 120px;
}
#form-main.contact-form {
  margin: 20px auto 80px;
  width: 98%;
}

.contact-form textarea.interest {
  height: 330px;
}

#form-main.contact-form table tr th {
  width: 92%;
  display: block;
  padding: 1rem 4%;
  border-bottom: 1px solid #c8c8c8;
}

#form-main.contact-form table tr td {
  width: 94%;
  display: block;
  padding: 2rem 3%;
  background-color: #fff;
}

#form-main.contact-form table tr td input.form_border {
  width: 93%;
}

#form-main.contact-form .contact-caution {
  padding: 0 4%;
}

#form-main .c-caution p {
  font-size: 1.4rem;
  color: #eb4847;
  margin: 2rem 0;
}
#form-main .text-caution p {
  font-size: 1.4rem;
  color: #eb4847;
  margin: 1rem 0 0;
}
#form-main.contact-form .btn,
.content .btn {
  width: 60%;
  margin: 0 auto;
}

.content .submit-btn-section .btn {
  width: 49%;
}

.content #form-main .main-part.second table tr th {
  width: 24%;
}

#form-main td.p-mini {
  padding: 1.5rem 1%;
}
/* 退会に関する表示 */
.unscribe{
position:relative;
}
.juraca{
position:absolute;
width:80%;
height:56%;
background-color:#fff;
z-index:1;
border:1rem solid #ccc;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
font-size:1.6rem;
padding:4%;
opacity:0.98;
}
.juraca span{
display:block;
margin-bottom:10%;
}
#form-main .update-mail table{
list-style:none;
padding:0;
margin:0;
font-size:1.6rem;
width:100%;
table-layout:fixed;
width:100%;
background-color:#fff;
}
#form-main .update-mail table tr{
border:none;
border-bottom:1px solid #c8c8c8;
}
#form-main .update-mail table tr th{
background-color:#eee;
font-weight:600;
padding:10px 2%;
}
#form-main .update-mail table tr td{
background-color:#fff;
padding:10px 2%;
border-right:1px solid #c8c8c8;
}
#form-main .update-mail table tr td.mail-name{
font-weight:600;
background-color:#f4f7fb;
}
#form-main .update-mail table tr td.mail-text{
font-size:1.4rem;
}
#form-main .update-mail table tr th,#form-main .update-mail table tr td{
width:30%;
}
#form-main .update-mail table tr td:last-child{
border-right:none;
}
#form-main .update-mail table tr th:nth-child(2){
width:40%;
}
#form-main .update-mail table tr th:nth-child(3){
width:20%;
}
#form-main .update-mail table tr th:last-child{
width:10%;
}
.small-btn{
background-color:#2361ad;
color:#fff;
display:block;
border-radius:4px;
width:4rem;
font-size:1.2rem;
text-align:center;
}
.small-btn:hover{
opacity:0.8;
}
.add-btn{
width:50%;
margin:0 auto;
}
.add-btn a{
border:3px double #2361ad;
display: block;
color:#2361ad;
font-size: 1.6rem;
font-weight: 300;
letter-spacing: 0.1rem;
text-align: center;
padding: 1.5rem 0;
line-height: 1;
border-radius: 4px;
}
.add-btn a:hover{
background-color:#2361ad;
color:#fff;
}
.update-m-each{
border:1px solid #c8c8c8;
}
.update-m-each ul{
list-style:none;
padding:0;
margin:0;
display:table;
width:100%;
font-size:1.6rem;
border-bottom:1px solid #c8c8c8;
}
.update-m-each ul:last-child{
border-bottom:none;
}
.update-m-each ul li{
display:table-cell;
width:75%;
padding:1%;
}
.update-m-each ul li:first-child{
background-color:#eee;
font-weight:600;
width:25%;
}
.update-m-each.de-mail  ul li{
padding:3% 2%;
}
.update-m-each.de-mail ul li:first-child{
width:40%;
}
.update-m-each .pull-down{
width:40%;
}
.update-m-each ul li span{
padding-left:2%;
font-size:1.4rem;
}
.update-m-each ul li span a{
color:#2361ad;
}
.update-m-each.de-mail ul li input{
  padding: 15px 3%;
  font-size: 1.6rem;
  line-height: 1;
  width: 70%;
  border-radius: 4px;
  background-color: #fff;
  border: 1px solid #999;
}
.logout-a{
font-size:1.6rem;
}
.logout-a a{
color:#2361ad;
}
.extra{
margin-bottom:1rem;
}
.extra .purchase-title{
float:left;
margin-bottom:0;
line-height:27px;
}
.purchase-pulldown{
width:265px;
float:right;
}
.purchase-pulldown .pull-down,.purchase-pulldown .pull-follow,.purchase-pulldown input{
float:left;
display:block;
}
.purchase-pulldown .pull-down{
width:90px;
}
.purchase-pulldown .pull-down.month{
width:60px;
}
.purchase-pulldown .pull-follow{
padding:0 10px 0 6px ;
line-height:27px;
}
.pay-change-btn {
background-color: #2361ad;
color: #fff;
padding: 2px 5px;
text-align: center;
border-radius: 4px;
font-size: 1.4rem;
margin-top: 1px;
float: right;
}
.purchase-pulldown input{
background-color:#2361ad;
color:#fff;
padding:1px 0;
text-align:center;
border-radius:4px;
width:40px;
font-size:1.4rem;
margin-top:1px;
}
.credit-table{
margin-bottom:2rem;
}
.new-mail-address{
margin-bottom:4rem;
}
.update .menu-unit .member-card{
width:50%;
margin:4rem 0;
}
.update .menu-unit .member-card img{
width:100%;
display:block;
}
.update .menu-unit .print .member-card{
width:80%;
margin:4rem auto 2rem;
}
.update .menu-unit .comment{
font-size:1.6rem;
line-height:2;
}
.update .menu-unit .print .comment{
text-align:center;
}
.update .menu-unit .comment span{
display:block;
}
.update .menu-unit .comment span a{
color:#2361ad;
}
.update .menu-unit .comment span a:hover{
text-decoration:underline;
}
.plan-fee{
font-size:1.8rem;
}
.plan-fee a{
color:#0F52A5;
}
.plan-fee a.addtional{
display:block;
}
.plan-fee strong{
font-weight:600;
}
.service-heading{
background: #F8F9F9;
border-top: 2px solid #0F52A5;
border-bottom: 1px solid #0F52A5;
font-weight: 600;
font-size:1.8rem;
color: #0F52A5;
padding: 10px;
margin-bottom: 20px;
}
.plan-unit{
list-style:none;
padding:0;
margin:0;
}
.plan-unit .unit{
display:table;
border:1px solid #E0E0E0;
background:#f9f9f9;
margin-bottom:2rem;
width:99%;
}
.plan-unit .plan-name{
display:table-cell;
width:64%;
background:#fff;
padding:10px 3%;
vertical-align:middle;
}
.plan-unit .plan-price{
display:table-cell;
width:26%;
padding:10px 2%;
vertical-align:middle;
font-weight:600;
text-align:center;
}
.plan-unit .plan-name h3{
font-weight:500;
font-size:3.8rem;
color:#0F52A5;
}
.plan-unit .plan-name h3.free-mail{
color:#333;
}
.plan-unit .plan-name h3 span{
font-size:3.4rem;
color:#333;
}
.plan-unit .plan-name .plan-logo{
margin-bottom:10px;
}
.plan-unit .plan-name .plan-logo img{
max-width:100%;
}
.plan-unit .plan-name .plan-text p{
font-size:1.6rem;
margin:0 0 20px;
}
.plan-unit .plan-name .plan-text p span{
display:block;
}
.plan-unit .plan-name .plan-text p span.main-text{
margin-bottom:1rem;
}
.plan-unit .plan-price .price-unit{
margin-bottom:1.5rem;
line-height:1.4;
}
.plan-unit .plan-price .price-unit .price{
font-size:3rem;
}
.plan-unit .plan-price .sub-text{
font-size:1.4rem;
display:inline-block;
}
.plan-unit .plan-price .yen{
font-size:1.4rem;
}
.plan-unit .plan-price .plan-beside-text{
font-size:1.6rem;
color:#ff0000;
}
.plan-unit .plan-price .plan-btn{
display:block;
background-color:#0F52A5;
border-radius:6px;
font-size:1.4rem;
color:#fff;
font-weight:300;
padding:5px 15px;
position:relative;
}
.plan-unit .plan-price .plan-btn::after{
position:absolute;
content:"▶";
font-size:1rem;
left:3%;
top:8px;
}
.plan-unit .plan-price .plan-btn.now{
background-color:#000;
}
.plan-unit .plan-price .plan-btn.disabled{
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  background-color:#AAAAAA;
}
.plan-unit .plan-price .plan-btn.mail-btn{
background-color:#666;
}
.plan-now{
font-size:1.8rem;
text-align:center;
background-color:#efefef;
padding:2rem 0;
margin-bottom:3rem;
}
.plan-now.white{
background-color:transparent;
}
.plan-now span{
display:block;
margin-bottom:0.5rem;
}
.plan-now a{
display:inline-block;
color:#0F52A4;
}
.plan-now.white a{
text-decoration:underline;
}
.plan-descript{
margin-bottom:3rem;
}
.plan-descript p{
font-size:1.8rem;
}
.plan-descript a{
color:#0F52A4;
}
.plan-descript .gray-box{
background: #F6F6F6;
border: 1px solid #E0E0E0;
padding: 9px 2%;
display:block;
font-size:1.6rem;
}
.plan-table {
background: #E0E0E0;
margin-bottom: 20px;
width:100%;
}
.plan-table td {
background: #FFFFFF;
padding: 10px;
}
.plan-table .th01 {
background: #fff;
color: #0F52A5;
}
.plan-table .th01 img{
vertical-align:middle;
}
.plan-subscript{
margin:20px 0 30px;
}
.plan-subscript table{
margin-bottom:30px;
}
.plan-subscript .status, .signup-all-plan {
font-size: 1.6rem;
font-weight: 400;
line-height: 1.6;
color:#0F52A5;
font-weight:600;
}
.plan-subscript .sentense, .signup-all-plan-caution{
font-size: 1.4rem;
font-weight: 400;
}
.dkan-agreement .agree-check p{
font-size:1.6rem;
text-align:center;
margin:30px 0;
}
.dkan-agreement .agreement-box p{
margin-top: 0;
margin-bottom: 0.5rem;
}
.main-part.credit p.certificate{
font-size:1.6rem;
}
.call-center{
width:100%;
}
.call-center img{
width:100%;
}
.unscribe-caution-text{
font-size:1.4rem;
border:1px solid #efefef;
padding:10px;
margin:20px 0;
}
.unscribe-caution-text ul{
list-style:none;
padding:0;
margin:10px 0;
}
.student-tel{
margin-top:5px;
font-size:1.6rem;
color:#ff0000;
}
/* -------------------------------------------------------
会員ページ iPad or narrow book
---------------------------------------------------------- */

@media (max-width: 999px) {
  #main {
    width: 98%;
    padding: 0 1%;
  }
  .welcome {
    width: 21%;
  }
  .main-menu {
    width: 26%;
  }
  .content {
    width: 72%;
  }
  .update-mail ul{
  font-size:1.4rem;
  }
  .update-m-each ul{
  font-size:1.4rem;
  }
  .update-m-each.de-mail ul li input{
  font-size:1.4rem;
  width:90%;
  }
  .purchase .table-head:nth-child(1), .purchase .table-data:nth-child(1){
  width:50%;
  }
  .top-btn-outer{
  width:72%;
  }
}

@media (max-width: 880px) {
  .update #header-inner .logo {
    width: 230px;
    float: left;
  }
  .update #header-inner .logo.d-logo {
    width: 110px;
  }
  .update #header-inner .logo img {
    width: 100%;
    display: block;
  }
  .welcome {
    text-align: center;
  }
  .welcome .message .name {
    display: inline-block;
    margin-top: 0.3rem;
  }
  .content #form-main {
    width: 98%;
  }
  .content .pull-down {
    width: 16%;
  }
  .content #form-main .pull-down.year {
    width: 25%;
  }
  .update-m-each .pull-down{
  width:60%;
  }
  .update-m-each ul:first-child li span{
  display:block;
  padding-left:0;
  margin-top:0.5rem;
  }
  .purchase-pulldown .pull-down{
  width:90px;
  }
}

@media (max-width: 862px) {
  .main-menu {
    padding: 1.5rem 1.5%;
    width: 22%;
  }
}

@media (max-width: 848px) {
  .content {
    margin-top: -9rem;
    margin-bottom: 9rem;
  }
}

@media (max-width: 818px) {
  .contact-caution p {
    font-size: 1.4rem;
  }
}


/* -------------------------------------------------------
会員ページ smp
---------------------------------------------------------- */

@media (max-width: 767px) {
#main{
margin-bottom:8rem;
}
  .update #header-inner .logo {
    width: 100%;
    text-align: center;
    float: none;
  }
  .update #header-inner .logo.d-logo {
    width: 100%;
    text-align: center;
    float: none;
  }
  .update #header-inner .logo img {
    width: 53.5%;
    display: inline-block;
    max-width: 220px;
    line-height: 1;
  }
    .update #header-inner .logo.d-logo img {
    width: 25.5%;
    display: inline-block;
    max-width: 220px;
    line-height: 1;
  }
  #header-inner .menu {
    float: none;
    background-color: #2361ad;
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    margin-top: 1rem;
  }
  #header-inner .menu ul {
    margin: 0 auto;
    text-align: center;
    white-space: nowrap;
  }
  #header-inner .menu ul li {
    display: inline-block;
    position: relative;
    float: none;
  }
  #header-inner .menu ul li:after {
    content: '';
    width: 1px;
    height: 20px;
    background: #fff;
    position: absolute;
    top: 50%;
    margin-top: -10px;
    right: -2px;
  }
  #header-inner .menu ul li a {
    font-size: 1.2rem;
    display: block;
    padding: 14px 18px;
    color: #fff;
    letter-spacing: 0.5px;
  }
  .update header {
    border-bottom: none;
  }
  .update #header-inner {
    padding: 1rem 0 0;
  }
  .welcome {
    width: 100%;
    padding: 0;
    background-color: transparent;
  }
  .welcome .message {
    display: inline;
    margin-bottom: 0;
  }
  .welcome .message .m {
    display: none;
  }
  .welcome .status {
    display: inline;
    margin-bottom: 0;
  }
  .main-menu {
    position: static;
    border-bottom: 3px double #2361ad;
    width: 80%;
    padding: 1.5rem 6%;
    margin: 0 auto;
  }
  .main-menu img {
    width: 4.7rem;
  }
  .main-menu span {
    width: 70%;
  }
  .menu-unit .main-menu::after {
    content: "";
    display: block;
    position: absolute;
  }
  .main-menu span {
    font-size: 2.1rem;
    line-height: 1.4;
  }
  .content {
    margin: 1rem auto 0;
    float: none;
    width: 88%;
  }
   .content.print {
    margin: 1rem auto 0;
    float: none;
    width: 88%;
  }
  .menu-unit .content.current {
    display: block;
  }
  .top-btn-outer {
    width: 100%;
    float: none;
    margin-top: 3rem;
  }
  .top-btn {
    width: 88%;
    margin-left: auto;
    margin-right: auto;
  }
  .top-btn a {
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 400;
  }
  .update .heading {
    display: none;
  }
  .update .heading.use {
    display: block;
  }
  .update .newspaper-reader-menu .heading {
    display: block;
  }
  .purchase-section {
    margin: 1.5rem 0;
  }
  .purchase{
  margin-bottom:2rem;
  }
  table.purchase {
    margin-bottom: 3rem;
  }
  .purchase-label {
    display: none;
  }
  .purchase-title {
    border-bottom: 1px dashed #2361ad;
    line-height: 1.6;
  }
  table.purchase td {
    font-size: 1.4rem;
  }
  table.purchase tr td:nth-child(1) {
    padding-left: 0;
  }
  .info-list {
    margin: 1.5rem 0;
  }
  .info-list li {
    padding-left: 8%;
    margin-bottom: 1rem;
  }
  .info-list li a {
    color: #333;
  }
  .help-guide {
    margin: 0;
    border: none;
    padding: 0;
  }
  .update .content #form-main.contact-form {
    padding: 0;
    width: 100%;
    margin-bottom: 1.5rem;
  }
  .contact-form textarea.interest {
    height: 160px;
  }
  .contact-form .btn input {
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 400;
  }
  .purchase-section .purchase:last-child {
    margin-bottom: 0;
  }
.purchase .table-row:after{
content:".";
display:block;
height:0;
visibility:hidden;
clear:both;
}
.purchase .table-row{
display:block;
width:100%;
margin-bottom:2rem;
border-bottom:2px solid #efefef;
}
.purchase .table-data{
float:left;
display:block;
padding:2px 0;
}
.purchase .table-head:nth-child(1), .purchase .table-data:nth-child(1){
width:100%;
padding-left:0;
float:none;
}
.purchase .table-head:nth-child(2), .purchase .table-data:nth-child(2){
width:40%;
text-align:left;
}
.purchase .table-head:nth-child(3), .purchase .table-data:nth-child(3){
width:60%;
text-align:right;
float:left;
/*font-size:1.2rem;*/
}
.purchase .table-data2{
float:left;
display:block;
padding:2px 0;
}
.purchase .table-head2:nth-child(1), .purchase .table-data2:nth-child(1){
width:100%;
padding-left:0;
float:none;
}
.purchase .table-head2:nth-child(2), .purchase .table-data2:nth-child(2){
width:40%;
text-align:left;
}
.purchase .table-head2:nth-child(3), .purchase .table-data2:nth-child(3){
width:20%;
text-align:left;
}
.purchase .table-head2:nth-child(4), .purchase .table-data2:nth-child(4){
width:40%;
text-align:right;
float:left;
font-weight:bold;
}

  .answer-section {
    margin: 4rem 0;
  }
  .answer-section .question {
    font-weight: 400;
    font-size: 1.6rem;
    color: #2361ad;
    border-left: 4px solid #d3dfef;
  }
  .answer-section .answer {
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .update .heading.use {
    border-left: none;
    border-bottom: 1px dashed #2361ad;
    line-height: 1.6;
    margin-top: 1.5rem;
  }
  .update .heading.use span {
    font-weight: 400;
  }
  .guide-list {
    margin-top: 1rem;
    padding:0;
  }
  .guide-list > li {
  border-bottom:none;
  color:#2361ad;
  text-decoration:underline;
  }
  .guide-list > li:nth-child(1), .guide-list > li:nth-child(3){
  color:#333;
  text-decoration:none;
  font-weight:600;
  }
  .guide-list ol {
    font-size: 1.4rem;
    -webkit-padding-start: 2rem;
    padding-left: 2rem;
  }
  .content #form-main .main-part.second table tr th {
    width: 92%;
  }
  .content #form-main .preface .s-process {
    display: none;
  }
  .content #form-main {
    width: 100%;
    margin-bottom:40px;
  }
  .thanks.dkan-link{
  text-align:center;
  }
  .content #form-main table tr td .beside {
    padding-left: 0;
  }
  .content #form-main table tr td .beside.sm {
    padding-right: 0;
  }
  .content #form-main table tr td div.inp_support_txt p {
    font-size: 1.3rem;
  }
  .content .submit-btn-section .btn {
    width: 100%;
  }
  .content .submit-btn-section .btn input {
    font-weight: 400;
    font-size: 1.6rem;
    -webkit-appearance: none;
   -moz-appearance: none;
        appearance: none;
  }
  #form-main td.p-mini {
    padding: 1rem 3%;
  }
  .juraca{
width:80%;
height:50%;
top:0;
font-size:1.4rem;
}
.update-mail{
border:none;
text-align:center;
}
#form-main .update-mail table tr:first-child{
display:none;
}
#form-main .update-mail table tr th{
display:none;
}
#form-main .update-mail table tr td{
width:96%;
}
.small-btn{
width:30%;
margin:0 auto;
}
.add-btn{
width:100%;
}
.update-m-each ul{
display:block;
font-size:1.6rem;
}
.update-m-each ul li{
display:block;
width:94%;
padding:3%;
}
.update-m-each ul li:first-child{
width:94%;
}
.update-m-each.de-mail ul li{
padding:3%;
}
.update-m-each.de-mail ul li:first-child{
width:94%;
}
.update-m-each .pull-down{
width:100%;
}
.update-m-each ul:first-child li span{
margin-top:1rem;
}
.update-m-each.de-mail ul li input{
font-size:1.6rem;
}
.logout-a{
text-align:center;
}
.extra .purchase-title{
float:none;
width:100%;
margin-bottom:1rem;
}
.purchase-pulldown{
float:none;
width:100%;
}
.purchase-pulldown .pull-down{
width:22%;
}
.purchase-pulldown .pull-follow{
padding:0 6% 0 4%;
}
.purchase-pulldown .pull-down.month{
width:20%;
}
.purchase-pulldown input{
width:15%;
padding:2px 0;
margin-top:2px;
}
.credit-table .red{
display:block;
}
.update .menu-unit .member-card{
width:80%;
margin:4rem auto;
}
.update .menu-unit .comment{
line-height:1.6;
}
.plan-fee{
font-size:1.6rem;
}
.service-heading{
border-top:none;
background:transparent;
font-weight:300;
}
.plan-unit .unit{
display:block;
}
.plan-unit .plan-name{
display:block;
width:90%;
padding:10px 5%;
}
.plan-unit .plan-name h3{
font-size:3rem;
}
.plan-unit .plan-name h3 span{
font-size:2.4rem;
}
.plan-fee strong{
font-weight:400;
}
.plan-unit .plan-price{
display:block;
width:90%;
padding:20px 5%;
}
.plan-unit .plan-price .sub-text{
display:block;
}
.plan-now{
padding:2rem 3%;
}
.plan-now strong{
font-weight:500;
display:block;
}
.plan-descript p{
font-size:1.6rem;
}
.plan-descript .gray-box{
font-size:1.4rem;
}
.plan-descript strong{
font-weight:500;
}
.plan-table{
font-size:1.4rem;
}
.plan-table tr{
background-color:#fff;
}
.plan-table tr:first-child{
display:none;
}
.plan-table .st-key{
text-align:left;
}
.plan-table .st-key img{
vertical-align:middle;
}
.plan-table .th01{
background-color:transparent;
}
.plan-table .st-head-row{
padding:1rem 0;
font-weight:600;
background:#F5F8FB;
}
.plan-table tr:nth-last-child(7) .st-head-row{
background:#efefef;
}
}
@media (max-width: 375px) {
.update .menu-unit .member-card{
width:100%;
margin:2rem 0;
}
}

/*    ===========
青丸移動
============= */

.signup .process ul li:nth-child(3):after {
  background-color: #2361ad;
}

.confirm .process ul li:nth-child(3):after {
  background-color: #efefef;
}

.confirm .process ul li:nth-child(4):after {
  background-color: #2361ad;
}
.complete .process ul li:nth-child(3):after {
  background-color: #efefef;
}
.complete .process ul li:nth-child(5):after {
  background-color: #2361ad;
}
.preregistration .process ul li:nth-child(1):after {
  background-color: #2361ad;
}
/* -------------------------------------------------------
福井新聞パスポートとは、会員規約のページ PC
---------------------------------------------------------- */
.update.about #form-main{
margin-bottom:120px;
}
.update.about .main-part{
margin-bottom:60px;
}
.update.about .page-logo{
text-align:center;
}
.update.about .page-logo img{
width:400px;
}
.update.about .description{
background-color:#f4f7fb;
width:80%;
margin:0 auto 40px;
padding:2% 3%;
}
.update.about h2{
font-size:2.2rem;
font-weight:600;
}
.update.about .a-phase{
font-size:1.6rem;
margin-bottom:30px;
}
.update.about .description h2{
text-align:center;
}
.update.about .description h2 span{
display:block;
}
.update.about .description p{
margin-bottom:0;
}
.update.about ul{
padding-left:3%;
}
.update.about ul li{
font-size:1.6rem;
}
.update.about ul li a{
color:#2361ad;
}
.update.about .submit-btn-section{
width:80%;
}
.main-part.agree-page{
font-size:1.6rem;
}
.main-part.agree-page h2{
font-size:1.8rem;
font-weight:600;
}
.polite{
border-top:1px solid #000;
}
/* -------------------------------------------------------
福井新聞パスポートとは、会員規約のページ smp
---------------------------------------------------------- */

@media (max-width: 767px) {
.update.about .main-part{
margin-bottom:30px;
}
.update.about .page-logo{
display:none;
}
.update.about .description{
width:90%;
padding:5%;
margin-bottom:30px;
}
.update.about .a-heading{
font-size:1.8rem;
}
.update.about .description h2 span{
display:inline-block;
}
.update.about .description p{
font-size:1.4rem;
}
.update.about ul{
padding-left:6%;
}
.update.about .submit-btn-section{
width:100%;
}
.update.about .submit-btn-section .btn{
margin-bottom:2rem;
}
.update.about .submit-btn-section .btn a{
font-weight:300;
}
.update.about .submit-btn-section .btn:first-child a{
background-color:#649f45;
}
}
/*    ===========
トップに戻る
============= */

.page-top {
  margin: 0;
  padding: 0;
  cursor: pointer;
  display: none;
}

.page-top div {
  margin: 0;
  padding: 0;
  position: fixed;
  right: 16px;
  bottom: 16px;
}

.move-page-top {
  display: block;
  background-image: url(/common/fki/images/v1/common/go-top.svg);
  background-size: 40px 70px;
  background-repeat: no-repeat;
  background-position: center center;
  width: 40px;
  height: 70px;
  color: #fff;
  line-height: 40px;
  text-decoration: none;
  text-align: center;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

.move-page-top:hover {
  opacity: 0.85;
  text-decoration: none;
}
/* 協賛社のページ */
.card-btn{
margin:4rem 0;
}
.card-btn a{
display:block;
background-color:#ebf4ff;
color:#2361ad;
font-size:1.8rem;
width:40%;
margin:0 auto;
text-align:center;
padding:1rem 0;
}
.card-btn a:hover{
background-color:#2361ad;
color:#fff;
}
.main-part.sponsor{
font-size:1.6rem;
}
.sponsor-menu{
margin:0 0 2rem;
}
.sponsor-menu h2{
  font-size: 2rem;
  letter-spacing: 0.05rem;
  font-weight: 300;
  margin-bottom: 20px;
  display:inline-block;
  border-bottom:1px dashed #2361ad;
  padding:0 1%;
}
.sponsor-menu ul{
list-style:none;
padding:0;
width:65%;
margin:0 auto;
}
.sponsor-menu ul li{
float:left;
width:23%;
margin:0 1%;
}
.sponsor-menu ul li a{
display:block;
width:100%;
height:100%;
border:1px solid #ccc;
border-radius:6px;
}
.sponsor-menu ul li a:hover{
opacity:0.8;
}
.sponsor-menu ul li a img{
width:45%;
display:block;
margin:0.5rem auto;
}
.sponsor-menu ul li a span{
display:block;
background-color:#3c7ccb;
color:#fff;
text-align:center;
border-radius:0 0 6px 6px;
padding:5px 0;
box-shadow:0 -2px 0 #3949ab inset;
font-size:1.4rem;
}
.shop-list .shop-section{
margin-bottom:4rem;
}
.shop-list .shop-section ul{
list-style:none;
padding:0;
}
.shop-list .shop-section ul li{
border-bottom:1px dashed #ccc;
padding:2px 10px;
}
.shop-list .shop-section ul li a{
color:#2361ad;
}
.shop-list .shop-section ul li a:hover{
opacity:0.8;
}
.shop-detail{
margin:5rem 0 0;
}
.shop-detail .name{
border-bottom:2px solid #2361ad;
text-align:center;
position:relative;
color:#2361ad;
font-size:2rem;
font-weight:500;
margin-bottom:3rem;
}
.shop-detail .name .genre{
position:absolute;
top:0.5rem;
left:0;
width:10%;
background-color:#ebf4ff;
font-size:1.2rem;
font-weight:300;
}
.shop-detail .treat{
border:1px dashed #2361ad;
padding:2% 1.5% 1.5%;
border-radius:1rem;
position:relative;
margin-bottom:3rem;
font-weight:500;
}
.shop-detail .treat::before{
content:"特典";
font-size:1.2rem;
color:#fff;
background:#2361ad;
text-align:center;
width:6%;
position:absolute;
top:-1rem;
left:2%;
display:block;
border-radius:4px;
}
.shop-detail .shop{
margin-bottom:2rem;
}
.shop-detail .shop .text{
float:left;
width:75%;
font-size:1.4rem;
}
.shop-detail .shop .shop-image{
float:right;
width:20%;
text-align:center;
}
.shop-detail .shop .shop-image img{
max-width:100%;
}
#form-main .shop-detail .data table{
margin-bottom:1rem;
}
#form-main .shop-detail .data table tr th{
padding:10px 2%;
font-weight:500;
}
#form-main .shop-detail .data table tr td{
padding:10px 3.5%;
background-color:#fff;
}
.data-caution{
color:#666;
margin-bottom:2rem;
font-size:0.8em;
}
.shop-detail .data #map{
margin-bottom:2rem;
height:400px;
}

/*amazonPayCV2*/
.c-btn__amazonpay{
  width:298px!important;
  margin-inline:auto;
  margin-bottom:20px;
}
.payselect-text{
  font-size:1.6rem;
  font-weight:bold;
  text-align:center;
  color:#c11616;
}

.c-btn{
  color:#fff;
  font-size:1.8rem;
  line-height:1;
  font-weight:600;
  letter-spacing:0.1rem;
  width:49%;
  display:block;
  background-color:#2361ad;
  border-radius:4px;
  text-align:center;
  border:none;
  cursor:pointer;
}
.c-btn:hover{opacity:0.9;}
.c-btn.\--confirm{background-color:#f37472!important;}
.c-btn.\--confirm.is-disabled{background-color:#ccc !important;}
.c-btn.\--confirm.is-disabled:hover{
  opacity: 1;
  cursor: auto;
}

@media (max-width: 999px) {
.card-btn a{
width:50%;
}
}
@media (max-width: 767px) {
  .card-btn{margin:2rem 0 4rem;}
  .card-btn a{width:100%;}
  .sponsor-menu{margin-bottom:3rem;}
  .sponsor-menu ul{width:100%;}
  .sponsor-menu ul li a span{font-size:1.2rem;}
  .shop-list .shop-section .heading{display:block;}
  #form-main .shop-detail .data table tr th{padding:1rem 4%;}
  #form-main .shop-detail .data table tr td{padding:1rem 3.5%;}
  .shop-detail .treat{
    padding:5% 4.5% 4.5%;
    font-weight:300;
    margin-bottom:1rem;
  }
  .shop-detail .treat::before{
    width:20%;
  }
  .shop-detail .shop .text{
    float:none;
    width:100%;
    margin-bottom:1rem;
  }
  .shop-detail .shop .shop-image{
    float:none;
    width:100%;
  }
  .shop-detail .name .genre{
    top: -2rem;
    width: 30%;
  }
  .submit-btn-section{
    flex-direction: column;
  }
  .c-btn{
    width:100%;
    font-weight:normal;
    padding:1.5rem 0;
  }
}