@charset "utf-8";

/*----------------------------------------------------------
▼ common
----------------------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
    font-size: 16px;
}

body {
    color: #333333;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, Verdana, sans-serif;
    font-size: 0.94rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    width: 100%;
}

h1,h2,h3,h4,h5,h6 {
    letter-spacing: 0;
}

.barlow {
    font-family: 'Barlow Condensed', sans-serif;
}

a {
    color: #333333;
    text-decoration: none;
}

.clearFix:after {
    content: "";
    clear: both;
    display: block;
    height: 0;
    max-height: 0;
    visibility: hidden;
}

.center {
    text-align: center!important;
}

.right {
    text-align: right!important;
}

.left {
    text-align: left!important;
}

.super {
    vertical-align: super;
    font-size: 12px
}
.super.txt-10 {
    font-size: 10px
}

/*---------- outline ----------*/
.container {
    margin: 0 auto;
    overflow: hidden;
}

.wrapper {
    max-width: 990px;
    width: 100%;
    margin: 0 auto;
}

/* PC */
@media (min-width: 768px) {
    .pcOnly {
        display: block;
    }
    /*tableタグの場合block指定するとレスポンシブにならないため追加*/
    table.pcOnly {
        display: table;
    }
    .spOnly {
        display: none;
    }
    .br_pc {
        display: inline;
    }
    .br_sp {
        display: none;
    }
    .br_pc_noTab {
        display: inline;
    }
    .br_noTab {
        display: inline;
    }
}

/* TAB */
@media screen and (max-width: 990px) and (min-width: 768px) {
    .wrapper {
        width: auto;
        margin: 0;
        padding: 0 15px;
    }
    .br_pc_noTab {
        display: none;
    }
    .br_noTab {
        display: none;
    }
}

/* SP */
@media (max-width: 767px) {
    .container {
        width: 100%;
        min-width: 320px;
    }

    .wrapper {
        width: auto;
        margin: 0;
        padding: 0 15px;
    }
    .wid500 {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }
    .spOnly {
        display: block;
    }
    /*tableタグの場合block指定するとレスポンシブにならないため追加*/
    table.spOnly {
        display: table;
    }
    .pcOnly {
        display: none;
    }
    .br_sp {
        display: inline;
    }
    .br_pc {
        display: none;
    }
    .br_pc_noTab {
        display: none;
    }
    .br_noTab {
        display: inline;
    }
}
/*---------- width ----------*/
.wid500 {
    max-width: 560px;
    margin: auto !important;
    padding-top: 60px ;
    padding-bottom: 60px;
}
/*---------- padding ----------*/
.pb0 {
    padding-bottom: 0 !important;
}
.pt0 {
    padding-top: 0 !important;
}
.pb30{
    padding-bottom: 30px !important;
}
/*---------- margin ----------*/
.ml0 {
    margin-left: 0 !important;
}
.ml5 {
    margin-left: 5px !important;
}
.ml10 {
    margin-left: 10px !important;
}
.ml20 {
    margin-left: 20px !important;
}
.mb0 {
    margin-bottom: 0 !important;
}
.mb5 {
    margin-bottom: 5px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb15 {
    margin-bottom: 15px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}
.mt0 {
    margin-top: 0 !important;
}
.mt5 {
    margin-top: 5px !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt15 {
    margin-top: 15px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.mt50 {
    margin-top: 50px !important;
}

/*---------- font ----------*/
.bold {
    font-weight: 700 !important;
}
.nomal, .normal {
    font-weight: normal !important;
}
.ls0 {
    letter-spacing: 0;
}
.fonXXXL {
    font-weight: bold;
    font-size: 32px;
    line-height: 125%;
}
.fonXXL {
    font-weight: bold;
    font-size: 28px;
    line-height: 125%;
}
.fonXL {
    font-weight: bold;
    font-size: 24px;
    line-height: 125%;
}
.fonL {
    font-size: 18px;
    line-height: 125%;
}
.fonM150 {
    font-size: 16px;
    line-height: 150%;
}
.fonM125 {
    font-size: 16px;
    line-height: 125%;
}
.fonS {
    font-size: 15px;
    line-height: 125%;
}
.fonXS150 {
    font-size: 14px;
    line-height: 150%;
}
.fonXS125 {
    font-size: 14px;
    line-height: 125%;
}
.fonXXS {
    font-size: 12px;
    line-height: 150%;
}
.fon12 {
    font-size: 12px !important;
}
.fon14 {
    font-size: 14px;
}
/*---------- line-height ----------*/
.lin200 {
    line-height: 200%;
}
/* PC */
@media (min-width: 768px) {
    .fon14 {
        vertical-align: 1px;
    }
}

/*---------- font-color ----------*/
.primary {
    color: #FF4433 !important;
}
.link {
    color: #008AFF;
}
.link:visited {
    color: #008AFF;
}
.link:hover {
    text-decoration: underline;
}
.alert {
    color: #FF0000;
}
.black {
    color: #000000;
}
.black333 {
    color: #333333;
}
.weak {
    color: #555555;
}
.gray666 {
    color: #666666 !important;
}

/* product */
.pink_iryo {
    color: #FF6978;
}
.orange_ichijikin {
    color: #FF8C39;
}
.blue_kanwaichijikin {
    color: #33BFD1;
}
.purple_kanwa {
    color: #BA8DBE;
}
.green_teiki {
    color: #00B19C;
}
.sky_shunyuhoshou {
    color: #7ECEF4;
}
.pinkBG_iryo {
    background-color: #FFFAFA ;
}
.orangeBG_ichijikin {
    background-color: #FFFBF7;
}
.blueBG_kanwaichijikin {
    background-color: #F5FCFC;
}
.purpleBG_kanwa {
    background-color: #FCFAFC;
}
.greenBG_teiki {
    background-color: #F5FFFE;
}
.skyBG_shunyuhoshou {
    background-color: #F7FBFC;
}
.purpleBG_shunyuhoshou {
    background-color: #FCFAFC;
}
/*---------- border ----------*/
.borderA {
    border-top: 1px solid #AAAAAA;
}
.borderC {
    border-top: 1px solid #cccccc;
}
.borderPmen {
    border: 1px solid #0074AD !important;
}
.borderPmenB {
    border: 1px solid #8C6A8F !important;
}
/*---------- title ----------*/
.titleL {
    color: #000000;
    font-style: normal;
    font-weight: 500;
    font-size: 34px;
    line-height: 140%;
    text-align: center;
    padding-bottom: 30px;
    border-bottom: 1px solid #ccc;
    position: relative;
}
.titleL::before {
    position: absolute;
    content: "";
    background: url(/img/direct/common/lin_title.png) no-repeat;
    width: 140px;
    height: 4px;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    z-index: 1;
    letter-spacing: 0;
}

.titleM {
    font-weight: bold;
    font-size: 28px;
    line-height: 125%;
    padding: 10px 20px;
    background-color: #f7f7f7;
    border-left: 5px solid #cccccc;
    letter-spacing: 0;
}
.titleS {
    font-weight: bold;
    font-size: 24px;
    line-height: 125%;
    padding-bottom: 10px;
    border-bottom: 2px solid #cccccc;
    position: relative;
    letter-spacing: 0;
}
.titleS::before {
    position: absolute;
    content: '';
    bottom: -2px;
    left:0%;
    width: 20%;
    height: inherit;
    border-bottom: 2px solid #FF4433;
}
.titleBig {
    font-weight: bold;
    font-size: 28px;
    line-height: 125%;
    padding: 10px 20px;
    border-left: 5px solid #FF4433;
    letter-spacing: 0;
}

/* sp */
@media (max-width: 767px) {
    .titleL {
        font-size: 25px;
        padding-bottom: 20px;
    }
    .titleM {
        font-size: 18px;
        padding: 15px;
    }
    .titleS {
        font-size: 16px;
        padding-bottom: 5px;
    }
    .titleS::before {
        width: 26%;
    }
    .titleBig {
        font-size: 18px;
        padding: 15px;
    }
}

/*---------- page nav ----------*/
.pageNav p {
    margin: 23px auto 20px;
    text-align: center;
    font-size: 16px;
}

.pageNav ul {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
    width: 100%;
}
.pageNav ul li {
    margin-right: 30px;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}
.pageNav ul li:last-of-type {
    margin-right: 0;
}
.pageNav ul li a {
    display: block;
    width: 355px;
    border: 1px solid #AAAAAA;
    border-radius: 10px;
    padding: 7px 10px 10px;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
}
.pageNav ul li a:hover {
    padding: 6px 9px 9px;
}
.pageNav ul li a::after {
    position: absolute;
    content: "";
    display: inline-block;
    background-size: contain;
    width: 18px;
    height: 18px;
    top: 18px;
    right: 19px;
}
.pageNav ul li a.iryo:hover {
    border: 2px solid #F19956;
}
.pageNav ul li a.iryo::after {
    background: url(/img/direct/common/ico_arrow02_all_iryo.svg) no-repeat;
}
.pageNav ul li a.shibo:hover {
    border: 2px solid #ACCB29;
}
.pageNav ul li a.shibo::after {
    background: url(/img/direct/common/ico_arrow02_all_shibo.svg) no-repeat;
}

/* Tab */
@media (max-width: 990px) {
    .pageNav ul li a {
        width: 350px;
        padding: 12px 33px 14px 10px;
        font-size: 16px;
    }
}

/* sp */
@media (max-width: 767px) {
    .pageNav p {
        font-size: 14px;
    }
    .pageNav ul {
        margin-bottom: 15px;
    }
    .pageNav ul li {
        margin-right: 15px;
    }
    .pageNav ul li a {
        width: 165px;
        padding: 12px 33px 14px 10px;
        font-size: 18px;
    }
    .pageNav ul li a:hover {
        padding: 11px 32px 13px 9px;
    }
    .pageNav ul li a::after {
        top: 18.5px;
    }
}

/* sp 320*/
@media (max-width: 320px) {
    .pageNav ul li {
        margin-right: 4px;
    }
    .pageNav ul li a {
        width: 156px;
        font-size: 15px;
    }
}

/*---------- icon ----------*/
.icon-new {
    font-family: Barlow Condensed;
    font-style: normal;
    font-weight: bold;
    font-size: 20px;
    line-height: 100%;
    padding: 5px 10px;
    border: 1px solid #FABE00;
    background: #FABE00;
}

/* sp */
@media (max-width: 767px) {
    .icon-new {
        padding: 5px 5px;
        font-size: 15px;
        line-height: 100%;
    }
}

/*---------- card ----------*/
.card {
    background: #FFFFFF;
    border: 1px solid #CCCCCC;
    box-sizing: border-box;
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
}

/*---------- display ----------*/
/*tableタグの場合block指定するとレスポンシブにならないため追加*/
table.disp-table {
    display: table;
}