/* --------------------------------- *
 * style reset
 * --------------------------------- */
body {
  width: 100%;
}

html {
  scroll-behavior: smooth;
}

h3 {
  font-size: 1.1rem;
}

.content-box h3 + article a,
.content-box h2 + article a {
  color: inherit;
}

.content-box h3 + article a:hover,
.content-box h2 + article a:hover {
  text-decoration: inherit;
}

.content-box h3 {
  margin: 16px -8px 8px;
}

.button {
  margin: 8px;
}

.button.disable {
  background: #c1c6c8;
  color: #53565a;
  cursor: not-allowed;
}

.button.disable:hover {
  background: #c1c6c8;
  color: #53565a;
}

.button.disable:hover:before {
  border-right: 2px dashed #fffff3;
  border-left: 2px dashed #fffff3;
}

p {
  text-indent: 0;
}

hr.hr {
  border-top: 1px dotted gray;
  margin: 32px 0;
}
.display_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.display_flex.reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .display_flex {
    display: block;
  }
}
.display_flex .wd50 {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .display_flex .wd50 {
    width: 100%;
  }
}

/* --------------------------------- *
 * common
 * --------------------------------- */
h4.question {
  position: relative;
  margin: 0 -8px;
  padding: 0;
  font-size: 1.1rem;
  border-bottom: 1px solid #ccc;
}

h4.question::before {
  color: #ef3340;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f059";
  display: inline-block;
  -ms-flex-item-align: center;
      align-self: center;
  width: 1.6rem;
  height: 1.6rem;
  text-align: center;
  font-size: 1.2rem;
  margin-left: .4rem;
}

.content-box h3 {
  margin-bottom: 8px;
}

.open {
  color: #00ab84;
}

.must {
  color: #ef3340;
}

dl.table {
  margin: 0 16px 16px;
  display: grid;
  grid-template-columns: 16rem 1fr;
}

dl.table dt, dl.table dd {
  margin-bottom: 0;
  border-bottom: 1px solid gray;
  padding: .4rem;
}

@media screen and (max-width: 767px) {
  dl.table {
    display: block;
  }
  dl.table dt {
    border-bottom: 0;
  }
}

.status_area {
  margin: 16px;
  position: -webkit-sticky;
  position: sticky;
  z-index: 10;
  top: 0;
}

.status_area dl {
  margin-bottom: 16px;
}

.status_area dl dt, .status_area dl dd {
  display: inline-block;
  height: 3.6rem;
  padding: 0 1.2rem;
  font-size: 1.2rem;
  line-height: 3.6rem;
  -webkit-box-shadow: 0 2px 2px #ccc;
          box-shadow: 0 2px 2px #ccc;
}

.status_area dl dd {
  border-left: 2px dashed #fffff3;
}

.status_area dl .ok {
  background-color: #00b08b;
}

.status_area dl .ng {
  background-color: #f4da40;
}

.radio_button_area input[type=radio] {
  display: none;
}

.radio_button_area label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  margin: .8rem;
  padding: .8rem 1.2rem;
  color: #888;
  background-color: #f2f0a1;
  border-radius: .8rem;
  -webkit-box-shadow: 0 1px 1px #ccc;
          box-shadow: 0 1px 1px #ccc;
}

.radio_button_area label:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f068";
  display: inline-block;
  -ms-flex-item-align: center;
      align-self: center;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 8px;
}

.radio_button_area label:after {
  top: 8px;
  bottom: 8px;
  right: 8px;
  left: 8px;
  position: absolute;
  border-right: 2px dashed #FFFFF3;
  border-left: 2px dashed #FFFFF3;
  content: "";
}

.radio_button_area label.disable {
  background: #c1c6c8;
  color: #53565a;
  cursor: not-allowed;
}

.radio_button_area label.disable:hover {
  background: #c1c6c8;
  color: #53565a;
}

.radio_button_area input[type="radio"]:checked + label {
  background-color: #FF9534;
  color: #fff;
}

.radio_button_area input[type="radio"]:checked + label:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f00c";
  display: inline-block;
  -ms-flex-item-align: center;
      align-self: center;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 8px;
}

.radio_button_area.w240 label {
  width: 240px;
}

.checkbox_area input[type=checkbox] {
  display: none;
}

.checkbox_area label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  margin: .8rem;
  padding: .8rem 1.2rem;
  color: #888;
  background-color: #f2f0a1;
  border-radius: .8rem;
  -webkit-box-shadow: 0 1px 1px #ccc;
          box-shadow: 0 1px 1px #ccc;
}

.checkbox_area label:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  content: "\f0c8";
  display: inline-block;
  -ms-flex-item-align: center;
      align-self: center;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 8px;
}

.checkbox_area label:after {
  top: 8px;
  bottom: 8px;
  right: 8px;
  left: 8px;
  position: absolute;
  border-right: 2px dashed #FFFFF3;
  border-left: 2px dashed #FFFFF3;
  content: "";
}

.checkbox_area input[type="checkbox"]:checked + label {
  background-color: #FF9534;
  color: #fff;
}
.checkbox_area input[type="checkbox"]:checked + label.readonly {
  background: #c1c6c8;
  color: #53565a;
  cursor: not-allowed;
}

.checkbox_area input[type="checkbox"]:checked + label:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f14a";
}

.checkbox_pass_button {
  display: inline-block;
}

.checkbox_pass_button input[type=checkbox] {
  display: none;
}

.checkbox_pass_button label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  margin: .8rem;
  padding: .8rem 1.2rem;
  background-color: #f2f0a1;
  color: #888;
  -webkit-box-shadow: 0 1px 1px #ccc;
          box-shadow: 0 1px 1px #ccc;
}

.checkbox_pass_button label:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  content: "\f070";
  display: inline-block;
  -ms-flex-item-align: center;
      align-self: center;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 8px;
}

.checkbox_pass_button label:after {
  top: 8px;
  bottom: 8px;
  right: 8px;
  left: 8px;
  position: absolute;
  border-right: 2px dashed #FFFFF3;
  border-left: 2px dashed #FFFFF3;
  content: "";
}

.checkbox_pass_button input[type="checkbox"]:checked + label {
  background-color: #FF9534;
  color: #fff;
}

.checkbox_pass_button input[type="checkbox"]:checked + label:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  content: "\f06e";
}

.inner_button {
  padding: 10px 15px;
  display: inline-block;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  font-size: 1.05rem;
  cursor: pointer;
  background: #FFBFD6;
}

.inner_button a {
  text-decoration: none;
  color: #7A4B35;
}

.inner_button:before {
  top: 5px;
  bottom: 5px;
  right: 5px;
  left: 5px;
  position: absolute;
  border-right: 2px dashed #FFFFF3;
  border-left: 2px dashed #FFFFF3;
  content: "";
}

.inner_button:hover {
  text-decoration: none;
  color: #FFF8FB;
}

.inner_button:hover a {
  text-decoration: none;
  color: #FFF8FB;
}

.inner_button:hover:before {
  border-right: 2px dashed #7A4B35;
  border-left: 2px dashed #7A4B35;
}

.link {
  color: #4787ed;
  border-bottom: 2px dotted #4787ed;
}

input[type="text"]:-moz-read-only, input[type="number"]:-moz-read-only, input[type="tel"]:-moz-read-only, input[type="email"]:-moz-read-only, input[type="url"]:-moz-read-only, input[type="password"]:-moz-read-only, textarea:-moz-read-only {
  background-color: #bbbcbc;
}

input[type="text"]:read-only,
input[type="number"]:read-only,
input[type="tel"]:read-only,
input[type="email"]:read-only,
input[type="url"]:read-only,
input[type="password"]:read-only,
textarea:read-only {
  background-color: #bbbcbc;
}

@media screen and (max-width: 767px) {
  input[type="text"],
  input[type="number"],
  input[type="tel"],
  input[type="email"],
  input[type="url"],
  input[type="password"],
  input[type="file"],
  select {
    width: 100%;
    height: 2.5rem;
  }
  textarea {
    width: 100%;
    height: 6.5rem;
  }
  .notpc {
    display: block;
  }
  li.notpc {
    display: block;
  }
}

/* --------------------------------- *
 * card
 * --------------------------------- */
.card_wrap {
  position: relative;
  width: 486px;
  height: 306px;
  margin: 0 auto;
}

.card_wrap .name {
  position: absolute;
  top: 100px;
  left: 30px;
  font-size: 1.4rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .card_wrap .name {
    top: 60px;
    left: 20px;
    font-size: 1.0rem;
  }
}

.card_wrap .romaji {
  position: absolute;
  top: 136px;
  left: 30px;
  font-size: 0.8rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .card_wrap .romaji {
    top: 86px;
    left: 20px;
    font-size: 0.7rem;
  }
}

.card_wrap img.image {
  margin-top: 80px;
  height: 144px;
}

@media screen and (max-width: 767px) {
  .card_wrap img.image {
     margin-top: 52px;
     height: 96px;
  }
}

.card_wrap dl {
  position: absolute;
  top: 170px;
  left: 30px;
  display: grid;
  width: 280px;
  grid-template-columns: 5rem 1fr;
}

.card_wrap dl dt, .card_wrap dl dd {
  line-height: 1.1rem;
}

.card_wrap dl dt {
  font-size: 0.8rem;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .card_wrap dl {
    top: 108px;
    left: 20px;
    font-size: 0.7rem;
    grid-template-columns: 60px 1fr;
  }
  .card_wrap dl dt, .card_wrap dl dd {
    height: .7rem;
    line-height: 1.0rem;
  }
  .card_wrap dl dt {
    font-size: 0.7rem;
  }
  .card_wrap dl dd {
    font-size: 0.8rem;
  }
}

@media screen and (max-width: 767px) {
  .card_wrap {
    width: 320px;
    height: 201px;
  }
}

.card1 {
  background: url("../images/card1.png") center center no-repeat;
  background-size: 486px 306px;
}

@media screen and (max-width: 767px) {
  .card1 {
    background-size: 320px 201px;
  }
}

.card2 {
  background: url("../images/card2.png") center center no-repeat;
  background-size: 486px 306px;
}

@media screen and (max-width: 767px) {
  .card2 {
    background-size: 320px 201px;
  }
}

.card3 {
  background: url("../images/card3.png") center center no-repeat;
  background-size: 486px 306px;
}

@media screen and (max-width: 767px) {
  .card3 {
    background-size: 320px 201px;
  }
}

.card4 {
  background: url("../images/card4.png") center center no-repeat;
  background-size: 486px 306px;
}

@media screen and (max-width: 767px) {
  .card4 {
    background-size: 320px 201px;
  }
}

.card5 {
  background: url("../images/card5.png") center center no-repeat;
  background-size: 486px 306px;
}

@media screen and (max-width: 767px) {
  .card5 {
    background-size: 300px 186px;
  }
}

.card6 {
  background: url("../images/card6.png") center center no-repeat;
  background-size: 486px 306px;
}

@media screen and (max-width: 767px) {
  .card6 {
    background-size: 300px 186px;
  }
}

/* --------------------------------- *
 * attachmentAction
 * --------------------------------- */
#preview {
  max-width: 300px;
  margin: 16px;
}

#preview i {
  font-size: 8rem;
}

/* --------------------------------- *
 * .alert_box
 * --------------------------------- */
.alert_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 1%;
  margin-bottom: 16px;
  padding: 8px;
  width: 72%;
  border-radius: 8px;
  font-size: 0.9rem;
  color: #7C3A2D;
}
@media screen and (max-width: 980px) {
  .alert_box {
    width: 96%;
  }
}
.alert_box .text {
  height: 1.6rem;
  line-height: 1.6rem;
}
.alert_box:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.alert_box.note {
  border: 1px solid #F5DD00;
  background-color: #FEFCE6;
}
.alert_box.note:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f06a';
  display: inline-block;
  -ms-flex-item-align: center;
      align-self: center;
  width: 1.6rem;
  height: 1.6rem;
  line-height: 1.6rem;
  text-align: center;
  font-size: 1.2rem;
  margin-left: .4rem;
}
.alert_box.warn {
  color: #fff;
  background-color: #d93a3d;
  letter-spacing: .1rem;
  font-size: 1.0rem;
}
.alert_box.warn:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f071';
  display: inline-block;
  -ms-flex-item-align: center;
      align-self: center;
  width: 1.6rem;
  height: 1.6rem;
  line-height: 1.6rem;
  text-align: center;
  font-size: 1.2rem;
  margin-left: .4rem;
  margin-right: .4rem;
}

#Mypage_index .menu_wrap,
#mypage_index .menu_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#Mypage_index .menu_btn,
#mypage_index .menu_btn {
  width: 8rem;
  height: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#Mypage_index .menu_btn .badge_icon,
#mypage_index .menu_btn .badge_icon {
  position: absolute;
  top: -4px;
  right: -4px;
  border-radius: 50%;
  width: 1.2rem;
  height: 1.2rem;
  color: #ff0000;
}

#Mypage_index .menu_icon,
#mypage_index .menu_icon {
  margin: 0 4px 0 -4px;
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  #Mypage_index h1.title,
  #mypage_index h1.title {
    margin: 16px auto;
  }
}

#Mypage_index .info_mypage,
#mypage_index .info_mypage {
  margin: 24px 0;
  border: 1px solid #FFDAA5;
}
#Mypage_index .info_mypage article,
#mypage_index .info_mypage article {
  margin: 16px;
}
#Mypage_index .lcp_catlist,
#mypage_index .lcp_catlist {
  border-bottom: 1px dashed #9D9898;
}

.grid_container_4 {
	display: grid;
	margin: 8px 8px 32px;
	text-align: center;
	grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
.grid_container {
	grid-template-columns: 100%;
}
}
#application_attachment .upload-croppie-wrap .upload-croppie-before,
#certification_attachment .upload-croppie-wrap .upload-croppie-before {
  display: block;
}
#application_attachment .upload-croppie-wrap.ready .upload-croppie-before,
#certification_attachment .upload-croppie-wrap.ready .upload-croppie-before {
  display: none;
}
#application_attachment .upload-croppie-wrap .upload-croppie-after,
#certification_attachment .upload-croppie-wrap .upload-croppie-after {
  display: none;
}
#application_attachment .upload-croppie-wrap.ready .upload-croppie-after,
#certification_attachment .upload-croppie-wrap.ready .upload-croppie-after {
  display: block;
}
#application_attachment .upload-msg,
#certification_attachment .upload-msg {
  text-align: center;
  padding: 56px;
  font-size: 1.2rem;
  color: #aaa;
  margin: 16px auto;
  border: 1px solid #aaa;
}
#application_attachment .file-btn,
#certification_attachment .file-btn {
  position: relative;
}
#application_attachment .file-btn input[type="file"],
#certification_attachment .file-btn input[type="file"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
#application_attachment .cr-viewport,
#certification_attachment .cr-viewport {
  background: url("../images/guid2.png") center center no-repeat;
  background-size: 300px 400px;
}
#application_attachment #result_img,
#certification_attachment #result_img {
  margin: 0 auto;
}
