@charset "utf-8";

/* 共通
------------------------------------------------------------ */
.item_detail{
    font-family:"Century Gothic","メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","MS Pゴシック",Osaka,Helvetica,sans-serif;
}
.item_detail img{
    max-width:100%;
}
/* 注記 */
sup{
    color:#333;
    font-weight:normal;
    font-size:12px;
}
.att_notes{
    display:table;
    font-size:12px;
    line-height:1.4;
}
.att_notes span{
    display:table-cell;
    white-space:nowrap;
}
/* スクロール */
.scroll_att{
    font-size:14px;
}
.scroll_wrap{
    overflow:auto;
    padding:0 0 5px;
}

/* コンテンツ
------------------------------------------------------------ */
/* シェア NO.1 */
.ct_wrap.share figure{
    width:fit-content;
    margin:0 auto;
}
.ct_wrap.share figure img{
    margin:0 0 10px;
}
/* 補償内容 */
.ct_wrap.compensation{
    background:#fef7ed;
}
.ct_wrap.compensation .compensation_head{
    margin:0 0 20px;
    color:#f39800;
    font-size:20px;
    text-align:center;
}
.ct_wrap.compensation table{
    width:100%;
    margin:0 0 20px;
    border-top:1px solid #f39800;
    border-bottom:1px solid #f39800;
}
.ct_wrap.compensation table caption{
    font-size:14px;
    text-align:right;
}
.ct_wrap.compensation table th,
.ct_wrap.compensation table td{
    padding:10px;
    text-align:center;
}
.ct_wrap.compensation table th:first-of-type{
    border-right:1px solid #f39800;
    background:#fcd7a1;
    color:#ed6d01;
    font-size:20px;
}
.ct_wrap.compensation table th:first-of-type strong{
    font-weight:bold;
    font-size:24px;
}
.ct_wrap.compensation table th:first-of-type span{
    display:block;
    width:fit-content;
    margin:0 auto;
    padding:0 5px;
    border-radius:20px;
    background:#fff;
    font-size:14px;
    white-space:nowrap;
}
.ct_wrap.compensation table th:nth-of-type(2){
    border-right:1px solid #f39800;
}
.ct_wrap.compensation table th:not(:first-of-type){
    border-bottom:1px solid #f39800;
    background:#eeefef;
}
.ct_wrap.compensation table td:first-of-type{
    border-right:1px solid #f39800;
    background:#fdebd1;
}
.ct_wrap.compensation table td:not(:first-of-type){
    background:#fff;
}
.ct_wrap.compensation table tr:nth-of-type(2) td,
.ct_wrap.compensation table tr:nth-of-type(3) td{
    border-bottom:1px dashed #595757;
}
.ct_wrap.compensation table tr:nth-of-type(3) td:nth-of-type(2),
.ct_wrap.compensation table tr:nth-of-type(4) td:nth-of-type(2){
    border-right:1px dashed #595757;
}
.ct_wrap.compensation table td span{
    display:block;
}
.ct_wrap.compensation table td strong{
    color:#e8334a;
    font-weight:bold;
}
.ct_wrap.compensation table td em{
    font-weight:bold;
    font-size:20px;
}
.compensation_att li{
    position:relative;
    padding:0 0 0 16px;
    font-size:14px;
}
.compensation_att li::before {
    position:absolute;
    content:'';
    top:6px;
    left:0;
    width:12px;
    height:12px;
    border-radius:100%;
    background:#333;
}
/* サービス */
.ct_wrap.service{
    background:#eae4d4;
}
.ct_wrap.service h3{
    margin:0 0 20px;
    color:#e24f25;
    font-weight:bold;
    font-size:20px;
}
.ct_wrap.service h3 span{
    padding:0 5px;
    background:linear-gradient(to bottom, transparent 0,transparent 70%,#fff 70%,#fff 100%);
}
.service_list .service_list_inner{
    padding:55vw 0 0;
}
.service_list .service_list_inner:first-of-type{
    margin:0 0 30px;
    background:url(images/service_img01.webp) no-repeat left top / contain;
}
.service_list .service_list_inner:last-of-type{
    background:url(images/service_img02.webp) no-repeat left top / contain;
}
.service_list .service_list_inner dt{
    margin:0 0 10px;
    font-weight:bold;
    font-size:18px;
}
/* 保険料表 */
.ct_wrap.insurance{
    background:#fef7ed;
}
.ct_wrap.insurance h3{
    position:relative;
    margin:0 0 10px;
    padding:10px 20px 10px 10px;
    background:#f39800;
    color:#fff;
    font-weight:bold;
    font-size:20px;
    line-height:1;
    text-align:center;
}
.ct_wrap.insurance h3::after{
    position:absolute;
    content:'';
    right:0;
    bottom:0;
    width:0;
    height:0;
    border-style:solid;
    border-width:0 0 40px 25px;
    border-color:transparent transparent #fef7ed transparent;
}
.ct_wrap.insurance table{
    width:980px;
    border-bottom:1px solid #f39800;
}
.ct_wrap.insurance table caption{
    padding:10px 0 0;
    caption-side:bottom;
    font-size:14px;
    text-align:right;
}
.ct_wrap.insurance table th,
.ct_wrap.insurance table td{
    padding:10px;
    text-align:center;
    line-height:1;
}
.ct_wrap.insurance table thead tr:nth-of-type(1) th{
    border-top:1px solid #f39800;
    font-weight:bold;
}
.ct_wrap.insurance table thead tr:nth-of-type(1) th:first-of-type{
    border-bottom:1px solid #f39800;
    border-right:1px solid #f39800;
    background:#fff;
}
.ct_wrap.insurance table thead tr:nth-of-type(1) th:not(:first-of-type){
    background:#fcd7a1;
}
.ct_wrap.insurance table thead tr:nth-of-type(2) td{
    border-right:1px solid #f39800;
    background:#fdebd1;
    color:#f08200;
    font-weight:bold;
}
.ct_wrap.insurance table thead tr:nth-of-type(2) td:first-letter,
.ct_wrap.insurance table tbody tr th:first-letter{
    font-size:20px;
}
.ct_wrap.insurance table thead tr:nth-of-type(3) td{
    border-bottom:1px solid #f39800;
    background:#fff;
}
.ct_wrap.insurance table thead tr:nth-of-type(1) th:last-of-type,
.ct_wrap.insurance table thead tr:nth-of-type(3) td:nth-of-type(11){
    border-left:1px solid #f39800;
}
.ct_wrap.insurance table thead tr:nth-of-type(3) td:nth-of-type(odd){
    border-right:1px dotted #595757;
}
.ct_wrap.insurance table thead tr:nth-of-type(3) td:nth-of-type(even){
    border-right:1px solid #f39800;
}
.ct_wrap.insurance table thead tr:nth-of-type(3) td:last-of-type{
    border-right:none;
}
.ct_wrap.insurance table tbody th{
    border-right:1px solid #f39800;
    font-weight:bold;
}
.ct_wrap.insurance table tbody tr:nth-of-type(odd) th{
    background:#fcd7a1;
}
.ct_wrap.insurance table tbody tr:nth-of-type(even) th{
    background:#fdebd1;
}
.ct_wrap.insurance table tbody tr:nth-of-type(odd) td{
    background:#eeefef;
}
.ct_wrap.insurance table tbody tr:nth-of-type(even) td{
    background:#fff;
}
.ct_wrap.insurance table tbody tr td:nth-of-type(odd){
    border-right:1px dotted #595757;
}
.ct_wrap.insurance table tbody tr td:nth-of-type(even){
    border-right:1px solid #f39800;
}
.ct_wrap.insurance table tbody tr td:last-of-type{
    border-right:none;
}
/* 品種別クラス分類 */
.ct_wrap.variety{
    background:#f8fbf1;
}
.variety_head{
    margin:0 0 15px;
}
.variety_head h3{
    position:relative;
    margin:0 0 10px;
    padding:10px 20px 10px 10px;
    background:#007440;
    color:#fff;
    font-weight:bold;
    font-size:20px;
    line-height:1;
    text-align:center;
}
.variety_head h3::after{
    position:absolute;
    content:'';
    right:0;
    bottom:0;
    width:0;
    height:0;
    border-style:solid;
    border-width:0 0 40px 25px;
    border-color:transparent transparent #f8fbf1 transparent;
}
.variety_list{
    margin:0 0 10px;
}
.variety_list_inner table{
    width:100%;
    border-top:1px solid #007440;
    border-bottom:1px solid #007440;
}
.variety_list_inner table th,
.variety_list_inner table td{
    font-size:13px;
}
.variety_list_inner table th{
    width:30px;
    padding:8px;
    background:#e8f1cf;
    font-weight:bold;
    text-orientation:mixed;
    text-align:center;
    vertical-align:top;
}
.variety_list_inner table tr:not(:first-of-type) th{
    border-top:1px solid #007440;
}
.variety_list_inner table td{
    padding:5px;
}
.variety_list_inner table td:first-of-type {
    border-right:dashed 1px #ccc;
}
.variety_list_inner table tr:nth-of-type(odd) td{
    background:#eeefef;
}
.variety_list_inner table tr:nth-of-type(even) td{
    background:#fff;
}
.variety_list_inner:first-of-type table tr:nth-of-type(odd) td{
    background:#fff;
}
.variety_list_inner:first-of-type table tr:nth-of-type(even) td{
    background:#eeefef;
}
.variety_list_inner:nth-of-type(1) table tr:nth-of-type(6) td,
.variety_list_inner:nth-of-type(1) table tr:nth-of-type(10) td,
.variety_list_inner:nth-of-type(1) table tr:nth-of-type(15) td,
.variety_list_inner:nth-of-type(1) table tr:nth-of-type(21) td,
.variety_list_inner:nth-of-type(2) table tr:nth-of-type(16) td{
    border-bottom:1px solid #007440;
}

/* 画面サイズ別調整
---------------------------------------------------------------- */
@media screen and (max-width:767px){
    .variety_list_inner:nth-of-type(2){
        margin:0 0 20px;
    }
    .variety_list_inner:nth-of-type(2) table{
        border-top:none;
    }
}
@media screen and (min-width:768px){
    /* サービス */
    .service_list .service_list_inner{
        min-height:170px;
        padding:0 320px 0 0;
    }
    .service_list .service_list_inner:first-of-type,
    .service_list .service_list_inner:last-of-type{
        background-position:right center;
        background-size:300px;
    }
    /* 品種別クラス分類 */
    .variety_head{
        display:flex;
        align-items:center;
        justify-content:space-between;
    }
    .ct_wrap.insurance h3,
    .variety_head h3{
        width:385px;
    }
    .variety_head p{
        width:calc(100% - 400px);
    }
    .variety_list{
        display:flex;
        justify-content:space-between;
    }
    .variety_list_inner{
        width:calc((100% - 6px) / 3);
    }
}

@media screen and (min-width:1020px){
    /* 補償内容 */
    .ct_wrap.compensation table td span{
        display:inline-block;
    }
    .ct_wrap.compensation table td span em{
        padding:0 0 0 1em;
    }
}

@media screen and (min-width:1040px){
    .scroll_att{
        display:none;
    }
}