@charset "utf-8";
/*===============================================================================
　  プラチナ光（テレ・マーカー）  CSS
===============================================================================*/
/*===============================================================================
INDEX
===============================================================================*/
#top_main_area {
  clear: both;
  width: 100%;
  margin: 0 auto;
  height: 280px;
  overflow: hidden;
  background: #fff url(../img/index/main_bg.jpg) no-repeat top center;
  background-size: 1700px;
  padding: 0;
}
#top_main_area .top_main_img {
  clear: both;
  width: 1000px;
  height: 280px;
  overflow: hidden;
  margin: 0 auto;
}
#top_main_area .top_main_img img {
  width: 620px;
  padding-top: 140px;
}
#top_main_area2 {
  clear: both;
  width: 100%;
  margin: 0 auto;
  height: 280px;
  overflow: hidden;
  background: #fff url(../img/index/main_bg2.jpg) no-repeat top center;
  background-size: 1700px;
  padding: 0;
}
#top_main_area2 .top_main_img2 {
  clear: both;
  width: 1000px;
  height: 280px;
  overflow: hidden;
  margin: 0 auto;
}
#top_main_area2 .top_main_img2 img {
  width: 400px;
  padding-top: 50px;
  padding-left: 120px;
}
#top_main_area3 {
  clear: both;
  width: 100%;
  margin: 0 auto;
  height: 280px;
  overflow: hidden;
  background: #fff url(../img/index/main_bg3.jpg) no-repeat top center;
  background-size: 1320px;
  padding: 0;
}
#top_main_area3 .top_main_img3 {
  clear: both;
  width: 1000px;
  height: 280px;
  overflow: hidden;
  margin: 0 auto;
}
#top_main_area3 .top_main_img3 img {
  width: 400px;
  padding-top: 50px;
  padding-left: 120px;
}
#top_main_area4,
#top_main_area6,
#top_main_area7 {
  clear: both;
  width: 100%;
  margin: 0 auto;
  height: 280px;
  overflow: hidden;
  background: #fff url(../img/index/main_bg4.jpg) no-repeat top center;
  background-size: 1320px;
  padding: 0;
}

#top_main_area6 {
  background: #fff url(../img/index/main_bg6.jpg) no-repeat top center;
}

#top_main_area7 {
  background: #fff url(../img/index/main_bg7.jpg) no-repeat top center;
}

#top_main_area4 .top_main_img4,
#top_main_area6 .top_main_img4,
#top_main_area7 .top_main_img4 {
  clear: both;
  width: 1000px;
  height: 280px;
  overflow: hidden;
  margin: 0 auto;
}
#top_main_area5 {
  clear: both;
  width: 100%;
  margin: 0 auto;
  height: 280px;
  overflow: hidden;
  background: #fff url(../img/index/main_bg5.jpg) no-repeat top center;
  background-size: 1320px;
  padding: 0;
}
#top_main_area5 .top_main_img4 {
  clear: both;
  width: 1000px;
  height: 280px;
  overflow: hidden;
  margin: 0 auto;
}
@media only screen and (max-width: 890px) {
  #top_main_area2 .top_main_img2 img {
    width: 400px;
    padding-top: 60px;
    padding-left: 60px;
  }
}
#slider_area .hover_img1 a {
  transition: all 0.5s ease; /*0.5秒かけて要素を変化させる*/
}
#slider_area .hover_img1 a:hover {
  opacity: 0.7; /*要素の透明度を指定*/
  filter: alpha(opacity=70); /*ie6、7の透明度指定*/
  /*ちなみにie8の透明度指定はこれ→ -ms-filter: "alpha(opacity=70)";*/
}
/* --お知らせ----------------------------------------------------------------- */
#news_area {
  width: 1000px;
  margin: 0 auto 20px auto;
  padding: 10px;
}
#news_area .news_title {
  float: left;
  overflow: hidden;
  width: 20%;
}
#news_area .news_box {
  float: left;
  overflow: hidden;
  width: 80%;
}
#news_area .news_title li.title img {
  padding-top: 10px;
  width: 150px;
}
#news_area .news_title li.ichiran {
  padding-top: 10px;
}
#news_area .news_title li.ichiran a {
  display: block;
  width: 150px;
  /* background: #222A43 url(../img/common/white_icon.png) no-repeat 30px center; */
  background: #222a43 url(../img/common/white_icon.png) no-repeat 20px center;
  background-size: 11px;
  /* padding: 5px 0 5px 30px; */
  padding: 5px 0 5px 20px;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
#news_area .news_title li.ichiran a:hover {
  /* background: #EBDE37 url(../img/common/black_icon.png) no-repeat 30px center; */
  background: #ebde37 url(../img/common/black_icon.png) no-repeat 20px center;
  background-size: 11px;
  color: #333;
}
/* --サービス案内----------------------------------------------------------------- */
#service_area {
  clear: both;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background: url(../img/common/blue_bg.jpg) repeat top center;
}
#service_area .service_list {
  width: 1250px;
  margin: 20px auto;
  padding: 0;
  overflow: auto;
}
#service_area .service_list li {
  float: left;
  background: #fff;
  border: 1px solid #222a43;
  width: 230px;
  margin: 0 10px;
  padding: 0;
  box-sizing: border-box;
}
.service_box {
  margin: 10px;
}
.service_box p.title {
  background: #e25573;
  color: #fff;
  font-weight: bold;
  text-align: center;
  border-radius: 10px;
  font-size: 11px;
}
.service_box p.sub_title {
  color: #222a43;
  font-weight: bold;
  text-align: center;
  font-size: 14px;
  padding: 10px 0px;
}
.service_box p.service_img {
  width: 100%;
  text-align: center;
}
.service_box p.service_img img {
  width: 80px;
  text-align: center;
  margin: 0 auto;
}
.service_box p.service_btn {
  margin-top: 5px;
}
.service_box p.service_btn img {
  width: 100%;
  text-align: center;
  margin: 0 auto;
}
.service_box p.service_btn a:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}
.service_box table td.inp_title {
  width: 75px;
  text-align: right;
  font-size: 11px;
  line-height: 15px;
  color: #222a43;
  font-weight: bold;
}
.service_box .id {
  margin-top: 10px;
}
.service_box .id,
.service_box .pass {
  padding: 6px 0;
}
.service_box table td .textfield {
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  border: #a9a9a9 1px solid;
  width: 120px;
  height: 20px;
  padding: 0 3px;
  margin: 0;
}
.service_box table td .textfield:focus {
  border: solid 1px #222a43;
}
input[type="text"],
select {
  outline: none;
}
#top_main_img .mypage li.login_btn,
#top_main_img .mypage li.login_pdf {
  text-align: center;
  padding: 5px 0 7px 15px;
  margin: 0;
  background: url(../img/common/mypage_bg.png) repeat-y;
}
.service_box .login_btn_area .login_btn {
  width: 100%;
  margin-top: 8px;
}
.service_box .login_btn_area .login_btn:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}
.service_box .login_pdf {
  font-size: 11px;
  line-height: 16px;
  text-align: left;
  margin: 13px 0 14px 0;
  overflow: auto;
}
.service_box .login_pdf p {
  background: url(../img/common/pdf_icon.png) no-repeat 5px 50%;
  background-size: 26px;
}
.service_box .login_pdf p a {
  padding-left: 40px;
  display: block;
  text-decoration: underline;
}
/*===============================================================================
NEWS
===============================================================================*/
/*ニュースプログラム*/
html.news,
body.news {
  backgradius: #f2f2f2;
}
ul#news_list {
  margin: 5px 0 0 0;
  padding: 0;
}
ul#news_list li {
  color: #333;
  font-size: 12px;
  margin: 0;
  padding: 8px;
  padding-bottom: 5px;
  margin-bottom: 3px;
  line-height: 160%;
  list-style-type: none;
}
.news_list_h {
  width: 100%;
}
.news_list_h td {
  padding: 3px 0;
}
.category {
  width: 60px;
}
.news_List_Ymd {
  font-weight: bold;
}
.cat_name {
  padding: 3px 3px;
  background: #ebde37;
  text-decoration: none;
  color: #000;
  font-weight: bold;
  font-size: 12px;
  display: inline-block;
  line-height: 100%;
}
.new_mark {
  margin: 0 10px;
  padding: 3px 2px 2px 2px;
  background: #1d3a74;
  text-decoration: none;
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  display: inline-block;
  line-height: 100%;
}
ul#news_list li .news_List_Title {
  padding-left: 5px;
  font-weight: bold;
  border-bottom: 1px dotted #666;
}
ul#news_list li .news_List_Title a {
  text-decoration: underline;
}
/* Pager style */
.pager {
  text-align: right;
  padding: 10px;
}
/*ページャーボタン*/
.pager a {
  border: 1px solid #ebde37;
  border-radius: 5px 5px 5px 5px;
  color: #333;
  font-size: 12px;
  padding: 3px 7px 2px;
  text-decoration: none;
  margin: 0 1px;
}
/*現在のページのボタン*/
.pager a.current {
  background: #ebde37;
  border: 1px solid #ebde37;
  border-radius: 5px 5px 5px 5px;
  color: #000;
  font-size: 12px;
  padding: 3px 7px 2px;
  margin: 0 1px;
  text-decoration: none;
}
.pager a:hover {
  background: #fff;
  color: #000;
}
.overPagerPattern {
  padding: 0 2px;
}
/* /Pager style */
/*ポップアップウインドウのスタイル*/
body#news_popup {
  -webkit-text-size-adjust: none;
  margin: 10px;
  padding: 0;
}
body#news_popup h2 {
  font-size: 16px;
  margin: 0 0 5px;
  border-bottom: 1px dotted #999;
  padding: 5px 2px 1px;
  color: #222a43;
  font-weight: bold;
  overflow: hidden;
  padding-bottom: 5px;
}
p.up_ymd {
  font-size: 16px;
  margin: 0px;
  float: left;
}
p.up_title {
  font-size: 16px;
  margin: 0px;
  float: left;
  padding-left: 10px;
}
#detailWrap {
  padding: 10px;
  margin: 0px;
  color: #666;
  font-size: 15px;
  line-height: 140%;
}
#detailWrap ul,
#detailWrap ol {
  margin-left: 20px;
}
#detailWrap p {
  padding: 5px 0;
}
#detailWrap a {
  text-decoration: underline;
}
.close_btn {
  font-size: 15px;
  text-align: right;
  padding-right: 15px;
}
.close_btn a {
  padding: 2px 10px;
  border: 1px solid #aaa;
  text-decoration: none;
  color: #666;
  border-radius: 5px;
  background: #fff;
}
.close_btn a:hover {
  background: #222a43;
  color: #fff;
}
.photo_caption {
  text-align: center;
  font-size: 14px;
  color: #555;
  line-height: 140%;
}
/* /ポップアップウインドウのスタイル*/
/*===============================================================================
ニュース一覧・ニュース詳細
===============================================================================*/
#contents .news_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
}
ul#news_list1,
ul#news_list2 {
  margin: 5px 0 0 0;
  padding: 0;
}
ul#news_list1 li,
ul#news_list2 li {
  color: #333;
  font-size: 12px;
  margin: 0;
  padding: 8px;
  padding-bottom: 5px;
  margin-bottom: 3px;
  line-height: 160%;
  list-style-type: none;
}
ul#news_list1 li {
  margin-bottom: 15px;
  border-bottom: 1px dotted #ccc;
}
ul#news_list1 li .new_mark ul#news_list2 li .new_mark {
  margin: 0 10px;
  padding: 3px 2px 2px 2px;
  background: #1d3a74;
  text-decoration: none;
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  display: inline-block;
  line-height: 100%;
}
ul#news_list1 li .news_List_Title,
ul#news_list2 li .news_List_Title {
  padding-left: 5px;
  font-weight: bold;
}
ul#news_list li .news_List_Title a,
ul#news_list2 li .news_List_Title a {
  text-decoration: underline;
}
#contents .news_area .up_ymd {
  font-weight: bold;
  font-size: 16px;
  color: #222a43;
  padding-left: 10px;
}
#detailWrap {
  padding: 10px;
  margin: 0px;
  color: #333;
  font-size: 14px;
  line-height: 140%;
}
.detailPhoto {
  float: left;
  margin: 5px 2px;
  text-align: center;
  font-size: 13px;
}
#contents .news_area .backORcloseBtn {
  float: right;
}
#contents .news_area .backORcloseBtn a {
  width: 120px;
  text-align: center;
  display: block;
  padding: 10px;
  background: #222a43;
  color: #fff;
  border: 1px solid #222a43;
  border-radius: 6px;
}
#contents .news_area .backORcloseBtn a:hover {
  background: #e25573;
  border: 1px solid #e25573;
}
/*===============================================================================
　よくある質問
===============================================================================*/
#contents .faq_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
}
#contents .faq_area .faq_list {
  border: 1px solid #cccccc;
  overflow: hidden;
  margin-bottom: 20px;
}
#contents .faq_area .faq_list li {
  padding: 10px;
}
#contents .faq_area .faq_list li.question {
  height: 35px;
  border-bottom: 1px dotted #cccccc;
  background: url(../img/faq/q_icon.png) no-repeat 14px 14px;
  background-size: 32px;
  padding: 10px 10px 10px 60px;
  line-height: 40px;
  font-size: 16px;
  color: #222a43;
  font-weight: bold;
}
#contents .faq_area .faq_list li.ask {
  background: url(../img/faq/a_icon.png) no-repeat 14px 14px;
  background-size: 32px;
  padding: 20px 10px 20px 60px;
}
/*===============================================================================
　料金　関連
===============================================================================*/
#contents .price_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
}
#contents .price_area .txt_box {
  margin: 10px auto;
  padding: 20px 10px 10px 10px;
}
#contents .price_area .attention {
  margin-left: 1em;
  text-indent: -1em;
}
/*　初期費用　*/
#contents .price_area table.price_list {
  width: 100%;
  margin: 0 0 10px 0;
  border: 1px #cccccc solid;
  border-collapse: collapse;
  border-spacing: 0;
}
#contents .price_area table.price_list th {
  background: #f6f6f6;
  text-align: center;
}
#contents .price_area table.price_list th.total {
  background: #ebde37;
  text-align: center;
  font-weight: bold;
}
#contents .price_area table.price_list td.total {
  text-align: center;
  font-weight: bold;
  background: #f9f5c2;
}
#contents .price_area table.price_list td {
  background: #ffffff;
  text-align: center;
  width: 50%;
}
#contents .price_area table.price_list th,
#contents .price_area table.price_list td {
  line-height: 1.4;
  padding: 15px;
  vertical-align: top;
  border: #cccccc solid;
  border-width: 0 0 1px 1px;
}
#contents .price_area table.price_list a {
  color: #222a43;
  text-decoration: underline;
}
/*　光回線・ひかり電話　*/
#contents .price_area table.price_list2,
#contents .price_area table.price_list3 {
  width: 100%;
  margin: 0 0 10px 0;
  border: 1px #cccccc solid;
  border-collapse: collapse;
  border-spacing: 0;
}
#contents .price_area table.price_list2 th,
#contents .price_area table.price_list3 th {
  background: #ebde37;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
}
#contents .price_area table.price_list2 th.title,
#contents .price_area table.price_list3 th.title {
  text-align: center;
  font-weight: bold;
  background: #f9f5c2;
}
#contents .price_area table.price_list2 td.title,
#contents .price_area table.price_list3 td.title {
  text-align: center;
  font-weight: bold;
  background: #eee;
}
#contents .price_area table.price_list2 th,
#contents .price_area table.price_list2 td,
#contents .price_area table.price_list3 th,
#contents .price_area table.price_list3 td {
  line-height: 1.4;
  padding: 15px;
  vertical-align: middle;
  border: #cccccc solid;
  border-width: 0 0 1px 1px;
}
#contents .price_area table.price_list2 td.center,
#contents .price_area table.price_list3 th,
#contents .price_area table.price_list3 td {
  text-align: center;
}
#contents .price_area table.price_list3 td.left {
  text-align: left;
}
#contents .price_area .bold_red {
  color: #e25573;
  font-weight: bold;
}
hr.border {
  height: 0;
  border: 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #fff;
  margin-top: 30px;
}
/*===============================================================================
　利用規約
===============================================================================*/
#contents .rule_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
}
#contents .rule_area .date {
  text-align: right;
  padding-top: 10px;
  padding-right: 10px;
}
#contents .rule_area .rule_list,
#contents .rule_area .rule_list0 {
  margin: 20px auto;
  padding: 0 30px;
  overflow: hidden;
}
#contents .rule_area .rule_list0 li {
  padding: 10px 0 10px 0;
  position: relative;
}
#contents .rule_area .rule_list li {
  padding: 10px 0 10px 30px;
  position: relative;
}
#contents .rule_area .rule_list li.txt2,
#contents .rule_area .rule_list0 li.txt2 {
  padding: 10px 0 10px 60px;
  position: relative;
}
#contents .rule_area .rule_list li span {
  position: absolute;
  top: 10px;
  left: -1em;
}
#contents .rule_area .rule_list li.txt2 span {
  position: absolute;
  top: 10px;
  left: 1em;
}
#contents .rule_area .rule_list0 li.txt2 span {
  position: absolute;
  top: 10px;
  left: 1em;
}
* html #contents .rule_area .rule_list li span {
  top: -0.1em;
} /* for win ie6 */
*:first-child + html #contents .rule_area .rule_list li span {
  top: -0.1em;
} /* for win ie7 */
#contents .rule_area h4.title {
  clear: both;
  font-weight: bold;
}
/*===============================================================================
ご利用までの流れ
===============================================================================*/
#contents .flow_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
}
#contents .flow_area .page_menu,
#contents .price_area .page_menu {
  margin-bottom: 20px;
  overflow: auto;
}
#contents .flow_area .page_menu li,
#contents .price_area .page_menu li {
  float: left;
  padding: 10px;
}
#contents .flow_area .page_menu li a,
#contents .price_area .page_menu li a {
  display: block;
  padding: 10px 20px 10px 40px;
  font-size: 18px;
  font-weight: bold;
  background: #ebde37 url(../img/common/blue_icon.png) no-repeat 20px center;
}
#contents .flow_area .page_menu li a:hover,
#contents .price_area .page_menu li a:hover {
  background: #f2f2f2 url(../img/common/blue_icon.png) no-repeat 20px center;
}
#contents .flow_box h3.flow_title {
  clear: both;
  color: #fff;
  background: #222a43;
  padding: 10px;
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 10px;
}
#contents .flow_box .flow_list {
  border: 1px #ccc solid;
  overflow: auto;
}
#contents .flow_box .flow_list li {
  float: left;
  padding: 10px;
  vertical-align: top;
}
#contents .flow_box .flow_list li.step_txt p.step_title {
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
#contents .flow_box .flow_list li.step_txt {
  width: 900px;
  box-sizing: border-box;
}
#contents .flow_box .flow_list li.step_txt ul.ntt_link li a {
  display: block;
  background: #222a43;
  color: #fff;
  padding: 10px;
}
#contents .flow_box .flow_list li.step_txt ul.ntt_link li a:hover {
  background: #ebde37;
  color: #222a43;
}
#contents .flow_box .flow_list li.step_txt span.red {
  clear: both;
  color: #e25573;
}
#contents .flow_box .flow_list li.step_txt .tenyou {
  background: #fef4f4;
  overflow: auto;
  margin: 10px 0;
  color: #e25573;
  padding: 10px;
}
#contents .flow_box .flow_list li.step_txt .tenyou li {
  padding: 5px 3px 5px 20px;
  background: url(../img/common/attention_icon.png) no-repeat left center;
}
#contents .flow_box .flow_list li.step_txt .uketuke {
  clear: both;
  background: #f2f2f2;
  overflow: hidden;
  margin: 10px 0;
}
#contents .flow_box .flow_list li.step_txt .uketuke li {
  clear: both;
  width: 100%;
}
#contents .flow_box .flow_list li.step_txt .uketuke li.title {
  background: #222a43;
  color: #fff;
  width: 100%;
}
#contents .flow_box .flow_list li.step_txt .uketuke li.tel_area {
  font-size: 20px;
  width: 100%;
  padding: 20px 0 0 20px;
}
#contents .flow_box .flow_list li.step_txt .uketuke li.tel_area span.tel {
  font-weight: bold;
  font-size: 28px;
  color: #222a43;
  line-height: 35px;
}
#contents .flow_area .arrow {
  text-align: center;
  padding: 10px;
}
#contents .flow_area .step_last {
  background: #ffde0a;
  margin-bottom: 50px;
  padding: 20px;
  text-align: center;
  font-size: 16px;
  line-height: 28px;
  font-weight: bold;
}
/*===============================================================================
会社概要
===============================================================================*/
#contents .company_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
}
table.outline {
  width: 100%;
  margin: 10px 0;
  border: 1px #cccccc solid;
  border-collapse: collapse;
  border-spacing: 0;
}
table.outline th {
  width: 150px;
  background: #f6f6f6;
  text-align: center;
}
table.outline td {
  background: #ffffff;
}
table.outline th,
table.outline td {
  line-height: 1.4;
  padding: 15px;
  vertical-align: top;
  border: #cccccc solid;
  border-width: 0 0 1px 1px;
}
table.outline td .address_list {
  padding-bottom: 10px;
}
table.outline td .address_list li.name {
  padding-bottom: 5px;
}
table.outline td .address_list li.add,
table.outline td .address_list li.info {
  font-size: 12px;
  padding-left: 20px;
}
table.outline td .address_list li.siten {
  font-size: 12px;
  padding-left: 20px;
  padding-top: 5px;
}
table.outline a {
  color: #222a43;
  text-decoration: underline;
}
/*===============================================================================
　個人情報保護方針
===============================================================================*/
#contents .policy_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
}
#contents .policy_area .policy_box {
  padding: 10px;
}
#contents .policy_area .policy_txt {
  padding: 10px;
  line-height: 18px;
}
#contents .policy_area .p-info {
  float: right;
  line-height: 18px;
  margin: 30px 0 40px 0;
  overflow: auto;
  padding: 1px 0;
}
#contents .policy_area .name {
  font-weight: bold;
}
/*===============================================================================
プラチナ光レポートサービス同意画面	
===============================================================================*/
#contents .report_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
}
#contents .report_area .report_box {
  padding: 10px;
}
#contents .report_area .agr_main {
  margin: 20px auto;
  padding: 30px;
  background: #f2f2f2;
}
#contents .report_area .agr_main .k_list {
  padding-left: 20px;
  list-style-type: decimal;
  list-style-position: outside;
}
#contents .report_area .agr_main .k_list02 li {
  padding-left: 20px;
  list-style-type: none;
  list-style-position: outside;
  counter-increment: cnt;
  padding-left: 1em;
  text-indent: -1em;
}
#contents .report_area .agr_main .k_list02 li:before {
  display: marker;
  content: "(" counter(cnt) ")";
}
#contents .report_area .agr_main .k_list02 li:before {
  display: marker;
  content: "(" counter(cnt) ")";
}
#agree_btn_area {
  width: 100%;
  margin: 0 0 30px 0;
  overflow: auto;
}
#agree_btn_area li {
  width: 48%;
  float: left;
  padding: 1%;
}
#agree_btn_area li.agree a {
  display: block;
  border: 1px solid #222a43;
  background: #222a43 none repeat scroll 0% 0%;
  color: #fff;
  padding: 10px;
  text-decoration: none;
  text-align: center;
}
#agree_btn_area li.agree a:hover {
  background: #ebde37;
  color: #222a43;
}
#agree_btn_area li.desagree a {
  display: block;
  border: 1px solid #222a43;
  background: #fff none repeat scroll 0% 0%;
  color: #222a43;
  padding: 10px;
  text-decoration: none;
  text-align: center;
}
#agree_btn_area li.desagree a:hover {
  background: #ebde37;
  color: #222a43;
}
/*===============================================================================
お問い合わせ・各種お手続き/見積フォーム
===============================================================================*/
#contents .contact_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
  box-sizing: border-box;
}
/*　フォームテーブル　*/
#contents .contact_area .frmbox01 {
  width: 100%;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  box-sizing: border-box;
}
#contents .contact_area .frmbox01 th,
#contents .contact_area .frmbox01 td {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
#contents .contact_area .frmbox01 th.left {
  padding: 10px 10px 10px 20px;
  margin: 0;
  width: 30%;
  background: #f6f6f6;
  text-align: left;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  vertical-align: middle;
  box-sizing: border-box;
}
#contents .contact_area .frmbox01 th.left span.required {
  /*必須*/
  color: #ff0000;
  font-size: 10px;
  padding-left: 5px;
}
#contents .contact_area .frmbox01 td.right {
  padding: 10px;
  margin: 0;
  background-color: #fff;
  text-align: left;
}
#contents .contact_area .frmbox01 td.right .hosoku {
  padding: 5px;
  font-size: 12px;
  color: #999;
}
#contents .contact_area .frmbox01 td.right .hosoku .red {
  color: #ff0000;
}
/*　インプット　*/
#contents .contact_area .frmbox01 .ws,
#contents .contact_area .frmbox01 .wm,
#contents .contact_area .frmbox01 .wl {
  border: 1px solid #ddd;
  margin: 2px 0px;
  background: #f8f8f8;
  padding: 10px;
  border-radius: 2px;
}
#contents .contact_area .frmbox01 .wm:focus,
#contents .contact_area .frmbox01 .wl:focus {
  border: solid 1px #222a43;
}
#contents .contact_area .frmbox01 .ws {
  width: 50%;
  box-sizing: border-box;
}
#contents .contact_area .frmbox01 .wm {
  width: 70%;
  box-sizing: border-box;
}
#contents .contact_area .frmbox01 .wl {
  width: 90%;
  box-sizing: border-box;
}
/* 確認ボタンエリア */
#boxsubmit {
  width: 100%;
  clear: both;
  text-align: center;
  padding: 20px 0;
  box-sizing: border-box;
}
#boxsubmit p.smtxt01 {
  padding: 0 0 10px 0;
  margin: 0;
  box-sizing: border-box;
}
#contents .form_block input.btn {
  display: inline-block;
  text-align: center; /* 文字位置   */
  cursor: pointer; /* カーソル   */
  padding: 10px 20px; /* 余白       */
  width: 200px;
  height: 50px;
  border: none;
  text-indent: -9999px;
  background: url("../img/form/kakunin_btn.png") no-repeat 0 0;
}
#contents .form_block input.btn:hover {
  box-shadow: none; /* カーソル時の影消去 */
  color: #003d89; /* 背景色     */
  background: #ffffff; /* 文字色     */
}
#contents .form_block input.btn2 {
  display: inline-block;
  border-radius: 4px; /* 角丸       */
  text-align: center; /* 文字位置   */
  cursor: pointer; /* カーソル   */
  padding: 10px 20px; /* 余白       */
  background: #999999; /* 背景色     */
  color: #ffffff; /* 文字色     */
  line-height: 1em; /* 1行の高さ  */
  transition: 0.3s; /* なめらか変化 */
  border: 2px solid #999999; /* 枠の指定 */
}
#contents .form_block input.btn2:hover {
  box-shadow: none; /* カーソル時の影消去 */
  color: #999999; /* 背景色     */
  background: #ffffff; /* 文字色     */
}
#contents .contact_area input.form_kakunin {
  display: inline-block;
  text-align: center; /* 文字位置   */
  cursor: pointer; /* カーソル   */
  padding: 10px 20px; /* 余白       */
  width: 200px;
  height: 50px;
  border: none;
  text-indent: -9999px;
  background: url("../img/form/kakunin_btn.png") no-repeat 0 0;
}
#contents .contact_area input.form_submit {
  display: inline-block;
  text-align: center; /* 文字位置   */
  cursor: pointer; /* カーソル   */
  padding: 10px 20px; /* 余白       */
  width: 200px;
  height: 50px;
  border: none;
  text-indent: -9999px;
  background: url("../img/form/sousin_btn.png") no-repeat 0 0;
}
#contents .contact_area input.form_reset {
  display: inline-block;
  text-align: center; /* 文字位置   */
  cursor: pointer; /* カーソル   */
  padding: 10px 20px; /* 余白       */
  width: 200px;
  height: 50px;
  border: none;
  text-indent: -9999px;
  background: url("../img/form/reset_btn.png") no-repeat 0 0;
}
#contents .contact_area input.form_back {
  display: inline-block;
  text-align: center; /* 文字位置   */
  cursor: pointer; /* カーソル   */
  padding: 10px 20px; /* 余白       */
  width: 200px;
  height: 50px;
  border: none;
  text-indent: -9999px;
  background: url("../img/form/modoru_btn.png") no-repeat 0 0;
}
/* ---------------------php画面 */
#contents .contact_txt,
#contents .contact_hk_area,
#contents .contact_btn_area {
  width: 100%;
  margin: 20px auto 30px auto;
  padding: 10px;
  overflow: auto;
  box-sizing: border-box;
}
#contents .contact_btn_area {
  text-align: center;
}
#contents .contact_hk_area .hk,
#contents .error_messe {
  width: 50%;
  border: 1px solid #f00;
  color: #f00;
  padding: 10px 0;
  margin: 10px auto;
  text-align: center;
  background: #fef4f4;
  box-sizing: border-box;
}
#ssl_area {
  width: 960px;
  background: #f2f2f2;
  padding: 20px;
  overflow: hidden;
  margin: 20px auto;
}
#ssl_area li {
  float: left;
}
#ssl_area li.seal {
  width: 120px;
  padding-right: 40px;
}
#ssl_area li.ssl_txt {
  width: 800px;
}
/*===============================================================================
　フリーナンバー　関連
===============================================================================*/
#contents .fn_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
}
#contents .fn_area img.main_f {
  width: 100%;
  margin-bottom: 20px;
}
#contents .fn_area .txt_box {
  margin: 10px auto;
  padding: 20px 10px 10px 10px;
}
#contents .fn_area .txt_box .f_yen {
  color: #e25573;
  font-weight: bold;
  font-size: 20px;
  background: linear-gradient(transparent 60%, #ffe372 60%);
}
#contents .fn_area .txt_box2 {
  float: left;
  width: 70%;
  margin: 10px 0;
  padding: 20px 10px 10px 10px;
  box-sizing: border-box;
}
#contents .fn_faq_btn {
  float: left;
  width: 30%;
  padding: 0;
  margin: 30px 0;
  box-sizing: border-box;
}
#contents .fn_faq_btn .button {
  display: block;
  position: relative;
  z-index: 2;
  background-color: #ffe372;
  border: 2px solid #ffe372;
  color: #222a43;
  line-height: 50px;
  width: 100%;
  height: 54px;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  font-weight: bold;
  border-radius: 5px;
}
#contents .fn_faq_btn .button::before,
#contents .fn_faq_btn .button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
}
#contents .fn_faq_btn .button,
#contents .fn_faq_btn .button::before,
#contents .fn_faq_btn .button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#contents .fn_faq_btn .button:hover {
  background-color: #fff;
  border-color: #e25573;
  color: #e25573;
}
#contents .fn_faq_btn .button::before,
#contents .fn_faq_btn .button::after {
  top: 0;
  width: 50%;
  height: 100%;
  background-color: #ffe372;
}
#contents .fn_faq_btn .button::before {
  right: 0;
}
#contents .fn_faq_btn .button::after {
  left: 0;
}
#contents .fn_faq_btn .button:hover::before,
#contents .fn_faq_btn .button:hover::after {
  width: 0;
  background-color: #e25573;
}
#contents .fn_area .attention {
  margin-left: 1em;
  text-indent: -1em;
}
/*　費用　*/
#contents .fn_area table.price_list {
  width: 100%;
  margin: 0 0 10px 0;
  border: 1px #cccccc solid;
  border-collapse: collapse;
  border-spacing: 0;
}
#contents .fn_area table.price_list th {
  background: #f9f5c2;
  text-align: center;
  font-weight: bold;
}
#contents .fn_area table.price_list th.cn {
  background: #ebde37;
  text-align: center;
  font-weight: bold;
}
#contents .fn_area table.price_list td.total {
  text-align: center;
  font-weight: bold;
  background: #f9f5c2;
}
#contents .fn_area table.price_list td {
  background: #ffffff;
  text-align: center;
}
#contents .fn_area table.price_list td.title {
  text-align: center;
  font-weight: bold;
  background: #eee;
}
#contents .fn_area table.price_list th,
#contents .fn_area table.price_list td {
  line-height: 1.4;
  padding: 15px;
  vertical-align: middle;
  border: #cccccc solid;
  border-width: 0 0 1px 1px;
}
#contents .price_area table.price_list a {
  color: #222a43;
  text-decoration: underline;
}
table td span.otoku {
  margin-left: 10px;
  padding: 0 5px;
  font-weight: bold;
  color: #222a43;
  font-size: 20px;
  background: linear-gradient(transparent 60%, #ffe372 60%);
}
table td span.yen {
  font-size: 14px;
}
.boxQA {
  width: 98%;
  position: relative;
  margin: 2em auto;
  padding: 0.5em 0.5em;
  background: #eee; /*A文章部分背景色*/
  border-radius: 10px;
  box-sizing: border-box;
}
.boxQA .box-title {
  position: relative;
  background: #fff; /*Q文章部分背景色*/
  padding: 10px 5px 10px 40px;
  color: #222a43; /*Q文章文字色*/
  border-radius: 10px;
  font-weight: bold;
}
.boxQA .box-title:before {
  content: "Q";
  display: inline-block;
  position: absolute;
  padding: 0em;
  color: #222a43; /*Q文字色*/
  background: #ebde37; /*Q背景色*/
  font-weight: bold;
  width: 40px;
  text-align: center;
  height: 40px;
  line-height: 40px;
  left: -1.2em;
  top: 20px;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 3px white;
  border-radius: 50%;
}
.boxQA .box-title:after {
  content: "A";
  display: inline-block;
  line-height: 40px;
  position: absolute;
  padding: 0em;
  color: white; /*A文字色*/
  background: #e25573; /*A背景色*/
  font-weight: bold;
  width: 40px;
  text-align: center;
  height: 40px;
  left: -1.2em;
  bottom: -80px;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 3px white;
  border-radius: 50%;
}
.boxQA p {
  padding: 20px 20px 15px 40px;
  margin: 0;
  line-height: 26px;
}
.boxQA p .pink {
  color: #e25573;
  font-weight: bold;
  font-size: 16px;
}
.boxQA ul {
  padding: 0 1em;
  position: relative;
}
.boxQA ul li {
  line-height: 1.5;
  padding: 0.5em 0 0.5em 4.2em;
  list-style-type: none !important;
}
.boxQA ul li:before {
  font-family: "FontAwesome";
  content: "\f138"; /*アイコン種類*/
  position: absolute;
  left: 3.5em;
  color: #e25573; /*Aのリストのアイコンの色*/
}
#contents .fn_area .uketuke {
  width: 100%;
  clear: both;
  background: #f2f2f2;
  overflow: hidden;
  margin: 10px 0;
  padding: 10px;
  box-sizing: border-box;
}
#contents .fn_area .uketuke li {
  clear: both;
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
}
#contents .fn_area .uketuke li.title {
  background: #222a43;
  color: #fff;
  width: 100%;
}
#contents .fn_area .uketuke li.tel_area {
  font-size: 20px;
  width: 100%;
  padding: 20px 0 0 20px;
}
#contents .fn_area .uketuke li.tel_area span.tel {
  font-weight: bold;
  font-size: 28px;
  color: #222a43;
  line-height: 35px;
}
/*===============================================================================
　プラチナサイバーアシストプラン　関連
===============================================================================*/
#contents .pap_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
}
#contents .pap_area .pap_img {
  width: 100%;
  margin-bottom: 20px;
}
#contents .pap_area .pap_img li {
  line-height: 0;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
#contents .pap_area .pap_img img {
  width: 100%;
  margin: 0px;
}
#contents .pap_area .txt_box {
  width: 100%;
  text-align: center;
  margin-bottom: 40px;
  margin: 10px auto;
  padding: 20px 10px 20px 10px;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 32px;
}
#contents .pap_area .txt_box2 {
  width: 100%;
  text-align: center;
  margin-bottom: 40px;
  margin: 10px auto;
  padding: 20px 10px 10px 10px;
  box-sizing: border-box;
  font-size: 1em;
}
#contents .pap_area .txt_box2 .attention {
  margin-left: 1em;
  text-indent: -1em;
}
#contents .pap_area span.otoku {
  margin-left: 10px;
  padding: 0 5px;
  font-weight: bold;
  color: #f00;
  background: linear-gradient(transparent 60%, #ffe372 60%);
  font-size: 48px;
}
#contents .pap_area span.yen {
  font-size: 22px;
}
#contents .pap_area span.tax {
  font-size: 10px;
}

section.pap_area .title.txt_center {
  text-align: center;
}

#contents .pap_area .step ul,
#contents .pap_area .compensate ul {
  display: block;
  width: 100%;
  margin-top: 60px;
  padding: 0;
  text-align: center;
  box-sizing: border-box;
}
#contents .pap_area .step .list_3 li {
  float: left;
  border: solid 3px #ccc;
  width: 32%;
  margin-right: 2%;
  display: block;
  position: relative;
  box-sizing: border-box;
}
#contents .pap_area .step .list_3 li:last-child {
  margin-right: 0px;
  margin-bottom: 0px;
}
#contents .pap_area .step .list_3 li p.title {
  padding: 1.7em 1em 0.8em 1em;
  font-size: 1.4em;
  font-weight: bold;
  color: #172a88 !important;
  border-bottom: 1px solid #172a88;
  box-sizing: border-box;
}
#contents .pap_area .step .list_3 li p.txt {
  font-weight: normal;
  padding: 10px;
  text-align: initial;
}
#contents .pap_area .step .list_3 li .number {
  position: absolute;
  top: -1.2em;
  left: 50%;
  transform: translate(-50%);
  -webkit-transform: translate(-50%);
  background: #036eb8;
  color: #fff !important;
  text-align: center;
  display: block;
  width: 6em;
  height: 1.8em;
  padding-top: 0.6em;
  border-radius: 3em;
  margin-right: 1em;
}
#contents .pap_area .step .list_3 li img {
  width: 80%;
  max-width: 200px;
}
#contents .pap_area .step .list_3 li img.step2 {
  max-width: 245px;
}
#contents .pap_area .compensate {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  overflow: auto;
}
#contents .pap_area .compensate ul {
  margin-top: 30px;
  text-align: left;
  border: 5px solid #036eb8;
  background-size: 220px;
  background: url(../img/pap/compensate_bg.png) no-repeat right bottom;
}
#contents .pap_area h3.pap_title {
  padding-bottom: 20px;
  padding-left: 45px;
  position: relative;
}
#contents .pap_area h3.pap_title:before {
  content: "";
  background-color: #ffeb3b;
  width: 25px;
  height: 25px;
  position: absolute;
  left: 5px;
  transform: rotate(45deg)
    skew(calc((90deg - 60deg) / 2), calc((90deg - 60deg) / 2));
}
#contents .pap_area h3.pap_title:after {
  content: "";
  background-color: #ffff00;
  width: 15px;
  height: 15px;
  left: 25px;
  top: 25px;
  position: absolute;
  transform: rotate(45deg)
    skew(calc((90deg - 60deg) / 2), calc((90deg - 60deg) / 2));
}
#contents .pap_area h3.pap_title span {
  padding: 0.5em;
  border-radius: 0.6em;
  background: #036eb8;
  color: #fff;
  border: 5px solid #fff;
  font-size: 1.4em;
  font-weight: bold;
}
#contents .pap_area .compensate ul .compensate_txt {
  color: #036eb8;
  padding: 20px 150px 20px 20px;
  font-weight: bold;
}
#contents .pap_area .compensate ul .compensate_txt2 {
  padding: 20px 250px 20px 20px;
}
#contents .pap_area .compensate ul .compensate_txt2 span {
  font-size: 1.2em;
}
.count_2 {
  counter-reset: chapter;
  font-size: 1.4em;
  font-weight: bold;
}
.count_2 li:before {
  content: counter(chapter) "";
  counter-increment: chapter;
  width: 50px;
  height: 50px;
  margin: 0 20px 0 20px;
  padding: 5px 10px;
  border-radius: 3px;
  background: #22ac38;
  color: #fff;
  text-align: center;
  z-index: 1;
}
.count_2 li {
  padding: 10px;
  background: linear-gradient(
    45deg,
    rgba(255, 235, 52, 0.5),
    rgba(255, 255, 255, 0)
  );
}
.count_2 li:nth-child(even) {
  background: linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.5),
    rgba(255, 255, 255, 0)
  );
}
.pap_case {
  margin-top: 40px;
  padding: 20px 0 100px;
  background: url(../img/pap/pap_case_bg.jpg) no-repeat right bottom;
  text-align: center;
}
.pap_case h3.case_title {
  margin: 20px auto;
  position: relative; /* 位置調整 */
  display: inline-block;
  padding: 0 4rem; /* 文字の太さ調整 */
  font-size: 2.5em; /* 文字サイズ指定 */
  font-weight: bold;
  text-align: center; /* 文字位置指定 */
  color: #fff;
}
.pap_case h3.case_title:after {
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  display: block;
  position: absolute;
  top: 50px;
  left: 50%;
  width: 40px;
  height: 8px;
  transform: translateX(-50%);
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#036eb8),
    color-stop(50%, #036eb8),
    color-stop(50%, #ffffff),
    to(#ffffff)
  );
  background: linear-gradient(
    to right,
    #036eb8 0%,
    #036eb8 50%,
    #ffffff 50%,
    #ffffff 100%
  );
  background-size: 40px 8px;
  content: "";
}
.pap_case h3.case_title p {
  display: block; /* ブロック要素にする */
  margin-top: 50px; /* 周りの余白指定 */
  font-size: 14px;
}
.pap_case .pap_case_list {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  padding: 0 10px;
  box-sizing: border-box;
}
.pap_case .pap_case_list-item {
  -webkit-box-shadow: 1px 2px 4px 0 rgba(145, 150, 152, 0.3);
  width: 30%;
  margin-right: 24px;
  padding: 45px 20px 30px;
  background-color: #fff;
  box-shadow: 1px 2px 4px 0 rgba(145, 150, 152, 0.3);
  text-align: center;
  box-sizing: border-box;
}
.pap_case .pap_case_list-item:last-child {
  margin-right: 0;
}
.pap_case .pap_case_list-title {
  color: #036eb8;
  font-size: 24px;
  font-weight: bold;
  line-height: 27px;
  text-align: center;
}
.pap_case .pap_case_list-lead {
  margin-top: 15px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  color: #172a88;
  background: radial-gradient(#ffffff, #a7def9);
  border-radius: 0.5em; /*角を丸く*/
  padding: 5px;
}
.pap_case .pap_case_list-text {
  margin: 15px auto 0;
  text-align: left;
}
.pap_case .btn {
  margin-top: 100px;
}
.pap_case .btn_detail {
  -webkit-box-shadow: 1px 2px 4px 0 rgba(145, 150, 152, 0.3);
  width: 550px;
  margin: 0 auto;
  box-shadow: 1px 2px 4px 0 rgba(145, 150, 152, 0.3);
}
#contents .pap_area .uketuke {
  width: 100%;
  clear: both;
  background: #f2f2f2;
  overflow: hidden;
  margin: 10px 0;
  padding: 10px 10px 20px 10px;
  box-sizing: border-box;
}
#contents .pap_area .uketuke li {
  clear: both;
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
}
#contents .pap_area .uketuke li.title {
  background: #222a43;
  color: #fff;
  width: 100%;
}
#contents .pap_area .uketuke li.tel_area {
  font-size: 20px;
  width: 100%;
  padding: 20px 0 0 20px;
}
#contents .pap_area .uketuke li.tel_area span.tel {
  font-weight: bold;
  font-size: 28px;
  color: #222a43;
  line-height: 35px;
}
#contents .pap_area .uketuke li.tel_area p.info {
  font-size: 18px;
  line-height: 35px;
}
/*===============================================================================
　プラチナでんわ　関連
===============================================================================*/
#contents .pd_area .txt_box {
  margin: 5px auto;
  padding: 20px 10px 10px 10px;
}
#contents .pd_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
}
#contents .pd_area .txt_box {
  margin: 10px auto;
  padding: 20px 10px 10px 10px;
}
#contents .pd_area .txt_box p.red {
  color: #e25573;
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1.8em;
}
#contents .pd_area #first,
#contents .pd_area .point_list2 {
  display: flex;
  justify-content: center;
}
#contents .pd_area #first {
  align-content: center;
}
.point_item {
  padding: 0;
  text-align: center;
  width: 100%;
}
.point_item dt {
  position: relative;
  display: inline-block;
}
.point_item dt:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 1px;
  height: 100%;
  background: #e25573;
  border-radius: 3px;
  transform: rotate(-25deg);
}
.point_item dt:after {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background: #e25573;
  border-radius: 3px;
  transform: rotate(25deg);
}
.point_item dd {
  margin-top: 10px;
  text-align: left;
}
#contents .pd_area ul.point_list#first li {
  background: #fff;
  border-left: 8px solid #036eb8;
  border-right: 8px solid #036eb8;
  padding: 10px 28px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  border-radius: 16px;
  align-content: center;
  margin-top: 18px;
}
#contents .pd_area ul.point_list#first li,
#contents .pd_area ul.point_list2 li {
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  width: 24%;
  margin-left: 20px;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}
.underline-black {
  color: #e25573;
  font-weight: bold;
  font-size: 18px;
  margin: 0 auto;
  padding: 0 10px;
}
.underline-black .tax {
  font-size: 10px;
}
#contents .pd_area .plan_box ul {
  width: 100%;
  margin: 60px 0;
  padding: 0;
  text-align: center;
  box-sizing: border-box;
  display: flex;
}
#contents .pd_area .plan_box .list_2 li {
  border: solid 3px #ccc;
  width: 49%;
  margin-right: 2%;
  display: block;
  position: relative;
  box-sizing: border-box;
}
#contents .pd_area .plan_box .list_2 li:last-child {
  margin-right: 0px;
  margin-bottom: 0px;
}
#contents .pd_area .plan_box .list_2 li p.title {
  padding: 1.7em 1em 0.8em 1em;
  font-size: 1em;
  font-weight: bold;
  color: #172a88 !important;
  border-bottom: 1px solid #172a88;
  box-sizing: border-box;
  text-align: left;
}
#contents .pd_area .plan_box .list_2 li p.txt {
  font-weight: normal;
  padding: 10px;
  text-align: left;
}
#contents .pd_area .plan_box .list_2 li .plan {
  position: absolute;
  font-size: 1.2em;
  top: -1.2em;
  left: 50%;
  transform: translate(-50%);
  -webkit-transform: translate(-50%);
  background: #036eb8;
  color: #fff !important;
  text-align: center;
  display: block;
  width: 15em;
  height: 1.6em;
  padding-top: 0.6em;
  border-radius: 3em;
  margin-right: 1em;
}
#contents .pd_area table.price_list th {
  background: #f6f6f6;
  text-align: center;
}
#contents .pd_area table.price_list th.total {
  background: #ebde37;
  text-align: center;
  font-weight: bold;
}
#contents .pd_area table.price_list td.total {
  text-align: center;
  font-weight: bold;
  background: #f9f5c2;
}
#contents .pd_area table.price_list td {
  background: #ffffff;
  text-align: to;
  width: 50%;
  font-weight: bold;
}
#contents .pd_area table.price_list th,
#contents .pd_area table.price_list td {
  line-height: 1.4;
  padding: 15px;
  vertical-align: top;
  border: #cccccc solid;
  border-width: 0 0 1px 1px;
}
#contents .pd_area table.price_list,
#contents .pd_area table.price_list2 {
  width: 100%;
  margin: 0 0 10px 0;
  border: 1px #cccccc solid;
  border-collapse: collapse;
  border-spacing: 0;
}
#contents .pd_area table.price_list2 th {
  background: #ebde37;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
}
#contents .pd_area table.price_list2 th.title {
  text-align: center;
  font-weight: bold;
  background: #f9f5c2;
}
#contents .pd_area table.price_list2 td.title {
  text-align: center;
  font-weight: bold;
  background: #eee;
}
#contents .pd_area table.price_list2 th,
#contents .pd_area table.price_list2 td {
  line-height: 1.4;
  padding: 15px;
  vertical-align: middle;
  border: #cccccc solid;
  border-width: 0 0 1px 1px;
}
#contents .pd_area table.price_list2 td.center {
  text-align: center;
}
#contents .pd_area .bold_red {
  color: #e25573;
  font-weight: bold;
}
#contents .pd_area .attention {
  margin-left: 1em;
  text-indent: -1em;
}
#contents .pd_area .uketuke {
  width: 100%;
  clear: both;
  background: #f2f2f2;
  overflow: hidden;
  margin: 30px 0;
  padding: 10px 10px 10px 10px;
  box-sizing: border-box;
}
#contents .pd_area .uketuke li {
  clear: both;
  flex-wrap: nowrap;
  padding: 10px;
  box-sizing: border-box;
}
#contents .pd_area .uketuke li.title {
  background: #222a43;
  color: #fff;
  width: 100%;
  text-align: left;
  font-size: 16px;
  line-height: 28px;
}

#contents .pd_area .uketuke li.title2 {
  color: #222a43;
  border-bottom: 1px dotted #222a43;
  background: url(../img/common/blue_icon.png) no-repeat 10px center;
  padding: 10px 10px 10px 30px;
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 10px;
  margin-top: 20px;
}
#contents .pd_area .uketuke li.apply_area {
  width: 100%;
}
#contents .pd_area .uketuke li.qr_area {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-content: center;
}

#contents .pd_area .uketuke li.qr_area .qr_img img {
  width: 100%;
}
#contents .pd_area .uketuke li.qr_area .qr_txt {
  flex-basis: 35%;
  text-align: left;
  padding-top: 20px;
}
#contents .pd_area .uketuke li.qr_area .qr_img {
  flex-basis: 15%;
}
#contents .pd_area .uketuke li.tel_area,
#contents .pd_area .uketuke li.fax_area,
#contents .pd_area .uketuke li.mail_area {
  font-size: 20px;
  width: 100%;
  font-weight: bold;
}
#contents .pd_area .uketuke li.tel_area span.tel {
  font-weight: bold;
  font-size: 28px;
  color: #222a43;
  line-height: 35px;
}
#contents .partner_area section .uketuke li.tel_area span.number {
  font-weight: bold;
  font-size: 28px;
  color: #222a43;
  line-height: 35px;
}
#contents .pd_apply_btn {
  width: 100%;
  padding: 0;
  margin: 0 auto 40px auto;
  box-sizing: border-box;
}
#contents .pd_apply_btn_area {
  width: 50%;
  padding: 0;
  margin: 0 20px 0 0;
  box-sizing: border-box;
}
#contents .pd_apply_btn_area .button {
  display: block;
  position: relative;
  z-index: 2;
  background-color: #ffe372;
  border: 2px solid #036eb8;
  color: #036eb8;
  line-height: 50px;
  width: 100%;
  height: 54px;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  font-weight: bold;
  border-radius: 5px;
}
#contents .pd_apply_btn .button {
  display: block;
  position: relative;
  z-index: 2;
  background-color: #ffe372;
  border: 4px solid #036eb8;
  color: #036eb8;
  line-height: 60px;
  width: 100%;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  font-weight: bold;
  border-radius: 10px;
  padding: 5px 0;
}
#contents .pd_apply_btn .button {
  font-size: 1.6em;
}
#contents .pd_apply_btn .button::before,
#contents .pd_apply_btn .button::after,
#contents .pd_apply_btn_area .button::before,
#contents .pd_apply_btn_area .button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
}
#contents .pd_apply_btn .button,
#contents .pd_apply_btn .button::before,
#contents .pd_apply_btn .button::after,
#contents .pd_apply_btn_area .button,
#contents .pd_apply_btn_area .button::before,
#contents .pd_apply_btn_area .button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#contents .pd_apply_btn .button:hover,
#contents .pd_apply_btn_area .button:hover {
  background-color: #fff;
  border-color: #e25573;
  color: #e25573;
}
#contents .pd_apply_btn.button::before,
#contents .pd_apply_btn .button::after,
#contents .pd_apply_btn_area.button::before,
#contents .pd_apply_btn_area .button::after {
  top: 0;
  width: 0%;
  height: 100%;
  background-color: #ffe372;
}
#contents .pd_apply_btn .button::before,
#contents .pd_apply_btn_area .button::before {
  right: 0;
}
#contents .pd_apply_btn .button::after,
#contents .pd_apply_btn_area .button::after {
  left: 0;
}
#contents .pd_apply_btn .button:hover::before,
#contents .pd_apply_btn_area .button:hover::after {
  width: 0;
  background-color: #e25573;
}
#contents .pd_area img.main_f {
  width: 100%;
  margin-bottom: 20px;
}
#contents .pd_area ul.ntt_link {
  margin-top: 10px;
  margin-left: 10px;
  display: flex;
}
#contents .pd_area ul.ntt_link li {
  margin-right: 20px;
}
#contents .pd_area ul.ntt_link li a {
  display: block;
  background: #222a43;
  color: #fff;
  padding: 10px;
}
#contents .pd_area ul.ntt_link li a:hover {
  background: #ebde37;
  color: #222a43;
}
/*===============================================================================
代理店募集
===============================================================================*/
#contents .partner_area {
  width: 1000px;
  margin: 20px auto 30px auto;
  padding: 0;
  overflow: auto;
  box-sizing: border-box;
}
#contents .partner_area .txt_box {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 40px;
  margin: 10px auto;
  padding: 20px 10px 10px 10px;
  box-sizing: border-box;
}
#contents .partner_area .txt_box .text {
  text-align: left;
  width: 60%;
  display: -webkit-box;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
#contents .partner_area .txt_box p {
  display: block;
  margin: 0 auto;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.6em;
  padding: 30px 0;
}
#contents .partner_area .txt_box .pict {
  width: 40%;
  margin-left: 3%;
}
#contents .partner_area .txt_box .pict img {
  width: 100%;
  height: auto;
}
#contents .partner_area section h4 span {
  color: #e25573;
  font-weight: bold;
  font-size: 0.8em;
}
#contents .partner_area section .text {
  text-align: left;
  width: 100%;
  padding: 0 10px;
  box-sizing: border-box;
}
#contents .partner_area section .text_red {
  text-align: left;
  width: 100%;
  color: #f00;
  padding: 0 10px;
  box-sizing: border-box;
}
#contents .partner_area section .merit {
  background: #fef4f4;
  overflow: auto;
  margin: 10px 0;
  color: #e25573;
  padding: 10px;
}
#contents .partner_area section .merit li.list {
  font-weight: bold;
  padding: 5px 3px 5px 20px;
  background: url(../img/common/merit.png) no-repeat left center;
}
#contents .partner_area section .site_list {
  margin: 20px 0 30px 0;
  overflow: auto;
}
#contents .partner_area section .site_list li {
  float: left;
  padding: 10px;
}
#contents .partner_area section .site_list li h5 {
  font-size: 16px;
  padding: 10px 0;
  font-weight: bold;
}
#contents .partner_area section.site_list li .img a {
  display: block;
}
#contents .partner_area section .site_list li.s_img {
  width: 240px;
  text-align: center;
}
#contents .partner_area section li.s_info {
  width: 70%;
  padding-left: 10px;
}
#contents .partner_area section li.s_img .img {
  width: 230px;
  height: 40px;
  border: 1px solid #d4d4d4;
  display: table-cell;
  vertical-align: middle;
  padding: 10px 0;
}
#contents .partner_area section .merit li span.title {
  margin-left: 10px;
  padding: 0 5px;
  font-weight: bold;
  color: #222a43;
  font-size: 20px;
  background: linear-gradient(transparent 60%, #ffe372 60%);
}
#contents .partner_area section .flow_list {
  border: 1px #ccc solid;
  overflow: auto;
}
#contents .partner_area section .flow_list li {
  float: left;
  padding: 10px;
  vertical-align: top;
}
#contents .partner_area section .flow_list li.step_txt p.step_title {
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
#contents .partner_area section .flow_list li.step_txt {
  width: 900px;
  box-sizing: border-box;
}
#contents .partner_area section .arrow {
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
}
#contents .partner_area section .flow_txt {
  background: #ffde0a;
  margin-top: 20px;
  margin-bottom: 50px;
  padding: 20px;
  text-align: center;
  font-size: 16px;
  line-height: 28px;
  font-weight: bold;
  box-sizing: border-box;
}
#contents .partner_area section .uketuke {
  clear: both;
  background: #f2f2f2;
  overflow: hidden;
  margin: 10px 0;
}
#contents .partner_area section .uketuke li {
  clear: both;
  width: 100%;
}
#contents .partner_area section .uketuke li.title {
  background: #222a43;
  color: #fff;
  width: 100%;
  padding: 10px;
}
#contents .partner_area section .uketuke li.tel_area,
#contents .partner_area section .uketuke li.fax_area,
#contents .partner_area section .uketuke li.mail_area {
  font-size: 20px;
  width: 100%;
  padding: 20px 0 0 20px;
}
#contents .partner_area section .uketuke li.tel_area span.number {
  font-weight: bold;
  font-size: 28px;
  color: #222a43;
  line-height: 35px;
}
#contents .partner_area section .uketuke p.btn {
  width: 80%;
  margin: 20px auto;
  text-align: center;
}
#contents .partner_area section .uketuke p.btn a {
  display: block;
  background: #222a43;
  color: #fff;
  padding: 10px;
}
#contents .partner_area section .uketuke p.btn a:hover {
  background: #ebde37;
  color: #222a43;
}
#contents .partner_area section table.price_list,
#contents .partner_area section table.price_list2 {
  width: 100%;
  margin: 20px 0 10px 0;
  border: 1px #cccccc solid;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.9em;
}
#contents .partner_area section table.price_list th.group1 {
  border-top: 5px #222a43 solid;
  border-left: 5px #222a43 solid;
  border-right: 5px #222a43 solid;
  width: 18%;
}
#contents .partner_area section table.price_list th.group2,
#contents .partner_area section table.price_list td.group2 {
  border-left: 2px #222a43 dashed;
  border-right: 2px #222a43 dashed;
  width: 18%;
}
#contents .partner_area section table.price_list td.group1 {
  border-left: 5px #222a43 solid;
  border-right: 5px #222a43 solid;
}
#contents .partner_area section table.price_list tr:last-child td.group1 {
  border-bottom: 5px #222a43 solid;
}
#contents .partner_area section table.price_list td.tp {
  background: #f9f5c2;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
  width: 28%;
}
#contents .partner_area section table.price_list th.cn,
#contents .partner_area section table.price_list2 th {
  background: #ebde37;
  text-align: center;
  font-weight: bold;
}
#contents .partner_area section table.price_list th.title {
  text-align: center;
  font-weight: bold;
  background: #eee;
}
#contents .partner_area section table.price_list th,
#contents .partner_area section table.price_list td.title,
#contents .partner_area section table.price_list2 td.title {
  text-align: center;
  font-weight: bold;
  background: #eee;
}
#contents .partner_area section table.price_list th,
#contents .partner_area section table.price_list td,
#contents .partner_area section table.price_list2 th,
#contents .partner_area section table.price_list2 td {
  line-height: 1.4;
  padding: 15px 5px;
  vertical-align: middle;
  border: #cccccc solid;
  border-width: 0 0 1px 1px;
}
#contents .partner_area section table.price_list td.center,
#contents .partner_area section table.price_list2 td.center {
  text-align: center;
}
#contents .partner_area section table.price_list td.left {
  text-align: left;
}
#contents .partner_area section .bold_red {
  color: #e25573;
  font-weight: bold;
}
hr.border {
  height: 0;
  border: 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #fff;
  margin-top: 30px;
}
