@charset "utf-8";

header {margin: 0 auto 6px;}
header:after {
  background-position: center 34%;
  background-size: 100%;
}
header > div > h1 {
  max-width: 170px;
  padding: 20px 0;
  position: relative;
  z-index: 11;
}



section > div > ul {
  text-align: left;
}
section > div > ul > li {
  margin: 0 auto 66px;
  padding: 0 0 10px;
  border-bottom: 1px solid;
}
section > div > ul > li:last-child {
  border: none;
}

#opn > div > ul > li > h5 {
  margin: 0 auto 23px;
  line-height: 1.4;
}

section > div > h3 {
  margin: 0 auto 50px;
  text-align: left;
}
section > div > dl.flx {
  border-top: 1px solid #CCC;
}
section > div > dl.flx > * {
  width: 270px;
  margin: 0;
  padding: 13px 0;
  border-bottom: 1px solid #CCC;
  text-align: left;
}
#prfl > div > dl > dd,
#hstry > div > dl > dd {
  width: calc(100% - 270px);
}
#ofcr > div > dl > dt {
  width: 220px;
}
#ofcr > div > dl > dd:nth-child(2),
#ofcr > div > dl > dd:nth-child(3n + 2) {
  width: 140px;
}
#ofcr > div > dl > dd:nth-child(3n) {
  width: calc(100% - 360px);
}
#opn > div > dl:nth-child(5) > dt {width: 120px;}
#opn > div > dl:nth-child(5) > dd {width: 320px;}
#opn > div > dl:nth-child(5) > dd:nth-child(3n) {
  width: calc(100% - 440px);
}


section > div > h4,
main p {
  margin: 0 auto 30px;
  text-align: left;
}

section#opn > div > dl {
  margin: 0 auto 66px;
}

section#opn ol.dsc li {display: flex;}
section#opn ul > li:first-child ol.dsc li span.bld {
  width: 96px;
}

section#opn li:nth-child(5) > ol.km {
  margin: 0 auto 33px 3.6rem;
}
section#opn li:nth-child(5) > ol.km li {
  text-indent: -1.4rem;
}


/* form */
section#cntct_f dl#flw {
  max-width: 900px;
  margin: 0 0 50px;
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  justify-content: space-between;
  align-items: center;
}
section#cntct_f dl#flw > dt {
  width: calc(30% - 10px);
  padding: 5px 2%;
  background: #fff;
  border: 1px solid #999;
  color: #999;
  font-size: min(2.6vw, 1rem);
  font-weight: bold;
}
section#cntct_f dl#flw > dt.on {
  background: #021d4b;
  color: #fff;
}
section#cntct_f dl#flw > dd {
  width: 26px;
  background: transparent url(../../img/arw_nvy.svg) no-repeat center center;
  background-size: auto 90%;
}

section > div > div,
section > div > form div {
  margin: 0 auto 50px;
  text-align: left;
}
section > div form > div#trgt {
  padding: 0 0 50px;
  border-bottom: 1px solid #999;
}
section > div >div > h3,
section > div form div > h3 {
  margin: 0 auto 69px;
  text-align: center;
}

#trgt > select {
  width: 80%;
  max-width: 333px;
}

section form#cntctf > table,
#bx_vr table {
  width: 100%;
  margin: 0 auto 50px;
}
section > div > div > form tr > *,
section form#cntctf > table tr > *,
#bx_vr table tr > * {
  padding: 30px 2%;
  background: #fff;
  border-bottom: 1px solid #ccc;
  vertical-align: middle;
  text-align: left;
}
section form#cntctf > table th,
#cntct_f div#lginj_f table th,
#bx_vr table th {
  width: 230px;
  padding: 16px 15px;
}
#cntct_f div#lginj_f table th.rq:after {
  content: '（必須）';
  color: #ff0000;
}
section div > form table input[type="text"],
section div > form table input[type="email"],
section div > form table input[type="number"],
section div > form table input[type="date"],
section div > form table input[type="tel"],
section div > form table textarea {
  width: 92%;
  background: #f2f2f2;
  border: 1px solid #b3b3b3;
}
section div > form table input[type="tel"] {
  max-width: 300px;
}
section div > form table input[type="date"] {
  max-width: 200px;
}
#lginj_f > div.bx_btn form {
  margin: 0 auto 39px;
}
section form#cntctf p.bx_btn,
#lginj_f > div.bx_btn,
#bx_vr > div,
#cntct > div > div.bx_btn {
  margin: 0 auto 66px;
  text-align: center;
}
#bx_vr > div.bx_btn {
  display: flex;
  justify-content: center;
  gap: 0 4%;
}
section form#cntctf p.bx_btn input[name="b_sbmt"],
#form2 > input.veri,
#form1 > input.veri {
  min-width: 26vw;
  color: #fff;
  padding: 18px 6%;
  background: linear-gradient(0deg, #ffccff, #8a77d5 /* #fff0cc */);
  background-size: 200% 200%;
  animation: grad 5s ease infinite;
  border: none;
  cursor: pointer;
  font-size: 1.3rem;
  text-decoration: none;
}
input[name="b_sbmt"] {
  max-width: 500px;
  background: none;
  border: none;
  color: #0000ff;
  font-weight: normal;
  text-decoration: underline;
}
#form2 > input.veri {background: #999;}

section div#ctn ul.num {font-weight: bold;}
section div#ctn ul.num > li {margin: 0 auto 9px;}
section div#ctn ul.num span,
section div#ctn ol.dsc li {
  padding: 6px 0 0;
  font-weight: normal;
}
section div#ctn ul.num span {
  margin: 0 auto 26px;
  display: block;
}
section div#ctn ul.num ol.dsc {
  margin: 0 auto 33px 1.5rem;
}

section#cntct.fin #cap {padding: 99px 0;}

@media (max-width: 1100px) {
}


@media (max-width: 770px) {
}


@media (max-width: 640px) {
  header nav > div._bdy {width: 100%;}
  header nav ul#sns li {max-width: 36px;}

  main section {padding: 5vh 0}
  header > div > h1 {
    margin: 0 auto;
    padding: 12px 0;
  }

  section form#cntctf > table tr > th,
  section form#cntctf > table tr > * {
    width: 100%;
    padding: 0 2%;
    display: block;
    border: none;
  }
  section form#cntctf > table tr > td {
    margin: 0 auto 10px;
    padding: 0 2% 10px;
    border-bottom: 1px solid #ccc;
  }


  section ol.dsc {
    margin: 0 auto 33px 0.6rem;
  }
  section#opn ol.dsc li {
    margin: 0 auto 20px;
    padding: 0 0 0 1rem;
    display: block;
  }
  section#opn ul > li:first-child ol.dsc li span.bld {
  }
  section#opn ul > li ol.dsc li span.bld {
    display: block;
    text-indent: -1rem;
  }
  section#opn ul:nth-child(3) > li:nth-child(4) > p {
    text-indent: 1rem;
  }

  section#opn ul:nth-child(5) > li ol.dsc li span {
    display: inline-block;
  }

  section#opn li:nth-child(5) > ol.km {
    margin: 0 auto 33px 3.2rem;
  }

  section > div > div > form table,
  #cntct_f div#lginj_f table {
    display: block;
  }
  section > div > div > form table th,
  #cntct_f div#lginj_f table th,
  section > div > div > form table *,
  #cntct_f div#lginj_f table * {
    width: 100%;
    display: block;
  }
  #cntct_f div#lginj_f table span.p-country-name {display: none;}

  /* fin */
  section#cntct.fin #cap {padding: 69px 0 33px;}
  section#cntct.fin #cap #cap > h2 {}
}
