@charset "utf-8"; html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    line-height: 1;
}

article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section {
    display: block;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input, select {
    vertical-align: middle;
}

address, caption, cite, code, dfn, em, strong, th, var {
    font-style: normal;
    font-weight: normal;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption, th {
    text-align: left;
}

object, embed {
    vertical-align: middle;
}

legend {
    display: none;
}

h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: normal;
}

img, abbr, acronym, fieldset {
    border: 0 none;
}

img {
    vertical-align: middle;
}

ul li {
    list-style-type: none;
}

/*----------------------------------------------------
        共通
----------------------------------------------------*/
/* スクロールバーの有無によるズレ対策 */
html {
    overflow-y: scroll;
}

input, textarea {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}

/* for IE6 */
* html body {
    font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

* html input, * html textarea {
    font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

#slideArea .slideinner {
    width: 100%;
    margin: 0 auto;
    position: relative;
    padding: 0;
    box-sizing: border-box;
}

.slick-slider {
    position: relative;
    display: block;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track, .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
}

.slick-track:before, .slick-track:after {
    display: table;
    content: '';
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-initialized .slick-slide p {
    display: block;
    margin: 20px 0 0 0;
    line-height: 1.4;
    padding: 0 10px;
    box-sizing: border-box;
    text-align: center;
    font-size: 12px;
    color: #a9a9a9;
    word-wrap: break-word;
}

.slick-initialized .slick-slide p.caption {
    color: #848484;
    margin: 20px 0 0;
    overflow: auto;
    padding: 10px 0;
    white-space: nowrap;
    text-align: left;
}

.slick-initialized .slick-slide p.caption:not(.none) {
    color: #d6d6d6;
    font-size: 10px;
    line-height: 1.4;
    margin: 10px auto;
    text-align: center;
    word-wrap: break-word;
}

.slick-initialized .slick-slide p.caption br {
    display: none;
}

.slick-initialized .slick-slide p.caption::-webkit-scrollbar {
    height: 5px;
}

.slick-initialized .slick-slide p.caption::-webkit-scrollbar-track {
    background-color: #f6f6f6;
}

.slick-initialized .slick-slide p.caption::-webkit-scrollbar-thumb {
    background-color: rgb(225, 225, 225);
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: 100px;
    /*border: 2px solid transparent;*/
}

.slick-arrow.slick-hidden {
    display: none;
}

.slider {
    position: relative;
    max-width: 940px;
}

.slider img {
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.slider .slider-nav-wrap {
    position: relative;
}

.slider .slider-nav-wrap .slider-nav .slick-list {
    padding: 0 !important;
}

.slider .slider-nav-wrap .slider-nav .slick-track {
    left: 0 !important;
    width: 100% !important;
    opacity: 1;
}

.slider .slider-nav-wrap .slider-nav .slick-slide {
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    opacity: 1;
    padding: 3px;
}

.slider .slider-nav-wrap .slider-nav .slick-slide:hover {
    opacity: .5;
}

.slider .slider-nav-wrap .slick-arrow {
    position: absolute;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.slider .slider-nav-wrap .slick-prev {
    right: 0;
    border-width: 0;
    border-color: transparent transparent transparent #444444;
}

.slider .slider-nav-wrap .slick-next {
    left: 0;
    border-width: 0;
    border-color: transparent #444444 transparent transparent;
}

/* リンク
----------------------------------------------------*/
a {
    color: #4a4847;
    text-decoration: none;
}

/* 汎用
----------------------------------------------------*/
/* clear clerfix */
.clear {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
}

.content:after, .clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.content, .clearfix {
    zoom: 1; /* for IE5.5 - IE7 */
}

/*box-sizing */
*, *:before, *:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    font-family: 'Meiryo', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'sans-serif';
    font-size: 14px;
    background: #fff;
    line-height: 25.2px;
    color: #4a4847;
}

/*----------------------------------------------------
        各ページスタイル
----------------------------------------------------*/
/* 共通
-----------------------------------------------------------------------------------------------*/
#contents:after, #contents_low:after {
    content: ".";
    display: block;
    visibility: hidden;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
    clear: both;
}

a {
    text-decoration: none;
}

@media all and (-ms-high-contrast:none) {
    header #mv .mv_wrap .mv_catch:after {
        background: url(img/mv_parts3.png) top center no-repeat !important;
        background-size: 63px !important;
        content: "" !important;
        width: 63px !important;
        height: 61px !important;
        position: absolute !important;
        bottom: 0 !important;
        right: -62px !important;
    }

    header #mv .mv_wrap .mv_catch:before {
        content: "" !important;
        width: 63px !important;
        height: 100% !important;
        position: absolute !important;
        top: 0 !important;
        right: -61px !important;
        border: 2px solid #1b80a5 !important;
        background-color: #fff !important;
    }
}

/*----------------------------------------------------
        PCサイトcss
----------------------------------------------------*/
@media screen and (min-width: 600px) {
    html, body {
        height: 100%;
    }

    html {
        overflow-y: hidden;
    }

    body {
        overflow-x: hidden;
        min-width: 1000px;
    }

    .sp {
        display: none!important;
    }

    .inner {
        margin: 0 auto;
        max-width: 1000px;
        width: 100%;
    }

    .flex {
        display: flex;
        display: -webkit-flex;
    }

    .left, .Left {
        float: left;
    }

    .right, .Right {
        float: right;
    }

    a.trance:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
    }

    #index a, #page a {
        color: #4a4847;
        text-decoration: underline;
    }

    #index a:hover, #page a:hover {
        text-decoration: none;
    }

    #index p, #page p, #sub p {
        margin: 10px 0;
    }

    /*header
    ----------------------------------------*/
    header {
        background: #fff;
        width: 100%;
    }

    header .flex.topbar {
        flex-direction: column-reverse;
        flex-wrap: wrap;
    }

    header .lead {
        background: #1b80a5;
        color: #fff;
        padding: 3px 0;
        width: 100%;
    }

    header .site_ttl {
        background: #e9f3f6;
        padding: 20px 0;
        text-align: center;
    }

    header .site_ttl h1, header .site_ttl a {
        display: inline-block;
        font-size: 35px;
        line-height: 1.4;
        letter-spacing: 1.5px;
        font-weight: bold;
        color: #1b80a5;
    }

    header .site_ttl h1 span, header .site_ttl a span {
        display: block;
        font-size: 25px;
        color: #4a4847;
    }

    header.lower {
        border-bottom: 2px solid #e9e9e9;
        padding-bottom: 30px;
    }

    /*mv
    ----------------------------------------*/
    header #mv {
        background: url(img/mv_pattern.png) repeat;
    }

    header #mv .mv_wrap {
        position: relative;
    }

    header #mv .mv_wrap:before {
        position: absolute;
        content: "";
        width: 314px;
        height: 100%;
        background: url(img/mv.png) center center no-repeat;
        background-size: cover;
        border: 2px solid #1b80a5;
        border-right: none;
    }

    header #mv .mv_wrap .mv_catch {
        position: relative;
        width: 625px;
        float: right;
        margin-right: 61px;
        background: url(img/pattern.png) repeat;
        padding: 15px;
        box-shadow: 0 0 0 2px #1b80a5 inset;
    }

    header #mv .mv_wrap .mv_catch:after {
        background: url(img/mv_parts3.png) top 0px right -1px no-repeat;
        background-size: 64px;
        content: "";
        width: 64px;
        height: 61px;
        position: absolute;
        bottom: 0px;
        right: -61px;
    }

    header #mv .mv_wrap .mv_catch:before {
        content: "";
        width: 61px;
        height: 100%;
        position: absolute;
        top: 0;
        right: -61px;
        border: 2px solid #1b80a5;
        background-color: #fff;
        border-left: none;
        border-bottom: none;
    }

    header #mv .mv_wrap .mv_catch .catch_inner {
        background: #fff;
        padding: 0px 20px 20px;
        height: 100%;
    }

    header #mv .mv_wrap .mv_catch .catch_inner h2 {
        border-bottom: 2px solid #b5b5b5;
        color: #1b80a5;
        font-size: 23px;
        font-weight: bold;
        line-height: 1.8;
        letter-spacing: 1.5px;
        padding: 0 0 25px;
    }

    header #mv .mv_wrap .mv_catch .catch_inner .mv_txt {
        margin: 0;
        font-size: 16px;
        letter-spacing: 1px;
        line-height: 2;
    }

    /*nav
    ----------------------------------------*/
    header nav {
        margin: 30px auto 0;
        width: 100%;
    }

    header nav ul {
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        margin: 0 auto;
        width: 1000px;
    }

    header nav ul li {
        box-sizing: border-box;
        padding: 10px 20px;
        width: 100%;
        position: relative;
    }

    header nav ul li:after {
        -webkit-transform: skewX(150deg);
        -moz-transform: skewX(150deg);
        transform: skewX(150deg);
        border-right: 1px solid #4a4847;
        content: "";
        width: 1px;
        height: 30px;
        position: absolute;
        right: 0;
        top: 50%;
        margin-top: -16px;
    }

    header nav ul li:last-child:after {
        content: none;
    }

    header nav ul li a {
        align-items: center;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        line-height: 1.4;
        width: 100%;
        height: 100%;
        text-align: center;
    }

    header nav ul li a:hover {
        background: #ffff00;
    }

    /*contents
    ----------------------------------------*/
    #contents {
        margin: 30px auto 100px;
    }

    #contents_low {
        margin: 10px auto 100px;
    }

    #index, #page {
        float: left;
        width: 720px;
    }

    #pankuzu {
        font-size: 13px;
        margin: 0 0 30px;
        width: 100%;
        word-break: break-all;
    }

    #pankuzu a {
        color: #1b80a5;
        text-decoration: underline;
    }

    #pankuzu a:hover {
        text-decoration: none;
    }

    #index h1, #index h2, #index h3, #index h4, #index h5, #page h1, #page h2, #page h3, #page h4, #page h5 {
        font-weight: bold;
        line-height: 1.4;
        margin: 45px 0 15px;
    }

    #index h2, #page h1 {
        background: url(img/h2_parts.png) center center no-repeat;
        background-size: 100% 100%;
        font-size: 30px;
        margin-top: 90px;
        padding: 20px 40px;
        text-align: center;
        position: relative;
        z-index: 1;
    }

    #page h1 {
        margin-top: 0px;
    }

    #index h2:before , #page h1:before {
        content: '';
        position: absolute;
        display: block;
        top: 5px;
        left: 5px;
        right: 5px;
        bottom: 5px;
        background: rgba(255, 255, 255, 0.5);
        z-index: -1;
    }

    #index h3, #page h2 {
        background: url(img/h3_parts.png) left 2px top 2px no-repeat, url(img/h3_parts2.png) right 2px bottom 2px no-repeat, #fff;
        border: 2px solid #2e7259;
        font-size: 28px;
        padding: 15px 30px;
    }

    #index h4, #page h3 {
        background: url(img/h4_line.png) left bottom repeat-x;
        font-size: 24px;
        padding: 0 20px 10px;
    }

    #index h5, #page h4 {
        border-bottom: 1px dashed #a4bc3e;
        font-size: 20px;
        padding: 0 20px 5px;
    }

    #index ul:not(.subList), #page ul:not(.subList), #index ol, #page ol {
        margin: 30px 0;
    }

    #index ul li, #page ul li {
        background: url(img/il.png) no-repeat 13px 7px;
        padding-left: 35px;
        margin: 0 0px 0 25px;
    }

    #index ol li, #page ol li {
        counter-increment: number;
        display: block;
        list-style: none;
        margin: 0 0 5px;
        padding: 0 0 0 35px;
        position: relative;
    }

    #index ol li:before, #page ol li:before {
        background: #ff8338;
        border-radius: 50%;
        color: #fff;
        content: counter(number);
        display: block;
        font-size: 14px;
        height: 20px;
        left: 8px;
        letter-spacing: -.5px;
        line-height: 21px;
        margin-top: -15px;
        position: absolute;
        text-align: center;
        top: 17px;
        width: 20px;
    }

    #index p span, #page p span {
        background: #fff45c;
        font-size: 18px;
        font-weight: bold;
        line-height: 1;
    }

    .recommend, .check, .point, .recommend-sec, .check-sec, .point-sec {
        background: #e9f3f6;
        font-size: 28px;
        line-height: 1.4;
        margin: 30px 0 15px;
        padding: 25px 30px 25px 130px;
        position: relative;
        z-index: 1;
    }

    .recommend:before, .check:before, .point:before {
        align-items: center;
        color: #fff;
        display: flex;
        justify-content: center;
        position: absolute;
        left: 20px;
        top: 50%;
        margin: -38px 0 0;
        width: 75px;
        height: 75px;
    }

    .recommend-sec:before, .check-sec:before, .point-sec:before {
        align-items: center;
        color: #fff;
        content: "";
        display: flex;
        justify-content: center;
        position: absolute;
        left: 20px;
        top: 50%;
        margin: -38px 0 0;
        width: 75px;
        height: 75px;
        font-size: 40px;
        font-weight: bold;
        padding-top: 30px;
    }

    .recommend_wrap, .check_wrap, .point_wrap {
        counter-reset: div;
        list-style: none;
    }

    .recommend:before, .check:before, .point:before {
        content: "";
    }

    .recommend:before {
        background: url(img/osusume.png) no-repeat;
    }

    .check:before {
        background: url(img/check.png) no-repeat;
    }

    .point:before {
        background: url(img/point.png) no-repeat;
    }

    .recommend-sec:before {
        background: url(img/osusume_number.png) no-repeat;
        content: counter(div);
        counter-increment: div;
    }

    .check-sec:before {
        background: url(img/check_number.png) no-repeat;
        content: counter(div);
        counter-increment: div;
    }

    .point-sec:before {
        background: url(img/point_number.png) no-repeat;
        content: counter(div);
        counter-increment: div;
    }

    .table-layout {
        width: 100%;
        margin: 50px auto;
    }

    .table-layout table {
        border-collapse: separate;
        border-spacing: 0;
        overflow: hidden;
        width: 100%;
    }

    .table-layout table thead th, .table-layout table tbody th, .table-layout table tbody td {
        padding: 15px;
        vertical-align: middle;
        word-break: break-all;
    }

    .table-layout table th {
        background: #e9f3f6;
        font-weight: bold;
        border: 2px solid #fff;
        box-shadow: 0 0 0 1px #cecece inset, 0 0 0 2px #fff;
        text-align: center;
        width: 25%;
    }

    .table-layout table td {
        background: #fff;
        border: 2px solid #fff;
        box-shadow: 0 0 0 1px #cecece inset, 0 0 0 2px #fff;
        text-align: center;
    }

    .float-wrap {
        margin: 20px auto 30px;
        position: relative;
    }

    .float-img {
        width: 240px;
    }

    .fl {
        float: left;
        margin-right: 20px;
    }

    .fr {
        float: right;
        margin-left: 20px;
    }

    .float-img img {
        height: auto;
        max-width: 100%;
    }

    .float-wrap > p {
        margin: 0 auto 10px !important;
        position: relative;
        top: -5px;
    }

    .float-img .caption {
        margin: 10px auto 10px;
    }

    .caption {
        text-align: center;
        font-size: 10px;
        color: #999;
        line-height: 1.8;
        word-wrap: break-word;
    }

    #index .btn-internal a, #index .btn-web a, #page .btn-internal a, #page .btn-web a {
        display: block;
        font-size: 20px;
        font-weight: bold;
        margin: 30px auto;
        text-align: center;
        text-decoration: none;
        position: relative;
        width: 50%;
        z-index: 5;
    }

    #index .btn-internal a, #page .btn-internal a {
        background: #fff url(img/link_ar.png) right 20px center no-repeat;
        border: 2px solid #849e14;
        color: #849e14;
        padding: 15px 50px 15px 30px;
    }

    #index .btn-internal a:after, #page .btn-internal a:after {
        border-right: 1px solid #849e14;
        border-bottom: 1px solid #849e14;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -5px;
        bottom: -6px;
        z-index: -1;
    }

    #index .btn-internal a:hover, #page .btn-internal a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
        right: -5px;
        bottom: -6px;
    }

    #index .btn-internal a:hover:after, #page .btn-internal a:hover:after {
        content: none;
    }

    #index .btn-web a, #page .btn-web a {
        background: #ff8338 url(img/link_ar2.png) right 20px center no-repeat;
        border: 2px solid #ff8338;
        color: #fff;
        padding: 15px 50px 15px 30px;
    }

    #index .btn-web a:after, #page .btn-web a:after {
        border-right: 1px solid #ff8338;
        border-bottom: 1px solid #ff8338;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -5px;
        bottom: -6px;
        z-index: -1;
    }

    #index .btn-web a:hover, #page .btn-web a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
        right: -5px;
        bottom: -6px;
    }

    #index .btn-web a:hover:after, #page .btn-web a:hover:after {
        content: none;
    }

    #index .btn-link, #page .btn-link {
        text-align: right;
    }

    #index .btn-link a, #page .btn-link a {
        background: url(img/link_ar3.png) right center no-repeat;
        color: #1f7697;
        font-size: 14px;
        font-weight: bold;
        padding-right: 30px;
        text-align: right;
        text-decoration: underline;
    }

    #index .btn-link a:hover, #page .btn-link a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
        text-decoration: none;
    }

    .box-wrap {
        margin: 40px auto;
        display: -webkit-flex;
        display: flex;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .left_box {
        margin-right: 25px;
    }

    .box {
        background: #f0f7f9;
        border: 3px solid #1f7697;
        width: 48%;
        padding: 30px;
        position: relative;
        flex-flow: column;
    }

    .box .box-head {
        border-bottom: 1px dashed #1f7697;
        padding: 0 0 15px;
    }

    #index .box .box-head a, #page .box .box-head a {
        background: url(img/2box_ar.png) right center no-repeat;
        display: block;
        color: #1f7697;
        font-size: 18px;
        padding-right: 30px;
        text-decoration: none;
        line-height: 1.4;
    }

    #index .box .box-head a:hover, #page .box .box-head a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
    }

    .box .box-body p {
        margin: 0!important;
    }

    .box .box-body {
        padding: 15px 0 0;
        line-height: 2;
    }

    #index .frame-wrap, #page .frame-wrap {
        display: -webkit-flex;
        display: flex;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 40px 0;
    }

    #index .frame-wrap .frame, #page .frame-wrap .frame {
        border: 3px solid transparent;
        outline: 1px solid #bfbfbf;
        box-shadow: 0 0 0 1px #2e7259 inset;
        padding: 20px;
        position: relative;
        width: 32%;
    }

    #index .frame-wrap a .frame, #page .frame-wrap a .frame {
        width: 230px;
    }

    #index .frame-wrap .frame:before, #page .frame-wrap .frame:before {
        background: #c0d175;
        content: "";
        width: 103%;
        height: 12px;
        position: absolute;
        top: -3px;
        left: -3px;
        z-index: -1;
    }

    #index .frame-wrap.color .frame.pink:before, #page .frame-wrap.color .frame.pink:before {
        background: #db245b;
    }

    #index .frame-wrap.color .frame.green:before, #page .frame-wrap.color .frame.green:before {
        background: #1e6439;
    }

    #index .frame-wrap.color .frame.blue:before, #page .frame-wrap.color .frame.blue:before {
        background: #2860a3;
    }

    #index .frame-wrap .frame .frame-head, #page .frame-wrap .frame .frame-head {
        padding: 15px 0 10px;
    }

    #index .frame-wrap .frame .frame-head p, #page .frame-wrap .frame .frame-head p {
        color: #2e7259;
        font-size: 18px;
        line-height: 1.4;
        margin: 0;
    }

    #index .frame-wrap.color .frame.pink .frame-head p, #page .frame-wrap.color .frame.pink .frame-head p {
        color: #db245b;
    }

    #index .frame-wrap.color .frame.green .frame-head p, #page .frame-wrap.color .frame.green .frame-head p {
        color: #1e6439;
    }

    #index .frame-wrap.color .frame.blue .frame-head p, #page .frame-wrap.color .frame.blue .frame-head p {
        color: #2860a3;
    }

    #index .frame-wrap .frame .frame-body p, #page .frame-wrap .frame .frame-body p {
        margin: 0 0 10px;
    }

    /* addParts common */
    #contents .addParts {
        margin: 0 0 100px;
    }

    #contents .addParts .blue {
        color: #40a0e3;
        font-size: 14px;
        background: none;
        display: block;
        line-height: 1.7;
    }

    #contents .addParts .green {
        color: #849e14;
        font-size: 14px;
        background: none;
        display: block;
        line-height: 1.7;
    }

    #contents .addParts .enTtl {
        margin: 0 auto;
        background: url(img/h2_parts.png) center center no-repeat;
        background-size: 100% 100%;
        font-size: 25px;
        margin-top: 0;
        padding: 10px 40px 0;
        text-align: center;
        position: relative;
        z-index: 1;
        color: #1b80a5;
        font-weight: bold;
    }

    #contents .addParts .partTtl {
        background: url(img/h2_parts.png) center center no-repeat;
        background-size: 100% 100%;
        font-size: 30px;
        margin-top: 0;
        padding: 20px 40px;
        text-align: center;
        position: relative;
        z-index: 1;
    }

    #contents .addParts .iconList {
        margin: 0;
        padding: 0;
    }

    #contents .addParts .iconList li {
        background: #96bec8;
        border-radius: 3px;
        color: #fff;
        text-align: center;
        width: 100%;
        line-height: 1.4;
        padding: 8px 10px 6px;
        font-weight: bold;
        font-size: 10px;
        font-size: 1.0rem;
        display: block;
    }

    #contents .addParts .iconList li span {
        display: table-cell;
        vertical-align: middle;
    }

    #contents .addParts .iconList .off {
        background: #ddd;
    }

    /* addParts01 */
    #contents .addParts01 .comBoxWrap {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
    }

    #contents .addParts01 .comBoxWrap .box {
        width: 228px;
        margin: 0 20px 0 0;
        padding: 10px;
        border: 2px solid #2e7259;
    }

    #contents .addParts01 .comBoxWrap .box:last-child {
        margin: 0;
    }

    #contents .addParts01 .comBoxWrap .box .catch {
        background: url("img/hTit_bg_yel_top.png") 50% 0 no-repeat, url("img/hTit_bg_yel_bottom.png") 50% 100% no-repeat;
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: bold;
        text-align: center;
        position: relative;
        padding: 28px 20px 20px;
        margin: 0 0 20px;
        display: table;
        width: 100%;
    }

    #contents .addParts01 .comBoxWrap .box .catch span {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        background: none;
    }

    #contents .addParts01 .comBoxWrap .box .catch:before {
        content: "";
        width: 100%;
        height: 75%;
        position: absolute;
        top: 20%;
        left: 1px;
        z-index: -1;
        background: url("img/hTit_bg_yel_rep.png") repeat-y;
    }

    #contents .addParts01 .comBoxWrap .box .comBox {
        padding: 0;
    }

    #contents .addParts01 .comBoxWrap .box .comBox h3.name {
        font-size: 21px;
        text-align: center;
        font-weight: bold;
        padding: 20px 15px 20px;
        margin: 0;
        width: 100%;
        display: table;
        background: none;
        border: 0px solid #2e7259;
        background: url(img/h3_parts.png) left 2px top 2px no-repeat;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .name:before, #contents .addParts01 .comBoxWrap .box .comBox .name:after {
        content: none;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .name span {
        display: table-cell;
        vertical-align: middle;
        background: none;
        text-align: center;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .img {
        margin: 0 0 10px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .img img {
        max-width: 100%;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .caption {
        text-align: center;
        line-height: 1.7;
        margin: 0 0 15px;
        padding: 0 20px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList {
        padding: 0;
        margin: 0 0 15px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li {
        margin: 0 5px 5px 0;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li {
        font-size: 25px;
        color: #4a4847;
        background: #ffffff;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li span.oshare {
        font-size: 18px;
        color: #40a0e3;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li span.sumiyasusa {
        color: #849e14;
        font-size: 18px;
        padding: 0 12%;
        width: 200px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li:nth-child(2n) {
        margin: 0 0 5px 0;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .btn-internal, #contents .addParts01 .comBoxWrap .box .comBox .btn-web {
        width: 100%;
        padding: 0;
        margin: 0 0 10px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .btn-internal a, #contents .addParts01 .comBoxWrap .box .comBox .btn-web a {
        padding: 16px 30px 16px;
        width: 90%;
        background-position: right 5px center;
        margin: 20px auto 10px;
        font-size: 16px;
    }

    .l-parts02 {
        margin: 0 0 100px;
        padding: 20px;
        border: solid 1px #333;
        position: relative;
    }

    .l-parts02:before {
        background: #40a0e3;
        content: "";
        width: 100%;
        height: 17px;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    .l-parts02:after {
        background: #40a0e3;
        content: "";
        width: 100%;
        height: 17px;
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: -1;
    }

    .l-parts02 .hosoku {
        padding: 0 30px;
        line-height: 1.5;
    }

    #index .l-parts02 .hosoku span {
        font-size: 14px;
        padding: 0;
    }

    .l-parts02__title {
        margin-bottom: 50px;
        padding: 25px;
        border: dashed 3px #fff;
        font-size: 2.4rem;
        font-weight: bold;
        text-align: center;
        position: relative;
    }

    #index .l-parts02__title {
        margin: 15px 0;
        padding: 10px;
        border: dashed 0px #fff;
        font-size: 2.4rem;
        font-weight: bold;
        text-align: center;
        position: relative;
        background: url(img/pattern.png) repeat;
    }

    #index .l-parts02__title:before {
        content: '';
        position: absolute;
        display: block;
        top: 5px;
        left: 5px;
        right: 5px;
        bottom: 5px;
        background: none;
        z-index: -1;
    }

    .l-parts02__title:first-letter {
        font-size: 2.8rem;
        color: #dc245a;
    }

    .l-parts02__title a {
        padding: 0 60px;
        background: url(img/arrow05_black.svg) no-repeat right center;
        background-size: 40px;
        text-decoration: none;
    }

    .l-parts02__title a:hover {
        background: url(img/arrow05_red.svg) no-repeat right center;
        background-size: 40px;
    }

    .l-parts02-column2 {
        margin-bottom: 1rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: baseline;
        -ms-flex-align: baseline;
    }

    .l-parts02-column2__left {
        width: 38em;
    }

    .l-parts02-column2__left img {
        width: 100%;
    }

    #index ul.l-parts02-column2__right {
        border: solid 2px #ff8338;
        margin: 0 0 0 20px;
        width: 100%;
    }

    .l-parts02-column2__right {
        margin: 0;
    }

    .l-parts02-column2__right__item {
        display: inline-block;
        margin: 0 0 0 4px;
        padding: 0;
        background: none;
    }

    .l-parts02-column2__right p:last-child {
        font-size: 13px;
        padding: 0 0 0 34px;
    }

    .l-parts02-column2__right__item a {
        display: block;
        padding: 4px 8px;
        background: #ddd;
        border-radius: 10px;
        text-decoration: none;
        font-size: 1.2rem;
    }

    .l-parts02__catch {
        display: inline-block;
        padding: 10px 30px 0 35px;
        margin: 0 0 10px 0;
        font-size: 18px;
        font-weight: bold;
        color: #9dc949;
    }

    .l-parts02__slider .slick-prev:before, .l-parts02__slider .slick-next:before {
        color: #666;
    }

    .l-parts02__slider .thumb-item {
        margin: 0 0 20px 0;
        padding: 30px 30px 10px 30px;
        background: #fff;
    }

    .l-parts02__slider .thumb-item li {
        margin: 0;
        padding: 0;
        font-size: 1.1rem;
        line-height: 1.2;
        color: #666;
        background: none;
    }

    .l-parts02__slider .thumb-item li img {
        width: 100%;
    }

    .l-parts02__slider .thumb-item-nav {
        width: 84%;
        margin: 0 auto;
    }

    .l-parts02__slider .thumb-item-nav li {
        margin: 0;
        padding: 25px 0;
        background: none;
        outline: none;
    }

    .l-parts02__slider .thumb-item-nav img {
        width: 200px;
    }

    .l-parts02__slider .thumb-item-nav .slick-current {
        position: relative;
    }

    .l-parts02__slider .thumb-item-nav .slick-current:after {
        content: '';
        width: 94%;
        height: 20px;
        background: url(img/arrow04_black.svg) no-repeat center top;
        background-size: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }

    .l-parts02__slider .thumb-item-nav .slick-current.slick-active:before {
        content: none;
    }

    .l-parts02__slider .thumb-item-nav .slick-active {
        position: relative;
        display: block;
    }

    .l-parts02__slider .thumb-item-nav .slick-active:before {
        content: '';
        width: 200px;
        height: 116px;
        background: rgba(0, 0, 0, 0.5);
        position: absolute;
        top: 25px;
        left: 0;
    }

    .l-parts02-feature {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 40px;
    }

    .l-parts02-feature__left {
        width: 115px;
    }

    .l-parts02-feature__title {
        margin: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 80px;
        height: 80px;
        background: #000;
        border-radius: 50%;
        color: #fff;
        text-align: center;
        font-size: 2.2rem;
        font-weight: bold;
    }

    .l-parts02-feature__list {
        width: 80%;
        margin: 0;
    }

    .l-parts02-feature__list li {
        margin: 0;
        padding: 20px 0;
        border-bottom: dashed 1px #000;
        background: none;
    }

    .l-parts02-voice {
        margin-top: 40px;
        position: relative;
    }

    .l-parts02-voice__title {
        background: #e9f3f6;
        color: #4a4847;
        padding: 15px 0;
        text-align: center;
        font-size: 24px;
        font-weight: bold;
    }

    .l-parts02-voice-box {
        margin: 0 10px;
        background: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .l-parts02-voice-box__item {
        padding: 30px 30px 10px 30px;
        width: calc(100% / 2);
        border-right: dashed 2px #e4f2f5;
        border-bottom: solid 6px #e4f2f5;
        text-align: center;
    }

    .l-parts02-voice-box__item:nth-child(even) {
        border-right: none;
    }

    .l-parts02-voice-box__title {
        margin: 0 0 1rem 0;
        font-size: 18px;
        font-weight: bold;
        color: #40a0e3;
    }

    .l-parts02-voice-box__item .inyou {
        color: #848484;
        margin: 20px 0 0;
        overflow: auto;
        padding: 10px 0;
        white-space: nowrap;
        text-align: left;
    }

    .l-parts02-voice-box__item .inyou:not(.none) {
        color: #d6d6d6;
        font-size: 10px;
        line-height: 1.4;
        margin: 10px auto;
        text-align: center;
        word-wrap: break-word;
    }

    .l-parts02-voice-box__item .inyou br {
        display: none;
    }

    .l-parts02-voice-box__item .inyou::-webkit-scrollbar {
        height: 5px;
    }

    .l-parts02-voice-box__item .inyou::-webkit-scrollbar-track {
        background-color: #f6f6f6;
    }

    .l-parts02-voice-box__item .inyou::-webkit-scrollbar-thumb {
        background-color: rgb(225, 225, 225);
    }

    .l-parts02-voice-box__old {
        margin: 0 0 20px;
        padding: 2px 10px;
        display: inline-block;
        background: #ddd;
    }

    .l-parts02-voice-box__text {
        text-align: left;
        line-height: 2;
    }

    .l-parts02-basic {
        margin-top: 70px;
        padding: 0 10px;
    }

    .l-parts02-basic__title {
        margin-bottom: 30px;
        padding: 0 0 15px 0;
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        position: relative;
    }

    .l-parts02-basic__title:after {
        position: absolute;
        content: "";
        width: 54px;
        bottom: 0;
        left: 50%;
        margin-left: -27px;
        border-bottom: 4px solid #e9f3f6;
        padding-bottom: 8px;
    }

    .l-parts02-basic__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .l-parts02-basic__inner__left {
        width: 460px;
        margin: 0 auto;
    }

    .l-parts02-basic__inner__right {
        width: 260px;
    }

    .l-parts02-basic__inner__right p {
        margin: 0;
    }

    .l-parts02-basic__inner__right img {
        width: 100%;
    }

    .l-parts02-basic .basicInfo {
        width: 100%;
        margin: 0;
    }

    .l-parts02-basic .basicInfo th {
        background: #e9f3f6;
        border: solid 1px #333;
        text-align: center;
        padding: 3px 10px;
    }

    .l-parts02-basic .basicInfo td {
        border: solid 1px #333;
        padding: 3px 10px;
    }

    .l-main-area .l-parts02__catch {
        margin: 0;
    }

    .l-main-area .l-parts02-column2__right {
        margin: 0;
    }

    .l-main-area .l-parts02-column2__right__item {
        margin: 0 0 0 4px;
        padding: 0;
        background: none;
    }

    .l-main-area .l-parts02-feature__list {
        margin: 0;
    }

    .l-main-area .l-parts02-feature__list li {
        margin: 0;
        padding: 2rem 0;
        background: none;
    }

    .slider .slider-for {
        float: left;
        width: 79.852%;
        height: 455px;
        align-items: center;
        display: flex;
        justify-content: center;
    }

    .slider .slider-for button.slick-prev {
        position: absolute;
        top: 38%;
        left: 2%;
        z-index: 5;
        text-indent: -9999px;
        background: url(img/icon_slide_arrow_next.png) 0 center no-repeat;
        background-size: 100%;
        width: 32px;
        height: 50px;
        border: none;
    }

    .slider .slider-for button.slick-next {
        position: absolute;
        top: 38%;
        right: 2%;
        z-index: 5;
        text-indent: -9999px;
        background: url(img/icon_slide_arrow_prev.png) 0 center no-repeat;
        background-size: 100%;
        width: 32px;
        height: 50px;
        border: none;
    }

    .slider .slider-nav-wrap {
        position: absolute;
        top: 50%;
        right: 0px;
        width: 17.171%;
        padding: 0;
        -webkit-transform: translateY(-60%);
        transform: translateY(-60%);
    }

    .slider .slider-nav-wrap .slider-nav .slick-list {
        padding: 0 0 !important;
    }

    .slider .slider-nav-wrap .slider-nav .slick-track {
        left: 0 !important;
    }

    .slider .slider-nav-wrap .slider-nav .slick-slide {
        padding: 5px 0;
        width: 120px!important;
        height: 77px;
    }

    .slider .slider-nav-wrap .slider-nav .slick-slide img {
        width: auto;
        height: 100%;
        margin: 0 auto;
    }

    .slider .slider-nav-wrap .slick-arrow {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .slider .slider-nav-wrap .slick-prev {
        top: auto;
        bottom: -2em;
        background: url(img/arrow_brawn_down.png) center center no-repeat;
        width: 30px;
        height: 17px;
    }

    .slider .slider-nav-wrap .slick-next {
        top: -1.5em;
        background: url(img/arrow_brawn_up.png) center center no-repeat;
        width: 30px;
        height: 17px;
    }

    /*sidebar
    ----------------------------------------*/
    #sub {
        float: right;
        width: 240px;
        margin-bottom: 50px;
    }

    #sub .free_space {
        border: 4px solid transparent;
        outline: 1px solid #d2d2d2;
        box-shadow: 0 0 0 1px #4a4847 inset;
        padding: 15px 15px 20px;
        position: relative;
        width: 100%;
    }

    #sub .free_space:before {
        background: #40a0e3;
        content: "";
        width: 104%;
        height: 17px;
        position: absolute;
        top: -4px;
        left: -4px;
        z-index: -1;
    }

    #sub .free_space:after {
        background: #40a0e3;
        content: "";
        width: 104%;
        height: 17px;
        position: absolute;
        bottom: -4px;
        left: -4px;
        z-index: -1;
    }

    #sub .free_space .ttl {
        border-bottom: 2px solid #d2d2d2;
        margin: 25px 0 20px;
    }

    #sub .free_space .ttl a {
        display: block;
        font-size: 18px;
        font-weight: bold;
        padding-bottom: 10px;
        text-align: center;
    }

    #sub .free_space .ttl a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
    }

    #sub .free_space .fs_img {
        max-width: 100%;
        margin: 0 0 10px;
    }

    #sub .btn-internal a, #sub .btn-web a {
        display: block;
        font-size: 16px;
        margin: 20px auto;
        text-align: center;
        text-decoration: none;
        position: relative;
        width: 100%;
        z-index: 5;
    }

    #sub .btn-internal a {
        background: #fff url(img/side_ar.png) right 10px center no-repeat;
        border: 2px solid #849e14;
        color: #849e14;
        padding: 12px 40px 12px 20px;
    }

    #sub .btn-internal a:after {
        border-right: 1px solid #849e14;
        border-bottom: 1px solid #849e14;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -5px;
        bottom: -6px;
        z-index: -1;
    }

    #sub .btn-internal a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
        right: -5px;
        bottom: -6px;
    }

    #sub .btn-internal a:hover:after {
        content: none;
    }

    #sub .btn-web a {
        background: #ff8338 url(img/side_ar2.png) right 10px center no-repeat;
        border: 2px solid #ff8338;
        color: #fff;
        padding: 12px 40px 12px 20px;
    }

    #sub .btn-web a:after {
        border-right: 1px solid #ff8338;
        border-bottom: 1px solid #ff8338;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -5px;
        bottom: -6px;
        z-index: -1;
    }

    #sub .btn-web a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
        right: -5px;
        bottom: -6px;
    }

    #sub .btn-web a:hover:after {
        content: none;
    }

    #sub .cate_menu .cate_menu_box {
        background: #e4f2f5;
        margin: 40px 0;
        padding: 5px;
        text-align: justify;
        width: 100%;
    }

    #sub .cate_menu .cate_menu_box .brdr {
        background: #fff;
        border: 1px solid #d2d2d2;
        position: relative;
    }

    #sub .cate_menu .cate_menu_box .brdr:before {
        background: #d2d2d2;
        content: "";
        width: 40%;
        height: 4px;
        position: absolute;
        top: -3px;
        left: 50%;
        margin-left: -48px;
    }

    #sub .cate_menu .cate_top ul {
        border-bottom: 1px solid #d2d2d2;
    }

    #sub .cate_menu .cate_top a {
        background: url(img/side_category_ar.png) right 10px center no-repeat;
        color: #1f7697;
        display: block;
        padding: 18px 40px 18px 20px;
        font-size: 16px;
    }

    #sub .cate_menu ul li {
        border-top: 1px dashed #4a4847;
        margin: 0 10px;
    }

    #sub .cate_menu ul {
        border-top: 1px solid #d2d2d2;
    }

    #sub .cate_menu ul li:not(.child):first-child {
        border-top: none;
    }

    #sub .cate_menu ul li a {
        background: url(img/side_category_ar2.png) right center no-repeat;
        display: block;
        padding: 15px 30px 15px 10px;
    }

    #sub .cate_menu .sitemap {
        margin-top: -30px;
        font-size: 12px;
        text-align: right;
    }

    #sub .cate_menu .sitemap a {
        background: url(img/side_sitemap_ar.png) right 25px top 6px no-repeat;
        display: inline-block;
        padding-right: 50px;
    }

    /*footer
    ----------------------------------------*/
    footer {
        background: #e9f3f6;
        padding: 40px 0 0;
        width: 100%;
        min-width: 1000px;
    }

    footer #pagetop {
        position: absolute;
        top: -130px;
        right: 0;
        z-index: 5;
    }

    footer #pagetop a {
        display: inline-block;
    }

    footer #pagetop a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
    }

    footer .inner {
        position: relative;
    }

    footer .all.flex {
        align-items: center;
        flex-wrap: wrap;
        width: 100%;
    }

    footer .inner .frame-wrap {
        width: 100%;
        margin: 10px auto 0;
    }

    footer .frame-wrap .frame {
        margin: 20px 0 30px;
        padding: 0;
        width: 100%;
    }

    footer .frame-head {
        border-bottom: 2px solid #969a9b;
    }

    footer .frame-head a {
        background: url(img/footer_ar.png) right center no-repeat;
        display: inline-block;
        padding: 10px 30px 10px 0;
        font-size: 18px;
    }

    footer .frame-head a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
    }

    footer ul:not(.sub_list) {
        display: block;
        line-height: 100%;
        margin: 10px 0 30px 0;
    }

    footer ul:not(.sub_list) {
        display: -webkit-flex;
        display: flex;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -weblit-justify-content: flex-start;
        justify-content: flex-start;
    }

    footer ul li:not(.sub_cat) {
        vertical-align: top;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 25%;
    }

    footer ul li a {
        background: url(img/footer_ar2.png) left top 8px no-repeat;
        display: block;
        text-decoration: none;
        padding: 5px 10px 5px 20px;
        position: relative;
        width: 100%;
        line-height: 135%;
        margin: 0 0 10px;
    }

    footer ul li.sub_cat a {
        background: none;
        padding-left: 45px;
        position: relative;
    }

    footer ul li.sub_cat a:before {
        content: "└";
        position: absolute;
        top: 6px;
        left: 20px;
    }

    footer ul li a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
    }

    footer .notes {
        background: #fff;
        border: 1px solid #989898;
        color: #666;
        font-size: 12px;
        margin: 20px auto;
        line-height: 1.8;
        padding: 10px 20px;
        width: 63%;
    }

    footer .notes span {
        display: block;
        text-align: center;
    }

    footer .copyright {
        font-size: 11px;
        padding: 3px 0;
        text-align: center;
    }

    footer .copyright a {
        line-height: 1.4;
    }

    /****pc*******/
}

/*----------------------------------------------------
        SPサイトcss
----------------------------------------------------*/
@media screen and (max-width: 599px) {
    img {
        max-width: 100%;
    }

    .pc {
        display: none;
    }

    .left, .Left {
        float: left;
    }

    .right, .Right {
        float: right;
    }

    html {
        font-size: 3.2vw;
    }

    body {
        font-size: 1.4rem;
        line-height: 1.7;
    }

    #index a, #page a {
        color: #4a4847;
        text-decoration: underline;
    }

    #index p, #page p, #sub p {
        margin: 0.625rem 0;
    }

    /*header
    ----------------------------------------*/
    header {
        background: #e4f2f5;
        position: relative;
        width: 100%;
    }

    header p {
        margin: 0;
    }

    header .inner {
        padding: 0 6rem 0 1rem;
    }

    header .flex.topbar {
        display: flex;
        flex-direction: column-reverse;
        flex-wrap: wrap;
    }

    header .lead {
        background: #1b80a5;
        color: #fff;
        font-size: 1.1rem;
        padding: 0.2rem 0;
    }

    header .site_ttl {
        padding: 2rem 5rem 2rem 1.2rem;
    }

    header .site_ttl .inner {
        padding: 0;
    }

    header h1, header .site_ttl a {
        display: inline-block;
        font-size: 1.3rem;
        line-height: 1.4;
        color: #1b80a5;
    }

    header .menu_btn {
        position: fixed;
        top: 1rem;
        right: 1rem;
        width: 15%;
        z-index: 120;
    }

    header .menu_btn img {
        width: 100%;
    }

    header .menu_btn.open img {
        opacity: 0;
    }

    header .site_ttl {
        background: #e9f3f6;
        padding: 20px 0;
        text-align: center;
    }

    header .site_ttl h1, header .site_ttl a {
        display: inline-block;
        font-size: 2.3rem;
        line-height: 1.4;
        letter-spacing: 1.5px;
        font-weight: bold;
        color: #1b80a5;
    }

    header .site_ttl h1 span, header .site_ttl a span {
        display: block;
        font-size: 1.6rem;
        color: #4a4847;
    }

    /*nav
    ----------------------------------------*/
    nav {
        position: relative;
        position: fixed;
        display: none;
        top: 0;
        right: 0;
        width: 65%;
        height: 100%;
        z-index: 10000;
        background: rgba(228, 242, 245, 0.9);
    }

    nav .nav_sp {
        border-right: 0.1rem solid #d2d2d2;
        border-left: 0.1rem solid #d2d2d2;
        margin-bottom: 6rem;
    }

    nav .nav_sp .sp_menu {
        background: #fff;
    }

    nav .nav-parent {
        overflow: auto;
        height: 90vh;
    }

    nav .nav-parent::-webkit-scrollbar {
        width: 0.5rem;
    }

    nav .nav-parent::-webkit-scrollbar-track {
        background-color: #d2d2d2;
    }

    nav .nav-parent::-webkit-scrollbar-thumb {
        background-color: #a6a6a6;
    }

    nav .ttl:last-of-type {
        border-bottom: 0.1rem solid #d2d2d2;
        margin-bottom: 0;
    }

    nav .ttl .cate {
        background: #e4f2f5 url(img/sp/footer_category_ar.png) right 1rem center no-repeat;
        background-size: 1.2rem auto;
        border-top: 0.1rem solid #d2d2d2;
        display: block;
        font-size: 1.4rem;
        padding: 1.2rem 3.5rem 1.2rem 1.2rem;
        text-align: justify;
        line-height: 1.4;
    }

    nav .ttl .cate.open {
        background: #e4f2f5 url(img/sp/footer_category_ar3.png) right 1rem center no-repeat;
        background-size: 0.8rem auto;
    }

    nav .ttl .sp_child {
        display: none;
    }

    nav .sp_child li:first-child {
        border-top: 0.1rem solid #d2d2d2;
    }

    nav .sp_child li a {
        background: #fff url(img/sp/footer_category_ar2.png) left 1.2rem center no-repeat;
        background-size: 1.5rem auto;
        border-bottom: 0.1rem dashed #7e7e7e;
        display: block;
        font-size: 1.4rem;
        padding: 1.2rem 1rem 1.2rem 3.5rem;
        text-align: justify;
        line-height: 1.4;
    }

    nav .sp_child li:last-child a {
        border-bottom: none;
    }

    nav a {
        text-decoration: none;
    }

    #close {
        position: absolute;
        background-size: contain;
        top: 3rem;
        left: -5.5rem;
        width: 23%;
    }

    #close img {
        width: 100%;
    }

    /*mv
    ----------------------------------------*/
    header #mv {
        width: 100%;
    }

    header #mv .mv_wrap .mv_img {
        border: 0.1rem solid #217798;
    }

    header #mv .mv_wrap .mv_img img {
        max-width: 100%;
    }

    header #mv .inner {
        padding: 0;
    }

    header #mv .mv_wrap .mv_catch {
        background: url(img/sp/mv_pattern.png) repeat;
        background-size: 1rem auto;
        border-right: 0.1rem solid #217798;
        border-bottom: 0.1rem solid #217798;
        border-left: 0.1rem solid #217798;
        padding: 1rem;
    }

    header #mv .mv_wrap .mv_catch .catch_inner {
        background: #fff;
        padding: 1.5rem 1rem;
    }

    header #mv .mv_wrap .mv_catch .catch_inner h2 {
        border-bottom: 0.2rem solid #d8d8d8;
        color: #4ba2bc;
        font-size: 1.84rem;
        font-weight: bold;
        line-height: 1.8;
        padding: 0 0 1rem;
    }

    header #mv .mv_wrap .mv_catch .catch_inner .mv_txt {
        padding: 1.5rem 0 0;
        line-height: 1.8;
    }

    /*contents
    ----------------------------------------*/
    #contents {
        padding: 1rem 1rem 8rem;
    }

    #contents_low {
        padding: 0 1rem 8rem;
    }

    #pankuzu {
        color: #969696;
        font-size: 1.3rem;
        width: 100%;
        margin: 1.4rem 0;
        padding: 0 0 0.4rem;
        overflow: auto;
        white-space: normal;
    }

    #pankuzu a {
        color: #969696;
        text-decoration: underline;
    }

    #pankuzu::-webkit-scrollbar {
        height: 0.5rem;
    }

    #pankuzu::-webkit-scrollbar-track {
        background: #d2d2d2;
    }

    #pankuzu::-webkit-scrollbar-thumb {
        background: #a6a6a6;
    }

    #index h1, #index h2, #index h3, #index h4, #index h5, #page h1, #page h2, #page h3, #page h4, #page h5 {
        font-weight: bold;
        line-height: 1.4;
        margin: 3rem 0 1.5rem;
    }

    #index h2, #page h1 {
        background: #e5ce77 url(img/sp/h2.png) center center no-repeat;
        background-size: 100% 100%;
        font-size: 2rem;
        padding: 1.1rem 1.5rem;
        position: relative;
        z-index: 1;
    }

    #index h2:before , #page h1:before {
        content: '';
        position: absolute;
        display: block;
        top: 0.5rem;
        left: 0.5rem;
        right: 0.5rem;
        bottom: 0.5rem;
        background: rgba(255, 255, 255, 0.5);
        z-index: -1;
    }

    #index h3, #page h2 {
        background: url(img/sp/h3_parts1.png) left 0.1rem top 0.1rem no-repeat, url(img/sp/h3_parts2.png) right 0.1rem bottom 0.1rem no-repeat;
        background-size: 0.8rem auto;
        border: 0.1rem solid #3b7b63;
        font-size: 1.9rem;
        padding: 0.8rem 1.5rem;
    }

    #index h4, #page h3 {
        background: url(img/sp/h4_line.png) bottom repeat-x;
        background-size: 30rem auto;
        font-size: 1.7rem;
        padding: 0 0 0.5rem;
    }

    #index h5, #page h4 {
        border-bottom: 0.1rem dashed #a4bc3e;
        font-size: 1.6rem;
        padding: 0 0 0.5rem;
    }

    #index ul, #page ul:not(.subList), #index ol, #page ol {
        margin: 2.1rem 0;
    }

    #index ul li, #page ul li {
        background: url(img/sp/li.png) no-repeat left 0.9rem top 0.5rem;
        background-size: 1.2rem auto;
        margin: 0 0 5px;
        padding-left: 3rem;
    }

    #index ol li, #page ol li {
        counter-increment: number;
        display: block;
        margin: 0 0 5px;
        list-style: none;
        padding-left: 3rem;
        position: relative;
    }

    #index ol li:before, #page ol li:before {
        background: #ff8338;
        border-radius: 50%;
        color: #fff;
        content: counter(number);
        display: block;
        font-size: 1.2rem;
        margin-top: -1.3rem;
        left: 0.5rem;
        letter-spacing: -.5px;
        line-height: 2rem;
        width: 1.8rem;
        height: 1.5em;
        position: absolute;
        text-align: center;
        top: 1.5rem;
    }

    #index p span, #page p span {
        background: #fff45c;
        font-size: 1.6rem;
        font-weight: bold;
    }

    .rank, .recommend, .check, .point, .recommend-sec, .check-sec, .point-sec {
        background: #e9f3f6;
        font-size: 1.8rem;
        line-height: 1.4;
        margin: 3rem 0 1.5rem;
        padding: 1.4rem 1rem 1.4rem 6.5rem;
        position: relative;
        z-index: 3;
    }

    .rank:before, .recommend:before, .check:before, .point:before {
        align-items: center;
        display: flex;
        justify-content: center;
        left: 0.5rem;
        top: 50%;
        margin: -4rem 0 0;
        width: 8rem;
        height: 8rem;
        z-index: 5;
    }

    .rank_wrap, .recommend_wrap, .check_wrap, .point_wrap {
        counter-reset: div;
        list-style: none;
    }

    .rank:before {
        content: "";
        content: counter(div);
        counter-increment: div;
        z-index: 2;
    }

    .rank:after {
        background: url(img/sp/rank-icon.png) no-repeat;
        content: "";
        width: 17%;
        height: 303%;
        position: absolute;
        left: 2%;
        top: 50%;
        margin-top: -9%;
        background-size: 100%;
    }

    .recommend:after, .check:after, .point:after, .recommend-sec::after, .check-sec:after, .point-sec:after {
        content: "";
        align-items: center;
        color: #fff;
        display: flex;
        justify-content: center;
        width: 5rem;
        height: 5.1rem;
        position: absolute;
        left: 0.5rem;
        top: 50%;
        margin-top: -2.52rem;
    }

    .recommend-sec:before, .check-sec:before, .point-sec:before {
        content: "";
        content: counter(div);
        counter-increment: div;
        z-index: 2;
        align-items: center;
        color: #fff;
        display: flex;
        justify-content: center;
        width: 5rem;
        height: 5.1rem;
        position: absolute;
        left: 0.5rem;
        top: 50%;
        margin-top: -1.7rem;
        font-size: 2.6rem;
    }

    .recommend:after {
        background: url(img/sp/osusume.png) no-repeat;
        background-size: 100% auto;
    }

    .check:after {
        background: url(img/sp/check.png) no-repeat;
        background-size: 100% auto;
    }

    .point:after {
        background: url(img/sp/point.png) no-repeat;
        background-size: 100% auto;
    }

    .recommend-sec:after {
        background: url(img/sp/osusume_number.png) no-repeat;
        background-size: 100% auto;
        content: "";
    }

    .check-sec:after {
        background: url(img/sp/check_number.png) no-repeat;
        background-size: 100% auto;
        content: "";
    }

    .point-sec:after {
        background: url(img/sp/point_number.png) no-repeat;
        background-size: 100% auto;
        content: "";
    }

    .table-layout {
        width: 95%;
        margin: 2.9rem auto;
        overflow: auto;
        white-space: normal;
    }

    .table-layout table {
        border-collapse: separate;
        border-spacing: 0;
        margin: 1.7rem 0 1rem;
        overflow: hidden;
        width: 100%;
    }

    .table-layout::-webkit-scrollbar {
        height: 0.6rem;
    }

    .table-layout::-webkit-scrollbar-track {
        background: #d2d2d2;
    }

    .table-layout::-webkit-scrollbar-thumb {
        background: #a0a0a0;
    }

    .table-layout table thead th, .table-layout table tbody th, .table-layout table tbody td {
        padding: 0.6rem;
        vertical-align: middle;
        word-break: break-all;
    }

    .table-layout table th {
        background: #e9f3f6;
        border: 2px solid #fff;
        box-shadow: 0 0 0 1px #cecece inset, 0 0 0 2px #fff;
        font-weight: bold;
        text-align: center;
    }

    .table-layout table td {
        background: #fff;
        border: 2px solid #fff;
        box-shadow: 0 0 0 1px #cecece inset, 0 0 0 2px #fff;
        text-align: center;
    }

    .float-wrap {
        margin: 3rem auto;
        position: relative;
    }

    .float-wrap > p {
        margin: 0 auto 1rem !important;
        position: relative;
        top: -0.5rem;
    }

    .float-img {
        width: 100%;
        margin: 0 auto;
    }

    .float-img img {
        max-width: 100%;
    }

    .fl {
        float: left;
        margin-right: 1.5rem;
        width: 40%;
    }

    .caption {
        text-align: center;
        font-size: 1.0rem;
        color: #999;
        margin: 1rem 0;
        line-height: 1.4;
        word-wrap: break-word;
    }

    #index .btn-internal a, #index .btn-web a, #page .btn-internal a, #page .btn-web a, #index .btn-link a, #page .btn-link a, #index .btn-tel a , #page .btn-tel a {
        display: block;
        font-size: 1.7rem;
        margin: 1.5rem auto;
        text-align: center;
        text-decoration: none;
        width: 80%;
        position: relative;
    }

    #index .btn-internal a, #page .btn-internal a {
        border: 0.1rem solid #9db243;
        background: #fff url(img/sp/link_ar.png) right 1.5rem center no-repeat;
        background-size: 2rem auto;
        color: #9db243;
        padding: 1.2rem 4rem 1.2rem 2rem;
    }

    #index .btn-internal a:after, #page .btn-internal a:after {
        border-right: 0.1rem solid #9db243;
        border-bottom: 0.1rem solid #9db243;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -0.4rem;
        bottom: -0.4rem;
        z-index: -1;
    }

    #index .btn-web a, #page .btn-web a {
        background: #ff8338 url(img/sp/link_ar2.png) right 1.5rem center no-repeat;
        background-size: 2rem auto;
        color: #fff;
        padding: 1.2rem 4rem 1.2rem 2rem;
    }

    #index .btn-web a:after {
        border-right: 0.1rem solid #ff8338;
        border-bottom: 0.1rem solid #ff8338;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -0.3rem;
        bottom: -0.3rem;
        z-index: -1;
    }

    #page .btn-web a:after {
        border-right: 0.1rem solid #ff8338;
        border-bottom: 0.1rem solid #ff8338;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -0.3rem;
        bottom: -0.3rem;
        z-index: -1;
    }

    #index .btn-link a, #page .btn-link a {
        border: 0.1rem solid #1f7697;
        background: #fff url(img/sp/link_ar3.png) right 1.5rem center no-repeat;
        background-size: 2rem auto;
        color: #1f7697;
        padding: 1.2rem 4rem 1.2rem 2rem;
    }

    #index .btn-link a:after {
        border-right: 0.1rem solid #1f7697;
        border-bottom: 0.1rem solid #1f7697;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -0.4rem;
        bottom: -0.4rem;
        z-index: -1;
    }

    #page .btn-link a:after {
        border-right: 0.1rem solid #1f7697;
        border-bottom: 0.1rem solid #1f7697;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -0.4rem;
        bottom: -0.4rem;
        z-index: -1;
    }

    #index .btn-tel a, #page .btn-tel a {
        background: #2e7259 url(img/sp/tel_icon.png) left 1.5rem center no-repeat;
        background-size: 1.8rem auto;
        color: #fff;
        padding: 1.2rem 1.5rem 1.2rem 4rem;
        width: 100%;
        line-height: 1.3;
    }

    #index .btn-tel a:after, #page .btn-tel a:after {
        border-right: 0.1rem solid #2e7259;
        border-bottom: 0.1rem solid #2e7259;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -0.3rem;
        bottom: -0.3rem;
        z-index: -1;
    }

    .box {
        background: #f0f7f9;
        border: 0.2rem solid #1f7697;
        width: 100%;
        margin: 2rem auto;
        padding: 2rem;
    }

    .box .box-head {
        border-bottom: 0.2rem dashed #1f7697;
        padding: 0 0 0.8rem;
    }

    #index .box .box-head a, #page .box .box-head a {
        background: url(img/sp/link_ar3.png) right center no-repeat;
        background-size: 2rem auto;
        color: #1f7697;
        display: block;
        font-size: 1.7rem;
        text-decoration: none;
        padding: 0 2.5rem 0 0;
    }

    .box .box-body {
        padding: 0.8rem 0 0;
    }

    .box .box-body a {
        background: #6ebfd7 url(img/link_ar2.png) right 1.5rem center no-repeat;
        background-size: 2rem auto;
        padding: 1rem 4rem 1rem 2rem;
        color: #fff !important;
        display: block;
        font-size: 1.7rem;
        margin: 2rem auto;
        text-align: center;
        text-decoration: none !important;
        position: relative;
        width: 95%;
        z-index: 3;
    }

    .box .box-body a:after {
        border-right: 0.1rem solid #6ebfd7;
        border-bottom: 0.1rem solid #6ebfd7;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -0.4rem;
        bottom: -0.4rem;
        z-index: -1;
    }

    #index .frame-wrap .frame, #page .frame-wrap .frame {
        border: 0.8rem solid transparent;
        outline: 0.1rem solid #bfbfbf;
        box-shadow: 0 0 0 1px #2e7259 inset;
        padding: 3rem 2rem 2rem;
        margin: 2rem 0;
        position: relative;
    }

    #index .frame-wrap .frame:before, #page .frame-wrap .frame:before {
        background: #c0d175;
        content: "";
        width: 106%;
        height: 1.5rem;
        position: absolute;
        top: -0.8rem;
        left: 0;
        margin-left: -0.8rem;
        z-index: -1;
    }

    #index .frame-wrap.color .frame.pink:before, #page .frame-wrap.color .frame.pink:before {
        background: #db245b;
    }

    #index .frame-wrap.color .frame.green:before, #page .frame-wrap.color .frame.green:before {
        background: #1e6439;
    }

    #index .frame-wrap.color .frame.blue:before, #page .frame-wrap.color .frame.blue:before {
        background: #2860a3;
    }

    #index .frame-wrap p, #page .frame-wrap p {
        margin: 0;
    }

    #index .frame-wrap .frame .frame-head, #page .frame-wrap .frame .frame-head {
        color: #2e7259;
        font-size: 1.7rem;
        padding: 0 0 1.5rem;
    }

    #index .frame-wrap.color .frame.pink .frame-head p, #page .frame-wrap.color .frame.pink .frame-head p {
        color: #db245b;
    }

    #index .frame-wrap.color .frame.green .frame-head p, #page .frame-wrap.color .frame.green .frame-head p {
        color: #1e6439;
    }

    #index .frame-wrap.color .frame.blue .frame-head p, #page .frame-wrap.color .frame.blue .frame-head p {
        color: #2860a3;
    }

    #index .frame-wrap .frame .frame-body, #page .frame-wrap .frame .frame-body {
        margin: 0 0 1rem;
    }

    #sub .free_space {
        border: 0.8rem solid transparent;
        outline: 0.1rem solid #d2d2d2;
        box-shadow: 0 0 0 1px #4a4847 inset;
        padding: 3rem 2rem 2rem;
        margin: 3rem 0;
        position: relative;
    }

    #sub .free_space:before {
        background: #40a0e3;
        content: "";
        width: 106%;
        height: 1.5rem;
        position: absolute;
        top: -0.8rem;
        left: 0;
        margin-left: -0.8rem;
        z-index: -1;
    }

    #sub .free_space:after {
        background: #40a0e3;
        content: "";
        width: 106%;
        height: 1.5rem;
        position: absolute;
        bottom: -0.8rem;
        left: 0;
        margin-left: -0.8rem;
        z-index: -1;
    }

    #sub .free_space .ttl {
        border-bottom: 0.3rem solid #d2d2d2;
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 1.8;
        padding: 0 0 1.5rem;
    }

    #sub .free_space .ttl a {
        display: block;
        text-decoration: none;
    }

    #sub .free_space .fs_img {
        max-width: 100%;
        margin: 2rem 0 1rem;
    }

    #sub .btn-internal a, #sub .btn-web a {
        display: block;
        font-size: 1.7rem;
        margin: 2rem auto;
        text-align: center;
        text-decoration: none;
        width: 95%;
        position: relative;
    }

    #sub .btn-internal a {
        border: 0.1rem solid #9db243;
        background: #fff url(img/sp/link_ar.png) right 1.5rem center no-repeat;
        background-size: 2rem auto;
        color: #9db243;
        padding: 1.2rem 4rem 1.2rem 2rem;
    }

    #sub .btn-internal a:after {
        border-right: 0.1rem solid #9db243;
        border-bottom: 0.1rem solid #9db243;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -0.4rem;
        bottom: -0.4rem;
        z-index: -1;
    }

    #sub .btn-web a {
        background: #ff8338 url(img/sp/link_ar2.png) right 1.5rem center no-repeat;
        background-size: 2rem auto;
        color: #fff;
        padding: 1.2rem 4rem 1.2rem 2rem;
    }

    #sub .btn-web a:after {
        border-right: 0.1rem solid #ff8338;
        border-bottom: 0.1rem solid #ff8338;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: -0.4rem;
        bottom: -0.4rem;
        z-index: -1;
    }

    /*footer
    ----------------------------------------*/
    footer {
        background: #e4f2f5;
        width: 100%;
    }

    footer .inner {
        padding: 1rem 1rem 0;
        position: relative;
    }

    footer #pagetop_sp {
        position: fixed;
        bottom: -100px;
        right: 1rem;
        width: 15%;
        height: auto;
        z-index: 5;
        transition: .3s;
    }

    footer #pagetop_sp img {
        width: 100%;
        height: auto;
    }

    footer .footer_top {
        border-right: 0.1rem solid #d2d2d2;
        border-top: 0.1rem solid #d2d2d2;
        border-left: 0.1rem solid #d2d2d2;
        background: #fff;
        color: #1f7697;
        font-size: 1.7rem;
        font-weight: bold;
        padding: 1.8rem 2rem;
        position: relative;
        text-align: center;
    }

    footer .footer_top:before {
        background: #d2d2d2;
        content: "";
        width: 60%;
        height: 0.5rem;
        position: absolute;
        top: -0.25rem;
        left: 50%;
        margin-left: -8.5rem;
    }

    footer .frame-wrap {
        background: #fff;
        border-right: 0.1rem solid #d2d2d2;
        border-left: 0.1rem solid #d2d2d2;
        margin: 0 0 1.5rem;
        width: 100%;
    }

    footer .frame-wrap .frame:last-child {
        border-bottom: 0.1rem solid #d2d2d2;
    }

    footer .frame-wrap .frame-head-top {
        background: #e4f2f5 url(img/sp/footer_category_ar.png) right 1rem center no-repeat;
        background-size: 1.2rem auto;
        border-top: 0.1rem solid #d2d2d2;
        display: block;
        font-size: 1.6rem;
        padding: 1rem 3rem 1rem 2rem;
    }

    footer .frame-head-top.naviopen {
        background: #e4f2f5 url(img/sp/footer_category_ar3.png) right 1rem center no-repeat;
        background-size: 0.8rem auto;
    }

    footer .frame-wrap ul {
        display: none;
    }

    footer .frame-wrap ul li ul {
        display: block;
    }

    footer .frame-wrap ul li a {
        background: #fff url(img/sp/footer_category_ar2.png) left 2rem center no-repeat;
        background-size: 2rem auto;
        border-top: 0.1rem dashed #7e7e7e;
        display: block;
        padding: 1.2rem 1rem 1rem 5rem;
    }

    footer .frame-wrap ul li:first-child a {
        border-top: 0.1rem solid #d2d2d2;
    }

    footer .frame-wrap ul.sub_list li.sub_cat a {
        border-top: 0.1rem dashed #7e7e7e;
    }

    footer .frame-wrap ul li.sub_cat a {
        background: none;
        padding-left: 6rem;
        position: relative;
    }

    footer .frame-wrap ul li.sub_cat a:before {
        content: "└";
        position: absolute;
        left: 4rem;
        top: 1.4rem;
    }

    footer .sitemap {
        text-align: center;
    }

    footer .sitemap a {
        background: url(img/sp/footer_sitemap_ar.png) right 1rem center no-repeat;
        background-size: 2rem auto;
        color: #1f7697;
        display: inline-block;
        padding: 0 3.5rem 0 0;
        text-align: center;
    }

    footer .notes {
        background: #fff;
        color: #666;
        border: 0.1rem solid #d2d2d2;
        font-size: 1.2rem;
        margin: 1.5rem 0;
        padding: 1.5rem;
    }

    footer .notes span {
        display: block;
    }

    footer .copyright {
        font-size: 1.2rem;
        line-height: 1.4;
        padding: 1rem;
        text-align: center;
    }

    footer .copyright a {
        text-decoration: underline;
    }

    .contBox.contBox04 {
        margin-top: 3rem;
    }

    #slideArea .slideinner {
        width: 100%;
        margin: 0 auto;
        position: relative;
        padding: 0;
        box-sizing: border-box;
    }

    .slider .slider-for button.slick-prev {
        position: absolute;
        top: 32%;
        left: -2%;
        z-index: 5;
        text-indent: -9999px;
        background: url(img/icon_slide_arrow_next.png) 0 center no-repeat;
        background-size: 17px;
        width: 24px;
        height: 40px;
        border: none;
    }

    .slider .slider-for button.slick-next {
        position: absolute;
        top: 32%;
        right: -5%;
        z-index: 5;
        text-indent: -9999px;
        background: url(img/icon_slide_arrow_prev.png) 0 center no-repeat;
        background-size: 17px;
        width: 24px;
        height: 40px;
        border: none;
    }

    .slick-initialized .slick-slide p {
        display: block;
        margin: 10px 0 5px 0;
        line-height: 1.4;
        padding: 0;
        box-sizing: border-box;
        font-size: 10px;
        color: #a9a9a9;
    }

    .sp-thumbnail {
        width: 23%!important;
    }

    .slick-list {
        position: relative;
        display: block;
        overflow: hidden;
        margin: 0;
        padding: 0;
    }

    .slider .slider-for {
        margin: 0 0 10px 0;
    }

    .slick-initialized .slick-slide {
        display: block;
        font-size: 12px;
        color: #8c8c8c;
        line-height: 1.2em;
        height: 250px;
    }

    .slider img {
        width: auto;
        height: 80%;
        margin: 0 auto;
    }

    .slick-initialized .sp-thumbnail {
        height: 55px;
    }

    .slick-initialized .sp-thumbnail img {
        width: auto;
    }

    .l-parts02 {
        margin: 0 0 6rem;
    }

    .l-parts02__title {
        margin-bottom: 2rem;
        padding: 1.5rem 5% 1rem;
        line-height: 1.4;
    }

    .l-parts02__title:after {
        height: 3rem;
        top: -1.6rem;
    }

    .l-parts02__title a {
        padding: 0 3rem 0 0;
        background: url(img/arrow05_black.svg) no-repeat right center;
        background-size: 30px;
    }

    .l-parts02__title a:hover {
        background-size: 30px;
    }

    .l-parts02-column2 {
        display: block;
    }

    .l-parts02-column2 .l-parts02__catch {
        display: block;
        margin: 0 auto 1rem;
        padding: 0 1.5rem;
        font-size: 1.8rem;
        text-align: center;
    }

    .l-parts02-column2 .l-parts02-column2__right {
        text-align: right;
    }

    .l-parts02-column2 .l-parts02-column2__right__item a {
        font-size: 1rem;
    }

    .l-parts02__slider .thumb-item {
        padding: 1rem;
    }

    .l-parts02__slider .thumb-item li {
        font-size: 0.8rem;
    }

    .l-parts02__slider .thumb-item-nav {
        width: 86%;
    }

    .l-parts02__slider .thumb-item-nav img {
        width: 100%;
    }

    .l-parts02__slider .thumb-item-nav li {
        width: calc((100% - 2rem) / 3);
        padding: 1rem 0.5rem;
    }

    .l-parts02__slider .thumb-item-nav .slick-current:after {
        height: 10px;
        left: 0.4rem;
    }

    .l-parts02__slider .thumb-item-nav .slick-active:before {
        width: calc(100% - 1rem);
        height: calc(100% - 2rem);
        top: 1rem;
        left: 0.5rem;
    }

    .l-parts02-feature {
        margin-top: 3rem;
        display: block;
    }

    .l-parts02-feature__title {
        margin: 0;
    }

    .l-parts02-feature__left {
        width: auto;
        text-align: center;
    }

    .l-parts02-feature__list {
        width: 100%;
    }

    .l-parts02-voice__title {
        top: -70px;
        left: calc(50% - 40px);
    }

    .l-parts02-voice-box:after {
        width: 25%;
    }

    .l-parts02-voice-box__item {
        width: 100%;
        padding: 2rem 1.5rem 0 1.5rem;
        border-right: none;
        border-bottom: dashed 2px #f4f4f4;
    }

    .l-parts02-voice-box__item:last-child {
        border: none;
    }

    .l-parts02-basic {
        margin-top: 5rem;
    }

    .l-parts02-basic .l-parts02-basic__inner__left {
        margin-bottom: 2rem;
    }

    .l-parts02-basic .l-parts02-basic__inner__right {
        width: 80%;
        margin: 0 auto;
    }

    .l-main-area .l-parts02-feature__title {
        margin: 0 auto;
    }

    .l-main-area .l-parts02-voice-box__title {
        margin: 1rem 0;
    }

    .l-main-area .l-parts02-voice-box__old {
        margin: 0;
    }

    /* addParts common */
    #contents .addParts {
        margin: 0 0 100px;
    }

    #contents .addParts .blue {
        color: #40a0e3;
        font-size: 14px;
        background: none;
        display: block;
        line-height: 1.7;
    }

    #contents .addParts .green {
        color: #849e14;
        font-size: 14px;
        background: none;
        display: block;
        line-height: 1.7;
    }

    #contents .addParts .enTtl {
        margin: 0 auto;
        background: url(img/h2_parts.png) center center no-repeat;
        background-size: 100% 100%;
        font-size: 4vw;
        margin-top: 0;
        padding: 10px 10px 0;
        text-align: center;
        position: relative;
        z-index: 1;
        color: #1b80a5;
        font-weight: bold;
    }

    #contents .addParts .partTtl {
        background: url(img/h2_parts.png) center center no-repeat;
        background-size: 100% 100%;
        font-size: 2rem;
        margin-top: 0;
        padding: 10px 10px;
        text-align: center;
        position: relative;
        z-index: 1;
    }

    #contents .addParts .iconList {
        margin: 0;
        padding: 0;
    }

    #contents .addParts .iconList li {
        background: #96bec8;
        border-radius: 3px;
        color: #fff;
        text-align: center;
        width: 100%;
        line-height: 1.4;
        padding: 8px 10px 6px;
        font-weight: bold;
        font-size: 10px;
        font-size: 1.0rem;
        display: block;
    }

    #contents .addParts .iconList li span {
        display: table-cell;
        vertical-align: middle;
    }

    #contents .addParts .iconList .off {
        background: #ddd;
    }

    /* addParts01 */
    #contents .addParts01 .comBoxWrap {
        display: block;
    }

    #contents .addParts01 .comBoxWrap .box {
        width: 100%;
        margin: 0 0 20px 0;
    }

    #contents .addParts01 .comBoxWrap .box:last-child {
        margin: 0;
    }

    #contents .addParts01 .comBoxWrap .box .catch {
        background: url("img/hTit_bg_yel_top_sp.png") 50% 0 no-repeat, url("img/hTit_bg_yel_bottom_sp.png") 50% 100% no-repeat;
        background-size: 100% auto, 100% auto;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: bold;
        text-align: center;
        position: relative;
        padding: 18px 20px 13px;
        margin: 0 0 15px;
    }

    #contents .addParts01 .comBoxWrap .box .catch:before {
        content: "";
        width: 100%;
        height: 60%;
        position: absolute;
        top: 20%;
        left: 0;
        z-index: -1;
        background: url("img/hTit_bg_yel_rep_sp.png") repeat-y;
        background-size: 100%;
    }

    #contents .addParts01 .comBoxWrap .box .comBox {
        background: #f6f2eb;
        padding: 0 0 20px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .name {
        font-size: 16px;
        font-size: 1.6rem;
        text-align: center;
        font-weight: bold;
        padding: 20px 15px;
        display: table;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .name span {
        display: table-cell;
        vertical-align: middle;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .img {
        margin: 0 0 10px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .caption {
        text-align: center;
        line-height: 1.7;
        margin: 0 0 15px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li {
        margin: 0 5px 5px 0;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li:nth-child(2n) {
        margin: 0 0 5px 0;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .btn-internal, #contents .addParts01 .comBoxWrap .box .comBox .btn-web {
        width: 100%;
        padding: 0 20px;
        margin: 0 0 10px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .btn-internal a, #contents .addParts01 .comBoxWrap .box .comBox .btn-web a {
        padding: 20px 40px 20px;
        border-radius: 20px;
    }

    /* addParts01 */
    #contents .addParts01 .comBoxWrap .box {
        border: 2px solid #2e7259;
        padding: 0;
    }

    #contents .addParts01 .comBoxWrap .box:last-child {
        margin: 0;
    }

    #contents .addParts01 .comBoxWrap .box .catch {
        background: url("img/hTit_bg_yel_top.png") 50% 0 no-repeat, url("img/hTit_bg_yel_bottom.png") 50% 100% no-repeat;
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: bold;
        text-align: center;
        position: relative;
        padding: 28px 20px 20px;
        margin: 0 0 20px;
        display: table;
        width: 100%;
    }

    #contents .addParts01 .comBoxWrap .box .catch span {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        background: none;
    }

    #contents .addParts01 .comBoxWrap .box .catch:before {
        content: "";
        width: 100%;
        height: 75%;
        position: absolute;
        top: 20%;
        left: 1px;
        z-index: -1;
        background: url("img/hTit_bg_yel_rep.png") repeat-y;
    }

    #contents .addParts01 .comBoxWrap .box .comBox {
        padding: 0;
    }

    #contents .addParts01 .comBoxWrap .box .comBox h3.name {
        font-size: 2.6rem;
        text-align: center;
        font-weight: bold;
        padding: 15px 15px 10px;
        margin: 0;
        width: 100%;
        display: table;
        background: none;
        border: 0px solid #2e7259;
        background: url(img/h3_parts.png) left 2px top 2px no-repeat;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .name:before, #contents .addParts01 .comBoxWrap .box .comBox .name:after {
        content: none;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .name span {
        display: table-cell;
        vertical-align: middle;
        background: none;
        text-align: center;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .img {
        margin: 0 0 10px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .img img {
        max-width: 100%;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .caption {
        text-align: center;
        line-height: 1.7;
        margin: 0 0 15px;
        padding: 0 20px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList {
        padding: 0;
        margin: 0 10px 15px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li {
        margin: 0 5px 5px 0;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li {
        font-size: 25px;
        color: #4a4847;
        background: #ffffff;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li span.oshare {
        font-size: 18px;
        color: #40a0e3;
        display: block;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li span.sumiyasusa {
        color: #849e14;
        font-size: 18px;
        display: block;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .iconList li:nth-child(2n) {
        margin: 0 0 5px 0;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .btn-internal, #contents .addParts01 .comBoxWrap .box .comBox .btn-web {
        width: 100%;
        padding: 0;
        margin: 0 0 10px;
    }

    #contents .addParts01 .comBoxWrap .box .comBox .btn-internal a, #contents .addParts01 .comBoxWrap .box .comBox .btn-web a {
        padding: 16px 30px 16px;
        width: 90%;
        background-position: right 5px center;
        margin: 20px auto 10px;
        font-size: 16px;
    }

    .l-parts02 {
        margin: 0 0 100px;
        padding: 20px;
        border: solid 1px #333;
        position: relative;
    }

    .l-parts02:before {
        background: #40a0e3;
        content: "";
        width: 100%;
        height: 17px;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    .l-parts02:after {
        background: #40a0e3;
        content: "";
        width: 100%;
        height: 17px;
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: -1;
    }

    #index .l-parts02 .btn-web a {
        background: #ff8338 url(img/sp/link_ar2.png) right 1rem center no-repeat;
        background-size: 2rem auto;
        color: #fff;
        padding: 1.2rem 3.6rem 1.2rem 1rem;
        width: 100%;
        font-size: 1.5rem;
        font-weight: bold;
    }

    .l-parts02__title {
        margin-bottom: 50px;
        padding: 25px;
        border: dashed 3px #fff;
        font-size: 2.4rem;
        font-weight: bold;
        text-align: center;
        position: relative;
    }

    #index .l-parts02__title {
        margin: 15px 0;
        padding: 10px;
        border: dashed 0px #fff;
        font-size: 2.4rem;
        font-weight: bold;
        text-align: center;
        position: relative;
        background: url(img/pattern.png) repeat;
    }

    #index .l-parts02__title:before {
        content: '';
        position: absolute;
        display: block;
        top: 5px;
        left: 5px;
        right: 5px;
        bottom: 5px;
        background: none;
        z-index: -1;
    }

    .l-parts02__title:first-letter {
        font-size: 2.8rem;
        color: #dc245a;
    }

    .l-parts02__title a {
        padding: 0 60px;
        background: url(img/arrow05_black.svg) no-repeat right center;
        background-size: 40px;
        text-decoration: none;
    }

    .l-parts02__title a:hover {
        background: url(img/arrow05_red.svg) no-repeat right center;
        background-size: 40px;
    }

    .l-parts02-column2 {
        margin-bottom: 1rem;
        display: contents;
    }

    .l-parts02-column2__left {
        max-width: 100%;
    }

    #index .l-parts02 .hosoku span {
        font-size: 1.4rem;
    }

    #index ul.l-parts02-column2__right {
        border: solid 2px #ff8338;
        margin: 1rem 0;
        width: 100%;
        display: block;
        padding: 10px;
        text-align: left;
    }

    .l-parts02-column2__right {
        margin: 0;
    }

    .l-parts02-column2__right__item {
        display: inline-block;
        margin: 0 0 0 4px;
        padding: 0;
        background: none;
        text-align: left;
    }

    .l-parts02-column2__right p {
        font-size: 1.3rem;
    }

    .l-parts02-column2__right__item a {
        display: block;
        padding: 4px 8px;
        background: #ddd;
        border-radius: 10px;
        text-decoration: none;
        font-size: 1.2rem;
    }

    .l-parts02__catch {
        display: inline-block;
        padding: 10px 30px 0 35px;
        margin: 0 0 10px 0;
        font-size: 18px;
        font-weight: bold;
        color: #9dc949;
    }

    .l-parts02__slider .slick-prev:before, .l-parts02__slider .slick-next:before {
        color: #666;
    }

    .l-parts02__slider .thumb-item {
        margin: 0 0 20px 0;
        padding: 30px 30px 10px 30px;
        background: #fff;
    }

    .l-parts02__slider .thumb-item li {
        margin: 0;
        padding: 0;
        font-size: 1.1rem;
        line-height: 1.2;
        color: #666;
        background: none;
    }

    .l-parts02__slider .thumb-item li img {
        width: 100%;
    }

    .l-parts02__slider .thumb-item-nav {
        width: 84%;
        margin: 0 auto;
    }

    .l-parts02__slider .thumb-item-nav li {
        margin: 0;
        padding: 25px 0;
        background: none;
        outline: none;
    }

    .l-parts02__slider .thumb-item-nav img {
        width: 200px;
    }

    .l-parts02__slider .thumb-item-nav .slick-current {
        position: relative;
    }

    .l-parts02__slider .thumb-item-nav .slick-current:after {
        content: '';
        width: 94%;
        height: 20px;
        background: url(img/arrow04_black.svg) no-repeat center top;
        background-size: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }

    .l-parts02__slider .thumb-item-nav .slick-current.slick-active:before {
        content: none;
    }

    .l-parts02__slider .thumb-item-nav .slick-active {
        position: relative;
        display: block;
    }

    .l-parts02__slider .thumb-item-nav .slick-active:before {
        content: '';
        width: 200px;
        height: 116px;
        background: rgba(0, 0, 0, 0.5);
        position: absolute;
        top: 25px;
        left: 0;
    }

    .l-parts02-feature {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 40px;
    }

    .l-parts02-feature__left {
        width: 115px;
    }

    .l-parts02-feature__title {
        margin: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 80px;
        height: 80px;
        background: #000;
        border-radius: 50%;
        color: #fff;
        text-align: center;
        font-size: 2.2rem;
        font-weight: bold;
    }

    .l-parts02-feature__list {
        width: 80%;
        margin: 0;
    }

    .l-parts02-feature__list li {
        margin: 0;
        padding: 20px 0;
        border-bottom: dashed 1px #000;
        background: none;
    }

    .l-parts02-voice {
        margin-top: 40px;
        position: relative;
    }

    .l-parts02-voice__title {
        background: #e9f3f6;
        color: #4a4847;
        padding: 5px 0;
        text-align: center;
        font-size: 24px;
        font-weight: bold;
    }

    .l-parts02-voice-box {
        margin: 0;
        background: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .l-parts02-voice-box__item {
        padding: 7px;
        width: 100%;
        border-right: dashed 0px #e4f2f5;
        border-bottom: solid 6px #e4f2f5;
        text-align: center;
    }

    .l-parts02-voice-box__item:nth-child(even) {
        border-bottom: solid 6px #e4f2f5;
    }

    .l-parts02-voice-box__title {
        margin: 0 0 1rem 0;
        font-size: 18px;
        font-weight: bold;
        color: #40a0e3;
    }

    .l-parts02-voice-box__item .inyou {
        color: #848484;
        margin: 20px 0 0;
        overflow: auto;
        padding: 10px 0;
        white-space: nowrap;
        text-align: left;
    }

    .l-parts02-voice-box__item .inyou:not(.none) {
        color: #d6d6d6;
        font-size: 10px;
        line-height: 1.4;
        margin: 10px auto;
        text-align: center;
        word-wrap: break-word;
    }

    .l-parts02-voice-box__item .inyou br {
        display: none;
    }

    .l-parts02-voice-box__item .inyou::-webkit-scrollbar {
        height: 5px;
    }

    .l-parts02-voice-box__item .inyou::-webkit-scrollbar-track {
        background-color: #f6f6f6;
    }

    .l-parts02-voice-box__item .inyou::-webkit-scrollbar-thumb {
        background-color: rgb(225, 225, 225);
    }

    .l-parts02-voice-box__old {
        margin: 0 0 20px;
        padding: 2px 10px;
        display: inline-block;
        background: #ddd;
    }

    .l-parts02-voice-box__text {
        text-align: left;
        line-height: 2;
    }

    .l-parts02-voice-box:after {
        content: '';
        width: 110px;
        height: 74px;
        position: absolute;
        right: 15px;
        bottom: -35px;
    }

    .l-parts02-basic {
        margin-top: 50px;
        padding: 0;
    }

    .l-parts02-basic__title {
        margin-bottom: 30px;
        padding: 0;
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        position: relative;
    }

    .l-parts02-basic__title:after {
        position: absolute;
        content: "";
        width: 54px;
        bottom: 0;
        left: 50%;
        margin-left: -27px;
        border-bottom: 4px solid #e9f3f6;
        padding-bottom: 8px;
    }

    .l-parts02-basic__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .l-parts02-basic__inner__left {
        width: 460px;
        margin: 0 auto;
    }

    .l-parts02-basic__inner__right {
        width: 260px;
    }

    .l-parts02-basic__inner__right p {
        margin: 0;
    }

    .l-parts02-basic__inner__right img {
        width: 100%;
    }

    .l-parts02-basic .basicInfo {
        width: 100%;
        margin: 0;
    }

    .l-parts02-basic .basicInfo th {
        background: #e9f3f6;
        border: solid 1px #333;
        text-align: center;
        padding: 3px 10px;
    }

    .l-parts02-basic .basicInfo td {
        border: solid 1px #333;
        padding: 3px 10px;
    }

    .l-main-area .l-parts02__catch {
        margin: 0;
    }

    .l-main-area .l-parts02-column2__right {
        margin: 0;
    }

    .l-main-area .l-parts02-column2__right__item {
        margin: 0 0 0 4px;
        padding: 0;
        background: none;
    }

    .l-main-area .l-parts02-feature__list {
        margin: 0;
    }

    .l-main-area .l-parts02-feature__list li {
        margin: 0;
        padding: 2rem 0;
        background: none;
    }
}

/****sp*******/

