/* 共通 */
body {
    padding-bottom: 100px;
}

.pt_sss_shohinList {
    padding-bottom: 30px;
}

/* 商品リスト 商品説明 */

.pt_sss_shohinList_note_typo {
    padding: 5px 0 0 2em;
    font-size: 12px;
    line-height: 1.4em;
    text-align: left;
    text-indent: -1em;
    word-break: break-all;
}

/* 商品選択 送信ボタン*/
.pt_sss_submitArea {
    z-index: 10;
    position: fixed;
    left: 0;
    bottom: 0px;
    width: 100vw;
    height: 100px;
    background-color: #FFF3CC;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 10px;
}

.pt_sss_submitArea_flex {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

.pt_sss_submitArea_count_typo {
    font-size: 14px;
}

.pt_sss_submitArea_count_boldTypo {
    font-size: 16px;
    font-weight: 700;
}

.pt_sss_submitArea_button {
    display: block;
    width: auto;
}

.pt_sss_submitArea_button input {
    width: auto;
    width: 280px;
}

.pt_sss_submitArea_count+.pt_sss_dialog {
    margin-left: 30px;
}

/* ダイアログ */
/* bodyスクロール制御 */
.pt_sss_dialog_bodyScroll {
    overflow-y: hidden;
    overflow-x: hidden;
    width: 100%;
    position: fixed;
    left: 0;
}

.pt_sss_dialog_typo {
    color: #00A08E;
    text-align: left;
    border-radius: 5px;
    line-height: 1.6em;
    font-size: 14px;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}

.pt_sss_dialog_showModal {
    cursor: pointer;
}

.pt_sss_dialog_disabled .pt_sss_dialog_typo {
    color: #7FD0C7;
    cursor: auto;
}

/* ダイアログ背景 */
.pt_sss_dialog_modal {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    transition: all 0.2s cubic-bezier(0, 0.2, 0.4, 1);
    background-color: rgba(0, 0, 0, 0.6);
    cursor: pointer;
    z-index: 999;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pt_sss_dialog_inner {
    background-color: #FFFFFF;
    border-radius: 5px;
    max-height: calc(100vh - 50px);
    width: 95vw;
    max-width: 690px;
    cursor: default;
    overflow-y: auto;
}

/* ダイアログ表示用クラス */
.pt_sss_dialog_isShow {
    visibility: visible;
    opacity: 1;
}

/* 背景押下制御用クラス */
.pt_sss_dialog .pt_sss_dialog_disable {
    cursor: default;
}

.pt_sss_dialog_content {
    padding: 10px;
}

/* ダイアログ 選択済み商品 */
.pt_sss_infoTable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 auto;
}

.pt_sss_infoTable_selectedShohin tr:first-child td.pt_sss_infoTable_caption {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-top: 1px solid #D2D2D2;
}

.pt_sss_infoTable_selectedShohin tr:last-child td.pt_sss_infoTable_value {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.pt_sss_infoTable_caption,
.pt_sss_infoTable_selectedShohin .pt_sss_infoTable_value {
    display: block;
    border-left: 1px solid #D2D2D2;
    border-right: 1px solid #D2D2D2;
    border-bottom: 1px solid #D2D2D2;
}

.pt_sss_infoTable_caption {
    padding: 7px;
    background-color: #D9F1EE;
}

.pt_sss_infoTable_caption_typo {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6em;
    text-align: center;
}

.pt_sss_infoTable_selectedShohin .pt_sss_infoTable_value {
    padding: 10px 8px;
    background-color: #FFFFFF;
}

.pt_sss_infoTable_confirm .pt_sss_infoTable_value {
    padding: 10px 8px;
    background-color: #FFFFFF;
    border: 1px solid #D2D2D2;
    border-radius: 5px;
}

.pt_sss_infoTable_annotation_typo {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6em;
    text-align: center;
    padding-bottom: 10px;
}


/* ダイアログ 選択済み商品 リスト*/
.pt_sss_selShohin_list_item {
    display: flex;
    align-items: center;
}

.pt_sss_selShohin_list_item:not(:last-child) {
    padding-bottom: 10px;
}

.pt_sss_selShohin_list_item+.pt_sss_selShohin_list_item {
    padding-top: 10px;
    border-top: 1px solid #CCCCCC;
}

.pt_sss_selShohin_list_logo {
    display: block;
    width: 120px;
    flex-shrink: 0;
}

.pt_sss_selShohin_list_typo {
    padding-left: 8px;
    flex-grow: 1;
    font-size: 16px;
    line-height: 1.6em;
        font-weight: 700;
}

.pt_sss_dialog_closeBtn {
    position: relative;
    padding: 10px;
    border-top: 1px #CCCCCC solid;
}

.pt_sss_dialog_closeBtn_typo {
    font-size: 16px;
    line-height: 1.6em;
    text-align: center;
}

.pt_sss_dialog_closeBtn img {
    position: absolute;
    top: calc(50% - 8px);
    right: 10px;
    height: 12px;
    width: 12px;
}

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* セクションバー */
.pt_sss_shohinList_sectionBar {
    text-align: center;
    padding: 15px 0 !important;
}

.pt_sss_shohinList_sectionBar_space {
    display: flex;
    justify-content: center;
    padding-top: 5px !important;
}

.pt_sss_shohinList_sectionBar_GRN {
    width: 96px !important;
    height: 4px !important;
    border-radius: 4px;
    background-color: #009983;
}

.pt_sss_shohinList_sectionBar_YEL {
    width: 36px !important;
    height: 100% !important;
    border-radius: 4px;
    background-color: #FABF00;
}


.pt_sss_shohinList_sectionBar_typo {
    font-size: 20px;
    font-weight: 700;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    line-height: 20px;
}

/* おすすめ商品 */
.pt_sss_recommendList {
    padding-bottom: 30px !important;
    margin-top: 15px !important;
    background-color: #F2FAF9;
}

.pt_sss_recommend_table {
    position: relative;
}

/* 商品リスト テーブル */
.pt_sss_shohinList_table {
    width: calc(100% - 60px) !important;
    margin: 15px auto 0 !important;
    border-spacing: 0;
    border-radius: 0;
    box-shadow: none;
    background-color: #FFFFFF;
    border-collapse: separate !important;
}

.pt_sss_shohinList_content:last-of-type .pt_sss_shohinList_description {
    padding-left: 30px !important;
    padding-right: 30px !important;
    padding-bottom: 15px !important;
}


/* 商品リスト コンテンツ行 */
/* 商品リスト 商品ごとの見出し */
.pt_sss_shohinList_caption {
    display: table-cell;
    height: 1px;
    width: 280px;
    border: 1px solid #CCCCCC;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom: 1px solid #CCCCCC;
}

.pt_sss_shohinList_content td+td {
        border-left: none;
}

.pt_sss_shohinList_caption_flex {
    display: flex;
    align-items: center;
    height: 100%;
}

.pt_sss_shohinList_caption_logo {
    width: 150px !important;
    flex-grow: 1;
    text-align: center;
    order: 2;
    padding: 15px 10px !important;
    /* ロゴ画像を画面中央にするためチェックボックス領域分padding */
}

.pt_sss_shohinList_caption_logo_typo {
    font-size: 16px;
    font-weight: 700;
    text-align: left;
    margin-bottom: 0 !important;
}

.pt_sss_shohinList_caption_chkBox input {
    scale: 1.5;
    margin-top: 0px  !important;
}

.pt_sss_shohinList_caption_logo img {
    width: 100%;
    max-width: 180px;
}

.pt_sss_shohinList_caption_chkBox {
    flex-basis: 60px;
    order: 1;
    border-right: 1px solid #CCCCCC;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-align: center;
    height: 100%;
}

.pt_sss_recommend_table .pt_sss_shohinList_caption_logo_typo {
    padding-top: 5px  !important;
}

/* 商品リスト 商品説明 */ 
.pt_sss_shohinList_description {
    display: table-cell;
    border-top: 1px solid #CCCCCC;
    padding: 0 15px 10px;
    border-left: 1px solid #CCCCCC;
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    vertical-align:top;
}

.pt_sss_shohinList_description_typo {
    font-size: 16px;
    line-height: 1.6em;
    text-align: center;
}

.pt_sss_shohinList_table:last-child .pt_sss_shohinList_description:last-child {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.pt_sss_shohinList_content:last-of-type .pt_sss_shohinList_description {
    padding-top: 15px;
}

/* 人気商品表示 */
.pt_sss_notify {
    background-color: #CCECE9;
    border-radius: 5px;
    margin-bottom: 5px;
    margin-top: 0px !important;
}

.pt_sss_notify_typo {
    font-size: 16px;
    line-height: 1.4em;
    font-weight: 700;
    color: #008370;
    text-align: center;
    padding-top: 5px !important;
    margin-bottom: 0px !important;
    text-align: center;
}

.pt_sss_notify_now {
    font-size: 12px;
    line-height: 1.3em;
    color: #008370;
    text-align: center;
    padding-bottom: 5px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.listnotify {
    margin: 0 auto;
    width:289px;
}

/* メイン フッター */
/* 製造情報 */
#contents .borderBox {
  margin-bottom: 10px;
}

.pt_sc_footer_produceInfo {
  font-size: 16px;
  font-weight: bold;
  padding-left: 12px;
  padding-bottom: 8px;
  padding-top:12px;
  margin-bottom: 25px;
  border-bottom: 2px solid #00A08E;
  width: 674px;
}

.pt_sc_footer_produceInfo_PC {
  display: block;
}

.pt_sc_footer_produceInfo_SP {
  display: none;
}

.pt_sss_notify_typo_limit{
    padding-bottom:5px !important;
}

.pt_sss_shohinList_description_img {
    margin-top: 15px;
    text-align: center;
    display: flex;
    justify-content: center;
}

/* アイコン関連 */
.pt_sss_icon {
    width: 50px !important;
}

.pt_sss_icon div {
    width: 40px !important;
    height: 40px !important;
    border-radius: 8px !important;
    margin: 0 auto !important;
}

.pt_sss_icon+.pt_sss_icon {
    padding-left: 4px !important;
}

.pt_sss_svg {
    display: block !important;
    width: 40px !important;
    height: 40px !important;
}

.pt_sss_icon_Typo {
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.4em !important;
    text-align: center !important;
    padding-top: 4px !important;
}

.pt_sss_icon_illness {
    background-color: #EC737A;
}

.pt_sss_icon_illness+p {
    color: #EC737A;
}

.pt_sss_icon_disease {
    background-color: #EE802C;
}

.pt_sss_icon_disease+p {
    color: #EE802C;
}

.pt_sss_icon_disablement {
    background-color: #70BB48;
}

.pt_sss_icon_disablement+p {
    color: #70BB48;
}

.pt_sss_icon_incase {
    background-color: #0599D9;
}

.pt_sss_icon_incase+p {
    color: #0599D9;
}

.pt_sss_icon_saving {
    background-color: #5F61A9;
}

.pt_sss_icon_saving+p {
    color: #5F61A9;
}

.pt_sss_icon_other {
    background-color: #CD9989;
}

.pt_sss_icon_other+p {
    color: #CD9989;
}

.pt_sss_disabled div {
    background-color: #D5D5D5;
}

.pt_sss_disabled p {
    color: #D5D5D5;
}

/*ブック説明文*/
.book{
    font-size:16px;
    text-align: center !important;
}
.book p{
    line-height:25.6px !important;
}
/*説明文*/
.hsort{
    font-size:16px;
    font-weight:700;
}
.posr td:nth-child(3){
    vertical-align:initial;
}
.posr td:nth-child(3) p:first-child{
    font-size: 16px;
    text-align: center;
}

/* 商品選択 商品一覧 */
.pt_sss_shohinList_categoryBar {
    position: relative;
    background-color: #F2FAF9;
    border: 1px solid #00A08E;
    border-left: 10px solid #00A08E;
    border-right: 1px solid #00A08E;
    padding: 5px;
}

.pt_sss_shohinList_categoryBar_typo {
    font-size: 20px;
    line-height: 1.6em;
    font-weight: 700;
}

.pt_sss_shohinList_categoryBar svg {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 70%;
    width: auto;
}

/* ダイアログ 製造情報 */
/* 「入力画面に進む」ボタン */
.pt_sss_submit_button {
    display: flex;
    justify-content: center;
    width: 280px;
    margin: 10px auto 5px auto;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6em;
    color: #FFFFFF !important;
    padding-top: 5px;
    padding-bottom: 5px;
    border: 2px solid #ff9000;
    border-radius: 5px;
    background: -moz-linear-gradient(bottom, #ff8f00, #ffc700);
    background: -webkit-linear-gradient(bottom, #ff8f00, #ffc700);
    background: linear-gradient(to top, #ff8f00, #ffc700);
    box-shadow: 0px 5px 5px 0px rgb(0 0 0 / 25%);
    border-radius: 7px;
    text-decoration:none;
}

.pt_sss_submit_button:hover{
    color: #FFFFFF;
}

.pt_sss_submit_button_arw {
    position: relative;
}


.pt_sss_submit_button {
    width: 240px;
    font-size: 14px;
    font-weight: 400;
    border: 1px solid #ff9000;
    border-radius: 25px;
}

.pt_sss_submit_button_arw:before {
    content: '';
    width: 16px;
    height: 16px;
    background: #FFFFFF;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 10px;
    margin-top: -9px;
}

.pt_sss_submit_button_arw:after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #ff8f00;
    position: absolute;
    top: 48%;
    left: 16px;
    margin-top: -4px;
    -webkit-transform: rotate(0);
    transform: rotate(0);
}

/* 商品リスト */
.pt_sss_filter_updating {
    animation: filtering 0.4s;
}

@keyframes filtering {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 0.2;
    }

    70% {
        opacity: 0.4;
    }

    100% {
        opacity: 1;
    }
}

/* 保険種類絞り込み */
.pt_sss_purpose_caption {
    display: flex;
    align-items: center;
    justify-content: center;
}

.pt_sss_purpose_caption_typo {
    padding: 0 10px 10px;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 700;
    color: #00A08E;
}

.pt_sss_purpose_caption_typo span {
    display: inline;
}

/* 絞込タブ */
.pt_sss_tab {
    width: calc(100% - 80px) !important;
    position: relative;
    flex-basis: 50%;
    padding: 10px !important;
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    box-shadow: 0 2px 4px #CCCCCC;
    margin: 0 auto 10px !important;
}

.pt_sss_purpose_frame_row {
    display: flex;
    align-items: center;
    justify-content: center;
}

.pt_sss_tab_circle {
    width: 64px;
    height: 64px;
    border-radius: 5px;
    filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.1));
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    flex-shrink: 0;
}

.pt_sss_tab_noClick .pt_sss_tab_circle {
    background-color: #D5D5D5;
    border: solid 2px #D5D5D5;
    filter: none;
}

.pt_sss_purpose_explain {
    padding-left: 10px !important;
    flex-grow: 1;
}

.pt_sss_purpose_explain_typo {
    font-size: 12px;
    line-height: 1.3em;
    color: #707070;
    padding-top: 5px;
}

.pt_sss_purpose_explain_typo span {
    display: inline;
}

.pt_sss_purpose_tab_typo {
    font-size: 12px;
    line-height: 1.3em;
    font-weight: 700;
}

.pt_sss_shohinList_nonDispFlg {
    display: none !important;
}

a {
  text-decoration: none;
  color: #000000 !important;
}

/* link01 SVGのサイズ指定 */
.pt_sss_tab_icon {
    display: block;
    width: 64px;
    height: 64px;
}

/* link01 アイコン単位の設定 */
.pt_sss_tab_illness {
    background-color: #EC737A;
    border: solid 2px #EC737A;
}

.pt_sss_tab_disease {
    background-color: #EE802C;
    border: solid 2px #EE802C;
}

.pt_sss_tab_disablement {
    background-color: #70BB48;
    border: solid 2px #70BB48;
}

.pt_sss_tab_incase {
    background-color: #0599D9;
    border: solid 2px #0599D9;
}

.pt_sss_tab_saving {
    background-color: #5F61A9;
    border: solid 2px #5F61A9;
}

.pt_sss_tab_other {
    background-color: #CD9989;
    border: solid 2px #CD9989;
}



/* 商品リスト（ロゴなし） */
.pt_sss_shohinList_noLogo {
    width: calc(100% - 60px);
    margin: 15px auto 0;
}

.pt_sss_shohinList_noLogo_shohin {
    display: flex;
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    box-shadow: 0 2px 4px #CCCCCC;
}

.pt_sss_shohinList_noLogo_shohin+.pt_sss_shohinList_noLogo_shohin {
    margin-top: 15px;
}

.pt_sss_shohinList_noLogo_chkBox {
    flex-basis: 50px;
    flex-shrink: 0;
    text-align: center;
    padding: 10px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pt_sss_shohinList_noLogo_chkBox input {
    scale: 1.5;
}

.pt_sss_shohinList_noLogo_name {
    flex-grow: 1;
    padding: 15px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pt_sss_shohinList_noLogo_name .pt_sss_shohinList_description_typo {
    padding: 5px 0;
}

.pt_sss_shohinList_noLogo_shohin {
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.pt_sss_shohinList_noLogo_shohin+.pt_sss_shohinList_noLogo_shohin {
    margin-top: 0;
}

.pt_sss_shohinList_noLogo_content {
    display: flex;
    border: 1px solid #CCCCCC;
}

.pt_sss_shohinList_noLogo_shohin {
    flex: 1;
}

.pt_sss_shohinList_noLogo_shohin+.pt_sss_shohinList_noLogo_shohin {
    border-left: 1px solid #CCCCCC;
}

.pt_sss_shohinList_noLogo_name {
    order: 2;
    text-align: left;
}

.pt_sss_shohinList_noLogo_chkBox {
    flex-basis: 60px;
    order: 1;
    border-right: 1px solid #CCCCCC;
}

.pt_sss_shohinList_noLogo_name {
    text-align: left;
}

.pt_sss_shohinList_noLogo_name .pt_sss_shohinList_description_typo {
    padding: 5px 10px;
}

.pt_sss_icon_Typo{
    margin:0px 0px 0px !important;
}

.description_typo{
    font-size:16px !important;
    line-height: 24px;
}

.pt_sss_shohinList_content:not(:last-of-type) .pt_sss_shohinList_description {
    padding-top: 15px;
}

.pt_sss_shohinList_description_caption_typo {
    font-size: 16px;
    font-weight: 700;
}

.pt_sss_privacyPolicy{
    font-size: 16px;
}

.pt_sss_privacyPolicy a{
    text-decoration:underline;
}

#contents .borderBox{
    margin:0 10px;
}

#contents ul.list{
    padding:0 15px 16px 10px; 
}

#contents ul.list li{
    width:621px;
}

.mt20{
    margin-top:0px !important;
}

table{
    border-collapse:unset !important;
}

.pt_sss_shohinList_description_border {
        border-bottom: none;
    }
.pt_sss_shohinList_content:not(:first-of-type) .pt_sss_shohinList_description {
        border-top: none !important;
    }
.pt_sss_shohinList_content td+td {
        border-left: none;
    }

.pt_sss_shohinList_content:not(:first-of-type) .pt_sss_shohinList_caption {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

html body#multi .pt_dp_sss_shohinList {
    padding-bottom: 15px;
}

.pt_dp_sss_subText {
    padding-bottom: 16px;
}

.pt_dp_sss_dgtlText {
    padding: 10px 0;
    display: none;
}

.pt_dp_sss_borderCont {
    display: flex;
}

.pt_dp_sss_shohinList_description_caption_typo {
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
}

.pt_dp_sss_shohinList_description_typo {
    font-size: 14px;
    line-height: 21px;
    text-align: center;
    padding-top: 4px;
}

.pt_dp_sss_typeListCont {
    order: 2;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: left;
    padding: 34px 0 33px;
}

.pt_dp_sss_typeList_shohin {
    display: flex;
}

.pt_dp_sss_typeList_shohin+.pt_dp_sss_typeList_shohin {
    margin-top: 15px;
}

.pt_dp_sss_typeList_shohin+.pt_dp_sss_typeList_shohin {
    margin-top: 0;
}

.pt_dp_sss_typeList_shohin {
    flex: 1;
}
 
/* パンフレット選択時border・背景色カラー */
.pt_dp_sss_typeList_paper_boder {
    border: 1px solid #CCCCCC;
}

.pt_dp_sss_typeList_dgtl_boder {
    border: 1px solid #CCCCCC;
}

.pt_dp_sss_typeList_boder {
    border: 1px solid #008673;
    background-color: #F2FAF9;
}

.pt_dp_sss_typeList_boderColor {
    border-right: 1px solid #008673;
}

/* フォントカラー変更 */
.pt_dp_sss_typeList_fontColor {
    color: #008673;
}

.pt_sss_typeList_noneFlg {
    display: none;
}
