/*
Theme Name: 20250711rockvil
Theme URI: 
Description: 
Version: 1.0
*/

@charset "utf-8";

/* ------------------------------
    reset
------------------------------ */

a {
    color: #5c5959;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

html, body {
    height: 100%;
}

html {
    font-size: 62.5%;
    overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
    margin: 0;
    padding: 0;
    border: none;
    line-height: 100%;
    list-style-type: none;
    font-style: normal;
    font-weight: normal;
    font-family: "Noto Sans JP", sans-serif;
    text-align: left;
    color: #5c5959;
}

textarea {
    font-size: 100%;
}

img {
    vertical-align: bottom;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

.bold {
    font-weight: bold;
}

.ac {
    text-align: center;
}

.ar {
    text-align: right;
}

.red {
    color: #cc0000;
}

.mark {
    background: #ffff6b;
}

.ul {
    text-decoration: underline;
}

p+p {
    margin-top: 26px;
}

/* ------------------------------
    base
------------------------------ */

body {
    font-size: 1.0rem;
}

body.fixed {
    position: fixed;
    width: 100%;
}

body.fadeout .loadingWrapper {
    padding-left: 0;
}

.loadingWrapper {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #b71b30;
    /* 背景カラー */
    z-index: 999999;
    /* 一番手前に */
    pointer-events: none;
    /* 他の要素にアクセス可能にするためにポインターイベントは無効に */
    opacity: 0;
    /* 初期値 : 透過状態 */
    -webkit-transition: opacity .8s ease;
    /* アニメーション時間は 0.8秒 */
    transition: opacity 1.3s ease .5s;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999999;
}

.loadingWrapper>div {
    transform: scale(.5);
}

.loadingWrapper .loading {
    width: 90%;
    margin: 30px auto 0;
}

.loadingWrapper .loading ul {
    display: flex;
    justify-content: space-between;
    margin: 10px 0;
}

.loadingWrapper .loading .loading_dot {
    height: 5px;
    width: 5px;
    border: 1px solid white;
    border-radius: 50%;
    animation: wave 1.5s infinite;
}

.loadingWrapper .loading .loading_dot:nth-of-type(1) {
    animation-delay: .1s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(2) {
    animation-delay: .2s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(3) {
    animation-delay: .3s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(4) {
    animation-delay: .4s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(5) {
    animation-delay: .5s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(6) {
    animation-delay: .6s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(7) {
    animation-delay: .7s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(8) {
    animation-delay: .8s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(9) {
    animation-delay: .9s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(10) {
    animation-delay: 1.0s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(11) {
    animation-delay: 1.1s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(12) {
    animation-delay: 1.2s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(13) {
    animation-delay: 1.3s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(14) {
    animation-delay: 1.4s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(15) {
    animation-delay: 1.5s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(16) {
    animation-delay: 1.6s;
}

.loadingWrapper .loading .loading_dot:nth-of-type(17) {
    animation-delay: 1.7s;
}

.loadingWrapper .loading p {
    color: white;
    text-align: center;
    font-size: 15px;
}

@keyframes wave {
    0% {
        background: transparent
    }

    50% {
        background: white
    }

    100% {
        background: transparent
    }
}

body.fadeout .loadingWrapper {
    opacity: 1;
}

p, table, dl, ol {
    font-size: 1.8rem;
    line-height: 1.7;
}

/* ------------------------------
    contents
------------------------------ */

.top_contents {
    background-color: #ffffff;
    padding: 0 0 60px 0;
}

.top_contents+#footer {
    margin: 0;
}

h2 {
    text-align: center;
    font-size: 4.8rem;
    font-family: 'Raleway', sans-serif;
    color: #b71b30;
    margin: 0 0 35px 0;
    padding: 50px 0 0 0;
}

h2 span {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.0;
    color: #5c5959;
    padding: 15px 0 0 0;
}

h2 span.transform {
    display: inline;
    text-transform: capitalize;
    text-align: center;
    font-size: 4.8rem;
    font-family: 'Raleway', sans-serif;
    color: #b71b30;
}

.ttl_lv1 {
    text-align: center;
    font-size: 4.8rem;
    font-family: 'Raleway', sans-serif;
    color: #b71b30;
    margin: 0 0 35px 0;
    padding: 50px 0 0 0;
}

.ttl_lv1 span {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.0;
    color: #5c5959;
    padding: 15px 0 0 0;
}

.ttl_lv1 span.transform {
    display: inline;
    text-transform: capitalize;
    text-align: center;
    font-size: 4.8rem;
    font-family: 'Raleway', sans-serif;
    color: #b71b30;
}

/* header */
#header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 76px;
    z-index: 10;
    background-color: #fff;
}

.home #header {
    background-color: transparent;
}

#header *,
#header *:after,
#header *:before {
    box-sizing: border-box;
}

#header .wrap {
    max-width: 1440px;
    width: calc(100% - 40px);
    height: 100%;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}

#header .header_logo {
    width: 180px;
    margin-right: 40px;
}

#header .header_logo a {
    display: block;
}

#header .header_logo img {
    width: 100%;
}

#header .header_menu {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0 30px;
}

#header .header_menu .gnavi {
    display: flex;
    gap: 0 23px;
}

#header .header_menu .gnavi li {
    font-weight: 400;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
}

#header .header_menu .gnavi li a {
    position: relative;
    display: block;
    padding: 5px 0;
    transition: all .3s;
}

#header .header_menu .gnavi li a:hover {
    color: #B81B30;
    font-weight: 700;
}

#header .header_menu .gnavi li a::before {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #B81B30;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    transform: scale(0);
    transition: transform .3s;
}

#header .header_menu .gnavi li a:hover::before {
    transform: scale(1);
}

#header .header_btn {
    display: flex;
    align-items: center;
    gap: 0 20px;
}

#header .header_btn .tel .num {
    display: flex;
    align-items: center;
    gap: 0 5px;
    font-weight: 700;
    font-family: "Roboto", sans-serif;
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
}

#header .header_btn .tel .num .ico {
    width: 18px;
    font-size: 0;
}

#header .header_btn .tel .num .ico img {
    width: 100%;
}

#header .header_btn .tel .time {
    font-size: 1.2rem;
    line-height: 1;
    margin-top: 0;
}

#header .header_btn .btn_wrap {
    display: flex;
    align-items: center;
    gap: 0 10px;
}

#header .header_btn .btn_wrap .h_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #B81B30;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    padding: 5px 28px;
    background: #fff;
    border: 1px solid #B81B30;
    border-radius: 100vh;
    transition: all .3s;
}

#header .header_btn .btn_wrap .h_btn a:hover {
    opacity: 1;
    color: #fff;
    background: linear-gradient(90deg, #B81B30 0%, #FF8E65 100%);
}

#header .toggle {
    transition: all .5s ease;
    position: fixed;
    top: 20px;
    right: 20px;
    width: 70px;
    height: 70px;
    z-index: 2;
    cursor: pointer;
}

#header .toggle::before {
    content: "";
    width: 50px;
    height: 50px;
    background: #fff;
    border: 1px solid #B81B30;
    transform: rotate(45deg);
    transform-origin: center;
    position: absolute;
    left: 9px;
    top: 9px;
}

#header .toggle span {
    position: absolute;
    width: 19px;
    height: 2px;
    border-radius: 1px;
    background: #B81B30;
    transition: all 0.4s ease-out;
    left: 0;
    right: 0;
    margin: 0 auto;
}

#header .toggle span:nth-child(1) {
    top: 25px;
}

#header .toggle span:nth-child(2) {
    top: 33px;
}

#header .toggle span:nth-child(3) {
    top: 41px;
}

#header .toggle.action span:nth-child(1) {
    width: 26px;
    top: 34px;
    transform: rotate(45deg);
}

#header .toggle.action span:nth-child(2) {
    background-color: rgba(255, 255, 255, 0);
}

#header .toggle.action span:nth-child(3) {
    width: 26px;
    top: 34px;
    transform: rotate(-45deg);
}

#header .header_nav {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    transition: all .5s ease;
    /* background: #fff; */
    background: #3D3A3A;
    overflow-y: scroll;
}

#header .header_nav.action {
    visibility: visible;
    opacity: 1;
}

#header .header_nav .logo_wrap {
    height: 76px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1;
}

#header .header_nav .logo {
    width: 180px;
}

#header .header_nav .logo a {
    display: block;
}

#header .header_nav .logo img {
    width: 100%;
}

#header .header_nav .nav_wrap {
    position: relative;
    width: 100%;
    min-width: 1260px;
    min-height: 100%;
    height: auto;
    display: flex;
}

#header .header_nav .nav_left {
    width: 59.72222222%;
}

#header .header_nav .nav_left .inner {
    width: 651px;
    margin-left: auto;
}

#header .header_nav .nav_left .gnavi>li {
    position: relative;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.025em;
    padding-left: 24px;
}

#header .header_nav .nav_left .gnavi>li+li {
    margin-top: 33px;
}

#header .header_nav .nav_left .gnavi>li:before {
    content: "";
    width: 10px;
    height: 3px;
    background-color: #fff;
    position: absolute;
    top: 13px;
    left: 0;
}

#header .header_nav .nav_left .gnavi>li a {
    position: relative;
    display: inline-block;
    color: #fff;
}

#header .header_nav .nav_left .gnavi>li.acd_menu {
    gap: 0 20px;
}

#header .header_nav .nav_left .gnavi>li.acd_menu>.acd_btn {
    /* display: inline-block; */
    position: relative;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    position: absolute;
    margin-left: 20px;
    cursor: pointer;
}

#header .header_nav .nav_left .gnavi>li.acd_menu>.acd_btn::before {
    content: '';
    width: 11px;
    height: 11px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    position: absolute;
    top: 8px;
    transform: rotate(135deg);
    transition: .3s ease;
}

#header .header_nav .nav_left .gnavi>li.acd_menu>.acd_btn.open::before {
    top: 12px;
    transform: rotate(-45deg);
}

#header .header_nav .nav_left .gnavi .sub {
    margin: 30px 0 55px;
}

#header .header_nav .nav_left .gnavi .sub>li {
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
}

#header .header_nav .nav_left .gnavi .sub>li:nth-child(n + 4) {
    display: inline-block;
    padding-right: 32px;
    margin-right: 64px;
}

#header .header_nav .nav_left .gnavi .sub>li+li {
    margin-top: 32px;
}

#header .header_nav .nav_left .gnavi .sub>li>a {
    color: #F5F5F5;
}

#header .header_nav .nav_left .gnavi .sub>li>a::before {
    content: '';
    width: 11px;
    height: 11px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    position: absolute;
    transform: rotate(45deg);
    right: -32px;
    top: 9px;
}

#header .header_nav .nav_left .gnavi .sub ul {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 50px;
    padding-bottom: 20px;
    border-bottom: 1px solid #fff;
    margin-top: 22px;
}

#header .header_nav .nav_left .gnavi .sub ul li {
    font-weight: 400;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
}

#header .header_nav .nav_left .gnavi .sub ul li a {
    color: #F5F5F5;
}

#header .header_nav .nav_left .snavi {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 40px;
    margin-top: 52px;
    margin-left: 24px;
}

#header .header_nav .nav_left .snavi>li {
    position: relative;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
}

#header .header_nav .nav_left .snavi>li a {
    position: relative;
    color: #fff;
}

#header .header_nav .nav_right {
    flex: 1;
    background: #fff;
}

#header .header_nav .nav_right .inner {
    max-width: 360px;
}

#header .header_nav .nav_right .ttl {
    text-align: center;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    background: linear-gradient(90deg, #B81B30 0%, #FF8E65 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

#header .header_nav .nav_right .pickup {
    margin-top: 40px;
}

#header .header_nav .nav_right .pickup li {
    position: relative;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
}

#header .header_nav .nav_right .pickup li+li {
    margin-top: 21px;
}

#header .header_nav .nav_right .pickup li a {
    position: relative;
    display: block;
    padding-right: 2rem;
    padding: 0 20px 21px 10px;
    transition: all .3s;
    border-bottom: 1px solid #000000;
}

#header .header_nav .nav_right .pickup li a:hover {
    color: #B81B30;
    border-color: #B81B30;
}

#header .header_nav .nav_right .pickup li a::before {
    content: '';
    width: .5em;
    height: .5em;
    border-right: 2px solid #5c5959;
    border-bottom: 2px solid #5c5959;
    position: absolute;
    right: 10px;
    top: 6px;
    transform: rotate(-45deg);
    transition: border-color .3s;
}

#header .header_nav .nav_right .pickup li a:hover::before {
    border-color: #B81B30;
}

#header .header_nav .nav_right .btn_wrap {
    display: flex;
    flex-direction: column;
    gap: 10px 0;
    margin-top: 41px;
}

#header .header_nav .nav_right .btn_wrap .h_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #B81B30;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    padding: 6px 30px;
    background: #fff;
    border: 1px solid #B81B30;
    border-radius: 100vh;
    transition: all .3s;
}

#header .header_nav .nav_right .tel {
    width: fit-content;
    margin: 21px auto 0;
}

#header .header_nav .nav_right .tel .num {
    display: flex;
    align-items: center;
    gap: 0 5px;
    font-weight: 700;
    font-family: "Roboto", sans-serif;
    font-size: 3.6rem;
    line-height: 1.2;
    letter-spacing: 0.05em;
}

#header .header_nav .nav_right .tel .num .ico {
    width: 26px;
    font-size: 0;
}

#header .header_nav .nav_right .tel .num .ico img {
    width: 100%;
}

#header .header_nav .nav_right .tel .time {
    font-size: 1.8rem;
    line-height: 1;
    margin-top: 0;
}

@media screen and (min-width: 751px) {
    #header .toggle {
        opacity: 0;
        visibility: hidden;
    }

    #header.js-show .toggle {
        opacity: 1;
        visibility: visible;
    }

    #header .toggle.action {
        opacity: 1;
        visibility: visible;
    }

    #header .header_nav .nav_wrap>div {
        padding: 115px 50px 130px;
    }

    #header .header_nav .nav_left .gnavi>li>a::before {
        content: "";
        width: 100%;
        height: 4px;
        background-color: #fff;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -7px;
        margin: 0 auto;
        transform: scale(0);
        transition: transform .3s;
    }

    #header .header_nav .nav_left .gnavi>li>a:hover::before {
        transform: scale(1);
    }

    #header .header_nav .nav_left .gnavi .sub>li>a::after {
        content: "";
        width: 100%;
        height: 2px;
        background-color: #fff;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -4px;
        margin: 0 auto;
        transform: scale(0);
        transition: transform .3s;
    }

    #header .header_nav .nav_left .gnavi .sub>li>a:hover::after {
        transform: scale(1);
    }

    #header .header_nav .nav_left .gnavi .sub ul li a::before {
        content: "";
        width: 100%;
        height: 2px;
        background-color: #fff;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -4px;
        margin: 0 auto;
        transform: scale(0);
        transition: transform .3s;
    }

    #header .header_nav .nav_left .gnavi .sub ul li a:hover::before {
        transform: scale(1);
    }

    #header .header_nav .nav_left .snavi li>a::before {
        content: "";
        width: 100%;
        height: 2px;
        background-color: #fff;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -4px;
        margin: 0 auto;
        transform: scale(0);
        transition: transform .3s;
    }

    #header .header_nav .nav_left .snavi li a:hover::before {
        transform: scale(1);
    }

    #header .header_nav .nav_right .btn_wrap .h_btn a:hover {
        opacity: 1;
        color: #fff;
        background: linear-gradient(90deg, #B81B30 0%, #FF8E65 100%);
    }
}

@media screen and (max-width: 1440px) {
    #header .wrap {
        width: calc(100% - 20px);
        min-width: 1280px;
        padding: 0 10px;
    }

    #header .header_logo {
        margin-right: 20px;
    }

    #header .header_menu {
        flex: 0 0 auto;
        gap: 0 20px;
    }

    #header .header_menu .gnavi {
        gap: 0 18px;
    }

    #header .header_menu .gnavi li {
        font-size: 1.7rem;
    }

}

@media screen and (max-width: 750px) {
    #header {
        height: 12.8vw;
    }

    #header .wrap {
        width: 100%;
        max-width: 100%;
        min-width: inherit;
        padding: 0 3.47vw;
    }

    #header .header_logo {
        width: 31.73vw;
        margin-right: 0;
    }

    #header .toggle {
        top: 2.67vw;
        right: 2.67vw;
        width: 9.33vw;
        height: 9.33vw;
    }

    #header .toggle::before {
        left: 1.2vw;
        top: 1.2vw;
        width: 6.67vw;
        height: 6.67vw;
    }

    #header .toggle span {
        width: 2.53vw;
        height: .27vw;
    }

    #header .toggle span:nth-child(1) {
        top: 3.33vw;
    }

    #header .toggle span:nth-child(2) {
        top: 4.4vw;
    }

    #header .toggle span:nth-child(3) {
        top: 5.47vw;
    }

    #header .toggle.action span:nth-child(1) {
        width: 3.47vw;
        top: 4.4vw;
    }

    #header .toggle.action span:nth-child(3) {
        width: 3.47vw;
        top: 4.4vw;
    }

    #header .header_nav .logo_wrap {
        height: 12.8vw;
    }

    #header .header_nav .logo {
        width: 31.73vw;
    }

    #header .header_nav .nav_wrap {
        display: block;
        min-width: inherit;
    }

    #header .header_nav .nav_wrap>div {
        display: block;
        height: auto;
    }

    #header .header_nav .nav_left {
        width: 100%;
        padding: 20vw 4vw 8vw;
    }

    #header .header_nav .nav_left .inner {
        width: 100%;
    }

    #header .header_nav .nav_left .gnavi>li {
        font-size: 3.73vw;
        padding-left: 3.6vw;
        border-bottom: 1px solid #D9D9D9;
    }

    #header .header_nav .nav_left .gnavi>li+li {
        margin-top: 4.3vw;
    }

    #header .header_nav .nav_left .gnavi>li:before {
        width: 1.33vw;
        height: .4vw;
        top: 2.6vw;
    }

    #header .header_nav .nav_left .gnavi>li>a {
        display: block;
        padding: 0 6vw 4.6vw 0;
    }

    #header .header_nav .nav_left .gnavi>li:not(.acd_menu)>a::before {
        content: '';
        width: 2.2vw;
        height: 2.2vw;
        border-right: .4vw solid #fff;
        border-bottom: .4vw solid #fff;
        position: absolute;
        right: 3.2vw;
        top: 1.4vw;
        transform: rotate(-45deg);
    }

    #header .header_nav .nav_left .gnavi>li.acd_menu>.acd_btn {
        width: 8vw;
        height: 8vw;
        right: 0;
        top: -1vw;
    }

    #header .header_nav .nav_left .gnavi>li.acd_menu>.acd_btn::before {
        width: 2.2vw;
        height: 2.2vw;
        border-right: .4vw solid #fff;
        border-top: .4vw solid #fff;
        top: 2vw;
    }

    #header .header_nav .nav_left .gnavi>li.acd_menu>.acd_btn.open::before {
        transform: rotate(-45deg);
        top: 3vw;
    }

    #header .header_nav .nav_left .gnavi>li.sp_acd>.btn_open+div {
        display: none;
        margin-left: -3.6vw;
    }

    #header .header_nav .nav_left .gnavi .sub {
        margin: 2vw 0 6vw;
    }

    #header .header_nav .nav_left .gnavi .sub>li {
        font-size: 3.7vw;
    }

    #header .header_nav .nav_left .gnavi .sub>li:nth-child(n + 4) {
        padding-right: 5vw;
        margin-right: 8vw;
    }

    #header .header_nav .nav_left .gnavi .sub>li+li {
        margin-top: 6vw;
    }

    #header .header_nav .nav_left .gnavi .sub>li>a::before {
        width: 2vw;
        height: 2vw;
        border-right: .4vw solid #fff;
        border-top: .4vw solid #fff;
        right: -5vw;
        top: 1.6vw;
    }

    #header .header_nav .nav_left .gnavi .sub ul {
        gap: 3.6vw 12vw;
        padding-bottom: 5vw;
        border-bottom: 1px solid #D9D9D9;
        margin-top: 4.6vw;
    }

    #header .header_nav .nav_left .gnavi .sub ul li {
        font-size: 3vw;
    }

    #header .header_nav .nav_left .snavi {
        justify-content: center;
        gap: 4vw 14vw;
        margin-top: 8vw;
        margin-left: 0;
    }

    #header .header_nav .nav_left .snavi>li {
        font-size: 3.2vw;
    }

    #header .header_nav .nav_left .btn_wrap {
        width: 82.67vw;
        display: flex;
        flex-direction: column;
        gap: 4vw 0;
        margin: 8vw auto 0;
    }

    #header .header_nav .nav_left .btn_wrap .h_btn a {
        height: 12vw;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 1.33vw;
        color: #fff;
        font-weight: 700;
        font-size: 4.16vw;
        line-height: 1.5;
        letter-spacing: 0.1em;
        padding: 2vw 4vw;
        background: linear-gradient(90deg, #B81B30 0%, #FF8E65 100%);
        border: 1px solid #B81B30;
        border-radius: 100vh;
    }

    #header .header_nav .nav_left .btn_wrap .h_btn._tel a {
        background: linear-gradient(90deg, #2C7925 0%, #78E457 100%);
        border: 1px solid #35B81B;
    }

    #header .header_nav .nav_left .btn_wrap .h_btn .ico {
        font-size: 0;
        margin-top: .5vw;
    }

    #header .header_nav .nav_left .btn_wrap .h_btn._mail .ico img {
        width: 3.87vw;
    }

    #header .header_nav .nav_left .btn_wrap .h_btn._download .ico img {
        width: 3.47vw;
    }

    #header .header_nav .nav_left .btn_wrap .h_btn._tel .ico img {
        width: 2.93vw;
    }

    #header .header_nav .nav_right {
        width: 96vw;
        background-color: #fff;
        padding: 10vw 4.27vw 8vw 9.07vw;
        border-radius: 0 9.33vw 0 0;
    }

    #header .header_nav .nav_right .inner {
        max-width: 100%;
    }

    #header .header_nav .nav_right .ttl {
        font-size: 4.53vw;
    }

    #header .header_nav .nav_right .pickup {
        margin-top: 8.5vw;
    }

    #header .header_nav .nav_right .pickup li {
        font-size: 3.47vw;
    }

    #header .header_nav .nav_right .pickup li+li {
        margin-top: 4.9vw;
    }

    #header .header_nav .nav_right .pickup li a {
        padding-right: 2rem;
        padding: 0 6vw 5vw 1.2vw;
    }

    #header .header_nav .nav_right .pickup li a::before {
        width: 2.2vw;
        height: 2.2vw;
        border-right: .4vw solid #5c5959;
        border-bottom: .4vw solid #5c5959;
        right: 2.6vw;
        top: 1.4vw;
    }
}

/* FV */
#fv {
    position: relative;
    padding: 135px 0 104px;
    overflow: hidden;
}

#fv::before {
    content: "";
    width: calc(50% + 630px);
    height: 100%;
    background: url(images/index/bg_dot.png);
    background-size: 4px;
    border-radius: 0 0 70px 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

#fv .fv_wrap {
    position: relative;
    width: 1100px;
    margin: 0 auto;
    z-index: 1;
}

#fv .txt_wrap {
    max-width: 712px;
}

#fv .fv_ttl {
    width: fit-content;
    font-family: "Noto Sans JP", sans-serif;
    ;
    text-align: left;
    color: #130E0C;
    font-weight: 700;
    font-size: 7.9rem;
    line-height: 1.7;
    letter-spacing: 0;
    padding: 0;
    margin: 10px 0 0 -12px;
}

#fv .fv_ttl span {
    text-align: right;
    position: relative;
    display: block;
    color: #B81B30;
    font-size: 3rem;
    line-height: 1;
    letter-spacing: 0.05em;
    padding: 0;
    margin: 0 30px 0 0;
}

#fv .fv_ttl span::before {
    content: "";
    width: 240px;
    height: 1px;
    background-color: #B81B30;
    position: absolute;
    left: 0;
    top: 15px;
}

#fv .fv_ttl span::after {
    content: "";
    width: 7px;
    height: 7px;
    background-color: #B81B30;
    border-radius: 50%;
    position: absolute;
    left: 239px;
    top: 12px;
}

#fv .fv_list {
    width: 594px;
    display: flex;
    flex-direction: column;
    gap: 2.7px 0;
    margin-top: 48px;
}

#fv .fv_list .item {
    display: flex;
    align-items: flex-start;
    padding: 8px 16px;
    background-color: #B81B30;
    border: 1px solid #fff;
}

#fv .fv_list .item .ttl {
    position: relative;
    min-width: 4.25em;
    color: #fff;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.1;
    letter-spacing: 0;
    padding-right: 25px;
    padding-left: 30px;
    border-right: 1px solid #fff;
}

#fv .fv_list .item .ttl::before {
    content: "";
    width: 18px;
    height: 18px;
    background: url(images/index/ico_check.png) no-repeat center / contain;
    position: absolute;
    left: 0;
    top: 2px;
}

#fv .fv_list .item .txt {
    color: #fff;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 2.2rem;
    padding-left: 16px;
}

#fv .fv_lead {
    color: #130E0C;
    font-weight: 700;
    font-size: 1.9rem;
    line-height: 1.9;
    letter-spacing: 0.07em;
    margin-top: 30px;
}

#fv .fv_img {
    width: 595px;
    position: absolute;
    right: -116px;
    top: 0;
}

#fv .fv_img img {
    width: 100%;
}

#fv .fv_list {
    animation-delay: .5s;
}

#fv .fv_lead {
    animation-delay: 1s;
}

.fade-in-left {
    opacity: 0;
    transform: translateX(-100px);
}

.is-show .fade-in-left {
    animation: fadeInLeft 1s ease-out forwards;
}

.fade-in-right {
    opacity: 0;
    transform: translateX(100px);
}

.is-show .fade-in-right {
    animation: fadeInRight 1s ease-out forwards;
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        transform: translateX(-100px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translateX(100px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@media screen and (max-width : 750px) {
    #fv {
        padding: 13vw 0 7.5vw;
    }

    #fv::before {
        width: 92vw;
        background-size: .67vw;
        border-radius: 0 0 9.33vw 0;
    }

    #fv .fv_wrap {
        width: 90vw;
    }

    #fv .txt_wrap {
        max-width: 100%;
    }

    #fv .fv_ttl {
        font-size: 9.49vw;
        margin: 0 auto;
    }

    #fv .fv_ttl span {
        font-size: 4.6vw;
        margin: 0 3vw 0 0;
    }

    #fv .fv_ttl span::before {
        width: 14.5vw;
        top: 1.6vw;
    }

    #fv .fv_ttl span::after {
        width: 6px;
        height: 6px;
        left: 14vw;
        top: 1vw;
    }

    #fv .fv_list {
        width: 100%;
        gap: .4vw 0;
        margin-top: 4vw;
    }

    #fv .fv_list .item {
        padding: 1.6vw 2vw 1.6vw 2.4vw;
    }

    #fv .fv_list .item .ttl {
        font-size: 3.2vw;
        padding-right: 2.5vw;
        padding-left: 4.9vw;
    }

    #fv .fv_list .item .ttl::before {
        width: 3vw;
        height: 3vw;
        top: .3vw;
    }

    #fv .fv_list .item .txt {
        font-size: 3.2vw;
        line-height: 3.47vw;
        padding-left: 2.6vw;
    }

    #fv .fv_lead {
        text-align: center;
        font-size: 3.47vw;
        line-height: 1.9;
        margin-top: 7.73vw;
    }

    #fv .fv_img {
        width: 79.33vw;
        position: static;
        margin: 3vw auto 0;
    }
}

/* result */
#result {
    padding: 60px 0;
}

#result .slider_logo {
    display: flex;
    overflow: hidden;
}

#result .slider_logo+.slider_logo {
    margin-top: 30px;
}

#result .slider_logo .inner {
    flex: 0 0 auto;
    padding-right: 30px;
    animation: result-slider 50s linear infinite;
}

#result .slider_logo img {
    width: 130vw;
    max-width: inherit;
}

#result .slider_img {
    display: flex;
    overflow: hidden;
    margin-top: 60px;
}

#result .slider_img .inner {
    flex: 0 0 auto;
    display: flex;
    gap: 10px;
    padding-right: 10px;
    animation: result-slider 50s linear infinite;
}

#result .slider_img img {
    flex: 0 0 auto;
    width: 20vw;
    max-width: inherit;
}

@keyframes result-slider {
    0% {
        translate: 0 0;
    }

    100% {
        translate: -100% 0;
    }
}

@media screen and (max-width: 750px) {

    #result {
        padding: 7.2vw 0;
    }

    #result .slider_logo+.slider_logo {
        margin-top: 3vw;
    }

    #result .slider_logo .inner {
        padding-right: 4vw;
    }

    #result .slider_logo img {
        width: 250vw;
    }

    #result .slider_img {
        margin-top: 8 vw;
    }

    #result .slider_img .inner {
        gap: 2vw;
        padding-right: 2vw;
    }

    #result .slider_img img {
        width: 40vw;
    }
}

.fixed_box {
    position: fixed;
    bottom: 0;
    left: 20px;
    width: calc(100% - 40px);
    height: 70px;
    background: #fff;
    border-radius: 30px 30px 0 0;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: all .5s ease;
}

.fixed_box.js-show {
    opacity: 1;
    visibility: visible;
}

.fixed_box .box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 30px;
    width: 100%;
    max-width: 1340px;
    height: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

.fixed_box .logo {
    display: flex;
    align-items: center;
    gap: 0 18px;
}

.fixed_box .logo img {
    width: 160px;
}

.fixed_box .logo .txt {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.3;
    letter-spacing: 0.1em;
}

.fixed_box .box_btn {
    display: flex;
    align-items: center;
    gap: 0 20px;
}

.fixed_box .box_btn .tel .num {
    display: flex;
    align-items: center;
    gap: 0 5px;
    font-weight: 700;
    font-family: "Roboto", sans-serif;
    font-size: 2.4rem;
    line-height: 1.3;
    letter-spacing: 0.05em;
}

.fixed_box .box_btn .tel .num .ico {
    width: 18px;
    font-size: 0;
}

.fixed_box .box_btn .tel .num .ico img {
    width: 100%;
}

.fixed_box .box_btn .tel .time {
    font-size: 1.2rem;
    line-height: 1;
    margin-top: 0;
}

.fixed_box .box_btn .btn_wrap {
    display: flex;
    align-items: center;
    gap: 0 10px;
}

.fixed_box .box_btn .btn_wrap .h_btn a {
    width: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #B81B30;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    padding: 6px 30px;
    background: #fff;
    border: 1px solid #B81B30;
    border-radius: 100vh;
    transition: all .3s;
}

.fixed_box .box_btn .btn_wrap .h_btn a:hover {
    opacity: 1;
    color: #fff;
    background: linear-gradient(90deg, #B81B30 0%, #FF8E65 100%);
}

@media screen and (max-width: 750px) {
    .fixed_box {
        left: 2.67vw;
        width: 95%;
        height: 17.33vw;
        border-radius: 4vw 4vw 0 0;
        box-shadow: 0px -0.67vw .53vw rgba(0, 0, 0, 0.1);
    }

    .fixed_box .box {
        padding: 0 3.47vw;
        max-width: inherit;
    }

    .fixed_box .box_btn {
        display: block;
        width: 100%;
    }

    .fixed_box .box_btn .btn_wrap {
        gap: 0 1.3vw;
    }

    .fixed_box .box_btn .btn_wrap .h_btn a {
        width: auto;
        height: 9.33vw;
        gap: 0 1vw;
        color: #fff;
        font-weight: 700;
        font-size: 3.2vw;
        padding: 0 2vw;
        background: linear-gradient(90deg, #B81B30 0%, #FF8E65 100%);
    }

    .fixed_box .box_btn .btn_wrap .h_btn._tel a {
        background: linear-gradient(90deg, #2C7925 0%, #78E457 100%);
        border: 1px solid #35B81B;
    }

    .fixed_box .box_btn .btn_wrap .h_btn .ico {
        font-size: 0;
        margin-top: 0;
    }

    .fixed_box .box_btn .btn_wrap .h_btn._tel {
        width: 21.6vw;
    }

    .fixed_box .box_btn .btn_wrap .h_btn._tel .ico img {
        width: 2.4vw;
    }

    .fixed_box .box_btn .btn_wrap .h_btn._mail {
        width: 24.27vw;
    }

    .fixed_box .box_btn .btn_wrap .h_btn._mail .ico img {
        width: 2.67vw;
    }

    .fixed_box .box_btn .btn_wrap .h_btn._download {
        flex: 1;
    }

    .fixed_box .box_btn .btn_wrap .h_btn._download .ico img {
        width: 2.4vw;
    }
}

/* blog */
.blog-container {
    max-width: 900px;
    margin: 0 auto;
}

.blog-container.-two_column {
    max-width: 1280px;
}

.blog-container h2.post, .blog-container h1.post,
.blog-container table {
    width: 100%;
    box-sizing: border-box;
}

.blog-container h2 {
    line-height: 1.5;
}

.blog-container .wrap_l {
    max-width: 728px;
    margin: 0 auto;
}

.blog-container .post-info {
    width: calc(100% + 172px);
    margin-left: -86px !important;
    margin-right: -86px !important;
}

.blog-container .attachment-post_thumb {
    width: 100%;
}

@media only screen and (max-width: 750px) {
    .blog-container {
        max-width: inherit;
        padding: 7.8% 2.5% 0 2.5%;
    }

    .blog-container.-two_column {
        max-width: inherit;
    }

    .blog-container .post-info {
        width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .blog-container h1.post {
        margin: 0;
    }

    .blog-container .wrap_l {
        max-width: inherit;
        width: 100%;
    }
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Screen style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

#header .menu_link>a {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 61px;
    width: 190px;
    padding: 0;
}

#header .menu_link>a:hover,
#header .menu_link>a.current {
    background-color: #b71b30;
}

#header .menu_link>a:hover span .en_txt,
#header .menu_link>a:hover span .ja_txt,
#header .menu_link>a.current span .en_txt,
#header .menu_link>a.current span .ja_txt {
    color: #fff;
}

#header .menu_link .en_txt {
    display: block;
    margin-bottom: 8px;
    line-height: 1;
    text-align: center;
    letter-spacing: -0.02em;
    font-size: 2.0rem;
}

#header .menu_link .ja_txt {
    display: block;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
    font-size: 1.05em;
}

#header .menu01>a, #header .menu02>a, #header .menu05>a {
    width: 190px;
}

#header .menu03>a, #header .menu04>a, #header .menu06>a {
    width: 189px;
}

#header .menu02>a::before, #header .menu03>a::before, #header .menu04>a::before, #header .menu05>a::before, #header .menu06>a::before {
    content: '';
    position: absolute;
    top: 13px;
    left: 0;
    width: 1px;
    height: 38px;
    background: #d0d0d0;
    z-index: -1;
}

#header .menu-container {
    clear: right;
    width: 1140px;
    margin: 0 0 0 auto;
}

.menu-container {
    width: 80%;
    margin: 0 auto;
}

.menu-mobile {
    display: none;
    /*    padding: 20px;*/
}

/*
.menu-mobile:after {
    content: "\f394";
    font-family: "Ionicons";
    font-size: 2.5rem;
    padding: 0;
    float: right;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-25%);
    -ms-transform: translateY(-25%);
    transform: translateY(-25%);
}
*/
.menu-dropdown-icon:before {
    content: "\f489";
    font-family: "Ionicons";
    display: none;
    cursor: pointer;
    float: right;
    padding: 1.5em 2em;
    background: #fff;
    color: #333;
}

.menu>ul {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding: 0;
    position: relative;
    /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
    box-sizing: border-box;
}

.menu>ul:before,
.menu>ul:after {
    content: "";
    display: table;
}

.menu>ul:after {
    clear: both;
}

.menu>ul>li {
    float: left;
    /*    background: #e9e9e9;*/
    padding: 0;
    margin: 0;
}

.menu>ul>li a {
    text-decoration: none;
    padding: 1.5em 3em;
    /*    display: block;*/
}

#header .menu_link>.menu_inner {
    display: none;
    width: 880px;
    background: #595656;
    padding: 20px;
    position: absolute;
    z-index: 99;
    left: -140px;
    top: 66px;
    margin: 0;
    box-sizing: border-box;
}

#header .menu_link>.menu_inner ul {
    list-style: none;
}

#header .menu_link>.menu_inner>ul:before,
#header .menu_link>.menu_inner>ul:after {
    content: "";
    display: table;
}

#header .menu_link>.menu_inner>ul:after {
    clear: both;
}

#header .menu_link>.menu_inner>ul>li {
    margin: 0;
    padding-bottom: 0;
    list-style: none;
    font-size: 1.4rem;
    width: 200px;
    background: none;
    float: left;
    padding-right: 3px;
    padding-left: 3px;
}

#header .menu_link>.menu_inner>ul>li a {
    position: relative;
    color: #fff;
    padding: 1.6rem 0;
    width: 95%;
    /*    display: block;*/
    /*    border-bottom: 1px solid #ccc;*/
}

#header .menu_link>.menu_inner>ul>li>a {
    padding-right: 1.4rem;
}

#header .menu_link>.menu_inner>ul>li>a:hover {
    text-decoration: underline;
}

#header .menu_link>.menu_inner>ul>li>a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 0.8rem;
    height: 0.8rem;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -0.6rem;
}

#header .menu_link>.menu_inner>ul>li>ul {
    display: block;
    padding: 0;
    margin: 10px 0 0;
    list-style: none;
    box-sizing: border-box;
}

#header .menu_link>.menu_inner>ul>li>ul:before,
#header .menu_link>.menu_inner>ul>li>ul:after {
    content: "";
    display: table;
}

#header .menu_link>.menu_inner>ul>li>ul:after {
    clear: both;
}

#header .menu_link>.menu_inner>ul>li>ul>li {
    float: left;
    width: 100%;
    padding: 0;
    margin: 0;
    font-size: 1.4rem;
}

#header .menu_link>.menu_inner>ul>li>ul>li a {
    display: block;
    border: 0;
    padding: 8px 6px 8px 10px;
}

#header .menu_link>.menu_inner>ul>li>ul>li a:hover {
    background: #888888;
}

#header .menu_link>.normal-sub {
    width: 190px;
    left: auto;
    padding: 20px;
}

#header .menu_link>.normal-sub>ul>li {
    width: 100%;
}

#header .menu_link>.normal-sub>ul>li+li {
    margin-top: 20px;
}

#header .menu_link>.normal-sub>ul>li a {
    border: 0;
    padding: 1em 1.4rem 1em 0;
}

#header .menu_link>.menu_inner>.first_menu,
#header .menu_link>.menu_inner>.second_menu {
    float: left;
}

#header .menu_link>.menu_inner>.second_menu>li {
    float: none;
    padding-left: 2em;
    text-align: left;
    box-sizing: border-box;
}

#header .menu_link>.menu_inner>.second_menu>li+li {
    margin-top: 16px;
}

#header .menu_link>.menu_inner>.second_menu li a {
    border: none;
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

@media only screen and (max-width: 750px) {
    .menu-container {
        position: relative;
        width: 100%;
    }

    .menu-mobile {
        display: block;
        background: #b71b30;
    }

    .menu-dropdown-icon:before {
        display: block;
    }

    #header .menu {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin-top: 15.2%;
        z-index: 999;
    }

    #header .show-on-mobile {
        display: block;
    }

    .menu>ul {
        height: 100%;
        padding-bottom: 20%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .menu .menu_link {
        float: none;
    }

    .fixed {
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }

    .overlay {
        display: none;
        position: fixed;
        width: 100%;
        height: 100%;
        opacity: 0;
        background: rgba(0, 0, 0, 0.3);
        transition: opacity 0.3s;
        z-index: 2;
    }

    .menu-mobile.changed+.overlay {
        display: block;
        opacity: 1;
    }
}

.float_wrap {
    width: 1280px;
    margin: 0 auto;
}

.float_left {
    float: left;
}

.float_right {
    float: right;
}

.col3_wrap {
    width: 1280px;
    margin: 0 auto;
}

.col3_wrap .col3_box {
    float: left;
    width: 406px;
    margin: 50px 0 0 31px;
}

.col3_wrap .col3_box:nth-of-type(3n+1) {
    margin: 50px 0 0 0;
}

.news_box {
    border-bottom: 1px solid #d0d0d0;
    padding: 0 0 20px 0;
    margin-top: 30px;
}

.news_box h3,
.news_box .btm_lv2 {
    font-size: 2.3rem;
    line-height: 1.0;
    color: #b71b30;
    border-top: 1px solid #d0d0d0;
    border-bottom: 1px solid #d0d0d0;
    line-height: 1.2;
    padding: 20px 18px;
    text-align: left;
    margin: 0;
    font-family: inherit;
}

.news_box div {
    display: table;
    margin: 15px 0 10px 0;
}

.news_box div p {
    display: table-cell;
    font-size: 1.4rem;
    line-height: 1.4;
    padding: 0 20px;
}

.news_box div p.date {
    width: 170px;
    padding: 0 20px 0 30px;
}

.news_box div p.cat {
    text-align: right;
}

.news_box div p.cat a {
    display: inline-block;
    min-width: 98px;
    text-align: center;
    color: #fff;
    border: 1px solid #b71b30;
    background: #b71b30;
    margin: 0 0 0 auto;
    padding: 0 6px;
}

.news_box div p.cat a+a {
    margin: 0 0 0 20px;
}

.news_box .txt {
    padding: 0 20px;
}

.news_box .txt a {
    color: #b71b30;
}

.news_box .txt a:hover {
    text-decoration: underline;
}

/*
div.col3_wrap.news .col3_box div p.cat a:hover{
	border:1px solid #b71b30;
	background:#fff;
	color:#b71b30;
}
*/
.news_box div+p {
    padding: 0 20px;
}

.news_box div+p a {
    color: #b71b30;
}

.news_box div+p a:hover {
    text-decoration: underline;
}

.news_box .g_btn {
    margin: 50px 20px 0 auto;
}

.w_btn {
    width: 1280px;
    margin: 50px auto 0 auto;
}

.w_btn a {
    display: block;
    width: 248px;
    text-align: center;
    border: 1px solid #b71b30;
    font-size: 1.8rem;
    line-height: 3.8rem;
    color: #b71b30;
    margin: 0 0 0 auto;
}

/*
.w_btn a:hover{
	color:#fff;
	background:#b71b30;
}
*/
.g_btn a {
    display: block;
    width: 248px;
    text-align: center;
    font-size: 1.8rem;
    background: #5c5959;
    border: 1px solid #5c5959;
    line-height: 3.8rem;
    color: #fff;
    margin: 0 0 0 auto;
    text-decoration: none;
}

/*
.g_btn a:hover{
	color:#5c5959;
	background:#fff;
	border:1px solid #5c5959;
}
*/
.cap {
    width: 1280px;
    border: 1px solid #d0d0d0;
    box-sizing: border-box;
    padding: 48px 0 43px 0;
    margin: 0 auto;
}

.cap h3 {
    color: #b71b30;
    font-size: 3.2rem;
    font-weight: bold;
    text-align: center;
    font-family: 'Raleway', sans-serif;
    margin: 0 0 22px 0;
}

.cap p {
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.4;
}

.cap_gray_wrap {
    padding-bottom: 40px;
}

.cap_gray {
    background: #e3e3e3;
    padding: 20px 0;
}

.cap_gray p {
    text-align: center;
}

.cap_gray p a {
    text-decoration: underline;
}

.cap_gray p a:hover {
    text-decoration: none;
}

.cap_gray+p {
    margin-top: 25px;
}

.cap_gray p+p {
    text-align: left;
    margin-top: 0;
    padding: 0 73px;
}

.cap_gray p.red {
    font-size: 2.2rem;
}

.red_box {
    background: #b71b30;
    box-sizing: border-box;
    padding: 40px;
}

.red_box p {
    color: #fff;
}

.gray_box {
    background: #e3e3e3;
    box-sizing: border-box;
}

.white_box {
    background: #fff;
    box-sizing: border-box;
}

.wrap_l {
    width: 1280px;
    margin: 0 auto;
}

.wrap_s {
    width: 1220px;
    margin: 0 auto;
}

.heading {
    background: #b71b30;
}

.heading div {
    padding: 20px 0;
}

.heading div h3 {
    float: left;
    width: 590px;
    position: relative;
    font-size: 2.6rem;
    font-weight: bold;
    color: #fff;
    padding: 0 0 0 50px;
}

.heading div h3::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 30px;
    height: 22px;
    background: #c23d4f;
    margin-top: -11px;
}

.heading div .btm_lv2 {
    float: left;
    width: 590px;
    position: relative;
    font-size: 2.6rem;
    font-weight: bold;
    color: #fff;
    padding: 0 0 0 50px;
}

.heading div .btm_lv2::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 30px;
    height: 22px;
    background: #c23d4f;
    margin-top: -11px;
}

.heading div p {
    float: right;
    width: 590px;
    font-size: 1.6rem;
    line-height: 1.;
    text-align: right;
    color: #fff;
    padding: 0 30px 0 0;
}

.heading ul {
    background: #e3e3e3;
    font-size: 0;
    padding: 10px 20px;
}

.heading ul li {
    display: inline-block;
    font-size: 1.6rem;
}

.heading ul li a {
    text-decoration: underline;
}

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

.heading ul li+li {
    margin: 0 0 0 18px;
}

h3.heading {
    position: relative;
    font-size: 2.6rem;
    color: #fff;
    padding: 20px 0 20px 50px;
}

h3.heading::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 30px;
    height: 22px;
    background: #c23d4f;
    margin-top: -11px;
}

.ttl_lv2_red {
    position: relative;
    font-size: 2.6rem;
    text-align: left;
    font-family: inherit;
    color: #fff;
    background: #b71b30;
    padding: 20px 0 20px 50px;
}

.ttl_lv2_red::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 30px;
    height: 22px;
    background: #c23d4f;
    margin-top: -11px;
}

.ttl_lv2 {
    font-size: 2.4rem;
    line-height: 1.2;
    color: #cc0000;
    text-align: left;
    font-weight: bold;
    font-family: inherit;
}

.feature li {
    float: left;
    display: table;
    width: 400px;
    height: 110px;
    background: #e3e3e3;
    margin: 0 40px 0 0;
}

.feature li:nth-child(3n) {
    margin-right: 0;
}

.feature li:nth-child(n+4) {
    margin-top: 30px;
}

.feature li p {
    display: table-cell;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    vertical-align: middle;
}

.feature_text {
    font-size: 2.4rem;
    color: #b71b30;
    margin: 30px 0 0 0;
    text-align: center;
}

/*midashi*/

h3.red.bold {
    line-height: 1.2;
    font-size: 2.4rem;
}

h4.red {
    line-height: 1.2;
    font-size: 2.2rem;
}

h3.bold {
    font-size: 2.4rem;
}

table {
    width: 1280px;
    border-collapse: collapse;
    margin: 0 auto;
}

table th {
    width: 180px;
    border-bottom: 2px solid #b71b30;
    line-height: 1.5;
    font-size: 1.8rem;
    padding: 18px 0 18px 5px;
    vertical-align: top;
}

table td {
    border-bottom: 2px dotted #d0d0d0;
    line-height: 1.5;
    font-size: 1.8rem;
    padding: 18px 54px;
}

table td a {
    text-decoration: underline;
}

table td a:hover {
    text-decoration: none;
}

.overview {
    width: auto;
    border-collapse: separate;
    border-spacing: 0;
}

.overview th {
    background: #5b5b5b;
    width: auto;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.4;
    border: none;
    vertical-align: middle;
    padding: 16px 7px;
}

.overview td {
    font-size: 1.4rem;
    line-height: 1.4;
    background: #e3e3e3;
    border-top: 2px solid #fff;
    border-bottom: none;
    vertical-align: middle;
    padding: 16px 7px;
}

.overview th+th, .overview td+td {
    border-left: 2px solid #fff;
}

.overview_wrap .overview {
    width: 410px;
}

.overview .small {
    font-size: 1.1rem;
}

#breadcrumb {
    background: #e3e3e3;
    padding-top: 76px;
}

#breadcrumb ul {
    width: 1280px;
    margin: 0 auto;
    padding: 4px 0;
}

#breadcrumb ul li {
    float: left;
    line-height: 1.4;
    font-size: 1.4rem;
}

#breadcrumb ul li a {
    margin: 0 4px 0 0;
}

#breadcrumb ul li+li {
    margin: 0 0 0 4px;
}

#breadcrumb ul li a:hover {
    text-decoration: underline;
}

#contact {
    border-top: 5px solid #b71b30;
    margin: 50px 0 0 0;
}

#contact p {
    font-size: 2.4rem;
    text-align: center;
    margin: 44px 0 40px 0;
}

#contact .btn a {
    position: relative;
    display: block;
    width: 444px;
    text-align: center;
    border: 1px solid #b71b30;
    font-size: 2.2rem;
    color: #b71b30;
    margin: 0 auto;
    padding: 2.7rem 6.0rem 2.7rem 0;
}

#contact .btn a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 2.6rem;
    width: 16px;
    height: 16px;
    border-top: 3px solid #b71b30;
    border-right: 3px solid #b71b30;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -0.8rem;
}

/*
#contact .btn a:hover{
	color:#fff;
	background:#b71b30;
}
*/
.contact_text {
    font-size: 1.2rem;
    width: 1080px;
    text-align: right;
}

.pager {
    font-size: 0;
    text-align: center;
    margin: 100px 0 130px 0;
}

.pager ul {
    font-size: 0;
    text-align: center;
}

.pager ul li {
    display: inline-block;
    text-align: center;
    font-size: 1.8rem;
    margin: 0 20px;
}

.pager ul li a {
    display: block;
    color: #b71b30;
    border: 1px solid #b71b30;
    padding: 10px 12px;
}

.pager ul li.current {
    color: #fff;
    background: #b71b30;
    border: 1px solid #b71b30;
    padding: 10px 12px;
}

.pager ul li a:hover {
    background: #b71b30;
    color: #fff;
}

.pager .page-numbers {
    display: inline-block;
    color: #b71b30;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.0;
    border: 1px solid #b71b30;
    padding: 10px 12px;
    margin: 0 20px;
}

.pager .page-numbers:hover, .pager .page-numbers.current {
    background: #b71b30;
    color: #fff;
}

/* ------------------------------
    index
------------------------------ */

h2.index {
    border-top: 5px solid #b71b30;
    margin-top: 50px;
}

#mainimg {
    display: inline-block;
    width: 100%;
    height: 590px;
    background: url(images/index/mainimg.png) center center;
    background-size: cover;
    margin-top: 121px;
    border-bottom: 5px solid #b71b30;
}

.col3_wrap.banner {
    display: flex;
    flex-wrap: wrap;
    width: 1280px;
    margin: 0 auto;
}

.col3_wrap.banner li:nth-child(n+3) {
    margin-top: 15px;
}

div.col3_wrap.index .col3_box {
    background: #e7e7e7;
}

div.col3_wrap.index .col3_box h3 {
    position: relative;
    font-size: 2.1rem;
    line-height: 1.4;
    color: #fff;
    padding: 0 40px;
}

div.col3_wrap.index .col3_box h3::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 20px;
    height: 14px;
    background: #c23d4f;
    margin-top: -7px;
}

div.col3_wrap.index .col3_box div {
    position: relative;
    background: #b71b30;
    padding: 11px 0 12px 0;
}

div.col3_wrap.index .col3_box div::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    width: 21px;
    height: 21px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -15px;
}

div.col3_wrap.index .col3_box div p {
    font-size: 1.4rem;
    line-height: 1.4;
    letter-spacing: -0.05rem;
    color: #fff;
    padding: 2px 40px 0 40px;
}

div.col3_wrap.index .col3_box ul {
    padding: 18px 40px 28px 40px;
}

div.col3_wrap.index .col3_box ul li {
    font-size: 1.6rem;
}

div.col3_wrap.index .col3_box ul li+li {
    margin-top: 8px;
}

div.col3_wrap.index .col3_box ul li a {
    color: #5c5959;
    text-decoration: underline;
}

div.col3_wrap.index .col3_box ul li a:hover {
    text-decoration: none;
}

.pic a,
.pic-link a {
    display: inline-block;
    position: relative;
}

.pic a span,
.pic-link a span {
    position: absolute;
    display: none;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.pic a span {
    background: rgba(183, 27, 48, 0.9) url(images/index/overray.png) no-repeat 0 0;
}

.pic-link a span {
    background: rgba(183, 27, 48, 0.9) url(images/index/overray.png) no-repeat 0 0;
}

ul.col3_wrap.index .col3_box {
    margin-top: 30px;
}

.float_wrap.index {
    position: relative;
    margin-top: 50px;
}

.float_wrap.index .float_left {
    width: 1055px;
    background: #b71b30;
    padding: 45px 0 50px 40px;
}

.index .ttl {
    font-size: 2.8rem;
    text-align: center;
    line-height: 1.0;
    padding: 0 0 28px 0;
    border-bottom: 1px solid #fff;
}

.float_wrap.index .float_left p+p {
    padding-right: 265px;
}

.float_wrap.index p {
    color: #fff;
}

.float_wrap.index .float_right {
    position: absolute;
    height: 663px;
    top: 48px;
    right: 0;
    background: #5c5959;
    padding: 31px 29px;
}

.float_wrap.index .float_right p {
    font-size: 1.4rem;
    text-align: right;
    margin: 8px 0 0 0;
}

.red_box.index .ttl {
    margin: 0 0 22px 0;
}

.red_box.index .inner {
    background: #fff;
    padding: 30px;
    margin: 40px 0 0 0;
}

.red_box.index .inner p {
    color: #b71b30;
    font-weight: bold;
    text-align: center;
    font-size: 2.4rem;
    margin: 0 0 22px 0;
}

.red_box.index .inner img {
    float: right;
}

.red_box.index .inner dl dt {
    float: left;
    clear: left;
    width: 195px;
    line-height: 1.6;
    font-size: 1.6rem;
}

.red_box.index .inner dl dd {
    font-size: 1.6rem;
    line-height: 1.6;
    padding: 0 0 0 195px;
}

.float_left.red_box.index {
    width: 874px;
    height: 830px;
}

.float_left.red_box.index .ttl div {
    float: left;
    width: 122px;
    margin: 0 0 0 116px;
}

.float_left.red_box.index .ttl p {
    float: right;
    width: 470px;
    font-size: 2.8rem;
    line-height: 1.6;
    text-align: center;
    margin: 0 70px 0 0;
}

.float_left.red_box.index .ttl p span {
    display: block;
    font-size: 1.8rem;
}

.float_left.red_box.index+.float_right {
    width: 403px;
    height: 830px;
    box-sizing: border-box;
    border: 1px solid #b71b30;
    padding: 40px 40px;
}

.float_left.red_box.index+.float_right .ttl {
    color: #b71b30;
    font-size: 2.4rem;
    text-align: center;
    font-weight: bold;
}

.float_left.red_box.index+.float_right p {
    font-size: 1.6rem;
    line-height: 1.6;
}

.float_left.red_box.index+.float_right .ttl+p {
    margin: 10px 0 0 0;
}

.float_left.red_box.index+.float_right p+.ttl {
    margin: 20px 0 0 0;
}

.float_left.red_box.index+.float_right p+p {
    margin-top: 15px;
}

.float_left.red_box.index+.float_right p span {
    display: block;
}

.col3_wrap .col3_box.news_box {
    position: relative;
    padding-bottom: 90px;
}

.col3_wrap .col3_box.news_box .g_btn {
    position: absolute;
    bottom: 20px;
    right: 20px;
    margin: 0;
}


/* ------------------------------
    company access
------------------------------ */

#map_canvas, #map_canvas2 {
    height: 400px;
    width: 100%;
    margin: 45px 0 28px 0;
}

.page-id-12 .access p+p {
    /*margin-top:1em;*/
    margin-top: 0;
}

.page-id-12 .access .indent {
    padding-left: 9em;
    text-indent: -9em;
}

@media screen and (max-width: 750px) {
    .page-id-12 .access .indent {
        padding-left: 0;
        text-indent: 0;
    }
}

/* ------------------------------
    company
------------------------------ */

.wrap_s.company>p {
    line-height: 1.6;
}

.wrap_s.company>p a {
    text-decoration: underline;
}

.wrap_s.company>p a:hover {
    text-decoration: none;
}

.wrap_s.company .fr {
    margin: 0 0 0 60px;
}

div.col3_wrap.company {
    margin-top: 50px;
    padding: 0 0 30px 0;
}

div.col3_wrap.company .col3_box h3 {
    position: relative;
    font-size: 2.6rem;
    line-height: 1.0;
    color: #fff;
    background: #b71b30;
    padding: 20px 50px;
}

div.col3_wrap.company .col3_box h3::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 30px;
    height: 22px;
    background: #c23d4f;
    margin-top: -11px;
}

div.col3_wrap.company .col3_box p {
    min-height: 120px;
    padding: 25px 28px;
}

div.col3_wrap.company .col3_box .w_btn {
    width: auto;
}

/* ------------------------------
    company info
------------------------------ */

.cinfo .g_btn {
    margin: 20px 0 0 0;
}

.cinfo .g_btn a {
    margin: 0;
}

.cinfo td {
    position: relative;
}

.cinfo .g_btn:nth-child(1) {
    position: absolute;
    top: 11px;
    left: 260px;
    margin: 0;
}

.cinfo .g_btn:nth-child(2) {
    display: inline-block;
    margin: 0 0 0 1em;
}

/* ------------------------------
    company greeting
------------------------------ */

.greet .fr {
    width: 407px;
    text-align: right;
    margin: 30px 0 0 0;
}

.greet .fr p {
    text-align: center;
    font-weight: bold;
    margin: 20px 0 0 0;
}

.greet .fl {
    width: 780px;
    margin: 30px 0 0 0;
}

.greet+.greet {
    margin-top: 45px;
}

.greet .ttl_lv2_red {
    margin-bottom: 0;
}

/* ------------------------------
    news
------------------------------ */

.float_wrap.news .float_right {
    width: 774px;
}

.float_wrap.news .news_box {
    margin-top: 0;
}

.float_wrap.news .news_box .g_btn {
    margin-top: 35px;
}

.float_wrap.news .news_box div p.date {
    padding: 0 0 0 20px;
}

.float_wrap.news .news_box div p.cat {
    text-align: left;
    padding: 0;
}

.float_wrap.news+.float_wrap.news {
    margin-top: 50px;
}

/* ------------------------------
    news post
------------------------------ */

h2.post,
h1.post {
    width: 1244px;
    font-size: 2.3rem;
    line-height: 1.0;
    color: #b71b30;
    text-align: left;
    border-top: 1px solid #d0d0d0;
    border-bottom: 1px solid #d0d0d0;
    padding: 25px 18px;
    margin: 50px auto 0 auto;
}

.news_box.post {
    margin-top: 20px;
    padding-bottom: 40px;
}

.news_box.post div {
    margin-bottom: 40px;
}

.news_box.post div p.date {
    padding-left: 20px;
    padding-right: 0;
}

.news_box.post div p.cat {
    width: auto;
    text-align: left;
    margin: 0;
    padding: 0;
}

.news_box.post div p.url {
    padding: 0 0 0 10px;
}

.news_box.post div p.url a {
    color: #b71b30;
}

.news_box.post div p.url a:hover {
    text-decoration: underline;
}

.news_box.post p {
    padding: 0 20px;
}

.news_box.post img {
    height: auto;
    margin: 40px 20px;
}

.pager.post li {
    width: 150px;
    margin: 0 45px;
}

.pager.post ul {
    width: 720px;
    margin: 0 auto;
}

/* ------------------------------
    service index
------------------------------ */

.service {
    margin-top: 45px;
}

.service .float_wrap {
    margin: 30px 0 0 0;
}

.service .float_right {
    position: relative;
    width: 621px;
    height: 245px;
    padding: 0 20px 0 0;
}

.service .float_right p {
    line-height: 1.5;
}

.service .float_right .w_btn {
    position: absolute;
    bottom: 0;
    right: 20px;
    width: auto;
    margin: 0;
}

.service .float_wrap+.heading {
    margin-top: 50px;
}

.service .heading div .btm_lv2 {
    text-align: left;
    margin: 0;
}

/* ------------------------------
    service consul
------------------------------ */

.consul.wrap_l {
    margin-bottom: 45px;
}

.consul.wrap_l .img {
    margin: 13px 0 0 0;
}

.consul .red {
    font-size: 2.2rem;
    line-height: 1.3;
    margin: 0 0 20px 0;
}

.consul .red+p {
    margin-top: 0;
}

.consul .heading,
.consul .ttl_lv2_red {
    margin: 0 0 30px 0;
}

.consul .fl {
    width: 670px;
}

.consul .float_right {
    width: 945px;
}

.consul .float_right a {
    text-decoration: underline;
}

.consul .float_right a:hover {
    text-decoration: none;
}

.consul .float_wrap+img {
    padding: 20px 0 20px 116px;
}

.consul.red_box {
    padding: 40px 0;
    margin: 50px 0 -50px 0;
}

.consul.red_box .fr {
    width: 960px;
}

.consul.red_box .fr>p {
    font-size: 2.8rem;
    padding: 20px 0 30px 0;
}

.consul.red_box .inner {
    display: table;
}

.consul.red_box dl {
    display: table-cell;
    background: #fff;
    vertical-align: middle;
    padding: 0 35px 0 25px;
}

.consul.red_box dl dt {
    clear: left;
    float: left;
    width: 118px;
    line-height: 1.3;
    font-size: 2.2rem;
    color: #b71b30;
}

.consul.red_box dl dd {
    font-size: 2.2rem;
    line-height: 1.3;
    padding: 0 0 0 118px;
}

.consul.red_box .inner p {
    display: table-cell;
    width: 610px;
    vertical-align: middle;
    color: #5c5959;
    background: #fff;
    padding: 25px 35px;
    border-left: 30px solid #b71b30;
}

/* ------------------------------
    service creation
------------------------------ */

.creation .float_left, .creation .float_right {
    position: relative;
    width: 610px;
    height: 330px;
    margin: 0 0 50px 0;
}

.creation h4 {
    margin: 28px 0 24px 0;
}

.creation .w_btn {
    position: absolute;
    right: 0;
    bottom: 0;
    width: auto;
    margin: 0;
}

.creation.gray_box {
    margin-bottom: -50px;
    padding: 0 0 50px 0;
}

.creation.gray_box h3 {
    text-align: center;
    padding: 50px 0 40px 0;
}

.creation.gray_box .btm_lv2 {
    text-align: center;
    font-family: inherit;
    font-size: 2.4rem;
    color: #5c5959;
    margin: 0;
    padding: 50px 0 40px 0;
}

.creation.gray_box .fl {
    width: 760px;
}

.creation.white_box {
    display: table;
    margin: 45px auto 0 auto;
    padding: 45px 30px;
}

.creation.white_box .col_left {
    position: relative;
    display: table-cell;
    width: 47px;
    background: url(images/service/creation_txt_m.jpg) center center repeat-y;
    padding: 5px 0;
}

.creation.white_box .col_left img+img {
    position: absolute;
    bottom: 0;
    left: 0;
}

.creation.white_box .col_right {
    display: table-cell;
    width: 100%;
    vertical-align: top;
    padding: 0 0 0 30px;
}

.creation.white_box+p.red_box {
    color: #fff;
    font-size: 2.2rem;
    text-align: center;
    padding: 13px 0;
    margin: 0 auto 50px auto;
}

/* ------------------------------
    service marketing - common
------------------------------ */

.svc .heading,
.svc .ttl_lv2_red {
    margin: 0 0 30px 0;
}

.svc .float_left {
    width: 780px;
}

.svc .float_left p a {
    text-decoration: underline;
}

.svc .float_left p a:hover {
    text-decoration: none;
}

.svc .w_btn {
    width: auto;
    margin-top: 15px;
}

.svc .w_btn.last {
    margin-top: 74px;
}

.svc+.svc {
    margin-top: 50px;
}

.svc.w_btn {
    margin-top: 40px;
}

.carousel .slider .title {
    background: #e3e3e3;
    padding: 16px;
}

.carousel .slider .title p {
    line-height: 1.6;
    letter-spacing: -0.05rem;
}

.carousel .slider .title p+p {
    margin-top: 0;
}

.chart {
    position: relative;
    width: 1200px;
    margin: 0 auto;
}

.chart .inner {
    position: relative;
    display: table;
    width: 502px;
    border: 10px solid #e3e3e3;
    box-sizing: border-box;
    padding: 19px 23px;
}

.chart .inner img {
    float: left;
}

.chart .inner p {
    display: table-cell;
    width: 310px;
    vertical-align: middle;
    /*
	padding:0 0 0 130px;
	*/
}

.chart .inner:nth-child(odd) {
    float: left;
}

.chart .inner:nth-child(even) {
    float: right;
}

.chart .no1::before {
    content: url(images/service/no1_pc.jpg);
    position: absolute;
    top: 35px;
    right: -137px;
}

.chart .no2::before {
    content: url(images/service/no2_pc.jpg);
    position: absolute;
    top: 35px;
    left: -137px;
}

.chart .no3::before {
    content: url(images/service/no3_pc.jpg);
    position: absolute;
    top: 35px;
    right: -137px;
}

.chart .no4::before {
    content: url(images/service/no4_pc.jpg);
    position: absolute;
    top: 35px;
    left: -137px;
}

.chart .no5::before {
    content: url(images/service/no5_pc.jpg);
    position: absolute;
    top: 35px;
    right: -137px;
}

.chart .no6::before {
    content: url(images/service/no6_pc.jpg);
    position: absolute;
    top: 35px;
    left: -137px;
}

.chart .no7::before {
    content: url(images/service/no7_pc.jpg);
    position: absolute;
    top: 35px;
    right: -137px;
}

/* ------------------------------
    service homepage
------------------------------ */

.homepage::before {
    content: '';
    position: absolute;
    top: 70px;
    left: 50%;
    width: 10px;
    height: 670px;
    background: #e3e3e3;
    margin-left: -5px;
}

.homepage .no2 {
    margin-top: 105px;
}

.homepage .no3, .homepage .no4, .homepage .no5 {
    margin-top: 45px;
}

.homepage .no6 {
    margin-top: 18px;
}

.homepage .no7 {
    margin-top: 73px;
}

/* ------------------------------
    service lp
------------------------------ */

.svc .float_left.lp {
    width: 700px;
}

.svc .float_left.lp .gray_box {
    padding: 30px;
    margin: 25px 0;
}

.svc .float_left.lp dt {
    clear: left;
    float: left;
    width: 95px;
}

.svc .float_left.lp dd {
    padding: 0 0 30px 95px;
}

.svc .float_left.lp dd:last-of-type {
    padding: 0 0 0 95px;
}

.svc .float_left.lp dd p {
    line-height: 1.6;
    letter-spacing: -0.05rem;
}

.svc .float_left.lp dd p+p {
    margin-top: 0;
}

.chart.lp::before {
    content: '';
    position: absolute;
    top: 70px;
    left: 50%;
    width: 10px;
    height: 670px;
    background: #e3e3e3;
    margin-left: -5px;
}

.lp .no2 {
    margin-top: 115px;
}

.lp .no3, .lp .no4, .lp .no5, .lp .no6 {
    margin-top: 30px;
}

/* ------------------------------
    service support
------------------------------ */
.support_bnr {
    margin-top: 10px;
    padding: 0 20px;
}

.support_bnr .float_left {
    width: 760px;
}

.support_bnr .float_left p {
    text-align: left;
}

@media screen and (max-width: 750px) {
    .support_bnr {
        margin-top: 3%;
        padding: 0;
    }

    .support_bnr .float_left {
        width: auto;
        margin-top: 4%;
    }
}

/* ------------------------------
    service movie
------------------------------ */

.movie::before {
    content: '';
    position: absolute;
    top: 70px;
    left: 50%;
    width: 10px;
    height: 460px;
    background: #e3e3e3;
    margin-left: -5px;
}

.movie .no2 {
    margin-top: 110px;
}

.movie .no3 {
    margin-top: 75px;
}

.movie .no4, .movie .no5 {
    margin-top: 70px;
}

/* ------------------------------
    service system
------------------------------ */

.system::before {
    content: '';
    position: absolute;
    top: 70px;
    left: 50%;
    width: 10px;
    height: 570px;
    background: #e3e3e3;
    margin-left: -5px;
}

.system .no2 {
    margin-top: 110px;
}

.system .no3 {
    margin-top: 75px;
}

.system .no4, .system .no5, .system .no6 {
    margin-top: 70px;
}

/* ------------------------------
    service ppc
------------------------------ */

.overview_wrap.ppc {
    margin: 43px 0;
}

.overview_wrap.ppc .overview th {
    background: #5b5b5b;
    width: auto;
    height: 56px;
    padding: 0 7px;
}

.overview_wrap.ppc .overview th:first-child {
    width: 105px;
}

.overview_wrap.ppc .overview th:last-child {
    width: 50px;
}

.overview_wrap.ppc .overview td {
    height: 56px;
    padding: 0 7px;
}

.overview_wrap.ppc .overview {
    float: left;
}

.overview_wrap.ppc .overview+.overview {
    margin: 0 0 0 23px;
}

.overview.large {
    width: 100%;
    margin: 40px 0 0 0;
}

.overview.large th {
    width: 25%;
    font-size: 1.8rem;
    line-height: 1.7;
    padding: 15px 17px;
}

.overview.large td {
    font-size: 1.8rem;
    line-height: 1.7;
    padding: 15px 17px;
}

.overview.large td p {
    padding-left: 1em;
    text-indent: -1em;
}

.overview.large td p+p {
    margin-top: 0;
}

.red.bold.ppc {
    font-size: 2.2rem;
    margin: 20px 0;
}

.red.bold.ppc+p {
    margin-top: 0;
}

.ppc.inner {
    background: #e3e3e3;
    padding: 0 0 30px 0;
    margin: 25px 0 0 0;
}

.ppc.inner .title {
    background: #5c5959;
    color: #fff;
    text-align: center;
    margin: 0;
    padding: 15px 0;
}

.ppc.inner dl {
    padding: 30px 30px 0 30px;
}

.ppc.inner dl dt {
    clear: left;
    float: left;
    width: 65px;
    padding: 5px 0 0 0;
}

.ppc.inner dl dd {
    line-height: 1.6;
    padding: 0 0 30px 65px;
}

.ppc.inner dl dd a {
    text-decoration: underline;
}

.ppc.inner dl dd a:hover {
    text-decoration: none;
}

.ppc.inner p {
    background: #ffffff;
    padding: 20px;
    margin: 0 30px;
}

p.ppc a {
    text-decoration: underline;
}

p.ppc a:hover {
    text-decoration: none;
}


.overview.large.seo {
    width: 100%;
    margin: 0;
}

.overview.large.seo td {
    padding: 15px 25px;
}

.overview.large.seo th {
    padding: 15px 25px;
}

.overview.large.seo th:last-child {
    width: 45%;
}

/* ------------------------------
    service seo
------------------------------ */

.seo.inner {
    background: #e3e3e3;
    padding: 0 0 13px 0;
    margin: 25px 0 0 0;
}

.seo.inner dl {
    padding: 30px 30px 0 30px;
}

.seo.inner dl dt {
    clear: left;
    float: left;
    width: 50px;
}

.seo.inner dl dd {
    line-height: 1.6;
    padding: 0 0 17px 50px;
}

ul.seo {
    margin: 40px 0;
}

ul.seo li {
    float: left;
    width: 238px;
    height: 152px;
    background: #e3e3e3;
}

ul.seo li:last-child {
    margin: 0 0 0 24px;
}

ul.seo li+li {
    position: relative;
    margin: 0 0 0 22px;
}

ul.seo li+li::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -17px;
    width: 0;
    height: 0;
    border: 14px solid transparent;
    border-left: 14px solid #b71b30;
    margin-top: -13px;
}

ul.seo .title {
    background: #5c5959;
    font-size: 2.0rem;
    text-align: center;
    color: #fff;
    padding: 6px 0;
}

ul.seo .text {
    background: #e3e3e3;
    font-size: 1.4rem;
    padding: 16px 20px 20px 20px;
    margin: 0;
}

/* ------------------------------
    service sphone
------------------------------ */

.sphone.cap_gray p+p {
    padding: 0 63px;
}

.sphone.inner {
    width: 950px;
    margin: 40px auto;
}

p.sphone a {
    text-decoration: underline;
}

p.sphone a:hover {
    text-decoration: none;
}

.sphone.inner img {
    float: left;
}

.sphone.inner img+img {
    float: right;
}

.sphone.overview th:first-child {
    width: 125px;
}

.sphone.overview td:first-child {
    text-align: center;
    vertical-align: middle;
}

.sphone.overview td {
    vertical-align: top;
}

.sphone.overview th {
    width: 45%;
}

.sphone.overview tr:last-child td {
    background: #fff;
    padding: 20px 0 0 0;
}

.mf_bnr {
    margin-bottom: 40px;
}

.mf_bnr li {
    float: left;
    width: 49%;
    font-size: 2.6rem;
    color: #b71b30;
    text-align: center;
    border: 1px solid #b71b30;
}

.mf_bnr li+li {
    float: right;
}

.mf_bnr li a {
    display: block;
    color: #b71b30;
    padding: 25px 0;
}

.mf_bnr li a:hover {
    background: #b71b30;
    color: #fff;
}

/* ------------------------------
    about
------------------------------ */

div.about.bg {
    text-align: center;
    background-color: #e3e3e3;
}

.svc .float_left p.about a {
    text-decoration: underline;
}

.svc .float_left p.about a:hover {
    text-decoration: none;
}

div.about.bg+p {
    margin: 45px 0;
}

ul.about li .w_btn {
    margin: 0;
}

ul.about {
    text-align: right;
    margin: 30px 0 0 0;
}

ul.about li {
    display: inline-block;
    margin: 0 0 0 35px;
}

.red_box.about {
    text-align: center;
    margin: 70px 0 50px 0;
}

.red_box.about img {
    margin: 35px 0 0 0;
}

.red_box.about h3 {
    position: relative;
    font-size: 2.6rem;
    text-align: center;
    font-weight: bold;
    color: #fff;
    margin: 0 0 40px 0;
}

.red_box.about h3::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    top: 50%;
    left: 0;
    background: #fff;
}

.red_box.about h3 span {
    position: relative;
    display: inline-block;
    background: #b71b30;
    padding: 0 40px;
}

.float_wrap.about {
    border: 1px solid #b71b30;
    box-sizing: border-box;
    padding: 30px;
}

.float_wrap.about .float_left {
    width: 730px;
}

.float_wrap.about .float_left ul li {
    position: relative;
    font-size: 1.8rem;
    line-height: 1.4;
    padding: 0 0 0 40px;
}

.float_wrap.about .float_left ul li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 34px;
    height: 25px;
    background: url(images/about/about_icon.jpg) 0 0 no-repeat;
}

.float_wrap.about .float_left ul li+li {
    margin: 24px 0 0 0;
}

.float_wrap.about+p {
    font-weight: bold;
    font-size: 2.6rem;
    text-align: center;
    line-height: 1.5;
    margin: 30px 0;
}

.cm {
    background: url(images/about/about_bg2.jpg) center center no-repeat;
    background-size: cover;
    padding: 50px 0;
    margin: 50px 0 0 0;
}

.cm .wrap {
    width: 810px;
    background: rgba(255, 255, 255, 0.4);
    margin: 0 auto;
    padding: 45px 0 50px 0;
}

.cm .title {
    font-size: 2.6rem;
    text-align: center;
    color: #b71b30;
    margin: 0 0 35px 0;
}

.cm .title+p {
    text-align: center;
    margin: 0 0 40px 0;
}

.cm .btn a {
    position: relative;
    display: block;
    width: 504px;
    text-align: center;
    border: 1px solid #b71b30;
    font-size: 2.2rem;
    color: #fff;
    background: #b71b30;
    margin: 0 auto;
    padding: 2.7rem 0;
}

.cm .btn a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 2.6rem;
    width: 16px;
    height: 16px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -0.8rem;
}

.gray_box.about {
    padding: 45px 0 50px 0;
    margin-bottom: -50px;
}

.gray_box.about h3 {
    position: relative;
    font-size: 2.6rem;
    text-align: center;
    font-weight: bold;
    color: #b71b30;
    margin: 0 0 40px 0;
}

.gray_box.about h3::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    top: 50%;
    left: 0;
    background: #b71b30;
}

.gray_box.about h3 span {
    position: relative;
    display: inline-block;
    background: #e3e3e3;
    padding: 0 40px;
}

.gray_box.about dl+dl {
    margin-top: 48px;
}

.gray_box.about dl dt {
    clear: left;
    float: left;
    width: 610px;
    padding: 0 0 0 30px;
}

.gray_box.about dl dd {
    text-align: right;
    padding: 0 0 0 640px;
}

.gray_box.about dl dt p+p {
    margin: 8px 0 10px;
}

.gray_box .g_btn a {
    background: #b71b30;
    border: 1px solid #b71b30;
}

/* ------------------------------
    recruit
------------------------------ */

.recruit {
    margin: 45px auto 0 auto;
}

.recruit .w_btn {
    width: auto;
}

.recruit h3,
.recruit .ttl_lv2_red {
    margin: 0 0 25px 0;
}

.recruit .float_left {
    width: 600px;
}

.recruit .float_right {
    width: 600px;
}

.recruit_box .fr {
    margin: 0 0 20px 20px;
}

/* ------------------------------
    mid career recruit
------------------------------ */

.mcr {
    margin: 40px auto 10px auto;
}

table+.mcr {
    margin-top: 110px;
}

/* ------------------------------
    contact
------------------------------ */

dl.contact {
    width: 935px;
    margin: 45px auto 0 auto;
}

dl.contact dt {
    position: relative;
    clear: left;
    float: left;
    line-height: 1.6;
    width: 252px;
    padding: 6px 0 6px 13px;
}

dl.contact dt::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 15px;
    background: #b71b30;
    border-top: 5px solid #c9c9c9;
    margin-top: -10px;
}

dl.contact dd {
    line-height: 1.6;
    padding: 0 0 0 265px;
    margin: 0 0 50px 0;
}

dl.contact dd input {
    font-size: 1.8rem;
    width: 100%;
    border: 1px solid #c9c9c9;
    box-sizing: border-box;
    padding: 8px 5px 9px 5px;
}

dl.contact dd textarea {
    width: 100%;
    height: 170px;
    border: 1px solid #c9c9c9;
    box-sizing: border-box;
    padding: 8px 5px 9px 5px;
}

dl.contact dd p {
    line-height: 1.6;
    padding: 6px 0;
}

input.contact, div.contact a {
    display: block;
    width: 285px;
    text-align: center;
    line-height: 1.0;
    border: 1px solid #b71b30;
    color: #b71b30;
    font-size: 1.8rem;
    background: none;
    padding: 10px 0;
    cursor: pointer;
    margin: 0 auto;
}

div.contact {
    margin: 45px 0 0 0;
}

ul.contact {
    width: 660px;
    margin: 0 auto;
}

ul.contact li {
    float: left;
    width: 285px;
}

ul.contact li+li {
    float: right;
}

/* ------------------------------
    sitemap
------------------------------ */

.sitemap>ul {
    float: left;
    width: 260px;
}

.sitemap>ul+ul {
    margin: 0 0 0 35px;
}

.sitemap>ul>li {
    font-size: 1.8rem;
}

.sitemap>ul>li+li {
    margin-top: 28px;
}

.sitemap>ul>li>a {
    position: relative;
    display: block;
    border-bottom: 2px dotted #cdcdcd;
    padding: 0 0 16px 18px;
}

.sitemap>ul>li>a::before {
    content: '';
    position: absolute;
    top: 0.3rem;
    left: -0.5rem;
    width: 10px;
    height: 10px;
    border-top: 2px solid #b71b30;
    border-right: 2px solid #b71b30;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sitemap>ul>li>a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 10px;
    height: 2px;
    background: #b71b30;
}

.sitemap>ul>li>ul {
    padding: 20px 0 0 20px;
}

.sitemap>ul>li>ul>li {
    font-size: 1.6rem;
}

.sitemap>ul>li>ul>li+li {
    margin-top: 25px;
}

.sitemap>ul>li>ul>li>a {
    position: relative;
    display: block;
    padding: 0 0 0 20px;
}

.sitemap>ul>li>ul>li>a::before {
    content: '';
    position: absolute;
    top: 0.3rem;
    left: -0.5rem;
    width: 8px;
    height: 8px;
    border-top: 2px solid #b71b30;
    border-right: 2px solid #b71b30;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sitemap>ul>li>ul>li>ul {
    padding: 15px 0 0 35px;
}

.sitemap>ul>li>ul>li>ul>li {
    font-size: 1.4rem;
}

.sitemap>ul>li>ul>li>ul>li+li {
    margin-top: 15px;
}

.error_img {
    min-width: 1280px;
    position: relative;
}

.error_img h2 {
    color: #ffffff;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.error_img img {
    width: 100%;
    margin: -100px 0 0 0;
}

.error_img img+a img {
    position: absolute;
    width: 500px;
    bottom: 20%;
    left: 0;
    right: 0;
    margin: auto;
}

/* ------------------------------
    works list 20161017
------------------------------ */

.list {
    display: table;
    border: 1px solid #b71b30;
    margin-bottom: 80px;
}

.list p {
    display: table-cell;
    color: #fff;
    text-align: center;
    background: #b71b30;
    width: 200px;
    vertical-align: middle;
}

.list ul {
    display: table-cell;
    width: 1000px;
    padding: 20px;
}

.list li {
    float: left;
    width: 180px;
    text-align: center;
    font-size: 1.4rem;
    margin: 10px 0 0 21px;
}

.list li:nth-child(5n+1) {
    margin: 10px 0 0 0;
}

.list li:nth-child(-n+5) {
    margin-top: 0;
}

.list li a {
    display: block;
    background: #b71b30;
    color: #fff;
    padding: 15px 0;
}

/* ------------------------------
    footer
------------------------------ */

#footer {
    background: #595656;
    margin: 60px 0 0 0;
}

#footer p {
    color: #fff;
}

#footer .wrap {
    position: relative;
    width: 1280px;
    margin: 0 auto;
    padding: 70px 0 20px 0;
}

#footer .box {
    position: absolute;
    top: 70px;
    left: 0;
    width: 300px;
    padding: 0 22px 0 21px;
}

#footer .box p {
    font-size: 1.6rem;
    margin: 35px 0;
}

#footer .box .btn_ft_contact {
    display: block;
    width: 300px;
    height: 40px;
    background-color: #fff;
    transition: opacity 0.3s;
}

#footer .box .btn_ft_contact.btn_ft_document {
    margin-top: 20px;
}

#footer .box .btn_ft_contact:hover {
    opacity: 0.5;
}

#footer .box .btn_ft_contact .contact_inner {
    width: 300px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#footer .box .btn_ft_contact i {
    display: inline-block;
    width: 28px;
    height: 22px;
    margin-right: 25px;
}

#footer .box .btn_ft_contact.btn_ft_document i {
    position: relative;
    top: -1px;
    display: inline-block;
    width: 22px;
    height: 25px;
    margin-right: 15px;
}

#footer .box .btn_ft_contact .mail_txt {
    position: relative;
    top: 2px;
    font-size: 1.8rem;
    color: #595656;
}

#footer a {
    color: #fff;
}

#footer a:hover {
    text-decoration: underline;
}

#footer .menu:first-of-type {
    margin: 0 0 0 380px;
}

#footer .menu {
    float: left;
    width: 260px;
}

#footer .menu+.menu {
    margin: 0 0 0 38px;
}

#footer .menu p.ttl {
    font-size: 1.8rem;
    line-height: 1.0;
}

#footer p.ttl span {
    position: relative;
    display: block;
    border-bottom: 1px dotted #fff;
    padding: 0 0 18px 20px;
    margin: 0 0 28px 0;
}

#footer p.ttl span::before {
    content: '';
    position: absolute;
    top: 0.3rem;
    left: -0.5rem;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#footer .menu div ul {
    margin: 0 0 28px 20px;
}

#footer .menu div ul li {
    position: relative;
    font-size: 1.6rem;
    padding: 0 0 0 20px;
}

#footer .menu div ul li::before {
    content: '';
    position: absolute;
    top: 0.3rem;
    left: -0.5rem;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#footer .menu div ul li+li {
    margin-top: 25px;
}

.link_acdn {
    position: relative;
}

.link_acdn .btn_open {
    position: absolute;
    width: 14px;
    height: 14px;
    top: 0;
    right: 0;
    cursor: pointer;
}

.link_acdn .btn_open:before {
    content: "";
    position: absolute;
    display: block;
    width: 14px;
    height: 2px;
    top: 50%;
    left: 50%;
    background-color: #fff;
    transform: translate(-50%, -50%);
}

.link_acdn .btn_open:after {
    content: "";
    position: absolute;
    display: block;
    width: 2px;
    height: 14px;
    top: 50%;
    left: 50%;
    background-color: #fff;
    transform: translate(-50%, -50%);
}

.link_acdn .btn_open.open:after {
    display: none;
}

#footer .menu div .link_acdn ul {
    display: none;
    margin: 13px 0 28px 20px;
}

#footer .menu div ul li ul li {
    font-size: 1.4rem;
    padding: 0;
}

#footer .menu div ul li ul li::before {
    content: none;
}

#footer .menu div ul li ul li+li {
    margin-top: 13px;
}

#footer .pagetop {
    position: absolute;
    top: -10px;
    right: 20px;
    width: 64px;
    height: 64px;
}

#footer .pagetop a {
    position: relative;
    display: block;
    width: 64px;
    height: 64px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background: #b71b30;
    border-radius: 100%;
}

#footer .pagetop a::before {
    position: absolute;
    top: 50%;
    left: 50%;
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
    margin: -6px 0 0 -12px;
}

#footer .copy {
    background: #b71b30;
    text-align: center;
    font-size: 1.4rem;
    padding: 24px 0 94px;
}

@media screen and (min-width : 751px) {

    .sp {
        display: none !important;
    }

    .col3_wrap .col3_box:nth-of-type(1), .col3_wrap .col3_box:nth-of-type(2), .col3_wrap .col3_box:nth-of-type(3) {
        margin-top: 0 !important;
    }

    .bgstretcher {
        display: none;
    }


}

@media screen and (max-width : 750px) {

    * {
        -webkit-appearance: none;
    }

    html, body, .bgstretcher-area, #bgstretcher, .bgstretcher-page {
        height: 100%;
    }

    html {
        font-size: 45.1%;
    }

    .pc {
        display: none !important;
    }

    img {
        width: 100%;
    }

    p+p {
        margin-top: 4%;
    }

    h2 {
        width: auto;
        font-size: 3.4rem;
        margin: 0 0 7.8% 0;
        padding: 7.8% 0 0 0;
    }

    h2 span {
        padding: 1.5% 0 0 0;
    }

    h2 span.transform {
        font-size: 3.4rem;
    }

    .ttl_lv1 {
        width: auto;
        font-size: 3.4rem;
        margin: 0 0 7.8% 0;
        padding: 7.8% 0 0 0;
    }

    .ttl_lv1 span {
        padding: 1.5% 0 0 0;
    }

    .ttl_lv1 span.transform {
        font-size: 3.4rem;
    }

    .float_wrap {
        width: 100%;
    }

    .col3_wrap {
        width: 95%;
        margin: 0 auto;
    }

    .col3_wrap .col3_box {
        float: none;
        width: auto;
        margin: 8% 0 0 0;
    }

    .col3_wrap .col3_box:nth-of-type(3n+1) {
        margin: 8% 0 0 0;
    }

    .col3_wrap .col3_box:first-of-type {
        margin: 0;
    }

    .heading div {
        padding: 4% 0;
    }

    .heading div h3 {
        float: none;
        width: auto;
        position: relative;
        font-size: 2.3rem;
        line-height: 1.0;
        font-weight: bold;
        color: #fff;
        padding: 0 0 0 4.0rem;
        margin: 0 0 2% 0;
    }

    .heading div h3::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 2.5rem;
        height: 1.6rem;
        background: #c23d4f;
        margin-top: 0;
    }

    .heading div .btm_lv2 {
        float: none;
        width: auto;
        position: relative;
        font-size: 2.3rem;
        line-height: 1.0;
        font-weight: bold;
        color: #fff;
        padding: 0 0 0 4.0rem;
        margin: 0 0 2% 0;
    }

    .service .heading div .btm_lv2 {
        margin: 0 0 2% 0;
    }

    .heading div .btm_lv2::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 2.5rem;
        height: 1.6rem;
        background: #c23d4f;
        margin-top: 0;
    }

    .heading div p {
        float: none;
        width: auto;
        line-height: 1.4;
        text-align: left;
        padding: 0 4%;
    }

    .heading ul {
        background: #e3e3e3;
        font-size: 0;
        padding: 2% 3% 3% 3%;
    }

    .heading ul li {
        display: block;
    }

    .heading ul li+li {
        margin: 2% 0 0 0;
    }

    h3.heading {
        font-size: 2.3rem;
        line-height: 1.3;
        color: #fff;
        padding: 10px 3% 10px 4.0rem;
    }

    h3.heading::before {
        content: '';
        position: absolute;
        top: 12px;
        left: 0;
        width: 2.5rem;
        height: 1.6rem;
        background: #c23d4f;
        margin-top: 0;
    }

    .ttl_lv2_red {
        font-size: 2.3rem;
        line-height: 1.3;
        color: #fff;
        padding: 10px 3% 10px 4.0rem;
        margin: 0;
    }

    .ttl_lv2_red::before {
        content: '';
        position: absolute;
        top: 12px;
        left: 0;
        width: 2.5rem;
        height: 1.6rem;
        background: #c23d4f;
        margin-top: 0;
    }

    .ttl_lv2 {
        line-height: 1.4;
    }

    .news_box:first-of-type {
        margin-top: 0;
    }

    .news_box {
        padding: 0 0 4% 0;
    }

    .news_box h3,
    .news_box .btm_lv2 {
        padding: 4% 3.2%;
    }

    .news_box div {
        width: 100%;
        box-sizing: border-box;
        margin: 3% 0;
        padding: 0 3.2%;
    }

    .news_box div p {
        font-size: 1.1rem;
    }

    .news_box div p.date {
        font-size: 1.5rem;
        width: 50%;
        padding: 0;
    }

    .single-works .news_box.post div p.cat {
        margin: 2% 0;
    }

    .news_box div p.cat a {
        min-width: auto;
        width: 43%;
    }

    .single-post .news_box div p.cat a {
        font-size: 1.5rem;
    }

    .single-works .news_box div p.cat a {
        display: inline-block;
        font-size: 1.5rem;
    }

    .single-works .news_box div p.cat a+a {
        margin: 0 0 0 2%;
    }

    .single-works .news_box.post div p.url {
        margin: 0;
        padding: 0;
    }

    .news_box div p.cat a+a+a {
        margin: 5px 0 0 0;
    }

    .news_box div p.cat {
        width: auto;
        padding: 0;
        margin-top: 0;
    }

    .single-works .news_box div p {
        display: block;
    }

    .news_box div+p {
        padding: 0 3.2%;
    }

    .news_box .g_btn {
        margin: 5.7% 0 0 0;
    }

    .red_box {
        padding: 3%;
    }

    .w_btn {
        width: 95%;
        margin: 7.8% auto 0 auto;
    }

    .w_btn a {
        width: auto;
        line-height: 1.0;
        padding: 3.9% 0;
    }

    .g_btn a {
        width: 40%;
        line-height: 1.0;
        padding: 2% 0;
    }

    .cap {
        width: 95%;
        margin: 0 auto;
        padding: 7.3% 0;
    }

    .cap h3 {
        font-size: 2.5rem;
        margin: 0 0 3.2% 0;
    }

    .cap p {
        line-height: 1.6;
        font-size: 1.6rem;
        padding: 0 3%;
    }

    .cap_gray_wrap {
        padding-bottom: 5%;
    }

    .cap_gray {
        background: #e3e3e3;
        padding: 5% 3%;
    }

    .cap_gray p+p {
        margin-top: 2%;
        padding: 0;
    }

    .cap_gray+p {
        margin-top: 3%;
    }

    .feature li {
        float: none;
        display: block;
        width: auto;
        height: auto;
        background: #e3e3e3;
        margin: 0;
        padding: 3%;
    }

    .feature li+li {
        margin-top: 2%;
    }

    .feature li:nth-child(n+4) {
        margin-top: 2%;
    }

    .feature li p {
        display: block;
        font-size: 1.8rem;
        line-height: 1.4;
        text-align: center;
        vertical-align: middle;
    }

    .feature_text {
        font-size: 2.2rem;
        margin: 5% 0 0 0;
    }

    /*midashi*/

    h3.red.bold {
        line-height: 1.4;
    }

    .wrap_l {
        width: 95%;
        margin: 0 auto;
    }

    .wrap_s {
        width: 95%;
        margin: 0 auto;
    }

    .pic a, .pic-link a {
        width: 100%;
    }

    .pic a span {
        background: rgba(183, 27, 48, 0.9) url(images/index/overray.png) no-repeat center center;
    }

    .pic-link a span {
        background: rgba(183, 27, 48, 0.9) url(images/index/overray.png) no-repeat center center;
    }

    table {
        width: 93.6%;
        border-collapse: collapse;
        margin: 0 auto;
    }

    table th {
        width: 30%;
        border-bottom: 2px solid #b71b30;
        line-height: 1.5;
        padding: 3% 0 3% 1%;
    }

    table td {
        border-bottom: 2px dotted #d0d0d0;
        line-height: 1.5;
        padding: 3%;
    }

    #breadcrumb {
        padding-top: 17%;
        padding-top: 12.8vw;
    }

    #breadcrumb ul {
        width: auto;
        padding: 1.5% 3.2%;
    }

    #breadcrumb ul li {
        font-size: 1.2rem;
    }

    #contact {
        margin-top: 7.8%;
        padding: 0 3.2%;
    }

    #contact p {
        font-size: 2.1rem;
        margin: 7% 0;
    }

    #contact .btn {
        width: 100%;
        margin: 0 auto;
    }

    #contact .btn a {
        position: relative;
        display: block;
        width: auto;
        text-align: center;
        border: 1px solid #b71b30;
        font-size: 2.0rem;
        line-height: 1.0;
        color: #b71b30;
        margin: 0 auto;
        padding: 6% 0;
    }

    #contact .btn a::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 2.6rem;
        width: 10px;
        height: 10px;
        border-top: 3px solid #b71b30;
        border-right: 3px solid #b71b30;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        margin-top: -0.7rem;
    }

    /* ------------------------------
    index
------------------------------ */
    .col3_wrap.banner {
        display: block;
        max-width: 95%;
        width: 95%;
    }

    .col3_wrap.banner li:nth-child(n+2) {
        margin-top: 5%;
    }

    h2.index {
        margin-top: 7.8%;
    }

    div.col3_wrap.index .col3_box div {
        padding: 3% 0;
    }

    div.col3_wrap.index .col3_box div p {
        font-size: 1.7rem;
    }

    div.col3_wrap.index .col3_box ul {
        display: none;
    }

    .float_wrap.index {
        margin-top: 7.8%;
    }

    .float_wrap.index .float_left {
        float: none;
        width: 100%;
        padding: 7.3% 3.2%;
        box-sizing: border-box;
    }

    .float_wrap.index .float_right {
        float: none;
        position: inherit;
        height: auto;
        top: auto;
        right: auto;
        text-align: center;
        padding: 3%;
    }

    .float_wrap.index .float_right p {
        text-align: center;
        font-size: 1.8rem;
    }

    .float_wrap.index .float_right img {
        width: 49%;
    }

    .index .ttl {
        font-size: 2.3rem;
        padding: 0 0 7.3% 0;
    }

    .float_wrap.index .float_left p+p {
        padding-right: 0;
    }

    .red_box.index.wrap_l {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .red_box.index .ttl {
        margin: 0 3.6% 4% 3.6%;
        padding-top: 7%;
    }

    .red_box.index p {
        padding-right: 3.6%;
        padding-left: 3.6%;
    }

    .red_box.index .inner {
        margin: 7% 0 0 0;
        padding: 3.6%;
    }

    .red_box.index .inner p {
        margin: 4% 0 7% 0;
    }

    .red_box.index .inner img {
        float: none;
        margin: 0 0 8% 0;
    }

    .red_box.index .inner dl dt {
        width: 14rem;
    }

    .red_box.index .inner dl dd {
        padding: 0 0 0 14rem;
    }

    .float_left.red_box.index {
        width: 100%;
        height: auto;
        padding: 0 0 3% 0;
    }

    .float_left.red_box.index .ttl {
        padding: 4% 0;
    }

    .float_left.red_box.index .ttl p {
        float: none;
        font-size: 2.3rem;
        width: auto;
        margin: 0;
    }

    .float_left.red_box.index .ttl div {
        float: none;
        width: 50%;
        overflow: hidden;
        margin: 3% auto 0 auto;
    }

    .float_left.red_box.index .ttl div img {
        float: left;
        width: 50%;
    }

    .float_left.red_box.index .ttl p span {
        font-size: 1.6rem;
    }

    .float_left.red_box.index+.float_right {
        width: 100%;
        height: auto;
        border: none;
        padding: 7% 3% 2% 3%;
    }

    .float_left.red_box.index+.float_right .ttl {
        font-size: 2.2rem;
    }

    .float_left.red_box.index+.float_right .ttl+p {
        margin: 2% 0 0 0;
    }

    .float_left.red_box.index+.float_right p+.ttl {
        margin: 4% 0 0 0;
    }

    .float_left.red_box.index+.float_right p+p {
        margin: 3% 0 0 0;
    }

    ul.col3_wrap.index .col3_box {
        margin-top: 3%;
    }

    ul.col3_wrap.index .col3_box img {
        height: 100%;
    }

    .col3_wrap .col3_box.news_box {
        padding-bottom: 0;
    }

    .col3_wrap .col3_box.news_box .g_btn {
        position: inherit;
        bottom: auto;
        right: auto;
        margin: 3% 0;
    }

    /* ------------------------------
    access
------------------------------ */

    #map_canvas, #map_canvas2 {
        height: 0;
        padding-top: 62.5%;
        margin: 10% 0 5% 0;
    }

    /* ------------------------------
    company
------------------------------ */

    .wrap_s.company .fr {
        /* 	margin:0 0 3% 0; */
        margin: 0 auto 3%;
        float: none;
        width: 66%;
        display: block;
    }

    div.col3_wrap.company {
        margin-top: 7.8%;
        padding: 0;
    }

    div.col3_wrap.company .col3_box h3 {
        font-size: 2.1rem;
        padding: 5% 3% 5% 35px;
    }

    div.col3_wrap.company .col3_box h3::before {
        width: 25px;
        height: 18px;
        margin-top: -9px;
    }

    div.col3_wrap.company .col3_box p {
        min-height: inherit;
        padding: 5%;
    }

    div.col3_wrap.company .col3_box .w_btn {
        width: 50%;
        margin: 0 5% 0 auto;
    }


    /* ------------------------------
    company info
------------------------------ */

    .cinfo .g_btn {
        margin: 4% 0 0 0;
    }

    .cinfo .g_btn a {
        width: 70%;
        font-size: 1.6rem;
        margin: 0;
    }

    .cinfo td {
        position: relative;
    }

    .cinfo .g_btn:nth-child(1) {
        position: inherit;
        top: auto;
        left: auto;
        margin: 4% 0 0 0;
    }

    .cinfo .g_btn:nth-child(2) {
        position: inherit;
        top: auto;
        left: auto;
        margin: 4% 0 0 0;
    }

    /* ------------------------------
    company greeting
------------------------------ */

    .greet div.fr {
        float: none;
        width: auto;
        margin: 3% 0 0 0;
    }

    .greet img.fr {
        float: none;
        width: 100%;
        margin: 3% 0 0 0;
    }

    .greet .fr p {
        text-align: center;
        margin: 3% 0 0 0;
    }

    .greet .fl {
        float: none;
        width: auto;
        margin: 3% 0 0 0;
    }

    .greet+.greet {
        margin-top: 7.8%;
    }

    /* ------------------------------
    news
------------------------------ */

    .float_wrap.news {
        position: relative;
        width: auto;
        border-top: 1px solid #d0d0d0;
        border-bottom: 1px solid #d0d0d0;
        margin: 0 3.2%;
        padding: 4% 0;
    }

    /*
.float_wrap.news::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 10px;
	height: 10px;
	border-top: 3px solid #b71b30;
	border-right: 3px solid #b71b30;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-top:-0.7rem;
}
*/
    .float_wrap.news .float_left {
        width: 100%;
    }

    .float_wrap.news .float_left img {
        height: auto;
    }

    .float_wrap.news .float_right {
        width: 100%;
    }

    .float_wrap.news .news_box {
        border: none;
        margin-top: 0;
        padding: 0;
    }

    .float_wrap.news .news_box h3,
    .float_wrap.news .news_box .btm_lv2 {
        border: none;
        line-height: 1.3;
        font-size: 2.0rem;
        padding: 2% 0 0 0;
    }

    .float_wrap.news .news_box h3 a,
    .float_wrap.news .news_box .btm_lv2 a {
        color: #b71b30;
        text-decoration: underline;
    }

    .float_wrap.news .news_box div {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .float_wrap.news .news_box div p.date {
        display: block;
        width: 100%;
        padding: 0 0 2% 0;
    }

    .float_wrap.news .news_box div p.cat {
        display: inline-block;
        width: 100%;
        text-align: left;
        padding: 0;
    }

    .float_wrap.news+.float_wrap.news {
        border-top: none;
        margin-top: 0;
    }

    .float_wrap.news .float_right.news_box {
        width: 100%;
        margin: 3% 0;
    }

    .float_wrap.news .txt, .float_wrap.news div.g_btn {
        display: none;
    }

    .pager {
        margin: 7.8% 0 18% 0;
    }

    .pager ul li {
        width: auto;
        font-size: 1.2rem;
        margin: 0 1%;
    }

    .pager ul li a {
        padding: 6px;
    }

    .pager ul li.current {
        padding: 6px;
    }

    .pager .page-numbers {
        width: auto;
        font-size: 1.2rem;
        padding: 6px;
        margin: 0 1%;
    }

    .pager .page-numbers:hover, .pager .page-numbers.current {
        padding: 6px;
    }

    .page-numbers.dots {
        font-size: 1.0rem;
    }

    /* ------------------------------
    news post
------------------------------ */

    h2.post,
    h1.post {
        width: auto;
        line-height: 1.2;
        color: #b71b30;
        text-align: left;
        border-top: 1px solid #d0d0d0;
        border-bottom: 1px solid #d0d0d0;
        padding: 3% 3.6%;
        margin: 7.8% 2.5% 0 2.5%;
    }

    .news_box.post {
        margin-top: 3.2%;
        padding-bottom: 40px;
    }

    .news_box.post div {
        padding: 0 3.6%;
        margin-bottom: 7.8%;
    }

    .news_box.post div p.date {
        width: 46%;
        padding-left: 0;
        padding-right: 2%;
    }

    .news_box.post div p.cat {
        width: auto;
        text-align: left;
        margin: 0;
        padding: 0;
    }

    .news_box.post p {
        padding: 0 3.6%;
    }

    .news_box.post img {
        width: 92.8%;
        margin: 6.5% 3.6%;
    }

    .pager.post li {
        width: 28%;
        margin: 0 2.5%;
    }

    .pager.post ul {
        width: 100%;
        margin: 0 auto;
    }

    /* ------------------------------
    service index
------------------------------ */

    .service {
        margin-top: 5%;
    }

    .service .float_wrap {
        margin: 0;
    }

    .service .float_right {
        width: 100%;
        height: auto;
        padding: 0;
    }

    .service .float_right .w_btn {
        position: inherit;
        bottom: auto;
        right: auto;
    }

    .service .float_right p {
        margin: 3% 0 5% 0;
    }

    .service .float_wrap+.heading {
        margin-top: 7.8%;
    }

    /* ------------------------------
    service consul
------------------------------ */

    .consul.wrap_l {
        margin-bottom: 7.8%;
    }

    .consul .red {
        margin: 0 0 3% 0;
    }

    .consul .heading,
    .consul .ttl_lv2_red {
        margin: 0 0 3% 0;
    }

    .consul .fl {
        width: auto;
        margin: 3% 0 0 0;
    }

    .consul .float_right {
        width: auto;
        padding: 3% 0 0 0;
    }

    .consul .float_wrap+img {
        display: block;
        width: 8%;
        padding: 4% 0;
        margin: 0 auto;
    }

    .consul.red_box {
        padding: 3% 0;
        margin: 0 0 -7.8% 0;
    }

    .consul.red_box .fr {
        float: none;
        width: auto;
    }

    .consul.red_box .fr>p {
        font-size: 2.0rem;
        padding: 3% 0;
    }

    .consul.red_box .inner {
        display: block;
    }

    .consul.red_box dl {
        display: block;
        padding: 3% 5%;
        margin: 0 0 3% 0;
    }

    .consul.red_box dl dt {
        clear: left;
        float: left;
        width: 40%;
        line-height: 1.3;
        font-size: 2.2rem;
        color: #b71b30;
    }

    .consul.red_box dl dd {
        font-size: 2.2rem;
        line-height: 1.3;
        padding: 0 0 0 40%;
    }

    .consul.red_box .inner p {
        display: block;
        width: auto;
        vertical-align: middle;
        color: #5c5959;
        background: #fff;
        padding: 3% 5%;
        border-left: none;
    }

    .consul.red_box .wrap_l>img {
        display: block;
        width: 80%;
        margin: 0 auto;
    }

    .consul.wrap_l .img {
        margin: 0;
    }

    /* ------------------------------
    service creation
------------------------------ */

    .creation.float_wrap>div {
        margin-bottom: 7.8%;
    }

    .creation .float_left, .creation .float_right {
        float: none;
        width: auto;
        height: auto;
        margin: 0;
    }

    .creation h4 {
        margin: 4% 0 2%;
    }

    .creation .w_btn {
        position: inherit;
        bottom: auto;
        right: auto;
        margin: 3% 0 0 0;
    }

    .creation.gray_box h3 {
        padding: 7.8% 0;
    }

    .creation.gray_box .btm_lv2 {
        padding: 7.8% 0;
    }

    .creation.gray_box .fl {
        width: auto;
        padding: 5% 0 0 0;
    }

    .creation.white_box {
        margin: 5% auto 0 auto;
        padding: 5%;
    }

    .creation.white_box .col_left {
        width: 13%;
        background-size: 100% auto;
        padding: 0;
    }

    .creation.white_box .col_right {
        width: 100%;
        padding: 0 0 0 5%;
    }

    .creation.white_box+p.red_box {
        padding: 4% 3%;
        margin: 0 auto 7.8% auto;
    }

    .creation.gray_box {
        margin-bottom: -7.8%;
        padding: 0 0 5% 0;
    }

    /* ------------------------------
    service marketing - common
------------------------------ */

    .svc .heading,
    .svc .ttl_lv2_red {
        margin: 0 0 3% 0;
    }

    .svc .float_left {
        width: auto;
        margin: 4% 0 0 0;
    }

    .svc .w_btn {
        width: auto;
        margin-top: 4%;
    }

    .svc .w_btn.last {
        margin-top: 4%;
    }

    .svc+.svc {
        margin-top: 7.8%;
    }

    .svc .mobile_friendly_btn .w_btn {
        display: inline-block;
        width: 40%;
        margin: 7.8% 0 0 6%;
    }

    .carousel {
        padding: 0 10%;
    }

    .carousel .bx-wrapper .bx-next {
        right: -13%;
    }

    .carousel .bx-wrapper .bx-prev {
        left: -13%;
    }

    .carousel .bx-wrapper img {
        height: auto;
    }

    .carousel .slider .title {
        background: #e3e3e3;
        padding: 16px;
    }

    .carousel .slider .title p {
        line-height: 1.6;
        letter-spacing: -0.05rem;
    }

    .carousel .slider .title p+p {
        margin-top: 0;
    }

    .chart {
        width: auto;
    }

    .chart::before {
        content: none !important;
    }

    .chart .inner {
        position: relative;
        width: auto;
        border: 5px solid #e3e3e3;
        box-sizing: border-box;
        padding: 4% 3%;
        margin-top: 3rem;
    }

    .chart .inner img {
        float: left;
        width: 100%;
    }

    .chart .inner p {
        width: 75%;
        padding: 0 0 0 3%;
    }

    .chart .inner:nth-child(odd) {
        float: none;
    }

    .chart .inner:nth-child(even) {
        float: none;
    }

    .chart .inner::before {
        content: '';
        width: 0;
        height: 0;
        border: 1rem solid transparent;
        border-top: 1.4rem solid #e3e3e3;
        top: -2.7rem;
        right: auto;
        left: 50%;
        margin-left: -12px;
    }

    .chart .inner:first-child {
        margin: 0;
    }

    .chart .inner:first-child::before {
        content: none;
    }

    /* ------------------------------
    service lp
------------------------------ */

    .svc .float_left.lp {
        width: auto;
    }

    .svc .float_left.lp .gray_box {
        padding: 4%;
        margin: 4% 0;
    }

    .svc .float_left.lp dt {
        clear: left;
        float: left;
        width: 20%;
    }

    .svc .float_left.lp dd {
        padding: 0 0 4% 22%;
    }

    .svc .float_left.lp dd:last-of-type {
        padding: 0 0 0 22%;
    }

    .svc .float_left.lp dd p {
        line-height: 1.6;
        letter-spacing: -0.05rem;
    }

    .svc .float_left.lp dd p+p {
        margin-top: 0;
    }

    /* ------------------------------
    service ppc
------------------------------ */

    .overview_wrap.ppc {
        margin: 4% 0;
    }

    .overview_wrap.ppc .overview th {
        background: #5b5b5b;
        width: auto;
        height: 40px;
        padding: 0 7px;
    }

    .overview_wrap.ppc .overview th br {
        display: none;
    }

    .overview_wrap.ppc .overview th:first-child {
        width: 40%;
    }

    .overview_wrap.ppc .overview th:last-child {
        width: 20%;
    }

    .overview_wrap.ppc .overview td {
        height: 40px;
        padding: 0 7px;
    }

    .overview_wrap.ppc .overview {
        float: none;
        width: 100%;
    }

    .overview_wrap.ppc .overview+.overview {
        margin: 3% 0 0 0;
    }

    .overview.large {
        width: 600px;
        overflow: auto;
        margin: 3% 0 0 0;
    }

    .overview.large th {
        width: 25%;
        font-size: 1.6rem;
        line-height: 1.7;
        padding: 12px 5px;
    }

    .overview.large td {
        font-size: 1.6rem;
        line-height: 1.7;
        padding: 8px 5px;
    }

    .overview.large td br {
        display: none;
    }

    .scroll {
        overflow: auto;
    }

    .red.bold.ppc {
        font-size: 2.2rem;
        margin: 5% 0 3% 0;
    }

    .red.bold.ppc+p {
        margin-top: 0;
    }

    .ppc.inner {
        width: 100%;
        background: #e3e3e3;
        padding: 0 0 3% 0;
        margin: 2% 0 0 0;
    }

    .ppc.inner .title {
        background: #5c5959;
        color: #fff;
        text-align: center;
        margin: 0;
        padding: 3% 0;
    }

    .ppc.inner dl {
        padding: 3% 3% 0 3%;
    }

    .ppc.inner dl dt {
        clear: left;
        float: left;
        width: 30px;
        padding: 5px 0 0 0;
    }

    .ppc.inner dl dd {
        line-height: 1.6;
        word-break: break-all;
        padding: 0 0 3% 35px;
    }

    .ppc.inner p {
        background: #ffffff;
        padding: 3%;
        margin: 0 3%;
    }

    /* ------------------------------
    service seo
------------------------------ */

    .seo.inner {
        padding: 0 0 1% 0;
        margin: 2% 0 0 0;
    }

    .seo.inner dl {
        padding: 3% 3% 0 3%;
    }

    .seo.inner dl dt {
        width: 2.0rem;
    }

    .seo.inner dl dd {
        padding: 0 0 3% 2.5rem;
    }

    ul.seo {
        margin: 3% 0;
    }

    ul.seo li {
        float: none;
        width: 100%;
        height: auto;
    }

    ul.seo li:last-child {
        margin: 20px 0 0 0;
    }

    ul.seo li+li {
        position: relative;
        margin: 20px 0 0 0;
    }

    ul.seo li+li::before {
        content: '';
        position: absolute;
        top: -2px;
        left: 50%;
        width: 0;
        height: 0;
        border: 10px solid transparent;
        border-top: 10px solid #b71b30;
        margin-left: -10px;
    }

    ul.seo .title {
        padding: 2% 0;
    }

    ul.seo .text {
        background: #e3e3e3;
        font-size: 1.6rem;
        padding: 3%;
        margin: 0;
    }

    .overview.large.seo {
        width: 600px;
        margin: 0;
    }

    .overview.large.seo td {
        padding: 12px 5px;
    }

    .overview.large.seo th {
        padding: 12px 5px;
    }

    .overview.large.seo th:last-child {
        width: 45%;
    }

    /* ------------------------------
    service sphone
------------------------------ */

    .sphone.cap_gray p+p {
        padding: 0;
    }

    .sphone.inner {
        width: 100%;
        margin: 4% auto;
    }

    p.sphone {
        word-break: break-all;
    }

    .sphone.inner img {
        float: left;
        width: 49%;
    }

    .sphone.inner img+img {
        float: right;
    }

    .sphone.overview {
        width: 100%;
    }

    .sphone.overview th:first-child {
        width: 10%;
    }

    .sphone.overview td:first-child {
        text-align: center;
        vertical-align: middle;
    }

    .sphone.overview td {
        vertical-align: top;
    }

    .sphone.overview th {
        width: 45%;
        text-align: center;
    }

    .sphone.overview tr:last-child td {
        background: #fff;
    }

    .mf_bnr {
        margin-bottom: 5%;
    }

    .mf_bnr li {
        width: 45%;
        font-size: 1.7rem;
    }

    .mf_bnr li+li {
        margin: 0 0 0 3%;
    }

    .mf_bnr li a {
        line-height: 1.0;
        padding: 8% 0;
    }


    /* ------------------------------
    about
------------------------------ */

    div.about.bg+p {
        margin: 5% 3%;
    }

    div.about.bg+p br {
        display: none;
    }

    ul.about {
        margin: 3% 0 0 0;
    }

    ul.about li {
        display: block;
        margin: 0;
    }

    ul.about li+li {
        margin: 3% 0 0 0;
    }

    .red_box.about {
        text-align: center;
        margin: 7.8% 0;
        padding: 5% 0;
    }

    .red_box.about img {
        margin: 5% 0 0 0;
    }

    .red_box.about h3 {
        margin: 0 0 5% 0;
    }

    .red_box.about h3 span {
        padding: 0 3%;
    }

    .float_wrap.about {
        padding: 5%;
    }

    .float_wrap.about .float_left {
        width: auto;
    }

    .float_wrap.about .float_left ul li {
        position: relative;
        font-size: 1.8rem;
        line-height: 1.4;
        padding: 0 0 0 30px;
    }

    .float_wrap.about .float_left ul li::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 25px;
        height: 18px;
        background: url(images/about/about_icon.jpg) 0 0 no-repeat;
        background-size: 100% 100%;
    }

    .float_wrap.about .float_left ul li+li {
        margin: 3% 0 0 0;
    }

    .float_wrap.about+p {
        font-size: 2.0rem;
        margin: 4% 0;
    }

    .cm {
        padding: 0;
        margin: 7.8% 0 0 0;
    }

    .cm .wrap {
        width: auto;
        padding: 6% 0;
    }

    .cm .title {
        font-size: 2.6rem;
        margin: 0 0 4% 0;
    }

    .cm .title+p {
        margin: 0 4% 4% 4%;
    }

    .cm .btn {
        margin: 0 5%;
    }

    .cm .btn a {
        position: relative;
        display: block;
        width: auto;
        text-align: center;
        border: 1px solid #b71b30;
        font-size: 2.0rem;
        line-height: 1.0;
        color: #fff;
        background: #b71b30;
        margin: 0 auto;
        margin: 0 auto;
        padding: 6% 0;
    }

    .cm .btn a::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 2.6rem;
        width: 10px;
        height: 10px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        margin-top: -0.7rem;
    }

    .gray_box.about {
        padding: 5% 0;
        margin-bottom: -7.8%;
    }

    .gray_box.about h3 {
        position: relative;
        font-size: 2.6rem;
        line-height: 1.3;
        text-align: center;
        font-weight: bold;
        color: #b71b30;
        margin: 0 0 5% 0;
    }

    .gray_box.about h3::before {
        content: '';
        position: absolute;
        width: 100%;
        height: 1px;
        top: 50%;
        left: 0;
        background: #b71b30;
    }

    .gray_box.about h3 span {
        position: relative;
        display: inline-block;
        background: #e3e3e3;
        padding: 0 3%;
    }

    .gray_box.about dl+dl {
        margin-top: 5%;
    }

    .gray_box.about dl dt {
        clear: none;
        float: none;
        width: auto;
        padding: 0;
    }

    .gray_box.about dl dd {
        padding: 0;
        margin: 3% 0 0 0;
    }

    .gray_box.about dl dt p+p {
        margin: 2% 0 4% 0;
    }

    .gray_box .g_btn a {
        background: #b71b30;
        border: 1px solid #b71b30;
    }

    /* ------------------------------
    recruit
------------------------------ */

    .recruit {
        width: 95%;
        margin: 7.8% auto 0 auto;
    }

    .recruit .float_left {
        float: none;
        width: auto;
    }

    .recruit .float_right {
        float: none;
        width: auto;
        margin-top: 7.8%;
    }

    .recruit h3,
    .recruit .ttl_lv2_red {
        margin: 0 0 3% 0;
    }

    /* ------------------------------
    mid career recruit
------------------------------ */

    .mcr {
        margin: 4% auto 2% auto;
    }

    table+.mcr {
        margin-top: 7.8%;
    }

    /* ------------------------------
    contact
------------------------------ */

    dl.contact {
        width: auto;
        margin: 2% auto 3% auto;
    }

    dl.contact dt {
        position: relative;
        display: block;
        clear: inherit;
        float: none;
        width: auto;
        padding: 3% 0 3% 10px;
    }

    dl.contact dt::before {
        width: 3px;
        height: 13px;
        border-top: 3px solid #c9c9c9;
        margin-top: -8px;
    }

    dl.contact dd {
        display: block;
        padding: 0;
        margin: 0 0 2% 0;
    }

    dl.contact dd p {
        padding: 0;
    }

    dl.contact dd input {
        padding: 2%;
    }

    dl.contact dd textarea {
        height: 120px;
        padding: 2%;
    }

    input.contact, div.contact a {
        width: 100%;
        box-sizing: border-box;
        padding: 3% 0;
    }

    div.contact {
        margin: 7% 0 0 0;
    }

    ul.contact {
        width: auto;
    }

    ul.contact li {
        float: none;
        width: auto;
    }

    ul.contact li+li {
        float: none;
        margin: 3% 0 0 0;
    }

    .contact_text {
        font-size: 1.2rem;
        width: 100%;
        text-align: right;
    }

    /* ------------------------------
    sitemap
------------------------------ */

    .sitemap>ul {
        float: none;
        width: auto;
    }

    .sitemap>ul+ul {
        margin: 0;
    }

    .sitemap>ul>li {
        font-size: 2.0rem;
    }

    .sitemap>ul>li+li {
        margin-top: 2%;
    }

    .sitemap>ul>li>a::before {
        top: 50%;
        left: -0.2rem;
        width: 8px;
        height: 8px;
        margin-top: -5px;
    }

    .sitemap>ul>li>a {
        padding: 3% 0 3% 18px;
    }

    .sitemap>ul>li>ul {
        padding: 2% 0 0 3%;
    }

    .sitemap>ul>li>ul>li {
        font-size: 1.8rem;
    }

    .sitemap>ul>li>ul>li>a {
        padding: 3% 0 3% 20px;
    }

    .sitemap>ul>li>ul>li>a::before {
        top: 50%;
        left: -0.5rem;
        width: 6px;
        height: 6px;
        margin-top: -4px;
    }

    .sitemap>ul>li>ul>li+li {
        margin-top: 0;
    }

    .sitemap>ul>li>ul>li>ul {
        padding: 2% 0 2% 7%;
    }

    .error_img {
        position: relative;
        min-width: 100%;
        height: auto;
        overflow: hidden;
    }

    .error_img h2 {
        font-size: 2.4rem;
        color: #ffffff;
        position: absolute;
        top: -10px;
        left: 0;
        right: 0;
        margin: auto;
    }

    .error_img img {
        width: 100%;
        margin: 0;
    }

    .error_img img+a img {
        position: absolute;
        width: 80%;
        bottom: 10%;
        left: 0;
        right: 0;
        margin: auto;
    }

    /* ------------------------------
    works list 20161017
------------------------------ */

    .list {
        display: block;
        border: none;
        margin-bottom: 7.8%;
    }

    .list p {
        color: #b71b30;
        background: transparent;
        display: inherit;
        width: 100%;
        font-size: 1.6rem;
        font-weight: bold;
        padding: 2% 0;
        margin: 0 0 3% 0;
        border: 1px #b71b30 solid;
    }

    .list ul {
        display: inherit;
        width: 100%;
        overflow: hidden;
        padding: 0;
    }

    .list li {
        float: left;
        width: 49%;
        text-align: center;
        font-size: 1.4rem;
        padding: 3% 0 0 0;
        margin: 0;
    }

    .list li:nth-child(even) {
        float: right;
    }

    .list li:nth-child(5n+1) {
        margin: 0;
    }

    .list li:nth-child(-n+2) {
        padding-top: 0;
    }

    .list li a {
        display: block;
        background: #b71b30;
        color: #fff;
        padding: 5% 0;
    }

    /* ------------------------------
    #footer
------------------------------ */

    #footer .wrap {
        width: 93.6%;
        padding: 9.3% 3.2% 0 3.2%;
    }

    #footer .menu:first-of-type {
        width: auto;
        margin: 0;
    }

    #footer .menu {
        float: none;
        width: 100%;
    }

    #footer .menu+.menu {
        margin: 0;
    }

    #footer .menu p.ttl span {
        padding: 0 0 4% 7%;
        margin: 0 0 4% 0;
    }

    #footer .menu p.ttl span::before {
        top: 0.1rem;
        left: 0;
        width: 8px;
        height: 8px;
    }

    #footer .menu p.ttl.changed span::before {
        top: 0;
        left: 0.3rem;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    #footer .menu div {
        display: none;
    }

    #footer .menu div ul li {
        padding: 0 0 0 4%;
    }

    #footer .menu div ul li+li, #footer .menu div ul li ul li+li {
        margin-top: 4%;
    }

    #footer .menu div ul li::before {
        top: 0.2rem;
        left: -0.5rem;
        width: 6px;
        height: 6px;
    }

    #footer .menu div .ttl span {
        border-bottom: none;
        padding: 0 0 0 7%;
        margin: 0 0 4% 7%;
    }

    #footer .menu div ul {
        margin: 0 0 4% 15%;
    }

    #footer .menu div .link_acdn ul {
        margin: 4% 0 4% 4%;
    }

    #footer .menu div ul li ul li {
        font-size: 1.2rem;
    }

    #footer .link_acdn .btn_open {
        width: 30px;
        height: 30px;
        margin-top: -8px;
    }

    #footer .pagetop {
        top: -31px;
    }

    #footer div.box {
        position: inherit;
        top: auto;
        left: auto;
        width: auto;
        padding: 0 0 8% 0;
    }

    #footer div.box .logo {
        width: 33%;
    }

    #footer div.box p {
        margin: 3.7% 0;
    }

    #footer .box .btn_ft_contact {
        position: relative;
        width: 45%;
        height: 0;
        padding-top: 5.985%;
    }

    #footer .box .btn_ft_contact.btn_ft_document {
        margin-top: 8px;
    }

    #footer .box .btn_ft_contact .contact_inner {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }

    #footer .box .btn_ft_contact i {
        position: relative;
        width: 9%;
        height: 0;
        padding-top: 7.058%;
        margin-right: 6.25%;
    }

    #footer .box .btn_ft_contact.btn_ft_document i {
        position: relative;
        width: 7%;
        height: 0;
        padding-top: 8.4%;
        margin-right: 3.25%;
    }

    #footer .box .btn_ft_contact i img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }

    #footer .box .btn_ft_contact .mail_txt {
        top: 0;
        font-size: 1.2rem;
    }

    #footer .copy {
        padding: 2.5% 0 calc(2.5% + 17.33vw);
    }


}

.clear {
    clear: both;
}

/* ------------------------------
    clearfix
------------------------------ */

.cf:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}

.cf {
    display: inline-block;
}

/* Hides from IE Mac */
* html .cf {
    height: 1%;
}

.cf {
    display: block;
}

/* End Hack */

.single-blog h3 {
    margin: 20px 0;
}

.single-blog h4,
.single-blog h5 {
    font-size: 2rem;
    font-weight: bold;
    padding: 0 20px;
    margin: 30px 0 10px 0;
}

.single-blog .syntaxhighlighter a, .single-blog .syntaxhighlighter div, .single-blog .syntaxhighlighter code, .single-blog .syntaxhighlighter table, .single-blog .syntaxhighlighter table td, .single-blog .syntaxhighlighter table tr, .single-blog .syntaxhighlighter table tbody, .single-blog .syntaxhighlighter table thead, .single-blog .syntaxhighlighter table caption, .syntaxhighlighter textarea {
    font-size: 1.8rem !important;
}

.single-blog .syntaxhighlighter {
    padding: 0 20px;
}

iframe[name="google_conversion_frame"] {
    display: none;
}


/* ------------------------------
    whitepaper 一覧
------------------------------ */
.whitepaper {
    margin-top: 45px;
    font-family: 'Noto Sans JP', sans-serif;
    padding-bottom: 30px;
}

.whitepaper .post-wrap {
    width: 1280px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 90px 90px;
}

.whitepaper .post-wrap .post {
    width: calc((100% - 180px) / 3);

}

.whitepaper .post-wrap .post-img {
    width: 100%;
    height: 236px;
    text-align: center;
    background: url("images/whitepaper/bg-img.png") no-repeat center center;
    background-size: contain;
    box-sizing: border-box;
}

.whitepaper .post-wrap .post-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.whitepaper .post-wrap .post-txt .ttl_wrap {
    position: relative;
    border-bottom: 1px solid #d0d0d0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 113px;
    overflow: hidden;
    padding: 20px 0;
    margin-bottom: 25px;
    box-sizing: border-box;
}

.whitepaper .post-wrap .post-txt .ttl_wrap:before {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    content: '';
    width: 27px;
    height: 1px;
    background: #b71b30;
    z-index: 1;
}

.whitepaper .post-wrap .post-txt .ttl_wrap:after {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    content: '';
    width: 100%;
    height: 20px;
    background: #FFF;
}

.whitepaper .post-wrap .post-txt .ttl {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 2.6rem;
    line-height: calc(36 / 26);
    color: #b71b30;
    box-sizing: border-box;
    padding: 0;
    text-align: left;
    font-family: inherit;
    margin: 0;
}

.whitepaper .post-wrap .post-txt .text {
    position: relative;
    height: 124px;
    font-size: 1.8rem;
    line-height: calc(31 / 18);
    color: #5c5959;
    overflow: hidden;
}

.whitepaper .post-wrap .post-txt .text:before,
.whitepaper .post-wrap .post-txt .text:after {
    position: absolute;
    background: #FFF;
}

.whitepaper .post-wrap .post-txt .text:before {
    content: "...";
    top: 94.8px;
    right: 1px;
    line-height: 1.15;
    /*  letter-spacing: .015em;*/
}

.whitepaper .post-wrap .post-txt .text:after {
    content: "";
    height: 100%;
    width: 100%;
}

@media only screen and (max-width: 750px) {
    .whitepaper {
        margin-top: 0;
        padding-bottom: 5%;
        overflow: hidden;
    }

    .whitepaper .post-wrap {
        width: 100%;
        padding: 0 3.2%;
        box-sizing: border-box;
        display: block;
    }

    .whitepaper .post-wrap .post {
        width: 100%;
    }

    .whitepaper .post-wrap .post+.post {
        margin-top: 4rem;
    }

    .whitepaper .post-wrap .post-img {
        width: 100%;
        height: 60vw;
    }

    .whitepaper .post-wrap .post-txt .ttl_wrap {
        height: 10rem;
        overflow: hidden;
        padding: 15px 0 10px 0;
        margin-bottom: 15px;
    }

    .whitepaper .post-wrap .post-txt .ttl_wrap:after {
        height: 10px;
    }

    .whitepaper .post-wrap .post-txt .ttl {}

    .whitepaper .post-wrap .post-txt .text {
        height: 10rem;
    }

    .whitepaper .post-wrap .post-txt .text:before {
        top: 6.4rem;
        right: 0;
    }

}

/* ------------------------------
    whitepaper 詳細
------------------------------ */
.whitepaper_box.post {
    width: 100%;
    margin-top: 50px;
    padding-bottom: 90px;
}

/*.whitepaper_box.post h3,
.whitepaper_box.post h4,
.whitepaper_box.post p,
.whitepaper_box.post table,
.whitepaper_box.post th,
.whitepaper_box.post td{ font-family: 'Noto Sans JP', sans-serif;}
*/

.whitepaper_box .float_left.post-cnts {
    width: 60%;
    max-width: 808px;
    padding-right: 40px;
    box-sizing: border-box;
}

.whitepaper_box .float_left.post-cnts .main_img {
    width: 100%;
    height: 362px;
    text-align: center;
    background: url(images/whitepaper/bg-img_l.png) no-repeat center center;
    background-size: cover;
    margin-bottom: 30px;
}

.whitepaper_box .float_left.post-cnts .main_img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.whitepaper_box .float_left.post-cnts p {
    font-size: 1.8rem;
    line-height: calc(34 / 18);
}

.whitepaper_box .float_left.post-cnts .post-ttl {
    position: relative;
    margin-top: 55px;
    margin-bottom: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: calc(37 / 24);
    letter-spacing: .04em;
    font-family: inherit;
    color: #b71b30;
    text-align: left;
    padding-right: 0;
    padding-top: 0;
    padding-left: 65px;
    padding-bottom: 34px;
    box-sizing: border-box;
}

.whitepaper_box .float_left.post-cnts .post-ttl:before,
.whitepaper_box .float_left.post-cnts .post-ttl:after {
    position: absolute;
    left: 0;
    display: block;
    content: '';
}

.whitepaper_box .float_left.post-cnts .post-ttl:before {
    top: -7px;
    background-size: 100% auto !important;
    width: 46px;
    height: 46px;
}

.whitepaper_box .float_left.post-cnts .post-ttl:after {
    bottom: 0;
    width: 27px;
    height: 1px;
    background: #b71b30;
}

.whitepaper_box .float_left.post-cnts .post-ttl.-target:before {
    background: url(images/whitepaper/icon_people.svg) no-repeat center center;
}

.whitepaper_box .float_left.post-cnts .post-ttl.-content:before {
    background: url(images/whitepaper/icon_pen.svg) no-repeat center center;
}

.whitepaper_box .float_right.form_wrap {
    width: 40%;
    max-width: 637px;
    max-width: 472px;
    background: #fafafa;
    border: 1px solid #d0d0d0;
    padding: 37px 20px 70px 20px;
    box-sizing: border-box;
}

.whitepaper_box .float_right.form_wrap .form_ttl {
    text-align: center;
    line-height: calc(33 / 21);
    font-size: 2.1rem;
    font-weight: 700;
    color: #000;
}

.whitepaper_box .float_right.form_wrap .form_sub {
    text-align: center;
    line-height: calc(28 / 15);
    font-size: 1.5rem;
    font-weight: 500;
    color: #5c5959;
    margin-bottom: 36px;
}

.whitepaper_box .float_right.form_wrap .required {
    color: #b71b30;
}

.whitepaper_box .form_wrap .form_style {
    width: 100%;
}

.whitepaper_box .form_wrap .form_style th {
    display: block;
    width: 100%;
    border-bottom: none;
    line-height: calc(37 / 18);
    color: #5c5959;
    font-size: 1.8rem;
    font-weight: 700;
    padding: 0 0 5px 0;
}

.whitepaper_box .form_wrap .form_style td {
    display: block;
    border-bottom: none;
    line-height: calc(37 / 18);
    font-size: 1.8rem;
    color: #5c5959;
    font-weight: 500;
    padding: 0 0 35px 0;
}

.whitepaper_box .form_wrap .form_style input {
    width: 100%;
    border: 1px solid #c2c2c2;
    border-radius: 4px;
    font-size: 1.8rem;
    padding: 14px 15px 13px 15px;
    box-sizing: border-box;
}

.whitepaper_box .form_wrap .form_style input.w50 {
    width: 100%;
    max-width: 220px;
    margin-left: 10px;
}

.whitepaper_box .form_wrap .form_style .input_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0 20px;
}

.whitepaper_box .form_wrap .form_style .input_wrap .error {
    margin-left: 3.5rem;
}

.whitepaper_box .form_wrap .form_style label {
    display: inline-block;
    font-weight: 700;
}

.whitepaper_box .form_wrap .form_style label+label {
    margin-left: 15px;
}

.whitepaper_box .form_wrap .form_style .select_inner {
    position: relative;
    background: #FFF;
    border-radius: 4px;
    border: 1px solid #c2c2c2;
}

.whitepaper_box .form_wrap .form_style .select_inner:after {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    display: block;
    content: '';
    pointer-events: none;
}

.whitepaper_box .form_wrap .form_style .select_inner:after {
    position: absolute;
    right: 26px;
    top: 50%;
    margin-top: -4px;
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #adabab;
    border-right: 2px solid #adabab;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    z-index: 1;
}

.whitepaper_box .form_wrap .form_style select {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    line-height: calc(37 / 18);
    font-size: 1.8rem;
    color: #5c5959;
    font-weight: 500;
    border: none;
    box-shadow: none;
    outline: none;
    border-radius: 4px;
    padding: 8px 55px 5px 15px;
}

.whitepaper_box .form_wrap .form_btn_wrap {
    margin: 23px auto 0 auto;
}

.whitepaper_box .form_wrap .form_btn_wrap .submit_btn {
    width: 100%;
    max-width: 327px;
    margin: 0 auto;
}

.whitepaper_box .form_wrap .form_btn_wrap .submit_btn .submit {
    position: relative;
    width: 100%;
    text-align: center;
    font-size: 2.1rem;
    letter-spacing: .04em;
    font-weight: 500;
    /*  font-family: 'Noto Sans JP', sans-serif;*/
    color: #FFF;
    background: #b71b30;
    border: none;
    box-shadow: none;
    outline: none;
    padding: 15px 10px 14px 10px;
    transition: .4s;
    cursor: pointer;
    box-sizing: border-box;
}

.whitepaper_box .form_wrap .form_btn_wrap .submit_btn .submit:hover {
    opacity: .7;
}

.whitepaper_box .form_wrap .form_btn_wrap .submit_btn .submit:after {
    position: absolute;
    right: 22px;
    top: 50%;
    display: block;
    content: '';
    margin-top: -2px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}

@media only screen and (max-width: 750px) {
    .whitepaper_box.post {
        padding-bottom: 18%;
        width: 95%;
        margin: 7.8% auto 0 auto;
    }

    .whitepaper_box .float_left.post-cnts {
        width: 100%;
        max-width: inherit;
        float: none;
        padding: 0 3.6%;
        box-sizing: border-box;
    }

    .whitepaper_box .float_left.post-cnts .main_img {
        width: 100%;
        height: 60vw;
        margin-bottom: 6.5%;
    }

    .whitepaper_box .float_left.post-cnts p {
        font-size: 1.8rem;
        line-height: calc(34 / 18);
    }

    .whitepaper_box .float_left.post-cnts .post-ttl {
        position: relative;
        margin-top: 7.8%;
        margin-bottom: 5%;
        font-size: 2.4rem;
        padding-left: 6.4rem;
        padding-bottom: 3rem;
    }

    .whitepaper_box .float_left.post-cnts .post-ttl:before {
        top: -.6rem;
        width: 4.6rem;
        height: 4.6rem;
    }

    .whitepaper_box .float_left.post-cnts .post-ttl:after {
        width: 24px;
    }

    .whitepaper_box .float_right.form_wrap {
        width: 95%;
        margin: 14% auto 0 auto;
        max-width: inherit;
        float: none;
        padding: 5% 5% 10% 5%;
        box-sizing: border-box;
    }

    .whitepaper_box .float_right.form_wrap .form_ttl {
        font-size: 2.0rem;
    }

    .whitepaper_box .float_right.form_wrap .form_sub {
        font-size: 1.4rem;
        margin-bottom: 6%;
    }

    .whitepaper_box .form_wrap .form_style td {
        padding: 0 0 6% 0;
    }

    .whitepaper_box .form_wrap .form_style input {
        font-size: 1.8rem;
        padding: 13px 15px 12px 15px;
    }

    .whitepaper_box .form_wrap .form_style input.w50 {
        width: 100%;
        max-width: inherit;
        margin-left: 0;
    }

    .whitepaper_box .form_wrap .form_style .input_wrap {
        display: block;
    }

    .whitepaper_box .form_wrap .form_style .input_wrap .error {
        margin-left: 0;
    }

    .whitepaper_box .form_wrap .form_style label {
        display: block;
    }

    .whitepaper_box .form_wrap .form_style label+label {
        margin-left: 0;
        margin-top: 10px;
    }

    .whitepaper_box .form_wrap .form_style .select_inner:after {
        right: 2.2rem;
        margin-top: -.4rem;
        content: '';
        width: .8rem;
        height: .8rem;
    }

    .whitepaper_box .form_wrap .form_style select {
        padding: 10px 55px 6px 15px;
    }

    .whitepaper_box .form_wrap .form_btn_wrap {
        margin: 5% auto 0 auto;
    }

    .whitepaper_box .form_wrap .form_btn_wrap .submit_btn {
        max-width: inherit;
    }

    .whitepaper_box .form_wrap .form_btn_wrap .submit_btn .submit {
        font-size: 2.0rem;
    }

    .whitepaper_box .form_wrap .form_btn_wrap .submit_btn .submit:after {
        right: 2.2rem;
        margin-top: -.2rem;
        width: .8rem;
        height: .8rem;
    }

}