@charset "utf-8";
/* @import url("zoomslider.css");
@import url("all.min.css");
@import url("contact/css/jquery.datetimepicker.css"); */


/* For modern browsers */

.cf:before,
.cf:after {
    content: "";
    display: block;
    overflow: hidden;
}

.cf:after {
    clear: both;
}

.cf {
    zoom: 1;
}

blockquote,
body,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block
}

audio,
canvas,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden] {
    display: none
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0;
    /* font-family: 'Noto Sans JP',"æ¸¸ã‚´ã‚·ãƒƒã‚¯", "Yu Gothic","æ¸¸æ˜Žæœ",'Amerigo BT', YuMincho, "ãƒ’ãƒ©ã‚®ãƒŽæ˜Žæœ ProN W3", "Hiragino Mincho ProN","HGæ˜ŽæœE","ï¼­ï¼³ ï¼°æ˜Žæœ","ï¼­ï¼³ æ˜Žæœ",serif; */
}

a:active,
a:hover {
    outline: 0
}

b,
strong {
    font-weight: 700
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal
}

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em
}

pre {
    white-space: pre-wrap
}

q {
    quotes: "\201C" "\201D" "\2018" "\2019"
}

small {
    font-size: 80%
}

sub,
sup {
    position: relative;
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

embed,
img,
object {
    vertical-align: top
}

figure {
    margin: 0
}

button,
input,
select,
textarea {
    margin: 0;
    font-size: 100%;
    font-family: inherit
}

button,
input {
    line-height: normal
}

button,
select {
    text-transform: none
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    cursor: pointer;
    -webkit-appearance: button
}

button[disabled],
html input[disabled] {
    cursor: default
}

input[type=checkbox],
input[type=radio] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto;
    vertical-align: top
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

caption,
th {
    text-align: left
}

li {
    list-style-type: none
}

em {
    font-weight: 700
}

i {
    font-style: normal
}




/* -----------------------------------------------------------

#topImg

----------------------------------------------------------- */
#topImg {
    /* min-height: 100%; */
    min-height: calc(100vh - 20px);
    width: 100%;
    z-index: 2;
    position: relative;
    background: #fefefe;
    top: 0px;
    /* min-height: 60vh; */
}

/* ----- .catchArea ----- */
#topImg .catchArea {
    position: absolute;
    bottom: -60px;
    right: 0;
    left: 0;
    text-align: center;
    z-index: 2;
}

#topImg .catchArea h2 {
    font-size: 12px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    letter-spacing: 8px;
    line-height: 50px;
}

#topImg .catchArea h2 img {
    width: 200px;
}

#topImg .catchArea h2 span {
    font-size: 11px;
    font-family: 'Open Sans';
    vertical-align: 0;
    font-weight: 300;
}

/* ----- .arrowArea ----- */
#topImg .arrowArea {
    position: absolute;
    bottom: 100px;
    right: 0;
    width: 10%;
    z-index: 2;
}

#topImg .arrowArea a {
    position: absolute;
    top: -90px;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 3;
}

/* span */
#topImg .arrowArea span {
    display: block;
    height: 60px;
    text-align: center;
    position: relative;
    z-index: 2;
}

#topImg .arrowArea span:before {
    position: absolute;
    top: 0;
    left: 50%;
    bottom: 0;
    width: 0;
    content: "";
    border-left: #ddd 1px dotted;
    z-index: -2;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#topImg .arrowArea:hover span:before {
    border-left: #fff 1px solid;
    top: 0px;
}

/* .dot */
#topImg .arrowArea span .dot {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1px;
    height: 20px;
    /*margin-left:-1px;*/
    background: #f0f0f0;
    background: #f0f0f0;
    z-index: -2;
    z-index: 1;
    -webkit-animation: scroll-next 4s infinite;
    -moz-animation: scroll-next 4s infinite;
    -o-animation: scroll-next 4s infinite;
    animation: scroll-next 4s infinite;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#topImg .arrowArea:hover span .dot {
    background: transparent;
}

/* .arrow */
#topImg .arrowArea .arrow {
    position: absolute;
    bottom: -15px;
    left: 50%;
    margin-left: -3px;
    width: 7px;
    height: 7px;
    border-bottom: #fefefe 1px solid;
    border-left: #fefefe 1px solid;
    /*opacity:0; */
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    opacity: 0;
    /*font-family: 'themify'; content: "\e64b"*/
    z-index: 3;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#topImg .arrowArea:hover .arrow {
    opacity: 1;
    bottom: -8.5px;
    bottom: 0px;
    border-bottom: #fafafa 1px solid;
    border-left: #fafafa 1px solid;
}

/* .txt */
#topImg .arrowArea span .txt {
    position: absolute;
    top: -45px;
    left: 0;
    right: 0;
    width: auto;
    color: #fff;
    font-size: 11px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 4px;
    line-height: 0;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#topImg .arrowArea:hover span .txt {
    /*letter-spacing:5px; */
}

/* ----- .img ----- */
#topImg .img {
    position: absolute;
    top: 10px;
    left: 10px;
    bottom: 10px;
    right: 10px;
    background-size: cover;
    z-index: -1;
    /* padding-bottom: 20px; */
}

@media only screen and (max-width: 768px) {

    #topImg {
        min-height: 60vh;
    }



    #topImg .catchArea {
        bottom: -60px;
    }

    #topImg .catchArea h2 img {
        width: 150px;
    }

    /* ----- .img ----- */
    #topImg .img {
        position: absolute;
        top: 60px;
        left: 2%;
        bottom: 20px;
        right: 2%;
        background-size: cover;
        z-index: -1;
    }
}

/* ----- .bg ----- */
#topImg .bg001 {
    background: url(../img/kv/kv_1.webp) top center no-repeat;
    object-fit: cover;
}

#topImg .bg001 .catch_title {
    font-size: 3em;
    line-height: 2em;
    color: #fff;
    position: absolute;
    right: 5%;
    top: 40%;
}

#topImg .bg002 {
    background: url(../img/kv/kv_1.webp) center center no-repeat;
}

#topImg .bg003 {
    background: url(../img/kv/kv_1.webp) bottom center no-repeat;
}

#topImg .bg004 {
    background: url(../img/kv/kv_1.webp) bottom center no-repeat;
}

#topImg .bg001 img {
    max-width: 300px;
    padding: 2%
}

#topImg .bg002 img {
    max-width: 300px;
    padding: 2%
}

#topImg .bg003 img {
    max-width: 300px;
    padding: 2%
}

#topImg .bg004 img {
    max-width: 300px;
    padding: 2%
}

/* 
#topImg .bg005 { background: url(../images/home/mainslider/5.jpg) bottom center no-repeat; }
#topImg .bg006 { background: url(../images/home/mainslider/6.jpg) center center no-repeat; } */
/* ----- .slick-dots ----- */
#topImg .mainImg {
    min-height: 100%;
    width: 100%;
    background-size: cover !important;
    border-radius: 0 0 2.5em 0;
    border-radius: 0.5em;
}

/* ----- .mainSlider ----- */
.mainSlider {}

#topImg .slick-list,
#topImg .slick-track {
    height: 100%;
}

/* --- Arrows --- */
#topImg .slick-prev,
#topImg .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    /*top: 50%;*/
    top: 50%;
    display: block;
    width: 55px;
    height: 55px;
    padding: 0;
    margin-top: -25px;
    /*lte IE 8*/
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: #111;
    border: #111 1px solid;
    border: none;
    outline: none;
    background: none;
    /*background: #111;*/
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 2;
}

#topImg .slick-prev:before,
#topImg .slick-next:before {
    font-family: 'themify';
    font-size: 20px;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#topImg .slick-prev {
    left: -5%;
    border-right: none;
}

#topImg .slick-prev:before {
    content: "\e64a"
}

#topImg .slick-next {
    right: -5%;
    border-left: none;
}

#topImg .slick-next:before {
    content: "\e628";
}

#topImg .slick-prev:hover,
#topImg .slick-next:hover {
    color: #fefefe;
    background: #b09d7c;
}

#topImg .slick-prev:hover:before,
#topImg .slick-prev:focus:before,
#topImg .slick-next:hover:before,
#topImg .slick-next:focus:before {
    opacity: 1;
}

/* ----- .slick-dots ----- */
#topImg .slick-dots {
    position: absolute;
    top: 50%;
    bottom: auto;
    left: -5.25%;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0px;
    width: 5%;
    height: auto;
    z-index: 100;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin-top: -25px;
}

#topImg .slick-dots li {
    position: relative;
    display: block;
    height: 20px;
    width: 100%;
    margin: 25px auto 0;
    padding: 0;
    cursor: pointer;
    text-align: center;
}

#topImg .slick-dots li button {
    border: 0;
    background: #fefefe;
    display: block;
    height: 20px;
    width: 30px;
    padding: 0;
    /*overflow: hidden; */
    line-height: 20px;
    font-size: 0;
    color: transparent;
    cursor: pointer;
    position: relative;
    z-index: 2;
    margin: 0 auto;
    text-align: center;
    -webkit-transition: all 1s ease-out;
    -moz-transition: all 1s ease-out;
    -o-transition: all 1s ease-out;
    transition: all 1s ease-out;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

#topImg .slick-dots li button:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    font-weight: 300;
    color: #111;
    z-index: -1;
    letter-spacing: 2px;
}

#topImg .slick-dots li:first-child button:after {
    border: #ffffff 2px solid;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    content: "";
}

#topImg .slick-dots li:nth-child(2) button:after {
    border: #ffffff 2px solid;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    content: "";
}

#topImg .slick-dots li:nth-child(3) button:after {
    border: #ffffff 2px solid;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    content: "";
}

#topImg .slick-dots li:nth-child(4) button:after {
    border: #ffffff 2px solid;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    content: "";
}

#topImg .slick-dots li:nth-child(5) button:after {
    border: #ffffff 2px solid;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    content: "";
}

/* 
#topImg .slick-dots li:nth-child(5) button:after { content: "〇"; }
#topImg .slick-dots li:nth-child(6) button:after { content: "〇"; } */
#topImg .slick-dots li button:focus {
    outline: none;
}

#topImg .slick-dots li.slick-active button {
    outline: none;
    background: #ffffff;
    border-radius: 50%;
    width: 15px;
    height: 15px;
}

/*
#topImg .slick-dots li button:before { position: absolute; top: 45%; right: 100%; left: 0; content: ""; border-top: transparent 2px solid; z-index: 1; -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; opacity: 0.7; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0;}
*/
#topImg .slick-dots li button:before {}

#topImg .slick-dots li:hover button:before {
    right: 0;
    /* border-top: #016c6e 2px solid;*/
    opacity: 1;
}

#topImg .slick-dots li.slick-active button:before {
    position: absolute;
    top: 45%;
    right: 0;
    left: 0;
    content: "";
    border: none;
    /* border-top: #016c6e 2px solid;*/
    z-index: 1;
    opacity: 1;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

/* ----- .slick-dots ----- */
#topImg .slick-dots {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    list-style: none;
    display: block;
    text-align: right;
    padding: 0px;
    width: 100%;
    height: auto;
    z-index: 100;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    margin-top: 0;
}

#topImg .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 0.5%;
    padding: 0;
    cursor: pointer;
    text-align: right;
}

#topImg .slick-dots li button {
    border: 0;
    background: #fefefe;
    background: none;
    display: block;
    height: 20px;
    width: 20px;
    padding: 0;
    /*overflow: hidden; */
    line-height: 20px;
    font-size: 0;
    color: transparent;
    cursor: pointer;
    position: relative;
    z-index: 2;
    margin: 0 auto;
    text-align: center;
    -webkit-transition: all 1s ease-out;
    -moz-transition: all 1s ease-out;
    -o-transition: all 1s ease-out;
    transition: all 1s ease-out;
}

#topImg .slick-dots li button:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    font-size: 11px;
    color: #fefefe;
    z-index: -1;
    letter-spacing: 1.5px;
}


@media only screen and (max-width: 768px) {

    #topImg .bg001 .catch_title {
        font-size: 1.2em;
        line-height: 2em;
        right: 2%;
        top: 60%;
        /* left:% */
    }

}





#intro {
    /* background-image: none; */
    /* background: url(../common/img/top/top_brand_bg.webp) bottom center no-repeat; */
    text-align: center;
    padding: 5em;

}

#intro .top_title {
    font-size: 2.5em;
    line-height: 2;
}


#brand_info {
    background: url(../img/top/top_brand_bg.webp) bottom center no-repeat;
    height: 600px;
    padding: 3em;
    position: relative;
    /* margin-bottom: 20em; */
    background-color: #ddd;
    /* padding-bottom: 20em; */
}


#brand_info:after {
    height: 350px;
    background-color: #f4e8e8;
}




#brand_info .area_band {
    position: absolute;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    /* position: relative; */
    /* flex-direction: row; */
    max-width: 1100px;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: -380px;
    align-items: center;
    z-index: 1;
}


#brand_info .area_band .area_band_l {
    /* position: absolute; */
    width: 58%;
}


#brand_info .area_band .area_band_l img.set_a {
    /* position: absolute; */
    width: 90%;
    position: relative;
    left: -100px;
    top: 80px;
    border-radius: 0.5rem;
}

#brand_info .area_band .area_band_l img.set_b {
    /* position: absolute; */
    width: 70%;
    position: relative;
    left: 80px;
    top: -60px;
    border-radius: 0.5rem;
}


#brand_info .area_band .area_band_r {
    width: 42%;
}

#brand_info .area_band .area_band_r .info_box {
    display: flex;
    flex-direction: column;
    background: #fff;
    padding: 2em;
    border-radius: 0.5em;
}

.brand_logo {
    width: 200px;
    margin: 2em auto 3em;
}

.info_txt {
    font-size: 1em;
    padding: 10px;
}

#reco_info {
    background: #edeae1;
    height: 400px;
}

@media only screen and (max-width: 768px) {

    #intro {
        text-align: center;
        padding: 2em;
    }


    #brand_info {
        background: url(../img/top/top_brand_bg.webp) bottom center no-repeat;
        height: 500px;
        padding: 3em;
        position: relative;
        margin-bottom: 0em;
        background-color: #ddd;
    }



    #brand_info .area_band {
        position: absolute;
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-around;
        /* position: relative; */
        flex-direction: column;
        max-width: 1100px;
        margin: 0 auto;
        left: 0;
        right: 0;
        bottom: -380px;
        align-items: center;
        z-index: 1;
    }

    #brand_info .area_band .area_band_l {
        /* position: absolute; */
        width: 90%;
    }


    #brand_info .area_band .area_band_l img.set_a {
        /* position: absolute; */
        width: 60%;
        position: relative;
        left: 10px;
        top: 50px;
        border-radius: 0.5rem;
    }

    #brand_info .area_band .area_band_l img.set_b {
        /* position: absolute; */
        width: 60%;
        position: relative;
        left: 120px;
        top: -15px;
        border-radius: 0.5rem;
    }


    #brand_info .area_band .area_band_r {
        width: 90%;
    }

    #brand_info .area_band .area_band_r .info_box {
        display: flex;
        flex-direction: column;
        background: #fff;
        padding: 2em;
        border-radius: 0.5em;
    }

    #reco_info {
        background: #edeae1;
        height: 400px;
        margin-top: 0;
    }

    .info_txt {
        font-size: 0.9em;
    }

}





#f_under_Set {
    background: url(../img/top/footer_under.webp) bottom center no-repeat;
    height: 600px;
    padding: 3em 6em;
    position: relative;
    /* margin-bottom: 20em; */
    background-color: #ddd;
    /* padding-bottom: 20em; */
}

#f_under_Set .wrap {
    position: relative;
    max-width: 1350px;
    margin: 0 auto;
    padding: 5em;
}



#f_under_Set h3 {
    position: absolute;
    right: 10px;
    font-size: 3.5rem;
    font-weight: 600;
}

#f_under_Set p {
    position: absolute;
    right: 10px;
    top: 150px;
    text-align: right;
    font-size: 2.1rem;
    font-weight: 400;
    background: rgb(255 255 255 / 15%);
}

@media only screen and (max-width: 768px) {
    #f_under_Set {
        background: url(../img/top/footer_under.webp) center left no-repeat;
        height: 500px;
        background-position-x: 20%;
        background-position-y: 100%;
        padding: 1em 1em;
    }



    #f_under_Set h3 {
        position: absolute;
        left: 5px;
        top: 80px;
        font-size: 2.5rem;
        font-weight: 600;
    }

    #f_under_Set p {
        position: absolute;
        left: 15px;
        top: 130px;
        text-align: left;
        font-size: 1.5rem;
        font-weight: 400;
        background: rgb(255 255 255 / 0%);
    }





}







#demo-1 {
    position: relative;
    /* can either be relative, absolute or fixed. If position is not set (i.e. static), it would be set to "relative" by script */
    overflow: hidden;
    /* to bound the empty top space created by inner element's top margin */
    width: 100%;
    min-height: 100vh;
    /*     background-color: #999; */
}

div#demo-1 {}

.slide_pc {
    display: block
}

.slide_sp {
    display: none
}

@media screen and (max-width: 768px) {
    .slide_pc {
        display: none
    }

    .slide_sp {
        display: block
    }
}

.demo-inner-content {
    position: relative;
    /* if position is not set, the script will set it to 'relative'. */
    z-index: 2;
    /* if z-index is not set, the script will set it to '2'. */
    margin: 180px auto;
    padding: 40px;
    max-width: 600px;
    color: #fff;
    text-align: center;
    font-size: 1.5em;
}

.demo-inner-content h1 {
    font-size: 2.5em;
    margin: 0;
}

#k-visual {
    position: relative;
    /* can either be relative, absolute or fixed. If position is not set (i.e. static), it would be set to "relative" by script */
    overflow: hidden;
    /* to bound the empty top space created by inner element's top margin */
    width: 100%;
    min-height: 100vh;
    /*     background-color: #999; */
}

.k-visual-inner-content {
    position: relative;
    /* if position is not set, the script will set it to 'relative'. */
    z-index: 2;
    /* if z-index is not set, the script will set it to '2'. */
    margin: 180px auto;
    padding: 40px;
    max-width: 600px;
    color: #fff;
    text-align: center;
    font-size: 1.5em;
}

.k-visual-inner-content h1 {
    font-size: 2.5em;
    margin: 0;
}

.c-fonts-bold {
    font-family: Calibre-Bold
}

.loading-cover {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 5000;
    background-color: #fff;
    overflow: hidden
}

.loading-cover>.inner {
    position: absolute;
    width: 42px;
    /* height: 252px; */
    top: 50%;
    left: 45%;
    right: 45%;
    margin: 0 auto
}

.loading-cover .cover {
    width: 120px;
    /* height: 100%; */
    opacity: 0;
    -webkit-transform: translateY(-50%) scale(1.3);
    transform: translateY(-50%) scale(1.3)
}

.loading-cover .site-title-svg-g {
    width: 100px;
    margin: 0 auto;
    /* height: 177px */
}

.loading-cover.is-start .cover {
    opacity: 1;
    -webkit-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1);
    -webkit-transition: opacity 1.2s linear, -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, transform 1.8s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, transform 1.8s cubic-bezier(0, .6, .2, 1), -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1)
}

@media screen and (max-width:768px) {
    .loading-cover>.inner {
        /* height: 50px */
    }
}

@media screen and (max-width:500px) {
    .loading-cover>.inner {
        position: absolute;
        width: 42px;
        /* height: 252px; */
        top: 50%;
        left: 35%;
        right: 45%;
        margin: 0 auto
    }

    .loading-cover .site-title-svg-g {
        width: 50px;
        /* height: 177px */
    }

    .loading-cover>.inner {
        width: 50%;
        /* height: 50px */
    }
}

.is-page-opened .loading-cover {
    -webkit-transition: opacity 1s linear, visibility 1s linear;
    transition: opacity 1s linear, visibility 1s linear;
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

.container {
    /* width: 62.5% */
}

.container,
.wide-container {
    max-width: 1280px;
    margin: 0 auto
}

.wide-container {
    /* width: 80%; */
}

.js-sec-parent {
    /* background-color: #ffffff; */
    background: #030016;
}



/* #mainImg 下層ページ
================================================ */


/*  02_base
================================================ */


/* 02_base
================================================ */


/* html { overflow: auto; } */


/* body { min-width: 320px; overflow: hidden; color: #262626; font-size: 1.5rem; line-height: 1.6; letter-spacing: .06em; font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; -webkit-text-size-adjust: 100%; } */


/* @media screen and (min-width: 600px) { 
body { min-width: 1200px; font-size: 1.6rem; }
 } */


/* img { max-width: 100%; height: auto; }
 */


/* a { -webkit-transition: all 0.3s ease; 
transition: all 0.3s ease; 
color: inherit; text-decoration: none; } */


/* @media screen and (min-width: 600px) { a:hover { text-decoration: none; }
  a.opacity:hover { opacity: .8; }
  a[href^=tel] { pointer-events: none; } }

.alpha { display: block; text-decoration: none; }

@media screen and (min-width: 600px) { .alpha { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .alpha:hover { opacity: .7; } } */


/* em, strong, span { font-weight: inherit; } */


/* pc <--> sp切り替え
-------------------------------------- */

#mediaQuery {
    display: none;
    font-family: 'sp';
}

@media screen and (min-width: 600px) {
    #mediaQuery {
        font-family: 'pc';
    }
}

@media screen and (max-width: 599px) {
    .viewPc {
        display: none;
    }
}

@media screen and (min-width: 600px) {
    .viewSp {
        display: none;
    }
}


/* font
-------------------------------------- */


/* .is_txt_center { text-align: center !important; }

.is_txt_right { text-align: right !important; }

.is_font_oswald { font-family: 'Oswald', sans-serif; letter-spacing: .05em; } */


/* clearfix
-------------------------------------- */

.cf:after {
    content: '';
    display: block;
    clear: both;
}

@media screen and (min-width: 600px) and (max-width: 1400px) {
    #gFooter .areaBnr {
        margin-right: 65px;
    }
}


/* #gHeader
================================================ */

#gHeader {
    position: relative;
}

#gHeader .hdInfo {
    position: absolute;
    width: 100%;
    padding: 12px 0 0 20px;
    box-sizing: border-box;
}

#gHeader .hdInfo .logo {
    width: 124px;
    z-index: 100;
    position: relative;
}

#gHeader .btnGnav {
    position: fixed;
    right: 0;
    top: 0;
    height: 60px;
    width: 60px;
    background: #262626;
    cursor: pointer;
    z-index: 30;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#gHeader .btnGnav span {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #fff;
    width: 19px;
    height: 2px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#gHeader .btnGnav span:nth-child(1) {
    top: 23px;
}

#gHeader .btnGnav span:nth-child(2) {
    top: 29px;
}

#gHeader .btnGnav span:nth-child(3) {
    top: 35px;
}

#gHeader .btnGnav:hover {
    background: #343434;
}

#gHeader .btnGnav.is_active span:nth-child(1) {
    -webkit-transform: rotate(45deg) translate(0px, 10px);
    -ms-transform: rotate(45deg) translate(0px, 10px);
    transform: rotate(45deg) translate(0px, 10px);
}

#gHeader .btnGnav.is_active span:nth-child(2) {
    -webkit-transform: translateX(200%);
    -ms-transform: translateX(200%);
    transform: translateX(200%);
}

#gHeader .btnGnav.is_active span:nth-child(3) {
    -webkit-transform: rotate(-45deg) translate(-1px, -9px);
    -ms-transform: rotate(-45deg) translate(-1px, -9px);
    transform: rotate(-45deg) translate(-1px, -9px);
}

@media screen and (min-width: 600px) {
    #gHeader {
        /* background: #262626; */
        z-index: 10;
    }

    #gHeader .hdInfo {
        position: absolute;
        top: 10px;
        width: 200px;
        height: 100%;
        padding-top: 0;
    }

    #gHeader .hdInfo .logo {
        padding: 0px 0 0 8px;
        width: 175px;
    }

    #gHeader .btnGnav {
        display: none;
    }
}


#g-header .wide-container {
    width: calc(80% + 20px);
    max-width: 1300px
}

.wide-container h2 {
    font-size: 20px;
    text-align: center;
    margin-top: 60px;
}

@media screen and (max-width:1600px) {
    .container {
        width: auto;
        max-width: 1200px;
    }

    .wide-container {
        width: auto;
        max-width: 1280px
    }

    .wide-container h2 {
        font-size: 20px;
        text-align: center;
        margin-top: 60px;
    }

    /* #g-footer .wide-container, */
    #g-header .wide-container {
        width: auto;
        max-width: 1320px
    }
}

@media screen and (max-width:1280px) {
    .wide-container {
        padding: 0 15px
    }

    /* #g-footer .wide-container, */
    #g-header .wide-container {
        padding: 0 5px
    }
}

@media screen and (max-width:1000px) {
    .container {
        padding: 0 15px
    }
}

@media screen and (max-width:768px) {
    .container {
        padding: 0 60px
    }
}

@media screen and (max-width:480px) {
    .container {
        padding: 0 15px
    }
}

.btn {
    display: block;
    font-size: 1.8rem;
    letter-spacing: .1em;
    border: 0
}

.btn>.inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.btn.square-01 {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    background-color: transparent;
}

.btn.square-01>.inner {
    width: 100%;
    height: 80px;
    /*     border: 1px solid #1a1a1a; */
}

.btn.square-01 .arrow {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 6px;
    top: 50%;
    margin-top: -3px
}

.btn.square-01 .arrow:before {
    display: block;
    width: 60px;
    height: 1px;
    content: "";
    position: relative;
    background-color: #1a1a1a
}

.btn.square-01 .arrow:after {
    display: block;
    width: 6px;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    right: -1px;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 6px solid #1a1a1a
}

.btn.square-01 .arrow.after,
.btn.square-01 .arrow.before {
    right: -40px
}

@media screen and (max-width:768px) {
    .btn {
        font-size: 1.4rem
    }

    .btn.square-01 {
        max-width: 390px;
        padding: 0
    }

    .btn.square-01>.inner {
        height: 67.5px
    }

    .btn.square-01 .arrow {
        height: 4px;
        margin-top: -2px
    }

    .btn.square-01 .arrow:before {
        width: 30px
    }

    .btn.square-01 .arrow:after {
        width: 4px;
        border-top: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-left: 3px solid #1a1a1a
    }

    .btn.square-01 .arrow.after,
    .btn.square-01 .arrow.before {
        right: -10px
    }
}

@media screen and (max-width:480px) {
    .btn.square-01 {
        width: 290px
    }
}

.works-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.works-list>li {
    width: 25%;
    padding: 1%;
    /* margin-top: 180px; */
}

.works-list>li>.inner {
    position: relative
}

.works-list>li:nth-of-type(-n+3) {
    /* margin-top: 0 */
}

.works-list>li:nth-of-type(3n+1) a {
    margin-right: auto
}

.works-list>li:nth-of-type(3n+2) {
    /* margin-right: 1%; */
    /* margin-left: 1%; */
}

.works-list>li:nth-of-type(3n+2)>.inner {
    top: 50px;
}

.works-list>li:nth-of-type(3n+2) a {
    margin: 0 auto
}

.works-list>li:nth-of-type(3n+3)>.inner {
    top: -30px;
}

.works-list>li:nth-of-type(3n+3) a {
    margin-left: auto
}

.works-list a {
    display: block;
    position: relative
}

.works-list .thumb {
    padding-bottom: 100%;
}

.works-list .label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    min-width: 70px;
    left: 40px;
    top: -30px;
    -webkit-box-shadow: 0 0 80px 0 rgba(0, 0, 0, .2);
    box-shadow: 0 0 80px 0 rgba(0, 0, 0, .2);
    z-index: 10;
}

.works-list .label p {
    min-width: 100px;
    padding: 30px 20px;
    font-size: 1.2rem;
    background-color: #fff;
    background: #1d1936;
    white-space: nowrap;
}

.works-list .description {
    padding-top: 35px;
    line-height: 2;
    letter-spacing: .1em;
    text-align: justify
}


/* works-list-2 */

.works-list-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.works-list-2>li {
    width: 30%;
    margin-top: 180px
}

.works-list-2>li>.inner {
    position: relative
}

.works-list-2>li:nth-of-type(-n+3) {
    margin-top: 0
}

.works-list-2>li:nth-of-type(3n+1) a {
    margin-right: auto
}

.works-list-2>li:nth-of-type(3n+2) {
    margin-right: 5%;
    margin-left: 5%
}

.works-list-2>li:nth-of-type(3n+2)>.inner {
    top: 80px
}

.works-list-2>li:nth-of-type(3n+2) a {
    margin: 0 auto
}

.works-list-2>li:nth-of-type(3n+3)>.inner {
    top: -60px
}

.works-list-2>li:nth-of-type(3n+3) a {
    margin-left: auto
}

.works-list-2 a {
    display: block;
    position: relative
}

.works-list-2 .thumb {
    padding-bottom: 100%;
}

.works-list-2 .label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    min-width: 70px;
    left: 40px;
    top: -30px;
    -webkit-box-shadow: 0 0 80px 0 rgba(0, 0, 0, .2);
    box-shadow: 0 0 80px 0 rgba(0, 0, 0, .2);
    z-index: 10;
}

.works-list-2 .label p {
    min-width: 100px;
    padding: 30px 20px;
    font-size: 2rem;
    background-color: #fff;
    white-space: nowrap;
    text-align: center;
}

.works-list-2 .description {
    padding-top: 35px;
    line-height: 2;
    letter-spacing: .1em;
    text-align: justify
}


/* works-list-3 */

.works-list-3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-evenly;
    justify-content: space-between;
    margin-top: 150px
}

.works-list-3>li {
    width: 25%;
    /*     margin-top: 180px; */
    padding: 1%;
}

.works-list-3>li>.inner {
    position: relative
}

.works-list-3>li:nth-of-type(-n+4) {
    /*     margin-top: 0 */
}

.works-list-3>li:nth-of-type(4n+1) a {
    /*     margin-right: auto */
}

.works-list-3>li:nth-of-type(4n+2) {
    /*     margin-right: 5%;
    margin-left: 5% */
}

.works-list-3>li:nth-of-type(4n+1)>.inner {
    top: -60px
}

.works-list-3>li:nth-of-type(4n+2)>.inner {
    top: -40px
}

.works-list-3>li:nth-of-type(4n+2) a {
    margin: 0 auto;
}

.works-list-3>li:nth-of-type(4n+3)>.inner {
    top: -10px
}

.works-list-3>li:nth-of-type(4n+4)>.inner {
    top: -40px
}

.works-list-3>li:nth-of-type(4n+4) a {
    margin-left: auto
}

.works-list-3 a {
    display: block;
    position: relative
}

.works-list-3 .thumb {
    padding-bottom: 100%;
}

.works-list-3 .label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    min-width: 70px;
    left: 40px;
    top: -30px;
    -webkit-box-shadow: 0 0 80px 0 rgba(0, 0, 0, .2);
    box-shadow: 0 0 80px 0 rgba(0, 0, 0, .2);
    z-index: 10;
}

.works-list-3 .label p {
    min-width: 100px;
    padding: 30px 20px;
    font-size: 2rem;
    background-color: #fff;
    white-space: nowrap;
    text-align: center;
}

.works-list-3 .description {
    padding-top: 15px;
    line-height: 1.5;
    letter-spacing: .1em;
    text-align: justify;
}

.works-list-3 .description .picup_nm {
    font-size: 0.8em;
    font-weight: 600;
    color: #3F51B5;
}

.works-list-3 .description .picup_cap {
    font-size: 0.9em;
}

@media screen and (max-width:768px) {
    .works-list {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 0 25px
    }

    .works-list>li {
        width: 45%;
        margin-top: 0;
        margin-bottom: 66.66667px
    }

    .works-list>li:nth-of-type(3n+2) {
        margin-left: 0;
        margin-right: 0
    }

    .works-list>li:nth-of-type(3n+2)>.inner,
    .works-list>li:nth-of-type(3n+3)>.inner {
        top: 0
    }

    .works-list .label {
        min-width: 60px;
        top: -25px;
        /* right: -15px; */
        left: 15px;
    }

    .works-list .label p {
        min-width: 60px;
        padding: 30px 15px
    }

    .works-list a {
        margin: 0 auto
    }

    .works-list .description {
        /* display: none */
    }

    /* .works-list-2 */
    .works-list-2 {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 0 25px
    }

    .works-list-2>li {
        width: 45%;
        margin-top: 0;
        margin-bottom: 66.66667px
    }

    .works-list-2>li:nth-of-type(3n+2) {
        margin-left: 0;
        margin-right: 0
    }

    .works-list-2>li:nth-of-type(3n+2)>.inner,
    .works-list-2>li:nth-of-type(3n+3)>.inner {
        top: 0
    }

    .works-list-2 .label {
        min-width: 60px;
        top: -25px;
        /* right: -15px; */
        left: 15px;
    }

    .works-list-2 .label p {
        min-width: 60px;
        padding: 30px 15px
    }

    .works-list-2 a {
        margin: 0 auto
    }

    .works-list-2 .description {
        /* display: none */
    }

    .works-list-3 {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 0 25px
    }

    .works-list-3>li {
        width: 45%;
        margin-top: 0;
        margin-bottom: 66.66667px;
    }

    .works-list-3>li:nth-of-type(3n+2) {
        margin-left: 0;
        margin-right: 0
    }

    .works-list-3>li:nth-of-type(3n+2)>.inner,
    .works-list-3>li:nth-of-type(3n+3)>.inner {
        top: 0
    }

    .works-list-3 .label {
        min-width: 60px;
        top: -25px;
        /* right: -15px; */
        left: 15px;
    }

    .works-list-3 .label p {
        min-width: 60px;
        padding: 30px 15px
    }

    .works-list-3 a {
        margin: 0 auto
    }

    .works-list-3 .description {
        /* display: none */
    }
}

@media screen and (max-width:640px) {
    .works-list {
        padding: 0
    }

    .works-list>li {
        width: 47%;
        margin-bottom: 50px
    }

    .works-list .label p {
        min-width: 50px;
        padding: 15px
    }

    /* works-list-2 */
    .works-list-2 {
        padding: 0
    }

    .works-list-2>li {
        width: 47%;
        margin-bottom: 50px
    }

    .works-list-2 .label p {
        min-width: 50px;
        padding: 15px
    }
}

@media screen and (max-width:480px) {
    .works-list>li {
        width: 100%;
        margin-bottom: 50px
    }

    .works-list-2>li {
        width: 100%;
        margin-bottom: 50px
    }

    .works-list-3>li {
        width: 100%;
        margin-bottom: 50px
    }

    .works-list .label p {
        font-size: 1.8rem
    }

    .works-list-2 .label p {
        font-size: 1.8rem
    }
}

@media screen and (max-width:413px) {
    .works-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 25px
    }

    .works-list>li {
        width: 100%;
        margin-top: 0;
        margin-bottom: 50px
    }

    .works-list>li:nth-of-type(3n+2) {
        margin-left: 0;
        margin-right: 0
    }

    .works-list .label {
        min-width: 60px;
        top: -25px;
        /* right: -15px; */
        left: 10px;
    }

    .works-list .label p {
        min-width: 60px;
        padding: 30px 15px
    }

    .works-list a {
        margin: 0 auto
    }

    .works-list .description {
        /* display: none */
    }

    .works-list-2 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 25px
    }

    .works-list-2>li {
        width: 100%;
        margin-top: 0;
        margin-bottom: 50px
    }

    .works-list-2>li:nth-of-type(3n+2) {
        margin-left: 0;
        margin-right: 0
    }

    .works-list-2 .label {
        min-width: 60px;
        top: -25px;
        /* right: -15px */
        left: 15px;
    }

    .works-list-2 .label p {
        min-width: 60px;
        padding: 30px 15px
    }

    .works-list-2 a {
        margin: 0 auto
    }

    .works-list-2 .description {
        /* display: none */
    }

    .works-list-3 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 25px
    }

    .works-list-3>li {
        width: 100%;
        margin-top: 0;
        margin-bottom: 50px
    }

    .works-list-3>li:nth-of-type(4n+2) {
        margin-left: 0;
        margin-right: 0
    }

    .works-list-3 .label {
        min-width: 60px;
        top: -25px;
        /* right: -15px; */
        left: 10px;
    }

    .works-list-3 .label p {
        min-width: 60px;
        padding: 30px 15px
    }

    .works-list-3 a {
        margin: 0 auto
    }

    .works-list-3 .description {
        /* display: none */
    }
}


/* blog-list */

.blog-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.blog-list>li {
    width: 31%
}

.blog-list>li:nth-of-type(3n+1) a {
    margin-right: auto
}

.blog-list>li:nth-of-type(3n+2) {
    margin-left: 3.5%;
    margin-right: 3.5%
}

.blog-list>li:nth-of-type(3n+2) a {
    margin-right: auto;
    margin-left: auto
}

.blog-list>li:nth-of-type(3n+3) a {
    margin-left: auto
}

.blog-list a {
    display: block;
    position: relative;
    height: 100%;
    padding-bottom: 50px
}

.blog-list .thumb {
    padding-bottom: 70.1%
}

.blog-list .description {
    padding-top: 25px
}

.blog-list .title {
    margin-bottom: 20px;
    font-size: 2rem
}

.blog-list .text {
    line-height: 1.875;
    letter-spacing: .1em;
    text-align: justify
}

.blog-list .date {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 1.2rem;
    letter-spacing: .3em
}

@media screen and (max-width:768px) {
    .blog-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .blog-list>li {
        width: 100%
    }

    .blog-list>li:first-child a {
        padding-top: 0
    }

    .blog-list>li:first-child .date {
        top: 0
    }

    .blog-list>li:nth-of-type(3n+2) {
        margin-left: 0;
        margin-right: 0
    }

    .blog-list>li:last-child a:before {
        display: none
    }

    .blog-list a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        max-width: 100%;
        height: auto;
        padding-top: 20px;
        padding-bottom: 20px
    }

    .blog-list a:before {
        display: block;
        width: 100%;
        height: 1px;
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: #1a1a1a
    }

    .blog-list .date {
        top: 20px;
        bottom: auto;
        left: 110px
    }

    .blog-list .thumb-outer {
        height: 90px
    }

    .blog-list .thumb {
        position: relative;
        width: 90px;
        height: 90px;
        padding-bottom: 0
    }

    .blog-list .description {
        width: calc(100% - 90px);
        padding-left: 20px
    }

    .blog-list .title {
        margin-bottom: 15px
    }

    .blog-list .text {
        font-size: 1.4rem
    }
}

.modal-frame {
    text-align: center;
    z-index: 999;
    visibility: hidden;
    -webkit-transition: opacity .4s linear, visibility .4s linear;
    transition: opacity .4s linear, visibility .4s linear
}

.modal-frame,
.modal-frame:after {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0
}

.modal-frame:after {
    display: block;
    content: "";
    z-index: 20;
    pointer-events: none
}

.modal-frame .modal-bg {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(26, 26, 26, .8);
    z-index: 1
}

.modal-frame .modal {
    position: relative;
    display: inline-block;
    z-index: 2
}

.modal-frame .modal img {
    width: 100%;
    height: auto;
    width: auto;
    max-width: 700px
}

.modal-frame .modal-close {
    display: block;
    position: fixed;
    width: 80px;
    height: 80px;
    top: 40px;
    right: 40px;
    z-index: 500;
    pointer-events: auto
}

.modal-frame .modal-close .bar {
    position: absolute;
    width: 25px;
    height: 3px;
    top: 50%;
    right: 0;
    left: 0;
    margin-top: -1px;
    margin-right: auto;
    margin-left: auto
}

.modal-frame .modal-close .bar:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff
}

.modal-frame .modal-close .bar:first-of-type {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.modal-frame .modal-close .bar:nth-of-type(2) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.modal-img #gallery-slider {
    -webkit-perspective: 500px;
    perspective: 500px;
    overflow: hidden;
    -webkit-transform: scale(.8);
    transform: scale(.8);
    -webkit-transition: -webkit-transform 0s cubic-bezier(0, .6, .2, 1) .4s;
    transition: -webkit-transform 0s cubic-bezier(0, .6, .2, 1) .4s;
    transition: transform 0s cubic-bezier(0, .6, .2, 1) .4s;
    transition: transform 0s cubic-bezier(0, .6, .2, 1) .4s, -webkit-transform 0s cubic-bezier(0, .6, .2, 1) .4s
}

.modal-img #gallery-slider .img-inner {
    background-color: #1a1a1a
}

.modal-img #gallery-slider .img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 70vw;
    height: 85vh;
    left: 0;
    right: 0;
    margin: 0 auto;
    -webkit-transition: opacity .6s linear, -webkit-transform .6s cubic-bezier(.6, 0, .3, 1);
    transition: opacity .6s linear, -webkit-transform .6s cubic-bezier(.6, 0, .3, 1);
    transition: opacity .6s linear, transform .6s cubic-bezier(.6, 0, .3, 1);
    transition: opacity .6s linear, transform .6s cubic-bezier(.6, 0, .3, 1), -webkit-transform .6s cubic-bezier(.6, 0, .3, 1)
}

.modal-img .js-slide-target-next,
.modal-img .js-slide-target-prev {
    position: absolute;
    top: 0;
    opacity: 0
}

.modal-img .js-slide-target {
    position: relative;
    z-index: 15
}

.modal-img .js-slide-target img {
    pointer-events: auto
}

.modal-img .js-slide-target-prev {
    -webkit-transform: translate3d(-30%, 0, -200px);
    transform: translate3d(-30%, 0, -200px)
}

.modal-img .js-slide-target-next {
    -webkit-transform: translate3d(30%, 0, -200px);
    transform: translate3d(30%, 0, -200px)
}

.modal-img .js-trigger-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: fixed;
    width: 170px;
    height: 170px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    cursor: pointer;
    pointer-events: auto;
    z-index: 20
}

.modal-img .js-trigger-slide.js-trigger-slide-prev {
    left: 0
}

.modal-img .js-trigger-slide.js-trigger-slide-next {
    right: 0
}

.modal-img .arrow {
    position: relative;
    width: 60px;
    height: 6px
}

.modal-img .arrow:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    background-color: #fff
}

.modal-img .arrow:after {
    display: block;
    width: 6px;
    height: 100%;
    content: "";
    position: absolute;
    top: 0
}

.modal-img .arrow.prev:after {
    left: -1px;
    border-right: 6px solid #fff
}

.modal-img .arrow.next:after,
.modal-img .arrow.prev:after {
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent
}

.modal-img .arrow.next:after {
    right: -1px;
    border-left: 6px solid #fff
}

body.modal-is-active .modal-frame {
    opacity: 1;
    visibility: visible
}

body.modal-is-active .modal-frame #gallery-slider {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: -webkit-transform .6s cubic-bezier(0, .6, .2, 1);
    transition: -webkit-transform .6s cubic-bezier(0, .6, .2, 1);
    transition: transform .6s cubic-bezier(0, .6, .2, 1);
    transition: transform .6s cubic-bezier(0, .6, .2, 1), -webkit-transform .6s cubic-bezier(0, .6, .2, 1)
}

@media screen and (max-width:768px) {
    .modal-frame .modal {
        display: block
    }

    .modal-frame .modal-close {
        position: fixed;
        top: 0;
        right: 0
    }

    .modal-img .js-trigger-slide {
        width: 40px
    }

    .modal-img .arrow {
        width: 15px;
        height: 4px
    }

    .modal-img .arrow:after {
        height: 4px
    }

    .modal-img .arrow.before:after {
        border-right: 4px solid #fff
    }

    .modal-img .arrow.after:after,
    .modal-img .arrow.before:after {
        border-top: 3px solid transparent;
        border-bottom: 3px solid transparent
    }

    .modal-img .arrow.after:after {
        border-left: 4px solid #fff
    }
}

body.page-fixed #wrap {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden
}

#page-transition-cover {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 70
}

#page-transition-cover:after,
#page-transition-cover:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0
}

#page-transition-cover:before {
    background-color: #eee;
    opacity: 0;
    -webkit-transition: opacity .45s linear .45s;
    transition: opacity .45s linear .45s
}

#page-transition-cover:after {
    background-color: #fff;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transition: transform .9s cubic-bezier(.75, 0, .25, 1);
    transition: transform .9s cubic-bezier(.75, 0, .25, 1);
    z-index: 50
}

.js-title {
    display: inline-block;
    -webkit-perspective-origin: top;
    perspective-origin: top;
    -webkit-perspective: 800px;
    perspective: 800px
}

.js-title .string-trimmer-parts {
    display: inline-block;
    opacity: 0;
    -webkit-transform: translate3d(-5px, 50px, 150px);
    transform: translate3d(-5px, 50px, 150px)
}

.title-sec-02 .copy-title .sub-copy .cover {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
    overflow: hidden
}

.title-sec-02 .copy-title .sub-copy .cover .svg-img {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0)
}

body.is-page-opened .js-title .string-trimmer-parts {
    -webkit-transform: translateZ(0) rotate(0deg);
    transform: translateZ(0) rotate(0deg);
    opacity: 1;
    -webkit-transition: transform 1.2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear;
    transition: transform 1.2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear
}

body.is-page-opened .title-sec-02 .copy-title .sub-copy .cover {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear;
    transition: transform 1.2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

body.is-page-opened .title-sec-02 .copy-title .sub-copy .cover .svg-img {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.2s cubic-bezier(0, .6, .2, 1), -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.transition-animation-sec-01 {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: transform .9s cubic-bezier(.75, 0, .25, 1) .15s;
    transition: transform .9s cubic-bezier(.75, 0, .25, 1) .15s
}

body.is-page-transition-first #g-nav {
    height: 160px !important;
    -webkit-transition: height .9s cubic-bezier(.75, 0, .25, 1), -webkit-transform .9s cubic-bezier(.75, 0, .25, 1) !important;
    transition: height .9s cubic-bezier(.75, 0, .25, 1), -webkit-transform .9s cubic-bezier(.75, 0, .25, 1) !important;
    transition: transform .9s cubic-bezier(.75, 0, .25, 1), height .9s cubic-bezier(.75, 0, .25, 1) !important;
    transition: transform .9s cubic-bezier(.75, 0, .25, 1), height .9s cubic-bezier(.75, 0, .25, 1), -webkit-transform .9s cubic-bezier(.75, 0, .25, 1) !important
}

body.is-page-transition-first #g-header:before {
    -webkit-transform: translate3d(0, -100%, 0) !important;
    transform: translate3d(0, -100%, 0) !important
}

body.is-page-transition-first #page-transition-cover:before {
    -webkit-transition: opacity .45s linear, -webkit-transform .9s cubic-bezier(.75, 0, .25, 1);
    transition: opacity .45s linear, -webkit-transform .9s cubic-bezier(.75, 0, .25, 1);
    transition: opacity .45s linear, transform .9s cubic-bezier(.75, 0, .25, 1);
    transition: opacity .45s linear, transform .9s cubic-bezier(.75, 0, .25, 1), -webkit-transform .9s cubic-bezier(.75, 0, .25, 1);
    opacity: 1
}

body.is-page-transition-first #page-transition-cover:after {
    background-color: #fff;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom
}


/* body.is-page-transition-first #g-footer, */

body.is-page-transition-first .page-content {
    -webkit-transform: translate3d(0, -500px, 0);
    transform: translate3d(0, -500px, 0);
    -webkit-transition: transform .9s cubic-bezier(.75, 0, .25, 1) .1s;
    transition: transform .9s cubic-bezier(.75, 0, .25, 1) .1s
}


/* body.is-page-transition-middle #g-footer, */

body.is-page-transition-middle .transition-animation-sec-01 {
    -webkit-transform: translate3d(0, 60px, 0);
    transform: translate3d(0, 60px, 0);
    -webkit-transition: none;
    transition: none
}

body.is-page-transition-middle #top .transition-animation-sec-01 {
    -webkit-transform: translate3d(0, 60px, 0);
    transform: translate3d(0, 60px, 0)
}

body.is-page-transition-middle .js-title .string-trimmer-parts {
    opacity: 0;
    -webkit-transform: translate3d(-5px, 40px, 100px);
    transform: translate3d(-5px, 40px, 100px);
    -webkit-transition: none;
    transition: none;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

body.is-page-transition-middle .title-sec-02 .sub-copy .cover {
    opacity: 0 !important;
    -webkit-transform: translate3d(-100%, 100%, 0) !important;
    transform: translate3d(-100%, 100%, 0) !important;
    overflow: hidden;
    -webkit-transition: none;
    transition: none
}

body.is-page-transition-middle .title-sec-02 .sub-copy .cover .svg-img {
    -webkit-transform: translate3d(100%, 0, 0) !important;
    transform: translate3d(100%, 0, 0) !important;
    -webkit-transition: none;
    transition: none
}

body.is-page-transition-middle .page-content {
    -webkit-transform: translate3d(0, 60px, 0);
    transform: translate3d(0, 60px, 0)
}

body.is-page-transition-last .transition-animation-sec-01 {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: transform 1.2s cubic-bezier(.75, 0, .25, 1) .15s;
    transition: transform 1.2s cubic-bezier(.75, 0, .25, 1) .15s
}

body.is-page-transition-last #page-transition-cover:before {
    opacity: 0;
    -webkit-transition: opacity .45s linear .45s;
    transition: opacity .45s linear .45s
}

body.is-page-transition-last #page-transition-cover:after {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top
}


/* body.is-page-transition-last #g-footer, */

body.is-page-transition-last .page-content {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: transform .9s cubic-bezier(.75, 0, .25, 1) .1s;
    transition: transform .9s cubic-bezier(.75, 0, .25, 1) .1s
}

body.is-page-transition-last-02 .js-title .string-trimmer-parts {
    -webkit-transform: translateZ(0) rotate(0deg);
    transform: translateZ(0) rotate(0deg);
    opacity: 1;
    -webkit-transition: transform 1.4s cubic-bezier(0, .6, .2, 1), opacity 1.4s linear;
    transition: transform 1.4s cubic-bezier(0, .6, .2, 1), opacity 1.4s linear
}


/* 
body.is-page-transition-last-02 #g-footer {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
} */

body.is-page-transition-last-02 .title-sec-02 .copy-title .sub-copy .cover {
    opacity: 1 !important;
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
    -webkit-transition: opacity 1.4s linear, -webkit-transform 1.4s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.4s linear, -webkit-transform 1.4s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.4s cubic-bezier(0, .6, .2, 1), opacity 1.4s linear;
    transition: transform 1.4s cubic-bezier(0, .6, .2, 1), opacity 1.4s linear, -webkit-transform 1.4s cubic-bezier(0, .6, .2, 1);
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

body.is-page-transition-last-02 .title-sec-02 .copy-title .sub-copy .cover .svg-img {
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
    -webkit-transition: -webkit-transform 1.4s cubic-bezier(0, .6, .2, 1);
    transition: -webkit-transform 1.4s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.4s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.4s cubic-bezier(0, .6, .2, 1), -webkit-transform 1.4s cubic-bezier(0, .6, .2, 1);
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

@media screen and (max-width:768px) {
    #page-transition-cover {
        z-index: 1000
    }

    body.is-page-transition-middle .transition-animation-sec-01 {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

#g-header {
    position: fixed;
    width: 100%;
    top: 1%;
    left: 0;
    z-index: 500;
    /* background: #ddd; */
}

#g-header>.inner {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

#g-header .svg-nav-elem {
    max-width: 100%;
    height: 16px;
    fill: currentColor;
    color: #1a1a1a
}

#g-header .svg-top {
    width: 66px
}

#g-header .svg-works {
    width: 112px
}

#g-header .svg-about {
    width: 77px
}

#g-header .svg-faq {
    width: 109px
}

#g-header .svg-contact {
    width: 95px
}

#g-header .svg-blog {
    width: 93px
}

#g-nav {
    -webkit-mask-image: -webkit-radial-gradient(#fff, #000)
}

#g-nav .unit-left,
#g-nav .unit-right {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 40%
}

#g-nav .unit-left,
#g-nav .unit-right,
.g-nav-menu a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.g-nav-menu a {
    height: 90px;
    padding: 0 20px
}

.g-nav-menu a span {
    line-height: 1
}

.nav-unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    height: 160px;
    margin: 0 auto
}

.nav-unit .unit-center {
    width: 20%;
    min-width: 50px
}

#g-header>.inner:before {
    display: block;
    width: 100%;
    width: calc(100% - 20px);
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 10px;
    background-color: transparent;
    -webkit-transition: background-color .6s linear;
    transition: background-color .6s linear;
    -webkit-mask-image: -webkit-radial-gradient(#fff, #000);
    /* background: #fff; */
}

#motif-gardener svg {
    -webkit-perspective: 500px;
    perspective: 500px
}

#motif-gardener .motif-head {
    position: relative;
    z-index: 20
}

#motif-gardener .motif-body,
#motif-gardener .motif-head {
    -webkit-transform-origin: center;
    transform-origin: center
}

#motif-gardener.is-active .motif-body,
#motif-gardener.is-active .motif-head {
    -webkit-transition: -webkit-transform 1.2s cubic-bezier(.6, 0, .3, 1);
    transition: -webkit-transform 1.2s cubic-bezier(.6, 0, .3, 1);
    transition: transform 1.2s cubic-bezier(.6, 0, .3, 1);
    transition: transform 1.2s cubic-bezier(.6, 0, .3, 1), -webkit-transform 1.2s cubic-bezier(.6, 0, .3, 1);
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg)
}

#motif-gardener.is-active .motif-head {
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

#sp-g-nav,
#sp-header {
    display: none
}

body.index .motif-gardener {
    fill: #fff
}

body.index #g-nav a:before,
body.index.is-header-min #g-header>.inner:before {
    background-color: #fff
}

body.index.is-header-min #g-nav a:before {
    background-color: #1a1a1a
}

body:not(.index).is-header-min #g-header>.inner:before {
    background-color: #fff;
}

@media screen and (min-width:769px) {
    #g-header {
        -webkit-mask-image: -webkit-radial-gradient(#fff, #000)
    }

    #g-header,
    #g-header #g-nav {
        -webkit-transform: translateZ(1px);
        transform: translateZ(1px);
    }

    body.index #g-header>.inner {
        pointer-events: auto;
        opacity: 1;
        -webkit-transition: 0s .6s;
        transition: 0s .6s
    }

    body.index #g-header .svg-nav-elem {
        color: #fff
    }

    body.index.is-header-min #g-header>.inner {
        opacity: 1;
        pointer-events: auto;
        -webkit-transition: background-color .6s linear, opacity 0s linear;
        transition: background-color .6s linear, opacity 0s linear
    }

    body.index.is-header-min #g-header .svg-nav-elem {
        color: #1a1a1a
    }
}

#motif-gardener {
    position: absolute;
    top: 55%;
    left: 0;
    right: 0;
    margin: -23px auto 0;
    text-align: center;
    z-index: 100;
}

#motif-gardener,
#motif-gardener svg {
    width: 150px;
    height: 46px;
}

@media screen and (max-width:1080px) {

    #g-header .unit-left,
    #g-header .unit-right {
        width: 42.5%;
        font-size: 1.5rem
    }

    #g-header .unit-center {
        width: 15%
    }
}

@media screen and (max-width:768px) {
    #g-header {
        height: auto
    }

    #g-header>.inner:before {
        background-color: transparent
    }

    #g-nav,
    .top-logo {
        display: none
    }

    .sp-logo {
        height: 70px
    }

    #motif-gardener,
    .sp-logo {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    #motif-gardener {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 45px;
        height: 45px;
        z-index: 300
    }

    #motif-gardener svg {
        width: 30px;
        height: 28px
    }

    #sp-header {
        display: block
    }

    #sp-header .block-head {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        height: 70px;
        z-index: 200
    }

    #sp-header #sp-g-nav-trigger {
        position: absolute;
        top: 0;
        right: 0;
        width: 77.5px;
        height: 70px
    }

    #sp-header #sp-g-nav-trigger .line {
        display: inline-block;
        position: absolute;
        width: 17.5px;
        height: 2px;
        top: 50%;
        right: 0;
        left: 0;
        margin: -1px auto 0
    }

    #sp-header #sp-g-nav-trigger .line:before {
        display: block;
        width: 100%;
        height: 100%;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        background-color: #1a1a1a
    }

    #sp-header #sp-g-nav-trigger .line:first-of-type {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px);
        -webkit-transition: -webkit-transform .3s cubic-bezier(.6, 0, .3, 1);
        transition: -webkit-transform .3s cubic-bezier(.6, 0, .3, 1);
        transition: transform .3s cubic-bezier(.6, 0, .3, 1);
        transition: transform .3s cubic-bezier(.6, 0, .3, 1), -webkit-transform .3s cubic-bezier(.6, 0, .3, 1)
    }

    #sp-header #sp-g-nav-trigger .line:nth-of-type(2) {
        -webkit-transition: opacity .3s linear, -webkit-transform .3s cubic-bezier(.6, 0, .3, 1);
        transition: opacity .3s linear, -webkit-transform .3s cubic-bezier(.6, 0, .3, 1);
        transition: transform .3s cubic-bezier(.6, 0, .3, 1), opacity .3s linear;
        transition: transform .3s cubic-bezier(.6, 0, .3, 1), opacity .3s linear, -webkit-transform .3s cubic-bezier(.6, 0, .3, 1);
        -webkit-transition-delay: .1s;
        transition-delay: .1s
    }

    #sp-header #sp-g-nav-trigger .line:nth-of-type(3) {
        -webkit-transform: translateY(6px);
        transform: translateY(6px);
        -webkit-transition: -webkit-transform .3s cubic-bezier(.6, 0, .3, 1);
        transition: -webkit-transform .3s cubic-bezier(.6, 0, .3, 1);
        transition: transform .3s cubic-bezier(.6, 0, .3, 1);
        transition: transform .3s cubic-bezier(.6, 0, .3, 1), -webkit-transform .3s cubic-bezier(.6, 0, .3, 1)
    }

    #sp-g-nav {
        display: block;
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        padding-top: 70px;
        background-color: transparent;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity .6s linear, visibility .6s linear, background-color .6s linear;
        transition: opacity .6s linear, visibility .6s linear, background-color .6s linear;
        z-index: 80
    }

    #sp-g-nav .navigation {
        border-top: 1px solid rgba(0, 0, 0, .1)
    }

    #sp-g-nav .navigation li {
        overflow: hidden
    }

    #sp-g-nav .navigation a {
        display: block;
        height: 80px;
        padding: 0 30px
    }

    #sp-g-nav .navigation a>.inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        height: 100%;
        opacity: 0;
        -webkit-transform: translateX(-30px);
        transform: translateX(-30px);
        -webkit-transition: opacity .6s linear, -webkit-transform 0s cubic-bezier(.05, .6, .25, 1.05) .6s;
        transition: opacity .6s linear, -webkit-transform 0s cubic-bezier(.05, .6, .25, 1.05) .6s;
        transition: transform 0s cubic-bezier(.05, .6, .25, 1.05) .6s, opacity .6s linear;
        transition: transform 0s cubic-bezier(.05, .6, .25, 1.05) .6s, opacity .6s linear, -webkit-transform 0s cubic-bezier(.05, .6, .25, 1.05) .6s
    }

    #sp-g-nav .navigation .sp-arrow {
        right: 0
    }

    #sp-g-nav .telephone-block {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 30vh;
        min-height: calc(100vh - 370px);
        padding-top: 65px;
        padding-bottom: 60px;
        opacity: 0;
        -webkit-transition: opacity 1s linear;
        transition: opacity 1s linear
    }

    #sp-g-nav .telephone-block .tel {
        margin-bottom: 15px
    }

    body.is-sp-nav-before-active #sp-g-nav {
        -webkit-transition: none;
        transition: none
    }

    body.is-sp-nav-active #sp-g-nav {
        background-color: #fff;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        -webkit-transition: opacity .6s linear, visibility .6s linear, background-color .6s linear;
        transition: opacity .6s linear, visibility .6s linear, background-color .6s linear;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    body.is-sp-nav-active #sp-g-nav .navigation li a>.inner {
        -webkit-transform: translateZ(1px);
        transform: translateZ(1px);
        opacity: 1;
        -webkit-transition: opacity .8s linear, -webkit-transform 1s cubic-bezier(.05, .6, .25, 1.05);
        transition: opacity .8s linear, -webkit-transform 1s cubic-bezier(.05, .6, .25, 1.05);
        transition: transform 1s cubic-bezier(.05, .6, .25, 1.05), opacity .8s linear;
        transition: transform 1s cubic-bezier(.05, .6, .25, 1.05), opacity .8s linear, -webkit-transform 1s cubic-bezier(.05, .6, .25, 1.05)
    }

    body.is-sp-nav-active #sp-g-nav .navigation li:nth-of-type(0) a>.inner {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    body.is-sp-nav-active #sp-g-nav .navigation li:first-of-type a>.inner {
        -webkit-transition-delay: .05s;
        transition-delay: .05s
    }

    body.is-sp-nav-active #sp-g-nav .navigation li:nth-of-type(2) a>.inner {
        -webkit-transition-delay: .1s;
        transition-delay: .1s
    }

    body.is-sp-nav-active #sp-g-nav .navigation li:nth-of-type(3) a>.inner {
        -webkit-transition-delay: .15s;
        transition-delay: .15s
    }

    body.is-sp-nav-active #sp-g-nav .navigation li:nth-of-type(4) a>.inner {
        -webkit-transition-delay: .2s;
        transition-delay: .2s
    }

    body.is-sp-nav-active #sp-g-nav .navigation li:nth-of-type(5) a>.inner {
        -webkit-transition-delay: .25s;
        transition-delay: .25s
    }

    body.is-sp-nav-active #sp-g-nav .navigation li:nth-of-type(6) a>.inner {
        -webkit-transition-delay: .3s;
        transition-delay: .3s
    }

    body.is-sp-nav-active #sp-g-nav .navigation li:nth-of-type(7) a>.inner {
        -webkit-transition-delay: .35s;
        transition-delay: .35s
    }

    body.is-sp-nav-active #sp-g-nav .navigation li:nth-of-type(8) a>.inner {
        -webkit-transition-delay: .4s;
        transition-delay: .4s
    }

    body.is-sp-nav-active #sp-g-nav .navigation li:nth-of-type(9) a>.inner {
        -webkit-transition-delay: .45s;
        transition-delay: .45s
    }

    body.is-sp-nav-active #sp-g-nav .navigation li:nth-of-type(10) a>.inner {
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    body.is-sp-nav-active #sp-g-nav .telephone-block {
        opacity: 1;
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    body.is-sp-nav-active #sp-header #sp-g-nav-trigger .line:first-of-type {
        -webkit-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg)
    }

    body.is-sp-nav-active #sp-header #sp-g-nav-trigger .line:nth-of-type(2) {
        opacity: 0;
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }

    body.is-sp-nav-active #sp-header #sp-g-nav-trigger .line:nth-of-type(3) {
        -webkit-transform: translateY(0) rotate(-45deg);
        transform: translateY(0) rotate(-45deg)
    }

    body.is-sp-nav-active #g-header>.inner:before {
        background-color: #fff;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-transition: background-color .6s linear, -webkit-transform 0s;
        transition: background-color .6s linear, -webkit-transform 0s;
        transition: transform 0s, background-color .6s linear;
        transition: transform 0s, background-color .6s linear, -webkit-transform 0s
    }

    body.index #sp-header #sp-g-nav-trigger .line:before,
    body.index.is-header-min #g-header>.inner:before {
        background-color: #fff
    }

    body.index.is-header-min #sp-header #sp-g-nav-trigger .line:before,
    body.index.is-sp-nav-active #sp-header #sp-g-nav-trigger .line:before {
        background-color: #1a1a1a
    }
}

@media screen and (max-width:480px) {
    #sp-g-nav .navigation a {
        height: 50px;
        padding: 0 30px
    }
}

html.is-ie #side-nav {
    display: none
}

.js-sec-parent {
    position: relative;
    z-index: 50
}

#side-nav {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    pointer-events: none;
    z-index: 150
}

#side-nav>.inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: absolute;
    width: 100%;
    min-height: 400px;
    top: 50%;
    left: 0;
    padding: 0 50px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

#side-nav .label {
    overflow: hidden
}

#side-nav .label .one-time-split-target>span {
    display: inline-block;
    -webkit-transition: -webkit-transform .7s cubic-bezier(.25, .9, .3, 1.25);
    transition: -webkit-transform .7s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .7s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .7s cubic-bezier(.25, .9, .3, 1.25), -webkit-transform .7s cubic-bezier(.25, .9, .3, 1.25);
    -webkit-transform: translate3d(-105%, 0, 0) rotate(90deg);
    transform: translate3d(-105%, 0, 0) rotate(90deg);
    -webkit-transform-origin: top left;
    transform-origin: top left
}

#side-nav .label.vertical-text,
#side-nav .page-current-list>li {
    font-size: 1.2rem;
    letter-spacing: .5em;
    line-height: 1
}

#side-nav .page-current-list>li {
    position: absolute;
    top: 50%;
    right: 50px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

#side-nav .page-current-list a {
    display: block
}

#side-nav .page-current-list p {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    overflow: hidden
}

#side-nav .page-current-list p>span {
    display: inline-block;
    min-width: .3em;
    min-height: .3em;
    -webkit-transition: -webkit-transform .7s cubic-bezier(.25, .9, .3, 1.25);
    transition: -webkit-transform .7s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .7s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .7s cubic-bezier(.25, .9, .3, 1.25), -webkit-transform .7s cubic-bezier(.25, .9, .3, 1.25);
    -webkit-transform: translate3d(-105%, 0, 0) rotate(-180deg);
    transform: translate3d(-105%, 0, 0) rotate(-180deg)
}

body.is-page-opened #side-nav .label .one-time-split-target>span,
body.is-page-opened #side-nav .page-current-list>li.current p>span {
    -webkit-transform: translateZ(0) rotate(0deg);
    transform: translateZ(0) rotate(0deg)
}

body.is-page-opened #side-nav .page-current-list>li.current p>span {
    z-index: 10
}

body.is-page-opened.index #side-nav .label .one-time-split-target>span {
    -webkit-transform: translate3d(-105%, 0, 0) rotate(90deg);
    transform: translate3d(-105%, 0, 0) rotate(90deg)
}

body.is-page-opened.is-side-nav-hide #side-nav .label .one-time-split-target>span {
    -webkit-transform: translate3d(-105%, 0, 0) rotate(90deg) !important;
    transform: translate3d(-105%, 0, 0) rotate(90deg) !important
}

body.is-page-opened.is-side-nav-hide #side-nav .page-current-list>li p>span {
    -webkit-transform: translate3d(-105%, 0, 0) rotate(-180deg) !important;
    transform: translate3d(-105%, 0, 0) rotate(-180deg) !important
}

body.is-page-opened.is-side-current-0 #side-nav .label .one-time-split-target>span,
body.is-page-opened .is-side-current-1 #side-nav .label .one-time-split-target>span,
body.is-page-opened.is-side-current-1.index #side-nav .page-current-list>li.current p>span,
body.is-page-opened.is-side-current-1.index #side-nav .page-current-list>li.side-works p>span,
body.is-page-opened .is-side-current-2 #side-nav .label .one-time-split-target>span,
body.is-page-opened.is-side-current-2 #side-nav .page-current-list>li.side-about p>span,
body.is-page-opened.is-side-current-3 #side-nav .page-current-list>li.side-blog p>span,
body.is-page-opened.is-side-nav-show #side-nav .label .one-time-split-target>span {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

@media screen and (max-width:1200px) {
    #side-nav {
        display: none
    }
}

@media screen and (max-width:768px) {
    #side-nav {
        display: none
    }
}

.trans-in-bottom {
    opacity: 0;
    -webkit-transform: translate3d(0, 60px, 0);
    transform: translate3d(0, 60px, 0)
}

.fade-in {
    opacity: 0
}

.way-string-in .string-trimmer-parts,
.waypoint.sub-copy .cover {
    display: inline-block;
    opacity: 0
}

.waypoint.sub-copy .cover {
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
    overflow: hidden
}

.waypoint.sub-copy .cover .svg-img {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0)
}

.blog-list .way-list .thumb-outer {
    opacity: 0;
    -webkit-transform: scaleY(0) translateZ(0);
    transform: scaleY(0) translateZ(0);
    -webkit-transform-origin: top;
    transform-origin: top;
    overflow: hidden
}

.blog-list .way-list .thumb-outer:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    background-color: #1a1a1a
}

.blog-list .way-list .thumb-inner {
    opacity: 0;
    -webkit-transform: scale(1.25) translateZ(0);
    transform: scale(1.25) translateZ(0)
}

.blog-list .way-list .date,
.blog-list .way-list .description {
    opacity: 0;
    -webkit-transition: opacity .7s linear;
    transition: opacity .7s linear
}

#works-detail .main-visual {
    overflow: hidden
}

#works-detail .main-visual .img-outer {
    opacity: 0;
    -webkit-transform: scale(1.15) translateZ(0);
    transform: scale(1.15) translateZ(0)
}

#works-detail .main-visual:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #efefef
}

#works-detail .gallery-list .modal-trigger .img-inner {
    opacity: 0;
    -webkit-transform: scale(1.25) translateZ(0);
    transform: scale(1.25) translateZ(0)
}

#works-detail .gallery-list .modal-trigger .img-outer {
    position: relative;
    overflow: hidden;
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top
}

#works-detail .gallery-list .modal-trigger .img-outer:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #1a1a1a;
    -webkit-transform-origin: bottom;
    transform-origin: bottom
}

.main-visual .mv-video-container .cover,
.main-visual .sp-mv-container .cover {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #1a1a1a;
    z-index: 10
}

.main-visual .mv-video-container>.inner,
.main-visual .sp-mv-container>.inner {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}

#about .title-sec-01 .section-foot:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #efefef;
    -webkit-mask-image: -webkit-radial-gradient(#fff, #000)
}

#about .example .example-list li .img-cover {
    -webkit-mask-image: -webkit-radial-gradient(#fff, #000);
    opacity: 0
}

#about .example .example-list li .img-cover .img {
    opacity: 0;
    -webkit-transform: scale(1.4);
    transform: scale(1.4)
}

#about .example .example-list li .img-cover:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #1a1a1a;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom
}

#about .flow .flow-list .unit-head:before {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top
}

#about .profile .section-head .img-outer {
    position: relative;
    -webkit-mask-image: -webkit-radial-gradient(#fff, #000);
    opacity: 0
}

#about .profile .section-head .img-outer:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #1a1a1a;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom
}

#about .profile .section-head .img-cover {
    opacity: 0;
    -webkit-transform: scale(1.4);
    transform: scale(1.4)
}

html:not(.is-ie) .works-list .way-list .label {
    opacity: 0;
    -webkit-transform: scaleY(0) translateZ(0);
    transform: scaleY(0) translateZ(0);
    -webkit-transform-origin: top;
    transform-origin: top
}

html:not(.is-ie) .works-list .way-list .label p:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #1a1a1a;
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-mask-image: -webkit-radial-gradient(#fff, #000)
}

html:not(.is-ie) .works-list .way-list .label span {
    opacity: 0;
    -webkit-transform: scale(1.2) translateZ(0);
    transform: scale(1.2) translateZ(0)
}

html:not(.is-ie) .works-list .way-list .img {
    -webkit-mask-image: -webkit-radial-gradient(#fff, #000)
}

html:not(.is-ie) .works-list .way-list .description {
    /* opacity: 0; */
    -webkit-transition: opacity .7s linear;
    transition: opacity .7s linear
}

html.is-ie .works-list .way-list {
    opacity: 0;
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

html:not(.is-ie) .works-list-2 .way-list .label {
    opacity: 0;
    -webkit-transform: scaleY(0) translateZ(0);
    transform: scaleY(0) translateZ(0);
    -webkit-transform-origin: top;
    transform-origin: top
}

html:not(.is-ie) .works-list-2 .way-list .label p:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #1a1a1a;
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-mask-image: -webkit-radial-gradient(#fff, #000)
}

html:not(.is-ie) .works-list-2 .way-list .label span {
    opacity: 0;
    -webkit-transform: scale(1.2) translateZ(0);
    transform: scale(1.2) translateZ(0)
}

html:not(.is-ie) .works-list-2 .way-list .img {
    -webkit-mask-image: -webkit-radial-gradient(#fff, #000)
}

html:not(.is-ie) .works-list-2 .way-list .description {
    opacity: 0;
    -webkit-transition: opacity .7s linear;
    transition: opacity .7s linear
}

html.is-ie .works-list-2 .way-list {
    opacity: 0;
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}


.label2 {
    width: 100%;
    padding: 10px 0;
    /* background: #f0ecec; */
    position: absolute;
    position: relative;
    top: 0;
    left: 0;
    z-index: 2;
    text-align: left;
}

/* 
.label2:hover {
    width: 120px;
    padding: 10px;
    background: #aa8989;
    position: absolute;
    position: relative;
    top: 30px;
    left: 20px;
    z-index: 2;
    text-align: center;
    -webkit-transition: opacity 1.2s linear;
    transition: opacity 1.2s linear
}
 */



.label1 {
    width: 120px;
    padding: 10px;
    background: #f0ecec;
    position: absolute;
    position: relative;
    top: 30px;
    left: 20px;
    z-index: 2;
    text-align: center;
    transition: .3s;
}

/* 
.label1:hover {
    width: 120px;
    padding: 10px;
    background: #aa8989;
    position: absolute;
    position: relative;
    top: 30px;
    left: 20px;
    z-index: 2;
    text-align: center;
    -webkit-transition: opacity 1.2s linear;
    transition: opacity 1.2s linear
}
 */

.label1 {
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
    -webkit-transition: 0.50s ease;
    transition: 0.50s ease;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    overflow: hidden;
    display: block;
}

.label1:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    opacity: .5 background: #cfcbcb;
}





.fade-in.is-action {
    opacity: 1;
    -webkit-transition: opacity 1.2s linear;
    transition: opacity 1.2s linear
}

.product_title {
    margin-top: 10px;
    text-align: center;
    margin-bottom: 50px;
    /* display: block; */
}

.product_title h1 {
    font-size: 25px;
    padding-top: 20px;
}

.product_title p {
    font-size: 16px;
    padding-top: 20px;
}

@media screen and (max-width:768px) {
    .product_title {
        margin-top: 0;
        text-align: center;
        margin-bottom: 20px;
    }

    .product_title h1 {
        font-size: 25px;
        padding-top: 20px;
    }
}

@media screen and (max-width:500px) {
    .product_title {
        padding: 10px 50px;
    }

    .product_title p {
        text-align: left;
    }
}


/*----------------------------------------------------
QCDS
------------------*/

.boxContact {
    position: relative;
    margin: 3em;
    padding: 1em 1em;
    border: solid 1px #ddd;
    border-radius: 2px;
    max-width: 1000px;
    margin: 30px auto;
    width: 100%;
}

.boxContact .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 15px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #333;
    font-weight: bold;
}

.boxContact p {
    margin: 0;
    padding: 0;
}

.list_01 {
    padding: 0;
    /* margin-top: 50px; */
    font-size: 20px;
}

.list_01 ol {
    counter-reset: number;
    list-style-type: none !important;
    padding: 0.3em 0.2em;
    /* border: solid 2px #dedede; */
}

.list_01 ol li {
    /* border-bottom: solid 1px #333; */
    position: relative;
    padding: 0.5em 3em 0.5em 1.5em;
    line-height: 1.4em;
    /* font-weight: 600; */
    text-align: left;
    display: inline-block;
}

.list_01 ol li a {
    /* text-decoration: solid; */
    border-bottom: 1px dashed #333;
}

.list_01 ol li a:hover {
    color: #607d8b;
}

.list_01 ol li:before {
    position: absolute;
    counter-increment: number;
    content: '\e6b4';
    display: inline-block;
    color: #333;
    font-family: themify;
    font-weight: bold;
    font-family: 'Font Awesome 6 pro';
    content: "\f8d3";
    font-size: 20px;
    border-radius: 50%;
    left: 0;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    top: 45%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.list_01 ol li:last-of-type {
    border-bottom: none;
}

.list_01 ol li span {
    font-size: 0.7em;
}

.trans-in-bottom .is-action,
.waypoint.is-action.trans-in-bottom,
.waypoint.is-action .trans-in-bottom {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, transform 1.2s cubic-bezier(0, .6, .2, 1), -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1)
}

.way-string-in.is-action .string-trimmer-parts,
.waypoint.is-action .way-string-in .string-trimmer-parts {
    opacity: 1;
    -webkit-transition: opacity 1.3s linear;
    transition: opacity 1.3s linear
}

.sub-copy.waypoint.is-action .cover {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear;
    transition: transform 1.2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.sub-copy.waypoint.is-action .cover .svg-img {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.2s cubic-bezier(0, .6, .2, 1), -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.main-visual.is-action .mv-video-container .cover,
.main-visual.is-action .sp-mv-container .cover {
    opacity: 0;
    -webkit-transition: opacity 1s linear, visibility 1s linear;
    transition: opacity 1s linear, visibility 1s linear;
    pointer-events: none
}

.main-visual.is-action .mv-video-container>.inner {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: 1.5s cubic-bezier(0, .6, .2, 1);
    transition: 1.5s cubic-bezier(0, .6, .2, 1)
}

.main-visual.is-action .sp-mv-container>.inner {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: 2.5s cubic-bezier(0, .6, .2, 1);
    transition: 2.5s cubic-bezier(0, .6, .2, 1)
}

.main-visual.is-action-end .mv-video-container .cover,
.main-visual.is-action-end .mv-video-container>.inner,
.main-visual.is-action-end .sp-mv-container .cover,
.main-visual.is-action-end .sp-mv-container>.inner {
    -webkit-transition: none;
    transition: none
}

.blog-list .way-list.is-action .thumb-outer {
    opacity: 1;
    -webkit-transform: scaleY(1) translateZ(0);
    transform: scaleY(1) translateZ(0);
    -webkit-transition: opacity .5s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1);
    transition: opacity .5s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1);
    transition: transform .6s cubic-bezier(0, .6, .2, 1), opacity .5s linear;
    transition: transform .6s cubic-bezier(0, .6, .2, 1), opacity .5s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1)
}

.blog-list .way-list.is-action .thumb-outer:after {
    -webkit-transform: scaleY(0) translateZ(0);
    transform: scaleY(0) translateZ(0);
    -webkit-transition: opacity .7s cubic-bezier(.7, .1, .2, 1), -webkit-transform .7s cubic-bezier(.7, .1, .2, 1);
    transition: opacity .7s cubic-bezier(.7, .1, .2, 1), -webkit-transform .7s cubic-bezier(.7, .1, .2, 1);
    transition: transform .7s cubic-bezier(.7, .1, .2, 1), opacity .7s cubic-bezier(.7, .1, .2, 1);
    transition: transform .7s cubic-bezier(.7, .1, .2, 1), opacity .7s cubic-bezier(.7, .1, .2, 1), -webkit-transform .7s cubic-bezier(.7, .1, .2, 1)
}

.blog-list .way-list.is-action .thumb-inner {
    opacity: 1;
    -webkit-transform: scale(1) translateZ(0);
    transform: scale(1) translateZ(0);
    -webkit-transition: opacity .6s linear, -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1);
    transition: opacity .6s linear, -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.8s cubic-bezier(0, .6, .2, 1), opacity .6s linear;
    transition: transform 1.8s cubic-bezier(0, .6, .2, 1), opacity .6s linear, -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1)
}

.blog-list .way-list.is-action .date,
.blog-list .way-list.is-action .description {
    opacity: 1
}


/* 
#g-footer .waypoint-container.section-foot.is-action>.bg {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: transform 2s cubic-bezier(0, .6, .2, 1), opacity .6s linear;
    transition: transform 2s cubic-bezier(0, .6, .2, 1), opacity .6s linear
}

#g-footer .waypoint-container.section-foot.is-action .message .string-trimmer-parts {
    opacity: 1;
    -webkit-transition: transform 1.2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear;
    transition: transform 1.2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear
}

#g-footer .waypoint-container.section-foot.is-action .link-line .string-trimmer-parts {
    opacity: 1;
    -webkit-transition: opacity 1.2s linear;
    transition: opacity 1.2s linear
}

#g-footer .waypoint-container.section-foot.is-action .line {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition: transform 1.2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear;
    transition: transform 1.2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear;
    -webkit-transition-delay: 1.1s;
    transition-delay: 1.1s
} */

body.is-page-init #works-detail .main-visual.is-action .img-outer {
    opacity: 1;
    -webkit-transform: scale(1) translateZ(0);
    transform: scale(1) translateZ(0);
    -webkit-transition: opacity 1.6s cubic-bezier(0, .6, .2, 1), -webkit-transform 1.6s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.6s cubic-bezier(0, .6, .2, 1), -webkit-transform 1.6s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.6s cubic-bezier(0, .6, .2, 1), opacity 1.6s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.6s cubic-bezier(0, .6, .2, 1), opacity 1.6s cubic-bezier(0, .6, .2, 1), -webkit-transform 1.6s cubic-bezier(0, .6, .2, 1)
}

body.is-page-init #works-detail .main-visual.is-action:after {
    opacity: 0;
    -webkit-transition: opacity 1s linear;
    transition: opacity 1s linear
}

#works-detail .gallery-list .modal-trigger.is-action .img-inner {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition: opacity .7s linear, -webkit-transform 1.6s cubic-bezier(0, .6, .2, 1);
    transition: opacity .7s linear, -webkit-transform 1.6s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.6s cubic-bezier(0, .6, .2, 1), opacity .7s linear;
    transition: transform 1.6s cubic-bezier(0, .6, .2, 1), opacity .7s linear, -webkit-transform 1.6s cubic-bezier(0, .6, .2, 1)
}

#works-detail .gallery-list .modal-trigger.is-action .img-outer {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition: opacity .5s linear, -webkit-transform .65s cubic-bezier(0, .6, .2, 1);
    transition: opacity .5s linear, -webkit-transform .65s cubic-bezier(0, .6, .2, 1);
    transition: transform .65s cubic-bezier(0, .6, .2, 1), opacity .5s linear;
    transition: transform .65s cubic-bezier(0, .6, .2, 1), opacity .5s linear, -webkit-transform .65s cubic-bezier(0, .6, .2, 1)
}

#works-detail .gallery-list .modal-trigger.is-action .img-outer:after {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transition: -webkit-transform .65s cubic-bezier(.6, 0, .3, 1);
    transition: -webkit-transform .65s cubic-bezier(.6, 0, .3, 1);
    transition: transform .65s cubic-bezier(.6, 0, .3, 1);
    transition: transform .65s cubic-bezier(.6, 0, .3, 1), -webkit-transform .65s cubic-bezier(.6, 0, .3, 1)
}

body.is-page-init .title-sec-01 .section-foot:after {
    opacity: 0;
    -webkit-transition: opacity 1.6s linear;
    transition: opacity 1.6s linear
}

#about .example .example-list li .unit-head.is-action .img-cover {
    opacity: 1;
    -webkit-transition: opacity .5s linear;
    transition: opacity .5s linear
}

#about .example .example-list li .unit-head.is-action .img-cover:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transition: -webkit-transform .7s cubic-bezier(.6, 0, .3, 1) .3s;
    transition: -webkit-transform .7s cubic-bezier(.6, 0, .3, 1) .3s;
    transition: transform .7s cubic-bezier(.6, 0, .3, 1) .3s;
    transition: transform .7s cubic-bezier(.6, 0, .3, 1) .3s, -webkit-transform .7s cubic-bezier(.6, 0, .3, 1) .3s
}

#about .example .example-list li .unit-head.is-action .img-cover .img {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: opacity 1.2s linear, -webkit-transform 2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, -webkit-transform 2s cubic-bezier(0, .6, .2, 1);
    transition: transform 2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear;
    transition: transform 2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear, -webkit-transform 2s cubic-bezier(0, .6, .2, 1)
}

#about .flow .flow-list .unit-head.is-action:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition: -webkit-transform 1s cubic-bezier(.6, 0, .3, 1) .2s;
    transition: -webkit-transform 1s cubic-bezier(.6, 0, .3, 1) .2s;
    transition: transform 1s cubic-bezier(.6, 0, .3, 1) .2s;
    transition: transform 1s cubic-bezier(.6, 0, .3, 1) .2s, -webkit-transform 1s cubic-bezier(.6, 0, .3, 1) .2s
}

#about .profile .section-head.is-action .img-outer {
    opacity: 1;
    -webkit-transition: opacity .5s linear;
    transition: opacity .5s linear
}

#about .profile .section-head.is-action .img-outer:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transition: -webkit-transform .7s cubic-bezier(.6, 0, .3, 1) .3s;
    transition: -webkit-transform .7s cubic-bezier(.6, 0, .3, 1) .3s;
    transition: transform .7s cubic-bezier(.6, 0, .3, 1) .3s;
    transition: transform .7s cubic-bezier(.6, 0, .3, 1) .3s, -webkit-transform .7s cubic-bezier(.6, 0, .3, 1) .3s
}

#about .profile .section-head.is-action .img-cover {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: opacity 1.2s linear, -webkit-transform 2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, -webkit-transform 2s cubic-bezier(0, .6, .2, 1);
    transition: transform 2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear;
    transition: transform 2s cubic-bezier(0, .6, .2, 1), opacity 1.2s linear, -webkit-transform 2s cubic-bezier(0, .6, .2, 1)
}

html:not(.is-ie) .works-list .way-list.is-action .label {
    opacity: 1;
    -webkit-transform: scaleY(1) translateZ(0);
    transform: scaleY(1) translateZ(0);
    -webkit-transition: opacity .5s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1);
    transition: opacity .5s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1);
    transition: transform .6s cubic-bezier(0, .6, .2, 1), opacity .5s linear;
    transition: transform .6s cubic-bezier(0, .6, .2, 1), opacity .5s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1)
}

html:not(.is-ie) .works-list .way-list.is-action .label p:after {
    -webkit-transform: scaleY(0) translateZ(0);
    transform: scaleY(0) translateZ(0);
    -webkit-transition: -webkit-transform .7s cubic-bezier(.7, .1, .2, 1);
    transition: -webkit-transform .7s cubic-bezier(.7, .1, .2, 1);
    transition: transform .7s cubic-bezier(.7, .1, .2, 1);
    transition: transform .7s cubic-bezier(.7, .1, .2, 1), -webkit-transform .7s cubic-bezier(.7, .1, .2, 1)
}

html:not(.is-ie) .works-list .way-list.is-action .label span {
    opacity: 1;
    -webkit-transform: scale(1) translateZ(0);
    transform: scale(1) translateZ(0);
    -webkit-transition: opacity .6s linear, -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1);
    transition: opacity .6s linear, -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.8s cubic-bezier(0, .6, .2, 1), opacity .6s linear;
    transition: transform 1.8s cubic-bezier(0, .6, .2, 1), opacity .6s linear, -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1)
}

html:not(.is-ie) .works-list .way-list.is-action .description {
    opacity: 1;
    -webkit-transform: translateY(0) translateZ(0);
    transform: translateY(0) translateZ(0)
}

html.is-ie .works-list .way-list.is-action {
    opacity: 1;
    -webkit-transform: translateY(1);
    transform: translateY(1);
    -webkit-transition: opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, transform 1.2s cubic-bezier(0, .6, .2, 1), -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1)
}

html:not(.is-ie) .works-list-2 .way-list.is-action .label {
    opacity: 1;
    -webkit-transform: scaleY(1) translateZ(0);
    transform: scaleY(1) translateZ(0);
    -webkit-transition: opacity .5s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1);
    transition: opacity .5s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1);
    transition: transform .6s cubic-bezier(0, .6, .2, 1), opacity .5s linear;
    transition: transform .6s cubic-bezier(0, .6, .2, 1), opacity .5s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1)
}

html:not(.is-ie) .works-list-2 .way-list.is-action .label p:after {
    -webkit-transform: scaleY(0) translateZ(0);
    transform: scaleY(0) translateZ(0);
    -webkit-transition: -webkit-transform .7s cubic-bezier(.7, .1, .2, 1);
    transition: -webkit-transform .7s cubic-bezier(.7, .1, .2, 1);
    transition: transform .7s cubic-bezier(.7, .1, .2, 1);
    transition: transform .7s cubic-bezier(.7, .1, .2, 1), -webkit-transform .7s cubic-bezier(.7, .1, .2, 1)
}

html:not(.is-ie) .works-list-2 .way-list.is-action .label span {
    opacity: 1;
    -webkit-transform: scale(1) translateZ(0);
    transform: scale(1) translateZ(0);
    -webkit-transition: opacity .6s linear, -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1);
    transition: opacity .6s linear, -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1);
    transition: transform 1.8s cubic-bezier(0, .6, .2, 1), opacity .6s linear;
    transition: transform 1.8s cubic-bezier(0, .6, .2, 1), opacity .6s linear, -webkit-transform 1.8s cubic-bezier(0, .6, .2, 1)
}

html:not(.is-ie) .works-list-2 .way-list.is-action .description {
    opacity: 1;
    -webkit-transform: translateY(0) translateZ(0);
    transform: translateY(0) translateZ(0)
}

html.is-ie .works-list-2 .way-list.is-action {
    opacity: 1;
    -webkit-transform: translateY(1);
    transform: translateY(1);
    -webkit-transition: opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, transform 1.2s cubic-bezier(0, .6, .2, 1);
    transition: opacity 1.2s linear, transform 1.2s cubic-bezier(0, .6, .2, 1), -webkit-transform 1.2s cubic-bezier(0, .6, .2, 1)
}

@media screen and (min-width:768px) {
    .blog-list .way-list.is-action:nth-of-type(3n+1) .thumb-outer {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    .blog-list .way-list.is-action:nth-of-type(3n+1) .thumb-inner,
    .blog-list .way-list.is-action:nth-of-type(3n+1) .thumb-outer:after {
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    .blog-list .way-list.is-action:nth-of-type(3n+1) .date,
    .blog-list .way-list.is-action:nth-of-type(3n+1) .description {
        opacity: 1;
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    .blog-list .way-list.is-action:nth-of-type(3n+2) .thumb-outer {
        -webkit-transition-delay: 75ms;
        transition-delay: 75ms
    }

    .blog-list .way-list.is-action:nth-of-type(3n+2) .thumb-inner,
    .blog-list .way-list.is-action:nth-of-type(3n+2) .thumb-outer:after {
        -webkit-transition-delay: .575s;
        transition-delay: .575s
    }

    .blog-list .way-list.is-action:nth-of-type(3n+2) .date,
    .blog-list .way-list.is-action:nth-of-type(3n+2) .description {
        opacity: 1;
        -webkit-transition-delay: .575s;
        transition-delay: .575s
    }

    .blog-list .way-list.is-action:nth-of-type(3n+3) .thumb-outer {
        -webkit-transition-delay: .15s;
        transition-delay: .15s
    }

    .blog-list .way-list.is-action:nth-of-type(3n+3) .thumb-inner,
    .blog-list .way-list.is-action:nth-of-type(3n+3) .thumb-outer:after {
        -webkit-transition-delay: .65s;
        transition-delay: .65s
    }

    .blog-list .way-list.is-action:nth-of-type(3n+3) .date,
    .blog-list .way-list.is-action:nth-of-type(3n+3) .description {
        opacity: 1;
        -webkit-transition-delay: .65s;
        transition-delay: .65s
    }

    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(3n+1) .img-outer {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(3n+1) .img-inner,
    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(3n+1) .img-outer:after {
        -webkit-transition-delay: .6s;
        transition-delay: .6s
    }

    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(3n+2) .img-outer {
        -webkit-transition-delay: 75ms;
        transition-delay: 75ms
    }

    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(3n+2) .img-inner,
    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(3n+2) .img-outer:after {
        -webkit-transition-delay: .675s;
        transition-delay: .675s
    }

    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(3n+3) .img-outer {
        -webkit-transition-delay: .15s;
        transition-delay: .15s
    }

    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(3n+3) .img-inner,
    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(3n+3) .img-outer:after {
        -webkit-transition-delay: .75s;
        transition-delay: .75s
    }
}

@media screen and (min-width:769px) {
    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+3) .label {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+3) .label p:after,
    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+3) .label span {
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+3) .description {
        -webkit-transition-delay: 1s;
        transition-delay: 1s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+2) .label {
        -webkit-transition-delay: .1s;
        transition-delay: .1s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+2) .label p:after,
    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+2) .label span {
        -webkit-transition-delay: .6s;
        transition-delay: .6s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+2) .description {
        -webkit-transition-delay: 1.1s;
        transition-delay: 1.1s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+1) .label {
        -webkit-transition-delay: .2s;
        transition-delay: .2s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+1) .label p:after,
    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+1) .label span {
        -webkit-transition-delay: .7s;
        transition-delay: .7s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(3n+1) .description {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.2s;
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+3) .label {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+3) .label p:after,
    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+3) .label span {
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+3) .description {
        -webkit-transition-delay: 1s;
        transition-delay: 1s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+2) .label {
        -webkit-transition-delay: .1s;
        transition-delay: .1s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+2) .label p:after,
    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+2) .label span {
        -webkit-transition-delay: .6s;
        transition-delay: .6s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+2) .description {
        -webkit-transition-delay: 1.1s;
        transition-delay: 1.1s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+1) .label {
        -webkit-transition-delay: .2s;
        transition-delay: .2s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+1) .label p:after,
    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+1) .label span {
        -webkit-transition-delay: .7s;
        transition-delay: .7s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(3n+1) .description {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.2s
    }
}

@media screen and (max-width:768px) and (min-width:414px) {
    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(odd) .label {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(odd) .label p:after,
    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(odd) .label span {
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(odd) .description {
        -webkit-transition-delay: 1s;
        transition-delay: 1s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(2n+2) .label {
        -webkit-transition-delay: .1s;
        transition-delay: .1s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(2n+2) .label p:after,
    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(2n+2) .label span {
        -webkit-transition-delay: .6s;
        transition-delay: .6s
    }

    html:not(.is-ie) .works-list .way-list.is-action:nth-of-type(2n+2) .description {
        -webkit-transition-delay: 1.1s;
        transition-delay: 1.1s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(odd) .label {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(odd) .label p:after,
    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(odd) .label span {
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(odd) .description {
        -webkit-transition-delay: 1s;
        transition-delay: 1s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(2n+2) .label {
        -webkit-transition-delay: .1s;
        transition-delay: .1s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(2n+2) .label p:after,
    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(2n+2) .label span {
        -webkit-transition-delay: .6s;
        transition-delay: .6s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action:nth-of-type(2n+2) .description {
        -webkit-transition-delay: 1.1s;
        transition-delay: 1.1s
    }
}

@media screen and (max-width:414px) {
    html:not(.is-ie) .works-list .way-list.is-action .label {
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
        font-family: "Century Gothic", sans-serif;
    }

    html:not(.is-ie) .works-list .way-list.is-action .label p:after,
    html:not(.is-ie) .works-list .way-list.is-action .label span {
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
        font-family: "Century Gothic", sans-serif;
        /* color: #000; */
    }

    html:not(.is-ie) .works-list .way-list.is-action .description {
        -webkit-transition-delay: 1s;
        transition-delay: 1s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action .label {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action .label p:after,
    html:not(.is-ie) .works-list-2 .way-list.is-action .label span {
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    html:not(.is-ie) .works-list-2 .way-list.is-action .description {
        -webkit-transition-delay: 1s;
        transition-delay: 1s
    }
}

@media screen and (max-width:768px) {
    .blog-list .way-list.is-action .thumb-outer {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    .blog-list .way-list.is-action .thumb-inner,
    .blog-list .way-list.is-action .thumb-outer:after {
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    .blog-list .way-list.is-action .date,
    .blog-list .way-list.is-action .description {
        opacity: 1;
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(odd) .img-outer {
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(odd) .img-inner,
    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(odd) .img-outer:after {
        -webkit-transition-delay: .6s;
        transition-delay: .6s
    }

    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(2n+2) .img-outer {
        -webkit-transition-delay: 75ms;
        transition-delay: 75ms
    }

    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(2n+2) .img-inner,
    #works-detail .gallery-list .modal-trigger.is-action:nth-of-type(2n+2) .img-outer:after {
        -webkit-transition-delay: .675s;
        transition-delay: .675s
    }
}

::selection {
    background: #1a1a1a;
    color: #fff;
}

::-moz-selection {
    background: #1a1a1a;
    color: #fff
}

::-webkit-input-placeholder {
    color: #ccc
}

::-moz-placeholder {
    color: #ccc
}

* {
    outline: none;
    margin: 0;
    padding: 0
}

*,
:after,
:before {
    -webkit-box-sizing: border-box;
    /* box-sizing: border-box; */
}

link {}

body,
html {
    height: 100%
}

html {
    font-size: 62.5%
}

body {
    color: #fff;
    /* background: #0d0d0d; */
    font-size: 1.6rem;
    font-family: \\6E38\660E\671D, dnp-shuei-mincho-pr6n, YuMincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "\FF2D\FF33   \660E\671D", serif;
    /* font-family: 'Noto Sans JP',"æ¸¸ã‚´ã‚·ãƒƒã‚¯", "Yu Gothic","æ¸¸æ˜Žæœ",'Amerigo BT', YuMincho, "ãƒ’ãƒ©ã‚®ãƒŽæ˜Žæœ ProN W3", "Hiragino Mincho ProN","HGæ˜ŽæœE","ï¼­ï¼³ ï¼°æ˜Žæœ","ï¼­ï¼³ æ˜Žæœ",serif; */
    /* font-weight: 400; */
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.is-click-disable * {
    pointer-events: none !important
}

a {
    color: #1a1a1a;
    cursor: pointer;
    text-decoration: none;
}

h3,
time {
    letter-spacing: .15em
}

#contents,
#wrap {
    position: relative;
    height: 100%;
}

#page {
    position: relative;
    top: 60px;
}

#page,
.page-content {
    position: relative;
    z-index: 1;
    margin-bottom: 100px;
    /* top: 60px; */
}

#page:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    position: fixed;
    top: 0;
    left: 0;
    /* border: 10px solid #e6e6e6; */
    z-index: 10;
    pointer-events: none;
}

br.min-800-show,
br.mq,
span.hidden-text {
    display: none
}

@media screen and (max-width:768px) {
    body {
        font-size: 1.4rem
    }

    #page:after {
        border-width: 5px;
        border-bottom: 0
    }

    br.pc {
        display: none
    }

    br.mq {
        display: block;
        display: contents
    }

    body {
        /* min-width: 320px */
    }
}

@media screen and (max-width:800px) {
    br.min-800-show {
        display: inline-block
    }
}

@media screen and (max-width:480px) {
    br.mq {
        display: block
    }
}

.vertical-text {
    /*     -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; */
    vertical-align: top;
    letter-spacing: .03em;
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
}

.linkArea2 {
    text-align: center;
    margin-top: 40px;
    width: 100%;
    max-width: 1000px;
    margin: 30px auto;
}

.boxFlexible_eventinfo {
    position: relative;
    margin: 3em 2em 5em;
    padding: 1em 1em;
    border: solid 1px #ddd;
    /*	border: solid 1px #0a0a0a; text-align: left; */
}

.boxFlexible_eventinfo .box-title {
    position: absolute;
    display: inline-block;
    top: -37px;
    left: -3px;
    padding: 0 9px;
    height: 35px;
    line-height: 35px;
    vertical-align: middle;
    font-size: 18px;
    /* background: #999; */
    color: #1f1f1f;
    font-weight: bold;
    /* border-radius: 5px 5px 0 0; */
}

.boxFlexible_eventinfo p {
    margin: 0;
    padding: 0;
    font-size: 20px;
    line-height: 2;
    /* font-weight: 600; */
    padding: 10px;
}

.boxFlexible_eventinfo p span {
    /* border-bottom: 1px solid #c11920; */
    /* font-weight: 500; */
}


/* .btn_ver2  */

.btn_ver2 {
    display: inline-block;
    width: 275px;
    max-width: 100%;
    padding: 0;
    margin: 0 10px;
    color: #fff;
    background: #4f4f4f;
    /* border: #3f3d3d 1px solid; */
    /* border-bottom: #3f3d3d 1px solid; */
    font-size: 14px;
    text-decoration: none;
    text-align: center;
    font-weight: 500;
    line-height: 60px;
    letter-spacing: 1px;
    position: relative;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 1px;
}

.btn_ver2:after {
    font-family: 'Font Awesome 6 pro';
    content: "\e649";
    /* content: "\f16d"; */
    content: "\f105";
    font-size: 13px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 0;
    right: 15px;
    z-index: 1;
    line-height: 55px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.btn_ver2:hover {
    color: #000;
    background: #9E9E9E;
    border: #8b8b8b 1px solid;
}

.btn_ver2:hover:after {
    right: 10px;
}

.link-line {
    position: relative;
    display: inline-block
}

.link-line .line {
    height: 2px;
    bottom: -10px;
    left: 0
}

.link-line .line,
.link-line .line:before {
    display: block;
    position: absolute;
    width: 100%
}

.link-line .line:before {
    height: 100%;
    content: ""
}

.section-title {
    font-size: 3rem;
    line-height: 1.82;
    letter-spacing: .05em;
}

.section-title .small-text {
    display: block;
    margin-bottom: 8px;
    line-height: 1;
    font-size: 1.4rem;
    letter-spacing: .3em
}

.section-title .text-outer {
    display: inline-block;
    line-height: 1
}

.section-title .number-text {
    margin-left: 5px;
    line-height: 1;
    font-size: 1rem;
    vertical-align: top
}

.section-title .text {
    display: inline-block
}

.copy-title-block {
    text-align: center
}

.copy-title {
    display: inline-block;
    position: relative
}

.copy-title .sub-copy {
    position: absolute;
    right: 0;
    left: 0;
    text-align: center;
    bottom: -30px;
    -webkit-transform: rotate(-7deg);
    transform: rotate(-7deg)
}

.copy-title .sub-copy .text {
    opacity: 0
}

.copy-title .sub-copy .cover {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    width: 182px;
    height: 30px;
    margin-left: 80px
}

.copy-title .sub-copy .svg-img {
    width: 182px;
    height: 30px
}

.text-justify {
    text-align: justify
}

.img-cover {
    position: relative;
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(#fff, #000)
}

.img-cover .img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-position: 0%;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #efefef;
}

.img-cover .img img {
    width: 100%;
    object-fit: cover;
}

@media screen and (max-width:768px) {
    .img-cover .img {
        position: absolute;
        /* width: 100%; */
        /* height: 100%; */
        /* top: 50px; */
    }
}

.title-sec-01 h1 {
    margin-top: 100px;
    margin-top: 0;
}

.title-sec-01 .section-head {
    position: relative
}

.title-sec-01 .section-head,
.title-sec-02 {
    /* display: -webkit-box; */
    display: -ms-flexbox;
    /* display: flex; */
    /* -webkit-box-align: center; */
    -ms-flex-align: center;
    /* align-items: center; */
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    /* justify-content: center; */
    /* height: 60vh; */
    /* max-height: 200px; */
    /* min-height: 200px; */
    text-align: center;
    max-width: 1200px;
    width: 100%;
    margin: 50px auto 10px;
}

.title-sec-02 {
    padding-top: 110px
}

.telephone-block {
    text-align: center
}

.telephone-block .tel {
    position: relative;
    display: inline-block;
    margin-bottom: 25px;
    font-size: 3.2rem;
    letter-spacing: .3em;
    background-image: url(../img/icon/telephone.png);
    background-repeat: no-repeat;
    background-position: 0;
    background-size: 24px
}

.telephone-block .tel .inner {
    padding-left: 40px
}

.telephone-block .info {
    font-size: 1.4rem;
    line-height: 2.14;
    letter-spacing: .1em
}

.copyright {
    font-size: 1.2rem;
    letter-spacing: .45em
}

.copyright span {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 80px;
    padding: 0 20px
}

.copyright span,
.navigation,
.navigation a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.navigation a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 60px;
    padding: 0 20px;
    font-size: 1.5rem;
    line-height: 1
}

@media screen and (min-height:901px) {
    .title-sec-01 h1 {
        /* margin-top: 100px */
    }
}

@media screen and (max-width:768px) {
    .section-title {
        font-size: 2.75rem;
        line-height: 1.6
    }

    .title-sec-01 h1 {
        margin-top: 0
    }

    .title-sec-01 .section-head {
        /* height: 350px */
    }

    .title-sec-02 {
        height: 350px;
        padding-top: 65px
    }

    .navigation {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .navigation a {
        position: relative;
        height: 50px;
        padding: 0 30px;
        letter-spacing: .1em;
        border-bottom: 1px solid rgba(0, 0, 0, .1)
    }

    .navigation .sp-arrow {
        position: absolute;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        height: 4px;
        top: 50%;
        right: 40px;
        margin-top: -2px
    }

    .navigation .sp-arrow:before {
        display: block;
        width: 15px;
        height: 1px;
        content: "";
        position: relative;
        background-color: #1a1a1a
    }

    .navigation .sp-arrow:after {
        display: block;
        width: 4px;
        height: 100%;
        content: "";
        position: absolute;
        top: 0;
        right: -1px;
        border-top: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-left: 4px solid #1a1a1a
    }

    .copy-title .sub-copy img {
        width: 187.5px;
        margin-left: 75px
    }

    .copyright span {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        height: 70px
    }
}

@media screen and (max-width:600px) {
    .section-title {
        font-size: 1.95rem;
        line-height: 1.6
    }

    .telephone-block .tel {
        font-size: 2.4rem;
        letter-spacing: .25em;
        margin-bottom: 20px
    }

    .title-sec-01 h1 {
        margin-top: 0;
        font-size: 2rem;
        padding: 1%;
    }

    .title-sec-01 .section-head {
        /* height: 150px; */
        /* max-height: inherit; */
        /* min-height: inherit; */
        padding: 1em;
        margin-top: 10px;
    }
}

@media screen and (max-width:374px) {
    .copy-title .sub-copy .cover {
        margin-left: 40px
    }
}

#top .section-title {
    margin-bottom: 50px
}

#top .section-title .text {
    display: inline-block
}

#top .top-sections {
    padding-top: 50px;
    padding-bottom: 150px
}

#top .main-visual .mv-video-container {
    position: absolute;
    width: 100%;
    height: 50vh;
    top: 0;
    left: 0;
    overflow: hidden;
}

.mv-video-container {}

#top .main-visual .mv-video-container>.inner {
    width: 100%;
    height: 100%
}

#top .main-visual .mv-video-container:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .2);
    /* background-image: url(../img/common/filter.png); */
    background-repeat: repeat;
    background-position: 50%
}

#top .main-visual .mv-video-container .block {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    background-color: #1a1a1a;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

#top .main-visual .mv-video {
    width: 100%;
    height: 100%
}

#top .main-visual .sp-mv-container {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

#top .main-visual .section-head {
    position: relative;
    width: 100%;
    height: 50vh;
}

#top .main-visual h1 {
    position: absolute;
    top: 20%;
    right: 45%;
    left: 45%;
    color: #fff;
    margin: 0 auto;
    text-align: center;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 50;
}

#top .main-visual h1 a {
    display: inline-block;
    color: #fff;
    text-align: center;
    text-align: center;
}

#top .main-visual h1 .ja {
    display: block;
    margin: 0 auto 25px;
    text-align: center
}

#top .main-visual h1 .en {
    line-height: 1.5625;
    letter-spacing: .1em;
}

#top .main-visual .mouse {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    right: 0;
    left: 0;
    bottom: 100px;
    margin: 0 auto;
    cursor: pointer;
    z-index: 10
}

#top .main-visual .mouse>.inner {
    width: 20px;
    height: 34px;
    border: 2px solid #fff;
    border-radius: 10px
}

#top .main-visual .mouse>.wheel,
#top .main-visual .mouse>.wheel-shadow {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 2px;
    top: 40%;
    right: 0;
    left: 0;
    margin: -1px auto 0;
    -webkit-animation: mouseScroll 1.2s cubic-bezier(.8, 0, .3, 1) infinite alternate;
    animation: mouseScroll 1.2s cubic-bezier(.8, 0, .3, 1) infinite alternate
}

#top .main-visual .mouse>.wheel {
    background: #fff;
    -webkit-animation-delay: -.08s;
    animation-delay: -.08s;
    z-index: 20
}

#top .main-visual .mouse>.wheel-shadow {
    background: #ccc
}

#top .main-visual .section-foot {
    position: relative;
    margin-top: -80px;
    background-color: #fff;
    z-index: 20
}

#top .main-visual .topics-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 80px;
    border: 10px solid #fff
}

#top .main-visual .topics-link .date {
    padding: 0 30px 0 20px;
    letter-spacing: .2em
}

#top .main-visual .topics-link .description {
    font-size: 1.4rem;
    letter-spacing: .05em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}


/* .linkArea_campaign */

#top .linkArea_campaign {
    position: absolute;
    bottom: 50px;
    left: 5%;
    width: 50%;
    z-index: 4;
}


/* .btnCampaign */

#top .btn_link_campaign {
    display: inline-block;
    margin: 0 0 20px 20px;
    padding: 16px 42px 14px 26px;
    color: #111;
    border-color: #fefefe;
    background: rgba(255, 255, 255, 0.8);
    position: absolute;
    z-index: 1;
    bottom: 0px;
    right: 20px;
}

#top .btn_link_campaign .jp {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.7;
}

#top .btn_link_campaign .jp span {
    font-size: 16px;
    background: #000;
    color: #fff;
    padding: 1% 2% 3%;
    border-radius: 1em;
}

#top .btn_link_campaign .jp span:hover {
    background: #fff;
    color: #000;
}

#top .btn_link_campaign:after {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 30px;
    font-size: 11px;
    font-family: 'themify';
    content: "\e65a";
    font-weight: normal;
    line-height: 30px;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    z-index: 0;
    -webkit-transition: all 0s;
    -moz-transition: all 0s;
    transition: all 0s;
}

#top .btn_link_campaign:hover {
    color: #fff;
    background: #111;
}

@media only screen and (max-width: 800px) {
    #top .linkArea_campaign {
        position: initial;
        padding: 50px 0 0;
        margin: 0;
        width: 100%;
        text-align: center;
        display: block;
        width: 100%;
        border: none;
        background-color: none;
    }

    #top .btn_link_campaign {
        /* padding: 2px 0 0 0; */
        line-height: 50px;
        margin: 0;
        display: block;
        bottom: 120px;
        right: 0;
    }

    #top .btn_link_campaign .jp {
        line-height: inherit;
        font-size: 15px;
        line-height: 2;
    }

    #top .btn_link_campaign .jp br {
        display: none;
    }

    #top .btn_link_campaign .jp span {
        padding-bottom: 1%;
        font-size: 13px;
    }

    #top .btn_link_campaign:hover {
        color: #111;
        border-color: #fefefe;
        background: rgba(255, 255, 255, 0.8);
    }

    #top .btn_link_campaign:after {
        top: 2px;
        right: 6px;
        line-height: 28px;
        bottom: 0;
        margin: auto 0;
    }
}

@media only screen and (max-width: 500px) {
    #top .btn_link_campaign {
        /* padding: 2px 0 0 0; */
        line-height: 50px;
        margin: 0;
        display: block;
        bottom: 0px;
        right: 0;
    }
}

#top .copy {
    padding-top: 100px;
    padding-bottom: 120px;
}

#top .copy .section-head {
    text-align: center
}

#top .copy .section-head p {
    line-height: 2.5;
    letter-spacing: .05em
}

#top .works {
    padding-top: 50px;
}

#top .works .section-head {
    padding-bottom: 50px;
}

#top .about {
    padding-bottom: 110px
}

#top .about .img-cover {
    width: 100%;
    height: 56.25vw;
    max-height: 400px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 80px;
}

#top .about .section-body {
    text-align: center
}

#top .about .section-body .unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-align: left
}

#top .about .section-body .unit>div {
    width: 100%;
}

#top .about .section-body .unit p {
    line-height: 2.3;
    letter-spacing: .05em
}

#top .about .section-body .unit .unit-head {
    padding-right: 20px
}

#top .about .section-body .unit .unit-foot {
    padding-left: 20px
}

#top .about .section-foot {
    padding-top: 80px;
    text-align: center;
}

#top .blog h2 {
    margin-bottom: 135px
}

#top .blog .section-foot {
    padding-top: 90px
}

html.is-ie #top .works .section-head {
    padding-bottom: 280px
}

@media screen and (max-width:768px) {
    #top .section-title {
        margin-bottom: 30px
    }

    #top .top-sections {
        padding-top: 27.5px;
        padding-bottom: 50px
    }

    #top .main-visual .mouse {
        display: none
    }

    #top .main-visual .topics-link {
        display: block;
        height: auto;
        padding: 30px;
        border-width: 0
    }

    #top .main-visual .topics-link .date {
        padding: 0;
        margin-bottom: 12.5px
    }

    #top .main-visual .topics-link .description {
        white-space: normal;
        line-height: 1.78571
    }

    #top .copy {
        padding-top: 90px;
        padding-bottom: 100px
    }

    #top .copy .section-head p {
        font-size: 1.4rem;
        line-height: 2.14286
    }

    #top .works .section-head {
        padding-bottom: 0
    }

    #top .about {
        padding-bottom: 100px
    }

    #top .about h2 {
        line-height: 1.6
    }

    #top .about .img-cover {
        margin-bottom: 90px
    }

    #top .about .section-body .unit {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 30px
    }

    #top .about .section-body .unit>div {
        width: 100%
    }

    #top .about .section-body .unit .unit-head {
        padding-right: 0
    }

    #top .about .section-body .unit .unit-foot {
        padding-left: 0
    }

    #top .about .section-body .unit p {
        margin-bottom: 12.5px;
        font-size: 1.4rem;
        line-height: 2.14286;
        text-align: center
    }

    #top .about .section-foot {
        padding-top: 27.5px
    }

    #top .blog .date {
        line-height: 1
    }

    #top .blog h2 {
        margin-bottom: 80px
    }

    #top .blog .section-foot {
        padding-top: 20px
    }
}

@media screen and (max-width:480px) {
    #top h2.section-title {
        font-size: 2.6rem
    }

    #top .about .section-body .unit {
        padding: 0
    }
}

#works>.inner {
    padding-bottom: 240px
}

#works .section-title {
    letter-spacing: .1em
}

#works-detail>.inner {
    padding-top: 280px;
    padding-bottom: 240px
}

#works-detail .article-title {
    font-size: 3.2rem;
    letter-spacing: .05em;
    line-height: 1.35
}

#works-detail .head {
    padding-bottom: 200px
}

#works-detail .head .location {
    display: inline-block;
    margin-top: 5px;
    margin-bottom: 50px;
    letter-spacing: .05em
}

#works-detail .head .content {
    max-width: 800px;
    line-height: 2.5;
    letter-spacing: .05em
}

#works-detail .head .content p {
    text-align: justify
}

#works-detail .main-visual .img-cover {
    padding-bottom: 50%
}

#works-detail .main-visual .img {
    top: -60%;
    height: 160%
}

#works-detail .gallery {
    padding-top: 50px;
    padding-bottom: 50px
}

#works-detail .gallery .gallery-list {
    width: 105%;
    margin-left: -2.5%;
    font-size: 0;
    letter-spacing: 0
}

#works-detail .gallery .gallery-list>li {
    width: 28.572%;
    margin-right: 2.38095%;
    margin-left: 2.38095%;
    margin-bottom: 4.761905%;
    cursor: pointer
}

#works-detail .gallery .gallery-list>li.horizontal .img-cover {
    padding-bottom: 66.66667%
}

#works-detail .gallery .gallery-list>li.vertical .img-cover {
    padding-bottom: 150%
}

#works-detail .contents .detail-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 13.5px;
    padding-bottom: 10px
}

#works-detail .contents .detail-list>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 33.333%;
    margin-bottom: 20px
}

#works-detail .contents .detail-block {
    font-size: 1.3rem;
    letter-spacing: .05em
}

#works-detail .contents .detail-block .label {
    min-width: 4.5em
}

#works-detail .contents .detail-block .content {
    width: calc(100% - 4.5em);
    text-indent: -1.5em;
    padding-right: 1.5em;
    padding-left: 1.5em
}

#works-detail .contents .detail-block.long {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    padding-top: 30px
}

#works-detail .contents .detail-block.long:before {
    display: block;
    width: 14px;
    height: 1px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #1a1a1a
}

#works-detail .contents .unit {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 125px;
    padding-bottom: 100px
}

#works-detail .contents .unit:after,
#works-detail .contents .unit:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    left: 0;
    background-color: rgba(0, 0, 0, .1)
}

#works-detail .contents .unit:before {
    top: 0
}

#works-detail .contents .unit:after {
    bottom: 0
}

#works-detail .contents .unit-head .title {
    width: 300px;
    margin-bottom: 15px;
    font-size: 2.2rem;
    line-height: 1.8em
}

#works-detail .contents .unit-foot {
    max-width: 72.5%;
    margin-left: 60px
}

#works-detail .others .section-title {
    text-align: center
}

#works-detail .others .section-head {
    padding-top: 140px;
    padding-bottom: 140px
}

html.is-mobile .main-visual .img,
html.is-tablet .main-visual .img {
    top: 0;
    height: 100%
}

@media screen and (max-width:768px) {
    #works>.inner {
        padding-bottom: 0
    }

    #works-detail>.inner {
        padding-top: 20vh;
        padding-bottom: 50px
    }

    #works-detail .article-title {
        font-size: 2.8rem
    }

    #works-detail .location {
        font-size: 1.8rem
    }

    #works-detail .head {
        padding-bottom: 67.5px
    }

    #works-detail .head .content {
        margin: 0 auto;
        line-height: 2.14286
    }

    #works-detail .gallery {
        padding-bottom: 10px
    }

    #works-detail .gallery>.container {
        padding: 30px
    }

    #works-detail .gallery .gallery-list {
        width: 102%;
        margin-left: -1%
    }

    #works-detail .gallery .gallery-list>li {
        width: 47%;
        margin-right: 1.5%;
        margin-left: 1.5%;
        margin-bottom: 3%
    }

    #works-detail .contents .unit {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 45px 30px 35px
    }

    #works-detail .contents .unit:after,
    #works-detail .contents .unit:before {
        width: calc(100% - 60px);
        right: 0;
        margin: 0 auto
    }

    #works-detail .contents .unit-head .title {
        width: auto;
        margin-bottom: 10px;
        font-size: 2.2rem;
        line-height: 2
    }

    #works-detail .contents .location {
        font-size: 1.8rem;
        text-align: left
    }

    #works-detail .contents .unit-foot {
        max-width: 100%;
        margin-left: 0
    }

    #works-detail .contents .detail-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 100%;
        padding-top: 30px
    }

    #works-detail .contents .detail-list>li {
        margin-bottom: 10px
    }

    #works-detail .contents .detail-block .content,
    #works-detail .contents .detail-block .label {
        line-height: 2.14286
    }

    #works-detail .contents .detail-block .long {
        padding-top: 20px
    }

    #works-detail .others .section-head {
        padding-top: 80px;
        padding-bottom: 70px
    }

    #works-detail .main-visual .img {
        top: 0;
        height: 100%
    }
}

@media screen and (max-width:480px) {
    #works>.inner {
        padding-bottom: 30px
    }

    #works-detail .article-title {
        font-size: 2.6rem;
        text-align: inherit
    }

    #works-detail .head .location {
        margin-top: 10px
    }

    #works-detail .gallery {
        padding-top: 0
    }

    #works-detail .contents .unit-head .title {
        line-height: 1.6
    }

    #works-detail .contents .detail-list>li {
        width: 100%;
        margin-bottom: 5px
    }

    #works-detail .others .section-head {
        padding-top: 60px;
        padding-bottom: 50px
    }
}

#faq>.inner {
    padding-bottom: 60px
}

#faq .sec .unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    letter-spacing: .05em;
    margin-bottom: 30px
}

#faq .sec .unit-head {
    width: 75px
}

#faq .sec .unit-foot {
    width: calc(100% - 75px)
}

#faq .question a {
    display: block
}

#faq .question .question-list {
    padding: 0 20px
}

#faq .answer .answer-list>li {
    position: relative;
    padding: 40px 20px
}

#faq .answer .answer-list>li:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .1)
}

#faq .answer .answer-list .list-head {
    color: #008e3c;
    font-weight: 600
}

#faq .answer .answer-list .list-foot {
    margin-bottom: 0;
    line-height: 2.5
}

@media screen and (max-width:768px) {
    #faq>.inner {
        padding-bottom: 45px
    }

    #faq .sec .unit-head {
        width: 45px
    }

    #faq .sec .unit-foot {
        width: calc(100% - 45px)
    }

    #faq .question>.inner {
        padding-top: 0;
        padding-bottom: 50px
    }

    #faq .question>.inner:before {
        display: none
    }

    #faq .question .question-list {
        padding: 0;
        border-top: 1px solid rgba(0, 0, 0, .1)
    }

    #faq .question .question-list>li {
        border-bottom: 1px solid rgba(0, 0, 0, .1)
    }

    #faq .question .question-list a {
        padding: 25px 0;
        margin-bottom: 0
    }

    #faq .question .question-list a .unit {
        margin: 0;
        padding: 0
    }

    #faq .question .question-list a>.inner:nth-of-type(2),
    #faq .question .question-list a>.inner:nth-of-type(3) {
        top: 25px
    }

    #faq .question .question-list p {
        line-height: 1.78571
    }

    #faq .answer .answer-list>li {
        padding: 25px 0
    }

    #faq .answer .answer-list>li:before {
        background-color: #1a1a1a
    }

    #faq .answer .answer-list>li p {
        line-height: 1.78571
    }
}

.blog-page .article-list {
    padding-bottom: 135px
}

.blog-page .page-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 620px;
    margin: 45px auto 0
}

.blog-page .page-nav .link-arrow {
    padding: 15px 0
}

.blog-page .page-nav .link-arrow.disable {
    opacity: .2;
    pointer-events: none
}

.blog-page .page-nav .arrow {
    position: relative;
    width: 60px;
    height: 6px
}

.blog-page .page-nav .arrow:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    background-color: #1a1a1a
}

.blog-page .page-nav .arrow:after {
    display: block;
    width: 6px;
    height: 100%;
    content: "";
    position: absolute;
    top: 0
}

.blog-page .page-nav .arrow.prev {
    margin-right: 35px
}

.blog-page .page-nav .arrow.prev:after {
    left: -1px;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-right: 6px solid #1a1a1a
}

.blog-page .page-nav .arrow.next {
    margin-left: 35px
}

.blog-page .page-nav .arrow.next:after {
    right: -1px;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 6px solid #1a1a1a
}

.blog-page .page-nav-list {
    padding: 0 15px;
    border-right: 1px solid rgba(0, 0, 0, .1);
    border-left: 1px solid rgba(0, 0, 0, .1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.blog-page .page-nav-list .page-list {
    padding-right: 10px;
    padding-left: 10px
}

.blog-page .page-nav-list a {
    color: #999;
    padding: 15px;
    letter-spacing: .05em
}

.blog-page .page-nav-list a.current {
    color: #1a1a1a;
    pointer-events: none
}

.blog-page .blog-list>li {
    margin-bottom: 90px
}

#blog>.inner {
    padding-bottom: 75px
}

#blog .article-information {
    border-top: 1px solid rgba(0, 0, 0, .1);
    padding-top: 80px
}

#blog .article-information .block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#blog .article-information .blocks {
    width: 33.333%
}

#blog .article-information .title {
    font-size: 1.4rem;
    letter-spacing: .3em;
    margin-bottom: 30px
}

#blog .article-information a {
    font-size: 1.2rem;
    line-height: 2.5;
    letter-spacing: .15em
}

#blog .article-information .tag-list li {
    display: inline-block
}

#blog .article-information .tag-list a {
    display: block;
    padding: 0 15px;
    margin-right: 5px;
    margin-bottom: 5px;
    background-color: #ebebeb;
    border-radius: 5px
}

#blog-single .title-sec-02 {
    height: 400px
}

#blog-single>.inner {
    padding-bottom: 0
}

#blog-single .main>.inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    padding-top: 75px;
    padding-bottom: 60px
}

#blog-single .main>.inner:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .1)
}

#blog-single article {
    width: 65%;
    max-width: calc(100% - 350px)
}

#blog-single article .date {
    margin-bottom: 30px;
    font-size: 1.4rem;
    letter-spacing: .3em
}

#blog-single article h1 {
    font-size: 2.6rem
}

#blog-single article .article-content {
    padding-top: 40px;
    line-height: 1.875;
    letter-spacing: .05em
}

#blog-single article .article-content p {
    margin-bottom: 30px
}

#blog-single article .article-content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 30px 0
}

#blog-single .side {
    width: 35%;
    max-width: 350px
}

#blog-single .side .blocks {
    margin-bottom: 75px
}

#blog-single .side .title {
    margin-bottom: 25px;
    font-size: 1.4rem;
    letter-spacing: .3em
}

#blog-single .side-list a {
    font-size: 1.2rem;
    line-height: 2.5;
    letter-spacing: .15em
}

#blog-single .tag-list {
    padding-right: 100px
}

#blog-single .tag-list>li {
    display: inline-block
}

#blog-single .tag-list a {
    display: block;
    padding: 0 15px;
    margin-right: 5px;
    margin-bottom: 5px;
    font-size: 1.2rem;
    line-height: 2.5;
    background-color: #ebebeb;
    border-radius: 5px
}

#blog-single .article-list {
    position: relative;
    padding-top: 100px
}

#blog-single .article-list:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .1)
}

#blog-single .page-nav {
    margin-bottom: 60px
}

@media screen and (max-width:768px) {
    .blog-page .page-nav-list {
        padding: 0;
        border: 0
    }

    .blog-page .page-nav-list .page-list {
        padding-right: 3px;
        padding-left: 3px
    }

    .blog-page .blog-list {
        border-bottom: 1px solid #1a1a1a
    }

    .blog-page .blog-list>li {
        margin-bottom: 0
    }

    .blog-page .article-list {
        padding-bottom: 0
    }

    .blog-page .page-nav {
        width: 100%;
        max-width: 620px;
        overflow: hidden;
        margin-top: 0;
        padding: 45px 0
    }

    .blog-page .page-nav .link-arrow {
        display: none
    }

    .blog-page .page-nav .arrow {
        position: relative;
        width: 15px;
        height: 4px
    }

    .blog-page .page-nav .arrow:after {
        display: block;
        width: 4px;
        height: 100%;
        content: "";
        position: absolute;
        top: 0
    }

    .blog-page .page-nav .arrow.prev:after {
        border-top: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-right: 3px solid #1a1a1a
    }

    .blog-page .page-nav .arrow.next:after {
        border-top: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-left: 3px solid #1a1a1a
    }

    #blog>.inner {
        padding-bottom: 45px
    }

    #blog .article-information {
        padding-top: 50px
    }

    #blog .article-information .block {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #blog .article-information .block-archive,
    #blog .article-information .block-category {
        width: 50%;
        margin-bottom: 35px
    }

    #blog .article-information .block-tags {
        width: 100%
    }

    #blog-single .title-sec-02 {
        height: 250px;
        min-height: auto
    }

    #blog-single>.inner {
        padding-bottom: 45px
    }

    #blog-single .main>.inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding-top: 0
    }

    #blog-single .main>.inner:before {
        display: none
    }

    #blog-single article {
        width: inherit;
        max-width: 100%
    }

    #blog-single article h1 {
        font-size: 2rem
    }

    #blog-single article .date {
        margin-bottom: 25px
    }

    #blog-single article .article-content {
        padding-top: 20px;
        line-height: 1.78571
    }

    #blog-single .side {
        width: 100%;
        max-width: 100%;
        padding-top: 50px;
        border-top: 1px solid #1a1a1a
    }

    #blog-single .side>.block {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #blog-single .side>.block .block-archive,
    #blog-single .side>.block .block-category {
        width: 50%;
        margin-bottom: 40px
    }

    #blog-single .side>.block .block-tags {
        width: 100%;
        margin-bottom: 0
    }

    #blog-single .side .title {
        margin-bottom: 10px
    }

    #blog-single .article-list {
        padding-top: 0
    }

    #blog-single .article-list:before {
        display: none
    }

    #blog-single .blog-list li:first-of-type {
        border-top: 1px solid #1a1a1a;
        padding-top: 20px
    }

    #blog-single .page-nav {
        padding-bottom: 0
    }
}

#contact.is-l-check .title-sec-02,
#contact.thanks .title-sec-02 {
    height: 35vh;
    min-height: 300px
}

#contact .title-sec-02>.inner {
    margin: 0
}

#contact .title-sec-02 .section-head {
    max-width: 600px;
    margin-top: 20px;
    margin-right: auto;
    margin-left: auto;
    text-align: left;
    line-height: 2.5;
    letter-spacing: .05em
}

#contact .title-sec-02 a {
    color: #008e3c
}

#contact .form-sec {
    overflow: hidden
}

#contact .form-sec>.inner {
    position: relative
}

#contact .form-sec>.inner:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .1)
}

#contact .form-sec .section-head {
    padding: 80px 0 70px
}

#contact .form-sec .section-foot {
    padding-top: 25px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#contact .form-sec .section-foot,
#contact .form-sec .section-foot .back {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#contact .form-sec .section-foot .back {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    max-width: 190px;
    height: 120px;
    background-color: #e6e6e6;
    border: 0;
    margin-right: 20px
}

#contact .form-sec .section-foot .send {
    max-width: 400px
}

#contact #contact-form {
    max-width: 600px;
    margin: 0 auto;
    padding-bottom: 130px
}

#contact #contact-form .form-list.has-error dt {
    color: #d80000
}

#contact #contact-form .form-list.has-error input,
#contact #contact-form .form-list.has-error textarea {
    background-color: rgba(216, 0, 0, .2)
}

#contact #contact-form .form-list.has-error dd .help-block {
    opacity: 1
}

#contact #contact-form .form-list.is-active dt {
    -webkit-transform: translate3d(15px, 20px, 0) scale(1);
    transform: translate3d(15px, 20px, 0) scale(1)
}

#contact #contact-form .form-list.is-active dd .help-block {
    opacity: 0
}

#contact #contact-form dt {
    position: relative;
    font-size: 1.1rem;
    color: #999;
    z-index: 10;
    -webkit-transform: translate3d(15px, 38px, 0) scale(1.25);
    transform: translate3d(15px, 38px, 0) scale(1.25);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    pointer-events: none;
    -webkit-transition: color .3s cubic-bezier(.75, 0, .25, 1), -webkit-transform .3s cubic-bezier(.75, 0, .25, 1);
    transition: color .3s cubic-bezier(.75, 0, .25, 1), -webkit-transform .3s cubic-bezier(.75, 0, .25, 1);
    transition: transform .3s cubic-bezier(.75, 0, .25, 1), color .3s cubic-bezier(.75, 0, .25, 1);
    transition: transform .3s cubic-bezier(.75, 0, .25, 1), color .3s cubic-bezier(.75, 0, .25, 1), -webkit-transform .3s cubic-bezier(.75, 0, .25, 1)
}

#contact #contact-form dt .caution {
    display: inline-block;
    margin-left: .5em;
    color: #d80000
}

#contact #contact-form dd {
    position: relative
}

#contact #contact-form dd .help-block {
    position: absolute;
    top: 22px;
    right: 20px;
    color: #d80000;
    opacity: 0;
    -webkit-transition: .3s cubic-bezier(.75, 0, .25, 1);
    transition: .3s cubic-bezier(.75, 0, .25, 1);
    pointer-events: none
}

#contact #contact-form input,
#contact #contact-form textarea {
    display: block;
    width: 100%;
    padding: 20px 15px;
    background-color: #f2f2f2;
    border: 0;
    -webkit-transition: background-color .3s cubic-bezier(.75, 0, .25, 1);
    transition: background-color .3s cubic-bezier(.75, 0, .25, 1)
}

#contact .form-check {
    padding-top: 15px
}

#contact .form-check dt {
    display: block;
    font-size: 1.2rem;
    color: gray;
    letter-spacing: .1em
}

#contact .form-check dt .caution {
    display: none
}

#contact .form-check dt label {
    display: block;
    padding: 20px 20px 0
}

#contact .form-check dd {
    padding: 10px 20px 15px;
    letter-spacing: .1em;
    border-bottom: 1px solid rgba(0, 0, 0, .1)
}

#contact .form-check .form-group {
    max-width: 600px;
    margin: 0 auto
}

#contact.thanks .title-sec-02 .section-head {
    text-align: center
}

#contact.thanks .content-sec>.inner {
    position: relative;
    padding: 70px 0 100px
}

#contact.thanks .content-sec>.inner:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .1)
}

#contact.thanks .content-sec .check {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 85px;
    height: 85px;
    margin: 0 auto 50px;
    background-color: #1a1a1a;
    border-radius: 50%
}

#contact.thanks .content-sec .message-block {
    text-align: center
}

#contact.thanks .content-sec .message-block p {
    margin-bottom: 40px
}

#contact.thanks .content-sec .message-block .block-head {
    line-height: 2.5
}

#contact.thanks .content-sec .message-block .block-body {
    color: #4c4c4c;
    line-height: 2.5
}

#contact.thanks .content-sec .message-block .block-foot {
    color: #4c4c4c
}

#contact.thanks .content-sec .message-block .block-foot small {
    font-size: 1.4rem;
    line-height: 2.85
}

@media screen and (max-width:768px) {
    #contact.is-l-check .title-sec-02 {
        height: 250px;
        min-height: auto
    }

    #contact .form-sec .section-foot .back {
        height: 67.5px
    }

    #contact.thanks .title-sec-02 {
        height: 250px;
        min-height: auto
    }

    #contact.thanks .content-sec .check {
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }
}

.is-others .g-nav-menu a {
    position: relative;
    /* color: #fff; */
}

.is-others .g-nav-menu a>span {
    display: inline-block;
    /* color: #000; */
}

.is-others .g-nav-menu a:before {
    display: block;
    width: 10px;
    height: 1px;
    content: "";
    position: absolute;
    bottom: 20px;
    right: 0;
    left: 0;
    margin: 0 auto;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: opacity .3s linear .1s, background-color .55s linear, -webkit-transform .3s cubic-bezier(0, .6, .2, 1) .1s;
    transition: opacity .3s linear .1s, background-color .55s linear, -webkit-transform .3s cubic-bezier(0, .6, .2, 1) .1s;
    transition: transform .3s cubic-bezier(0, .6, .2, 1) .1s, opacity .3s linear .1s, background-color .55s linear;
    transition: transform .3s cubic-bezier(0, .6, .2, 1) .1s, opacity .3s linear .1s, background-color .55s linear, -webkit-transform .3s cubic-bezier(0, .6, .2, 1) .1s;
    background-color: #1a1a1a
}

.is-others .g-nav-menu a.is-before-hover:before {
    -webkit-transition: 0s;
    transition: 0s;
    -webkit-transform: scaleX(3);
    transform: scaleX(3)
}

.is-others .g-nav-menu a.is-hover:before {
    -webkit-transition: background-color .55s linear, -webkit-transform .35s cubic-bezier(0, .6, .2, 1);
    transition: background-color .55s linear, -webkit-transform .35s cubic-bezier(0, .6, .2, 1);
    transition: transform .35s cubic-bezier(0, .6, .2, 1), background-color .55s linear;
    transition: transform .35s cubic-bezier(0, .6, .2, 1), background-color .55s linear, -webkit-transform .35s cubic-bezier(0, .6, .2, 1)
}

.is-others .g-nav-menu a.is-hover:before,
.is-others .g-nav-menu li.current a:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.is-others:not(.is-ie) .works-list a .img-cover {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .6s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s
}

.is-others:not(.is-ie) .works-list a .img {
    -webkit-transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .7s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.is-others:not(.is-ie) .works-list a .label span {
    display: inline-block;
    position: relative;
    font-family: "Century Gothic", 'Abel', sans-serif;
}

.is-others:not(.is-ie) .works-list a .label p {
    -webkit-transition: color .65s cubic-bezier(.8, 0, .125, 1);
    transition: color .65s cubic-bezier(.8, 0, .125, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    color: #050126;
}

.is-others:not(.is-ie) .works-list a .label p:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #1a1a1a;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transition: -webkit-transform .65s cubic-bezier(.8, 0, .125, 1);
    transition: -webkit-transform .65s cubic-bezier(.8, 0, .125, 1);
    transition: transform .65s cubic-bezier(.8, 0, .125, 1);
    transition: transform .65s cubic-bezier(.8, 0, .125, 1), -webkit-transform .65s cubic-bezier(.8, 0, .125, 1)
}

.is-others:not(.is-ie) .works-list a.is-before-hover .label p:before {
    opacity: 0;
    -webkit-transform: scaleY(.7);
    transform: scaleY(.7);
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transition: none;
    transition: none
}

.is-others:not(.is-ie) .works-list a.is-hover {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transition: -webkit-transform .4s;
    transition: -webkit-transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s
}

.is-others:not(.is-ie) .works-list a.is-hover .img-cover {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: transform .6s cubic-bezier(.1, .6, .45, 1), -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    -webkit-transform: scale(.96);
    transform: scale(.96)
}

.is-others:not(.is-ie) .works-list a.is-hover .img {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
    -webkit-transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: transform .7s cubic-bezier(.1, .6, .45, 1), -webkit-transform .7s cubic-bezier(.1, .6, .45, 1)
}

.is-others:not(.is-ie) .works-list a.is-hover .label p {
    background-color: transparent;
    color: #fff;
    -webkit-transition: color .4s linear, background .2s linear;
    transition: color .4s linear, background .2s linear
}

.is-others:not(.is-ie) .works-list a.is-hover .label p:before {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transition: opacity .1s linear, -webkit-transform .7s cubic-bezier(0, .6, .2, 1);
    transition: opacity .1s linear, -webkit-transform .7s cubic-bezier(0, .6, .2, 1);
    transition: transform .7s cubic-bezier(0, .6, .2, 1), opacity .1s linear;
    transition: transform .7s cubic-bezier(0, .6, .2, 1), opacity .1s linear, -webkit-transform .7s cubic-bezier(0, .6, .2, 1)
}

.is-others.is-ie .works-list a .img-cover {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .6s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s
}

.is-others.is-ie .works-list a .img {
    -webkit-transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .7s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.is-others.is-ie .works-list a .label span {
    display: inline-block;
    position: relative
}

.is-others.is-ie .works-list a .label p {
    overflow: hidden;
    -webkit-transition: color .65s cubic-bezier(.8, 0, .125, 1);
    transition: color .65s cubic-bezier(.8, 0, .125, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.is-others.is-ie .works-list a .label p:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    -webkit-transition: background-color .65s cubic-bezier(.8, 0, .125, 1);
    transition: background-color .65s cubic-bezier(.8, 0, .125, 1)
}

.is-others.is-ie .works-list a.is-hover {
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition: -webkit-transform .4s;
    transition: -webkit-transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s
}

.is-others.is-ie .works-list a.is-hover .img-cover {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: transform .6s cubic-bezier(.1, .6, .45, 1), -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    -webkit-transform: scale(.96);
    transform: scale(.96)
}

.is-others.is-ie .works-list a.is-hover .img {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
    -webkit-transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: transform .7s cubic-bezier(.1, .6, .45, 1), -webkit-transform .7s cubic-bezier(.1, .6, .45, 1)
}

.is-others.is-ie .works-list a.is-hover .label p {
    background-color: transparent;
    color: #fff;
    -webkit-transition: color .4s linear, background .2s linear;
    transition: color .4s linear, background .2s linear
}

.is-others.is-ie .works-list a.is-hover .label p:before {
    background-color: #1a1a1a;
    -webkit-transition: background-color .7s cubic-bezier(0, .6, .2, 1);
    transition: background-color .7s cubic-bezier(0, .6, .2, 1)
}

.is-others:not(.is-ie) .works-list-2 a .img-cover {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .6s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s
}

.is-others:not(.is-ie) .works-list-2 a .img {
    -webkit-transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .7s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.is-others:not(.is-ie) .works-list-2 a .label span {
    display: inline-block;
    position: relative
}

.is-others:not(.is-ie) .works-list-2 a .label p {
    -webkit-transition: color .65s cubic-bezier(.8, 0, .125, 1);
    transition: color .65s cubic-bezier(.8, 0, .125, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

.is-others:not(.is-ie) .works-list a .label p:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #1a1a1a;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transition: -webkit-transform .65s cubic-bezier(.8, 0, .125, 1);
    transition: -webkit-transform .65s cubic-bezier(.8, 0, .125, 1);
    transition: transform .65s cubic-bezier(.8, 0, .125, 1);
    transition: transform .65s cubic-bezier(.8, 0, .125, 1), -webkit-transform .65s cubic-bezier(.8, 0, .125, 1)
}

.is-others:not(.is-ie) .works-list-2 a.is-before-hover .label p:before {
    opacity: 0;
    -webkit-transform: scaleY(.7);
    transform: scaleY(.7);
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transition: none;
    transition: none
}

.is-others:not(.is-ie) .works-list-2 a.is-hover {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transition: -webkit-transform .4s;
    transition: -webkit-transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s
}

.is-others:not(.is-ie) .works-list-2 a.is-hover .img-cover {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: transform .6s cubic-bezier(.1, .6, .45, 1), -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    -webkit-transform: scale(.96);
    transform: scale(.96)
}

.is-others:not(.is-ie) .works-list-2 a.is-hover .img {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
    -webkit-transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: transform .7s cubic-bezier(.1, .6, .45, 1), -webkit-transform .7s cubic-bezier(.1, .6, .45, 1)
}

.is-others:not(.is-ie) .works-list-2 a.is-hover .label p {
    background-color: transparent;
    background: #000;
    color: #fff;
    -webkit-transition: color .4s linear, background .2s linear;
    transition: color .4s linear, background .2s linear
}

.is-others:not(.is-ie) .works-list-2 a.is-hover .label p:before {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transition: opacity .1s linear, -webkit-transform .7s cubic-bezier(0, .6, .2, 1);
    transition: opacity .1s linear, -webkit-transform .7s cubic-bezier(0, .6, .2, 1);
    transition: transform .7s cubic-bezier(0, .6, .2, 1), opacity .1s linear;
    transition: transform .7s cubic-bezier(0, .6, .2, 1), opacity .1s linear, -webkit-transform .7s cubic-bezier(0, .6, .2, 1)
}

.is-others.is-ie .works-list-2 a .img-cover {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .6s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .6s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .6s cubic-bezier(.1, .6, .45, 1) .1s
}

.is-others.is-ie .works-list a .img {
    -webkit-transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .7s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .7s cubic-bezier(.1, .6, .45, 1) .1s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.is-others.is-ie .works-list-2 a .label span {
    display: inline-block;
    position: relative
}

.is-others.is-ie .works-list-2 a .label p {
    overflow: hidden;
    -webkit-transition: color .65s cubic-bezier(.8, 0, .125, 1);
    transition: color .65s cubic-bezier(.8, 0, .125, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.is-others.is-ie .works-list-2 a .label p:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    -webkit-transition: background-color .65s cubic-bezier(.8, 0, .125, 1);
    transition: background-color .65s cubic-bezier(.8, 0, .125, 1)
}

.is-others.is-ie .works-list-2 a.is-hover {
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition: -webkit-transform .4s;
    transition: -webkit-transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s
}

.is-others.is-ie .works-list-2 a.is-hover .img-cover {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: transform .6s cubic-bezier(.1, .6, .45, 1);
    transition: transform .6s cubic-bezier(.1, .6, .45, 1), -webkit-transform .6s cubic-bezier(.1, .6, .45, 1);
    -webkit-transform: scale(.96);
    transform: scale(.96)
}

.is-others.is-ie .works-list-2 a.is-hover .img {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
    -webkit-transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: transform .7s cubic-bezier(.1, .6, .45, 1);
    transition: transform .7s cubic-bezier(.1, .6, .45, 1), -webkit-transform .7s cubic-bezier(.1, .6, .45, 1)
}

.is-others.is-ie .works-list-2 a.is-hover .label p {
    background-color: transparent;
    color: #fff;
    -webkit-transition: color .4s linear, background .2s linear;
    transition: color .4s linear, background .2s linear
}

.is-others.is-ie .works-list-2 a.is-hover .label p:before {
    background-color: #1a1a1a;
    -webkit-transition: background-color .7s cubic-bezier(0, .6, .2, 1);
    transition: background-color .7s cubic-bezier(0, .6, .2, 1)
}

.is-others .blog-list .img-cover {
    -webkit-transition: -webkit-transform .45s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .45s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .45s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .45s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .45s cubic-bezier(.1, .6, .45, 1) .1s
}

.is-others .blog-list .img {
    -webkit-transition: -webkit-transform .5s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .5s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .5s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .5s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .5s cubic-bezier(.1, .6, .45, 1) .1s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.is-others .blog-list a.is-hover .img-cover {
    -webkit-transition: -webkit-transform .45s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .45s cubic-bezier(.1, .6, .45, 1);
    transition: transform .45s cubic-bezier(.1, .6, .45, 1);
    transition: transform .45s cubic-bezier(.1, .6, .45, 1), -webkit-transform .45s cubic-bezier(.1, .6, .45, 1);
    -webkit-transform: scale(.95);
    transform: scale(.95)
}

.is-others .blog-list a.is-hover .img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform .5s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .5s cubic-bezier(.1, .6, .45, 1);
    transition: transform .5s cubic-bezier(.1, .6, .45, 1);
    transition: transform .5s cubic-bezier(.1, .6, .45, 1), -webkit-transform .5s cubic-bezier(.1, .6, .45, 1)
}

.is-others .gallery-list .img-cover {
    -webkit-transition: -webkit-transform .45s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .45s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .45s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .45s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .45s cubic-bezier(.1, .6, .45, 1) .1s;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.is-others .gallery-list .img {
    -webkit-transition: -webkit-transform .5s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: -webkit-transform .5s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .5s cubic-bezier(.1, .6, .45, 1) .1s;
    transition: transform .5s cubic-bezier(.1, .6, .45, 1) .1s, -webkit-transform .5s cubic-bezier(.1, .6, .45, 1) .1s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.is-others .gallery-list>li.is-hover .img-cover {
    -webkit-transition: -webkit-transform .45s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .45s cubic-bezier(.1, .6, .45, 1);
    transition: transform .45s cubic-bezier(.1, .6, .45, 1);
    transition: transform .45s cubic-bezier(.1, .6, .45, 1), -webkit-transform .45s cubic-bezier(.1, .6, .45, 1);
    -webkit-transform: scale(.95);
    transform: scale(.95)
}

.is-others .gallery-list>li.is-hover .img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform .5s cubic-bezier(.1, .6, .45, 1);
    transition: -webkit-transform .5s cubic-bezier(.1, .6, .45, 1);
    transition: transform .5s cubic-bezier(.1, .6, .45, 1);
    transition: transform .5s cubic-bezier(.1, .6, .45, 1), -webkit-transform .5s cubic-bezier(.1, .6, .45, 1)
}

.is-others .btn.square-01 {
    -webkit-transition: color .55s cubic-bezier(.75, 0, .15, 1) .1s;
    transition: color .55s cubic-bezier(.75, 0, .15, 1) .1s
}

.is-others .btn.square-01>.inner {
    position: relative
}

.is-others .btn.square-01>.inner .text-cover {
    position: relative;
    display: inline-block
}

.is-others .btn.square-01>.inner .text-cover span {
    display: inline-block
}

.is-others .btn.square-01>.inner:before {
    -webkit-transition: -webkit-transform .55s cubic-bezier(.75, 0, .15, 1) .1s;
    transition: -webkit-transform .55s cubic-bezier(.75, 0, .15, 1) .1s;
    transition: transform .55s cubic-bezier(.75, 0, .15, 1) .1s;
    transition: transform .55s cubic-bezier(.75, 0, .15, 1) .1s, -webkit-transform .55s cubic-bezier(.75, 0, .15, 1) .1s;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #1a1a1a;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right
}

.is-others .btn.square-01 .arrow.before {
    -webkit-transition: .55s cubic-bezier(.75, 0, .15, 1), opacity .55s linear;
    transition: .55s cubic-bezier(.75, 0, .15, 1), opacity .55s linear;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.is-others .btn.square-01 .arrow.after {
    -webkit-transition: 0s .75s;
    transition: 0s .75s;
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.is-others .btn.square-01.is-before-hover>.inner:before {
    -webkit-transform: scaleX(.9);
    transform: scaleX(.9);
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition: none;
    transition: none;
    opacity: 0
}

.is-others .btn.square-01.is-hover {
    color: #fff;
    -webkit-transition: color .4s linear;
    transition: color .4s linear
}

.is-others .btn.square-01.is-hover>.inner:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition: opacity .05s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1);
    transition: opacity .05s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1);
    transition: transform .6s cubic-bezier(0, .6, .2, 1), opacity .05s linear;
    transition: transform .6s cubic-bezier(0, .6, .2, 1), opacity .05s linear, -webkit-transform .6s cubic-bezier(0, .6, .2, 1)
}

.is-others .btn.square-01.is-hover>.inner .text-cover span {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: opacity .4s linear, -webkit-transform .4s cubic-bezier(.25, .9, .3, 1.25);
    transition: opacity .4s linear, -webkit-transform .4s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .4s cubic-bezier(.25, .9, .3, 1.25), opacity .4s linear;
    transition: transform .4s cubic-bezier(.25, .9, .3, 1.25), opacity .4s linear, -webkit-transform .4s cubic-bezier(.25, .9, .3, 1.25);
    -webkit-transition-delay: .05s;
    transition-delay: .05s
}

.is-others .btn.square-01.is-hover .arrow.after {
    -webkit-transition: opacity .4s linear .05s, -webkit-transform .6s cubic-bezier(.25, .9, .3, 1.25);
    transition: opacity .4s linear .05s, -webkit-transform .6s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .6s cubic-bezier(.25, .9, .3, 1.25), opacity .4s linear .05s;
    transition: transform .6s cubic-bezier(.25, .9, .3, 1.25), opacity .4s linear .05s, -webkit-transform .6s cubic-bezier(.25, .9, .3, 1.25);
    -webkit-transform: translate3d(15px, 0, 0);
    transform: translate3d(15px, 0, 0);
    opacity: 0
}

.is-others .btn.square-01.is-hover .arrow.before {
    -webkit-transition: 0s;
    transition: 0s;
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0)
}

.is-others .contact-link:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    background-color: transparent;
    -webkit-transition: background-color .7s linear;
    transition: background-color .7s linear
}

.is-others .contact-link .link-line>.line:before {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition: -webkit-transform .7s cubic-bezier(.8, 0, .125, 1);
    transition: -webkit-transform .7s cubic-bezier(.8, 0, .125, 1);
    transition: transform .7s cubic-bezier(.8, 0, .125, 1);
    transition: transform .7s cubic-bezier(.8, 0, .125, 1), -webkit-transform .7s cubic-bezier(.8, 0, .125, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.is-others .contact-link.is-hover:after {
    background-color: rgba(0, 0, 0, .4);
    -webkit-transition: background-color .35s linear;
    transition: background-color .35s linear
}

.is-others .contact-link.is-hover .link-line>.line:before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transition: opacity .1s linear, -webkit-transform .7s cubic-bezier(0, .6, .2, 1);
    transition: opacity .1s linear, -webkit-transform .7s cubic-bezier(0, .6, .2, 1);
    transition: transform .7s cubic-bezier(0, .6, .2, 1), opacity .1s linear;
    transition: transform .7s cubic-bezier(0, .6, .2, 1), opacity .1s linear, -webkit-transform .7s cubic-bezier(0, .6, .2, 1)
}

.is-others .navigation .text {
    position: relative
}

.is-others .navigation .text span {
    display: inline-block;
    -webkit-transition: -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: transform .5s cubic-bezier(.8, 0, .125, 1), -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    -webkit-transition-delay: .1s;
    transition-delay: .1s
}

.is-others .navigation .text:before {
    display: block;
    width: 8px;
    height: 1px;
    content: "";
    position: absolute;
    top: 50%;
    left: -12px;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition: -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: transform .5s cubic-bezier(.8, 0, .125, 1), -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    -webkit-transition-delay: .15s;
    transition-delay: .15s;
    background-color: #1a1a1a
}

.is-others .navigation a.is-hover .text:before {
    opacity: 1;
    -webkit-transition: opacity .25s linear, -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    transition: opacity .25s linear, -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .25s cubic-bezier(.25, .9, .3, 1.25), opacity .25s linear;
    transition: transform .25s cubic-bezier(.25, .9, .3, 1.25), opacity .25s linear, -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform-origin: left;
    transform-origin: left
}

.is-others .navigation a.is-hover .text span {
    -webkit-transition: opacity .25s linear, -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    transition: opacity .25s linear, -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .25s cubic-bezier(.25, .9, .3, 1.25), opacity .25s linear;
    transition: transform .25s cubic-bezier(.25, .9, .3, 1.25), opacity .25s linear, -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
    -webkit-transition-delay: .05s;
    transition-delay: .05s
}

.is-others .navigation li.current a .text:before {
    opacity: 1;
    -webkit-transition: opacity .3s linear, -webkit-transform .3s cubic-bezier(.25, .9, .3, 1.25);
    transition: opacity .3s linear, -webkit-transform .3s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .3s cubic-bezier(.25, .9, .3, 1.25), opacity .3s linear;
    transition: transform .3s cubic-bezier(.25, .9, .3, 1.25), opacity .3s linear, -webkit-transform .3s cubic-bezier(.25, .9, .3, 1.25);
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform-origin: left;
    transform-origin: left
}

.is-others .navigation li.current a .text span {
    -webkit-transition: opacity .3s linear, -webkit-transform .3s cubic-bezier(.25, .9, .3, 1.25);
    transition: opacity .3s linear, -webkit-transform .3s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .3s cubic-bezier(.25, .9, .3, 1.25), opacity .3s linear;
    transition: transform .3s cubic-bezier(.25, .9, .3, 1.25), opacity .3s linear, -webkit-transform .3s cubic-bezier(.25, .9, .3, 1.25);
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
    -webkit-transition-delay: .05s;
    transition-delay: .05s
}

.is-others .blog-page .page-nav-list a {
    position: relative;
    -webkit-transition: color .3s linear .1s;
    transition: color .3s linear .1s
}

.is-others .blog-page .page-nav-list a:before {
    display: block;
    width: 10px;
    height: 1px;
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: opacity .3s linear .1s, -webkit-transform .3s cubic-bezier(0, .6, .2, 1) .1s;
    transition: opacity .3s linear .1s, -webkit-transform .3s cubic-bezier(0, .6, .2, 1) .1s;
    transition: transform .3s cubic-bezier(0, .6, .2, 1) .1s, opacity .3s linear .1s;
    transition: transform .3s cubic-bezier(0, .6, .2, 1) .1s, opacity .3s linear .1s, -webkit-transform .3s cubic-bezier(0, .6, .2, 1) .1s;
    background-color: #1a1a1a
}

.is-others .blog-page .page-nav-list a.is-before-hover:before {
    -webkit-transition: 0s;
    transition: 0s;
    -webkit-transform: scaleX(2);
    transform: scaleX(2)
}

.is-others .blog-page .page-nav-list a.is-hover {
    -webkit-transition: color .35s linear;
    transition: color .35s linear;
    color: #1a1a1a
}

.is-others .blog-page .page-nav-list a.is-hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition: -webkit-transform .35s cubic-bezier(0, .6, .2, 1);
    transition: -webkit-transform .35s cubic-bezier(0, .6, .2, 1);
    transition: transform .35s cubic-bezier(0, .6, .2, 1);
    transition: transform .35s cubic-bezier(0, .6, .2, 1), -webkit-transform .35s cubic-bezier(0, .6, .2, 1)
}

.is-others #blog-single .tag-list a,
.is-others #blog .article-information .tag-list a {
    -webkit-transition: background-color .55s linear, color .55s linear;
    transition: background-color .55s linear, color .55s linear
}

.is-others #blog-single .tag-list a.is-hover,
.is-others #blog .article-information .tag-list a.is-hover {
    -webkit-transition: color .25s cubic-bezier(0, .6, .2, 1), background-color .25s cubic-bezier(0, .6, .2, 1);
    transition: color .25s cubic-bezier(0, .6, .2, 1), background-color .25s cubic-bezier(0, .6, .2, 1);
    color: #fff;
    background-color: #1a1a1a
}

.is-others .question a {
    -webkit-transition: color .7s linear;
    transition: color .7s linear
}

.is-others .question a.is-hover {
    -webkit-transition: color .25s cubic-bezier(0, .6, .2, 1);
    transition: color .25s cubic-bezier(0, .6, .2, 1);
    color: #008e3c
}

.is-others .link-arrow .arrow,
.is-others .link-arrow .arrow:after,
.is-others .link-arrow .arrow:before {
    -webkit-transition: -webkit-transform .3s cubic-bezier(.6, 0, .3, 1) .1s;
    transition: -webkit-transform .3s cubic-bezier(.6, 0, .3, 1) .1s;
    transition: transform .3s cubic-bezier(.6, 0, .3, 1) .1s;
    transition: transform .3s cubic-bezier(.6, 0, .3, 1) .1s, -webkit-transform .3s cubic-bezier(.6, 0, .3, 1) .1s
}

.is-others .link-arrow .arrow.next:before {
    -webkit-transform-origin: left;
    transform-origin: left
}

.is-others .link-arrow .arrow.prev:before {
    -webkit-transform-origin: right;
    transform-origin: right
}

.is-others .link-arrow.is-hover .arrow,
.is-others .link-arrow.is-hover .arrow:after,
.is-others .link-arrow.is-hover .arrow:before {
    -webkit-transition: -webkit-transform .4s cubic-bezier(0, .6, .2, 1);
    transition: -webkit-transform .4s cubic-bezier(0, .6, .2, 1);
    transition: transform .4s cubic-bezier(0, .6, .2, 1);
    transition: transform .4s cubic-bezier(0, .6, .2, 1), -webkit-transform .4s cubic-bezier(0, .6, .2, 1)
}

.is-others .link-arrow.is-hover .arrow:after,
.is-others .link-arrow.is-hover .arrow:before {
    -webkit-transition-delay: .05s;
    transition-delay: .05s
}

.is-others .link-arrow.is-hover .arrow:before {
    -webkit-transform: scaleX(1.2);
    transform: scaleX(1.2)
}

.is-others .link-arrow.is-hover .arrow.next {
    -webkit-transform: translate3d(6px, 0, 0);
    transform: translate3d(6px, 0, 0)
}

.is-others .link-arrow.is-hover .arrow.next:after {
    -webkit-transform: translate3d(12px, 0, 0);
    transform: translate3d(12px, 0, 0)
}

.is-others .link-arrow.is-hover .arrow.prev {
    -webkit-transform: translate3d(-6px, 0, 0);
    transform: translate3d(-6px, 0, 0)
}

.is-others .link-arrow.is-hover .arrow.prev:after {
    -webkit-transform: translate3d(-12px, 0, 0);
    transform: translate3d(-12px, 0, 0)
}

.is-others .modal-close .back .bar:before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

.is-others .modal-close .back .bar:first-of-type:before {
    -webkit-transform-origin: left;
    transform-origin: left
}

.is-others .modal-close .back .bar:nth-of-type(2):before {
    -webkit-transform-origin: right;
    transform-origin: right
}

.is-others .modal-close.is-hover .front .bar:before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform .5s cubic-bezier(0, .6, .2, 1);
    transition: -webkit-transform .5s cubic-bezier(0, .6, .2, 1);
    transition: transform .5s cubic-bezier(0, .6, .2, 1);
    transition: transform .5s cubic-bezier(0, .6, .2, 1), -webkit-transform .5s cubic-bezier(0, .6, .2, 1)
}

.is-others .modal-close.is-hover .front .bar:first-of-type:before {
    -webkit-transform-origin: right;
    transform-origin: right
}

.is-others .modal-close.is-hover .front .bar:nth-of-type(2):before {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition-delay: .175s;
    transition-delay: .175s
}

.is-others .modal-close.is-hover .back .bar:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition: -webkit-transform .5s cubic-bezier(.6, 0, .3, 1);
    transition: -webkit-transform .5s cubic-bezier(.6, 0, .3, 1);
    transition: transform .5s cubic-bezier(.6, 0, .3, 1);
    transition: transform .5s cubic-bezier(.6, 0, .3, 1), -webkit-transform .5s cubic-bezier(.6, 0, .3, 1)
}

.is-others .modal-close.is-hover .back .bar:first-of-type:before {
    -webkit-transition-delay: .5s;
    transition-delay: .5s
}

.is-others .modal-close.is-hover .back .bar:nth-of-type(2):before {
    -webkit-transition-delay: .675s;
    transition-delay: .675s
}

.is-others #sp-g-nav-trigger .line {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    -webkit-transition: background-color .7s linear;
    transition: background-color .7s linear
}

.is-others #sp-g-nav-trigger .line:before {
    -webkit-transform-origin: left;
    transform-origin: left
}

.is-others #sp-g-nav-trigger .line:after,
.is-others #sp-g-nav-trigger .line:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.is-others #sp-g-nav-trigger .line:after {
    /* background-color: #1a1a1a; */
    /*     ヘッダメニュー3　によりComment */
}

.is-others #sp-g-nav-trigger.is-hover .line:before,
.is-others #sp-g-nav-trigger .line:after {
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

.is-others #sp-g-nav-trigger.is-hover .line:before {
    -webkit-transition: background-color .7s linear, -webkit-transform .4s cubic-bezier(0, .6, .2, 1);
    transition: background-color .7s linear, -webkit-transform .4s cubic-bezier(0, .6, .2, 1);
    transition: transform .4s cubic-bezier(0, .6, .2, 1), background-color .7s linear;
    transition: transform .4s cubic-bezier(0, .6, .2, 1), background-color .7s linear, -webkit-transform .4s cubic-bezier(0, .6, .2, 1)
}

.is-others #sp-g-nav-trigger.is-hover .line:first-of-type:before {
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.is-others #sp-g-nav-trigger.is-hover .line:nth-of-type(2):before {
    -webkit-transition-delay: .15s;
    transition-delay: .15s
}

.is-others #sp-g-nav-trigger.is-hover .line:nth-of-type(3):before {
    -webkit-transition-delay: .1s;
    transition-delay: .1s
}

.is-others #sp-g-nav-trigger.is-hover .line:after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition: -webkit-transform .4s cubic-bezier(0, .6, .2, 1);
    transition: -webkit-transform .4s cubic-bezier(0, .6, .2, 1);
    transition: transform .4s cubic-bezier(0, .6, .2, 1);
    transition: transform .4s cubic-bezier(0, .6, .2, 1), -webkit-transform .4s cubic-bezier(0, .6, .2, 1)
}

.is-others #sp-g-nav-trigger.is-hover .line:first-of-type:after {
    -webkit-transition-delay: .4s;
    transition-delay: .4s
}

.is-others #sp-g-nav-trigger.is-hover .line:nth-of-type(2):after {
    -webkit-transition-delay: .35s;
    transition-delay: .35s
}

.is-others #sp-g-nav-trigger.is-hover .line:nth-of-type(3):after {
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.is-others .side-link:before {
    display: block;
    width: 8px;
    height: 1px;
    content: "";
    position: absolute;
    top: 50%;
    left: -12px;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition: -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: transform .5s cubic-bezier(.8, 0, .125, 1), -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    -webkit-transition-delay: .15s;
    transition-delay: .15s;
    background-color: #1a1a1a
}

.is-others .side-link .text {
    display: inline-block;
    -webkit-transition: -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: transform .5s cubic-bezier(.8, 0, .125, 1);
    transition: transform .5s cubic-bezier(.8, 0, .125, 1), -webkit-transform .5s cubic-bezier(.8, 0, .125, 1);
    -webkit-transition-delay: .1s;
    transition-delay: .1s
}

.is-others .side-link.is-hover:before {
    -webkit-transition: -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    transition: -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .25s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .25s cubic-bezier(.25, .9, .3, 1.25), -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.is-others .side-link.is-hover .text {
    -webkit-transition: opacity .25s linear, -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    transition: opacity .25s linear, -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    transition: transform .25s cubic-bezier(.25, .9, .3, 1.25), opacity .25s linear;
    transition: transform .25s cubic-bezier(.25, .9, .3, 1.25), opacity .25s linear, -webkit-transform .25s cubic-bezier(.25, .9, .3, 1.25);
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
    -webkit-transition-delay: .05s;
    transition-delay: .05s
}

.is-others .topics-link {
    -webkit-transition: color .6s linear .05s, background-color .6s linear .05s;
    transition: color .6s linear .05s, background-color .6s linear .05s
}

.is-others .topics-link:hover {
    background-color: #efefef;
    -webkit-transition: color .3s ease, background-color .3s ease;
    transition: color .3s ease, background-color .3s ease
}

html.is-mobile .works-list a .label span,
html .is-tablet .works-list a .label span {
    display: inline-block
}

html.is-mobile .works-list a .label p,
html .is-tablet .works-list a .label p {
    position: relative;
    overflow: hidden;
    -webkit-transition: color .4s linear, background-color .4s linear;
    transition: color .4s linear, background-color .4s linear
}

html.is-mobile .works-list a.is-hover .label p,
html .is-tablet .works-list a.is-hover .label p {
    color: #fff;
    background-color: #1a1a1a;
    -webkit-transition: color .1s ease, background-color .1s ease;
    transition: color .1s ease, background-color .1s ease
}

html.is-mobile .works-list-2 a .label span,
html .is-tablet .works-list a .label span {
    display: inline-block
}

html.is-mobile .works-list-2 a .label p,
html .is-tablet .works-list-2 a .label p {
    position: relative;
    overflow: hidden;
    -webkit-transition: color .4s linear, background-color .4s linear;
    transition: color .4s linear, background-color .4s linear
}

html.is-mobile .works-list-2 a.is-hover .label p,
html .is-tablet .works-list-2 a.is-hover .label p {
    color: #fff;
    background-color: #1a1a1a;
    -webkit-transition: color .1s ease, background-color .1s ease;
    transition: color .1s ease, background-color .1s ease
}

html.is-mobile .btn.square-01,
html .is-tablet .btn.square-01 {
    -webkit-transition: color .4s linear, background-color .4s linear;
    transition: color .4s linear, background-color .4s linear
}

html.is-mobile .btn.square-01 .arrow,
html .is-tablet .btn.square-01 .arrow {
    -webkit-transition: opacity .4s linear, -webkit-transform .4s ease;
    transition: opacity .4s linear, -webkit-transform .4s ease;
    transition: opacity .4s linear, transform .4s ease;
    transition: opacity .4s linear, transform .4s ease, -webkit-transform .4s ease
}

html.is-mobile .btn.square-01.is-hover,
html .is-tablet .btn.square-01.is-hover {
    color: #fff;
    background-color: #1a1a1a;
    -webkit-transition: color .1s ease, background-color .1s ease;
    transition: color .1s ease, background-color .1s ease
}

html.is-mobile .btn.square-01.is-hover .arrow,
html .is-tablet .btn.square-01.is-hover .arrow {
    opacity: 0;
    -webkit-transition: opacity .3s linear, -webkit-transform .3s ease;
    transition: opacity .3s linear, -webkit-transform .3s ease;
    transition: opacity .3s linear, transform .3s ease;
    transition: opacity .3s linear, transform .3s ease, -webkit-transform .3s ease;
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
}

html.is-mobile .blog-list a .img,
html.is-mobile .blog-list a .img-cover,
html.is-mobile .gallery-list>li .img,
html.is-mobile .gallery-list>li .img-cover,
html.is-mobile .works-list a .img,
html.is-mobile .works-list a .img-cover,
html.is-mobile .works-list-2 a .img,
html.is-mobile .works-list-2 a .img-cover,
html .is-tablet .blog-list a .img,
html .is-tablet .blog-list a .img-cover,
html .is-tablet .gallery-list>li .img,
html .is-tablet .gallery-list>li .img-cover,
html .is-tablet .works-list a .img,
html .is-tablet .works-list a .img-cover,
html .is-tablet .works-list-2 a .img,
html .is-tablet .works-list-2 a .img-cover {
    -webkit-transition: -webkit-transform .5s ease .05s;
    transition: -webkit-transform .5s ease .05s;
    transition: transform .5s ease .05s;
    transition: transform .5s ease .05s, -webkit-transform .5s ease .05s
}

html.is-mobile .blog-list a.is-hover .img-cover,
html.is-mobile .gallery-list>li.is-hover .img-cover,
html.is-mobile .works-list a.is-hover .img-cover,
html.is-mobile .works-list-2 a.is-hover .img-cover,
html .is-tablet .blog-list a.is-hover .img-cover,
html .is-tablet .gallery-list>li.is-hover .img-cover,
html .is-tablet .works-list a.is-hover .img-cover,
html .is-tablet .works-list-2 a.is-hover .img-cover {
    -webkit-transform: scale(.94);
    transform: scale(.94);
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease
}

html.is-mobile .blog-list a.is-hover .img,
html.is-mobile .gallery-list>li.is-hover .img,
html.is-mobile .works-list a.is-hover .img,
html.is-mobile .works-list-2 a.is-hover .img,
html .is-tablet .blog-list a.is-hover .img,
html .is-tablet .gallery-list>li.is-hover .img,
html .is-tablet .works-list a.is-hover .img,
html .is-tablet .works-list-2 a.is-hover .img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform .35s ease;
    transition: -webkit-transform .35s ease;
    transition: transform .35s ease;
    transition: transform .35s ease, -webkit-transform .35s ease
}

html.is-mobile .contact-link:after,
html .is-tablet .contact-link:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    background-color: transparent;
    -webkit-transition: background-color .5s linear;
    transition: background-color .5s linear
}

html.is-mobile .contact-link.is-hover:after,
html .is-tablet .contact-link.is-hover:after {
    background-color: rgba(0, 0, 0, .6);
    -webkit-transition: background-color .1s ease;
    transition: background-color .1s ease
}

@-webkit-keyframes mouseScroll {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }
}

@keyframes mouseScroll {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }
}


/* -----------------------------------------------------------
   #SCROLL down
   ----------------------------------------------------------- */


/* 
.mainvisual{
  position: relative;
  height: 100vh;
  background: url(http://mias.kilo.jp/material/photo/img03.jpg) no-repeat center;
  background-size: cover;
} */


/*SCROLLâ€¹*/

.scroll {
    position: absolute;
    width: 100%;
    bottom: 0;
    text-align: center;
}

.scroll a {
    position: relative;
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    padding: 0 0 50px;
}


/*SCROLLâ€¹*/

.scroll a:before {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    left: 0;
    right: 0;
    bottom: 25px;
    margin: auto;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    animation: move 2s infinite;
}

/* line */

/* ----------------------------------------------------------
   
   #scrollUp
   
   ---------------------------------------------------------- */

#scrollUp {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 1000;
}

#scrollUp a {
    width: 50px;
    height: 50px;
    display: block;
    color: #fefefe;
    /* background: #1c354c; */
    background: #000;
    border: none;
    text-align: center;
    z-index: 11;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    position: relative;
    z-index: 1;
}

#scrollUp a:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    font-family: 'themify';
    content: "\e648";
    font-family: 'Font Awesome 6 pro';
    content: "\f077";
    font-size: 18px;
    line-height: 50px;
    font-weight: 400;
}

#scrollUp a:hover {
    -webkit-transform: translate(0px, -10px);
    -moz-transform: translate(0px, -10px);
    -o-transform: translate(0px, -10px);
    -ms-transform: translate(0px, -10px);
    transform: translate(0px, -10px);
}

@media only screen and (max-width: 800px) {
    #scrollUp a:hover {
        -webkit-transform: translate(0px, 0px);
        -moz-transform: translate(0px, 0px);
        -o-transform: translate(0px, 0px);
        -ms-transform: translate(0px, 0px);
        transform: translate(0px, 0px);
    }
}

@media only screen and (max-width: 414px) {
    #scrollUp a {
        width: 50px;
        height: 50px;
    }

    #scrollUp a:before {
        font-size: 16px;
        line-height: 48px;
    }
}


/*=========================================== */


/*! #about　ヤマザキについて
  =========================================== */

#about .title-sec-01 .section-foot {
    height: 56.25vw;
    max-height: 400px;
}

#about .sec {
    overflow-x: hidden
}

#about .sec h2 {
    margin-bottom: 40px
}

#about .sec p {
    margin-bottom: 10px;
    letter-spacing: .05em;
    line-height: 2.3;
    /* text-align: center; */
}

#about .sec-line>.inner {
    position: relative;
    padding-top: 100px;
}

#about .sec-line>.inner:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .1)
}

#about .sec-line .section-body {
    padding-top: 185px
}

#about .sec-01 {
    /* padding-top: 50px; */
    padding-bottom: 100px;
}

#about .sec-01 .unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#about .sec-01 .unit-head {
    width: 550px;
    margin-right: 0;
    margin-left: 0
}

#about .sec-01 .unit-foot {
    width: 37.5%;
    margin-left: 6.875%
}

#about .sec-01 .unit-foot>.img-cover {
    padding-bottom: 100%
}

#about .sec-01 .unit-foot .img {
    background-image: url(img/slideshow_01.jpg);
}

#about .sec-02 {
    padding-top: 100px;
    padding-bottom: 220px
}

#about .sec-02 .unit-head {
    width: 445px;
    margin-left: 50%
}

#about .sec-02 .unit-foot {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 220px
}

#about .sec-02 .unit-foot .img-cover-head {
    width: 37.5%;
    padding-bottom: 28.60169%;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

#about .sec-02 .unit-foot .img-cover-head .img {
    background-image: url(../img/about/img_02.jpg)
}

#about .sec-02 .unit-foot .img-cover-foot {
    width: 62.5%;
    padding-bottom: 28.40909%
}

#about .sec-02 .unit-foot .img-cover-foot .img {
    background-image: url(../img/about/img_03.jpg)
}

#about .sec-03 {
    padding-top: 100px;
    padding-bottom: 190px
}

#about .sec-03 .unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#about .sec-03 .unit-head {
    width: 550px;
    margin-left: 40px
}

#about .sec-03 .unit-foot {
    width: 31.25%;
    margin-top: 110px;
    margin-right: 40px
}

#about .sec-03 .unit-foot .img-cover {
    padding-bottom: 120%
}

#about .sec-03 .unit-foot .img {
    background-image: url(../img/about/img_04.jpg)
}

#about .example {
    padding-bottom: 50px
}

#about .example h2 {
    text-align: center
}

#about .example .example-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

#about .example .example-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 50%;
    margin-bottom: 80px
}

#about .example .example-list li:nth-of-type(2n) {
    padding-left: 40px
}

#about .example .example-list li:nth-of-type(odd) {
    padding-right: 40px
}

#about .example .example-list li .img-cover {
    width: 120px;
    height: 120px;
    border-radius: 50%
}

#about .example .example-list li:first-of-type .img {
    background-image: url(../img/about/example_01.jpg)
}

#about .example .example-list li:nth-of-type(2) .img {
    background-image: url(../img/about/example_02.jpg)
}

#about .example .example-list li:nth-of-type(3) .img {
    background-image: url(../img/about/example_03.jpg)
}

#about .example .example-list li:nth-of-type(4) .img {
    background-image: url(../img/about/example_04.jpg)
}

#about .example .example-list li:nth-of-type(5) .img {
    background-image: url(../img/about/example_05.jpg)
}

#about .example .example-list li:nth-of-type(6) .img {
    background-image: url(../img/about/example_06.jpg)
}

#about .example .example-list p {
    line-height: 2.2
}

#about .example .example-list .unit-head {
    padding-right: 30px
}

#about .example .example-list .unit-title {
    margin-bottom: 20px;
    font-size: 2rem;
    letter-spacing: .1em
}

#about .flow {
    max-width: 1200px;
    width: 100%;
    padding-bottom: 110px;
    padding: 0 3% 110px;
    margin: 0 auto;
}

#about .flow h2 {
    text-align: center
}

#about .flow h3 {
    font-size: 2rem;
    letter-spacing: .1em
}

#about .flow .flow-list .unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 10px
}

#about .flow .flow-list .unit:last-child .unit-head:before {
    display: none
}

#about .flow .flow-list .unit>.inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%
}

#about .flow .flow-list .unit-head {
    position: relative
}

#about .flow .flow-list .unit-head:before {
    display: block;
    width: 1px;
    height: calc(100% - 35px);
    content: "";
    position: absolute;
    top: 35px;
    right: 13px;
    background-color: #1a1a1a
}

#about .flow .flow-list .unit-head p {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 1.8rem;
    letter-spacing: .3em
}

#about .flow .flow-list .unit-head i,
#about .flow .flow-list .unit-head p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#about .flow .flow-list .unit-head i {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-left: 5px;
    background-color: #1a1a1a;
    color: #fff;
    letter-spacing: 0;
    line-height: 1;
    border-radius: 50%
}

#about .flow .flow-list .unit-body {
    width: 15%;
    padding-right: 20px;
    padding-left: 40px;
}

#about .flow .flow-list .unit-foot {
    width: calc(100% - 200px);
    padding-left: 80px;
    padding-bottom: 100px;
    margin-top: -3px;
}

#about .flow .flow-list .unit-foot p {
    font-size: 1.6rem;
    line-height: 2.3;
    letter-spacing: .05em
}

#about .profile {
    padding-bottom: 180px
}

#about .profile .section-head .img-cover,
#about .profile .section-head .img-outer {
    /* width: 1000px; */
    height: 360px;
    margin: 0 auto;
    /* border-radius: 50%; */
    overflow: hidden;
    max-width: 1000px;
    width: 100%;
}

#about .profile .section-head .img {
    background-image: url(../../about/img/about_2.jpg);
}

#about .profile .section-body {
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 60px;
}

#about .profile h2 {
    margin-bottom: 60px;
    text-align: center
}

#about .profile h2 .label {
    display: block;
    font-size: 2.2rem
}

#about .profile h2 .name {
    display: block;
    font-size: 3rem
}

#about .profile p {
    letter-spacing: .05em;
    line-height: 2.3
}

#about .profile p:not(:last-of-type) {
    margin-bottom: 15px
}

#about .js-parallax-target .img {
    /* top: -60%; */
    /* height: 160%; */
}

#about .js-parallax-target .img.img-02 {
    top: -50%;
    height: 150%
}

html.is-mobile #about .js-parallax-target .img,
html.is-mobile #about .js-parallax-target .img.img-02,
html.is-tablet #about .js-parallax-target .img,
html.is-tablet #about .js-parallax-target .img.img-02 {
    top: 0;
    height: 100%
}

@media screen and (max-width:768px) {
    #about h2.section-title {
        line-height: 1.6
    }

    #about .sec .section-title,
    #about .sec p {
        text-align: center
    }

    #about .sec p {
        line-height: 2.14286
    }

    #about .sec .unit {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    #about .sec .unit-head {
        width: auto
    }

    #about .sec-01 {
        padding-top: 135px;
        padding-bottom: 0
    }

    #about .sec-01 .unit {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-right: -10px;
        margin-left: -10px
    }

    #about .sec-01 .unit-head {
        margin-right: 10px;
        margin-left: 10px
    }

    #about .sec-01 .unit-foot {
        width: 100%;
        margin-top: 90px;
        margin-left: 0
    }

    #about .sec-02 {
        padding-top: 135px;
        padding-bottom: 0
    }

    #about .sec-02 .unit-head {
        margin-left: 0
    }

    #about .sec-02 .unit-head>.inner {
        padding-right: 0
    }

    #about .sec-02 .unit-foot {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 90px;
        margin-right: -10px;
        margin-left: -10px
    }

    #about .sec-02 .unit-foot .img-cover-head {
        width: 100%;
        padding-bottom: 76.71233%;
        margin-bottom: 5px;
        -webkit-transform: none;
        transform: none
    }

    #about .sec-02 .unit-foot .img-cover-foot {
        width: 100%;
        padding-bottom: 45.20548%
    }

    #about .sec-03 {
        padding-top: 135px;
        padding-bottom: 50px
    }

    #about .sec-03 .unit {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-right: -10px;
        margin-left: -10px
    }

    #about .sec-03 .unit-head {
        padding-right: 10px;
        padding-left: 10px;
        margin-left: 0
    }

    #about .sec-03 .unit-foot {
        width: 100%;
        margin-top: 90px;
        margin-right: 0
    }

    #about .sec-line>.inner {
        padding-top: 95px
    }

    #about .sec-line>.inner:before {
        width: calc(100% - 30px);
        right: 0;
        margin: 0 auto
    }

    #about .example {
        padding-bottom: 67.5px
    }

    #about .example .inner:before,
    #about .example .pc-label {
        display: none
    }

    #about .example .section-body {
        padding-top: 100px
    }

    #about .example .example-list,
    #about .example .example-list>li {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    #about .example .example-list>li {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        margin-bottom: 70px
    }

    #about .example .example-list>li:nth-of-type(odd) {
        padding-right: 0
    }

    #about .example .example-list>li:nth-of-type(2n) {
        padding-left: 0
    }

    #about .example .example-list>li:last-child {
        margin-bottom: 0
    }

    #about .example .example-list .unit-head {
        padding-right: 0
    }

    #about .example .example-list .unit-foot {
        text-align: center
    }

    #about .example .example-list .unit-title {
        margin-top: 35px
    }

    #about .example .example-list p {
        line-height: 2.14286
    }

    #about .flow {
        padding-bottom: 0
    }

    #about .flow h3 {
        font-size: 1.8rem
    }

    #about .flow .section-body {
        padding-top: 85px
    }

    #about .flow .flow-list .unit>.inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-left: 27.5px
    }

    #about .flow .flow-list .unit-head {
        position: relative;
        padding-left: 20px
    }

    #about .flow .flow-list .unit-head .step-label {
        position: absolute;
        top: 3px;
        left: 0;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        vertical-align: top;
        line-height: 1;
        font-size: 1.5rem;
        letter-spacing: .3em
    }

    #about .flow .flow-list .unit-body {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
        padding-bottom: 20px
    }

    #about .flow .flow-list .unit-foot {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
        padding-bottom: 70px
    }

    #about .flow .flow-list .unit-foot p {
        font-size: inherit;
        line-height: 1.78571
    }

    #about .profile {
        padding-top: 90px;
        padding-bottom: 110px
    }

    #about .profile h2 {
        margin-bottom: 30px
    }

    #about .profile p {
        line-height: 2.14286;
        text-align: left;
    }

    #about .profile .section-head {
        padding: 0 20px
    }

    #about .profile .section-head .img-cover,
    #about .profile .section-head .img-outer {
        /* width: 250px; */
        height: 200px;
    }

    #about .profile .section-body {
        padding-top: 50px
    }

    #about .sec-01 .unit-foot>.img-cover {
        padding-bottom: 60%
    }

    #about .js-parallax-target .img.img-02 {
        top: 0;
        height: 100%;
    }
}

@media screen and (max-width:768px) {
    #about h2.section-title {
        font-size: 2.4rem
    }

    #about .sec {
        padding-top: 80px
    }

    #about .sec .unit-foot {
        margin-top: 60px
    }

    #about .sec-line>.inner {
        padding-top: 40px
    }

    #about .sec-01 {
        padding-top: 90px
    }

    #about .profile {
        padding-bottom: 60px
    }

    #about .example .section-body {
        padding-top: 80px
    }
}

@media screen and (max-width:768px) {
    #about .sec-01 {
        padding-top: 0px
    }
}

#about table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}

#about th,
#about td {
    text-align: left;
    vertical-align: top
}

@font-face {
    font-family: 'icomoon';
    src: url(css/fonts/icomoon.eot?u8yqn1);
    src: url(css/fonts/icomoon.eot?u8yqn1#iefix) format('embedded-opentype'), url(css/fonts/icomoon.ttf?u8yqn1) format('truetype'), url(css/fonts/icomoon.woff?u8yqn1) format('woff'), url(css/fonts/icomoon.svg?u8yqn1#icomoon) format('svg');
    font-weight: normal;
    font-style: normal
}

[class^='icon-'],
[class*=' icon-'] {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}


/*! .title */

#about .titMain {
    line-height: 1;
    text-align: center;
    position: relative;
    padding-bottom: 26px;
    margin-bottom: 35px
}

#about .titMain:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: #013076;
    height: 3px;
    width: 60px
}

#about .titMainEn {
    font-size: 5rem;
    font-weight: bold;
    font-family: 'Oswald', sans-serif;
    display: block;
    color: #14305a;
    letter-spacing: .15em;
    line-height: 1.1;
    margin-bottom: 12px
}

#about .titMainJa {
    font-size: 2rem;
    font-weight: bold;
    color: #1f1f1f;
    line-height: 1.1;
    letter-spacing: .075em;
    line-height: 1.1
}

.titMainSmall {
    padding-bottom: 24px
}

#about .titMainSmall .titMainEn {
    font-size: 4.5rem
}

#about .titMainSmall .titMainJa {
    font-size: 1.6rem
}

#about .titSub {
    color: #000;
    margin-bottom: 25px;
}

#about .titSubEn {
    font-size: 30px;
    font-weight: bold;
    /* font-family: 'Oswald', sans-serif; */
    display: block;
    line-height: 1.1;
    letter-spacing: .13em;
}

#about .titSubJa {
    font-size: 16px;
    text-align: left;
    display: block;
    line-height: 1.1;
    margin-top: 8px;
}


/*! .mvChild
  =========================================== */

#about .mvChild {
    width: 100%;
    display: table;
    padding: 75px 0 85px;
    background-color: #0b254d;
    background-size: cover;
    background-position: center center
}

#about .mvChildIn {
    display: table-cell;
    vertical-align: middle;
    height: 100%;
    width: 100%;
    color: #fff;
    text-align: center
}

#about .mvChildTitEn {
    font-family: 'Oswald', sans-serif;
    font-size: 5rem;
    line-height: 1.1;
    font-weight: bold;
    letter-spacing: .13em
}

#about .mvChildTitJa {
    font-size: 2rem;
    line-height: 1.1;
    font-weight: bold;
    margin-top: 12px;
    letter-spacing: .02em
}

#about .mvChildTxt {
    margin-top: 30px;
    font-size: 1.5rem;
    line-height: 2.13
}

@media(min-width:600px) {
    #about .mediaQueries {
        font-family: tb
    }
}

@media(min-width:900px) {
    #about .mediaQueries {
        font-family: tb-lg
    }
}

@media(min-width:1200px) {
    #about .mediaQueries {
        font-family: pc
    }
}

@media(min-width:1800px) {
    #about .mediaQueries {
        font-family: pc-lg
    }
}

#about .company {
    width: 100%;
    max-width: 1200px;
    margin: 50px auto 0px;
    height: 100%;
    padding-bottom: 150px;
    padding: 0 15px 15px;
}

#about .companyTable {
    margin-top: 30px;
    margin-bottom: 100px;
}

#about .companyTable th,
#about .companyTable td {
    border: 1px dashed #d6d6d6;
    text-align: left;
}

#about .companyTable th {
    width: 250px;
    border-left: 0;
    padding: 10px 1% 10px;
    font-weight: 400;
}

#about .companyTable td {
    border-right: 0;
    padding: 10px 0 10px 30px;
}

#about .companyTable tr {
    border-bottom: dashed 1px #eee;
    /*   cursor: pointer; */
}


/*   .companyTable tr:hover{
  background-color: #9E9E9E;
  color:#fff;
  
  } */

#about .companyTable th:before {
    font-family: 'themify';
    content: "\e724";
    /* color: #d00e00; */
    left: 0;
    padding-right: 10px;
    font-size: 14px;
}

@media only screen and (max-width: 500px) {
    #about .companyTable th {
        width: 100px;
        border-left: 0;
        padding: 18px 0 16px
    }
}

#about .companyScenery {
    margin: 120px -1000%;
    height: 255px;
    background: #ddd;
    background: url(css/../img/company/bg_company01.jpg);
    -webkit-animation: bgscroll 500s linear infinite;
    animation: bgscroll 500s linear infinite
}

@-webkit-keyframes bgscroll {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@keyframes bgscroll {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

#about .message {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 0px;
    height: 100%;
    /* padding-bottom: 150px; */
}

#about .messageIn {
    width: 1105px;
    overflow: hidden;
    padding-bottom: 100px;
    margin: 50px auto;
}

#about .messageBox {
    float: left;
    width: 584px
}

#about .messageTxt {
    margin-top: 18px;
    letter-spacing: .075em
}

#about .messageImg {
    float: right;
    width: 450px;
    /*     height: 520px; */
    /*     background: url(../images/company_appearance.jpg) */
}

.messageImg img {
    width: 100%;
    padding: 1%;
}

#about .message li {
    font-size: 14px;
    font-weight: 400;
}

@media only screen and (max-width: 500px) {
    #about .messageIn {
        width: 100%;
        overflow: hidden;
        padding-bottom: 100px;
    }

    #about .messageBox {
        clear: both;
        width: 100%;
    }

    #about .messageTxt {
        margin-top: 18px;
        letter-spacing: .075em
    }

    #about .messageImg {
        clear: both;
        width: 100%;
        /*     height: 520px; */
        /*     background: url(../images/company_appearance.jpg) */
    }

    #about .messageImg img {
        width: 100%;
        padding: 1%;
    }
}


/* 時計 */

.brands_viewarea {
    /* background-color: #01273a; */
    background: #f1f1f1;
    padding: 77px 4.3% 123px 4.3%;
    /* border: 1px solid #607D8B; */
}

.brands_viewarea_ichiran {
    font-size: 1.3em;
    text-align: center;
    margin-bottom: 30px;
}

@media screen and (min-width: 1260px) {
    .brands_viewarea {
        /* background-color: #01273a; */
        background: #f1f1f1;
        padding: 77px 1.3% 123px 1.3%;
        /* border: 1px solid #607D8B; */
    }
}

.brands_viewarea--tit {
    font-size: 20px;
    font-weight: 300;
    line-height: 1;
    font-family: "Halant", serif;
    font-weight: 300;
    -webkit-transform: scaleY(0.9);
    transform: scaleY(0.9);
    -webkit-transform-origin: center;
    transform-origin: center;
    display: inline-block;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #917c50;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: -16px
}

.brands_viewarea--tit-catename {
    letter-spacing: 4.5px
}

.brands_viewarea--tit-brandkind {
    letter-spacing: 4.5px;
    margin-left: 25px;
    padding-left: 30px;
    position: relative
}

.brands_viewarea--tit-brandkind:before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #917c50;
    left: 0;
    top: 3px;
    position: absolute;
    height: 12px;
    width: 1px
}

.brands_viewarea--tit-brandkind.no-line {
    margin-left: 0;
    padding-left: 0
}

.brands_viewarea--tit-brandkind.no-line:before {
    display: none
}

.brands_viewarea--inner {
    margin-top: 55px
}

.brands_list {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

.brands_link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #fff;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    /* -webkit-box-pack: start; */
    -ms-flex-pack: start;
    /* justify-content: flex-start; */
    padding: 28px 30px 30px;
    position: relative;
    -webkit-transition: -webkit-box-shadow .2s linear;
    transition: -webkit-box-shadow .2s linear;
    transition: box-shadow .2s linear;
    transition: box-shadow .2s linear, -webkit-box-shadow .2s linear;
    height: 305px;
    width: calc (100% / 4);
    /* width: -webkit-calc(100% / 3); */
    width: 98%;
    margin: 1%;
}


/* .brands_link:before, */

.brands_link:after {
    /*     background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #9E9E9E;
    bottom: 29px;
    right: 20px;
    position: absolute;
    height: 1px;
    width: 19px; */
}


/* .brands_link:hover:before, */

.brands_link:hover:after {
    /*     background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #9E9E9E; */
    /*     bottom: 29px;
    right: 20px;
    position: absolute;
    height: 1px;
    width: 25px; */
}

.brands_link:before {}

.brands_link:hover:before {
    font-family: 'Font Awesome 6 pro';
    content: "\f077";
    font-family: 'themify';
    content: "\e6af";
    font-size: 20px;
    bottom: 29px;
    right: 20px;
    position: absolute;
    /*      transition: -webkit-box-shadow .2s linear;
    transition: box-shadow .2s linear;
    transition: box-shadow .2s linear, -webkit-box-shadow .2s linear; */
}

.brands_link:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.brands_link:hover {
    -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
    z-index: 99;
    background: hsl(0deg 7% 87% / 60%);
}

.brands_link.not-have-logo {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.brands_link.not-have-logo .brands_item-titarea {
    margin-top: 2px
}

.brands_link.not-have-logo .brands_item-brandname {
    margin-top: 25px
}

.brands_link.not-have-logo .brands_item-brandname-ja {
    margin-top: 9px
}

@media screen and (min-width: 768px) {
    .brands_item {
        margin-right: 1px;
        margin-bottom: 1px;
        /* border: 1px dashed #ddd; */
        flex: 0 0 24%;
    }

    .brands_item.empty {
        height: 0;
        width: 366px
    }
}

@media screen and (min-width: 1260px) {
    .brands_item {
        margin-right: 1px;
        margin-bottom: 1px;
        /* border: 1px dashed #ddd; */
        flex: 0 0 15%;
    }
}

.brands_item-tit {
    font-size: 14px;
    font-weight: 300;
    line-height: 1;
    font-family: "Halant", serif;
    font-weight: 300;
    -webkit-transform: scaleY(0.9);
    transform: scaleY(0.9);
    -webkit-transform-origin: center;
    transform-origin: center;
    display: inline-block;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #917c50;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 9px
}

.brands_item-tit-catename {
    letter-spacing: .3px
}

.brands_item-tit-brandkind {
    letter-spacing: .3px;
    margin-left: 15px;
    padding-left: 15px;
    position: relative
}

.brands_item-tit-brandkind:before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #917c50;
    left: 0;
    top: 2px;
    position: absolute;
    height: 9px;
    width: 1px
}

.brands_item-brandname {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 10px;
}

.brands_item-brandname-en {
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    color: #231815;
    text-align: center
}

.brands_item-brandname-ja {
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    color: #aaa;
    font-family: "Yu Mincho", "YuMincho";
    letter-spacing: 2.2px;
    margin-top: 11px;
    margin-left: 4px
}

.brands_item-txt {
    font-size: 15px;
    /* white-space: nowrap; */
    text-overflow: ellipsis;
    width: 250px;
    max-height: calc(16 * 1.8 * 2 * 1px);
    font-size: 15px;
    line-height: 1.8;
    word-break: break-all;
    overflow: hidden;
    /*     white-space: nowrap; */
    /*   overflow: hidden; */
    /*   text-overflow: ellipsis; */
}

.brands_item-txt :after {
    content: '...';
    color: #ddd
}

.brands_item-imagearea {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 50%;
    width: 100%;
}

.brands_item-image.logo-trinity {
    /* height: 124px; */
    max-width: 180px;
    width: 60%;
}

@media screen and (min-width: 768px) {}

@media screen and (max-width: 767px) {}

@media all and (-ms-high-contrast: none) {
    /*     .brands_item {
        -webkit-transition-delay: none;
        transition-delay: none
    } */
}


/* 時計 */

.brands_viewarea-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-transform: translate3d(0px, 20px, 0);
    transform: translate3d(0px, 20px, 0);
    -webkit-transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    z-index: 1
}

.is-open .brands_viewarea-inner {
    -webkit-transform: translate3d(0px, 0px, 0);
    transform: translate3d(0px, 0px, 0);
    -webkit-transition: opacity 0.3s linear 0.1s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    transition: opacity 0.3s linear 0.1s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    transition: opacity 0.3s linear 0.1s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    transition: opacity 0.3s linear 0.1s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s
}

@media screen and (min-width: 768px) {
    .brands_viewarea-inner {
        height: 728px;
    }
}

@media screen and (min-width: 1500px) {
    .brands_viewarea-inner {
        /* position: absolute; */
        /* top: calc(((100% - 728px) / 2)) */
    }
}

.brands_viewarea-imagearea {
    background-color: #eee;
    min-width: 512px;
    overflow: hidden;
    width: 30%;
}

@media screen and (max-width: 1180px) {
    .brands_viewarea-imagearea {
        min-width: 350px;
        width: 350px
    }
}

.brands_viewarea-image {
    height: 100%
}

.brands_viewarea-image source,
.brands_viewarea-image img {
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover";
    height: 100%;
    width: 100%
}

.brands_viewarea-textarea {
    background-color: #eaeaea;
    overflow: hidden;
    padding: 60px 115px 0 59px;
    position: relative;
    width: 70%;
}

@media screen and (max-width: 1080px) {
    .brands_viewarea-textarea {
        overflow-y: auto
    }
}

@media screen and (max-width: 767px) {
    .brands_viewarea-textarea {
        overflow-y: hidden
    }
}

.brands_viewarea-textarea-name {
    font-size: 40px;
    font-weight: 400;
    line-height: 1;
    font-family: "Yu Mincho", "YuMincho";
    margin-top: 27px
}

.brands_viewarea-textarea-hurigana {
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    font-family: "Yu Mincho", "YuMincho";
    letter-spacing: 3px;
    margin-top: 13px
}

.brands_viewarea-textarea-detail {
    margin-top: 25px;
    margin-left: 3px;
    padding-top: 25px;
    position: relative
}

.brands_viewarea-textarea-detail:before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #9E9E9E;
    position: absolute;
    top: 2px;
    left: 1px;
    height: 1px;
    width: 100%;
}

.brands_viewarea-textarea-tit {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    font-family: "Yu Mincho", "YuMincho"
}

.brands_viewarea-textarea-txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 2.15714;
}

.brands_viewarea-textarea-txt:not(:first-of-type) {
    margin-top: 11px
}

.brands_viewarea-textarea-table {
    margin-top: 20px;
    position: relative;
    z-index: 99
}

.brands_viewarea-textarea-table dl {
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-top: 1px solid #ddd;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 10px 0 14px 3px;
}

.brands_viewarea-textarea-table dt {
    min-width: 136px
}

.brands_viewarea-textarea-table dd {
    font-size: 13px;
    line-height: 1.23077;
    color: #000000;
    display: inline-block;
    word-break: break-all
}

.brands_viewarea-textarea-table dd a {
    font-size: 15px;
    line-height: 1.23077;
    color: #1c7098;
    display: inline-block;
    word-break: break-all;
}

.brands_viewarea-textarea-table dd a[target="_blank"]:after {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/common/ico-blank_sm-glay.svg);
    margin-top: -4px;
    margin-left: 4px;
    -webkit-transition: background-image .2s linear;
    transition: background-image .2s linear;
    height: 8px;
    width: 8px
}

@media screen and (min-width: 768px) and (max-height: 690px) {
    .brands_viewarea-wrap {
        height: calc(100% - 5%);
        width: calc(100% - 5%)
    }

    .brands_viewarea-inner {
        height: inherit
    }

    .brands_viewarea-textarea {
        overflow-y: auto
    }
}

@media screen and (max-width: 767px) {
    .brands__viewarea {
        padding: 38px 20px 60px
    }

    .brands__viewarea--tit {
        font-size: 12px;
        line-height: 1;
        margin-left: -2px
    }

    .brands__viewarea--tit-catename {
        letter-spacing: 2.6px
    }

    .brands__viewarea--tit-brandkind {
        letter-spacing: 2.6px;
        margin-left: 11px;
        padding-left: 13px
    }

    .brands__viewarea--tit-brandkind:before {
        top: 2px;
        height: 8px
    }

    .brands__viewarea--inner {
        margin-top: 22px
    }

    .brands__viewarea--list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: 0
    }

    .brands__viewarea--link {
        padding: 23px 0px 30px;
        height: 188px;
        width: 100%
    }

    .brands__viewarea--link:before,
    .brands__viewarea--link:after {
        bottom: 15px;
        right: 10px;
        width: 10px
    }

    .brands__viewarea--item {
        width: calc((100% / 2) - 1px)
    }

    .brands__viewarea--item:nth-of-type(even) {
        margin-left: 1px
    }

    .brands__viewarea--item:nth-of-type(n+3) {
        margin-top: 1px
    }

    .brands__viewarea--item-tit {
        font-size: 10px;
        line-height: 1;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-left: 9px
    }

    .brands__viewarea--item-tit-catename {
        letter-spacing: .3px
    }

    .brands__viewarea--item-tit-brandkind {
        letter-spacing: .3px;
        margin-top: 3px;
        margin-left: 0;
        padding-left: 0
    }

    .brands__viewarea--item-tit-brandkind:before {
        display: none
    }

    .brands__viewarea--item-image {
        margin-top: 28px;
        margin-left: 4px
    }

    .brands_viewarea {
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        height: 100%;
        width: 100%
    }

    .brands_viewarea_ichiran {
        font-size: 1.3em;
        text-align: center;
        margin-bottom: 30px;
    }

    .brands_viewarea-bg {
        bottom: 0;
        right: 0
    }

    .brands_viewarea-wrap {
        bottom: 0;
        display: block;
        left: 0;
        overflow-y: auto;
        position: relative;
        -webkit-overflow-scrolling: touch;
        right: 0;
        top: 0;
        height: inherit;
        width: 100%;
        z-index: 1
    }

    .brands_viewarea-inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 20px;
        position: relative;
        width: 100%;
        z-index: 999999
    }

    .brands_viewarea-imagearea {
        height: 250px;
        width: 100%;
        min-width: 100%
    }

    .brands_viewarea-image {
        display: inline-block;
        height: 100%;
        width: 100%
    }

    .brands_viewarea-image img,
    .brands_viewarea-image source {
        -o-object-fit: cover;
        object-fit: cover;
        font-family: "object-fit: cover";
        height: 100%;
        width: 100%
    }

    .brands_viewarea-image img {
        display: inline-block
    }

    .brands_viewarea-textarea {
        padding: 20px 20px;
        width: 100%;
    }

    .brands_viewarea-textarea:after {
        font-size: 177.5px;
        font-weight: 400;
        line-height: 1;
        bottom: -188px;
        content: "";
        color: rgba(145, 124, 80, 0.03);
        left: 30px;
        letter-spacing: -53px;
        position: absolute
    }

    .brands_viewarea-textarea-caption {
        font-size: 12px;
        line-height: 1
    }

    .brands_viewarea-textarea-caption-catename {
        letter-spacing: .4px
    }

    .brands_viewarea-textarea-caption-brandkind {
        letter-spacing: .4px;
        margin-left: 10px;
        padding-left: 10px
    }

    .brands_viewarea-textarea-caption-brandkind:before {
        top: 2px;
        height: 8px
    }

    .brands_viewarea-textarea-name {
        font-size: 21px;
        line-height: 1;
        margin-top: 20px
    }

    .brands_viewarea-textarea-hurigana {
        font-size: 11px;
        line-height: 1;
        letter-spacing: 3px;
        margin-top: 6px
    }

    .brands_viewarea-textarea-detail {
        margin-top: 12px;
        margin-left: 0;
        padding-top: 22px;
        position: relative
    }

    .brands_viewarea-textarea-detail:before {
        top: 2px;
        left: 0;
        height: 1px;
        width: 100%;
    }

    .brands_viewarea-textarea-tit {
        font-size: 16px;
        line-height: 1.25
    }

    .brands_viewarea-textarea-txt {
        font-size: 12px;
        line-height: 1.75
    }

    .brands_viewarea-textarea-txt:not(:first-of-type) {
        margin-top: 8px
    }

    .brands_viewarea-textarea-table {
        margin-top: 25px
    }

    .brands_viewarea-textarea-table dl {
        font-size: 13px;
        font-weight: 400;
        line-height: 1;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 16px 0 13px 6px
    }

    .brands_viewarea-textarea-table dt {
        min-width: 100%
    }

    .brands_viewarea-textarea-table dd {
        margin-top: 7px
    }
}


/* 時計_商品ページ */

.w_product_viewarea-inner {
    /*     background: #e6e6e6; */
    width: 100%;
    /*     border-top: 1px solid #ddd; */
    padding: 0 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-transform: translate3d(0px, 20px, 0);
    transform: translate3d(0px, 20px, 0);
    -webkit-transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    z-index: 1;
}

.w_product_viewarea-inner h1 {
    font-size: 25px
}

.w_product_viewarea-inner .wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
}

.is-open .w_product_viewarea-inner {
    -webkit-transform: translate3d(0px, 0px, 0);
    transform: translate3d(0px, 0px, 0);
    -webkit-transition: opacity 0.3s linear 0.1s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    transition: opacity 0.3s linear 0.1s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    transition: opacity 0.3s linear 0.1s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    transition: opacity 0.3s linear 0.1s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s
}

@media screen and (min-width: 768px) {
    .w_product_viewarea-inner {
        /* height: 728px; */
    }
}

@media screen and (min-width: 1500px) {
    .w_product_viewarea-inner {
        /* position: absolute; */
        /* top: calc(((100% - 728px) / 2)) */
    }
}

.w_product_viewarea-imagearea {
    background-color: #fff;
    min-width: 512px;
    overflow: hidden;
    width: 30%;
    padding: 5% 2%;
}

@media screen and (max-width: 1180px) {
    .w_product_viewarea-imagearea {
        min-width: 350px;
        width: 350px
    }
}

.w_product_viewarea-image {
    width: 100%;
}

.w_product_viewarea-image source,
.w_product_viewarea-image img {
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover";
    /* height: 100%; */
    width: 100%;
}

.w_product_viewarea-textarea {
    background-color: #fff;
    overflow: hidden;
    padding: 50px 2%;
    /* position: relative; */
    /* width: 70%; */
    flex: 0 0 60%;
}

@media screen and (max-width: 1080px) {
    .w_product_viewarea-textarea {
        overflow-y: auto
    }
}

@media screen and (max-width: 767px) {
    .w_product_viewarea-textarea {
        overflow-y: hidden
    }

    .w_product_viewarea-inner .wrap {
        width: 100%;
        flex-wrap: wrap;
    }
}

.w_product_viewarea-textarea-name {
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
    font-family: "Yu Mincho", "YuMincho";
    margin-top: 27px;
}

.w_product_viewarea-textarea-hurigana {
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    font-family: "Yu Mincho", "YuMincho";
    letter-spacing: 3px;
    margin-top: 13px;
}

.w_product_viewarea-textarea-detail {
    margin-top: 25px;
    margin-left: 3px;
    padding-top: 25px;
    position: relative
}

.w_product_viewarea-textarea-detail:before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #9E9E9E;
    position: absolute;
    top: 2px;
    left: 1px;
    height: 1px;
    width: 100%;
}

.w_product_viewarea-textarea-tit {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    font-family: "Yu Mincho", "YuMincho";
}

.w_product_viewarea-textarea-txt {
    font-size: 15px;
    font-weight: 500;
    line-height: 2.1;
}

.w_product_viewarea-textarea-txt img {
    float: left;
    padding: 1em;
}

.w_product_viewarea-textarea-txt .img_fl {
    float: left;
    padding: 1em;
}

.w_product_viewarea-textarea-txt:not(:first-of-type) {
    margin-top: 11px
}

.w_product_viewarea_flexbox_etc {
    display: flex;
    flex-wrap: wrap;
    padding: 5px;
}


/* @media only screen and (min-width: 600px) {
.boxHozon {
	width: calc(100%/2.1);
}
}
 */

@media only screen and (min-width: 1000px) {
    .boxHozon {
        width: calc(48%);
        margin-bottom: 20px;
    }
}

.w_product_viewarea-price {
    margin-top: 25px;
}

.brands_viewarea-textarea-table {
    margin-top: 20px;
    position: relative;
    z-index: 99
}

.w_product_viewarea-price dl {
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-top: 1px solid #ddd;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 20px 0 19px 6px;
}

.w_product_viewarea-price dt {
    min-width: 136px
}

.w_product_viewarea-price dd {
    font-size: 15px;
    line-height: 1.23077;
    /*     color: #23a9db;
    display: inline-block; */
    word-break: break-all
}

.w_product_viewarea-price dd [target="_blank"]:after {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/common/ico-blank_sm-glay.svg);
    margin-top: -4px;
    margin-left: 4px;
    -webkit-transition: background-image .2s linear;
    transition: background-image .2s linear;
    height: 8px;
    width: 8px
}

.w_product_viewarea-price dd span {
    font-size: 13px;
    line-height: 1.23077;
    /*     color: #23a9db;
    display: inline-block; */
    word-break: break-all
}

.w_product_viewarea-textarea-table {
    margin-top: 25px;
    padding: 10px;
    background: #eee;
    margin: 3%;
    border-radius: 5px;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

.w_product_viewarea-textarea-table dl {
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 16px 0 13px 6px;
    border-top: 1px solid #ddd;
}

.w_product_viewarea-textarea-table dt {
    min-width: 100%
}

.w_product_viewarea-textarea-table dd {
    margin-top: 7px
}

.w_product_viewarea-textarea-table li {
    line-height: 1.8;
    font-size: 13px;
}

.w_product_spec {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    /*折り返し有り・複数行*/
    width: 100%;
    padding: 10px;
}

.w_product_spec>div {
    margin: 0 5px;
    flex: 0 0 98%;
}

@media screen and (min-width: 768px) {
    .w_product_spec>div {
        margin: 0 5px;
        flex: 0 0 24%;
    }
}

@media screen and (min-width: 768px) and (max-height: 690px) {
    .w_product_viewarea-wrap {
        height: calc(100% - 5%);
        width: calc(100% - 5%)
    }

    .w_product_viewarea-inner {
        height: inherit
    }

    .w_product_viewarea-textarea {
        overflow-y: auto
    }
}

@media screen and (max-width: 767px) {
    .w_product__viewarea {
        padding: 38px 20px 60px
    }

    .w_product__viewarea--tit {
        font-size: 12px;
        line-height: 1;
        margin-left: -2px
    }

    .w_product__viewarea--tit-catename {
        letter-spacing: 2.6px
    }

    .w_product__viewarea--tit-brandkind {
        letter-spacing: 2.6px;
        margin-left: 11px;
        padding-left: 13px
    }

    .w_product__viewarea--tit-brandkind:before {
        top: 2px;
        height: 8px
    }

    .w_product__viewarea--inner {
        margin-top: 22px
    }

    .w_product__viewarea--list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: 0
    }

    .w_product__viewarea--link {
        padding: 23px 0px 30px;
        height: 188px;
        width: 100%
    }

    .w_product__viewarea--link:before,
    .w_product__viewarea--link:after {
        bottom: 15px;
        right: 10px;
        width: 10px
    }

    .w_product__viewarea--item {
        width: calc((100% / 2) - 1px)
    }

    .w_product__viewarea--item:nth-of-type(even) {
        margin-left: 1px
    }

    .w_product__viewarea--item:nth-of-type(n+3) {
        margin-top: 1px
    }

    .w_product__viewarea--item-tit {
        font-size: 10px;
        line-height: 1;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-left: 9px
    }

    .w_product__viewarea--item-tit-catename {
        letter-spacing: .3px
    }

    .w_product__viewarea--item-tit-brandkind {
        letter-spacing: .3px;
        margin-top: 3px;
        margin-left: 0;
        padding-left: 0
    }

    .w_product__viewarea--item-tit-brandkind:before {
        display: none
    }

    .w_product__viewarea--item-image {
        margin-top: 28px;
        margin-left: 4px
    }

    .w_product_viewarea {
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        height: 100%;
        width: 100%
    }

    .w_product_viewarea-bg {
        bottom: 0;
        right: 0
    }

    .w_product_viewarea-wrap {
        bottom: 0;
        display: block;
        left: 0;
        overflow-y: auto;
        position: relative;
        -webkit-overflow-scrolling: touch;
        right: 0;
        top: 0;
        height: inherit;
        width: 100%;
        z-index: 1
    }

    .w_product_viewarea-inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 5px;
        position: relative;
        width: 100%;
        z-index: 999999;
    }

    .w_product_viewarea-imagearea {
        height: 250px;
        width: 100%;
        min-width: 100%
    }

    .w_product_viewarea-image {
        display: inline-block;
        height: 100%;
        width: 100%
    }

    .w_product_viewarea-image img,
    .w_product_viewarea-image source {
        -o-object-fit: cover;
        object-fit: cover;
        font-family: "object-fit: cover";
        height: 100%;
        width: 100%
    }

    .w_product_viewarea-image img {
        display: inline-block
    }

    .w_product_viewarea-textarea {
        padding: 20px 20px;
        width: 100%;
        flex: 0 0 100%;
    }

    .w_product_viewarea-textarea:after {
        font-size: 177.5px;
        font-weight: 400;
        line-height: 1;
        bottom: -188px;
        content: "";
        color: rgba(145, 124, 80, 0.03);
        left: 30px;
        letter-spacing: -53px;
        position: absolute
    }

    .w_product_viewarea-textarea-caption {
        font-size: 12px;
        line-height: 1
    }

    .w_product_viewarea-textarea-caption-catename {
        letter-spacing: .4px
    }

    .w_product_viewarea-textarea-caption-brandkind {
        letter-spacing: .4px;
        margin-left: 10px;
        padding-left: 10px
    }

    .w_product_viewarea-textarea-caption-brandkind:before {
        top: 2px;
        height: 8px
    }

    .w_product_viewarea-textarea-name {
        font-size: 21px;
        line-height: 1;
        margin-top: 20px
    }

    .w_product_viewarea-textarea-hurigana {
        font-size: 11px;
        line-height: 1;
        letter-spacing: 3px;
        margin-top: 6px
    }

    .w_product_viewarea-textarea-detail {
        margin-top: 12px;
        margin-left: 0;
        padding-top: 22px;
        position: relative
    }

    .w_product_viewarea-textarea-detail:before {
        top: 2px;
        left: 0;
        height: 1px;
        width: 100%;
    }

    .w_product_viewarea-textarea-tit {
        font-size: 16px;
        line-height: 1.25
    }

    .w_product_viewarea-textarea-txt {
        font-size: 12px;
        line-height: 1.75
    }

    .w_product_viewarea-textarea-txt:not(:first-of-type) {
        margin-top: 8px
    }

    .w_product_viewarea-textarea-table {
        margin-top: 20px;
        position: relative;
        z-index: 99
    }

    .w_product_viewarea-textarea-table dl {
        font-size: 13px;
        font-weight: 400;
        line-height: 1;
        /* -webkit-box-align: center; */
        -ms-flex-align: center;
        /* align-items: center; */
        border-top: 1px solid #ddd;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 20px 0 19px 6px;
    }

    .w_product_viewarea-textarea-table dt {
        min-width: 136px
    }

    .w_product_viewarea-textarea-table dd a {
        font-size: 13px;
        line-height: 1.23077;
        color: #23a9db;
        display: inline-block;
        word-break: break-all
    }

    .w_product_viewarea-textarea-table dd a[target="_blank"]:after {
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        content: "";
        display: inline-block;
        vertical-align: middle;
        /*     background-image: url(../images/common/ico-blank_sm-glay.svg); */
        margin-top: -4px;
        margin-left: 4px;
        -webkit-transition: background-image .2s linear;
        transition: background-image .2s linear;
        height: 8px;
        width: 8px
    }

    /*     .w_product_viewarea-textarea-table {
        margin-top: 25px
    }

    .w_product_viewarea-textarea-table dl {
        font-size: 13px;
        font-weight: 400;
        line-height: 1;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 16px 0 13px 6px
    }

    .w_product_viewarea-textarea-table dt {
        min-width: 100%
    }

    .w_product_viewarea-textarea-table dd {
        margin-top: 7px
    } */
}


/* 時計_商品ページ　↑↑ */


/* ----------------------------------------------------------- */


/* 時計メンテナンス */


/* watch_mainte
-----------------------------------------------------------------*/

.watch_mainte {
    margin-top: 12.4vw;
}

@media only screen and (max-width: 767px) {
    .watch_mainte {
        margin-top: 100px;
    }
}

.watch_mainte_body {
    background-color: #fff;
    max-width: 1200px;
    padding: 46px 100px 22px;
    position: relative;
    box-shadow: 0 0 20px rgba(0, 0, 0, .1);
    margin: 0 auto;
}

.watch_mainte_body h2 {
    font-size: 25px;
    color: #607d8b;
}

@media screen and (max-width: 1100px) {
    .watch_mainte_body {
        padding: 30px 5vw 20px;
    }
}

@media screen and (max-width: 500px) {
    .watch_mainte_body {
        padding: 30px 8vw 20px;
    }

    .watch_mainte_body h2 {
        font-size: 21px;
    }
}

.watch_mainte_obj {
    position: absolute;
    top: -.75em;
    right: 6%;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 80px;
    font-weight: 700;
    color: rgba(38, 38, 38, .04);
}

@media screen and (max-width: 1100px) {
    .watch_mainte_obj {
        right: 0;
        font-size: 80px;
    }
}

@media only screen and (max-width: 767px) {
    .watch_mainte_obj {
        right: -12vw;
    }
}

.watch_mainte_item {
    padding: 43px 0;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #dedede;
    -ms-flex-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 1100px) {
    .watch_mainte_item {
        padding: 30px 0;
        display: block;
    }
}

.watch_mainte_item:last-of-type {
    border-bottom: 0;
}

.watch_mainte_item_title {
    width: 22.5%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
}

.watch_mainte_item_title img {
    width: 100%;
    padding: 5%;
}

.watch_mainte_item_img {
    width: 22.5%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 1100px) {
    .watch_mainte_item_title {
        width: auto;
    }
}

.watch_mainte_item_title_num {
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #333;
}

@media screen and (max-width: 1100px) {
    .watch_mainte_item_title_num {
        font-size: 20px;
    }
}

.watch_mainte_item_title_text {
    margin-left: 5%;
    letter-spacing: .05em;
    font-size: 22px;
    font-weight: 700;
}

@media screen and (max-width: 1100px) {
    .watch_mainte_item_title_text {
        margin-left: 2%;
        font-size: 18px;
    }
}

.watch_mainte_item_text {
    width: 55.5%;
    line-height: 2;
    letter-spacing: .1em;
    font-size: 18px;
    font-weight: 500;
}

@media screen and (max-width: 1100px) {
    .watch_mainte_item_text {
        width: auto;
        margin-top: 2%;
        font-size: 16px;
    }
}

.watch_mainte_item_title_text {
    margin-left: 5%;
    letter-spacing: .05em;
    font-size: 22px;
    font-weight: 700;
}

@media screen and (max-width: 1100px) {
    .watch_mainte_item_title_text {
        margin-left: 2%;
        font-size: 18px;
    }
}

.watch_mainte_item_text {
    width: 51.5%;
    line-height: 2;
    letter-spacing: .1em;
    font-size: 16px;
    font-weight: 400;
    padding: 5px;
}

@media screen and (max-width: 1100px) {
    .watch_mainte_item_text {
        width: auto;
        margin-top: 2%;
        font-size: 16px;
    }
}

.watch_mainte_item_other {
    /* margin-left: 5%; */
    /* letter-spacing: .05em; */
    /* font-weight: 700; */
}

@media screen and (max-width: 1100px) {
    .watch_mainte_item_other {
        margin-left: 2%;
        width: auto;
        margin-top: 2%;
    }
}

.watch_mainte_item_other {
    width: 26%;
    line-height: 2;
    letter-spacing: .1em;
    font-size: 15px;
    font-weight: 400;
}

@media screen and (max-width: 1100px) {
    .watch_mainte_item_other {
        width: auto;
        margin-top: 2%;
        font-size: 16px;
    }
}

.watch_mainte_item_other ul {}

.watch_mainte_item_other ul li {
    display: block;
    margin-bottom: 5px;
    padding: 5px;
    border: 1px solid #ddd;
}

.watch_mainte_item_other ul li::before {
    content: "";
    /* padding-right: 5px; */
}


/* -----------------------------------------------------------
   #眼鏡　ブロック↓
   ----------------------------------------------------------- */

.glasses_viewarea {
    /* background-color: #01273a; */
    background: #f1f1f1;
    padding: 77px 4.3% 123px 4.3%;
    /* border: 1px solid #607D8B; */
}

@media screen and (min-width: 1260px) {
    .glasses_viewarea {
        /* background-color: #01273a; */
        background: #f1f1f1;
        padding: 77px 1.3% 123px 1.3%;
        /* border: 1px solid #607D8B; */
    }
}

.glasses_viewarea-tit {
    font-size: 20px;
    font-weight: 300;
    line-height: 1;
    font-family: "Halant", serif;
    font-weight: 300;
    -webkit-transform: scaleY(0.9);
    transform: scaleY(0.9);
    -webkit-transform-origin: center;
    transform-origin: center;
    display: inline-block;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #917c50;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: -16px
}

.glasses_viewarea-tit-catename {
    letter-spacing: 4.5px
}

.glasses_viewarea-tit-brandkind {
    letter-spacing: 4.5px;
    margin-left: 25px;
    padding-left: 30px;
    position: relative
}

.glasses_viewarea-tit-brandkind:before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #917c50;
    left: 0;
    top: 3px;
    position: absolute;
    height: 12px;
    width: 1px
}

.glasses_viewarea-tit-brandkind.no-line {
    margin-left: 0;
    padding-left: 0
}

.glasses_viewarea-tit-brandkind.no-line:before {
    display: none
}

.glasses_viewarea-inner {
    /* margin-top: 55px */
}

.glasses_list {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

.glasses_link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #fff;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    /* -webkit-box-pack: start; */
    -ms-flex-pack: start;
    /* justify-content: flex-start; */
    padding: 28px 30px 30px;
    position: relative;
    -webkit-transition: -webkit-box-shadow .2s linear;
    transition: -webkit-box-shadow .2s linear;
    transition: box-shadow .2s linear;
    transition: box-shadow .2s linear, -webkit-box-shadow .2s linear;
    height: 305px;
    width: calc (100% / 4);
    /* width: -webkit-calc(100% / 3); */
    width: 98%;
    margin: 1%;
}


/* .glasses_link:before, */

.glasses_link:after {}


/* .brands_link:hover:before, */

.glasses_link:hover:after {}

.glasses_link:before {}

.glasses_link:hover:before {
    font-family: 'Font Awesome 6 pro';
    content: "\f08e";
    font-family: 'themify';
    content: "\e732";
    font-size: 20px;
    bottom: 20px;
    right: 20px;
    position: absolute;
    /*      transition: -webkit-box-shadow .2s linear;
    transition: box-shadow .2s linear;
    transition: box-shadow .2s linear, -webkit-box-shadow .2s linear; */
}

.glasses_link:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.glasses_link:hover {
    -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
    z-index: 99;
    background: hsl(0deg 7% 87% / 60%);
}

.glasses_link.not-have-logo {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.glasses_link.not-have-logo .brands_item-titarea {
    margin-top: 2px
}

.glasses_link.not-have-logo .brands_item-brandname {
    margin-top: 25px
}

.glasses_link.not-have-logo .brands_item-brandname-ja {
    margin-top: 9px
}

@media screen and (min-width: 768px) {
    .glasses_item {
        margin-right: 1px;
        margin-bottom: 1px;
        /* border: 1px dashed #ddd; */
        flex: 0 0 24%;
    }

    .glasses_item.empty {
        height: 0;
        width: 366px
    }
}

@media screen and (min-width: 1260px) {
    .glasses_item {
        margin-right: 1px;
        margin-bottom: 1px;
        /* border: 1px dashed #ddd; */
        flex: 0 0 33%;
    }
}

.glasses_item-tit {
    font-size: 14px;
    font-weight: 300;
    line-height: 1;
    font-family: "Halant", serif;
    font-weight: 300;
    -webkit-transform: scaleY(0.9);
    transform: scaleY(0.9);
    -webkit-transform-origin: center;
    transform-origin: center;
    display: inline-block;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #917c50;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 9px
}

.glasses_item-tit-catename {
    letter-spacing: .3px
}

.glasses_item-tit-brandkind {
    letter-spacing: .3px;
    margin-left: 15px;
    padding-left: 15px;
    position: relative
}

.glasses_item-tit-brandkind:before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #917c50;
    left: 0;
    top: 2px;
    position: absolute;
    height: 9px;
    width: 1px
}

.glasses_item-brandname {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 10px;
}

.glasses_item-brandname-en {
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    color: #231815;
    text-align: center
}

.glasses_item-brandname-ja {
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    color: #aaa;
    font-family: "Yu Mincho", "YuMincho";
    letter-spacing: 2.2px;
    margin-top: 11px;
    margin-left: 4px
}

.glasses_item-txt {
    font-size: 15px;
    /* white-space: nowrap; */
    text-overflow: ellipsis;
    width: 250px;
    max-height: calc(16 * 1.8 * 2 * 1px);
    font-size: 15px;
    line-height: 1.8;
    word-break: break-all;
    overflow: hidden;
    /*     white-space: nowrap; */
    /*   overflow: hidden; */
    /*   text-overflow: ellipsis; */
}

.glasses_item-txt :after {
    content: '...';
    color: #ddd
}

.glasses_item-imagearea {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 50%;
    width: 100%;
}

.glasses_item-image.logo-trinity {
    /* height: 124px; */
    max-width: 180px;
    width: 60%;
}

@media screen and (min-width: 768px) {}

@media screen and (max-width: 767px) {}

@media all and (-ms-high-contrast: none) {
    /*     .glasses_item {
        -webkit-transition-delay: none;
        transition-delay: none
    } */
}


/* -----------------------------------------------------------
   #眼鏡　↑
   ----------------------------------------------------------- */


/* 眼鏡　ブランド紹介 */

.glasses_viewarea-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-transform: translate3d(0px, 20px, 0);
    transform: translate3d(0px, 20px, 0);
    -webkit-transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    z-index: 1
}

.is-open .glasses_viewarea-inner {
    -webkit-transform: translate3d(0px, 0px, 0);
    transform: translate3d(0px, 0px, 0);
    -webkit-transition: opacity 0.3s linear 0.1s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    transition: opacity 0.3s linear 0.1s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    transition: opacity 0.3s linear 0.1s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    transition: opacity 0.3s linear 0.1s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s
}

.glasses_viewarea-inner {
    background: #f3f3f3;
}

.glasses_viewarea-inner:nth-child(odd) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-transform: translate3d(0px, 20px, 0);
    transform: translate3d(0px, 20px, 0);
    -webkit-transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    z-index: 1 flex-direction: row-reverse;
}

.glasses_viewarea-inner:nth-child(even) {
    background: #fff;
}

.glasses_viewarea-image {
    order: 1;
}

@media screen and (min-width: 768px) {
    .glasses_viewarea-inner {
        height: 728px;
    }
}

@media screen and (min-width: 1000px) {
    .glasses_viewarea-inner:nth-child(odd) {
        flex-direction: row-reverse;
    }

    .glasses_viewarea-inner:nth-child(even) {
        background: #fff;
    }

    .glasses_viewarea-inner {
        /* position: absolute; */
        /* top: calc(((100% - 728px) / 2)) */
    }
}

.glasses_viewarea-imagearea {
    background-color: #eee;
    min-width: 512px;
    overflow: hidden;
    width: 30%;
}

@media screen and (max-width: 1180px) {
    .glasses_viewarea-imagearea {
        min-width: 350px;
        width: 350px
    }
}

.glasses_viewarea-image {
    height: 100%
}

.glasses_viewarea-image source,
.glasses_viewarea-image img {
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover";
    height: 100%;
    width: 100%
}

.glasses_viewarea-textarea {
    /* background-color: #eaeaea; */
    overflow: hidden;
    padding: 60px 115px 0 59px;
    position: relative;
    width: 70%;
}

@media screen and (max-width: 1080px) {
    .glasses_viewarea-textarea {
        overflow-y: auto
    }
}

@media screen and (max-width: 767px) {
    .glasses_viewarea-textarea {
        overflow-y: hidden
    }
}

.glasses_viewarea-textarea-name {
    font-size: 40px;
    font-weight: 400;
    line-height: 1;
    font-family: "Yu Mincho", "YuMincho";
    margin-top: 27px
}

.glasses_viewarea-textarea-hurigana {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    font-family: "Yu Mincho", "YuMincho";
    letter-spacing: 3px;
    margin-top: 13px;
}

.glasses_viewarea-textarea-detail {
    margin-top: 25px;
    margin-left: 3px;
    padding-top: 25px;
    position: relative
}

.glasses_viewarea-textarea-detail:before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #9E9E9E;
    position: absolute;
    top: 2px;
    left: 1px;
    height: 1px;
    width: 100%;
}

.glasses_viewarea-textarea-tit {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    font-family: "Yu Mincho", "YuMincho"
}

.glasses_viewarea-textarea-txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
}

.glasses_viewarea-textarea-txt:not(:first-of-type) {
    margin-top: 11px
}

.glasses_viewarea-textarea-table {
    margin-top: 20px;
    position: relative;
    z-index: 99
}

.glasses_viewarea-textarea-table dl {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-top: 1px solid #ddd;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 15px 0 14px 6px;
}

.glasses_viewarea-textarea-table dt {
    min-width: 170px;
}

.glasses_viewarea-textarea-table dd {
    font-size: 15px;
    line-height: 1.23077;
    color: #000000;
    display: inline-block;
    word-break: break-all;
}

.glasses_viewarea-textarea-table dd a {
    font-size: 13px;
    line-height: 1.23077;
    color: #1c7098;
    display: inline-block;
    word-break: break-all;
}

.glasses_viewarea-textarea-table dd a[target="_blank"]:after {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/common/ico-blank_sm-glay.svg);
    margin-top: -4px;
    margin-left: 4px;
    -webkit-transition: background-image .2s linear;
    transition: background-image .2s linear;
    height: 8px;
    width: 8px
}

@media screen and (min-width: 768px) and (max-height: 690px) {
    .glasses_viewarea-wrap {
        height: calc(100% - 5%);
        width: calc(100% - 5%)
    }

    .glasses_viewarea-inner {
        height: inherit
    }

    .glasses_viewarea-textarea {
        overflow-y: auto
    }
}

@media screen and (max-width: 767px) {
    .brands__viewarea {
        padding: 38px 20px 60px
    }

    .glasses_viewarea-tit {
        font-size: 12px;
        line-height: 1;
        margin-left: -2px
    }

    .glasses_viewarea-tit-catename {
        letter-spacing: 2.6px
    }

    .glasses_viewarea-tit-brandkind {
        letter-spacing: 2.6px;
        margin-left: 11px;
        padding-left: 13px
    }

    .glasses_viewarea-tit-brandkind:before {
        top: 2px;
        height: 8px
    }

    .glasses_viewarea-inner {
        margin-top: 22px
    }

    .glasses_viewarea-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: 0
    }

    .glasses_viewarea-link {
        padding: 23px 0px 30px;
        height: 188px;
        width: 100%
    }

    .glasses_viewarea-link:before,
    .glasses_viewarea-link:after {
        bottom: 15px;
        right: 10px;
        width: 10px
    }

    .glasses_viewarea-item {
        width: calc((100% / 2) - 1px)
    }

    .glasses_viewarea-item:nth-of-type(even) {
        margin-left: 1px
    }

    .glasses_viewarea-item:nth-of-type(n+3) {
        margin-top: 1px
    }

    .glasses_viewarea-item-tit {
        font-size: 10px;
        line-height: 1;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-left: 9px
    }

    .glasses_viewarea-item-tit-catename {
        letter-spacing: .3px
    }

    .glasses_viewarea-item-tit-brandkind {
        letter-spacing: .3px;
        margin-top: 3px;
        margin-left: 0;
        padding-left: 0
    }

    .glasses_viewarea-item-tit-brandkind:before {
        display: none
    }

    .glasses_viewarea-item-image {
        margin-top: 28px;
        margin-left: 4px
    }

    .glasses_viewarea {
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        height: 100%;
        width: 100%
    }

    .glasses_viewarea-bg {
        bottom: 0;
        right: 0
    }

    .glasses_viewarea-wrap {
        bottom: 0;
        display: block;
        left: 0;
        overflow-y: auto;
        position: relative;
        -webkit-overflow-scrolling: touch;
        right: 0;
        top: 0;
        height: inherit;
        width: 100%;
        z-index: 1
    }

    .glasses_viewarea-inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 20px;
        position: relative;
        width: 100%;
        z-index: 999999
    }

    .glasses_viewarea-imagearea {
        height: 250px;
        width: 100%;
        min-width: 100%
    }

    .glasses_viewarea-image {
        display: inline-block;
        height: 100%;
        width: 100%
    }

    .glasses_viewarea-image img,
    .glasses_viewarea-image source {
        -o-object-fit: cover;
        object-fit: cover;
        font-family: "object-fit: cover";
        height: 100%;
        width: 100%
    }

    .glasses_viewarea-image img {
        display: inline-block
    }

    .glasses_viewarea-textarea {
        padding: 20px 20px;
        width: 100%;
    }

    .glasses_viewarea-textarea:after {
        font-size: 177.5px;
        font-weight: 400;
        line-height: 1;
        bottom: -188px;
        content: "";
        color: rgba(145, 124, 80, 0.03);
        left: 30px;
        letter-spacing: -53px;
        position: absolute
    }

    .glasses_viewarea-textarea-caption {
        font-size: 12px;
        line-height: 1
    }

    .glasses_viewarea-textarea-caption-catename {
        letter-spacing: .4px
    }

    .glasses_viewarea-textarea-caption-brandkind {
        letter-spacing: .4px;
        margin-left: 10px;
        padding-left: 10px
    }

    .glasses_viewarea-textarea-caption-brandkind:before {
        top: 2px;
        height: 8px
    }

    .glasses_viewarea-textarea-name {
        font-size: 21px;
        line-height: 1;
        margin-top: 20px
    }

    .glasses_viewarea-textarea-hurigana {
        font-size: 11px;
        line-height: 1;
        letter-spacing: 3px;
        margin-top: 6px
    }

    .glasses_viewarea-textarea-detail {
        margin-top: 12px;
        margin-left: 0;
        padding-top: 22px;
        position: relative
    }

    .glasses_viewarea-textarea-detail:before {
        top: 2px;
        left: 0;
        height: 1px;
        width: 100%;
    }

    .glasses_viewarea-textarea-tit {
        font-size: 16px;
        line-height: 1.25
    }

    .glasses_viewarea-textarea-txt {
        font-size: 16px;
        line-height: 1.75;
    }

    .glasses_viewarea-textarea-txt:not(:first-of-type) {
        margin-top: 8px
    }

    .glasses_viewarea-textarea-table {
        margin-top: 25px
    }

    .glasses_viewarea-textarea-table dl {
        font-size: 13px;
        font-weight: 400;
        line-height: 1;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 16px 0 13px 6px
    }

    .glasses_viewarea-textarea-table dt {
        min-width: 100%
    }

    .glasses_viewarea-textarea-table dd {
        margin-top: 7px
    }
}

@media screen and (max-width: 500px) {
    .glasses_viewarea-imagearea {
        height: 400px;
        width: 100%;
        min-width: 100%
    }
}


/* 眼鏡　ブランド紹介 */
/* -----------------------------------------------------------
#sub_works
----------------------------------------------------------- */

#frame_works {
    /* float: right; */
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

@media only screen and (max-width: 900px) {
    #frame_works {
        width: 100%;

    }
}

@media only screen and (max-width: 736px) {
    #frame_works {
        padding: 70px 0;
    }


}

/* --------- .worksArea --------- */

#frame_works .worksArea {
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    padding: 1%;
}

#frame_works .worksArea .worksBox {
    flex: 0 0 24%;
    /* align-items: stretch; */
    /* background: #fff; */
    /* border: 1px solid #ddd; */
    /* border-radius: 0.5em; */
    margin-bottom: 15px;
}






/* .inner */

#frame_works .worksArea .worksBox .inner {
    position: relative;
    padding: 20px 7.5% 20px;
    z-index: 2;
    border: 1px solid #ddd;
    border-radius: 0;
    /* margin-bottom: 20px; */
}

#frame_works .worksArea .worksBox .inner:before {
    position: absolute;
    right: 0;
    top: 0;
    left: 0;
    bottom: 0;
    content: "";
    border: #fefefe 0 solid;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    z-index: -1;
}

#frame_works .worksBox:hover .inner:before {
    border: #ccc 2px solid;
    border-radius: 0.5em;
    background: #ccc;
    color: #fff;
}

#frame_works .worksArea .worksBox .inner .imgArea {
    text-align: center;
}

#frame_works .worksArea .worksBox .inner .imgArea img {
    width: 100%;
    margin: 0 auto;
    max-width: 230px;
}

#frame_works .worksArea .worksBox .inner p {
    color: #555;
    font-size: 12px;
    text-align: center;
}

#frame_works .worksArea .worksBox .inner h2 {
    text-align: center;
    color: #555;
    margin: 10px 0 2px;
    font-weight: 600;
    font-size: 18px;
    display: block;
}

#frame_works .worksArea .worksBox .inner h2:after {
    content: '';
    display: block;
    width: 147px;
    height: 1px;
    background-color: #999;
    position: relative;
    bottom: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #fff;
}

#frame_works .worksArea .worksBox .inner:hover {
    color: #fff;
}

#frame_works .worksArea .worksBox .inner:hover h2 {
    color: #fff;
}


#frame_works .worksArea .worksBox .inner .tenpo {
    padding: 10px 0;
    text-align: right;
}

#frame_works .worksArea .worksBox .inner .tenpo p {
    text-align: right;
}


#frame_works .worksArea .worksBox .inner .tenpo p span {
    background: #e5e5e5;
    padding: 0em 0.3em 0.3em;
    /* border-radius: 1em; */
    font-size: 12px;
    line-height: 15px;
    /* color: #fff; */
    margin: 0 0.3em;
    vertical-align: middle;
}








/* ul.category */

#frame_works .worksArea .worksBox ul.category {
    margin-top: 20px;
    list-style: none;
    z-index: 2;
    text-align: center;
}

#frame_works .worksArea .worksBox ul.category li {
    display: inline-block;
    color: #fefefe;
    background: #999;
    font-size: 13px;
    font-weight: 500;
    line-height: 35px;
    letter-spacing: 1px;
    border-radius: 1.5em;
    padding: 0 35px 0 25px;
    position: relative;
    z-index: 1;
}

#frame_works .worksArea .worksBox ul.category li:after {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    font-size: 1.1em;
    /* line-height: 25px; */
    font-family: themify;
    /* content: "\e6ad"; */
    font-weight: normal;
    /* font-family: 'Font Awesome 6 pro'; */
    content: "\e649";
    vertical-align: 0;
}


#frame_works .worksArea .worksBox p.category {
    margin-top: 20px;
    list-style: none;
    z-index: 2;
    text-align: center;
}

#frame_works .worksArea .worksBox p.category {
    /* display: inline-block; */
    color: #555;
    /* background: #999; */
    /* border-bottom: 1px solid #999; */
    font-size: 13px;
    a font-weight: 500;
    line-height: 35px;
    letter-spacing: 1px;
    /* border-radius: 1.5em; */
    padding: 0 35px 0 25px;
    position: relative;
    z-index: 1;
    width: 13em;
    margin: 0 auto;
}

#frame_works .worksArea .worksBox p.category:after {
    position: absolute;
    top: 2px;
    /* right: 10px; */
    bottom: 0;
    font-size: 1.1em;
    /* line-height: 25px; */
    font-family: themify;
    /* content: "\e6ad"; */
    font-weight: normal;
    /* font-family: 'Font Awesome 6 pro'; */
    content: "\e649";
    vertical-align: 0;
}














#frame_works .worksArea .worksBox p.date {
    position: absolute;
    top: 20px;
    left: 7.5%;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    line-height: 40px;
    font-size: 0;
    display: none;
}

#frame_works .worksArea .worksBox .inner h3 {
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 1px;
    padding: 0;
    margin-top: 10px;
}

#frame_works .worksArea .worksBox .icon_award {
    position: absolute;
    top: 15px;
    right: 7.5%;
    width: 55px;
    height: 55px;
    content: "";
    background: url(../images/common/icon_award.png) center center no-repeat;
    background-size: cover;
    z-index: 2;
}

@media only screen and (max-width: 900px) {
    #frame_works .worksArea .worksBox .inner {
        padding: 50px 7.5% 50px;
    }

    #frame_works .worksArea .worksBox .inner p {
        display: block;
    }

    #frame_works .worksArea .worksBox .inner:before {
        display: none;
    }


    #frame_works .worksArea .worksBox .inner:hover {
        color: #fff;
        background: #ccc;
        border-radius: 0.5em;
    }

    .worksArea .worksBox .inner:hover h2 {
        color: #fff;

    }


    /* ul.category */
    #frame_works .worksArea .worksBox ul.category {
        margin-top: -35px;
        list-style: none;
        z-index: 2;
        display: block;
    }

    #frame_works .worksArea .worksBox ul.category li {
        padding: 0 15px 0 30px;
        /* margin-top: 50px; */
    }

    /* p.date */
    #frame_works .worksArea .worksBox p.date {
        top: 10px;
        left: 7.5%;
    }

    /*.worksArea .worksBox p.date span { font-size: 13px; }*/
    /* h3 */
    #frame_works .worksArea .worksBox .inner h3 {
        font-size: 14px;
        display: block;
    }

    /* .icon_award */
    #frame_works .worksArea .worksBox .icon_award {
        top: 10px;
        right: 7.5%;
        width: 50px;
        height: 50px;
    }
}

@media only screen and (max-width: 736px) {

    #frame_works .worksArea .worksBox .inner {
        padding: 40px 7.5% 30px;
    }

    #frame_works .worksArea .worksBox .inner:before {
        display: none;
    }


    /* ul.category */
    #frame_works .worksArea .worksBox ul.category {
        margin-top: 0px;
        list-style: none;
        z-index: 2;
        display: block;
    }

    #frame_works .worksArea .worksBox ul.category li {
        font-size: 11px;
        line-height: 25px;
        letter-spacing: 1px;
        padding: 0 10px 0 20px;
    }

    #frame_works .worksArea .worksBox ul.category li:before {
        left: 5px;
        font-size: 1em;
    }

    /* p.date */
    #frame_works .worksArea .worksBox p.date {
        top: 10px;
        left: 7.5%;
        line-height: 30px;
    }

    /*.worksArea .worksBox p.date span { font-size: 11px; }*/
    /* h3 */
    #frame_works .worksArea .worksBox .inner h3 {
        font-size: 11px;
        line-height: 1.8;
        margin-top: 5px;
    }

    #frame_works .worksArea .worksBox {
        flex: 0 0 49%;
        margin-bottom: 10px;
    }


}

@media only screen and (max-width: 500px) {

    #frame_works .worksArea {
        z-index: 3;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: stretch;
        padding: 20px;
    }


    #frame_works .worksArea .worksBox {
        flex: 0 0 100%;
        margin-bottom: 20px;
    }





}

@media only screen and (max-width: 414px) {
    #frame_works .worksArea .worksBox p.date {
        letter-spacing: 0.5px;
    }

    #frame_works .worksArea .worksBox .inner h3 {
        line-height: 1.8;
        display: block;
    }

    #frame_works .worksArea .worksBox ul.category li {
        font-size: 9px;
        padding: 0 20px 0 20px;
    }

    #frame_works .worksArea .worksBox .icon_award {
        top: 6px;
        right: 4%;
        width: 30px;
        height: 30px;
    }
}



/* メガネ レンズt*/

.box_lens {
    padding: 3rem 2rem;
    border: 2px solid #333;
    text-align: center;
    border-radius: 0.5em;
    margin-bottom: 50px;
}

.box_lens h1 {
    padding-bottom: 0.5rem;
    margin-bottom: 3rem;
    /* background: url(../images/box_lens_titlebg.svg) no-repeat bottom center;
background-size: auto 14px; */
    /* font-family: "YakuHanJP",dnp-shuei-mgothic-std, sans-serif; */
    line-height: 1.6;
    font-size: 141%;
    text-align: center;
    letter-spacing: normal;
}

.box_lens .kitname {
    position: relative;
}

.box_lens .kitname:after {
    position: absolute;
    top: -10px;
    left: -5px;
    content: "";
    display: block;
    width: 90px;
    height: 90px;
    /* background: #ddd; */
    z-index: 1;
}

.box_lens h1 {
    position: relative;
    /* padding: 1.5rem 2rem; */
    border-bottom: 2px solid #333;
    /* border-radius: 10px; */
    /* background: #f9f9f9; */
}

.box_lens h1:before {
    position: absolute;
    bottom: -14px;
    left: 49%;
    width: 0;
    height: 0;
    content: '';
    border-width: 14px 12px 0 12px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
}

.box_lens h1:after {
    position: absolute;
    bottom: -10px;
    left: 49%;
    width: 0;
    height: 0;
    content: '';
    border-width: 14px 12px 0 12px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}

.box_lens p {
    text-align: cente;
    color: #014769;
}

.box_lens .kitname h2,
.box_lens .kitname p {
    position: relative;
    z-index: 2;
}

.box_lens .kitname h2 {
    margin-bottom: 1rem;
    /* font-family: "YakuHanJP",dnp-shuei-mgothic-std, sans-serif; */
    font-size: 176%;
    font-weight: 600;
}

.box_lens .kitname {
    position: relative;
}

.box_lens .kitname:after {
    position: absolute;
    top: -10px;
    left: -5px;
    content: "";
    display: block;
    width: 90px;
    height: 90px;
    /* background: #e5eb36; */
    z-index: 1;
}

.box_lens .kitname h2,
.box_lens .kitname p {
    position: relative;
    z-index: 2;
    text-align: left;
    font-weight: 400;
    color: #333;
}

.box_lens .kitname h2 {
    margin-bottom: 1rem;
    /* font-family: "YakuHanJP",dnp-shuei-mgothic-std, sans-serif; */
    font-size: 110%;
    font-weight: 600;
}

.box_lens .products {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.box_lens .products li {
    display: table-cell;
    vertical-align: top;
}

@media only screen and (max-width: 500px) {
    .box_lens .kitname h2 {
        padding-top: 1rem;
        border-top: 1px solid #333;
    }

    .box_lens .products li {
        display: block;
        vertical-align: top;
    }

    .box_lens p {
        text-align: left;
    }
}

.box_lens .products li>figure,
.box_lens .products li>p {
    display: block;
    text-align: center;
}

.box_lens .products li p {
    position: relative;
    margin-top: 1.5rem;
    font-size: 88%;
    font-weight: 500;
    /* font-family: "YakuHanJP",dnp-shuei-mgothic-std, sans-serif; */
    line-height: 1.6;
    text-align: center;
}

.box_lens .products li p small {
    display: block;
    text-align: center;
}

.box_lens .products li p strong {
    font-size: 146%;
}

.box_lens .products li p strong+small {
    margin-top: .6rem;
}

.about_lens {
    margin-bottom: 50px;
    margin-top: 50px;
}

.about_lens p {
    font-weight: 400;
    line-height: 1.8
}

.col1,
.col2,
.col3,
.col4,
.col5,
.col6,
.col7,
.col8,
.col9,
.col10,
.col11,
.col12 {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    padding: 1.851%;
    width: 100%;
    letter-spacing: normal;
    /* i-b 隙間埋め用 */
    box-sizing: border-box;
}

.col1 img,
.col2 img,
.col3 img,
.col4 img,
.col5 img,
.col6 img,
.col7 img,
.col8 img,
.col9 img,
.col10 img,
.col11 img,
.col12 {
    padding: 20px;
    width: 100%;
}

@media screen and (min-width:768px) {
    #all {
        font-size: 1.6rem;
        /*タブレット基本フォントサイズ*/
    }

    /* on off */
    .on-sp {
        display: none !important;
    }

    .off-sp {
        display: inline-block !important;
    }

    .on-tb {
        display: inline-block;
    }

    .off-tb {
        display: none;
    }

    .on-pc {
        display: none !important;
    }

    .off-pc {
        display: inline-block;
    }

    .mb-0-tb {
        margin-bottom: 0 !important;
    }

    .mb-05em-sp {
        margin-bottom: 0 !important;
    }

    .mt-1em-tb {
        margin-top: 1em !important;
    }

    .mt-1em-sp {
        margin-top: 0 !important;
    }

    .mt-2em-sp {
        margin-top: 0 !important;
    }

    .mb-1em-sp {
        margin-bottom: 0 !important;
    }

    .mb-2em-sp {
        margin-bottom: 0 !important;
    }

    .mt-2em-tb {
        margin-top: 2em !important;
    }

    .mb-2em-tb {
        margin-bottom: 2em !important;
    }

    .ml-1em-tb {
        margin-left: 1em !important;
    }

    .pt-1em-sp {
        padding-top: 0 !important;
    }

    /* column*/
    .wrapper {
        width: 100%;
    }

    .col1,
    .col2,
    .col3,
    .col4,
    .col5,
    .col6,
    .col7,
    .col8,
    .col9,
    .col10,
    .col11,
    .col12 {
        /* padding:20px; */
    }

    .col1 {
        width: 8.3333%;
    }

    .col2 {
        width: 16.6666%;
    }

    .col3 {
        width: 25%;
    }

    .col4 {
        width: 33.3333%;
    }

    .col5 {
        width: 48%;
    }

    .col6 {
        width: 50%;
    }

    .col7 {
        width: 58.333%;
    }

    .col8 {
        width: 66.666%;
    }

    .col9 {
        width: 74.999%;
    }

    .col10 {
        width: 83.333%;
    }

    .col11 {
        width: 91.666%;
    }

    .col12 {
        width: 100%;
    }

    .col1 img,
    .col2 img,
    .col3 img,
    .col4 img,
    .col5 img,
    .col6 img,
    .col7 img,
    .col8 img,
    .col9 img,
    .col10 img,
    .col11 img,
    .col12 {
        padding: 20px;
        width: 100%;
    }
}


/*@media screen and (min-width:768px)*/

@media screen and (min-width:1080px) {
    .wrapper {
        max-width: 1200px;
    }

    .col12 {
        max-width: 1200px;
    }

    /*
    .col12.wrap-pd-0,
    .col12.wrap-pd-5px,
    .col12.wrap-pd-10px{
    max-width: 1040px;
    }*/
    #all {
        font-size: 1.6rem;
        /*PC基本フォントサイズ*/
    }

    /* on off */
    .off-tb {
        display: inline-block;
    }

    .on-pc {
        display: inline-block !important;
    }

    .off-pc {
        display: none;
    }
}


/*@media screen and (min-width:1080px)*/

@media screen and (max-width:767px) {
    .col1-sp {
        width: 8.3333%;
    }

    .col2-sp {
        width: 16.6666%;
    }

    .col3-sp {
        width: 25%;
    }

    .col4-sp {
        width: 33.3333%;
    }

    .col5-sp {
        width: 41.6666%;
    }

    .col6-sp {
        width: 50%;
    }

    .col7-sp {
        width: 58.333%;
    }

    .col8-sp {
        width: 66.666%;
    }

    .col9-sp {
        width: 74.999%;
    }

    .col10-sp {
        width: 83.333%;
    }

    .col11-sp {
        width: 91.666%;
    }
}


/*@media screen and (max-width:767px)*/

.control .wrap_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 2%;
}

.control dl {
    /* position: relative; */
    margin-bottom: 50px;
    border: 3px solid #d9dce2;
    border-radius: 15px;
    flex: 0 0 48%;
    letter-spacing: normal;
    box-sizing: border-box;
}

.control dl:nth-child(n+5) {
    margin-bottom: 5px;
}

.control dt {
    position: relative;
    top: -15px;
    margin-bottom: -15px;
    text-align: center;
}

.control dt span {
    display: inline-block;
    background: #FFF;
    padding: 0 3rem;
    line-height: 1.3;
    text-align: center;
    font-size: 20px;
    letter-spacing: 0.5em;
}

.control dd {
    padding: 0 1rem 2rem;
    text-align: center;
    font-size: 100%;
}

.control dl img {
    width: 90%;
    padding: 4%;
}

@media only screen and (max-width: 500px) {
    .control dl {
        flex: 0 0 99%;
    }

    .control dl img {
        width: 96%;
        padding: 2%;
    }
}


/*number_title*/

.number_title {
    position: relative;
    margin-bottom: 4rem;
    text-align: center;
    /* font-family: dnp-shuei-mgothic-std, sans-serif; */
    font-size: 176%;
    line-height: 1.3;
}

.number_title:before,
.number_title:after {
    position: absolute;
    left: 5%;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    width: 40px;
    height: 1px;
    border-top: 1px dashed #000000;
}

.number_title:after {
    left: auto;
    right: 5%;
}

.number_title strong {
    position: relative;
    z-index: 2;
}

.number_title span {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: rgb(0 0 0 / 10%);
    /* font-family: 'Ropa Sans', sans-serif; */
    font-size: 14rem;
    z-index: 1;
}

#service_flow .number_title span img {
    display: block;
}

.back_gray .number_title span {
    color: #FFF;
}


/* CONTENTS */


/* SERVICE INDEX */

.number_title {
    margin-bottom: 6rem;
}

.number_title:before,
.number_title:after {
    width: 140px;
}

.number_title span {
    font-size: 13rem;
}

#service_flow .number_title span img {
    width: 120px;
}

@media only screen and (max-width: 500px) {

    .number_title:before,
    .number_title:after {
        width: 40px;
    }
}


/* -----------------------------------------------------------
   #shop_店舗紹介
   ----------------------------------------------------------- */


/* #shop_company { padding: 90px 5%; background: url(../images/common/noise.png) repeat #f5f5f5;} */

@media only screen and (max-width: 900px) {
    #shop_company {
        padding: 80px 5%;
    }
}

@media only screen and (max-width: 738px) {
    #shop_company {
        padding: 30px 5%;
    }
}


/* .aboutArea */

#shop_company .aboutArea {
    padding: 50px 5%;
    background: #fefefe;
}

#shop_company .logoArea {
    float: left;
    width: 45%;
}

#shop_company .logoArea .imgArea {
    border: #e5e8ef 1px solid;
}

#shop_company .logoArea .imgArea img {
    width: 100%;
}


/* .infoArea */

#shop_company .infoArea {
    float: right;
    width: 50%;
}

@media only screen and (max-width: 900px) {

    /* .aboutArea */
    #shop_company .aboutArea {
        padding: 45px 5%;
    }
}

@media only screen and (max-width: 736px) {

    /* .aboutArea */
    #shop_company .aboutArea {
        padding: 0;
        background: none;
        margin-top: 50px;
    }

    #shop_company .logoArea {
        float: none;
        width: 100%;
    }

    #shop_company .logoArea .imgArea {
        background: #fefefe;
        border: #ddd 1px solid;
    }

    #shop_company .logoArea h2 {
        font-size: 16px;
        padding-bottom: 5px
    }

    /* .infoArea */
    #shop_company .infoArea {
        margin-top: 35px;
        float: none;
        width: 100%;
    }
}

#shop_company .infoArea p {
    padding: 2%;
    margin-top: 10px;
    background: #efeeee;
    font-size: 14px;
    line-height: 1.8;
}

#shop_company .aboutArea:first-child {
    margin-top: 0px;
}


/* ======== table.tableOther ======== */

table.company {
    border-collapse: collapse;
    text-align: left;
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 1.9;
    width: 100%;
    border-bottom: #e5e8ef 1px solid;
}

table.company tr {
    border-top: #e5e8ef 1px solid;
}

table.company th {
    width: 25%;
    padding: 20px 0;
    vertical-align: 0;
    font-weight: 700;
}

table.company th span {
    display: block;
    font-weight: 500;
    font-size: 0.9em;
}

table.company td {
    padding: 20px 0;
    vertical-align: 0;
}

table.company td .linkArea {
    margin-top: 10px;
    text-align: left;
}

table.company td .linkArea a.btn {
    margin: 0;
}

@media only screen and (max-width: 900px) {
    table.company {
        font-size: 13px;
    }
}

@media only screen and (max-width: 736px) {
    table.company {
        font-size: 12px;
        line-height: 1.8;
        border-bottom: #ddd 1px solid;
    }

    table.company tr {
        border-top: #ddd 1px solid;
    }

    table.company th {
        width: 30%;
        letter-spacing: 0.5px;
    }
}


/* -----------------------------------------------------------
   
      access_map
   
   ----------------------------------------------------------- */

.access_map {
    padding: 10px;
    margin: 20px 0 20px;
    /*background: #1a1a1a;*/
    /*	background: #fff url(../images/site_bcg04.png);
       color:#fff;
   
       -webkit-border-radius: 5px;
       -moz-border-radius: 5px;
       -o-border-radius: 5px;
       border-radius: 5px;
   
       -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
       -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
       box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);*/
    /* background: #f7f7f7; */
    border: 1px solid #dedede;
    /* -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2), 0 -1px 0 #f2f2f2; */
    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, .2), 0 -1px 0 #f2f2f2;
    /* box-shadow: 0 1px 4px rgba(0,0,0,.2), 0 -1px 0 #f2f2f2; */
}

.access_map p {
    font-size: 18px;
    font-weight: 600;
}

.access_map h3 {
    font-size: 15px;
    font-weight: 600;
}


/* ヤマザキの歴史 */


/*============================================================
  history
============================================================*/

    {
    padding-top: 0;
}

.history-body {
    padding-bottom: 2.8vw;
    border-radius: 0px;
    border: 1px solid #ccc;
    overflow: hidden;
    margin-bottom: 2.8vw;
}

@media (max-width: 768px) and (orientation: portrait) {
    .history-body {
        padding-bottom: 6vw;
    }
}


/*  content
  ------------------------------------------------*/

.history-content .history-title {
    /* display: table; */
    width: 40vw;
    height: 15vw;
    /* background-color: rgba(255,255,255,0.60); */
    border-radius: 4px;
    position: absolute;
    right: 0;
    top: 2.8vw;
    left: 0;
    /* margin: 0 auto; */
}

.yamazaki-content .history-title .history-inner {
    display: table-cell;
    width: 100%;
    height: 100%;
    /* max-height: 200px; */
    text-align: left;
    vertical-align: middle;
}

.history-content .history-title .txt-title>span {
    display: history;
    color: #555;
    letter-spacing: 0.16em;
    line-height: 1;
}

.history-content .history-title .txt-title>strong {
    display: history;
    color: #555;
    letter-spacing: 0.2em;
    line-height: 1;
    margin-top: 1.6rem;
}

.history-content .history-title .txt-title::before,
.history-content .history-title .txt-title::after {
    display: none;
}

.history-content .history-title .history-logo {
    margin-top: 14%;
    position: relative;
}

.history-content .history-title .pic-logo {
    display: history;
    margin: 0 auto;
}

.history-content .history-title .pic-logo+.pic-logo {
    margin-top: 16%;
}

.history-content .history-title .pic-logo+.pic-logo::before,
.history-content .history-title .pic-logo+.pic-logo::after {
    content: "";
    display: history;
    width: 4rem;
    height: 1px;
    margin: auto;
    background-color: #666;
    position: absolute;
    left: 0;
    right: 0;
    top: 0.8rem;
    bottom: 0;
}

.history-content .history-title .pic-logo+.pic-logo::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.history-content .history-title .pic-logo+.pic-logo::after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.history-content .history-title .pic-logo.ondo {
    width: 24%;
}

.history-content .history-title .pic-logo.beans {
    width: 24%;
}

.history-content .history-letter {
    width: 100%;
}

.history-content .history-letter .wrap {
    padding: 5.6vw 2.3vw 0;
    padding: 0;
    /* max-width: 1280px; */
    margin: 0 auto;
    width: 100%;
}

.history-content .history-letter dl {
    padding-top: 5.6vw;
}

.history-content .history-letter .txt-answer+.txt-question {
    margin-top: 4.2vw;
}

.history-content .history-letter .txt-answer {
    padding: 0 1vw;
    margin-top: 1.6rem;
}

@media (max-width: 768px) and (orientation: portrait) {
    .history-content .history-image {
        width: 150%;
    }

    .history-content .history-title {
        display: history;
        width: 100%;
        height: auto;
        background-color: none;
        border-radius: 0;
        margin-top: 4rem;
        position: static;
    }

    .history-content .history-title .history-inner {
        display: history;
    }

    .history-content .history-title .history-logo {
        display: table;
        table-layout: fixed;
        width: 90%;
        margin: 5.2rem auto 2rem;
    }

    .history-content .history-title .pic-logo {
        display: table-cell;
        width: 50%;
        text-align: center;
        vertical-align: middle;
    }

    .history-content .history-title .pic-logo+.pic-logo {
        margin-top: 0;
    }

    .history-content .history-title .pic-logo+.pic-logo::before,
    .history-content .history-title .pic-logo+.pic-logo::after {
        top: 0;
    }

    .history-content .history-title .pic-logo.ondo {
        width: 50%;
    }

    .history-content .history-title .pic-logo.ondo>img {
        width: 44%;
        margin-bottom: 2%;
    }

    .history-content .history-title .pic-logo.beans {
        width: 50%;
    }

    .history-content .history-title .pic-logo.beans>img {
        width: 44%;
    }

    .history-content .history-letter {
        /* border-bottom: 1px solid #eee; */
        padding: 6vw 6vw;
    }

    .history-content .history-letter .txt-answer+.txt-question {
        margin-top: 4vw;
    }

    .history-content .history-letter .txt-answer {
        padding: 0;
        margin-top: 1rem;
    }
}


/* ヤマザキの歴史 */


/* グランドセイコーhistory */


/*============================================================
  produce
============================================================*/

    {
    padding-top: 0;
}

.block-body {
    padding-bottom: 2.8vw;
    border-radius: 0px;
    border: 1px solid #ccc;
    overflow: hidden;
    margin-bottom: 2.8vw;
}

@media (max-width: 768px) and (orientation: portrait) {
    .block-body {
        padding-bottom: 6vw;
    }
}


/*  content
  ------------------------------------------------*/

.block-content .block-title {
    /* display: table; */
    width: 40vw;
    height: 15vw;
    /* background-color: rgba(255,255,255,0.60); */
    border-radius: 4px;
    position: absolute;
    right: 0;
    top: 2.8vw;
    left: 0;
    /* margin: 0 auto; */
}

.block-content .block-title .block-inner {
    display: table-cell;
    width: 100%;
    height: 100%;
    /* max-height: 200px; */
    text-align: left;
    vertical-align: middle;
}

.block-content .block-title .txt-title>span {
    display: block;
    color: #555;
    letter-spacing: 0.16em;
    line-height: 1;
}

.block-content .block-title .txt-title>strong {
    display: block;
    color: #555;
    letter-spacing: 0.2em;
    line-height: 1;
    margin-top: 1.6rem;
}

.block-content .block-title .txt-title::before,
.block-content .block-title .txt-title::after {
    display: none;
}

.block-content .block-title .block-logo {
    margin-top: 14%;
    position: relative;
}

.block-content .block-title .pic-logo {
    display: block;
    margin: 0 auto;
}

.block-content .block-title .pic-logo+.pic-logo {
    margin-top: 16%;
}

.block-content .block-title .pic-logo+.pic-logo::before,
.block-content .block-title .pic-logo+.pic-logo::after {
    content: "";
    display: block;
    width: 4rem;
    height: 1px;
    margin: auto;
    background-color: #666;
    position: absolute;
    left: 0;
    right: 0;
    top: 0.8rem;
    bottom: 0;
}

.block-content .block-title .pic-logo+.pic-logo::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.block-content .block-title .pic-logo+.pic-logo::after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.block-content .block-title .pic-logo.ondo {
    width: 24%;
}

.block-content .block-title .pic-logo.beans {
    width: 24%;
}

.block-content .block-letter {
    padding: 5.6vw 2.3vw 0;
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
}

.block-content .block-letter dl {
    padding-top: 5.6vw;
}

.block-content .block-letter .txt-answer+.txt-question {
    margin-top: 4.2vw;
}

.block-content .block-letter .txt-answer {
    padding: 0 1vw;
    margin-top: 1.6rem;
}

@media (max-width: 768px) and (orientation: portrait) {
    .block-content .block-image {
        width: 150%;
    }

    .block-content .block-title {
        display: block;
        width: 100%;
        height: auto;
        background-color: none;
        border-radius: 0;
        margin-top: 4rem;
        position: static;
    }

    .block-content .block-title .block-inner {
        display: block;
    }

    .block-content .block-title .block-logo {
        display: table;
        table-layout: fixed;
        width: 90%;
        margin: 5.2rem auto 2rem;
    }

    .block-content .block-title .pic-logo {
        display: table-cell;
        width: 50%;
        text-align: center;
        vertical-align: middle;
    }

    .block-content .block-title .pic-logo+.pic-logo {
        margin-top: 0;
    }

    .block-content .block-title .pic-logo+.pic-logo::before,
    .block-content .block-title .pic-logo+.pic-logo::after {
        top: 0;
    }

    .block-content .block-title .pic-logo.ondo {
        width: 50%;
    }

    .block-content .block-title .pic-logo.ondo>img {
        width: 44%;
        margin-bottom: 2%;
    }

    .block-content .block-title .pic-logo.beans {
        width: 50%;
    }

    .block-content .block-title .pic-logo.beans>img {
        width: 44%;
    }

    .block-content .block-letter {
        border-bottom: 1px solid #eee;
        padding: 6vw 6vw;
    }

    .block-content .block-letter .txt-answer+.txt-question {
        margin-top: 4vw;
    }

    .block-content .block-letter .txt-answer {
        padding: 0;
        margin-top: 1rem;
    }
}


/*家族の物語 */


/*============================================================
  story
============================================================*/

.story-body {
    padding-bottom: 2.8vw;
    border-radius: 0px;
    border: 1px solid #ccc;
    overflow: hidden;
    margin-bottom: 2.8vw;
}

@media (max-width: 768px) and (orientation: portrait) {
    .story-body {
        padding-bottom: 6vw;
    }
}


/*  content
  ------------------------------------------------*/

.story-content .story-title {
    /* display: table; */
    width: 40vw;
    height: 15vw;
    /* background-color: rgba(255,255,255,0.60); */
    border-radius: 4px;
    position: absolute;
    right: 0;
    top: 2.8vw;
    left: 0;
    /* margin: 0 auto; */
}

.yamazaki-content .story-title .story-inner {
    display: table-cell;
    width: 100%;
    height: 100%;
    /* max-height: 200px; */
    text-align: left;
    vertical-align: middle;
}

.story-content .story-title .txt-title>span {
    display: history;
    color: #555;
    letter-spacing: 0.16em;
    line-height: 1;
}

.story-content .story-title .txt-title>strong {
    display: history;
    color: #555;
    letter-spacing: 0.2em;
    line-height: 1;
    margin-top: 1.6rem;
}

.story-content .story-title .txt-title::before,
.story-content .story-title .txt-title::after {
    display: none;
}

.story-content .story-title .story-logo {
    margin-top: 14%;
    position: relative;
}

.story-content .story-title .pic-logo {
    display: history;
    margin: 0 auto;
}

.story-content .story-title .pic-logo+.pic-logo {
    margin-top: 16%;
}

.story-content .story-title .pic-logo+.pic-logo::before,
.story-content .story-title .pic-logo+.pic-logo::after {
    content: "";
    display: history;
    width: 4rem;
    height: 1px;
    margin: auto;
    background-color: #666;
    position: absolute;
    left: 0;
    right: 0;
    top: 0.8rem;
    bottom: 0;
}

.story-content .story-title .pic-logo+.pic-logo::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.story-content .story-title .pic-logo+.pic-logo::after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.story-content .story-title .pic-logo.ondo {
    width: 24%;
}

.story-content .story-title .pic-logo.beans {
    width: 24%;
}

.story-content .story-letter {
    width: 100%;
}

.story-content .story-letter .wrap {
    padding: 5.6vw 2.3vw 0;
    padding: 0;
    /* max-width: 1280px; */
    margin: 0 auto;
    width: 100%;
}

.story-content .story-letter dl {
    padding-top: 5.6vw;
}

.story-content .story-letter .txt-answer+.txt-question {
    margin-top: 4.2vw;
}

.story-content .story-letter .txt-answer {
    padding: 0 1vw;
    margin-top: 1.6rem;
}

@media (max-width: 768px) and (orientation: portrait) {
    .story-content .story-image {
        width: 150%;
    }

    .story-content .story-title {
        display: history;
        width: 100%;
        height: auto;
        background-color: none;
        border-radius: 0;
        margin-top: 4rem;
        position: static;
    }

    .story-content .story-title .story-inner {
        display: history;
    }

    .story-content .story-title .story-logo {
        display: table;
        table-layout: fixed;
        width: 90%;
        margin: 5.2rem auto 2rem;
    }

    .story-content .story-title .pic-logo {
        display: table-cell;
        width: 50%;
        text-align: center;
        vertical-align: middle;
    }

    .story-content .story-title .pic-logo+.pic-logo {
        margin-top: 0;
    }

    .story-content .story-title .pic-logo+.pic-logo::before,
    .story-content .story-title .pic-logo+.pic-logo::after {
        top: 0;
    }

    .story-content .story-title .pic-logo.ondo {
        width: 50%;
    }

    .story-content .story-title .pic-logo.ondo>img {
        width: 44%;
        margin-bottom: 2%;
    }

    .story-content .story-title .pic-logo.beans {
        width: 50%;
    }

    .story-content .story-title .pic-logo.beans>img {
        width: 44%;
    }

    .story-content .story-letter {
        /* border-bottom: 1px solid #eee; */
        padding: 6vw 6vw;
    }

    .story-content .story-letter .txt-answer+.txt-question {
        margin-top: 4vw;
    }

    .story-content .story-letter .txt-answer {
        padding: 0;
        margin-top: 1rem;
    }
}


/* ヤマザキの歴史 */


/*  grid
------------------------------------------------*/

.grid1 {
    /* padding-left: 0.7vw; */
    /* padding-right: 0.7vw; */
}

.grid2 {
    padding-left: 1.4vw;
    padding-right: 1.4vw;
}

.grid3 {
    padding-left: 2.1vw;
    padding-right: 2.1vw;
}

.grid4 {
    padding-left: 2.8vw;
    padding-right: 2.8vw;
}

.grid5 {
    padding-left: 14vw;
    padding-right: 14vw;
}

@media (max-width: 768px) and (orientation: portrait) {
    .grid1 {
        padding-left: 2vw;
        padding-right: 2vw;
    }

    .grid2 {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    .grid3 {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    .grid4 {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    .grid5 {
        padding-left: 6vw;
        padding-right: 6vw;
    }
}


/*  text
  ------------------------------------------------*/

.txt.lv1 {
    font-size: 2.8rem;
    letter-spacing: 0.24em;
    line-height: 1.8;
}

.txt.lv2 {
    font-size: 2.3rem;
    letter-spacing: 0.2em;
    line-height: 1.6;
}

.txt.lv3 {
    font-size: 1.7rem;
    letter-spacing: 0.2em;
    line-height: 1.6;
}

.txt.lv4 {
    font-size: 20px;
    letter-spacing: 0.2em;
    line-height: 2.2;
}

.txt.lv5 {
    font-size: 1.5rem;
    letter-spacing: 0.16em;
    line-height: 1.5;
}

.txt.lv6 {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    line-height: 2;
}

.txt.lv7 {
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 1.8;
    font-weight: 400;
}

.txt.lv8 {
    font-size: 13px;
    letter-spacing: 0.08em;
    line-height: 1.8;
    /* font-weight: 600; */
}

.txt.lv9 {
    font-size: 1.1rem;
    letter-spacing: 0.08em;
    line-height: 1.8;
}

.txt.lv10 {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.8;
}

.txt.lv11 {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    line-height: 1.8;
}

.t_weight_6 {
    text-weight: 600
}

.t_weight_5 {
    text-weight: 500
}

.t_weight_4 {
    text-weight: 400
}

.txt.regular {
    font-weight: normal;
}

.txt.bold {
    font-weight: 700;
}

.txt.semibold {
    font-weight: 500;
}

.txt.wht {
    color: #fff;
}

.txt.brn {
    color: #665c56;
}

.txt.orn {
    color: #e82b2b;
}

.txt.grn {
    color: #076158;
}

.txt.blue {
    color: #0c1d36;
}

.txt.center {
    text-align: center;
}

.txt.left {
    text-align: left;
}

.txt.right {
    text-align: right;
}

.txt>strong,
.txt>em,
.txt>span,
.txt>b,
.txt>sup {
    color: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
}

.txt.overpass {
    font-family: "Overpass";
}

.txt.lineGray {
    border-bottom: #ddd 1px solid;
}

@media (max-width: 768px) and (orientation: portrait) {
    .txt.lv1 {
        font-size: 1.1rem;
    }

    .txt.lv2 {
        font-size: 1.1rem;
    }

    .txt.lv3 {}

    .txt.lv4 {
        /* font-size: 1.1rem; */
        line-height: 1.5;
    }

    .txt.lv5 {
        font-size: 1.1rem;
        line-height: 1.5;
    }

    .txt.lv6 {
        font-size: 1.1rem;
    }

    .txt.lv7 {
        /* font-size: 1.1rem; */
        /* line-height: 1.5; */
    }

    .txt.lv8 {}

    .txt.lv9 {}

    .txt.lv10 {}
}

@media (max-width: 500px) and (orientation: portrait) {
    .txt.lv1 {
        font-size: 1.6rem;
    }

    .txt.lv2 {
        font-size: 1.1rem;
    }

    .txt.lv3 {}

    .txt.lv4 {
        /* font-size: 1rem; */
        /* line-height: 1.5; */
    }

    .txt.lv5 {
        font-size: 1.1rem;
        line-height: 1.5;
    }

    .txt.lv6 {
        font-size: 1.1rem;
    }

    .txt.lv7 {
        /* font-size: 1rem; */
        /* line-height: 1.5; */
    }

    .txt.lv8 {}

    .txt.lv9 {}

    .txt.lv10 {}
}

.commitArea ul li {
    font-weight: 400;
}

.itemCol_0 {
    flex: 0 0 100%;
}

.itemCol_1 {
    flex: 0 0 100%;
}

.itemCol_2 {
    flex: 0 0 100%;
}

.itemCol_3 {
    flex: 0 0 100%;
}

.itemCol_4 {
    flex: 0 0 100%;
}

.itemCol_5 {
    flex: 0 0 100%;
}

.itemCol_6 {
    flex: 0 0 100%;
}

.itemCol_7 {
    flex: 0 0 100%;
}

.itemCol_8 {
    flex: 0 0 100%;
}

.itemCol_9 {
    flex: 0 0 100%;
}

.itemCol_1 img,
.itemCol_2 img,
.itemCol_3 img,
.itemCol_4 img,
.itemCol_5 img,
.itemCol_6 img,
.itemCol_7 img,
.itemCol_8 img,
.itemCol_9 img,
.itemCol_0 img {
    width: 100%;
    padding: 2%;
}

.commitArea {
    background: #f3f3f3;
    padding: 5.6vw 2.3vw 5.6vw;
}

.commitArea:nth-child(odd) {
    flex-direction: row-reverse;
}

.commitArea:nth-child(even) {
    background: #fff;
}

.commitArea .wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1200px;
    justify-content: center;
    /* 子要素をflexboxにより中央に配置する */
    /* align-items: center; */
    /* 子要素をflexboxにより中央に配置する */
    /* margin-bottom: 100px; */
    margin-top: 10px;
}

.sp_order_1 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
}

.sp_order_2 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
}


/* 
.itemCol_2 {
    width: 100%;
    padding: 2%
}

.itemCol_4 {
    width: 100%;
} */

@media (min-width: 800px) {
    .commitArea {
        background: #f3f3f3;
        padding: 5.6vw 2.3vw 5.6vw;
    }

    .commitArea:nth-child(odd) {
        flex-direction: row-reverse;
    }

    .commitArea:nth-child(even) {
        background: #fff;
    }

    .commitArea .wrap {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        max-width: 1200px;
        justify-content: center;
        /* 子要素をflexboxにより中央に配置する */
        /* align-items: center; */
        /* 子要素をflexboxにより中央に配置する */
        /* margin-bottom: 100px; */
        margin-top: 10px;
    }

    .itemCol_0 {
        flex: 0 0 100%;
        padding: 1%;
    }

    .itemCol_1 {
        flex: 0 0 10%;
    }

    .itemCol_2 {
        flex: 0 0 20%;
        padding: 1%;
    }

    .itemCol_3 {
        flex: 0 0 30%;
        padding: 1%;
    }

    .itemCol_4 {
        flex: 0 0 40%;
    }

    .itemCol_5 {
        flex: 0 0 50%;
        padding: 1%;
    }

    .itemCol_6 {
        flex: 0 0 60%;
        padding: 1%;
    }

    .itemCol_7 {
        flex: 0 0 70%;
        padding: 1%;
    }

    .itemCol_8 {
        flex: 0 0 80%;
        padding: 1%;
    }

    .itemCol_9 {
        flex: 0 0 90%;
        padding: 1%;
    }

    .itemCol_1 img,
    .itemCol_3 img,
    .itemCol_4 img {
        width: 96%;
        padding: 2%;
    }

    .itemCol_2 img {
        /* height: 250px; */
        object-fit: cover;
    }

    .itemCol_7 p span,
    .itemCol_6 p span,
    .itemCol_0 p span {
        border-bottom: 1px solid #ddd;
        line-height: 2.0;
    }

    .sp_order_1 {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 1;
        -webkit-order: 1;
        order: 1;
    }

    .sp_order_2 {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 1;
        -webkit-order: 1;
        order: 1;
    }
}

.g-historyArea {
    /* background: #f3f3f3; */
    padding: 5.6vw 2.3vw 5.6vw;
}

.g-historyArea {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1200px;
    justify-content: center;
    /* 子要素をflexboxにより中央に配置する */
    /* align-items: center; */
    /* 子要素をflexboxにより中央に配置する */
    /* margin-bottom: 100px; */
    margin-top: 10px;
}

.sp_order_1 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
}

.sp_order_2 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
}

@media (min-width: 800px) {
    .g-historyArea {
        padding: 5.6vw 2.3vw 5.6vw;
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        max-width: 1200px;
        justify-content: center;
        /* 子要素をflexboxにより中央に配置する */
        /* align-items: center; */
        /* 子要素をflexboxにより中央に配置する */
        /* margin-bottom: 100px; */
        margin-top: 10px;
    }
}

@keyframes move {
    0% {
        transform: rotate(45deg) translate(0, 0);
    }

    20% {
        transform: rotate(45deg) translate(10px, 10px);
    }

    40% {
        transform: rotate(45deg) translate(0, 0);
    }
}


/*
----------------------------------------------------------
Archive: Staff
スタッフページ
---------------------------------------------------------- */


/*
----------------------------------------------------------
Page: Common
---------------------------------------------------------- */

.single-page {
    /*margin:0 45px;*/
}

.page-section {
    margin: 60px auto;
    width: 100%;
    max-width: 1280px;
    padding: 70px 5%;
    background: #fefefe;
    border: #f5f5f5 1px solid;
    /* border-left: none; */
    -webkit-border-radius: 0px 15px 0 0px;
    border-radius: 0px 15px 0 0px;
}

.page-section:first-child {
    margin-top: 50px;
}


/*
.page-section-sub:not(:first-child){border-top:1px solid #d9e3e5;padding-top:60px;margin-top:60px;}*/

@media (max-width:900px) {
    .page-section {
        margin: 50px 2.5%;
        padding: 60px 5%;
    }
}

@media (max-width:738px) {
    .page-section {
        margin: 40px 10px 0;
        padding: 50px 5%;
        border: #f0f0f0 1px solid;
    }
}

@media (max-width:414px) {
    .page-section {
        padding: 40px 4%;
        margin: 40px 0;
    }
}

.page-section.dashed {
    border: #111 1px dashed;
}

.page-section .lead-image {
    display: block;
    width: 100%;
    -webkit-border-radius: 10px;
    border-radius: 10px;
}

.page-section-header {
    text-align: center;
}

.page-section-header .lead {
    font-size: 30px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
}

.page-section-header .caption {
    margin-top: 30px;
}

.section-body-lead {
    margin-top: -15px;
    text-align: center;
}

.section-body-lead p {
    font-size: 14px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 1px;
}

.section-body-lead p br.mobile {
    display: none
}

;
@media only screen and (max-width: 738px) {
    .section-body-lead {
        text-align: center;
    }

    .section-body-lead p {
        display: inline-block;
        font-size: 13px;
        line-height: 1.9;
        font-weight: 400;
        /* ? text-align: left;*/
    }
}

.archive-staff-items {}

.archive-staff-items .item {
    padding: 60px 0;
    border-top: #d9e3e5 1px solid;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

.archive-staff-items .item:first-child {
    padding-top: 0;
    border: none;
}

.archive-staff-items .item:last-child {
    padding-bottom: 0;
}

@media only screen and (max-width: 900px) {
    .archive-staff-items .item {
        padding: 50px 0;
    }
}

@media only screen and (max-width: 738px) {
    .archive-staff-items .item {
        padding: 45px 0;
    }
}

.archive-staff-items .item>.image {
    width: 30%;
    float: left;
    position: relative;
    /* -webkit-border-radius: 100%; */
    /* border-radius: 100%; */
}

.archive-staff-items .item>.text {
    float: right;
    width: 60%;
}

.archive-staff-items .item>.text .role {
    display: inline-block;
    font-size: 14px;
    /* font-family: 'Overpass', sans-serif; */
    font-weight: 400;
    letter-spacing: 0.125em;
    line-height: 1.4;
    text-transform: uppercase;
    position: relative;
    z-index: 0;
}

.archive-staff-items .item>.text .role:after {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    height: 50%;
    content: "";
    background: #ddd;
    z-index: -1;
}

.archive-staff-items .item>.text .name {
    margin: 10px 0 25px;
}

.archive-staff-items .item>.text .name .jp {
    margin-top: 10px;
    padding-left: 20px;
    font-size: 16px;
    /* font-family: 'Noto Sans JP', sans-serif; */
    font-weight: 400;
    letter-spacing: 4px;
    display: block;
    line-height: 1;
    position: relative;
    z-index: 0;
}

.jp span {
    font-size: 13px
}

.archive-staff-items .item>.text .name .jp:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 10px;
    height: 0;
    content: "";
    border-top: #0d0d0d 1px solid;
    z-index: -1;
}

.archive-staff-items .item>.text .name .en {
    font-size: 26px;
    /* font-family: 'Overpass', sans-serif; */
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.2;
    display: block;
}

.archive-staff-items .item>.text .comment {
    padding: 25px 25px 25px 0;
    margin-top: 25px;
    font-size: 16px;
    line-height: 1.9;
    position: relative;
    z-index: 0;
}

.archive-staff-items .item>.text .comment:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: -30px;
    content: "";
    background: #f7f7f7;
    z-index: -1;
    -webkit-border-radius: 0px 0px 15px 15px;
    border-radius: 0px 0px 15px 15px;
}

@media only screen and (max-width: 900px) {
    .archive-staff-items .item>.text .name .en {
        font-size: 25px;
    }

    .archive-staff-items .item>.text .comment {
        margin-top: 20px;
        padding: 20px 25px 20px 0;
        font-size: 15px;
    }

    .archive-staff-items .item>.text .comment:after {
        left: -25px;
    }
}

@media only screen and (max-width: 738px) {
    .archive-staff-items .item>.image {
        margin: 0 auto;
        width: 100%;
        max-width: 250px;
        float: none;
    }

    .archive-staff-items .item>.text {
        float: none;
        width: 100%;
        margin: 25px 0 0;
        text-align: center;
    }

    .archive-staff-items .item>.text .name {
        margin-bottom: 20px;
        text-align: center;
    }

    .archive-staff-items .item>.text .role {
        font-size: 13px;
        letter-spacing: 0.1em;
    }

    .archive-staff-items .item>.text .name {
        margin: 5px 0 20px;
    }

    .archive-staff-items .item>.text .name .jp {
        margin-top: 10px;
        padding-left: 0;
    }

    .archive-staff-items .item>.text .name .jp:before {
        display: none;
    }

    .archive-staff-items .item>.text .name .en {
        font-size: 22px;
    }

    .archive-staff-items .item>.text .career {
        margin: 0 auto;
        text-align: left;
        max-width: 450px;
    }

    .archive-staff-items .item>.text .comment {
        max-width: 450px;
        padding: 20px 5%;
        margin: 20px auto 0;
        font-size: 13px;
        text-align: left;
    }

    .archive-staff-items .item>.text .comment:after {
        left: 0;
    }
}

@media only screen and (max-width: 414px) {
    .archive-staff-items .item>.image {
        max-width: 200px;
    }
}


/* Aspect-ratio-fixed image  */

.bg-image {
    display: block;
    /*background-color: #eff6f9;*/
    background-color: #ecf4f6;
    background-position: center;
    background-size: cover;
}

.bg-image:before {
    display: block;
    content: '';
    width: 100%;
    padding-bottom: 100%;
}


/* variants */

.bg-image.ratio-9:before {
    padding-bottom: 110%;
}

.bg-image.ratio-11:before {
    padding-bottom: 100%;
}

.bg-image.ratio-43:before {
    padding-bottom: 75%;
}

.bg-image.ratio-32:before {
    padding-bottom: 66.6666%;
}

.bg-image.ratio-21:before {
    padding-bottom: 50%;
}


/* -----------------------------------------------------------
   #コンセプト　企業理念
   ----------------------------------------------------------- */

#concept_flow {
    padding: 90px 5%;
    /* background: url(../images/common/noise.png) repeat #f5f5f5; */
    width: 100%;
    background: #f5f5f5;
}

@media only screen and (max-width: 900px) {
    #concept_flow {
        padding: 80px 5%;
    }
}

@media only screen and (max-width: 736px) {
    #concept_flow {
        padding: 70px 5%;
        background: #fefefe;
    }
}


/* --------- .flowArea --------- */

#concept_flow .flowArea {
    margin: -10px;
    font-size: 0;
    display: flex;
}

#concept_flow .flowBox {
    /* display: inline-block; */
    margin: 0;
    border: #f5f5f5 10px solid;
    /* width: 33.333%; */
    text-align: center;
    /* position: relative; */
    z-index: 2;
    padding: 1%;
    background: #fff;
    flex: 0 0 33.3333%;
}


/* .inner */

#concept_flow .flowBox .inner {
    padding: 35px 5% 50px;
    /* background: #fefefe; */
}


/* h3 */

#concept_flow .flowBox h3 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
    position: relative;
    z-index: 3;
    line-height: 1;
    padding: 65px 0 30px;
    text-align: center;
}

#concept_flow .flowBox h3:before {
    position: absolute;
    top: 0px;
    left: 50%;
    margin-left: -25px;
    width: 50px;
    height: 50px;
    line-height: 52px;
    color: #fefefe;
    font-size: 25px;
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    text-align: center;
    letter-spacing: 0;
    vertical-align: 0;
    background: #111;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}

#concept_flow .flowBox:nth-child(1) h3:before {
    content: "1";
}

#concept_flow .flowBox:nth-child(2) h3:before {
    content: "2";
}

#concept_flow .flowBox:nth-child(3) h3:before {
    content: "3";
}

#concept_flow .flowBox:nth-child(4) h3:before {
    content: "4";
}

#concept_flow .flowBox:nth-child(5) h3:before {
    content: "5";
}

#concept_flow .flowBox:nth-child(6) h3:before {
    content: "6";
}

#concept_flow .flowBox h3:after {
    position: absolute;
    bottom: 0;
    left: 25px;
    right: 25px;
    height: 0;
    content: "";
    border-top: #e5e8ef 1px solid;
    z-index: 2;
}


/* .txtArea */

#concept_flow .flowArea .txtArea {
    display: inline-block;
    margin: 20px auto 0;
}

@media only screen and (max-width: 900px) {
    #concept_flow .flowBox .inner {
        padding: 30px 5% 45px;
    }

    #concept_flow .flowBox h3 {
        font-size: 16px;
        padding: 55px 0 30px;
    }

    #concept_flow .flowBox h3:before {
        margin-left: -20px;
        width: 40px;
        height: 40px;
        line-height: 42px;
        font-size: 20px;
    }

    #concept_flow .flowBox h3:after {
        left: 5%;
        right: 5%;
    }
}

@media only screen and (max-width: 768px) {
    #concept_flow .flowBox {
        width: 50%;
    }
}

@media only screen and (max-width: 736px) {
    #concept_flow .flowArea {
        margin: 0;
        font-size: 0;
    }

    #concept_flow .flowBox {
        display: block;
        margin-top: 50px;
        border: none;
        width: 100%;
        text-align: center;
    }

    #concept_flow .flowBox:after {
        position: absolute;
        bottom: -50px;
        right: 0;
        left: 0;
        height: 50px;
        line-height: 50px;
        font-size: 20px;
        font-family: themify;
        content: "\e62a";
        z-index: 1;
    }

    #concept_flow .flowBox:last-child:after {
        display: none;
    }

    /* .inner */
    #concept_flow .flowBox .inner {
        padding: 35px 5%;
        border: #e5e8ef 1px solid;
    }

    /* h3 */
    #concept_flow .flowBox h3 {
        font-size: 16px;
        padding: 55px 0 25px;
    }

    #concept_flow .flowBox h3:after {
        border-top: #e5e8ef 1px dotted
    }

    #concept_flow .flowArea .txtArea {
        margin: 15px auto 0;
    }
}

.quality {
    width: 45%;
    margin: 0 auto;
    text-align: center;
    padding: 50px 30px;
    /* float:left; */
    /* background: #fff; */
    background: #050126;
}

@media only screen and (max-width: 818px) {
    .quality {
        width: 45%;
        margin: 0 auto;
        text-align: center;
        padding: 50px 30px;
        margin: 30px 2.5%;
    }
}

.quality .wrap {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.quality h2 {
    position: relative;
    line-height: 1.4;
    padding: 0.25em 1em;
    display: inline-block;
    top: 0;
}

.quality h2:before,
h2:after {
    position: absolute;
    top: 0;
    content: '';
    width: 8px;
    height: 100%;
    display: inline-block;
}

.quality h2:before {
    /* border-left: solid 1px black; */
    /* border-top: solid 1px black; */
    /* border-bottom: solid 1px black; */
    /* left: 0; */
}

.quality h2:after {
    /* content: ''; */
    /* border-top: solid 1px black; */
    /* border-right: solid 1px black; */
    /* border-bottom: solid 1px black; */
    /* right: 0; */
}

.ios_img {
    border: 1px #eee solid;
    max-width: 800px;
    width: 100%;
    margin: 30px auto;
}

.ios_img img {
    max-width: 700px;
    width: 96%;
    padding: 3%;
}

.quality h2 {
    font-size: 20px;
    font-weight: 400;
    text-align: left;
    padding-left: 30px;
    margin-bottom: 30px;
    line-height: 1.5;
}

.quality h3 {
    position: relative;
    color: #fff;
    text-align: left;
    font-size: 18px;
    line-height: 2.5;
    padding-left: 40px;
    border-bottom: solid 1px;
    font-weight: 400;
    /* max-width: 800px; */
    /* width: 100%; */
    font-family: "Century Gothic", 'Abel', sans-serif;
}

.quality h3:before {
    /*疑似要素*/
    font-family: 'Font Awesome 6 pro';
    content: "\f292";
    position: absolute;
    left: 0.6em;
    /*左端からのアイコンまでの距離*/
    top: 2px;
    font-weight: 500;
}

.quality p {
    margin-top: 40px;
    line-hight: 2;
    font-size: 18px;
    font-weight: 400;
    text-align: right;
}


/* ul.circle */

ul.circle {
    margin: 0;
    padding: 0 0 0 15px;
    list-style: circle;
    font-size: 14px;
    text-align: left;
}

ul.circle li {
    margin-top: 3px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.5px;
    line-height: 1.8;
    font-feature-settings: "palt" 1;
}

ul.shop {
    margin: 0;
    padding: 0 0 0 15px;
    list-style: circle;
    font-size: 14px;
    text-align: left;
}

ul.shop li {
    margin-top: 3px;
    /* font-size: 16px; */
    font-weight: 500;
    letter-spacing: 0.5px;
    line-height: 1.8;
    font-feature-settings: "palt" 1;
    display: inline;
    padding-right: 2%;
}

@media only screen and (max-width: 900px) {
    ul.circle li {
        font-size: 13px;
    }
}

@media only screen and (max-width: 738px) {
    ul.circle li {
        font-size: 12px;
    }

    .quality {
        padding: 50px 30px;
        width: 100%;
        margin-bottom: 10px;
    }

    .quality h2 {
        padding: 0 0px;
    }
}


/* Line */


/* .aboutArea */

#Line .aboutArea {
    padding: 50px 5%;
    background: #fefefe;
}

#Line .logoArea {
    float: left;
    width: 45%;
}

#Line .logoArea .imgArea {
    border: #e5e8ef 1px solid;
}

#Line .logoArea .imgArea img {
    width: 100%;
}


/* .infoArea */

#Line .infoArea {
    float: right;
    width: 50%;
}

@media only screen and (max-width: 900px) {

    /* .aboutArea */
    #Line .aboutArea {
        padding: 45px 5%;
    }
}

@media only screen and (max-width: 736px) {

    /* .aboutArea */
    #Line .aboutArea {
        padding: 0;
        background: none;
        margin-top: 50px;
    }

    #Line .logoArea {
        float: none;
        width: 100%;
    }

    #Line .logoArea .imgArea {
        background: #fefefe;
        border: #ddd 1px solid;
    }

    #Line .logoArea h2 {
        font-size: 16px;
        padding-bottom: 5px
    }

    /* .infoArea */
    #Line .infoArea {
        margin-top: 35px;
        float: none;
        width: 100%;
    }
}

#Line .infoArea p {
    padding: 2%;
    margin-top: 10px;
    background: #efeeee;
    font-size: 14px;
    line-height: 1.8;
}

#Line .aboutArea:first-child {
    margin-top: 0px;
}

.line-b .card {
    display: flex;
    flex-wrap: wrap;
}

.line-b .card .item {
    width: 32%;
}

.line-b .card .item:not(:nth-child(3n)) {
    margin-right: 15px;
}

.line-b .card .item:nth-child(n+4) {
    margin-top: 15px;
}


/* ❷ */

.line-b .card .item a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.line-b .card .txt {
    background: #fff;
    margin: 5px 0 15px;
    padding: 10px;
    flex-grow: 1;
    /* ★ポイント★ */
}

.line-b .card .btn {
    margin-top: auto;
}


/* -----------------------------------------------------------
   #home_works_news_top
   ----------------------------------------------------------- */

#home_works_news_top {
    padding: 90px 5%;
    /* background: url(../images/common/noise.png) repeat #f5f5f5; */
    background: #f5f5f5;
}

@media only screen and (max-width: 900px) {
    #home_works_news_top {
        padding: 0;
    }
}

@media only screen and (max-width: 736px) {
    #home_works_news_top {
        padding: 0;
    }
}


/* -----------------------------------------------------------
   #home_works_news
   ----------------------------------------------------------- */

#home_works_news {
    padding: 90px 5%;
    /* background: url(../images/common/noise.png) repeat #f5f5f5; */
    background: #f5f5f5;
}

@media only screen and (max-width: 900px) {
    #home_works_news {
        padding: 0;
    }
}

@media only screen and (max-width: 736px) {
    #home_works_news {
        padding: 0;
    }
}


/* -----------------------------------------------------------
      #home_works
      ----------------------------------------------------------- */

#home_works {
    float: right;
    width: 100%;
}

@media only screen and (max-width: 900px) {
    #home_works {
        float: none;
        width: 100%;
        padding: 80px 5%;
        background: #ddd;
    }
}

@media only screen and (max-width: 736px) {
    #home_works {
        padding: 70px 5%;
    }
}


/* --------- .worksArea --------- */

.worksArea {
    position: relative;
    font-size: 0;
    margin: -2px -2px 0;
    z-index: 3;
}

.worksArea .worksBox {
    display: inline-block;
    width: 25%;
    margin: 0;
    border: transparent 2px solid;
}


/* .inner */

.worksArea .worksBox .inner {
    position: relative;
    /* background: #fefefe; */
    padding: 20px 7.5% 20px;
    z-index: 2;
}

.worksArea .worksBox .inner:before {
    position: absolute;
    right: 0;
    top: 0;
    left: 0;
    bottom: 0;
    content: "";
    border: #fefefe 0 solid;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    z-index: -1;
}

.worksArea .worksBox:hover .inner:before {
    border: #111 5px solid;
}

.worksArea .worksBox .inner img {
    width: 100%;
}


/* ul.category */

.worksArea .worksBox ul.category {
    margin-top: -35px;
    list-style: none;
    z-index: 2;
}

.worksArea .worksBox ul.category li {
    display: inline-block;
    color: #fefefe;
    background: #111;
    font-size: 13px;
    font-weight: 500;
    line-height: 35px;
    letter-spacing: 1px;
    padding: 0 20px 0 35px;
    position: relative;
    z-index: 1;
}

.worksArea .worksBox ul.category li:before {
    position: absolute;
    top: 0;
    left: 10px;
    bottom: 0;
    font-size: 1.2em;
    font-family: themify;
    content: "\e6ad";
    font-weight: normal;
    vertical-align: 0;
}


/* p.date */


/*.worksArea .worksBox p.date { position: absolute; top:20px; left:7.5%; font-family: 'Poppins', sans-serif; font-weight: 500;line-height:40px; }
   .worksArea .worksBox p.date span { padding-left:5px; color: #e96c36; }*/

.worksArea .worksBox p.date {
    position: absolute;
    top: 20px;
    left: 7.5%;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    line-height: 40px;
    font-size: 0;
    display: none;
}


/*.worksArea .worksBox p.date span { font-size: 14px; color: #e96c36; }*/


/* h3 */

.worksArea .worksBox .inner h3 {
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 1px;
    padding: 0;
    margin-bottom: 10px;
    text-align: center;
}


/* .icon_award */

.worksArea .worksBox .icon_award {
    position: absolute;
    top: 15px;
    right: 7.5%;
    width: 55px;
    height: 55px;
    content: "";
    background: url(../images/common/icon_award.png) center center no-repeat;
    background-size: cover;
    z-index: 2;
}

@media only screen and (max-width: 900px) {
    .worksArea .worksBox .inner {
        padding: 50px 7.5% 50px;
    }

    .worksArea .worksBox .inner:before {
        display: none;
    }

    /* ul.category */
    .worksArea .worksBox ul.category {
        margin-top: -35px;
        list-style: none;
        z-index: 2;
    }

    .worksArea .worksBox ul.category li {
        padding: 0 15px 0 30px;
    }

    /* p.date */
    .worksArea .worksBox p.date {
        top: 10px;
        left: 7.5%;
    }

    /*.worksArea .worksBox p.date span { font-size: 13px; }*/
    /* h3 */
    .worksArea .worksBox .inner h3 {
        /* font-size: 14px; */
    }

    /* .icon_award */
    .worksArea .worksBox .icon_award {
        top: 10px;
        right: 7.5%;
        width: 50px;
        height: 50px;
    }
}

@media only screen and (max-width: 736px) {
    .worksArea .worksBox .inner {
        padding: 40px 7.5% 30px;
    }

    .worksArea .worksBox .inner:before {
        display: none;
    }

    /* ul.category */
    .worksArea .worksBox ul.category {
        margin-top: -25px;
        list-style: none;
        z-index: 2;
    }

    .worksArea .worksBox ul.category li {
        /* font-size: 11px; */
        line-height: 25px;
        letter-spacing: 1px;
        padding: 0 10px 0 20px;
    }

    .worksArea .worksBox ul.category li:before {
        left: 5px;
        font-size: 1em;
    }

    /* p.date */
    .worksArea .worksBox p.date {
        top: 10px;
        left: 7.5%;
        line-height: 30px;
    }

    /*.worksArea .worksBox p.date span { font-size: 11px; }*/
    /* h3 */
    .worksArea .worksBox .inner h3 {
        /* font-size: 11px; */
        line-height: 1.8;
        margin-top: 5px;
    }
}

@media only screen and (max-width: 500px) {
    .worksArea .worksBox {
        width: 100%;
    }
}

@media only screen and (max-width: 414px) {
    .worksArea .worksBox p.date {
        letter-spacing: 0.5px;
    }

    .worksArea .worksBox .inner h3 {
        line-height: 1.8;
    }

    .worksArea .worksBox ul.category li {
        /* font-size: 9px; */
        padding: 0 5px 0 18px;
    }

    .worksArea .worksBox .icon_award {
        top: 6px;
        right: 4%;
        width: 30px;
        height: 30px;
    }
}


/* 商品紹介 */


/* ----------------------------------------------------------
   .headline
   ---------------------------------------------------------- */

.headline {
    margin-bottom: 15px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.headline h2.en {
    font-size: 16px;
    /*     font-family: 'Poppins', sans-serif; */
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1;
}

.headline h2.jp {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 2px;
    margin-top: 10px;
    margin-bottom: 5px;
}

@media only screen and (max-width: 900px) {
    .headline {
        margin-bottom: 45px;
    }

    .headline h2.en {
        /* font-size: 30px; */
    }

    .headline h2.jp {
        font-size: 18px;
        font-weight: 700;
        letter-spacing: 1px;
        line-height: 1;
        margin-top: 15px;
        margin-bottom: 10px;
    }
}

@media only screen and (max-width: 736px) {
    .headline {
        margin-bottom: 40px;
    }

    .headline h2.en {
        font-size: 14px;
    }

    .headline h2.jp {
        /* font-size: 13px; */
        margin-top: 10px;
    }
}

@media only screen and (max-width: 414px) {
    .headline h2.jp {
        /* font-size: 12px; */
    }
}


/* -----------------------------------------------------------
  #home_news
   ----------------------------------------------------------- */

#home_news {
    float: left;
    width: 25%;
    padding: 0.5%;
    /*background: url(../images/pattern/noise.png) repeat #d9e3eb;*/
}

@media only screen and (max-width: 900px) {
    #home_news {
        float: none;
        width: 100%;
        background: #f0f0f0;
        padding: 80px 5%;
    }
}

@media only screen and (max-width: 736px) {
    #home_news {
        padding: 70px 5%;
    }
}


/* --------- .newsArea --------- */

#home_news .newsArea {
    margin: 0 auto;
    max-width: 900px;
}

#home_news .newsArea dl {
    margin: 1px 0 0;
    padding: 5px 15px;
    font-size: 13px;
    line-height: 2;
    text-align: left;
    letter-spacing: 1px;
    background: #fefefe;
    position: relative;
    z-index: 1;
}

#home_news .newsArea dl:first-child {
    margin: 0;
}

#home_news .newsArea dl dt {
    display: block;
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    line-height: 1.2;
}

#home_news .newsArea dl dt span {
    padding-left: 5px;
    color: #e96c36;
}

#home_news .newsArea dl dd {
    display: flex;
}

#home_news .newsArea dl a {
    /* position: absolute; */
    /* top: 0; */
    /* right: 0; */
    /* bottom: 0; */
    /* left: 0; */
    /* z-index: 1; */
    line-height: 1.5;
}

#home_news .newsArea dl:after {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 100%;
    height: 0;
    content: "";
    border-bottom: transparent 3px solid;
    z-index: 1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#home_news .newsArea dl:hover:after {
    right: 0;
    border-color: #111;
}

@media only screen and (max-width: 900px) {
    #home_news .newsArea dl:after {
        display: none;
    }
}

@media only screen and (max-width: 736px) {
    #home_news .newsArea dl {
        font-size: 12px;
    }
}


/* --------------------------------------------------------- */


/* Chapter section outline */

.chapter-section {
    position: relative;
    max-width: 1580px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 50px;
}

.chapter-section:before {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    width: 100%;
    height: 3px;
    background-image: var(--svg-v-line-bk);
    opacity: 0.5;
}

.chapter-section:first-of-type:before {
    display: none;
}

.chapter-section:first-of-type {
    padding-top: 40px;
}

.chapter-section-header {
    width: calc(100% - 60px);
    margin: 0 auto 70px auto;
    box-sizing: border-box;
    text-align: center;
}

.chapter-section-header__ttl {
    display: inline-flex;
    margin-bottom: 10px;
    font-size: 1.8rem;
    font-weight: normal;
    letter-spacing: 0.15em;
}

.chapter-section-header__more {
    display: none;
}

.chapter-section-header .more-btn__label {
    writing-mode: horizontal-tb;
    writing-mode: sideways-lr;
    border: 1px solid #333;
    padding: 0.5em 1em;
    font-size: 13px;
    border-radius: 0.2em;
}

.chapter-section-body {}

@media print,
screen and (min-width: 768px) {
    .chapter-section {
        padding-top: 80px;
        margin-bottom: 80px;
    }

    .chapter-section-header {
        width: calc(100% - 100px);
    }
}

@media screen and (min-width: 1280px) {
    .chapter-section {}

    .chapter-section-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: calc(100% - 180px);
        text-align: left;
    }

    .chapter-section-header__more {
        display: block;
    }

    .chapter-section-header>* {
        margin-bottom: 0;
    }

    .chapter-section-header__ttl {
        font-size: 2.8rem;
        transform: scaleY(0.95) !important;
        transform-origin: left;
        letter-spacing: 0.15em;
    }
}


/* --------------------------------------------------------- */


/* Chapter contents */

.extra-outer {}

.extra {
    width: 100%;
    text-align: left;
}

@media screen and (min-width: 1280px) {
    .pick-up-contents {
        position: relative;
        padding-top: 100px;
    }

    .pick-up-contents::before {
        content: "";
        position: absolute;
        top: 0;
        display: block;
        width: 100%;
        height: 3px;
        background-image: var(--svg-v-line-bk);
        opacity: 0.5;
    }

    .extra-outer {
        margin-bottom: 140px;
    }

    .extra {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-direction: row-reverse;
    }
}

.extra__ttl {
    font-size: 2rem;
    letter-spacing: 0.15em;
}

@media screen and (min-width: 1280px) {

    /* 
	   chromeだけ 縦書中に position + padding の同要素指定にバグがある。
	   配置とpaddingは別要素に指定する必要がある。
	 */
    .extra__ttl-outer a {
        /* writing-mode: tb-rl; */
        /* writing-mode: vertical-rl; */
        font-feature-settings: normal;
        position: absolute;
        right: -0px;
        top: -20px;
        bottom: auto;
        left: auto;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
    }

    .extra__ttl {
        position: absolute;
        /* left: auto; */
        right: 0;
        top: -20px;
        width: 30em;
        /* background-color: #fff; */
        /* border-radius: 0 0 0 20px; */
        padding: 0 0px 0px;
        /* height: auto; */
        margin: 0;
        font-size: 2.2rem;
        letter-spacing: 0.05em;
        text-align: right;
    }

    .extra__ttl-inner {
        display: inline-block;
        height: calc(100% / 0.99);
    }

    .extra__ttl-text-transform {
        display: inline-block;
        transform: scaleY(0.9);
        transform-origin: 0 0;
    }

    .extra__ttl::before,
    .extra__ttl::after {
        position: absolute;
        display: block;
        top: 0;
        /* width: 30px; */
        /* height: 30px; */
        content: "";
        background-image: var(--svg-round-out-corners-RT-wt);
        background-size: cover;
    }

    .extra__ttl::before {
        left: -60px;
        top: 0px;
        bottom: auto;
    }

    .extra__ttl::after {
        right: 40px;
        top: auto;
        bottom: -30px;
    }

    .extra__ttl .in-corner {
        pointer-events: none;
        position: absolute;
        left: 0;
        top: 0;
        display: block;
        width: 100%;
        height: 100%;
    }

    .extra__ttl .in-corner::before {
        position: absolute;
        display: block;
        bottom: 0;
        left: 0;
        width: 20px;
        height: 20px;
        content: "";
        background-image: var(--svg-round-in-corners-RT-wt);
        background-size: cover;
    }
}

.extra__anchor {
    display: block;
    font-weight: bolder;
}

.extra__img {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    overflow: hidden;
    border-radius: 5px;
}

.extra__img .img-in-corner::before,
.extra__img .img-in-corner::after {
    width: 30px;
    height: 30px;
}

.extra__img-inner {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.extra__img-inner.current {
    opacity: 1;
}

.extra__img-inner:first-child {
    position: relative;
}

.extra__img img {
    display: block;
    width: 100%;
    /* 	height: 45vh; */
    /* 	min-height: 260px; */
}

.extra-1-1-img {
    background-image: url(/assets/img/home/about_main_1.webp);
}

.-no-webp .extra-1-1-img {
    background-image: url(/assets/img/home/about_main_1.jpg);
}

@media screen and (min-width: 768px) {
    .extra__img img {
        height: auto;
    }
}

@media screen and (min-width: 1280px) {
    .extra__img {
        width: calc(100% - 250px);
        transform: translateX(0);
        margin: 0;
        border-radius: 5px;
    }

    .extra__img img {
        border-radius: 5px;
        object-fit: cover;
        width: 100%;
        min-height: 400px;
    }
}

.extra__video {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    overflow: hidden;
    border-radius: 5px;
}

.extra__video .img-in-corner::before,
.extra__video .img-in-corner::after {
    width: 30px;
    height: 30px;
}

.extra__video img {
    display: block;
    width: 100%;
    height: 45vh;
    min-height: 260px;
}

.extra__video-inner {
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1);
    transform: scale(1.01);
}

.extra__video .main-player {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 300%;
    height: 100%;
    left: -100%;
    /*opacity: 0;*/
    transition: opacity 1s ease;
}

.extra__video.video_playing .main-player {
    opacity: 1;
}

@media screen and (min-width: 768px) {
    .extra__video img {
        height: auto;
    }
}

@media screen and (min-width: 1280px) {
    .extra__video {
        width: calc(100% - 160px);
        transform: translateX(0);
        margin: 0;
        border-radius: 10px;
    }

    .extra__video img {
        border-radius: 5px;
        object-fit: cover;
        width: 100%;
        min-height: 400px;
    }
}


/* ------------------------- */

.extra.carrers .extra__video {
    background-image: url(/assets/img/careers/main.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* ------------------------- */

.extra__body {
    flex-direction: column;
    align-items: flex-start;
}

.extra__body>* {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .extra__body {
        width: 100%;
    }
}

@media screen and (min-width: 1280px) {

    /* 
	   chromeだけ 縦書中に position + padding の同要素指定にバグがある。
	   配置とpaddingは別要素に指定する必要がある。
	 */
    .extra__body-outer {
        position: absolute;
        top: auto;
        right: auto;
        left: -0;
        top: 40px;
        bottom: -1px;
        width: auto;
        /* height: 360px; */
        margin: 0;
    }

    .extra__body {
        position: relative;
        width: 250px;
        margin: 0;
        top: -30px;
        padding: 10px 50px 0 0;
        box-sizing: border-box;
        background-color: #fff;
        border-radius: 0 15px 0 0;
        writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-feature-settings: normal;
        font-size: 1.8rem;
        /* text-align: justify; */
        letter-spacing: 0.05em;
        /* display: block; */
        display: flex;
        flex-flow: column wrap;
    }

    .extra__body::before,
    .extra__body::after {
        position: absolute;
        display: block;
        top: 0;
        width: 30px;
        height: 30px;
        content: "";
        /* background-image: var(--svg-round-out-corners-LB-wt); */
        background-size: cover;
    }

    .extra__body::before {
        left: 160px;
        top: -30px;
        bottom: auto;
    }

    .extra__body::after {
        right: -30px;
        top: auto;
        bottom: 0px;
    }

    .extra__body .in-corner {
        position: absolute;
        left: 0;
        top: 0;
        display: block;
        width: 100%;
        height: 100%;
    }

    .extra__body .in-corner::before {
        position: absolute;
        display: block;
        top: 0;
        right: 0;
        width: 20px;
        height: 20px;
        content: "";
        background-image: var(--svg-round-in-corners-LB-wt);
        background-size: cover;
    }

    .extra__body>* {
        width: auto;
    }
}

.extra__des {
    margin: 0 0 20px;
}

@media screen and (min-width: 1280px) {
    .extra__des {
        margin: 0 0 0 0;
        transform: scaleY(0.9);
        transform-origin: 0 0;
        /* height: calc(100% / 0.9); */
        height: calc(100% / 1.2);
        /* display: block; */
        /* float: right; */
        flex: 0 0 100%;
    }

    .extra__des p {
        margin: 0 0 0 0;
    }
}

.extra-chapter__list {
    list-style: none;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
}

.extra-chapter__list.-sub {
    display: none;
}

.extra-chapter__list li {
    margin-bottom: 0.75em;
}

.extra-chapter__list li:last-child {
    margin-bottom: 0;
}

@media screen and (min-width: 1280px) {
    .extra-chapter__list {
        /* display: block; */
        margin: 0;
        text-align: right;
        /* float: right; */
        /* width: 250px; */
        flex: 0 0 100%;
    }

    .extra-chapter__list.-sub {
        display: block;
        text-align: right;
    }

    .extra-chapter__list li {
        display: inline-block;
        margin-right: 30px;
        margin: 0 15px 15px 0;
        display: block;
    }

    .extra-chapter__list.-sub li {
        margin: 15px 15px 0 0;
    }
}

@media screen and (min-width: 1280px) {

    /* reverse */
    .extra.-reverse {
        flex-direction: row;
    }

    .extra.-reverse .extra__img {
        transform: translateX(-60px);
    }
}


/* 補聴器*/

.ha_viewarea-inner {}

.ha_viewarea-inner .wrap {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    flex-wrap: nowrap;
}

.ha_viewarea-inner .wrap {}

.ha_viewarea-inner {
    background: #f3f3f3;
}

.ha_viewarea-inner:nth-child(even) {
    background: #fff;
}

.ha_viewarea-inner .wrap:nth-child(odd) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-transform: translate3d(0px, 20px, 0);
    transform: translate3d(0px, 20px, 0);
    -webkit-transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    z-index: 1
        /*       */
    ;
    flex-direction: row-reverse;
}

.ha_viewarea-inner .wrap:nth-child(even) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-transform: translate3d(0px, 20px, 0);
    transform: translate3d(0px, 20px, 0);
    -webkit-transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    z-index: 1
        /*     flex-direction: row-reverse; */
}

.ha_viewarea-image {
    order: 1;
}

.ha_viewarea-inner .num {
    width: 50px;
    height: 50px;
    padding-top: 13px;
    border: 1px solid #b2b2b2;
    background: #FFC107;
    font-size: 25px;
    font-family: 'Hind Guntur', sans-serif;
    font-weight: 400;
    text-align: center;
    line-height: 1;
    float: left;
    clear: left;
    border-radius: 5%;
    -webkit-border-radius: 5%;
    -moz-border-radius: 5%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

@media screen and (min-width: 768px) {
    .ha_viewarea-inner {
        height: 100%;
        padding: 60px 0;
    }
}

@media screen and (min-width: 1000px) {
    .ha_viewarea-inner:nth-child(odd) {
        flex-direction: row-reverse;
    }

    .ha_viewarea-inner:nth-child(even) {
        background: #fff;
    }

    .ha_viewarea-inner {
        /* position: absolute; */
        /* top: calc(((100% - 728px) / 2)) */
    }
}

.ha_viewarea-imagearea {
    /* background-color: #eee; */
    min-width: 512px;
    overflow: hidden;
    width: 30%;
}

@media screen and (max-width: 1180px) {
    .ha_viewarea-imagearea {
        min-width: 350px;
        width: 350px
    }
}

.ha_viewarea-image {
    height: 100%
}

.ha_viewarea-image source,
.ha_viewarea-image img {
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover";
    /* height: 100%; */
    width: 100%;
    padding: 2%;
    order: 1;
    /* flex-direction: row-reverse; */
}

.ha_viewarea-textarea {
    /* background-color: #eaeaea; */
    overflow: hidden;
    padding: 30px 115px 0 59px;
    position: relative;
    width: 70%;
}

@media screen and (max-width: 1080px) {
    .ha_viewarea-textarea {
        overflow-y: auto
    }
}

@media screen and (max-width: 767px) {
    .ha_viewarea-textarea {
        overflow-y: hidden
    }
}

.ha_viewarea-textarea-name {
    font-size: 30px;
    font-weight: 400;
    line-height: 1.8;
    font-family: "Yu Mincho", "YuMincho";
    /* margin-top: 27px */
    padding-left: 60px;
}

.ha_viewarea-textarea-hurigana {
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    font-family: "Yu Mincho", "YuMincho";
    letter-spacing: 3px;
    margin-top: 13px
}

.ha_viewarea-textarea-detail {
    margin-top: 25px;
    margin-left: 3px;
    padding-top: 25px;
    position: relative
}

.ha_viewarea-textarea-detail:before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #9E9E9E;
    position: absolute;
    top: 2px;
    left: 1px;
    height: 1px;
    width: 100%;
}

.ha_viewarea-textarea-tit {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    font-family: "Yu Mincho", "YuMincho"
}

.ha_viewarea-textarea-txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 2.35714;
}

.ha_viewarea-textarea-txt:not(:first-of-type) {
    margin-top: 11px
}

.ha_viewarea-textarea-table {
    margin-top: 20px;
    position: relative;
    z-index: 99
}

.ha_viewarea-textarea-table dl {
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-top: 1px solid #ddd;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 20px 0 19px 6px;
}

.ha_viewarea-textarea-table dt {
    min-width: 136px
}

.ha_viewarea-textarea-table dd {
    font-size: 20px;
    line-height: 1.23077;
    color: #000000;
    display: inline-block;
    word-break: break-all;
}

.ha_viewarea-textarea-table dd a {
    font-size: 20px;
    line-height: 1.23077;
    color: #1c7098;
    display: inline-block;
    word-break: break-all;
}

.ha_viewarea-textarea-table dd a[target="_blank"]:after {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/common/ico-blank_sm-glay.svg);
    margin-top: -4px;
    margin-left: 4px;
    -webkit-transition: background-image .2s linear;
    transition: background-image .2s linear;
    height: 8px;
    width: 8px
}

@media screen and (min-width: 768px) and (max-height: 690px) {
    .ha_viewarea-wrap {
        height: calc(100% - 5%);
        width: calc(100% - 5%)
    }

    .ha_viewarea-inner {
        height: inherit
    }

    .ha_viewarea-textarea {
        overflow-y: auto
    }
}

@media screen and (max-width: 767px) {
    .ha_viewarea-inner .wrap {
        flex-wrap: wrap;
    }

    .brands__viewarea {
        padding: 38px 20px 60px
    }

    .ha_viewarea-tit {
        font-size: 12px;
        line-height: 1;
        margin-left: -2px
    }

    .ha_viewarea-tit-catename {
        letter-spacing: 2.6px
    }

    .ha_viewarea-tit-brandkind {
        letter-spacing: 2.6px;
        margin-left: 11px;
        padding-left: 13px
    }

    .ha_viewarea-tit-brandkind:before {
        top: 2px;
        height: 8px
    }

    .ha_viewarea-inner {
        margin-top: 22px
    }

    .ha_viewarea-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: 0
    }

    .ha_viewarea-link {
        padding: 23px 0px 30px;
        height: 188px;
        width: 100%
    }

    .ha_viewarea-link:before,
    .ha_viewarea-link:after {
        bottom: 15px;
        right: 10px;
        width: 10px
    }

    .ha_viewarea-item {
        width: calc((100% / 2) - 1px)
    }

    .ha_viewarea-item:nth-of-type(even) {
        margin-left: 1px
    }

    .ha_viewarea-item:nth-of-type(n+3) {
        margin-top: 1px
    }

    .ha_viewarea-item-tit {
        font-size: 10px;
        line-height: 1;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-left: 9px
    }

    .ha_viewarea-item-tit-catename {
        letter-spacing: .3px
    }

    .ha_viewarea-item-tit-brandkind {
        letter-spacing: .3px;
        margin-top: 3px;
        margin-left: 0;
        padding-left: 0
    }

    .ha_viewarea-item-tit-brandkind:before {
        display: none
    }

    .ha_viewarea-item-image {
        margin-top: 28px;
        margin-left: 4px
    }

    .ha_viewarea {
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        height: 100%;
        width: 100%
    }

    .ha_viewarea-bg {
        bottom: 0;
        right: 0
    }

    .ha_viewarea-wrap {
        bottom: 0;
        display: block;
        left: 0;
        overflow-y: auto;
        position: relative;
        -webkit-overflow-scrolling: touch;
        right: 0;
        top: 0;
        height: inherit;
        width: 100%;
        z-index: 1
    }

    .ha_viewarea-inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 20px;
        position: relative;
        width: 100%;
        z-index: 999999
    }

    .ha_viewarea-imagearea {
        height: 250px;
        width: 100%;
        min-width: 100%
    }

    .ha_viewarea-image {
        display: inline-block;
        height: 100%;
        width: 100%
    }

    .ha_viewarea-image img,
    .ha_viewarea-image source {
        -o-object-fit: cover;
        object-fit: cover;
        font-family: "object-fit: cover";
        height: 100%;
        width: 100%
    }

    .ha_viewarea-image img {
        display: inline-block
    }

    .ha_viewarea-textarea {
        padding: 20px 20px;
        width: 100%;
    }

    .ha_viewarea-textarea:after {
        font-size: 177.5px;
        font-weight: 400;
        line-height: 1;
        bottom: -188px;
        content: "";
        color: rgba(145, 124, 80, 0.03);
        left: 30px;
        letter-spacing: -53px;
        position: absolute
    }

    .ha_viewarea-textarea-caption {
        font-size: 12px;
        line-height: 1
    }

    .ha_viewarea-textarea-caption-catename {
        letter-spacing: .4px
    }

    .ha_viewarea-textarea-caption-brandkind {
        letter-spacing: .4px;
        margin-left: 10px;
        padding-left: 10px
    }

    .ha_viewarea-textarea-caption-brandkind:before {
        top: 2px;
        height: 8px
    }

    .ha_viewarea-textarea-name {
        font-size: 21px;
        line-height: 1;
        margin-top: 20px
    }

    .ha_viewarea-textarea-hurigana {
        font-size: 11px;
        line-height: 1;
        letter-spacing: 3px;
        margin-top: 6px
    }

    .ha_viewarea-textarea-detail {
        margin-top: 12px;
        margin-left: 0;
        padding-top: 22px;
        position: relative
    }

    .ha_viewarea-textarea-detail:before {
        top: 2px;
        left: 0;
        height: 1px;
        width: 100%;
    }

    .ha_viewarea-textarea-tit {
        font-size: 16px;
        line-height: 1.25
    }

    .ha_viewarea-textarea-txt {
        font-size: 12px;
        line-height: 1.75
    }

    .ha_viewarea-textarea-txt:not(:first-of-type) {
        margin-top: 8px
    }

    .ha_viewarea-textarea-table {
        margin-top: 25px
    }

    .ha_viewarea-textarea-table dl {
        font-size: 13px;
        font-weight: 400;
        line-height: 1;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 16px 0 13px 6px
    }

    .ha_viewarea-textarea-table dt {
        min-width: 100%
    }

    .ha_viewarea-textarea-table dd {
        margin-top: 7px
    }
}

#cnt-item-box {
    background: #dee2e2;
    display: flex;
    padding: 50px 0 50px;
}

#cnt-item-box .cnt-item {
    max-width: 1280px;
    width: 100%;
    height: 500px;
    margin: 0 auto 0;
    padding: 50px;
    box-sizing: border-box;
    background: #fff;
    display: flex;
    position: relative;
}

#cnt-item-box .cnt-item .text-box {
    width: 45%;
    order: 2;
    box-sizing: border-box;
}

#cnt-item-box .cnt-item .text-box .text-box-in {
    top: 50%;
    transform: translate(0, -50%);
    position: relative;
}

#cnt-item-box .cnt-item .text-box h2 {
    /* font-family: 'Abel', sans-serif; */
    color: #333;
    opacity: 0.9;
    font-weight: 700;
    line-height: 1.3em;
    box-sizing: border-box;
    font-size: 1.6em;
    letter-spacing: 0.1em;
}

#cnt-item-box .cnt-item .text-box h3 {
    font-size: 1.3em;
    letter-spacing: 0.1em;
    font-weight: normal;
    color: #777;
}

#cnt-item-box .cnt-item .text-box p {
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.8;
    /* font-family: 'Abel', sans-serif; */
}

#cnt-item-box .cnt-item .image-box {
    width: 55%;
    padding-right: 40px;
    box-sizing: border-box;
    order: 1;
}

#cnt-item-box .cnt-item .num01 .image {
    width: 100%;
    height: 100%;
    background: url(../../hearingaid/img/ha-01.jpg) no-repeat top;
    background-size: cover;
}


/* #cnt-item-box .cnt-item .num02 .image{
    width:100%;
    height:100%;
    background: url(../images/pre_02.jpg) no-repeat top;
    background-size:cover;
}
#cnt-item-box .cnt-item .num03 .image{
    width:100%;
    height:100%;
    background:url(../images/pre_03.jpg) no-repeat top;
    background-size:cover;
} */

@media screen and (max-width: 1580px),
(max-device-width: 1580px) {

    /*     #cnt-copy1 .text-box, */
    #cnt-item-box .cnt-item {
        width: calc(100% - 200px);
        width: -webkit-calc(100% - 100px);
    }
}

@media screen and (max-width: 920px),
(max-device-width: 920px) {
    #cnt-item-box .cnt-item {
        display: block;
        height: auto;
    }

    #cnt-item-box .cnt-item .text-box {
        width: 100%;
    }

    #cnt-item-box .cnt-item .text-box .text-box-in {
        top: 0;
        padding: 0 20px;
        transform: translate(0, 0);
    }

    #cnt-item-box .cnt-item .image-box {
        width: 100%;
        height: 400px;
        padding: 0;
        margin-top: 30px;
    }
}

@media screen and (max-width: 800px),
(max-device-width: 800px) {
    #cnt-item-box .cnt-item .image-box {
        height: 350px;
    }
}

@media screen and (max-width: 700px),
(max-device-width: 700px) {
    #cnt-item-box .cnt-item {
        width: calc(100% - 200px);
        width: -webkit-calc(100% - 200px);
    }

    #cnt-item-box .cnt-item .image-box {
        height: 300px;
    }
}

@media screen and (max-width: 600px),
(max-device-width: 600px) {
    #cnt-item-box {
        padding: 10px 0 40px;
        width: 100%;
        box-sizing: border-box;
    }

    #cnt-item-box .cnt-item {
        padding: 40px 20px;
        box-sizing: border-box;
        margin: 40px auto 0;
        width: calc(100% - 40px);
        width: -webkit-calc(100% - 40px);
    }

    #cnt-item-box .cnt-item {
        margin: 30px auto 0;
        width: 100%;
    }

    #cnt-item-box .cnt-item .text-box .text-box-in {
        padding: 0;
    }

    #cnt-item-box .cnt-item .text-box h2 {
        font-size: 1.4em;
    }

    #cnt-item-box .cnt-item .text-box h3,
    #cnt-item-box .cnt-item .text-box p {
        text-size-adjust: 100%;
        -webkit-text-size-adjust: 100%;
    }

    #cnt-item-box .cnt-item .image-box {
        height: 250px;
    }
}

.gallery_col {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /* align-items: center; */
    padding: 1em 0.1em;
    max-width: 1280px;
    margin: 0 auto;
    /*     align-items: flex-start; */
    height: 100%;
}

.gallery_col>div {
    flex: 1 0 200px;
    margin: 0.4em 0.5em;
    padding: 1em;
    border: 1px solid #ddd;
    font-weight: 500;
}

.line_col {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 1em 0.1em;
    max-width: 1280px;
    margin: 0 auto;
    align-items: flex-start;
    height: 100%;
}

.line_col>div {
    flex: 1 0 200px;
    margin: 0.4em 0.5em;
    padding: 1em;
    border: 1px solid #ddd;
    font-weight: 500;
    text-align: center;
    justify-content: center;
    align-items: center;
}

.boxLine .why_txt {
    font-size: 18px;
    color: #fefefe;
    line-height: 2;
    background: #008175;
    padding: 3px 5px;
}

.boxLine .why_com {
    font-size: 15px;
    font-size: 16px;
    /* color: #000; */
    line-height: 2;
    text-align: left;
}

.boxLine img {
    max-width: 290px;
    width: 100%;
    margin: 0 auto;
    /* padding: 5%; */
}

@media only screen and (max-width: 738px) {
    .boxLine img {
        width: 100%;
    }
}

.turnArea {
    padding: 50px 2%;
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
}

.turnArea .title_A {
    font-size: 25px;
    line-height: 2;
    margin-bottom: 10px;
}

.turnArea .title_caption {
    font-size: 18px;
}

.turnArea .title_arrow {
    margin-top: 20px;
    font-size: 18px;
    line-height: 2;
    text-align: center;
    /* border:#ddd 1px solid; */
    /* padding:5px;
    border-radius:0.5em; */
}

.turnArea .txt_border {
    border: #ddd 1px solid;
    padding: 10px;
    border-radius: 0.5em;
}

.turnArea .txt_nami {
    background: linear-gradient(transparent 70%, #FFEB3B 70%);
}

@media only screen and (max-width: 800px) {
    .turnArea {
        padding: 50px 5%;
    }
}

@media only screen and (max-width: 738px) {
    .turnArea {
        padding: 40px 5%;
    }

    .turnArea .title_A {
        font-size: 20px;
        line-height: 2;
    }
}

.boxSignia {
    position: relative;
    margin: 2em 0 2em;
    padding: 1.5em 1em 0.5em;
    border: solid 2px #000;
    /* border-radius: 8px; */
    /* flex-wrap: wrap; */
}

.boxSignia .box-titleA {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 18px;
    background: #FFF;
    color: #000;
    font-weight: 500;
}

.boxSignia_box {
    display: flex;
    flex-wrap: wrap;
}

.boxSignia_box>div {
    flex: 0 0 50%;
}

.boxSignia_box>div img {
    width: 80%;
    margin: 0 10%;
}

.boxSignia p {
    margin: 0;
    padding: 0.5em;
}

@media only screen and (max-width: 500px) {
    .boxSignia_box>div {
        flex: 0 0 100%;
    }
}

.boxFlexible .why_txt {
    font-size: 16px;
    color: #008175;
    line-height: 2;
}

.boxFlexible .why_com {
    font-size: 15px;
    font-size: 1em;
    /* color: #000; */
    line-height: 2;
}

.boxFlexible img {
    /* max-width:200px; */
    width: 100%;
    margin: 0 auto;
    padding: 2％;
}

@media only screen and (max-width: 738px) {
    .boxFlexible img {
        width: 100%;
    }
}

.boxHozon {
    width: calc(98%);
    margin: 0.5% auto;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 1%;
}

.boxHozon .box-title {
    font-size: 1.2em;
    /* background: #919191; */
    border-bottom: 1px solid #ddd;
    padding: 4px 4px 4px 1.8em;
    text-align: left;
    color: #5d5d5d;
    font-weight: bold;
    letter-spacing: 0.05em;
    position: relative;
}

.boxHozon .box-title:before {
    position: relative;
    /*     font-family: 'themify';
    content: "\e60a"; */
    font-family: 'Font Awesome 6 pro';
    content: "\f46d";
    position: absolute;
    left: 0.5em;
    color: #607D8B;
    font-size: 1.3em;
    top: -3px;
}

.boxHozon p {
    padding: 15px 20px;
}

.boxHozon li {
    line-height: 1.5;
    padding: 0.5em 2em 0.5em 2em;
    border-bottom: dashed 1px silver;
    list-style-type: none !important;
}

.boxHozon li:last-of-type {
    border-bottom: none;
}

.boxHozon li:before {
    font-family: 'Font Awesome 6 pro';
    content: "\f14a";
    /*     font-family: 'Font Awesome 6 pro';
    content: "\f737"; */
    position: relative;
    left: 0;
    padding-right: 1em;
    color: #777777;
    font-size: 1.2em;
}


/* 補聴器 */


/* 金地金 */

#gold .menu {
    font-size: 10px;
    letter-spacing: 0.13em;
    /*   position: fixed; */
    top: 35px;
    right: 97px;
    z-index: 555;
}

#gold .menu li {
    float: left;
    margin-left: 14px;
}

.tra05 {
    -webkit-transition: all 500ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all 500ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.hover:hover {
    cursor: pointer;
    filter: alpha(opacity=60);
    opacity: 0.6;
}

#gold-item-box_cat {
    /* background: #fafafa; */
    /* display: flex; */
    padding: 3%;
}

article#gold-item-box_cat {}

#gold-item-box_cat .gold-item {
    max-width: 1280px;
    width: 100%;
    /* height: 500px; */
    margin: 0 auto 0;
    padding: 3%;
    box-sizing: border-box;
    background: #fff;
    /* display: flex; */
    position: relative;
}

#gold-item-box_cat .gold-item .text-box {
    width: 100%;
    order: 2;
    box-sizing: border-box;
    padding: 2%;
    line-height: 2;
    /* background: #fefefe; */
    font-size: 15px;
}

#gold-item-box_cat .gold-item .text-box::before {
    position: absolute;
    top: 7px;
    left: 0;
    bottom: 7px;
    right: 0;
    content: "";
    border: #ddd 1px solid;
    z-index: index 1;
}

#gold-item-box_cat .gold-item .text-box::after {
    position: absolute;
    top: 0;
    left: 7px;
    bottom: 0;
    right: 7px;
    content: "";
    border: #ddd 1px dotted;
    z-index: 3;
}

#gold-item-box {
    background: #fafafa;
    display: flex;
    padding: 50px 0 50px;
}

#gold-item-box .gold-item {
    max-width: 1280px;
    width: 100%;
    height: 500px;
    margin: 0 auto 0;
    padding: 50px;
    box-sizing: border-box;
    background: #fff;
    display: flex;
    position: relative;
}

#gold-item-box .gold-item .text-box {
    width: 45%;
    order: 2;
    box-sizing: border-box;
}

#gold-item-box .gold-item .text-box .text-box-in {
    top: 50%;
    transform: translate(0, -50%);
    position: relative;
}

#gold-item-box .gold-item .text-box h2 {
    /* font-family: 'Abel', sans-serif; */
    color: #333;
    opacity: 0.9;
    font-weight: 700;
    line-height: 1.6em;
    box-sizing: border-box;
    font-size: 1.6em;
    letter-spacing: 0.1em;
}

#gold-item-box .gold-item .text-box h3 {
    font-size: 1.3em;
    letter-spacing: 0.1em;
    font-weight: normal;
    color: #777;
}

#gold-item-box .gold-item .text-box p {
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.8;
    /* font-family: 'Abel', sans-serif; */
}

#gold-item-box .gold-item .image-box {
    width: 55%;
    padding-right: 40px;
    box-sizing: border-box;
    order: 1;
}

#gold-item-box .gold-item .num01 .image {
    width: 100%;
    height: 100%;
    background: url(../../gold/img/gold_1.jpg) no-repeat top right;
    background-size: cover;
}

@media screen and (max-width: 1580px),
(max-device-width: 1580px) {

    /*     #cnt-copy1 .text-box, */
    #gold-item-box .gold-item {
        width: calc(100% - 200px);
        width: -webkit-calc(100% - 100px);
    }
}

@media screen and (max-width: 920px),
(max-device-width: 920px) {
    #gold-item-box .gold-item {
        display: block;
        height: auto;
    }

    #gold-item-box .gold-item .text-box {
        width: 100%;
    }

    #gold-item-box .gold-item .text-box .text-box-in {
        top: 0;
        padding: 0 20px;
        transform: translate(0, 0);
    }

    #gold-item-box .gold-item .image-box {
        width: 100%;
        height: 400px;
        padding: 0;
        margin-top: 30px;
    }
}

@media screen and (max-width: 800px),
(max-device-width: 800px) {
    #gold-item-box .gold-item .image-box {
        height: 350px;
    }
}

@media screen and (max-width: 700px),
(max-device-width: 700px) {
    #gold-item-box .gold-item {
        width: calc(100% - 200px);
        width: -webkit-calc(100% - 200px);
    }

    #gold-item-box .gold-item .image-box {
        height: 300px;
    }
}

@media screen and (max-width: 600px),
(max-device-width: 600px) {
    #gold-item-box {
        padding: 10px 0 40px;
        width: 100%;
        box-sizing: border-box;
    }

    #gold-item-box .gold-item {
        padding: 40px 20px;
        box-sizing: border-box;
        margin: 40px auto 0;
        width: calc(100% - 40px);
        width: -webkit-calc(100% - 40px);
    }

    #gold-item-box .gold-item {
        margin: 30px auto 0;
        width: 100%;
    }

    #gold-item-box .gold-item .text-box .text-box-in {
        padding: 0;
    }

    #gold-item-box .gold-item .text-box h2 {
        font-size: 1.4em;
    }

    #gold-item-box .gold-item .text-box h3,
    #gold-item-box .gold-item .text-box p {
        text-size-adjust: 100%;
        -webkit-text-size-adjust: 100%;
    }

    #gold-item-box .gold-item .image-box {
        height: 250px;
    }
}

.gold_col {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /* align-items: center; */
    padding: 1em 0.1em;
    max-width: 1280px;
    margin: 0 auto;
    /*     align-items: flex-start; */
    height: 100%;
}

.gold_col>div {
    flex: 1 0 250px;
    margin: 0.4em 0.5em;
    padding: 1em;
    border: 1px solid #ddd;
    font-weight: 500;
}

.goldArea {
    padding: 50px 2%;
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
}

.goldArea .title_A,
.gold_bsul .title_A {
    font-size: 25px;
    line-height: 2;
    margin-bottom: 10px;
}

.goldArea .title_caption {
    font-size: 18px;
}

.goldArea .txt_nami,
.gold_bsul .txt_nami {
    background: linear-gradient(transparent 70%, #a39839 70%);
}

@media only screen and (max-width: 800px) {
    .goldArea {
        padding: 50px 5%;
    }
}

@media only screen and (max-width: 738px) {
    .goldArea {
        padding: 40px 5%;
    }

    .goldArea .title_A,
    .gold_bsul .title_A {
        font-size: 20px;
        line-height: 2;
    }
}

.goldArea_btn ul {
    list-style: none;
    display: flex;
}

.goldArea_btn li {
    width: 22%;
    text-align: center;
    background-color: #333;
    height: 50px;
    line-height: 50px;
    margin-right: 2px;
}

.goldArea_btn li a {
    text-decoration: none;
    color: #fff;
    font-weight: bold;
    padding: 20px;
}


/* .goldAreaL */

.goldAreaL {
    /* margin: 80px 0 0; */
    padding: 15px 5% 15px;
    text-align: center;
    font-size: 0;
    /* position: relative; */
    background: #f3f3f3;
    z-index: 1;
}

.goldAreaL .icon_stage {
    display: block;
    margin: 0 auto 15px;
    height: 55px;
    background: url(../images/service/icon_stage.png) center center no-repeat;
    background-size: contain;
}

.goldAreaL h4 {
    /* color: #fefefe; */
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* ul */

.goldAreaL ul {
    list-style: none;
    display: flex;
    margin-top: 25px;
    font-size: 0;
    /* flex-direction: column; */
    /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center;
    /* 子要素をflexboxにより中央に配置する */
    align-items: center;
    /* 子要素をflexboxにより中央に配置する */
}

.goldAreaL ul a {
    color: #ddd
}

.goldAreaL ul li {
    /* display: inline-block; */
    /* width: 25%; */
    /* border: transparent 10px solid; */
    color: #000;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: 0.5px;
    padding: 15px 0%;
    position: relative;
    /* z-index: 1; */
    /* flex-wrap: wrap; */
    /* flex: 0 0 33%; */
    /* margin: 0 0.5%; */
    width: 260px;
    /* border: #000 1px dashed; */
}

@media only screen and (max-width: 500px) {
    .goldAreaL ul {
        display: flex;
        flex-flow: column;
        width: 100%;
        /* border: #000 1px dashed; */
    }

    li.js-scroll.hover.tra05.button_gold3 {}
}

.goldAreaL ul li a {
    /* display: inline-block; */
    /* width: 25%; */
    /* border: transparent 10px solid; */
    color: #000;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: 0px;
    padding: 10px 4%;
    position: relative;
    /* z-index: 1; */
    /* flex-wrap: wrap; */
    /* flex: 0 0 25%; */
}

.goldAreaL ul li:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /* content: ""; */
    /* border: #000 1px dashed; */
    /* z-index: -1; */
}

.goldAreaL ul li a:hover {
    color: #fff;
}


/* .goldAreaL ul li.sizeL { width: 33.333%;}
.goldAreaL ul li:nth-last-child(1),
.goldAreaL ul li:nth-last-child(2),
.goldAreaL ul li:nth-last-child(3){width: 33.333%;} */

@media only screen and (max-width: 900px) {
    .goldAreaL {
        margin: 70px 0 0;
        padding: 40px 5%;
    }

    .goldAreaL .icon_stage {
        margin: 0 auto 10px;
        height: 45px;
    }

    .goldAreaL h4 {
        font-size: 20px;
    }

    .goldAreaL ul {
        margin-top: 20px;
    }

    /* .goldAreaL ul li { width: 33.333%; font-size: 13px; padding: 15px 1.5%; }
.goldAreaL ul li:nth-last-child(1),
.goldAreaL ul li:nth-last-child(2),
.goldAreaL ul li:nth-last-child(3),
.goldAreaL ul li:nth-last-child(4){width: 50%;} */
}

@media only screen and (max-width: 736px) {
    .goldAreaL {
        margin: 60px -5.5% 0;
        padding: 70px 5% 50px;
    }

    .goldAreaL:last-child {
        margin: 0px -5.5% 0;
        padding: 30px 5% 50px;
    }

    .goldAreaL .icon_stage {
        margin: 0 auto 10px;
        height: 40px;
    }

    .goldAreaL h4 {
        font-size: 16px;
    }

    .goldAreaL ul {
        margin-top: 15px;
        display: -webkit-box;
        /* old Android */
        display: -webkit-flex;
        /* Safari etc. */
        display: -ms-flexbox;
        /* IE10        */
        display: flex;
    }

    .goldAreaL li {
        font-size: 12px;
        flex: 0 0 48%;
    }
}

@media only screen and (max-width: 667px) {
    .goldAreaL li {
        flex: 0 0 98%;
    }

    /* .goldAreaL ul li:nth-last-child(1),
.goldAreaL ul li:nth-last-child(2),
.goldAreaL ul li:nth-last-child(3){width: 100%;} */
}

.btn,
a.btn,
button.btn {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    /* padding: 1rem 4rem; */
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    /* color: #212529; */
    color: #fff;
    /* border-radius: 0.5rem; */
    border: 1px solid;
}

.btn-c {
    font-size: 14px;
    position: relative;
    padding: 1rem 4rem 1rem 2rem;
    color: #111;
    border: 1px solid #ddd;
    border: #000 1px dashed;
    border-radius: 0;
    margin: 0.3em;
    /* -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2); */
    /* box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2); */
}

.btn-c span {
    position: relative;
}

.btn-c:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.btn-c:after {
    font-family: "Font Awesome 6 pro";
    font-size: 1.6rem;
    line-height: 1;
    position: absolute;
    top: calc(50% - 0.8rem);
    right: 1rem;
    margin: 0;
    padding: 0;
    content: "\f107";
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.btn-c:hover {
    color: #9E9E9E;
}

.btn-c:hover:before {
    opacity: 0;
}

.btn-c:hover:after {
    right: 0.5rem;
}


/* 売買 */

.container-fluid {
    padding: 2em;
    background-color: #f9f9f6;
    width: 100%;
}

.tab-panels {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.tab-panels ul {
    margin: 0;
    padding: 0;
}

.tab-panels ul li {
    list-style-type: none;
    display: inline-block;
    background: #607D8B;
    margin: 0;
    padding: .5em 1.5em;
    border-radius: .5em .5em 0 0;
    color: #fff;
    font-weight: 50;
    cursor: pointer;
    width: 49.65%;
}

.tab-panels ul li:hover {
    color: #fff;
    background: #b20;
}

.tab-panels ul li.active {
    color: #fff;
    background: #073850;
}

.tab-panels .panel {
    display: none;
    background: white;
    color: black;
    padding: 1.5em;
    border-radius: 0 0 .8em .8em;
    overflow: auto;
    border: 1px solid #eee;
}

.tab-panels .panel.active {
    display: block;
}

.transition,
ul li i:before,
ul li i:after,
p {
    transition: all 0.25s ease-in-out;
}

.flipIn,
ul li,
h1 {
    animation: flipdown 0.5s ease both;
}

.no-select,
h2 {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-size: 18px;
    margin-bottom: 10px;
}

.gold_bsul {
    width: 100%;
    max-width: 1200px;
    margin: 1em auto;
    padding: 1em;
    background: #fff;
    border-radius: 0 0 0.8em 0.8em;
}

.gold_bsul .sub_title {
    font-size: 23px;
}

.gold_bsul .sub_title:before {
    content: '◆';
}

.gold_bsul ul {
    list-style: none;
    perspective: 900;
    padding-left: 1em;
    margin: 0;
}

.gold_bsul div {
    /* background:#f8f8f8; */
    /* padding:1em; */
}

.gold_bsul ul {
    padding-top: 10px;
}

.gold_bsul li {
    position: relative;
    padding: 0 1em;
    margin: 0;
    padding-bottom: 4px;
    padding-top: 0px;
    border-top: 1px dotted rgba(145, 124, 80, 0.03);
    font-weight: 400;
    padding-left: 1em;
    text-indent: -1em;
}

.gold_bsul li:nth-of-type(1) {
    animation-delay: 0.5s;
}

.gold_bsul li:nth-of-type(2) {
    animation-delay: 0.75s;
}

.gold_bsul li:nth-of-type(3) {
    animation-delay: 1s;
}

.gold_bsul li:last-of-type {
    padding-bottom: 0;
}


/* .gold_bsul li i {
    position: absolute;
    transform: translate(-6px, 0);
    margin-top: 16px;
    right: 0;
}

.gold_bsul li i:before,
ul li i:after {
    content: "";
    position: absolute;
    /* background-color: #607d8b; */


/*     width: 3px;
    height: 9px;
    top: -10px;
}
 */

.gold_bsul li i:before {
    transform: translate(-2px, 0) rotate(45deg);
}

.gold_bsul li i:after {
    transform: translate(2px, 0) rotate(-45deg);
}

*/
/* .gold_bsul li input[type=checkbox] {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
}
.gold_bsul li input[type=checkbox]:checked ~ div {
  margin-top: 0;
  max-height: 0;
  opacity: 0;
  transform: translate(0, 50%);
}
.gold_bsul li input[type=checkbox]:checked ~ i:before {
  transform: translate(2px, 0) rotate(45deg);
}
.gold_bsul li input[type=checkbox]:checked ~ i:after {
  transform: translate(-2px, 0) rotate(-45deg);
}
 */

.bs_viewarea-inner {}

.bs_viewarea-inner .wrap {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    flex-wrap: nowrap;
}

.bs_viewarea-inner .num {
    width: 35px;
    height: 35px;
    padding-top: 10px;
    /* border: 1px solid #b2b2b2; */
    background: #607D8B;
    color: #fff;
    font-size: 18px;
    font-family: 'Hind Guntur', sans-serif;
    font-weight: 400;
    text-align: center;
    line-height: 1;
    float: left;
    clear: left;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

@media screen and (min-width: 768px) {
    .bs_viewarea-inner {
        height: 100%;
        padding: 10px 0;
    }
}

.bs_viewarea-textarea {
    padding: 1em;
}

@media screen and (max-width: 1080px) {
    .bs_viewarea-textarea {}
}

@media screen and (max-width: 767px) {
    .bs_viewarea-textarea {
        overflow-y: hidden
    }
}

.bs_viewarea-textarea-name {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    font-family: "Yu Mincho", "YuMincho";
    /* margin-top: 27px */
    padding-left: 50px;
}

.bs_viewarea-textarea-hurigana {
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    font-family: "Yu Mincho", "YuMincho";
    letter-spacing: 3px;
    margin-top: 13px
}

.bs_viewarea-textarea-detail {
    margin-top: 10px;
    margin-left: 3px;
    padding-top: 18px;
    position: relative;
}

.bs_viewarea-textarea-detail:before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #9E9E9E;
    position: absolute;
    top: 2px;
    left: 1px;
    height: 1px;
    width: 100%;
}

.bs_viewarea-textarea-tit {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    font-family: "Yu Mincho", "YuMincho"
}

.bs_viewarea-textarea-txt {
    font-size: 15px;
    font-weight: 400;
    line-height: 2.35714;
    padding-left: 1em;
}

.bs_viewarea-textarea-txt:not(:first-of-type) {
    /* margin-top: 11px; */
}

.bs_viewarea-textarea-table {
    margin-top: 20px;
    position: relative;
    z-index: 99
}

.bs_viewarea-textarea-table dl {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-top: 1px solid #ddd;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 20px 0 19px 6px;
}

.bs_viewarea-textarea-table dt {
    min-width: 1em;
}

.bs_viewarea-textarea-table dd {
    font-size: 16px;
    line-height: 1.23077;
    color: #000000;
    display: inline-block;
    word-break: break-all;
    padding-left: 1em;
}

.bs_viewarea-textarea-table dd a {
    font-size: 16px;
    line-height: 1.23077;
    color: #1c7098;
    display: inline-block;
    word-break: break-all;
}

.bs_viewarea-textarea-table dd a[target="_blank"]:after {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    /*     background-image: url(../images/common/ico-blank_sm-glay.svg); */
    margin-top: -4px;
    margin-left: 4px;
    -webkit-transition: background-image .2s linear;
    transition: background-image .2s linear;
    height: 8px;
    width: 8px
}

@media screen and (min-width: 768px) and (max-height: 690px) {
    .bs_viewarea-wrap {
        height: calc(100% - 5%);
        width: calc(100% - 5%)
    }

    .bs_viewarea-inner {
        height: inherit
    }

    .bs_viewarea-textarea {
        overflow-y: auto
    }
}

@media screen and (max-width: 767px) {
    .bs_viewarea-inner .wrap {
        flex-wrap: wrap;
    }

    .brands__viewarea {
        padding: 38px 20px 60px
    }

    .bs_viewarea-tit {
        font-size: 12px;
        line-height: 1;
        margin-left: -2px
    }

    .bs_viewarea-tit-catename {
        letter-spacing: 2.6px
    }

    .bs_viewarea-tit-brandkind {
        letter-spacing: 2.6px;
        margin-left: 11px;
        padding-left: 13px
    }

    .bs_viewarea-inner {
        margin-top: 22px
    }

    .bs_viewarea-item-tit {
        font-size: 10px;
        line-height: 1;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-left: 9px
    }

    .bs_viewarea {
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        height: 100%;
        width: 100%
    }

    .bs_viewarea-bg {
        bottom: 0;
        right: 0
    }

    .bs_viewarea-wrap {
        bottom: 0;
        display: block;
        left: 0;
        overflow-y: auto;
        position: relative;
        -webkit-overflow-scrolling: touch;
        right: 0;
        top: 0;
        height: inherit;
        width: 100%;
        z-index: 1
    }

    .bs_viewarea-inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 20px;
        position: relative;
        width: 100%;
        z-index: 999999
    }

    .bs_viewarea-imagearea {
        height: 250px;
        width: 100%;
        min-width: 100%
    }

    .bs_viewarea-textarea {
        padding: 20px 20px;
        width: 100%;
    }

    .bs_viewarea-textarea:after {
        font-size: 177.5px;
        font-weight: 400;
        line-height: 1;
        bottom: -188px;
        content: "";
        color: rgba(145, 124, 80, 0.03);
        left: 30px;
        letter-spacing: -53px;
        position: absolute
    }

    .bs_viewarea-textarea-name {
        font-size: 16px;
        line-height: 1;
        padding-left: 35px;
    }

    .bs_viewarea-textarea-hurigana {
        font-size: 11px;
        line-height: 1;
        letter-spacing: 3px;
        margin-top: 6px
    }

    .bs_viewarea-textarea-detail {
        margin-top: 12px;
        margin-left: 0;
        padding-top: 22px;
        position: relative
    }

    .bs_viewarea-textarea-detail:before {
        top: 2px;
        left: 0;
        height: 1px;
        width: 100%;
    }

    .bs_viewarea-textarea-tit {
        font-size: 16px;
        line-height: 1.25
    }

    .bs_viewarea-textarea-txt {
        /* font-size: 12px; */
        line-height: 1.75;
    }

    .bs_viewarea-textarea-txt:not(:first-of-type) {
        margin-top: 8px
    }

    .bs_viewarea-textarea-table {
        margin-top: 25px
    }

    .bs_viewarea-textarea-table dl {
        font-size: 13px;
        font-weight: 400;
        line-height: 1;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 16px 0 13px 6px
    }

    .bs_viewarea-textarea-table dt {
        min-width: 100%
    }

    .bs_viewarea-textarea-table dd {
        margin-top: 7px
    }
}

@media screen and (max-width: 500px) {
    .bs_viewarea-textarea {
        padding: 20px 0px;
        width: 100%;
    }

    .bs_viewarea-textarea-name {
        padding-top: 10px;
    }
}


/* 金地金 */


/* news */

.int_blogR {
    width: 17%;
    margin-left: 0;
    float: right;
}

.int_blogL {
    width: 82%;
    padding-right: 1%;
    float: left;
    border-right: 1px solid #f1efef;
}

@media screen and (max-width: 850px) {
    .int_blogR {
        width: 98%;
        margin-left: 1%;
        float: right;
        margin: 2%;
        margin-left: 2%;
    }

    .int_blogL {
        width: 98%;
        padding-right: 1%;
        float: left;
        border-right: none;
        margin: 2%;
    }

    .int_blog {
        width: 100%;
    }
}

.sd-section__head {
    padding: 8px 15px;
    font-size: 16px;
    font-weight: 500;
    background: #ddd;
    text-align: left;
    color: #505050;
}

.sd-section__item a {
    padding: 12px 30px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.sd-section__item a:hover {
    background: #f3f2f3
}

.c-content-lessonplan--type_lessonplan .c-content-lessonplan__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background-color: #f4f4f4; */
}

.c-content-lessonplan--type_lessonplan .c-content-lessonplan__bgW {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
}

.c-content-lessonplan--type_lessonplan .c-content-lessonplan__inner {
    position: relative;
    z-index: 1
}

@media only screen and (max-width:47.9375em) {
    .c-content-lessonplan--type_lessonplan .c-content-lessonplan__inner {
        /* padding-top: 60px; */
        /* padding-bottom: 60px; */
        padding: 30px 20px 0px;
    }
}

@media print,
screen and (min-width:48em) {
    .c-content-lessonplan--type_lessonplan .c-content-lessonplan__inner {
        padding-top: 0px;
        /* padding-top: 80px; */
        padding-bottom: 0px;
        /* border-top: 1px solid #ddd; */
    }
}

.c-content-lessonplan {
    position: relative;
    /* overflow: auto; */
    /* padding-bottom: 100px; */
    /* padding-top: 80px; */
}

.c-content-lessonplan__inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (max-width:47.9375em) {
    .c-content-lessonplan__inner {
        width: 100%;
        padding: 54px 4.68% 50px
    }
}

@media print,
screen and (min-width:48em) {
    .c-content-lessonplan__inner {
        position: relative;
        z-index: 1;
        width: 90.64%;
        padding-top: 54px;
        padding-bottom: 50px;
        margin-right: auto;
        margin-left: auto
    }
}

@media print,
screen and (min-width:61.25em) {
    .c-content-lessonplan__inner {
        max-width: 1400px;
        padding-top: 75px;
        padding-bottom: 80px
    }
}

@media print,
screen and (min-width:87.5em) {
    .c-content-lessonplan__inner {
        padding-right: 0;
        padding-left: 0
    }
}

.c-content-lessonplan__inner>:first-child {
    margin-top: 0
}

@media (min-width: 600px) {
    .flexbox {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        /* max-width: 1200px; */
        justify-content: center;
        /* 子要素をflexboxにより中央に配置する */
        /* align-items: center; */
        /* 子要素をflexboxにより中央に配置する */
        /* margin-bottom: 100px; */
    }

    .item_20 {
        width: 20%;
        padding: 2%;
    }

    .item_20 img {
        width: 90%;
        padding: 3%;
    }

    .item_30 {
        width: 28%;
        padding: 2% 0;
    }

    .item_30 img {
        width: 100%;
        padding: 3%;
    }

    .item_40 {
        width: 38%;
        padding: 2%;
    }

    .item_40 img {
        width: 100%;
        padding: 3%;
    }

    .item_50 {
        width: 46%;
        padding: 2%;
    }

    .item_50 img {
        width: 100%;
        padding: 3%;
    }

    .item_60 {
        width: 60%;
        padding: 2%;
    }

    .item_60 img {
        width: 100%;
    }

    .item_60 .tTaisho {
        font-size: 18px;
        margin-bottom: 20px;
        font-weight: 600;
    }

    .item_60 .kyu {
        font-size: 16px;
        color: #000;
        font-weight: 500;
        border: 0px solid #ddd;
        padding: 1%;
        margin: 1%;
        background: #f0d174;
    }

    .item_70 {
        width: 70%;
        padding: 2%;
    }

    .item_70 img {
        width: 100%;
    }

    .item_70 .tTaisho {
        font-size: 18px;
        margin-bottom: 20px;
        font-weight: 600;
    }

    .item_70 .kyu {
        font-size: 16px;
        color: #000;
        font-weight: 500;
        border: 0px solid #ddd;
        padding: 1%;
        margin: 1%;
        background: #f0d174;
    }
}

.line-solid {
    border-bottom: 1px solid #ddd;
}

.txtColor_red {
    color: #d00e00;
    font-weight: 600;
    font-size: 20px;
}

.box_access {
    position: relative;
    margin: 2em 0;
    padding: 25px 10px 7px;
    /* border: solid 1px #ddd; */
}

.box_access .box-title {
    line-height: 30px;
    font-size: 20px;
    /* background: #FFC107; */
    color: #000;
    font-weight: bold;
}

.box_access p {
    margin: 0;
    /* padding: 0; */
}

.id_ptop {
    padding-top: 60px
}

table.company th {
    width: 30%;
    padding: 20px 10px;
}

table.company td {
    padding: 20px 10px;
}


/* ======== table.tableOther ======== */

table.access {
    border-collapse: collapse;
    text-align: left;
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 2;
    width: 100%;
}

table.access tr {
    display: block;
}

table.access th {
    display: block;
    width: 100%;
    padding: 5px;
    font-weight: 600;
    vertical-align: 0;
    color: #056d70;
    font-size: 17px;
}

table.access td {
    display: block;
    width: 100%;
    padding: 5px;
    padding-left: 5px;
    vertical-align: 0;
    border-bottom: #ddd 1px solid;
}

table.access td .linkArea {
    display: blockmargin-top: 10px;
    text-align: left;
}

table.access td .linkArea a.btn {
    margin: 0;
}

table.access td h3 {
    color: #056d70
}


/* ======== table.tableOther ======== */

table.company2 {
    border-collapse: collapse;
    text-align: left;
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 1.5;
    width: 100%;
    margin-bottom: 20px;
}

table.company2 tr {
    display: block;
}

table.company2 th {
    display: inline-block;
    width: 8em;
    padding: 5px;
    vertical-align: 0;
}

table.company2 td {
    display: inline-block;
    /* width:100%; */
    padding: 5px;
    padding-left: 5px;
    vertical-align: 0;
    /* border-bottom: #ddd 1px solid; */
}

table.company2 td .linkArea {
    display: blockmargin-top: 10px;
    text-align: left;
}

table.company2 td .linkArea a.btn {
    margin: 0;
}


/* --- #map_canvas --- */

#map_canvas {
    width: 100%;
    margin-top: 70px;
    height: 400px;
    position: relative;
    z-index: 1;
    border: #ededed 1px solid;
}

@media only screen and (max-width: 950px) {
    table.access th {
        /* width:30%; */
        /* padding:20px; */
    }

    table.access td {
        padding: 20px;
    }

    table.company2 th {
        /* width:30%; */
        /* padding:20px; */
    }

    table.company2 td {
        padding: 20px;
    }
}

@media only screen and (max-width: 800px) {
    table.access {
        font-size: 13px;
    }

    table.company2 {
        font-size: 13px;
    }
}

@media only screen and (max-width: 738px) {
    table.access {
        font-size: 12px;
    }

    table.company2 {
        font-size: 12px;
    }

    /*	#map_canvas { display:none; }*/
}

@media only screen and (max-width: 414px) {
    table.access th {
        width: 100%;
        padding: 15px;
        font-size: 15px;
        font-weight: 600;
    }

    table.access td {
        padding: 15px;
    }

    table.company2 th {
        width: 100%;
        padding: 15px;
        font-size: 15px;
        font-weight: 600;
    }

    table.company2 td {
        padding: 15px;
    }
}

table.access ul {
    list-style-type: circle;
}

table.access li {
    line-height: 1.5;
    padding: 0.5%;
}

.l-wrapper {
    position: relative
}

.l-container.col2 {
    margin: 20px 10px
}

@media all and (min-width: 1200px) {
    .l-container.col2 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 1120px;
        margin: 50px auto;
    }

    .l-container.col2 .l-contents {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: calc(100% - 250px - 50px)
    }

    .l-container.col2 .l-sidebar {
        /* padding-top: 40px; */
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 250px;
    }
}

.l-sidebar {
    margin-bottom: 60px;
    padding: 0 20px
}

.l-sidebar .sd-section+.sd-section {
    margin-top: 30px
}

.l-sidebar .sd-section__head {
    /* text-align: center; */
    padding: 10px;
    color: #FF9800;
    /* background: linear-gradient(55deg, #0a3c60 0%, #0a3c60 45%, #0d4b78 46%, #0d4b78 100%); */
    font-size: 16px;
    font-weight: 700;
}

.l-sidebar .sd-section__item {
    border-bottom: 1px solid #dcdcdc
}

.l-sidebar .sd-section__item a {
    text-decoration: none;
    display: block;
    padding: 10px 15px;
    /*     width:100px; */
}

.l-sidebar .sd-section__item a:after {
    /*     font-size: 10px;
    top: 0;
    right: 0px;
    z-index: 1;
    line-height: 55px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    font-family: 'FontAwesome';
    content: "\f106"; */
}

@media all and (min-width: 600px) {
    .l-sidebar {
        margin-bottom: 120px;
        padding: 0
    }

    .l-sidebar .sd-section+.sd-section {
        margin-top: 45px
    }

    .l-sidebar .sd-section__head {
        padding: 8px;
        font-size: 16px;
    }

    .l-sidebar .sd-section__item a {
        padding: 12px 30px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }

    .l-sidebar .sd-section__item a:after {
        position: absolute;
        top: 50%;
        right: 20px;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        content: "";
        display: block;
        width: 16px;
        height: 8px;
        font-family: 'FontAwesome';
        content: "\f106";
        font-size: 30px;
    }

    html.no-touchevents .blog-header__nav>li>a:not(.active):hover:after {
        animation: a-blog-header__nav .25s .05s backwards;
    }

    .l-sidebar .sd-section__item a:hover {
        background: #f3f2f3
    }
}

.c-archive01__item {
    position: relative
}

.c-archive01__item+.c-archive01__item {
    border-top: 1px solid #d1dfe1
}

.c-archive01__item+.c-archive01__item:after {
    position: absolute;
    top: -1px;
    left: 0;
    content: "";
    display: block;
    width: 70px;
    height: 1px;
    background: #705fa6
}

.c-archive01__item-link {
    display: block;
    padding: 20px 0 14px;
    text-decoration: none
}

.c-archive01__item-meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.c-archive01__item-meta-date {
    width: 86px;
    font-size: 1.3rem
}

.c-archive01__item-meta-cat {
    width: calc(100% - 86px);
    font-size: 1.1rem;
    line-height: 1.5;
    letter-spacing: -.5em
}

.c-archive01__item-meta-cat-item {
    box-sizing: border-box;
    display: inline-block;
    padding: 1px 5px;
    min-width: 75px;
    border: 1px solid;
    letter-spacing: .06em;
    text-align: center
}

.c-archive01__item-tit {
    margin-top: 5px;
    font-size: 1.3rem
}

@media all and (min-width: 600px) {
    .c-archive01__item:after {
        width: 100px
    }

    .c-archive01__item-link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        padding: 21px 0
    }

    .c-archive01__item-meta {
        width: 210px
    }

    .c-archive01__item-meta-date {
        box-sizing: border-box;
        width: 120px;
        padding-left: 10px;
        font-size: 1.5rem
    }

    .c-archive01__item-meta-cat {
        width: calc(100% - 120px);
        font-size: 1.2rem
    }

    .c-archive01__item-meta-cat-item {
        display: block
    }

    .c-archive01__item-tit {
        box-sizing: border-box;
        width: calc(100% - 210px);
        margin-top: 0;
        padding-left: 28px;
        font-size: 1.5rem;
        line-height: 1.5;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }

    .c-archive01__item-link:hover .c-archive01__item-tit {
        color: #8678b4;
        text-decoration: underline
    }
}

.c-archive02__item {
    position: relative;
    border-bottom: 1px solid #dcdcdc
}

.c-archive02__item:before {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 70px;
    height: 1px;
    background: #705fa6
}

.c-archive02__item-link {
    text-decoration: none;
    display: block;
    padding: 25px 0 20px
}

.c-archive02__item-date {
    display: inline-block;
    margin-right: 15px;
    font-size: 1.3rem
}

.c-archive02__item-cats {
    display: inline
}

.c-archive02__item-cat {
    display: inline-block;
    margin: 1px 5px 0 0;
    padding: 4px 15px;
    border: 1px solid #705fa6;
    font-size: 1.1rem;
    line-height: 1.2
}

.c-archive02__item-head {
    margin-top: 5px;
    font-size: 1.6rem;
    font-weight: 700
}

.c-archive02__item-txt {
    margin-top: 5px;
    line-height: 1.9
}

@media all and (min-width: 600px) {
    .c-archive02__item:before {
        width: 105px
    }

    .c-archive02__item-link {
        padding: 30px 0 30px
    }

    .c-archive02__item-area-head {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .c-archive02__item-meta {
        width: 220px
    }

    .c-archive02__item-date {
        margin-right: 25px;
        font-size: 1.6rem
    }

    .c-archive02__item-cats {
        display: inline
    }

    .c-archive02__item-cat {
        margin: 1px 5px 0 0;
        padding: 4px 20px;
        font-size: 1.2rem
    }

    .c-archive02__item-head {
        box-sizing: border-box;
        width: calc(100% - 220px);
        margin-top: 0;
        padding-left: 25px;
        font-size: 2rem
    }

    .c-archive02__item-txt {
        margin-top: 15px;
        line-height: 1.9
    }
}

.c-btn01 {
    max-width: 280px;
    margin: 16px auto 0;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.5
}

.c-btn01-list .c-btn01 {
    margin-top: 0
}

.c-btn01-list .c-btn01+.c-btn01 {
    margin-top: 12px
}

.c-btn01__link {
    box-sizing: border-box;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 55px;
    padding: 0 40px 1px;
    border: 1px solid;
    text-decoration: none;
    color: #6a6436;
}

.c-btn01__link:after {
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 16px;
    height: 8px;
    background: url("../img/common/ico_arw01.png") no-repeat center/contain
}

.c-btn01__link[href^="#"]:after {
    box-sizing: border-box;
    width: 10px;
    height: 10px;
    margin-top: -2px;
    background: transparent;
    border-style: solid;
    border-width: 1px 1px 0 0;
    -webkit-transform: translateY(-50%) rotate(135deg);
    -ms-transform: translateY(-50%) rotate(135deg);
    transform: translateY(-50%) rotate(135deg)
}

.c-btn01.is-white .c-btn01__link {
    color: #fff
}

.c-btn01.is-white .c-btn01__link:after {
    background-image: url("../img/common/ico_arw01_white.png")
}

.c-btn01.is-bg-white .c-btn01__link {
    background: #fff;
    color: #6a6436
}

@media all and (min-width: 600px) {
    .c-btn01 {
        max-width: 250px;
        margin: 35px auto 0
    }

    .c-btn01-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -10px
    }

    .c-btn01-list .c-btn01 {
        width: 250px;
        margin: 0 10px
    }

    .c-btn01-list .c-btn01+.c-btn01 {
        margin-top: 0
    }

    .c-btn01__link {
        height: 60px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }

    .c-btn01__link:hover {
        background: #6a6436;
        color: #fff
    }

    .c-btn01__link:after {
        right: 18px;
        width: 20px;
        height: 12px;
        margin-top: -2px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }

    .c-btn01__link:hover:after {
        right: 15px;
        background-image: url(../img/common/ico_arw01_white.png)
    }

    .c-btn01__link[href^="#"] {
        padding-right: 30px;
        padding-left: 30px
    }

    .c-btn01__link[href^="#"]:after {
        margin-top: -4px;
        margin-right: 1px
    }

    .c-btn01__link[href^="#"]:hover:after {
        right: 18px;
        margin-top: 2px
    }

    .c-btn01.is-white .c-btn01__link:hover {
        border-color: #8678b4
    }
}



/*---------------------ãƒœã‚¿ãƒ³---------------------------------*/

.link_btn {
    background-color: #5b5763;
    width: 82.5%;
    margin: 40px auto 0;
    text-align: center;
    color: #fff;
    position: relative;
    font-size: 16px;
    height: 54px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    transition: opacity .3s;
}

@media all and (-ms-high-contrast: none) {
    .link_btn {
        padding-top: 18px;
        padding-bottom: 12px;
    }
}

.link_btn::before,
.link_btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

.link_btn::before {
    width: 26px;
    height: 26px;
    /* border: 1px solid #fff; */
    border-radius: 50%;
    left: 20px;
}

.link_btn::after {
    right: 30px;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.link_btn:hover {
    opacity: 0.5;
    text-decoration: none;
}

@media only screen and (max-width: 820px) {
    .link_btn {
        width: 71.5%;
        margin-top: 30px;
        font-size: 13px;
        height: 42px;
    }

    .link_btn::before {
        width: 18px;
        height: 18px;
        left: 10px;
    }

    .link_btn::after {
        /* left: 15px; */
        /* width: 5px; */
        /* height: 5px; */
    }
}

.link_btn.sm {
    font-size: 13px;
    width: 250px;
    max-width: 100%;
    color: #111;
    background: none;
    border: #111 1px solid;
    z-index: 100;
    height: 43px;
    margin-bottom: 3%;
}

.link_btn.sm::after {
    border-top: 1px solid #111;
    border-right: 1px solid #111;
}


/* blog-header
--------------------------- */

.blog-header .c-title-B {
    margin-bottom: 4vw;
}

.blog-header__navbox._fixed {
    position: fixed;
}

.blog-header__nav {
    margin-bottom: 2vw;
}

.blog-header__nav>li {
    border-top: 1px solid #DEE1EA;
}

.blog-header__nav>li>a {
    font-weight: 500;
    line-height: 1.6;
    text-align: left;
    display: block;
    padding: 1.3vw 40px 1.3vw 1vw;
    position: relative;
    transition: color .1s linear;
    border-bottom: 1px dashed #ddd;
    color: #505050;
}

.blog-header__nav>li>a.active {
    background-color: #F1F1F2;
}

html.no-touchevents .blog-header__nav>li>a:not(.active):hover {
    color: #F6921D;
}

.blog-header__nav>li>a:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #9E9E9E;
    border-right: 2px solid #9E9E9E;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(-50%, -50%) rotate(45deg);
}

.blog-header__nav>li>a:hover:after {
    animation: a-top-blog__list .25s .05s backwards;
}

html.no-touchevents .blog-header__nav>li>a:not(.active):hover:after {
    animation: a-blog-header__nav .25s .05s backwards;
}

@keyframes a-blog-header__nav {
    60% {
        right: .5em;
    }

    100% {
        right: 1em;
    }
}


/* blog-article
--------------------------- */

.blog-article__header {
    margin: 3vw 0 -3vw;
}

.blog-article {
    padding: 0 4% 0 11%;
}

.category_title {
    position: relative;
    /* display: inline-block; */
    line-height: 1;
    font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
    font-size: 25px;
    letter-spacing: 0.2em;
    /* padding-bottom: 30px; */
}

.category_title span {
    right: 0;
    top: 15px;
    position: absolute;
}

.news_title {
    font-size: 20px;
    text-align: left;
    padding: 1% 0;
    /*     color:#ff9d0d; */
}

.news_date {
    color: #d00007;
}

#detail {
    line-height: 2;
    /* display: flex; */
    /*     flex-wrap: wrap; */
    /* border: 1px solid #eee; */
    /* padding: 0.4em; */
    /* margin: 0 0 2em; */
    /* text-align: center; */
    /* align-items: center; */
    /* justify-content: center; */
}

.detailText {
    font-size: 16px !important;
    padding: 1em;
    border-radius: 5px;
    flex: 1 0 0;
    margin: 0.4em;
    /* border: 1px solid #eee; */
    min-width: 200px;
    /* font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
}

.detailText span {
    font-size: 16px !important;
}

.detailText a {
    font-size: 16px;
    color: #098b3b;
    font-weight: 600;
}

.detailText a:hover {
    color: #f58600
}

.detailText>div {
    font-size: 15px;
    /* font-size: 16px!important; */
}

.detailUpfile {
    margin: 5px 0 35px;
    text-align: center;
    padding: 2%;
    width: 50%;
}

@media only screen and (max-width: 600px) {
    .detailUpfile {
        margin: 5px 0 35px;
        text-align: center;
        padding: 2%;
        width: 100%;
    }
}

.detailUpfile img {
    /* max-width: 500px; */
}

.backORcloseBtn {
    text-align: right;
    line-height: 100%;
    /* margin: 15px; */
    padding-bottom: 15px;
}

.backORcloseBtn a {
    display: inline-block;
    padding: 0px 13px;
    /* 	border: 1px solid #d48e46; */
    color: #ffffff;
    background: #999;
    border-radius: 2px;
    text-decoration: none;
    font-size: 16px;
    line-height: 1.3;
}

.backORcloseBtn a::before {
    font-family: 'Font Awesome 5 Free';
    content: '\f30a';
    font-size: 1.5rem;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.8;
    padding-right: 10px;
}

.backORcloseBtn a:hover {
    /*     background:#098b3b; */
}

.detailUpfile img {
    /* min-width: 300px; */
    height: auto;
    width: 100%;
    padding: 2%;
}

.pNav {
    padding: 2% 0;
    font-size: 15px;
    line-height: 1.8;
}

.pNav a {
    font-size: 15px;
    color: #666;
    border-bottom: 1px dotted #666;
}

.pNav a:hover {
    border-bottom: 0px solid #098b3b;
}

.categoryArea {
    text-align: right;
    padding-bottom: 60px;
}

.pCate {
    padding: 1% 0;
    font-size: 14px;
    /* text-align: right; */
    display: inline;
}

.pCate a {
    font-size: 14px;
    /* color: #fff; */
    /* border-bottom: 1px dotted #666; */
    padding: 0.5% 1%;
    /* background: #95908b; */
    /* margin: 1%; */
    /* border-radius: 50px; */
}

.pCate a:hover {
    color: #666
}

.pCate a:after {
    font-size: 10px;
    font-family: 'FontAwesome';
    content: "\f105";
    font-weight: normal;
    margin: 0 10px;
    height: 20px;
    line-height: 20px;
}


/* Pager style（外部化可） */

.pager {
    text-align: right;
    padding: 10px;
    clear: both;
    padding: 20px 0 0px;
}


/*ページャーボタン*/

.pager a {
    border: 1px solid #999;
    border-radius: 5px 5px 5px 5px;
    color: #333;
    font-size: 12px;
    padding: 3px 7px 2px;
    text-decoration: none;
    margin: 0 1px;
}


/*現在のページのボタン*/

.pager a.current {
    background: #999;
    border: 1px solid #999;
    border-radius: 5px 5px 5px 5px;
    color: #fff;
    font-size: 12px;
    padding: 3px 7px 2px;
    margin: 0 1px;
    text-decoration: none;
}

.pager a:hover {
    background: #999;
    color: #fff;
}

.overPagerPattern {
    padding: 0 2px;
}


/* .spinner */

.spinner {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    width: 55px;
    height: 55px;
    opacity: 0.9;
    text-indent: -9999px;
    border-top: 1px solid #f9f9f9;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #999;
    border-left: 1px solid #999;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -o-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: spin .75s linear infinite;
    -moz-animation: spin .75s linear infinite;
    -ms-animation: spin .75s linear infinite;
    -o-animation: spin .75s linear infinite;
    animation: spin .75s linear infinite
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(360deg)
    }
}

@-moz-keyframes spin {
    0% {
        -moz-transform: rotate(0)
    }

    100% {
        -moz-transform: rotate(360deg)
    }
}

@-ms-keyframes spin {
    0% {
        -ms-transform: rotate(0)
    }

    100% {
        -ms-transform: rotate(360deg)
    }
}

@-o-keyframes spin {
    0% {
        -o-transform: rotate(0)
    }

    100% {
        -o-transform: rotate(360deg)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

@media screen and (max-width: 738px) {
    .spinner {
        width: 50px;
        height: 50px;
        opacity: 0.7;
    }
}

@media screen and (max-width: 560px) {
    .spinner {
        width: 40px;
        height: 40px;
    }
}



header#site-header {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 20004;
    width: 100%;
    /* height: 195px; */
    padding-left: 60px;
    padding-top: 55px;
}

header#site-header a:hover {
    color: #000;
}

header#site-header h1#logo-main {
    position: absolute;
    left: 65px;
    top: 20px;
    /* width: 250px; */
    /* height: 49px; */
    /* margin-top: 10px; */
}

header#site-header ul.menu>li {
    -webkit-transition: 0.2s ease;
    -moz-transition: 0.2s ease;
    -ms-transition: 0.2s ease;
    -o-transition: 0.2s ease;
    transition: 0.2s ease;
    display: inline-block;
}

.pc header#site-header ul.menu>li a:hover {
    opacity: .5;
}

header#site-header ul._sub {
    position: absolute;
    right: 260px;
    top: 0;
    height: 55px;
    padding-top: 20px;
}

header#site-header ul._sub>li {
    margin-right: 25px;
}

header#site-header ul._sub>li:last-child {
    margin-right: 0;
}

header#site-header ul._sub>li a {
    position: relative;
    display: block;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 16px;
}

header#site-header ul._sub>li.page a {
    padding-left: 12px;
    background: no-repeat left 3px transparent;
    background-size: auto 12px;
}

header#site-header ul._sub>li.page.access a:before {
    /*   background-image: url(../img/common/icon_access.png); */
    font-weight: normal !important;
    font-family: 'Font Awesome 6 pro';
    content: "\f3c5";
    padding-right: 10px;

}

header#site-header ul._sub>li.page.faq a {
    background-image: url(../img/common/icon_faq.png);
    padding-left: 14px;
}

header#site-header ul._sub>li.sns a {
    width: 16px;
    height: 12px;
}

/* line 899, ../_scss/style.scss */
header#site-header ul._sub>li.sns a span {
    display: none;
}

header#site-header ul._sub>li.sns a:before {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -8px;
    display: block;
    width: 16px;
    height: 12px;
    font-family: 'hinuihitohi';
    font-weight: normal !important;
    font-size: 16px;
}

header#site-header ul._sub>li.facebook {
    margin-right: 3px;
}

header#site-header ul._sub>li.facebook a:before {
    content: '\e700';
}

header#site-header ul._sub>li.instagram a:before {
    content: '\e702';
}

header#site-header ul._sub>li.lang a {
    display: inline-block;
}

header#site-header ul._sub>li.lang a:after {
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 1px;
    background-color: #000;
    display: block;
    content: '';
}

header#site-header ul._main {
    /* margin-top: 20px; */
    /* text-align: right; */
    /* padding-right: 45px; */
}

header#site-header ul._main>li {
    margin-right: 62px;
    text-align: center;
}

header#site-header ul._main>li:last-child {
    margin-right: 0;
}

header#site-header ul._main>li a {
    display: block;
}

/ header#site-header ul._main>li a span {
    display: block;
}

header#site-header ul._main>li a span.main {
    /* font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif; */
    /* font-family: \\6E38\660E\671D, dnp-shuei-mincho-pr6n, YuMincho, Hiragino Mincho ProN, Hiragino Mincho Pro, "\FF2D\FF33 \660E\671D", serif; */
    letter-spacing: .1em;
    color: #000;
    font-size: 1.6rem;
    color: #000;
    margin-bottom: 8px;
    display: block;
}

/* line 939, ../_scss/style.scss */
header#site-header ul._main>li a span.sub {
    font-family: eb-garamond, serif;
    letter-spacing: .05em;
    font-size: 1rem;
    letter-spacing: .07em;
    color: #a6a6a6;
}

@media only screen and (max-width: 1020px) {

    header#site-header ul._main {
        margin-top: 50px;
    }

    header#site-header ul._main>li {
        margin-right: 54px;
    }
}

@media only screen and (max-width: 900px) {

    header#site-header {
        /* height: 185px; */
    }

    header#site-header h1#logo-main {
        /* width: 165px; */
        /* height: 165px; */
    }

    header#site-header h1#logo-main a.sitelogo._full {
        /* width: 165px; */
        /* height: 165px; */
    }

    header#site-header ul._main {
        margin-top: 20px;
    }

    header#site-header ul._main>li {
        margin-right: 42px;
    }
}

@media only screen and (max-width: 768px) {

    header#site-header {
        /* height: 185px; */
    }

    header#site-header h1#logo-main {
        left: 40px;
        /* width: 140px; */
        /* height: 140px; */
    }

    header#site-header h1#logo-main a.sitelogo._full {
        width: 200px;
        height: 39px;
    }

    header#site-header ul._main {
        margin-top: 40px;
        padding-right: 35px;
        display: none;
    }

    header#site-header ul._main>li {
        margin-right: 32px;
    }
}





/* @media screen and (max-width: 667px) { */
@media screen and (max-width: 812px) {

    header#site-header {
        width: 100%;
        height: 154px;
    }

    header#site-header h1#logo-main {
        left: 23px;
        top: 24px;
        width: 200px;
        height: 39px;
        margin-top: 0;
    }

    header#site-header h1#logo-main a.sitelogo._full {
        width: 200px;
        height: 49px;
    }

    header#site-header ul.menu {
        display: none;
    }
}

/* = [Site Navigation]
---------------------------------------------------------------------*/
/* line 1000, ../_scss/style.scss */
.open-nav,
.open-menu {
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
}

/* line 1004, ../_scss/style.scss */
body.open-nav {
    overflow: hidden;
}

/* line 1005, ../_scss/style.scss */
nav#site-navi {
    -moz-animation: fadeOut 0.01s ease both;
    -webkit-animation: fadeOut 0.01s ease both;
    animation: fadeOut 0.01s ease both;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 20005;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: white;
}

/* line 1007, ../_scss/style.scss */
.open-nav nav#site-navi {
    -moz-animation: fadeIn 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
    -webkit-animation: fadeIn 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
    animation: fadeIn 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
}

/* line 1008, ../_scss/style.scss */
.hide-nav nav#site-navi {
    -moz-animation: fadeOut 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
    -webkit-animation: fadeOut 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
    animation: fadeOut 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
}

/* line 1019, ../_scss/style.scss */
nav#site-navi #site-navi-inner {
    position: relative;
    width: 100%;
    height: 100vh;
    padding-top: 10px;
    padding-bottom: 10px;
}

/* line 1024, ../_scss/style.scss */
nav#site-navi .menu-wrapper {
    position: relative;
    z-index: 100;
    padding-left: 23.3%;
    display: table;
    width: 100%;
    height: 100%;
}

/* line 1028, ../_scss/style.scss */
nav#site-navi .menu-wrapper .page-visual {
    display: table-cell;
    position: relative;
    z-index: 1;
    width: 54.8%;
    height: 100%;
}

/* line 1032, ../_scss/style.scss */
nav#site-navi .menu-wrapper .page-visual .visual {
    -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -moz-transition: opacity 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -ms-transition: opacity 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -o-transition: opacity 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: opacity 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: transparent;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    -webkit-background-size: cover !important;
    background-size: cover !important;
    opacity: 0;
}

/* line 1036, ../_scss/style.scss */
.ie nav#site-navi .menu-wrapper .page-visual .visual {
    height: 97.8vh;
}

/* line 1039, ../_scss/style.scss */
nav#site-navi .menu-wrapper .page-visual .visual._default {
    opacity: 1;
    z-index: 1;
}

/* line 1040, ../_scss/style.scss */
nav#site-navi .menu-wrapper .page-visual .visual.__active {
    opacity: 1;
}

/* line 1046, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell {
    position: relative;
    z-index: 200;
    padding-top: 150px;
    display: table-cell;
    /* vertical-align: middle; */
}

/* line 1049, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell._left {
    width: 27.8%;
    padding-left: 10%;
}

/* line 1050, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell._right {
    width: 16.4%;
}

/* line 1053, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell ul.menu>li:last-child {
    margin-bottom: 0 !important;
}

/* line 1054, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell ul.menu>li a {
    display: block;
    white-space: nowrap;
}

/* line 1057, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell ul.menu._main>li {
    margin-bottom: 56px;
}

/* line 1059, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell ul.menu._main>li a {
    position: relative;
    -webkit-transition: 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -moz-transition: 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -ms-transition: 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -o-transition: 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

/* line 1062, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell ul.menu._main>li a:before {
    -webkit-transition: width 0.22s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -moz-transition: width 0.22s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -ms-transition: width 0.22s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -o-transition: width 0.22s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: width 0.22s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    position: absolute;
    right: 109%;
    top: 50%;
    width: 0;
    height: 1px;
    background-color: #000;
    display: block;
    content: '';
}

/* line 1069, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell ul.menu._main>li a span {
    display: block;
    -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -moz-transition: opacity 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -ms-transition: opacity 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -o-transition: opacity 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: opacity 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

/* line 1072, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell ul.menu._main>li a span.main {
    /* font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif; */
    letter-spacing: .1em;
    color: #000;
    font-size: 2.1rem;
    color: #000;
    margin-bottom: 13px;
}

/* line 1077, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell ul.menu._main>li a span.sub {
    font-family: eb-garamond, serif;
    letter-spacing: .05em;
    font-size: 1.2rem;
    text-indent: 2px;
    color: #a6a6a6;
}

/* line 1084, ../_scss/style.scss */
.pc nav#site-navi .menu-wrapper div.cell ul.menu._main>li a:hover {
    padding-left: 4px;
}

/* line 1086, ../_scss/style.scss */
.pc nav#site-navi .menu-wrapper div.cell ul.menu._main>li a:hover span {
    opacity: .5;
}

/* line 1087, ../_scss/style.scss */
.pc nav#site-navi .menu-wrapper div.cell ul.menu._main>li a:hover:before {
    width: 130px;
}

/* line 1093, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell ul.menu._sub {
    padding: 11px 0 11px 28px;
    border-left: 1px solid #000;
}

/* line 1096, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell ul.menu._sub>li {
    margin-bottom: 25px;
    /*   font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif; */
    letter-spacing: .1em;
    color: #000;
    font-size: 1.4rem;
    letter-spacing: 0;
}

/* line 1100, ../_scss/style.scss */
nav#site-navi .menu-wrapper div.cell ul.menu._sub>li a {
    -webkit-transition: 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -moz-transition: 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -ms-transition: 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    -o-transition: 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

/* line 1103, ../_scss/style.scss */
.pc nav#site-navi .menu-wrapper div.cell ul.menu._sub>li a:hover {
    opacity: .5;
}

/* line 1112, ../_scss/style.scss */
nav#site-navi a.sitelogo {
    position: absolute;
    left: 50px;
    top: 50px;
}

/* line 1114, ../_scss/style.scss */
nav#site-navi .meta-area {
    position: absolute;
    left: 58px;
    top: 150px;
    z-index: 100;
    width: 21.2%;
}

/* line 1117, ../_scss/style.scss */
nav#site-navi .meta-area .address {
    font-size: 1.25rem;
    line-height: 2;
    margin-bottom: 4px;
}

/* line 1118, ../_scss/style.scss */
nav#site-navi .meta-area .contact {
    font-family: eb-garamond, serif;
    letter-spacing: .05em;
    font-size: 1.5rem;
    white-space: nowrap;
}

/* line 1120, ../_scss/style.scss */
nav#site-navi .meta-area .contact .tel {
    display: inline-block;
}

/* line 1122, ../_scss/style.scss */
nav#site-navi .meta-area .contact .tel:after {
    display: inline-block;
    /* content: '|'; */
    padding: 0 5px;
}

/* line 1126, ../_scss/style.scss */
nav#site-navi ul.snslist {
    position: absolute;
    right: 60px;
    bottom: 50px;
    z-index: 101;
    display: inline-block;
    width: auto;
    text-align: right;
    display: none;
}

/* line 1130, ../_scss/style.scss */
nav#site-navi ul.snslist>li {
    -webkit-transition: 0.2s ease;
    -moz-transition: 0.2s ease;
    -ms-transition: 0.2s ease;
    -o-transition: 0.2s ease;
    transition: 0.2s ease;
    display: inline-block;
    margin-right: 25px;
}

/* line 1133, ../_scss/style.scss */
.pc nav#site-navi ul.snslist>li a:hover {
    opacity: .5;
}

/* line 1134, ../_scss/style.scss */
nav#site-navi ul.snslist>li:last-child {
    margin-right: 0;
}

/* line 1135, ../_scss/style.scss */
nav#site-navi ul.snslist>li a {
    position: relative;
    display: block;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 16px;
}

/* line 1141, ../_scss/style.scss */
nav#site-navi ul.snslist>li.sns a {
    width: 20px;
    height: 12px;
}

/* line 1143, ../_scss/style.scss */
nav#site-navi ul.snslist>li.sns a span {
    display: none;
}

/* line 1144, ../_scss/style.scss */
nav#site-navi ul.snslist>li.sns a:before {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -8px;
    display: block;
    width: 20px;
    height: 12px;
    font-family: 'nezu';
    font-weight: normal !important;
    font-size: 20px;
}

/* line 1152, ../_scss/style.scss */
nav#site-navi ul.snslist>li.facebook {
    margin-right: 8px;
}

/* line 1154, ../_scss/style.scss */
nav#site-navi ul.snslist>li.facebook a:before {
    content: '\e700';
}

/* line 1156, ../_scss/style.scss */
nav#site-navi ul.snslist>li.instagram a:before {
    content: '\e702';
}

/* line 1157, ../_scss/style.scss */
nav#site-navi ul.snslist>li.lang a {
    display: inline-block;
}

/* line 1159, ../_scss/style.scss */
nav#site-navi ul.snslist>li.lang a:after {
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 1px;
    background-color: #000;
    display: block;
    content: '';
}

@media screen and (max-width: 1200px) {

    /* line 1171, ../_scss/style.scss */
    nav#site-navi .menu-wrapper {
        padding-left: 21.2%;
    }

    /* line 1173, ../_scss/style.scss */
    nav#site-navi .menu-wrapper .page-visual {
        width: 54.8%;
    }

    /* line 1175, ../_scss/style.scss */
    nav#site-navi .menu-wrapper div.cell._left {
        padding-left: 9%;
    }

    /* line 1177, ../_scss/style.scss */
    nav#site-navi .menu-wrapper div.cell ul.menu._sub {
        padding: 11px 0 11px 24px;
    }

    /* line 1181, ../_scss/style.scss */
    nav#site-navi a.sitelogo {
        width: 180px;
        height: 180px;
    }
}

@media screen and (max-width: 1040px) {

    /* line 1189, ../_scss/style.scss */
    nav#site-navi .menu-wrapper div.cell._left {
        padding-left: 6.5%;
    }

    /* line 1192, ../_scss/style.scss */
    nav#site-navi .menu-wrapper div.cell ul.menu._main>li {
        margin-bottom: 40px;
    }

    /* line 1196, ../_scss/style.scss */
    nav#site-navi .menu-wrapper div.cell ul.menu._main>li a span.main {
        font-size: 1.7rem;
    }

    /* line 1201, ../_scss/style.scss */
    nav#site-navi .menu-wrapper div.cell ul.menu._sub {
        padding: 11px 0 11px 24px;
    }

    /* line 1205, ../_scss/style.scss */
    nav#site-navi a.sitelogo {
        width: 160px;
        height: 160px;
    }
}

@media screen and (max-width: 840px) {

    /* line 1211, ../_scss/style.scss */
    nav#site-navi .menu-wrapper {
        padding-left: 40%;
    }

    /* line 1213, ../_scss/style.scss */
    nav#site-navi .menu-wrapper .page-visual {
        display: none;
    }

    /* line 1215, ../_scss/style.scss */
    nav#site-navi a.sitelogo {
        left: 20%;
        top: 50%;
        margin-left: -80px;
        margin-top: -80px;
        width: 155px;
        height: 155px;
    }

    /* line 1220, ../_scss/style.scss */
    nav#site-navi .meta-area {
        display: inline-block;
        width: auto;
        bottom: 50px;
    }
}

/* @media screen and (max-width: 667px) { */
@media screen and (max-width: 812px) {

    /* line 1005, ../_scss/style.scss */
    nav#site-navi {
        overflow-y: scroll;
        padding-left: 0;
        padding-top: 117px;
        padding-bottom: 65px;
    }

    /* line 1228, ../_scss/style.scss */
    nav#site-navi #site-navi-inner {
        height: auto;
        padding-top: 0;
        padding-bottom: 0;
    }

    /* line 1230, ../_scss/style.scss */
    nav#site-navi a.sitelogo {
        display: none;
    }

    /* line 1231, ../_scss/style.scss */
    nav#site-navi .menu-wrapper {
        display: block;
        padding-left: 0;
        height: auto;
    }

    /* line 1233, ../_scss/style.scss */
    nav#site-navi .menu-wrapper div.cell {
        display: block;
        width: 100% !important;
        padding-top: 0;
    }

    nav#site-navi .menu-wrapper div.cell._left {
        padding-left: 0;
        padding-top: 0;
    }

    nav#site-navi .menu-wrapper div.cell ul.menu {
        text-align: center;
    }

    nav#site-navi .menu-wrapper div.cell ul.menu._main {
        margin-bottom: 65px;
    }

    nav#site-navi .menu-wrapper div.cell ul.menu._main>li {
        margin-bottom: 34px;
    }

    nav#site-navi .menu-wrapper div.cell ul.menu._main>li a span.main {
        font-size: 1.7rem;
        margin-bottom: 12px;
    }

    nav#site-navi .menu-wrapper div.cell ul.menu._sub {
        padding: 0;
        border-left: 0 none;
    }

    nav#site-navi .menu-wrapper div.cell ul.menu._sub>li {
        margin-bottom: 9px;
    }

    nav#site-navi .menu-wrapper div.cell ul.menu._sub>li:last-child {
        margin-bottom: 0;
    }

    nav#site-navi .menu-wrapper div.cell ul.menu._sub>li a {
        display: block;
        width: 100%;
        line-height: 55px;
        border: 1px solid #ccc;
    }

    nav#site-navi .meta-area {
        position: static;
        margin-top: 40px;
        width: 100%;
        text-align: center;
    }

    nav#site-navi .meta-area .address {
        font-size: 1.25rem;
        line-height: 2;
        margin-bottom: 4px;
    }

    nav#site-navi .meta-area .contact {
        font-family: eb-garamond, serif;
        letter-spacing: .05em;
        font-size: 1.5rem;
        white-space: nowrap;
    }

    nav#site-navi .meta-area .contact .tel {
        display: inline-block;
    }

    nav#site-navi .meta-area .contact .tel:after {
        display: inline-block;
        content: '|';
        padding: 0 5px;
    }

    nav#site-navi ul.snslist {
        position: static;
        margin-top: 25px;
        width: 100%;
        text-align: center;
    }

    nav#site-navi ul.snslist>li.sns a {
        width: 19px;
    }

    nav#site-navi ul.snslist>li.sns a:before {
        font-size: 19px;
    }

    nav#site-navi ul.snslist>li.facebook {
        margin-right: 5px;
    }
}



/* お問合わせ */

form#mail_form * {
    margin: 0;
    padding: 0;
}

form#mail_form {
    position: relative;
    width: 960px;
    /* top: 100px; */
    margin: 50px auto;
    padding: 10px 0;
    background: #ffffff;
    border: 1px solid #cccccc;
    border-radius: 7px;
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
    font-size: 95%;
    line-height: 1.8;
}

form#mail_form dl {
    width: 90%;
    margin: 0 auto;
    overflow: hidden;
}

form#mail_form dl dt {
    clear: both;
    width: 30%;
    float: left;
    border-top: 1px solid #cccccc;
    padding: 15px 0;
    text-align: right;
    overflow: hidden;
}

form#mail_form dl dd {
    width: 65%;
    float: right;
    border-top: 1px solid #cccccc;
    padding: 15px 0 15px 5%;
}

form#mail_form dl dt:first-child,
form#mail_form dl dt:first-child+dd {
    border: none;
}

form#mail_form dl dt span {
    display: block;
    font-size: 85%;
    color: #3377ff;
}


/* -- for JavaScript ここから -------------------------------------------------------------------------------- */

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
    display: inline-block;
    float: left;
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 3px;
}

form#mail_form dl dt span.required {
    background: #a22925;
    /* border: 1px solid #d43f3a; */
}

form#mail_form dl dt span.optional {
    /* background: #337ab7; */
    /* border: 1px solid #2e6da4; */
}

form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match {
    display: block;
    color: #ff0000;
    margin-top: 3px;
}

span.loading {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border-top: 5px solid rgba(255, 255, 255, 0.2);
    border-right: 5px solid rgba(255, 255, 255, 0.2);
    border-bottom: 5px solid rgba(255, 255, 255, 0.2);
    border-left: 5px solid #ffffff;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load-circle 1.0s linear infinite;
    animation: load-circle 1.0s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -30px;
    margin-left: -30px;
}

@-webkit-keyframes load-circle {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load-circle {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}


/* -- for JavaScript ここまで -------------------------------------------------------------------------------- */

form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"] {
    max-width: 90%;
    padding: 7px 2%;
    border: 1px solid #cccccc;
    /* border-radius: 3px; */
    background: #fafafa;
    -webkit-appearance: none;
    font-size: 100%;
    font-family: inherit;
    margin-top: 7px;
}

form#mail_form input[type="text"]:focus,
form#mail_form input[type="email"]:focus,
form#mail_form input[type="tel"]:focus,
form#mail_form textarea:focus {
    box-shadow: 0px 0px 5px #55ccff;
    border: 1px solid #55ccff;
    background: #ffffff;
}

form#mail_form ul li input[type="radio"],
form#mail_form ul li input[type="checkbox"] {
    margin-right: 10px;
    margin-top: 10px;
}

form#mail_form ul li:first-child input[type="radio"],
form#mail_form ul li:first-child input[type="checkbox"] {
    margin-top: 0px;
}

form#mail_form select {
    font-size: 100%;
    font-family: inherit;
    margin-top: 10px;
}

form#mail_form textarea {
    display: block;
    width: 90%;
    max-width: 90%;
    height: 200px;
    padding: 7px 2%;
    resize: vertical;
    border: 1px solid #cccccc;
    border-radius: 3px;
    background: #fafafa;
    -webkit-appearance: none;
    font-size: 100%;
    font-family: inherit;
}

form#mail_form ul {
    list-style-type: none;
}

form#mail_form ul li label:hover {
    cursor: pointer;
}

form#mail_form input#company {
    width: 60%;
}

form#mail_form input#name_1,
form#mail_form input#name_2,
form#mail_form input#read_1,
form#mail_form input#read_2,
form#mail_form input#postal,
form#mail_form input#phone,
form#mail_form input#schedule {
    width: 30%;
}

form#mail_form input#mail_address,
form#mail_form input#mail_address_confirm {
    width: 80%;
}

form#mail_form input#postal+a {
    display: inline-block;
    padding: 5px 15px;
    border: 1px solid #46b8da;
    border-radius: 3px;
    background: #5bc0de;
    font-size: 100%;
    color: #ffffff;
    text-decoration: none;
}

form#mail_form input#postal+a:hover {
    cursor: pointer;
    background: #31b0d5;
    border: 1px solid #269abc;
}

form#mail_form input#address {
    width: 90%;
}

form#mail_form p#form_submit {
    width: 90%;
    margin: 0 auto;
    padding: 15px 0;
    border-top: 1px solid #cccccc;
}

form#mail_form input[type="button"] {
    padding: 7px 20px;
    border: 1px solid #111;
    /* border-radius: 3px; */
    background: #333;
    font-size: 100%;
    color: #ffffff;
    font-family: inherit;
    -webkit-appearance: none;
}

form#mail_form input[type="button"]:hover {
    cursor: pointer;
    background: #111;
    border: 1px solid #111;
}

form#mail_form input#form_submit_button {
    margin-left: 35%;
}


/* -- responsive ----------------------------------------------------------------------------------------------------------------- */


/* 1000pixel start */

@media screen and (max-width: 1000px) {
    form#mail_form {
        width: 95%;
        font-size: 100%;
    }

    form#mail_form dl {
        overflow: visible;
    }

    form#mail_form dl dt {
        width: auto;
        float: none;
        text-align: left;
        padding: 15px 0 5px;
        font-weight: bold;
    }

    form#mail_form dl dd {
        width: auto;
        float: none;
        border-top: none;
        padding: 0px 0 20px 0px;
    }

    form#mail_form dl dt span {
        font-weight: normal;
    }

    /* -- for JavaScript ここから -------------------------------------------------------------------------------- */
    form#mail_form dl dt span.required,
    form#mail_form dl dt span.optional {
        margin-right: 1em;
        margin-bottom: 2em;
    }

    /* -- for JavaScript ここまで -------------------------------------------------------------------------------- */
    form#mail_form input[type="text"],
    form#mail_form input[type="email"],
    form#mail_form input[type="tel"] {
        margin-top: 0px;
    }

    form#mail_form input#postal+a {
        padding: 6px 15px 5px;
    }

    form#mail_form input#form_submit_button {
        margin-left: 0;
    }

    form#mail_form select {
        font-size: 16px;
        margin-top: 0;
    }

    form#mail_form input#phone,
    form#mail_form input#schedule {
        width: 50%;
    }
}


/* 1000pixel end */

body {
    overflow-y: scroll;
    /* あってもなくてもどちらでも可 */
}

div#confirm_field {
    width: 960px;
    margin: 50px auto;
    padding: 10px 0;
    background: #ffffff;
    border: 1px solid #cccccc;
    border-radius: 7px;
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
    font-size: 95%;
    line-height: 1.8;
}

div#confirm_field {
    display: none;
}

div#confirm_field h2 {
    width: 90%;
    margin: 0 auto;
    padding: 15px 0;
    font-size: 135%;
    font-weight: bold;
    text-align: center;
}

div#confirm_field dl {
    width: 90%;
    margin: 0 auto;
    overflow: hidden;
}

div#confirm_field dl dt {
    clear: both;
    width: 30%;
    float: left;
    border-top: 1px solid #cccccc;
    padding: 15px 0;
    text-align: right;
}

div#confirm_field dl dd {
    width: 65%;
    float: right;
    border-top: 1px solid #cccccc;
    padding: 15px 0 15px 5%;
}

div#confirm_field p#confirm_submit {
    width: 90%;
    margin: 0 auto;
    padding: 15px 0;
    border-top: 1px solid #cccccc;
}

div#confirm_field input[type="button"] {
    padding: 7px 20px;
    border-radius: 3px;
    font-size: 100%;
    color: #ffffff;
    font-family: inherit;
    -webkit-appearance: none;
}

div#confirm_field input#confirm_submit_button {
    background: #5cb85c;
    border: 1px solid #4cae4c;
    margin-left: 35%;
}

div#confirm_field input#confirm_submit_button:hover {
    cursor: pointer;
    background: #449d44;
    border: 1px solid #398439;
}

div#confirm_field input#confirm_cancel_button {
    background: #d9534f;
    border: 1px solid #d43f3a;
    margin-left: 20px;
}

div#confirm_field input#confirm_cancel_button:hover {
    cursor: pointer;
    background: #c9302c;
    border: 1px solid #ac2925;
}


/* -- responsive ----------------------------------------------------------------------------------------------------------------- */


/* 1000pixel start */

@media screen and (max-width: 1000px) {
    div#confirm_field {
        width: 95%;
        font-size: 100%;
    }

    div#confirm_field h2 {
        text-align: left;
    }

    div#confirm_field dl {
        overflow: visible;
    }

    div#confirm_field dl dt {
        width: auto;
        float: none;
        text-align: left;
        padding: 15px 0 0;
        font-weight: bold;
    }

    div#confirm_field dl dt:before {
        content: "【";
    }

    div#confirm_field dl dt:after {
        content: "】";
    }

    div#confirm_field dl dd {
        width: auto;
        float: none;
        border-top: none;
        padding: 0px 0 15px 0px;
    }

    div#confirm_field input#confirm_submit_button {
        margin-left: 0;
    }
}


/* 1000pixel end */

#recruit .company {
    margin-top: 60px
}

#recruit .title-sec-01 .section-foot {
    height: 56.25vw;
    max-height: 300px;
}

#recruit .sec {
    /* overflow-x: hidden */
}

#recruit .sec h2 {
    margin-bottom: 40px
}

#recruit .sec p {
    margin-bottom: 10px;
    letter-spacing: .05em;
    line-height: 2.3
}

#recruit .sec-line>.inner {
    position: relative;
    padding-top: 100px;
}

#recruit .sec-line>.inner:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .1)
}

#recruit .sec-line .section-body {
    padding-top: 185px
}

#recruit .sec-01 {
    padding-top: 50px;
    padding-bottom: 100px;
    width: 100%;
    max-width: 1200px;
    margin: 0px auto 0;
}

#recruit .sec-01 .unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#recruit .sec-01 .unit-head {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
}

#recruit .sec-01 .unit-foot {
    width: 37.5%;
    margin-left: 6.875%
}

#recruit .sec-01 .unit-foot>.img-cover {
    padding-bottom: 100%
}

#recruit .sec-01 .unit-foot .img {
    background-image: url(img/slideshow_01.jpg);
}

#recruit .titSub {
    color: #000;
    margin-bottom: 25px;
}

#recruit .titSubEn {
    font-size: 30px;
    font-weight: bold;
    /* font-family: 'Oswald', sans-serif; */
    display: block;
    line-height: 1.1;
    letter-spacing: .13em;
}

#recruit .titSubJa {
    font-size: 16px;
    text-align: left;
    display: block;
    line-height: 1.1;
    margin-top: 8px;
}

@media screen and (max-width:768px) {
    #recruit h2.section-title {
        line-height: 1.6
    }

    #recruit .titSubJa {
        text-align: center;
    }

    #recruit .sec .section-title,
    #recruit .sec p {
        text-align: center
    }

    #recruit .sec p {
        line-height: 2.14286
    }

    #recruit .sec .unit {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    #recruit .sec .unit-head {
        width: auto
    }

    #recruit .sec-01 {
        padding-top: 135px;
        padding-bottom: 0
    }

    #recruit .sec-01 .unit {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-right: -10px;
        margin-left: -10px
    }

    #recruit .sec-01 .unit-head {
        margin-right: 10px;
        margin-left: 10px
    }

    #recruit .sec-01 .unit-foot {
        width: 100%;
        margin-top: 90px;
        margin-left: 0
    }

    #recruit .flow .flow-list .unit-head .step-label {
        position: absolute;
        top: 3px;
        left: 0;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        vertical-align: top;
        line-height: 1;
        font-size: 1.5rem;
        letter-spacing: .3em
    }

    #recruit .flow .flow-list .unit-body {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
        padding-bottom: 20px
    }

    #recruit .flow .flow-list .unit-foot {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
        padding-bottom: 70px
    }

    #recruit .flow .flow-list .unit-foot p {
        font-size: inherit;
        line-height: 1.78571
    }

    #recruit .profile {
        padding-top: 90px;
        padding-bottom: 110px
    }

    #recruit .profile h2 {
        margin-bottom: 30px
    }

    #recruit .profile p {
        line-height: 2.14286;
        text-align: left;
    }

    #recruit .profile .section-head {
        padding: 0 20px
    }

    #recruit .profile .section-head .img-cover,
    #recruit .profile .section-head .img-outer {
        width: 250px;
        height: 250px
    }

    #recruit .profile .section-body {
        padding-top: 50px
    }

    #recruit .js-parallax-target .img,
    #recruit .js-parallax-target .img.img-02 {
        top: 0;
        height: 100%
    }
}

@media screen and (max-width:768px) {
    #recruit h2.section-title {
        font-size: 2.4rem
    }

    #recruit .sec {
        padding-top: 80px
    }

    #recruit .sec .unit-foot {
        margin-top: 60px
    }

    #recruit .sec-line>.inner {
        padding-top: 40px
    }

    #recruit .sec-01 {
        padding-top: 90px
    }

    #recruit .profile {
        padding-bottom: 60px
    }

    #recruit .example .section-body {
        padding-top: 80px
    }
}

#recruit table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}

#recruit th,
#recruit td {
    text-align: left;
    vertical-align: top
}


/*! #company
  =========================================== */

#recruit .companyTable {
    margin-top: 30px;
    margin-bottom: 100px;
}

#recruit .companyTable th,
#recruit .companyTable td {
    border: 1px dashed #d6d6d6;
    text-align: left;
}

#recruit .companyTable th {
    width: 250px;
    border-left: 0;
    padding: 10px 1% 10px;
    font-weight: 400;
}

#recruit .companyTable td {
    border-right: 0;
    padding: 10px 0 10px 30px;
}

#recruit .companyTable tr {
    border-bottom: dashed 1px #eee;
    /*   cursor: pointer; */
}


/*   .companyTable tr:hover{
  background-color: #9E9E9E;
  color:#fff;
   */


}

#recruit .companyTable th:before {
    font-family: 'themify';
    content: "\e724";
    /* color: #d00e00; */

    left: 0;
    padding-right: 10px;
    font-size: 14px;
}

@media only screen and (max-width: 500px) {
    #recruit .companyTable th {
        width: 100px;
        border-left: 0;
        padding: 18px 0 16px
    }
}

#recruit .companyScenery {
    margin: 120px -1000%;
    height: 255px;
    background: #ddd;
    background: url(css/../img/company/bg_company01.jpg);
    -webkit-animation: bgscroll 500s linear infinite;
    animation: bgscroll 500s linear infinite
}

#recruit .message {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 0px;
    height: 100%;
    /* padding-bottom: 150px; */
}

#recruit .messageIn {
    width: 1105px;
    overflow: hidden;
    padding-bottom: 100px;
    margin: 50px auto;
}

#recruit .messageBox {
    float: left;
    width: 584px
}

#recruit .messageTxt {
    margin-top: 18px;
    letter-spacing: .075em
}

#recruit .messageImg {
    float: right;
    width: 450px;
    /*     height: 520px; */
    /*     background: url(../images/company_appearance.jpg) */
}

.messageImg img {
    width: 100%;
    padding: 1%;
}

#recruit .message li {
    font-size: 14px;
    font-weight: 400;
}

@media only screen and (max-width: 500px) {
    #recruit .messageIn {
        width: 100%;
        overflow: hidden;
        padding-bottom: 100px;
    }

    #recruit .messageBox {
        clear: both;
        width: 100%;
    }

    #recruit .messageTxt {
        margin-top: 18px;
        letter-spacing: .075em
    }

    #recruit .messageImg {
        clear: both;
        width: 100%;
        /*     height: 520px; */
        /*     background: url(../images/company_appearance.jpg) */
    }

    #recruit .messageImg img {
        width: 100%;
        padding: 1%;
    }
}

/* ボタン */
.button_cart {
    cursor: pointer;
    /* width: 100%; */

    font-weight: normal;
    font-size: 13px;
    line-height: 2em;
    letter-spacing: 0.18em;
    position: relative;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    background-color: #fff;
    color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-color: #000;
    border-style: solid;
    border-width: 1px;
    padding: 13px 17px;
    padding: 0.8125em 1em 0.75em;
    transition: background-color 500ms ease-out;
}

.button_cart:hover,
.button_cart:focus {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
    text-decoration: none;
}

.button_cart2 {
    cursor: pointer;
    font-weight: normal;
    width: 90%;
    letter-spacing: 0.18em;
    position: relative;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    background-color: #fff;
    color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-color: #000;
    border-style: solid;
    border-width: 1px;
    padding: 13px 17px;
    transition: background-color 500ms ease-out;
    font-size: 0.75rem;
}

.button_cart2:hover,
.button_cart2:focus {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
    text-decoration: none;
}

.button_cart3 {
    cursor: pointer;
    font-weight: normal;
    width: 80%;
    position: relative;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    background-color: #fff;
    color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-color: #000;
    border-style: solid;
    border-width: 1px;
    padding: 20px 17px;
    transition: background-color 500ms ease-out;
    font-size: 0.75rem;
}

.button_cart3:hover,
.button_cart3:focus {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
    text-decoration: none;
}

button,
.button {
    cursor: pointer;
    font-family: inherit;
    font-weight: normal;
    font-size: 1em;
    line-height: 1;
    position: relative;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    background-color: #none;
    color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-color: #000;
    border-style: solid;
    border-width: 1px;
    margin: 0 0 1.25em;
    padding: 13px 17px;
    transition: background-color 300ms ease-out;
    background: #fff;
}

button2,
.button2 {
    cursor: pointer;
    font-family: inherit;
    font-weight: normal;
    line-height: 1;
    position: relative;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    background-color: #none;
    color: #000;
    font-size: 1em;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-color: #000;
    border-style: solid;
    border-width: 1px;
    margin: 0 0 1.25em;
    padding: .8125em 1.5em .75em;
    transition: background-color 300ms ease-out;
}

button:hover,
button:focus,
.button:hover,
.button:focus {
    background-color: #ccc;
    color: #000;
}

button2:hover,
button2:focus,
.button2:hover,
.button2:focus {
    background-color: #000;
    color: #fff;
    text-decoration: none;
}

.button_gold {
    cursor: pointer;
    /* width: 100%; */

    font-weight: normal;
    font-size: 13px;
    line-height: 1.1em;
    letter-spacing: 0.18em;
    position: relative;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    background-color: #fff;
    color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-color: #000;
    border-style: solid;
    border-width: 1px;
    padding: 13px 17px;
    padding: 0.8125em 1em 0.75em;
    transition: background-color 500ms ease-out;
}

.button_gold:hover,
.button_gold:focus {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
    text-decoration: none;
}

.button_gold2 {
    cursor: pointer;
    /* width: 100%; */

    margin: 5px;
    font-weight: normal;
    font-size: 13px;
    line-height: 1.1em;
    letter-spacing: 0.18em;
    position: relative;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    background-color: #cccccc;
    color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-color: #000;
    border-style: solid;
    border-width: 1px;
    padding: 13px 17px;
    padding: 0.8125em 1em 0.75em;
    transition: background-color 500ms ease-out;
}

.button_gold2:hover,
.button_gold2:focus {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
    text-decoration: none;
}

.button_gold3 {
    margin: 5px;
    cursor: pointer;
    /* width: 100%; */

    font-weight: normal;
    font-size: 13px;
    line-height: 1.1em;
    letter-spacing: 0.18em;
    position: relative;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    background-color: #fff;
    color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-color: #000;
    border-style: dashed;
    border-width: 1px;
    padding: 13px 17px;
    padding: 0.8125em 1em 0.75em;
    transition: background-color 500ms ease-out;
}

.button_gold3:hover,
.button_gold3:focus {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
    text-decoration: none;
}

/* Read more */
.read-more {
    margin: 0 3px 15px;
    display: inline-block;
    width: 200px;
    max-width: 100%;
    color: #111;
    border: #111 1px solid;
    font-size: 14px;
    line-height: 40px;
    text-align: center;
    letter-spacing: 1px;
    position: relative;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.read-more:after {
    font-family: 'themify';
    content: "\e649";
    font-size: 10px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 0;
    right: 15px;
    z-index: 1;
    -webkit-transition: right 0.3s ease;
    -moz-transition: right 0.3s ease;
    transition: right 0.3s ease;
}

.read-more:hover {
    color: #fff;
    border: #9E9E9E 1px solid;
    background: #111;
}

.read-more:hover:after {
    right: 10px;
}

/* news more */
.news-more_ares {
    width: 100%;
    text-align: center;
    margin: 15px 5px;
}

.news-more {
    margin: 0 3px 15px;
    display: inline-block;
    width: 120px;
    max-width: 100%;
    margin: 0 auto;
    color: #fff;
    background: #a52525;
    font-size: 13px;
    line-height: 25px;
    text-align: center;
    letter-spacing: 1px;
    position: relative;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 5em;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding-bottom: 3px;
}

.news-more:after {
    font-family: 'themify';
    content: "\e649";
    font-size: 10px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 2px;
    right: 12px;
    z-index: 1;
    -webkit-transition: right 0.3s ease;
    -moz-transition: right 0.3s ease;
    transition: right 0.3s ease;
}

.news-more:hover {
    color: #fff;
    border: #9E9E9E 1px solid;
    background: #111;
}

.news-more:hover:after {
    right: 10px;
}

@media only screen and (max-width: 800px) {
    .read-more {
        margin-top: 15px;
        font-size: 13px;
    }

    * .read-more:after {
        right: 10px;
    }

    .read-more:hover {
        color: #fff;
        border: #111 1px solid;
        background: #111;
    }
}

@media only screen and (max-width: 738px) {
    .read-more {
        margin-top: 10px;
        width: 140px;
        font-size: 12px;
        line-height: 30px;
        border: none;
        border: #111 1px solid;
        font-size: 12px;
        line-height: 30px;
        text-align: center;
        letter-spacing: 1px;
        position: relative;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        border-radius: 30px;
    }

    .read-more:after,
    .read-more:hover:after {
        right: 10px;
    }
}



.pagetitle {
    padding: 5px;
    /* padding-bottom: 0; */

    text-align: center;
    /* background: url(../images/cotents_bg01.jpg); */

    background-position: 0 0;
    position: relative;
    overflow: hidden;
    /* height: 250px; */
    /* background: #eee; */
}

.pagetitle ul {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: right;
    font-size: 14px;
}

.pagetitle li {
    display: inline;
    padding: 0 5px;
}

.pagetitle {
    padding: 20px 5%;
    position: relative;
    z-index: 1;
    border-top: #ededed 1px solid;
    /* border-bottom: #f5f5f5 1px solid; */
    /* margin-bottom: 30px; */
}

.pagetitle:before {
    position: absolute;
    top: -1px;
    left: 5%;
    right: 5%;
    height: 0;
    content: "";
    border-top: #ededed 1px solid;
    z-index: 2;
}

.pagetitle ol {
    font-size: 0;
    margin: 0;
    padding: 0;
    line-height: 1.8;
    line-height: 1;
}

.pagetitle li {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    list-style: none;
    font-size: 11px;
    font-weight: normal;
    margin: 0;
    padding: 0;
    letter-spacing: 1px;
    height: 20px;
    line-height: 20px;
}

/*#pagetitle li:after { font-size: 6px; font-family: 'themify'; content: "\e649"; font-weight: normal; margin: 0 10px; height:20px; line-height:20px; }*/
.pagetitle li:after {
    font-size: 10px;
    /* font-family: 'FontAwesome'; */
    /* content: "\f105"; */

    font-family: 'Font Awesome 6 pro';
    content: "\f054";
    font-weight: normal;
    margin: 0 10px;
    height: 20px;
    line-height: 20px;
}

.pagetitle li:last-child:after {
    display: none;
}

.pagetitle li i {
    font-size: 16px;
    padding-right: 5px;
    font-weight: normal;
    line-height: 1.3;
}

.pagetitle li a {
    /*border-bottom: #999 1px solid;*/

    position: relative;
    z-index: 1;
    height: 20px;
    line-height: 20px;
}

/*.breadcrumb li:first-child a:before {padding-right:5px; font-size: 11px; font-family: 'themify'; content: "\e69b";}*/
.#pagetitle li:first-child a:before {
    padding-right: 5px;
    font-size: 1.2rem;
    font-family: 'FontAwesome';
    content: "\f015";
}

.pagetitle li a:after {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 0;
    content: "";
    background: transparent;
    z-index: -1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.pagetitle li a:hover:after {
    width: 100%;
    /*background:#d7e4ed; */
}

.pagetitle li a:hover {
    color: #aaa;
    /*border-bottom: #999 1px solid;*/
}

@media only screen and (max-width: 800px) {
    .pagetitle {
        padding: 20px 0.5%;
        border-top: none;
    }

    .breadcrumb:before {
        display: none;
    }

    .pagetitle li a {
        /*border-bottom: #aaa 1px solid;*/
        font-size: 16px;
    }

    .pagetitle li a:hover:after {
        display: none;
    }

    .pagetitle li a:hover {
        color: #000;
    }
}

@media only screen and (max-width: 414px) {
    .pagetitle ol {
        font-size: 0;
        margin: -10px auto 0;
        padding: 0;
        display: block;
        text-align: left;
    }

    .pagetitle li {
        font-size: 14px;
        margin: 10px 0 0;
        padding: 0;
        letter-spacing: 1px;
    }

    .pagetitle li:after {
        margin: 0 5px;
    }

    .pagetitle li:last-child {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 10em;
    }

    .pagetitle li:first-child a {
        /* font-size: 0; */
        width: auto;
        padding-left: 10px;
        padding-bottom: 7px;
    }

    .pagetitle li:first-child a:before {
        padding-right: 0;
        font-size: 18px;
    }

    .pagetitle ul {
        text-align: left;
        font-size: 10px;
    }

    .pagetitle li {
        display: inline;
    }

    .pagetitle li a {
        font-size: 14px;
    }
}

@media only screen and (max-width: 320px) {
    .pagetitle li:last-child {
        width: ;
    }
}

/* repair */
.archive-repair-items {}

.archive-repair-items p {
    font-size: 18px;
}

.archive-repair-items .title:before {
    font-family: 'Font Awesome 6 pro';
    content: "\f3a5";
    left: 1.5em;
    color: #333;
    font-size: 1.2em;
    top: -3px;
    padding-right: 0.5em;
}

.archive-repair-items .item {
    padding: 60px 0;
    border-top: #d9e3e5 1px solid;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

.archive-repair-items .item:first-child {
    padding-top: 0;
    border: none;
}

.archive-repair-items .item:last-child {
    padding-bottom: 0;
}

@media only screen and (max-width: 900px) {
    .archive-repair-items .item {
        padding: 50px 0;
    }
}

@media only screen and (max-width: 738px) {
    .archive-repair-items .item {
        padding: 45px 0;
    }
}

.archive-repair-items .item>.image {
    width: 30%;
    float: left;
    position: relative;
    /* -webkit-border-radius: 100%; */
    /* border-radius: 100%; */
}

.archive-repair-items .item>.text {
    float: right;
    width: 60%;
}

.archive-repair-items .item>.text .role {
    display: inline-block;
    font-size: 14px;
    /* font-family: 'Overpass', sans-serif; */

    font-weight: 400;
    letter-spacing: 0.125em;
    line-height: 1.4;
    text-transform: uppercase;
    position: relative;
    z-index: 0;
}

.archive-repair-items .item>.text .role:after {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    height: 50%;
    content: "";
    background: #ddd;
    z-index: -1;
}

.archive-repair-items .item>.text .name {
    margin: 10px 0 25px;
}

.archive-repair-items .item>.text .name .jp {
    margin-top: 10px;
    padding-left: 20px;
    font-size: 16px;
    /* font-family: 'Noto Sans JP', sans-serif; */

    font-weight: 400;
    letter-spacing: 4px;
    display: block;
    line-height: 1;
    position: relative;
    z-index: 0;
}

.jp span {
    font-size: 13px
}

.archive-repair-items .item>.text .name .jp:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 10px;
    height: 0;
    content: "";
    border-top: #0d0d0d 1px solid;
    z-index: -1;
}

.archive-repair-items .item>.text .name .en {
    font-size: 26px;
    /* font-family: 'Overpass', sans-serif; */

    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.2;
    display: block;
}

.archive-repair-items .item>.text .comment {
    padding: 25px 25px 25px 0;
    /* margin-top: 25px; */

    font-size: 16px;
    line-height: 1.9;
    position: relative;
    z-index: 0;
}

.archive-repair-items .item>.text .comment img {
    width: 94%;
    padding: 3%;
}

.archive-repair-items .item>.text .comment:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: -30px;
    content: "";
    background: #f7f7f7;
    z-index: -1;
    -webkit-border-radius: 0px 0px 15px 15px;
    border-radius: 0px 0px 15px 15px;
}

@media only screen and (max-width: 900px) {
    .archive-repair-items .item>.text .name .en {
        font-size: 25px;
    }

    .archive-repair-items .item>.text .comment {
        margin-top: 20px;
        padding: 20px 25px 20px 0;
        font-size: 15px;
    }

    .archive-repair-items .item>.text .comment:after {
        left: -25px;
    }
}

@media only screen and (max-width: 738px) {
    .archive-repair-items .item>.image {
        margin: 0 auto;
        width: 100%;
        max-width: 250px;
        float: none;
    }

    .archive-repair-items .item>.text {
        float: none;
        width: 100%;
        margin: 25px 0 0;
        text-align: center;
    }

    .archive-repair-items .item>.text .name {
        margin-bottom: 20px;
        text-align: center;
    }

    .archive-repair-items .item>.text .role {
        font-size: 13px;
        letter-spacing: 0.1em;
    }

    .archive-repair-items .item>.text .name {
        margin: 5px 0 20px;
    }

    .archive-repair-items .item>.text .name .jp {
        margin-top: 10px;
        padding-left: 0;
    }

    .archive-repair-items .item>.text .name .jp:before {
        display: none;
    }

    .archive-repair-items .item>.text .name .en {
        font-size: 22px;
    }

    .archive-repair-items .item>.text .career {
        margin: 0 auto;
        text-align: left;
        max-width: 450px;
    }

    .archive-repair-items .item>.text .comment {
        max-width: 450px;
        padding: 20px 5%;
        margin: 20px auto 0;
        font-size: 13px;
        text-align: left;
    }

    .archive-repair-items .item>.text .comment:after {
        left: 0;
    }
}

@media only screen and (max-width: 414px) {
    .archive-repair-items .item>.image {
        max-width: 200px;
    }
}

/* reform */
.archive-reform-items {}

.archive-reform-items p {
    font-size: 18px;
}

.archive-reform-items .title:before {
    font-family: 'Font Awesome 6 pro';
    content: "\f3a5";
    left: 1.5em;
    color: #333;
    font-size: 1.2em;
    top: -3px;
    padding-right: 0.5em;
}

.archive-reform-items .item {
    padding: 60px 0;
    border-top: #d9e3e5 1px solid;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

.archive-reform-items .item:first-child {
    padding-top: 0;
    border: none;
}

.archive-reform-items .item:last-child {
    padding-bottom: 0;
}

@media only screen and (max-width: 900px) {
    .archive-reform-items .item {
        padding: 50px 0;
    }
}

@media only screen and (max-width: 738px) {
    .archive-reform-items .item {
        padding: 45px 0;
    }
}

@media only screen and (max-width: 500px) {
    .archive-reform-items .item {
        padding: 0 5px 0;
    }
}

.archive-reform-items .item>.image {
    width: 30%;
    float: left;
    position: relative;
    /* -webkit-border-radius: 100%; */
    /* border-radius: 100%; */
}

.archive-reform-items .item>.text {
    float: right;
    width: 100%;
    padding: 1em;
}

.archive-reform-items .item>.text .role {
    display: inline-block;
    font-size: 14px;
    /* font-family: 'Overpass', sans-serif; */

    font-weight: 400;
    letter-spacing: 0.125em;
    line-height: 1.4;
    text-transform: uppercase;
    position: relative;
    z-index: 0;
}

.archive-reform-items .item>.text .role:after {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    height: 50%;
    content: "";
    background: #ddd;
    z-index: -1;
}

.archive-reform-items .item>.text .name {
    margin: 10px 0 25px;
}

.archive-reform-items .item>.text .name .jp {
    margin-top: 10px;
    padding-left: 20px;
    font-size: 16px;
    /* font-family: 'Noto Sans JP', sans-serif; */

    font-weight: 400;
    letter-spacing: 4px;
    display: block;
    line-height: 1;
    position: relative;
    z-index: 0;
}

.jp span {
    font-size: 13px
}

.archive-reform-items .item>.text .name .jp:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 10px;
    height: 0;
    content: "";
    border-top: #0d0d0d 1px solid;
    z-index: -1;
}

.archive-reform-items .item>.text .name .en {
    font-size: 26px;
    /* font-family: 'Overpass', sans-serif; */

    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.2;
    display: block;
}

.archive-reform-items .item>.text .comment {
    padding: 25px 25px 25px 0;
    /* margin-top: 25px; */

    font-size: 16px;
    line-height: 1.9;
    position: relative;
    z-index: 0;
}

.archive-reform-items .item>.text .comment p {
    font-size: 16px;
    line-height: 1.9;
}

.archive-reform-items .item>.text .comment img {
    width: 94%;
    padding: 3%;
}

.archive-reform-items .item>.text .comment:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: -30px;
    content: "";
    background: #f7f7f7;
    z-index: -1;
    -webkit-border-radius: 0px 0px 15px 15px;
    border-radius: 0px 0px 15px 15px;
}

@media only screen and (max-width: 900px) {
    .archive-reform-items .item>.text .name .en {
        font-size: 25px;
    }

    .archive-reform-items .item>.text .comment {
        margin-top: 20px;
        padding: 20px 25px 20px 0;
        font-size: 15px;
    }

    .archive-reform-items .item>.text .comment:after {
        left: -25px;
    }
}

@media only screen and (max-width: 738px) {
    .archive-reform-items .item>.image {
        margin: 0 auto;
        width: 100%;
        max-width: 250px;
        float: none;
    }

    .archive-reform-items .item>.text {
        float: none;
        width: 100%;
        /* margin: 25px 0 0; */
        text-align: center;
    }

    .archive-reform-items .item>.text .name {
        margin-bottom: 20px;
        text-align: center;
    }

    .archive-reform-items .item>.text .role {
        font-size: 13px;
        letter-spacing: 0.1em;
    }

    .archive-reform-items .item>.text .name {
        margin: 5px 0 20px;
    }

    .archive-reform-items .item>.text .name .jp {
        margin-top: 10px;
        padding-left: 0;
    }

    .archive-reform-items .item>.text .name .jp:before {
        display: none;
    }

    .archive-reform-items .item>.text .name .en {
        font-size: 22px;
    }

    .archive-reform-items .item>.text .career {
        margin: 0 auto;
        text-align: left;
        max-width: 450px;
    }

    .archive-reform-items .item>.text .comment {
        max-width: 450px;
        padding: 20px 5%;
        margin: 20px auto 0;
        font-size: 13px;
        text-align: left;
    }

    .archive-reform-items .item>.text .comment:after {
        left: 0;
    }
}

@media only screen and (max-width: 414px) {
    .archive-reform-items .item>.image {
        max-width: 200px;
    }
}



/* メガネ　安心保証 */

.bl_media {
    font-size: 12px;
}

[class*='col-'].bl_media {
    padding: 5px;
}

.el_ttl {
    font-size: 16px;
    /* font-weight: bold; */
}

/* ***
  * Layout
  **************************** */

.ly_pageInner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 40px;
}

.ly_pageInner.ly_pageInner__bgcBorder {
    background-color: #fff;
    border: 1px solid #E8E8E8;
    color: #000;
}

@media(max-width: 1024px) {
    .ly_pageInner {
        width: 95%;
    }
}

@media(max-width: 599px) {
    .ly_pageInner {
        padding: 32px;
    }
}

/* ***
  * Block
**************************** */

/* bl_pageHeader */
.bl_pageHeader_bg {
    background-color: #68A2BF;
}

.bl_pageHeader_ttl {
    font-size: 48px;
    font-weight: 500;
}

.bl_pageHeader_cont {
    display: flex;
    align-items: center;
    margin-top: 32px;
}

.bl_pageHeader_detail {
    width: 54%;
}

.bl_pageHeader_img {
    width: 40%;
    margin-left: auto;
}

.bl_pageHeader_img img {
    width: 100%;
}

/* .bl_service */

.bl_serviceUnit {
    display: flex;
    flex-wrap: wrap;
}

.bl_serviceUnit.bl_serviceUnit__col3 {
    justify-content: space-between;
}

.bl_serviceUnit__col2>.bl_service {
    width: 50%;
}

.bl_serviceUnit__col2>.bl_service.bl_service__s {
    width: 40%;
}

.bl_serviceUnit__col2>.bl_service.bl_service__l {
    width: 58%;
    margin-left: auto;
}

.bl_serviceUnit__col2>.bl_service.bl_service__ll {
    width: 100%;
    margin-bottom: 80px;
    text-align: center;
}

.bl_serviceUnit__col2>.bl_service.bl_service__ll img {
    width: 80%;
    margin-bottom: 30px;
}



.bl_serviceUnit__col3>.bl_service {
    width: 31%;
}

.bl_serviceUnit__col3>.bl_serviceAbout {
    width: 30%;
}

.bl_service.bl_service__bd {
    padding: 24px 16px;
    border: 1px solid #040000;
    border-radius: 10px;
}

.bl_service_icon {
    /* width: 50%; */
    max-width: 200px;
    margin: 0 auto;
}

.bl_service_icon img {
    width: 100%;
    margin: 0 auto;
}


.bl_service_list {
    padding: 40px 14px;
}

.bl_service_item {
    position: relative;
}

.bl_service_item::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -12px;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    background-color: #BD212F;
    border-radius: 50%;
}

.bl_service_item.hp_c8::before {
    background-color: #9A1D42;
}

.bl_service_item.hp_c12::before {
    background-color: #BA882F;
}

.bl_service_item.hp_c13::before {
    background-color: #3E7A45;
}

/* bl_serviceAbout */

.bl_serviceAbout {
    padding: 40px;
    background-color: #F4F4F4;
    border-radius: 10px;
    text-align: center;
}

.bl_serviceAbout_body {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #0F80A2;
}

.bl_serviceAbout_body span {
    height: 90px;
}

.bl_serviceAbout_body span img {
    width: 40%;
    margin: 0 auto;
}

.bl_serviceAbout_ttl {
    font-size: 1.4rem;
    font-weight: 600;
}

/* bl_serviceFlow */

.bl_serviceFlow_img {
    width: 80%;
    margin: 0 auto;
}

.bl_serviceFlow_list {
    width: 100%;
    margin-top: 50px;
}

.bl_serviceFlow_item {
    display: flex;
    align-items: stretch;
    width: 75%;
    margin: 0 auto;
    border-bottom: 2px dashed #9FA0A0;
    padding: 30px 50px;
}

.bl_serviceFlow_item div {
    width: 80%;
}

.bl_serviceFlow_item_img {
    margin-right: 64px;
}

.bl_serviceFlow_item_img img {
    height: 40px;
    margin: 0 auto;
}

.bl_serviceFlow_item dl {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
}

.bl_serviceFlow_item dd {
    flex: 1 1 60%;
}

/* bl_collabo */

.bl_collabo_ttl {
    text-align: center;
    font-size: 4.8rem;
}


.bl_collabo_ttl span {
    position: relative;
    border-bottom: 2px solid #231815;
}

.bl_collabo_ttl span::before {
    content: '';
    position: absolute;
    top: 0;
    left: -1.5em;
    width: 90px;
    height: 98px;
    background: url(../images/recycle/collabo.png);
    background-size: cover;
}


.bl_collabo_txt {
    padding: 30px 50px 0 0;
}

.bl_collabo_img {
    width: 65%;
    margin: 0 auto;
    padding-top: 80px;
}

@media(max-width: 768px) {
    .bl_serviceUnit>.bl_service {
        width: 100%;
        margin-bottom: 30px;
    }

    .bl_serviceUnit>.bl_service:last-child {
        margin-bottom: 0;
    }

    .bl_serviceUnit__col2>.bl_service.bl_service__s {
        width: 35%;
    }

    .bl_serviceUnit__col2>.bl_service.bl_service__ll img {
        width: 100%;
    }

    .bl_serviceAbout {
        padding: 28px;
    }

    .bl_serviceAbout_body span img {
        width: 85%;
    }

    .bl_serviceAbout_ttl {
        font-size: 1rem;
    }

    .bl_serviceFlow_img {
        width: 100%;
    }

    .bl_serviceFlow_item {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    /* bl_collabo */
    .bl_collabo_img {
        width: 95%;
    }
}

@media(max-width: 599px) {
    .bl_pageHeader_ttl {
        font-size: 30px;
        font-weight: 700;
    }

    .bl_pageHeader_cont {
        flex-direction: column;
        margin-top: 0;
    }

    .bl_pageHeader_detail {
        width: 100%;
        order: 2;
    }

    .bl_pageHeader_img {
        width: 100%;
    }

    /* bl_service */

    .bl_serviceUnit>.bl_service.bl_service.bl_service__s,
    .bl_serviceUnit>.bl_service.bl_service.bl_service__l,
    .bl_serviceUnit>.bl_service.bl_service.bl_service__ll,
    .bl_serviceUnit>.bl_serviceAbout {
        width: 100%;
    }

    /* bl_collabo */
    .bl_collabo_ttl {
        font-size: 2.8rem;
    }

    .bl_collabo_img {
        width: 100%;
        padding-top: 0;
    }

    .bl_collabo_txt {
        padding: 0;
    }

    .bl_collabo_ttl span::before {
        width: 51px;
        height: 56px;
    }

    /* bl_serviceAbout */
    .bl_serviceAbout {
        margin-bottom: 30px;
    }

    .bl_serviceAbout:last-child {
        margin-bottom: 0;
    }

    .bl_serviceAbout_body span img {
        width: 50%;
    }

    /* bl_bl_serviceFlow */
    .bl_serviceFlow_item_img {
        margin-right: 0;
        padding-bottom: 20px;
    }

    .bl_serviceFlow_item_img img {
        width: 40px;
        height: auto;
    }

    .bl_serviceFlow_item {
        flex-direction: column;
    }

    .bl_serviceFlow_item div {
        width: 100%;
    }
}

/* ***
  * Element
**************************** */

.el_txt {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .2rem;
    padding-right: 2em;
}

.el_txt.el_txt__s {
    font-size: 16px;
}

.el_txt.el_txt__ss {
    font-size: 14px;
}

.el_ttl.el_ttl__l {
    padding-bottom: 24px;
    font-size: 2.5rem;
    /* font-weight: 600; */
}

.el_ttl.font_bdv {
    text-align: center;
    font-size: 4.8rem;
    font-weight: 400;
    line-height: 1.5;
}

.el_ttl.font_bdv span {
    border-bottom: 2px solid;
}

.el_ttl.el_ttl__bdb {
    text-align: center;
}

.el_ttl.el_ttl__bdb span {
    font-size: 2.5rem;
    border-bottom: 2px dashed #F08300;
}


.el_check {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: .2rem;
    /* padding-right: 2em; */
    margin: 50px auto;
    width: 100%;
    max-width: 1200px;
    text-align: center;
}


.el_check p {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: .2rem;
}

.el_check .txt_nami {
    background: linear-gradient(transparent 70%, #FFEB3B 70%);
}

.el_txt img {
    width: 100%;
}

@media(max-width: 600px) {


    .el_check {
        margin: 10px auto;
        width: 100%;
        padding: 2em;
        text-align: left;
    }

    .el_check p {
        font-size: 15px;
        padding-left: 1em;
        text-indent: -1em;
    }
}


/* btn */

.el_serviceBtn {
    position: relative;
    display: block;
    width: 300px;
    margin: 0 auto;
    padding: 8px 40px;
    border: 2px solid #040000;
    border-radius: 60px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    transition: .5s;
}

.el_serviceBtn:hover {
    color: #F08300;
    border-color: currentColor;
    transition: .5s;
}

.el_serviceBtn_themify {
    font-family: themify;
    font-weight: 700;
}

.el_serviceBtn_themify::before {
    position: absolute;
    top: 31%;
    left: 1.5em;
}

@media(max-width: 1024px) {
    .el_txt {
        font-size: 15px;
    }
}

@media(max-width: 600px) {
    .el_txt {
        padding-right: 0;
    }
}


@media(max-width: 768px) {
    .el_ttl.el_ttl__l {
        font-size: 2rem;
    }

    .el_ttl.font_bdv {
        padding-bottom: 0;
    }
}

@media(max-width: 599px) {
    .el_ttl.el_ttl__l {
        font-size: 1.6rem;
    }

    .el_ttl.el_ttl__bdb span {
        font-size: 1.6rem;
        font-weight: 700;
    }

    .el_txt.el_txt__ss {
        font-size: 12px;
    }

    .el_serviceBtn {
        margin-bottom: 40px;
    }

    .el_serviceBtn_themify::before {
        top: 33%;
    }
}

/* ***
  * Helper
**************************** */

.hp_translateY100 {
    transform: translateY(100px);
}

.hp_mt_s {
    margin-top: 50px;
}

.hp_mt {
    margin-top: 100px;
}

.hp_mt_l {
    margin-top: 200px;
}

.hp_pt30 {
    padding-top: 30px;
}

.hp_bdb {
    width: 100%;
    margin-top: 60px;
    margin-bottom: 60px;
    border-bottom: 1px solid #e4e4e4;
}

.hp_posre {
    position: relative;
}

.hp_wrapBgl::before,
.hp_wrapBgl::after,
.hp_wrapBgr::before,
.hp_wrapBgr::after {
    content: '';
    position: absolute;
}

.hp_wrapBgl::before,
.hp_wrapBgr::before {
    top: 70px;
    left: 0;
    width: 100px;
    height: 5px;
    background-color: #0086ab;
    border-radius: 0 5px 5px 0;
}

.hp_wrapBgl::after,
.hp_wrapBgr::after {
    top: 70px;
    left: 0;
    width: 5px;
    height: 40px;
    background-color: #0086ab;
    border-radius: 0 0 5px 5px;
}

.hp_wrapBdb {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 70px;
    border-bottom: 5px solid #0086ab;
}

.hp_wrapBdb::before,
.hp_wrapBdb::after {
    content: '';
    position: absolute;
    bottom: 0;
    width: 5px;
    height: 40px;
    background-color: #0086ab;
    border-radius: 5px 5px 0 0;
}

.hp_wrapBdb::before {
    left: 0;
}

.hp_wrapBdb::after {
    right: 0;
}

@media(min-width: 1640px) {

    .hp_wrapBgl::before,
    .hp_wrapBgr::before,
    .hp_wrapBgl::before,
    .hp_wrapBgr::before,
    .hp_wrapBgl::after,
    .hp_wrapBgr::after {
        top: 145px;
    }
}

.hp_wrapBgr::before {
    right: 0;
    left: auto;
    border-radius: 5px 0 0 5px;
}

.hp_wrapBgr::after {
    right: 0;
    left: auto;
    border-radius: 0 0 5px 5px;
}

@media(max-width: 1024px) {
    .hp_wrapBdb {
        width: 95%;
    }
}

@media(max-width: 768px) {
    .hp_mt {
        margin-top: 50px;
    }

    .hp_wrapBdb {
        padding-top: 0;
        border: none;
    }

    .hp_wrapBgl::before,
    .hp_wrapBgr::before,
    .hp_wrapBgl::before,
    .hp_wrapBgr::before,
    .hp_wrapBgl::after,
    .hp_wrapBgr::after,
    .hp_wrapBdb::before,
    .hp_wrapBdb::after {
        display: none;
    }
}

@media(max-width: 599px) {
    .hp_mt_l {
        margin-top: 150px;
    }

    .hp_mt_s {
        margin-top: 24px;
    }

    .hp_bdb {
        margin: 0;
    }
}

/* -----------------------------------------------------------
.newyear_works
----------------------------------------------------------- */
.newyear_works {
    text-align: center;
    width: 80%;
    margin: 20px auto;
    background: #f0f0f0;
}

@media only screen and (max-width: 900px) {
    .newyear_works {
        float: none;
        width: 100%;
        padding: 10px;
        margin: 0px;
    }
}



.hover-box {
    position: relative;
    font-size: 16px;
    padding: 10px 0px;
    cursor: pointer;
    /* display: inline-block; */
}

.hover-line {
    position: absolute;
    bottom: 50%;
    left: 110px;
    width: 0;
    height: 1px;
    background-color: #000000;
    transition: width 0.3s ease-out;
}

.hover-box:hover .hover-line {
    width: calc(100% - 120px);
}