/*==========================================================
                        C U S T O M
==========================================================*/
/* MB */
.under main .mb10 {
    margin-bottom: 10px
}
.under main .mb15 {
    margin-bottom: 15px
}
.under main .mb20 {
    margin-bottom: 20px
}
.under main .mb25 {
    margin-bottom: 25px
}
.under main .mb30 {
    margin-bottom: 30px
}
.under main .mb40 {
    margin-bottom: 40px
}
.under main .mb50 {
    margin-bottom: 50px
}
.under main .mb60 {
    margin-bottom: 60px
}
.under main .mb70 {
    margin-bottom: 70px
}
.under main .mb80 {
    margin-bottom: 80px
}
.under main .mb90 {
    margin-bottom: 90px
}
/* MT */
.under main .mt10 {
    margin-top: 10px
}
.under main .mt15 {
    margin-top: 15px
}
.under main .mt20 {
    margin-top: 20px
}
.under main .mt25 {
    margin-top: 25px
}
.under main .mt30 {
    margin-top: 30px
}
.under main .mt40 {
    margin-top: 40px
}
.under main .mt50 {
    margin-top: 50px
}
.under main .mt60 {
    margin-top: 60px
}
.under main .mt70 {
    margin-top: 70px
}
.under main .mt80 {
    margin-top: 80px
}
.under main .mt90 {
    margin-top: 90px
}
/* MAX_W */
.under main .max_w200 {
    width: 100%;
    max-width: 200px
}
.under main .max_w250 {
    width: 100%;
    max-width: 250px
}
.under main .max_w300 {
    width: 100%;
    max-width: 300px
}
.under main .max_w350 {
    width: 100%;
    max-width: 350px
}
.under main .max_w500 {
    width: 100%;
    max-width: 500px
}
.under main .max_w600 {
    width: 100%;
    max-width: 600px
}
.under main .max_w700 {
    width: 100%;
    max-width: 700px
}
.under main .max_w800 {
    width: 100%;
    max-width: 800px
}
.under main .max_w900 {
    width: 100%;
    max-width: 900px
}
/* MIN-W */
.under main .min_w200 {
    min-width: 200px
}
.under main .min_w250 {
    min-width: 250px
}
.under main .min_w300 {
    min-width: 300px
}
.under main .min_w350 {
    min-width: 350px
}
.under main .min_w500 {
    min-width: 500px
}
.under main {
    padding-top: 140px;
}
/*==========================================================
                        H E A D I N G
==========================================================*/
.under main h2, .under main h3, .under main h4, .under main h5, .under main h6 {
    font-weight: bold;
    margin-bottom: 30px;
    word-break: break-all;
}
.under main h2 {
    font-size: 38px;
    text-align: center;
    margin-bottom: 0;
}
.under .un_page_title {
    color: #fff;
    font-size: 52px;
    letter-spacing: 0.02em;
    text-align: left;
}
.under main .un_ttl3, .under main .u_editor h3 {
    font-size: 37px;
    font-weight: bold;
    background: url("../images/bg_h.png") no-repeat left top/40px;
    padding-top: 26px;
    margin-bottom: 32px;
    color: #292929;
}
.u_editor h3 {
    overflow: hidden;
}
.under main .en_un, .under main .boxcol p.en_un {
    display: block;
    font-family: var(--f-en);
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.02em;
    line-height: 1.4;
    color: var(--mcolor) !important;
    margin-bottom: 0;
}
.under main .en_un.mb1 {
    margin-bottom: 15px;
}
.under main .un_ttl3.center {
    background-position: center top;
}
.under main .un_ttl4, .under main .u_editor h4 {
    font-weight: bold;
    font-size: 30px;
}
.under main .un_ttl5, .under main .u_editor h5 {
    font-size: 26px;
    color: #000000;
    margin-bottom: 46px;
}
.under main .un_ttl5.mb1 {
    margin-bottom: 25px;
}
.under main .un_ttl6, .under main .u_editor h6 {
    font-size: 22px;
    position: relative;
}
.under main .pre {
    position: relative;
}
.under main .en_un.lg {
    position: absolute;
    font-size: 100px;
}
.under main .pre {
    position: relative;
}
.under main .image_r .en_un.lg {
    right: 0;
    top: -50px;
    line-height: 1;
}
.under main .image_l .en_un.lg {
    left: 0;
    top: -50px;
    line-height: 1;
}
/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content {
    padding: 0 0 120px
}
.under main section {
    padding: 0 0 90px;
    margin-bottom: 0
}
.under main section.boxh4_none {
    padding-bottom: 0;
}
.under main section.boxh4_none .boxh4 {
    margin-bottom: 0;
}
.under main section:last-child {
    padding: 0
}
.under main ol li {
    list-style: decimal;
}
/* LINK + BUTTON TOP */
.under main .link {
    text-decoration: underline;
    color: var(--mcolor);
}
/*============ TOP INFO ============ */
.under main #top_info {
    height: 350px;
    width: 100%;
    /* max-width: 1920px; */
    margin: 0 auto;
    position: relative;
}
.under main #top_info::before, .under main #top_info::after {
    position: absolute;
    content: "";
    width: calc(100% - 120px);
    height: 300px;
}
.under main #top_info::before {
    background: url("../images/top_info_bg.jpg") no-repeat left top;
    right: 0;
    top: 0;
}
/* .product main #top_info::before {
    background: url("../images/top_info_product.jpg") no-repeat left top;
}

.company main #top_info::before {
    background: url("../images/top_info_company.jpg") no-repeat left top;
}

.construction main #top_info::before {
    background: url("../images/top_info_construction.jpg") no-repeat left top;
}

.case01 main #top_info::before {
    background: url("../images/top_info_case01.jpg") no-repeat left top;
}

.case02 main #top_info::before {
    background: url("../images/top_info_case02.jpg") no-repeat left top;
}

.case03 main #top_info::before {
    background: url("../images/top_info_case03.jpg") no-repeat left top;
}

.case04 main #top_info::before {
    background: url("../images/top_info_case04.jpg") no-repeat left top;
}

.case05 main #top_info::before {
    background: url("../images/top_info_case05.jpg") no-repeat left top;
}

.contact main #top_info::before,
.confirm main #top_info::before,
.thanks main #top_info::before {
    background: url("../images/top_info_contact.jpg") no-repeat left top;
} */
.under main #top_info::after {
    background: var(--mcolor);
    z-index: -1;
    left: 0;
    bottom: 0;
}
.under main #top_info .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    padding-bottom: 50px;
    padding-left: 300px;
}
.under main .sub_title {
    font-size: 37px;
    color: #fff;
    line-height: 1.4em;
    font-weight: bold;
}
/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path {
    margin-bottom: 35px;
}
.under main #topic_path ul {
    display: block;
    padding: 20px 0;
}
.under main #topic_path li {
    display: inline;
    position: relative;
    word-break: break-all;
}
.under main #topic_path li:not(:last-child)::after {
    content: ">";
    position: relative;
    display: inline-block;
    margin: 0 5px 0 10px;
    top: -1px;
    pointer-events: none;
}
.under main #topic_path li {}
.under main #topic_path li a {
    color: var(--mcolor);
    text-decoration: underline;
}
/*============ LIST ANCHOR LINK ============ */
.under main .list_anchor {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    margin-bottom: 40px;
    padding-bottom: 46px;
    position: relative;
}
.under main .list_anchor::before {
    position: absolute;
    content: "";
    width: 4000px;
    height: 1px;
    left: calc(50% - 2000px);
    bottom: 0;
    background: #DFDFDF;
}
.under main .list_anchor .btn {
    margin: 0 24px 15px 25px;
}
.under main .list_anchor:last-child {
    margin-bottom: 10px;
}
/*==========================================================
                        T A B L E
==========================================================*/
.under main table.td_top td {
    vertical-align: top
}
.under main table.tb_fix {
    table-layout: fixed;
}
.under main table {
    margin-bottom: 30px;
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}
.under main table.mailform th, .under main table th {
    font-weight: 700;
    font-size: 20px;
    color: #000;
}
.under main table.mailform th span {
    color: #fff
}
.under main table.mailform td .info {
    color: var(--mcolor)
}
.under main table td {
    background: #fff;
}
.under main table th, .under main table td {
    padding: 15px;
    border: none;
    border-bottom: 1px #000000 solid;
}
.under main table img {
    display: block;
    margin: auto;
}
.under main table th {
    border-right-color: #fff;
    background: #fff;
}
.under main table tr:first-child th, .under main table tr:first-child td {
    border-top: 1px #000000 solid;
}
.under main table tr th:last-child {
    border-right-color: var(--mcolor);
}
.under main table.tb1 {
    position: relative;
    border-collapse: separate;
    border-spacing: 20px;
    width: calc(100% - 120px);
    left: -20px;
    max-width: inherit;
}
/*============ LIST ============ */
/* LIST 01 */
.under main .list01 {
    margin-bottom: 30px;
}
.under main .u_editor ul, .under main .u_editor ol {
    overflow: hidden;
}
.under main .list01 li {
    display: block;
    padding-left: 25px;
    margin-bottom: 9px;
    position: relative
}
.under main .list01 li::before {
    position: absolute;
    top: 15px;
    left: 0;
    content: '';
    width: 7px;
    height: 7px;
    background: #000;
    border-radius: 50%;
}
.under main .list01 li a {
    margin-left: -15px;
    position: relative;
    padding-left: 15px;
}
/* LIST 02 */
.under main .list02 {
    margin-bottom: 30px;
}
.under main .list02 li {
    counter-increment: li;
    padding-left: 30px;
    position: relative;
    margin-bottom: 10px;
}
.under main .list02 li::before {
    content: counter(li);
    position: absolute;
    width: 22px;
    height: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    left: 0;
    top: 6px;
    background-color: var(--scolor);
    font-size: 12px;
    font-weight: bold;
    color: #FFF;
    line-height: 22px;
}
/* LIST CHECK */
.under main .list_check {
    margin-bottom: 30px;
}
.under main .list_check.bold li {
    font-weight: bold;
}
.under main .list_check li {
    display: block;
    padding-left: 25px;
    margin-bottom: 5px;
    position: relative
}
.under main .list_check li::before {
    content: '';
    display: block;
    position: absolute;
    top: 8px;
    left: 5px;
    width: 7px;
    height: 15px;
    border: solid var(--mcolor);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01 {
    padding: 39px 40px;
    margin-bottom: 50px;
    background: #f5f5f5;
    border-left: 5px solid var(--mcolor);
}
/* FRAME 02 */
.under main .frame02 {
    border: 1px solid #e6e6e6;
    padding: 25px;
    margin-bottom: 50px;
}
.under main .frame03 {
    position: relative;
    padding: 73px 0px 117px;
}
.under main .frame03::before {
    position: absolute;
    content: "";
    width: 4000px;
    height: 100%;
    left: calc(50% - 2000px);
    top: 0;
    background: #f5f5f5;
    z-index: -1;
}
/* FRAME PICKUP */
.under main .frame_pick {
    padding: 73px 80px 117px;
    margin-bottom: 100px;
    width: 100%;
    display: inline-block;
    position: relative;
    color: #fff;
    z-index: 1;
}
.under main .frame_pick::before {
    position: absolute;
    content: "";
    width: 4000px;
    height: 100%;
    left: calc(50% - 2000px);
    top: 0;
    background: #2A2A2A;
    z-index: -1;
}
.under main .frame_pick .pick_ttl {
    text-align: center;
    font-weight: bold;
    font-size: 26px;
    margin-bottom: 84px;
}
.under main .frame_pick .pick_ttl span {
    display: block;
    font-family: var(--f-en);
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.02em;
    background: url("../images/bg_h.png") no-repeat center bottom/40px;
    margin-bottom: 32px;
    line-height: 1.4;
    padding-bottom: 14px;
}
.under main .frame_pick .pick_ttl.pick_ttl2 {
    font-size: 37px;
}
.under main .frame_pick .pick_ttl.pick_ttl2 span {
    color: var(--mcolor);
}
.under main .frame_pick_blog::before {
    width: 100%;
    left: 0;
}
/* IFRAME BOX */
.under main .box_map {
    width: 100%;
    height: 400px
}
.under main .box_ytb {
    width: 900px;
    height: auto;
    margin: 0 auto;
    aspect-ratio: 16/9;
    max-width: 100%;
}
.under main .box_map iframe, .under main .box_ytb iframe {
    width: 100%;
    height: 100%;
    border: none;
    outline: none;
}
/* ===========  PAGINATION WP ===========  */
.under main .wp_pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 40px;
}
.under main .wp_pagination > span, .under main .wp_pagination a {
    min-width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: #fff;
    margin: 5px;
    text-align: center;
    font-weight: 700;
    line-height: 1em;
    transition: all 0.3s;
    padding: 2px 5px 0;
    border: 1px #ccc solid;
    background: #fff;
    font-family: var(--f-en);
}
.under main .wp_pagination a {
    color: var(--txt)
}
.under main .wp_pagination > span {
    background: var(--mcolor);
    border: 1px var(--mcolor) solid;
    color: #fff;
}
/*==========================================================
                     EDITOR WORDPRESS + ovn
==========================================================*/
/* Blockquote */
.u_editor::after {
    content: "";
    display: table;
    clear: both;
}
.u_editor * {
    font-size: 16px;
}
.u_editor .clearfix:not(:last-child) {
    margin-bottom: 40px;
}
/* Blockquote */
.u_editor blockquote {
    padding: 20px;
    background: #F0F9FF;
    margin-bottom: 20px;
}
.u_editor blockquote, .u_editor blockquote p {
    font-size: 16px;
}
.u_editor blockquote cite {
    display: block;
    font-style: normal;
    margin-top: 0.5em;
    color: #999;
}
.u_editor del {
    text-decoration: line-through;
}
.u_editor ins {
    text-decoration: underline;
}
/* Caption */
.u_editor .wp-caption {
    max-width: 100%;
    text-align: center;
    margin-bottom: 1.5em;
}
.u_editor .wp-caption:last-child {
    margin-bottom: 0;
}
.u_editor .wp-caption img {
    margin: 0 auto;
    border: 0;
}
.u_editor .wp-caption-text {
    font-size: 16px;
    color: var(--txt);
    margin-top: 0.5em;
    font-weight: 500;
}
/* Horizontal line */
.u_editor hr {
    border: none;
    border-top: 1px solid #ccc;
    margin: 2em 0;
}
/* Text align */
.u_editor .has-text-align-center {
    text-align: center;
}
.u_editor .has-text-align-right {
    text-align: right;
}
.u_editor .has-text-align-left {
    text-align: left;
}
/* Gutenberg-specific */
.u_editor .wp-block-image {
    margin: 1.5em 0;
}
.u_editor .wp-block-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    margin: 1.5em 0;
}
.u_editor .wp-block-quote {
    border-left: 4px solid #ccc;
    padding-left: 1em;
    color: #555;
    font-style: italic;
}
.u_editor .wp-block-quote cite {
    display: block;
    font-style: normal;
    margin-top: 0.5em;
    color: #999;
}
.u_editor .wp-block-table td, .u_editor .wp-block-table th {
    border: 1px solid #ccc;
    padding: 0.5em;
}
.aligncenter {
    margin: 0 auto 25px;
    display: block;
}
@media screen and (min-width: 751px) {
    .alignleft, .under main table .alignleft {
        float: left;
        margin-right: 30px;
    }
    .alignright, .under main table .alignright {
        float: right;
        margin-left: 30px;
    }
}
@media screen and (max-width: 750px) {
    .alignleft, .alignright, .under main table .alignleft, under main table .alignright {
        margin-left: auto;
        margin-right: auto;
        display: block;
    }
}
/* RESET */
.under main table:last-child, .under main .list_faq:last-child, .under main .list_faq dl:last-child, .under main .list01:last-child, .under main .list01 li:last-child, .under main .list02:last-child, .under main .list02 li:last-child, .under main .list_check:last-child, .under main .list_check li:last-child, .under main .list_step:last-child, .under main .list_step dl:last-child, .under main section p:last-child, .under main p:last-child, .under main .frame01:last-child, .under main .frame02:last-child, .under main .frame_pick:last-child {
    margin-bottom: 0
}
.under main .un_btn a {
    flex-direction: column;
    width: 380px;
    height: 80px;
    justify-content: center;
    align-items: flex-start;
    padding-left: 25px;
}
.under main .un_btn a.active {
    background: var(--mcolor);
    pointer-events: none;
}
.under main .un_btn a.active::after {
    display: none;
    pointer-events: none;
}
.under main .un_btn a.active:hover {
    opacity: 1;
}
.under main .un_btn a::before {
    width: 47px;
    background: url(../images/arrow_down_un.svg) no-repeat center;
    height: 60px;
}
.under main .un_btn a .en {
    font-family: var(--f-en);
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 6px;
}
.under main .un_btn a .ja {
    font-size: 16px;
    line-height: 1.3;
}
.under main .un_box {
    margin: 0 auto;
    max-width: 1300px;
}
.under main .boxh4 {
    position: relative;
    padding-top: 122px;
    padding-bottom: 132px;
    margin-bottom: 30px;
}
.under main .boxh4 h3 {
    color: #fff;
}
.under main .boxh4::before {
    position: absolute;
    content: "";
    background: url("../images/un_par.png")#D1272D repeat center top;
    left: calc(50% - 2000px);
    top: 0;
    width: 4000px;
    height: 100%;
    z-index: -1;
}
.under main .boxh4 > .un_ttl4 {
    color: #fff;
}
.under main .boxh4 p {
    color: #fff;
}
.under main .boxcol {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.under main .boxcol p {
    color: #000 !important;
}
.under main .boxcol > div {
    width: calc(50% - 30px);
    background: #fff;
    color: #000000;
    padding: 60px 50px 60px;
    position: relative;
    display: flex;
    flex-direction: column;
}
.under main .boxcol > div > a {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 9;
    left: 0;
    top: 0;
    cursor: pointer;
}
.under main .boxcol > div:hover .title_load {
    color: var(--mcolor) !important;
}
.under main .boxcol_txt p {
    color: #000000;
}
.under .boxcol > div:not(:nth-child(2n)) {
    margin-right: 60px;
}
.under main .boxcol_txt:not(:last-of-type) {
    padding-bottom: 38px;
    margin-bottom: 49px;
    border-bottom: 1px #C9D1D6 solid;
}
.under main .boxcol p.date_load {
    margin-bottom: 0px;
    color: #bbb !important;
}
.under main .boxcol p.img_load {
    margin-bottom: 10px;
    overflow: hidden;
}
.under main .boxcol p.img_load img {
    transition: transform 0.5s ease;
}
.under main .title_load {
    font-weight: bold;
    line-height: 1.8;
}
.under main .company_name {
    font-size: 24px;
    font-weight: bold;
    text-align: right;
}
.under main .company_ttl {
    text-align: center;
    font-weight: bold;
    display: flex;
    flex-direction: column;
}
.under main .company_bg1 {
    background: url("../images/company_img_02.jpg") no-repeat center top/cover;
    height: 500px;
    background-attachment: fixed;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 80px 0;
}
.under main .company_ttl .en {
    font-weight: bold;
    font-size: 20px;
    font-family: var(--f-en);
    margin-bottom: 40px;
    position: relative;
    letter-spacing: 0.04em;
    color: var(--mcolor);
    padding-bottom: 10px;
}
.under main .company_ttl .mid {
    font-size: 37px;
    margin-bottom: 65px;
}
.under main .company_ttl .en::before {
    position: absolute;
    content: "";
    background: url(../images/bg_h.png) no-repeat right bottom / 40px;
    width: 40px;
    height: 3px;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
}
.under main .company_ttl .ja {
    font-size: 48px;
    line-height: 1.5;
}
.under main .company_box1, .under main .company_box1 .item2 {
    display: flex;
    justify-content: center;
}
.under main .company_box1 .item1 {
    margin-right: 30px;
}
.under main .company_box1 .item1 p {}
.under main .company_box1 .item2 {
    flex-direction: column;
    width: 450px;
    justify-content: space-between;
}
.under main .company_box1 .item2 p {
    height: 450px;
}
.under main .company_box1 img, .under main .company_box1 .item1 p {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.under main .boxcol2 {
    display: flex;
    flex-wrap: wrap;
}
.under main .boxcol2 > div {
    background: #000;
    padding: 25px;
    width: calc(33.333% - 20px);
    border-top: 3px var(--mcolor) solid;
}
.under main .boxcol2 > div img {
    border: 5px #fff solid;
}
.under main .boxcol2 > div .img {
    margin-bottom: 20px;
}
.under main .boxcol2 > div .img a {
    display: block;
}
.under main .boxcol2 > div .tt {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
}
.under main .company_box2 {
    display: flex;
    max-width: 1240px;
    margin: 0 auto;
}
.under main .company_box2 .frame01 {
    flex-shrink: 0;
}
.under main .company_box2 table {
    margin-right: 50px;
    margin-bottom: 0;
}
.under main .advantage_list {
    display: flex;
    flex-wrap: wrap;
}
.under main .advantage_list li {
    width: calc(25% - 15px);
    margin-bottom: 15px;
    border-left: 3px var(--mcolor) solid;
    padding: 5px 25px;
    display: flex;
    flex-direction: column;
    background: #efefef;
}
.under main .advantage_list li .lg {
    font-weight: bold;
    font-size: 32px;
}
.under main .advantage_list li .lg .mid {
    font-size: 50%;
}
.under main .list_step {
    display: flex;
}
.under main .list_step li {
    flex: 1;
}
.under main .un_step1 {
    margin-top: 50px;
}
.under main .un_step1 ul > li {
    height: auto;
    padding: 40px 15px;
}
.under main .un_step1 ul > li .txt {
    text-align: left;
}
.under main .advantage_list2 {
    display: flex;
}
.under main .advantage_list2 li {
    flex: 1;
    padding: 15px 5px;
    background: var(--scolor);
    font-weight: bold;
    color: #fff;
    text-align: center;
}
.under main .advantage_list2 li.bg1 {
    background: var(--mcolor);
}
.under main .advantage_list2 li:not(:last-child) {
    margin-right: 10px;
}
.under main .lable1 {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.under main .lable1 li {
    border: 1px #000000 solid;
    padding: 10px 20px;
    border-radius: 35px;
    font-weight: bold;
    margin-bottom: 10px;
}
.under main .lable1 li:not(:last-child) {
    margin-right: 10px;
}
.under main .btn_big {
    max-width: 400px;
    margin: 0 auto;
}
.under main .btn_big a {
    width: 100%;
}
.under main .un_step2 {
    display: flex;
    margin-bottom: 50px;
}
.under main .un_step2 .icon1 span {
    content: "";
}
.under main .un_step2 li {
    background: #fff;
    padding: 25px;
    position: relative;
}
.under main .un_step2 li:not(:last-child)::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 20px 30px;
    border-color: transparent transparent transparent #fff;
    right: -40px;
    top: calc(50% - 20px);
}
.under main .un_step2 li .tt {
    font-size: 26px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 15px;
    border-bottom: 1px #ddd solid;
    padding-bottom: 10px;
}
.under main .un_step2 li .tt span {
    font-size: 200%;
}
.under main .un_step2 li:not(.item3) p {
    color: #000;
}
.under main .un_step2 li.item3 {
    background: #000;
}
.under main .un_step2 li:not(:last-child) {
    margin-right: 50px;
}
.under main .btn.mt_auto {
    margin-top: auto;
}
/* LIST FAQ */
.list_faq {
    margin-bottom: 30px;
    max-width: 1000px;
    margin: 0 auto;
}
.list_faq dl {
    background: #FFF;
    padding: 0;
    margin-bottom: 20px;
    border-top: 1px solid #bbb;
    border-bottom: 1px solid #bbb;
}
.list_faq dl table.tb_block th {
    text-align: center;
}
.list_faq dl:last-child {
    margin-bottom: 0
}
.list_faq dt {
    position: relative;
    font-size: 16px;
    line-height: 1.5em;
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    transition: all .3s;
    min-height: 60px;
    letter-spacing: .09em;
    padding: 13px 45px 11px 10px;
    width: 100%;
    margin: 0 auto;
    background: #fafafa;
}
.list_faq dt, .list_faq dd {
    color: #333;
}
.list_faq dt::before, .list_faq dt::after {
    right: 7px;
    top: calc(50% - 0px);
    transition: all .3s;
    position: absolute;
    content: "";
    width: 20px;
    height: 2px;
    background: #333;
}
.list_faq .active dt::before, .list_faq .active dt::after {
    transform: rotate(45deg);
}
.list_faq dt::after {
    width: 2px;
    height: 20px;
    right: 16px;
    top: calc(50% - 9px);
}
.list_faq .item dt::before {
    transform: rotate(-180deg);
}
.list_faq .item.active dt::before {
    transform: rotate(0deg);
}
.list_faq dt .icon {
    font-weight: 900;
    text-align: center;
    line-height: 1em;
    margin-right: 10px;
    flex-shrink: 0;
    color: var(--mcolor);
    top: 5px;
    position: relative;
    letter-spacing: 0;
}
.list_faq dt .tt {
    font-size: 20px;
    line-height: 1.8;
    transition: all 0.3s;
    color: #000;
    font-weight: bold;
}
.list_faq dd {
    position: relative;
    letter-spacing: .1em;
    padding: 10px 35px 11px 40px;
    line-height: 2.19;
    display: none
}
.list_faq dt .icon, .list_faq dd .icon {
    font-size: 26px;
    font-family: var(--f-en);
}
.list_faq dd .icon {
    position: absolute;
    top: 15px;
    left: 10px;
    font-weight: 700;
    text-align: center;
    line-height: 1em;
    color: #000;
    flex-shrink: 0;
    letter-spacing: 0;
}
.under main .flow_step {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
}
.under main .flow_step::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 100%;
    background: #fff;
    left: 50%;
    top: 0;
}
.under main .flow_step > div {
    display: flex;
    position: relative;
    width: 100%;
}
.under main .flow_step > div .icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background-color: #000;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--f-en);
    font-weight: bold;
    font-size: 20px;
    border: 4px solid var(--mcolor);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2);
}
.under main .flow_step > div .des {
    width: 44%;
    padding: 30px;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
    position: relative;
    background: #fff;
}
.under main .flow_step > div .des::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-width: 15px;
    border-style: solid;
}
.under main .flow_step > div:nth-child(even) .des::before {
    right: -30px;
    border-color: transparent transparent transparent #fff;
}
.under main .flow_step > div:nth-child(odd) .des::before {
    left: -30px;
    border-color: transparent #fff transparent transparent;
}
.under main .flow_step > div h4 {
    border-bottom: 2px var(--mcolor) solid;
    padding-bottom: 10px;
    margin-bottom: 15px;
}
.under main .flow_step > div .des p {
    color: #333 !important;
}
.under main .flow_step > div:nth-child(odd) .des {
    margin-left: auto;
}
.tel-box {
    text-align: center;
    padding: 40px;
    border: 4px solid #333;
    max-width: 1000px;
    margin: 0 auto 80px;
}
.tel-box .num {
    margin-bottom: 10px;
}
.tel-box .tt {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 25px;
}
.tel-box a {
    color: var(--mcolor);
    font-size: 60px;
    font-weight: 900;
    font-family: var(--f-en);
}
.tel-box .txt {
    color: #999;
    font-size: 16px;
    line-height: 1.4;
}
.mw1 {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}
.under main .title_sm {
    font-size: 14px;
    color: #999;
}
/*CONTACT*/
.input_text01 {
    width: 300px;
    height: 38px;
    padding: 7px 5px 5px;
    box-sizing: border-box;
}
.txt_info {
    color: #009900;
    font-size: 80%;
    display: block;
    margin-bottom: 5px;
}
.textarea_text01 {
    padding: 10px;
    box-sizing: border-box;
    border: 1px #ddd solid;
}
.btn_contact, .back-btn {
    appearance: none;
    -webkit-appearance: none;
    border: none !important;
    width: 280px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: all 0.3s;
    padding-top: 4px;
    background: url(../images/arrow_right.svg) no-repeat right 27px center / 10px var(--mcolor);
}
.btn-con-arrow {
    display: table;
    position: relative;
    margin: 0 auto;
}
.back-btn {
    background: url(../images/arrow_w_l.svg) no-repeat left 27px center / 10px var(--scolor);
}
.wpcf7 form .wpcf7-response-output {
    font-size: 16px;
}
.under #content .btn_contact a, .under #content .back-btn a {
    color: #fff;
}
.under .btn_contact_w > p {
    display: flex;
    justify-content: center;
    margin-top: 50px;
}
.under .btn_contact_w > p > input {
    margin: 0 5px;
}
#confirm .btn_contact_w input {
    margin: 0 5px;
    position: relative;
}
#confirm .btn_contact_w input.btn_contact {
    background: url(../images/arrow_right.svg) no-repeat right 27px center / 10px var(--mcolor);
}
.list_check.list_check01 {
    display: flex;
}
input[type="text"], input[type="number"], input[type="tel"], input[type="email"], input[type="submit"], textarea, button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.btn_contact a {
    color: #fff;
    text-decoration: none;
}
.box_zipcode, .btn_zipcode01 {
    display: flex;
}
.btn_zipcode {
    width: 100px;
    height: 36px;
    background: var(--scolor);
    border: 1px var(--scolor) solid;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-left: 10px;
    cursor: pointer;
    flex-shrink: 0;
    box-sizing: border-box;
    color: #fff;
    font-size: 14px;
    transition: all ease 0.3s;
    position: relative;
    top: 0px;
    padding-top: 2px;
}
.clear_left {
    clear: left;
}
.under main .check_wrap {
    display: flex;
    flex-wrap: wrap;
}
.under img.ui-datepicker-trigger {
    position: relative;
    left: 7px;
    top: -1px;
    cursor: pointer;
}
.under main .input02, .under main .textarea_text01, .select01 {
    border: 1px #ddd solid;
    padding: 7px 5px 5px;
}
.under main .input02, .select01 {
    width: 360px;
    height: 36px;
}
.select01 {
    height: 40px;
}
.under main .input02::placeholder, .under main .textarea_text01::placeholder {
    color: #ccc;
}
.under main .text_area01 {
    width: 100% !important;
    height: 150px !important;
}
.under main .must1 {
    background: #d0111b;
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    float: right;
    padding: 1px 5px 2px;
    border-radius: 3px;
    line-height: 1.7;
    margin-left: auto;
    position: relative;
    top: 11px;
}
.under main .box-check01 .wpcf7-list-item {
    border: dashed 1px #CCCCCC;
    padding: 7px 10px 5px;
    display: inline-block;
    margin: 3px;
    cursor: pointer;
}
.under main .check_wrap .mwform-checkbox-field {
    display: block;
}
p:empty {
    display: none;
}
.under main .box-check01 .wpcf7-list-item:hover {
    background: #FFEE7C;
}
.wpcf7-spinner {
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.box-check01_radio .wpcf7-list-item.first {
    display: none !important;
}
.under main .box_contact table th {
    text-align: left;
    width: 25%;
}
.under main .box_contact table th p {
    font-weight: bold;
}
/*POSTYPE PRODUCT*/
.product_list {}
.product_list {
    width: 100%;
    margin: 0 auto;
    flex-shrink: 0;
}
.product_list .item {
    display: flex;
    border: 1px #ddd solid;
    padding: 20px;
}
.product_list .item:not(:last-child) {
    margin-bottom: 100px;
}
.product_list .product_img {
    width: 500px;
    height: 340px;
    flex-shrink: 0;
    margin-right: 50px;
    margin-bottom: 0;
}
.product_list .product_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.product_en {
    font-family: var(--f-en);
    font-size: 18px;
    font-weight: bold;
    color: var(--mcolor);
    margin-bottom: 0;
}
.product_infor {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.product_cate {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0;
    flex-wrap: wrap;
}
.product_cate a {
    color: #fff;
    background: var(--mcolor);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-left: 10px;
    padding: 3px 10px;
    font-weight: bold;
    line-height: 1.5em;
}
.product_tt.lg {
    font-size: 40px;
}
.product_detail .product_tt.lg {
    margin-bottom: 25px;
    overflow: visible;
    -webkit-line-clamp: none;
    position: relative;
}
.product_detail .product_tt.lg, .blog_content .blog_tt {
    background: url(../images/bg_h.png) no-repeat left top / 40px;
    padding-top: 10px;
    margin-top: 10px;
}
.blog_content .blog_tt {
    margin-top: 25px;
}
.product_tt {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 0px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.7;
    word-break: break-word;
}
.product_des {
    margin-bottom: 20px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin-top: 15px;
    word-break: break-all;
}
.product_box {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.product_box .btn {
    margin-top: auto;
}
.product_slider {
    margin: 0 auto;
    max-width: 1000px;
}
.product_slider_sm .img img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    flex-shrink: 0;
}
.product_slider_sm {
    width: calc(100% + 10px);
    left: -5px;
}
.product_slider_sm .item {
    width: calc(10% - 10px);
    margin: 0 5px;
    height: 62px;
    cursor: pointer;
}
.product_slider_sm .item.slick-current {
    position: relative;
}
.product_slider_sm .item.slick-current::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    border: 3px var(--mcolor) solid;
    left: 0;
    top: 0;
}
.product_slider_sm .slick-list {
    padding: 0 !important;
}
.product_slider_sm .slick-track {
    -webkit-transform: translate3d(0, 0, 0) !important;
    -moz-transform: translate3d(0, 0, 0) !important;
    -ms-transform: translate3d(0, 0, 0) !important;
    -o-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
    display: flex;
    width: 100% !important;
    flex-wrap: wrap;
}
.product_slider_lg {
    max-width: 700px;
    margin: 0 auto 20px;
}
.product_slider_lg .img, .product_slider_sm .img {
    width: 100%;
    height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0px;
    background: #efefef;
    max-width: 700px;
}
.product_slider_lg .img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    flex-shrink: 0;
}
.product_slider_lg .caption {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 10px 20px;
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    z-index: 9;
    word-break: break-all;
}
.product_slider_sm .img {
    height: auto;
    aspect-ratio: 10/7;
}
.product_3col {
    display: flex;
    justify-content: space-between;
}
.product_3col .item {
    width: calc((100% - 40px) / 3);
    margin: 0
}
.product_3col .item .product_img {
    width: 100%;
    height: auto;
    aspect-ratio: 50/34;
    margin: 20px 0 0;
    background: #fff;
}
.product_3col .product_cate a {
    font-size: 14px;
    padding: 3px 5px;
}
.product_3col .item:nth-child(even) .product_img, .product_3col .item:not(:last-child) {
    margin: 0;
}
.product_3col .product_infor {
    flex-direction: column;
    align-items: flex-start;
    min-height: 66px;
}
.product_3col .product_infor .product_cate a {
    margin: 0 10px 5px 0;
}
/*.product_3col .product_tt {
    margin-top: auto;
}*/
.product_3col .item .product_img {
    height: 245px;
    display: flex;
    align-items: center;
    justify-content: center;
	    aspect-ratio: inherit;
}
.product_3col.product_list .product_img img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    flex-shrink: 0;
}
.icon_zoom {
    position: absolute;
    top: 20px;
    right: 20px;
    background-color: var(--mcolor);
    color: #fff;
    padding: 8px 15px;
    font-size: 0.9rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 9;
}
.icon_zoom span {
    background: url("../images/icon_search.png") no-repeat left center/17px;
    padding: 4px 0 5px 20px;
}
.under main .image_c {
    display: table;
    margin: 0 auto 25px;
}
/* PRODUCT SIDEBAR */
.product_outer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.product_outer .product_wrapper, .product_outer .product_list {
    max-width: 100%;
    width: calc(100% - 350px);
}
.product_sidebar .menu_fix_bottom {
    width: 300px;
    flex-shrink: 0;
    max-width: 100%;
    height: auto;
    border-radius: 0;
    position: relative;
    bottom: inherit;
    left: inherit;
    right: inherit;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
}
.product_sidebar .menu_fix_tt {
    width: 100%;
    justify-content: flex-start;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
}
.product_sidebar .menu_fix_list {
    height: auto;
    flex-direction: column;
    align-items: flex-start;
}
.product_sidebar .menu_fix_list li {
    width: 100%;
    position: relative;
}
.product_sidebar .menu_fix_list li a {
    width: 100%;
    position: relative;
    justify-content: flex-start;
    padding: 10px;
    margin-bottom: 5px;
    border-bottom: 1px solid #fff;
    font-size: 16px;
}
.product_sidebar .menu_fix_list li a::before {
    height: calc(100% - 10px);
    top: 5px;
    left: inherit;
    right: 45px;
}
.product_sidebar .menu_fix_list li a::after {
    background: url('../images/arr_sidebar.png') center /cover no-repeat;
    width: 14px;
    height: 14px;
    position: absolute;
    top: calc(50% - 7px);
    right: 14px;
    content: '';
}
.product_sidebar .menu_fix_list.bg2 {
    background: var(--mcolor);
    border: 2px solid #fff;
    margin-top: 10px;
}
.product_sidebar .menu_fix_list.bg2 li a::before {
    display: none;
}
.product_sidebar .menu_fix_list.bg2 li a::after {
    transform: rotate(45deg);
}
.product_sidebar .menu_fix_list.bg2 li:last-child a {
    margin-bottom: 0;
    border: none;
}
/*blog*/
.blog_list .item {
    display: flex;
    position: relative;
}
.blog_list .item > a, .blog_list_pickup .item > a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 9;
}
.blog_list .item_img {
    flex-shrink: 0;
    width: 300px;
}
.blog_date {
    font-family: var(--f-en);
    color: #aaa;
    margin-bottom: 0px;
    margin-right: 10px;
}
.blog_tt {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.7;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-all;
}
.blog_des {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog_con {
    display: flex;
    flex-direction: column;
}
.blog_wrap {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}
.blog_wrap p {
    margin-bottom: 0;
}
.blog_content .blog_cate {
    margin-right: 10px;
}
.blog_content .blog_tt {
    font-size: 30px;
    -webkit-line-clamp: none;
    margin-bottom: 30px;
}
.blog_con .btn {
    margin-top: auto;
}
.frame04 {
    background: url(../images/un_par.png) #D1272D repeat center top;
    padding: 40px;
    color: #fff
}
.blog_cate {
    padding: 5px 10px;
    background: var(--mcolor);
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
}
.blog_img {
    margin-right: 30px;
}
.blog_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.blog_list .item:not(:last-child) {
    margin-bottom: 40px;
    border-bottom: 1px #ddd solid;
    padding-bottom: 40px;
}
.frame_pick .blog_date {
    margin-bottom: 5px;
}
.frame_pick .blog_list .item_img {
    width: 500px;
    position: relative;
}
.frame_pick .blog_cate {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9;
    line-height: 2;
    font-size: 16px;
    padding-top: 3px;
}
.frame_pick .blog_tt {
    font-size: 24px;
    margin-bottom: 10px;
}
.frame_pick .blog_des {
    -webkit-line-clamp: 3;
}
.frame_pick .blog_list .item {
    background: #000;
    padding: 25px;
    max-width: 1400px;
    margin: 0 auto;
}
.frame_pick .blog_list .btn a {
    background: var(--mcolor);
}
.blog_col {
    display: flex;
    align-items: flex-start;
}
.blog_col_l {
    width: calc(100% - 270px);
}
.blog_col_r {
    width: 280px;
    margin-left: 50px;
    flex-shrink: 0;
    position: sticky;
    top: 90px;
}
.nav_box {
    padding: 10px 15px;
    background: #fafafa;
    margin-bottom: 30px;
}
.under main .nav_box .list01 li {
    margin-bottom: 0;
}
.under main .nav_box .list01 li:not(:last-child) {
    border-bottom: 1px #ccc dashed;
}
.under main .nav_box .list01 li.active a {
    pointer-events: none;
    color: var(--mcolor);
}
.under main .nav_box .list01 li.active::before {
    background: var(--mcolor);
}
.under main .nav_box .list01 li a {
    padding: 7px 0 7px 15px;
    display: block;
    margin-left: -25px;
}
.under main .nav_box .list01 li::before {
    top: 22px;
}
.nav_tt {
    border-bottom: 2px var(--mcolor) solid;
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: bold;
}
.blog_list_pickup .item {
    display: flex;
    position: relative;
}
.blog_list_pickup .item .post_img {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    margin-right: 10px;
    margin-bottom: 0;
}
.blog_list_pickup .item .post_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.blog_list_pickup .item:not(:last-child) {
    margin-bottom: 20px;
}
.post_date {
    color: #aaa;
    font-size: 12px;
    margin-bottom: 0;
}
.post_tt {
    font-size: 14px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-all;
}
.list_cate {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 50px;
}
.list_cate p, .under main .list_cate p:last-child {
    margin-right: 10px;
    margin-bottom: 10px;
    display: flex;
}
.list_cate p a {
    padding: 5px 15px;
    background: #000;
    color: #fff;
}
.list_cate p.active a {
    background: var(--mcolor);
}
body.none_hidden #wrapper {
    overflow: inherit;
}
.under main .mbh4 {
    margin-bottom: 85px;
}
.blog_img_center img {
    margin: 0 auto 25px;
    width: auto;
    height: auto;
    display: table;
}
/*product*/
.under main .product_tag li {
    height: 65px;
    font-size: 18px;
}
.under main .product_tag li.active {
    pointer-events: none;
}
.under main .product_tag.product_3tag {
    flex-wrap: wrap;
}
.under main .product_tag.product_3tag li {
    width: calc((100% - 40px) / 3);
    margin: 0 20px 10px 0;
}
.under main .product_tag.product_3tag li:last-child {
    margin-right: 0;
}
.under main .product_tag.product_3tag li span {
    font-size: 12px;
}
.under main .product_tag.product_3tag li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    align-items: center;
    background: var(--txt);
    height: 70px;
}
.under main .product_tag.product_5tag li a {
    background: var(--txt);
}
.under main .product_tag li.active a {
    background: #999;
}
.under main .product_group {
    display: flex;
}
.under main .product_group .image_left, .under main .product_group .image_right, .under main .product_group .image_center {
    flex-shrink: 0;
}
.under main .product_group.right01 {
    flex-direction: row-reverse;
}
.under main .product_group.center01 {
    flex-direction: column;
}
.under main .product_group.right01, .under main .product_group.left01 {
    align-items: center;
}
.under main .product_group .image_left {
    margin-right: 50px;
}
.under main .product_group .image_right {
    margin-left: 50px;
}
.under main .product_group .image_left, .under main .product_group .image_right {
    align-self: center;
    margin-bottom: 0;
}
.under main .product_group.img_md {
    align-items: flex-start;
    flex-direction: row-reverse;
    justify-content: space-between;
}
.under main .product_group.img_md .image_right {
    margin-left: 50px;
    max-width: 250px;
}
.under main .btn_list .is_prev.btn a {
    padding-left: 0;
    padding-right: 30px;
    justify-content: flex-end;
}
.under main .btn_list .is_prev.btn a::before {
    background: url(../images/arrow_w_l.svg) no-repeat center;
    left: 0;
    right: auto;
    border-right: 1px #fff solid;
    border-left: none;
}
.under main .btn_list .is_none.btn a {
    padding-left: 0;
    justify-content: center;
}
.under main .btn_list .is_none.btn a::before {
    display: none;
}
.under main .un_ttl_big {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 4px;
}
.uls-history {
    width: 900px;
    max-width: 100%;
    margin: 0 auto;
}
.uls-history dl {
    display: flex;
    position: relative;
    padding-left: 40px;
    z-index: 1;
}
.uls-history dl::before {
    position: absolute;
    content: "";
    background-color: var(--mcolor);
    border-radius: 100%;
    width: 15px;
    height: 15px;
    top: 13px;
    left: 0;
    z-index: -1;
}
.uls-history dl:not(:last-child) {
    margin-bottom: 20px;
}
.uls-history dl:not(:last-child)::after {
    position: absolute;
    content: "";
    background-color: #000;
    border-radius: 100%;
    width: 1px;
    height: calc(100% + 20px);
    top: 13px;
    left: 7px;
    z-index: -2;
}
.uls-history dl dt {
    font-weight: 500;
    font-size: 18px;
    width: 280px;
    letter-spacing: 0.072em;
}
.uls-history dl dt.month {
    padding-left: 65px;
}
.uls-history dl dd {
    font-size: 16px;
    letter-spacing: 0.072em;
    line-height: 2;
    padding-top: 2px;
}
.under main .flex_content {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
}
.under main .flex_numb {
    margin-top: 50px;
}
.under main .flex_content .img {
    width: 500px;
    flex-shrink: 0;
    margin-bottom: 0;
    margin-left: 50px;
}
.under main .flex_content .des {
    flex-grow: 1;
}
.under main .flex_content .en_un.lg {
    right: 0;
    top: -40px;
    line-height: 1;
    font-size: 80px;
}