@charset "UTF-8";
@import url("../webfonts/archivoblackregular/stylesheet.css");
@import url("../webfonts/Besom_free_font/stylesheet.css");

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 100;
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 200;
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 300;
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 400;
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Bold");
    font-weight: bold;
}

body {
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

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

a {
    text-decoration: none;
    display: block;
    word-wrap: break-word;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

a:link, a:visited, a:hover, a:active {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
    color: #69a4ff;
}

a:focus {
    outline: none;
}

img {
    max-width: 100%;
    width: 100%;
    height: auto;
}

section {
    overflow: hidden;
}

ul {
    list-style-type: none;
    padding: 0;
}

iframe {
    border: none;
}

.container:before {
    content: "";
    display: table;
}

.padding-0 {
    padding: 0;
}

/*↓↓↓↓↓真ん中配置*/
.text-table {
    /*width: 100%;*/
    height: 100%;
    display: table;
}

.text-table-cell {
    display: table-cell;
    vertical-align: middle;
}

/*↑↑↑↑↑真ん中配置*/





/*左上ロゴ*/
.main-logo {
    position: fixed;
    top: 20px;
    left: 20px;
    width: 60px;
    height: 50px;
    text-align: center;
    cursor: pointer;
    z-index: 0;
}

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓header(ヘッダー)↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

#home {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    color: #ffffff;
}

@media (max-width: 767px) {
    #home {
        height: 50vh !important;
        min-height: 50vh;
    }
}

#other {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    width: 100%;
    height: 500px;
    min-height: 500px;
    color: #ffffff;
}

@media (max-width: 767px) {
    #other {
        height: 50vh !important;
        min-height: 50vh;
    }
}

/*背景動画装飾・背景動画カラー*/
#home-cover {
    background-color: rgba(0, 0, 0, 0.2);
    /*背景動画のカラーフィルター色*/
    background-position: center;
    background-repeat: repeat;
    width: 100%;
    height: 100%;
    min-height: 100vh;
}

@media (max-width: 767px) {
    #home-cover {
        height: 50vh;
        min-height: 50vh;
    }
}

#other-cover {
    background-color: rgba(0, 0, 0, 0.2);
    /*背景動画のカラーフィルター色*/
    background-position: center;
    background-repeat: repeat;
    width: 100%;
    height: 100%;
    min-height: 500px;
}

@media (max-width: 767px) {
    #other-cover {
        background-color: rgba(0, 0, 0, 0.2);
        /*背景動画のカラーフィルター色*/
        background-position: center;
        background-repeat: repeat;
        width: 100%;
        height: 50vh;
        min-height: 50vh;
    }
}

.header {
    display: table;
    position: relative;
    height: 100%;
    width: 1170px;
    margin: 0 auto;
    background-size: cover;
}

@media (min-width: 1200px) {
    .header {
        width: 1170px;
    }
}

@media (max-width: 1119px) {
    .header {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .header {
        display: table;
        height: 100%;
        width: 100%;
        position: relative;
        /*background-image: url(../images/mgc_1.jpg);*/
        background-repeat: no-repeat;
        background-size: cover;
    }
}

/*ヘッダーの文字・SNSの整列*/
.vert-text {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    /*color: #0CF;*/
}

/*トップページのタイトル(h1)*/
@media (min-width: 768px) {
    h1.event_title {
        font-family: 'Lato', sans-serif;
        color: #FFF;
        font-size: 70px;
        font-style: normal;
        font-weight: 700;
        line-height: 1;
    }
}

@media (max-width: 767px) {
    h1.event_title {
        font-family: 'Lato', sans-serif;
        color: #fff;
        font-size: 28px;
        font-style: normal;
        font-weight: 700;
        line-height: 1.2;
    }
}



/*Other_ページのタイトル(h1)*/
@media (min-width: 768px) {
    #other h1.event_title {
        font-family: 'Lato', sans-serif;
        color: #FFF;
        font-size: 70px;
        font-style: normal;
        font-weight: 700;
        line-height: 0.85em;
        letter-spacing: 0.3em;
        display: inline-block;
        padding-bottom: 10px;
        text-align: center;
        width: auto;
        border-bottom: 3px solid #fff;
        letter-spacing: 1px;
    }
}

@media (max-width: 767px) {
    #other h1.event_title {
        font-family: 'Lato', sans-serif;
        color: #fff;
        font-size: 36px;
        display: inline-block;
        padding-bottom: 10px;
        text-align: center;
        width: auto;
        border-bottom: 2px solid #fff;
        letter-spacing: 1px;
    }
}

.event_title_dis {
    font-size: 16px;
    color: #fff;
    letter-spacing: 0.1em;
}


/*ヘッダー部分のSNS項目*/
.header ul.list-inline {
    margin-top: 30px;
}

.header .list-inline li, .btn-round {
    display: inline-block;
    outline: none;
}

.header .list-inline li::before,
.header .list-inline li::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}

.header .list-inline li,
.header .list-inline li::before,
.header .list-inline li::after, .btn-round {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.header .list-inline li {
    width: 50px;
    height: 50px;
    border: solid 1px #FF0;
    /*ヘッダーのSNS項目のボーダーの色*/
    border-right: none;
    margin-right: -5px;
}

.header .list-inline li.s_c {
    width: 50px;
    height: 50px;
    border: solid 1px #FF0;
    /*ヘッダーのSNS項目のボーダーの色*/
}

.header .list-inline li, .header .list-inline li.s_c {
    padding: 0;
}

.header .list-inline li.f_b a, .header .list-inline li.t_w a, .header .list-inline li.i_g a {
    padding-top: 5px;
    padding-bottom: 1px;
}

.header .list-inline li.s_c a {
    padding-bottom: 3px;
}

.header .list-inline li.s_c a i {
    padding-top: 17px;
}

.header ul.list-inline li a:link, .header ul.list-inline li a:visited, .header ul.list-inline li a:active {
    color: #FF0;
    /*ヘッダーのSNS項目の色*/
}

.header .list-inline li.f_b a:hover, .header .list-inline li.t_w a:hover, .header .list-inline li.i_g a:hover, .header .list-inline li.s_c a:hover {
    background-color: #FF0;
    /*ヘッダーのSNS項目のホバー時の背景色*/
    color: #0CF;
    /*ヘッダーのSNS項目のホバー時の色*/
    -webkit-transition: all .5s;
    transition: all .5s;
}

/*三角形ナビゲーションボタン*/
.triangle-btn {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 0;
}

/*三角形ナビゲーションボタン(左)*/
.triangle-l {
    display: block;
    width: 0;
    height: 0;
    border-right: 80px solid transparent;
    border-left: 80px solid transparent;
    border-bottom: 80px solid #FF0;
    position: relative;
    bottom: 68px;
    left: 0;
    margin: 0 0 0 -110px;
    clip: rect(0px 180px 130px 0px);
    transform: rotate(135deg);
}

/*三角形ナビゲーションボタン(右)*/
.triangle-r {
    display: block;
    width: 0;
    height: 0;
    border-right: 80px solid transparent;
    border-left: 80px solid transparent;
    border-bottom: 80px solid #FF0;
    position: absolute;
    bottom: -12px;
    right: 4px;
    margin: 0 -110px 0 0;
    clip: rect(0px 180px 130px 0px);
    transform: rotate(-135deg);
}

/*三角形ナビゲーションボタン(矢印)*/
.scroll-btn i {
    position: relative;
    bottom: 150px;
    left: -10px;
    color: #0CF;
    /*三角形ナビゲーションボタン(矢印)の色*/
}

/*↓↓↓↓↓三角形ナビゲーションボタン(テキスト)↓↓↓↓↓*/
.scroll-btn p {
    text-align: center;
    position: relative;
    bottom: 150px;
    left: -35px;
    letter-spacing: 0.2em;
}

.scroll-btn p span {
    float: left;
}

.triangle-btn-scroll {
    position: relative;
    bottom: 150px;
    left: -50px;
    width: 100px;
    height: auto;
    line-height: 20px;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
}

.triangle-btn-scroll span {
    color: #0CF;
    /*三角形ナビゲーションボタンの文字色*/
}

/*↓↓↓↓↓三角形ナビゲーションボタンホバー時のアニメーション*/
.triangle-btn:hover span:nth-child(1) {
    -webkit-animation: anim 1s ease 0s infinite;
    animation: anim 1s ease 0s infinite;
}

.triangle-btn:hover span:nth-child(2) {
    -webkit-animation: anim 1s ease .1s infinite;
    animation: anim 1s ease .1s infinite;
}

.triangle-btn:hover span:nth-child(3) {
    -webkit-animation: anim 1s ease .2s infinite;
    animation: anim 1s ease .2s infinite;
}

.triangle-btn:hover span:nth-child(4) {
    -webkit-animation: anim 1s ease .3s infinite;
    animation: anim 1s ease .3s infinite;
}

.triangle-btn:hover span:nth-child(5) {
    -webkit-animation: anim 1s ease .4s infinite;
    animation: anim 1s ease .4s infinite;
}

.triangle-btn:hover span:nth-child(6) {
    -webkit-animation: anim 1s ease .5s infinite;
    animation: anim 1s ease .5s infinite;
}

@-webkit-keyframes anim {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }

    50% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px);
    }

    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }
}

@keyframes anim {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }

    50% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px);
    }

    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }
}

/*↑↑↑↑↑三角形ナビゲーションボタンホバー時のアニメーション*/
/*↑↑↑↑↑三角形ナビゲーションボタン(テキスト)↑↑↑↑↑*/

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑header(ヘッダー)↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/





























/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ハンバーガーメニュー↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/*ハンバーガーメニュー*/
.c-hamburger {
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 50px;
    height: 50px;
    font-size: 0;
    text-indent: -9999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: 0;
    border: none;
    cursor: pointer;
    -webkit-transition: background 0.3s;
    transition: background 0.3s
}

.c-hamburger:focus {
    outline: 0
}

/*ハンバーガーメニューのボーダー*/
.c-hamburger span {
    display: block;
    position: absolute;
    top: 25px;
    left: 12px;
    /*ハンバーガーメニューのボーダー長さ*/
    right: 12px;
    /*ハンバーガーメニューのボーダー長さ*/
    height: 1px;
    background: #333;
    /*ハンバーガーメニューのボーダー色(真ん中)*/
}

.c-hamburger-sub span {
    display: block;
    position: absolute;
    /*top: 44px;*/
    left: 12px;
    /*ハンバーガーメニューのボーダー長さ*/
    right: 12px;
    /*ハンバーガーメニューのボーダー長さ*/
    height: 2px;
    background: #FF0;
    /*ハンバーガーメニューのボーダー色(真ん中)*/
}


.c-hamburger span::after, .c-hamburger span::before {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #333;
    /*ハンバーガーメニューのボーダー色(上下)*/
    content: ""
}

.c-hamburger-sub span::after, .c-hamburger-sub span::before {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #FF0;
    /*ハンバーガーメニューのボーダー色(上下)*/
    content: ""
}

.c-hamburger--htla.is-active span::after, .c-hamburger--htla.is-active span::before, .c-hamburger--htra.is-active span::after, .c-hamburger--htra.is-active span::before {
    width: 50%
}

.c-hamburger span::before {
    top: -10px
}

.c-hamburger span::after {
    bottom: -10px
}

.c-hamburger--htx {
    background-color: #fff;
    /*ハンバーガーメニューの背景色*/
    height: 50px !important;
}

@media (max-width: 767px) {
    .c-hamburger--htx {
        position: fixed;
        top: 0 !important;
        right: 0 !important;
        overflow: hidden;
        height: 0px;
    }
}

.c-hamburger--htx-sub {
    background-color: #0CF;
    /*ハンバーガーメニューの背景色*/
}

.c-hamburger--htx.now {
    background-color: #F00;
}

/*↓↓↓↓↓ハンバーガーメニューのアニメーション↓↓↓↓↓*/
.c-hamburger--htx span {
    -webkit-transition: background 0s 0.3s;
    transition: background 0s 0.3s
}

.c-hamburger--htx span::after, .c-hamburger--htx span::before {
    -webkit-transition-duration: 0.3s, 0.3s;
    transition-duration: 0.3s, 0.3s;
    -webkit-transition-delay: 0.3s, 0s;
    transition-delay: 0.3s, 0s
}

.c-hamburger--htx span::before {
    -webkit-transition-property: top, -webkit-transform;
    transition-property: top, transform
}

.c-hamburger--htx span::after {
    -webkit-transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform
}

.c-hamburger--htx.is-active {
    background-color: #FFF;
    /*メニューオープン時のボタンの×印の背景色*/
}

.c-hamburger--htx.is-active span {
    background: 0 0
}

.c-hamburger--htx.is-active span::before {
    top: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.c-hamburger--htx.is-active span::after {
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.c-hamburger--htx.is-active span::after, .c-hamburger--htx.is-active span::before {
    -webkit-transition-delay: 0s, 0.3s;
    transition-delay: 0s, 0.3s;
    background-color: #333;
    /*メニューオープン時のボタンの×印の色*/
}

/*↑↑↑↑↑ハンバーガーメニューのアニメーション↑↑↑↑↑*/
/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ハンバーガーメニュー↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/











/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓モーダルウインドウ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

/*ハンバーガーメニューボタン(固定)*/
.menu-btn {
    position: fixed;
    /*ハンバーガーメニューボタンの位置*/
    top: 20px;
    right: 20px;
    /*width: 100px;*/
    height: 50px;
    line-height: 50px;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    z-index: 21;
}

.menu {
    position: fixed;
    display: table;
    top: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 100%;
    -webkit-transition: all .5s;
    /*メニュークローズ時のアニメーション*/
    transition: all .5s;
    visibility: hidden;
    opacity: 0;
    background-color: rgba(2, 2, 2, 1);
    /*メニューの背景色・透明度*/
    /*background-image: url(../images/main-navi-logo.png);*/
    /*メニューの装飾イメージ*/
    background-repeat: no-repeat;
    background-position: 10% center;
}

.menu-contents {
    display: table-cell;
    vertical-align: middle;
}

.side-open .menu {
    /*cursor: url(../images/cross.svg),auto;*/
    -webkit-transition: all .5s;
    /*メニューオープン時のアニメーション*/
    transition: all .5s;
    visibility: visible;
    opacity: 1;
    /*メニュー全体の透明度*/
}

/*スライドアニメーション↓↓↓↓↓*/
.menu {
    animation-duration: 1s;
    animation-name: slideout;
}

@keyframes slideout {
    from {
        margin-left: 0%;
        width: 100%;
    }

    to {
        margin-left: 100%;
        width: 300%
    }
}

.side-open .menu {
    animation-duration: 1s;
    animation-name: slidein;
}

@keyframes slidein {
    from {
        margin-left: 100%;
        width: 300%
    }

    to {
        margin-left: 0%;
        width: 100%;
    }
}

/*スライドアニメーション↑↑↑↑↑*/





.menu nav#nav-list li {
    /*width: 300px;*/
    /*メインナビゲーションのリストのリンク領域*/
    margin: 0 auto;
    text-align: left;
    opacity: 0;
    list-style-type: none;
    /*margin-left: 80px;*/
}

.side-open .menu nav#nav-list li {
    opacity: 1;
    /*メインナビゲーションのリストの透明度*/
}

/*↓↓↓↓↓メインナビゲーションのリストが現れた時のアニメーション↓↓↓↓↓*/
.side-open .menu nav#nav-list li:nth-child(1) {
    -webkit-transition: opacity 1s ease .2s;
    transition: opacity 1s ease .2s;
}

.side-open .menu nav#nav-list li:nth-child(2) {
    -webkit-transition: opacity 1s ease .3s;
    transition: opacity 1s ease .3s;
}

.side-open .menu nav#nav-list li:nth-child(3) {
    -webkit-transition: opacity 1s ease .4s;
    transition: opacity 1s ease .4s;
}

.side-open .menu nav#nav-list li:nth-child(4) {
    -webkit-transition: opacity 1s ease .5s;
    transition: opacity 1s ease .5s;
}

.side-open .menu nav#nav-list li:nth-child(5) {
    -webkit-transition: opacity 1s ease .6s;
    transition: opacity 1s ease .6s;
}

.side-open .menu nav#nav-list li:nth-child(6) {
    -webkit-transition: opacity 1s ease .7s;
    transition: opacity 1s ease .7s;
}

.side-open .menu nav#nav-list li:nth-child(7) {
    -webkit-transition: opacity 1s ease .8s;
    transition: opacity 1s ease .8s;
}

.side-open .menu nav#nav-list li:nth-child(8) {
    -webkit-transition: opacity 1s ease .9s;
    transition: opacity 1s ease .9s;
}

.side-open .menu nav#nav-list li:nth-child(9) {
    -webkit-transition: opacity 1s ease 1s;
    transition: opacity 1s ease 1s;
}

.side-open .menu nav#nav-list li:nth-child(10) {
    -webkit-transition: opacity 1s ease 1.1s;
    transition: opacity 1s ease 1.1s;
}

/*↑↑↑↑↑メインナビゲーションのリストが現れた時のアニメーション↑↑↑↑↑*/

/*メインナビゲーションのリスト*/
.menu nav#nav-list li a {
    display: block;
    height: 60px;
    line-height: 60px;
    font-size: 40px;
    color: #FFF;
    /*メインナビゲーションのリストの文字色*/
    -webkit-transition: all .4s;
    transition: all .4s;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    /*text-transform: uppercase;*/
    text-decoration: none;
    letter-spacing: 0.1em;
}

@media (max-width: 767px) {
    .menu nav#nav-list li a {
        display: block;
        height: 60px;
        line-height: 60px;
        font-size: 20px;
        color: #FFF;
        /*メインナビゲーションのリストの文字色*/
        -webkit-transition: all .4s;
        transition: all .4s;
        font-family: 'Lato', sans-serif;
        font-weight: 600;
        /*text-transform: uppercase;*/
        text-decoration: none;
    }
}

.menu nav#nav-list li a span {
    margin-left: 20px;
    font-size: 12px;
    font-weight: normal;
}

.menu nav#nav-list li a:hover {
    text-decoration: none;
}

/*メインナビゲーション_SNS*/
.nav-list-inline {
    position: relative;
    right: -435px;
    bottom: -70px;
    float: right;
    margin-right: 80px;
}

.nav-list-inline li {
    width: 50px;
    float: left;
    margin: 0 auto;
}

.nav-list-inline li a {
    font-size: 10px;
    /*メインナビゲーションのSNSのアイコンサイズ*/
    color: #0cf;
    /*メインナビゲーションのSNS文字色*/
}

.nav-list-inline li a:hover {
    color: #051630;
    /*メインナビゲーションのホバー時のSNS文字色*/
}

p.nav-copy {
    position: relative;
    top: 65px;
    margin-right: 80px;
    float: right;
    font-size: 12px;
    /*メインナビゲーションのコピー文字サイズ*/
    color: #0cf;
    /*メインナビゲーションのコピー文字色*/
    clear: both;
}


/*開閉ボタン下のテキスト*/
.menu-btn-text {
    position: fixed;
    top: 60px !important;
    right: 21px;
    width: 50px;
    height: 20px;
    line-height: 50px;
    font-size: 10px;
    /*オープン(MENU)の文字サイズ*/
    text-align: center;
    cursor: pointer;
    z-index: 1;
}

.menu-btn-text-sub {
    position: fixed;
    top: 60px;
    right: 21px;
    width: 50px;
    height: 20px;
    line-height: 50px;
    font-size: 12px;
    /*オープン(MENU)の文字サイズ*/
    text-align: center;
    cursor: pointer;
    z-index: 1;
}

@media (max-width: 767px) {
    .menu-btn-text {
        position: fixed;
        top: 40px !important;
        right: 0 !important;
    }
}

.menu-btn-text span {
    color: #FFF;
    /*オープン(MENU)の文字色*/
}

.menu-btn-text-sub span {
    color: #0CF;
    /*オープン(MENU)の文字色*/
}


.menu-btn-text span:after {
    content: attr(data-txt-open);
}

.menu-btn-text-sub span:after {
    content: attr(data-txt-open);
}

.side-open .menu-btn-text span:after {
    content: attr(data-txt-close);
    font-size: 10px;
    /*クローズ(CLOSE)の文字サイズ*/
    color: #FFF;
    /*クローズ(CLOSE)の文字色*/
}

.side-open .menu-btn-text-sub span:after {
    content: attr(data-txt-close);
    font-size: 10px;
    /*クローズ(CLOSE)の文字サイズ*/
    color: #0CF;
    /*クローズ(CLOSE)の文字色*/
}

/*メニューが開いた状態でのスクロール禁止*/
.overflow {
    overflow: hidden;
    height: 100%;
}


.delay {
    position: relative;
    font-size: 14px;
    text-align: left;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: auto;
    display: inline-block;
}

/* 打ち消し線幅個別指定*/
/*nav#nav-list li.l-home {
	width: 115px;
	}
nav#nav-list li.l-home .delay {
	width: 115px;
	}
nav#nav-list li.l-news {
	width: 110px;
	}	
nav#nav-list li.l-news .delay {
	width: 110px;
	}
nav#nav-list li.l-soundcloud {
	width: 270px;
	}		
nav#nav-list li.l-soundcloud .delay {
	width: 270px;
	}
nav#nav-list li.l-blog {
	width: 100px;
	}	
nav#nav-list li.l-blog .delay {
	width: 100px;
	}
nav#nav-list li.l-mixtape {
	width: 170px;
	}			
nav#nav-list li.l-mixtape .delay {
	width: 170px;
	}
nav#nav-list li.l-contact {
	width: 180px;
	}	
nav#nav-list li.l-contact .delay {
	width: 180px;
	}*/
.delay a {
    z-index: 3;
    position: relative;
    display: block;
    color: #20b2aa;
}

.delay:before,
.delay:after {
    content: "";
    display: block;
    position: absolute;
    top: 40%;
    /* 打ち消し線位置*/
    left: 0;
    width: 100%;
    height: 25%;
    /* 打ち消し線太さ*/
}

.delay:before {
    z-index: 1;
}

.delay:after {
    z-index: 2;
    width: 0%;
    background-color: #051630;
    /* 打ち消し線カラー*/
}

nav#nav-list li.line .delay:hover:after {
    width: 100%;
}

nav#nav-list li.line .delay:hover a {
    color: #69a4ff;
}

.delay-anime:after {
    transition: width 0.15s linear;
}

div#search {
    float: right;
    margin-right: 80px;
}

#search {
    width: 357px;
}

#search_text {
    width: 297px;
    padding: 15px 0 15px 20px;
    font-size: 16px;
    font-family: 'Lato', sans-serif;
    border: 1px solid #0CF;
    height: 52px;
    margin-right: 0;
    color: #0CF;
    outline: none;
    background-color: transparent;
    float: left;
    box-sizing: border-box;
    transition: all 0.15s;
}

::-webkit-input-placeholder {
    /* WebKit browsers */
    color: #0CF;
}

:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: #0CF;
}

::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: #0CF;
}

:-ms-input-placeholder {
    /* Internet Explorer 10+ */
    color: #0CF;
}

#search_text:focus {
    background: rgb(0, 204, 255);
}

#search_button {
    border: 0 none;
    background: #0CF url(../images/search.png) center no-repeat;
    width: 60px;
    float: left;
    padding: 0;
    text-align: center;
    height: 52px;
    cursor: pointer;
}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑モーダルウインドウ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/














/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓コンテンツ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
section.news-contents {
    overflow: hidden;
}

.white-box {
    padding: 50px 0;
    letter-spacing: 0.05em;
    background-color: #fff;
    position: relative;
    /*z-index: 1;*/
}

@media (max-width: 767px) {
    .white-box {
        padding: 50px 0;
        letter-spacing: 0.05em;
        background-color: #fff;
        position: relative;
        /*z-index: 1;*/
    }
}

.white-box-padding {
    padding: 0 30px;
}

.white-col-padding {
    padding: 0 5px;
    margin-bottom: 30px;
}

@media (max-width: 767px) {
    .white-col-padding {
        /*padding: 0;*/
        margin-bottom: 15px;
        z-index: 1;
    }

    .white-col-padding.clear-both {
        clear: both;
    }
}

.sec-img-box-big {
    width: 100%;
    height: 400px;
    display: table;
    text-align: center;
}

.sec-img-box-big>div {
    display: table-cell;
    vertical-align: middle;
}

.sec-img-box {
    width: 100%;
    height: auto;
    display: table;
    text-align: center;
}

.white-col-padding .sec-img-box .img-liquid {
    /*height: 200px !important;*/
    padding-bottom: 66.67%;
}

@media (max-width: 767px) {
    .white-col-padding .sec-img-box .img-liquid {
        height: 130px !important;
    }
}

.sec-img-mask {
    background: rgba(0, 0, 0, 0.2);
    color: #fff;
}

.sec-img-mask h3 {
    width: 70%;
    margin: 0 auto;
    margin-bottom: 20px;
    /* text-align: left; */
    border: 2px solid #fff;
    display: block;
    padding: 10px;
    font-size: 18px;
}

.sec-img-mask p {
    width: 70%;
    margin: 0 auto;
    text-align: left;
}

@media (max-width: 767px) {
    .sec-img-mask h3 {
        width: 90%;
        margin: 0 auto;
        margin-bottom: 20px;
        /* text-align: left; */
        border: 2px solid #fff;
        display: block;
        padding: 10px;
        font-size: 18px;
    }

    .sec-img-mask p {
        width: 90%;
        margin: 0 auto;
        text-align: left;
    }
}

.sec-box {
    margin-bottom: 100px;
}

.sec-title-box {
    margin-bottom: 20px;
    /*border-top: 3px solid #333;*/
    padding: 10px 0;
}

@media (max-width: 767px) {
    .sec-title-box {
        margin-bottom: 0;
        /*border-top: 3px solid #333;*/
        padding: 10px 0;
    }
}

.sec-title-box h2 {
    text-align: center;
    margin-top: 0;
    margin-bottom: 30px;
    line-height: 0.7;
}

.sec-title-box h2 span.sec-title-h2-big {
    font-size: 40px;
    color: #000;
    font-family: 'Lato', sans-serif;
    font-weight: 900;
    letter-spacing: 0.8rem;
    line-height: 1.6;
}

@media (max-width: 767px) {
    .sec-title-box h2 span.sec-title-h2-big {
        font-size: 24px;
        color: #000;
        font-family: 'Lato', sans-serif;
        font-weight: 900;
        /*text-transform: uppercase;*/
    }
}

.sec-title-box h2 span.sec-title-h2-small {
    font-size: 14px;
    color: #000;
}

.sec-dis-box {
    padding: 7.5px;
}

.sec-dis-box h3 {
    font-size: 13px;
    font-weight: bold;
    margin: 0;
    text-align: center;
}

@media (max-width: 767px) {
    .sec-dis-box h3 {
        font-size: 12px;
    }
}

.sec-dis-box h3 a {
    color: #333;
    line-height: 1.8;
    letter-spacing: 0.2em;
}

.sec-dis-box p {
    color: #666;
    line-height: 1.8;
    letter-spacing: 0.1em;
}

.view-button-box {
    /*margin-top: 50px;*/
}

.view-button {
    background-color: #ffffff;
    color: #343434;
    display: inline-block;
    text-align: center;
    padding: 10px 15px;
    border: 1px solid #343434;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.news-contents>ul {
    width: 100%;
    text-align: left;
    margin: 0 auto;
    margin-bottom: 0;
    padding-top: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

@media (max-width: 767px) {
    .news-contents>ul {
        width: 100%;
    }
}

.news-contents li {
    width: calc((100% - 45px) / 4 - 0.1px);
    padding: 0 7.5px;
    margin-bottom: 30px;
    box-sizing: content-box;
}

.news-contents li:nth-child(4n + 1) {
    padding-left: 0;
}

.news-contents li:nth-child(4n) {
    padding-right: 0;
}

@media (max-width: 767px) {
    .news-contents li {
        width: calc((100% - 15px) / 2 - 0.1px);
        padding: 0 7.5px;
        margin-bottom: 30px;
        box-sizing: content-box;
    }

    .news-contents li:nth-child(2n + 1) {
        padding-left: 0;
    }

    .news-contents li:nth-child(2n) {
        padding-right: 0;
    }
}

.news-contents li img {
    font-size: 10px;
    color: #000;
    margin-bottom: 5px;
    display: block;
}

.news-contents li time {
    font-size: 12px;
    color: #000;
    margin-bottom: 5px;
    display: block;
}

.news-contents li p {
    font-size: 14px;
    color: #000;
    margin-bottom: 0;
}

.footer-contact-button {
    position: relative;
    display: inline-block;
    padding: 43px 10px 0 10px;
    width: 400px;
    height: 94px;
    background: #29292a;
    /*background: linear-gradient(45deg, rgba(34,34,34,1), rgba(34,34,34,1), rgba(34,34,34,1));*/
    color: #FFF;
    font-size: 14px;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    text-indent: 0.15em;
    letter-spacing: 0.15em;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.2);
    z-index: 1;
}

@media (max-width: 767px) {
    .footer-contact-button {
        position: relative;
        display: inline-block;
        padding: 25px 10px 0 10px;
        width: 60%;
        height: 60px;
    }
}

.footer-contact-button:hover {
    color: #444;
    background: #fff;
    text-decoration: none;
    letter-spacing: 0.28em;
    box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.3);
}



.back-img-section {
    position: relative;
    z-index: 1;
    background-color: #fff;
    overflow: hidden;
    background-repeat: no-repeat;
    width: 100%;
    height: auto;
    background-size: cover;
    background-position: center;
}

.back-img-section.construction-back-img {
    background-image: url(../images/01/02.jpg);
}

.back-img-section.siryouseikyu-back-img {
    background-image: url(../images/01/03.jpg);
}

.back-img-section.other-back-img-01 {
    height: 50vh;
    background-image: url(../images/01/05.jpg);
}

.back-img-section.other-back-img-02 {
    height: 50vh;
    background-image: url(../images/01/09.jpg);
}

.back-img-section.other-back-img-03 {
    height: 50vh;
    background-image: url(../images/01/07.jpg);
}

.back-img-section.other-back-img-04 {
    height: 50vh;
    background-image: url(../images/01/08.jpg);
}

.back-img-section.other-back-img-05 {
    height: 50vh;
    background-image: url(../images/01/11.jpg);
}

.back-img-section-mask {
    background-color: rgba(0, 0, 0, 0.1);
}

.back-img-container {
    padding: 100px 0;
}

.back-img-container .top-menu-select-col-top {
    margin-bottom: 0;
}

.top-menu-select-col-top {
    padding-top: 50px;
    padding-bottom: 50px;
}

.back-img-container .top-menu-select-col-top {
    margin-bottom: 0;
    /*border: 1px solid #fff;*/
    padding: 50px 30px;
}

.top-menu-select-col-top {
    padding-top: 50px;
    padding-bottom: 50px;
}

.back-img-section .menu_table-in-h2 {
    color: #fff;
    /* text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.8); */
    text-align: center;
    line-height: 1;
    letter-spacing: 0.05rem;
    padding-bottom: 20px;
    font-size: 32px;
}

.menu_table-in-h2 img {
    height: 60px;
}

.text_100 {
    width: 100%;
}

.back-img-section .menu_table-in-des {
    font-size: 13px;
    line-height: 2;
    color: #FFF;
    /* text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.8); */
    letter-spacing: 0.1rem;
    text-align: left;
    display: inline-block;
}


.other-title-box {
    width: 100%;
    margin: 0 auto;
    margin-bottom: 50px;
}

@media (max-width: 767px) {
    .other-title-box {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 30px;
    }
}

.other-title-box h2 {
    font-size: 24px;
    text-align: center;
    font-weight: bold;
    color: #666;
    margin: 0;
    margin-bottom: 50px;
    letter-spacing: 0.1em;
}

@media (max-width: 767px) {
    .other-title-box h2 {
        font-size: 18px;
        text-align: left;
        font-weight: bold;
        color: #666;
        margin: 0;
        margin-bottom: 30px;
    }
}

.other-title-box h3 {
    font-size: 18px;
    text-align: left;
    font-weight: bold;
    color: #666;
    margin: 0;
    margin-bottom: 30px;
    letter-spacing: 0.1em;
}

.title-margin-bottom {
    margin-bottom: 30px;
}

.dis-margin-bottom {
    margin-bottom: 100px;
}

.dis-yajirushi h3 span {
    font-family: 'Lato', sans-serif;
}

.dis-yajirushi:after {
    content: ' ';
    height: 0;
    position: absolute;
    width: 0;
    border: 10px solid transparent;
    border-top-color: #333;
    /* top: calc( 50% - 5px ); */
    left: calc(50% - 0px);
    bottom: -50px;
}

@media (max-width: 767px) {
    .dis-yajirushi:after {
        content: ' ';
        height: 0;
        position: absolute;
        width: 0;
        border: 10px solid transparent;
        border-top-color: #333;
        /* top: calc( 50% - 5px ); */
        left: 30px;
        bottom: -50px;
    }
}

.other-title-box p {
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: #666;
    font-size: 16px;
}

.c-hamburger--htx .section01 {
    background-color: #282829;
}

.c-hamburger--htx .section01 span {
    background-color: #fff;
}

.c-hamburger .section01 span::after, .c-hamburger .section01 span::before {
    background-color: #fff;
}

.c-hamburger--htx.is-active .section01 span::after, .c-hamburger--htx.is-active .section01 span::before {
    background-color: #333;
}

.c-hamburger--htx.is-active .section01 span {
    background: 0 0;
}

.c-hamburger--htx.is-active .section01 {
    background-color: #fff;
}

.menu-btn-text .section01 span {
    color: #333;
}

/* bodyにis-menu-openクラスが付いたらモーダル表示 */
/*body.side-open #modal-menu {
  opacity: 1;
  pointer-events: auto;
}*/

/* bodyにis-menu-openクラスが付いたら#contentをぼかしフィルター付与 */
/*body.side-open .all-contents {
  pointer-events: none;
  transition: all 8s ease-out;
  -webkit-filter: blur(8px);
     -moz-filter: blur(8px);
      -ms-filter: blur(8px);
          filter: blur(8px);
}*/




/*.btn-1 {
    color: #29292a;
}
.btn-1 {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 60px;
	line-height: 40px;
    max-width: 200px;
    margin: 1rem auto;
    text-transform: uppercase;
    border: 1px solid currentColor;
	z-index: 1;
}

a:active, a:hover {
    outline-width: 0;
}
.btn-1:hover {
    color: #fff;
	z-index: 1;
}
.btn-1:hover:before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}
.btn-1:before {
    content: '';
    position: absolute;
    top: 0;
    right: -50px;
    bottom: 0;
    left: 0;
    border-right: 50px solid transparent;
    border-bottom: 80px solid #29292a;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}
.btn-1:before, .btn-1:after {
	 -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}
html *:before, html *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}
*:before,
*:after {
  z-index: -1;
}*/







/*---------.sec-button---------*/
* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

*:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

.button {
    position: relative;
    display: inline-block;
    text-decoration: none;
    vertical-align: middle;
    padding: 18px 30px;
    font-size: 16px;
    overflow: hidden;
    cursor: pointer;
    background-color: transparent;
    border: 1px solid transparent;
}

.button:focus {
    outline: none;
}

.button:active {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
}

.button.hover-shadow:hover {
    -webkit-box-shadow: 0 15px 12px -5px rgba(0, 0, 0, 0.24);
    box-shadow: 0 15px 12px -5px rgba(0, 0, 0, 0.24);
}

.sec-button {
    color: #282829;
    border-color: #282829;
    text-transform: uppercase;
    margin: 0 10px 30px;
    margin-top: 50px;
    min-width: 166px;
    font-family: 'Lato', sans-serif;
}

.sec-button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 100%;
    background-color: #282829;
    z-index: -1;
    -webkit-transform: translate(-50%, -50%) skew(-45deg);
    transform: translate(-50%, -50%) skew(-45deg);
}

.sec-button::after {
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
}

.sec-button:hover {
    color: #fff;
}

.sec-button:hover::after {
    width: 150%;
}

/*---------/.sec-button---------*/
/*---------.sec-button-con---------*/
.sec-button-con {
    color: #FFF;
    background-color: #282829;
    border-color: #282829;
    text-transform: uppercase;
    margin: 0 10px 30px;
    min-width: 166px;
    font-family: 'Lato', sans-serif;
}

.sec-button-con::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 100%;
    background-color: #FFF;
    z-index: -1;
    -webkit-transform: translate(-50%, -50%) skew(-45deg);
    transform: translate(-50%, -50%) skew(-45deg);
}

.sec-button-con::after {
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
}

.sec-button-con:hover {
    color: #282829;
    background-color: transparent;
}

.sec-button-con:hover::after {
    width: 150%;
}

/*---------/.sec-button-con---------*/







.og-grid {
    text-align: left !important;
}

.og-grid li {
    width: 24%;
}

.og-grid li {
    /*display: inline-block;
     margin: 0 !important; 
    padding: 10px 5px !important;
    vertical-align: top;*/
    /* height: 250px; */
}

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓footer↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
footer {
    background-color: #282829;
    padding: 50px 0 20px 0;
}

@media (max-width: 767px) {
    footer {
        padding: 10px 0 10px 0;
        padding-left: 25px;
        padding-right: 25px;
        text-align: left;
    }
}

footer h3, footer li, footer p, footer a {
    color: #fff;
    letter-spacing: 0.05em;
    font-family: 'Lato', sans-serif;
}

.footer-ul-box {
    padding: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #777;
}

@media (max-width: 991px) {
    .footer-ul-box {
        padding: 0px 0px 10px;
        padding-bottom: 10px;
        border-bottom: none;
    }
}

.footer-copy-box {
    padding: 0;
    margin-top: 15px;
}

@media (max-width: 991px) {
    .footer-copy-box {
        padding: 0;
        margin-top: 30px;
    }
}

.footer-menu {
    float: left;
}

@media (max-width: 991px) {
    .footer-menu {
        float: none;
    }
}

.footer-menu>li {
    float: left;
    padding-left: 60px;
}

@media (max-width: 991px) {
    .footer-menu>li {
        padding: 0 0 15px 0;
        margin: 0;
        margin-bottom: 15px;
        border-bottom: 1px solid rgb(73, 73, 73);
        float: none;
    }
}

.footer-menu>li:first-child {
    padding-left: 0;
}

@media (max-width: 991px) {
    .footer-menu>li:first-child {
        padding-left: 0;
        border-top: 1px solid rgb(73, 73, 73);
        padding-top: 15px;
    }
}

.footer-sns {
    float: right;
}

@media (max-width: 991px) {
    .footer-sns {
        float: left;
    }
}

.footer-sns>li {
    float: left;
    padding-left: 40px;
}

.footer-sns>li i {
    font-size: 16px;
}

.footer-sns>li:first-child {
    padding-left: 0;
}

.footer-copy-box p small {
    font-size: 10px;
    color: #fff;
}

.address-box {
    padding: 0 0 80px 0;
}

@media (max-width: 991px) {
    .address-box {
        padding: 0 0 15px 0;
        margin-bottom: 15px;
        /* border-bottom: 1px solid rgb(160, 160, 160); */
    }
}

.address p {
    margin-bottom: 5px;
}

.address-company {
    font-size: 18px;
}

.address-company span {
    font-size: 14px;
}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑footer↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/

.shop-list-box {
    padding: 0;
}

.shop-list {
    padding: 0;
}

.shop-list-h2 {
    text-align: center;
    margin: 0 0 30px 0;
    font-size: 24px;
}

.shop-list-table {
    border-color: rgb(175, 175, 175);
    width: 100%;
    border: none;
    position: relative;
    z-index: 2;
}

.shop-list-table {
    /*border-color: rgba(0,0,0,0.3);*/
    width: 100%;
}

.shop-list-table th, .shop-list-table td {
    text-align: left;
    padding: 30px 0 30px 30px;
    font-size: 14px;
    border: 1px solid #ccc;
}

.shop-list-table td a, .shop-list-table td a:link {
    color: #007ebe;
    text-decoration: none;
}

.shop-list-table td a:hover {
    text-decoration: underline;
}

.product-description-box-third #itempage.shop-list-section {
    padding-top: 70px;
    padding-bottom: 50px;
    /*background-color: #FFF;
	background-image: url(../images/product/case.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	    background-size: contain;*/
}

.shop-list-section {
    padding: 50px 0;
}

@media (max-width: 767px) {
    nav#porfolio-nav li {
        width: 33.3%;
        float: left;
        position: relative;
    }

    .wagwep-container ul#portfolio-filter li.current a {
        color: #333;
        font-weight: normal;
        background: #29292a;
        color: #fff;
        border-radius: 0;
        font-size: 12px;
    }

    .wagwep-container ul#portfolio-filter a {
        color: #444444;
        text-decoration: none;
        border: 0;
        background: 0;
        margin: 0 10px 10px 0;
        padding: 6px 12px;
        border-radius: 4px;
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        font-size: 12px;
    }
}


table {
    width: 100%;
    margin: auto;
}

table tr {
    width: 100%;
    /*border-top: 1px dotted #666;*/
}

table tr:last-child {
    /*border-bottom: 1px dotted #666;*/
}

table th, table td {
    box-sizing: border-box;
    padding: 15px;
}

table thead th {
    /*background: #000;*/
    color: #666;
    text-align: left;
    /*border-top: 3px solid #666;*/
}

table tbody {
    text-align: left;
}

table tbody th {
    /*background: #eee;*/
    width: 100px !important;
}

@media only screen and (max-width: 767px) {
    body {
        width: 100%;
    }

    table tr {
        display: block;
        width: 100%;
    }

    table thead {
        display: none;
    }

    table tbody {
        display: block;
        width: 100%;
        overflow: hidden;
    }

    table tbody th {
        list-style: none;
    }

    table tbody td {
        margin-left: 0;
    }

    table tbody th, table tbody td {
        width: 100%;
        display: list-item;
    }
}

.work-dis-m-b {
    margin-bottom: 100px;
}

.my-gallery figure {
    margin-bottom: 30px;
}

.blog-header-group {
    padding: 0;
    margin-bottom: 15px;
}

.blog-post .img-liquid {
    height: 450px;
}

.blog-post-thumbnail {
    padding: 0;
    margin-bottom: 50px;
}

.blog-post-text {
    padding: 0;
}

.blog-post-text p {
    margin-bottom: 50px;
    line-height: 1.8;
}

.new-post {
    height: 20px;
    width: auto;
    margin-bottom: 15px;
}

.blog-post-meta {
    margin-top: 15px;
}

/*------------------------------------------contact------------------------------------------*/
.wpcf7-form tr {
    border: none;
}

.wpcf7-form th {
    vertical-align: top;
    text-align: left;
    padding: 30px 20px;
    margin-right: auto;
    margin-left: auto;
    border: none;
    font-size: 12px;
    line-height: 150%;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.6);
    width: 250px;
}

.wpcf7-form th i {
    font-size: 11px;
    font-size: 1.1rem;
    color: #ffffff;
    background-color: #e47fa0;
    padding: 2px 5px;
    margin-right: 10px;
    font-style: normal;
}

.wpcf7-form td input {
    outline: none;
    display: block;
    width: 70%;
    border: 0;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
    padding: 10px;
    color: rgba(0, 0, 0, 0.6);
    font-family: inherit;
    font-size: inherit;
    font-weight: 500;
    line-height: inherit;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    font-size: 16px;
}

.wpcf7-form td textarea {
    width: 100%;
    border: 1px solid #ddd;
    display: block;
    font-size: 16px;
    -webkit-appearance: none;
}

.wpcf7-form p input.wpcf7-submit {
    margin: 0 auto;
    margin-top: 30px;
    background-color: #000;
    color: #fff;
    border: 2px solid #000;
    border-radius: 5px;
    display: block;
    width: 100%;
    font-size: 16px;
    padding: 15px;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

.wpcf7-form p input.wpcf7-submit:hover {
    background-color: #ffffff;
    color: #e47fa0;
    border: 2px solid #e47fa0;
}

div.wpcf7-validation-errors {
    border: none;
    color: #f00;
    font-weight: bold;
    text-align: center;
    font-size: 16px;
}

div.wpcf7 {
    margin-bottom: 100px;
}

.nav-list ul {
    padding: 0 20px;
}

.og-expander {
    background: #282829;
}

.og-details a.link-button {
    font-size: 11px;
    padding: 8px 10px;
    background-color: #888;
    border: 1px solid #888;
    text-shadow: none;
    white-space: normal;
    word-wrap: normal;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 14px;
    font-weight: normal;
    text-align: center;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, .5);
    white-space: normal;
    margin-left: 0;
}

.og-close::before, .og-close::after {
    background: #fff;
    height: 1px;
}

.og-details h3 {
    font-size: 16px;
    margin-top: 30px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #888;
    color: #fff;
    letter-spacing: 1px;
    text-align: center;
}

.og-grid li a figure span {
    display: block;
    padding: 10px 0;
    margin: 40px 20px 20px 20px;
    text-transform: uppercase;
    font-weight: normal;
    color: rgba(255, 255, 255, 1);
    text-shadow: none;
    border-bottom: none;
}

.og-grid li a figure {
    position: absolute;
    background: #333;
    background: rgba(48, 48, 48, 0.7);
    width: 100%;
    height: 100%;
}

.og-grid li a figure span {
    /* display: table-cell; */
    padding: 0;
    margin: 0;
    /* text-transform: uppercase; */
    font-weight: normal;
    color: rgba(255, 255, 255, 1);
    text-shadow: none;
    border-bottom: none;
    text-align: center;
    margin-top: 30%;
}

@media (max-width: 767px) {
    .menu nav#nav-list li a span {
        margin-left: 20px;
        font-size: 10px;
        font-weight: normal;
    }

    .wpcf7-form th {
        vertical-align: top;
        text-align: left;
        padding: 0;
        margin-right: auto;
        margin-left: auto;
        border: none;
        font-size: 12px;
        line-height: 1.6;
        font-weight: bold;
        color: rgba(0, 0, 0, 0.6);
        width: 100%;
    }

    table tbody td {
        padding: 20px 0;
        padding-top: 5px;
    }

    table tbody td input {
        -webkit-appearance: none;
    }

    .shop-list-table th, .shop-list-table td {
        text-align: left;
        padding: 10px 20px 10px 20px;
        font-size: 14px;
        border: 1px solid #ddd;
        border-bottom: none;
    }

    .shop-list-table tr:last-child td:last-child {
        border-bottom: 1px solid #ddd;
    }

    .top-td {
        font-weight: bold;
        background-color: #ddd;
    }

    .og-grid li a figure {
        display: none !important;
    }

    .og-grid li {
        width: 47.3%;
    }

    .og-details h3 {
        /* font-weight: 300; */
        font-size: 16px;
        margin-top: 10px;
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #888;
        color: #fff;
    }

    .pswp__button, .pswp__button--arrow--left:before, .pswp__button--arrow--right:before {
        background: url(http://uetashinji.xyz/kojima-wp/wp-content/themes/kojima-h/images/default-skin/default-skin.png) 0 0 no-repeat;
        background-size: 264px 88px;
        width: 44px;
        height: 44px;
    }

    .blog-post .img-liquid {
        height: 250px;
        margin-bottom: 30px;
    }
}

.blog-post-title h1 {
    font-size: 24px;
}

.blog-post-title h1 a {
    color: #666;
}

.post-categories li a {
    display: inline-block;
    border: 1px solid #aaa;
    padding: 5px;
    color: #333;
    font-size: 12px;
}

@media (max-width: 991px) {
    .blog-header-group {
        padding: 0 15px;
        margin-bottom: 15px;
    }

    .blog-post-thumbnail {
        padding: 0 15px;
        margin-bottom: 15px;
    }

    .blog-post-text {
        padding: 0 15px;
    }
}

h2.sidebar-title {
    text-align: center;
    margin-top: 0;
    margin-bottom: 30px;
}

h2.sidebar-title span.sec-title-h2-big {
    font-size: 40px;
    color: #000;
    font-family: 'Lato', sans-serif;
    font-weight: 900;
    letter-spacing: 0.8rem;
    line-height: 1.6;
}

h2.sidebar-title span.sec-title-h2-small {
    font-size: 14px;
    color: #000;
}

.news-contents li p {
    font-size: 14px;
}

.news-contents li a {
    color: #333;
    display: block;
    margin-top: 5px;
    /*font-size: 14px;
    text-decoration: underline;*/
    transition: .3s;
}

.news-contents li a:hover {
    color: #428bca;
}

.news-contents li a:hover {
    text-decoration: underline;
}

.news-contents li p time {
    margin-right: 0;
    font-size: 12px;
}

.instagram-section {
    padding-top: 100px;
    margin-bottom: 50px;
}

.hogo-check {
    text-align: left;
    font-size: 12px;
    border: 1px solid #666;
    padding: 10px;
}

@media (max-width: 767px) {
    .instagram-section h2 span.sec-title-h2-big {
        font-size: 24px;
        color: #000;
        font-family: 'Lato', sans-serif;
        font-weight: 900;
    }
}

.event_title_span {
    font-size: 16px;
    letter-spacing: 1px;
}

@media (max-width: 991px) {
    .event_title_span {
        font-size: 14px;
        letter-spacing: 1px;
    }
}

/*.news-post-li img {
	width: 100px;
    height: auto;
    margin-right: 15px;
}*/

.other-title-box .supplement {
    text-align: left;
    padding: 30px 0 30px 30px;
    font-size: 14px;
}

/* ============================================================
   施工事例詳細ページ（works）専用スタイル
   対象: single-works.php のみ
   既存の旧施工事例ページには影響しない
   ============================================================ */

/* ギャラリー: フレックスグリッド + 4:3 アスペクト比 */
.works-gallery {
    display: flex;
    flex-wrap: wrap;
    margin-left: -4px;
    margin-right: -4px;
}

.works-gallery figure {
    box-sizing: border-box;
    float: none;
    width: 33.3333%;
    padding: 4px;
    margin: 0;
}

@media (min-width: 992px) {
    .works-gallery figure {
        width: 25%;
    }
}

@media (max-width: 767px) {
    .works-gallery figure {
        width: 50%;
    }
}

@media (max-width: 480px) {
    .works-gallery figure {
        width: 100%;
    }
}

.works-gallery figure a {
    display: block;
    position: relative;
    width: 100%;
    padding-top: 75%;
    overflow: hidden;
}

.works-gallery figure a img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* 概要テーブル: 共通ベース */
.works-detail-table-pc,
.works-detail-table-sp {
    width: 100%;
    border-collapse: collapse;
}

.works-detail-table-pc td,
.works-detail-table-sp td {
    border: 1px solid #e5e5e5;
    padding: 7px 10px;
    vertical-align: top;
}

/* 項目名セル: 薄グレー背景 */
.works-detail-table-pc .top-td,
.works-detail-table-sp .top-td {
    background-color: #f5f5f5;
}

/* 値セル: 白背景 */
.works-detail-table-pc td:not(.top-td),
.works-detail-table-sp td:not(.top-td) {
    background-color: #fff;
}

/* SP テーブル: デフォルト非表示（PC ファースト） */
.works-detail-table-sp {
    display: none;
}

/* PC 4列レイアウト */
.works-detail-table-pc {
    table-layout: fixed;
}

.works-detail-table-pc .top-td {
    white-space: nowrap;
}

@media (min-width: 768px) {
    .works-detail-table-pc td:nth-child(1) {
        width: 15%;
    }

    .works-detail-table-pc td:nth-child(2) {
        width: 35%;
    }

    .works-detail-table-pc td:nth-child(3) {
        width: 15%;
        padding-left: 1.5em;
    }

    .works-detail-table-pc td:nth-child(4) {
        width: 35%;
    }
}

/* スマホ: PC テーブル非表示・SP テーブル 2列（項目名|値）横並び表示
   sub.css の global モバイル CSS（table tr { display:block }・table tbody td { display:list-item }）を
   !important で上書きして横並びレイアウトを維持する */
@media (max-width: 767px) {
    .works-detail-table-pc {
        display: none !important;
    }

    .works-detail-table-sp {
        display: table !important;
    }

    .works-detail-table-sp tbody {
        display: table-row-group !important;
    }

    .works-detail-table-sp tr {
        display: table-row !important;
    }

    .works-detail-table-sp td {
        display: table-cell !important;
    }

    .works-detail-table-sp .top-td {
        width: 35%;
        white-space: nowrap;
        background-color: #f5f5f5;
    }

    .works-detail-table-sp td:not(.top-td) {
        background-color: #fff;
    }
}