@charset "UTF-8";

/* ----------------------------------------------------------
    アイコン()
------------------------------------------------------------- */
@font-face {
    font-family: 'xserver';
    font-style: normal;
    font-weight: normal;
    src: url(fonts/xserver.eot?-yof791);
    src: url(fonts/xserver.eot?#iefix-yof791) format('embedded-opentype'),
        url(fonts/xserver.ttf?-yof791) format('truetype'),
        url(fonts/xserver.woff?-yof791) format('woff'),
        url(fonts/xserver.svg?-yof791#xserver) format('svg');
}

.ico {
    font-family: 'xserver';
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    vertical-align: middle;
    text-transform: none;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ico--circle:before { content: "\e800"; }
.ico--circleDouble:before { content: "\e814"; }
.ico--circleFill:before { content: "\e801"; }
.ico--square:before { content: "\e802"; }
.ico--squareFill:before { content: "\e803"; }
.ico--exclamation:before { content: "\e804"; }
.ico--exclamationFill:before { content: "\e805"; }
.ico--triangleDown:before { content: "\e815"; }
.ico--triangleLeft:before { content: "\e816"; }
.ico--triangleRight:before { content: "\e817"; }
.ico--triangleUp:before { content: "\e818"; }
.ico--circleArrowDown:before { content: "\e806"; }
.ico--circleArrowLeft:before { content: "\e807"; }
.ico--circleArrowRight:before { content: "\e808"; }
.ico--circleArrowUp:before { content: "\e809"; }
.ico--arrowDown:before { content: "\e600"; }
.ico--arrowLeft:before { content: "\e601"; }
.ico--arrowRight:before { content: "\e602"; }
.ico--arrowUp:before { content: "\e603"; }
.ico--chevronDown:before { content: "\e604"; }
.ico--chevronLeft:before { content: "\e605"; }
.ico--chevronRight:before { content: "\e606"; }
.ico--chevronUp:before { content: "\e607"; }
.ico--circleDown:before { content: "\e608"; }
.ico--circleLeft:before { content: "\e609"; }
.ico--circleRight:before { content: "\e60a"; }
.ico--circleUp:before { content: "\e60b"; }
.ico--hierarchy:before { content: "\e624"; }
.ico--check:before { content: "\e80f"; }
.ico--cross:before { content: "\e60c"; }
.ico--plus:before { content: "\e60d"; }
.ico--minus:before { content: "\e60e"; }
.ico--menu:before { content: "\e60f"; }
.ico--list:before { content: "\e610"; }
.ico--book:before { content: "\e611"; }
.ico--display:before { content: "\e612"; }
.ico--circleCheck:before { content: "\e613"; }
.ico--email:before { content: "\e614"; }
.ico--gear:before { content: "\e615"; }
.ico--globe:before { content: "\e616"; }
.ico--home:before { content: "\e617"; }
.ico--lock:before { content: "\e618"; }
.ico--magnifier:before { content: "\e619"; }
.ico--mouse:before { content: "\e61a"; }
.ico--newWindow:before { content: "\e61b"; }
.ico--operator:before { content: "\e61c"; }
.ico--pencil:before { content: "\e61d"; }
.ico--phone:before { content: "\e61e"; }
.ico--refresh:before { content: "\e61f"; }
.ico--safety:before { content: "\e620"; }
.ico--server:before { content: "\e621"; }
.ico--tag:before { content: "\e622"; }
.ico--unlock:before { content: "\e623"; }
.ico--balloon:before { content: "\e80a"; }
.ico--balloonQ:before { content: "\e80b"; }
.ico--balloonA:before { content: "\e80c"; }
.ico--squareQ:before { content: "\e80d"; }
.ico--squareA:before { content: "\e80e"; }
.ico--q:before { content: "\e810"; }
.ico--signature:before { content: "\e811"; }
.ico--window:before { content: "\e812"; }
.ico--wordpress:before { content: "\e813"; }
.ico--squareExclamation:before { content: "\e900"; }
.ico--squareQuestion:before { content: "\e901"; }
.ico--smartPhone:before { content: "\e902"; }

/* ----------------------------------------------------------
    図(画像)
------------------------------------------------------------- */
.graph {
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
    background: 50% 50% no-repeat;
    background-size: contain;
}

.graph--targetBlank {
    width: 10px;
    height: 9px;
    background-image: url(../img/common/ico_target_blank.png);
}

.graph--calculator {
    width: 18px;
    height: 24px;
    background-image: url(../img/common/ico_calculator.png);
}

.graph--signUp {
    width: 24px;
    height: 22px;
    background-image: url(../img/common/ico_sign_up.png);
}

.graph--login {
    width: 20px;
    height: 21px;
    background-image: url(../img/common/ico_login.png);
}

.graph--question {
    width: 16px;
    height: 16px;
    background-image: url(../img/common/ico_question.png);
}

/* ----------------------------------------------------------
    ボタン
------------------------------------------------------------- */
.btn {
    cursor: pointer;
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 0 5px;
    padding: 11px 16px;
    border: none;
    font-size: 16px;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif;
    text-align: center;
    -webkit-transform: translate3d(0,0,0);
    -ms-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    -webkit-transition-property: transform, background-color;
    -o-transition-property: transform, background-color;
    transition-property: transform, background-color;
    -webkit-transition-duration: .1s;
    -o-transition-duration: .1s;
    transition-duration: .1s;
    -webkit-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
}
a.btn { text-decoration: none !important; }

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .btn {
        font-size: 14px;
    }
}

/* PC */
@media only screen and (min-width: 1000px) {
    .btn:hover {
        -webkit-transform: translateY(2px);
        -ms-transform: translateY(2px);
        transform: translateY(2px);
    }
}

.btn--primary {
    background: #fff;
    border: 1px solid #113d6b;
    color: #113d6b !important;
}
.btn--primary:hover {
    background-color: #f7f7f7;
}

.btn--lightblue {
    background: #fff;
    border: 1px solid #2090b5;
    color: #2090b5 !important;
}

.btn--lightblue:hover {
    background-color: #f0f1f1;
}

.btn--green {
    background: #fff;
    border: 1px solid #00aab9;
    color: #00aab9 !important;
}
.btn--green:hover {
    background-color: #f7f7f7;
}

.btn--baseColor {
    background: #113d6b;
    color: #fff !important;
}
.btn--baseColor:hover {
    background-color: #10365d;
}

.btn--orange {
    background: #ffba00;
    color: #1A2E51 !important;
}
.btn--orange:hover {
    background-color: #ffa800;
}

.btn--blue {
    background: #1f65a8;
    color: #fff !important;
}
.btn--blue:hover {
    background-color: #175297;
}

.btn--facebook {
    padding-left: 60px;
    background: #3b579d url(../img/common/ico_facebook.png) 10px 50% no-repeat;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    text-align: right;
}

.btn--twitter {
    padding-left: 60px;
    background: #1da1f2 url(../img/common/ico_twitter.png) 0 50% no-repeat;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    text-align: right;
}

.btn--s {
    padding: 5px 10px;
    font-size: 14px;
}
/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .btn--s {
        font-size: 12px;
    }
}

.btn--l {
    padding: 16px 25px;
}
/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .btn--l {
        padding: 11px 16px;
    }
}

/* ----------------------------------------------------------
    ステッカー / .sticker
------------------------------------------------------------- */
.sticker {
    display: inline-block;
    margin: 0 5px;
    padding: 4px 5px;
    background: #eca700;
    border: 1px solid #fff;
    border-radius: 3px;
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    line-height: 1;
    vertical-align: middle;
    text-decoration: none !important;
    -webkit-box-shadow: 0 0 3px 0 #ccc;
    -moz-box-shadow: 0 0 3px 0 #ccc;
    box-shadow: 0 1px 1px 0 #ccc;
    -webkit-transition: background-color .1s ease-out;
    -o-transition: background-color .1s ease-out;
    transition: background-color .1s ease-out;
}
a.sticker:hover {
    background: #E59600;
    color: #fff;
}

/* ----------------------------------------------------------
    幅、余白確保ボックス
------------------------------------------------------------- */
/* PC */
@media only screen and (min-width: 1000px) {
    .holderL,
    .holderSL,
    .holderML,
    .holderSML {
        width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Tab */
@media only screen and (min-width: 768px) and (max-width: 1099px) {
    .holderM,
    .holderSM,
    .holderML,
    .holderSML {
        width: 94.79%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .holderS,
    .holderSM,
    .holderSL,
    .holderSML {
        width: 93.75%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ----------------------------------------------------------
    テーブル / .table
------------------------------------------------------------- */
.table {
    width: 100%;
    margin: 0 0 20px;
    background: #fff;
    border-bottom: 1px solid #e1e1e1;
}
.table caption {
    padding: 10px 15px;
    background: #285686;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-weight: bold;
    text-align: center;
}
.table th,
.table td {
    padding: 10px 15px;
    vertical-align: middle;
}
.table td {
    border-bottom: 1px solid #e1e1e1;
    border-right: 1px solid #e1e1e1;
}
.table td:last-child { border-right: none; }
.table th > :last-child,
.table td > :last-child { margin-bottom: 0; }
.table thead th {
    background: #285686;
    border-right: 1px solid #c6d0db;
    color: #fff;
    font-weight: normal;
    text-align: center;
}
.table thead th:last-child { border: none; }

.table tbody:first-child { border-top: 1px solid #e1e1e1; }

.table tbody th {
    background: #ecf1f6;
    border-bottom: 1px solid #e1e1e1;
    font-weight: normal;
}
.table tbody tr:nth-child(even) th { background: #e3ebf2; }
.table tbody tr:nth-child(even) td { background: #f7f7f7; }

.table--useCaption thead th {
    background: #507ba2;
    border-right: 1px solid #e1e1e1;
}
.table--useCaption thead th:last-child { border: none; }
.table table{ font-size: 14px; }

.table caption a,
.table thead th a { color: #fff; }

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .table--responsive { width: 100%; }
    .table--responsive th,
    .table--responsive td {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 100%;
        text-align: center;
    }
    .table--responsive th {
        padding: 10px;
        background-position: 0 100%;
    }
    .table--responsive td { border-bottom: 1px solid #ddd; }
    .table--responsive td:last-child { border-bottom: none; }
    .table tbody tr:nth-child(even) th { background: #ecf1f6; }
    .table tbody tr:nth-child(even) td { background: #fff; }
}

/* ----------------------------------------------------------
    レスポンシブテーブル
------------------------------------------------------------- */
.noJS .primaryTableML,
.noJS .primaryTableL { display: table !important; }

/* PC */
@media only screen and (min-width: 1000px) {
    .secondlyTableS,
    .secondlyTableSM { display: none; }
}

/* Tab */
@media only screen and (min-width: 768px) and (max-width: 1099px) {
    .primaryTableL { display: none; }
    .secondlyTableS { display: none; }

    .secondlyTableSM { margin: 0 0 10px; }

    .secondlyTableSM caption,
    .secondlyTableSM th,
    .secondlyTableSM td { padding: 5px; }
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .primaryTableML,
    .primaryTableL { display: none; }

    .secondlyTableS,
    .secondlyTableSM { margin: 0 0 10px; }

    .secondlyTableS caption,
    .secondlyTableS th,
    .secondlyTableS td,
    .secondlyTableSM caption,
    .secondlyTableSM th,
    .secondlyTableSM td { padding: 5px; }
}

/* ----------------------------------------------------------
    注釈
------------------------------------------------------------- */
.note,
.note--x2,
.note--x3,
.noteList > li,
.noteList--x2 > li,
.noteList--x3 > li {
    margin-left: 1em;
    text-indent: -1em;
}
.note--x2,
.noteList--x2 > li {
    margin-left: 2em;
    text-indent: -2em;
}
.note--x3,
.noteList--x3 > li {
    margin-left: 3em;
    text-indent: -3em;
}
.noteList--margin > li { margin-bottom: 10px; }
.noteList--margin > li:last-child { margin-bottom: 0; }

/* ----------------------------------------------------------
    画像付きボックス
------------------------------------------------------------- */
.media { clear: both; }
.media:before, .media:after {
    content: " ";
    display: table;
}
.media:after { clear: both; }
.media { *zoom: 1; }

.media__image {
    float: left;
    margin-right: 15px;
}
.media__image > img { display: block; }
.media__image--rev {
    float: right;
    margin-left: 15px;
    margin-right: 0;
}
.media__body { overflow: hidden; }
.media__body > :last-child { margin-bottom: 0; }

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .media__image {
        float: none;
        display: block;
        margin: 0 0 10px;
        text-align: center;
    }
    .media__image > img { display: inline; }
    .media__image--rev {
        float: none;
        margin: 0 0 10px;
    }
    .media__body { overflow: visible; }
}

/* ----------------------------------------------------------
    最も大きなセクション(h2相当)
------------------------------------------------------------- */
.section {
    margin: 0 0 40px;
}
.section:last-child {
    margin-bottom: 0;
}

.section__ttl {
    margin: 0 0 30px;
    padding: 17px 0 15px 17px;
    border-bottom: 2px solid #113d6b;
    background: url(../img/common/bg_section_ttl.png);
    color: #113d6b;
    font-size: 24px;
}

.section__body {}
.section__body > :last-child { margin-bottom: 0; }

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .section__ttl {
        margin-bottom: 20px;
        padding-bottom: 8px;
        font-size: 22px;
    }
}

/* ----------------------------------------------------------
    2番目に大きなブロック(h3相当)
------------------------------------------------------------- */
.block {
    margin: 0 0 30px;
}
.block:last-child {
    margin-bottom: 0;
}

.block__ttl {
    margin: 0 0 20px;
    padding: 0 0 13px;
    border-bottom: 1px solid #113d6b;
    color: #113d6b;
    font-size: 22px;
}

.block__body {}
.block__body > :last-child { margin-bottom: 0; }

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .block__ttl {
        margin-bottom: 20px;
        font-size: 20px;
    }
}

/* ----------------------------------------------------------
    3番目に大きなブロック(h4相当)
------------------------------------------------------------- */
.box {
    margin: 0 0 30px;
}

.box__ttl {
    margin: 0 0 10px;
    color: #113d6b;
    font-size: 18px;
    font-weight: bold;
}

.box__body {}
.box_body > :last-child { margin-bottom: 0; }

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .box__ttl {
        margin-bottom: 20px;
    }
}

/* ----------------------------------------------------------
    リスト(デフォルトスタイル)
------------------------------------------------------------- */
.ul {
    margin: 0 0 1em 1.5em;
    list-style: disc outside;
}
.ul--margin > li { margin-bottom: 1em; }

.ol {
    margin: 0 0 1em 1.5em;
    list-style: decimal outside;
}
.ol--lowerRoman { list-style-type: lower-roman; }
.ol--margin > li { margin-bottom: 1em; }

/* ----------------------------------------------------------
    リスト(アイコン付き)
------------------------------------------------------------- */
.list { margin: 0 0 1em 1.5em; }
.list > li { position: relative; }
.list > li li { margin: 0 0 0 13px; }
.list > li:after {
    content: '';
    position: absolute;
    top: .5em;
    left: -1.1em;
    display: block;
}

.list--margin > li { margin-bottom: 1em; }

.list--arrowDown > li:after {
    top: .6em;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #113d6b;
}

.list--arrowUp > li:after {
    top: .6em;
    width: 0;
    height: 0;
    border-bottom: 5px solid #113d6b;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}

.list--arrowRight > li:after {
    top: .6em;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #113d6b;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

/* ----------------------------------------------------------
    定義 / .dl
------------------------------------------------------------- */
.dl {
    margin: 0 0 1em;
    padding: 10px;
    background: #fff;
    border: 1px solid #ccc;
}
.dl dt {
    margin: 0 0 10px;
    padding: 5px 8px;
    background: #eee;
    font-weight: bold;
}
.dl dd {
    margin: 0 0 20px;
    padding: 0 0 0 1em;
}
.dl dd:last-child { margin: 0; }
.dl dd > :last-child { margin-bottom: 0; }
@media only screen and (min-width: 0) and (max-width: 767px) {
    .dl dd { padding: 0; }
}

/* ----------------------------------------------------------
    サンプルコード / .code
------------------------------------------------------------- */
.code {
    margin-bottom: 1em;
    padding: 12px 15px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 14px;
    -webkit-box-shadow: 1px 1px 2px #eee inset;
    -moz-box-shadow: 1px 1px 2px #eee inset;
    box-shadow: 1px 1px 2px #eee inset;
}

/* ----------------------------------------------------------
    メッセージ / .msg
------------------------------------------------------------- */
.msg {
    margin: 0 0 20px;
    padding: 15px;
    background: #fff url(../img/common/bg_grid_small.png);
}
.msg > :last-child { margin-bottom: 0; }
.msg .btn { margin: 0 5px 5px 0; }

.msg__ttl {
    margin: 0 0 10px;
    color: #32699c;
    font-size: 20px;
    font-weight: bold;
}
.msg__ttl .ico {
    position: relative;
    top: -3px;
    margin: 0 5px 0 0;
    font-size: 18px;
}

.msg__body {}
.msg__body > :last-child { margin-bottom: 0; }

.msg--notice {
    background: url(../img/common/bg_grid_small_lightyellow.png);
    border-color: #e7e3d3;
}
.msg--notice .msg__ttl { color: #ff9000; }

.msg--caution {
    background: url(../img/common/bg_grid_small_lightpink.png);
}
.msg--caution .msg__ttl { color: #ff004e; }

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .msg__ttl { font-size: 18px; }
}

/* ----------------------------------------------------------
    ボーダーボックス / .border
------------------------------------------------------------- */
.border {
    margin-bottom: 1em;
    padding: 12px 15px;
    border: 1px solid;
}
.border > :last-child { margin-bottom: 0; }

.border--gray {
    background-color: #fff;
    border-color: #ccc;
}

.border--yellow {
    background-color: #fffdf5;
    border-color: #efe6c0;
}

.border--dot {
    padding: 8px 10px;
    border: 1px dotted #ccc;
}
.border--dot > span {
    margin-right: 5px;
}

/* ----------------------------------------------------------
    画像フレーム / .img
------------------------------------------------------------- */
.img {
    max-width: 100%;
    border: 1px solid #cbcbcb;
    -webkit-box-shadow: 1px 1px 2px #bbb;
    -moz-box-shadow: 1px 1px 2px #bbb;
    box-shadow: 1px 1px 2px #bbb;
}

/* ----------------------------------------------------------
    リンク / .link
------------------------------------------------------------- */
.link { display: inline-block; }
.link .ico {
    margin: 0 5px;
    color: #113d6b;
}

/* ----------------------------------------------------------
    ツールチップ / 
------------------------------------------------------------- */
.tooltip {
    display: inline-block;
}

.tooltip__target {
    display: inline-block;
    cursor: pointer;
}

.tooltip__content {
    display: none;
}

.tooltip__balloon {
    text-align: left;
    color: #000;
    background: #fff;
    border: 1px solid #333333;
    position: absolute;
    z-index: 100000;
    padding: 10px;
    font-size: 12px;
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .tooltip__balloon {
        width: 150px;
    }
}

.tooltip__balloon:before {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #333;
    content: '';
    position: absolute;
    left: 50%;
    bottom: -11px;
    margin-left: -10px;
}

.tooltip__balloon:after {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #fff;
    content: '';
    position: absolute;
    left: 50%;
    bottom: -10px;
    margin-left: -10px;
}

.tooltip__balloon.top:before {
    border-top-color: transparent;
    border-bottom: 10px solid #333;
    top: -21px;
    bottom: auto;
}
.tooltip__balloon.top:after {
    border-top-color: transparent;
    border-bottom: 10px solid #fff;
    top: -20px;
    bottom: auto;
}

.tooltip__balloon.left:before,
.tooltip__balloon.left:after {
    left: 10px;
    margin: 0;
}

.tooltip__balloon.right:before,
.tooltip__balloon.right:after {
    right: 10px;
    left: auto;
    margin: 0;
}

.tooltip__balloon__bottom {
    position: absolute;
    width: 60px;
    height: 30px;
    left: 50%;
    bottom: -30px;
    background: #fff;
    opacity: 0;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
.tooltip__balloon__btn {
    position: absolute;
    width: 20px;
    height: 20px;
    left: 50%;
    bottom: -30px;
    background: #fff;
    opacity: 0;
    cursor: pointer;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.tooltip__balloon.left .tooltip__balloon__bottom{ left: 20px; }
.tooltip__balloon.left .tooltip__balloon__btn{ left: 20px; }

.tooltip__balloon.right .tooltip__balloon__bottom{ right: 20px; }
.tooltip__balloon.right .tooltip__balloon__btn{ right: 20px; }

/* ----------------------------------------------------------
     / .guideBox
------------------------------------------------------------- */

.guideBox { 
    margin: 0 0 20px;
    border: 1px solid;
}

.guideBox__ttl {
    position: relative;
    padding: 20px 20px 20px 60px;
    font-size: 20px;
    font-weight: bold;
}
.guideBox__ttl:before {
    content: "";
    position: absolute;
    top: 13px;
    left: 13px;
    width: 38px;
    height: 38px;
}

.guideBox__body { padding: 20px 25px 20px 60px; }

.guideBox__item:before {
    position: absolute;
    content: "";
    top: .5em;
    left: -1.5em;
    width: 6px;
    height: 6px;
    border: 2px solid #ff7e00;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}
.guideBox__item {
    position: relative;
    font-size: 14px;
    margin-bottom: 17px;
    padding-bottom: 17px;
    border-bottom: 1px dotted #cccccc;
}
.guideBox__item > :last-child { margin-bottom: 0; }
.guideBox__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.guideBox__itemTtl {
    margin-bottom: 10px;
    font-size: 16px;
}

.guideBox__itemBody { }

.guideBox--info { border-color: #889eb5; }
.guideBox--info > .guideBox__ttl {
    color: #113d6b;
    background: #f7f7f7;
}

.guideBox--caution { border-color: #ffba00; }
.guideBox--caution > .guideBox__ttl {
    color: #ff7e00;
    background: #fff8e5;
}

.guideBox--info > .guideBox__ttl:before { background: url(../img/common/ico_guidebox_info.png); }
.guideBox--info .guideBox__item:before { border-color: #113d6b; }
.guideBox--info .guideBox__itemTtl { color: #113d6b; }

.guideBox--caution > .guideBox__ttl:before { background: url(../img/common/ico_guidebox_caution.png); }
.guideBox--caution .guideBox__item:before { border-color: #ff7e00; }
.guideBox--caution .guideBox__itemTtl { color: #ff7e00; }

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .guideBox__ttl {
        position: relative;
        padding: 13px 12px 13px 42px;
        font-size: 18px;
        font-weight: bold;
    }
    .guideBox__ttl:before {
        content: "";
        position: absolute;
        top: 10px;
        left: 10px;
    }
    
    .guideBox__item {
        margin-bottom: 14px;
        padding-bottom: 14px;
    }
    .guideBox__body { padding: 15px 20px 15px 35px; }
    
    .guideBox--info > .guideBox__ttl:before { background: url(../img/common/ico_guidebox_info.png) no-repeat 0 0 / 26px 26px; }
    .guideBox--caution > .guideBox__ttl:before { background: url(../img/common/ico_guidebox_caution.png) no-repeat 0 0 / 26px 26px; }
}

