body.app_body{
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 10000; /* Sit on top */
/*  padding-top: 5em; *//* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.7); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
  background-color: #FFF;
  margin: auto;
  /* margin-top:4rem; */
  margin-top: calc(4rem + env(safe-area-inset-top));
/*  padding: 20px;*/
/*  border: 1px solid #888;*/
  width: 85%;
  height: 88vh; /* Full height */
  height: calc(84vh -  env(safe-area-inset-top) - env(safe-area-inset-bottom));
  text-align:center;
}
.modal-content-txt {
  padding: 20px;
  text-align:left;
  font-size: 1.5rem;
}
.modal-header-title{
  background: #F08080;
  color: #FFF;
  font-size: 1.5rem;
  padding: .5rem;
  margin-top: 1.5rem;
}
.modal-content-subtitle-c{
  text-align:center;
  margin-top:1.2rem;
  line-height:1.2;
}
.modal-content-user_name{
  text-align:center;
  font-size: 1.8rem;
}
.modal-content-subtitle{
  color: #A9A9A9;
  margin-top:1.5rem;
}
.modal-content-txt .c-message__item-img-inner{
  margin:0 auto;
}
/* The Close Button */
.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.modal-close {
  color: #FFF;
  float: right;
  font-size: 2.5rem;
  font-weight: normal;
  margin-top: -.8rem;
  margin-left: -2.5rem;
}

.modal-close2 {
  color: #aaaaaa;
  float: right;
  font-size: 2.5rem;
  font-weight: normal;
  margin-top: -.5rem;
  margin-right: .5rem;
  margin-left: -2rem;
}
.message-html-close{
  position: relative;
  top: 1rem;
  right: .1rem;
  font-size: 3rem;
  color: #666;
  background: #CCC;
  line-height: 0.9;
}
.message-html-close.round-mark{
  position: absolute;
/*  top: -.5rem;*/
/*  right: -1rem;*/
  font-size: 3rem;
  color: #fff;
  background: #646464;
  line-height: 1;
  border-radius: 50%;
  border: solid 2px #FFF;
  padding: .5rem;
  width: 4rem;
  height: 4rem;
  /* margin-top: 1rem; */
  margin-top: calc(1rem +  env(safe-area-inset-top));
  margin-right: 6%;
}
.message-html-close.round-mark::before{
  content: "";
  height: 70%;
  position: absolute;
  border-right: .5vw solid #FFF;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%) rotate(45deg);
}
.message-html-close.round-mark::after{
  content: "";
  height: 70%;
  position: absolute;
  border-right: .5vw solid #FFF;
  top: -20%;
  right: 50%;
  transform: translateX(50%) translateY(50%) rotate(-45deg);
}


.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}

.no_disp{
  display:none;
}
.no_link{
  opacity: 0.4;
}

/* S ■ポップアップ */
.popup-back{
  position: fixed;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9990;/*900*/
  background-color: #000;
  text-align:center;
  filter:alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}

.popup-box{
  display: none;
  z-index: 9999;/*901*/
  position: fixed;
  top:30vh;
  background:#FFF;
  font-size:1.5rem;
  padding:1rem;
  padding-top:1.5rem;
  line-height:1.2;
  width:85%;
  max-width: 400px;
  border-radius:5px;
  /* ▼ 中央揃え修正 ▼ */
  /*left:10%;*/
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  /* ▲ 中央揃え修正 ▲ */
  text-align:center;
}

.popup-box .pop-btn{
  border-radius:5px;
  width:10rem;
  text-align:center;
  color:#FFF;
  /*font-size:2rem;*/
  padding:1rem 0;
  text-decoration:none;
  display:inline-block;
  line-height:1.2;
  margin-top:2rem;
}

.popup-box .pop-btn.ok{
  background:#0066CC;
  float:right;
  margin-right:2vw;
}

.popup-warning{
  margin-top:3vw;
  color:#CC0000;
}

.popup-box .pop-btn.cancel{
  float:left;
  margin-left:2vw;
  background:#8E8E8E;
}

.popup-box .pop-btn.close{
  background:#8E8E8E;
}

.popWaitBox{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background-color: #000;
  text-align:center;
  filter:alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}
.popWaitMsg{
  position: fixed;
  background-color: #FFF;
  text-align:center;
  z-index: 9999;
  width:80%;
/*  height:150px;*/
  left: 0;
  right: 0;
  margin:0 auto;
  display:none;
  border-radius: 5px;
  border: solid 1px #CCC;
  font-size: 5vw;
  line-height: 1.5;
}
.popMsgTable{
  width:100%;
  height:100px;
  display:table;
}
.popMsg{
  display:table-cell;
  vertical-align:middle;
  width:100%;
}
.popBtn {
  width:80px;
  margin:0 auto;
  margin-top: 1vw;
  margin-bottom: 5vw;
  text-align:center;
  background-color: #888;
  color:#FFF;
  padding:5px;
  border-radius: 5px;
}
.popBtn:hover {
  filter:alpha(opacity=70);
  -moz-opacity:0.70;
  opacity:0.70;
  cursor: pointer;
  cursor: hand;
}
.popPic{
  width:110%;
  margin-left:-5%;
  border-radius: 5px;
}

#popupApply{
    z-index: 1100;
    position: fixed;
    display: inline-block;
    padding: 0;
    outline: 0;
    top: 30vh;
    left: 7vw;
    width: 86vw;
    height: 50vw;
    background-color: #fff;
    border-radius: 3vw;
    display:none;
}
#popupError{
    z-index: 1100;
    position: fixed;
    display: inline-block;
    padding: 0;
    outline: 0;
    top: 30vh;
    left: 10vw;
    width: 80vw;
    height: 50vw;
    background-color: #fff;
    border-radius: 3vw;
    display:none;
}
.popup-content {
  text-align: center;
  font-weight: bold;
  margin-top: 4vw;
  width: 90%;
  margin-left: 5%;
  font-size: 5vw;
  line-height:1.6;
  padding-bottom:3vw;
}
.popup-content .f_left_btn{
  margin-left:2vw;
  padding: 3.5vw 0;
}
.popup-content .f_right_btn{
  margin-right:2vw;
  padding: 3.5vw 0;
}

/* E ■ポップアップ */

.select_tab_link{
  width:90vw;
  margin:0 auto;
  margin-top:-6vw;
  height:11vw;
}

.select_tab_link a{
  padding: 2vw;
  font-size: 4.5vw;
  line-height: 1.2;
  display: block;
  color: #888;
  text-decoration: none;
  width: 50%;
  border-bottom: solid 1vw #FFD700;
  float: left;
}

.select_tab_link a.selected_color{
  color:#2C92F6;
  border-bottom: solid 1vw #2C92F6;
}
.item_img{
  width: 90vw;
  border-radius: 2vw;
  margin:0 auto;
}
.inp_form .no_img{
  text-align: left;
  width: 90vw;
  height:30vw;
  border-radius: 2vw;
  margin: 2.5vw 2vw;
  background-color: #CCC;
  color: #fff;
  margin:0 auto;
}
.inp_form .no_img:before{
  content: 'No Image';
  display: inline-block;
  font-size: 5vw;
  color: #FFF;
  width: 90vw;
  text-align:center;
  padding-top: 11vw;
  vertical-align: middle;
}
.inp_form .inp_right{
  text-align:right;
  margin-right:4.9vw;
  margin-top: 5vw;
}
.inp_form .lbl_right{
  padding: 2vw;
  display: inline-block;
  width: initial;
}
.inp_form hr{
  margin: 7vw 5vw 0 5vw;
  border: solid 1px #2C92F6;
}
.informations_content .item_img{
  width: 40vw;
  border-radius: 2vw;
  margin: 2.5vw 2vw;
  float:left;
}
.informations_content .item_img2{
  width: 80vw;
  border-radius: 2vw;
  margin: 2.5vw auto;
}
.item_info{
  width: 41vw;
  text-align: left;
  font-size: 4vw;
  font-weight: normal;
  padding: 1.5vw 0;
  margin-left: 1.5vw;
  line-height:1.3;
  float:left;
}
.item_info2{
  width: 100%;
  text-align: left;
  font-size: 4vw;
  font-weight: normal;
  padding: 3vw 2.5vw;
  line-height:1.3;
}
.item_info .item_ttl{
  text-align: left;
  font-size: 4.8vw;
  font-weight: bold;
  color: #2C92F6;
  margin: 1vw 0 2vw 0;
}
.item_info2 .item_ttl2{
  text-align: center;
  font-size: 4.8vw;
  font-weight: bold;
  color: #2C92F6;
  margin-bottom: 3vw;
}

.item_info .price_box{
  width: 40vw;
  height:10vw;
  margin: 3vw 0.5vw;
  padding: 1vw 0 1vw 0;
  border: 1px solid #9fd4ff;
  border-radius: 1.5vw;
  text-align: center;
  font-size: 4.5vw;
  font-weight: bold;
}
.item_info .price_box .qty{
  margin-top: .5vw;
  width: 15vw;
  float:left;
}
.item_info .price_box .border_blue{
  border-right: solid 0.4vw #9fd4ff;
  height: 7.5vw;
  width: 1vw;
  float:left;
}
.item_info .price_box .price{
  margin-top: .5vw;
  width: 22vw;
  float:left;
}

.informations_content .no_img{
  text-align: left;
  width: 40vw;
  height:27vw;
  border-radius: 2vw;
  margin: 2.5vw 2vw;
  background-color: #CCC;
  color: #fff;
  float:left;
}
.informations_content .no_img:before{
  content: 'No Image';
  display: inline-block;
  font-size: 5vw;
  color: #FFF;
  width: 40vw;
  text-align:center;
  padding-top: 10vw;
  vertical-align: middle;
}
.informations_content .no_img2{
  text-align: left;
  width: 80vw;
  height:30vw;
  border-radius: 2vw;
  margin: 2.5vw auto;
  background-color: #CCC;
  color: #fff;
}
.informations_content .no_img2:before{
  content: 'No Image';
  display: inline-block;
  font-size: 5vw;
  color: #FFF;
  width: 80vw;
  text-align:center;
  padding-top: 11vw;
  vertical-align: middle;
}

.informations_box{
  background-color: #DCEFFE;
  width: 90vw;
  margin: 6vw auto;
  border-radius: 2vw;
  box-shadow: 0 1vw 1.5vw 0 rgba(0, 0, 0, .2);
}
.informations_box .ttl{
  text-align: left;
  padding: 2vw 0vw 2vw 3vw;
  font-size: 4vw;
}
.informations_content{
  background-color: #fff;
  border-radius: 0 0 3vw 3vw;
  padding: 1vw;
}
.pt_box{
  width: 76vw;
  margin: 3vw auto;
  padding: 2.5vw 2.5vw 2.5vw 2.5vw;
  border: 1px solid #9fd4ff;
  border-radius: 1.5vw;
}
.pt_box table{
  width:100%;
}
.pt_box table td{
  width:100%;
  font-size: 5vw;
  color: #2C92F6;
  font-weight: bold;
}
.pt_box table td.td_left{
  width:70%;
  border-right: solid 0.5vw #9fd4ff;
  padding-right: 2vw;
  text-align: left;
}
.pt_box table td.td_right{
  width:30%;
  text-align: right;
  line-height:1;
}
.pt_box .num_ffm{
  font-size:6vw;
}
.pt_box .unit{
  color: #666;
  margin-top: 2vw;
  font-size:4vw;
  white-space: nowrap;
}

.ttl.point_ttl{
  height:11vw;
  padding:1.5vw;
}

.informations_box .ttl .point{
  font-size: 6.25vw;
  font-weight: bold;
  width: 41vw;
  text-align: center;
      line-height: 1.2;
  float:left;
}
.informations_box .ttl .point .unit{
  font-size:4vw;
}
.informations_box .ttl .border_white{
  border-right: solid 0.4vw #fff;
  height: 7.5vw;
  width: 1vw;
  float:left;
}
.informations_box .ttl .application_date_lbl{
  font-size: 3.5vw;
  font-weight: bold;
  margin-right: 2vw;
  color:#2C92F6;
  line-height: 1.2;
  width: 10vw;
  text-align: right;
  float:left;
}
.informations_box .ttl .application_date_lbl.lbl2{
  margin-top: 2vw;
  width: 15vw;
}

.informations_box .ttl .application_date{
  font-weight: bold;
  font-size: 4vw;
  margin-top: 1vw;
  width: 32vw;
  text-align: center;
  float: left;
}
.informations_box .ttl .application_date.date2{
  width: 27vw;
}

.state_txt{
  text-align:center;
  font-size: 5vw;
}

.box_mission{
  background-color: #DCEFFE;
  width: 90vw;
  padding: 0 0 0 3vw;
  margin: 2vw 5vw;
  border-radius: 2vw;
  text-align: left;
  line-height: 12vw;
}
.left_box{
  border-right: solid 0.4vw #fff;
  height: 17.5vw;
  width: 12.5vw;
}
.right_box{
  font-size: 4.5vw;
  font-weight: bold;
  color: #333;
  line-height: 1.3;
  padding: 0 1vw 0 4vw;
}
.implementation_period{
  width: 65vw;
  margin-top: 1vw;
  font-size: 3.25vw;
  display: inline-block;
}
.achieved_mark{
  background: #c00;
  color: #fff;
  font-size: 3vw;
  display: inline-block;
  height: 4vw;
  width: 9vw;
  text-align: center;
  font-weight: normal;
  border-radius: 2vw;
}
.point_num{
  font-size: 5.5vw;
  font-weight: bold;
  color: #2C92F6;
  line-height: 1.2;
  text-align: center;
  margin-left: -3vw;
}
.point_text{
  font-size: 3.25vw;
  font-weight: bold;
  color: #333;
  line-height: 1.2;
}

.content_box{
  background-color: #FFF;
  width: 90vw;
  margin: 6vw auto;
  padding:3.5vw;
  border-radius: 2vw;
  box-shadow: 0 1vw 2.5vw 0 rgba(0, 0, 0, .2);
  font-size:4.5vw;
  text-align:left;
  line-height:1.4;
}

.content_box .content_img{
  width: 100%;
  border-radius: 2vw;
  margin-bottom:3vw;
}

.list_box{
  background-color: #FFF;
  width: 90vw;
  margin: 6vw auto;
  border-radius: 2vw;
  box-shadow: 0 1vw 2.5vw 0 rgba(0, 0, 0, .2);
  font-size:4.5vw;
  text-align:left;
  line-heigh:1.3;
}
.list_box .list_date{
  padding:2vw 2.5vw;
  border-bottom:solid 0.5vw #8888;
  color:#888;
}
.no_read:after{
  content: '未読';
  display: inline-block;
  font-size: 3.5vw;
  color: #FFF;
  background: #F22A4B;
  padding: 1vw 1.5vw;
  vertical-align: middle;
  margin-left: 1.7vw;
  border-radius: 1vw;
  line-height:1;
}
.list_box .list_ttl{
  padding:2vw 2.5vw;
  font-size:4.5vw;
  line-height:1.3;
}


.form_title{
  font-size: 4.75vw;
  color:#00f;
  font-weight: bold;
  line-height: 1.45;
}

.box_name_title{
  margin-top: 5vw;
  text-align: left;
  font-size: 4.5vw;
  font-weight: bold;
  color: #2C92F6;
}
.follower_header_ttl{
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 50vw;
  display: inline-block;
  vertical-align: middle;
}

.follower_header_ttl2{
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 80%;
  display: inline-block;
  vertical-align: middle;
}

.fs_min{
  /*font-size:3vw;*/
}

/*ブラウザ用 フォーカスマーク*/
.link_box{
	cursor: pointer;
	cursor: hand;
}
.link_txt{
  color:#4682B4;
  text-decoration: underline;
}

/* ******************* 未読バッチ ******************* */
.badge{
  position: absolute;
  width: 7vw;
  height: 7vw;
  background: #c00;
  border-radius: 4vw;
  color: #FFF;
  font-size: 3.6vw;
  font-weight: bold;
  text-align: center;
  padding-top: 1vw;
  white-space: nowrap;
  z-index: 3;
  line-height: 1.4;
}
#notif_unread{
  top: -21.5vw;
  left: 70.5%;
}

/* ローディング中の背景 */
#loadingBg{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 900;
  background-color: #FFF;
  display:none;
}

/* iOS用ヘッダーステータス対応 */
.ios-status-bar:before {
    content: "";
    position: fixed;
    z-index: 10000;
    top: -100px;
    height: 100px;
    right: 0;
    left: 0;
    background-color: #fff;
}

a.anchor {
    display: block;
    padding-top: 2rem;
    margin-top: -2rem;
}

.pc_float_left{
  float:left;
}

.pc_float_right{
  float:right;
}



@media screen and (max-width: 750px) {
  .message-html-close.round-mark{
    margin-right: 3%;
  }
  .follower_header_ttl{
    max-width: 35.5vw;
  }
  .follower_header_ttl2{
    max-width: 53vw;
  }
  .fs_ttl_sp_s{
    font-size:3.5vw;
  }
  
  .pc_float_left, .pc_float_right{
    float:none;
  }
  
  .sp_mt_1rem{
    margin-top:1rem;
  }
  .sp_ml_10p{
    margin-left:10px;
  }
}

#page_top{
  width: 90px;
  height: 60px;
  position: fixed;
  right: 20px;
  bottom: 90px;
  background: #969696;
  opacity: 0.4;
  border-radius: 20px;
  z-index: 2;
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 60px;
  text-decoration: none;
}
#page_top a::before{
  font-weight: 900;
  content: '▲';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 40px;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  vertical-align: middle;
}
#page_top a::after{
  font-weight: 900;
  content: 'ページトップ';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 30px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
/*tutorial box
---------------------------------------------------------- */
.modal-content.tutorial_box{
  padding: 1rem 1rem 2rem 1rem;
  height:unset;
  max-width:400px;
}
.tutorial{
  position: relative;
  background: #CCC;
}
.tutorial p{
  font-size: 2rem;
  padding-top: 48vw;
  color: #fff;
}
.tutorial img{
  position: absolute;
  width: 100%;
  max-width: 440px;
  top: 0;
  left: 0;
}
.bx-viewport {
  min-height:450px;
}
@media screen and (max-width: 750px) {
  .bx-viewport {
    min-height:90vw;
  }
}
.modal-content.tutorial_box .bxslider-skip-txt{
  color: #ED416A;
  font-size: 1.6rem;
  font-weight: normal;
  float: none;
  display: block;
  text-decoration: underline;
  margin: 0 auto;
  margin-top: 1rem;
} 

.modal-content.tutorial_box .message-html-close.round-mark{
  z-index:1;
}
@media screen and (min-width: 450px) {
  .modal-content.tutorial_box .message-html-close.round-mark{
    right: unset;
    margin-left:368px;
  }
}
