img.over:hover{
opacity: 0.8;
}
.head-image {
  position: relative;
  background: url("../images/main.png") top center no-repeat #000;
  height: 480px;
}
.head-image h1 {
    overflow: hidden;
    height: 0;
    white-space: nowrap;
    text-indent: 100%;
}
.head-image .c-display-pc-block {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  height: 480px;
  text-align: center;
}
.head-image .c-display-pc-block a img {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 283px;
  height: 50px;
}

/*.campaign{
text-align: center;
padding: 25px 15px;
}*/

.c-container {
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto;
  padding:1em 1em;
}
main>div.c-container.c-display-pc-block{
padding: 0;
}
.notepc_sim_set{
}
.notepc_sim_set h2{
padding: 25px 0;
}
.notepc_sim_set h2 img{
margin-bottom: 50px;
}
.clm_flexbox{
display: flex;
align-items: center;
margin:0 auto 40px auto;
}
figure{
padding: 0;
margin:0 auto;
}
.clm_flexbox .catch{
font-size: 18px;
max-width: 43%;
text-align: left;
line-height: 2.0;
margin-right: 2%;
}
.flexwrap{
flex-wrap: wrap;
}
.notepc3, .sim5{
line-height: 1.8;
border: 2px solid #a5a5a5;
padding: 1em;
margin: 30px auto 0 auto;
width: 40%;
min-height: 260px;
}
.notepc3 h3, .sim5 h3{
font-size: 21px;
background: #fff;
margin: -35px auto 0 auto;
padding:0 1em 1em;
width: 15em;
}
.sim5 h3{
 width: 12em;
 }
.notepc3 h4, .sim5 h4{
padding: 1em 0;
}
.notepc3 p, .sim5 p{
font-size: 13px;
}
.and{
margin:15px auto;
}
.clm_flexbox p.right{
display: block;
padding:1em;
width: 100%;
}

/*たとえばこんなプラン*/
.bg_graybox{
background: #f0f0f0;
padding:15px 30px;
}
.bg_graybox h2{
font-weight: 600;
font-size: 30px;
}
.plan01, .plan02{
background:#fff;
line-height: 1.8;
margin: 0 auto;
width: 45%;
}
.plan01 dl, .plan02 dl{
display: flex;
padding: 1em;
justify-content: center;
align-items: center;
}
.plan01 dt, .plan02 dt{
margin-right: 30px;

}
.plan01 h3, .plan02 h3{
font-size: 21px;
font-weight: 500;
background: #dbdbdb;
margin:0 auto;
padding:5px;
}
.bg_graybox .clm_flexbox{
margin-bottom: 15px;
}
.clm_flexbox p.center{
display: block;
padding: .5em;
margin-top: 20px;
width: 100%;
}
/*お問い合わせ*/
.contact{
background: #be1011;
color: #fff;
text-align: center;
padding: 25px;
margin: 30px auto;
}
.contact>p{
font-size: 24px;
}
.contact .clm_flexbox{
max-width: 1080px;
padding: 0;
margin-bottom: 0;
}
.contact .clm_flexbox div{
padding: 1em;
}
/*タイトル部分*/
.title_ico{
display: flex;
align-items: center;
}
.title_ico h2{
font-size: 24px;
}
.title_ico h2 strong{
font-size: 36px;
font-weight: 500;
padding-left: .2em;
}
.title_ico h3{
font-size: 24px;
text-align: left;
}
.title_ico .img_ico{
margin-right: 20px;
}
/*SIMフリーノートパソコン*/
.pc_type_detail {
  display: flex;
  margin-top: 3rem;
  justify-content: space-between;
}
.pc_type_detail > div {
  position: relative;
  margin-top: 14px;
  padding: 35px 20px;
  border: 1px solid #ccc;
  border-radius: 8px;
}
.pc_type_detail .sim_verified{
position: absolute;
top: -14px;
left: 50%;
width: 240px;
height: 28px;
transform: translateX(-50%);
}
.pc_type_detail > div p:nth-of-type(1) {
  font-size: 24px;
  margin: 1em 0;
}
.pc_type_detail > div p:nth-of-type(2) {
  font-size: 0.9em;
  width: 80%;
  margin: 1em auto;
  padding: .5em;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.pc_type_detail > div p.price_simpc {
  font-size: 18px;
  margin: 2em 0;
  }
.pc_type_detail > div p.price_simpc span{
display: block;
font-size: 12px;
}
.pc_type_detail .simpc_link {
  line-height: 1.5em;
  width: 78%;
  margin: 2em auto;
}
.pc_type_detail .simpc_link a {
  position: relative;
  display: block;
  padding-right: 1em;
  padding-bottom: .3em;
  padding-left: 1em;
  color: #333;
  border-bottom: 2px solid #333;
  text-decoration: none;
  font-size: 14px;
}
.pc_type_detail .simpc_link a::after {
    position: absolute;
    top: 50%;
    right: -4%;
    width: 1em;
    height: 1em;
    content: '';
    transform: translateY(-60%);
    background: url(../../assets/images/ico06.png) no-repeat;
}
.pc_type_detail .simpc_link a span{
display: inline-block;
font-size: 12px;
}
#pc_type .list{
  margin-top: 30px;
}
#pc_type .list a{
  width: 200px;
  height: 50px;
  border: 3px solid #000;
  display: inline-block;
  line-height: 3em;
  text-decoration: none;
  color: #000;
}
/*料金プラン*/
#price{
padding: 30px 0 0;
border-top: 1px solid #333;
margin: 40px auto 0;
}
.price_plan {
  display: flex;
  margin: 40px auto;
  justify-content: space-between;
}
.price_plan img {
  width: inherit;
}
.price_plan_campain figure{
padding:.5em 1em 0;
border: 1px solid #ddd;
border-radius: 5px;
}
.price_plan_campain p{
display: inline-block;
margin: 1em auto;
font-size: 12px;
text-align: left;
}
/*楽天モバイルSIMの特徴*/
.sim_feature{
padding: 40px 0;
}
.sim_feature h2{
font-size: 32px;
padding-bottom: 40px;
}
.sim_feature .clm_flexbox{
justify-content: center;
margin-bottom: 50px;
}
.sim_feature .clm_flexbox p:nth-child(2){
margin: 0 30px;
}
/*
楽天モバイルSIMお申し込みの流れ
*/
#flow{
padding: 40px 0;
border-top: 1px solid #333;
margin: 0 auto;
}

.title_text h2{
font-size: 24px;
margin-bottom: 30px;
}
.title_text h2 strong{
font-size: 36px;
font-weight: 500;
padding-left: .2em;
}
#flow .bg_graybox h3{
font-size: 28px;
}
#flow .bg_graybox p{
font-size: 20px;
padding: 1em;
}
.flow_address dl {
  display: flex;
  margin: 1em auto;
  border: 1px solid #ccc;
  border-radius: 5px;
  align-content:center;
  align-items: center;
}
.flow_address dl dt {
  font-size: 18px;
  font-weight: 700;
  width: 30%;
  margin: 1em 0;
  padding: 0 1em;
  text-align: center;
}
.flow_address dl dd {
  line-height: 1.5em;
  width: 70%;
  margin: 1em 0;
  padding: 0 1em;
  border-left: 1px solid #ccc;
  text-align: left;
}
/*FAQ*/
#faq{
padding:0 1em;
}
#faq .faqbox{
    line-height: 1.8;
    border: 3px solid #333;
    padding: 1em;
    margin: 80px auto 0 auto;
    width: 90%;
    max-width: 1080px;
}
#faq .faqbox .title_text{
background:#fff;
margin: -50px auto 0 auto;
padding: 0 1em;
width: 32em;
}
#faq .faqbox .title_text h2{
margin-bottom: 0;
}
#faq .faqbox dl{
    line-height: 1.4;
    padding: 1em;
    margin: 10px auto 0 auto;
    width: 90%;
    text-align: left;
    border-bottom: 1px solid #ccc;
    font-size: 18px;
}
#faq .faqbox dl:last-child{
border: none;
}
#faq .faqbox dl dt{
font-weight: bold;
}
#faq .faqbox dl dd{
margin-left: 2em;
}
#faq .faqbox dl dt:before{
content: "Q.";
color: #4285F4;
font-size: 28px;
font-weight: 400;
padding-right: .2em;
}
#faq .faqbox dl dd:before{
content: "A.";
color: #D2292D;
font-size: 28px;
font-weight: 400;
padding-right: .2em;
}
/*注意事項*/
.condition{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 80px auto 40px auto;
  width: 90%;
  max-width: 1080px;
}
.condition h2{
  padding:1em;
  width: 12em;
  font-size: 24px;
  font-weight: 500;
}
.condition ul{
  list-style-type: none;
  text-align:left;
  text-indent: -1em;
}
.condition li:before {
  content: "※";
  left : 1em;
}
/*ダウンロード・保守サービス*/
.infobox{
background:#f8f8f8 ;
padding: 30px 0;
}
.infobox .c-container.clm_flexbox{
margin: 0 auto;
padding-bottom: 0;
align-items: flex-start;
}
.infobox section{
background: #fff;
border-bottom: 5px solid #afafaf;
text-align: left;
padding: 1em;
font-size: 13px;
}
.infobox section h2{
font-weight: 400;
font-size: 24px;
/*padding-bottom: 1em;*/
}
.infobox section h3{
font-weight: 500;
font-size: 16px;
padding-top: 1em;
/*padding-bottom: .5em;*/
}
.infobox section a{
text-decoration: none;
color: #333;
}
.infobox section a:hover{
text-decoration: underline;
}
/*.infobox section.download{
width: 48%;
margin-right: 1%;
min-height: 150px;
}*/
.infobox section.apnsetting{
width: 100%;
/*margin-right: 1%;
min-height: 180px;*/
}
.infobox section.maintenanceservice{
width: 40%;
margin-right: 1%;
min-height: 430px;
}
.infobox section.productsupport{
width: 60%;
min-height: 430px;
}
.infobox section.productsupport .clm_flexbox{
align-items: flex-start;
justify-content: space-between;
margin-bottom: 0;
}
.infobox section.productsupport .mod-mb-10{
font-size: 13px;
margin-bottom: 0 !important;
}
.infobox section.apnsetting p.right{
padding:.5em 0 0;
}
.ico_red{
color: #bc0f13;
}
/*SNSボタン*/
.officialAccount {
    margin-top: 50px;
    text-align: center;
}
.officialAccount li {
    display: inline-block;
    margin: 0 10px;
}
@media screen and (max-width: 768px) {
body{
text-align: center;
}
  .head-image {
    position: relative;
    background: url("../images/sp/sp_main.png") top center no-repeat #000;
    height: 0;
    padding-top: 133.42%;
    background-size: contain;
  }
.head-image .c-display-sp-block  {
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }
.head-image .c-display-sp-block img {
    position: absolute;
    top: 22vw;
    left: 0;
    right: 0;
    margin: auto;
    width: inherit;
    max-width: 70%;
    height: auto;
  }
.notepc_sim_set .clm_flexbox{
flex-wrap: wrap;
}
.clm_flexbox .catch{
max-width: inherit;
}
.notepc3, .sim5{
width: 100%;
}
.plan01, .plan02{
width: 100%;
}
.notepc3 h3, .sim5 h3{
padding:0 1em 1em;
width: auto;
text-align: center;
}
.bg_graybox h2{
font-size: 26px;
}
.contact .clm_flexbox{
flex-wrap: wrap;
justify-content: center;
}
.title_ico{
flex-wrap: wrap;
justify-content: center;
}
.title_ico .img_ico{
margin: 10px auto;
}
.title_ico h2{
font-size: 18px;
}
.title_ico h2 strong{
display: block;
font-size: 28px;
}
.title_ico h3{
font-size: 20px;
}
.pc_type_detail{
display: block;
}
.pc_type_detail > div{
margin:40px auto 0;
}
.pc_type_detail div p{
text-align: center;
}
.price_plan{
display: none;
}
#price .title_ico{
margin-bottom: 20px;
}
.sim_feature .clm_flexbox{
display: none;
}
.sim_feature p{
padding-top: 1.5em;
}
.title_text h2{
font-size: 18px;
}
.title_text h2 strong{
display: block;
font-size: 28px;
}
#flow{
padding:0;
}
#flow .bg_graybox h3{
font-size: 20px;
}
#flow .bg_graybox p{
font-size: 18px;
}
#flow .bg_graybox .clm_flexbox{
flex-wrap: wrap;
justify-content: center;
}
.flow_address dl{
display: block;
}
.flow_address dl dt{
width: inherit;
margin: 0 auto;
text-align: center;
border-bottom: 1px solid #ccc;
}
.flow_address dl dd{
width:inherit;
margin: 0 auto;
text-align: center;
border: none;
}
#faq .faqbox .title_text{
margin: -50px auto 0 auto;
padding: 0 1em;
width:inherit;
}
.condition{
flex-wrap: wrap;
margin:0 auto 0 auto;
}
.condition >:first-child{
  flex-basis: 100%;
}
.infobox .c-container.clm_flexbox{
flex-wrap: wrap;
}
.infobox section{
width: 100% !important;
margin-right: 0 !important;
min-height: inherit !important;
}
.infobox section.apnsetting{
  margin-bottom: 16px;
}
.infobox section.productsupport .clm_flexbox{
flex-wrap: wrap;
}
.infobox section.maintenanceservice{
  margin-bottom: 2.5em;
}
.officialAccount li {
    display: inline-block;
    margin: 0 15% 10px;
}
.officialAccount li a img {
    width: 100%;
    margin: 0 auto;
}
}
