/* JS有効時だけ初期で隠す */
.js .message01,
.js .message02,
.js .message03,
.js .section-lp_button {
  opacity: 0;
  transform: translateY(24px);
  visibility: hidden;
  transition: opacity .45s ease, transform .45s ease;
  will-change: opacity, transform;
}
.is-show {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* ラジオボタンの見た目 */
.career-quick-form fieldset{ border:0; padding:0; margin:0; }
.radio-pill { display:inline-block; margin:8px 8px 0 0; position:relative; }
.radio-pill input { position:absolute; inset:0; opacity:0; pointer-events:none; }
.radio-pill span{
  display:inline-block; padding:.6em 1.1em; border-radius:9999px;
  border:1px solid #D1D5DB; background:#fff; color:#111827; font-weight:600;
  transition: background .2s, color .2s, border-color .2s, transform .1s;
}
.radio-pill input:checked + span{
  background:#155AA8; color:#fff; border-color:#155AA8;
}
.radio-pill input:focus-visible + span{
  outline:2px solid #155AA8; outline-offset:2px;
}
  body.lp_miraichan{
  background:#FAF8F0;
  color:#000000;
  }
.w-390{
max-width:640px;
width:100%;
margin:auto;
padding-left:20px;
padding-right:20px;
}

  body.lp_miraichan img{
  width:100%;
  object-fit:contain;
  }
.section-lp_miraichan__inner.w-390 {
    position: relative;
    padding:0;
}
.section-lp_miraichan__inner.w-390 h1 {
    position: absolute;
    left: 20px;
    width: calc(100% - 40px);
    flex-direction: column;
    display: flex;
    gap:6px;
    top: 50%;
    transform: translateY(-50%);
}

.section-lp_miraichan__inner.w-390 h1 span.eng {
    font-size: 40px;
  /* 本命（Chrome/Safari/Edge） */
  -webkit-text-stroke: 3px #fff;
  text-stroke: 3px #fff;            /* 仕様化将来用 */
  paint-order: stroke fill;

  /* フォールバック（Firefox 等） */
  text-shadow:
    0 1px 0 #fff,  1px 0 0 #fff,  0 -1px 0 #fff, -1px 0 0 #fff,
    1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff,
    2px 0 0 #fff, -2px 0 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff;
    }


.section-lp_miraichan__inner.w-390 h1 span.jp {
    font-size: 18px;
  -webkit-text-stroke: 1.5px #fff;
  text-stroke: 1.5px #fff;
  paint-order: stroke fill;

  /* フォールバックは薄めで OK */
  text-shadow:
    0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff;
}

.section-lp_miraichan-cont__inner.w-390 {
    padding-top: 40px;
    position:relative;
}
.message-wrap {
    background: #fff;
    margin-top: 40px;
    border-radius: 10px;
    padding: 40px 20px;
}
.message01 picture,
.message03 picture{
    width: 52px;
    height: 52px;
    display: block;
}
.message-text{
width:calc(100% - 56px - 14px);
}
.message01, .message03 {
    display: flex;
    justify-content: space-between;
}
.message-text ul {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap:14px;
    font-size:14px;
    line-height:1.5;
}
.small {
    display: block;
    font-size: 10px;
    margin-top: 6px;
}
span.orange {
    color: #FD7819;
}

span.orange_hilite {
  --hl-color: #fd781961;   /* 色 */
  --hl-height: .6em;     /* マーカーの太さ（テキストの下側だけ塗る） */
  --hl-pad-x: .18em;     /* 左右のにじみ */

  padding: 0 var(--hl-pad-x);
  background:
    linear-gradient(
      to bottom,
      transparent calc(100% - var(--hl-height)),
      var(--hl-color) 0
    );

  /* 改行・折り返しで1行ごとに背景を“複製” */
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.message-text ul li{
    padding: 14px;
    background:#FAFAFA;
    border-radius:0 10px 10px 10px;
}
.message02 {
    margin-top: 72px;
}

.radio-pill {
    display: inline-block;
    margin: 0 0 10px;
    position: relative;
    width: 100%;
}
form.career-quick-form {
    padding: 32px;
    background: #FAF8F0;
    border-radius: 10px;
}
.radio-pill span {
    display: inline-block;
    padding: 16px;
    border-radius: 10px;
    border: 0px solid #D1D5DB;
    background: #fff;
    color: #111827;
    font-weight: 600;
    transition: background .2s, color .2s, border-color .2s, transform .1s;
    width: 100%;
    display: block;
    text-align: center;
}

.radio-pill input + span::before {
content:"";
width:18px;
height:18px;
left:14px;
top:50%;
transform:translateY(-50%);
position:absolute;
border:2px solid #FD7819;
border-radius:100000px;
}
.radio-pill input:checked + span::after {
content:"";
width:8px;
height:8px;
left:19px;
top:50%;
transform:translateY(-50%);
position:absolute;
background:#FD7819;
border-radius:100000px;
}

.radio-pill input:checked + span {
    background: #fff;
    color: #000;
    border-color: #fff;
}
.message03{
margin-top:72px;
}
.section-lp_button__inner{
margin-top:24px;
margin-bottom:80px;
}
.section-lp_button__inner.w-390 >a {
    background: #FD7819;
    width: 100%;
    display: block;
    color: #fff;
    text-align: center;
    padding: 14px;
    border-radius: 10000px;
    margin-top: 24px;
}
.section-lp_button__inner p{
text-align:center;
font-size:14px;
}
footer.footer-lp_miraichan {
    background-color: #fff;
    padding: 20px 0px 10px;
    color: #fff;
    border-top: 1px solid #CCCCCC;
}
footer.footer-lp_miraichan picture {
    display: block;
    width: 170px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 18px;
}
.footer__inner{
line-height:1.5;
}
.footer__inner h2{
color:#000;
font-size:14px;
text-align:center;
margin-bottom:6px;
}
.footer__inner p{
color:#000;
text-align:center;
}
.footer__inner p.addr{
text-align:center;
font-size:11px;
margin-bottom:18px;
}

.footer__inner p:last-child{
text-align:center;
font-size:11px;
}
.section-lp_miraichan-cont__inner.w-390 > picture {
    width: 100%;
    max-width: 390px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.tri{
  --w: 20.78px;      /* 横幅 */
  --h: 18px;         /* 高さ */
  --c: #FD7819;      /* 塗り色 */
  --stroke: 2px;     /* 白フチの太さ */

  position: relative;
  display: inline-block;
  width: var(--w);
  height: var(--h);
}

.message01::before{
content:"";
  position:absolute;
  left:50%; bottom:0;
  transform:translateX(-50%) translateY(44px);
  width:0; height:0;
  border-left:  calc(20.78px/2) solid transparent;
  border-right: calc(20.78px/2) solid transparent;
  border-top: 18px solid #FD7819;
}
.message03::before{
content:"";
  position:absolute;
  left:50%; top:0;
  transform:translateX(-50%) translateY(-44px);
  width:0; height:0;
  border-left:  calc(20.78px/2) solid transparent;
  border-right: calc(20.78px/2) solid transparent;
  border-top: 18px solid #FD7819;
}

header.section-lp_miraichan-header {
    position: fixed;
    top:0;
    left:0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 20px;
    align-items: center;
    background:#fff;
}

header.section-lp_miraichan-headern picture {
    position: relative;
    width: 120px;
    height:auto;
    object-fit:contain;
    display: flex;
}
header.section-lp_miraichan-header a {
    background: #00F562;
    padding: 10px;
    width: 220px;
    text-align: center;
    border-radius: 10000px;
    border: 3px solid;
}
section.section-lp_miraichan{
margin-top:90px;
}

@media screen and (max-width:640px){
section.section-lp_miraichan-cont{
overflow:hidden;
}

.section-lp_miraichan-cont__inner.w-390::before{
content:"";
  position:absolute;
  width:89px;
  height:103px;
  background:url(../images/img-before01.png);
  background-size:contain;
  top:-40px;
  right:-38px;
  background-repeat:no-repeat;
  z-index:-1;
}
footer.footer-lp_miraichan{
position:relative;
}
footer.footer-lp_miraichan::after{
content:"";
  position:absolute;
  width:64px;
  height:74px;
  background:url(../images/img-before02.png);
  background-size:contain;
  top:-72px;
  left:-6px;
  background-repeat:no-repeat;
  z-index:-1;
}
header.section-lp_miraichan-header a {
    background: #00F562;
    padding: 10px;
    width: 130px;
    text-align: center;
    border-radius: 10000px;
    border: 3px solid;
    font-size:14px;
}
}