@charset "UTF-8";

/*
========================================

	service > its > toritonM / toritonM.css
    
========================================
*/

/*----------------------------------------
	contents
----------------------------------------*/

.sub_page section.introBox .thumb {/*画像上段に、文字「導入保険者250以上」が入る場合*/
    background-repeat: no-repeat;
    background-position: center 2.5rem;
    background-size: contain;
    height: 74vw;
}

 .num {
    width: 40px;
    height: 40px; 
    background-image: linear-gradient(-45deg, #64b3f4 0%, #c2e59c 100%);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 400;
    font-family: "Times New Roman", Times, "serif";
    /*font-family: "Lucida Sans Unicode", "Lucida Grande", "sans-serif";*/
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
}

p.label {
    display: inline-block;
    /*border-bottom: 3px solid #64b3f4;*/
    background: #fff;
    color: #4150a8;
    font-size: 1.125rem;
    font-weight: 600;

    min-width: 160px;
    height: 2.5rem;
    line-height: 2.25rem;
    text-align: center;
    margin-bottom: 0.75rem;
    
    position: relative;
}

div.item p.label,
div.solving p.label {
    padding-left: 1rem;
    width: 50%;
    max-width: 160px;
}

p.label .num,
p.label .mark {
    width: 40px;
    height: 40px;
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-15%, -10px);
    border-radius: 50%;
}

p.label .num {
    background-image: linear-gradient(-45deg, #64b3f4 0%, #c2e59c 100%);
}

p.label .mark {
    background-image: linear-gradient(135deg, #fff  0%, #5c6bc0  50%, #5c6bc0 100%);
}

/*フローチャート*/

div.item {
	position: relative;
	/*margin-bottom: 4px;
    border: 1px dotted #c33;*/
    height: 100%;
    padding:1.25rem 1rem 1rem 1rem;
    background: #dbe0ee;
}

/*
div.item::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -32px;
	border: 32px solid transparent;
	border-top: 24px solid #fff;
    z-index: 2;
}
*/
        
div.item::before,
div.item::after {
    content: "";
    display: inline-block;
    position: absolute;
    top:calc(100% + 3px);
    left: 50%;
    transform: translateX(-50%);
     z-index: 2;
}
div.item::before {
    border: solid 24px transparent;
    border-top: solid 23px #fff;
}
div.item::after {
    border: solid 24px transparent;
    border-top: solid 22px #dbe0ee;
    margin-top: -5px;
}

div.solving {
    height: 100%;
    padding:2rem 1rem 1rem 1rem;
    /*background: #8cbae6;
    background-image: linear-gradient(-45deg, #c6dff2 0%, #dbebf7 100%);*/
    background:#d1e8fc;
    border-top:4px solid #fff;
}

div.item dl dt,
div.solving dl dt {/*flexCenter*/
    display: flex !important;
    justify-content: center !important;
    flex-direction: column !important;
    align-items: center !important;
}

div.item dl dd,
div.solving dl dd {
    padding: 0 1rem;
    text-align: center;
}

    @media (min-width: 992px) {
        
        .sub_page section.introBox .thumb {
          background-position: center center;
          background-size: cover;
          height: 48vw;
        }

        p.label .num {
            width: 60px;
            height: 60px;
        }

        p.label .mark {
            width: 60px;
            height: 60px;
            padding: 4px;
        }
        
        div.item p.label,
        div.solving p.label {
            padding-left: 2rem;
            max-width: 180px;
        }
        
        .num {
            width: 64px;
            height: 64px; 
            font-size: 2.4rem;
            line-height: 64px;
        }
        
    }

    @media (min-width: 1200px) {
        
        .sub_page section.introBox .thumb {
          height: 100%;
        }

        div.solving p.label {
            padding-left: 2.75rem;
            width: 50%;
            margin-left: -1.5rem;
        }

        /*div.item::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 0;
            left:100%;
            margin-left: 0;
            margin-top: -25px;
            border: 30px solid transparent;
            border-left: 30px solid #fff;
            z-index: 2;
        }*/
    
  div.item::before,
  div.item::after {
      content: "";
      display: inline-block;
      position: absolute;
      top: 50%;
      right: -22px;
      left:auto;
      bottom:auto;
      transform: translateY(-50%);
       z-index: 2;
  }
  div.item::before {
      border: solid 24px transparent;
      border-left: 23px solid #fff;    
      margin-right: -28px;
  }
  div.item::after {
      border: solid 24px transparent;
      border-left: solid 22px #dbe0ee;
      margin-right: -22px;
      margin-top: 0;
  }

        
        div.item {
            padding:24px 4%;
        }
        
        div.solving {
            padding:24px 4% 24px 8%;
            background:#d1e8fc;
            border-left:4px solid #fff;
            border-top:0;
        }

        div.item dl dd,
        div.solving dl dd {
            padding: 0;
            text-align: left;
        }

    }/*@media end*/

.table-striped tbody tr:nth-of-type(odd) {background-color: rgba(92,107,192,0.05); }

.table-striped th {background-color: rgba(92,107,192,0.15); }

.table-striped th,
.table-striped td {text-align: center;}

.cardBox p.dev {
    font-size:93.75%;
}

.cardBox a p.dev {
    margin: auto;
    padding: 0.25rem 0.5rem 0.5rem 0.75rem;
    text-align: center;
    transition: background 0.2s linear;
    background: rgba(92,107,192,0.1);
}

.cardBox li a:hover p.dev {
    /*background: #9de0e3;病院フロア背景色*/
    background: #b0e6e8;
    transition: background 0.2s linear;
}

.cardBox a p.dev span.icon.right::before {
    right: 0.25rem;
}

.cardBox .noLink .card-title {
    padding-left: 0.5rem;
    font-size: 112.5%;
}

.cardBox .noLink .card-title span.s_small {
    font-size: 75% !important;
}

.cardBox .noLink p.dev {
    text-align: right;
    padding-right: 0.5rem;
}

    @media (min-width: 576px) {

        .cardBox a p.dev {
            margin-right: 0;
            /*max-width: 280px;*/
        }

    }/*@media end*/

table.results th{}

table.results td.total {
    padding-bottom: 0;
    color: #5c6bc0;
    white-space: nowrap;
}

table.results td.total span {
    margin-left:0.25rem;
    margin-right: 0.25rem;
    font-size: 112.5%;
    line-height: 1.25rem;
    font-weight: 600;
}

table.results td.detail {
    padding-top: 0.25rem;
    word-break: keep-all;
}

@media (min-width: 992px) {
    
    table.results th{
        vertical-align: middle;
    }

    table.results th, 
    table.results td.total {
        text-align: center;
    }

    table.results td.total {
        padding-bottom: 0.5rem;
        vertical-align: middle;
    }
    
    table.results td.detail {
        padding-top:0.5rem;
        min-width: 75%;
    }
}