@charset "utf-8";

/* -----------------------------------------------------------
　common
----------------------------------------------------------- */

@media screen and (max-width: 767px) {
  body {
    -webkit-text-size-adjust: 100%;
    font-size: 14px;
  }
  .pc_cont {display: none !important;}
}

/* -----------------------------------------------------------
  template
----------------------------------------------------------- */

@media screen and (max-width: 767px) {
  
  /* :::::::::: header :::::::::: */

  header {
    height: 90px;
    padding: 0 5%;
    background: url("../img/header_sp.jpg") no-repeat center / cover;
  }
  header h1 {max-width: 200px;}

  /* :::::::::: main :::::::::: */

  .box ,
  .inner {padding: 0 5%;}
  
}

/* -----------------------------------------------------------
 sim
----------------------------------------------------------- */

@media screen and (max-width: 767px) {
  
  .section_sim {padding: 20px 0 30px;}
  .section_sim h2 {
    font-size: 16px;
    padding: 25px 0 20px;
  }
  .section_sim h2 span {font-size: 22px;}
  .section_sim h2 + p {
    font-size: 14px;
    line-height: 2;
    margin: 0 auto 30px;
  }
  .sim_box {border-radius: 10px;}
  .section_sim .sim_box {padding: 30px 0;}
  .section_sim .sim_box::before {
    width: 27px;
    height: 23px;
    inset: -13px 0 auto 0;
  }
  .section_sim .sim_box h3 {
    font-size: 14px;
    padding: 0 5%;
    margin: 0 auto 10px;
  }
  .section_sim .sim_box h3 + p {
    text-align: center;
    font-size: 11px;
    margin: 0 auto 20px;
    padding: 0 5%;
  }
  .section_sim .sim_box dl {padding: 10px 5%;}
  .section_sim .sim_box dl dt {
    font-size: 13px;
  }
  .section_sim .sim_box dl dt::before {
    width: 30px;
    height: 25px;
    margin: 0 0 3px;
  }
  .section_sim .sim_box dl dd div + div {margin: 5px 0 0;}
  .section_sim .sim_box dl dd div span {font-size: 13px;}
  
  .section_sim .sim_box dl + div .total_alert {
    padding: 0.5em 0.65em;
    margin: 4px 1.5em 0 0;
    border: solid 2px #C1272D;
    border-radius: 6px;
  }
  .section_sim .sim_box dl + div .total_alert img {width: 1.3em;}
  .section_sim .sim_box dl + div .total_alert span {font-size: 12px;padding: 0 0 0 5px;}
  .section_sim .sim_box dl + div .total_alert::after {inset: 0 auto 0 calc(100% - 3px);}  
  .section_sim .sim_box dl dd div .outer_select + span {font-size: 13px;}
  .section_sim .sim_box dl dd div select {
    width: 65px;
    height: 35px;
    font-size: 15px;
    text-indent: 30%;
  }
  .section_sim .sim_box dl + div {padding: 10px 5% 0;}
  button.btn_sim {
    width: 250px;
    height: 60px;
    line-height: 60px;
    border-radius: 4px;
    font-size: 16px;
    transition: 0s;
    margin: 30px auto 0;
  }
  button.btn_sim:hover {opacity: 1;}
  .section_result {padding: 30px 0 50px;}
  .section_result h2 {font-size: 20px;}
  .section_result h2::after {margin: 0 0 5px 5px;}
  .section_result h2 + p {
    font-size: 11px;
    margin: 0 auto 30px;
  }
  .section_result .box > section {margin: 0 auto 40px;}
  .section_result .box > section h3 {
    font-size: 16px;
    margin: 0 auto 15px;
  }
  .section_result .box > section:nth-of-type(1) .sim_box {padding: 30px 5%;}
  .section_result .box > section:nth-of-type(2) .sim_box {padding: 5% 2px 2% 5px;}
  .caption {
    font-size: 10px;
    margin: 5px 0 0;
  }
  
#chart02 {
  width: 100%!important;
  height: 230px;  /* 通常時の高さ */
  min-height: 230px;  /* スマホでも最低でも300pxの高さを確保 */
}
  


  .section_result .box > section:nth-of-type(2) .sim_box > p {
    font-size: 12px;
    right: 3px;
  }
  /*
  .section_result .box > section:nth-of-type(2) .sim_box > p:nth-of-type(1) {top: 100px;}
  .section_result .box > section:nth-of-type(2) .sim_box > p:nth-of-type(2) {top: 70px;}
  */
  

  .plan {margin: 20px 0 0;}
  .plan th {
    font-size: 10px;
    padding: 0.5em 0;
  }
  .plan th:nth-of-type(1) {width: 95px;}
  .plan td {
    font-size: 13px;
    padding: 0.75em 0.25em;
  }
  .plan tr:nth-of-type(2) td:nth-of-type(1) {font-size: 11px;width: 95px;}
  .plan tr:nth-of-type(3) td:nth-of-type(1) {font-size: 11px;width: 95px;}

  button.btn_back {
    width: 315px;
    height: 60px;
    line-height: 60px;
    border-radius: 4px;
    font-size: 16px;
    transitioin: 0s;
    margin: 40px auto 0;
  }
  button.btn_back:hover {opacity: 1;}
  .share_dl dt {
    font-size: 14px;
    margin: 0 auto 20px;
  }
  .share_dl dd ul li {
    width: 40px;
    height: 40px;
    margin: 0 5px;
  }
  .pagetop {
    width: 40px;
    height: 40px;
    bottom: 10px;
    right: 10px;
  }
}

/* -----------------------------------------------------------
 lineup
----------------------------------------------------------- */

@media screen and (max-width: 767px) {
  
.lineup{padding: 0;}
.lineup>.bg{
  padding: 90px 0 175px;
  background: url(../img/bg04.png) no-repeat center top 50px / 100% auto,
  #E8F7FF;
}
.lineup .h2_cont h2{font-size: 23px;}
.lineup .h2_cont h2 img{
  max-width: 200px;
  padding: 0 0.1em 0 0.5em;
}


.lineup .lineup_wrapper{padding: 50px 8%;}

/* コンテンツ */
.lineup .lineup_wrapper>p{
  inset: -20px -100% auto;
  margin: auto;
  max-width: 200px;
}
.lineup .lineup_wrapper section h3{
  font-size: 30px;
  margin-bottom: -6px;
  text-align: center;
  padding: 0 0 0 48px;
}
.lineup .lineup_wrapper section h3::before{
  /* inset: -100% -100% -100% -100%; */
  left: calc(50% - 100px);
  width: 68px;
  height: 32px;
}

.lineup .lineup_wrapper section.america h3,
.lineup .lineup_wrapper section.japan h3{padding: 0 0 0 43px;}

/* .lineup .lineup_wrapper section .lineup_item{padding: 20px 0 28px;} */
.lineup .lineup_wrapper section .lineup_item>p{
  font-size: 14px;
  font-weight: 400;
}
.lineup .lineup_wrapper section .lineup_item>dl{
  flex-direction: column;
  align-items: flex-start;
}
.lineup .lineup_wrapper section .lineup_item>dl dt{
  display: block;
  width: 100%;
  font-size: 25px;
  line-height: 0.5;
  line-height: 1;
  margin: 0 0 12px;
}
.lineup .lineup_wrapper section .lineup_item>dl dt span:nth-of-type(1){
  display: inline-block;
  font-size: 15px;
  width: 70px;
  margin: 0 10px 8px 0;
}
.lineup .lineup_wrapper section .lineup_item>dl dt img{
  max-width: 100px;
  vertical-align: baseline;
}
.lineup .lineup_wrapper section .lineup_item>dl dt span:nth-of-type(2){
  font-size: 14px;
  font-weight: 500;
  font-feature-settings: "halt";
  padding: 0 0 .2em;
}

.lineup .lineup_wrapper section .lineup_item>dl dd{
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}
.lineup .lineup_wrapper section .lineup_item>dl dd .btn{width: 100%;}
.lineup .lineup_wrapper section .lineup_item>dl dd .btn a{font-size: 14px;}

/* あしらい */
.lineup .lineup_wrapper section .lineup_item>dl dd .btn a::before,
.lineup .lineup_wrapper section .lineup_item>dl dd .btn a::after{
  inset: auto calc(50% - 70px) 0.6em auto;
}

.lineup .notes h4+p{font-size: 14px;}

.lineup .notes>.inner{padding: 0 7.8%;}

  
}
