@charset "utf-8";
/* CSS Document */


/* 削除 */
.pageHed .lg_sony > ul,
.pageHed .gNav,
.recommendScene,
.official_sns,
.following,
.recommendScene .security,
.nuroLogo,
#entryCorner,
#official_sns{
  display: none;
}

/* クッキーポリシーのみ */
.footer__main__lnk li:not(.cookiepolicy) {
  display: none;
}

/* ガタつきとフォント */
body {
  padding-top: 0 !important;

  color: #666666;
}

.recommendScene .security {
 display: none;
}

/* 商品紹介ページ */
.francebed {
  position: absolute;
  top: 0.9vw;
  right: 2vw;
  color: #fff;
  z-index: 99999999999;
  text-decoration: underline;
  font-size: 0.65vw;
  text-underline-offset: 0.3vw;
}

.francebed:hover {
  text-decoration: none;
}


/* ===========================================================
 flowting
=========================================================== */

.flowting {
  position: fixed;
  bottom: -10%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999999;
  background: #d3dbe6;
  display: flex;
  justify-content: center;
  width: 100%;
  transition: all .4s ease;
}

.flowting.fixed {
  bottom: 0;
  transition: all .4s ease;
}

.flowting .box {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  margin: 1vw 1vw 1vw 0;
  padding: 0.6vw 2vw;
}

.flowting .box p {
  font-size: 0.9vw;
  font-weight: 700;
  margin: 0 0.6vw 0 0;
  text-align: center;
}

.flowting .box .cost,
.flowting .box .cost_4-for {
  font-weight: 700;
  letter-spacing: 0vw;
  font-size: 1.4vw;
  margin: 0 0 0.1vw;
}

.flowting a {
  background: #555;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1vw;
  transition: all .2s ease;
  margin: 1vw 0;
  padding: 0.6vw 2vw;
  border-radius: 0.5vw;
}

.flowting a:hover {
  opacity: 0.8;
  transition: all .2s ease;
}

.flowting a:after {
  content: "";
  background: url("/assets/img/common/ico_modal_white.svg") no-repeat;
  width: 0.8vw;
  height: 0.8vw;
  display: inline-block;
  vertical-align: 0.8vw;
  margin: 0 0 0 0.5vw
}



/* ===========================================================
 hed
=========================================================== */

.hed h1 {
  font-size: 1.8vw;
  text-align: center;
  padding: 4vw 0 3vw;
  font-weight: 500;
}

.hed figure {
  width: 36vw;
  margin: 0 auto;
}



/* ===========================================================
 step
=========================================================== */

.c-step {
  width: 60vw;
  margin: 0 auto;
  padding: 3vw 0;
}

.c-step .lead {
  font-size: 0.75vw;
  text-align: right;
  margin: 0 0 1vw;
}

.c-step ol {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  overflow: hidden;
  margin: 0 auto;
}

.c-step ol li {
  background: #e4e4e4;
  width: 100%;
  padding: 1vw 0;
  text-align: center;
  font-size: 0.9vw;
  position: relative;
}

.c-step ol li:after {
  content: "";
  width: 2vw;
  height: 2vw;
  background: #fff;
  position: absolute;
  top: 50%;
  right: -0.8vw;
  transform: translateY(-50%) rotate(46deg) skew(15deg, 15deg);
  z-index: 9;
}

.c-step ol li:before {
  content: "";
  width: 2vw;
  height: 2vw;
  background: #e4e4e4;
  position: absolute;
  top: 50%;
  right: -0.6vw;
  transform: translateY(-50%) rotate(46deg) skew(15deg, 15deg);
  z-index: 99;
}

.c-step ol li:last-of-type:after {
  display: none;
}

.c-step ol li.is-active {
  background: #000;
  color: #fff;
}

.c-step ol li.is-active:before {
  background: #000;
}

.c-step .caution {
    font-size: 1vw;
    margin: 1vw 0 0;
    font-weight: 500;
}

.c-step .caution li {
  margin: 0 0 3vw;
}

.c-step .caution li:before {
  content: "・"
}

.c-step .caution span {
    color: #db4848;
}

/* ===========================================================
 section
=========================================================== */

section {
  border-left: solid 1px #ccc;
  border-right: solid 1px #ccc;
  width: 60vw;
  margin: 0 auto
}

section h2 {
  background: #f0f3f7;
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  padding: 1vw 0;
  font-size: 1vw;
  text-align: center;
  font-weight: 500;
}

/* ===========================================================
 package
=========================================================== */

.package .wrapper {
  display: flex;
  justify-content: space-between;
}

.package .kiki {
  padding: 2vw;
  width: 42vw;
}

.package .kiki li {
  margin: 0 0 2vw;
  display: flex;
  align-items: center;
}

.package .kiki li:last-of-type {
  margin: 0;
}

.package .kiki li figure {
  text-align: center;
  width: 12vw;
}

/* AIホームゲートウェイ */
.package .kiki li figure img {
  width: auto;
  height: 6vw;
}

/* カメラ */
.package .kiki li:nth-of-type(2) figure img {
  width: auto;
  height: 5vw;
}

.package .kiki li .inner {
  text-align: left;
}

.package .kiki li .inner .ttl {
  font-size: 1.4vw;
  font-weight: 500;
}

.package .kiki li .inner a {
  color: #1a81d0;
  font-size: 0.9vw;
  text-decoration: underline;
  text-underline-offset: 0.3vw;
  margin: 0.6vw 0 0;
}

.package .kiki li .inner a:hover {
  text-decoration: none;
}

.package .price {
  padding: 0 2vw 0vw;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  border-left: solid 1px #ccc;
  width: 18vw;
}

.package .price li {
  margin: 0 0 2vw;
}

.package .price li:last-of-type {
  margin: 0
}

.package .price .ttl {
  font-size: 1vw;
  text-align: center;
  margin: 0 0 0.5vw;
  font-weight: 500;
}

.package .price .txt {
  font-size: 2vw;
  font-family: Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}

.package .price .txt span {
  font-size: 1vw;
  margin: 0 0 0 0.2vw
}


/* ===========================================================
 tokuten
=========================================================== */

.tokuten {
  border-bottom: solid 1px #ccc;
  margin: 0 auto 6vw;
}

.tokuten .wrapper {
  display: flex;
  justify-content: space-between;
}

.tokuten .wrapper .kaisapo {
  position: relative;
  padding: 2vw;
  width: 42vw;
}

.tokuten .wrapper .kaisapo .ttl {
  font-size: 1.2vw;
  font-weight: 700;
  margin: 0 0 1vw
}

.tokuten .wrapper .kaisapo .txt {
  font-size: 1vw;
  line-height: 1.6vw;
  color: #838383;
}

.tokuten .wrapper .kaisapo a {
    color: #1a81d0;
    font-size: 0.9vw;
    text-decoration: underline;
    text-underline-offset: 0.3vw;
    margin: 0.6vw 0 0 auto;
    width: 6vw;
}

.tokuten .wrapper .kaisapo a:hover {
  text-decoration: none;
}

.tokuten .wrapper .price {
  padding: 2vw;
  text-align: center;
  font-size: 1.4vw;
  border-left: solid 1px #ccc;
  width: 18vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
} 

.tokuten .wrapper .price span:nth-of-type(1) {
  text-decoration: line-through;
}

.tokuten .wrapper .price span:nth-of-type(2) {
  font-size: 1.4vw;
  font-weight: 700;
}

.tokuten .kamera {
  border-top: solid 1px #ccc;
  padding: 1vw 2vw;
  font-size: 1.2vw;
  font-weight: 700;
}


/* ===========================================================
 product
=========================================================== */

.product .pd_table li {
  display: flex;
  justify-content: space-between;
  position: relative;
  border-bottom: solid 1px #ccc;
}

.product .pd_table li > .wrapper {
  display: flex;
  align-items: center;
  padding: 2vw;
  border-right: solid 1px #ccc;
  width: 42vw;
}

.product .pd_table li > .wrapper figure {
  text-align: center;
  width: 7vw;
  margin: 0 1.5vw 0 0;
}

.product .pd_table li > .wrapper figure img {
  width: auto;
  height: 5vw
}

.product .pd_table li > .wrapper .inner {
  width: 40vw;
}

.product .pd_table li > .wrapper .inner .lead {
  font-size: 1vw;
  line-height: 1.6vw;
  color: #838383;
  margin: 0 0 0.1vw;
}

.product .pd_table li > .wrapper .inner .ttl {
  font-size: 1.4vw;
  line-height: 2vw;
  font-weight: 500;
}

.product .pd_table li > .wrapper .inner a {
    color: #1a81d0;
    font-size: 0.9vw;
    text-decoration: underline;
    text-underline-offset: 0.3vw;
    margin: 0.5vw 0 0;
    width: 6vw;
}

.product .pd_table li > .wrapper .inner a:hover {
  text-decoration: none;
}



.product .pd_table li .sc_number {
  width: 18vw;
  background: #f4f4f4;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  padding: 2vw;
  border-right: solid 1px #ccc;
}

.product .pd_table li .sc_number .price {
  font-size: 1.6vw;
  font-family: Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0 0 0.5vw;
}

.product .pd_table li .sc_number .price span {
  font-size: 1vw;
  margin: 0 0 0 0.2vw;
  letter-spacing: 0.15vw;
}

.product .pd_table li .sc_number select {
  border: solid 1px #ccc;
  padding: 0.5vw 0;
  font-size: 1vw;
  text-align: center;
  font-family: Arial, sans-serif;
  background: #fff;
  border-radius: 0.3vw;
  width: 4vw;
}

.product .pd_table li .sc_number  select option {
  text-align: center;
}


.product .pd_table li .sc_number span {
  font-size: 1vw;
}

.product .pd_table li .sc_number .caution {
  font-size: 0.75vw;
  color: #838383;
  margin: 0.5vw 0 0;
  white-space: nowrap;
}

/* tag用 */

.product .pd_table .tag > .wrapper figure {
  width: 12vw;
}


.product .pd_table li .sc_number .wrapper .inner {
  display: flex;
  align-items: center;
  margin: 0 0 0.6vw;
}

.product .pd_table li .sc_number .wrapper .inner .tagnm {
  font-size: 1vw;
  display: block;
  text-align: left;
  margin: 0 0 0.5vw;
  width: 7vw;
}


/* 注釈 */
.product_notes {
  padding: 2vw 0 6vw;
  font-size: 0.75vw;
  width: 60vw;
  margin: 0 auto
}

.product_notes li {
  line-height: 0;
  color: #838383;
  margin: 0 0 1.5vw;
}

.product_notes li a {
  display: inline;
  color: #1a81d0;
  text-decoration: underline;
}

.product_notes li a:hover {
  text-decoration: none;
}



/* ===========================================================
 option
=========================================================== */

.option {
  margin: 0 auto 6vw;
}

.option .wrapper {
  display: flex;
  justify-content: space-between;
}

.option .wrapper .lft {
  width: 7vw;
  border-right: solid 1px #ccc;
  background: #f4f4f4;
  position: relative;
  border-bottom: solid 1px #ccc;
}

.option .wrapper .lft input {
  display: none;
}

.option .wrapper .lft label {
  width: 2.5vw;
  height: 2.5vw;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: solid 1px #aeaeae;
  border-radius: 0.3vw;
  transition: all .2s ease;
  display: block;
}

.option .wrapper .lft label:after {
  content: "";
  width: 0.5vw;
  height: 1.2vw;
  border-bottom: solid 0.35vw #fff;
  border-right: solid 0.35vw #fff;
  position: absolute;
  top: 41%;
  left: 0.9vw;
  transform: translateY(-50%) rotate(45deg);
  z-index: 99;
}

/* チェック */
.option .wrapper .lft input[type="checkbox"]:checked + label {
    background: #f56739;
    transition: all .2s ease;
}

.option .wrapper .inner {
  display: flex;
  justify-content: space-between;
  width: 53vw;
}

.option .wrapper .inner .center {
  width: 33vw;
  padding: 2vw;
  border-bottom: solid 1px #ccc;
  border-right: solid 1px #ccc;
}

.option .wrapper .inner .center .txt {
  font-size: 1vw;
  color: #838383;
  margin: 0 0 1vw;
  line-height: 1.6vw;
}

.option .wrapper .inner .center .ttl {
  font-size: 1.4vw;
  margin: 0 0 1vw;
  font-weight: 500;
}

.option .wrapper .inner .center a {
    color: #1a81d0;
    font-size: 0.9vw;
    text-decoration: underline;
    text-underline-offset: 0.3vw;
    margin: 0.5vw 0 0;
    width: 6vw;
}

.option .wrapper .inner .rgt {
  padding: 2vw;
  width: 20vw;
  border-bottom: solid 1px #ccc
}

.option .wrapper .inner .rgt .ttl {
  color: #c42a2a;
  font-size: 1vw;
  font-weight: 700;
  margin: 0 0 1vw;
}

.option .wrapper .inner .rgt .txt_s {
  font-size: 0.75vw;
  line-height: 1.1vw;
  color: #838383;
}

.option .wrapper .inner .rgt .txt_s span {
  display: block;
  margin: 0.5vw 0 0;
}

/* ===========================================================
 salescode
=========================================================== */

.salescode {
  margin: 0 auto 3vw;
  background: #f0f3f7;
  border: solid 1px #ccc;
  padding: 2vw;
  width: 60vw;
}

.salescode .ttl {
  font-size: 0.95vw;
  line-height: 1.4vw;
  text-align: center;
}

.salescode .ttl sup {
  font-size: 1vw;
  font-weight: 700;
  display: block;
  margin: 0 0 0.5vw;
}

.salescode input {
  margin: 1.5vw auto 0;
  background: #fff;
  border: solid 1px #e7e7e7;
  padding: 1vw;
  width: 100%;
  font-size: 1vw;
  border-radius: 0.3vw;
  width: 40vw;
  display: block;
}

.salescode input::placeholder {
  color: #c8c8c8;
}

/* ===========================================================
　エントリー部分
=========================================================== */

.entryForm {
  padding: 4vw;
  background: #f4f4f4;
}

.entryForm .explan_pdf h2 {
  font-weight: 500;
}

.entryForm .explan_pdf ul {
  background: #fff;
  width: 48vw;
  padding: 2vw 4vw;
}

.entryForm .apply .applyBtn {
  background: #d0d0d0;
  color: #fff;
  width: 33vw;
  margin: 1vw auto 0;
  text-align: center;
  font-size: 1.2vw;
  font-weight: 700;
  padding: 1.2vw;
  border-radius: 100vw;
  position: relative;
  top: 0;
  transition: all .2s ease;
  cursor: not-allowed;
  border: none;
}

.entryForm .apply .applyBtn.active {
  background: linear-gradient(90deg, rgb(245 35 65) 15%, rgb(255 129 96) 100%) !important;
}

.entryForm .apply .applyBtn.active:hover {
  opacity: 0.8;
  transition: all .2s ease;
}

.entryForm .apply .applyBtn:before {
  content: "";
  width: 1.2vw;
  height: 0.8vw;
  background: url("/assets/img/common/arr_hoso.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 3vw;
  transform: translateY(-50%);
}

  .entryForm .explan_pdf ul li {
    font-size: 0.9vw;
    width: 42vw;
  }


/* 代理店規約
--------------------------------*/

.entryForm .d_kiyaku {
  background: #fff;
  width: 48vw;
  border-radius: 1vw;
  margin: 2vw auto;
  padding: 2vw 4vw;
  font-size: 0.9vw;
  line-height: 1.6vw;
  text-align: left;
}

.entryForm .d_kiyaku a {
  color: #618fda;
  text-decoration: underline;
}




/* ===========================================================
　料金シミュ
=========================================================== */

.odercheck {
  margin: 1vw auto 0;
}

.odercheck .ttl {
  font-size: 1.8vw;
  text-align: center;
  margin: 0 0 1vw;
}

.odercheck .check_table {
  border: solid 4px #ccc;
  padding: 1.4vw 2vw;
  position: relative
}


.odercheck .check_table ul li {
  border-bottom: dotted 1px #cccccc;
  margin: 0 0 1vw;
  padding: 0 0 1vw
}

.odercheck .check_table ul li:last-of-type {
  border-bottom: none;
  margin: 0;
  padding: 0;
}

.odercheck .check_table ul li .ck_ttl {
  font-size: 1vw;
  font-weight: 700;
  display: inline-block;
  width: 11vw;
  position: relative;
}

.odercheck .check_table ul li .ck_ttl:after {
  content: "：";
  position: absolute;
  right: 0;
}

.odercheck .check_table ul li .ck_cont {
  font-size: 1vw;
}

.odercheck .check_table ul li .ck_cont_pl {
  display: inline-block;
  vertical-align: top;
  font-size: 1vw;
}

.odercheck .check_table ul li #outputPlan {
  font-weight: 700;
  margin: 0 0 0.5vw
}

.odercheck .check_table ul li #outputProduct {
  font-size: 0.75vw;
}

.odercheck .check_table ul li .ck_cont_pd {
  display: inline-block;
  vertical-align: top;
  font-size: 1vw;
}

.odercheck .check_table ul li .ck_cont_pd div {
  margin: 0 0 0.8vw;
  display: none;
}

.odercheck .check_table ul li .ck_cont_pd .outputNumber:before {
  content: " × ";
}


#simulator {
  margin: 0 auto 2vw;
}

#simulator table {
  border-left: solid 4px #ccc;
  border-bottom: solid 4px #ccc;
  border-right: solid 4px #ccc;
  width: 100%;
}

#simulator table th,
#simulator table td {
  border-bottom: solid 1px #ccc;
  border-right: solid 1px #ccc;
  text-align: center;
  padding: 1vw;
  vertical-align: middle;
  line-height: 1.2vw;
}

#simulator table th {
  font-size: 1vw;
  background: #f4f4f4;
}

#simulator table td {
  font-size: 1vw;
  line-height: 1.4vw;
}

#simulator table th span {
  display: block;
  font-size: 0.7vw;
  font-weight: 500;
}

#simulator table td:nth-of-type(1) {
  white-space: nowrap;
}


/* 目立たせ */
#simulator .total td {
  font-weight: 700;
  background: seashell
}

#simulator .cost_dis {
  color: #df1d1d;
  font-weight: 700;
}

#simulator .kaiyaku {
  background: #f2f8ff;
}



/* ===========================================================
　modal(機器)
=========================================================== */

.modal_wrapper_in {
  margin: auto 0;
  padding: 2vw 3vw;
  background: transparent;
}

.modal_wrapper .modal_contents {
  text-align: left;
  background: #fff;
  padding: 2vw 3vw;
  position: relative;
  width: 75vw;
  margin: 3vw 0;
}

.modal_closeTxt a {
  text-decoration: none;
  padding: 1vw 2vw;
  font-size: 1vw;
  border-radius: 0.3vw;
}



/* ---------------------------------
　タイトル
--------------------------------- */

.modal_wrapper .modal_contents .ttl {
  margin: 0 0 40px;  
}

.modal_wrapper .modal_contents .ttl h1 {
  font-size: 30px;
  line-height: 40px;
  margin: 0 0 30px;
  text-align: center;
}


/* ---------------------------------
　表
--------------------------------- */


.modal_wrapper .planTable {
    margin: 0 0 20px;
    padding: 0 40px
}

.modal_wrapper .planTable table {
    width: 100%;
    border-top: solid 1px #ccc;
    border-left: solid 1px #ccc;
    margin: 0 0 40px;
}

.modal_wrapper .planTable table th {
    font-size: 12px;
    font-weight: normal;
    padding: 20px 0;
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    vertical-align: middle;
    text-align: center;
}

.modal_wrapper .planTable table th.top {
  background: #eef5fd;
}


.modal_wrapper .planTable table th.lft {
  background: #f8f8f8;
}

.modal_wrapper .planTable table td {
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    text-align: center;
    vertical-align: middle;
    padding: 20px 0;
    font-size: 12px;
}

.modal_wrapper .planTable table td.gain {
  font-size: 14px;
  font-weight: 700;
  color: #eb3b24
}

.modal_wrapper .planTable table td span {
    font-size: 10px;
}

.modal_wrapper .planTable table td span.bk {
font-weight: 400;
color: #000 !important;
}

.modal_wrapper .planTable table td.detail .wrap {
    line-height: 18px;
}

.modal_wrapper .planTable table td.detail .wrap:nth-of-type(n+1) {
    margin: 0 0 15px;
}

.modal_wrapper .planTable table td.detail .wrap:last-of-type {
    margin: 0;
}

.modal_wrapper .planTable table tr.btm {
  background: #fbf0ef;
}

.modal_wrapper .planTable table tr.btm .btmR {
  font-size: 14px;
  font-weight: 700;
  color: #eb3b24;
  margin: 0 0 5px;
}

.modal_wrapper .planTable table tr.btm .btmB {
  font-size: 12px;
}

.modal_wrapper .planTable table tr.btm .btmB span {
  font-size: 10px;
}


/*　注釈
------------------------*/

.modal_wrapper .planTable .notes {
  font-size: 12px;
  line-height: 20px;
  margin: 20px 0 0;
}

.modal_wrapper .planTable .notes li {
  position: relative;
  padding: 0 0 0 20px;
}

.modal_wrapper .planTable .notes li:before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0

}


/* ---------------------------------
　機能表示
--------------------------------- */

.modal_contents_in {
    display: flex;
    margin: 2vw 0;
    justify-content: space-between;
}

.modal_contents_in video,
.modal_contents_in .thumbnail {
    width: 45%;
    margin: 0 30px 0 0;
}

.modal_contents_in .details {
    width: 52%;
    position: relative;
}

.modal_contents_in .details .spec {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    font-size: 1vw;
    font-weight: 500;
    border-bottom: dotted 1px #ccc;
    margin: 0 0 2vw;
    line-height: 1.4vw;
}

.modal_contents_in .details .spec dt {
    width: 12%;
    padding: 1vw 0;
    border-top: dotted 1px #ccc;
}

.modal_contents_in .details .spec dd {
    width: 88%;
    padding: 1vw 0 1vw 2vw;
    border-top: dotted 1px #ccc;
    position: relative;
}

.modal_contents_in .details .spec dd:before {
    content: "：";
    position: absolute;
    left: 0;

}

.modal_contents_in .details .profile li {
    font-size: 0.9vw;
    margin: 0 0 0.8vw;
    padding: 0 0 0 0.8vw;
    line-height: 1.4vw;
    position: relative;
}

.modal_contents_in .details .profile li:before {
    content: "・";
    position: absolute;
    left: 0;
}


.modal_contents_in .details .pdt_info {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 11px;
    color: #fff;
    background: #333;
    border: solid 1px transparent;
    padding: 7px 20px;
    border-radius: 50px;
    transition: all .3s ease;
}

.modal_contents_in .details .pdt_info:after {
    content: "";
    width: 4px;
    height: 4px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    display: inline-block;
    transform: rotate(45deg);
    margin: 0 0 0 5px;
    vertical-align: 1px;
    transition: all .3s ease;
}



.modal_contents_in .details .pdt_info:hover {
    color: #333;
    background: #fff;
    border: solid 1px #333;
    transition: all .3s ease;
}

.modal_contents_in .details .pdt_info:hover:after {
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    transition: all .3s ease;
}




/* ===========================================================
　modal（解サポ）
=========================================================== */

/* ---------------------------------
　タイトル
--------------------------------- */

.modal_wrapper .modal_contents .ttl {
  margin: 2vw 0 4vw;
}

.modal_wrapper .modal_contents .ttl h1 {
  font-size: 1.6vw;
  margin: 0 0 1.6vw;
}

.modal_wrapper .modal_contents .ttl .lead {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
}


/* ---------------------------------
　表
--------------------------------- */

.modal_wrapper .modal_contents .modal_table {
  border-top: solid 1px #ccc;
  border-left: solid 1px #ccc;
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: stretch;
  overflow: hidden;
  margin: 0 0 60px;
}

.modal_wrapper .modal_contents .modal_table ul {
  width: 50%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
}

.modal_wrapper .modal_contents .modal_table ul li {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  border-bottom: solid 1px #ccc;
  height: 100%;
}

/* safariのみ */
_::-webkit-full-page-media, _:future, :root .modal_wrapper .modal_contents .modal_table ul li {
    height: auto !important;
}


.modal_wrapper .modal_contents .modal_table ul li p {
  display: flex;
  align-items: center;
  line-height: 18px;
  padding: 20px 25px;
  border-right: solid 1px #ccc;
}

.modal_wrapper .modal_contents .modal_table ul li p .red {
  font-weight: 700;
  color: red;
}

.modal_wrapper .modal_contents .modal_table ul li .th {
  background: #d8e8f3;
}

.modal_wrapper .modal_contents .modal_table ul li .th span {
  width: 5vw;
  text-align: center;
  font-size: 1vw;
  font-weight: 700;
}

.modal_wrapper .modal_contents .modal_table ul li .td {
  width: 100%;
}

/* IEハック */
@media all and (-ms-high-contrast:none){
  .modal_wrapper .modal_contents .modal_table ul li .td {
  width: 100%;
  min-height: 30vh;
}
}


.modal_wrapper .modal_contents .modal_table ul li .td span {
  font-size: 1vw;
  line-height: 1.4vw;
}

.modal_wrapper .modal_contents .modal_table ul li p a {
  word-break: break-all;
  color: #0064a0;
  text-decoration: underline;
  display: inline-block;
}


.modal_wrapper .modal_contents .modal_table .bottom {
  width: 100%;
}

/* PDF */

.modal_wrapper .modal_contents .modal_table .pdf:after {
 content: "";
 background: url("/assets/img/common/ico-pdf.svg") no-repeat;
 display: inline-block;
 width: 20px;
 height: 23px;
 margin: 0 0 0 5px;
 vertical-align: -7px;
}







/* ===========================================================
　modal(無償訪問用)
=========================================================== */

#musyou > .ttl {
  font-size: 2vw;
  font-weight: 500;
}

#musyou .area .lead {
  font-size: 1.4vw;
  padding: 0 0 0 0.8vw;
  border-left: solid 6px #3e3a39;
  margin: 3vw 0 2vw;
}

#musyou .area .txt {
  font-size: 1vw;
  line-height: 1.2vw;
  margin: 0 0 1vw
}

#musyou .area .txt a {
  text-decoration: underline;
  color: #1a81d0;
}

#musyou .area .txt a:hover {
  text-decoration: none;
}

#musyou .area .cau li {
  font-size: 0.8vw;
  line-height: 1vw;
  margin: 0 0 0.2vw;
  position: relative;
  padding: 0 0 0 0.7vw;
}

#musyou .area .cau li:before {
  content: "※";
  position: absolute;
  left: 0;
}

#musyou .area .cau li a {
  color: #1a81d0;
  text-decoration: underline;
  display: inline
}

#musyou .area .cau li a:hover {
  text-decoration: none;
}



/* ご利用の流れ */


#musyou .area .flow {
  display: flex;
  justify-content: space-between;
  position: relative;
  counter-reset: number 0;
}

#musyou .area .flow:before {
  content: "";
  width: 100%;
  height: 1px;
  background: #3e3a39;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index:-1;
}

#musyou .area .flow li {
  border: solid 3px #4f556e;
  padding: 0.7vw;
  font-size: 0.9vw;
  line-height: 1.1vw;
  width: 15.5vw;
  background: #fff;
  z-index: 0;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
}

#musyou .area .flow li:after {
  content: counter(number);
  counter-increment: number 1;
  font-family: century-gothic, Century Gothic, sans-serif;
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 700;
  font-size: 1vw;
  position: absolute;
  width: 1.5vw;
  height: 1.5vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #4f556e;
  color: #fff;
}


#musyou .area .flow li span {
  font-size: 0.7vw;
  line-height: 0.8vw;
  display: block;
  margin: 0.5vw 0 0;
}

/* サポート内容 */

#musyou .area .detail {
  display: flex;
  justify-content: space-between;
  counter-reset: number 0;
  margin: 0 0 0.8vw;
  counter-reset: number 0;
}

#musyou .area .detail li {
  padding: 1vw 1vw 1vw 5vw;
  font-size: 0.9vw;
  margin: 0 0.2vw 0 0;
  line-height: 1.1vw;
  position: relative;
  background: #d4d4d4;
}

#musyou .area .detail li span {
  font-size: 1vw;
  font-weight: 700;
  display: block;
  margin: 0 0 0.3vw
}

#musyou .area .detail li .number {
  position: absolute;
  top: 50%;
  left: 2.4vw;
  transform: translateY(-50%);
  font-size: 3vw;
  font-family: century-gothic, Century Gothic, sans-serif;
  font-weight: 700;
  color: #fff;
}


#musyou .area .detail li:after {
  content: "";
  width: 3vw;
  height: 3vw;
  background: #fff;
  position: absolute;
  top: 50%;
  right: -1.7vw;
  transform: translateY(-50%) rotate(46deg) skew(15deg, 15deg);
  z-index: 9;
}

#musyou .area .detail li:before {
  content: "";
  width: 3vw;
  height: 3vw;
  background: #d4d4d4;
  position: absolute;
  top: 50%;
  right: -1.5vw;
  transform: translateY(-50%) rotate(46deg) skew(15deg, 15deg);
  z-index: 99;
}


/* 当日必要なもの */

#musyou .area .today {
  display: flex;
  margin: 0 0 1vw;
}

#musyou .area .today li {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 2vw 0 0;
  width: 15vw;
}

#musyou .area .today li figure {
  margin: 0 0.7vw 0 0;
}

#musyou .area .today li figure img {

  width: auto;
  height: 2.5vw;
}

#musyou .area .today li .rgt {
  font-size: 0.7vw;
  line-height: 0.9vw;
}

#musyou .area .today li .rgt span {
  display: block;
  font-size: 1vw;
  font-weight: 700;
  margin: 0 0 0.3vw;
}


#musyou .area table tbody {
  border-top: solid 1px #ccc;
  border-left: solid 1px #ccc;
  display: block;
  margin: 1vw 0 0;
}

#musyou .area table th,
#musyou .area table td {
  font-size: 0.8vw;
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  padding: 1vw;
  text-align: center;
  vertical-align: middle;
  line-height: 1.1vw;
}

#musyou .area table td img {
  width: auto;
  height: 3vw;
  vertical-align: middle;
  margin: 0 0.5vw 0 0;
}

/* 訪問サポートまでに必要な作業 */

#musyou .area .list .sub {
  font-size: 1vw;
  margin: 0 0 1.2vw;
  display: inline-block;
  padding: 0 0 0.4vw;
  border-bottom: solid 2px #3e3a39
}


#musyou .area .list ul {
  margin: 0 0 2vw;
}

#musyou .area .list:nth-of-type(1) ul {
  counter-reset: number 0;
}

#musyou .area .list:nth-of-type(2) ul {
  counter-reset: number 3;
}

#musyou .area .list ul li {
  font-size: 0.8vw;
  margin: 0 0 1vw;
  line-height: 1.2vw;
  position: relative;
  padding: 0 0 0 2.5vw;
}

#musyou .area .list ul li span {
  font-weight: bold;
  display: block;
}

#musyou .area .list ul li:before {
  content: counter(number);
  counter-increment: number 1;
  background: #4f556e;
  color: #fff;
  font-family: century-gothic, Century Gothic, sans-serif;
  font-weight: 700;
  font-size: 1vw;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1.5vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

#musyou .area .list ul li a {
  text-decoration: underline;
  color: #1a81d0;
}

#musyou .area .list ul li a:hover {
  text-decoration: none;
}




