/*
Theme Name: idea-child
Theme URI: 
Description: idea の子テーマです 
Author: ailylab
Author URI: 
Version: 1.0.0
Template: idea
*/

.section img[src=""] {
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 70%;
    border: 1px solid #eee;
}
.section img[src=""]:after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    font-size: 24px;
    white-space: nowrap;
    content: "※画像準備中※";
}

/****************************************
1.Setting
*****************************************/
* {
    padding: 0px;
    margin: 0px;
}

body {
    background-color: #fff;
    color: #070002;
    font-size: 15px;
    font-family: "游ゴシック体", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, Roboto, "Droid Sans", sans-serif;
    font-weight: bold;
}

h1, h2, h3, h4, h5, h6 {
    padding: 0px;
    margin: 0px;
    line-height: 1.5;
}

a:link,
a:visited,
a:active {
    color: #a60025;
    text-decoration: none;
}

a:hover {
    color: #a60025;
    text-decoration: underline;
}

a img:hover {
    opacity: 0.8;
}

img {
    display: block;
    max-width: 100%;
    margin: 0px auto;
    -webkit-backface-visibility: hidden;
    -ms-transform: translateZ(0); /* IE 9 */
    -webkit-transform: translateZ(0); /* Chrome, Safari, Opera */
    transform: translateZ(0);
}

em,
strong {
    color: #a60025;
    font-size: 1.1em;
    font-weight: bold;
    font-style: normal;
}

ul, li {
    padding: 0px;
    margin: 0px;
}

ol.list,
ul.list {
    margin: 0px 0px 0px 1.5em;
}

p + ol.list,
p + ul.list {
    margin: 0.5em 0px 0px 1.5em;
}

ol.list + p,
ul.list + p {
    margin: 0.5em 0px 0px;
}

ol.list > li + li,
ul.list > li + li {
    margin: 1em 0px 0px;
}

ol.list > li > ul,
ul.list > li > ul {
    margin: 1em 0px 0px 1.5em;
}

@media screen and (max-width: 767px) {
    .section ul {
        display: table;
        width: 90%;
    }
}

p {
    padding: 0px;
    margin: 0px;
    line-height: 2;
}

figcaption {
    margin-top: 1em;
    text-align: center;
}

table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
table thead th {
    background-color: #a60025;
    color: #fff;
}
table tr:nth-child(even) {
	background: #efefef;
}
table th,
table td {
    padding: 10px;
    border: 1px solid #ddd;
    word-wrap: break-word;
}

table.bgno tr {
	background:none;
}

table .tr_vertical th {
    text-align: center;
    vertical-align: top;
}

table .tr_vertical th span {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: pre;
}

@media screen and (max-width: 767.98px) {
    .tbl_wrapper {
        overflow-x: scroll;
    }
    .tbl_wrapper > table {
        width: 900px;
    }
}

hr{border-top: 1px solid #ccc;}

.red{color:#B22222;}
.cf:after {
    display: block;
    clear: both;
    content: "";
}

.bw span,
h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span,
figcaption span {
    display: inline-block;
}

.mw800 {
    margin: 0px auto;
    max-width: 800px;
}

.mt0 {
    margin-top: 0px !important;
}

.mt1em {
    margin-top: 1em !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.fs2em {
    font-size: 2em !important;
}

.sentence:nth-of-type(n + 2) {
    margin-top: 1.5em;
}

.filter {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.5);
}

.center {
    text-align: center;
}

@media screen and (min-width: 768px) {
    .center_block {
    display: table;
    margin-left: auto;
    margin-right: auto;
    }
}

@media screen and (min-width: 768px) {
    .pc_center {
        text-align: center;
    }
}

.center_xy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.video_wrapper video {
    max-width: 100%;
}

.if_wrapper {
    position: relative;
    padding-bottom: 56.25%;
}
.if_wrapper > iframe {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}

.figure_link {
    display: block;
    color: #fff;
    text-decoration: none;
}
.figure_link:hover {
    opacity: 0.8;
}

.figure_link figcaption {
    position: relative;
    padding: 1em 1.5em;
    margin-top: 0px;
    background-color: #a60025;
    color: #fff;
}
.figure_link figcaption::after {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(135deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}

.border {
    border: 1px solid #ccc;
}

.contact_step {
    letter-spacing: -1em;
}

.contact_step p {
    display: inline-block;
    width: 19%;
    height: 2.5em;
    line-height: 2.5em;
    position: relative;
    font-size: 24px;
    font-size: 1.5vw;
    font-weight: bold;
    text-align: center;
    letter-spacing: normal;
}
.contact_step p:nth-of-type(n + 2) {
    margin-left: 8%;
}
.contact_step p:nth-of-type(n + 2):before {
    position: absolute;
    top: 50%;
    left: -24%;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\f105";
}
.contact_step_now {
    color: #fff;
    background-color: #010f34;
}

.bread_crumb {
    display: flex;
    padding: 1em 0px;
    list-style: none;
}
.bread_crumb > li {
    position: relative;
    font-size: 14px;
}
.bread_crumb > li:nth-of-type(n + 2) {
    padding: 0px 0px 0px 2.5em;
}
.bread_crumb > li:nth-of-type(n + 2):before {
    position: absolute;
    top: 50%;
    left: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #dedede;
    border-top: 2px solid #dedede;
    content: "";
}

.btn_link {
    display: table;
    position: relative;
    padding: 1em 4em;
    margin: 30px auto 0px;
    border: 1px solid #000;
    background-color: #000;
    color: #fff;
    text-align: center;
}
.btn_link:after {
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\f105";
}
.btn_link:link,
.btn_link:visited,
.btn_link:active {
    color: #fff;
}
.btn_link:hover {
    background-color: #fff;
    color: #000;
    text-decoration: none;
}

.btn_link_red {
    display: table;
    position: relative;
    padding: 1em 4em;
    margin: 30px auto 0px;
    border: 1px solid #a60025;
    background-color: #a60025;
    color: #fff;
    font-size: 18px;
    text-align: center;
}
.btn_link_red:after {
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\f105";
}
.btn_link_red:link,
.btn_link_red:visited,
.btn_link_red:active {
    color: #fff;
}
.btn_link_red:hover {
    background-color: #fff;
    color: #a60025;
    text-decoration: none;
}

.btn_link_white {
    display: table;
    position: relative;
    padding: 1em 4em;
    margin: 30px auto 0px;
    border: 1px solid #a60025;
    background-color: #fff;
    color: #a60025;
    font-size: 18px;
    text-align: center;
}
.btn_link_white:after {
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\f105";
}
.btn_link_white:link,
.btn_link_white:visited,
.btn_link_white:active {
    color: #a60025;
}
.btn_link_white:hover {
    background-color: #a60025;
    color: #fff;
    text-decoration: none;
}

.tel_num {
    display: table;
    padding: 0px 0px 0px 2em;
    margin: 0px;
    text-align: center;
}

.tel_num a {
    position: relative;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 2px;
    line-height: 1;
}
.tel_num a:before {
    position: absolute;
    top: 50%;
    left: -1em;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\f095";
}
.tel_num a:link,
.tel_num a:visited,
.tel_num a:active,
.tel_num a:hover {
    color: #a60025;
    text-decoration: none;
}

.tel_num p {
    color: #a60025;
    font-size: 12px;
    line-height: 1;
}

.btn_contact {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 12em;
    height: 4em;
    border: 1px solid #a60025;
    background-color: #a60025;
    color: #fff;
    font-size: 14px;
    white-space: nowrap;
}
.btn_contact:before {
    margin: 0px 1em 0px 0px;
    font-family: FontAwesome;
    content: "\f003";
}
.btn_contact:link,
.btn_contact:visited,
.btn_contact:active {
    color: #fff;
}
.btn_contact:hover {
    border: 1px solid #d60031;
    background-color: #d60031;
    text-decoration: none;
}

.btn_download {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 12em;
    height: 4em;
    border: 1px solid #000;
    background-color: #000;
    color: #fff;
    font-size: 14px;
    text-align: center;
    line-height: 1.5;
    white-space: nowrap;
}
.btn_download:link,
.btn_download:visited,
.btn_download:active {
    color: #fff;
}
.btn_download:hover {
    border: 1px solid #444;
    background-color: #444;
    text-decoration: none;
}

.btn_link_white {
    display: table;
    position: relative;
    padding: 1em 4em;
    margin: 30px auto 0px;
    border: 1px solid #a60025;
    color: #a60025;
    text-align: center;
}
.btn_link_white:after {
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\f105";
}
.btn_link_white:link,
.btn_link_white:visited,
.btn_link_white:active {
    color: #a60025;
}
.btn_link_white:hover {
    background-color: #a60025;
    color: #fff;
    text-decoration: none;
}

.before_after_image > img {
    margin: 0px auto;
    max-width: 100%;
}

.before_after_arrow {
    position: relative;
    width: 60px;
    height: 60px;
    color: #a60025;
}
.before_after_arrow::before,
.before_after_arrow::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    content: "";
}
.before_after_arrow::before {
    right: -50px;
    width: 0px;
    height: 0px;
    border: 40px solid transparent;
    border-left: 50px solid currentColor;
}
.before_after_arrow::after {
    left: -10px;
    width: 40px;
    height: 40px;
    background-color: currentColor;
}

@media screen and (max-width: 767px) {
    .before_after_arrow {
        margin: 30px auto;
        transform: rotate(90deg);
    }
}
@media print, (min-width: 768px) {
    .before_after {
        display: flex;
        justify-content: space-between;
        position: relative;
    }
    .before_after_image {
        width: calc(50% - 60px);
    }
    .before_after_arrow {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
}

.single h2,
.archive h2,
.page h2 {
    position: relative;
    padding: 0.5em;
    border-bottom: 5px solid #a60025;
    font-size: 28px;
    text-align: center;
}
@media screen and (max-width: 991px) {
    .single h2,
    .archive h2,
    .page h2 {
        padding: 0.5em;
        text-align: center;
    }
}

.single h3,
.archive h3,
.page h3 {
    position: relative;
    padding: 0.5em 0.5em 1em;
    font-size: 24px;
    text-align: center;
}
.single h3::after,
.archive h3::after,
.page h3::after {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 4em;
    height: 4px;
    background-color: #a60025;
    content: "";
}

@media screen and (min-width: 1200px) {
    .single .col-lg-4 h3,
    .archive .col-lg-4 h3,
    .page .col-lg-4 h3 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        height: 6em;
    }    
}

.bg_appeal_title,
.single h4,
.archive h4,
.page h4 {
    position: relative;
    padding: 0px 0px 1em;
    font-size: 24px;
    text-align: center;
}
.bg_appeal_title:after,
.single h4:after,
.archive h4:after,
.page h4:after {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 1.5em;
    height: 5px;
    background-color: #a60025;
    content: "";
}

.bg_appeal_title + p {
    margin: 30px 0px 0px;
    text-align: center;
}

.bg_appeal_title + ul {
    display: table;
    margin: 30px auto 0px;
}

.text_item_title {
    display: table;
    padding: 0.25em 2em;
    margin: 0px auto;
    background-color: #f4f4f4;
}

.text_appeal {
    position: relative;
    color: #a60025;
    font-size: 32px;
    text-align: center;
}

.text_appeal.arrow {
    padding: 2em 0px 0px;
}
.text_appeal.arrow:before {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    font-family: FontAwesome;
    content: "\f063";
}

.bg_appeal {
    padding: 30px;
    background-color: #fcf7f8;
}

.bg_appeal img {
    margin: 1em auto 0px;
}

.bg_appeal > h4 + div {
    margin-top: 30px;
}

.appeal_round > p {
    padding: 2em;
    border-radius: 5em;
    background-color: #a60025;
    color: #fff;
    font-size: 18px;
    text-align: center;
}
.appeal_round > p:nth-child(n + 2) {
    margin: 30px 0px 0px;
}

.list_circle {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    padding: 0px;
    margin-left: auto;
    margin-right: auto;
}
.list_circle li {
    width: 100%;
    margin: 1em 0px 0px;
    font-size: 18px;
    text-align: center;
    list-style: none;
}
.list_circle li:before {
    content: "○";
}

.btn_link_zoom {
    display: block;
    position: relative;
    overflow: hidden;
}
.btn_link_zoom:hover {
    text-decoration: none;
}
.btn_link_zoom > img {
    transition-duration: 0.5s;
}
.btn_link_zoom:hover > img {
    transform: scale(1.2);
}
.btn_link_zoom > p {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    padding: 1em 3em;
    background-color: #000;
    color: #fff;
    text-align: center;
}
.btn_link_zoom > p:after {
    position: absolute;
    top: 50%;
    right: 2em;
    transform: translateY(-50%);
    color: #a60025;
    font-family: FontAwesome;
    content: "\f0a9";
}

.text_appeal_box {
    padding: 1em;
    border: 2px solid #a60025;
    font-size: 24px;
    line-height: 1.5;
    text-align: center;
}

.work_flow > .wrapper {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    position: relative;
}
.work_flow > .wrapper:nth-child(n + 2) {
    margin: 90px 0px 0px;
}
.work_flow > .wrapper:nth-child(n + 2):before {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 35px;
    background-image: url(./images/etc/arrow_down.png);
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
}
.work_flow > .wrapper > dt {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30%;
    background-color: #670017;
    color: #fff;
    font-size: 24px;
}
.work_flow > .wrapper > dd {
    width: 70%;
    padding: 2em;
    background-color: #fcf7f8;
}
.work_flow > .wrapper > dd > ul {
    display: flex;
    flex-wrap: wrap;
}
.work_flow > .wrapper > dd > ul > li {
    width: calc(50% - 2em);
    margin: 0px 0px 0px 2em;
}
@media screen and (max-width: 991px) {
    .work_flow > .wrapper > dd > ul > li {
        width: calc(100% - 2em);
        margin: 0px 0px 0px 2em;
    }
}

@media screen and (max-width: 767.98px) {
    .process_flow {
        list-style: none;
    }
    .process_flow > li {
        position: relative;
        padding: 1em;
        margin: 0px;
        font-size: 18px;
        font-weight: bold;
        text-align: center;
    }
    .process_flow > li:first-child {
        padding-top: 0px;
    }
    .process_flow > li:last-child {
        padding-bottom: 0px;
    }
    .process_flow > li:nth-child(n + 2)::before {
        position: absolute;
        top: 0px;
        left: 50%;
        width: 0.5em;
        height: 0.5em;
        transform: translateY(-75%) rotate(135deg);
        border-right: 2px solid #a60025;
        border-top: 2px solid #a60025;
        content: "";
    }
    .process_flow > li > span {
        display: block;
        padding: 1em;
        margin: 0px auto;
        border: 2px solid #a60025;
    }
}
@media print, (min-width: 768px) {
    .process_flow {
        display: flex;
        justify-content: space-between;
        list-style: none;
    }
    .process_flow > li {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        position: relative;
        margin: 0px;
        width: 100%;
    }
    .process_flow > li + li::before {
        position: absolute;
        top: 50%;
        left: 0px;
        width: 1em;
        height: 1em;
        transform: translateX(-75%) translateY(-50%) rotate(45deg);
        border-right: 2px solid #a60025;
        border-top: 2px solid #a60025;
        content: "";
    }
    .process_flow > li > span {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        padding: 1em;
        border: 2px solid #a60025;
        width: 90%;
        font-size: 20px;
        font-weight: bold;
        text-align: center;
    }
}

@media screen and (max-width: 767.98px) {
    .order_flow {
        list-style: none;
    }
    .order_flow > li {
        position: relative;
        padding: 1em;
        margin: 0px;
        font-size: 18px;
        font-weight: bold;
        text-align: center;
    }
    .order_flow > li:first-child {
        padding-top: 0px;
    }
    .order_flow > li:last-child {
        padding-bottom: 0px;
    }
    .order_flow > li:nth-child(n + 2)::before {
        position: absolute;
        top: 0px;
        left: 50%;
        width: 1em;
        height: 1em;
        transform: translateY(-75%) rotate(135deg);
        border-right: 2px solid #a60025;
        border-top: 2px solid #a60025;
        content: "";
    }
    .order_flow > li > span {
        display: block;
        padding: 1em;
        margin: 0px auto;
        border: 2px solid #a60025;
    }
}
@media print, (min-width: 768px) {
    .order_flow {
        display: flex;
        justify-content: space-between;
        list-style: none;
    }
    .order_flow > li {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        position: relative;
        margin: 0px;
        width: 100%;
    }
    .order_flow > li + li::before {
        position: absolute;
        top: 50%;
        left: 0px;
        width: 1em;
        height: 1em;
        transform: translateX(-75%) translateY(-50%) rotate(45deg);
        border-right: 2px solid #a60025;
        border-top: 2px solid #a60025;
        content: "";
    }
    .order_flow > li > span {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: 3em;
        height: 12em;
        border: 2px solid #a60025;
        font-size: 20px;
        font-weight: bold;
        writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
        letter-spacing: 4px;
    }
}

.list_qaa > input {
    display: none;
}
.list_qaa > label {
    display: block;
    width: 100%;
    padding: 0px;
    margin: 0px;
    cursor: pointer;
}
.list_qaa > label > dt,
.list_qaa > label > dd {
    position: relative;
    font-size: 15px;
    border-bottom: 1px solid #a60025;
}
.list_qaa > label > dt:before,
.list_qaa > label > dd:before {
    position: absolute;
    top: 0px;
    left: 0.5em;
    font-size: 2em;
}
.list_qaa > label > dt:before {
    content: "Q";
}
.list_qaa > label > dd:before {
    content: "A";
}
.list_qaa > label > dt {
    padding: 1em 1em 1em 3.5em;
}
.list_qaa > label > dt:after {
    margin: 0px 0px 0px 1em;
    font-family: FontAwesome;
    content: "\f078";
}
.list_qaa > .check_open:checked + label > dt:after {
    content: "\f077";
}
.list_qaa > label > dd {
    padding: 0px 1em 0px 3.5em;;
    position: relative;
    z-index: -1;
    height: 0px;
    transform: translateY(-2em);
    visibility: hidden;
    transition: none;
}
.list_qaa > .check_open:checked + label > dd {
    padding: 1em 1em 1em 3.5em;;
    height: 100%;
    visibility: visible;
    transform: translateY(0px);
    transition: 0.5s;
}

.list_table,
.list_table > dt,
.list_table > dd {
    box-sizing: border-box;
}

.list_table > dt,
.list_table > dd {
    padding: 1em;
    margin: 0px;
}

.list_table > dt {
    background-color: #fcf7f8;
}

.list_table > dd {
    background-color: #fff;
}

@media screen and (max-width: 767px) {
    .list_table {
        border: 1px solid #a60025;
        border-top: none;
    }
    .list_table > dt,
    .list_table > dd {
        border-top: 1px solid #a60025;
    }
    .list_table > dt,
    .list_table > dd {
        text-align: center;
    }
    .list_table > dd > ul {
        text-align: left;
    }
}
@media print, (min-width: 768px) {
    .list_table {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px solid #a60025;
    }
    .list_table > dt,
    .list_table > dd {
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-top: 1px solid #a60025;
    }
    .list_table > dt {
        width: 20%;
        border-left: 1px solid #a60025;
        border-right: 1px solid #a60025;
    }
    .list_table > dd {
        width: 80%;
        border-right: 1px solid #a60025;
    }
    .col-md-6 .list_table > dt {
        width: 40%;
    }
    .col-md-6 .list_table > dd {
        width: 60%;
    }
    .list_table_half > dt,
    .list_table_half > dd {
        width: 50%;
    }
}

/****************************************
2. Layout 
*****************************************/
.bx-wrapper {
    position: relative;
    background-color: transparent;
    margin: 0px auto 0px;
    border: none;
    box-shadow: none;
}
.bx-wrapper img {
    display: block;
    margin: 0px auto;
}

.main_slider_wrapper {
    position: relative;
}
.main_slider_wrapper .bx-wrapper:nth-child(2) {
    position: absolute;
    bottom: 1vw;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
}

.main_slider li {
    position: relative;
}
.main_slider li .slider_box {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translateY(-50%);
    width: 50%;
    color: #fff;
    text-align: center;
}
.main_slider li .slider_box h1 {
    font-size: 36px;
}
.main_slider li .slider_box p {
    margin-top: 1em;
    font-size: 18px;
}

.main_slider_pager a {
    display: block;
    position: relative;
}
.main_slider_pager a img {
    opacity: 0.6;
}
.main_slider_pager a img:hover,
.main_slider_pager a.active img {
    opacity: 1.0;
}
.main_slider_pager a > span {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 100%;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    text-shadow: -2px -2px 6px #000, 2px -2px 6px #000, 2px 2px 6px #000, -2px 2px 6px #000;
}

@media screen and (max-width: 991px) {
    .main_slider li .slider_box h1 {
        font-size: 3vw;
    }
    .main_slider li .slider_box p {
        font-size: 1.5vw;
        line-height: 1.25;
    }
    .main_slider li .slider_box .btn_link_red {
        margin-top: 1em;
        font-size: 2vw;
    }
}
@media screen and (max-width: 767px) {
    .main_slider li .slider_box .btn_link_red {
        padding: 5px 2em;
    }
    .main_slider_pager a span {
        font-size: 0.6vw;
    }
}
@media screen and (max-width: 350px) {
    .main_slider li .slider_box {
        top: 50%;
        width: 60%;
        left: 40%;
    }
    .main_slider_wrapper .bx-wrapper:nth-child(2) {
        bottom: -20px;
    }
}

.responsive-nav-contents {
    box-shadow: none;
}

#main {
    margin-bottom: 0px;
}

.error404 #main,
.search #main {
    padding: 60px 0px;
}

.sub-page-contents {
    padding: 0px;
}

.section {
    padding: 60px 0px 60px 0px;
}

.section .section {
    padding: 60px 0px 0px;
    margin-top: 30px;
}

.section .row > div {
    margin-top: 60px;
}

.section .row > div > .row {
    margin-top: 0px;
}

.bread_crumb + .section {
    padding: 0px 0px 60px;
}

.row.no_mt {
    margin-top: -60px;
}

@media screen and (max-width: 991px) {
    .section .row > div > * {
        margin-left: auto;
        margin-right: auto;
    }
}

.container {
    width: 80%;
    margin: 0px auto;
}
@media screen and (max-width: 991px) {
    .container {
        width: 100%;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 1100px;
    }
}
@media (min-width: 1200px) {
    .container {
        max-width: 1100px;
    }
}

/****************************************
3. header,nav
*****************************************/
@media screen and (max-width: 1200px) {
    .header_pc .header_info .tel_num {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .header_pc {
        display: none;
    }
}
@media screen and (min-width: 768px) {
    body {
        margin-top: 100px;
    }
    .header_pc {
        position: fixed;
        top: 0px;
        left: 50%;
        z-index: 9999;
        transform: translateX(-50%);
        width: 100%;
        max-width: 1100px;
        background-color: #fff;
        transition: transform 0.5s;
    }
    .header_pc.js_hide {
        transform: translateX(-50%) translateY(-100%);    
    }
}
@media screen and (min-width: 992px) {
    body {
        margin-top: 106px;
    }
}

.header_pc:before {
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    z-index: -1;
    background-color: #fff;
    content: "";
}
.header_pc:after {
    position: absolute;
    bottom: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    z-index: -1;
    width: 100vw;
    height: 5px;
    background-color: #a60025;
    content: "";
}

.header_pc .menu {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
}

.header_pc .menu li {
    list-style-type: none;
}

.header_pc .menu li a {
    font-size: 15px;
}
@media screen and (min-width: 992px) {
    .header_pc .menu li a {
        font-size: 17px;
    }
}

.header_pc .menu > li > a {
    border-bottom: 5px solid transparent;
    color: #000;
    white-space: nowrap;
}
.header_pc .menu > li:hover > a {
    background-color: #a60025;
    border-bottom: 5px solid #700019;
    color: #fff;
    text-decoration: none;
}

.header_pc .menu > li > a {
    display: block;
    padding: 0.5em 1em;
    text-align: center;
}

.header_pc .sub-menu {
    position: absolute;
    bottom: 0px;
    left: calc(-50vw + 50%);
    z-index: 9999;
    transform: translateY(100%);
    width: 100vw;
    padding: 1em 0px;
    background-color: #a60025;
    color: #fff;
    text-align: center;
    letter-spacing: -1em;
    visibility: hidden;
    opacity: 0;
    transition: 0.5s;
}

.header_pc .sub-menu li a {
    font-size: 17px;
}

.header_pc .menu > li.js_active .sub-menu {
    visibility: visible;
    opacity: 1;
}

.header_pc .sub-menu > li {
    display: inline-block;
    margin: 0px 2em;
    letter-spacing: normal;
}

.header_pc .sub-menu > li > a:link,
.header_pc .sub-menu > li > a:visited,
.header_pc .sub-menu > li > a:active,
.header_pc .sub-menu > li > a:hover {
    color: #fff;
}

.header_pc .header_info {
    display: flex;
    align-items: flex-start;
}

.header_pc .header_info .site_title {
    margin-right: auto;
    width: 40%;
    max-width: 400px;
}

.header_pc .header_info .site_title img {
    width: 100%;
    margin: 0px;
}

.header_pc .header_info .tel_num {
    padding: 6px 0px;
}

.header_pc .header_info .btn_contact {
    margin: 0px 0px 0px 20px;
}

.header_mb {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100%;
    height: 70px;
    background-color: #fff;
}
@media screen and (max-width: 767px) {
    body {
        margin-top: 70px;
    }
}
@media print, (min-width: 768px) {
    .header_mb {
        display: none;
    }
}

.header_mb .nav_btn {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 70px;
    height: 70px;
}
.header_mb .nav_btn span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 3px;
    transform: translateX(-50%) translateY(-50%);
    background-color: #a60025;
    transition: 0.2s;
}
.header_mb .nav_btn span:before,
.header_mb .nav_btn span:after {
    display: block;
    position: absolute;
    left: 0px;
    width: 30px;
    height: 3px;
    background-color: #a60025;
    transition: 0.3s;
    content: "";
}
.header_mb .nav_btn span:before {
    top: 12px;
}
.header_mb .nav_btn span:after {
    top: -12px;
}
.header_mb .nav_btn.js_open {
    background-color: #1d1d1d;
}
.header_mb .nav_btn.js_open:after {
    content: "";
}
.header_mb .nav_btn.js_open span {
    background: transparent;
}
.header_mb .nav_btn.js_open span:before,
.header_mb .nav_btn.js_open span:after {
    top: 0px;
}
.header_mb .nav_btn.js_open span:before {
    transform: rotate(-45deg);
}
.header_mb .nav_btn.js_open span:after {
    transform: rotate(-135deg);
}

.header_mb .site_title {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    width: calc(100% - 100px);
}

.header_mb .site_title img {
    width: 80%;
}

.header_mb .toggle_area {
    display: none;
    position: fixed;
    top: 70px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 9999;
    background-color: #1d1d1d;
    overflow-y: auto;
}
.nav_btn.js_open + .toggle_area {
    display: block;
}

.header_mb .menu li {
    list-style-type: none;
}

.header_mb .menu li a {
    display: block;
    position: relative;
    padding: 1em 4em 1em 2em;
    border-bottom: 1px solid #4b4b4b;
    font-size: 5vw;
}
.header_mb .menu li a:after {
    position: absolute;
    top: 50%;
    right: 2em;
    transform: translateY(-50%);
    color: #a60025;
    font-size: 5vw;
    font-family: FontAwesome;
    content: "\f138";
}
.header_mb .menu li a:link,
.header_mb .menu li a:visited,
.header_mb .menu li a:active,
.header_mb .menu li a:hover {
    color: #fff;
    text-decoration: none;
}

.header_mb .sub-menu li a {
    padding: 1em 4em 1em 4em;
    font-size: 4vw;
}

.header_mb .header_info {
    padding: 30px 0px 150px;
    background-color: #a60025;
    color: #fff;
    text-align: center;
}

.header_mb .tel_num {
    margin: 0.5em auto 0px;
}

.header_mb .tel_num a {
    color: #fff;
    font-size: 8vw;
}

.header_mb .header_cta_btn {
    display: block;
    width: 70%;
    padding: 0.5em;
    margin: 30px auto 0px;
    border: 1px solid #fff;
    font-size: 5vw;
}
.header_mb .header_cta_btn:link,
.header_mb .header_cta_btn:visited,
.header_mb .header_cta_btn:active,
.header_mb .header_cta_btn:hover {
    color: #fff;
    text-decoration: none;
}

.page_header {
    background-image: url(./images/page_title/security.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-color: #010b12;
}
@media screen and (max-width: 1000px) {
    .page_header {
        background-size: cover;
    }
}
.page-magnetic-head .page_header {
    background-image: url(./images/page_title/security.jpg);
}
.page-electronics .page_header {
    background-image: url(./images/page_title/security.jpg);
}
.page-electronics-accession .page_header {
    background-image: url(./images/page_title/security.jpg);
}
.page-electronics-child .page_header {
    background-image: url(./images/page_title/security.jpg);
}
.post-type-archive-facility .page_header {
    background-image: url(./images/page_title/security.jpg);
}
.page-monitoring-system .page_header {
    background-image: url(./images/page_title/monitoring.jpg);
}
.page-monitoring-system-child .page_header {
    background-image: url(./images/page_title/monitoring.jpg);
}
.page-security .page_header {
    background-image: url(./images/page_title/security.jpg);
}
.page-security-child .page_header {
    background-image: url(./images/page_title/security.jpg);
}
.page-led .page_header {
    background-image: url(./images/page_title/led.png);
}
.page-welfare .page_header {
    background-image: url(./images/page_title/welfare.jpg);
}
.page-welfare-child .page_header {
    background-image: url(./images/page_title/welfare.jpg);
}
.page-company .page_header {
    background-image: url(./images/page_title/contact.jpg);
}
.page-company-child .page_header {
    background-image: url(./images/page_title/contact.jpg);
}
.page-company .page_header {
    background-image: url(./images/page_title/contact.jpg);
}
.page-privacy .page_header {
    background-image: url(./images/page_title/contact.jpg);
}
.page-sitemap .page_header {
    background-image: url(./images/page_title/contact.jpg);
}
.page-contact .page_header,
.page-thanks .page_header {
    background-image: url(./images/page_title/contact.jpg);
}
.page_header > .wrapper {
    position: relative;
    height: 200px;
}

.page_header_text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 90%;
}

.page_header_text h1 {
    color: #fff;
    font-size: 32px;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .page_header h1 {
        font-size: 24px;
    }
}

/****************************************
4. sidebar
*****************************************/

/****************************************
5. contents
****************************************/
.top_service h2,
.top_news h2 {
    font-size: 24px;
    text-align: center;
    line-height: 1;
}

.top_service h2 + p,
.top_news h2 + p {
    margin: 4px 0px 0px;
    color: #e60033;
    font-family: 'Open Sans', sans-serif;
    text-align: center;
    line-height: 1;
}

.concept_text {
    position: relative;
    width: 100%;
    height: 100%;
}

.top_concept {
    padding: 30px 0px;
    background-color: #f3e9eb;
}

.top_concept .container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 0px;
}

.top_concept_text {
    width: 60%;
    padding: 0px 1em;
    text-align: center;
}
.top_concept_text p:nth-child(n + 2) {
    margin: 30px 0px 0px;
}

.top_concept_img_left,
.top_concept_img_right {
    width: 20%;
}

dl.table_style dt{
	float:left;
	width:20%;
	padding:24px 0px;
	margin-bottom:20px;
	background:#f3f5f4;
	font-weight:bold;
	font-size:110%;
	clear:both;
	text-align:center;
}
dl.table_style dd{
	background:url(./images/etc/dd_bg.png) no-repeat;
	padding:24px 0px;
	margin-left:20%;
	margin-bottom:20px;
	padding-left:3%;
}

p.attention{
	border:1px solid #ccc;
	padding:20px;
	text-align:center;
}

table.company th{
	width:25%;
	text-align:center;
}
table.company td{
	padding-left:30px;
}
@media screen and (max-width: 991px) {
    .top_concept .container {
        flex-wrap: wrap;
    }
    .top_concept_text {
        width: 100%;
        order: 1;
    }
    .top_concept_img_left,
    .top_concept_img_right {
        width: 50%;
        padding: 1em;
    }
    .top_concept_img_left {
        order: 2;
    }
    .top_concept_img_right {
        order: 3;
    }
}

.top_service {
    padding: 30px 0px 60px;
}

.top_service_items {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 30px 0px 0px;
}

.top_service_items > a {
    display: block;
    position: relative;
    width: 33%;
    background-color: #ccc;
    overflow: hidden;
}

.top_service_items > a > img {
    width: 100%;
    height: 100%;
    transition-duration: 0.5s;
}
.top_service_items > a:hover > img {
    transform: scale(1.2);
    opacity: 1.0;
}

.top_service_items > a > p {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    padding: 1em 3em;
    background-color: #000;
    color: #fff;
    text-align: center;
}
.top_service_items > a > p:after {
    position: absolute;
    top: 50%;
    right: 2em;
    transform: translateY(-50%);
    color: #a60025;
    font-family: FontAwesome;
    content: "\f0a9";
}

@media screen and (max-width: 991px) {
    .top_service_items > a {
        width: 50%;
    }
}
@media screen and (max-width: 767px) {
    .top_service_items > a {
        width: 90%;
    }
}

.top_news {
    padding: 30px 0px;
}

.top_news .container {
    display: flex;
    align-items: center;
}

.top_news_info {
    width: 30%;
}

.list_news {
    display: flex;
    flex-wrap: wrap;
    width: 70%;
}

.list_news > dt,
.list_news > dd {
    display: flex;
    align-items: center;
    margin: 0px;
    border-bottom: 1px solid #c9c9c9;
}

.list_news > dt {
    width: 8em;
    padding: 1em;
}

.list_news > dd {
    width: calc(100% - 10em);
    padding: 1em 1em 1em 2em;
}

.list_news > dd > a:link,
.list_news > dd > a:visited,
.list_news > dd > a:active {
    color: #070002;
}
.list_news > dd > a:hover {
    color: #c0002b;
    text-decoration: none;
}

.list_news_new {
    display: inline-block;
    margin: 0px 0.5em 0px 0px;
    color: #e60033;
    font-weight: bold;
    animation: list_news_new 1s linear 0s infinite normal both;
}
@keyframes list_news_new {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@media screen and (max-width: 991px) {
    .top_news .container {
        flex-wrap: wrap;
    }
    .top_news_info {
        width: 100%;
    }
    .list_news {
        width: 100%;
        margin-top: 30px;
    }
}

.content_contact {
    position: relative;
    padding: 40px 10px;
    background-image: url(./images/etc/bg_footcontact.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
    color: #fff;
}

.content_contact_container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 30px 0px 0px;
}

.content_contact_catch {
    font-size: 24px;
    line-height: 1.5;
}

.content_contact .tel_num a {
    color: #fff;
    font-size: 32px;
}

.content_contact .tel_num p {
    color: #fff;
}

.content_contact_btn {
    display: table;
    position: relative;
    padding: 0.8em 5em;
    margin: 0px 0px 0px 30px;
    border: 1px solid #000;
    background-color: #000;
    font-size: 18px;
    white-space: nowrap;
}
.content_contact_btn:after {
    position: absolute;
    top: 50%;
    right: 2em;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\f105";
}
.content_contact_btn:link,
.content_contact_btn:visited,
.content_contact_btn:active {
    color: #fff;
}
.content_contact_btn:hover {
    background-color: #fff;
    color: #a10023;
    text-decoration: none;
}

.content_contact_download {
    display: table;
    margin: 30px auto 0px;
}
.content_contact_download:link,
.content_contact_download:visited,
.content_contact_download:active {
    color: #fff;
    text-decoration: underline;
}

@media screen and (max-width: 991px) {
    .content_contact_container {
        display: block;
    }
    
    .content_contact .tel_num {
        margin: 0px auto;
    }
    
    .content_contact_btn {
        margin: 30px auto 0px;
    }
}

.content_cta {
    position: relative;
    padding: 40px 0px;
}
.content_cta::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    background-color: #fcf7f8;
    content: "";
}

.content_cta_catch {
    display: table;
    margin: 0px auto;
    border-bottom: 2px solid #a60025;
    font-size: 24px;
    text-align: center;
    line-height: 1.5;
}

.secrity_peace_point {
    margin: 60px 0px 0px;
}
.secrity_peace_point > .wrapper {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    margin: -10px -0.5% 0px;
}
.secrity_peace_point > .wrapper > div {
    width: 32%;
    background-color: #fcf7f8;
    background-image: url(./images/security/spanner.png);
    background-repeat: no-repeat;
    background-position: top 60px center;
    background-size: 80px;
    padding: 180px 30px 30px;
    margin: 10px 0.5% 0px;
}
.secrity_peace_point > .wrapper > div > ul {
    margin: 30px 0px 0px;
    list-style: none;
}

.circle_appeal_wrapper {
    margin-top: 60px;
    overflow: hidden;
}

.circle_appeal {
    position: relative;
    padding: 30px;
    margin-top: 120px;
    background-color: #fcf7f8;
}

.circle_appeal_title {
    position: absolute;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 240px;
    width: 240px;
    border-radius: 50%;
    background-color: #a60025;
}

.circle_appeal_title_box {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 100%;
    text-align: center;
    color: #fff;
}

.circle_appeal_title_box > p {
    line-height: 1.5;
    white-space: nowrap;
}
.circle_appeal_title_box > p:nth-of-type(1) {
    font-size: 24px;
}
.circle_appeal_title_box > p:nth-of-type(2) {
    margin-top: 0.5em;
    font-size: 16px;
}

.circle_appeal_lead {
    margin: 120px 0px 0px;
    color: #a60025;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.circle_appeal_lead > p {
    line-height: 1.5;
}

.circle_appeal_lead > p + p {
    margin-top: 1em;
}

.circle_appeal_text {
    margin: 1em 0px 0px;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .circle_appeal_wrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-left: -15px;
        margin-right: -15px;
    }
    .circle_appeal {
        margin-left: 15px;
        margin-right: 15px;
        width: calc(50% - 30px);
    }
}

.point_box {
    margin: 60px 0px 0px;
}
.point_box > .wrapper {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    margin: -10px -0.5% 0px;
}
.point_box > .wrapper > div {
    width: 32%;
    background-color: #fcf7f8;
    background-repeat: no-repeat;
    background-position: top 60px center;
    background-size: 80px;
    padding: 20px 30px 30px;
    margin: 10px 0.5% 0px;
}
.point_box > .wrapper > div > ul {
    margin-top: 30px;
    list-style: none;
}
.point_box > .wrapper > div > p {
    margin-top: 30px;
}
.point_box > .wrapper > div > img {
    margin-top: 30px;
}
.point_box h4 {
    margin: 0 0 1em;
}

@media screen and (max-width: 991px) {
    .secrity_peace_point > .wrapper > div,
    .point_box > .wrapper > div {
        width: 49%;
    }
}
@media screen and (max-width: 767px) {
    .secrity_peace_point > .wrapper > div,
    .point_box > .wrapper > div {
        width: 99%;
    }
    .secrity_peace_point > .wrapper > div > ul > li,
    .point_box > .wrapper > div > ul > li {
        text-align: center;
    }
}

.point_list {
    list-style: none;
}

.point_list > li {
    background-color: #fcf7f8;
}

.point_list > li + li {
    margin: 30px 0px 0px;
}

.point_list_title {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 1em;
    background-color: #a60025;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
}

.point_list > li > ul {
    padding: 30px;
    margin: 0px;
    width: 100%;
    list-style: none;
}

.point_list > li > ul > li > dl > dt {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 1em;
    border: 2px solid #a60025;
    background-color: #fff;
    color: #a60025;
}

.point_list > li > ul > li > dl > dd {
    padding: 10px 10px 10px 1em;
}

@media screen and (min-width: 768px) {
    .point_list > li {
        display: flex;
        flex-wrap: wrap;
    }
    .point_list_title {
        width: 20%;
    }
    .point_list > li > ul {
        width: 80%;
    }
    .point_list > li > ul > li > dl {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        margin: 0px;
    }
    .point_list > li > ul > li + li {
        margin: 1em 0px 0px;
    }
    
    .point_list > li > ul > li > dl > dt {
        width: 12em;
    }
    
    .point_list > li > ul > li > dl > dd {
        width: calc(100% - 12em);
    }
}

.list_slash > ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0px;
    list-style: none;
}

.list_slash > ul > li:after {
    content: "　/　";
}

.list_underline {
    display: flex;
    flex-wrap: wrap;
    margin: 0px -10px;
    list-style: none;
}

.list_underline > li {
    margin: 0px 10px;
    width: calc(100% - 20px);
    min-height: 100%;
    padding: 1em 0px;
    border-bottom: 1px solid #a60025;
}
.list_underline > li:nth-of-type(1) {
    border-top: 1px solid #a60025;
}

@media screen and (min-width: 768px) {
    .list_underline > li {
        width: calc(50% - 20px);
    }
    .list_underline > li:nth-of-type(2) {
        border-top: 1px solid #a60025;
    }
}

.page-contact .section .tel_num {
    padding: 2em 4em;
    margin-left: auto;
    margin-right: auto;
    border-top: 1px solid #a60025;
    border-bottom: 1px solid #a60025;
    white-space: nowrap;
}
.page-contact .section .tel_num a {
    font-size: 32px;
}
.page-contact .section .tel_num p {
    margin: 1em 0px 0px;
    font-size: 18px;
}

.page-contact .fax_num {
    margin: 1em 0px 0px;
    font-size: 18px;
    text-align: center;
}

.menu-sitemap-container > ul {
    display: table;
    margin: -1em auto 0px;
}

.menu-sitemap-container li {
    margin: 1em 0px 0px;
}

.menu-sitemap-container .sub-menu {
    margin: 0px 0px 0px 1em;
}

.menu-sitemap-container .menu-item-has-children,
.menu-sitemap-container .menu-item-has-children + li {
    margin: 2em 0px 0px;
}

.page-example-commerce .row.bg_appeal {
    padding: 0px 30px 60px;
}

.norisuke_company_info {
    display: flex;
    align-items: center;
    width: 650px;
    margin: 0px auto;
}

.norisuke_company_info > p > span {
    display: inline-block;
}

@media screen and (max-width: 767px) {
    .norisuke_company_info {
        flex-wrap: wrap;
        width: 100%;
    }
    .norisuke_company_info > p {
        text-align: center;
    }
}

.link_download_pdf {
    position: relative;
    padding: 0px 0px 0px 1.5em;
}
.link_download_pdf:before {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\f1c1";
}

.page-norisuke table td:nth-child(1) {
    width: 20%;
}
.page-norisuke table td:nth-child(2) {
    width: 80%;
}
.page-norisuke table th:nth-child(1) {
    width: 30%;
}
.page-norisuke table th:nth-child(2) {
    width: 70%;
}

.page-rakusuke table th:nth-child(1) {
    width: 30%;
}
.page-rakusuke table th:nth-child(2) {
    width: 70%;
}

.link_inner {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.link_inner > a {
    margin: 30px 1em 0px;
}

.list_inner_link {
    display: flex;
    justify-content: center;
    list-style: none;
}

.list_inner_link li {
    margin: 0px 1em;
    border: 1px solid #a60025;
}

.list_inner_link a {
    display: block;
    position: relative;
    padding: 0.5em 2em;
}
.list_inner_link a::after {
    position: absolute;
    top: 50%;
    right: 0.5em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(135deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}

.facility_info_item h4 {
    margin-bottom: 30px;
}

.facility_info_item img + img {
    margin-top: 30px;
}

@media screen and (max-width: 767px) {
    .facility_info_item,
    .facility_info_item_full {
        margin: 30px 0px 0px;
    }
}
@media screen and (min-width: 768px) {
    .facility_info {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -15px 0px;
    }
    .facility_info_item,
    .facility_info_item_full {
        margin: 30px 15px 0px;
    }
    .facility_info_item {
        width: calc(50% - 30px);
    }
    .facility_info_item_full {
        width: 100%;
    }
    .facility_info_item .list_table > dt {
        width: 40%;
    }
    .facility_info_item .list_table > dd {
        width: 60%;
    }
}

.list_facility ul {
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0px 0px;
    width: 100%;
    list-style: none;
}

.list_facility li {
    margin: 40px 10px 0px;
    width: calc(100% - 20px);
    min-height: 100%;
}

.list_facility a {
    display: block;
    position: relative;
    text-decoration: none;
}

.list_facility_title {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 4em;
    font-size: 17px;
    text-align: center;
}

.list_facility_image {
    position: relative;
    width: 100%;
    padding-top: 100%;
    overflow: hidden;
}

.list_facility_image img {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
}

@media screen and (min-width: 768px) {
    .list_facility li {
        width: calc(50% - 20px);
    }
}
@media screen and (min-width: 992px) {
    .list_facility li {
        width: calc(25% - 20px);
    }
}

.content_problem ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -20px -10px 0px;
    width: 100%;
    list-style: none;
}

.content_problem li {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 1em;
    margin: 20px 10px 0px;
    width: calc(100% - 20px);
    min-height: 100%;
    height: 6em;
    background-color: #fcf7f8;
    color: #a60025;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.content_problem li span {
    display: inline-block;
}

.content_problem_title {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);;
    border: 2px solid #a60025;
    background-color: #a60025;
    padding: 4px 2em;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
}

.content_problem_catch {
    position: relative;
    padding: 1em;
    margin: 150px auto 0px;
    width: 90%;
    border: 2px solid #a60025;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}
.content_problem_catch::before,
.content_problem_catch::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    content: "";
}
.content_problem_catch::before {
    top: -90px;
    width: 0px;
    height: 0px;
    border: 60px solid transparent;
    border-top: 70px solid #a60025;
}
.content_problem_catch::after {
    top: -120px;
    width: 60px;
    height: 60px;
    background-color: #a60025;
}

@media screen and (min-width: 798px) {
    .content_problem li {
        height: 10em;
        width: calc(50% - 20px);
    }
}
@media screen and (min-width: 1200px) {
    .content_problem li {
        width: calc(33.3% - 20px);
    }
}

.list_menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -20px -10px 0px;
    list-style: none;
}

.list_menu li {
    position: relative;
    margin: 20px 10px 0px;
    width: calc(33.3% - 20px);
    min-height: 100%;
    overflow: hidden;
}

.list_menu li img {
    transition: 0.5s transform;
}
.list_menu li:hover img {
    opacity: 1;
    transform: scale(1.1);
}

.list_menu li a p {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 100%;
    color: #fff;
    font-size: 24px;
    text-shadow: -2px -2px 6px #000, 2px -2px 6px #000, 2px 2px 6px #000, -2px 2px 6px #000;
    text-align: center;
}

.ems_main {
    position: relative;
    background-color: #fcf7f8;
}
.ems_main::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    background-color: #fcf7f8;
    content: "";
}

.list_ems {
    position: relative;
}

.list_ems_title {
    display: table;
    padding: 0px 1em;
    margin: 30px auto 0px;
    border-bottom: 4px solid #a60025;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
}

.list_ems ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -20px -10px 0px;
    list-style: none;
}

.list_ems li {
    margin: 20px 10px 0px;
    width: calc(25% - 20px);
    min-height: 100%;
}

.list_case {
    display: flex;
    flex-wrap: wrap;
    margin: -20px -10px 0px;
    list-style: none;
}

.list_case li {
    margin: 40px 10px 0px;
    width: calc(33.3% - 20px);
    min-height: 100%;
}

.list_case a {
    display: block;
    text-decoration: none;
}

.list_case_title {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 4.5em;
    color: #070002;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.list_case_image {
    position: relative;
    margin-top: 10px;
    padding-top: 75%;
    overflow: hidden;
}

.list_case_image img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.list_case_btn {
    position: relative;
    padding: 1em;
    border: 1px solid #000;
    background-color: #000;
    color: #fff;
    text-align: center;
    transition: color .2s, background-color .2s, border-color .2s, text-decoratin .2s;
}
.list_case_btn:after {
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\f105";
}
.list_case_btn:link,
.list_case_btn:visited,
.list_case_btn:active {
    color: #fff;
}
.list_case a:hover .list_case_btn {
    background-color: #fff;
    color: #000;
    text-decoration: none;
}

.list_case_subimage {
    display: flex;
    flex-wrap: wrap;
    margin: -20px -10px 0px;
    list-style: none;
}

.list_case_subimage li {
    margin: 20px 10px 0px;
    width: calc(33.3% - 20px);
    min-height: 100%;
}

.solution_fv {
    position: relative;
    padding: 120px 0px;
    background-image: url(./images/page_title/solution_fv_catch.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: #fff;
}

.solution_fv_image {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    opacity: 0.8;
}

.solution_fv_image img {
    position: absolute;
    max-width: 250px;
    margin: 0px;
}
   
.solution_fv .container {
    position: relative;
    z-index: 1;
    width: 100%;
}

.solution_fv_catch {
    padding: 0px 1em;
}

.solution_fv_catch_before span {
    display: inline-block;
    padding: 5px 1em;
    background-color: #a60025;
    color: #fff;
    font-size: 18px;
}

.solution_fv_catch_before span + span {
    margin-left: 1em;
}

.solution_fv_catch h1 {
    margin-top: 20px;
    font-size: 32px;
    text-shadow: -2px -2px 6px #000, 2px -2px 6px #000, 2px 2px 6px #000, -2px 2px 6px #000;
}

.solution_fv_catch_after {
    margin-top: 20px;
    text-shadow: -2px -2px 6px #000, 2px -2px 6px #000, 2px 2px 6px #000, -2px 2px 6px #000;
}

.solution_fv_catch_after a {
    color: #fff;
    text-decoration: underline;
}

.solution_fv_catch > a {
    display: inline-block;
    padding: 10px 2em;
    margin-top: 20px;
    text-decoration: none;
    background-color: #fff;
    color: #a60025;
    font-size: 18px;
    font-weight: bold;
}

.solution_fv_form {
    padding: 20px 20px 0px;
    border-radius: 1em;
    background-color: #fff;
    color: #010b12;
}

.solution_fv_form_title {
    text-align: center;
}

.solution_fv_form_title p:nth-of-type(1) {
    display: table;
    padding: 5px 1em;
    margin: 0px auto;
    background-color: #a60025;
    color: #fff;
    font-size: 13px;
    line-height: 1.5;
}
.solution_fv_form_title p:nth-of-type(2) {
    margin-top: 0.25em;
    font-size: 20px;
    line-height: 1.5;
}

@media screen and (max-width: 999.98px) {
    .solution_fv {
        padding: 60px 0px;
    }
    .solution_fv_form {
        margin: 60px auto 0px;
    }
    .solution_fv_image img:nth-of-type(1) {
        top: 8%;
        right: 8%;
    }
    .solution_fv_image img:nth-of-type(2) {
        top: 24%;
        right: 24%;
    }
}

@media screen and (min-width: 1000px) {
    .solution_fv_image img:nth-of-type(1) {
        top: 16%;
        left: 6%;
    }
    .solution_fv_image img:nth-of-type(2) {
        top: 48%;
        left: 16%;
    }
    .solution_fv .container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    .solution_fv_catch {
        width: 60%;
    }

    .solution_fv_form {
        width: 40%;
    }
}

/****************************************
6. Footer 
****************************************/
#footer {
    padding: 30px 0px 80px;
    background-color: #1d1d1d;
    color: #fff;
}

.footer_navi .menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-wrap: wrap;
    height: 10em;
    margin: -1em 0px 0px;
    list-style: none;
}

.footer_navi .menu li {
    width: 28%;
    margin: 1em 0px 0px;
    font-size: 13px;
    line-height: 1;
}

.footer_navi .menu li a:link,
.footer_navi .menu li a:visited,
.footer_navi .menu li a:active {
    color: #fff;
}
.footer_navi .menu li a:hover {
    color: #a2a2a2;
    text-decoration: none;
}

@media screen and (max-width: 767px) {
    #footer {
        padding: 30px 0px;
    }
    .footer_navi .menu {
        display: none;
    }
}

.footer_info {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin: 30px 0px 0px;
}

.footer_logo {
    width: 30%;
    min-width: 200px;
}

.footer_info address {
    margin: 0px 0px 0px 30px;
    font-size: 12px;
}

.footer_info address p span:nth-child(n + 2) {
    margin: 0px 0px 0px 1em;
}

.footer_certification {
    display: table;
    padding: 20px;
    margin: 20px auto 0px;
    background-color: #fff;
}

.footer_certification ul {
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer_certification img {
    max-height: 100px;
    margin: 0px 10px;
}

.footer_btn_link {
    padding: 1em 3em;
    margin: 0px 0px 0px 30px;
    border: 1px solid #363636;
    background-color: #363636;
    text-align: center;
    white-space: nowrap;
}
.footer_btn_link:link,
.footer_btn_link:visited,
.footer_btn_link:active {
    color: #fff;
}
.footer_btn_link:hover {
    background-color: transparent;
    text-decoration: none;
}

@media screen and (max-width: 991px) {
    .footer_info {
        flex-wrap: wrap;
    }
    .footer_logo {
        width: 80%;
    }
    .footer_info address {
        width: 80%;
        margin: 30px 0px 0px;
        text-align: center;
    }
    .footer_btn_link {
        width: 80%;
        padding: 1em;
        margin: 30px 0px 0px;
    }
}

.footer_cta {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: -100%;
    left: 0px;
    right: 0px;
    z-index: 9999;
    padding: 16px;
    background-color: rgba(0, 0, 0, 0.6);
    transition: bottom 0.5s;
}

@media screen and (min-width: 800px) {
    .footer_cta.js_active {
        bottom: 0px;
    }
}

.footer_cta a {
    display: block;
    padding: 0.5em 2em;
    margin: 0px 20px;
    min-width: 300px;
    border-radius: 20px;
    background-color: #d60031;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}
.footer_cta a:hover {
    background-color: #FF053F;
    color: #fff;
    text-decoration: none;
}

#btn_scroll_top {
    position: fixed;
    z-index: 9999;
    bottom: 40px;
    right: 40px;
    display: none;
}

#btn_scroll_top a {
    display: block;
    position: relative;
    width: 70px;
    height: 70px;
    background-color: #fff;
    border: 2px solid #a60025;
    text-decoration: none;
    outline: none;
}

#btn_scroll_top a:after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #a60025;
    font-size: 38px;
    font-family: FontAwesome;
    content : "\f106";
}

/****************************************
7. single
****************************************/
.entry-meta__item.vCard.author {
    display: none;
}

.entry-meta__item.categories {
    display: none;
}

.commentarea {
    display: none;
}

/****************************************
8. WP
****************************************/

/****************************************
10. メールフォームプロ用スタイル
****************************************/
form#mailformpro .mailform {
    margin: 0px;
}

form#mailformpro dl {
    box-sizing: border-box;
}

form#mailformpro dl dt {
    display: flex;
    align-items: flex-start;
    box-sizing: border-box;
    border: none;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
}

form#mailformpro dl dd {
    box-sizing: border-box;
    border: none;
    font-size: 14px;
}

form#mailformpro dl dt:nth-of-type(n+2),
form#mailformpro dl dd:nth-of-type(n+2) {
    border-top: 1px solid #d3dad9;
}

.mfp_colored {
    background: none;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea {
    padding: 1em;
    margin: 0px;
    width: 100% !important;
    box-sizing: border-box;
    border: 1px solid #a60025;
    background-color: #fff6e5;
    box-shadow: none;
    outline: none;
}

.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button {
    padding: 0.5em 3em;
    box-sizing: border-box;
    background: none;
    background-color: #a60025;
    box-shadow: none;
    color: #fff;
    font-size: 18px;
    text-shadow: none;
}

.mfp_element_submit:hover,
.mfp_element_reset:hover,
.mfp_element_button:hover {
    background: none;
    background-color: #d60031;
    box-shadow: none;
}

div.mfp_err {
    padding: 0.5em 0px 0.5em 1em;
    background: none;
}

.problem {
    border: 1px solid #ffd5dc;
    background-color: #ffd5dc;
}

.must,
.no_must {
    display: block;
    padding: 0px 1em;
    border-radius: 4px;
    background: none;
    box-shadow: none;
    text-shadow: none;
    color: #fff;
    font-size: 12px;
    line-height: 1.5;
}

.must {
    border: 1px solid #c60505;
    background-color: #c60505;
}

.no_must {
    border: 1px solid #fc0;
    background-color: #fc0;
}

@media screen and (max-width: 767.98px) {
    form#mailformpro dl dt,
    form#mailformpro dl dd {
        padding: 1em;
        width: 100%;
    }
    form#mailformpro .mailform_conpact dt,
    form#mailformpro .mailform_conpact dd {
        padding: 0px 1em;
        width: 100%;
    }
    .must,
    .no_must {
        margin: 2px 2em 0px 0px;
    }
}

@media print, (min-width: 768px) {
    form#mailformpro dl {
        display: flex;
        flex-wrap: wrap;
    }
    form#mailformpro dl dt {
        float: none;
        padding: 2em 0px;
        width: 280px;
    }
    form#mailformpro dl dd {
        padding: 2em 2em 2em 0px;
        width: calc(100% - 280px);
    }
    .mfp_element_text,
    .mfp_element_number,
    .mfp_element_select-one,
    .mfp_element_email,
    .mfp_element_tel,
    .mfp_element_textarea {
        max-width: 500px;
    }
    .must,
    .no_must {
        margin: 2px 2em 0px;
    }
}

.mailform_conpact .mfp_element_text,
.mailform_conpact .mfp_element_number,
.mailform_conpact .mfp_element_select-one,
.mailform_conpact .mfp_element_email,
.mailform_conpact .mfp_element_tel,
.mailform_conpact .mfp_element_textarea {
    padding: 0.5em;
    margin: 0px;
    width: 100% !important;
    box-sizing: border-box;
    border: 1px solid #a60025;
    background-color: #fff6e5;
    box-shadow: none;
    outline: none;
}

@media print, (min-width: 768px) {
    form#mailformpro .mailform_conpact dt {
        padding: 0.5em 0px;
        width: 160px;
    }
    form#mailformpro .mailform_conpact dd {
        padding: 0.5em 0.5em 0.5em 0px;
        width: calc(100% - 160px);
    }
}

.article_column {
    margin-bottom: 40px;
    font-size: 17px;
}

.article_column h2 {
    padding: 0.5em 1em;
    margin: 2em 0px 1em;
    background-color: #000;
    border-bottom: 6px solid #a60025;
    color: #fff;
    font-size: 28px;
    text-align: left;
}

.article_column h3 {
    padding: 0px 0px 0.5em;
    margin: 2em 0px 1em;
    border-bottom: 6px solid #a60025;
    font-size: 24px;
    text-align: left;
}
.article_column h3::after {
    background-color: transparent;
}

.article_column h4 {
    padding: 0.5em 1em;
    margin: 2em 0px 1em;
    background-color: #efefef;
    font-size: 20px;
    text-align: left;
}
.article_column h4::after {
    background-color: transparent;
}

.article_column ul,
.article_column ol,
.article_column li {
    padding: 0px;
    margin: 0px;
}

.article_column ol,
.article_column ul {
    margin: 0px 0px 0px 1.5em;
}

.article_column ol li,
.article_column ul li {
    margin: 1em 0px 0px;
}

.wp-block-table th,
.wp-block-table td {
    padding: 1em;
}

.wp-block-table thead th,
.wp-block-table thead td {
    background-color: #a60025;
    color: #fff;
}

.list_column > ul {
    display: flex;
    flex-wrap: wrap;
    padding: 0px;
    margin: -20px 10px 0px;
    list-style: none;
}

.list_column > ul > li {
    margin: 20px 10px 0px;
    border: 1px solid #999;
    width: calc(100% - 20px);
    min-height: 100%;
    box-sizing: border-box;
}

.list_column > ul > li > a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.list_column > ul > li > a:hover {
    text-decoration: none;
}

.list_column > ul > li > a > img {
    margin: 0px 0px 10px;
}

.list_column > ul > li > a > time {
    padding: 0px 1em;
    font-size: 0.8em;
    text-align: right;
}

.list_column_title,
.list_column h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0px 0.5em;
    margin: 0px;
    height: 5em;
    color: #000;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    text-align: left;
    border-bottom: none;
}

.list_column_title span,
.list_column h2 span {
    display: inline-block;
}

.list_column_btn {
    display: block;
    position: relative;
    padding: 0.5em;
    width: 100%;
    background-color: #a60025;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.list_column_btn:hover {
    background-color: #a60025;
    opacity: 0.8;
}

@media screen and (min-width: 992px) {
    .list_column > ul > li {
        width: calc(50% - 20px);
    }
}
@media screen and (min-width: 1200px) {
    .list_column > ul > li {
        width: calc(33.3% - 20px);
    }
}
