@charset "UTF-8";
/* CSS Document */
/*------------------------------------------------------------
fontcolor
--------------------------------------------------------------*/
.fo-thm, .fo-thm *, .fo-thm:hover {
    color: #2D8888;
}
.fo-white, .fo-white *, .fo-white:hover {
    color: #FFFFFF;
}
.fo-gray, .fo-gray *, .fo-gray:hover {
    color: #888888;
}
.fo-black, .fo-black *, .fo-black:hover {
    color: #333333;
}
.fo-yellow, .fo-yellow *, .fo-yellow:hover {
    color: #fccd40;
}
.fo-red, .fo-red *, .fo-red:hover {
    color: #FF0004;
}
.fo-green, .fo-green *, .fo-green:hover {
    color: #71b842;
}
.fo-blue, .fo-blue *, .fo-blue:hover {
    color: #4759FF;
}
.fo-pink, .fo-pink *, .fo-pink:hover {
    color: #E88C80;
}
.fo-orange, .fo-orange *, .fo-orange:hover {
    color: #f7b52e;
}
.fo-brown, .fo-brown *, .fo-brown:hover {
    color: #725a41;
}
/*------------------------------------------------------------
backcolor
--------------------------------------------------------------*/
.back-thm {
    background-color: #2D8888 !important;
}
.back-white {
    background-color: #FFFFFF !important;
}
.back-gray {
    background-color: #888888 !important;
}
.back-black {
    background-color: #333333 !important;
}
.back-yellow {
    background-color: #fccd40 !important;
}
.back-red {
    background-color: #FF0004 !important;
}
.back-green {
    background-color: #71b842 !important;
}
.back-blue {
    background-color: #4759FF !important;
}
.back-pink {
    background-color: #f48981 !important;
}
.back-orange {
    background-color: #f7b52e !important;
}
.back-brown {
    background-color: #725a41 !important;
}
.back-cream {
    background: #eef2f5;
}
.back-img01 {
    background: url("../images/shared/bg01.jpg");
}
.back-img02 {
    background: url("../images/shared/bg02.jpg");
}
.back-img03 {
    background: url("../images/shared/bg03.jpg");
}
/*------------------------------------------------------------
webfont
--------------------------------------------------------------*/
.font01 {
    font-family: "FOT-筑紫A丸ゴシック Std D";
    letter-spacing: 0.05em;
    line-height: 1.75em;
}
.font02 {
    font-family: "Red Hat Text", sans-serif;
}
/*------------------------------------------------------------
border
--------------------------------------------------------------*/
.full-border {
    border: solid 1px #2D8888;
}
.top-border {
    border-top: solid 2px #2D8888;
}
.right-border {
    border-right: solid 1px #2D8888;
}
.bottom-border {
    border-bottom: solid 4px #2D8888;
}
.left-border {
    border-left: solid 1px #2D8888;
}
/*------------------------------------------------------------
hr
--------------------------------------------------------------*/
hr {
    border-bottom: #2D8888 1px solid;
}
hr.dot {
    border-bottom: #2D8888 4px dotted;
}
hr.gray {
    border-bottom: #dddddd 1px solid;
}
.no-link {
    pointer-events: none;
}
/*------------------------------------------------------------
category-list-area
--------------------------------------------------------------*/
.category-list-area {
    background: #F0F0F0;
    border-radius: 3px;
    padding: 25px;
    margin: 0 0 100px;
}
.category-list-area > select {
    outline: none;
    text-indent: 0.01px;
    text-overflow: '';
    background: #fff;
    border-radius: 3px;
    vertical-align: middle;
    height: 40px;
    padding: 8px 12px;
    border: 1px solid #ddd;
    color: #828c9a;
    width: 100%;
}
@media only screen and (max-width: 800px) {
    .category-list-area {
        background: #F0F0F0;
        border-radius: 3px;
        padding: 25px;
        margin: 0 0 40px;
    }
}
/*------------------------------------------------------------
frexbox
--------------------------------------------------------------*/
.flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.flexbetween {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.flexaround {
    -ms-flex-pack: distribute;
    justify-content: space-around;
}
.flexcenter {
    justify-content: center;
}
.flexcend {
    justify-content: flex-end;
}
.flextop {
    align-items: flex-start;
}
.flexmid {
    align-items: center;
}
.flexbtm {
    align-items: flex-end;
}
.flexboxwrap {
    flex-wrap: wrap;
}
.flexwndright > :last-child {
    margin-left: auto;
}
.flexbtmend {
    margin-top: auto;
    display: flex;
}
.flexone {
    flex: 1;
}
.flexbox_hol10 > * + * {
    margin-left: 10px;
}
.flexbox_hol20 > * + * {
    margin-left: 20px;
}
.flexbox_hol30 > * + * {
    margin-left: 30px;
}
.flexbox_hol40 > * + * {
    margin-left: 40px;
}
.flexbox_hol60 > * + * {
    margin-left: 60px;
}
.flexbox_hol80 > * + * {
    margin-left: 80px;
}
@media only screen and (max-width: 800px) {
    .flexbox.flex_sp, .flexbtmend.flex_sp {
        display: block;
    }
    .flexbox_hol20.flex_sp > * + *, .flexbox_hol30.flex_sp > * + *, .flexbox_hol40.flex_sp > * + *, .flexbox_hol60.flex_sp > * + *, .flexbox_hol80.flex_sp > * + * {
        margin-left: 0;
        margin-top: 20px;
    }
    .flexcenter_s {
        justify-content: center;
    }
}
/*------------------------------------------------------------
marker
--------------------------------------------------------------*/
.marker {
    background: linear-gradient(transparent 60%, #E1F0F0 60%);
    padding-bottom: 0.2em;
}
/*------------------------------------------------------------
ilb
--------------------------------------------------------------*/
.ilb {
    display: inline-block;
    vertical-align: top;
}
.ilbmid05 > li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}
.ilbmid10 > li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}
.ilbmid20 > li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
}
.ilbmid30 > li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 30px;
}
.ilbmid40 > li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 40px;
}
.ilbmid60 > li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 60px;
}
.ilbmid05 li:last-child, .ilbmid10 li:last-child, .ilbmid20 li:last-child, .ilbmid30 li:last-child, .ilbmid40 li:last-child, .ilbmid60 li:last-child {
    margin-right: 0;
}
.ilbmid05.ilbbm00 > li, .ilbmid10.ilbbm00 > li, .ilbmid20.ilbbm00 > li, .ilbmid30.ilbbm00 > li, .ilbmid40.ilbbm00 > li, .ilbmid60.ilbbm00 > li {
    margin-bottom: 0;
}
.ilbmid05.ilbbm05 > li, .ilbmid10.ilbbm05 > li, .ilbmid20.ilbbm05 > li, .ilbmid30.ilbbm05 > li, .ilbmid40.ilbbm05 > li, .ilbmid60.ilbbm05 > li {
    margin-bottom: 5px;
}
.ilbmid05.ilbbm10 > li, .ilbmid10.ilbbm10 > li, .ilbmid20.ilbbm10 > li, .ilbmid30.ilbbm10 > li, .ilbmid40.ilbbm10 > li, .ilbmid60.ilbbm10 > li {
    margin-bottom: 10px;
}
.ilbmid05.ilbbm20 > li, .ilbmid10.ilbbm20 > li, .ilbmid20.ilbbm20 > li, .ilbmid30.ilbbm20 > li, .ilbmid40.ilbbm20 > li, .ilbmid60.ilbbm20 > li {
    margin-bottom: 20px;
}
.ilbtop > li {
    vertical-align: top !important;
}
.ilbbtm > li {
    vertical-align: bottom !important;
}
@media only screen and (max-width: 800px) {
    .ilbmid05 > li, .ilbmid10 > li, .ilbmid20 > li, .ilbmid30 > li, .ilbmid40 > li, .ilbmid60 > li {
        display: block;
        margin-right: 0;
        margin-bottom: 20px;
    }
    .ilbmid05 li:last-child, .ilbmid10 li:last-child, .ilbmid20 li:last-child, .ilbmid30 li:last-child, .ilbmid40 li:last-child, .ilbmid60 li:last-child {
        margin-bottom: 0;
    }
    .ilbmid05.nobr > li, .ilbmid10.nobr > li, .ilbmid20.nobr > li, .ilbmid30.nobr > li, .ilbmid40.nobr > li, .ilbmid60.nobr > li {
        margin-right: 10px;
        display: inline-block;
        margin-bottom: 10px;
    }
}
/*------------------------------------------------------------
rad
--------------------------------------------------------------*/
.rad07 {
    border-radius: 7px;
    overflow: hidden;
}
.rad10 {
    border-radius: 10px;
    overflow: hidden;
}
.rad50 {
    border-radius: 1em;
    overflow: hidden;
}
/*------------------------------------------------------------
dropshadow
--------------------------------------------------------------*/
.ds {
    -webkit-filter: drop-shadow(0px 3px 10px rgba(210, 210, 210, .8));
    filter: drop-shadow(0px 0px 10px rgba(210, 210, 210, .8));
    will-change: filter /* or transform */
}
/*------------------------------------------------------------
box
--------------------------------------------------------------*/
.box-05_10 {
    padding: 5px 10px;
}
.box-05_20 {
    padding: 5px 20px;
}
.box-20 {
    padding: 20px;
}
.box-20_15 {
    padding: 20px 15px;
}
.box-20_30 {
    padding: 20px 30px;
}
.box-20_40 {
    padding: 20px 40px;
}
.box-30 {
    padding: 30px;
}
.box-30_40 {
    padding: 30px 40px;
}
.box-30_50 {
    padding: 30px 50px;
}
.box-30_60 {
    padding: 30px 60px;
}
.box-40 {
    padding: 40px;
}
.box-40_50 {
    padding: 40px 50px;
}
.box-40_60 {
    padding: 40px 60px;
}
.box-40_70 {
    padding: 40px 70px;
}
.box-50 {
    padding: 50px;
}
.box-50_60 {
    padding: 50px 60px;
}
.box-50_70 {
    padding: 50px 70px;
}
.box-60 {
    padding: 60px 60px;
}
.box-60_80 {
    padding: 60px 80px;
}
.box-60_90 {
    padding: 60px 90px;
}
.box-60_100 {
    padding: 60px 100px;
}
@media only screen and (max-width: 800px) {
    .box-20_30, .box-20_40, .box-30, .box-30_40, .box-30_50, .box-30_60, .box-40, .box-40_50, .box-40_60, .box-40_70, .box-50, .box-50_60, .box-50_70, .box-60, .box-60_80, .box-60_90, .box-60_100 {
        padding: 20px;
    }
}
/*------------------------------------------------------------
chunk
--------------------------------------------------------------*/
.chunktop_120-40 {
    padding-top: 120px !important;
}
.chunktop_80-40 {
    padding-top: 80px !important;
}
.chunktop_60-30 {
    padding-top: 60px !important;
}
.chunktop_40-20 {
    padding-top: 40px !important;
}
.chunkpad_60-30 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
@media only screen and (max-width: 800px) {
    .chunktop_120-40 {
        padding-top: 40px !important;
    }
    .chunktop_80-40 {
        padding-top: 40px !important;
    }
    .chunktop_60-30 {
        padding-top: 30px !important;
    }
    .chunktop_40-20 {
        padding-top: 20px !important;
    }
    .chunkpad_60-30 {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }
}
.chunkbtm_120-40 {
    padding-bottom: 120px !important;
}
.chunkbtm_80-40 {
    padding-bottom: 80px !important;
}
.chunkbtm_60-30 {
    padding-bottom: 60px !important;
}
.chunkbtm_40-20 {
    padding-bottom: 40px !important;
}
@media only screen and (max-width: 800px) {
    .chunkbtm_120-40 {
        padding-bottom: 40px !important;
    }
    .chunkbtm_80-40 {
        padding-bottom: 40px !important;
    }
    .chunkbtm_60-30 {
        padding-bottom: 30px !important;
    }
    .chunkbtm_40-20 {
        padding-bottom: 20px !important;
    }
}
.chunk_80-40 {
    margin-bottom: 80px !important;
}
.chunk_60-30 {
    margin-bottom: 60px !important;
}
.chunk_40-20 {
    margin-bottom: 40px !important;
}
@media only screen and (max-width: 800px) {
    .chunk_80-40 {
        margin-bottom: 40px !important;
    }
    .chunk_60-30 {
        margin-bottom: 30px !important;
    }
    .chunk_40-20 {
        margin-bottom: 20px !important;
    }
}
/*------------------------------------------------------------
margin
--------------------------------------------------------------*/
.full-mg-00 {
    margin: 0 !important;
}
.full-mg-05 {
    margin: 5px !important;
}
.full-mg-10 {
    margin: 10px !important;
}
.full-mg-15 {
    margin: 15px !important;
}
.full-mg-20 {
    margin: 20px !important;
}
.full-mg-30 {
    margin: 30px !important;
}
.full-mg-40 {
    margin: 40px !important;
}
.top-mg-00 {
    margin-top: 0px !important;
}
.top-mg-05 {
    margin-top: 5px !important;
}
.top-mg-10 {
    margin-top: 10px !important;
}
.top-mg-15 {
    margin-top: 15px !important;
}
.top-mg-20 {
    margin-top: 20px !important;
}
.top-mg-30 {
    margin-top: 30px !important;
}
.top-mg-40 {
    margin-top: 40px !important;
}
.right-mg-00 {
    margin-right: 0 !important;
}
.right-mg-05 {
    margin-right: 5px !important;
}
.right-mg-10 {
    margin-right: 10px !important;
}
.right-mg-15 {
    margin-right: 15px !important;
}
.right-mg-20 {
    margin-right: 20px !important;
}
.right-mg-30 {
    margin-right: 30px !important;
}
.right-mg-40 {
    margin-right: 40px !important;
}
.bottom-mg-00 {
    margin-bottom: 0px !important;
}
.bottom-mg-05 {
    margin-bottom: 5px !important;
}
.bottom-mg-10 {
    margin-bottom: 10px !important;
}
.bottom-mg-15 {
    margin-bottom: 15px !important;
}
.bottom-mg-20 {
    margin-bottom: 20px !important;
}
.bottom-mg-30 {
    margin-bottom: 30px !important;
}
.bottom-mg-40 {
    margin-bottom: 40px !important;
}
.bottom-mg-60 {
    margin-bottom: 60px !important;
}
.bottom-mg-80 {
    margin-bottom: 80px !important;
}
.left-mg-00 {
    margin-left: 0 !important;
}
.left-mg-05 {
    margin-left: 5px !important;
}
.left-mg-10 {
    margin-left: 10px !important;
}
.left-mg-15 {
    margin-left: 15px !important;
}
.left-mg-20 {
    margin-left: 20px !important;
}
.left-mg-30 {
    margin-left: 30px !important;
}
.left-mg-40 {
    margin-left: 40px !important;
}
/*------------------------------------------------------------
padding
--------------------------------------------------------------*/
.full-pad-00 {
    padding: 0px !important;
}
.full-pad-05 {
    padding: 5px !important;
}
.full-pad-10 {
    padding: 10px !important;
}
.full-pad-15 {
    padding: 15px !important;
}
.full-pad-20 {
    padding: 20px !important;
}
.full-pad-30 {
    padding: 30px !important;
}
.full-pad-40 {
    padding: 40px !important;
}
.top-pad-00 {
    padding-top: 0 !important;
}
.top-pad-05 {
    padding-top: 5px !important;
}
.top-pad-10 {
    padding-top: 10px !important;
}
.top-pad-15 {
    padding-top: 15px !important;
}
.top-pad-20 {
    padding-top: 20px !important;
}
.top-pad-30 {
    padding-top: 30px !important;
}
.top-pad-40 {
    padding-top: 40px !important;
}
.top-pad-50 {
    padding-top: 50px !important;
}
.top-pad-60 {
    padding-top: 60px !important;
}
.right-pad-00 {
    padding-right: 0 !important;
}
.right-pad-05 {
    padding-right: 5px !important;
}
.right-pad-10 {
    padding-right: 10px !important;
}
.right-pad-15 {
    padding-right: 15px !important;
}
.right-pad-20 {
    padding-right: 20px !important;
}
.right-pad-30 {
    padding-right: 30px !important;
}
.right-pad-40 {
    padding-right: 40px !important;
}
.right-pad-50 {
    padding-right: 50px !important;
}
.right-pad-60 {
    padding-right: 60px !important;
}
.right-pad-80 {
    padding-right: 80px !important;
}
.bottom-pad-00 {
    padding-bottom: 0 !important;
}
.bottom-pad-05 {
    padding-bottom: 5px !important;
}
.bottom-pad-10 {
    padding-bottom: 10px !important;
}
.bottom-pad-15 {
    padding-bottom: 15px !important;
}
.bottom-pad-20 {
    padding-bottom: 20px !important;
}
.bottom-pad-30 {
    padding-bottom: 30px !important;
}
.bottom-pad-40 {
    padding-bottom: 40px !important;
}
.bottom-pad-60 {
    padding-bottom: 60px !important;
}
.left-pad-00 {
    padding-left: 0 !important;
}
.left-pad-05 {
    padding-left: 5px !important;
}
.left-pad-10 {
    padding-left: 10px !important;
}
.left-pad-15 {
    padding-left: 15px !important;
}
.left-pad-20 {
    padding-left: 20px !important;
}
.left-pad-30 {
    padding-left: 30px !important;
}
.left-pad-40 {
    padding-left: 40px !important;
}
.left-pad-50 {
    padding-left: 50px !important;
}
.left-pad-60 {
    padding-left: 60px !important;
}
.left-pad-80 {
    padding-left: 80px !important;
}
@media only screen and (max-width: 800px) {
    .pad_s_def {
        padding-right: 15px !important;
        padding-left: 15px !important;
    }
    .pad_s_def_top-pad-00 {
        padding-top: 0 !important;
    }
    .pad_s_def_top-pad-10 {
        padding-top: 10px !important;
    }
    .pad_s_def_top-pad-15 {
        padding-top: 15px !important;
    }
    .pad_s_def_top-pad-20 {
        padding-top: 20px !important;
    }
    .pad_s_def_top-pad-30 {
        padding-top: 30px !important;
    }
    .pad_s_def_top-pad-40 {
        padding-top: 40px !important;
    }
    .pad_s_def_top-pad-60 {
        padding-top: 60px !important;
    }
    .pad_s_def_bottom-pad-00 {
        padding-bottom: 0 !important;
    }
    .pad_s_def_bottom-pad-10 {
        padding-bottom: 10px !important;
    }
    .pad_s_def_bottom-pad-15 {
        padding-bottom: 15px !important;
    }
    .pad_s_def_bottom-pad-20 {
        padding-bottom: 20px !important;
    }
    .pad_s_def_bottom-pad-30 {
        padding-bottom: 30px !important;
    }
    .pad_s_def_bottom-pad-40 {
        padding-bottom: 40px !important;
    }
    .pad_s_def_bottom-pad-60 {
        padding-bottom: 60px !important;
    }
}
/*------------------------------------------------------------
font-size
--------------------------------------------------------------*/
.fo09 {
    font-size: 9px !important;
}
.fo10 {
    font-size: 10px !important;
}
.fo11 {
    font-size: 11px !important;
}
.fo12 {
    font-size: 12px !important;
}
.fo13 {
    font-size: 13px !important;
}
.fo14 {
    font-size: 14px !important;
}
.fo15 {
    font-size: 15px !important;
}
.fo16 {
    font-size: 16px !important;
}
.fo17 {
    font-size: 17px !important;
}
.fo18 {
    font-size: 18px !important;
}
.fo19 {
    font-size: 19px !important;
}
.fo20 {
    font-size: 20px !important;
}
.fo21 {
    font-size: 21px !important;
}
.fo22 {
    font-size: 22px !important;
}
.fo23 {
    font-size: 23px !important;
}
.fo24 {
    font-size: 24px !important;
}
.fo25 {
    font-size: 25px !important;
}
.fo26 {
    font-size: 26px !important;
}
.fo27 {
    font-size: 27px !important;
}
.fo28 {
    font-size: 28px !important;
}
.fo30 {
    font-size: 30px !important;
}
.fo32 {
    font-size: 32px !important;
}
.fo34 {
    font-size: 34px !important;
}
.fo36 {
    font-size: 36px !important;
}
.fo38 {
    font-size: 36px !important;
}
.fo40 {
    font-size: 40px !important;
}
.fo45 {
    font-size: 45px !important;
}
.fo48 {
    font-size: 48px !important;
}
.fo50 {
    font-size: 50px !important;
}
@media only screen and (max-width: 800px) {
    .fo19, .fo20, .fo21, .fo22 {
        font-size: 18px !important;
    }
    .fo23 {
        font-size: 18px !important;
    }
    .fo24 {
        font-size: 18px !important;
    }
    .fo25 {
        font-size: 21px !important;
    }
    .fo26 {
        font-size: 21px !important;
    }
    .fo27 {
        font-size: 21px !important;
    }
    .fo28 {
        font-size: 20px !important;
    }
    .fo30 {
        font-size: 22px !important;
    }
    .fo32 {
        font-size: 24px !important;
    }
    .fo34 {
        font-size: 24px !important;
    }
    .fo36 {
        font-size: 24px !important;
    }
    .fo38 {
        font-size: 25px !important;
    }
    .fo40 {
        font-size: 25px !important;
    }
    .fo45 {
        font-size: 26px !important;
    }
    .fo48 {
        font-size: 28px !important;
    }
    .fo50 {
        font-size: 30px !important;
    }
}
/*------------------------------------------------------------
font-weight
--------------------------------------------------------------*/
.bold, .bold * {
    font-weight: bold !important;
}
.fo-nomal {
    font-weight: normal !important;
}
/*------------------------------------------------------------
line-height
--------------------------------------------------------------*/
.lh10 {
    line-height: 1em !important;
}
.lh12 {
    line-height: 1.2em !important;
}
.lh14 {
    line-height: 1.4em !important;
}
.lh16 {
    line-height: 1.6em !important;
}
.lh18 {
    line-height: 1.8em !important;
}
.lh20 {
    line-height: 2em !important;
}
.lh28 {
    line-height: 2.8em !important;
}
.lh32 {
    line-height: 3.2em !important;
}
@media only screen and (max-width: 800px) {
    .lh28 {
        line-height: 1.8em !important;
    }
    .lh32 {
        line-height: 1.2em !important;
    }
}
/*ポジション*/
.pos-ab {
    position: absolute;
}
.pos-rel {
    position: relative;
}
/*サイズによる消去*/
@media (max-width: 800px) {
    .hidden-s {
        display: none !important;
    }
}
@media (min-width: 801px) {
    .hidden-l {
        display: none !important;
    }
}
.fade, .fade a, .fade a:hover {
    text-decoration: none;
}
.fade:hover {
    text-decoration: none;
}
