@charset "utf-8"; /*------------------------

背景

------------------------*/
#RthCustomizeW {
    overflow: -moz-scrollbars-vertical;
}

#RthCustomizeW {
    background-color: #111110;
    word-wrap: break-word;
}

@media print {
    #RthCustomizeW {
        width: 1280px;
        -webkit-transform: scale(.8);
        -moz-transform: scale(.8);
        transform: scale(.8);
        transform-origin: 0 0;
    }
}

.wrap {
    width: 1170px;
    margin: auto;
}

@media screen and (max-width: 1279px) {
    .wrap {
        width: 960px;
        margin: auto;
    }
}

@media screen and (max-width: 1023px) {
    .wrap {
        width: 720px;
    }
}

@media screen and (max-width: 767px) {
    .wrap {
        width: auto;
        min-width: 272px;
        margin: 0 16px;
    }
}

.section {
    padding: 32px 0;
}

@media screen and (max-width: 767px) {
    .section {
        padding: 16px 0;
    }
}

.unit {
    margin-bottom: 32px;
}

@media (max-width: 767px) {
    .unit {
        margin-bottom: 16px;
    }
}

/*------------------------

フォーム

------------------------*/
/*input, textarea, select {
    padding: 8px 16px;
}*/

/*------------------------

テーブル

------------------------*/
@media screen and (max-width: 767px) {
    .scroll-table {
        overflow: auto;
        white-space: nowrap;
    }

    .scroll-table:after {
        content: "※このテーブルは横にスクロールできます。";
        font-size: 14px;
        color: #c3c3c3;
        font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    }

    .scroll-table table {
        margin-bottom: 8px;
    }
}

/*------------------------

ボタン

------------------------*/
.button, .button:active, .button:focus {
    padding: 16px 80px;
    border-radius: 0;
    background-color: #414140;
    position: relative;
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    text-align: center;
    text-decoration: none;
}

@media (max-width: 1023px) {
    .button, .button:active, .button:focus {
        padding: 16px;
        display: block;
    }
}

.button::after {
    margin-top: -24px;
    content: "\f105";
    position: absolute;
    top: 50%;
    right: .5em;
    font-family: "fontawesome";
    font-size: 30px;
    font-weight: normal;
/*    margin-top: -9px;
    content: "\e649";
    position: absolute;
    top: 50%;
    right: .5em;
    font-family: "themify";*/
}

@media (max-width: 1279px) {
    .button::after {
        margin-top: -12px;
    }
}

.button:hover {
    background-color: #054289;
}

@media only screen and (max-width: 767px) {
    .button, .button:active, .button:focus {
        width: 100%;
        padding: 16px 8px;
        display: block;
    }
}

/*input[type="submit"], input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
    display: none;
}

input[type="submit"]::focus, input[type="button"]::focus {
    outline-offset: -2px;
}
*/
/*------------------------

リスト

------------------------*/
ul.list-left {
    margin: 0;
}

.list-left li {
    margin-right: 1em;
    list-style: none;
    float: left;
}

.list-left li:last-child {
    margin-right: 0;
}

.link li a {
    margin-left: 1em;
    display: block;
    text-decoration: none;
    text-indent: -1em;
}

.link li a:before {
    margin-right: .5em;
    content: "\f0da";
    font: normal normal normal 14px/1 FontAwesome;
    color: #e60013;
}

.list-mark li {
    position: relative;
}

.list-mark li::after {
    width: 6px;
    height: 6px;
    content: "";
    border-radius: 100%;
    background-color: #33b495;
    position: absolute;
    top: .6em;
    left: -1em;
    display: block;
}

.list-before li {
    padding-left: 2em;
    display: block;
    text-indent: -1em;
}

.list-before li:before {
    width: 1em;
    margin-right: 1em;
    margin-left: -1em;
    padding: 0;
    content: "\f061";
    display: block;
    float: left;
    font-family: "FontAwesome";
    color: #1e1e1e;
    text-align: center;
}

.list-after li {
    padding-right: 15px;
    position: relative;
}

.list-after li:after {
    margin-top: -12px;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    font-family: "FontAwesome";
    color: #007f2d;
}

.list-info {
    margin: 0 0 1em 1em;
}

.list-info li {
    padding-left: 1em;
    list-style-type: none;
    display: block;
    text-indent: -1em;
}

.list-info li:before {
    width: 1em;
    margin-right: 1em;
    margin-left: -1em;
    padding: 0;
    content: "※";
    display: block;
    float: left;
    text-align: center;
}

/*------------------------

画像

------------------------*/
@media (min-width: 1025px) {
    a:hover img {
        opacity: .6;
        filter: alpha(opacity=60);
        -moz-opacity: .6;
    }
}

img {
    border: 0;
    vertical-align: bottom;
}

img.left {
    margin-right: 1em;
}

img.right {
    margin-left: 1em;
}

@media (min-width: 1279px) {
    img {
        max-width: 100%;
    }
}

/*------------------------

Typography

------------------------*/
a {
    color: #00a6fb;
}

em, i {
    font-style: normal;
}

.red {
    color: #ca1b28;
}

h1, .h1, h2, .h2, h3, .h3 {
    line-height: 1.61;
}

.vertical-writing {
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.headlines {
    font-size: 32px;
    color: rgb(177, 146, 0);
    background-image: url(../img/headline_back.png);
    background-position: center bottom;
    background-repeat: no-repeat;
    padding-bottom: 24px;
    margin-bottom: 32px;
    background-size: 500px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .headlines {
        font-size: 29px;
        margin-bottom: 16px;
    }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .headlines {
        background-image: url(../img/headline_back@2x.png);
    }
}

.headlines span {
    color: #fff;
    font-size: 48px;
}

.headlines02 {
    font-size: 32px;
    background: #252522;
    padding: 16px 24px;
    margin-bottom: 16px;
}

.headlines03 {
    font-size: 40px;
    background: #252522;
    padding: 16px 24px;
    border-bottom: solid 3px #a88b04;
    margin-bottom: 16px;
    text-align: center;
}

.headlines04 {
    font-size: 32px;
    color: rgb(177, 146, 0);
    padding-bottom: 16px;
    margin-bottom: 32px;
    border-bottom: 1px solid #434343;
}

@media screen and (max-width: 767px) {
    .headlines04 {
        margin-bottom: 16px;
    }
}

.headlines05 {
    font-size: 32px;
    color: rgb(177, 137, 0);
    padding-bottom: 16px;
    margin-bottom: 32px;
    border-bottom: 1px solid #434343;
}

@media screen and (max-width: 767px) {
    .headlines05 {
        font-size: 24px;
        margin-bottom: 16px;
    }
}

.headlines06 {
    font-size: 24px;
    color: #fff;
    padding: 8px 24px;
    margin-bottom: 16px;
    background-color: #353535;
    border-left: solid 4px #a88b04;
}

@media screen and (max-width: 767px) {
    .headlines06 {
        font-size: 24px;
        margin-bottom: 16px;
    }
}

/*------------------------

フォントサイズ

------------------------*/
#RthCustomizeW {
    font-size: 62.5%;
}

#RthCustomizeW {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "SourceHanSerifJP-Regular", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif;
    /*font-size: 1.6rem;*/
    font-size: 1em;
    font-weight: 400;
    line-height: 1.618;
    color: #fff;
    letter-spacing: .05em;
    word-wrap: break-word;
    word-break: break-all;
    font-feature-settings: "palt";
    -webkit-font-smoothing: antialiased;
}

.font06 {
    font-size: .6rem;
}

.font07 {
    font-size: .7rem;
}

.font08 {
    font-size: .8rem;
}

.font09 {
    font-size: .9rem;
}

.font10 {
    font-size: 1.0rem;
}

.font11 {
    font-size: 1.1rem;
}

.font12 {
    font-size: 1.2rem;
}

.font13 {
    font-size: 1.3rem;
}

.font14 {
    font-size: 1.4rem;
}

.font15 {
    font-size: 1.5rem;
}

.font16 {
    font-size: 1.6rem;
}

.font17 {
    font-size: 1.7rem;
}

.font18 {
    font-size: 1.8rem;
}

.font19 {
    font-size: 1.9rem;
}

.font20 {
    font-size: 2.0rem;
}

.font21 {
    font-size: 2.1rem;
}

.font22 {
    font-size: 2.2rem;
}

.font23 {
    font-size: 2.3rem;
}

.font24 {
    font-size: 2.4rem;
}

.font25 {
    font-size: 2.5rem;
}

.font26 {
    font-size: 2.6rem;
}

.font27 {
    font-size: 2.7rem;
}

.font28 {
    font-size: 2.8rem;
}

.font29 {
    font-size: 2.9rem;
}

.font30 {
    font-size: 3.0rem;
}

.font31 {
    font-size: 3.1rem;
}

.font32 {
    font-size: 3.2rem;
}

/*------------------------

レイアウト

------------------------*/
.flex-end {
    align-items: flex-end;
}

.left {
    float: left;
}

.right {
    float: right;
}

.img-centered img, .img-centered picture {
    margin: 0 auto;
    display: block;
    text-align: center;
}

.btn-centered {
    text-align: center;
}

@media screen and (max-width: 767px) {
    .row.gutters .col:last-child {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 1023px) {
    .row.mobile-50 {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .mobile-50 .col-3, .mobile-50 .col-4, .mobile-50 .col-6 {
        width: 50%;
    }

    .row.gutters.mobile-50, .row.gutters.mobile-50 > .row {
        margin-left: -2%;
    }

    .row.gutters.mobile-50 > .col, .row.gutters.mobile-50 > .row > .col {
        margin-bottom: 0;
        margin-left: 2%;
    }

    .row.gutters.mobile-50 > .col-3, .row.gutters.mobile-50 > .col-4 {
        width: calc(50% - 2%);
    }

    .row.mobile-33 {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .mobile-33 .col-3, .mobile-33 .col-4, .mobile-33 .col-6 {
        width: 33.33333%;
    }
}

@media screen and (max-width: 767px) {
    .mobile-50 .col-6 {
        width: 100%;
    }

    .w5, .w10, .w15, .w20, .w25, .w30, .w35, .w40, .w45, .w50, .w55, .w60, .w65, .w70, .w75, .w80, .w85, .w90, .w95 {
        width: 100%;
    }
}

/*------------------------

Blocks

------------------------*/
.blocks-2, .blocks-3, .blocks-4, .blocks-5, .blocks-6 {
    margin-left: -2%;
    padding-left: 0;
    list-style: none;
}

.blocks-2:after, .blocks-3:after, .blocks-4:after, .blocks-5:after, .blocks-6:after {
    content: "";
    display: table;
    clear: both;
}

.blocks-2:after, .blocks-3:after, .blocks-4:after, .blocks-5:after, .blocks-6:after {
    content: "";
    display: table;
    clear: both;
}

.blocks-2 > li, .blocks-3 > li, .blocks-4 > li, .blocks-5 > li, .blocks-6 > li {
    height: auto;
    margin-bottom: 10px;
    margin-left: 2%;
    float: left;
}

.blocks-2 > li ul, .blocks-3 > li ul, .blocks-4 > li ul, .blocks-5 > li ul, .blocks-6 > li ul {
    list-style-type: disc;
}

.blocks-2 > li ul ul, .blocks-3 > li ul ul, .blocks-4 > li ul ul, .blocks-5 > li ul ul, .blocks-6 > li ul ul {
    list-style-type: circle;
}

.blocks-2 > li li, .blocks-3 > li li, .blocks-4 > li li, .blocks-5 > li li, .blocks-6 > li li {
    margin: 0;
    float: none;
}

.blocks-2 > li {
    width: 48%;
}

.blocks-3 > li {
    width: 31.33333333333333%;
}

.blocks-4 > li {
    width: 23%;
}

.blocks-5 > li {
    width: 18%;
}

.blocks-6 > li {
    width: 13.66666666666667%;
}

.block-first {
    clear: both;
}

@media only screen and (max-width: 1023px) {
    .blocks-2 > li, .blocks-3 > li, .blocks-4 > li, .blocks-5 > li, .blocks-6 > li {
        width: 100%;
    }
}

/*------------------------

余白

------------------------*/
.mt05 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt32 {
    margin-top: 32px;
}

.mt70 {
    margin-top: 70px;
}

.mt100 {
    margin-top: 100px;
}

.mt_20 {
    margin-top: -20px;
}

.mtb05 {
    margin-top: 5px;
    margin-bottom: 5px;
}

.mtb10 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.mtb15 {
    margin-top: 15px;
    margin-bottom: 15px;
}

.mtb20 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.mtb30 {
    margin-top: 30px;
    margin-bottom: 30px;
}

.mb05 {
    margin-bottom: 5px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb50 {
    margin-bottom: 50px;
}

.ml05 {
    margin-left: 5px;
}

.ml10 {
    margin-left: 10px;
}

.ml20 {
    margin-left: 20px;
}

.ml30 {
    margin-left: 30px;
}

.mr01 {
    margin-right: 1px;
}

.mr02 {
    margin-right: 2px;
}

.mr03 {
    margin-right: 3px;
}

.mr04 {
    margin-right: 4px;
}

.mr05 {
    margin-right: 5px;
}

.mr10 {
    margin-right: 10px;
}

.pt40 {
    padding-top: 40px;
}

/*------------------------

表示・非表示

------------------------*/
.sp_only {
    display: none;
}

@media (max-width: 767px) {
    .sp_only {
        display: block;
    }

    .pc_only {
        display: none;
    }
}

.hidden {
    display: none;
    visibility: hidden;
}

.visible-phone {
    display: none !important;
}

.visible-tablet {
    display: none !important;
}

.hidden-desktop {
    display: none !important;
}

.visible-desktop {
    display: inline-block !important;
}

@media (min-width: 768px) and (max-width: 1279px) {
    .hidden-desktop {
        display: none !important;
    }

    .visible-desktop {
        display: none !important;
    }

    .visible-tablet {
        display: inherit !important;
    }

    .hidden-tablet {
        display: none !important;
    }

    .hidden-phone {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .hidden-desktop {
        display: inherit !important;
    }

    .visible-desktop {
        display: none !important;
    }

    .visible-phone {
        display: inherit !important;
    }

    .hidden-phone {
        display: none !important;
    }
}

/*------------------------

clearfix

------------------------*/
.clearfix:before, .clearfix:after {
    height: 0;
    content: ".";
    display: block;
    overflow: hidden;
}

.clearfix:after {
    clear: both;
}
