@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--signUp {
    width: 24px;
    height: 22px;
    background-image: url(../img/top/ico_sign_up.png);
}

.graph--toForm {
    width: 18px;
    height: 8px;
    background-image: url(../img/common/one_side_arrow.png);
}

.graph--Question2 {
    width: 28px;
    height: 22px;
    background-image: url(../img/common/ico_faqlist_qS.png);
    margin-right: 20px;
}

.graph--Question {
    background:url(../img/common/ico_faqlist_qL.png) 50% 50% no-repeat;
}

.graph--Answer {
    background:url(../img/common/ico_faqlist_a.png) 50% 50% no-repeat;
}


/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .graph--Question2 {
    margin-right: 10px;
    }

}

/* ----------------------------------------------------------
    ボタン
------------------------------------------------------------- */
.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; }



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

/* 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;
}

/* ----------------------------------------------------------
    幅・余白確保ボックス
------------------------------------------------------------- */
/* 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: 999px) {
    .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 {
    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; }

textarea {
    width:80%;
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    input[type="text"], textarea, select { width:100%;}

    .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: left;
    }
    .table--responsive th {
        padding: 10px;
        background-position: 0 100%;
    }
    .table--responsive td { padding: 10px 0; }
    .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; }
}

/* ----------------------------------------------------------
    メッセージ / .msg
------------------------------------------------------------- */
.msg {
    margin: 0 0 20px;
    padding: 15px;
    background: #f7f7f7;
    border: 1px solid #ddd;
}
.msg > :last-child { margin-bottom: 0; }
.msg .btn { margin: 0 5px 5px 0; }

.msg__ttl {
    margin: 0 0 10px;
    color: #129a8d;
    font-size: 16px;
    font-weight: bold;
}
.msg__ttl .ico {
    margin: 0 5px 0 0;
    font-size: 18px;
}

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

.msg--notice {
    background: #FBF8EA;
    border-color: #e7e3d3;
}
.msg--notice .msg__ttl { color: #eca700; }

.msg--caution {
    background: #FBEDED;
    border-color: #ebd5d5;
}
.msg--caution .msg__ttl { color: #BF1517; }


