/* ----------------------------------------
bg
---------------------------------------- */

.bg1,
.bg2 {
    padding: 60px 0;
}


/* ----------------------------------------
toc
---------------------------------------- */

#toc_container {
    position: relative;
    width: 100% !important;
    border: none;
    padding: 0;
    background-color: #fcfcfc;
    z-index: 1;
    font-size: 80%;
    border: solid 1px #eee;
}

#toc_container .toc_title {
    font-size: 14px;
    padding: .5rem;
    background-color: #fcfcfc;
    border-bottom: 1px solid #eee;
    text-align: center;
    font-weight: 700;
    margin: 0;
}

#toc_container .toc_list {
    margin: 3%;
}

#toc_container ul {
    margin: 0;
    padding: 0 0 0 10px;
    border: none;
}

#toc_container li,
#toc_container li:after {
    list-style: none;
    content: none;
    padding: 0;
    font-weight: 100;
}

#toc_container ul li:before {
    content: "" !important;
    display: block;
    position: absolute;
    left: -20px;
    top: 11px;
    width: 6px;
    height: 6px;
    margin: auto;
    border: 0;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    background: none;
}

#toc_container ul li ul li:before {
    content: none !important;
}

#toc_container a {
    color: #0d192e;
}

#toc_container .toc_list>li>a {
    font-weight: 300;
    display: block;
}


/* ----------------------------------------
FORM
---------------------------------------- */

form input[type="text"],
form input[type="email"],
form input[type="url"],
form input[type="tel"],
form input[type="number"],
form input[type="date"],
form textarea {
    border-radius: 3px;
    padding: 2%;
    width: 100%;
    border: 1px #ccc solid;
    outline: none;
    box-sizing: border-box;
}

form textarea {
    width: 100%;
}

form input[type="submit"],
form button {
    padding: 12px 20px;
    border: none;
}

form input[type="submit"]:hover,
form button:hover {
    cursor: pointer;
}

form {
    margin: 0;
}

fieldset {
    border: 1px solid #e5e5e5;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
    white-space: normal;
    *margin-left: -7px;
}

button,
input,
select,
textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
    *vertical-align: middle;
}

button,
input {
    line-height: normal;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
.btn {
    cursor: pointer;
    *overflow: visible;
    -webkit-appearance: none;
}

button[disabled],
input[disabled] {
    cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
    *height: 13px;
    *width: 13px;
}

input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: border-box;
}

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

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

.contact-table th {
    width: 30%;
}


/* ----------------------------------------
SEARCH
---------------------------------------- */

#searchform {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e5e5e5;
    padding-bottom: 0;
    border-radius: 2px;
}

#searchform div {
    position: relative;
    padding-right: 40px;
}

#searchform label {
    display: none;
}

#searchform input[type=text] {
    line-height: 18px;
    padding: 8px 13px;
    font-size: 14px;
    width: 100%;
    box-sizing: border-box;
    border: none;
    float: left;
}

#searchform button {
    float: right;
    position: absolute;
    top: 0;
    right: 0;
    vertical-align: top;
    line-height: 18px;
    border: none;
    border-radius: 3px;
    width: 40px;
    padding: 8px 5px;
    -webkit-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
    background: transparent;
    font-family: 'FontAwesome';
    font-size: 21px;
    color: #808080;
}

#searchform button:hover {
    cursor: pointer;
}

.content-none #searchform {
    max-width: 400px;
}


/* ----------------------------------------
table
---------------------------------------- */

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

th,
td {
    padding: 2%;
}


/* ----------------------------------------
embed
---------------------------------------- */

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
    -ms-interpolation-mode: bicubic;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0;
}


/* ----------------------------------------
見出し
---------------------------------------- */

.title-01 {
    color: rgba(255, 151, 28, 1) !important;
    padding: 10px 0 !important;
}


/* ----------------------------------------
関連記事
---------------------------------------- */

.yarpp-related h3 {
    text-transform: capitalize;
    margin: 2em 0 1em !important;
    padding: 13px 28px 12px !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
}

.yarpp-thumbnail>img,
.yarpp-thumbnail-default {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    margin-bottom: 10px !important;
}

.yarpp-thumbnails-horizontal .yarpp-thumbnail {
    border: 1px solid rgba(127, 127, 127, 0.1);
    width: 22% !important;
    height: 170px;
    margin: 1% !important;
    margin-left: 0px;
    vertical-align: top;
}

.yarpp-related .yarpp-thumbnail-title {
    font-weight: normal !important;
    font-size: 90%;
    text-decoration: none;
}


/* ----------------------------------------
btn
---------------------------------------- */

.btn-fv {
    display: block;
    margin: 30px auto 0;
    border: 1px solid #fff;
    font-size: 18px;
    padding-top: 12px !important;
    transition: all 0.25s ease-in-out;
    text-transform: none;
    border-radius: 5px;
    width: 80%;
    height: 60px;
    text-align: center;
    color: #fff !important;
    background-position: left top;
    text-decoration: none;
    background: #2b2b2b;
}

.btn-001 {
    border-radius: 5px 5px 0 0;
    background: #f15246;
    color: #fff;
    border-radius: 3px;
    padding: 5px;
    margin: 5px auto;
    display: block;
    width: 85%;
    text-align: center;
}


/* ----------------------------------------
section module
---------------------------------------- */

.sec-products {
    display: -webkit-flex;
    display: flex;
    width: 100%;
    flex-flow: row wrap;
    -webkit-justify-content: center;
    /* 横方向中央揃え（Safari用） */
    justify-content: center;
    /* 横方向中央揃え */
}

.sec-products div {
    width: 23%;
    padding: 1%;
    font-size: 0.8em;
    text-decoration: none;
    text-align: center;
}

.sec-products-title {
    margin: 5px 0;
    display: block;
}

.sec-products-brand {
    display: block;
    background: #e7e7e7;
    margin: 5px auto;
    font-size: 0.6em;
    width: 80%;
}

.sec-products-price {
    display: block;
    font-weight: 900;
}

.sec-products a[target="_blank"]:after {
    content: none;
}


/* -------------------------------------------------------------------
デバイス
---------------------------------------- */

@media screen and (max-width: 1200px) {
    /* laptop */
    /* laptop end */
}

@media (min-width: 992px) and (max-width: 1200px) {
    /* laptop only */
    /* laptop only end */
}

@media screen and (max-width: 991px) {
    /* tablet */
    /* tablet end */
}

@media (min-width: 768px) and (max-width: 991px) {
    /* tablet only */
    /* tablet only end */
}


/* -------------------------------------------------------------------
phone
---------------------------------------- */

@media screen and (max-width: 767px) {
    /* phone */
    /* ----------------------------------------
FORM
---------------------------------------- */
    .contact-table {
        width: 100% !important;
    }
    .contact-table th,
    .contact-table td {
        width: 100%;
        display: block;
        border: none !important;
    }
    /* ----------------------------------------
関連記事
---------------------------------------- */
    .yarpp-thumbnail>img,
    .yarpp-thumbnail-default {
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        margin-bottom: 10px !important;
    }
    .yarpp-thumbnails-horizontal .yarpp-thumbnail {
        border: 1px solid rgba(127, 127, 127, 0.1);
        width: 46% !important;
        height: 170px;
        margin: 1% !important;
        margin-left: 0px;
        vertical-align: top;
    }
}