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

.trademark-notice {
    font-size: 1px;
    color: #333;
    margin-top: 10px;
}



.logos {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important; /* 親コンテナのマージンをリセット */
    padding: 0 !important; /* 親コンテナのパディングをリセット */
}

.logos + .logos {
    margin-top: 1px !important; /* 各行の間のスペースを設定 */
}

.logos .logo {
    flex: 1 1 200px !important;
    max-width: 15% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    margin: 5px 10px !important;
    padding: 5px !important;
}

.logos .logo img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: 16/9;
    object-fit: contain;
}


@media screen and (max-width: 750px) {
    .logos {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important; /* 追加 */
    }

    .logos .logo {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        margin-top: 20px !important;
        margin-bottom: 20px !important;
        display: flex !important;
        justify-content: center !important;
        text-align: center !important; /* 追加 */
    }

    .logos .logo img {
        width: 70% !important; /* 元々50%だったところを70%に変更 */
        max-height: 100px !important; /* 画像の高さの制限を追加 */
        margin: 0 auto !important;
        display: block !important;
    }
}




.cta-case__inner{
	padding-bottom: 32px;
    margin-top: -32px;
    left: 24%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.menu {
    position: relative;
    width: 100%;
    height: 50px;
    max-width: 1000px;
    margin: 0 auto;
}

.menu > li {
    float: left;
    width: 25%; /* グローバルナビ4つの場合 */
    height: 50px;
    line-height: 50px;
}

.menu > li a {
    display: block;
    color: #000;
}

.menu > li a:hover {
    color: #999;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
}

ul.menu__fourth-level {
    visibility: hidden;
    opacity: 0;
}

.menu > li:hover {
    background: transparent;
    -webkit-transition: all .5s;
    transition: all .5s;
}

.menu__second-level li {
    border-top: 1px solid #111;
}

.menu__third-level li {
    border-top: 1px solid #111;
}

.menu__second-level li a:hover {
    background: #111;
}

.menu__third-level li a:hover {
    background: #2a1f1f;
}

.menu__fourth-level li a:hover {
    background: #1d0f0f;
}

/* 下矢印 */
.init-bottom:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 15px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}

.menu > li.menu__single {
    position: relative;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    top: 40px;
    width: 100%;
    background: #072A24;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__single:hover ul.menu__second-level {
    top: 50px;
    visibility: visible;
    opacity: 1;
}

@media screen and (max-width: 767px) {
	.cta-case__inner{
	   padding-bottom: 20px;
		margin-top: -32px;
}
}

ul.counter_ul {
    display: flex;
    justify-content: space-between;
    list-style: none;
    border: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

ul.counter_ul li {
    width: 31.5%;
    margin-bottom: 7px;
}

.counter {
    background-color: #ffffff;
    padding: 20px 0;
    margin: -20px 0px 24px;
    background: #fff;
    transition: 0.3s ease-in-out;
}

.counter .count-title {
    font-size: 40px;
    font-weight: normal;
    margin-top: 10px;
    margin-bottom: 0;
    text-align: center;
}

.counter .count-text {
    font-size: 13px;
    font-weight: normal;
    margin-top: 10px;
    margin-bottom: 0;
    text-align: center;
}

.counter .count-number {
    font-family: 'Montserrat', sans-serif !important;
    color: #ee3031;
    font-size: 40px;
    margin-top: 10px;
    margin-bottom: 24px;
}

.counter i {
    margin: 20px auto;
    float: none;
    display: table;
    color: #6BB6ff;
    font-size: 2rem;
}

@media screen and (max-width: 767px) {
    /* ï¼ˆã“ã“ã«ãƒ¢ãƒã‚¤ãƒ«ç”¨ã‚¹ã‚¿ã‚¤ãƒ«ã‚’è¨˜è¿°ï¼‰ */ ul.counter_ul {
        flex-direction: column;
    }

    ul.counter_ul li {
        width: 100%;
    }
}

/*
å³ã‹ã‚‰å·¦ã¸
----------------------------*/
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/*
IE11å¯¾ç­–
----------------------------*/
_:-ms-lang(x)::-ms-backdrop, .d-demo {
    display: -ms-grid;
    overflow: hidden;
}

/*----------------------------*/
.d-demo {
    padding: 0px 0px 24px;
    background-color: #FFFFFF;
    margin-bottom: 0px;
}

.d-demo__wrap {
    display: flex;
    overflow: hidden;
}

.d-demo__list {
    display: flex;
    list-style: none;
}

.d-demo__list--left {
    animation : infinity-scroll-left 15s infinite linear 0.5s both;
}

.d-demo__item {
    width: 100vw;
}

.d-demo__item > img {
    width: 100%;
}

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

@media screen and (max-width: 750px) {
    .d-demo__item {
        width: 400vw;
    }

    .d-demo__item > img {
        height: 100%;
    }
}

.loopSlide {
    display: flex;
    width: 100vw;
    height: 200px;
    overflow: hidden;
    img {
        width: auto;
        height: 100%;
        &:first-child {
            animation: slide1 60s -30s linear infinite;
        }

        &:last-child {
            animation: slide2 60s linear infinite;
        }
    }
}

@keyframes slide1 {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes slide2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}

body {
    line-height: 1
}

ol,ul {
    list-style: none
}

blockquote,q {
    quotes: none
}

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

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

body {
    font-family: 'Yu Gothic Medium', 'æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium', YuGothic, 'æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“', sans-serif;
    color: #000;
    font-size: 100%;
    line-height: 1em;
    background-color: #fff;
    font-weight: 400;
    font-style: normal;
    display: flex;
    flex-direction: column;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: "palt" 1;
    word-break: normal;
    position: relative;
    z-index: 1
}

body.isWin {
    -webkit-font-smoothing: none !important;
    -moz-osx-font-smoothing: auto !important
}

body.is_sp {
    overflow: auto;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important
}

body,html {
    width: 100%;
    height: 100%
}

p,a,li,dt,dd,div,th,td,h1,h2,h3,h4,h5,h6 {
    letter-spacing: .1em
}

a,li,p,div,button {
    outline: none !important
}

a {
    color: #000;
    text-decoration: none
}

a,p,div,li,dd,dt {
    -webkit-tap-highlight-color: transparent
}

img,svg {
    height: auto;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}

* {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}

.disabled {
    cursor: default !important
}

.disabled a {
    cursor: default !important
}

.is_pc .device_sp {
    display: none !important
}

.is_sp .device_pc {
    display: none !important
}

.is_pc.onResize * {
    transition: inherit !important
}

.is_pc.onScroll ._dis_scroller {
    pointer-events: none
}

/*ä¸€è¦§ã®ä¼šç¤¾å*/
.company_include {
    font-size: 1vw;
    font-weight: bold;
    margin: 0.8vw 0 0.5vw 0.625vw;
    padding: 0 .625vw;
    border-left: solid 2px #ee3031;
    line-height: 1.3em;
}

.tri_b {
    font-size: 0.9vw;
    color: #ee3031;
    font-weight: heavy;
}

@media screen and (max-width: 750px) {
    .company_include {
        font-size: 12px;
        font-weight: bold;
        padding: 0 0 0 1.5vw;
        margin: 1.2vw 0 0 2.6666666667vw;
    }
}

.case-text {
    display: flex;
    flex-flow: column;
}

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

/* è¦‹å‡ºã— */
.article_h3 {
    background: linear-gradient(transparent 60%, #FCD756 0%);
    display: inline;
    padding: 0 1px 3px;
}

.article_h4 {
    color: #f57578;
    font-weight: 600;
}

input[type="submit"],input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer
}

input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration {
    display: none
}

input[type="submit"]::focus,input[type="button"]::focus {
    outline-offset: -2px
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    border: none;
    -moz-outline-style: none
}

:focus {
    outline: none
}

::-moz-focus-inner {
    border: 0
}

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

input[type=radio],input[type=checkbox] {
    display: none
}

select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000
}

select::-ms-expand {
    display: none
}

input,textarea,select {
    -webkit-appearance: none;
    border-radius: 0
}

textarea {
    z-index: 65535;
    position: relative
}

@media (min-width: 751px) {
    body {
        backface-visibility:hidden;
        -webkit-backface-visibility: hidden
    }

    br.sp {
        display: none
    }

    img.sp {
        display: none
    }

    .switch_sp,.switch_sp * {
        display: none
    }

    main {
        display: block
    }
}

@media screen and (max-width: 750px) {
    body {
        width:100vw;
        z-index: 10
    }

    body {
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden
    }

    br {
        display: none !important
    }

    br.sp {
        display: inherit !important
    }

    img.pc {
        display: none
    }

    .switch_pc,.switch_pc * {
        display: none !important
    }

    main {
        display: block
    }
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_bZF3gTD_vx3rCubqg.woff2) format("woff2");
    unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_bZF3g3D_vx3rCubqg.woff2) format("woff2");
    unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_bZF3gbD_vx3rCubqg.woff2) format("woff2");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_bZF3gfD_vx3rCubqg.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_bZF3gnD_vx3rCs.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

.ff-j {
    font-family: 'Yu Gothic Medium', 'æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium', YuGothic, 'æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“', sans-serif !important
}

.ff-e {
    font-family: 'Montserrat', sans-serif !important
}

.ff-ej {
    font-family: 'Montserrat', 'Yu Gothic Medium', 'æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium', YuGothic, 'æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“', sans-serif !important
}

.ff-wr {
    font-weight: 400 !important
}

.ff-wb {
    font-weight: 700 !important
}

.is_sp .ff-wb {
    font-weight: 600 !important
}

strong {
    font-weight: 700 !important
}

.is_sp strong {
    font-weight: 600 !important
}

.fix {
    max-height: 100vh;
    overflow-y: hidden
}

.case_list li.bl,.blog_list li.bl {
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important
}

@media (min-width: 751px) {
    .scroll-content .content_inner {
        width:calc(100vw - 410px);
        position: relative;
        min-height: 100vh;
        display: flex;
        flex-direction: column
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .scroll-content .content_inner {
        width:74.375vw
    }
}

@media (min-width: 751px) {
    .c_bg {
        width:calc(100vw - 410px);
        height: 100vh;
        overflow: hidden;
        background-image: url(../images/bg_g.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .c_bg {
        width:74.375vw
    }
}

@media (min-width: 751px) {
    .c_inner {
        width:1010px;
        margin: 0 auto
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .c_inner {
        width:63.125vw
    }
}

/*ã‚µã‚¤ãƒ‰ãƒãƒ¼*/
@media (min-width: 751px) {
    #s_sidebar {
        width:410px;
        max-height: 100vh;
        background-color: #fff;
        text-align: center;
        overflow-y: scroll;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 65535;
        box-shadow: 0 0 27px rgba(0,0,0,0.05)
    }

    #s_sidebar .s_inner {
        height: 100vh;
        overflow: hidden;
        padding: 0px 20px 80px 20px;
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_sidebar {
        width:25.625vw
    }
}

@media (min-width: 751px) {
    .btn a {
        font-size:16px;
        font-weight: 700;
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        border: 1px solid #bfbfbf;
        border-radius: 3px
    }

    .is_sp .btn a {
        font-weight: 600 !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .btn a {
        font-size:1vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    .btn.req a {
        width:111px;
        height: 49px;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .btn.req a {
        width:6.9375vw;
        height: 3.0625vw
    }
}

@media (min-width: 751px) {
    .btn.staff a {
        width:174px;
        height: 49px;
        color: #fff;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .btn.staff a {
        width:10.875vw;
        height: 3.0625vw
    }
}

@media (min-width: 751px) {
    .btn.details a {
        width:179px;
        height: 55px;
        border: 1px solid #ee3031;
        color: #ee3031
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .btn.details a {
        width:11.1875vw;
        height: 3.4375vw
    }
}

@media (min-width: 751px) {
    .btn.all_list a {
        width:147px;
        height: 50px;
        border: 1px solid #ee3031;
        color: #ee3031
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .btn.all_list a {
        width:9.1875vw;
        height: 3.125vw
    }
}

@media (min-width: 751px) {
    header {
        width:calc(100vw - 410px);
        height: 108px;
        max-height: 100vh;
        overflow: inherit !important;
        padding: 0 40px;
        padding-top: 40px;
        display: flex;
        position: fixed;
        top: 0;
        left: 0;
        box-sizing: border-box;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
        background-color: rgba(255,255,255,0.5);
        z-index: 10
    }

    @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
        header {
            background-color:rgba(255,255,255,0.5);
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px)
        }
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header {
        width:74.375vw;
        height: 6.75vw;
        padding: 0 2.5vw;
        padding-top: 2.5vw
    }
}

@media (min-width: 751px) {
    header .logo {
        width:164px;
        height: 29px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header .logo {
        width:10.25vw;
        height: 1.8125vw
    }
}

@media (min-width: 751px) {
    header .logo img {
        width:164px;
        height: 29px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header .logo img {
        width:10.25vw;
        height: 1.8125vw
    }
}

@media (min-width: 751px) {
    header .sub {
        transform:inherit !important
    }

    header #gnav {
        width: 100%;
        font-size: 16px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav {
        font-size:1vw
    }
}

@media (min-width: 751px) {
    .isIE header #gnav {
        padding-left:30px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .isIE header #gnav {
        padding-left:1.875vw
    }
}

@media (min-width: 751px) {
    header #gnav .nav_list li,header #gnav .nav_list p {
        opacity:1 !important;
        transform: inherit !important
    }

    header #gnav .list_s {
        opacity: 1 !important;
        transform: inherit !important
    }

    header #gnav .gnav_wrap {
        height: inherit !important;
        display: flex;
        justify-content: space-between
    }

    header #gnav .nav_list .index {
        display: none !important
    }

    header #gnav .nav_list>ul {
        display: flex
    }

    header #gnav .nav_list>ul>li {
        margin-left: 25px;
        height: 30px;
        display: flex;
        align-items: center;
        position: relative
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav .nav_list>ul>li {
        margin-left:1.5625vw;
        height: 1.875vw
    }
}

@media (min-width: 751px) {
    header #gnav .nav_list>ul>li>a {
        height:30px;
        display: flex;
        align-items: center
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav .nav_list>ul>li>a {
        height:1.875vw
    }
}

@media (min-width: 751px) {
    header #gnav .nav_list>ul>li .parent {
        position:relative;
        margin-right: 20px
    }
}


@media (min-width: 751px) {
    header #gnav .nav_list>ul>li .parent:hover header #gnav .nav_list>ul>li .g_sub {
		  visibility: visible;
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav .nav_list>ul>li .parent {
        margin-right:1.25vw
    }
}

@media (min-width: 751px) {
    header #gnav .nav_list>ul>li .parent .t {
        height:30px;
        display: flex;
        overflow: hidden;
        align-items: center;
        position: relative
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav .nav_list>ul>li .parent .t {
        height:1.875vw
    }
}

@media (min-width: 751px) {
    header #gnav .nav_list>ul>li .parent .ar {
        position:absolute;
        top: 50%;
        right: -18px;
        transform: translateY(-50%)
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav .nav_list>ul>li .parent .ar {
        right:-1.125vw
    }
}

@media (min-width: 751px) {
    header #gnav .nav_list>ul>li .parent .ar svg {
        width:12px;
        height: 12px;
        transform: rotate(-90deg);
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav .nav_list>ul>li .parent .ar svg {
        width:.75vw;
        height: .75vw
    }
}

@media (min-width: 751px) {
    header #gnav .nav_list>ul>li .parent .ar svg polyline {
        fill:none;
        stroke: #000;
        stroke-miterlimit: 10;
        stroke-width: 14px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav .nav_list>ul>li .parent .ar svg polyline {
        stroke-width:.875vw
    }
}

@media (min-width: 751px) {
    header #gnav .nav_list>ul>li .g_sub {
        opacity:0;
        pointer-events: none;
        width: 100vw;
        height: 60px;
        padding-left: 230px;
        display: flex;
        align-items: center;
        background-color: #a8a8a8;
        position: fixed;
        top: 108px;
        left: 0;
        z-index: 10;
        box-sizing: border-box;
			  visibility: hidden;
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav .nav_list>ul>li .g_sub {
        height:3.75vw;
        padding-left: 14.375vw;
        top: 6.75vw
    }
}

@media (min-width: 751px) {
    header #gnav .nav_list>ul>li .g_sub p {
        margin-right:20px;
        font-size: 16px;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav .nav_list>ul>li .g_sub p {
        margin-right:1.25vw;
        font-size: 1vw
    }
}

@media (min-width: 751px) {
    header #gnav .nav_list>ul>li .g_sub p a {
        color:#fff !important
    }

    header #gnav .list_s {
        position: relative;
        top: -10px
    }
}


@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav .list_s {
        top:-.625vw
    }
}

@media (min-width: 751px) {
    header #gnav .list_s ul {
        display:flex
    }

    header #gnav .list_s ul li {
        margin-left: 25px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    header #gnav .list_s ul li {
        margin-left:1.5625vw
    }
}

@media (min-width: 751px) {
    header .gnav_ico {
        display:none
    }

    footer {
        margin-top: auto;
        padding-top: 60px;
        padding-bottom: 40px;
        background-color: #f2f2f2;
        position: relative
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer {
        padding-top:3.75vw;
        padding-bottom: 2.5vw
    }
}

@media (min-width: 751px) {
    footer #foot_nav {
        display:flex;
        padding-left: 90px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_nav {
        padding-left:5.625vw
    }
}

@media (min-width: 751px) {
    footer #foot_nav .f_about {
        min-width:215px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_nav .f_about {
        min-width:13.4375vw
    }
}

@media (min-width: 751px) {
    footer #foot_nav .r {
        display:flex
    }

    footer #foot_nav .f_company {
        min-width: 220px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_nav .f_company {
        min-width:13.75vw
    }
}

@media (min-width: 751px) {
    footer #foot_nav .f_contact {
        min-width:160px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_nav .f_contact {
        min-width:10vw
    }
}

@media (min-width: 751px) {
    footer #foot_nav h5 {
        margin-bottom:15px;
        font-size: 12px;
        color: #ee3031;
        line-height: 1em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_nav h5 {
        margin-bottom:.9375vw;
        font-size: .75vw
    }
}

@media (min-width: 751px) {
    footer #foot_nav li {
        font-size:16px;
        line-height: 2.125em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_nav li {
        font-size:1vw
    }
}

@media (min-width: 751px) {
    footer #foot_nav li a {
        -webkit-font-smoothing:antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }

    footer #foot_nav li .ar {
        display: inline-block;
        padding-right: 8px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_nav li .ar {
        padding-right:.5vw
    }
}

@media (min-width: 751px) {
    footer #foot_nav li .ar svg {
        width:7.812px;
        height: 11.57px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }

    footer #foot_nav li .ar svg path {
        fill-rule: evenodd;
        stroke: transparent;
        fill: #000;
        stroke-width: 1px;
        stroke-linecap: butt;
        stroke-linejoin: miter
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_nav li .ar svg {
        width:.48825vw;
        height: .723125vw
    }
}

@media (min-width: 751px) {
    footer #foot_nav .sub {
        padding-top:3px;
        padding-left: 6px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_nav .sub {
        padding-top:.1875vw;
        padding-left: .375vw
    }
}

@media (min-width: 751px) {
    footer #foot_nav .sub p {
        font-size:14px;
        line-height: 2em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_nav .sub p {
        font-size:.875vw
    }
}

@media (min-width: 751px) {
    footer #foot_btn {
        position:absolute;
        top: 60px;
        right: 90px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_btn {
        top:3.75vw;
        right: 5.625vw
    }
}

@media (min-width: 751px) {
    footer #foot_btn ul {
        display:flex
    }

    footer #foot_btn ul li {
        margin-left: 23px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer #foot_btn ul li {
        margin-left:1.4375vw
    }
}

@media (min-width: 751px) {
    footer .copyright {
        margin-top:80px;
        font-size: 10px;
        padding-left: 90px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    footer .copyright {
        padding-left:5.625vw;
        margin-top: 5vw;
        font-size: .625vw
    }
}

@media (min-width: 751px) {
    .foot_request {
        display:none
    }

    .pagetop {
        width: 60px;
        height: 60px;
        position: absolute;
        bottom: 20px;
        right: 90px;
        cursor: pointer
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .pagetop {
        width:3.75vw;
        height: 3.75vw;
        bottom: 1.25vw;
        right: 5.625vw
    }
}

@media (min-width: 751px) {
    .pagetop .b {
        width:60px;
        height: 60px;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .pagetop .b {
        width:3.75vw;
        height: 3.75vw
    }
}

@media (min-width: 751px) {
    .pagetop .b svg {
        width:60px;
        height: 60px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        fill-opacity: 0;
        stroke: #ee3031;
        stroke-linejoin: round;
        stroke-width: 1px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .pagetop .b svg {
        width:3.75vw;
        height: 3.75vw
    }
}

@media (min-width: 751px) {
    .pagetop .ar {
        width:12px;
        height: 12px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%)
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .pagetop .ar {
        width:.75vw;
        height: .75vw
    }
}

@media (min-width: 751px) {
    .pagetop .ar svg {
        width:12px;
        height: 12px;
        transform: rotate(-90deg);
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .pagetop .ar svg {
        width:.75vw;
        height: .75vw
    }
}

@media (min-width: 751px) {
    .pagetop .ar svg polyline {
        fill:none;
        stroke: #ee3031;
        stroke-miterlimit: 10;
        stroke-width: 14px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .pagetop .ar svg polyline {
        stroke-width:.875vw
    }
}

@media (min-width: 751px) {
    #s_title {
        padding:0 90px;
        padding-top: 140px;
        padding-bottom: 40px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_title {
        padding:0 5.625vw;
        padding-top: 8.75vw;
        padding-bottom: 2.5vw
    }
}

@media (min-width: 751px) {
    #s_title h1 {
        font-size:38px;
        line-height: 1em;
        margin-bottom: 5px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_title h1 {
        font-size:2.375vw;
        margin-bottom: .3125vw
    }
}

@media (min-width: 751px) {
    #s_title .desc p {
        font-size:21px;
        line-height: 2.9047619048em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_title .desc p {
        font-size:1.3125vw
    }
}

@media (min-width: 751px) {
    #topic_path {
        height:80px;
        padding: 0 90px;
        display: flex;
        align-items: center;
        background-color: #fff
    }

    .single #topic_path {
        padding-top: 114px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .single #topic_path {
        padding-top:7.125vw
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #topic_path {
        height:5vw;
        padding: 0 5.625vw
    }
}

@media (min-width: 751px) {
    #topic_path ul {
        display:flex
    }

    #topic_path ul li {
        margin-right: 30px;
        font-size: 16px;
        line-height: 1em;
        position: relative
    }

    #topic_path ul li a {
        white-space: nowrap
    }

    #topic_path ul li .t {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #topic_path ul li {
        margin-right:1.875vw;
        font-size: 1vw
    }
}

@media (min-width: 751px) {
    #topic_path ul li:after {
        content:'';
        display: block;
        width: 8px;
        height: 100%;
        background-image: url(../images/arrow_txt.svg);
        background-position: center;
        background-size: 8px;
        background-repeat: no-repeat;
        position: absolute;
        top: 0;
        right: -18px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #topic_path ul li:after {
        width:.5vw;
        background-size: .5vw;
        right: -1.125vw
    }
}

@media (min-width: 751px) {
    #topic_path ul li:last-child:after {
        display:none
    }

    #sort_nav {
        display: flex;
        justify-content: flex-end
    }

    #sort_nav .sort_list {
        width: 161px;
        height: 45px;
        position: relative;
        margin-left: 10px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #sort_nav .sort_list {
        width:10.0625vw;
        height: 2.8125vw;
        margin-left: .625vw
    }
}

@media (min-width: 751px) {
    #sort_nav .sort_list h5 {
        width:100%;
        height: 100%;
        font-size: 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        border: 1px solid #e8e8e8;
        box-sizing: border-box;
        border-radius: 5px;
        letter-spacing: .06em;
        position: relative;
        z-index: 1;
        pointer-events: none;
        line-height: 1em;
        cursor: pointer;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #sort_nav .sort_list h5 {
        font-size:1vw
    }
}

@media (min-width: 751px) {
    #sort_nav .sort_list h5 .t {
        padding:20px 35px 20px 15px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #sort_nav .sort_list h5 .t {
        padding:.9375vw 2.1875vw .9375vw .9375vw
    }
}

@media (min-width: 751px) {
    #sort_nav .sort_list h5 .ar {
        width:12px;
        height: 12px;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%)
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #sort_nav .sort_list h5 .ar {
        width:.75vw;
        height: .75vw;
        right: 1.25vw
    }
}

@media (min-width: 751px) {
    #sort_nav .sort_list h5 .ar svg {
        width:12px;
        height: 12px;
        transform: rotate(90deg);
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #sort_nav .sort_list h5 .ar svg {
        width:.75vw;
        height: .75vw
    }
}

@media (min-width: 751px) {
    #sort_nav .sort_list h5 .ar svg polyline {
        fill:none;
        stroke: #000;
        stroke-miterlimit: 10;
        stroke-width: 14px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #sort_nav .sort_list h5 .ar svg polyline {
        stroke-width:.875vw
    }
}

@media (min-width: 751px) {
    #sort_nav .sort_list select {
        width:100%;
        height: 100%;
        font-size: 16px;
        letter-spacing: .06em;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        cursor: pointer
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #sort_nav .sort_list select {
        font-size:1vw
    }
}

@media (min-width: 751px) {
    .is_sp #sort_nav .sort_list select {
        font-size:16px !important
    }

    #page_nav {
        margin-top: -20px;
        margin-bottom: 100px;
        display: flex;
        justify-content: center
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_nav {
        margin-top:-1.25vw;
        margin-bottom: 6.25vw
    }
}

@media (min-width: 751px) {
    #page_nav svg {
        width:12px;
        height: 12px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_nav svg {
        width:.75vw;
        height: .75vw
    }
}

@media (min-width: 751px) {
    #page_nav svg polyline {
        fill:none;
        stroke: #000;
        stroke-miterlimit: 10;
        stroke-width: 14px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_nav svg polyline {
        stroke-width:.875vw
    }
}

@media (min-width: 751px) {
    #page_nav .first,#page_nav .last {
        margin:0 5px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_nav .first,#page_nav .last {
        margin:0 .3125vw
    }
}

@media (min-width: 751px) {
    #page_nav .first a,#page_nav .last a {
        width:45px;
        height: 45px;
        border-radius: 3px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #e8e8e8;
        border: 1px solid #e8e8e8;
        box-sizing: border-box
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_nav .first a,#page_nav .last a {
        width:2.8125vw;
        height: 2.8125vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_nav .first a {
        transform:rotate(180deg)
    }

    #page_nav ul {
        display: flex
    }

    #page_nav li {
        margin: 0 5px;
        font-size: 18px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_nav li {
        margin:0 .3125vw;
        font-size: 1.125vw
    }
}

@media (min-width: 751px) {
    #page_nav li .gap {
        width:45px;
        height: 45px;
        padding-bottom: 13px;
        border-radius: 3px;
        font-size: 18px;
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        text-align: center
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_nav li .gap {
        width:2.8125vw;
        height: 2.8125vw;
        padding-bottom: .8125vw;
        font-size: 1.125vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_nav li a {
        width:45px;
        height: 45px;
        border-radius: 3px;
        font-size: 18px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        border: 1px solid #e8e8e8;
        box-sizing: border-box
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_nav li a {
        width:2.8125vw;
        height: 2.8125vw;
        font-size: 1.125vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    .case_list,.blog_list {
        margin-bottom:40px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .case_list,.blog_list {
        margin-bottom:2.5vw
    }
}

@media (min-width: 751px) {
    .case_list ul,.blog_list ul {
        display:flex;
        justify-content: space-between
    }

    .case_list ul li,.blog_list ul li {
        width: 310px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .case_list ul li,.blog_list ul li {
        width:19.375vw
    }
}

@media (min-width: 751px) {
    .case_list ul li a,.blog_list ul li a {
        width:310px;
        min-height: 291px;
        padding: 20px;
        background-color: #fff;
        display: block;
        border-radius: 3px;
        box-sizing: border-box
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .case_list ul li a,.blog_list ul li a {
        width:19.375vw;
        min-height: 18.1875vw;
        padding: 1.25vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    .case_list ul li .ph,.blog_list ul li .ph {
        width:270px;
        height: 160px;
        margin-bottom: 17px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .case_list ul li .ph,.blog_list ul li .ph {
        width:16.875vw;
        height: 10vw;
        border-bottom: 1.0625vw
    }
}

@media (min-width: 751px) {
    .case_list ul li .ph img,.blog_list ul li .ph img {
        width:270px;
        height: 160px;
        object-fit: cover;
        object-position: center;
        font-family: "object-fit: cover; object-position: center;";
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .case_list ul li .ph img,.blog_list ul li .ph img {
        width:16.875vw;
        height: 10vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    .case_list ul li h4,.blog_list ul li h4 {
        padding:0 10px;
        font-size: 16px;
        line-height: 1.5em;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        pointer-events: none
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    .case_list ul li h4,.blog_list ul li h4 {
        padding:0 .625vw;
        font-size: 1vw
    }
}

@media screen and (max-width: 750px) {
    .c_bg {
        width:100vw;
        height: 100vh;
        overflow: hidden;
        background-image: url(../images/bg_g-s.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1;
        transform: translate3d(0, 0, 0)
    }

    .c_inner {
        margin: 0 auto
    }

    #s_sidebar {
        display: none
    }

    .btn a {
        font-size: 4.2666666667vw;
        font-weight: 700;
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        overflow: hidden;
        border: 1px solid #bfbfbf;
        border-radius: .4vw
    }

    .is_sp .btn a {
        font-weight: 600 !important
    }

    .btn.req a {
        width: 31.4666666667vw;
        height: 14vw;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }

    .btn.staff a {
        width: 46.8vw;
        height: 14vw;
        color: #fff;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }

    .btn.details a {
        width: 47.7333333333vw;
        height: 14vw;
        border: 1px solid #ee3031;
        color: #ee3031
    }

    .btn.all_list a {
        width: 42.4vw;
        height: 14vw;
        border: 1px solid #ee3031;
        color: #ee3031
    }

    header {
        width: 100vw;
        max-height: 100%;
        height: 10.4918032787vh;
        padding-top: 3.2786885246vh;
        padding-left: 3.2786885246vh;
        padding-right: 3.2786885246vh;
        overflow: inherit !important;
        display: flex;
        position: fixed;
        top: 0;
        left: 0;
        box-sizing: border-box;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
        z-index: 10;
        background-color: rgba(255,255,255,0.5)
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header {
        height:128px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header {
        height:50.3606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header {
        height:17.0666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header {
        padding-top:40px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header {
        padding-top:15.737704918px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header {
        padding-top:5.3333333333vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header {
        padding-left:40px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header {
        padding-left:15.737704918px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header {
        padding-left:5.3333333333vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header {
        padding-right:40px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header {
        padding-right:15.737704918px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header {
        padding-right:5.3333333333vw
    }
}

@media screen and (max-width: 750px) {
    @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
        header {
            background-color:rgba(255,255,255,0.5);
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px)
        }
    }

    header .logo {
        width: 32.5333333333vw;
        height: 5.7333333333vw;
        position: relative;
        z-index: 10000;
        width: 20vh;
        height: 3.5245901639vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .logo {
        width:244px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .logo {
        width:96px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .logo {
        width:32.5333333333vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .logo {
        height:43px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .logo {
        height:16.9180327869px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .logo {
        height:5.7333333333vw
    }
}

@media screen and (max-width: 750px) {
    header .logo img {
        width:20vh;
        height: 3.5245901639vh;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .logo img {
        width:244px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .logo img {
        width:96px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .logo img {
        width:32.5333333333vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .logo img {
        height:43px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .logo img {
        height:16.9180327869px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .logo img {
        height:5.7333333333vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav {
        opacity:0;
        pointer-events: none;
        width: 100vw;
        height: 100%;
        background-color: #fff;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 100;
        overflow: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch
    }

    .is_pc header #gnav {
        height: 100vh
    }

    .isChrome header #gnav {
        height: 100vh
    }

    header #gnav .gnav_wrap {
        width: 100vw;
        height: 100%;
        min-height: 88.5245901639vh;
        padding-top: 11.3114754098vh;
        position: absolute;
        top: 0;
        left: 0;
        box-sizing: border-box
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .gnav_wrap {
        min-height:1080px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .gnav_wrap {
        min-height:424.9180327869px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .gnav_wrap {
        min-height:144vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .gnav_wrap {
        padding-top:138px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .gnav_wrap {
        padding-top:54.2950819672px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .gnav_wrap {
        padding-top:18.4vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .nav_list a:before,header #gnav .nav_list .parent .t:before {
        display:none !important
    }

    header #gnav .nav_list>ul>li {
        position: relative
    }

    header #gnav .nav_list>ul>li>a {
        font-weight: 700;
        display: block;
        line-height: 1em;
        position: relative;
        font-size: 3.1147540984vh;
        padding-top: 2.7049180328vh;
        padding-bottom: 2.7049180328vh;
        padding-left: 4.9180327869vh
    }

    .is_sp header #gnav .nav_list>ul>li>a {
        font-weight: 600 !important
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li>a {
        font-size:38px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li>a {
        font-size:14.9508196721px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li>a {
        font-size:5.0666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li>a {
        padding-top:33px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li>a {
        padding-top:12.9836065574px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li>a {
        padding-top:4.4vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li>a {
        padding-bottom:33px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li>a {
        padding-bottom:12.9836065574px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li>a {
        padding-bottom:4.4vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li>a {
        padding-left:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li>a {
        padding-left:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li>a {
        padding-left:8vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .nav_list>ul>li>a:after {
        content:'';
        display: block;
        width: 2.3770491803vh;
        height: 2.3770491803vh;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url(../images/arrow_top.svg);
        position: absolute;
        top: 50%;
        right: 4.9180327869vh;
        transform: translateY(-50%) rotate(90deg)
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li>a:after {
        width:29px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li>a:after {
        width:11.4098360656px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li>a:after {
        width:3.8666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li>a:after {
        height:29px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li>a:after {
        height:11.4098360656px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li>a:after {
        height:3.8666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li>a:after {
        right:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li>a:after {
        right:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li>a:after {
        right:8vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .nav_list>ul>li .parent {
        font-weight:700;
        font-size: 3.1147540984vh;
        padding-top: 2.7049180328vh;
        padding-bottom: 2.7049180328vh;
        padding-left: 4.9180327869vh;
        position: relative
    }

    .is_sp header #gnav .nav_list>ul>li .parent {
        font-weight: 600 !important
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .parent {
        font-size:38px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .parent {
        font-size:14.9508196721px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .parent {
        font-size:5.0666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .parent {
        padding-top:33px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .parent {
        padding-top:12.9836065574px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .parent {
        padding-top:4.4vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .parent {
        padding-bottom:33px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .parent {
        padding-bottom:12.9836065574px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .parent {
        padding-bottom:4.4vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .parent {
        padding-left:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .parent {
        padding-left:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .parent {
        padding-left:8vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .nav_list>ul>li .parent:after {
        content:'';
        display: block;
        width: 2.3770491803vh;
        height: 2.3770491803vh;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url(../images/arrow_top.svg);
        position: absolute;
        top: 50%;
        right: 4.9180327869vh;
        transform: translateY(-50%) rotate(180deg)
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .parent:after {
        width:29px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .parent:after {
        width:11.4098360656px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .parent:after {
        width:3.8666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .parent:after {
        height:29px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .parent:after {
        height:11.4098360656px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .parent:after {
        height:3.8666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .parent:after {
        right:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .parent:after {
        right:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .parent:after {
        right:8vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .nav_list>ul>li .parent .ar {
        display:none
    }

    header #gnav .nav_list>ul>li .g_sub {
        margin-bottom: 2.7049180328vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .g_sub {
        margin-bottom:33px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .g_sub {
        margin-bottom:12.9836065574px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .g_sub {
        margin-bottom:4.4vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .nav_list>ul>li .g_sub p {
        border-bottom:1px solid #e5e5e5;
        font-weight: 300;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
        line-height: 1em;
        transform: inherit !important;
        font-size: 2.6229508197vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .g_sub p {
        font-size:32px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .g_sub p {
        font-size:12.5901639344px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .g_sub p {
        font-size:4.2666666667vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .nav_list>ul>li .g_sub p:last-child {
        border:none
    }

    header #gnav .nav_list>ul>li .g_sub p a {
        background-color: #f2f2f2;
        display: block;
        padding-top: 3.6885245902vh;
        padding-bottom: 3.6885245902vh;
        padding-left: 4.9180327869vh;
        position: relative
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .g_sub p a {
        padding-top:45px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .g_sub p a {
        padding-top:17.7049180328px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .g_sub p a {
        padding-top:6vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .g_sub p a {
        padding-bottom:45px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .g_sub p a {
        padding-bottom:17.7049180328px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .g_sub p a {
        padding-bottom:6vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .g_sub p a {
        padding-left:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .g_sub p a {
        padding-left:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .g_sub p a {
        padding-left:8vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .nav_list>ul>li .g_sub p a:after {
        content:'';
        display: block;
        width: 2.3770491803vh;
        height: 2.3770491803vh;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url(../images/arrow_top.svg);
        position: absolute;
        top: 50%;
        right: 4.9180327869vh;
        transform: translateY(-50%) rotate(90deg)
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .g_sub p a:after {
        width:29px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .g_sub p a:after {
        width:11.4098360656px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .g_sub p a:after {
        width:3.8666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .g_sub p a:after {
        height:29px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .g_sub p a:after {
        height:11.4098360656px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .g_sub p a:after {
        height:3.8666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .nav_list>ul>li .g_sub p a:after {
        right:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .nav_list>ul>li .g_sub p a:after {
        right:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .nav_list>ul>li .g_sub p a:after {
        right:8vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .list_s {
        width:100%;
        position: absolute;
        left: 0;
        bottom: 4.9180327869vh;
        transform: translate3d(0, 0, 0)
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s {
        bottom:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s {
        bottom:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .list_s {
        bottom:8vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .list_s ul {
        display:flex;
        justify-content: center
    }

    header #gnav .list_s ul li {
        margin-left: 1.6393442623vh;
        margin-right: 1.6393442623vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s ul li {
        margin-left:20px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s ul li {
        margin-left:7.868852459px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .list_s ul li {
        margin-left:2.6666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s ul li {
        margin-right:20px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s ul li {
        margin-right:7.868852459px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .list_s ul li {
        margin-right:2.6666666667vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .list_s ul li .btn a {
        font-size:2.6229508197vh;
        border: .1639344262vh solid #bfbfbf;
        border-radius: .2459016393vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s ul li .btn a {
        font-size:32px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s ul li .btn a {
        font-size:12.5901639344px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .list_s ul li .btn a {
        font-size:4.2666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s ul li .btn a {
        border:"2px" solid #bfbfbf
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s ul li .btn a {
        border:.7868852459px solid #bfbfbf
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 0.614 / 1) {
    header #gnav .list_s ul li .btn a {
        border:.2666666667vw solid #bfbfbf
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s ul li .btn a {
        border-radius:3px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s ul li .btn a {
        border-radius:1.1803278689px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .list_s ul li .btn a {
        border-radius:.4vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .list_s ul li .btn.req a {
        width:19.3442622951vh;
        height: 8.606557377vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s ul li .btn.req a {
        width:236px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s ul li .btn.req a {
        width:92.8524590164px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .list_s ul li .btn.req a {
        width:31.4666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s ul li .btn.req a {
        height:105px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s ul li .btn.req a {
        height:41.3114754098px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .list_s ul li .btn.req a {
        height:14vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .list_s ul li .btn.staff a {
        width:28.7704918033vh;
        height: 8.606557377vh;
        border-color: #ee3031 !important
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s ul li .btn.staff a {
        width:351px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s ul li .btn.staff a {
        width:138.0983606557px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .list_s ul li .btn.staff a {
        width:46.8vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s ul li .btn.staff a {
        height:105px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s ul li .btn.staff a {
        height:41.3114754098px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .list_s ul li .btn.staff a {
        height:14vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .list_s ul li .btn.staff a:before {
        border-radius:.2459016393vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s ul li .btn.staff a:before {
        border-radius:3px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s ul li .btn.staff a:before {
        border-radius:1.1803278689px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .list_s ul li .btn.staff a:before {
        border-radius:.4vw
    }
}

@media screen and (max-width: 750px) {
    header #gnav .list_s ul li .btn.staff a:after {
        border-radius:.2459016393vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header #gnav .list_s ul li .btn.staff a:after {
        border-radius:3px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header #gnav .list_s ul li .btn.staff a:after {
        border-radius:1.1803278689px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header #gnav .list_s ul li .btn.staff a:after {
        border-radius:.4vw
    }
}

@media screen and (max-width: 750px) {
    header .gnav_ico {
        width:4.9180327869vh;
        height: 3.8524590164vh;
        padding-top: 3.2786885246vh;
        padding-right: 3.2786885246vh;
        padding-bottom: 3.2786885246vh;
        padding-left: 3.2786885246vh;
        display: flex;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 10000;
        cursor: pointer
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico {
        width:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico {
        width:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico {
        width:8vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico {
        height:47px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico {
        height:18.4918032787px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico {
        height:6.2666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico {
        padding-top:40px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico {
        padding-top:15.737704918px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico {
        padding-top:5.3333333333vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico {
        padding-right:40px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico {
        padding-right:15.737704918px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico {
        padding-right:5.3333333333vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico {
        padding-bottom:40px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico {
        padding-bottom:15.737704918px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico {
        padding-bottom:5.3333333333vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico {
        padding-left:40px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico {
        padding-left:15.737704918px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico {
        padding-left:5.3333333333vw
    }
}

@media screen and (max-width: 750px) {
    header .gnav_ico .o {
        width:4.9180327869vh;
        height: 3.8524590164vh;
        position: relative
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .o {
        width:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .o {
        width:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .o {
        width:8vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .o {
        height:47px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .o {
        height:18.4918032787px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .o {
        height:6.2666666667vw
    }
}

@media screen and (max-width: 750px) {
    header .gnav_ico .o svg {
        width:4.9180327869vh;
        height: 1vh;
        position: absolute;
        top: 0;
        left: 0
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .o svg {
        width:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .o svg {
        width:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .o svg {
        width:8vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .o svg {
        height:4px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .o svg {
        height:2px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .o svg {
        height:1vw
    }
}

@media screen and (max-width: 750px) {
    header .gnav_ico .o svg path {
        fill-rule:evenodd;
        fill: #ee3031
    }

    header .gnav_ico .o span {
        width: 4.9180327869vh;
        height: 1vh;
        position: absolute;
        top: 0;
        left: 0
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .o span {
        width:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .o span {
        width:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .o span {
        width:8vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .o span {
        height:4px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .o span {
        height:2px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .o span {
        height:1vw
    }
}

@media screen and (max-width: 750px) {
    header .gnav_ico .o .t {
        top:0
    }

    header .gnav_ico .o .m {
        top: 1.8032786885vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .o .m {
        top:22px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .o .m {
        top:8.6557377049px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .o .m {
        top:2.9333333333vw
    }
}

@media screen and (max-width: 750px) {
    header .gnav_ico .o .b {
        top:3.5245901639vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .o .b {
        top:43px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .o .b {
        top:16.9180327869px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .o .b {
        top:5.7333333333vw
    }
}

@media screen and (max-width: 750px) {
    header .gnav_ico .c {
        width:4.9180327869vh;
        height: 3.8524590164vh;
        position: absolute;
        top: 4.9180327869vh;
        left: 3.2786885246vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .c {
        width:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .c {
        width:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .c {
        width:8vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .c {
        height:47px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .c {
        height:18.4918032787px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .c {
        height:6.2666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .c {
        top:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .c {
        top:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .c {
        top:8vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .c {
        left:40px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .c {
        left:15.737704918px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .c {
        left:5.3333333333vw
    }
}

@media screen and (max-width: 750px) {
    header .gnav_ico .c svg {
        width:4.9180327869vh;
        height: 1vh;
        position: absolute;
        top: 0;
        left: 0
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .c svg {
        width:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .c svg {
        width:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .c svg {
        width:8vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .c svg {
        height:4px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .c svg {
        height:2px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .c svg {
        height:1vw
    }
}

@media screen and (max-width: 750px) {
    header .gnav_ico .c svg path {
        fill-rule:evenodd;
        fill: #ee3031
    }

    header .gnav_ico .c span {
        width: 4.9180327869vh;
        height: 1vh;
        position: absolute;
        top: 0;
        left: 0
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .c span {
        width:60px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .c span {
        width:23.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .c span {
        width:8vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    header .gnav_ico .c span {
        height:4px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    header .gnav_ico .c span {
        height:2px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    header .gnav_ico .c span {
        height:1vw
    }
}

@media screen and (max-width: 750px) {
    header .gnav_ico .c .t {
        top:0;
        transform: rotate(-225deg)
    }

    header .gnav_ico .c .b {
        transform: rotate(45deg)
    }

    footer {
        padding-top: 35.3333333333vw;
        padding-bottom: 2.6666666667vw;
        background-color: #f2f2f2;
        position: relative
    }

    footer #foot_nav {
        display: flex;
        padding: 0 8vw;
        justify-content: space-between
    }

    footer #foot_nav h5 {
        margin-bottom: 15px;
        font-size: 3.2vw;
        color: #ee3031;
        line-height: 1em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }

    footer #foot_nav .f_company {
        margin-bottom: 6.6666666667vw
    }

    footer #foot_nav li {
        font-size: 4vw;
        line-height: 2.6666666667em
    }

    footer #foot_nav li a {
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }

    footer #foot_nav li .ar {
        display: inline-block;
        padding-right: 2.4vw
    }

    footer #foot_nav li .ar svg {
        width: 1.7333333333vw;
        height: 2.5333333333vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }

    footer #foot_nav li .ar svg path {
        fill-rule: evenodd;
        stroke: transparent;
        fill: #a8a8a8;
        stroke-width: 1px;
        stroke-linecap: butt;
        stroke-linejoin: miter
    }

    footer #foot_nav .sub {
        padding-top: 0;
        padding-left: 3.3333333333vw;
        padding-bottom: 2vw
    }

    footer #foot_nav .sub p {
        font-size: 3.2vw;
        line-height: 2.2916666667em
    }

    footer #foot_btn {
        width: 100%;
        position: absolute;
        top: 10.6666666667vw;
        right: 0
    }

    footer #foot_btn ul {
        display: flex;
        justify-content: center
    }

    footer #foot_btn ul li {
        margin: 0 2.8vw
    }

    footer .copyright {
        margin-top: 14.6666666667vw;
        font-size: 2.4vw;
        padding-left: 8vw
    }

    .foot_request {
        width: 100vw;
        height: 8.606557377vh;
        opacity: 1 !important;
        display: flex;
        justify-content: center;
        align-items: center;
        position: fixed;
        bottom: 0;
        left: 0;
        transform: translate3d(0, 0, 0);
        z-index: 65535;
        background-color: rgba(255,255,255,0.85)
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    .foot_request {
        height:105px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    .foot_request {
        height:41.3114754098px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    .foot_request {
        height:14vw
    }
}

@media screen and (max-width: 750px) {
    @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
        .foot_request {
            background-color:rgba(255,255,255,0.5);
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px)
        }
    }

    .foot_request .btn a {
        width: 54.9180327869vh;
        height: 5.4508196721vh;
        border-radius: .2459016393vh;
        font-size: 1.8360655738vh;
        border-color: #ee3031;
        background-color: #ee3031;
        color: #fff
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    .foot_request .btn a {
        width:670px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    .foot_request .btn a {
        width:263.606557377px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    .foot_request .btn a {
        width:89.3333333333vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    .foot_request .btn a {
        height:66.5px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    .foot_request .btn a {
        height:26.1639344262px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    .foot_request .btn a {
        height:8.8666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    .foot_request .btn a {
        border-radius:3px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    .foot_request .btn a {
        border-radius:1.1803278689px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    .foot_request .btn a {
        border-radius:.4vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    .foot_request .btn a {
        font-size:22.4px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    .foot_request .btn a {
        font-size:8.8131147541px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    .foot_request .btn a {
        font-size:2.9866666667vw
    }
}

@media screen and (max-width: 750px) {
    .pagetop {
        width:10.6666666667vw;
        height: 10.6666666667vw;
        position: absolute;
        bottom: .8vw;
        right: 8vw;
        cursor: pointer
    }

    .pagetop .b {
        width: 10.6666666667vw;
        height: 10.6666666667vw;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1
    }

    .pagetop .b svg {
        width: 10.6666666667vw;
        height: 10.6666666667vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        fill-opacity: 0;
        stroke: #ee3031;
        stroke-linejoin: round;
        stroke-width: 1px
    }

    .pagetop .ar {
        width: 2.6666666667vw;
        height: 2.6666666667vw;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%)
    }

    .pagetop .ar svg {
        width: 2.6666666667vw;
        height: 2.6666666667vw;
        transform: rotate(-90deg);
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }

    .pagetop .ar svg polyline {
        fill: none;
        stroke: #ee3031;
        stroke-miterlimit: 10;
        stroke-width: 14px
    }

    #s_title {
        padding: 0 8vw;
        padding-top: 24.6666666667vw;
        padding-bottom: 4.6666666667vw
    }

    #s_title h1 {
        font-size: 6.9333333333vw;
        line-height: 1em;
        margin-bottom: 4vw
    }

    #s_title .desc p {
        font-size: 5.0666666667vw;
        line-height: 1.5789473684em;
        font-weight: 400 !important
    }

    #topic_path {
        display: none
    }

    #sort_nav {
        display: flex;
        justify-content: flex-end
    }

    #sort_nav .sort_list {
        width: 40vw;
        height: 14vw;
        position: relative;
        margin-left: 4vw
    }

    #sort_nav .sort_list h5 {
        width: 100%;
        height: 100%;
        font-size: 4.2666666667vw;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        border: 1px solid #e8e8e8;
        box-sizing: border-box;
        border-radius: .4vw;
        letter-spacing: .06em;
        position: relative;
        z-index: 1;
        pointer-events: none;
        line-height: 1em;
        cursor: pointer;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }

    #sort_nav .sort_list h5 .t {
        padding: 2.6666666667vw 8vw 2.6666666667vw 4vw;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }

    #sort_nav .sort_list h5 .ar {
        width: 3.4666666667vw;
        height: 3.4666666667vw;
        position: absolute;
        right: 4vw;
        top: 50%;
        transform: translateY(-50%)
    }

    #sort_nav .sort_list h5 .ar svg {
        width: 3.4666666667vw;
        height: 3.4666666667vw;
        transform: rotate(90deg);
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }

    #sort_nav .sort_list h5 .ar svg polyline {
        fill: none;
        stroke: #000;
        stroke-miterlimit: 10;
        stroke-width: 14px
    }

    #sort_nav .sort_list select {
        width: 100%;
        height: 100%;
        font-size: 4.2666666667vw;
        letter-spacing: .06em;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        cursor: pointer
    }

    .is_sp #sort_nav .sort_list select {
        font-size: 16px !important
    }

    #sort_nav.c {
        justify-content: center
    }

    #sort_nav.c .sort_list {
        margin: 0 2vw
    }

    #page_nav {
        margin-top: 2.6666666667vw;
        margin-bottom: 13.3333333333vw;
        display: flex;
        justify-content: center
    }

    #page_nav svg {
        width: 2.6666666667vw;
        height: 2.6666666667vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }

    #page_nav svg polyline {
        fill: none;
        stroke: #000;
        stroke-miterlimit: 10;
        stroke-width: 1.8666666667vw
    }

    #page_nav .first,#page_nav .last {
        margin: 0 1.3333333333vw
    }

    #page_nav .first a,#page_nav .last a {
        width: 10vw;
        height: 10vw;
        border-radius: .4vw;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #e8e8e8;
        border: 1px solid #e8e8e8;
        box-sizing: border-box
    }

    #page_nav .first a {
        transform: rotate(180deg)
    }

    #page_nav ul {
        display: flex
    }

    #page_nav li {
        margin: 0 1.3333333333vw;
        font-size: 4vw
    }

    #page_nav li .gap {
        width: 10vw;
        height: 10vw;
        padding-bottom: 2.4vw;
        border-radius: .4vw;
        font-size: 4vw;
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        text-align: center
    }

    #page_nav li a {
        width: 10vw;
        height: 10vw;
        border-radius: .4vw;
        font-size: 4vw;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        border: 1px solid #e8e8e8;
        box-sizing: border-box
    }

    .case_list,.blog_list {
        margin-bottom: 8vw
    }

    .case_list ul li,.blog_list ul li {
        margin-bottom: 4vw
    }

    .case_list ul li:last-child,.blog_list ul li:last-child {
        margin-bottom: 0
    }

    .case_list ul li a,.blog_list ul li a {
        padding: 4vw;
        display: flex;
        background-color: #fff;
        border-radius: .4vw;
        box-sizing: border-box
    }

    .case_list ul li .ph,.blog_list ul li .ph {
        width: 26.6666666667vw;
        height: 20vw
    }

    .case_list ul li .ph img,.blog_list ul li .ph img {
        width: 26.6666666667vw;
        height: 20vw;
        object-fit: cover;
        object-position: center;
        font-family: "object-fit: cover; object-position: center;";
        border-radius: 3px
    }

    .case_list ul li h4,.blog_list ul li h4 {
        margin-top: -.6666666667vw;
        width: 57.3333333333vw;
        font-size: 4vw;
        line-height: 1.3333333333em;
        text-align: justify;
        text-justify: inter-ideograph;
        box-sizing: border-box;
        padding-left: 2.6666666667vw;
        pointer-events: none;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        overflow: hidden
    }
}

@media (min-width: 751px) {
    #page_index h2.ff-j {
        font-size:40px;
        text-align: center;
        line-height: 1em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index h2.ff-j {
        font-size:2.5vw
    }
}

@media (min-width: 751px) {
    #page_index h2.ff-j .en {
        margin-top:5px;
        font-size: 18px;
        display: block;
        letter-spacing: .06em;
        color: #ee3031
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index h2.ff-j .en {
        margin-top:.3125vw;
        font-size: 1.125vw
    }
}

@media (min-width: 751px) {
    #page_index #s_kv {
        height:722px !important;
        display: flex;
        flex-direction: column;
        justify-content: center;
        box-sizing: border-box;
        position: relative
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_kv {
        height:45.125vw !important
    }
}

@media (min-width: 751px) {
    #page_index #s_kv .tagline {
        width:361px;
        height: 65px;
        margin-top: 58px;
        margin-bottom: 23px;
        border-radius: 65px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #f9e5e6;
        font-size: 28px;
        color: #ee3031;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_kv .tagline {
        width:22.5625vw;
        height: 4.0625vw;
        margin-top: 3.625vw;
        margin-bottom: 1.4375vw;
        border-radius: 4.0625vw;
        font-size: 1.75vw
    }
}

@media (min-width: 751px) {
    #page_index #s_kv h1 {
        font-size:43px;
        line-height: 1.6279069767em;
        font-feature-settings: inherit
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_kv h1 {
        font-size:2.6875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_kv .i {
        width:614px;
        height: 502px;
        position: absolute;
        top: 129px;
        right: 50%;
        transform: translateX(564px)
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_kv .i {
        width:38.375vw;
        height: 31.375vw;
        top: 8.0625vw;
        transform: translateX(35.25vw)
    }
}

@media (min-width: 751px) {
    #page_index #s_kv .i.a {
        z-index:3
    }

    #page_index #s_kv .i.b {
        z-index: 2;
        image-rendering: crisp-edges
    }

    #page_index #s_kv .i.c {
        z-index: 1;
        mix-blend-mode: multiply;
        image-rendering: crisp-edges
    }

    #page_index #s_kv .i p {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0
    }

    #page_index #s_kv .i p img {
        width: 614px;
        height: 502px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        position: absolute;
        top: 0;
        left: 0
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_kv .i p img {
        width:38.375vw;
        height: 31.375vw
    }
}

@media (min-width: 751px) {
    #page_index #s_kv .ico_scroll {
        line-height:0;
        position: absolute;
        bottom: -70px;
        left: 40px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_kv .ico_scroll {
        bottom:-4.375vw;
        left: 2.5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_kv .ico_scroll .t {
        display:block;
        margin-bottom: 10px;
        font-size: 10px;
        letter-spacing: .1em;
        position: relative;
        left: 2px;
        line-height: 0;
        transform: rotate(90deg) translateX(-100%);
        transform-origin: top left
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_kv .ico_scroll .t {
        margin-bottom:.625vw;
        font-size: .625vw;
        left: .125vw
    }
}

@media (min-width: 751px) {
    #page_index #s_kv .ico_scroll .l {
        width:1px;
        height: 120px;
        background-color: #d8d8d8;
        display: block
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_kv .ico_scroll .l {
        height:7.5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_kv._out .c_bg {
        display:none
    }

    #page_index #s_about {
        padding-top: 100px;
        padding-bottom: 95px;
        background-color: #f7f7f7
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about {
        padding-top:6.25vw;
        padding-bottom: 5.9375vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row {
        display:flex;
        justify-content: space-between
    }

    #page_index #s_about .row h2 {
        margin-bottom: 15px;
        text-align: left
    }

    #page_index #s_about .row h2 .e {
        font-size: 42px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row h2 {
        margin-bottom:.9375vw
    }

    #page_index #s_about .row h2 .e {
        font-size: 2.625vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.a {
        margin-bottom:80px;
        align-items: center
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.a {
        margin-bottom:5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.a .desc p {
        font-size:22px;
        line-height: 1.9090909091em;
        white-space: nowrap
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.a .desc p {
        font-size:1.375vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.a .l {
        width:440px;
        position: relative;
        z-index: 2
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.a .l {
        width:27.5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.a .r {
        width:570px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.a .r {
        width:35.625vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.a .r .i {
        width:570px;
        height: 340px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.a .r .i {
        width:35.625vw;
        height: 21.25vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.a .r .i img {
        width:570px;
        height: 340px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.a .r .i img {
        width:35.625vw;
        height: 21.25vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.b .c {
        width:460px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.b .c {
        width:28.75vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.b .i {
        width:460px;
        height: 350px;
        margin-bottom: 14px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.b .i {
        width:28.75vw;
        height: 21.875vw;
        margin-bottom: .875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.b .i img {
        width:460px;
        height: 350px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.b .i img {
        width:28.75vw;
        height: 21.875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.b h3 {
        margin-bottom:14px;
        font-size: 26px;
        color: #ee3031;
        line-height: 1.4615384615em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.b h3 {
        margin-bottom:.875vw;
        font-size: 1.625vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.b .desc p {
        font-size:20px;
        line-height: 1.6em;
        text-align: justify;
        text-justify: inter-ideograph
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.b .desc p {
        font-size:1.25vw
    }
}

@media (min-width: 751px) {
    #page_index #s_about .row.b .desc .s {
        margin-top:10px;
        font-size: 14px;
        line-height: 1.5714285714em;
        letter-spacing: .06em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_about .row.b .desc .s {
        margin-top:.625vw;
        font-size: .875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_service {
        padding-top:100px;
        padding-bottom: 100px;
        background-color: #fff
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_service {
        padding-top:6.25vw;
        padding-bottom: 6.25vw
    }
}

@media (min-width: 751px) {
    #page_index #s_service h2 {
        margin-bottom:46px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_service h2 {
        margin-bottom:2.875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_service .row {
        margin-bottom:60px;
        height: 470px;
        display: flex;
        justify-content: space-between;
        align-items: center
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_service .row {
        margin-bottom:3.75vw;
        height: 29.375vw
    }
}

@media (min-width: 751px) {
    #page_index #s_service .row:last-child {
        margin-bottom:0
    }

    #page_index #s_service .row.rev {
        flex-direction: row-reverse
    }

    #page_index #s_service .row .l {
        width: 665px;
        height: 470px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_service .row .l {
        width:41.5625vw;
        height: 29.375vw
    }
}

@media (min-width: 751px) {
    #page_index #s_service .row .l img {
        width:665px;
        height: 470px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_service .row .l img {
        width:41.5625vw;
        height: 29.375vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_service .row .r {
        width:385px;
        position: relative;
        z-index: 2
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_service .row .r {
        width:24.0625vw
    }
}

@media (min-width: 751px) {
    #page_index #s_service .row .r h3 {
        margin-bottom:24px;
        font-size: 28px;
        color: #ee3031;
        line-height: 1.4285714286em;
        white-space: nowrap
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_service .row .r h3 {
        margin-bottom:1.5vw;
        font-size: 1.75vw
    }
}

@media (min-width: 751px) {
    #page_index #s_service .row .r .desc {
        width:385px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_service .row .r .desc {
        width:24.0625vw
    }
}

@media (min-width: 751px) {
    #page_index #s_service .row .r .desc p {
        font-size:20px;
        line-height: 1.6em;
        text-align: justify;
        text-justify: inter-ideograph
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_service .row .r .desc p {
        font-size:1.25vw
    }
}

@media (min-width: 751px) {
    #page_index #s_service .row .r .desc .s {
        margin-top:18px;
        font-size: 14px;
        line-height: 1.5714285714em;
        letter-spacing: .06em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_service .row .r .desc .s {
        margin-top:1.125vw;
        font-size: .875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_service .row .r {
        left:-40px
    }

    #page_index #s_service .row.rev .r {
        right: -40px;
        left: inherit
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_service .row .r {
        left:-2.5vw
    }

    #page_index #s_service .row.rev .r {
        right: -2.5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_main_features {
        padding-top:100px;
        padding-bottom: 100px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_main_features {
        padding-top:6.25vw;
        padding-bottom: 6.25vw
    }
}

@media (min-width: 751px) {
    #page_index #s_main_features h2 {
        margin-bottom:20px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_main_features h2 {
        margin-bottom:1.25vw
    }
}

@media (min-width: 751px) {
    #page_index #s_main_features .r_list {
        display:flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    #page_index #s_main_features .r_list.l_b {
        margin-bottom: -60px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_main_features .r_list.l_b {
        margin-bottom:-3.75vw
    }
}

@media (min-width: 751px) {
    #page_index #s_main_features .r_list .row {
        width:470px;
        margin-bottom: 60px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_main_features .r_list .row {
        width:29.375vw;
        margin-bottom: 3.75vw
    }
}

@media (min-width: 751px) {
    #page_index #s_main_features .r_list .row .l {
        position:relative;
        z-index: 2
    }

    #page_index #s_main_features .r_list .row .l .i {
        width: 454px;
        height: 384px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_main_features .r_list .row .l .i {
        width:28.375vw;
        height: 24vw
    }
}

@media (min-width: 751px) {
    #page_index #s_main_features .r_list .row .l .i img {
        width:454px;
        height: 384px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_main_features .r_list .row .l .i img {
        width:28.375vw;
        height: 24vw
    }
}

@media (min-width: 751px) {
    #page_index #s_main_features .r_list .row .r {
        width:100%;
        min-height: 300px;
        margin-top: -50px;
        padding: 0 50px;
        padding-top: 50px;
        padding-bottom: 40px;
        border-radius: 3px;
        background-color: #fff;
        box-sizing: border-box
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_main_features .r_list .row .r {
        min-height:18.75vw;
        margin-top: -3.125vw;
        padding: 0 3.125vw;
        padding-top: 3.125vw;
        padding-bottom: 2.5vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_main_features .r_list .row .r h3 {
        color:#ee3031;
        margin-bottom: 20px;
        font-size: 28px;
        text-align: center;
        line-height: 1em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_main_features .r_list .row .r h3 {
        margin-bottom:1.25vw;
        font-size: 1.75vw
    }
}

@media (min-width: 751px) {
    #page_index #s_main_features .r_list .row .r .desc p {
        font-size:20px;
        line-height: 1.6em;
        text-align: justify;
        text-justify: inter-ideograph
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_main_features .r_list .row .r .desc p {
        font-size:1.25vw
    }
}

@media (min-width: 751px) {
    #page_index #s_more_features {
        padding-top:100px;
        padding-bottom: 100px;
        background-color: #fff
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_more_features {
        padding-top:6.25vw;
        padding-bottom: 6.25vw
    }
}

@media (min-width: 751px) {
    #page_index #s_more_features h2 {
        margin-bottom:46px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_more_features h2 {
        margin-bottom:2.875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_more_features .row {
        margin-bottom:60px;
        height: 440px;
        display: flex;
        justify-content: space-between;
        align-items: center
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_more_features .row {
        margin-bottom:3.75vw;
        height: 27.5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_more_features .row:last-child {
        margin-bottom:0
    }

    #page_index #s_more_features .row.rev {
        flex-direction: row-reverse
    }

    #page_index #s_more_features .row .l {
        width: 608px;
        height: 440px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_more_features .row .l {
        width:38vw;
        height: 27.5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_more_features .row .l img {
        width:608px;
        height: 440px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_more_features .row .l img {
        width:38vw;
        height: 27.5vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_more_features .row .r {
        width:435px;
        position: relative;
        z-index: 2
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_more_features .row .r {
        width:27.1875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_more_features .row .r h3 {
        margin-bottom:24px;
        font-size: 28px;
        color: #ee3031;
        line-height: 1.4285714286em;
        white-space: nowrap
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_more_features .row .r h3 {
        margin-bottom:1.5vw;
        font-size: 1.75vw
    }
}

@media (min-width: 751px) {
    #page_index #s_more_features .row .r .desc {
        width:435px;
        margin-bottom: 23px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_more_features .row .r .desc {
        width:27.1875vw;
        margin-bottom: 1.4375vw
    }
}

@media (min-width: 751px) {
    #page_index #s_more_features .row .r .desc p {
        font-size:20px;
        line-height: 1.6em;
        text-align: justify;
        text-justify: inter-ideograph
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_more_features .row .r .desc p {
        font-size:1.25vw
    }
}

@media (min-width: 751px) {
    #page_index #s_more_features .row .r {
        left:-25px
    }

    #page_index #s_more_features .row.rev .r {
        right: -25px;
        left: inherit
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_more_features .row .r {
        left:-1.5625vw
    }

    #page_index #s_more_features .row.rev .r {
        right: -1.5625vw
    }
}

@media (min-width: 751px) {
    #page_index #s_case_study {
        padding-top:75px;
        padding-bottom: 80px;
        background-color: #fff
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_case_study {
        padding-top:4.6875vw;
        padding-bottom: 5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_case_study h3 {
        margin-bottom:10px;
        font-size: 40px;
        letter-spacing: .06em;
        color: #ee3031;
        line-height: 1em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_case_study h3 {
        margin-bottom:.625vw;
        font-size: 2.5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_case_study .desc {
        margin-bottom:30px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_case_study .desc {
        margin-bottom:1.875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_case_study .desc p {
        font-size:18px;
        line-height: 2.2222222222em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_case_study .desc p {
        font-size:1.125vw
    }
}

@media (min-width: 751px) {
    #page_index #s_case_study .btn {
        display:flex;
        justify-content: flex-end
    }

    #page_index #s_blog {
        padding-top: 75px;
        padding-bottom: 80px;
        background-color: #f7f7f7
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_blog {
        padding-top:4.6875vw;
        padding-bottom: 5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_blog h3 {
        margin-bottom:10px;
        font-size: 40px;
        letter-spacing: .06em;
        color: #ee3031;
        line-height: 1em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_blog h3 {
        margin-bottom:.625vw;
        font-size: 2.5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_blog .desc {
        margin-bottom:30px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_blog .desc {
        margin-bottom:1.875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_blog .desc p {
        font-size:18px;
        line-height: 2.2222222222em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_blog .desc p {
        font-size:1.125vw
    }
}

@media (min-width: 751px) {
    #page_index #s_blog .btn {
        display:flex;
        justify-content: flex-end
    }

    #page_index #s_news {
        padding-top: 75px;
        padding-bottom: 80px;
        background-color: #fff
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_news {
        padding-top:4.6875vw;
        padding-bottom: 5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_news h3 {
        margin-bottom:35px;
        font-size: 40px;
        letter-spacing: .06em;
        color: #ee3031;
        line-height: 1em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_news h3 {
        margin-bottom:2.1875vw;
        font-size: 2.5vw
    }
}

@media (min-width: 751px) {
    #page_index #s_news .news_list {
        margin-bottom:15px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_news .news_list {
        margin-bottom:.9375vw
    }
}

@media (min-width: 751px) {
    #page_index #s_news .news_list ul li {
        width:100%;
        border-top: 1px solid #e8e8e8
    }

    #page_index #s_news .news_list ul li a {
        padding-right: 25px;
        height: 64px;
        background-color: #fff;
        display: flex;
        align-items: center;
        border-radius: 3px;
        box-sizing: border-box
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_news .news_list ul li a {
        padding-right:1.5625vw;
        height: 4vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_news .news_list ul li .date {
        min-width:100px;
        font-size: 14px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_news .news_list ul li .date {
        min-width:6.25vw;
        font-size: .875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_news .news_list ul li .cat {
        padding:0 12px;
        height: 32px;
        font-size: 14px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f7f7f7;
        color: #ee3031;
        box-sizing: border-box;
        white-space: nowrap
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_news .news_list ul li .cat {
        padding:0 .75vw;
        height: 2vw;
        font-size: .875vw
    }
}

@media (min-width: 751px) {
    #page_index #s_news .news_list ul li h4 {
        width:100%;
        padding-left: 20px;
        font-size: 16px;
        line-height: 1.5em;
        box-sizing: border-box;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-weight: 700
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_index #s_news .news_list ul li h4 {
        padding-left:1.25vw;
        font-size: 1vw
    }
}

@media (min-width: 751px) {
    #page_index #s_news .btn {
        display:flex;
        justify-content: flex-end
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study {
        background-color:#f7f7f7;
        overflow: hidden
    }

    #page_case #s_case_study #sort_nav {
        padding-top: 20px;
        padding-bottom: 60px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study #sort_nav {
        padding-top:1.25vw;
        padding-bottom: 3.75vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list {
        margin-bottom:40px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list {
        margin-bottom:2.5vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list>ul {
        display:flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    #page_case #s_case_study .p_case_list>ul>li {
        width: 480px;
        min-height: 600px;
        padding: 0 40px;
        padding-top: 40px;
        padding-bottom: 32px;
        margin-bottom: 60px;
        background-color: #fff;
        box-sizing: border-box
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list>ul>li {
        width:30vw;
        min-height: 37.5vw;
        padding: 0 2.5vw;
        padding-top: 2.5vw;
        padding-bottom: 2vw;
        margin-bottom: 3.75vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list>ul>li .ph {
        width:400px;
        height: 300px;
        margin-bottom: 20px;
        border-radius: 3px;
        overflow: hidden
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list>ul>li .ph {
        width:25vw;
        height: 18.75vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list>ul>li .ph img {
        width:400px;
        height: 300px;
        border-radius: 3px;
        object-fit: cover;
        object-position: center;
        font-family: "object-fit: cover; object-position: center;"
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list>ul>li .ph img {
        width:25vw;
        height: 18.75vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list>ul>li .cat {
        margin-bottom:23px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list>ul>li .cat {
        margin-bottom:1.4375vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list>ul>li .cat ul {
        display:flex;
        flex-wrap: wrap;
        margin-bottom: -10px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list>ul>li .cat ul {
        margin-bottom:-.625vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list>ul>li .cat ul li {
        margin-right:15px;
        margin-bottom: 10px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list>ul>li .cat ul li {
        margin-right:.9375vw;
        margin-bottom: .625vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list>ul>li .cat ul li a {
        padding:0 15px;
        height: 32px;
        font-size: 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f7f7f7;
        color: #ee3031;
        white-space: nowrap
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list>ul>li .cat ul li a {
        padding:0 .9375vw;
        height: 2vw;
        font-size: 1vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list>ul>li h4 {
        margin-bottom:13px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list>ul>li h4 {
        margin-bottom:.8125vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list>ul>li h4 a {
        display:-webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        font-size: 22px;
        line-height: 1.5454545455em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list>ul>li h4 a {
        font-size:1.375vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list>ul>li .company {
        margin-bottom:10px;
        font-size: 18px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.6666666667em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list>ul>li .company {
        margin-bottom:.625vw;
        font-size: 1.125vw
    }
}

@media (min-width: 751px) {
    #page_case #s_case_study .p_case_list>ul>li .type {
        font-size:16px;
        color: #4c4c4c;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.875em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_case #s_case_study .p_case_list>ul>li .type {
        font-size:1vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog {
        background-color:#f7f7f7;
        overflow: hidden
    }

    #page_blog #s_blog #sort_nav {
        padding-top: 20px;
        padding-bottom: 60px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog #sort_nav {
        padding-top:1.25vw;
        padding-bottom: 3.75vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list {
        margin-bottom:40px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list {
        margin-bottom:2.5vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list>ul {
        display:flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    #page_blog #s_blog .p_blog_list>ul>li {
        width: 480px;
        min-height: 600px;
        padding: 0 40px;
        padding-top: 40px;
        padding-bottom: 32px;
        margin-bottom: 60px;
        background-color: #fff;
        box-sizing: border-box
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list>ul>li {
        width:30vw;
        min-height: 37.5vw;
        padding: 0 2.5vw;
        padding-top: 2.5vw;
        padding-bottom: 2vw;
        margin-bottom: 3.75vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list>ul>li .ph {
        width:400px;
        height: 300px;
        margin-bottom: 20px;
        border-radius: 3px;
        overflow: hidden
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list>ul>li .ph {
        width:25vw;
        height: 18.75vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list>ul>li .ph img {
        width:400px;
        height: 300px;
        border-radius: 3px;
        object-fit: cover;
        object-position: center;
        font-family: "object-fit: cover; object-position: center;"
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list>ul>li .ph img {
        width:25vw;
        height: 18.75vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list>ul>li .cat {
        margin-bottom:23px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list>ul>li .cat {
        margin-bottom:1.4375vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list>ul>li .cat ul {
        display:flex;
        flex-wrap: wrap;
        margin-bottom: -10px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list>ul>li .cat ul {
        margin-bottom:-.625vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list>ul>li .cat ul li {
        margin-right:15px;
        margin-bottom: 10px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list>ul>li .cat ul li {
        margin-right:.9375vw;
        margin-bottom: .625vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list>ul>li .cat ul li a {
        padding:0 15px;
        height: 32px;
        font-size: 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f7f7f7;
        color: #ee3031;
        white-space: nowrap
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list>ul>li .cat ul li a {
        padding:0 .9375vw;
        height: 2vw;
        font-size: 1vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list>ul>li h4 {
        margin-bottom:13px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list>ul>li h4 {
        margin-bottom:.8125vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list>ul>li h4 a {
        display:-webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        font-size: 22px;
        line-height: 1.5454545455em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list>ul>li h4 a {
        font-size:1.375vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list>ul>li .company {
        margin-bottom:10px;
        font-size: 18px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.6666666667em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list>ul>li .company {
        margin-bottom:.625vw;
        font-size: 1.125vw
    }
}

@media (min-width: 751px) {
    #page_blog #s_blog .p_blog_list>ul>li .date {
        font-size:16px;
        color: #4c4c4c;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.875em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_blog #s_blog .p_blog_list>ul>li .date {
        font-size:1vw
    }
}

@media (min-width: 751px) {
    #page_news #s_news {
        background-color:#f7f7f7;
        overflow: hidden
    }

    #page_news #s_news #sort_nav {
        padding-top: 20px;
        padding-bottom: 60px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_news #s_news #sort_nav {
        padding-top:1.25vw;
        padding-bottom: 3.75vw
    }
}

@media (min-width: 751px) {
    #page_news #s_news .news_list {
        margin-bottom:100px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_news #s_news .news_list {
        margin-bottom:6.25vw
    }
}

@media (min-width: 751px) {
    #page_news #s_news .news_list.nf ul {
        display:none
    }

    #page_news #s_news .news_list .post_not_found {
        font-size: 16px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_news #s_news .news_list .post_not_found {
        font-size:1vw
    }
}

@media (min-width: 751px) {
    #page_news #s_news .news_list ul {
        border-bottom:1px solid #e8e8e8
    }

    #page_news #s_news .news_list ul li {
        width: 100%;
        border-top: 1px solid #e8e8e8
    }

    #page_news #s_news .news_list ul li a {
        padding-right: 25px;
        height: 84px;
        background-color: #fff;
        display: flex;
        align-items: center;
        border-radius: 3px;
        box-sizing: border-box
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_news #s_news .news_list ul li a {
        padding-right:1.5625vw;
        height: 5.25vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_news #s_news .news_list ul li .date {
        min-width:100px;
        padding-left: 20px;
        font-size: 14px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_news #s_news .news_list ul li .date {
        min-width:6.25vw;
        padding-left: 1.25vw;
        font-size: .875vw
    }
}

@media (min-width: 751px) {
    #page_news #s_news .news_list ul li .cat {
        padding:0 12px;
        height: 32px;
        font-size: 14px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f7f7f7;
        color: #ee3031;
        box-sizing: border-box;
        white-space: nowrap
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_news #s_news .news_list ul li .cat {
        padding:0 .75vw;
        height: 2vw;
        font-size: .875vw
    }
}

@media (min-width: 751px) {
    #page_news #s_news .news_list ul li h4 {
        width:100%;
        padding-left: 20px;
        font-size: 16px;
        line-height: 1.5em;
        box-sizing: border-box;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-weight: 700
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_news #s_news .news_list ul li h4 {
        padding-left:1.25vw;
        font-size: 1vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single,#page_single_case #s_single,#page_single_blog #s_single {
        padding-top:80px;
        overflow: hidden
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single,#page_single_case #s_single,#page_single_blog #s_single {
        padding-top:5vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .s_inner,#page_single_case #s_single .s_inner,#page_single_blog #s_single .s_inner {
        width:calc(100vw - 590px);
        margin: 0 auto;
        padding: 0 120px;
        padding-top: 90px;
        margin-bottom: 80px;
        background-color: #fff;
        box-sizing: border-box;
        border-radius: 3px;
        overflow: hidden
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .s_inner,#page_single_case #s_single .s_inner,#page_single_blog #s_single .s_inner {
        width:63.125vw;
        padding: 0 7.5vw;
        padding-top: 5.625vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .post_inner,#page_single_case #s_single .post_inner,#page_single_blog #s_single .post_inner {
        width:760px;
        margin: 0 auto
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .post_inner,#page_single_case #s_single .post_inner,#page_single_blog #s_single .post_inner {
        width:47.5vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .post_inner .btn.more,#page_single_case #s_single .post_inner .btn.more,#page_single_blog #s_single .post_inner .btn.more {
        margin-top:-40px;
        margin-bottom: 100px;
        display: flex;
        justify-content: center
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .post_inner .btn.more,#page_single_case #s_single .post_inner .btn.more,#page_single_blog #s_single .post_inner .btn.more {
        margin-top:-2.5vw;
        margin-bottom: 6.25vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_title h1,#page_single_case #s_single .p_title h1,#page_single_blog #s_single .p_title h1 {
        font-size:32px;
        line-height: 1.5625em;
        margin-bottom: 28px;
        font-feature-settings: inherit;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_title h1,#page_single_case #s_single .p_title h1,#page_single_blog #s_single .p_title h1 {
        font-size:2vw;
        margin-bottom: 1.75vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_title .company,#page_single_case #s_single .p_title .company,#page_single_blog #s_single .p_title .company {
        font-size:18px;
        margin-bottom: 18px;
        line-height: 1em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_title .company,#page_single_case #s_single .p_title .company,#page_single_blog #s_single .p_title .company {
        font-size:1.125vw;
        margin-bottom: 1.125vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_title .info,#page_single_case #s_single .p_title .info,#page_single_blog #s_single .p_title .info {
        width:100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-bottom: 45px;
        position: relative
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_title .info,#page_single_case #s_single .p_title .info,#page_single_blog #s_single .p_title .info {
        margin-bottom:2.8125vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_title .info .date,#page_single_case #s_single .p_title .info .date,#page_single_blog #s_single .p_title .info .date {
        font-size:16px;
        line-height: 1em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_title .info .date,#page_single_case #s_single .p_title .info .date,#page_single_blog #s_single .p_title .info .date {
        font-size:1vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_title .info .type,#page_single_case #s_single .p_title .info .type,#page_single_blog #s_single .p_title .info .type {
        font-size:16px;
        line-height: 1em;
        margin-right: 20px;
        padding-bottom: 30px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_title .info .type,#page_single_case #s_single .p_title .info .type,#page_single_blog #s_single .p_title .info .type {
        margin-right:.625vw;
        padding-bottom: 1.875vw;
        font-size: 1vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_title .info .cat_list,#page_single_case #s_single .p_title .info .cat_list,#page_single_blog #s_single .p_title .info .cat_list {
        position:relative;
        top: -8px;
        right: 0
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_title .info .cat_list,#page_single_case #s_single .p_title .info .cat_list,#page_single_blog #s_single .p_title .info .cat_list {
        top:-.5vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_title .info .cat_list ul,#page_single_case #s_single .p_title .info .cat_list ul,#page_single_blog #s_single .p_title .info .cat_list ul {
        margin-left:-10px;
        display: flex;
        justify-content: flex-end
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_title .info .cat_list ul,#page_single_case #s_single .p_title .info .cat_list ul,#page_single_blog #s_single .p_title .info .cat_list ul {
        margin-left:-.625vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_title .info .cat_list ul li,#page_single_case #s_single .p_title .info .cat_list ul li,#page_single_blog #s_single .p_title .info .cat_list ul li {
        margin-left:10px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_title .info .cat_list ul li,#page_single_case #s_single .p_title .info .cat_list ul li,#page_single_blog #s_single .p_title .info .cat_list ul li {
        margin-left:.625vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_title .info .cat_list ul li a,#page_single_case #s_single .p_title .info .cat_list ul li a,#page_single_blog #s_single .p_title .info .cat_list ul li a {
        padding:0 15px;
        height: 32px;
        font-size: 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f7f7f7;
        color: #ee3031;
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_title .info .cat_list ul li a,#page_single_case #s_single .p_title .info .cat_list ul li a,#page_single_blog #s_single .p_title .info .cat_list ul li a {
        padding:0 .9375vw;
        height: 2vw;
        font-size: 1vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .eyecatch,#page_single_case #s_single .eyecatch,#page_single_blog #s_single .eyecatch {
        margin-bottom:60px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .eyecatch,#page_single_case #s_single .eyecatch,#page_single_blog #s_single .eyecatch {
        margin-bottom:3.75vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .eyecatch p,#page_single_case #s_single .eyecatch p,#page_single_blog #s_single .eyecatch p {
        width:100%;
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .eyecatch p,#page_single_case #s_single .eyecatch p,#page_single_blog #s_single .eyecatch p {
        border-radius:.1875vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .eyecatch p img,#page_single_case #s_single .eyecatch p img,#page_single_blog #s_single .eyecatch p img {
        width:100%;
        max-height: 760px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .eyecatch p img,#page_single_case #s_single .eyecatch p img,#page_single_blog #s_single .eyecatch p img {
        max-height:47.5vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_index,#page_single_case #s_single .p_index,#page_single_blog #s_single .p_index {
        padding:30px;
        padding-bottom: 25px;
        margin-bottom: 60px;
        border: 1px solid #e8e8e8;
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_index,#page_single_case #s_single .p_index,#page_single_blog #s_single .p_index {
        padding:1.875vw;
        padding-bottom: 1.5625vw;
        margin-bottom: 3.75vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_index h3,#page_single_case #s_single .p_index h3,#page_single_blog #s_single .p_index h3 {
        font-size:18px;
        margin-bottom: 15px;
        line-height: 1em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_index h3,#page_single_case #s_single .p_index h3,#page_single_blog #s_single .p_index h3 {
        font-size:1.125vw;
        margin-bottom: .9375vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_index ul li,#page_single_case #s_single .p_index ul li,#page_single_blog #s_single .p_index ul li {
        margin-bottom:5px;
        display: table;
        font-size: 18px;
        line-height: 1em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_index ul li,#page_single_case #s_single .p_index ul li,#page_single_blog #s_single .p_index ul li {
        margin-bottom:.3125vw;
        font-size: 1.125vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_index ul li:last-child,#page_single_case #s_single .p_index ul li:last-child,#page_single_blog #s_single .p_index ul li:last-child {
        margin-bottom:0
    }

    #page_single_news #s_single .p_index ul li .num,#page_single_case #s_single .p_index ul li .num,#page_single_blog #s_single .p_index ul li .num {
        display: none;
        position: relative
    }



    #page_single_news #s_single .p_index ul li a,#page_single_case #s_single .p_index ul li a,#page_single_blog #s_single .p_index ul li a {
        display: table-cell;
        color: #ee3031;
        line-height: 1.5em
    }

    #page_single_news #s_single .p_txt h2,#page_single_case #s_single .p_txt h2,#page_single_blog #s_single .p_txt h2 {
        margin-top: -8px;
        font-weight: 700;
        margin-bottom: 25px;
        font-size: 24px;
        line-height: 1.6em
    }

    .is_sp #page_single_news #s_single .p_txt h2,.is_sp #page_single_case #s_single .p_txt h2,.is_sp #page_single_blog #s_single .p_txt h2 {
        font-weight: 600 !important
    }
	
	    #page_single_news #s_single .p_txt h3,#page_single_case #s_single .p_txt h3,#page_single_blog #s_single .p_txt h3 {
        margin-top: -8px;
        font-weight: 700;
        margin-bottom: 25px;
        font-size: 20px;
        line-height: 1.6em
    }

    .is_sp #page_single_news #s_single .p_txt h3,.is_sp #page_single_case #s_single .p_txt h3,.is_sp #page_single_blog #s_single .p_txt h3 {
        font-weight: 600 !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_txt h2,#page_single_case #s_single .p_txt h2,#page_single_blog #s_single .p_txt h2 {
        margin-top:-.5vw;
        margin-bottom: 1.5625vw;
        font-size: 1.45vw
    }
	
	    #page_single_news #s_single .p_txt h3,#page_single_case #s_single .p_txt h3,#page_single_blog #s_single .p_txt h3 {
        margin-top:-.5vw;
        margin-bottom: 1.2vw;
        font-size: 1.2vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_txt p,#page_single_case #s_single .p_txt p,#page_single_blog #s_single .p_txt p {
        margin-bottom:2em;
        font-size: 18px;
        line-height: 1.7777777778em;
        text-align: justify;
        text-justify: inter-ideograph
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_txt p,#page_single_case #s_single .p_txt p,#page_single_blog #s_single .p_txt p {
        font-size:1.125vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_txt a,#page_single_case #s_single .p_txt a,#page_single_blog #s_single .p_txt a {
        color:#ee3031
    }

    #page_single_news #s_single .p_img,#page_single_case #s_single .p_img,#page_single_blog #s_single .p_img {
        margin-top: -5px;
        margin-bottom: 60px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_img,#page_single_case #s_single .p_img,#page_single_blog #s_single .p_img {
        margin-top:-.3125vw;
        margin-bottom: 3.75vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_img p,#page_single_case #s_single .p_img p,#page_single_blog #s_single .p_img p {
        width:100%;
        text-align: center;
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_img p,#page_single_case #s_single .p_img p,#page_single_blog #s_single .p_img p {
        border-radius:.1875vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_img p img,#page_single_case #s_single .p_img p img,#page_single_blog #s_single .p_img p img {
        max-width:100%;
        max-height: 760px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_img p img,#page_single_case #s_single .p_img p img,#page_single_blog #s_single .p_img p img {
        max-height:47.5vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_img p.s75 img,#page_single_case #s_single .p_img p.s75 img,#page_single_blog #s_single .p_img p.s75 img {
        max-width:75%
    }

    #page_single_news #s_single .p_img p.s50 img,#page_single_case #s_single .p_img p.s50 img,#page_single_blog #s_single .p_img p.s50 img {
        max-width: 50%
    }

    #page_single_news #s_single .p_img p .caption,#page_single_case #s_single .p_img p .caption,#page_single_blog #s_single .p_img p .caption {
        margin-top: 12px;
        display: block;
        text-align: right;
        font-size: 14px;
        line-height: 1.777em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_img p .caption,#page_single_case #s_single .p_img p .caption,#page_single_blog #s_single .p_img p .caption {
        margin-top:.75vw;
        font-size: .875vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_yt,#page_single_case #s_single .p_yt,#page_single_blog #s_single .p_yt {
        margin-top:-5px;
        margin-bottom: 60px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_yt,#page_single_case #s_single .p_yt,#page_single_blog #s_single .p_yt {
        margin-top:-.3125vw;
        margin-bottom: 3.75vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_yt iframe,#page_single_case #s_single .p_yt iframe,#page_single_blog #s_single .p_yt iframe {
        width:760px;
        height: 427px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_yt iframe,#page_single_case #s_single .p_yt iframe,#page_single_blog #s_single .p_yt iframe {
        width:47.5vw;
        height: 26.6875vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_share,#page_single_case #s_single .p_share,#page_single_blog #s_single .p_share {
        margin-top:-5px;
        margin-bottom: 100px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_share,#page_single_case #s_single .p_share,#page_single_blog #s_single .p_share {
        margin-top:-.3125vw;
        margin-bottom: 6.25vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_share h5,#page_single_case #s_single .p_share h5,#page_single_blog #s_single .p_share h5 {
        font-size:12px;
        margin-bottom: 15px;
        letter-spacing: 0;
        text-align: center;
        line-height: 1em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_share h5,#page_single_case #s_single .p_share h5,#page_single_blog #s_single .p_share h5 {
        font-size:.75vw;
        margin-bottom: .9375vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_share .list ul,#page_single_case #s_single .p_share .list ul,#page_single_blog #s_single .p_share .list ul {
        display:flex;
        justify-content: center
    }

    #page_single_news #s_single .p_share .list ul li,#page_single_case #s_single .p_share .list ul li,#page_single_blog #s_single .p_share .list ul li {
        margin: 0 15px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_share .list ul li,#page_single_case #s_single .p_share .list ul li,#page_single_blog #s_single .p_share .list ul li {
        margin:0 .9375vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_share .list ul img,#page_single_case #s_single .p_share .list ul img,#page_single_blog #s_single .p_share .list ul img {
        width:50px;
        height: 50px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_share .list ul img,#page_single_case #s_single .p_share .list ul img,#page_single_blog #s_single .p_share .list ul img {
        width:3.125vw;
        height: 3.125vw
    }
}

@media (min-width: 751px) {
    #page_single_news #s_single .p_txt+.p_share,#page_single_case #s_single .p_txt+.p_share,#page_single_blog #s_single .p_txt+.p_share {
        margin-top:55px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #s_single .p_txt+.p_share,#page_single_case #s_single .p_txt+.p_share,#page_single_blog #s_single .p_txt+.p_share {
        margin-top:3.4375vw
    }
}

@media (min-width: 751px) {
    #page_single_news #related_posts,#page_single_case #related_posts,#page_single_blog #related_posts {
        padding-top:80px;
        padding-bottom: 80px;
        background-color: #f7f7f7
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #related_posts,#page_single_case #related_posts,#page_single_blog #related_posts {
        padding-top:5vw;
        padding-bottom: 5vw
    }
}

@media (min-width: 751px) {
    #page_single_news #related_posts h3,#page_single_case #related_posts h3,#page_single_blog #related_posts h3 {
        font-size:32px;
        margin-bottom: 40px;
        text-align: center;
        line-height: 1em
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #page_single_news #related_posts h3,#page_single_case #related_posts h3,#page_single_blog #related_posts h3 {
        font-size:2vw;
        margin-bottom: 2.5vw
    }
}

@media (min-width: 751px) {
    #page_single_news #related_posts .btn,#page_single_case #related_posts .btn,#page_single_blog #related_posts .btn {
        display:flex;
        justify-content: center
    }
}

@media (min-width: 751px) {
    #s_function #s_about {
        padding-top:80px;
        overflow: hidden;
        background-color: #fae8e8
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about {
        padding-top:5vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .row {
        height:444px;
        margin-bottom: 60px;
        display: flex;
        justify-content: space-between;
        align-items: center
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .row {
        height:27.75vw;
        margin-bottom: 3.75vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .row.rev {
        flex-direction:row-reverse
    }

    #s_function #s_about .row .l {
        width: 631px;
        height: 444px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .row .l {
        width:39.4375vw;
        height: 27.75vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .row .l img {
        width:631px;
        height: 444px;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .row .l img {
        width:39.4375vw;
        height: 27.75vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .row .r {
        width:425px;
        position: relative;
        z-index: 2
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .row .r {
        width:26.5625vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .row .r h2 {
        margin-bottom:20px;
        font-size: 32px;
        line-height: 1.5625em;
        white-space: nowrap;
        font-feature-settings: inherit;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .row .r h2 {
        margin-bottom:1.25vw;
        font-size: 2vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .row .r .desc {
        width:425px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .row .r .desc {
        width:26.5625vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .row .r .desc p {
        font-size:22px;
        line-height: 1.7272727273em;
        text-align: justify;
        text-justify: inter-ideograph
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .row .r .desc p {
        font-size:1.375vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .row.rev .r {
        right:-50px;
        left: inherit
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .row.rev .r {
        right:-3.125vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .subject {
        background-color:#fff;
        margin-bottom: 80px;
        border-radius: 3px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .subject {
        margin-bottom:5vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .subject .inner {
        padding:50px;
        padding-bottom: 45px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .subject .inner {
        padding:3.125vw;
        padding-bottom: 2.8125vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .subject .inner h3 {
        font-feature-settings:inherit;
        color: #ee3031;
        font-size: 22px;
        margin-bottom: 15px;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .subject .inner h3 {
        font-size:1.3125vw;
        margin-bottom: .9375vw
    }
}

@media (min-width: 751px) {
    #s_function #s_about .subject .inner .t_inner {
        display:block !important
    }

    #s_function #s_about .subject .inner .t_inner p {
        font-size: 18px;
        line-height: 1.7777777778em;
        text-align: justify;
        text-justify: inter-ideograph
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_about .subject .inner .t_inner p {
        font-size:1.125vw
    }
}

@media (min-width: 751px) {
    #s_function #s_point {
        padding-top:80px;
        padding-bottom: 80px;
        background-color: #fff
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_point {
        padding-top:5vw;
        padding-bottom: 5vw
    }
}

@media (min-width: 751px) {
    #s_function #s_point .list ul {
        display:flex;
        justify-content: center
    }

    #s_function #s_point .list ul li {
        width: 315px;
        margin: 0 15px;
        padding: 0 30px;
        padding-bottom: 25px;
        padding-top: 40px;
        border-radius: 3px;
        background-color: #f9f9f9;
        text-align: center;
        box-sizing: border-box
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_point .list ul li {
        width:19.6875vw;
        /*min-height: 29.375vw;*/
        margin: 0 .9375vw;
        padding: 0 1.875vw;
        padding-top: 2.5vw;
        padding-bottom: 1.5625vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #s_function #s_point .list ul li .num {
        color:#ee3031;
        font-size: 18px;
        letter-spacing: .06em;
        margin-bottom: 15px;
        display: flex;
        justify-content: center;
        align-items: center
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_point .list ul li .num {
        font-size:1.125vw;
        margin-bottom: .9375vw
    }
}

@media (min-width: 751px) {
    #s_function #s_point .list ul li .num .l {
        font-size:40px;
        margin-left: 8px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_point .list ul li .num .l {
        font-size:2.5vw;
        margin-left: .5vw
    }
}

@media (min-width: 751px) {
    #s_function #s_point .list ul li h3 {
        font-size:24px;
        line-height: 1.3333333333em;
        padding-bottom: 25px;
        margin-bottom: 20px;
        font-feature-settings: inherit;
        border-bottom: 2px solid #e8e8e8;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
        white-space: nowrap;
        position: relative
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_point .list ul li h3 {
        font-size:1.5vw;
        padding-bottom: 1.5625vw;
        margin-bottom: 1.25vw;
        border-bottom: .125vw solid #e8e8e8
    }
}

@media (min-width: 751px) {
    #s_function #s_point .list ul li .desc p {
        font-size:18px;
        line-height: 1.7777777778em;
        text-align: justify;
        text-justify: inter-ideograph
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_point .list ul li .desc p {
        font-size:1.125vw
    }
}

@media (min-width: 751px) {
    #s_function #s_case_study {
        padding-top:80px;
        padding-bottom: 80px;
        background-color: #f7f7f7
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_case_study {
        padding-top:5vw;
        padding-bottom: 5vw
    }
}

@media (min-width: 751px) {
    #s_function #s_case_study h3 {
        margin-bottom:40px;
        font-size: 32px;
        text-align: center;
        line-height: 1em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_case_study h3 {
        margin-bottom:2.5vw;
        font-size: 2vw
    }
}

@media (min-width: 751px) {
    #s_function #s_case_study .desc {
        margin-bottom:30px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_case_study .desc {
        margin-bottom:1.875vw
    }
}

@media (min-width: 751px) {
    #s_function #s_case_study .desc p {
        font-size:18px;
        line-height: 2.2222222222em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_case_study .desc p {
        font-size:1.125vw
    }
}

@media (min-width: 751px) {
    #s_function #s_case_study .btn {
        display:flex;
        justify-content: center
    }

    #s_function #s_qa {
        padding-top: 80px;
        padding-bottom: 80px;
        background-color: #fff;
        overflow: hidden
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_qa {
        padding-top:5vw;
        padding-bottom: 5vw
    }
}

@media (min-width: 751px) {
    #s_function #s_qa h3 {
        margin-bottom:40px;
        font-size: 32px;
        text-align: center;
        line-height: 1em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_qa h3 {
        margin-bottom:2.5vw;
        font-size: 2vw
    }
}

@media (min-width: 751px) {
    #s_function #s_qa .qa_list ul li {
        margin-bottom:30px;
        border: 1px solid #e8e8e8;
        border-radius: 3px;
        text-align: center
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_qa .qa_list ul li {
        margin-bottom:1.875vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #s_function #s_qa .qa_list ul li:last-child {
        margin-bottom:0
    }

    #s_function #s_qa .qa_list ul li h5 {
        font-size: 16px;
        line-height: 1.875em;
        padding: 24px 0;
        padding-left: 65px;
        padding-right: 80px;
        position: relative;
        border-radius: 3px;
        background-color: #f7f7f7;
        text-align: justify;
        text-justify: inter-ideograph;
        cursor: pointer
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_qa .qa_list ul li h5 {
        font-size:1vw;
        padding: 1.5vw 0;
        padding-left: 4.0625vw;
        padding-right: 5vw;
        border-radius: .1875vw
    }
}

@media (min-width: 751px) {
    #s_function #s_qa .qa_list ul li h5:before {
        content:'Q';
        line-height: 1em;
        font-family: 'Montserrat', sans-serif !important;
        font-size: 24px;
        margin-right: 10px;
        position: absolute;
        top: 50%;
        left: 30px;
        transform: translateY(-50%)
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_qa .qa_list ul li h5:before {
        font-size:1.5vw;
        margin-right: .625vw;
        left: 1.875vw
    }
}

@media (min-width: 751px) {
    #s_function #s_qa .qa_list ul li h5:after {
        content:'';
        width: 20px;
        height: 20px;
        background-image: url(../images/parts_plus.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        display: block;
        position: absolute;
        top: 50%;
        right: 30px;
        transform: translateY(-50%)
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_qa .qa_list ul li h5:after {
        width:1.25vw;
        height: 1.25vw;
        right: 1.875vw
    }
}

@media (min-width: 751px) {
    #s_function #s_qa .qa_list ul li .ans {
        display:block;
        padding-top: 24px;
        padding-bottom: 25px;
        padding-left: 65px;
        padding-right: 50px;
        position: relative;
        border-top: 1px solid #e8e8e8
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_qa .qa_list ul li .ans {
        padding-top:1.5vw;
        padding-bottom: 1.5625vw;
        padding-left: 4.0625vw;
        padding-right: 3.125vw
    }
}

@media (min-width: 751px) {
    #s_function #s_qa .qa_list ul li .ans:before {
        content:'A';
        display: block;
        line-height: 1em;
        font-family: 'Montserrat', sans-serif !important;
        font-size: 24px;
        margin-right: 10px;
        position: absolute;
        top: 27px;
        left: 30px
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_qa .qa_list ul li .ans:before {
        font-size:1.5vw;
        margin-right: .625vw;
        top: 1.6875vw;
        left: 1.875vw
    }
}

@media (min-width: 751px) {
    #s_function #s_qa .qa_list ul li .ans .desc {
        text-align:left
    }

    #s_function #s_qa .qa_list ul li .ans .desc p {
        font-size: 16px;
        line-height: 1.875em;
        text-align: justify;
        text-justify: inter-ideograph
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_qa .qa_list ul li .ans .desc p {
        font-size:1vw
    }
}

@media (min-width: 751px) {
    #s_function #s_qa .qa_list ul li .ans .close {
        margin-top:20px;
        padding: 3px 0;
        padding-left: 25px;
        margin-left: -35px;
        display: inline-block;
        text-align: center;
        font-size: 16px;
        background-image: url(../images/parts_close.svg);
        background-size: 15px;
        background-position: left center;
        background-repeat: no-repeat;
        cursor: pointer
    }
}

@media (min-width: 751px) and (max-width: 1600px) {
    #s_function #s_qa .qa_list ul li .ans .close {
        padding:.1875vw 0;
        margin-top: 1.25vw;
        padding-left: 1.5625vw;
        margin-left: -2.1875vw;
        font-size: 1vw;
        background-size: .9375vw;
        background-position: left center
    }
}

@media screen and (max-width: 750px) {
    #page_index h2.ff-j {
        font-size:8vw;
        text-align: center;
        line-height: 1em
    }

    #page_index h2.ff-j .en {
        margin-top: 0vw;
        font-size: 3.7333333333vw;
        display: block;
        letter-spacing: .06em;
        color: #ee3031
    }

    #page_index #s_kv {
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        position: relative;
        text-align: center
    }

    .is_pc #page_index #s_kv {
        min-height: 480px
    }

    #page_index #s_kv .tagline {
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #f9e5e6;
        color: #ee3031;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
        width: 38.3893442623vh;
        height: 6.618852459vh;
        margin-top: 5.5737704918vh;
        margin-bottom: 2.0901639344vh;
        font-size: 2.7868852459vh;
        border-radius: 6.618852459vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .tagline {
        width:468.35px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .tagline {
        width:184.268852459px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .tagline {
        width:62.4466666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .tagline {
        height:80.75px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .tagline {
        height:31.7704918033px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .tagline {
        height:10.7666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .tagline {
        margin-top:68px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .tagline {
        margin-top:26.7540983607px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .tagline {
        margin-top:9.0666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .tagline {
        margin-bottom:25.5px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .tagline {
        margin-bottom:10.0327868852px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .tagline {
        margin-bottom:3.4vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .tagline {
        font-size:34px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .tagline {
        font-size:13.3770491803px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .tagline {
        font-size:4.5333333333vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .tagline {
        border-radius:80.75px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .tagline {
        border-radius:31.7704918033px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .tagline {
        border-radius:10.7666666667vw
    }
}

@media screen and (max-width: 750px) {
    #page_index #s_kv h1 {
        line-height:1.4615384615em;
        font-feature-settings: inherit;
        font-size: 4.5286885246vh;
        margin-bottom: .3483606557vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv h1 {
        font-size:55.25px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv h1 {
        font-size:21.737704918px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv h1 {
        font-size:7.3666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv h1 {
        margin-bottom:4.25px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv h1 {
        margin-bottom:1.6721311475px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv h1 {
        margin-bottom:.5666666667vw
    }
}

@media screen and (max-width: 750px) {
    #page_index #s_kv .im {
        position:relative;
        width: 47.5860655738vh;
        height: 38.8770491803vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .im {
        width:580.55px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .im {
        width:228.4131147541px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .im {
        width:77.4066666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .im {
        height:474.3px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .im {
        height:186.6098360656px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .im {
        height:63.24vw
    }
}

@media screen and (max-width: 750px) {
    #page_index #s_kv .i {
        position:absolute;
        width: 47.5860655738vh;
        height: 38.8770491803vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .i {
        width:580.55px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .i {
        width:228.4131147541px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .i {
        width:77.4066666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .i {
        height:474.3px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .i {
        height:186.6098360656px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .i {
        height:63.24vw
    }
}

@media screen and (max-width: 750px) {
    #page_index #s_kv .i.a {
        z-index:3
    }

    #page_index #s_kv .i.b {
        z-index: 2;
        image-rendering: crisp-edges
    }

    #page_index #s_kv .i.c {
        z-index: 1;
        mix-blend-mode: multiply;
        image-rendering: crisp-edges
    }

    #page_index #s_kv .i p {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0
    }

    #page_index #s_kv .i p img {
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        width: 47.5860655738vh;
        height: 38.8770491803vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .i p img {
        width:580.55px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .i p img {
        width:228.4131147541px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .i p img {
        width:77.4066666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .i p img {
        height:474.3px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .i p img {
        height:186.6098360656px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .i p img {
        height:63.24vw
    }
}

@media screen and (max-width: 750px) {
    #page_index #s_kv .ico_scroll {
        line-height:0;
        position: absolute;
        z-index: 2;
        bottom: -4.8770491803vh;
        right: -2.7868852459vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .ico_scroll {
        bottom:-59.5px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .ico_scroll {
        bottom:-23.4098360656px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .ico_scroll {
        bottom:-7.9333333333vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .ico_scroll {
        right:-34px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .ico_scroll {
        right:-13.3770491803px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .ico_scroll {
        right:-4.5333333333vw
    }
}

@media screen and (max-width: 750px) {
    #page_index #s_kv .ico_scroll .t {
        line-height:0;
        display: block;
        letter-spacing: .1em;
        position: relative;
        transform: rotate(90deg) translateX(-100%);
        transform-origin: top left;
        margin-bottom: 1.393442623vh;
        font-size: 1.393442623vh;
        left: .1393442623vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .ico_scroll .t {
        margin-bottom:17px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .ico_scroll .t {
        margin-bottom:6.6885245902px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .ico_scroll .t {
        margin-bottom:2.2666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .ico_scroll .t {
        font-size:17px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .ico_scroll .t {
        font-size:6.6885245902px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .ico_scroll .t {
        font-size:2.2666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .ico_scroll .t {
        left:1.7px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .ico_scroll .t {
        left:.668852459px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .ico_scroll .t {
        left:.2266666667vw
    }
}

@media screen and (max-width: 750px) {
    #page_index #s_kv .ico_scroll .l {
        background-color:#d8d8d8;
        display: block;
        width: .2786885246vh;
        height: 9.7540983607vh;
        border-radius: .2786885246vh
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .ico_scroll .l {
        width:3.4px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .ico_scroll .l {
        width:1.337704918px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .ico_scroll .l {
        width:.4533333333vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .ico_scroll .l {
        height:119px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .ico_scroll .l {
        height:46.8196721311px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .ico_scroll .l {
        height:15.8666666667vw
    }
}

@media screen and (max-width: 750px) and (min-height: 1220px) {
    #page_index #s_kv .ico_scroll .l {
        border-radius:3.4px
    }
}

@media screen and (max-width: 750px) and (max-height: 480px) {
    #page_index #s_kv .ico_scroll .l {
        border-radius:1.337704918px
    }
}

@media screen and (max-width: 750px) and (max-aspect-ratio: 75 / 122) {
    #page_index #s_kv .ico_scroll .l {
        border-radius:.4533333333vw
    }
}

@media screen and (max-width: 750px) {
    #page_index #s_kv._out .c_bg {
        display:none
    }

    #page_index #s_about {
        padding-top: 16vw;
        padding-bottom: 14vw;
        background-color: #f7f7f7
    }

    #page_index #s_about .row {
        display: flex;
        flex-direction: column-reverse
    }

    #page_index #s_about .row h2 {
        margin-bottom: 3.3333333333vw;
        white-space: nowrap
    }

    #page_index #s_about .row h2 .e {
        font-size: 8.2666666667vw
    }

    #page_index #s_about .row.a {
        margin-bottom: 13.3333333333vw;
        align-items: center
    }

    #page_index #s_about .row.a .desc {
        padding: 0 8vw
    }

    #page_index #s_about .row.a .desc p {
        font-size: 5.6vw;
        line-height: 1.6666666667em;
        text-align: justify;
        text-justify: inter-ideograph
    }

    #page_index #s_about .row.a .l {
        position: relative;
        z-index: 2
    }

    #page_index #s_about .row.a .r .i {
        width: 84vw;
        height: 57.3333333333vw;
        margin-bottom: 12vw
    }

    #page_index #s_about .row.a .r .i img {
        width: 84vw;
        height: 57.3333333333vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        border-radius: .4vw
    }

    #page_index #s_about .row.b {
        display: flex;
        flex-direction: column
    }

    #page_index #s_about .row.b .c {
        padding: 0 8vw;
        margin-bottom: 14.6666666667vw
    }

    #page_index #s_about .row.b .c:last-child {
        margin-bottom: 0
    }

    #page_index #s_about .row.b .i {
        width: 100%;
        height: 54.6666666667vw;
        margin-bottom: 5.3333333333vw
    }

    #page_index #s_about .row.b .i img {
        width: 100%;
        height: 54.6666666667vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }

    #page_index #s_about .row.b h3 {
        margin-bottom: 2.9333333333vw;
        font-size: 5.6vw;
        color: #ee3031;
        line-height: 1.4761904762em
    }

    #page_index #s_about .row.b .desc p {
        font-size: 4.8vw;
        line-height: 1.6111111111em;
        text-align: justify;
        text-justify: inter-ideograph
    }

    #page_index #s_about .row.b .desc .s {
        margin-top: 3.3333333333vw;
        font-size: 4vw;
        line-height: 1.6em;
        letter-spacing: .06em
    }

    #page_index #s_service {
        padding-top: 16vw;
        padding-bottom: 14vw;
        background-color: #fff
    }

    #page_index #s_service h2 {
        margin-bottom: 8vw
    }

    #page_index #s_service .row {
        display: flex;
        flex-direction: column;
        padding: 0 8vw;
        margin-bottom: 9.3333333333vw
    }

    #page_index #s_service .row:last-child {
        margin-bottom: 0
    }

    #page_index #s_service .row .i {
        width: 100%;
        height: 58.6666666667vw;
        margin-bottom: 5.3333333333vw
    }

    #page_index #s_service .row .i img {
        width: 100%;
        height: 58.6666666667vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        border-radius: .4vw
    }

    #page_index #s_service .row h3 {
        margin-bottom: 2.9333333333vw;
        font-size: 5.6vw;
        color: #ee3031;
        line-height: 1.4761904762em
    }

    #page_index #s_service .row .desc p {
        font-size: 4.8vw;
        line-height: 1.6111111111em;
        text-align: justify;
        text-justify: inter-ideograph
    }

    #page_index #s_service .row .desc .s {
        margin-top: 3.3333333333vw;
        font-size: 4vw;
        line-height: 1.6em;
        letter-spacing: .06em
    }

    #page_index #s_main_features {
        padding-top: 16vw;
        padding-bottom: 16vw
    }

    #page_index #s_main_features h2 {
        margin-bottom: 8vw
    }

    #page_index #s_main_features .r_list {
        padding: 0 8vw
    }

    #page_index #s_main_features .r_list.l_b {
        margin-bottom: -10.6666666667vw
    }

    #page_index #s_main_features .r_list .row {
        margin-bottom: 10.6666666667vw
    }

    #page_index #s_main_features .r_list .row .l {
        position: relative;
        z-index: 2
    }

    #page_index #s_main_features .r_list .row .l .i {
        width: 74.6666666667vw;
        height: 63.0666666667vw;
        margin: 0 auto
    }

    #page_index #s_main_features .r_list .row .l .i img {
        width: 74.6666666667vw;
        height: 63.0666666667vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }

    #page_index #s_main_features .r_list .row .r {
        width: 100%;
        margin-top: -6.6666666667vw;
        padding: 0 8vw;
        padding-top: 10.4vw;
        padding-bottom: 6.4vw;
        border-radius: .4vw;
        background-color: #fff;
        box-sizing: border-box
    }

    #page_index #s_main_features .r_list .row .r h3 {
        color: #ee3031;
        margin-bottom: 3.7333333333vw;
        font-size: 5.6vw;
        line-height: 1em
    }

    #page_index #s_main_features .r_list .row .r .desc p {
        font-size: 4.8vw;
        line-height: 1.6111111111em;
        text-align: justify;
        text-justify: inter-ideograph
    }

    #page_index #s_more_features {
        padding-top: 16vw;
        padding-bottom: 16vw;
        background-color: #fff
    }

    #page_index #s_more_features h2 {
        margin-bottom: 8vw
    }

    #page_index #s_more_features .row {
        display: flex;
        flex-direction: column;
        padding: 0 8vw;
        margin-bottom: 10.6666666667vw
    }

    #page_index #s_more_features .row:last-child {
        margin-bottom: 0
    }

    #page_index #s_more_features .row .i {
        width: 100%;
        height: 58.6666666667vw;
        margin-bottom: 5.3333333333vw
    }

    #page_index #s_more_features .row .i img {
        width: 100%;
        height: 58.6666666667vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        border-radius: .4vw
    }

    #page_index #s_more_features .row h3 {
        margin-bottom: 2.9333333333vw;
        font-size: 5.6vw;
        color: #ee3031;
        line-height: 1.4761904762em
    }

    #page_index #s_more_features .row .desc {
        margin-bottom: 4.6666666667vw
    }

    #page_index #s_more_features .row .desc p {
        font-size: 4.8vw;
        line-height: 1.6111111111em;
        text-align: justify;
        text-justify: inter-ideograph
    }

    #page_index #s_more_features .row .desc .s {
        margin-top: 3.3333333333vw;
        font-size: 4vw;
        line-height: 1.6em;
        letter-spacing: .06em
    }

    #page_index #s_more_features .btn {
        display: flex;
        justify-content: center
    }

    #page_index #s_case_study {
        padding: 0 8vw;
        padding-top: 12.6666666667vw;
        padding-bottom: 13.3333333333vw;
        background-color: #fff
    }

    #page_index #s_case_study h3 {
        margin-bottom: 8vw;
        font-size: 6.9333333333vw;
        letter-spacing: .06em;
        color: #ee3031;
        line-height: 1em
    }

    #page_index #s_case_study .desc {
        display: none
    }

    #page_index #s_case_study .btn {
        display: flex;
        justify-content: center
    }

    #page_index #s_blog {
        padding: 0 8vw;
        padding-top: 12.6666666667vw;
        padding-bottom: 13.3333333333vw;
        background-color: #f7f7f7
    }

    #page_index #s_blog h3 {
        margin-bottom: 8vw;
        font-size: 6.9333333333vw;
        letter-spacing: .06em;
        color: #ee3031;
        line-height: 1em
    }

    #page_index #s_blog .desc {
        display: none
    }

    #page_index #s_blog .btn {
        display: flex;
        justify-content: center
    }

    #page_index #s_news {
        padding: 0 8vw;
        padding-top: 12.6666666667vw;
        padding-bottom: 13.3333333333vw;
        background-color: #fff
    }

    #page_index #s_news h3 {
        margin-bottom: 7.3333333333vw;
        font-size: 6.9333333333vw;
        letter-spacing: .06em;
        color: #ee3031;
        line-height: 1em
    }

    #page_index #s_news .news_list {
        margin-bottom: 8vw
    }

    #page_index #s_news .news_list ul {
        border-bottom: .2666666667vw solid #e8e8e8
    }

    #page_index #s_news .news_list ul li {
        width: 100%;
        border-top: .2666666667vw solid #e8e8e8
    }

    #page_index #s_news .news_list ul li a {
        padding: 5.0666666667vw 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        box-sizing: border-box
    }

    #page_index #s_news .news_list ul li .date {
        min-width: 21.3333333333vw;
        font-size: 3.2vw;
        line-height: 1em
    }

    #page_index #s_news .news_list ul li .cat {
        font-size: 3.2vw;
        padding: 1.6vw 2.6666666667vw;
        margin-left: 1.3333333333vw;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f7f7f7;
        color: #ee3031;
        box-sizing: border-box;
        white-space: nowrap;
        line-height: 1em
    }

    .is_sp #page_index #s_news .news_list ul li .cat {
        margin-left: 2.6666666667vw
    }

    #page_index #s_news .news_list ul li h4 {
        margin-top: 2.6666666667vw;
        width: 100%;
        font-size: 4vw;
        box-sizing: border-box;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1em;
        font-weight: 700
    }

    #page_index #s_news .btn {
        display: flex;
        justify-content: center
    }
}

@media screen and (max-width: 750px) {
    #page_case #s_case_study {
        padding:0 8vw;
        background-color: #f7f7f7;
        overflow: hidden
    }

    #page_case #s_case_study #sort_nav {
        padding-top: 5.3333333333vw;
        padding-bottom: 8vw
    }

    #page_case #s_case_study .p_case_list {
        margin-bottom: 2.6666666667vw
    }

    #page_case #s_case_study .p_case_list>ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    #page_case #s_case_study .p_case_list>ul>li {
        width: 100%;
        padding: 0 8vw;
        padding-top: 8vw;
        padding-bottom: 6.6666666667vw;
        margin-bottom: 8vw;
        background-color: #fff;
        box-sizing: border-box
    }

    #page_case #s_case_study .p_case_list>ul>li .ph {
        width: 68vw;
        height: 50.9333333333vw;
        margin-bottom: 4vw;
        border-radius: .4vw;
        overflow: hidden
    }

    #page_case #s_case_study .p_case_list>ul>li .ph img {
        width: 68vw;
        height: 50.9333333333vw;
        border-radius: .4vw;
        object-fit: cover;
        object-position: center;
        font-family: "object-fit: cover; object-position: center;"
    }

    #page_case #s_case_study .p_case_list>ul>li .cat {
        margin-bottom: 4vw
    }

    #page_case #s_case_study .p_case_list>ul>li .cat ul {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: -2.6666666667vw
    }

    #page_case #s_case_study .p_case_list>ul>li .cat ul li {
        margin-right: 2.6666666667vw;
        margin-bottom: 2.6666666667vw
    }

    #page_case #s_case_study .p_case_list>ul>li .cat ul li a {
        padding: 0 2.6666666667vw;
        height: 8.2666666667vw;
        font-size: 3.7333333333vw;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f7f7f7;
        color: #ee3031;
        white-space: nowrap
    }

    #page_case #s_case_study .p_case_list>ul>li h4 {
        margin-bottom: 4vw
    }

    #page_case #s_case_study .p_case_list>ul>li h4 a {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        font-size: 5.0666666667vw;
        line-height: 1.3684210526em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }

    #page_case #s_case_study .p_case_list>ul>li .company {
        margin-bottom: 2vw;
        font-size: 4vw;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.6em
    }

    #page_case #s_case_study .p_case_list>ul>li .type {
        font-size: 3.7333333333vw;
        color: #4c4c4c;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.7142857143em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media screen and (max-width: 750px) {
    #page_blog #s_blog {
        padding:0 8vw;
        background-color: #f7f7f7;
        overflow: hidden
    }

    #page_blog #s_blog #sort_nav {
        padding-top: 5.3333333333vw;
        padding-bottom: 8vw
    }

    #page_blog #s_blog .p_blog_list {
        margin-bottom: 2.6666666667vw
    }

    #page_blog #s_blog .p_blog_list>ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    #page_blog #s_blog .p_blog_list>ul>li {
        width: 100%;
        padding: 0 8vw;
        padding-top: 8vw;
        padding-bottom: 6.6666666667vw;
        margin-bottom: 8vw;
        background-color: #fff;
        box-sizing: border-box
    }

    #page_blog #s_blog .p_blog_list>ul>li .ph {
        width: 68vw;
        height: 50.9333333333vw;
        margin-bottom: 4vw;
        border-radius: .4vw;
        overflow: hidden
    }

    #page_blog #s_blog .p_blog_list>ul>li .ph img {
        width: 68vw;
        height: 50.9333333333vw;
        border-radius: .4vw;
        object-fit: cover;
        object-position: center;
        font-family: "object-fit: cover; object-position: center;"
    }

    #page_blog #s_blog .p_blog_list>ul>li .cat {
        margin-bottom: 4vw
    }

    #page_blog #s_blog .p_blog_list>ul>li .cat ul {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: -2.6666666667vw
    }

    #page_blog #s_blog .p_blog_list>ul>li .cat ul li {
        margin-right: 2.6666666667vw;
        margin-bottom: 2.6666666667vw
    }

    #page_blog #s_blog .p_blog_list>ul>li .cat ul li a {
        padding: 0 2.6666666667vw;
        height: 8.2666666667vw;
        font-size: 3.7333333333vw;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f7f7f7;
        color: #ee3031;
        white-space: nowrap
    }

    #page_blog #s_blog .p_blog_list>ul>li h4 {
        margin-bottom: 4vw
    }

    #page_blog #s_blog .p_blog_list>ul>li h4 a {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        font-size: 5.0666666667vw;
        line-height: 1.3684210526em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }

    #page_blog #s_blog .p_blog_list>ul>li .company {
        margin-bottom: 2vw;
        font-size: 4vw;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.6em
    }

    #page_blog #s_blog .p_blog_list>ul>li .date {
        font-size: 3.7333333333vw;
        color: #4c4c4c;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.7142857143em;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }
}

@media screen and (max-width: 750px) {
    #page_news #s_news {
        background-color:#f7f7f7;
        overflow: hidden
    }

    #page_news #s_news #sort_nav {
        padding-top: 5.3333333333vw;
        padding-bottom: 8vw
    }

    #page_news #s_news .news_list {
        margin-bottom: 10.6666666667vw;
        background-color: #fdfdfd
    }

    #page_news #s_news .news_list.nf {
        background-color: transparent
    }

    #page_news #s_news .news_list.nf ul {
        display: none
    }

    #page_news #s_news .news_list .post_not_found {
        font-size: 4vw;
        padding: 8vw
    }

    #page_news #s_news .news_list ul {
        border-bottom: .2666666667vw solid #e8e8e8
    }

    #page_news #s_news .news_list ul li {
        width: 100%;
        border-top: .2666666667vw solid #e8e8e8;
        box-sizing: border-box
    }

    #page_news #s_news .news_list ul li a {
        padding: 5.0666666667vw 8vw;
        padding-bottom: 4vw;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        box-sizing: border-box
    }

    #page_news #s_news .news_list ul li .date {
        min-width: 21.3333333333vw;
        font-size: 3.2vw;
        line-height: 1em
    }

    #page_news #s_news .news_list ul li .cat {
        font-size: 3.2vw;
        padding: 1.6vw 2.6666666667vw;
        margin-left: 1.3333333333vw;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f7f7f7;
        color: #ee3031;
        box-sizing: border-box;
        white-space: nowrap;
        line-height: 1em
    }

    .is_sp #page_news #s_news .news_list ul li .cat {
        margin-left: 2.6666666667vw
    }

    #page_news #s_news .news_list ul li h4 {
        margin-top: 2.6666666667vw;
        width: 100%;
        font-size: 4vw;
        box-sizing: border-box;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1em;
        font-weight: 700
    }
}

@media screen and (max-width: 750px) {
    #page_single_news #s_single,#page_single_case #s_single,#page_single_blog #s_single {
        overflow:hidden
    }

    #page_single_news #s_single .s_inner,#page_single_case #s_single .s_inner,#page_single_blog #s_single .s_inner {
        padding: 0 8vw;
        padding-top: 22vw;
        margin-bottom: 0;
        background-color: #fff;
        box-sizing: border-box;
        overflow: hidden
    }

    #page_single_news #s_single .post_inner,#page_single_case #s_single .post_inner,#page_single_blog #s_single .post_inner {
        margin: 0 auto
    }

    #page_single_news #s_single .post_inner .btn.more,#page_single_case #s_single .post_inner .btn.more,#page_single_blog #s_single .post_inner .btn.more {
        margin-top: -5.3333333333vw;
        margin-bottom: 13.3333333333vw;
        display: flex;
        justify-content: center
    }

    #page_single_news #s_single .p_title h1,#page_single_case #s_single .p_title h1,#page_single_blog #s_single .p_title h1 {
        font-size: 5.6vw;
        line-height: 1.4761904762em;
        margin-bottom: 1.3333333333vw;
        font-feature-settings: inherit;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }

    #page_single_news #s_single .p_title .company,#page_single_case #s_single .p_title .company,#page_single_blog #s_single .p_title .company {
        font-size: 4.2666666667vw;
        margin-bottom: .6666666667vw;
        line-height: 1.7em
    }

    #page_single_news #s_single .p_title .info,#page_single_case #s_single .p_title .info,#page_single_blog #s_single .p_title .info {
        margin-bottom: 8vw;
        position: relative
    }

    #page_single_news #s_single .p_title .info .date,#page_single_case #s_single .p_title .info .date,#page_single_blog #s_single .p_title .info .date {
        font-size: 3.7333333333vw;
        line-height: 1.7em;
        margin-bottom: 2.6666666667vw
    }

    #page_single_news #s_single .p_title .info .type,#page_single_case #s_single .p_title .info .type,#page_single_blog #s_single .p_title .info .type {
        font-size: 3.7333333333vw;
        line-height: 1.7em;
        margin-bottom: 2.6666666667vw
    }

    #page_single_news #s_single .p_title .info .cat_list ul,#page_single_case #s_single .p_title .info .cat_list ul,#page_single_blog #s_single .p_title .info .cat_list ul {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: -2.6666666667vw
    }

    #page_single_news #s_single .p_title .info .cat_list ul li,#page_single_case #s_single .p_title .info .cat_list ul li,#page_single_blog #s_single .p_title .info .cat_list ul li {
        margin-right: 2.6666666667vw;
        margin-bottom: 2.6666666667vw
    }

    #page_single_news #s_single .p_title .info .cat_list ul li a,#page_single_case #s_single .p_title .info .cat_list ul li a,#page_single_blog #s_single .p_title .info .cat_list ul li a {
        padding: 0 2.6666666667vw;
        height: 8.2666666667vw;
        font-size: 3.7333333333vw;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f7f7f7;
        color: #ee3031;
        white-space: nowrap
    }

    #page_single_news #s_single .eyecatch,#page_single_case #s_single .eyecatch,#page_single_blog #s_single .eyecatch {
        margin-bottom: 8vw
    }

    #page_single_news #s_single .eyecatch p,#page_single_case #s_single .eyecatch p,#page_single_blog #s_single .eyecatch p {
        width: 100%;
        border-radius: .4vw
    }

    #page_single_news #s_single .eyecatch p img,#page_single_case #s_single .eyecatch p img,#page_single_blog #s_single .eyecatch p img {
        width: 100%;
        max-height: 84vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        border-radius: .4vw
    }

    #page_single_news #s_single .p_index,#page_single_case #s_single .p_index,#page_single_blog #s_single .p_index {
        padding: 4vw 5.3333333333vw;
        padding-bottom: 3.3333333333vw;
        margin-bottom: 8vw;
        border: 1px solid #e8e8e8;
        border-radius: .4vw
    }

    #page_single_news #s_single .p_index h3,#page_single_case #s_single .p_index h3,#page_single_blog #s_single .p_index h3 {
        font-size: 4.2666666667vw;
        margin-bottom: 2.6666666667vw;
        line-height: 1em
    }

    #page_single_news #s_single .p_index ul li,#page_single_case #s_single .p_index ul li,#page_single_blog #s_single .p_index ul li {
        margin-bottom: 1.3333333333vw;
        display: table;
        font-size: 4.2666666667vw;
        line-height: 1em
    }

    #page_single_news #s_single .p_index ul li:last-child,#page_single_case #s_single .p_index ul li:last-child,#page_single_blog #s_single .p_index ul li:last-child {
        margin-bottom: 0
    }

    #page_single_news #s_single .p_index ul li .num,#page_single_case #s_single .p_index ul li .num,#page_single_blog #s_single .p_index ul li .num {
        display: none;
        position: relative
    }


    #page_single_news #s_single .p_index ul li a,#page_single_case #s_single .p_index ul li a,#page_single_blog #s_single .p_index ul li a {
        display: table-cell;
        color: #ee3031;
        line-height: 1.5em
    }

    #page_single_news #s_single .p_txt h2,#page_single_case #s_single .p_txt h2,#page_single_blog #s_single .p_txt h2 {
        margin-top: -2vw;
        font-weight: 700;
        margin-bottom: 4vw;
        font-size: 4.8vw;
        line-height: 1.7777777778em
    }

    .is_sp #page_single_news #s_single .p_txt h2,.is_sp #page_single_case #s_single .p_txt h2,.is_sp #page_single_blog #s_single .p_txt h2 {
        font-weight: 600 !important
    }
	
	    #page_single_news #s_single .p_txt h3,#page_single_case #s_single .p_txt h3,#page_single_blog #s_single .p_txt h3 {
        margin-top: -2vw;
        font-weight: 700;
        margin: 1vw 0 1vw 0;
        font-size: 4.4vw;
        line-height: 1.7777777778em
    }

    .is_sp #page_single_news #s_single .p_txt h3,.is_sp #page_single_case #s_single .p_txt h3,.is_sp #page_single_blog #s_single .p_txt h3 {
        font-weight: 600 !important
    }

    #page_single_news #s_single .p_txt p,#page_single_case #s_single .p_txt p,#page_single_blog #s_single .p_txt p {
        margin-bottom: 1em;
        font-size: 4.2666666667vw;
        line-height: 1.875em;
        text-align: justify;
        text-justify: inter-ideograph
    }

    #page_single_news #s_single .p_txt p br,#page_single_case #s_single .p_txt p br,#page_single_blog #s_single .p_txt p br {
        display: inherit !important
    }

    #page_single_news #s_single .p_txt a,#page_single_case #s_single .p_txt a,#page_single_blog #s_single .p_txt a {
        color: #ee3031
    }

    #page_single_news #s_single .p_img,#page_single_case #s_single .p_img,#page_single_blog #s_single .p_img {
        margin-top: 0;
        margin-bottom: 8vw;
        text-align: center
    }

    #page_single_news #s_single .p_img p,#page_single_case #s_single .p_img p,#page_single_blog #s_single .p_img p {
        width: 100%;
        border-radius: .4vw
    }

    #page_single_news #s_single .p_img p img,#page_single_case #s_single .p_img p img,#page_single_blog #s_single .p_img p img {
        max-width: 100%;
        max-height: 84vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;";
        border-radius: .4vw
    }

    #page_single_news #s_single .p_img p.s75 img,#page_single_case #s_single .p_img p.s75 img,#page_single_blog #s_single .p_img p.s75 img {
        max-width: 75%
    }

    #page_single_news #s_single .p_img p.s50 img,#page_single_case #s_single .p_img p.s50 img,#page_single_blog #s_single .p_img p.s50 img {
        max-width: 50%
    }

    #page_single_news #s_single .p_img p .caption,#page_single_case #s_single .p_img p .caption,#page_single_blog #s_single .p_img p .caption {
        margin-top: 2.4vw;
        display: block;
        text-align: left;
        font-size: 3.7333333333vw;
        line-height: 1.777em
    }

    #page_single_news #s_single .p_img p .caption br,#page_single_case #s_single .p_img p .caption br,#page_single_blog #s_single .p_img p .caption br {
        display: inherit !important
    }

    #page_single_news #s_single .p_yt,#page_single_case #s_single .p_yt,#page_single_blog #s_single .p_yt {
        margin-top: 0;
        margin-bottom: 8vw
    }

    #page_single_news #s_single .p_yt iframe,#page_single_case #s_single .p_yt iframe,#page_single_blog #s_single .p_yt iframe {
        width: 84vw;
        height: 47.2vw
    }

    #page_single_news #s_single .p_share,#page_single_case #s_single .p_share,#page_single_blog #s_single .p_share {
        margin-bottom: 13.3333333333vw
    }

    #page_single_news #s_single .p_share h5,#page_single_case #s_single .p_share h5,#page_single_blog #s_single .p_share h5 {
        font-size: 2.6666666667vw;
        margin-bottom: 2.6666666667vw;
        letter-spacing: 0;
        text-align: center;
        line-height: 1em
    }

    #page_single_news #s_single .p_share .list ul,#page_single_case #s_single .p_share .list ul,#page_single_blog #s_single .p_share .list ul {
        display: flex;
        justify-content: center
    }

    #page_single_news #s_single .p_share .list ul li,#page_single_case #s_single .p_share .list ul li,#page_single_blog #s_single .p_share .list ul li {
        margin: 0 3.3333333333vw
    }

    #page_single_news #s_single .p_share .list ul img,#page_single_case #s_single .p_share .list ul img,#page_single_blog #s_single .p_share .list ul img {
        width: 10.9333333333vw;
        height: 10.9333333333vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain; object-position: center;"
    }

    #page_single_news #s_single .p_txt+.p_share,#page_single_case #s_single .p_txt+.p_share,#page_single_blog #s_single .p_txt+.p_share {
        margin-top: 5.3333333333vw
    }

    #page_single_news #s_single .p_img+.p_share,#page_single_case #s_single .p_img+.p_share,#page_single_blog #s_single .p_img+.p_share {
        margin-top: -2vw
    }

    #page_single_news #s_single .p_title+.p_txt,#page_single_case #s_single .p_title+.p_txt,#page_single_blog #s_single .p_title+.p_txt {
        margin-top: -5.3333333333vw
    }

    #page_single_news #related_posts,#page_single_case #related_posts,#page_single_blog #related_posts {
        padding-top: 13.3333333333vw;
        padding-bottom: 13.3333333333vw;
        background-color: #f7f7f7
    }

    #page_single_news #related_posts h3,#page_single_case #related_posts h3,#page_single_blog #related_posts h3 {
        font-size: 6.1333333333vw;
        margin-bottom: 8vw;
        text-align: center;
        line-height: 1em
    }

    #page_single_news #related_posts .btn,#page_single_case #related_posts .btn,#page_single_blog #related_posts .btn {
        display: flex;
        justify-content: center
    }
}

@media screen and (max-width: 750px) {
    #s_function #s_about {
        padding-top:13.3333333333vw;
        overflow: hidden;
        background-color: #fae8e8
    }

    #s_function #s_about .row {
        padding: 0 8vw;
        margin-bottom: 8.6666666667vw
    }

    #s_function #s_about .row.rev {
        flex-direction: row-reverse
    }

    #s_function #s_about .row .l {
        width: 84vw;
        height: 57.3333333333vw;
        margin-bottom: 4.6666666667vw
    }

    #s_function #s_about .row .l img {
        width: 84vw;
        height: 57.3333333333vw;
        object-fit: contain;
        object-position: center;
        font-family: "object-fit: contain;
	object-position: center;";
        border-radius: .4vw
    }

    #s_function #s_about .row .r {
        position: relative;
        z-index: 2
    }

    #s_function #s_about .row .r h2 {
        margin-bottom: 3.0666666667vw;
        font-size: 5.6vw;
        line-height: 1.4761904762em;
        white-space: nowrap;
        font-feature-settings: inherit;
        text-align: center;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important
    }

    #s_function #s_about .row .r .desc p {
        font-size: 4.8vw;
        line-height: 1.6111111111em;
        text-align: justify;
        text-justify: inter-ideograph
    }

    #s_function #s_about .subject {
        margin: 0 8vw;
        margin-bottom: 13.3333333333vw;
        background-color: #fff;
        border-radius: .4vw
    }

    #s_function #s_about .subject .inner h3 {
        padding: 8vw;
        font-feature-settings: inherit;
        color: #ee3031;
        font-size: 4.8vw;
        line-height: 1em;
        cursor: pointer;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
        position: relative
    }

    #s_function #s_about .subject .inner h3:after {
        content: '';
        display: block;
        width: 5.3333333333vw;
        height: 5.3333333333vw;
        background-image: url(../images/parts_plus.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        top: 50%;
        right: 8vw;
        transform: translateY(-50%)
    }

    #s_function #s_about .subject .inner .t_inner {
        background-color: #f7f7f7;
        margin-top: -4.6666666667vw;
        padding: 0 8vw;
        padding-bottom: 6vw
    }

    #s_function #s_about .subject .inner .t_inner p {
        font-size: 4vw;
        line-height: 1.7333333333em;
        text-align: justify;
        text-justify: inter-ideograph
    }

    #s_function #s_point {
        padding: 0 8vw;
        padding-top: 13.3333333333vw;
        padding-bottom: 13.3333333333vw;
        background-color: #fff
    }

    #s_function #s_point .list ul li {
        width: 100%;
        padding: 0 8vw;
        padding-top: 12vw;
        padding-bottom: 6vw;
        margin-bottom: 8vw;
        border-radius: .4vw;
        background-color: #f9f9f9;
        text-align: center;
        box-sizing: border-box
    }

    #s_function #s_point .list ul li:last-child {
        margin-bottom: 0
    }

    #s_function #s_point .list ul li .num {
        color: #ee3031;
        font-size: 4vw;
        letter-spacing: .06em;
        margin-bottom: 4.6666666667vw;
        display: flex;
        justify-content: center;
        align-items: center
    }

    #s_function #s_point .list ul li .num .l {
        font-size: 6vw;
        margin-left: 1.7333333333vw
    }

    #s_function #s_point .list ul li h3 {
        font-size: 5.6vw;
        line-height: 1.4761904762em;
        padding-bottom: 4.9333333333vw;
        margin-bottom: 5.0666666667vw;
        font-feature-settings: inherit;
        border-bottom: .5333333333vw solid #e8e8e8;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
        white-space: nowrap
    }

    #s_function #s_point .list ul li .desc p {
        font-size: 4.8vw;
        line-height: 1.6111111111em;
        text-align: justify;
        text-justify: inter-ideograph
    }

    #s_function #s_case_study {
        padding: 0 8vw;
        padding-top: 13.3333333333vw;
        padding-bottom: 13.3333333333vw;
        background-color: #f7f7f7
    }

    #s_function #s_case_study h3 {
        margin-bottom: 8vw;
        font-size: 6.1333333333vw;
        line-height: 1em;
        text-align: center
    }

    #s_function #s_case_study .desc {
        display: none
    }

    #s_function #s_case_study .btn {
        display: flex;
        justify-content: center
    }

    #s_function #s_qa {
        padding-top: 13.3333333333vw;
        padding-bottom: 13.3333333333vw;
        background-color: #fff;
        overflow: hidden
    }

    #s_function #s_qa h3 {
        margin-bottom: 8vw;
        font-size: 6.1333333333vw;
        line-height: 1em;
        text-align: center
    }

    #s_function #s_qa .qa_list ul {
        border-top: .2666666667vw solid #e8e8e8
    }

    #s_function #s_qa .qa_list ul li {
        border-bottom: .2666666667vw solid #e8e8e8;
        text-align: center
    }

    #s_function #s_qa .qa_list ul li:last-child {
        margin-bottom: 0
    }

    #s_function #s_qa .qa_list ul li h5 {
        font-size: 4vw;
        line-height: 1.4em;
        padding: 3.3333333333vw 0;
        padding-left: 16vw;
        padding-right: 16vw;
        position: relative;
        background-color: #f7f7f7;
        text-align: justify;
        text-justify: inter-ideograph;
        cursor: pointer
    }

    #s_function #s_qa .qa_list ul li h5:before {
        content: 'Q';
        line-height: 1em;
        font-family: 'Montserrat', sans-serif !important;
        font-size: 5.3333333333vw;
        position: absolute;
        top: 50%;
        left: 8vw;
        transform: translateY(-50%)
    }

    #s_function #s_qa .qa_list ul li h5:after {
        content: '';
        width: 5.3333333333vw;
        height: 5.3333333333vw;
        background-image: url(../images/parts_plus.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        display: block;
        position: absolute;
        top: 50%;
        right: 5.3333333333vw;
        transform: translateY(-50%)
    }

    #s_function #s_qa .qa_list ul li .ans {
        display: block;
        padding-top: 4vw;
        padding-bottom: 4vw;
        padding-left: 16vw;
        padding-right: 8vw;
        position: relative;
        border-top: .2666666667vw solid #e8e8e8
    }

    #s_function #s_qa .qa_list ul li .ans:before {
        content: 'A';
        display: block;
        line-height: 1em;
        font-family: 'Montserrat', sans-serif !important;
        font-size: 5.3333333333vw;
        position: absolute;
        top: 4.4vw;
        left: 8vw
    }

    #s_function #s_qa .qa_list ul li .ans .desc {
        text-align: left
    }

    #s_function #s_qa .qa_list ul li .ans .desc p {
        font-size: 4vw;
        line-height: 1.4em;
        text-align: justify;
        text-justify: inter-ideograph
    }

    #s_function #s_qa .qa_list ul li .ans .close {
        margin-top: 2.6666666667vw;
        padding: 2vw 0;
        padding-left: 6.6666666667vw;
        margin-left: -8vw;
        display: inline-block;
        text-align: center;
        font-size: 3.7333333333vw;
        background-image: url(../images/parts_close.svg);
        background-size: 4.1333333333vw;
        background-position: left center;
        background-repeat: no-repeat;
        cursor: pointer
    }
}

@keyframes gnavLineOv {
    0% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(0px)
    }
}

@keyframes gnavLineLeave {
    0% {
        transform: translateX(0px)
    }

    100% {
        transform: translateX(100%)
    }
}

body {
    overflow-x: hidden
}

body._move {
    pointer-events: none
}

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

body.isIE,body.isEdge {
    height: auto !important;
    overflow: auto !important;
    overflow-x: hidden !important;
    position: relative !important
}

.is_pc .scroll-content {
    width: 100%;
    height: 100%
}

.isIE .scroll-content,.isEdge .scroll-content {
    height: auto !important
}

.scrollbar-track {
    width: 8px !important;
    background-color: transparent !important;
    z-index: 10000 !important
}

.scrollbar-track-x {
    display: none !important
}

.lock .scrollbar-track,.modal .scrollbar-track {
    display: none !important
}

.scrollbar-thumb {
    width: 6px !important;
    background-color: #e1e1e1 !important
}

main {
    overflow: hidden
}

.is_sp .fix,.isIE .fix,.isEdge .fix {
    transform: inherit !important
}

.is_sp.lock,.is_sp.modal,.isIE.lock,.isIE.modal,.isEdge.lock,.isEdge.modal {
    overflow: hidden !important
}

.ovh {
    overflow: hidden !important
}

.pj_container {
    overflow: hidden
}

.ph_scale {
    overflow: hidden
}

a.tl {
    color: #000;
    border-bottom: 1px solid #000;
    transition: border, color;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc a.tl:hover,.is_sp a.tl.touch {
    color: #ee3031;
    border-color: transparent
}

.btn a {
    position: relative;
    transition: background .25s cubic-bezier(0.165, 0.84, 0.44, 1),color .25s cubic-bezier(0.165, 0.84, 0.44, 1),letter-spacing .85s cubic-bezier(0.165, 0.84, 0.44, 1);
    overflow: hidden
}

.btn a .t {
    display: block;
    position: relative;
    z-index: 3
}

.btn a:before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 3px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0
}

@media (max-width: 1600px) {
    .btn a:before {
        border-radius:.1875vw
    }
}

@media screen and (max-width: 750px) {
    .btn a:before {
        border-radius:.4vw
    }
}

.btn a:after {
    content: '';
    width: 110%;
    height: 110%;
    display: block;
    border-radius: 3px;
    position: absolute;
    top: -5%;
    left: -5%;
    z-index: 1;
    transform: translateX(-100%);
    transition: background, opacity, transform;
    transition-duration: 0s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media (max-width: 1600px) {
    .btn a:after {
        border-radius:.1875vw
    }
}

@media screen and (max-width: 750px) {
    .btn a:after {
        border-radius:.4vw
    }
}

.is_pc .btn a:hover,.is_sp .btn a.touch {
    letter-spacing: .16em
}

.btn.req a:before {
    background-color: transparent
}

.btn.req a:after {
    background-color: #ee3031
}

.btn.req a._ov {
    border-color: #ee3031;
    color: #fff
}

.btn.req a._ov:after {
    transform: translateX(0px);
    transition-duration: .25s
}

.btn.req a._ov._leave {
    border-color: #bfbfbf;
    color: #000
}

.btn.req a._ov._leave:after {
    transition-duration: .6s;
    transform: translateX(100%)
}

.btn.staff a {
    border-color: #ee3031
}

.btn.staff a:before {
    background-color: #ee3031
}

.btn.staff a:after {
    background-color: #fff
}

.btn.staff a._ov {
    color: #ee3031;
    background-color: transparent
}

.btn.staff a._ov:after {
    transform: translateX(0px);
    transition-duration: .25s
}

.btn.staff a._ov._leave {
    color: #fff
}

.btn.staff a._ov._leave:after {
    transition-duration: .6s;
    transform: translateX(100%)
}

.btn.details a:before {
    background-color: transparent
}

.btn.details a:after {
    background-color: #ee3031
}

.btn.details a._ov {
    border-color: #ee3031;
    color: #fff
}

.btn.details a._ov:after {
    transform: translateX(0px);
    transition-duration: .25s
}

.btn.details a._ov._leave {
    border-color: #ee3031;
    color: #ee3031
}

.btn.details a._ov._leave:after {
    transition-duration: .6s;
    transform: translateX(100%)
}

.btn.all_list a:before {
    background-color: transparent
}

.btn.all_list a:after {
    background-color: #ee3031
}

.btn.all_list a._ov {
    border-color: #ee3031;
    color: #fff
}

.btn.all_list a._ov:after {
    transform: translateX(0px);
    transition-duration: .25s
}

.btn.all_list a._ov._leave {
    border-color: #ee3031;
    color: #ee3031
}

.btn.all_list a._ov._leave:after {
    transition-duration: .6s;
    transform: translateX(100%)
}

header {
    transition: background;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

header._bg {
    background-color: rgba(255,255,255,0.85);
    transition-duration: .45s
}

@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
    header._bg {
        background-color:rgba(255,255,255,0.5)
    }
}

#index header .logo a {
    pointer-events: none !important
}

#index header .index a,#case header .case a,#blog header .blog a,#news header .news a,#single_case header .case a,#single_blog header .blog a,#single_news header .news a,#function_globalremittance header .function_globalremittance a,#function_exchange header .function_exchange a,#function_globalremittance header .parent .t,#function_exchange header .parent .t,#gallery header .gallery a {
    color: #ee3031 !important;
    pointer-events: none !important
}

#index header .index a:after,#case header .case a:after,#blog header .blog a:after,#news header .news a:after,#single_case header .case a:after,#single_blog header .blog a:after,#single_news header .news a:after,#function_globalremittance header .function_globalremittance a:after,#function_exchange header .function_exchange a:after,#function_globalremittance header .parent .t:after,#function_exchange header .parent .t:after {
    background-image: url(../images/arrow_top-r.svg) !important
}

#index header .index a:before,#case header .case a:before,#blog header .blog a:before,#news header .news a:before,#single_case header .case a:before,#single_blog header .blog a:before,#single_news header .news a:before,#function_globalremittance header .function_globalremittance a:before,#function_exchange header .function_exchange a:before,#function_globalremittance header .parent .t:before,#function_exchange header .parent .t:before,#gallery header .gallery a:before {
    transform: translateX(0px) !important
}

#single_case header .case a,#single_blog header .blog a,#single_news header .news a {
    pointer-events: inherit !important
}

#function_globalremittance header .parent:after,#function_exchange header .parent:after {
    background-image: url(../images/arrow_top-r.svg) !important
}

#function_globalremittance header .parent .ar polyline,#function_exchange header .parent .ar polyline {
    stroke: #ee3031 !important
}

@media (min-width: 751px) {
    #function_globalremittance header .function_globalremittance a,#function_exchange header .function_exchange a {
        opacity:.5
    }
}

header .nav_list li {
    overflow: hidden
}

header .nav_list a {
    transition: color;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

header .nav_list a:after {
    transition: transform;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc header .nav_list a:hover,.is_sp header .nav_list a.touch {
    color: #ee3031
}

.is_pc header .nav_list a:hover:after,.is_sp header .nav_list a.touch:after {
    background-image: url(../images/arrow_top-r.svg) !important;
    transform: translateY(-50%) translateX(5px) rotate(90deg) !important
}

header .nav_list a:before,header .nav_list .parent .t:before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ee3031;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateX(-100%);
    transition: transform;
    transition-duration: 0s;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

header .nav_list ._ov a:before,header .nav_list ._ov .parent .t:before {
    transform: translateX(0px);
    transition-duration: .25s
}

header .nav_list ._leave a:before,header .nav_list ._leave .parent .t:before {
    transform: translateX(100%);
    transition-duration: .6s
}

.is_pc header .sub:hover .parent .t,.is_sp header .sub.touch .parent .t {
    color: #ee3031
}

.is_pc header .sub:hover .parent:after,.is_sp header .sub.touch .parent:after {
    background-image: url(../images/arrow_top-r.svg) !important
}

header .parent {
    transition: color;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

header .ar svg {
    transition: stroke, transform;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(-90deg) scale(-1) !important
}

header .ar polyline {
    transition: stroke, transform;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

header .g_sub {
    transition: opacity;
    transition-duration: .25s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

header .g_sub a:before {
    display: none !important
}

@media (min-width: 751px) {
    header .g_sub a {
        transition:opacity;
        transition-duration: .15s;
        transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
    }

    .is_pc header .g_sub a:hover,.is_sp header .g_sub a.touch {
        opacity: .7
    }
}

header ._sub .parent {
    color: #ee3031
}

header ._sub .parent .t:before {
    transition: transform;
    transition-duration: .25s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateX(0px) !important
}

header ._sub .ar polyline {
    stroke: #ee3031 !important
}

header ._sub .g_sub {
    opacity: 1 !important;
    pointer-events: inherit !important
}

@media screen and (max-width: 750px) {
    header .parent {
        color:#000 !important
    }
}

#gnav {
    transition: opacity;
    transition-duration: .25s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.gnav #gnav {
    opacity: 1;
    pointer-events: inherit
}

.gnav_ico .o {
    width: 100%;
    height: 200% !important;
    overflow: hidden;
    transform: translateY(22%)
}

.gnav_ico .o svg {
    transition: opacity, transform;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-duration: .45s;
    transition-delay: .45s
}

.gnav_ico .o svg path {
    animation-duration: 0s
}

.gnav_ico .o .t path {
    animation-delay: 0s
}

.gnav_ico .o .m path {
    animation-delay: .12s
}

.gnav_ico .o .b path {
    animation-delay: .24s
}

.gnav_ico .c {
    transform: scale(1);
    transition: opacity, transform;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-duration: .35s;
    transition-delay: 0s
}

.gnav_ico .c svg {
    opacity: 0;
    transform: scale(1);
    transition: opacity, transform;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-duration: .45s;
    transition-delay: 0s
}

.gnav_ico._ov .o svg path {
    backface-visibility: hidden;
    animation-name: gnavLineHover;
    animation-duration: .85s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    will-change: all
}

.is_pc .gnav_ico:hover .c,.is_sp .gnav_ico.touch .c {
    transform: scale(0.95);
    transition-duration: .45s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.gnav .gnav_ico .o svg {
    opacity: 0;
    transform: scaleX(1.5) scale(0);
    transition-duration: .65s;
    transition-delay: 0s
}

.gnav .gnav_ico .c {
    transform: scale(1)
}

.gnav .gnav_ico .c svg {
    opacity: 1;
    transition-duration: 0s;
    transition-delay: .85s
}

.gnav .gnav_ico .c svg path {
    backface-visibility: hidden;
    animation-name: gnavLineCloseOn;
    animation-duration: .85s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
    animation-delay: .45s;
    will-change: all
}

.gnav .gnav_ico .c .b svg path {
    animation-delay: .85s
}

@keyframes gnavLineHover {
    0% {
        transform: translateX(0%)
    }

    40% {
        transform: translateX(110%)
    }

    40.1% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(0%)
    }
}

@keyframes gnavLineCloseOn {
    0% {
        transform: translateX(-110%)
    }

    100% {
        transform: translateX(0%)
    }
}

#page_nav .first a,#page_nav .last a {
    transition: color, background;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc #page_nav .first a:hover,.is_sp #page_nav .first a.touch,.is_pc #page_nav .last a:hover,.is_sp #page_nav .last a.touch {
    background-color: #fff !important;
    color: #000 !important
}

#page_nav li a {
    transition: color, background, border;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc #page_nav li a:hover,.is_sp #page_nav li a.touch {
    border-color: #ee3031 !important;
    background-color: #ee3031 !important;
    color: #fff !important
}

#page_nav li.-current a {
    color: #cacaca !important;
    pointer-events: none !important
}

#post_wrap._sort {
    pointer-events: none !important
}

.case_list a h4 {
    transition: color;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc .case_list a:hover h4,.is_sp .case_list a.touch h4 {
    color: #ee3031
}

.p_case_list h4 a {
    transition: color;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc .p_case_list h4 a:hover,.is_sp .p_case_list h4 a.touch {
    color: #ee3031
}

.p_case_list .cat a {
    transition: color, background;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc .p_case_list .cat a:hover,.is_sp .p_case_list .cat a.touch {
    background-color: #ee3031 !important;
    color: #f7f7f7 !important
}

.blog_list a h4 {
    transition: color;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc .blog_list a:hover h4,.is_sp .blog_list a.touch h4 {
    color: #ee3031
}

.p_blog_list h4 a {
    transition: color;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc .p_blog_list h4 a:hover,.is_sp .p_blog_list h4 a.touch {
    color: #ee3031
}

.p_blog_list .cat a {
    transition: color, background;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc .p_blog_list .cat a:hover,.is_sp .p_blog_list .cat a.touch {
    background-color: #ee3031 !important;
    color: #f7f7f7 !important
}

.news_list a {
    transition: color, background;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.news_list a h4 {
    transition: color;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc .news_list a:hover,.is_sp .news_list a.touch {
    background-color: #fdfdfd !important
}

.is_pc .news_list a:hover h4,.is_sp .news_list a.touch h4 {
    color: #ee3031
}

.is_pc .news_list a:hover .cat,.is_sp .news_list a.touch .cat {
    background-color: #f2f2f2 !important
}

#sort_nav .sort_list h5 {
    transition: color, background, border;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

#sort_nav .sort_list polyline {
    transition: stroke;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc #sort_nav .sort_list:hover h5,.is_sp #sort_nav .sort_list.touch h5 {
    color: #4c4c4c !important;
    border-color: #bfbfbf !important
}

.is_pc #sort_nav .sort_list:hover polyline,.is_sp #sort_nav .sort_list.touch polyline {
    stroke: #4c4c4c !important
}

#index footer .index a,#case footer .case a,#blog footer .blog a,#news footer .news a,#single_case footer .case a,#single_blog footer .blog a,#single_news footer .news a,#function_globalremittance footer .function_globalremittance a,#function_exchange footer .function_exchange a {
    color: #ee3031 !important;
    pointer-events: none !important
}

#index footer .index a path,#case footer .case a path,#blog footer .blog a path,#news footer .news a path,#single_case footer .case a path,#single_blog footer .blog a path,#single_news footer .news a path,#function_globalremittance footer .function_globalremittance a path,#function_exchange footer .function_exchange a path {
    fill: #ee3031 !important
}

#single_case footer .case a,#single_blog footer .blog a,#single_news footer .news a {
    pointer-events: inherit !important
}

footer a {
    transition: color;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

footer a .ar {
    transition: transform;
    transition-duration: .6s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

footer a .ar path {
    transition: fill;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc footer a:hover,.is_sp footer a.touch {
    color: #ee3031
}

.is_pc footer a:hover .ar,.is_sp footer a.touch .ar {
    transform: translateX(0.3em)
}

.is_pc footer a:hover .ar path,.is_sp footer a.touch .ar path {
    fill: #ee3031 !important
}

footer .pagetop:before {
    content: '';
    width: 100%;
    height: 100%;
    opacity: 0;
    border-radius: 200px;
    background-color: #ee3031;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    transform: scale(0);
    transition: opacity, transform;
    transition-duration: .6s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1)
}

footer .pagetop .ar {
    transition: transform;
    transition-duration: .6s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 2
}

footer .pagetop .ar polyline {
    transition: stroke;
    transition-duration: .25s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc footer .pagetop:hover .ar,.is_sp footer .pagetop.touch .ar {
    transform: translateX(-50%) translateY(-100%) scale(1.5)
}

.is_pc footer .pagetop:hover .ar polyline,.is_sp footer .pagetop.touch .ar polyline {
    stroke: #fff
}

.is_pc footer .pagetop:hover:before,.is_sp footer .pagetop.touch:before {
    transition-timing-function: ease-out;
    transition-duration: .25s;
    transform: scale(1.1);
    opacity: 1
}

.foot_request {
    transition: opacity;
    transition-duration: .25s;
    transition-timing-function: ease;
    opacity: 0
}

.gnav .foot_request {
    opacity: 0 !important;
    pointer-events: none
}

.foot_request .btn a {
    background-color: inherit
}

.foot_request .btn a:before {
    background-color: #ee3031;
    transition: background .25s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc .foot_request .btn a:hover,.is_sp .foot_request .btn a.touch {
    color: #ee3031
}

.is_pc .foot_request .btn a:hover:before,.is_sp .foot_request .btn a.touch:before {
    background-color: #fff
}

.foot_request._hide {
    opacity: 0 !important;
    pointer-events: none
}

.obs ._obs {
    opacity: 0;
    transform: translateY(3.5vh);
    pointer-events: none;
    transition: opacity, transform;
    transition-duration: 1.5s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.obs ._obs._a {
    transition-delay: 0s
}

.obs ._obs._b {
    transition-delay: .23s
}

.obs ._obs._c {
    transition-delay: .46s
}

.obs ._obs._d {
    transition-delay: .69s
}

.obs ._obs._e {
    transition-delay: .92s
}

.obs ._obs._f {
    transition-delay: 1.15s
}

.obs ._obs._g {
    transition-delay: 1.38s
}

.obs ._obs._h {
    transition-delay: 1.61s
}

.obs._in ._obs {
    opacity: 1;
    transform: translateY(0);
    pointer-events: inherit
}

.isIE ._obs {
    opacity: 1 !important;
    transition: inherit !important;
    transform: inherit !important
}

.content_inner {
    opacity: 0
}

._load .content_inner {
    opacity: 1
}

body {
    overflow: hidden !important
}

body._load {
    overflow: inherit !important;
    overflow-x: hidden !important
}

header {
    z-index: 100
}

._next {
    opacity: 0;
    position: fixed;
    top: -100vh;
    left: 0
}

._pg_overlay {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 65535;
    pointer-events: none
}

._pg_overlay.on {
    z-index: 10
}

._pg_overlay:after {
    content: '';
    display: block;
    width: 100vw;
    height: 100vh;
    background: linear-gradient(-160deg, #fff, #fff, #fff, rgba(255,255,255,0));
    background-size: 100%;
    background-repeat: no-repeat;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 11;
    pointer-events: none
}

._comp ._pg_overlay {
    animation-fill-mode: forwards;
    animation-name: pgOverlayIn;
    animation-duration: .65s;
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    will-change: all
}

._comp ._pg_overlay:after {
    animation-fill-mode: forwards;
    animation-name: pgOverlayGrad;
    animation-duration: .65s;
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    will-change: all
}

._pop ._pg_overlay {
    transition: inherit !important;
    animation: inherit !important;
    opacity: 0 !important
}

._pop ._pg_overlay:after {
    transition: inherit !important;
    animation: inherit !important;
    opacity: 0 !important
}

@keyframes pgOverlayIn {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes pgOverlayGrad {
    0% {
        width: 400vw;
        left: -200vw;
        background-size: 100%
    }

    100% {
        width: 100vw;
        left: 0;
        background-size: 300%
    }
}

#s_kv .tagline,#s_kv h1 .c,#s_kv .im p {
    opacity: 0
}

#s_kv h1 .c {
    display: block
}

#s_kv .im {
    pointer-events: none
}

#s_kv .z1 {
    z-index: 1
}

#s_kv .z2 {
    z-index: 2
}

.ico_scroll .l {
    position: relative
}

.ico_scroll .lb {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0
}

.ico_scroll .lb:before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #ee3031;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    animation-name: icoScroll;
    animation-duration: 4s;
    animation-timing-function: linear;
    animation-iteration-count: infinite
}

.ico_scroll .lb:after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #ee3031;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    animation-name: icoScroll;
    animation-duration: 4s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: 2s
}

@keyframes icoScroll {
    0% {
        height: 50%;
        transform: translateY(-200%)
    }

    100% {
        transform: translateY(150%);
        height: 75%
    }
}

#s_single .cat_list a {
    transition: color, background;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc #s_single .cat_list a:hover,.is_sp #s_single .cat_list a.touch {
    background-color: #ee3031 !important;
    color: #f7f7f7 !important
}

#s_single .p_index a {
    text-decoration: underline;
    transition: background;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc #s_single .p_index a:hover,.is_sp #s_single .p_index a.touch {
    text-decoration: none
}

#s_single .p_img a img {
    transition: opacity, filter;
    transition-duration: .25s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc #s_single .p_img a:hover img,.is_sp #s_single .p_img a.touch img {
    opacity: .8;
    filter: brightness(1.1) contrast(1.3)
}

#s_single .p_txt a {
    text-decoration: underline;
    transition: background;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc #s_single .p_txt a:hover,.is_sp #s_single .p_txt a.touch {
    text-decoration: none
}

#s_single .p_share img {
    transition: transform;
    transition-duration: .25s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc #s_single .p_share a:hover img,.is_sp #s_single .p_share a.touch img {
    transform: scale(1.05)
}

._acd_in {
    display: none;
    position: relative;
    z-index: 2
}

@media screen and (max-width: 750px) {
    .subject ._acd {
        transition:background;
        transition-duration: .15s;
        transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
    }

    .subject ._acd:after {
        transition: transform;
        transition-duration: 0s;
        transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
    }

    .subject ._acd._ov:after {
        transition-duration: .25s;
        transform: translateY(-50%) rotate(90deg) !important
    }

    .is_pc .subject ._acd:hover,.is_sp .subject ._acd.touch {
        background-color: #f7f7f7 !important
    }

    .subject ._acd._on {
        background-color: #f7f7f7 !important
    }

    .subject ._acd._on:after {
        background-image: url(../images/parts_min.svg) !important
    }

    .subject ._acd._on._ov:after {
        transition-duration: .25s;
        transform: translateY(-50%) rotate(180deg) !important
    }
}

#s_qa ._acd {
    transition: background;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

#s_qa ._acd:after {
    transition: transform;
    transition-duration: 0s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

#s_qa ._acd._ov:after {
    transition-duration: .25s;
    transform: translateY(-50%) rotate(90deg) !important
}

.is_pc #s_qa ._acd:hover,.is_sp #s_qa ._acd.touch {
    background-color: #fff !important
}

#s_qa ._acd._on:after {
    background-image: url(../images/parts_min.svg) !important
}

#s_qa ._acd._on._ov:after {
    transition-duration: .25s;
    transform: translateY(-50%) rotate(180deg) !important
}

#s_qa .close {
    transition: opacity;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.is_pc #s_qa .close:hover,.is_sp #s_qa .close.touch {
    opacity: .7
}

/*連携企業*/
/* 通常のビューポートサイズでのスタイリング */
#s_alignment {
    padding-top: 75px;
    padding-bottom: 80px;
}

/* ビューポートの幅が750px以下のときのスタイリング */
@media screen and (max-width: 750px) {
    #s_alignment {
padding: 0 8vw;
    padding-top: 12.6666666667vw;
    padding-bottom: 13.3333333333vw;
    }
}
	
	.alignment_title {
    color: #ee3031;
    margin-bottom: 20px;
    font-size: 32px;
    text-align: center;
		font-weight: bold;
		line-height: 1em;
}
	
#page_index #s_alignment .desc p.contents {
    font-size: 20px;
    line-height: 1.6em;
    text-align: center;
    text-justify: inter-ideograph;
		  margin-bottom: 32px;
}
	
	.pc { display: block !important; 
	width: 100%;}
.sp { display: none !important; 
	width: 100%;}

#s_alignment .desc p.note {
    text-align: right !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 120% !important; /* 14.4px */
    margin-top: 24px !important;
	align-self: stretch;
}



@media screen and (max-width: 750px){
	
	.alignment_title h3 {
    color: #ee3031;
    margin-bottom: 3.7333333333vw;
    font-size: 5.6vw;
    line-height: 1em;
}
	
	    .pc { display: none !important; 
	width: 100%;}
    .sp { display: block !important; 
	width: 100%;}
	
	#page_index #s_alignment .desc p.contents {
    font-size: 4.8vw;
    line-height: 1.6em;
    text-align: justify;
    text-justify: inter-ideograph;
		  margin-bottom: 32px;
}
	
	#page_index #s_alignment .desc p.note {
text-align: right !important;
font-size: 12px !important;
font-style: normal;
font-weight: 500;
line-height: 120%; /* 14.4px */
	margin-top: 24px;
}
}

.s_point_title{
	    margin-bottom: 1.8vw;
    font-size: 2vw;
	color: #ee3031;
	    font-weight: 600 !important;
}

.s_point_box{
	width: 63.125vw;
    margin: 0 auto;
}

.s_point_text{
	line-height: 160%;
}

.s_point_img{
	width: 100%;
}


.flow-pc-only{
	width: 100%;
    margin-top: 12px;
}

.flow-sp-only{
			display: none;
}

@media screen and (max-width: 750px) {
	.flow-pc-only{
		display: none;
}

.flow-sp-only{
	display: block;
		width: 100%;
    margin-top: 12px;
}
	
	
.s_point_title{
    font-size: 6vw;
	line-height: 1.4;
}

.s_point_box{
	width: 100%;
}

	
}
