body {
    font-family: YuGothic,
        'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',
        sans-serif;
    color: #000;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
    font-size: 0.9rem;
    /*    font-family: 'Do Hyeon', sans-serif;*/
}

body main {
    width: 100%;
    overflow: hidden;

}

/*common*/
.js_hover:not(.hoverloadinWrap) {
    opacity: 0.7;
}

.js_hover .js_hover {
    opacity: 1;
}


/*
@media (hover: hover) {
    a:hover:not(.hoverloadinWrap) {
        opacity: 0.5;
    }
}
*/

.rellax {
    position: relative;
    z-index: -5;
}

.flex {
    display: flex;
}

#content {
    max-width: 1090px;
    margin: auto;
    min-height: 45vh;
}




.marker:after {
    content: "";
    display: block;
    height: 0.5em;
    width: 0.5em;
    border: 1px solid #000;
    border-bottom: transparent;
    border-left: transparent;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: auto;
    left: -1em;
    transform: rotate(60deg) skew(calc((90deg - 30deg)/2));
    font-weight: bold;
    z-index: 0;

}

.w.marker:after {
    border: 1px solid #fff;
    border-bottom: transparent;
    border-left: transparent;
}

.marker.left:after {
    right: inherit;
    left: 1em;
    transform: rotate(-135deg);
}

.h_title {
    height: 15rem;
    width: 100%;
    background-image: url(../common_img/common_head.jpg);
    background-size: cover;
    background-position: 0 10%;
    position: relative;
    text-align: center;
    color: #fff;

}

.h_title::before {
    content: "";
    display: block;
    background-color: rgba(0, 0, 0, 0.2);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.h_title h2 {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
   height: 2em;
    font-size: 4em;

}

.h_title h2 .ja {
    font-size: 1rem;
    display: block;
    line-height: 1em;
    margin-top: 1em;
}

h2,
h3,
h4,
.h_common {
    font-family: 'Do Hyeon', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-weight: normal;
    line-height: 1.3em;


}

.h_common {
    font-size: 2.5rem;
    text-align: center;
    position: relative;
}

h3.left,
h4.left,
.h_common.left {
    text-align: left;
}

.big {
    font-size: 3.5rem;
}

.h_common::after {
    content: "";
    display: block;
    background-color: #1e2973;
    height: 3px;
    width: 3.5rem;
    margin: auto;
    margin-bottom: 2rem;
}

.h_common.left::after {
    margin: 0;
}

.h_common .ja {
    font-size: 1rem;
    display: block;
    position: absolute;
    top: auto;
/*    bottom: -2.3em;*/
    left: 0;
    right: 0;
}

.h_common .ja.static {
    position: static;
    display: inline;
    margin-left: 1em;
}

.red {
    color: #c81518;
}

.h_common.ja {
    font-size: 2em;
    line-height: 1.3em;
}

.h_common_2 {
    position: relative;
}

.h_common_2::before {
    content: "";
    display: inline-block;
    background-color: #1e2973;
    height: 3px;
    width: 1rem;
    margin: 0.32em 0;
    margin-right: 0.2em;

}

.common_btn {
    display: inline-block;
    padding: 1em 1.5em;
    background-color: #1e2973;
    color: #fff;
    text-decoration: none;
    position: relative;
    font-size: 1.5em;
    transition: 1s;
}

.common_btn.marker {
    padding-left: 2.5em;
}

.common_btn.marker::after {
    left: 1em;
}

.common_btn.js_hover,
.common_btn .ja.js_hover {
    opacity: 1;
}



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

    h2 {}



    .h_common {}

    .h_title {
        height: 8.5rem;

    }

    .h_title h2 {
        position: absolute;
        z-index: 1;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        height: 2em;
        font-size: 4em;

    }


    .h_title .ja{
        height: 8.5rem;

    }

}


@media screen and (max-width: 38em) {
    .h_title.foo {
        height: 14em;

    }
    .h_title.foo h2{
        height: 2em;
        font-size: 3.5em;
        
    }

}
@media screen and (max-width: 35em) {
    .h_title.foo {
        height: 18em;

    }
    .h_title.foo h2{
        height: 4.5em;
        font-size: 3.5em;
        
    }

}



/*motion*/

.fadeIn {
    opacity: 0;
}

.fadeIn.in {
    opacity: 1;
    transition: opacity 1s;
    transition-timing-function: ease;
}

.fadeIn.b_t {
    position: relative;
    top: 3em;
    transition: 1s;
    transition-timing-function: ease;

}

.fadeIn.in.b_t {
    top: 0;
    transition: 1s;
    transition-timing-function: ease;

}

.fadeIn.l_r {
    position: relative;
    left: -1rem;
    transition: 1s;
    transition-timing-function: ease;

}

.fadeIn.in.l_r {
    left: 0;
    transition: 1s;
    transition-timing-function: ease;

}


.slidIn {
    width: 0;
    overflow: hidden;
}

.slidIn.in {
    width: 100%;
    transition: 1s;
    transition-timing-function: ease;
}



.scroll.in .fadeIn {
    opacity: 1;
    transition: 0.5s;
}



.hoverloadinWrap {
    position: relative;
    display: inline-block;
}

.hoverloadinWrap .normal,
.hoverloadinWrap .hover > span {
    display: inline-block;
    text-decoration: none;
    font-weight: bold;
    padding: 1.3em 2.3em 1.1em;

}



.hoverloadinWrap .hover {
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    overflow: hidden;
}

.hoverloadinWrap.js_hover .hover {
    width: 100%;
    transition: 0.5s;
    transition-timing-function: ease;

}



/*
@media (hover: hover) {
    .hoverloadinWrap:hover .hover {
        width: 100%;
        transition: 0.5s;
        transition-timing-function: ease;

    }
}
*/



.hoverloadinWrap.t_b .hover {
    bottom: auto;
    width: 100%;
    height: 0;
}

.hoverloadinWrap.t_b.js_hover .hover {
    height: 100%;

}

.hoverloadinWrap span {
    width: 100%;
    height: 100%;
    white-space: nowrap;
}



/*ホバー　変化設定*/

.hoverloadinWrap .normal,
.hoverloadinWrap .hover > span {
    padding: 1.3em 2.3em 1.1em;
}

.hoverloadinWrap .normal {
    background-color: #112576;
    color: #fff;
}

.hoverloadinWrap .hover > span {

    background-color: #112576;
}

.hoverloadinWrap .marker::after {
    right: 0.8em;
}

.hoverloadinWrap .hover .marker::after {
    border-color: #fff;
}

/*ホバー　変化設定*/


.marker_corner.js_hover {
    opacity: 1;
}

.marker_corner {
    display: inline-block;
    background-color: #fff;
    color: #000;
    padding: 0;
    font-weight: bold;
    position: relative;
    text-align: center;
    text-decoration: none;
    outline: none;
    transition: all .2s;
}

.marker_corner::before,
.marker_corner::after {
    position: absolute;
    top: 3px;
    right: 3px;
    z-index: 2;
    content: '';
    width: 0;
    height: 0;
    border: 1px solid transparent;
}

.marker_corner.js_hover {
    color: #000;
}

.marker_corner.js_hover::before,
.marker_corner:hover::after {
    width: calc(100% - 12px);
    height: calc(100% - 12px);
}

.marker_corner.js_hover::before {
    border-top-color: #000;
    border-left-color: #000;
    transition: width .3s, height .3s .3s;
}

.marker_corner.js_hover::after {
    border-bottom-color: #000;
    border-right-color: #000;
    transition: height .3s, width .3s .3s;
}


.marker_corner > .corner {
    display: block;
    position: relative;
    width: calc(100% - 12px);
    height: 100%;
    background-color: transparent;
    color: #000;
    transition: 0.5s;
    padding: 1em;
    margin: 6px;
}

.marker_corner.js_hover {
    transition: 0.5s 0.8s;

}

.marker_corner.js_hover > .corner {
    color: #fff;
    transition: 0.5s 0.8s;
    z-index: 0;

}

.marker_corner > .corner::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    height: 2em;
    width: 2em;
    border: 1px solid #000;
    border-bottom: transparent;
    border-left: transparent;
    z-index: 1;

}

/*ホバー　変化設定*/

.marker_corner {
    background-color: #fff;
    color: #000;
    text-align: center;
}

.marker_corner::before,
.marker_corner::after {
    top: 6px;
    right: 6px;
    border: 1px solid transparent;
}

.marker_corner.js_hover {
    color: #000;
}

.marker_corner.js_hover::before,
.marker_corner:hover::after {
    width: calc(100% - 12px);
    height: calc(100% - 12px);
}

.marker_corner.js_hover::before {
    border-top-color: #000;
    border-left-color: #000;
}

.marker_corner.js_hover::after {
    border-bottom-color: #000;
    border-right-color: #000;
}


.marker_corner > .corner {
    color: #000;
    padding: 1em;
}

.marker_corner.js_hover {
    background-color: #c81518;
    color: #fff;

}

.marker_corner > .corner::before {
    height: 2em;
    width: 2em;
    border-color: #000;

}

/*ホバー　変化設定*/

/*--------*/

.marker_corner.left {
    background-color: #eee;
}

.marker_corner.left::before,
.marker_corner.left::after {
    position: absolute;
    top: 3px;
    left: 3px;
    right: auto;
}


.marker_corner.left.js_hover::before {
    border-top-color: #000;
    border-right-color: #000;
}

.marker_corner.left.js_hover::after {
    border-bottom-color: #000;
    border-left-color: #000;
}

.marker_corner.left > .corner::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: auto;
    left: 0;
    height: 2em;
    width: 2em;
    border: 1px solid #000;
    border-bottom: transparent;
    border-right: transparent;
    z-index: 1;

}

/*ホバー　変化設定*/

.marker_corner.left {
    background-color: #fff;
    color: #000;
    border: 1px solid #fff;
    text-align: center;
}

.marker_corner.left::before,
.marker_corner.left::after {
    top: 3px;
    right: 3px;
    border: 1px solid transparent;
}

.marker_corner.left.js_hover {
    color: #000;
}

.marker_corner.left.js_hover::before,
.marker_corner:hover::after {
    width: calc(100% - 12px);
    height: calc(100% - 12px);
}

.marker_corner.left.js_hover::before {
    border-top-color: #000;
    border-right-color: #000;
}

.marker_corner.left.js_hover::after {
    border-bottom-color: #000;
    border-left-color: #000;
}


.marker_corner.left > .corner {
    width: calc(100% - 12px);
    color: #000;
    padding: 1em;
    margin: 3px;
}

.marker_corner.left.js_hover > .corner {}

.marker_corner.left > .corner::before {
    height: 2em;
    width: 2em;
    border-color: #000;

}

/*ホバー　変化設定*/

/*parts*/

header {
    width: 100%;
    height: 6vh;
    min-height: 60px;
    display: flex;
    position: sticky;
    top: 0;
    padding-top: 1.2rem;
    margin: auto;
    z-index: 100;
    background-color: #000;
}

@media all and (-ms-high-contrast: none) {
    header {
        position: relative;
    }
}

header::before {
    content: "";
    display: block;
    background-color: #000;

}

header #mainNav {
    position: absolute;
    right: 10rem;
}

header #mainNav li {
    display: inline-block;
    margin-left: 1.5em;
}

header .js_hov_a,
header a {
    text-decoration: none;
    color: #fff;
    font-weight: normal;
    font-size: 0.9rem;
}

header .js_hov_a.js_hover,
header a.js_hover {
    color: #aaa;
    opacity: 1 !important;

}

/*
@media (hover: hover) {

    header a:hover {
        color: #f64d33;
        opacity: 1 !important;

    }
}
*/


header #mainNav .product {
    height: 3em;
}

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

    header #mainNav .js_hov_a:not(.js_hover) ul {
        height: 0;
        overflow: hidden;
        position: absolute;
        left: -1.5em;
        padding-top: 5em;
        top: calc(100% - 5em);
    }

    header #mainNav .js_hov_a ul li {
        display: block;
        background-color: #000;
        padding: 1em;
    }

    header #mainNav .js_hov_a.js_hover ul {
        height: auto;
        position: absolute;
        left: -1.5em;
        padding-top: 4em;
        top: calc(100% - 5em);
    }
    

}

header .btn_inq {
    margin-left: 1em;
    position: absolute;
    top: -1.2rem;
    left: 100%;
    height: calc(6vh + 0.5rem);
    min-height: calc(60px + 0.5rem);
}

header .btn_inq .hoverloadinWrap {
    height: 100%;
}

header .btn_inq .hoverloadinWrap .normal {
    background-color: #1E2973;
    color: #fff;
}

header .btn_inq .hoverloadinWrap .normal,
header .btn_inq .hoverloadinWrap .hover > span {

    padding: 1.5em;
    height: 100%;

}



header .hoverloadinWrap .hover > span {
    background-color: #fff;
    color: #1E2973;
}

/*index*/

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



}

#index header .btn_inq {
    margin-left: 1em;
    position: absolute;
    top: -1.2rem;
    right: -10em;
    height: calc(6vh + 0.5rem);
    min-height: calc(60px + 0.5rem);
}

#index header .btn_inq .hoverloadinWrap {
    height: 100%;
}

#index header .btn_inq .hoverloadinWrap .normal {
    background-color: #fff;
    color: #1E2973;
}

#index header .btn_inq .hoverloadinWrap .normal,
#index header .btn_inq .hoverloadinWrap .hover > span {

    padding: 1.5em;
    height: 100%;

}



#index header .hoverloadinWrap .hover > span {
    background-color: #1E2973;
    color: #fff;
}

/*index*/


h1 {
    display: inline-block;
    margin-left: 1.5em;
}

h1 img {
    max-height: 5vh;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

h1 a.js_hover {
    color: #fff;
}

h1 span {
    display: block;
    height: 1rem;
    font-size: 0.8rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    position: absolute;
    top: 0;
    bottom: 0;
    padding-left: 5rem;
    margin: auto;
}


p.right {
    text-align: right;
}

#spmenu {
    display: none;
}



.pc {
    display: inherit;
}

.sp {
    display: none;
}

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

    .pc {
        display: none;
    }

    .sp {
        display: inherit;
    }

    h1 {
        margin-left: 1vw;
    }

    h1 img {
        min-height: 2rem;
    }

    header {
        padding: 2vh 0 1rem 0.5rem;
        position: relative;
        height: 4.5rem;
    }


    header #mainNav {
        overflow: hidden;
        height: 0;
        max-height: 0;
        width: 100%;
        top: 100%;
        right: 0;
        left: 0;
        z-index: 150;
        pointer-events: none;
        transition: 0.8s;
    }

    header #mainNav.veiw {
        height: 300vh;
        max-height: 300vh;
        pointer-events: auto;
        transition: 0.8s;
    }

    header #mainNav li {
        background-color: rgba(0, 0, 0, 0.8);
        display: block;
        margin: 0;
        margin-top: 0;
        text-align: center;
        font-size: 1rem;
        padding: 0.8em;


    }




    header #mainNav .product {

        font-weight: bold;
        font-size: 1.5em;
    }

    header #mainNav .product::after {
        content: "";
        display: block;
        width: 10%;
        height: 2px;
        background-color: #aaa;
        margin: auto;
    }

    header #mainNav .js_hov_a:not(.js_hover) ul {
        height: auto;
        overflow: hidden;
        position: static;
        left: -1.5em;
        padding: 1em;
        padding-top: 0.5em;
    }

    header #mainNav .js_hov_a ul li {
        display: block;
        background-color: transparent;
        padding: 0.5em;
    }

    header #mainNav .js_hov_a.js_hover ul {
        padding: 1em;
        padding-top: 0.5em;
    }


    header .btn_inq {
        position: static;
        height: auto;
        min-height: inherit;
        width: 100%;
    }

    header .btn_inq .hoverloadinWrap {
        height: 100%;
        width: 100%;
    }


    header .btn_inq .hoverloadinWrap .normal,
    header .btn_inq .hoverloadinWrap .hover > span {

        padding: 1em 2em;
        height: 100%;
        width: 100%;

    }

    #spmenu_wrap {
        position: absolute;
        top: 0;
        bottom: 0;
        left: calc(100% - 20vw);
        right: 0;
        overflow: hidden;
    }

    #spmenu.js_hover,
    #spmenu .js_hover {
        opacity: 1;
    }

    #spmenu {
        display: block;
        height: 100%;
        width: 4rem;
        position: absolute;
        right: 0;
        top: 0;
        overflow: visible;

    }

    #spmenu span {
        color: #fff;
        display: block;
        width: calc(60%);
        max-width: 5em;
        position: absolute;
        top: 0;
        left: auto;
        right: 0;
        bottom: 0;
        margin: auto;
        transition: 0.3s;

    }

    #spmenu span:not(.text) {
        background-color: #fff;
        height: 3px;
    }

    #spmenu span:nth-of-type(1) {
        top: -25%;
    }

    #spmenu span:nth-of-type(2) {
        top: 8%;
    }

    #spmenu span.text {
        text-align: left;
        font-size: 0.9em;
        margin: 0;
        padding: 0;
        top: auto;
        bottom: 0.4rem;
    }


    header #spmenu.veiw span:nth-of-type(1) {
        animation: spmenuBtn1;
        top: -10%;
        right: 1em;
        animation-duration: 0.3s;
        animation-delay: 0.2s;
        animation-fill-mode: forwards;

    }

    header #spmenu.veiw span:nth-of-type(2) {
        animation: spmenuBtn2;
        top: -10%;
        right: 1em;
        animation-duration: 0.3s;
        animation-delay: 0.2s;
        animation-fill-mode: forwards;
    }

    header #spmenu.veiw span.text {
        animation: spmenuBtn3;
        animation-duration: 0.3s;
        animation-delay: 0.2s;
        animation-fill-mode: forwards;
        right: 1em;
    }


    header #mainNav .product {
        height: auto;
    }

    #index header .btn_inq {
        position: relative;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        height: auto;
        margin-left: 0;
    }
    
    header .btn_inq .hoverloadinWrap {
        height: 100%;
    }

    header .btn_inq .hoverloadinWrap .normal {
        background-color: #fff;
        color: #1E2973;
    }

    header .btn_inq .hoverloadinWrap .normal,
    header .btn_inq .hoverloadinWrap .hover > span {

        padding: 1.5em;
        height: 100%;

    }
    
}

@keyframes spmenuBtn1 {
    to {
        transform: rotate(30deg);

    }
}

@keyframes spmenuBtn2 {
    to {
        transform: rotate(-30deg);


    }
}

@keyframes spmenuBtn3 {
    to {}
}

footer {
    margin-bottom: 0;
    background-color: #1e2973;
    justify-content: center;
    min-height: 300px;

}

footer .sitemap {
    display: flex;
    justify-content: space-between
}


footer .sitemap ul {
    list-style-type: none;
}

footer .sitemap > ul {
    display: block;
    width: 100%;
    border: 1px solid #fff;
    padding: 1em;
    padding-top: 1.5em;
}


footer .sitemap > ul:last-of-type {
    border-right: none;
}

footer .sitemap > ul:first-of-type {
    border-left: none;
}

footer .sitemap > ul li {
    vertical-align: middle;
    padding: 0.15em 0;
}

footer .sitemap > ul li::before {
    content: "";
    display: inline-block;
    width: 0.5em;
    height: 3px;
    background-color: #B9DCFF;
    margin-right: 0.2em;
}

footer .sitemap > ul ul li::before {
    content: "";
    display: inline-block;
    width: 0.25em;
    height: 1px;
    background-color: #B9DCFF;
    margin-right: 0.2em;
    margin-left: 0.25em;
}


footer .bottom {
    background-color: #000;
    color: #fff;
    padding: 3em 2em 1em 3em;
    position: relative;
    
}

footer .bottom .flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

footer .bottom .inner {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1.5em;
}

footer .bottom .logo {
    width: 5em;
    margin-right: 2.5em;
}

footer .bottom .text {
    font-size: 0.9em
}

footer .bottom .text p {
    margin-bottom: 1.5em;
}


footer .sitemap a {
    color: #fff;
    text-decoration: none;
}

footer .bottom a {
    color: #fff;
}

footer .btn_inq {
    text-align: right;
}

footer .btn_inq .marker_corner {
    text-align: center;
    width: 13em;
    font-size: 1.5em;
}

footer #copyright {
    color: #fff;
    font-size: 0.83rem;
    margin-top: 0.5em;
}
footer .copyright {
    color: #fff;
    font-size: 0.83rem;
    margin-top: 0.5em;
    position: absolute;
        bottom: 1em;
}

footer .privacy {
    display: inline-block;
    margin: 0.5em 0;
}

#index footer .btn_inq {
    height: calc(100% - 3rem);
}
footer .iso {
    display: none;
}


#index footer .iso {
    display:block;
    columns: 2;
    text-align: center;
    width: 13em;
    margin: 0.25em 0 auto auto;
}
#index footer .iso p{
    font-size: 0.77em;
    margin-bottom: 1em;
}

#index footer .iso img {
    width: 5.5em;
}

/*ホバー　変化設定*/

footer .marker_corner {
    background-color: #fff;
    color: #000;
    text-align: center;
}

footer .marker_corner::before,
footer .marker_corner::after {
    top: 3px;
    right: 3px;
    border: 1px solid transparent;
}

footer .marker_corner.js_hover {
    color: #000;
}

footer .marker_corner.js_hover::before,
footer .marker_corner:hover::after {
    width: calc(100% - 6px);
    height: calc(100% - 6px);
}

footer .marker_corner.js_hover::before {
    border-top-color: #000;
    border-left-color: #000;
}

footer .marker_corner.js_hover::after {
    border-bottom-color: #000;
    border-right-color: #000;
}


footer .marker_corner > .corner {
    width: calc(100% - 6px);
    color: #000;
    padding: 0.7em;
    margin: 3px;
}

footer .marker_corner.js_hover > .corner {
    background-color: #c81518;
    color: #fff;

}

footer .marker_corner > .corner::before {
    height: 2em;
    width: 2em;
    border: 1px solid #000;
    border-bottom: transparent;
    border-left: transparent;

}

/*ホバー　変化設定*/



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




    footer .sitemap {
        display: flex;
        flex-wrap: wrap;
    }


    footer .sitemap > ul {
        width: 50%;
        padding-left: 0.5em;
        padding-right: 0.5em;
        height: 13em;
        min-height: 50vw;
    }




    footer .sitemap > ul:nth-of-type(even) {
        border: 1px solid #fff;
        border-right: none;
        border-left: none;
    }

    footer .sitemap > ul:nth-of-type(odd) {
        border: 1px solid #fff;
        border-left: none;
    }

    footer .sitemap > ul:nth-of-type(n + 3) {
        border-top: none;

    }

    footer .sitemap > ul:nth-last-of-type(1) ,
    footer .sitemap > ul:nth-last-of-type(2) {
        border-bottom: none;

    }

    footer .bottom {
        padding: 4em 0 0.5em 0;
        text-align: center;
    }

    footer .bottom .inner {
        display: block;
    }

    footer .bottom .logo {
        width: 5em;
        margin: 0;
        margin-bottom: 3em;
    }

footer .bottom .flex {
    flex-direction: column
}

    footer .bottom .text {
        margin-bottom: 3em;

    }

    footer .btn_inq {
        position: static;
        display: inline-block;
        text-align: center;
        margin-bottom: 2em;
    }

    footer .btn_inq .marker_corner {
        margin-bottom: 0.5em;
        display: inline-block;
    }

    footer .copyright {
        color: #fff;
        font-size: 0.83rem;
        margin-top: 0.5em;
        position: static;
    }

    #index footer .iso {
        margin: 1em auto 2em auto;
        columns:1;
    }

    #index footer .iso img {
        width: 10em;
        display: block;
        margin: auto;
        margin-bottom: 0.5em;
    }
}

/**/
.hex {
    position: relative;
    width: 5rem;
}

.hex::before {
    display: block;
    padding-top: 173.205080757%;
    /*  3 / √3 x 100  */
    content: '';
}

.hex :nth-child(1) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: rotate(120deg);
}

.hex :nth-child(2) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-120deg);
}

.hex.line :nth-child(n + 1)::before,
.hex.line :nth-child(n + 1)::after {
    position: absolute;
    left: 0;
    right: 0;
    height: 5px;
    content: '';
    background-color: #EFEFEF;
}


.hex :nth-child(1)::before,
.hex :nth-child(2)::before,
.hex :nth-child(3)::before {
    top: 0;
}

.hex :nth-child(1)::after,
.hex :nth-child(2)::after,
.hex :nth-child(3)::after {
    bottom: 0;
}

.hex.fill,
.hex.fill :nth-child(n + 1) {
    background-color: #EFEFEF;
}

.hex.rotate {
    transform: rotate(90deg);
}

/*hex setting*/
.hex {
    width: 5rem;
}

.hex.line :nth-child(n + 1)::before,
.hex.line :nth-child(n + 1)::after {
    height: 5px;
    background-color: #EFEFEF;
}

.hex.fill,
.hex.fill :nth-child(n + 1) {
    background-color: #EFEFEF;
}

/*hex setting*/

.fillhex {
    position: relative;
    width: 150px;
    overflow: hidden;
    transform-origin: center;

}

.fillhex::before {
    display: block;
    padding-top: 86.602540378%;
    /*  2√3 / 4 x 100  */
    content: '';
}

.fillhex :nth-child(1),
.fillhex :nth-child(1) :nth-child(1),
.fillhex :nth-child(1) :nth-child(1) :nth-child(1),
.fillhex :nth-child(1) :nth-child(1) :nth-child(1) :nth-child(1) {
    width: 100%;
    height: 100%;
    display: block;
}


.fillhex :nth-child(1) {
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(60deg);
    overflow: hidden;
    z-index: 1;

}

.fillhex :nth-child(1) :nth-child(1) {
    top: 0;
    left: 0;
    transform: rotate(60deg);
    box-shadow: 0 0 0 2px #1bc13e inset;
}

.fillhex :nth-child(1) :nth-child(1) :nth-child(1) {

    transform: rotate(60deg);
}

.fillhex :nth-child(1) :nth-child(1) :nth-child(1) :nth-child(1) {
    transform: rotate(-120deg);
}

.fillhex .img {
    transform: rotate(-60deg) !important;
    background-image: url(../img/contents_blow.jpg);
    background-size: cover;
    background-position: center;
}





.fillhex.rotate .img {
    transform: rotate(210deg) !important;
    height: 120% !important;
    position: absolute;
    top: -50%;
    bottom: -50%;
    left: 0;
    right: 0;
    margin: auto
}

/*fillhex 設定 start*/
.fillhex {
    width: 150px;

}

.fillhex.rotate {
    transform: rotate(90deg);
}

.fillhex :nth-child(1) :nth-child(1) {
    box-shadow: 0 0 0 2px #1bc13e inset;
}





/*fillhex 設定 end*/

/*index*/

#index h2 {
    font-family: 'Do Hyeon', sans-serif;
    color: #fff;
    font-weight: normal;
    font-size: 6rem;
    line-height: 1em;
    margin: 2rem 0 1rem 0;
}

#index #content {
    max-width: 100%;
}


#index #s_01 {
    position: static;
    height: calc(100vh - 6em);
}

#index #s_01 .inner {
    position: absolute;
    left: 0;
    width: 100%;
}


#slide {
    height: calc(100vh - 6em);
    min-height: 300px;
    overflow: hidden;
    position: relative;
    text-align: center;

}

#slide #slide_js::after {
    content: "";
    display: block;
    position: absolute;
    background-color: #000;
    opacity: 0.1;
    width: 100%;
    height: 100%;
    z-index: 10;

}

#slide .slide {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;

}

#slide .slide img {
    min-width: 100%;
    min-height: 100%;

    position: absolute;
    top: -100%;
    left: -100%;
    bottom: -100%;
    right: -100%;
    margin: auto;
}


#slide_js .slide .scale {
    transform: scale(1.2);
    transition: 15s;
}

#slide_js .slide.clr {
    transition: 4s;
    opacity: 0;
}


#catch {
    max-width: calc(100% - 1em);
    height: 0;
    min-height: 29rem;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 10;
    text-align: center;
    padding-top: 4rem;

}

#catch .text h3,
#catch .text p {
    color: #fff;
}

#catch .text h3 {
    margin-bottom: 1.1rem;
    font-size: 1.5em;
    font-weight: normal;
}

#catch .text p {
    margin-bottom: 2em;
    font-size: 0.9em;
    line-height: 1.5rem;
}

#catch .fadeIn.in:nth-of-type(2) {
    transition-delay: 0.5s;
}

#catch #topHex {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    text-align: center;
    z-index: -1;
}

#catch #topHex svg {
    top: auto;
    left: 0;
    right: 0;
    bottom: auto;
}

@media screen and (max-width: 900px)and (orientation: landscape) {
    #index #s_01 {
        height: calc(100vh - 4rem);
    }



    #catch img {
        position: relative;
        width: auto;
        height: 100%;
        max-width: inherit;

    }

    #index #s_01 ul.items img {
        width: 60%;
    }
    #catch #topHex{
        top: 26vh;
    }
    
#catch #topHex svg{
    
    height: calc(100vh - 8em);
    }


}

@media screen and (max-width: 500px)and (orientation: portrait) {
    #index #slide_js .slide img {
        height: 100%;
    }


    #catch {
        top: 0;
        padding-top: 0;

    }

    #catch #topHex,
    #catch #topHex svg {
        width: 100%;
    }

    #catch #topHex svg {
        top: auto;
        left: 0;
        right: 0;
        bottom: auto;
    }

}

#index #s_02 {
    margin: 2.5em 0;
    position: relative;
}

#index #s_02 .inner {
    position: relative;
    height: 37em;
    margin: 3em 0 8em 0;
}

#index .content_item {
    display: inline-block;
    width: 18em;
    position: absolute;
    top: 1.5em;
    left: 0;
    bottom: auto;
    right: 0;
    margin: auto;
}


#index .content_item > div {
    left: -1em;
}

#index .content_item:nth-of-type(1) {
    left: calc(-34.5em - 6em);

}

#index .content_item:nth-of-type(3) {
    right: calc(-34.5em - 6em);
}

#index .content_item:nth-of-type(4),
#index .content_item:nth-of-type(5) {
    top: 19em;

}


#index .content_item:nth-of-type(4) {
    right: calc(20.5em);
}

#index .content_item:nth-of-type(5) {
    left: calc(20.5em);


}


#index .content_item .text {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 18em;
    height: 5em;
    text-align: center;
    color: #fff;
    pointer-events: none;
    z-index: 0;
}

#index .content_item .text .title {
    margin-bottom: 1em;
    position: relative;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    transition: 1s;
}



#index .content_item .text .title > div {
    font-size: 2rem;
    line-height: 1em;
    margin: 0.5rem 0 0.5rem 0;
}

.link_arrow {
    display: inline-block;
    border-bottom: 1px solid #fff;
    position: relative;
    padding: 0 1em;
    font-size: 0.9rem;
    letter-spacing: -0.1em;
    transition: 1s;
}

.link_arrow::after {
    content: "";
    display: block;
    position: absolute;
    margin: auto;
    transform: rotate(45deg);
    height: 1em;
    width: 1em;
    border: 1px solid #fff;
    border-bottom: transparent;
    border-left: transparent;
    top: auto;
    bottom: 0.1em;
    right: -0.5em;
    font-weight: normal;

}

#index .content_item .select a {
    display: inline-block;
    height: auto;
    width: auto;
    margin: auto;
    margin-bottom: 0.5em;
    position: static;
    text-align: left;
    transform: rotate(0);
    text-decoration: none;
    color: #fff;



}

#index .content_item .select {
    display: inline-block;
    z-index: 0;
    height: auto;
    width: auto;
    opacity: 0;
    transform: rotate(0deg);
    text-align: left;
    position: absolute;
    top: 100%;
    bottom: 0;
    left: 40%;
    right: 0;
    pointer-events: auto;
    transition: 1s;
    font-size: 1rem;
}

#index .content_item .js_connect .title {
    top: -1.5em;
    transition: 1s;
}

#index .content_item .js_connect .link_arrow {
    opacity: 0;
    transition: 1s;

}

#index .content_item .js_connect .select {
    opacity: 1;
    transition: 1s;

}

#index .content_item .js_hov_a::after {
    content: "";
    display: block;
    width: 100%;
    padding-top: 110%;
    background-color: #000;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 0;
    opacity: 0;
    transition: 1s;
}

#index .content_item .js_connect.js_hov_a::after,
#index .content_item .js_hover::after {
    opacity: 1;
    transition: 1s;
}

/*fillhex 設定 start*/
#index .content_item .fillhex {
    width: 18rem;

}



#index .content_item .fillhex :nth-child(1) :nth-child(1) {
    box-shadow: none;
}



#index .content_item .fillhex .img::before {
    content: "";
    display: block;
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.3);
}


#index .content_item .js_hover {
    opacity: 1;
}

#index .content_item .js_hover .fillhex .img::after {
    content: "";
    display: block;
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 1);

}

#index .content_item:nth-of-type(1) .fillhex .img {
    background-image: url(../img/contents_product.jpg);
}

#index .content_item:nth-of-type(2) .fillhex .img {
    background-image: url(../img/contents_equip.jpg);
}

#index .content_item:nth-of-type(3) .fillhex .img {
    background-image: url(../img/contents_blow.jpg);
}

#index .content_item:nth-of-type(4) .fillhex .img {
    background-image: url(../img/contents_injection.jpg);
}

#index .content_item:nth-of-type(5) .fillhex .img {
    background-image: url(../img/contents_miki.jpg);
}

/*fillhex 設定 end*/



/*hex setting*/
#index #s_02 .hex {
    width: 9.1rem;
    position: absolute;
    top: 4rem;
    bottom: auto;
    right: 0;
    left: 0;
    margin: auto;
}

#index .hex.line :nth-child(n + 1)::before,
#index .hex.line :nth-child(n + 1)::after {
    height: 1px;
    background-color: #dcdcdc;
}



#index #s_02 .hex.fill,
#index #s_02 .hex.fill :nth-child(n + 1) {
    background-color: #EFEFEF;
}

#index .deco {
    position: absolute;
    top: 4.8rem;
    left: 0;
    right: 0;
}

#index #s_02 .deco .hex:nth-child(1) {
    left: -73rem;
}

#index #s_02 .deco .hex:nth-child(2) {
    left: -55rem;
    top: 19.7rem
}

#index #s_02 .deco .hex:nth-child(3),
#index #s_02 .deco .hex:nth-child(4) {
    display: none;
}

#index #s_02 .deco .hex.fill {
    width: 14rem;
    position: absolute;
    top: 18rem;
    bottom: auto;
    right: -63.5rem;
    left: 0;
    margin: auto;
}



/*hex setting*/


#index #news {
    background-color: #D3D3D3;
    border-top: 3px solid #1e2973;
    padding-top: 2em;
    text-align: center;
    position: relative;

}

#index #news h3 {
    color: #1E2973;
}

#index #news .inner {
    margin: 1.5em auto 1em auto;
    display: inline-block;
    max-width: 440px;
    width: calc(100vw - 3em);
    font-size: 1rem;
}

#index #news .single {
    display: block;
    margin: auto;
    text-align: left;
    margin-bottom: 1em;


}


#index #news .marker_corner {
    margin-bottom: 2em;
    font-size: 1.5rem;

}

/*ホバー　変化設定*/

#index #news .marker_corner {
    background-color: #fff;
    color: #000;
    border: 1px solid #fff;
    text-align: center;
}

#index #news .marker_corner::before,
#index #news .marker_corner::after {
    top: 3px;
    right: 3px;
    border: 1px solid transparent;
}

#index #news .marker_corner.js_hover {
    color: #000;
}

#index #news .marker_corner.js_hover::before,
#index #news .marker_corner:hover::after {
    width: calc(100% - 6px);
    height: calc(100% - 6px);
}

#index #news .marker_corner.js_hover::before {
    border-top-color: #000;
    border-left-color: #000;
}

#index #news .marker_corner.js_hover::after {
    border-bottom-color: #000;
    border-right-color: #000;
}


#index #news .marker_corner > .corner {
    width: calc(100% - 6px);
    color: #000;
    padding: 0 2em 0.1em;
    ;
    margin: 3px;
}

#index #news .marker_corner.js_hover > .corner {
    background-color: #c81518;
    color: #fff;

}

#index #news .marker_corner > .corner::before {
    height: 2rem;
    width: 2rem;
    border: 1px solid #000;
    border-bottom: transparent;
    border-left: transparent;

}

/*ホバー　変化設定*/

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

    #index .content_item {
        top: 0;
        width: calc(74vw * 0.866);
        height: 74vw;

    }

    #index .content_item .text {

        max-width: calc((74vw * 0.866) - 1em);
        height: 7.5em;
    }

    #index .content_item .text .title div {
        font-size: 1.7rem;
    }

    #index .content_item .fillhex {
        width: 74vw;
        left: 0;
        top: 7%;
    }

    #index .content_item:nth-of-type(odd) {

        left: 0;
        right: auto;
        margin-left: 0.5em;

    }

    #index .content_item:nth-of-type(odd) .fillhex {
        left: calc((74vw - (74vw * 0.866))/ 2 *-1);
    }

    #index .content_item:nth-of-type(even) {
        left: auto;
        right: 0;
        margin-right: 0.5em;
    }

    #index .content_item:nth-of-type(even) .fillhex {
        left: auto;
        right: calc((74vw - (74vw * 0.866))/ 2)
    }

    /*3平方の定理*/

    #index .content_item:nth-of-type(2) {
        top: calc((((((74vw * 0.866)/2)/2) * 2.46)
                    /*1辺の長さ*/
                    + (((74vw * 0.866)/2)/2)) *1);
    }

    #index .content_item:nth-of-type(3) {
        top: calc((((((74vw * 0.866)/2)/2) * 2.46) + (((74vw * 0.866)/2)/2)) *2);

    }


    #index .content_item:nth-of-type(4) {
        top: calc((((((74vw * 0.866)/2)/2) * 2.46) + (((74vw * 0.866)/2)/2)) *3);
    }

    #index .content_item:nth-of-type(5) {
        top: calc((((((74vw * 0.866)/2)/2) * 2.46) + (((74vw * 0.866)/2)/2)) *4);
    }


    #index #s_02 .inner {
        min-height: calc(((((((74vw * 0.866)/2)/2) * 2.46) + (((74vw * 0.866)/2)/2)) *5) + (((74vw * 0.866)/2)/2));
        margin-bottom: 1em;
    }


#index .content_item .select {
    top: 60%;
    left: 35%;
}
    
    /*hex setting*/
    #index #s_02 .hex {
        width: calc(((74vw * 0.866)/2) - 0.5em);
        position: absolute;
        top: auto;
        bottom: auto;
        right: auto;
        left: auto;
        margin: auto;
    }



    #index .deco {
        position: absolute;
        top: 8em;
        left: 0;
        right: 0;
        bottom: 0;
    }

    #index #s_02 .deco .hex:nth-child(3),
    #index #s_02 .deco .hex:nth-child(4) {
        display: block;
    }

    #index #s_02 .deco .hex:nth-child(even) {
        left: calc((74vw - (74vw * 0.866)) - (((74vw * 0.866)/2) - 10%));
        right: auto;
    }

    #index #s_02 .deco .hex:nth-child(odd) {
        right: calc((74vw - (74vw * 0.866)) - (((74vw * 0.866)/2) - 10%));
        left: auto;
    }

    #index #s_02 .deco .hex:nth-child(1) {
        top: calc((74vw - (74vw * 0.866)) * 1);

    }

    #index #s_02 .deco .hex:nth-child(2) {
        top: calc((74vw - (74vw * 0.866)) + ((((((74vw * 0.866)/2)/2) * 2.6)
                        /*1辺の長さ*/
                        + (((74vw * 0.866)/2)/2)) *1));

    }


    #index #s_02 .deco .hex:nth-child(3) {
        top: calc((74vw - (74vw * 0.866)) + ((((((74vw * 0.866)/2)/2) * 2.54)
                        /*1辺の長さ*/
                        + (((74vw * 0.866)/2)/2)) *2));

    }


    #index #s_02 .deco .hex:nth-child(4) {
        top: calc((74vw - (74vw * 0.866)) + ((((((74vw * 0.866)/2)/2) * 2.52)
                        /*1辺の長さ*/
                        + (((74vw * 0.866)/2)/2)) *3));

    }


    #index #s_02 .deco .hex.fill {
        width: 74vw;
        left: calc(100vw);

        top: calc((74vw - (74vw * 0.866)) + ((((((74vw * 0.866)/2)/2) * 2.5)
                        /*1辺の長さ*/
                        + (((74vw * 0.866)/2)/2)) *4) - 5%);

    }



    /*hex setting*/


}

@media screen and (max-width: 900px) {
    #index h2 {
        text-align: center;
        font-size: 5rem;
    }

}

/*company*/
#company .h_title {
    background-image: url(../company/img/company_head.jpg);
    background-position: center;


}

#company h3 {
    margin-bottom: 4rem
}

#company #company_index {
    text-align: center;
    margin: 4em 0;
}

#company #company_index h3 {
    font-size: 1em;
    display: inline;

}

#company #company_index ul {
    list-style-type: none;
    display: inline;

}

#company #company_index li {
    display: inline;
    margin: 0.5em;

}

#company #company_index a {
    color: #000;
}


#company table {
    border-collapse: collapse;
    max-width: 710px;
    margin: auto;
    table-layout: fixed;
}

#company table td,
#company table th {
    text-align: left;
    border: 1px solid #000;
    border-right: transparent;
    border-left: transparent;
    padding: 0.6em 0;
    vertical-align: top;

}

#company table td:first-of-type,
#company table th:first-of-type {
    border-top: transparent;
}

#company table th {
    min-width: 6em;
    padding-right: 1em;
    font-weight: normal;

}
#company #s_01 table th {
    min-width: 7em;

}

#company #s_02 {
    margin: 4em 0;
    padding: 2rem 0 3rem;
    color: #fff;
    position: relative;

}


#company #s_02::before {
    content: "";
    display: block;
    background-color: #323232;
    height: auto;
    padding-top: 10%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    right: -100%;
    width: 500%;
    z-index: -1;
}

#company #s_02 p {
    max-width: 710px;
    margin: auto;
    margin-bottom: 1.5em;
}

#company #s_02 p:last-of-type {
    margin-top: 1em;
}

#company #s_02 h3 {
    color: #919191;
}

#company #s_02 h3::after {
    background-color: #919191;
}

#company #s_03 th {
    font-size: 1.5em;
    font-weight: bold;
}

#company #s_04 {
    margin-top: 6em;
    padding: 3em 0 4em;
    text-align: center;
    position: relative;
}

#company #s_04::before {
    content: "";
    display: block;
    background-color: #D3D3D5;
    height: auto;
    padding-top: 10%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    right: -100%;
    width: 500%;
    z-index: -1;
}

#company #s_04 img {
    max-width: calc(100vw - 2rem);
    margin: auto;

}



#company #s_05 {
    padding: 3em 0;
    color: #fff;
    position: relative;
}


#company #s_05::before {
    content: "";
    display: block;
    background-color: #252B70;
    height: auto;
    padding-top: 10%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    right: -100%;
    width: 500%;
    z-index: -1;
}

#company #s_05 h3::after {
    background-color: #c81518;
}

#company #s_05 .flex {
    align-items: center;
    justify-content: space-between;
    max-width: 780px;
    margin: auto;
}

#company #s_05 .left {
    height: 50%;
    font-size: 1rem;
    padding-left: 3em;
}

#company #s_05 .left p {
    margin-bottom: 1em;
}

#company #s_05 .right iframe {
    width: 25em;
    height: 25em;
}

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

    #company #content {
        max-width: calc(100% - 2em);
    }

    #company table th,
    #company table td {
        float: left;
        width: 100%;
        padding-top: 0.3em;
    }

    #company table th {
        border: none;
        padding: 0.5em 0 0em;
        font-weight: bold;
    }

    #company #s_04 img {
        width: 100%;
    }

    #company #s_05 .flex {
        flex-direction: column;
        margin-bottom: 2em;
    }

    #company #s_05 .left {
        padding: 0;
        margin-bottom: 2.5em;
    }

    #company #s_05 .right iframe {
        width: calc(100vw - 2em);
        height: calc(100vw - 2em);
    }


}



/*policy*/
#policy #content {}

#policy #s_01 {
    max-width: 640px;
    margin: auto;
    margin-top: 5em;
}

#policy h3 {
    font-size: 1rem;
    text-align: left;
    font-weight: bold;
    margin-bottom: 1em
}

#policy h3 .num {
    font-family: 'Do Hyeon', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size: 1.3em;
    font-weight: normal;
    margin-right: 0.2em;
}

#policy .iso {
    width: 100%;
    margin-bottom: 4em;
    text-align: center;
}

#policy .iso img {
    width: 12em;
    margin: 0 1em;
    border: 1px solid #aaa;
}

#policy p ,#policy ol{
    margin-bottom: 2em;
}

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

    #policy #s_01 {
        max-width: calc(100% - 2em);
        margin-top: 2em;
    }


}

/*inquiry*/

#inquiry #content {
    max-width: 640px;
    margin-top: 4em;
}

#inquiry form .error {
    display: block;
    font-weight: bold;
}

#inquiry form .red {
    font-weight: bold;
}


#inquiry .h_common.left {
    left: -50px;
    margin-bottom: 1em;
}

#inquiry #tel {
    margin-bottom: 1.5em;
}

#inquiry #tel .h_common {
    font-weight: bold;
}

#inquiry #tel span {
    font-size: 2em;
    font-family: 'Do Hyeon', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    margin: 0.5em 0 1em;
    display: inline-block;
    margin-right: 1em;
}

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

#inquiry form table,
#inquiry #mail > p {
    font-size: 1rem
}

#inquiry form table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}


#inquiry form th,
#inquiry form td {
    width: 100%;
    vertical-align: top;
    float: left;
    padding: 0;
    word-wrap: break-word;
}

#inquiry form th {
    text-align: left;
    padding-top: 1em;
}


#inquiry form textarea,
#inquiry form input {
    border-bottom: 1px solid #000;
    background-color: #E6E6E6;
    width: 100%;
    padding: 0.2em;

}

#inquiry form textarea:focus,
#inquiry form input:focus {
    background-color: #E6EDFF;


}

#inquiry form input.midlle {
    width: 30%;
}

#inquiry form textarea[name="comment"] {
    height: 8em;
    border: none;
}

#inquiry form [name="address"] {
    height: 2.2em;
}

#inquiry form #agree_policy,
#inquiry form #agree_notsales {
    text-align: center;
    margin: 1em 0;
}

#inquiry form #agree_notsales p {
    text-align: left;
    margin: 1em 0 1.5em;
}

#inquiry form input[type="checkbox"] {
    display: none;
}

#inquiry form .checkbox {
    display: inline-block;
    height: 1.5em;
    width: 1.5em;
    background-color: #E6E6E6;
    position: relative;
    top: 0.4em;
    margin-right: 0.5em;

}

#inquiry form input[type="checkbox"]:checked + .checkbox::before {
    content: "✔";
    display: block;
    width: 0.9em;
    height: 1em;
    font-size: 1.5rem;
    line-height: 1em;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;


}

#inquiry form #submit {
    margin: 3em 0 4em;
    display: flex;
    justify-content: center;

}

#inquiry form #submit button {
    margin: 0 1.5em;
}



#inquiry .thanks {
    display: block;
    margin: auto;
    margin-top: 3em;
    margin-bottom: 4em;
}


/*ホバー　変化設定*/

#inquiry form .marker_corner {
    background-color: #112576;
    color: #fff;
    font-size: 1.5em;
}

#inquiry form .marker_corner::before,
#inquiry form .marker_corner::after {
    top: 7px;
    right: 6px;
    border: 1px solid transparent;
}

#inquiry form .marker_corner.left::before,
#inquiry form .marker_corner.left::after {
    left: 6px;
    right: auto;
}


#inquiry form .marker_corner.js_hover {
    color: #fff;
}

#inquiry form .marker_corner.js_hover::before,
#inquiry form .marker_corner:hover::after {
    width: calc(100% - 12px);
    height: calc(100% - 12px);
}

#inquiry form .marker_corner.js_hover::before {
    border-top-color: #fff;
    border-left-color: #fff;
}

#inquiry form .marker_corner.js_hover::after {
    border-bottom-color: #fff;
    border-right-color: #fff;
}


#inquiry form .marker_corner > .corner {
    width: calc(100% - 12px);
    color: #fff;
    padding: 0.5em 2.6em;
    margin: 6px;
}

#inquiry form .marker_corner.js_hover {
    background-color: #c81518;

}

#inquiry form .marker_corner.js_hover > .corner {
    color: #fff;

}

#inquiry form .marker_corner > .corner::before {
    height: 1.5rem;
    width: 1.5rem;
    border-color: #fff;

}

/*ホバー　変化設定*/
/*ホバー　変化設定*/

#inquiry form .marker_corner[name="btn_submit"] {
    background-color: #c81518;
    color: #fff;
    font-size: 1.5em;
}




#inquiry form .marker_corner[name="btn_submit"].js_hover {
    color: #c81518;
}


#inquiry form .marker_corner > .corner {

    padding: 0.5em 3em;
}

#inquiry form .marker_corner.js_hover {
    background-color: #c81518;

}


#inquiry form .marker_corner > .corner::before {
    height: 1.5rem;
    width: 1.5rem;
    border-color: #fff;

}

/*ホバー　変化設定*/

/*ホバー　変化設定*/

#inquiry form .marker_corner.left {
    background-color: #fff;
    color: #000;
    border: 1px solid #000;
    text-align: center;
}

#inquiry form .marker_corner.left::before,
#inquiry form .marker_corner.left::after {
    top: 6px;
    right: 6px;
    border: 1px solid transparent;
}

#inquiry form .marker_corner.left.js_hover {
    color: #252B70;
}

#inquiry form .marker_corner.left.js_hover::before,
#inquiry form .marker_corner:hover::after {
    width: calc(100% - 12px);
    height: calc(100% - 12px);
}

#inquiry form .marker_corner.left.js_hover::before {
    border-top-color: #252B70;
    border-right-color: #252B70;
}

#inquiry form .marker_corner.left.js_hover::after {
    border-bottom-color: #252B70;
    border-left-color: #252B70;
}


#inquiry form .marker_corner.left > .corner {
    width: calc(100% - 12px);
    color: #252B70;
    padding: 0.5em 2.6em;
    margin: 6px;
}

#inquiry form .marker_corner.left.js_hover {
    background-color: #1e2973;

}

#inquiry form .marker_corner.left.js_hover > .corner {
    background-color: transparent;
    color: #fff;

}

#inquiry form .marker_corner.left > .corner::before {
    border-color: #252B70;

}

/*ホバー　変化設定*/
#inquiry .conf {}


#inquiry form .conf table {
    margin-top: 0.5em;
    table-layout: auto;
}

#inquiry form .conf th,
#inquiry form .conf td {
    width: auto;
    float: none;
    padding: 0;
    word-wrap: break-word;
    padding: 1em 0 1em;
    border-bottom: 1px solid #000;
}

#inquiry form .conf th {
    width: 8em;
    padding-right: 1.5em;
    text-align: left;
}


#inquiry .complete .h_common {
    font-weight: bold;

}

/*ホバー　変化設定*/

#inquiry .complete .marker_corner {
    background-color: #000;
    border: 1px solid #000;

}



#inquiry .complete .marker_corner.js_hover::before {
    border-top-color: #fff;
    border-left-color: #fff;
}

#inquiry .complete .marker_corner.js_hover::after {
    border-bottom-color: #fff;
    border-right-color: #fff;
}


#inquiry .complete .marker_corner > .corner {
    color: #fff;
    padding: 0.9em 2em;
}

#inquiry .complete .marker_corner.js_hover {
    background-color: #1e2973;
}

#inquiry .complete .marker_corner.js_hover > .corner {
    background-color: transparent;


}

#inquiry .complete .marker_corner > .corner::before {
    height: 2em;
    width: 2em;
    border-color: #fff;

}

/*ホバー　変化設定*/

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

    #inquiry #content {
        max-width: calc(100% - 2em);
    }

    #inquiry .h_common {
        left: 0;
    }
#inquiry .h_common.left {
    left: 0;
}

    #inquiry #tel span {
        display: block;
        margin: 0;
        text-align: center;
    }

    #inquiry form table {
        width: 100%;
    }

    #inquiry form th {
        padding-bottom: 0.5em;
    }

    #inquiry form td {
        padding-top: 0;
    }

    #inquiry form td p {
        text-align: left;
    }

    #inquiry form textarea,
    #inquiry form input {
        width: 100%;
        padding: 0.1em;

    }

    #inquiry form input.midlle {
        width: 70%;
    }

    #inquiry form .hoverloadinWrap .marker::after {
        right: auto;
        left: calc(100vw - 5.5em);
    }


  
    #inquiry form #submit {
        flex-direction: column-reverse;

    }

    #inquiry form #submit button {
        margin: 1em 0;
    }

}



/*product*/

#product #content {
    max-width: 820px;
}

#product #others,
#product #s_02 {
    max-width: calc((360px * 2) + 1em);
    margin: auto;
}

#product #s_01 {
    position: relative;
    padding: 2em 0;
    margin-bottom: 3em;

}

#product.inj #s_01 {
    margin-right: 1em;
    width: calc(100% + ((100vw - 820px)/2));
}

#product #s_04::before,
#product #s_01::before {
    content: "";
    display: block;
    background-color: #EBEBEB;
    height: auto;
    padding-top: 10%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    right: -100%;
    width: 500%;
    z-index: -1;
}

#product #s_01 .hex {
    position: absolute;
    top: -1rem;
    ;
    z-index: -1;
}

/*hex setting*/
#product .hex {
    width: 4rem;
}

#product .hex.fill,
#product .hex.fill :nth-child(n + 1) {
    background-color: #fff;
}

/*hex setting*/

#product #s_01 h3 {
    font-size: 2rem;
    margin: 1em 0;
}

#product #s_01 .flex {
    justify-content: center;
    font-size: 1rem;
}

#product.blow #s_01 .flex {
    margin-bottom: 6em;
}

#product.blow #s_01 .right {
    position: relative;
    top: 6em;
}

#product.blow #s_01 .common_btn {
    display: block;
}

#product #s_01 .common_btn {
    min-width: 13em;
    margin-bottom: 1em;
}

#product #s_01 .common_btn:first-of-type {
    background-color: #1e2973;
    border:  1px solid #1e2973;
}

#product #s_01 .common_btn:last-of-type {
    background-color: #000;
    border:  1px solid #000;
}

#product #s_01 .common_btn:first-of-type.js_hover {
    background-color: #fff;
    color: #1e2973;
}

#product #s_01 .common_btn:last-of-type.js_hover {
    background-color: #fff;
    color: #000;
}

#product #s_01 .common_btn:first-of-type.js_hover::after {
   
    border-color:  #1e2973;
    transition: 1s;
}

#product #s_01 .common_btn:last-of-type.js_hover::after {
    border-color:  #000;
    transition: 1s;
}


#product.inj #s_01 .common_btn {
    max-height: 3.5em;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

#product.inj #s_01 .common_btn:last-of-type {
    left: 14em;
}


#product #s_01 .flex .left:not(.h_common) {
    width: 50%;
}

#product.inj #s_01 .flex .left:not(.h_common) {
    width: 50%;
    max-width: 28em;
    height: 9em;
    padding-left: 2.5em;
}

#product.inj #s_01 .flex .right {
    min-width: 42em;
    width: 70%;
    position: relative;

}

#product #s_01 .flex .left .text {
    position: relative;
    height: 90%;

}

#product #s_01 .flex .left .text p {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 3em;
}

#product #s_02 .flex {
    flex-wrap: wrap;
    justify-content: space-between;

}

#product #s_02 .flex h4,
#product #s_02 .flex div {
    width: 360px;
    margin-bottom: 1rem;
    overflow: hidden;

}

#product #s_02 .flex h4 {
    background-color: #1e2973;
    color: #CFCFD1;
    font-size: 2rem;
    position: relative;
    min-height: 240px;
    text-align: center;
}

#product #s_02 .flex h4 span {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    height: 1em;
}


#product .flex .imgBox img {
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
}

#product #others h4 {
    background-color: #1e2973;
    color: #fff;
    text-align: left;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0.6em 0.5em 0.5em;
    margin-bottom: 1em;
}

#product #others .flex {
    margin-bottom: 1.5rem
}

#product #others .flex .right,
#product #others .imgBox {
    width: 50%;
}

#product #others .empty,
#product #others .flex .right {
    background-color: #1e2973;
    color: #CECED0;
    position: relative;

}

#product #others .empty{
    width: 100%;
    min-height: 120px;
}

#product #others .empty .text,
#product #others .flex .right .text {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1em;
    left: 0;
    margin: auto;
    max-height: 30%;
    text-align: right;
    font-size: 2em;
}

#product #others .empty .text{
   max-height:none;
    top: 0.5em;
    position: static;
    padding: 2em 1em;
}

#product #others .flex.foo .right .text {
    max-height: 50%;
}

#product #others .flex .right .text .comment {
    font-size: 1rem;
    margin-top: 1em;
}

#product .noImg {
    display: block;
    min-width: 360px;
    min-height: 240px;
    width: 100%;
    position: relative;
    background-color: #cfcfd1;
}

#product .noImg::before {
    content: "No image";
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    height: 1em;
    width: 5em;

}

#product #s_04::before {
    background-color: #CFCFD1;
}

#product #s_04 {
    position: relative;
    padding: 3em 0;
    justify-content: space-between;
}

#product #s_04 .common_btn {
    padding: 2em;
    width: 380px;
    font-weight: bold;
    text-align: center;
}

#product #s_04 .common_btn:first-of-type {
    background-color: #fff;
    color: #1e2973;
}

#product #s_04 .common_btn.marker:first-of-type::after {
    border-color: #1e2973;
    transition: 1s;
}

#product #s_04 .common_btn:last-of-type {
    background-color: #000;

}

#product #s_04 .common_btn.marker::after {
    height: 1em;
    width: 1em;
}

#product #s_04 .common_btn:first-of-type.js_hover {
    background-color: #1e2973;
    color: #fff;
}

#product #s_04 .common_btn:last-of-type.js_hover {
    background-color: #1e2973;

}

#product #s_04 .common_btn:first-of-type.js_hover.marker::after {

    border-color: #fff;
}

@media screen and (max-width: 900px) {
    #product .flex {
        flex-direction: column;
    }

#product #s_01 .flex .left:not(.h_common) {
    width: 100%;
}

    #product #content {
        max-width: calc(100% - 2em);
    }

    #product #others,
    #product #s_02,
    #product #s_01 {
        max-width: none;
    }

    #product #s_01 {
        position: relative;
        padding: 2em 2em;
        margin-bottom: 1em;

    }

    #product #s_01 h3 {
        font-size: 2rem;
        margin: 1em 0;
    }

    #product.blow #s_01 .flex {
        justify-content: center;
        margin-bottom: 6em;
        font-size: 1rem;
    }

    #product.inj #s_01 {
        width: 100%
    }

    #product.blow #s_01 .right {
        position: relative;
        top: 6em;
        max-width: 18em;
        margin: auto;
    }

    #product.inj #s_01 .flex .left:not(.h_common) {
        padding: 0;
        width: 100%;
    }

    #product #s_01 .flex .right {
        min-width: 0;
        width: 100%;
    }

    #product #s_01 .common_btn {
        max-width: 100%;
        min-width: inherit;
    }

    #product.inj #s_01 .common_btn {
        position: relative;
        top: 0;
        bottom: 0;
        left: 0 !important;
        right: 0;
        margin: auto;
        margin-bottom: 1em;
        margin-top: 1em;
        display: block;
        max-height: none;
        min-width: inherit;
    }


    #product.inj #s_01 .flex .right,
    #product #s_01 .flex .right{
        left: 0;
        min-width:inherit;
        width: 100%;
    } 


    #product #s_01 .flex .left {
        width: auto;
    }

    #product .noImg{
        min-width: 100%;
    }
    #product #s_01 .flex .left .text p {
        position: static;
        margin-top: 6em;
    }

    #product #s_02 .flex {
        flex-wrap: wrap;
        justify-content: space-between;

    }

    #product #s_02 .flex h4,
    #product #s_02 .flex div {
        width: 100%;
        overflow: hidden;
        min-height: 240px;

    }


    #product .flex .imgBox {
        position: relative;
        text-align: center;

    }

    #product .flex .imgBox img {
        min-height: 100%;
        position: absolute;
        left: -100%;
        right: -100%;
        margin: auto;

    }


    #product #others .flex .right {
        width: 100%;
        padding: 1.5em;

    }

    #product #others .imgBox {
        width: 100%;
        min-height: 240px;
        overflow: hidden;
    }


    #product #others .flex .right .text {
        position: static;
        text-align: left;
        height: auto;
    }


    #product #others .flex .right .text .comment {
        margin-top: 0;
    }


    #product #s_04 .common_btn {
        padding: 2em;
        padding-left: 3em;
        width: 100%;
        margin-bottom: 1rem;
    }
}

/*equip*/

#equip .h_title {
    background-image: url(../equip/img/equip_head.jpg);


}
#equip #content {
    max-width: 820px;
}

#equip #content .inner {
    max-width: calc((360px * 2) + 1em);
    margin: auto;
}

#equip h3 {
    border-bottom: 1px solid #000;
    display: inline-block;
    margin: auto;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    font-size: 4em;
    height: 1.2em;
}

#equip h3 .ja {
    font-size: 0.4em;
    margin-left: 1em;
    font-weight: bold;

}

#equip {
    background-color: #D4D4D4;
}

#equip .common_btn {
    font-family: 'Do Hyeon', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    display: inline-block;
    font-weight: normal;
    width: 13em;
    margin-bottom: 1em;
    padding: 0.3em 0.4em 0.1em 1em;
    width: auto;
    font-size: 1.2em;
}

#equip .common_btn .ja {
    font-size: 1rem;
    margin-left: 0.5rem;
    position: relative;
    top: -0.05em;
}

#equip .common_btn.marker::after {
    left: 0.2em;
    height: 0.4em;
    width: 0.4em;

}

#equip .common_btn.js_hover {
    background-color: #c81518;
}

#equip .inner .flex .right .common_btn {
    margin-top: 1rem;
}

#equip .inner .flex .right h6, 
#equip .inner .flex .right h5 {
    margin: 0.3em 0 0.3em;
    font-size: 0.8em;
    color: #9898CB;
}

#equip .flex .imgBox img {
    min-height: 100%;
    min-width: 100%;
}

#equip .inner h4 {
    background-color: #1e2973;
    color: #fff;
    text-align: left;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0.6em 0.5em 0.5em;
    margin-bottom: 1em;
}

#equip .inner .flex {
    margin-bottom: 1.5rem
}

#equip .inner .imgBox {
    width: 40%;
}

#equip .inner .flex .right {
    width: 100%;
    background-color: #fff;
    position: relative;

}


#equip .inner .flex .right .text {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 6em;
    margin: auto;
    height: 80%;
    font-size: 1rem;
}

#equip .inner .flex.foo .right .text {
    height: 50%;
}
#equip .inner .flex.foo2 .right .text {
    height: 65%;
}

#equip .inner .flex .right .text .comment {
    font-size: 1rem;
    margin-top: 1em;
}

#equip .noImg {
    display: block;
    min-width: 360px;
    min-height: 240px;
    width: 100%;
    position: relative;
    background-color: #cfcfd1;
}

#equip .noImg::before {
    content: "No image";
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    height: 1em;
    width: 5em;

}


#equip .w_box {
    background-color: #fff;
    margin-bottom: 4em;
}

#equip .w_box h5 {
    font-size: 1.25em;
    padding: 1em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #000;
}

#equip .w_box p {
    font-size: 1rem;
    padding: 1.3em;
    padding-left: 6em
}
#equip .w_box .flex{
    margin: 1em  1.5em;
}
#equip .w_box .flex:last-of-type{
    border-bottom: 1px solid #000;
}

#equip .w_box .flex .imgBox{
    padding: 1em 0;
    overflow: visible;
    position: relative;
    z-index: 1;
    
}
@media screen and (max-width: 1124px) {
    
    #equip h3 {
        border-bottom: 1px solid #000;
        display: block;
        margin: 0;
        margin-top: 2rem;
        margin-bottom: 1.5rem;
        height: auto;
        text-align: left;
    }
}
@media screen and (max-width: 900px) {
    #equip .flex {
        flex-direction: column;
    }

    #equip #content {
        max-width: calc(100% - 2em);
    }

    #equip #s_01 {
        max-width: none;
    }




    #equip h3 .ja {
        margin-left: 0;
        margin-bottom: 0.2em;
        line-height: 1rem;
        display: block;



    }

    #equip .flex .imgBox {
        position: relative;
    }

    #equip .flex .imgBox img {
        min-width: 100%;
    }

    #equip .inner .flex .right {
        width: 100%;
        padding: 1.5em;

    }

    #equip .inner .imgBox {
        width: 100%;
        min-height: 240px;
        overflow: hidden;
    }


    #equip .inner .flex .right .text {
        position: static;
        text-align: left;
        height: auto;
    }


    #equip .inner .flex .right .text .comment {
        margin-top: 0;
    }


    #equip .w_box {
        background-color: #fff;
        margin-bottom: 4em;
    }

    #equip .w_box h5 {
        font-size: 1.25em;
        padding: 1em;
        padding-bottom: 0.5em;
        border-bottom: 1px solid #000;
    }

    #equip .w_box p {
        font-size: 1rem;
        padding: 1.3em;
        padding-left: 2em;
    }

#equip .w_box .flex .imgBox{
    min-height: 0;
    
}

#equip .w_box .flex .imgBox img{
    max-width: 100%;
}

}


/*news*/
#news #content {}

#news #s_01 {
    max-width: 640px;
    margin: auto;
    padding: 3.5em 0;
}

#news #s_01 ul li {
    padding: 1rem 0;
    border-bottom: 1px solid #000;
}

#news #s_01 .left {
    font-family: 'Do Hyeon', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    color: #949494;
    font-size: 1.5em;
    line-height: 1em;
    margin: 0 1em;
}

#news #s_01 .left .inner {
    position: relative;
}

#news #s_01 .left .date {
    text-align: center;
    position: absolute;
    margin: auto;
    top: -0.2em;
    bottom: 0;
    right: -1em;
    left: -1em;
    height: 2em;
}

#news #s_01 .left .date .year {
    font-size: 0.8em;
    margin: auto;
    margin-bottom: 0.1em;
    width: 100%;
}

#news #s_01 .left .hex {}

/*hex setting*/
#news #s_01 .left .hex {
    width: 2.6rem;
}

#news #s_01 .left .hex.line :nth-child(n + 1)::before,
#news #s_01 .left .hex.line :nth-child(n + 1)::after {
    height: 1px;
    background-color: #000;
}

/*hex setting*/

#news #s_01 .text {
    font-size: 1rem;
    padding-left: 1em;
}

#news #s_01 .text h3 {
    font-size: 1em;
    display: inline-block;
    text-align: left;
    border-bottom: 1px solid #000;
    margin-bottom: 0.5em;
}

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

    #news #s_01 {
        max-width: calc(100% - 2em);
    }
}


/*miki_tray*/
#miki_tray #content {
    max-width: 100%;
}

#miki_tray #s_01 {
    height: calc(100vh - 4.5em);
    display: flex;
    flex-direction: column;
    margin-bottom: 4em;
}

#miki_tray #s_01 .h_title {
    height: 100%;
    background-image: url(../miki_tray/img/miki_tray_head.jpg);
    background-position: center;
    background-size: cover;
    position: relative;
}

#miki_tray #s_01 .h_title h2 {
    position: absolute;
    left: 50%;
}

#miki_tray #s_01 .h_title h2 img {
    height: 2em
}

#miki_tray #s_01 .text {
    background-color: #000;
    color: #fff;
    padding: 1.5em;
}

#miki_tray #s_01 .text .inner {
    max-width: 640px;
    margin: auto;
}

#miki_tray #s_01 .text .big {
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 1em;
}

#miki_tray #s_02 {
    font-size: 1rem;
    max-width: 1134px;
    margin: auto;
    margin-bottom: 4em;
}

#miki_tray #s_02 h3 {
    font-size: 1.5em;
    margin-bottom: 1.5em;
}

#miki_tray #s_02 .flex > .left {
    padding: 0 5em;
}

#miki_tray #s_02 .flex > .right img {
    margin-top: 1.5em;
}

#miki_tray #s_02 .comment {
    border: 1px solid #A0A0A0;
    padding: 1em;
    margin-top: 2em;
}

#miki_tray #s_02 .comment h4 {
    font-size: 1.2em;
    text-align: left;
    font-weight: bold;
}

#miki_tray #s_03 {
    color: #fff;
}

#miki_tray #s_03 h3 {
    text-align: left;
    background-color: #000;
    padding: 0.25em;
    padding-left: calc(((100% - 1120px)/2) - 0.3em);
    font-weight: bold;
    font-size: 2.5em;
}

#miki_tray #s_03 h4 {
    text-align: left;
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 1em;
}

#miki_tray #s_03 .flex {
    flex-wrap: wrap;
    list-style-type: none;
    max-width: 1120px;
    margin: auto;
    position: relative;
}

#miki_tray #s_03 .flex li {
    width: 33.3333%;
    min-height: 16.5em;
    padding: 1.5em;
    font-size: 1rem;
}

#miki_tray #s_03 .flex li:nth-last-of-type(even) {
    background-color: #1e2973;
}

#miki_tray #s_03 .flex li:nth-last-of-type(odd) {
    background-color: #000;
}

#miki_tray #s_03 .flex li:nth-last-of-type(1)::before,
#miki_tray #s_03 .flex li:nth-last-of-type(1)::after {
    content: "";
    display: block;
    position: absolute;
    left: -100%;
    right: -100%;
    height: 50%;
    width: 200vw;
    z-index: -1;
}


#miki_tray #s_03 .flex li:nth-last-of-type(1)::before {
    top: 0;
    background-color: #1e2973;
}


#miki_tray #s_03 .flex li:nth-last-of-type(1)::after {
    top: auto;
    bottom: 0;
    background-color: #000;

}



#miki_tray #s_04 {
    margin: auto;
    margin-top: 4em;
    margin-bottom: 3em;
    max-width: 850px;
}

#miki_tray #s_04 h3 {
    font-size: 2rem;
    letter-spacing: 0em;
    margin-bottom: 0.8em;
}

#miki_tray #s_04 .flex {
    margin: auto;
}

#miki_tray #s_04 .flex .item:first-of-type {
    border-right: 1px solid #B5B5B5;
}

#miki_tray #s_04 .flex .item {
    width: 33.5em;
    padding: 0.5em 3em 0;
}

#miki_tray #s_04 .flex .item h4 {
    font-size: 1.8em;
    text-align: left;
    margin-bottom: 0.5em
}

#miki_tray #s_04 .flex .item h5,
#miki_tray #s_04 .flex .item p {
    font-size: 1rem;
}

#miki_tray #s_04 .flex .item h5 {
    margin: 0.4em 0 0.5em;
}

#miki_tray #s_04 .flex .item p {
    margin: 0.5em 0 1.5em;
}


@media screen and (orientation: portrait) {

    #miki_tray #s_01 .h_title {
        background-image: url(../miki_tray/img/miki_tray_head_sp.jpg);
    }

    #miki_tray #s_01 .h_title h2 {
        position: absolute;
        top: 5vh;
        left: 0;
        bottom: auto;
    }

    #miki_tray #s_01 .h_title h2 img {
        max-width: calc(100% - 2em);
    }
}

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

    #miki_tray #s_01 {
        margin-bottom: 0;
    }

    #miki_tray #s_02 .flex {
        flex-direction: column;
    }

    #miki_tray #s_02 {
        max-width: calc(100% - 2em);
        margin-top: 2em;
    }

    #miki_tray #s_02 h3 {
        font-size: 1.5em;
        margin-bottom: 1em;
    }

    #miki_tray #s_02 .flex > .left {
        padding: 0;
    }

    #miki_tray #s_02 .flex img {
        margin-bottom: 1em;
        width: 100%;
    }


    #miki_tray #s_03 h3 {
        padding: 0.25em;
    }



    #miki_tray #s_03 .flex li {
        width: 50%;
        padding: 1.5em 1em;
    }

    #miki_tray #s_03 .flex li:nth-last-of-type(3n) {
        background-color: #1e2973;
    }

    #miki_tray #s_03 .flex li:nth-last-of-type(3n+1) {
        background-color: #000;
    }





    #miki_tray #s_04 {
        margin: auto;
        margin-top: 2em;
        margin-bottom: 3em;
        max-width: calc(100% - 2em);
    }

    #miki_tray #s_04 h3 {
        margin-bottom: 0.5em;
    }

    #miki_tray #s_04 .inner {
        width: calc(100vw);
        overflow-x: scroll;
    }

    #miki_tray #s_04 .flex {
        margin: auto;
        width: calc(((100vw - 4em)* 2) + 2em);
    }

    #miki_tray #s_04 .flex .item:first-of-type {
        border-right: none;
        padding-right: 0.5em;
    }

    #miki_tray #s_04 .flex .item:last-of-type {
        padding-left: 0.5em;
    }

    #miki_tray #s_04 .flex .item img {
        width: 100%;
    }

    #miki_tray #s_04 .flex .item {
        width: calc(100vw - 4em);
        padding: 0.5em 0 0;
    }

}

/*about*/
#about #content {
    font-size: 1rem;
    max-width: 100%;
}

#about.blow .h_title {
    background-image: url(../about_blow/img/about_blow_head.jpg);
}

#about.inj .h_title {
    background-image: url(../about_injection/img/about_inj_head.jpg);
}

#about #s_01 {
    position: relative;
    padding: 3em 0;
    max-width: 640px;
    margin: auto;
}

#about #s_01::before {
    content: "";
    display: block;
    background-color: #EBEBEB;
    height: auto;
    padding-top: 10%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    right: -100%;
    width: 500%;
    z-index: -1;
}

#about #s_01 h3 {
    margin-bottom: 2.3em;
}

#about #s_01 p {
    margin-bottom: 1em;
}


#about #howTo h3 {
    background-color: #000;
    color: #fff;
    font-size: 1.5em;
    font-weight: bold;
    padding: 0.5em;
    margin-bottom: 1em;
    text-align: left;
}

#about #about_product {
    position: relative;
    width: 100%;
    padding: 2em 0 0;
    text-align: center;
}

#about #about_product h3 {
    margin-bottom: 2em;
}

#about #about_product::before {
    content: "";
    display: block;
    background-color: #D2D2D4;
    height: auto;
    padding-top: 10%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    right: -100%;
    width: 500%;
    z-index: -1;
}

#about #about_product .slideWrap {
    border: 6px solid #fff;
    border-left: none;
    border-right: none;
}

#about #about_product .marker_corner {
    position: relative;
    top: -2em;
    font-size: 1.3em;
}

/*ホバー　変化設定*/

#about #about_product .marker_corner {
    background-color: #1e2973;
    color: #fff;
    border: none;
    text-align: center;
}


#about #about_product .marker_corner.js_hover {
    color: #1e2973;
}

#about #about_product .marker_corner.js_hover::before {
    border-top-color: #fff;
    border-left-color: #fff;
}

#about #about_product .marker_corner.js_hover::after {
    border-bottom-color: #fff;
    border-right-color: #fff;
}


#about #about_product .marker_corner > .corner {
    width: calc(100% - 12px);
    color: #fff;
    padding: 1em 2.5em;
    margin: 6px;
}

#about #about_product .marker_corner.js_hover {
    background-color: #c81518;
    color: #fff;
}

#about #about_product .marker_corner > .corner::before {
    height: 1.5rem;
    width: 1.5rem;
    border-color: #fff;

}

/*ホバー　変化設定*/


#about #about_product .slide {
    display: flex;
}

#about #about_product .slide img {
    height: 15em;
}

#about .slideWrap {
    display: flex;
    width: 100%;
    overflow: hidden;
}

#about .slideWrap .slide:first-of-type {
    animation: loop 100s -50s linear infinite;
}

#about .slideWrap .slide:last-of-type {
    animation: loop2 100s linear infinite;
}

@media screen and (max-width: 900px) {
    #about .slideWrap .slide:first-of-type {
        animation: loop 150s -75s linear infinite;
    }

    #about .slideWrap .slide:last-of-type {
        animation: loop2 150s linear infinite;
    }


}

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

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

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

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


#about #howTo .h_hex {
    font-size: 1.8em;
    text-align: left;
    position: relative;
}

#about #howTo .h_hex .text {
    position: absolute;
    bottom: 0.7em;
    font-size: 0.6em;
    font-weight: bold;
}

#about #howTo .h_hex .hexWrap {
    position: relative;
    display: inline-block;
    height: 100%;
    width: 2em;
}

#about #howTo .h_hex::after {
    content: "";
    display: block;
    width: 8em;
    max-width: 80%;
    border-bottom: 1px solid #000;
    position: absolute;
    top: calc(1em * 1.7);
    left: 1em;

}

#about #howTo .h_hex .num {
    position: absolute;
    top: 0.25em;
    left: 0;
    right: 0;

}

#about #howTo .h_hex .num::before {
    content: "0";
    font-size: 0.8em;
}

/*hex setting*/
#about #howTo .h_hex .hex {
    width: 1em;
    display: inline-block;
}

#about #howTo .h_hex .hex.line :nth-child(n + 1)::before,
#about #howTo .h_hex .hex.line :nth-child(n + 1)::after {
    height: 1px;
    background-color: #000;
}

#about #howTo .h_hex .hex.line :nth-child(1)::before {
    background-color: transparent;
}

/*hex setting*/



#about #howTo.blow {
    max-width: 900px;
    margin: auto;
    margin-top: 2.5em;
    margin-bottom: 4em;
}

#about #howTo.blow .flex .step {
    flex-basis: 23em;
    flex-shrink: 1;
    margin-right: 1.2em;
}

#about #howTo.blow .flex .step p {
    background-color: #B9DCFF;
    padding: 1em;
    min-height: 13em;
    position: relative;

}


#about #howTo.blow .flex .step p::after {
    content: "";
    display: inline-block;
    width: 2em;
    height: 100%;
    position: absolute;
    top: 0;
    left: 100%;
    border-left: 1em solid #B9DCFF;
    border-right: 1em solid transparent;
    border-top: 6.5em solid transparent;
    border-bottom: 6.5em solid transparent;

}

#about #howTo.blow .flex .step .imgBox {
    text-align: center;
    width: 100%;

}

#about #howTo.blow .flex .step .imgBox img {}

#about #howTo.blow .flex .step:nth-of-type(1) {
    min-width: 24em;
}

#about #howTo.blow .flex .step:nth-of-type(2) {
    flex-shrink: 1;
}

#about #howTo.blow .flex .step:nth-of-type(3) {
    flex-shrink: 1;
}

@media screen and (max-width: 35em) {
    #about.blow .h_title h2{
        height: 3em;
    }}
@media screen and (max-width: 900px) {


    #about #s_01 {
        max-width: calc(100% - 2em);
    }

    #about #howTo.blow {
        max-width: calc(100% - 2em);
    }

    #about #howTo.blow .flex {
        flex-direction: column;
    }

    #about #howTo.blow .flex .step {
        flex-basis: auto;
        margin-right: 0;
        margin-bottom: 2em;
    }

    #about #howTo.blow .flex .step p {
        background-color: #B9DCFF;
        padding: 1em;
        min-height: inherit;
        position: relative;

    }


    #about #howTo.blow .flex .step p::after {
        content: "";
        display: block;
        width: 5em;
        height: 2em;
        position: absolute;
        top: calc(100% + 0.5em);
        left: 0;
        right: 0;
        margin: auto;
        border-top: 1em solid #B9DCFF;
        border-right: 2.5em solid transparent;
        border-left: 2.5em solid transparent;
        border-bottom: 1em solid transparent;

    }

    #about #howTo.blow .flex .step:nth-of-type(1) {
        min-width: inherit;
    }

    #about #howTo.blow .flex .step:last-of-type p::after {
        display: none;
    }

    #about #howTo.blow .flex .step:nth-of-type(3) .imgBox {
        height: 15em;

    }

    #about #howTo.blow .flex .step:nth-of-type(3) .imgBox img {
        position: relative;
        top: -5em;

    }

    #about #howTo.blow .flex .step .imgBox img {
        max-width: 100%;
    }

}


#about #howTo.inj {
    max-width: 900px;
    margin: auto;
    margin-top: 3em;
    margin-bottom: 4em;
}

#about #howTo.inj .inner {
    max-width: 700px;
    margin: auto;
    padding-top: 2em;
}

#about #howTo.inj .step {
    justify-content: space-between;
    margin-bottom: 4.5em;
    position: relative;
}

#about #howTo.inj .step::after {
    content: "";
    display: block;
    width: 7em;
    height: 3em;
    position: absolute;
    top: calc(100% + 0.5em);
    left: 0;
    right: 0;
    margin: auto;
    border-top: 1.5em solid #EDBF65;
    border-right: 3.5em solid transparent;
    border-left: 3.5em solid transparent;
    border-bottom: 1em solid transparent;
    margin-top: 1em;

}

#about #howTo.inj .step:last-of-type::after {
    content: "";
    display: none;
}

#about #howTo.inj .step .right {
    width: 50%;
}

#about #howTo.inj .step .imgBox {
    margin-right: 1em;
    width: 42%;
}

#about #howTo.inj .step .imgBox img {
    width: 100%;
}


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

    #about #howTo.inj .step.flex {
        flex-direction: column;
    }

    #about #howTo.inj {
        width: calc(100% - 2em)
    }


    #about #howTo.inj .step .imgBox {
        margin-right: 0;
        width: 100%;
    }

    #about #howTo.inj .step .right {
        width: calc(100% - 2em);
        margin: auto;
    }

}

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