@charset "UTF-8";
/* ======== web fonts import ======== */
/* ======== common settings ======== */
/* ----- settings ----- */
html {
  font-size: 62.5%;
  overflow: auto;
}

body {
  width: 100%;
  background-color: #FFFFFF;
  line-height: 1.8;
  -webkit-text-size-adjust: none;
  font-family: "游ゴシック体", 'YuGothic', "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", 'Meiryo', "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  overflow-wrap: break-word;
  overflow: hidden;
  position: relative;
  min-height: 100vh;
  padding-bottom: 300px;
  box-sizing: border-box;
}

html.isNoScroll,
body.isNoScroll {
  overflow: hidden;
}

img {
  width: 100%;
  vertical-align: bottom;
}

a {
  color: #000000;
  text-decoration: none;
}

p a {
  color: #144886;
  font-weight: bold;
  text-decoration: underline;
}

p a:hover {
  text-decoration: none;
}

sup {
  font-size: 70%;
  vertical-align: top;
}

/* ======== utility style ======== */
/* ----- media display ----- */
.sp {
  display: none !important;
}

/* ----- clearfix ----- */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.clearfix:before {
  content: "";
  display: block;
  clear: both;
}

.clearfix {
  display: block;
}

/* ----- width ----- */
.width600PX {
  width: 600px;
}

.width500PX {
  width: 500px;
}

.width400PX {
  width: 400px;
}

.width300PX {
  width: 300px;
}

.width250PX {
  width: 250px
}

.width200PX {
  width: 200px;
}

.width180PX {
  width: 180px;
}

.width100PX {
  width: 100px;
}

.width80PX {
  width: 80px;
}

.width70PX {
  width: 70px;
}

.widthMax750PX {
  max-width: 750px;
}

.width100 {
  width: 100%;
}

.width95 {
  width: 95%;
}

.width90 {
  width: 90%;
}

.width85 {
  width: 85%;
}

.width80 {
  width: 80%;
}

.width75 {
  width: 75%;
}

.width70 {
  width: 70%;
}

.width65 {
  width: 65%;
}

.width60 {
  width: 60%;
}

.width55 {
  width: 55%;
}

.width50 {
  width: 50%;
}

.width45 {
  width: 45%;
}

.width40 {
  width: 40%;
}

.width35 {
  width: 35%;
}

.width30 {
  width: 30%;
}

.width25 {
  width: 25%;
}

.width20 {
  width: 20%;
}

.width15 {
  width: 15%;
}

.width10 {
  width: 10%;
}

.width5 {
  width: 5%;
}

/* ----- margin ----- */
/* margin-top */
.mgTLL {
  margin-top: 100px !important;
}

.mgT80 {
  margin-top: 80px !important;
}

.mgT70 {
  margin-top: 70px !important;
}

.mgT60 {
  margin-top: 60px !important;
}

.mgTL {
  margin-top: 50px !important;
}

.mgTML {
  margin-top: 35px !important;
}

.mgTMM {
  margin-top: 30px !important;
}

.mgTM {
  margin-top: 25px !important;
}

.mgTS {
  margin-top: 15px !important;
}

.mgTSS {
  margin-top: 10px !important;
}

.mgT0 {
  margin-top: 0 !important;
}

/* margin-bottom */
.mgBLL {
  margin-bottom: 100px !important;
}

.mgB80 {
  margin-bottom: 80px !important;
}

.mgB70 {
  margin-bottom: 70px !important;
}

.mgB60 {
  margin-bottom: 60px !important;
}

.mgBL {
  margin-bottom: 50px !important;
}

.mgBML {
  margin-bottom: 35px !important;
}

.mgBMM {
  margin-bottom: 30px !important;
}

.mgBM {
  margin-bottom: 25px !important;
}

.mgBSM {
  margin-bottom: 20px !important;
}

.mgBS {
  margin-bottom: 15px !important;
}

.mgBSS {
  margin-bottom: 10px !important;
}

.mgB0 {
  margin-bottom: 0 !important;
}

/* margin-left */
.mgL100 {
  margin-left: 100px !important;
}

.mgL50 {
  margin-left: 50px !important;
}

.mgL40 {
  margin-left: 40px !important;
}

.mgL35 {
  margin-left: 35px !important;
}

.mgL30 {
  margin-left: 30px !important;
}

.mgL25 {
  margin-left: 25px !important;
}

.mgL20 {
  margin-left: 20px !important;
}

.mgL10 {
  margin-left: 10px !important;
}

.mgL5 {
  margin-left: 5px !important;
}

.mgL0 {
  margin-left: 0 !important;
}

/* margin-right */
.mgR100 {
  margin-right: 100px !important;
}

.mgR50 {
  margin-right: 50px !important;
}

.mgR40 {
  margin-right: 40px !important;
}

.mgR35 {
  margin-right: 35px !important;
}

.mgR30 {
  margin-right: 30px !important;
}

.mgR25 {
  margin-right: 25px !important;
}

.mgR20 {
  margin-right: 20px !important;
}

.mgR15 {
  margin-right: 15px !important;
}

.mgR10 {
  margin-right: 10px !important;
}

.mgR5 {
  margin-right: 5px !important;
}

.mgR0 {
  margin-right: 0 !important;
}

/* ----- padding ----- */
/* padding-top */
.pdTLL {
  padding-top: 100px !important;
}

.pdTL {
  padding-top: 50px !important;
}

.pdTM {
  padding-top: 25px !important;
}

.pdTS {
  padding-top: 15px !important;
}

.pdTSS {
  padding-top: 10px !important;
}

/* padding-bottom */
.pdBLL {
  padding-bottom: 100px !important;
}

.pdBL {
  padding-bottom: 50px !important;
}

.pdBM {
  padding-bottom: 25px !important;
}

.pdBS {
  padding-bottom: 15px !important;
}

.pdBSS {
  padding-bottom: 10px !important;
}

/* padding-left */
.pdL5 {
  padding-left: 5px !important;
}

.pdL10 {
  padding-left: 10px !important;
}

.pdL15 {
  padding-left: 15px !important;
}

.pdL20 {
  padding-left: 20px !important;
}

.pdL25 {
  padding-left: 25px !important;
}

.pdL30 {
  padding-left: 30px !important;
}

.pdL35 {
  padding-left: 35px !important;
}

.pdL40 {
  padding-left: 40px !important;
}

.pdL45 {
  padding-left: 45px !important;
}

.pdL50 {
  padding-left: 50px !important;
}

/* padding-right */
.pdR5 {
  padding-right: 5px !important;
}

.pdR10 {
  padding-right: 10px !important;
}

.pdR15 {
  padding-right: 15px !important;
}

.pdR20 {
  padding-right: 20px !important;
}

.pdR25 {
  padding-right: 25px !important;
}

.pdR30 {
  padding-right: 30px !important;
}

.pdR35 {
  padding-right: 35px !important;
}

.pdR40 {
  padding-right: 40px !important;
}

.pdR45 {
  padding-right: 45px !important;
}

.pdR50 {
  padding-right: 50px !important;
}

/* ----- font ----- */
.mincho {
  font-family: 'Noto Serif JP', serif !important;
}

/* ----- text ----- */
.taL {
  text-align: left !important;
}

.taC {
  text-align: center !important;
}

.taR {
  text-align: right !important;
}

.vaT {
  vertical-align: top !important;
}

.vaM {
  vertical-align: middle !important;
}

.vaB {
  vertical-align: bottom !important;
}

.fwB {
  font-weight: bold !important;
}

.fwN {
  font-weight: normal !important;
}

.fs36 {
  font-size: 36px !important;
  font-size: 3.6rem !important;
}

.fs20 {
  font-size: 20px !important;
  font-size: 2rem !important;
}

.fs19 {
  font-size: 19px !important;
  font-size: 1.9rem !important;
}

.fs18 {
  font-size: 18px !important;
  font-size: 1.8rem !important;
}

.fs17 {
  font-size: 17px !important;
  font-size: 1.7rem !important;
}

.fs16 {
  font-size: 16px !important;
  font-size: 1.6rem !important;
}

.fs15 {
  font-size: 15px !important;
  font-size: 1.5rem !important;
}

.fs14 {
  font-size: 14px !important;
  font-size: 1.4rem !important;
}

.fs13 {
  font-size: 13px !important;
  font-size: 1.3rem !important;
}

.fs12 {
  font-size: 12px !important;
  font-size: 1.2rem !important;
}

.fs11 {
  font-size: 11px !important;
  font-size: 1.1rem !important;
}

.lhLL {
  line-height: 2 !important;
}

.lhL {
  line-height: 1.8 !important;
}

.lhM {
  line-height: 1.5 !important;
}

.lhS {
  line-height: 1 !important;
}

.Box_mb01 {
  margin-bottom: 50px;
}

.Box_mb02 {
  margin-bottom: 80px;
}

.Box_mb03 {
  margin-bottom: 80px;
}

.Box_mb04 {
  margin-bottom: 30px;
}

/* ----- background ----- */
.bg_gy {
  background: #F8F8F8;
  padding: 30px 0px;
}

.back_gy {
  position: relative;
  z-index: 0;
  margin-top: 20px;
}

/* ----- indent ----- */
.pdL5 {
  text-indent: 0.5em;
}

.indent1em {
  text-indent: 1em;
}

.indent1-5em {
  text-indent: 1.5em;
}

.indent2em {
  text-indent: 2em;
}

.indent2-5em {
  text-indent: 2.5em;
}

/* ----- layout ----- */
main section .inner {
  max-width: 1024px;
  margin: 0 auto;
}

main section.bgLBL {
  background: #EBF7FF;
  padding-top: 30px;
  padding-bottom: 30px;
}

main section.bgLGY {
  background: #F8F8F8;
  padding-top: 80px;
  padding-bottom: 30px;
}

.heading01 {
  font-size: 3rem;
  font-weight: bold;
  background: #EBF7FF;
  text-align: center;
  height: 150px;
  position: relative;
  line-height: 1.5;
  margin-bottom: 40px;
}

.heading01 span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
}

.heading02 {
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 10px 60px 10px 20px;
  background: #F8F8F8;
  border-left: 4px solid #144886;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
}

.heading02.accordion {
  position: relative;
  cursor: pointer;
}

.heading02.accordion:after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/ico_heading_accordion.png) no-repeat left top/100% auto;
  position: absolute;
  top: 50%;
  margin-top: -20px;
  right: 10px;
}

.heading02.accordion.active:after {
  background-position: left bottom;
}

.heading02 + .accordionContent {
  display: none;
}

.heading02 + .accordionContent .btnBox {
  margin-top: 0;
}

.head02 {
  margin-bottom: 30px;
  padding: 10px 60px 10px 20px;
  background: #F8F8F8;
  border-left: 4px solid #144886;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
}

.topHeading02 {
  margin-bottom: 40px;
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 1px;
}

.heading03 {
  margin-bottom: 20px;
  color: #144886;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
}

.heading03.bullet span {
  display: inline-block;
  position: relative;
  padding-left: 15px;
}

.heading03.bullet span:after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #144886;
  border-radius: 50%;
  margin-right: 5px;
  position: absolute;
  top: 10px;
  left: 0;
}

.heading04 {
  margin-bottom: 15px;
  font-size: 1.6rem;
  font-weight: bold;
}

.heading05 {
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 10px 20px 10px 70px;
  background: #F8F8F8;
  /* border-left: 4px solid #144886; */
  font-size: 1.8rem;
  line-height: 1.5;
  color: #144886;
}

.heading05 span {
  color: #707070;
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -15px;
  right: 10px;
}

.heading05.accordion {
  position: relative;
  cursor: pointer;
}

.heading05.accordion:after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url(../img/ico_heading_accordion.png) no-repeat left top/100% auto;
  position: absolute;
  top: 50%;
  margin-top: -15px;
  left: 10px;
  /* +-アイコンの表示を制御 bottomだと-、topだと+ */
  background-position: left bottom;
}

.heading05.accordion.active:after {
  /* +-アイコンの表示を制御 bottomだと-、topだと+ */
  background-position: left top;
}

.heading05 + .accordionContent {
  /* デフォルトで表示された状態にするにはblock、閉じた状態にするにはnoneを指定 */
  display: block;
  margin: 30px 20px;
}

.heading05 + .accordionContent .btnBox {
  margin-top: 0;
}

.heading06 {
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 10px 60px 10px 10px;
  background: #F8F8F8;
  /* border-left: 4px solid #144886; */
  font-size: 1.8rem;
  line-height: 1.5;
  color: #144886;
}

.heading06 + .accordionContent {
  display: none;
  margin: 30px 20px;
}

.heading06 + .accordionContent .btnBox {
  margin-top: 0;
}

.questionAccordion {
  position: relative;
  cursor: pointer;
}

.questionAccordion:after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url(../img/ico_arrow_accordion.png) no-repeat left top/100% auto;
  position: absolute;
  top: 50%;
  margin-top: -15px;
  right: 20px;
}

.questionIcon::after{
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(../img/ico_question.png) no-repeat left top/100% auto;
  margin-right: 10px;
}

.questionText{
  vertical-align: super;
}

.questionAccordion.active:after {
  background-position: left bottom;
}

/* /.質問アコーディオンの仮作成中 */

.btnBox {
  margin-top: 30px;
  letter-spacing: -0.4em;
  position: relative;
}

.btn.type01 {
  letter-spacing: normal;
  margin-bottom: 20px;
}

.btn.type01 a {
  display: block;
  margin: 0 auto;
  padding: 11px 10px;
  border: 2px solid #FFD371;
  background: #FFD371;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 3px 0 0 #E5AD30;
  transform: translateY(-3px);
  transition: 0.3s;
}

.btn.type01 a.wh {
  background: #FFFFFF;
}

.btn.type01 a.re {
  background: #B60A0A;
  border: 2px solid #B60A0A;
  color: #FFFFFF;
  box-shadow: 0 3px 0 0 #9A0000;
}

.btn.type01 a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.btn.type01 a.widthFixed {
  width: 300px;
}

.btn.type02 {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  width: 48.5%;
  margin-right: 3%;
  margin-bottom: 30px;
}

.btn.type02:nth-child(2n) {
  margin-right: 0;
}

.btn.type02 a {
  display: block;
  background: #FFFFFF;
  width: 100%;
  height: 80px;
  overflow: hidden;
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  position: relative;
  transition: 0.3s;
}

.btn.type02 a:hover {
  opacity: 0.7;
}

.btn.type02 a:before {
  content: "";
  display: block;
  width: 22px;
  height: 100%;
  background: #FFC034;
  position: absolute;
  top: 0;
  right: 0;
}

.btn.type02 a:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #FFFFFF;
  position: absolute;
  top: 50%;
  margin-top: -4px;
  right: 6px;
}

.btn.type02 a span {
  display: inline-block;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.btn.type02 a + p {
  margin-top: 10px;
  font-size: 14px;
}

.btn.type03 {
  letter-spacing: normal;
  width: 427px;
  margin: 35px auto 0;
}

.btn.type03:first-child {
  margin-top: 0;
}

.btn.type03 a {
  display: table;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  background: #FFFFFF;
  border: 2px solid #FFC034;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 3px 0 0 #E5AD30;
  transform: translateY(-3px);
  transition: 0.3s;
}

.btn.type03 a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.btn.type03 a span {
  display: table-cell;
}

.btn.type03 a span.ico {
  width: 80px;
  height: 100%;
}

.btn.type03 a span.ico.icoIndividual {
  background: url(../img/ico_btn_regist_individual.png) no-repeat center center/23px 30px;
  background-color: #FFC034;
}

.btn.type03 a span.ico.icoEnterprise {
  background: url(../img/ico_btn_regist_enterprise.png) no-repeat center center/23px 30px;
  background-color: #FFC034;
}

.btn.type03 a span.txt {
  padding: 15px;
}

.btn.type03 .indexTop a span.txt  {
  padding: 2px;
}

.btn.type04 {
  letter-spacing: normal;
  margin-bottom: 20px;
}

.btn.type04 p {
  width: 500px;
}

.btn.type04 a {
  display: block;
  margin: 0 auto;
  padding: 11px 10px;
  border: 2px solid #FFD371;
  background: #FFD371;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 3px 0 0 #E5AD30;
  transform: translateY(-3px);
  transition: 0.3s;
}

.btn.type04 a.wh {
  background: #FFFFFF;
}

.btn.type04 a.re {
  background: #B60A0A;
  border: 2px solid #B60A0A;
  color: #FFFFFF;
  box-shadow: 0 3px 0 0 #9A0000;
}

.btn.type04 a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.btn.type04 a.widthFixed {
  width: 300px;
}

.btn.back {
  letter-spacing: normal;
  width: 140px;
}

.btn.back a {
  display: block;
  margin: 0 auto;
  padding: 11px 10px;
  background: #FFFFFF;
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 3px 0 0 #C9C9C9;
  transform: translateY(-3px);
  transition: 0.3s;
}

.btn.back a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.btn.cancel {
  letter-spacing: normal;
  width: 140px;
}

.btn.cancel a {
  display: block;
  margin: 0 auto;
  padding: 11px 10px;
  background: #E3E3E3;
  border: 2px solid #E3E3E3;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 3px 0 0 #ACACAC;
  transform: translateY(-3px);
  transition: 0.3s;
}

.btn.cancel a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.btn.pager {
  position: absolute;
  top: 0;
  right: 0;
}

.btn.pager .prev,
.btn.pager .next {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  margin: 0 auto;
  padding: 26px 0 5px;
  width: 80px;
  background: #F8F8F8;
  border: 2px solid #F8F8F8;
  border-radius: 5px;
  font-size: 1.6rem;
  font-weight: normal;
  text-align: center;
  box-shadow: 0 3px 0 0 #C9C9C9;
  transform: translateY(-3px);
  transition: 0.3s;
}

.btn.pager .prev:hover,
.btn.pager .next:hover {
  box-shadow: none;
  transform: translateY(0);
}

.btn.pager .prev:after,
.btn.pager .next:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 8px 5px 0;
  border-color: transparent #707070 transparent transparent;
  position: absolute;
  top: 20%;
  margin-left: -5px;
  left: 50%;
}

.btn.pager .next {
  margin-left: 20px;
}

.btn.pager .next:after {
  transform: rotate(180deg);
}

.btn.edit {
  float: right;
  letter-spacing: normal;
}

.btn.edit a {
  display: block;
  margin: 0 auto;
  width: 150px;
  padding: 5px 10px;
  background: #FFFFFF;
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 3px 0 0 #C9C9C9;
  transform: translateY(-3px);
  transition: 0.3s;
}

.btn.edit button {
  display: block;
  margin: 0 auto;
  width: 150px;
  padding: 5px 10px;
  background: #FFFFFF;
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 3px 0 0 #C9C9C9;
  transform: translateY(-3px);
  transition: 0.3s;
}

.btn.edit a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.btn.edit button:hover {
  box-shadow: none;
  transform: translateY(0);
}

.btn.radio {
  display: inline-block;
  vertical-align: top;
  letter-spacing: normal;
  width: 48.5%;
  margin-right: 3%;
}

.btn.radio:nth-child(2n) {
  margin-right: 0;
}

.btn.radio input[type="radio"] {
  opacity: 0;
  width: 0;
  height: 0;
}

.btn.radio input[type="radio"] + label {
  display: block;
  width: 100%;
  cursor: pointer;
  padding: 15px 10px;
  background: #FFFFFF;
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 3px 0 0 #C9C9C9;
  transform: translateY(-3px);
  transition: 0.3s;
}

.btn.radio input[type="radio"] + label:hover {
  box-shadow: none;
  transform: translateY(0);
}

.btn.radio input[type="radio"]:checked + label {
  background: #144886;
  border: 2px solid #144886;
  box-shadow: 0 3px 0 0 #06264D;
  color: #FFFFFF;
}

.btn.radio input[type="radio"]:checked + label:hover {
  box-shadow: none;
  transform: translateY(0);
}

/* モーダルボタン */
.modalBtn {
  display: inline-block;
  vertical-align: top;
  letter-spacing: normal;
  width: 48.5%;
  min-width: 170px;
}

.btn.type01.modalBtn a{
  background: #144886;
  border: 2px solid #144886;
  box-shadow: 0 3px 0 0 #06264D;
  color: #FFFFFF;
  text-decoration: none;
}

.btn.type01.modalBtn a.white{
  background: #FFFFFF;
  border: 2px solid #D9D9D9;
  box-shadow: 0 3px 0 0 #C9C9C9;
  color:#000000;
  margin-left: 3%;
}

.btnBox.layout01 .btn.type01 + .back {
  position: absolute;
  top: 0;
  left: 0;
}

.btnBox.layout01 .btn.type01 + .cancel {
  position: absolute;
  top: 0;
  left: 0;
}

.btnBox.layout02 .left {
  float: left;
  letter-spacing: -0.4em;
}

.btnBox.layout02 .left .btn {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  margin-left: 30px;
}

.btnBox.layout02 .right {
  float: right;
  letter-spacing: -0.4em;
}

.btnBox.layout02 .right .btn {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  margin-left: 30px;
}

.btnBox.layout02 .right .btn:first-child {
  margin-left: 0;
}

.btnBox.layout02 .back {
  position: absolute;
  top: 0;
  left: 0;
}

.btnBox.layout02 .cancel {
  position: absolute;
  top: 0;
  left: 0;
}

.btnBox.layout03 .right {
  float: right;
  letter-spacing: -0.4em;
}

.btnBox.layout03 .right .btn {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  margin-left: 30px;
}

.btnBox.layout03 .right .btn:first-child {
  margin-left: 0;
}

.btnBox.layout03 .tex {
  padding: 30px 0 20px 0;
  letter-spacing: normal;
  margin: 0 auto;
  /*width: 830px;*/
}

.btnBox.layout03 .back {
  position: absolute;
  top: 0;
  left: 0;
}

.btnBox.layout03 .cancel {
  position: absolute;
  top: 0;
  left: 0;
}

.steps ol {
  list-style: none;
  margin-bottom: 80px;
}

.steps ol li {
  float: left;
  width: 25%;
  height: 60px;
  text-align: center;
  line-height: 1.5;
  background: #F8F8F8;
  padding-top: 5px;
  font-weight: bold;
  position: relative;
}

.steps ol li:after {
  content: "";
  display: block;
  width: 26.5px;
  height: 100%;
  background: url(../img/bg_steps02.png) no-repeat left top/100% 100%;
  position: absolute;
  top: 0;
  right: -13.25px;
  z-index: 2;
}

.steps ol li.current {
  background: #144886;
  color: #FFFFFF;
}

.steps ol li.current:before {
  content: "";
  display: block;
  width: 26.5px;
  height: 100%;
  background: url(../img/bg_steps03.png) no-repeat left top/100% 100%;
  position: absolute;
  top: 0;
  left: -13.25px;
  z-index: 2;
}

.steps ol li.current:after {
  background: url(../img/bg_steps01.png) no-repeat left top/100% 100%;
  z-index: 3;
}

.steps ol li:first-child:before {
  display: none;
}

.steps ol li:last-child:after {
  display: none;
}

.steps ol li > span {
  font-size: 1.4rem;
  font-weight: normal;
}

.steps .step2 li {
  width: 50%;
}

.steps .step3 li {
  width: 33.3%;
}

.steps .step4 li {
  width: 25%;
  font-size: 1.2rem;
}

.steps .step5 li {
  width: 20%;
}

.steps .step6 li {
  width: 16.6%;
}

.steps .step7 li {
  width: 14.2%;
  font-size: 1.2rem;
}

.steps .step8 li {
  width: 12.5%;
  font-size: 1.3rem;
}

.pagenation {
  text-align: center;
  letter-spacing: -0.4em;
}

.pagenation a {
  transition: 0.3s;
}

.pagenation a:hover {
  opacity: 0.7;
}

.pagenation a, .pagenation span {
  display: inline-block;
  vertical-align: top;
  letter-spacing: normal;
  margin: 0 10px;
  height: 50px;
  line-height: 48px;
}

.pagenation a.num, .pagenation span.num {
  width: 50px;
  border: 2px solid #D9D9D9;
  border-radius: 5px;
}

.pagenation a.num.current, .pagenation span.num.current {
  background: #FFD371;
}

.pagenation a.prev, .pagenation a.next, .pagenation span.prev, .pagenation span.next {
  width: 30px;
  background: #F8F8F8;
  position: relative;
  border-radius: 5px;
}

.pagenation a.prev:after, .pagenation a.next:after, .pagenation span.prev:after, .pagenation span.next:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #707070;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -5px;
  margin-left: -4px;
}

.pagenation a.prev.skip:before, .pagenation a.next.skip:before, .pagenation span.prev.skip:before, .pagenation span.next.skip:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #707070;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -5px;
  margin-left: 1px;
}

.pagenation a.prev.skip:after, .pagenation a.next.skip:after, .pagenation span.prev.skip:after, .pagenation span.next.skip:after {
  margin-left: -8px;
}

.pagenation a.prev:after, .pagenation span.prev:after {
  transform: rotate(180deg);
}

.pagenation a.prev.skip:before, .pagenation span.prev.skip:before {
  transform: rotate(180deg);
}

.newsLists {
  margin-bottom: 50px;
}

.newsLists ul {
  list-style: none;
}

.newsLists ul li {
  display: table;
  table-layout: fixed;
  padding: 20px;
  width: 100%;
  border-bottom: 1px solid #C9DDEA;
}

.newsLists ul li:first-child {
  border-top: 1px solid #C9DDEA;
}

.newsLists ul li .date {
  display: table-cell;
  vertical-align: top;
  width: 120px;
  padding-right: 20px;
  padding-top: 2px;
  font-size: 1.4rem;
}

.newsLists ul li .title {
  display: table-cell;
  vertical-align: top;
}

.newsLists ul li .title a:hover {
  text-decoration: underline;
}

/* form関連 */
input.inputTxt,
input.inputPwd {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  display: inline-block;
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #D9D9D9;
  border-radius: 5px;
  padding: 15px;
  font-size: 1.6rem;
}

.selectParent {
  position: relative;
}

.selectParent:after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6.9px 4px 0 4px;
  border-color: #000000 transparent transparent transparent;
}

select.inputSelect {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  display: inline-block;
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #D9D9D9;
  border-radius: 5px;
  padding: 15px;
  font-size: 1.6rem;
}

.radioBox ul {
  list-style: none;
  letter-spacing: -0.4em;
}

.radioBox ul li {
  position: relative;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  margin-right: 78px;
  margin-bottom: 5px;
}

.radioBox ul li input.inputRadio {
  opacity: 0;
  position: absolute;
  left: 0px;
  outline: none;
}

.radioBox ul li label {
  padding-left: 30px;
  position: relative;
  font-weight: bold;
  padding-top: 2px;
}

.radioBox ul li label:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/ico_radio.png) no-repeat left bottom/100% auto;
}

.radioBox ul li label.checked:after {
  background: url(../img/ico_radio.png) no-repeat left top/100% auto;
}

.loginBox {
  margin-bottom: 80px;
}

.loginBox .item {
  float: left;
  width: 487px;
  margin-left: 50px;
  background: #F8F8F8;
  border-radius: 5px;
  overflow: hidden;
}

.loginBox .item:first-child {
  margin-left: 0;
}

.loginBox .item > .heading {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  color: #FFFFFF;
  padding: 5px 10px;
  background: #144886;
}

.loginBox .item .loginInner {
  padding: 30px;
}

.loginBox .item .loginInner .heading04 {
  margin-bottom: 5px;
  margin-top: 15px;
}

.loginBox .item .loginInner .heading04:first-of-type {
  margin-top: 0;
}

.loginBox .item .loginInner .forgotLink {
  margin-top: 15px;
  list-style: none;
}

.loginBox .item .loginInner .forgotLink li {
  font-size: 1.4rem;
}

.loginBox .item .loginInner .forgotLink li a {
  font-weight: bold;
  color: #144886;
  text-decoration: underline;
}

.loginBox .item .loginInner .forgotLink li a:hover {
  text-decoration: none;
}

.loginBox .item .errorMsg {
  text-align: center;
}

/* table */
.table01 {
  margin-top: 80px;
}

.table01 table {
  width: 100%;
  table-layout: fixed;
  border-bottom: 1px solid #D9D9D9;
}

.table01 table th {
  text-align: left;
  padding: 20px;
  background: #EBF7FF;
  border-top: 1px solid #D9D9D9;
  vertical-align: top;
}

.table01 table td {
  padding: 20px;
  border-top: 1px solid #D9D9D9;
}

.table01 table td .tdHeading {
  font-size: 1.6rem;
  color: #144886;
  font-weight: bold;
}

.table01 table td p {
  margin-top: 10px;
  font-size: 1.4rem;
}

.table01 + .btnBox {
  margin-top: 80px;
}

.table02 {
  margin-top: 50px;
  margin-bottom: 80px;
}

.table02 table {
  width: 100%;
  table-layout: fixed;
}

.table02 table th {
  text-align: left;
  padding: 20px 0;
}

.table02 table th .ico {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: top;
  margin-top: -2px;
}

.table02 table th .ico img {
  vertical-align: middle;
}

.table02 table td {
  padding: 0 0 10px;
}

.table02 table td .ico {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: top;
  margin-top: -2px;
}

.table02 table td .ico img {
  vertical-align: middle;
}

.table02 table td .errorTxt {
  display: block;
  color: #B60A0A;
}

.table02 table td .inputTxt,
.table02 table td .inputPwd {
  max-width: 600px;
}

.table02 table td .inputTxt120 {
  max-width: 120px;
}

.table02 table td .inputTxt120-90 {
  max-width: 120px;
}

.table02 table td .bg_gy {
  background: #F8F8F8;
}

.table02 table td p {
  display: block;
}

.table02 table td.maker p {
  display: inline-block;
  margin-left: 5px;
}

.table02 table td.maker p:first-of-type {
  margin-left: 0;
}

.table02 table td.maker p:nth-child(3n) {
  vertical-align: middle;
  text-indent: -1em;
  margin-left: 20px;
  padding-left: 1em;
}

.table02 table td.maker p.selectParent + p {
  margin-left: 30px;
}

.table02 table td.maker p input[type="button"] {
  display: inline-block;
  letter-spacing: normal;
  padding: 11px 10px;
  border: 2px solid #FFD371;
  background: #FFD371;
  border-radius: 10px;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  box-shadow: 0 5px 0 0 #E5AD30;
  transform: translateY(-3px);
  transition: 0.3s;
  width: 100px;
}

.table02 table td.maker p input[type="button"]:hover {
  box-shadow: none;
  transform: translateY(0);
}

.table02 table td.maker p .inputSelect {
  width: 200px;
}

.table02 table td.model p {
  display: inline-block;
  margin-left: 5px;
}

.table02 table td.model p:first-of-type {
  margin-left: 0;
}

.table02 table td.model p:nth-child(3n) {
  vertical-align: middle;
  text-indent: -1em;
  margin-left: 20px;
  padding-left: 1em;
}

.table02 table td.model p.selectParent + p {
  margin-left: 30px;
}

.table02 table td.model p input[type="button"] {
  display: inline-block;
  letter-spacing: normal;
  padding: 11px 10px;
  border: 2px solid #FFD371;
  background: #FFD371;
  border-radius: 10px;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  box-shadow: 0 5px 0 0 #E5AD30;
  transform: translateY(-3px);
  transition: 0.3s;
  width: 100px;
}

.table02 table td.model p input[type="button"]:hover {
  box-shadow: none;
  transform: translateY(0);
}

.table02 table td.model p .inputSelect {
  width: 200px;
}

.table02 table td.type p {
  display: inline-block;
  margin-left: 5px;
}

.table02 table td.type p:first-of-type {
  margin-left: 0;
}

.table02 table td.type p.selectParent + p {
  margin-left: 30px;
}

.table02 table td.type p .countryCode {
  display: inline-block;
  vertical-align: middle;
  background: #F8F8F8;
  border: 1px solid #D9D9D9;
  padding: 0 10px;
  border-radius: 5px 0 0 5px;
  height: 50px;
  line-height: 48px;
}

.table02 table td.type p .countryCode + .inputTxt {
  width: 147px;
  border-radius: 0 5px 5px 0;
  border-left: none;
}

.table02 table td.type p .inputSelect {
  width: 200px;
}

.table02 table td.use p {
  display: inline-block;
}

.table02 table td.use p .countryCode {
  display: inline-block;
  vertical-align: middle;
  background: #F8F8F8;
  border: 1px solid #D9D9D9;
  padding: 0 10px;
  border-radius: 5px 0 0 5px;
  height: 50px;
  line-height: 48px;
}

.table02 table td.use p .countryCode + .inputTxt {
  width: 147px;
  border-radius: 0 5px 5px 0;
  border-left: none;
}

.table02 table td.use p .inputSelect {
  width: 500px;
}

.table02 table td.birthday p {
  display: inline-block;
  margin-left: 5px;
  margin-right: 15px;
}

.table02 table td.birthday p:first-of-type {
  margin-left: 0;
}

.table02 table td.birthday p.selectParent + p {
  margin-left: 30px;
}

.table02 table td.birthday p .countryCode {
  display: inline-block;
  vertical-align: middle;
  background: #F8F8F8;
  border: 1px solid #D9D9D9;
  padding: 0 10px;
  border-radius: 5px 0 0 5px;
  height: 50px;
  line-height: 48px;
}

.table02 table td.birthday p .countryCode + .inputTxt {
  width: 147px;
  border-radius: 0 5px 5px 0;
  border-left: none;
}

.table02 table td.birthday p .inputSelect {
  width: 110px;
}

.table02 table td.birthday p .select80 {
  width: 80px;
}

.table02 table td.horizon p {
  display: inline-block;
  margin-left: 5px;
}

.table02 table td.horizon p:first-of-type {
  margin-left: 0;
}

.table02 table td.horizon p.selectParent + p {
  margin-left: 32px;
}

.table02 table td.horizon p .countryCode {
  display: inline-block;
  vertical-align: middle;
  background: #F8F8F8;
  border: 1px solid #D9D9D9;
  padding: 0 10px;
  border-radius: 5px 0 0 5px;
  height: 50px;
  line-height: 48px;
}

.table02 table td.horizon p .countryCode + .inputTxt {
  width: 147px;
  border-radius: 0 5px 5px 0;
  border-left: none;
}

.table02 table td.horizon p .inputSelect {
  width: 200px;
}

.table02 table td.address p {
  display: inline-block;
  margin-left: 5px;
}

.table02 table td.address p .inputSelect {
  width: 200px;
}

.table02 table td.radioChoice .radioBtn {
  display: inline-block;
  margin-left: 50px;
}

.table02 table td.radioChoice .radioBtn:first-of-type {
  margin-left: 0;
}

.table02 table td.size p {
  display: inline-block;
}

.table02 table td.size p:first-of-type {
  display: block;
}

.table02 table td.size p:nth-child(2) {
  margin: 10px 30px 0 0;
}

.table02 table td.size02 p {
  display: inline-block;
}

.table02 table td.size02 p:first-of-type {
  display: block;
}

.table02 table td.size02 p:nth-child(2) {
  margin: 10px 30px 0 0;
}

.table02 table td.size02 p:nth-child(3) {
  margin: 10px 30px 0 0;
}

.table02 table td.image .Step p {
  display: inline-block;
  margin-right: 50px;
}

.table02 table td.image .Step .form {
  display: inline-block;
}

.table02.comfirm th, .table02.comfirm td {
  padding: 10px 0;
  border-bottom: 1px solid #D9D9D9;
}

.table02.comfirm tr:first-child {
  border-top: 1px solid #D9D9D9;
}

.table03 {
  margin-top: 30px;
  margin-bottom: 30px;
}

.table03 table {
  width: 100%;
  table-layout: fixed;
}

.table03 table th {
  text-align: left;
  padding: 20px 0;
}

.table03 table th .ico {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: top;
  margin-top: -2px;
}

.table03 table th .ico img {
  vertical-align: middle;
}

.table03 table td {
  padding: 0 0 10px;
}

.table03 table td .ico {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: top;
  margin-top: -2px;
}

.table03 table td .ico img {
  vertical-align: middle;
}

.table03 table td .errorTxt {
  display: block;
  color: #B60A0A;
}

.table03 table td p {
  display: block;
}

.table03 table td.column2 p {
  display: inline-block;
  margin-left: 0;
}

.table03 table td.column2 p:first-of-type {
  margin-left: 0;
  margin-right: 30px;
}

.table03 table td.list_check ul {
  margin-left: 20px;
  position: relative;
}

.table03 table td.list_check ul li {
  margin-bottom: 5px;
  padding-left: 15px;
  list-style-type: none !important;
}

.table03 table td.list_check ul li:after {
  content: '';
  display: block;
  position: absolute;
  border-right: 3px solid #144886;
  border-bottom: 4px solid #144886;
  width: 8px;
  height: 14px;
  left: -15px;
  margin-top: -22px;
  transform: rotate(45deg);
}

.table03.comfirm th, .table03.comfirm td {
  padding: 15px 0;
  border-bottom: 1px solid #D9D9D9;
}

.table03.comfirm tr:first-child {
  border-top: 1px solid #D9D9D9;
}

.table04 {
  margin-top: 10px;
  margin-bottom: 50px;
}

.table04 table {
  width: 100%;
  table-layout: fixed;
}

.table04 table td {
  padding: 0 30px 0 0;
}

.table04 table td:last-of-type {
  padding-right: 0;
}

.table04 table td h4 {
  font-size: 16px;
  margin-bottom: 5px;
  padding-left: 3px;
}

.table04 table td p {
  display: block;
}

.table04 table td .ico {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: top;
  margin-top: -2px;
}

.table04 table td .ico img {
  vertical-align: middle;
}

.table04 table td .errorTxt {
  display: block;
  color: #B60A0A;
}

.table04 table td .inputTxt,
.table04 table td .inputPwd {
  max-width: 600px;
}

.table04 table td .inputTxt120 {
  max-width: 120px;
}

.table04 table td .inputTxt120-90 {
  max-width: 120px;
}

.table04.comfirm th, .table04.comfirm td {
  padding: 10px 0;
  border-bottom: 1px solid #D9D9D9;
}

.table04.comfirm tr:first-child {
  border-top: 1px solid #D9D9D9;
}

.table05 {
  margin-top: 40px;
  margin-bottom: 50px;
}

.table05 table th {
  text-align: center;
  padding: 10px 0 0;
}

.table05 table td {
  padding: 10px 0;
  text-align: center;
  vertical-align: middle;
}

.table05 table td h4 {
  display: none;
}

.table05 table td .btn.edit {
  float: right;
  letter-spacing: normal;
}

.table05 table td .btn.edit a {
  display: block;
  margin: 0 auto;
  width: 100px;
  padding: 5px 10px;
  background: #FFFFFF;
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 5px 0 0 #C9C9C9;
  transform: translateY(-3px);
  transition: 0.3s;
}

.table05 table td .btn.edit button {
  display: block;
  margin: 0 auto;
  width: 100px;
  padding: 5px 10px;
  background: #FFFFFF;
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 5px 0 0 #C9C9C9;
  transform: translateY(-3px);
  transition: 0.3s;
  cursor: pointer;
}

.table05 table td .btn.edit a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.table05 table td .btn.edit button:hover {
  box-shadow: none;
  transform: translateY(0);
}

.table05 table td .btn02.edit {
  float: right;
  letter-spacing: normal;
}

.table05 table td .btn02.edit a {
  display: block;
  margin: 0 auto;
  width: 100px;
  padding: 5px 10px;
  background: #B60A0A;
  color: #FFFFFF;
  border: 2px solid #B60A0A;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 5px 0 0 #9A0000;
  transform: translateY(-3px);
  transition: 0.3s;
}

.table05 table td .btn02.edit a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.table05.comfirm th {
  padding: 10px;
  background: #EBF7FF;
  border: 1px solid #D9D9D9;
}

.table05.comfirm td {
  padding: 10px;
  border: 1px solid #D9D9D9;
}

.table06 {
  margin-top: 40px;
  margin-bottom: 50px;
}

.table06 table th {
  text-align: center;
  padding: 10px 0 0;
}

.table06 table td {
  padding: 10px 0;
  text-align: center;
  vertical-align: middle;
}

.table06 table td.checkContainer .check input[type="checkbox"] {
  display: none;
}

.table06 table td.checkContainer .check input[type="checkbox"]:checked + .checkbox-label:before {
  border-color: #D9D9D9;
}

.table06 table td.checkContainer .check input[type="checkbox"]:checked + .checkbox-label:after {
  opacity: 1;
}

.table06 table td.checkContainer .check .checkbox-label {
  position: relative;
  display: block;
  width: auto;
  box-sizing: border-box;
  padding: 10px 17px;
}

.table06 table td.checkContainer .check .checkbox-label:before {
  content: '';
  display: block;
  position: absolute;
  background: #fff;
  border: 1px solid #D9D9D9;
  border-radius: 6px;
  width: 24px;
  height: 24px;
  top: 50%;
  left: 5px;
  margin-top: -12px;
}

.table06 table td.checkContainer .check .checkbox-label:after {
  content: '';
  display: block;
  position: absolute;
  border-right: 3px solid #144886;
  border-bottom: 4px solid #144886;
  width: 8px;
  height: 14px;
  top: 60%;
  left: 13px;
  margin-top: -10px;
  opacity: 0;
  transform: rotate(45deg);
}

.table06 table td h4 {
  display: none;
}

.table06 table td .btn.edit {
  float: right;
  letter-spacing: normal;
}

.table06 table td .btn.edit a {
  display: block;
  margin: 0 auto;
  width: 100px;
  padding: 5px 10px;
  background: #FFFFFF;
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 5px 0 0 #C9C9C9;
  transform: translateY(-3px);
  transition: 0.3s;
}

.table06 table td .btn.edit a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.table06 table td .btn02.edit {
  float: right;
  letter-spacing: normal;
}

.table06 table td .btn02.edit a {
  display: block;
  margin: 0 auto;
  width: 100px;
  padding: 5px 10px;
  background: #B60A0A;
  color: #FFFFFF;
  border: 2px solid #B60A0A;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 5px 0 0 #9A0000;
  transform: translateY(-3px);
  transition: 0.3s;
}

.table06 table td .btn02.edit a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.table06.comfirm th {
  padding: 10px;
  background: #EBF7FF;
  border: 1px solid #D9D9D9;
}

.table06.comfirm td {
  padding: 10px;
  border: 1px solid #D9D9D9;
}

.table06.comfirm td:nth-child(2) {
  display: none;
}

.table06.comfirm td:nth-child(8) {
  display: none;
}

.table07 {
  margin-bottom: 50px;
}

.table07 table {
  width: 1024px;
}

.table07 table th {
  text-align: center;
  padding: 10px 0 0;
}

.table07 table td {
  padding: 10px 0;
  text-align: center;
  vertical-align: middle;
}

.table07 table td.checkContainer .check input[type="checkbox"] {
  display: none;
}

.table07 table td.checkContainer .check input[type="checkbox"]:checked + .checkbox-label:before {
  border-color: #D9D9D9;
}

.table07 table td.checkContainer .check input[type="checkbox"]:checked + .checkbox-label:after {
  opacity: 1;
}

.table07 table td.checkContainer .check .checkbox-label {
  position: relative;
  display: block;
  width: auto;
  box-sizing: border-box;
  padding: 10px 17px;
}

.table07 table td.checkContainer .check .checkbox-label:before {
  content: '';
  display: block;
  position: absolute;
  background: #fff;
  border: 1px solid #D9D9D9;
  border-radius: 6px;
  width: 24px;
  height: 24px;
  top: 50%;
  left: 5px;
  margin-top: -12px;
}

.table07 table td.checkContainer .check .checkbox-label:after {
  content: '';
  display: block;
  position: absolute;
  border-right: 3px solid #144886;
  border-bottom: 4px solid #144886;
  width: 8px;
  height: 14px;
  top: 60%;
  left: 13px;
  margin-top: -10px;
  opacity: 0;
  transform: rotate(45deg);
}

.table07 table td h4 {
  display: none;
}

.table07 table td .btn.edit {
  float: right;
  letter-spacing: normal;
}

.table07 table td .btn.edit a {
  display: block;
  margin: 0 auto;
  width: 100px;
  padding: 5px 10px;
  background: #FFFFFF;
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 5px 0 0 #C9C9C9;
  transform: translateY(-3px);
  transition: 0.3s;
}

.table07 table td .btn.edit a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.table07 table td .btn02.edit {
  float: right;
  letter-spacing: normal;
}

.table07 table td .btn02.edit a {
  display: block;
  margin: 0 auto;
  width: 100px;
  padding: 5px 10px;
  background: #B60A0A;
  color: #FFFFFF;
  border: 2px solid #B60A0A;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 5px 0 0 #9A0000;
  transform: translateY(-3px);
  transition: 0.3s;
}

.table07 table td .btn02.edit a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.table07.comfirm th {
  padding: 10px;
  background: #EBF7FF;
  border: 1px solid #D9D9D9;
}

.table07.comfirm td {
  padding: 10px 5px;
  border: 1px solid #D9D9D9;
}

.table08 {
  margin-top: 40px;
  margin-bottom: 50px;
  font-size: 1.5rem;
}

.table08 table th {
  text-align: center;
  padding: 10px 0 0;
}

.table08 table td {
  padding: 10px 0;
  text-align: center;
  vertical-align: middle;
}

.table08 table td.checkContainer .check input[type="checkbox"] {
  display: none;
}

.table08 table td.checkContainer .check input[type="checkbox"]:checked + .checkbox-label:before {
  border-color: #D9D9D9;
}

.table08 table td.checkContainer .check input[type="checkbox"]:checked + .checkbox-label:after {
  opacity: 1;
}

.table08 table td.checkContainer .check .checkbox-label {
  position: relative;
  display: block;
  width: auto;
  box-sizing: border-box;
  padding: 10px 17px;
}

.table08 table td.checkContainer .check .checkbox-label:before {
  content: '';
  display: block;
  position: absolute;
  background: #fff;
  border: 1px solid #D9D9D9;
  border-radius: 6px;
  width: 24px;
  height: 24px;
  top: 50%;
  left: 5px;
  margin-top: -12px;
}

.table08 table td.checkContainer .check .checkbox-label:after {
  content: '';
  display: block;
  position: absolute;
  border-right: 3px solid #144886;
  border-bottom: 4px solid #144886;
  width: 8px;
  height: 14px;
  top: 60%;
  left: 13px;
  margin-top: -10px;
  opacity: 0;
  transform: rotate(45deg);
}

.table08 table td h4 {
  display: none;
}

.table08 table td .btn.edit {
  float: right;
  letter-spacing: normal;
}

.table08 table td .btn.edit a {
  display: block;
  margin: 0 auto;
  width: 100px;
  padding: 5px 10px;
  background: #FFFFFF;
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 5px 0 0 #C9C9C9;
  transform: translateY(-3px);
  transition: 0.3s;
}

.table08 table td .btn.edit a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.table08 table td .btn02.edit {
  float: right;
  letter-spacing: normal;
}

.table08 table td .btn02.edit a {
  display: block;
  margin: 0 auto;
  width: 100px;
  padding: 5px 10px;
  background: #B60A0A;
  color: #FFFFFF;
  border: 2px solid #B60A0A;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 5px 0 0 #9A0000;
  transform: translateY(-3px);
  transition: 0.3s;
}

.table08 table td .btn02.edit a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.table08.comfirm th {
  padding: 10px;
  background: #EBF7FF;
  border: 1px solid #D9D9D9;
}

.table08.comfirm td {
  padding: 10px;
  border: 1px solid #D9D9D9;
}

.table08.comfirm td:nth-child(2) {
  display: none;
}

/*書類、画像選択ボタン*/
.form {
  letter-spacing: -0.4em;
  padding: 10px 0 0px;
}

.form input[type="file"] {
  display: none;
}

.form .butChoice {
  display: inline-block;
  letter-spacing: normal;
  padding: 6px 10px;
  border: 2px solid #FFD371;
  background: #FFD371;
  border-radius: 10px;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 5px 0 0 #E5AD30;
  transform: translateY(-3px);
  transition: 0.3s;
  width: 100px;
}

.form .butChoice:hover {
  box-shadow: none;
  transform: translateY(0);
}

.form .butDelete {
  display: inline-block;
  letter-spacing: normal;
  padding: 12px 10px;
  border: 2px solid #B60A0A;
  background: #B60A0A;
  border-radius: 10px;
  font-weight: bold;
  font-size: 15px;
  color: #FFF;
  text-align: center;
  box-shadow: 0 5px 0 0 #E3E3E3;
  transform: translateY(-3px);
  transition: 0.3s;
  width: 60px;
}

.form .butDelete:hover {
  box-shadow: none;
  transform: translateY(0);
}

.form #clear {
  display: none;
}

.form .fileName {
  display: inline-block;
  letter-spacing: normal;
  color: black;
  font-size: 14px;
  margin: 20px;
}

.form .downloadlink {
  color: #144886;
  cursor: pointer;
  text-decoration: underline;
  font-weight: bold;
}

.pageNum {
  font-weight: bold;
  display: block;
  max-width: 1024px;
  margin: 0 auto 10px;
}

.personCheck {
  background: #F8F8F8;
  padding: 50px 0;
}

.personCheck p {
  font-weight: bold;
}

.personCheck .btnBox {
  max-width: 1024px;
  margin: 0 auto;
}

.aircraftCheck {
  background: #F8F8F8;
  padding: 50px 0;
}

.aircraftCheck p {
  font-weight: bold;
}

.aircraftCheck .btnBox {
  max-width: 1024px;
  margin: 0 auto;
}

.completeTxt {
  display: block;
  margin-bottom: 100px;
  padding-top: 50px;
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
}

.procedureCompleteTxt {
  display: block;
  margin-bottom: 50px;
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
}

.procedureCompleteMessage {
  display: block;
  margin-bottom: 50px;
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
}

.procedureCompleteNotice {
  margin: 70px 15% 50px;
  padding: 5px;
}


.errorMsg {
  color: #B60A0A;
}

/*選択ボタン*/
.selectBox .btnBox {
  margin-top: 0;
  letter-spacing: -0.4em;
  position: relative;
}

.selectBox p:first-of-type {
  font-weight: bolder;
  text-align: center;
}

.selectBox p:first-of-type {
  font-weight: bolder;
  text-align: center;
}

.selectBox p:nth-of-type(2n) {
  margin-top: 30px;
}

.selectBox01 {
  margin-top: 40px;
  padding: 20px;
}

.selectBox01 .btnBox {
  margin-top: 0;
  letter-spacing: -0.4em;
  position: relative;
}

.selectBox01 p:first-of-type {
  font-weight: bolder;
  text-align: center;
}

.selectBox01 p:first-of-type {
  font-weight: bolder;
  text-align: center;
}

.selectBox01 p:nth-of-type(2n) {
  margin-top: 30px;
}

.selectBox02 {
  margin-top: 40px;
}

.selectBox02 .btnBox {
  margin-top: 0;
  letter-spacing: -0.4em;
  position: relative;
}

.selectBox02 p:first-of-type {
  font-weight: bolder;
  text-align: center;
}

.selectBox02 p:first-of-type {
  font-weight: bolder;
  text-align: center;
}

.selectBox02 p:nth-of-type(2n) {
  margin-top: 30px;
}

/* radio but */
.radioContainer .radio input[type="radio"] {
  position: absolute;
  opacity: 0;
}

.radioContainer .radio input[type="radio"] + .radio-label:before {
  content: '';
  position: relative;
  display: inline-block;
  vertical-align: middle;
  background: #FFF;
  border: 1px solid #D9D9D9;
  border-radius: 100%;
  width: 24px;
  height: 24px;
  top: -1px;
  margin-right: 10px;
  transition: all 250ms ease;
}

.radioContainer .radio input[type="radio"]:checked + .radio-label:before {
  background-color: #144886;
  box-shadow: inset 0 0 0 4px #FFF;
}

.radioContainer .radio input[type="radio"]:focus + .radio-label:before {
  outline: none;
  border-color: #D9D9D9;
}

.radioContainer .radio input[type="radio"]:disabled + .radio-label:before {
  box-shadow: inset 0 0 0 4px #D9D9D9;
  border-color: #999999;
  background: #bfbfbf;
}

.radioContainer .radio input[type="radio"] + .radio-label:empty:before {
  margin-right: 0;
}

/* Checkbox */
.checkContainer .check input[type="checkbox"] {
  display: none;
}

.checkContainer .check input[type="checkbox"]:checked + .checkbox-label:before {
  border-color: #D9D9D9;
}

.checkContainer .check input[type="checkbox"]:checked + .checkbox-label:after {
  opacity: 1;
}

.checkContainer .check .checkbox-label {
  position: relative;
  display: inline-block;
  width: auto;
  box-sizing: border-box;
  padding: 10px 10px 10px 40px;
}

.checkContainer .check .checkbox-label:before {
  content: '';
  display: block;
  position: absolute;
  background: #fff;
  border: 1px solid #D9D9D9;
  border-radius: 6px;
  width: 24px;
  height: 24px;
  top: 53%;
  left: 5px;
  margin-top: -12px;
}

.checkContainer .check .checkbox-label:after {
  content: '';
  display: block;
  position: absolute;
  border-right: 3px solid #144886;
  border-bottom: 4px solid #144886;
  width: 8px;
  height: 14px;
  top: 36%;
  left: 13px;
  opacity: 0;
  transform: rotate(45deg);
}

.checkedList .checked .checked-label {
  position: relative;
  display: inline-block;
  width: auto;
  box-sizing: border-box;
  padding: 5px 10px 5px 40px;
}

.checkedList .checked .checked-label:after {
  content: '';
  display: block;
  position: absolute;
  border-right: 3px solid #144886;
  border-bottom: 4px solid #144886;
  width: 8px;
  height: 14px;
  top: 10px;
  left: 13px;
  transform: rotate(45deg);
  z-index: 100;
}

.ico {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: top;
  margin-top: -2px;
}

.ico img {
  width: auto;
  border: none;
  vertical-align: middle;
}

/* ======== header ======== */
.spOverlay {
  display: none;
  background: rgba(0, 0, 0, 0.5);
}

.header {
  border-bottom: 1px solid #DBDBDB;
}

.headerTop {
  border-top: 4px solid #144886;
  border-bottom: 1px solid #DBDBDB;
}

.headerTop > .inner {
  width: 100%;
  padding: 10px 30px;
}

.headerTop > .inner .logo {
  width: 128px;
  float: left;
}

.headerTop > .inner .lang {
  float: right;
}

.headerTop > .inner .lang a {
  display: inline-block;
  padding-left: 15px;
  position: relative;
  font-weight: bold;
}

.headerTop > .inner .lang a:hover {
  text-decoration: underline;
}

.headerTop > .inner .lang a:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -4px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 8.7px 5px;
  border-color: transparent transparent #acacac transparent;
  transform: rotate(90deg);
}

.headerBtm > .inner {
  width: 100%;
}

.headerBtm > .inner .logo {
  padding: 15px 0;
  margin-left: 30px;
  width: 200px;
  float: left;
}

.headerBtm > .inner .nav {
  float: right;
}

.headerBtm > .inner .nav ul {
  letter-spacing: -0.4em;
}

.headerBtm > .inner .nav ul > li {
  display: inline-block;
  width: 150px;
  letter-spacing: normal;
  vertical-align: middle;
  border-left: 1px solid #DBDBDB;
}

.headerBtm > .inner .nav ul > li.item {
  text-align: center;
}

.headerBtm > .inner .nav ul > li.item a {
  display: table-cell;
  height: 80px;
  width: inherit;
  vertical-align: middle;
  font-weight: bold;
}

.headerBtm > .inner .nav ul > li.btn {
  padding: 15px;
  width: 194px;
}

.headerBtm > .inner .nav ul > li.btn a {
  display: block;
  padding: 11px 10px;
  background: #FFD371;
  border-radius: 10px;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 3px 0 0 #E5AD30;
  transform: translateY(-3px);
  transition: 0.3s;
}

.headerBtm > .inner .nav ul > li.btn a:hover {
  box-shadow: none;
  transform: translateY(0);
}

.headerBtm > .inner .nav ul > li.btn a span {
  display: inline-block;
  padding-left: 20px;
  background: url(../img/ico_login.png) no-repeat left center/15px 16px;
}

.headerBtm > .inner .nav ul > li.usr {
  background: #144886;
  width: 194px;
  position: relative;
  font-size: 1.4rem;
}

.headerBtm > .inner .nav ul > li.usr > span {
  color: #FFFFFF;
  font-weight: bold;
  display: block;
  padding: 28px 30px 27px 20px;
  position: relative;
  cursor: pointer;
}

.headerBtm > .inner .nav ul > li.usr > span:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url(../img/ico_account_arrow.png) no-repeat left top/14px 14px;
  position: absolute;
  top: 50%;
  margin-top: -7px;
  right: 10px;
  transition: 0.3s;
  transform: rotate(180deg);
}

.headerBtm > .inner .nav ul > li.usr > span.active:after {
  transform: rotate(0);
}

.headerBtm > .inner .nav ul > li.usr .accountMenu {
  display: none;
  background: #FFFFFF;
  border-radius: 5px;
  border: 1px solid #DBDBDB;
  position: absolute;
  top: 60px;
  right: 5px;
  z-index: 10;
  width: 100%;
}

.headerBtm > .inner .nav ul > li.usr .accountMenu > .inner {
  position: relative;
}

.headerBtm > .inner .nav ul > li.usr .accountMenu > .inner:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #FFFFFF;
  border-top: 1px solid #DBDBDB;
  border-left: 1px solid #DBDBDB;
  transform: rotate(45deg);
  position: absolute;
  top: -4px;
  right: 7px;
}

.headerBtm > .inner .nav ul > li.usr .accountMenu > .inner .item {
  padding: 10px 8px;
  border-top: 1px solid #DBDBDB;
}

.headerBtm > .inner .nav ul > li.usr .accountMenu > .inner .item:first-child {
  border: none;
}

.headerBtm > .inner .nav ul > li.usr .accountMenu > .inner .item a {
  display: block;
  padding-left: 20px;
  font-weight: bold;
  font-size: 1.4rem;
  transition: 0.3s;
}

.headerBtm > .inner .nav ul > li.usr .accountMenu > .inner .item a:hover {
  opacity: 0.7;
}

.headerBtm > .inner .nav ul > li.usr .accountMenu > .inner .item.edit a {
  background: url(../img/ico_account.png) no-repeat left center/15px 15px;
}

.headerBtm > .inner .nav ul > li.usr .accountMenu > .inner .item.logout a {
  background: url(../img/ico_logout.png) no-repeat left center/15px 16px;
}

@media screen and (min-width: 768px) {
  .headerBtm > .inner .nav {
    display: block !important;
  }
}

/* ======== footer ======== */
.footer {
  background: #144886;
  width: 100%;
  margin-top: 60px;
  position: absolute;
  bottom: 0;
}

.footer .pageTop {
  display: none;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 99;
  width: 40px;
}

.footer .pageTop:hover {
  opacity: 0.7;
}

.footer .inner {
  text-align: center;
  padding: 50px 30px;
  color: #FFFFFF;
  margin: 0 auto;
}

.footer .inner .menu .logo {
  width: 200px;
  float: left;
}

.footer .inner .menu .nav {
  width: 1000px;
  margin: 0 auto;
}

.footer .inner .menu .nav ul {
  letter-spacing: -0.4em;
}

.footer .inner .menu .nav ul li {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: normal;
  border-left: 1px solid #386DAD;
  margin-top: 10px;
}

.footer .inner .menu .nav ul li a {
  display: block;
  padding: 0 30px;
  color: #FFFFFF;
  border-left: 1px solid #083162;
  text-decoration: underline;
}

.footer .inner .menu .nav ul li a:hover {
  text-decoration: none;
}

.footer .inner .copy {
  margin-top: 30px;
  font-size: 1.4rem;
}

.modalArea {
  display: none;
  position: fixed;
  z-index: 200;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30,30,30,0.9);
  overflow-y: hidden;
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 70%;
  max-width: 550px;
  max-height: 90%;
  overflow-y: scroll;
  padding: 10px;
  background-color: #fff;
}

.modalContents {
  margin-top: 30px;
}

.modalContents div table {
  margin: 20px 0;
}

.modalContents div table .btn.edit{
  float: none;
}

.modalContents div table .btn.edit a{
  width:auto;
  margin: 0 20px;
}

.modalContents div {
  text-align: center;
  margin-bottom: 20px;
}

.modalContents div .btn.type02 {
  width:90%;
  margin: 10px 0;
}

.modalContents div .btn.type02 button {
  display: block;
  background: #FFFFFF;
  width: 100%;
  height: 80px;
  overflow: hidden;
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  position: relative;
  transition: 0.3s;
}

.modalContents div .btn.type02 button:hover {
  opacity: 0.7;
}

.modalContents div .btn.type02 button:before {
  content: "";
  display: block;
  width: 22px;
  height: 100%;
  background: #FFC034;
  position: absolute;
  top: 0;
  right: 0;
}

.modalContents div .btn.type02 button:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #FFFFFF;
  position: absolute;
  top: 50%;
  margin-top: -4px;
  right: 6px;
}

.modalContents div .btn.type02 button span {
  display: inline-block;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.modalContents div .btn.type02 button + p {
  margin-top: 10px;
  font-size: 14px;
}

.modalContents .table05.comfirm {
  margin: 0 30px;
}

.modalContents .table05.comfirm table {
  margin: 20px auto;
}

.modalContents .table05.comfirm table th {
  padding: 5px;
}

.modalContents .table05.comfirm table td {
  padding: 5px;
}

.modalContents .btn.edit{
  float: left;
  margin: 10px 0px;
}

.modalContents .paymentContent {
  text-align: left;
  margin: 0px 5px 20px 5px;
}

.modalContents .paymentContent.englishContent{
  text-align: center;
  margin: 0px 5px 20px 5px;
}

.modalContents .heading04 {
  margin-bottom: 30px;
  margin-left: 20px;
  font-size: 2rem;
  font-weight: bold;
}

.modalContents .heading02 {
  margin: 40px 15px;
}

.modalContents .accordionContent {
  margin: 15px;
}

.modalContents div a {
  font-weight: bold;
  color: #144886;
  text-decoration: underline;
}

.modalContents div a:hover {
  text-decoration: none;
}

.modalContents div .en {
  margin: 30px 15px;
}

.openPaymentModal {
  height: 42px;
}

.closePaymentModal {
  position: absolute;
  top: 0.01rem;
  right: 2rem;
  cursor: pointer;
  font-size: 3rem;
}

.modalHideContents {
  display: none;
}

.activeContents {
  display: block;
}

.modalContents div .payeasylink {
  text-decoration:unset;
}

.modalContents div .payeasylink::after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/pay-easy_logo.png) no-repeat left top/100% auto;
  position: absolute;
  margin-top: -25px;
  left: 280px;
}

/* 本人確認画面モーダル */
.modalIdetify {
  max-width: 700px;
  font-size: 1.4rem;
  overflow-y: scroll;
  max-height: 90%;
}

.modalIdetify .red {
  color: #B60A0A;
}

.modalIdetify .accordionContent {
  text-align: left;
}

.modalIdetify .accordionContent .mynumber {
  font-size: 1.7rem;
}

.modalIdetify .accordionContent .mynumber table {
  width:80%;
  text-align: left;
}

.heightReset {
  height:unset
}

/* 2021/2/17 杉浦追加 */
main section .statusbar {
  padding: 40px 0px 0px 0px;
}

/* 2021/3/5 杉浦追加 */
.definitionList {
  margin: 0px 40px 40px 30px;
}

/* 2021/3/5 杉浦追加 */
.tdBox {
  display: flex;
  margin-bottom: 20px;
}

.ulBox {
  display: flex;
  margin-bottom: 10px;
}

.tdBox .identificationNotice {
  margin-left: 50px;
  text-decoration: underline;
  color: #B60A0A;
}

.ulBox .identificationNotice {
  text-decoration: underline;
  color: #B60A0A;
}

.ulBox .identificationRecommend {
  font-weight: bold;
  text-decoration: underline;
  color: #144886;
}

.messageTop {
  padding-bottom: 30px;
}

/*
.environment {
  font-size: 12px;

}
*/

.manual .title {
  margin-top: 10px;
}

.icn_myna {
  background: url(../img/icn_myna.png) no-repeat left center;
  background-size: 24px;
  display: inline-block;
  line-height: 28px;
  padding-left: 28px;
  margin: 0 5px;
}

.browserlink {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #bebebe;
  border-radius: 100px;
  width: 258px;
  height: 70px;
}

.browserlink img {
  height: 48px;
  width: auto;
}

.browserWrap {
  display: flex;
  align-items: center;
  margin-top: 20px;
  flex-wrap: wrap;
}

.browserWrap li {
  margin: 0 12px 12px 0;
  min-width: 179px;
  transition: .2s ease-out;
  list-style: none;
}

.btnDownloadIOS {
  max-width: 160px;
  width: 100%;
  height: 60px;
  background: url(../img/btn_installmanual_ios.svg) no-repeat center center;
  background-size: 100% auto;
  border-radius: 5px;
  display: block;
  text-decoration: none;
  margin: 5px auto 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.btnDownloadIOSEn {
  max-width: 160px;
  width: 100%;
  height: 60px;
  background: url(../img/btn_installmanual_ios_us.svg) no-repeat center center;
  background-size: 100% auto;
  border-radius: 5px;
  display: block;
  text-decoration: none;
  margin: 5px auto 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.btnDownloadAndroid {
  max-width: 220px;
  margin: 5px auto 0;
  display: block;
  width: 100%;
  height: 60px;
  background: url(../img/btn_installmanual_android.png) no-repeat center center;
  background-size: 100% auto;
  border-radius: 5px;
  text-decoration: none;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.btnDownloadAndroidEn {
  max-width: 220px;
  margin: 5px auto 0;
  display: block;
  width: 100%;
  height: 60px;
  background: url(../img/btn_installmanual_android_en.png) no-repeat center center;
  background-size: 100% auto;
  border-radius: 5px;
  text-decoration: none;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.relatedLink {
  color: #144886;
  font-weight: bold;
  text-decoration: underline;
}

.termsTitle {
  font-size: 2rem;
  text-align: center;
}

.termsDetail li {
  margin: 5px 30px;
}


/* Sorry画面のスタイル */
.noticeMsg p {
  font-size: 3rem;
  font-weight: bold;
}

.noticeMsg.english p {
  font-size: 2.5rem;
  color: #144886;
  font-weight: bold;
}

.retryMsg p {
  font-size: 2rem;
  font-weight: bold;
}

.retryMsg.english p {
  font-size: 1.5rem;
  color: #144886;
  font-weight: bold;
}



/* メッセージアイコンをマウスオーバーした時に右側に表示される標準のツールチップ */
.balloonBox {
  position   : relative;                /* 指定した分だけ相対的に移動 */
}

.balloonBox:hover .balloon {
  display: inline;                /* インライン要素として表示 */
}

.balloon {                              /* 右側に表示する通常のツールチップ */
  z-index: 1;                           /* 最前面に表示されるように指定 */
  position   : absolute;                /* 親要素を基準 */
  display: none;                        /* 要素を非表示 */
  padding: 10px;                         /* テキストの前後の余白 */
  background-color: #144886;
  color: #fff;
  text-align: left;
  width:250px;                          /* 吹き出し全体の幅 */
  left : 150%;                          /* 表示位置 */
  border-radius: 5px;                   /* 吹き出しの角を丸く */
  font-size: 80%;                       /* 文字サイズ */
  font-weight: normal;
}
.balloon:after{
  border-right: 12px solid #144886;  /* 吹き出し口の幅・色 */
  border-top: 10px solid transparent;     /* 吹き出し口の高さ１／２ */
  border-bottom: 10px solid transparent;  /* 吹き出し口の高さ１／２ */
  left: -12px;                            /* 吹き出し口の位置調整 */
  top: 5%;                                /* 吹き出し口の縦位置 */
  content: "";                       /* コンテンツの挿入 */
  position: absolute;                /* 親要素を基準 */
}


/* メッセージアイコンをマウスオーバーした時のツールチップ スマートフォンで見切れる場合に使用*/
.balloonLeftBox {
  position   : relative;                /* 指定した分だけ相対的に移動 */
}

.balloonLeftBox:hover .balloonLeft {
  display: inline;                /* インライン要素として表示 */
}

.balloonLeft {                              /* 右側に表示する通常のツールチップ */
  z-index: 1;                           /* 最前面に表示されるように指定 */
  position   : absolute;                /* 親要素を基準 */
  display: none;                        /* 要素を非表示 */
  padding: 10px;                         /* テキストの前後の余白 */
  background-color: #144886;
  color: #fff;
  text-align: left;
  width:250px;                          /* 吹き出し全体の幅 */
  left : 150%;                          /* 表示位置 */
  border-radius: 5px;                   /* 吹き出しの角を丸く */
  font-size: 80%;                       /* 文字サイズ */
  font-weight: normal;
}
.balloonLeft:after{
  border-right: 12px solid #144886;  /* 吹き出し口の幅・色 */
  border-top: 10px solid transparent;     /* 吹き出し口の高さ１／２ */
  border-bottom: 10px solid transparent;  /* 吹き出し口の高さ１／２ */
  left: -12px;                            /* 吹き出し口の位置調整 */
  top: 5%;                                /* 吹き出し口の縦位置 */
  content: "";                       /* コンテンツの挿入 */
  position: absolute;                /* 親要素を基準 */
}


/* メッセージアイコンをマウスオーバーした時に上部右側に表示されるツールチップ */
.balloonTopBox {
  position   : relative;                /* 指定した分だけ相対的に移動 */
}

.balloonTopBox:hover .balloonTop {
  display: inline;                /* インライン要素として表示 */
}

.balloonTop {                           /* 上部に表示するツールチップ */
  z-index: 1;                           /* 最前面に表示されるように指定 */
  position   : absolute;                /* 親要素を基準 */
  display: none;                        /* 要素を非表示 */
  padding: 10px;                         /* テキストの前後の余白 */
  background-color: #144886;
  color: #fff;
  text-align: left;
  width:220px;                          /* 吹き出し全体の幅 */
  left : -400%;                           /* 表示位置 */
  bottom : 100%;                        /* 表示位置 */
  margin-bottom : 3px;                 /* 表示位置 */
  font-size: 80%;
  border-radius: 5px;                   /* 吹き出しの角を丸く */
  font-weight: normal;
}
.balloonTop:after{
  border-top: 12px solid #144886;    /* 吹き出し口の高さ・色 */
  border-left: 10px solid transparent;    /* 吹き出し口の幅１／２ */
  border-right: 10px solid transparent;   /* 吹き出し口の幅１／２ */
  bottom: -12px;
  left: 36%;                            /* 吹き出し口の位置調整 */
  content: "";                            /* コンテンツの挿入 */
  position: absolute;                     /* 親要素を基準 */
}


/* メッセージアイコンをマウスオーバーした時に上部左側に表示されるツールチップ */
.balloonTopLeftBox {
  position   : relative;                /* 指定した分だけ相対的に移動 */
}

.balloonTopLeftBox:hover .balloonTopLeft {
  display: inline;                /* インライン要素として表示 */
}

.balloonTopLeft {                       /* 上部に表示するツールチップ */
  z-index: 1;                           /* 最前面に表示されるように指定 */
  position   : absolute;                /* 親要素を基準 */
  display: none;                        /* 要素を非表示 */
  padding: 10px;                        /* テキストの前後の余白 */
  background-color: #144886;
  color: #fff;
  text-align: left;
  width:220px;                          /* 吹き出し全体の幅 */
  right : -230%;                        /* 表示位置 */
  bottom : 100%;                        /* 表示位置 */
  margin-bottom : 3px;                  /* 表示位置 */
  font-size: 80%;
  letter-spacing: normal;
  border-radius: 5px;                   /* 吹き出しの角を丸く */
  font-weight: normal;
}
.balloonTopLeft:after{
  border-top: 12px solid #144886;    /* 吹き出し口の高さ・色 */
  border-left: 10px solid transparent;    /* 吹き出し口の幅１／２ */
  border-right: 10px solid transparent;   /* 吹き出し口の幅１／２ */
  bottom: -12px;
  left: 70%;                            /* 吹き出し口の位置調整 */
  content: "";                            /* コンテンツの挿入 */
  position: absolute;                     /* 親要素を基準 */
}

.balloonMessage{
  height: auto;
}


/* コンボボックス対応 */
input.inputSelect {
  height: 50px;
  background: #FFFFFF;
  border-radius: 5px;
  padding: 15px;
  font-size: 1.6rem;
  border: 1px solid #D9D9D9;
}

/* 英語切り替え時に本人確認方法選択でパスポート（eKYC）の背景色を黄色にするためのクラス */
.recommendYellow {
  background-color: #FFC034;
}

.listRadioBtn input {
  opacity: 0;
  left: 0px;
  outline: none;
}

.listRadioBtn label {
  position: relative;
}

.listRadioBtn label:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/ico_radio.png) no-repeat left bottom/100% auto;
}

.listRadioBtn label.checked:after {
  background: url(../img/ico_radio.png) no-repeat left top/100% auto;
}

.flex {
  display: flex;
}

.flex.right {
  float: right;
}

.flex.ico {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: top;
  margin-top: -2px;
}

.flex a {
  margin: 10px 20px 0 0 !important;
}

/* ログインID通知画面、パスワード初期化画面の注意事項のスタイル */
.notes {
  background-color: #f8f8ff;
  padding: 30px !important;
  border-radius: 10px;
}

.notes .title {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  padding-bottom: 20px;
}

.notes .bold {
  font-weight: bold;
  padding-top: 20px;
}

.notes .itemization {
  padding-left: 40px;
  padding-right: 40px;
}

.notes .itemization li {
  padding-top: 10px;
}
/* /.ログインID通知画面、パスワード初期化画面の注意事項のスタイル */

/* QRコード表示部分のスタイル */
.qrcode {
  width: 100%;
  text-align: center;
  padding-top: 80px;
}

.qrcode .errorMsg .errorTxt {
  display: block;
  color: #B60A0A;
}

.qrcode .info {
  width: 200px;
  margin: auto;
  text-align: left;
}

.qrcode img {
  width: 200px;
  border: 1px solid #D9D9D9;
}

.qrcode .info img {
  width: 16px;
  vertical-align: text-top;
  border: none;
}
/* /.QRコード表示部分のスタイル */

/* 利用規約画面のチェックボックスのスタイル */
.checkbox-area {
  text-align: left;
  width: auto;
  padding: 30px 10%;
  margin: 20px auto;
}

/* 利用規約画面の規約のスクロール部分のスタイル */
.term-textarea {
  margin-top: 30px;
  margin-bottom: 30px;
  width: 100%;
}

/* 利用規約画面の国交省HPへのリンク */
.mlitLinkArea {
  margin-bottom: 50px;
}

/* 削除（抹消）する機体情報の確認画面の、削除（抹消）の申請ボタンのスタイル */
.erasureLayout {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
  margin-bottom: 50px;
}

.erasureBtnBox {
  display: inline-block;
  vertical-align: top;
  border: 1px solid #D9D9D9;
  width: 420px;
}

.erasureNotice {
  padding: 15px 10px 30px 10px;
}

.setInlineBlock {
  display: inline-block;
  vertical-align: top;
}

/* olタグの箇条書きに括弧をつける */
ol.brackets {
  list-style-type: none;
  margin-left: 5rem;
}

ol.brackets > li {
  counter-increment: cnt;
}

ol.brackets > li::before {
  content: "（ " counter(cnt) " ）";
  display: inline-block;
  margin-left: -5rem;
}

/* 個人情報保護方針の箇条書きのスタイル */
.policyBullet li {
  margin-top: 10px;
}

/* よくある質問画面の回答のスタイル */
.answer {
  padding: 0px 0px 20px 30px;
  font-size: 1.6rem;
}



@media screen and (max-width: 1024px) {
  .footer .inner .menu .logo {
    margin: 0 auto 10px;
    float: none;
  }
  .footer .inner .menu .nav {
    float: none;
    width: auto;
  }
}