@charset "UTF-8";
/* CSS Document */

/* ============================
  Common
============================ */
body {
    background-color: #000;
 	font-family     : "Lucida Grande", "Lucida Sans Unicode", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Helvetica, Arial, Verdana, sans-serif;
	font-size       : 13px;
	letter-spacing  : 1px;
    padding-bottom  : 0;
    color:#000;
}

a {
    color:#000;
    text-decoration:underline;
}
body:not(.smartdevice) a:hover, body:not(.smartdevice) a:focus {
    color:#8B8519;
}

body:not(#home) a:hover img,
body:not(.smartdevice) a:hover img {
    filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}

ul {
    list-style:none;
}

ul.page_nav {
    text-align:center;
    padding:0;
}
ul.page_nav li {
    display:inline-block;
    margin:10px;
}
ul.page_nav li a {
    text-decoration:none;
}

div.box_br {
    border-radius:10px;
    border:solid 1px #F2E725;
    padding: 40px 49px;
    margin-bottom:20px;
}
div.box_br:after {
    content:"";
    display:block;
    clear:both;
}
div.box_br>h3 {
    font-size:22px;
    margin: 0 0 20px 0;
    padding: 15px 20px 10px 20px;
    background-color: #FFF;
    background-image: -webkit-linear-gradient(-45deg, #FFFF00 25%, transparent 25%, transparent 50%, #FFFF00 50%, #FFFF00 75%, transparent 75%, transparent);
    background-image: linear-gradient(0, #FFFF00 25%, transparent 25%, transparent 50%, #FFFF00 50%, #FFFF00 75%, transparent 75%, transparent);
    background-size: 4px 4px;/*数字を大きくすれば太く、小さくすれば細くなります。*/
    text-shadow:1px 1px 2px rgba(0,0,0,.3);
}

.caution_heart {
    display: block;
    background: url(../img/ico/ico_heart.png) no-repeat;
    padding: 1px 0px 0px 20px;
    margin: 16px 0 5px 5px;
    font-size: 12px;
    line-height: 1.2;
}

.fleft { float:left; }
.fright { float:right; }

img.fleft { margin:0 20px 20px 0; }
img.fright { margin:0 0 20px 20px; }


/* ふわふわさせたいものに fuwafuwaクラスを付与 */
.fuwafuwa {
	-webkit-animation-name:fuwafuwa; /* fuwafuwaっていうアニメーションをしてね！ */
	-webkit-animation-duration:1s;
	-webkit-animation-iteration-count:infinite;
	/*-webkit-animation-direction:alternate;*/
	-webkit-animation-timing-function:ease;
	
	-moz-animation-name:fuwafuwa;
	-moz-animation-duration:1s;
	-moz-animation-iteration-count:infinite;
	/*-moz-animation-direction:alternate;*/
	-moz-animation-timing-function:ease;
}
/* fuwafuwaっていうアニメーションはこんなふうだよ！ */
@-webkit-keyframes fuwafuwa {
	0% {-webkit-transform:translate(0, 0);}
	50% {-webkit-transform:translate(0, -5px);}
	100% {-webkit-transform:translate(0, 0);}
}
@-moz-keyframes fuwafuwa {
	0% {-moz-transform:translate(0, 0);}
	50% {-moz-transform:translate(0, -5px);}
	100% {-moz-transform:translate(0, 0);}
}

.spCtrl { display: none; }

@media (max-width: 767px) {
    .spCtrl { display: inline; }
    .pcCtrl { display: none; }
}


/* ===== header ===== */
.navbar-wrapper {
    height       : 80px;
    border-bottom: 1px solid #f2e725;
}
.navbar-wrapper .container {
    padding:0;
}
nav.navbar div.navbar-header {
    margin-left: 10px;
    margin-top : 15px;
}
nav.navbar div.navbar-header h1 {
    display    : block;
    width      : 160px;
    height     : 52px;
    margin:0;
}
nav.navbar div.navbar-header a {
    background : url(../img/site_logo.png) no-repeat top;
    display    : block;
    width      : 160px;
    height     : 52px;
    text-indent: -9999px;
}
body:not(.smartdevice) nav.navbar div.navbar-header a:hover { background-position: bottom; }
nav.navbar div.container {
    padding-left: 10px;
    height      : 80px;
}
div#navbar {
    width      : 730px;
    float      : right;
    margin-top : 30px;
}
nav.navbar div#navbar ul.nav li.nav_shop a    { background-image: url(../img/nav/nav_shop.png);    width:139px; }
nav.navbar div#navbar ul.nav li.nav_about a   { background-image: url(../img/nav/nav_about.png);   width:150px; }
nav.navbar div#navbar ul.nav li.nav_bridal a  { background-image: url(../img/nav/nav_bridal.png);  width:111px; }
/*nav.navbar div#navbar ul.nav li.nav_party a   { background: url(../img/nav/nav_party.png) no-repeat top; }*/
nav.navbar div#navbar ul.nav li.nav_staff a   { background-image: url(../img/nav/nav_staff.png);   width:101px; }
nav.navbar div#navbar ul.nav li.nav_darts a   { background-image: url(../img/nav/nav_darts.png);   width:105px; }
nav.navbar div#navbar ul.nav li.nav_history a { background-image: url(../img/nav/nav_history.png); width:123px; }
nav.navbar div#navbar ul.nav li a {
    text-indent: -9999px;
    display    : block;
    height     : 26px;
    padding    : 0;
    background-position:top;
    background-repeat:no-repeat;
}
body:not(.smartdevice) nav.navbar div#navbar ul.nav li a:hover { background-position: bottom; }
nav.navbar.navbar-inverse.navbar-static-top {
    width : auto;
    height: 80px;
}

@media (max-width: 767px) {
    div#navbar {
        background: #000;
        width     : 155px;
        margin-top: 0;
    }
    ul.nav.navbar-nav li { padding: 5px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    nav.navbar div.navbar-header    { margin-top: 20px; }
    nav.navbar div.navbar-header h1 {
        width : 130px;
        height: 42px;
    }
    nav.navbar div.navbar-header a {
        width: 130px;
        height: 42px;
        background-size: 130px;
    }
    
    /*nav.navbar div#navbar ul.nav li a { width: 100px; }*/
    nav.navbar div#navbar ul.nav li.nav_shop a    { width:117px; }
    nav.navbar div#navbar ul.nav li.nav_about a   { width:128px; }
    nav.navbar div#navbar ul.nav li.nav_bridal a  { width:89px; }
    nav.navbar div#navbar ul.nav li.nav_staff a   { width:79px; }
    nav.navbar div#navbar ul.nav li.nav_darts a   { width:83px; }
    nav.navbar div#navbar ul.nav li.nav_history a { width:101px; }
    nav.navbar div#navbar ul.nav li a {
        height: 24px;
        background-size: auto 48px;
    }
    div#navbar { width: 600px; }
}

/* ===== footer ===== */
footer {
    /* height    : 650px; */
    background: url(../img/bg/bg_footer.png) repeat-x;
    margin-top: 60px;
}
footer:before {
    content: url(../img/footer_triangle.png);
    display: block;
    width  : 100px;
    margin : auto;
}
footer p.fCopy {
    background : url(../img/footer_copy.png) no-repeat;
    width      : 483px;
    height     : 24px;
    text-indent: -9999px;
    margin     : 40px auto 0;
}
footer div.fLink {
    width : 663px;
    height: 220px;
    margin: 45px auto 0;
}
footer div.fLink div:nth-of-type(1) a { background: url(../img/link/link_shopping.png) no-repeat top; }
footer div.fLink div:nth-of-type(2) a { background: url(../img/link/link_mail.png) no-repeat top; }
footer div.fLink div:nth-of-type(3) a { background: url(../img/link/link_recruit.png) no-repeat top; }
footer div.fLink div:nth-of-type(1) a,
footer div.fLink div:nth-of-type(2) a,
footer div.fLink div:nth-of-type(3) a {
    display    : block;
    width      : 221px;
    height     : 212px;
    text-indent: -9999px;
}
body.smartdevice footer div.fLink div a,
body:not(.smartdevice) footer div.fLink div a:hover {
    background-position: bottom;
}

footer div.siteMenu {
    width     : 960px;
    margin    : 15px auto 0;
    background: url(../img/title/title_site_menu.png) no-repeat 5px 5px;
}
footer div.siteMenu ul {
    list-style  : none;
    padding-top : 60px;
    padding-left: 10px;
    width       : 580px;
    color       : #fff;
    position    : relative;
    z-index     : 1;
}
footer div.siteMenu ul:nth-of-type(2):before {
    content: "系列店";
    display: block;
    font-size: 21px;
    color: #f2e725;
    font-weight: bold;
    position: absolute;
    top: 20px;
    left: 5px;
}
footer div.siteMenu ul li {
    display     : inline-block;
    width       : 138px;
    background  : url(../img/ico/ico_list.png) no-repeat top left;
    padding-left: 20px;
    font-size   : 82%;
}
body:not(.smartdevice) footer div.siteMenu ul li:hover { background-position: bottom left; }
footer div.siteMenu ul li a {
    text-decoration: none;
    color          : #fff;
    line-height    : 1.8;
    white-space:nowrap;
}
body:not(.smartdevice) footer div.siteMenu ul li a:hover { color: #ff0; }
footer div.fRight {
    width      : 330px;
    float      : right;
    position   : relative;
    z-index    : 1;
    margin-top: -120px;
    margin-bottom: 30px;
}
footer div.fRight p.dojo a {
    text-indent: -9999px;
    display    : block;
    background : url(../img/link/link_dojo.png) no-repeat top;
    width      : 255px;
    height     : 94px;
    margin     : auto;
}
body:not(.smartdevice) footer div.fRight p.dojo a:hover { background-position: bottom; }
footer div.fRight p.cocktail {
    background   : url(../img/footer_cocktail.png) no-repeat;
    width        : 330px;
    height       : 151px;
    text-indent  : -9999px;
    margin-top   : -10px;
    margin-bottom: -30px;
}
footer p.copyRight {
    color   : #fff;
    position: relative;
    bottom  : 5px;
}
footer p.copyRight:before {
    content: "";
    display: block;
    clear  : both;
}

#page-top{
    display: block;
    position: fixed;
    z-index: 9999;
    bottom: 10px;
    right: 10px;
    width: 60px;
}
#page-top a{
    display: block;
    background : url(../img/btn/btn_scrolltop.png) no-repeat;
    text-indent:-99999px;
    width: 60px;
    height:150px;
    padding: 0;
    transform: rotateY(270deg);
    transition: .5s;
}
body:not(.smartdevice) #page-top a:hover{
    transform: rotateY(90deg);
    transition: .5s;
}

@media (max-width: 767px) {
    footer         {
        background: #ff0;
        height    : inherit;
    }
    footer p.fCopy {
        margin             : 70px auto 0;
        width              : 375px;
        background-size    : 350px;
        background-position: center;
    }
    footer div.fLink {
        width : 375px;
        height: 134px;
        margin: 53px auto 0;
    }
    footer div.fLink div:nth-of-type(1) a,
    footer div.fLink div:nth-of-type(2) a,
    footer div.fLink div:nth-of-type(3) a {
        width          : 125px;
        height         : 95px;
        background-size: 80%;
    }
    footer div.fRight  { display: none;   }
    footer p.copyRight {
        bottom    : 0;
        text-align: center;
    }
    footer div.siteMenu {
        width              : 100%;
        background-size    : 150px;
        background-position: 20px 20px;
        background-color   : #000;
        margin-top         : -40px;
    }
    footer div.siteMenu ul    { width: 100%; }
    
    footer div.siteMenu ul:nth-of-type(2) { margin-bottom: 30px; }
    
    footer div.siteMenu ul:nth-of-type(2):before {
        left: 15px;
        font-size: 17px;
    }
    
    footer div.siteMenu ul li {
        width    : 110px;
        font-size: 75%;
    }
    footer div.siteMenu ul li { margin-left: 30px; }
    /*
    footer div.siteMenu ul li:nth-of-type(1),
    footer div.siteMenu ul li:nth-of-type(5),
    footer div.siteMenu ul li:nth-of-type(9),
    footer div.siteMenu ul li:nth-of-type(13) { margin-left: 0; }
    */
    footer div.siteMenu ul li a { line-height: 2; }
    
    #page-top   {
        display:none;
        width: 40px;
    }
    #page-top a {
        width          : 40px;
        height         : 100px;
        background-size: 40px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    footer                 { height: 620px; }
    footer div.siteMenu    { width: 750px; }
    footer div.fRight {
        width: 290px;
    }
    footer div.fRight p.cocktail {
        width          : 290px;
        height         : 135px;
        background-size: 290px;
    }
    footer div.siteMenu ul    { width: 460px; }
    footer div.siteMenu ul li {
        width    : 130px;
        font-size: 75%;
    }
    footer div.siteMenu ul li { margin-left: 0; }
    footer div.siteMenu ul li:nth-of-type(1),
    footer div.siteMenu ul li:nth-of-type(5),
    footer div.siteMenu ul li:nth-of-type(9),
    footer div.siteMenu ul li:nth-of-type(13) { margin-left: 0; }
    footer div.siteMenu ul li a { line-height: 2; }
    
    #page-top   { width: 50px; }
    #page-top a {
        width          : 50px;
        height         : 125px;
        background-size: 50px;
    }
}

/* ============================
  Top Page（トップ）
============================ */

/* ===== carousel ===== */
div#carouselWrap{
    background           : url(../img/bg/bg_top.jpg) repeat-x;
    height               : 575px;
    margin-top           : 80px;
    background-position-x: -140px;
    background-position-y: -110px;
}
div#myCarousel {
    position  : absolute;
    top       : -90px;
    left      : 0;
    right     : 0;
    bottom    : 0;
    margin    : auto;
    margin-top: 200px;
    max-width : 960px;
    max-height: 350px;
}
.carousel-indicators li        { background-color: #686417; }
.carousel-indicators li.active { background-color: #f2e725; }
a.left.carousel-control        {
    background: url(../img/slide/arrow_left.png) no-repeat left center;
    left      : -15px;
}
a.right.carousel-control {
    background: url(../img/slide/arrow_right.png) no-repeat right center;
    right     : -15px;
}

.carousel-inner .item a {
    position:relative;
    overflow:hidden;
}
.carousel-inner .item a img {
    float:left;
}
.carousel-inner .item a:after {
    content:"";
    display:block;
    width:960px;
    height:350px;
    border: 0px solid rgba(255,255,255,0.3);
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    z-index:1;
    pointer-events: none;
}
body:not(.smartdevice) .carousel-inner .item a:hover:after {
    border: 15px solid rgba(255,255,255,0.3);
}

@media (max-width: 767px) {
    div#carouselWrap { height: 0; }
    div#myCarousel   {
        max-width : 375px;
        max-height: 137px;
    }
    .carousel .item         { height: 182px; }
    .carousel-indicators    { bottom: -40px; }
    a.right.carousel-control,
    a.left.carousel-control {
        background-size: 40%;
    }
    a.right.carousel-control { right: 5px; }
    a.left.carousel-control  { left : 5px; }
    .carousel-inner .item a:hover:after {
        display:none;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    div#myCarousel {
        max-width : 750px;
        max-height: 273px;
    }
    .carousel .item { height: 273px; }
    div#carouselWrap{ height: 345px; }
    .carousel-inner .item a:hover:after {
        display:none;
    }
}

/*** ie hack for carousel ***/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    div#myCarousel {
        position: relative;
        top     : 30px;
    }
    div#carouselWrap {
        background-position-y: -110px;
        background-repeat    : repeat-x;
        margin-top           : -120px;
    }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (max-width: 767px) {
    div#main { margin-top: 270px !important; }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 768px) and (max-width: 991px) {
    /* div#main { margin-top: -120px !important; } */
}

/* ===== main ===== */
div#main {
    margin-top : -160px;
    border-top : 1px solid #f2e725;
    padding-top: 20px;
}
div.container.topics {
    background      : url(../img/title/title_topics.png) no-repeat 5px center;
    background-color: #f2e725;
    padding         : 5px 5px 0 5px;
}
div.container.topics a {
    color:#000;
    text-decoration:underline;
}
body:not(.smartdevice) div.container.topics a:hover {
    color:#8B8519;
}
div.container.topics ul {
    margin-left  : 125px;
    margin-bottom: 5px;
    padding      : 8px;
    list-style   : none;
    background   : #fff;
    border-radius: 5px;
    font-size:12px;
}
div.container.topics ul li {
    padding      : 2px 0 0 105px;
    margin-bottom: 10px;
}
div.container.topics ul li:nth-last-child(1) {
    margin-right : -10px;
    margin-bottom: -32px;
}
div.container.topics ul li:nth-last-child(1) a       { color: #ff0; }
body:not(.smartdevice) div.container.topics ul li:nth-last-child(1) a:hover { color: #8B8519; }

div.container.topics ul li.campaign    { background: url(../img/ico/ico_campaign.png) no-repeat left top; }
div.container.topics ul li.newOpen     { background: url(../img/ico/ico_new_open.png) no-repeat left top; }
div.container.topics ul li.information { background: url(../img/ico/ico_information.png) no-repeat left top; }
div.container.topics ul li.media       { background: url(../img/ico/ico_media.png) no-repeat left top; }



/* 各店の最新情報 */
a.latest_info img {
    display: block;
    margin: 50px auto 0;
    width: 95%;
    max-width: 960px;
}
body:not(.smartdevice) a.latest_info img:hover {
    box-shadow: #f2e725 0px 0px 12px 5px;
    filter: brightness(110%);
}



div.container.marketing                                 { margin-top: 60px; }
div.container.marketing div.row.link div                { padding   : 0; }
div.container.marketing div.row.link div:nth-of-type(1) { text-align: left; }
div.container.marketing div.row.link div:nth-of-type(2) { text-align: center; }
div.container.marketing div.row.link div:nth-of-type(3) { text-align: right; }

/* hover をa要素に変更します 20150106 橋本 */
/*
div.container.marketing div.row.link img {
    transition:box-shadow 0.2s ease,filter 0.2s ease;
}
/*div.container.marketing div.row.link a:not([href="party"]) img:hover {
/*  box-shadow:
/*    /* 0px 0px 10px #f2e725, */
/*    0px 0px 20px #f2e725,
/*    /* 0px 0px 30px #f2e725, */
/*    0px 0px 40px #f2e725,
/*    /* 0px 0px 50px #f2e725, */
/*    0px 0px 20px #f2e725;
/*    -webkit-filter: brightness(110%);
/*    -moz-filter   : brightness(110%);
/*    filter        : brightness(110%);
/*}
*/

div.container.marketing div.row.link a {
    transition:box-shadow 0.2s ease,filter 0.2s ease;
    display:inline-block;
    width:300px;
    height:180px;
    position:relative;
}
/* div.container.marketing div.row.link a:hover { /* パーティページが完成したらこちらに変更 20150106 橋本 */
body:not(.smartdevice) div.container.marketing div.row.link a:not(.wait):hover {
box-shadow:#f2e725 0px 0px 12px 5px;
-webkit-box-shadow:#f2e725 0px 0px 12px 5px;
-moz-box-shadow:#f2e725 0px 0px 12px 5px;
/*
/*  box-shadow:
/*    /* 0px 0px 10px #f2e725, */
/*    0px 0px 20px #f2e725,
/*    /* 0px 0px 30px #f2e725, */
/*    0px 0px 40px #f2e725,
/*    /* 0px 0px 50px #f2e725, */
/*    0px 0px 20px #f2e725;
*/
    -webkit-filter: brightness(110%);
    -moz-filter   : brightness(110%);
    filter        : brightness(110%);
}
body.smartdevice div.container.marketing div.row.link a.wait:after,
body:not(.smartdevice) div.container.marketing div.row.link a.wait:hover:after {
    content:"ただいま準備中です";
    position:absolute;
    top:0;
    left:0;
    display:block;
    width:300px;
    height:180px;
    text-align:center;
    background:rgba(0,0,0,0.5);
    color:#FFF;
    padding-top: 84px;
    font-size: 11px;
}

div.container.marketing div.row.sns {
    margin-top   : 40px;
    margin-bottom: 40px;
    text-align   : center;
}
div.container.marketing div.row.sns div.fb_box {
    position: relative;
}
div.container.marketing div.row.sns div.fb_box:after {
    content : url(../img/ico/ico_facebook.png);
    position: absolute;
    top     : -5px;
    right   : 0;
}
div.container.marketing div.row.sns div                { padding   : 0; }
div.container.marketing div.row.sns div:nth-of-type(1) { text-align: left; }
div.container.marketing div.row.sns div:nth-of-type(2) { text-align: right; }

div.container.marketing div.row.sns div.fb-page {
    /*border: 1px solid #f2e725;*/
    position:relative;
    background: #FFF url(../img/loading.gif) no-repeat center 70px;
    background-size: 60px auto;
    display:block;
    width:460px;
    height:260px;
}
div.container.marketing div.row.sns div.fb-page:after {
    content:"";
    display:block;
    width:460px;
    height:260px;
    border: 1px solid #f2e725;
    position:absolute;
    top:0;
    left:0;
    pointer-events: none;
}

div.container.marketing div.row.link.square p {
    color     : #fff;
    text-align: left;
}
div.container.marketing div.row.link.square p.moreInfo {
    background: url(../img/btn/btn_more_info.png) no-repeat top;
    width     : 142px;
    height    : 58px;
    position  : absolute;
    bottom    : 0px;
    left      : 5px;
    margin    : 0px;
}
body:not(.smartdevice) div.container.marketing div.row.link.square a:hover p.moreInfo { background-position: bottom; }
div.container.marketing div.row.link.square p.imgStaff {
    background: url(../img/ico/ico_staff.png) no-repeat;
    width     : 128px;
    height    : 222px;
    position  : absolute;
    bottom    : -25px;
    right     : -10px;
}
div.container.marketing div.row.link.square p.imgDarts {
    background: url(../img/ico/ico_darts.png) no-repeat;
    width     : 315px;
    height    : 223px;
    position  : absolute;
    bottom    : -18px;
    left      : 10px;
}
div.container.marketing div.row.link.square p.imgHistory {
    background: url(../img/ico/ico_history.png) no-repeat;
    width     : 239px;
    height    : 190px;
    position  : absolute;
    bottom    : -47px;
    right     : -10px;
}
div.container.marketing div.row.link.square div {
    width       : 300px;
    height      : 300px;
    border      : 1px solid #f2e725;
    padding-top : 65px;
    padding-left: 15px;
    font-size:11px;
}
body:not(.smartdevice) div.container.marketing div.row.link.square a.wait:hover:after {
    width: 330px;
    height: 330px;
    padding-top: 154px;
    padding-right: 30px;
}
div.container.marketing div.row.link.square div:nth-of-type(3) { text-align: left; }

div.container.marketing div.row.link.square a:nth-of-type(1),
div.container.marketing div.row.link.square a:nth-of-type(2),
div.container.marketing div.row.link.square a:nth-of-type(3) {
    display: inline-block;
    /*width  : 296px;*/
    width  : 300px;
    height : 300px;
}
div.container.marketing div.row.link.square a:nth-of-type(1),
div.container.marketing div.row.link.square a:nth-of-type(2){
    /*margin-right: 30px;*/
    margin-right: 24px;
}
div.container.marketing div.row.link.square a:nth-of-type(1) { background: url(../img/title/title_staff.png) no-repeat; }
div.container.marketing div.row.link.square a:nth-of-type(2) { background: url(../img/title/title_darts.png) no-repeat; }
div.container.marketing div.row.link.square a:nth-of-type(3) { background: url(../img/title/title_history.png) no-repeat; }
div.container.marketing div.row.link.square a:nth-of-type(1),
div.container.marketing div.row.link.square a:nth-of-type(2),
div.container.marketing div.row.link.square a:nth-of-type(3) {
    background-position: 15px 20px;
}

ul.menu_square {
    padding: 50px 0 0;
    margin-right: -15px;
    margin-left: -15px;
    text-align:center;
}
ul.menu_square li {
    margin-right: 24px;
    display: inline-block;
    width: 300px;
    /*height: 300px; .wait非表示時に高さをなくすために無効 20150428 橋本*/
}
ul.menu_square li:last-child {
    margin-right: 0;
}
ul.menu_square li a {
    border: 1px solid #f2e725;
    display: inline-block;
    width: 300px;
    height: 300px;
    position:relative;
    transition:box-shadow 0.2s ease,filter 0.2s ease;
}
body:not(.smartdevice) ul.menu_square li a:after {
    content:"";
    background: url(../img/btn/btn_more_info.png) no-repeat top left;
    width: 142px;
    height: 58px;
    position: absolute;
    bottom: 0px;
    left: 5px;
    margin: 0px;
}
body:not(.smartdevice) ul.menu_square li a:not(.wait):hover:after {
    background-position:bottom left;
}

/*ul.menu_square li:nth-of-type(1) {
    background: url(../img/title/title_staff.png) no-repeat 15px 20px;
}*/
ul.menu_square li:nth-of-type(1) {
    background: url(../img/title/title_darts.png) no-repeat 15px 20px;
}
ul.menu_square li:nth-of-type(2) {
    background: url(../img/title/title_history.png) no-repeat 15px 20px;
}

body:not(.smartdevice) ul.menu_square li a:not(.wait):hover {
    box-shadow:#f2e725 0px 0px 12px 5px;
    -webkit-box-shadow:#f2e725 0px 0px 12px 5px;
    -moz-box-shadow:#f2e725 0px 0px 12px 5px;
    -webkit-filter: brightness(110%);
    -moz-filter   : brightness(110%);
    filter        : brightness(110%);
}

ul.menu_square li a p {
    color:#FFF;
    padding:66px 10px 10px 14px;
    font-size:11px;
    float:left;
    text-align:left;
}


ul.menu_square li a p:after {
    content:"";
    display:block;
    position: absolute;
}
/*
ul.menu_square li:nth-of-type(1) a p:after {
    background: url(../img/ico/ico_staff.png) no-repeat;
    width: 250px;
    height: 250px;
    bottom: 0px;
    right: -25px;
}
*/
ul.menu_square li:nth-of-type(1) a p:after {
    background: url(../img/ico/ico_darts.png) no-repeat;
    width: 315px;
    height: 223px;
    bottom: -18px;
    left: 10px;
}
ul.menu_square li:nth-of-type(2) a p:after {
    background: url(../img/ico/ico_history.png) no-repeat;
    width: 239px;
    height: 190px;
    bottom: -47px;
    right: -10px;
}

body.smartdevice ul.menu_square li a.wait:before,
body:not(.smartdevice) ul.menu_square li a.wait:hover:before {
    content: "ただいま準備中です";
    position: absolute;
    top: -1px;
    left: -1px;
    display: block;
    width: 325px;
    height: 330px;
    text-align: center;
    background-color: rgba(0,0,0,0.5);
    color: #FFF;
    padding: 162px 25px 0 0;
    font-size: 15px;
    z-index: 1;
}

div.site_seal {
    text-align: center;
    margin-top: 50px;
    background-color: #fff;
    padding-top: 20px;
    padding-bottom: 20px;
}

@media (max-width: 767px) {
    div#main { margin-top: 290px; }
    div.container.topics {
        width          : 90%;
        background-size: 80px;
    }
    div.container.topics ul { margin-left: 85px; }
    div.container.topics ul li.campaign,
    div.container.topics ul li.newOpen,
    div.container.topics ul li.information,
    div.container.topics ul li.media {
        background-size: 70px;
        padding-left   : 0;
        padding-top    : 17px;
    }
    div.container.marketing div.row.sns:after { content : ""; }
    div.container.marketing div.row.sns iframe.fbLikeBox {
        background: url(../img/ico/ico_facebook.png) no-repeat 400px 5px;
        background: none;
    }
    div.container.marketing div.row.link.square a:nth-of-type(1),
    div.container.marketing div.row.link.square a:nth-of-type(2),
    div.container.marketing div.row.link.square a:nth-of-type(3) {
        display        : block;
        margin         : 20px auto 0;
        text-decoration: none;
    }
    div.container.marketing div.row.link.square a:nth-of-type(1) { margin-top: 40px; }
    
    div.container.marketing div.row.sns iframe { max-width: 100%; }
    div.container.marketing div.row.sns img    { max-width: 100%; }
    div.container ul.menu_square {
        margin-top:20px;
    }
    div.container.marketing div.row.sns div.fb-page {
        width:100%;
        height:auto;
        background:none;
    }
    div.container.marketing div.row.sns div.fb-page:after {
        display:none;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    div#main { margin-top: 0px; }
    
    div.container.topics    { background-size: 100px; }
    
    div.container.topics ul { margin-left: 105px; }
    
    div.container.topics ul li.campaign,
    div.container.topics ul li.newOpen,
    div.container.topics ul li.information,
    div.container.topics ul li.media {
        background-size: 80px;
        padding-left   : 90px;
    }
    div.container.marketing div.row.sns:after {
        content : url(../img/ico/ico_facebook.png);
        position: relative;
        top     : -560px;
        /* top     : -275px;*/
        left    : 545px;
    }
    div.container.marketing div.row.link.square a:nth-of-type(1),
    div.container.marketing div.row.link.square a:nth-of-type(2),
    div.container.marketing div.row.link.square a:nth-of-type(3) {
        display        : block;
        margin         : 0 auto 20px;
        text-decoration: none;
    }
}

@media (max-width: 991px) {
    div.container.marketing div.row.link a.wait { display:none;}
    div.container.marketing div.row.link div:nth-of-type(1),
    div.container.marketing div.row.link div:nth-of-type(3) { text-align: center; }
    div.container.marketing div.row.link div:nth-of-type(2),
    div.container.marketing div.row.link div:nth-of-type(3) { margin-top: 20px; }
    
    div.container.marketing div.row.sns div:nth-of-type(1),
    div.container.marketing div.row.sns div:nth-of-type(2) { text-align: center; }
    div.container.marketing div.row.sns div:nth-of-type(2) { margin: 20px auto 0 auto; }
    ul.menu_square {
        width:300px;
        margin:0 auto;
    }
    ul.menu_square li {
        margin:20px 0;
    }
    ul.menu_square li a.wait { display:none;}
}

@media (max-width: 1199px) {
    /*
    div.container.marketing div.row.link div:nth-of-type(1),
    div.container.marketing div.row.link div:nth-of-type(3) { text-align: center; }
    */
}


/* ===== side navigation (Link to Darts Shop TiTO) ===== */
#dstLink {
    position: fixed;
    z-index : 1000;
}
#dstLink a {
    display    : block;
    width      : 45px;
    height     : 180px;
    text-indent: -9999px;
    background : url(../img/link/link_dst.png) no-repeat;
}
#dstLink:hover{ right: 0px !important; }

@media (max-width: 767px) {
    #dstLink { display: none; }
}


/* ===== center banner (Link to Darts Shop TiTO) ===== */
#dstBnr {
    text-align   : center;
    margin-bottom: 20px;
}
#dstBnr a {
    color: #ff0;
    /*
    display            : block;
    width              : 100%;
    max-width          : 375px;
    height             : 100px;
    text-indent        : -9999px;
    background         : url(../img/bnr/bnr_dst.png) no-repeat;
    background-size    : 75%;
    background-position: center;
    margin             : -20px auto 0;
    */
}

@media (min-width: 768px){
    #dstBnr { display: none; }
}


/* ===== center banner (Holiday) ===== */
#holBnr {
    width:960px;
    margin: 0 auto 10px;
}
#holBnr a {
    display:block;
    width:960px;
    height:80px;
    text-indent: -9999px;
    background : url(../img/bnr/bnr_holiday.png?date=20251218) no-repeat;
}
body:not(.smartdevice) #holBnr a:hover {
    opacity: 0.8;
}

@media (max-width: 991px) {
    #holBnr {
        width:750px;
    }
    #holBnr a {
        width:750px;
        height:62px;
        background-size:750px auto;
    }
}

@media (max-width: 767px){
    #holBnr {
        width:375px;
    }
    #holBnr a {
        width:375px;
        height:62px;
        background-size:375px auto;
    }
}


/* ===== center banner (Information) ===== */
.yellowBnr {
    background: #F2E725;
    padding   : 30px 0;
    text-align: center;
    margin    : 20px 0px 40px;
    overflow  : hidden;
    position  : relative;
}
.yellowBnr:after {
    content       : "";
    position      : absolute;
    width         : 200%;
    height        : 100%;
    display       : block;
    top           : 0;
    box-shadow    : 0 0 8px 0 rgba(0,0,0,0.7) inset;
    margin        : 0 -50%;
    pointer-events: none;
}
body:not(.smartdevice) .yellowBnr a:hover {
    opacity: 0.8;
}


/* ============================
   Contents Page
============================ */

/* ===== main_contents ===== */
#main_contents {
    margin-top: 110px;
}
#main_contents>.container {
    position:relative;
    background:#FFF;
    padding: 16px 30px 30px 30px;
}

h2 {
    background-color:#FFFF00;
    background-repeat:no-repeat;
    background-position:30px 15px;
    text-indent:-99999px;
    margin: 0 -30px 30px -30px;
    height: 50px;
}
h2+p {
    position:absolute;
    font-size: 12px;
    top: 40px;
    color: #000;
    padding-right: 10px;
}
#shop h2          { background-image:url(../img/h2/h2_shop.png); }
#shop h2+p        { left: 200px; }
#about h2         { background-image:url(../img/h2/h2_about.png); }
#about h2+p       { left: 230px; }
#bridal h2        { background-image:url(../img/h2/h2_bridal.png); }
#bridal h2+p      { left: 157px; }
#staff h2         { background-image:url(../img/h2/h2_staff.png); }
#staff h2+p       { left: 132px; }
#darts h2         { background-image:url(../img/h2/h2_darts.png); }
#darts h2+p       { left: 144px; }
#history h2       { background-image:url(../img/h2/h2_history.png); }
#history h2+p     { left: 176px; }
#inquiry h2       { background-image:url(../img/h2/h2_inquiry.png); }
#inquiry h2+p     { left: 167px; }
#recruit h2       { background-image:url(../img/h2/h2_recruit.png); }
#recruit h2+p     { left: 175px; }
#entry h2         { background-image:url(../img/h2/h2_recruit.png); }
#entry h2+p       { left: 175px; }
#topics h2        { background-image:url(../img/h2/h2_topics.png); }
#topics h2+p      { left: 150px; }
#company h2       { background-image:url(../img/h2/h2_company.png); }
#company h2+p     { left: 192px; }
#ppolicy h2       { background-image:url(../img/h2/h2_ppolicy.png); }
#ppolicy h2+p     { left: 292px; }
#upolicy h2       { background-image:url(../img/h2/h2_upolicy.png); }
#upolicy h2+p     { left: 238px; }
#links h2         { background-image:url(../img/h2/h2_links.png); }
#links h2+p       { left: 128px; }
#fnf404 h2        { background-image:url(../img/h2/h2_404.png); }
#fnf404 h2+p      { left: 290px; }
#holiday h2       { background-image:url(../img/h2/h2_holiday.png); }
#holiday h2+p     { left: 180px; }
#club h2          { background-image:url(../img/h2/h2_club.png); }
#club h2+p        { left: 120px; }
#payment h2       { background-image:url(../img/h2/h2_payment.png); }
#payment h2+p     { left: 192px; }
#information h2   { background-image:url(../img/h2/h2_information.png); }
#information h2+p { left: 262px; }
#sns h2           { background-image:url(../img/h2/h2_sns.png); }
#sns h2+p         { left: 95px; }

@media (max-width: 767px) {
    #main_contents h2 {
        margin: 0 0 70px 0; 
        background-position: 15px 20px;
        margin-left        : -5px;
        margin-right       : -5px;
    }
    #main_contents h2+p {
        left: 10px;
        top : 90px;
    }
    #main_contents>.container { padding: 16px 5px 30px 5px; }
}
@media (min-width: 768px) and (max-width: 991px) {
}
@media (max-width: 991px) {
    h2 {
        background-position: 30px 20px;
        height             : 60px;
    }
    /* h2+p { top: 32px; } */
}

/* ===== ショップ一覧 ===== */
#shop p.shoplink a {
    background: url(../img/ico/ico_green_arrow.png) 0 0 no-repeat;
    padding:0 0 0 20px;
}

h3.cafe {
    display:none;
}
ul.shoplist {
    list-style:none;
    margin: 0 -20px 50px -20px;
    padding: 0;
}
ul.shoplist li {
    position:relative;
    margin-bottom: 20px;
}
ul.shoplist li a {
    display:block;
    overflow:hidden;
    border:#FFF 10px solid;
    padding:10px;
    color:#000;
    text-decoration: none;
}
ul.shoplist li a.hpRsv {
    background : url(../img/shop/bln_hotpepper_reserve.png) no-repeat;
    display    : block;
    width      : 80px;
    height     : 50px;
    text-indent: -9999px;
    border     : none;
    padding    : 0;
    position   : absolute;
    top        : 10px;
    right      : 10px;
}
ul.shoplist li a p.shopComment {
    clear        : both;
    text-align   : center;
    border       : 1px solid #ff0000;
    color        : #fe0000;
    padding      : 10px;
    font-weight  : bold;
    border-radius: 20px;
    margin-top   : 205px;
}
ul.shoplist li a p.shopComment:before {
    content      : '';
    position     : absolute;
    border-bottom: 30px solid #ff0000;
    border-right : 15px solid transparent;
    border-left  : 15px solid transparent;
    bottom       : 69px;
    left         : 65px;
}
ul.shoplist li a p.shopComment:after {
    content      : '';
    position     : absolute;
    border-bottom: 30px solid #fff;
    border-right : 15px solid transparent;
    border-left  : 15px solid transparent;
    bottom       : 67px;
    left         : 65px;
}
body:not(.smartdevice) ul.shoplist li a.hpRsv:hover {
    border : none !important;
    opacity: 0.7;
}
body:not(.smartdevice) ul.shoplist li a:hover { border: #FF0 10px solid; }

ul.shoplist li a img {
    display:block;
    max-width:460px;
    float:left;
    margin:0 16px 0 0;
}
ul.shoplist li a dl {
    display:block;
    float:left;
}
ul.shoplist li a dl:nth-of-type(1) {
    width:424px;
    margin:0 0 10px 0;
}
ul.shoplist li a dl:nth-of-type(2) {
    margin:0;
}
ul.shoplist li a dl:nth-of-type(3) {
    margin:0;
    margin-top: 10px;
    float:right;
    background-color:#EEE;
    padding:5px 10px;
}
ul.shoplist li a dl>dt {
    display:none;
}

ul.shoplist li a dl>dt.cat+dd {
    background-repeat:no-repeat;
    text-indent:-99999px;
    height: 25px;
}
ul.shoplist li a dl>dd.cat_bar {
    background-image:url(../img/shop/cat_bar.png);
}
ul.shoplist li a dl>dd.cat_cafe {
    background-image:url(../img/shop/cat_cafe.png);
}

ul.shoplist li a dl>dt.nam+dd {
    font-size:20px;
    font-weight:bold;
}
ul.shoplist li a dl>dt.are+dd {
    color:#FFF;
    position:absolute;
    top:157px;
    left:20px;
    font-size:12px;
    padding:6px 20px 6px 10px;
    background:url(../img/shop/ribbon2.png) no-repeat right top;
}
ul.shoplist li a dl>dt.are+dd:before {
    content:"";
    display:block;
    background:url(../img/shop/ribbon1.png) no-repeat;
    width:8px;
    height:32px;
    margin: -6px 0 -27px -18px;
}
ul.shoplist li a dl>dt.msg+dd { display: none; }

ul.shoplist li a dl>dt.tel+dd {
    font-size:24px;
    background:url(../img/shop/ico_tel.png) no-repeat;
    padding: 3px 0 3px 45px;
    font-weight: bold;
}
ul.shoplist li a dl>dt.zip+dd {
    font-size:10px;
}
ul.shoplist li a dl>dt.add+dd {
    line-height:1.2;
    font-size:11px;
}
ul.shoplist li a dl>dt.ope {
    font-size:11px;
    font-weight:bold;
    display:inline;
}

ul.shoplist li p.msg {
    position: absolute;
    top     : 240px;
    left    : 50px;
    width   : 520px;
    color   : #f00;
}

h3.fc {
    display:block;
    width:74px;
    height:74px;
    text-indent:-99999px;
    background:url(../img/shop/ico_fc.png) no-repeat;
}
h3.fc+p {
    margin:-60px 0 40px 85px;
}

ul.shoplist_fc {
    overflow:hidden;
    list-style:none;
    margin:0 -15px 50px 0;
    padding:0;
}
ul.shoplist_fc li {
    text-align: center;
    display: block;
    float:left;
    width:290px;
    margin:0 10px 10px 0;
    padding:15px;
    border:#808080 1px solid;
    border-radius: 4px;        /* CSS3草案 */  
    -webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 4px;   /* Firefox用 */  
    min-height:119px;
}
ul.shoplist_fc li dl {
    margin:0;
    padding:0;
}
ul.shoplist_fc li dl dt {
    font-size:15px;
    margin:0 0 10px 0;
}
ul.shoplist_fc li dl dd:nth-of-type(1) {
}
ul.shoplist_fc li dl dd:nth-of-type(2) {
    font-size:14px;
    font-weight:bold;
}

h3.shop {
    display:none;
}
h3.shop+p {
    background:url(../img/shop/shopimg.jpg) no-repeat;
    padding:0 0 0 480px;
    display:block;
    min-height:170px;
    line-height:1.5;
    margin-top:40px;
}
ul.shoplist_shop {
    overflow:hidden;
    list-style:none;
    margin:0 -15px 50px 0;
    padding:20px 0 0 0;
}
ul.shoplist_shop li {
    margin:0;
    padding:0;
    float:left;
}
ul.shoplist_shop li a {
    color:#000;
    display:block;
    margin:0 15px 15px 0;
    padding:5px 4px 4px 10px;
    border:#808080 1px solid;
    border-radius: 4px;        /* CSS3草案 */  
    -webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 4px;   /* Firefox用 */  
    text-decoration:none;
}
body:not(.smartdevice) ul.shoplist_shop li a:hover {
    background:#FF0;
    text-decoration:none;
}

@media (max-width: 767px) {
    ul.shoplist,
    ul.shoplist_fc,
    ul.shoplist_shop { margin: 0; }
    
    ul.shoplist_fc    { text-align: center; }
    ul.shoplist_fc li {
        display: inline-block;
        float  : none;
    }
    
    ul.shoplist li a p.shopComment {
        position        : absolute;
        width           : 325px;
        background-color: rgba(255, 255, 255, 0.83);
        font-size       : 10px;
        padding         : 3px;
        text-shadow     : 1px 1px 1px #D0D0D0;
        top             : 11px;
        left            : 0;
        right           : 0;
        margin          : auto;
        border-radius   : 10px;
    }
    ul.shoplist li a p.shopComment:before,
    ul.shoplist li a p.shopComment:after { display: none; }
    
    ul.shoplist li a dl>dt.are+dd      { top      : 25px; }
    ul.shoplist li a dl:nth-of-type(1) { 
        width    : 100%;
        margin: -26px 0 0 0;
        position: relative;
    }
    ul.shoplist li a dl:nth-of-type(2) {
        float    : left;
        width    : 100%;
        margin   : 0 0 8px 0;
    }
    ul.shoplist li a dl>dt.nam+dd {
        font-size       : 16px;
        background-color: rgba(255, 255, 0, 0.5);
        padding         : 3px 0;
        text-align      : center;
        border          : 1px dotted #000;
        border-top      : none;
        margin-bottom   : 5px;
    }
    ul.shoplist li a dl>dt.msg+dd {
        display  : block;
        color    : #f00;
        margin   : 20px 0;
        font-size: 11px;
    }
    ul.shoplist li a dl>dt.tel+dd {
        font-size      : 17px;
        background-size: 24px;
        padding        : 1px 0 3px 28px;
        margin-top     : 0px;
    }
    
    ul.shoplist li a dl>dt.are+dd {
        background      : rgba(0, 0, 0, 0.6);
        position        : static;
        width           : 100%;
        text-align      : center;
        padding         : 6px;
        font-size       : 11px;
        display         : block;
        height          : 26px;
    }
    ul.shoplist li a img {
        margin   : 0 auto 0;
        max-width: 100%;
    }
    ul.shoplist li a dl>dt.are+dd:before { display: none; }
    ul.shoplist li a dl>dt.cat+dd {
        position       : absolute;
        width          : 100%;
        z-index        : 1;
        top            : 7px;
        left           : 7px;
        background-size: 80px;
    }
    ul.shoplist li a dl:nth-of-type(3) {
        margin-top: 0;
        float     : left;
        font-size : 12px
    }
    ul.shoplist li a:after {
        content      : "詳細へ";
        display      : block;
        width        : 80px;
        height       : 80px;
        background   : #000;
        border-radius: 5px;
        position     : absolute;
        color        : #fff;
        font-size    : 12px;
        text-align   : center;
        padding      : 32px 5px;
        right        : 20px;
        bottom       : 20px;
    }
    body:not(.smartdevice) ul.shoplist li a:hover:after {
        background   :#B70003;
    }
    ul.shoplist li.hpCp    { margin-bottom: 80px; }
    ul.shoplist li a.hpRsv {
        background         : url(../img/shop/link_hotpepper_reserve.png) no-repeat;
        width              : 100%;
        height             : 18px;
        border             : 1px dotted #ccc;
        border-top         : none;
        padding            : 20px;
        background-position: center;
        top                : inherit;
        left               : 0;
        right              : 0;
    }
    ul.shoplist li p.msg { display: none; }
}
@media (min-width: 768px) and (max-width: 991px) {
    ul.shoplist li a p.shopComment        { margin-top: 375px; }
    ul.shoplist li a p.shopComment:before { bottom    : 89px; }
    ul.shoplist li a p.shopComment:after  { bottom    : 87px; }
    
    ul.shoplist li a dl>dt.cat+dd {
        position: absolute;
        display: block;
        width: 120px;
        height: 20px;
        top: 15px;
        right: 15px;
    }
    ul.shoplist li a dl>dt.are+dd      { 
        top  : 240px;
        left : 11px;
    }
    ul.shoplist li a dl>dt.nam+dd      { 
        padding: 5px 0;
    }
    ul.shoplist li a dl:nth-of-type(1) {
        width  : inherit;
        margin : 0px 20px 0 0;
    }
    ul.shoplist li a dl:nth-of-type(2) {
        margin : 36px 10px 10px 0;
        float  : left;
    }
    ul.shoplist li a {
        padding-bottom:40px;
    }
    ul.shoplist li a img          {
        max-width : 100%;
        margin    : 0 0 12px 0;
    }
    ul.shoplist li a:after {
        content      : "詳細へ";
        display      : inline;
        width        : 720px;
        background   : #000;
        border-radius: 5px;
        position     : absolute;
        color        : #fff;
        font-size    : 12px;
        text-align   : center;
        padding      : 5px;
        left         : 5px;
        bottom       : 5px;
    }
    body:not(.smartdevice) ul.shoplist li a:hover:after {
        background   :#B70003;
    }
    ul.shoplist li a.hpRsv {
        top  : 210px;
        right: 30px;
    }
    ul.shoplist li p.msg {
        top: 400px;
        left: 10px;
        width: 380px;
    }
    ul.shoplist_fc {
        margin:0 auto 50px auto;
        width:600px;
    }
    ul.shoplist_fc li {
        width:290px;
        margin:0 5px 10px 5px;
    }
}
@media (max-width: 991px) {
    ul.shoplist li {
        margin-bottom:40px;
    }
    ul.shoplist li a              { border    : 1px dotted #ccc; }
    body:not(.smartdevice) ul.shoplist li a:hover        { border    : 1px dotted #ccc; }
    /* ul.shoplist li a:hover        { border    : #ff0 solid 5px; } */
    
    ul.shoplist_shop    { text-align: center; }
    ul.shoplist_shop li {
        float  : none;
        display: inline-block;
    }
    ul.shoplist_shop li a {
        background: -moz-linear-gradient(top, #fff, #F1F1F1 1%, #F1F1F1 50%, #DFDFDF 99%, #ccc);
        background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(0.01, #F1F1F1), color-stop(0.5, #F1F1F1), color-stop(0.99, #DFDFDF), to(#ccc));
    }
    
    ul.shoplist li a.hpRsv:after { background: none; }
    ul.shoplist li a.hpRsv:hover:after { background: none !important; }
    
    h3.shop+p {
        padding            : 190px 20px 0;
        background-position: top;
        max-width          : 460px;
        margin             : 0 auto;
        background-size    : 90%;
    }
}


/* ===== ショップ詳細 ===== */
a.btn_shoplist {
    display:block;
    width:112px;
    height:42px;
    background-image:url(../img/shop/btn_shoplist.png);
    background-repeat:no-repeat;
    background-position:top left;
    text-indent:-99999px;
    position:absolute;
    top:22px;
    right:26px;
}
body:not(.smartdevice) a.btn_shoplist:hover {
    background-position:bottom left;
}

a.btn_shoplist.bottom {
    position:inherit;
    margin: 0 -26px 0 auto;
}

h3.cafe_name {
    font-size:34px;
    style="font-weight: bold;
    letter-spacing: 0px;
}
h3.cafe_name span.shopComment {
    position    : absolute;
    font-size   : 13px;
    top         : 144px;
    left        : 115px;
    color       : #fe0000;
    font-weight : bold;
    background  : url(../img/shop/icon/ico_exclamation.png) no-repeat left center;
    padding-left: 17px;
}
h3.cafe_name>img {
    width: 60px;
    margin-right: 10px;
}
h3.cafe_name span {
    font-size:18px;
    font-weight: normal;
}
h3.cafe_name+img {
    width:900px;
    width: 100%;
    height:auto;
    margin-bottom:30px;
}
p.tpoint {
    background:url(../img/shop/tpoint_fukidashi.png) no-repeat;
    display:block;
    position:absolute;
    top: 75px;
    right: 5px;
    text-indent:-99999px;
    width:160px;
    height:160px;
}
p.tpoint.list_dst {
    top: -20px;
    right: -66px;
}

/*採用情報ボタン*/
p.recruit_link>a {
    position:absolute;
    top: 500px;
    right: -8px;
    display:block;
    width:120px;
    height:64px;
    text-indent:-9999px;
    background:url(../img/shop/btn_recruit.png) no-repeat;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background-size: 120px 64px;
    z-index:1;
}
body:not(.smartdevice) p.recruit_link>a:hover {
    top: 470px;
    right: -20px;
    width:200px;
    height:106px;
    background-size: 200px 106px;
}

.shopinfo_tab {
    position:relative;
    background:url(../img/shop/shadow_tab.png) no-repeat 0 50px;
    padding-top:80px;
}
.shopinfo_tab.notab {
    background:none;
    padding-top:0;
}
.shopinfo_tab>dt {
    position:absolute;
    top:0px;
    display:block;
    width:300px;
    height:50px;
    background-repeat:no-repeat;
    text-indent:-99999px;
}
.shopinfo_tab>dt.info_shop {
    background-image:url(../img/shop/tab_shop.png);
    left:149px;
}
.shopinfo_tab>dt.info_bridal {
    background-image:url(../img/shop/tab_bridal.png);
    left:451px;
}
.shopinfo_tab>dt.tab_hide {
    -webkit-filter: grayscale(100%);
    cursor:pointer;
}
body:not(.smartdevice) .shopinfo_tab>dt:hover {
    -webkit-filter: none;
}

.shopinfo_tab>dd {
	position: relative;
	background: #ffffff;
	border: 5px solid #d2d2d2;
    padding:30px;
}
.shopinfo_tab>dt.tab_hide+dd {
    display:none;
}

.shopinfo_tab>dd:after, .shopinfo_tab>dd:before {
	bottom: 100%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.shopinfo_tab.notab>dd:after, .shopinfo_tab.notab>dd:before {
    display:none;
}

.shopinfo_tab>dd:after {
	border-color: rgba(255, 255, 255, 0);
	border-bottom-color: #ffffff;
	border-width: 40px;
	margin-left: -40px;
}
.shopinfo_tab>dd:before {
	border-color: rgba(210, 210, 210, 0);
	border-bottom-color: #d2d2d2;
	border-width: 47px;
	margin-left: -47px;
}
.shopinfo_tab>dt.info_shop+dd:after, .shopinfo_tab>dt.info_shop+dd:before {
	left: 34%;
}
.shopinfo_tab>dt.info_bridal+dd:after, .shopinfo_tab>dt.info_bridal+dd:before {
	left: 67%;
}

.shopinfo_tab>dt.info_shop+dd h4 {
    border-bottom:1px solid #CCC;
    font-size:24px;
    font-weight: bold;
    margin-bottom: 20px;
}
.shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) iframe {
    /*border:1px solid #CCC !important;
    width : 400px;
    height: 395px;*/
}
.shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) .fb-page {
    min-height:400px;
    background:url(../img/loading.gif) no-repeat center 60px;
}
.shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) a.sns {
    background-color: #333333;
    color: #FFF;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px;
    text-decoration: none;
    margin-top: 10px;
}
.shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) a.sns:hover {
    background-color: #111111;
}
.shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) a.sns::before {
    content: "";
    display: block;
    background-repeat: no-repeat;
    width: 50px;
    height: 50px;
    background-size: cover;
}
.shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) a.sns>span {
    margin-left: 26px;
}
.shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) a.sns.twitter::before {
    /* background-image: url("../img/shop/ico_sns_twitter.png"); */
    background-image: url("../img/shop/ico_sns_x.png");
}
.shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) a.sns.instagram::before {
    background-image: url("../img/shop/ico_sns_instagram.png");
}
.shopinfo_tab>dt.info_shop+dd>div:nth-of-type(2) {
    width:400px;
    float:right;
}
.shopinfo_tab dl.shopinfo {
    overflow:hidden;
}

/* 店舗情報（基本タブ） */
.shopinfo_tab table.t_shopinfo {
	border-spacing: 5px;
	border-collapse: separate;
	line-height: 1.1;
	margin: 0 0 20px 0;
    border:1px solid #CCC;
}
.shopinfo_tab table.t_shopinfo th {
	vertical-align: middle;
	text-align: center;
	background: rgba(220,215,201,0.77);
	padding: 3px 5px;
}
.shopinfo_tab table.t_shopinfo td {
	padding: 5px 3px;
	vertical-align: middle;
    position:relative;
}
.shopinfo_tab table.t_shopinfo th span {
	display: block;
	width: 120px;
	height: 40px;
	text-indent: -99999px;
}
.shopinfo_tab table.t_shopinfo tr.info_access th span {
	background: url(../img/shop/info_access.png) top left no-repeat;
}
.shopinfo_tab table.t_shopinfo tr.info_address th span {
	background: url(../img/shop/info_address.png) top left no-repeat;
}
.shopinfo_tab table.t_shopinfo tr.info_address td span {
	font-size: 10px;
	display: block;
}
.shopinfo_tab table.t_shopinfo tr.info_address td p {
    position:absolute;
    top:5px;
    right:-35px;
}
.shopinfo_tab table.t_shopinfo tr.info_address td p a {
    display:block;
    width:40px;
    height:40px;
    text-indent:-99999px;
	background: url(../img/ico/ico_map.png) top left no-repeat;
}
body:not(.smartdevice) .shopinfo_tab table.t_shopinfo tr.info_address td p a:hover {
    filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}
.shopinfo_tab table.t_shopinfo tr.info_tel th span {
	background: url(../img/shop/info_tel.png) top left no-repeat;
}
.shopinfo_tab table.t_shopinfo tr.info_tel td {
	font-size: 18px;
	color: #BF0003;
	font-weight: bold;
}
.shopinfo_tab table.t_shopinfo tr.info_open th span {
	background: url(../img/shop/info_open.png) top left no-repeat;
}
.shopinfo_tab table.t_shopinfo tr.info_close th span {
	background: url(../img/shop/info_close.png) top left no-repeat;
}
.shopinfo_tab table.t_shopinfo tr.info_seats th span {
	background: url(../img/shop/info_seats.png) top left no-repeat;
}
.shopinfo_tab table.t_shopinfo tr.info_machineNum th span {
	background: url("../img/shop/info_machineNum.png") top left no-repeat;
}
.shopinfo_tab table.t_shopinfo tr.info_card th span {
	background: url(../img/shop/info_card.png) top left no-repeat;
}
.shopinfo_tab table.t_shopinfo tr.info_card td img {
    display:block;
    margin-top:10px;
}

/* クーポン */
ul.couponlist {
    margin:0;
    padding:0;
    overflow:hidden;
}
ul.couponlist li {
    float:left;
    margin:3px;
}
ul.couponlist li a {
    display:block;
    width:185px;
    height:65px;
    text-indent:-99999px;
    background-repeat:no-repeat;
    border-radius: 10px;        /* CSS3草案 */  
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 10px;   /* Firefox用 */  
}
body:not(.smartdevice) ul.couponlist li a:hover {
    box-shadow: 0 0 5px #000;
}
ul.couponlist li.coupon_ho a {
	background-image: url(../img/shop/btn_hotpepper.png);
}
ul.couponlist li.coupon_gu a {
	background-image: url(../img/shop/btn_gurunabi.png);
}

/* 店舗情報（ブライダルタブ） */
.info_bridal+dd h4 {
    background: url(../img/bridal/line_lace.gif) repeat-x;
    padding: 28px 15px 28px 15px;
    font-size: 22px;
    letter-spacing: 3px;
    margin: 0 0 20px 0;
    color: #E71D53;
}
.info_bridal+dd h4+p {
    float:left;
    width:300px;
    line-height:1.7;
}
.info_bridal+dd h4+p>img {
    display:block;
    margin:0 0 5px 0;
}
.info_bridal+dd dl.data_base {
    width:480px;
    border: 1px solid#CCC;
    padding: 9px 19px;
    border-radius: 10px;
}

.info_bridal+dd dl.data_base table {
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0px 10px;
    font-size: 12px;
}
 
.info_bridal+dd dl.data_base table th,
.info_bridal+dd dl.data_base table td {
    padding: 15px 10px;
}
 
.info_bridal+dd dl.data_base table th {
    background: #B50037;
    vertical-align: middle;
    text-align: left;
    width: 100px;
    overflow: visible;
    position: relative;
    color: #fff;
    font-weight: normal;
    font-size: 13px;
    white-space:nowrap;
}
 
.info_bridal+dd dl.data_base table th:after {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-left-color: #B50037;
    border-width: 10px;
    margin-top: -10px;
}
/* firefox */
@-moz-document url-prefix() {
    .info_bridal+dd dl.data_base table th::after {
        float: right;
        padding: 0;
        left: 30px;
        top: 10px;
        content: " ";
        height: 0;
        width: 0;
        position: relative;
        pointer-events: none;
        border: 10px solid transparent;
        border-left: #B50037 10px solid;
        margin-top: -10px;
    }
}

.info_bridal+dd dl.data_base table th>h5 {
    font-weight: bold;
    color:#222;
}

.info_bridal+dd dl.data_base table td {
    font-size: 14px;
    background: #f8f8f8;
    width: 360px;
    padding-left: 20px;
}
.info_bridal+dd dl.data_base table td>span {
    font-size: 11px;
    color: #E71D53;
    padding-left:10px;
}

.info_bridal+dd dl.data_base ul {
    overflow:hidden;
    margin:0 -5px 0 0;
    padding:0;
}
.info_bridal+dd dl.data_base ul li {
    float: left;
    background: #FF8080;
    border-radius: 5px;
    color: #FFF;
    padding: 10px 30px;
    font-size:16px;
    margin:0 5px 5px 0
}

.info_bridal+dd h5.data_option {
    clear:both;
    background:url(../img/shop/option_top.gif) no-repeat bottom center;
    text-indent:-99999px;
    display:block;
    width:830px;
    height:100px;
}

.info_bridal+dd h5.data_option+ul {
    background:url(../img/shop/option_bottom.gif) no-repeat bottom center;
    padding:0 10px 20px 10px;
    overflow:hidden;
}
.info_bridal+dd h5.data_option+ul>li {
    float:left;
    width:490px;
    overflow:hidden;
    margin-bottom:20px;
}
.info_bridal+dd h5.data_option+ul li.option_image {
    padding:0;
    width:300px;
    float:right;
}
.info_bridal+dd h5.data_option+ul li.option_image ul {
    padding:0;
}
.info_bridal+dd h5.data_option+ul li.option_image ul>li {
    margin:0 0 20px 0;
}
.info_bridal+dd h5.data_option+ul li.option_image figure {
    position:relative;
}
.info_bridal+dd h5.data_option+ul li.option_image figure figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgba(205, 25, 32, 0.7);
    color: #FFF;
    text-align: center;
    width: 300px;
    padding: 5px;
}
.info_bridal+dd h5.data_option+ul li h6 {
    background: url(../img/bridal/ico_bridal.gif) no-repeat;
    padding: 5px 0 0 34px;
    color: #B9A06B;
    font-size: 24px;
    font-weight: normal;
    letter-spacing: 5px;
    display: block;
    height: 30px;
}

ul.list_flower_mini {
    padding:10px;
}
ul.list_image+ul.list_flower_mini {
    width:480px;
    float:left;
}
ul.list_flower_mini li {
    background: url(../img/ico/ico_flower_mini.png) no-repeat 0 5px;
    padding-left: 15px;
    margin: 0 5px 10px 0;
    display:block;
    min-width: 230px;
    float: left;
    white-space: nowrap;
}
ul.list_flower_mini li span {
    padding-left:5px;
    font-size:11px;
}

div.bridalLeft p     { width: 300px; }
div.bridalLeft p img { margin-bottom: 10px; }

/* 店内写真リスト */
ul.photolist {
    clear:both;
    overflow:hidden;
    margin:0;
    padding:20px 0 0 0;
}
ul.photolist li {
    float:left;
	margin: 1px;
}
ul.photolist li a {
	display: block;
	width: 136px;
	height: 136px;
	overflow: hidden;
    position: static;/* bootstrapのfixedをリセット */
}
ul.photolist li a img {
    max-height: 280px;
    max-width: 280px;
    margin: -20px;
}

/* 地図 */
#map {
    margin-bottom:20px;
}

/* 問い合わせボタン */
.btn_inquiry a {
    display:block;
    width:900px;
    height:79px;
    text-indent:-99999px;
	background: url(../img/shop/btn_inquiry.png) no-repeat;
}
body:not(.smartdevice) .btn_inquiry a:hover {
    filter:alpha(opacity=90);
    -moz-opacity: 0.9;
    opacity: 0.9;
}

/* ホットペッパー予約ツール */
body#shop div.hpTool {
    position        : fixed;
    bottom          : 0;
    width           : 100%;
    background-color: rgba(0,0,0,0.5);
    padding         : 10px;
    z-index         : 20;
}
body#shop div.spBtnHp { display: none; }
body#shop #HPG_reserveGadgetsSp  { display: none; }
body#shop #HPG_reserveGadgetsHorizontalWrap.HPG_reserveGadgetsWrap { margin: auto; }
body#shop #HPG_reserveGadgetsHorizontalWrap.HPG_reserveGadgetsWrap .HPE_selectBoxPulldown { top: -143px; }

@media (max-width: 767px) {
    h3.cafe_name {
        font-size : 16px;
    }
    h3.cafe_name:not(.dartsshop) {
        margin-top: -70px;
    }
    h3.cafe_name span {
        font-size: 12px;
        display: block;
        margin: 5px 0 0 0;
    }
    h3.cafe_name:not(.dartsshop) span {
        margin: -15px 0 0 50px;
    }
    h3.cafe_name span.shopComment {
        font-size          : 10px;
        margin             : 14px 0;
        background-color   : rgba(255, 255, 255, 0.83);
        background-position: 5px center;
        padding            : 3px 3px 3px 23px;
        border             : 1px solid #ff0000;
        border-radius      : 10px;
        position: static;
    }
    h3.cafe_name>img {
        width: 40px;
        margin-top: 18px;
    }
    
    p.tpoint {
        background-size:90px;
        top: 112px;
        right: 1px;
        width:90px;
        height:90px;
    }
    p.tpoint.list_dst {
        top: 3px;
        right: 5px;
    }
    
    /*採用情報ボタン*/
    p.recruit_link>a {
        position:inherit;
        margin: 0 0 0 auto;
        width:80px;
        height:42px;
        background-size: 80px 42px;
    }
    body:not(.smartdevice) p.recruit_link>a:hover {
        width:80px;
        height:42px;
        background-size: 80px 42px;
    }
    
    .shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) iframe { width: inherit; }
    .shopinfo_tab>dt.info_shop+dd h4,
    .shopinfo_tab>dt.info_bridal+dd h4 {
        font-size: 14px;
        padding-bottom: 5px;
    }
    
    .shopinfo_tab>dt.info_shop+dd div.row div:nth-of-type(2) { padding: 0; }
    
    .shopinfo_tab>dt.info_shop,
    .shopinfo_tab>dt.info_bridal {
        background-size: 170px;
    }
    .shopinfo_tab>dt.info_shop   { left: 10px; }
    .shopinfo_tab>dt.info_bridal { left: 188px; }
    .shopinfo_tab>dt {
        width : 170px;
        height: 29px;
    }
    .shopinfo_tab>dt.info_shop+dd:after, .shopinfo_tab>dt.info_shop+dd:before     { left: 60px; }
    .shopinfo_tab>dt.info_bridal+dd:after, .shopinfo_tab>dt.info_bridal+dd:before { left: 230px; }
    
    .shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) .fb-page {
        display: block;
        margin: 20px auto;
    }
    
    .shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) a.sns {
        padding: 20px 15px;
        width: 94%;
        margin: 0 auto;
    }
    .shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) a.sns::before {
        width: 30px;
        height: 30px;
    }
    .shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) a.sns>span {
        margin-left: 16px;
    }
    
    .shopinfo_tab {
        padding-top: 45px;
        background-size: 410px;
        background-position: -20px 28px;
    }
    .shopinfo_tab>dd {
        padding:8px;
    }
    .shopinfo_tab>dd:after {
        border-width: 20px;
        margin-left: -20px;
    }
    .shopinfo_tab>dd:before {
        border-width: 27px;
        margin-left: -27px;
    }
    
    .shopinfo_tab table.t_shopinfo {
        margin: 0 auto 20px;
        width: 90%;
    }
    .shopinfo_tab table.t_shopinfo tr.info_address th span,
    .shopinfo_tab table.t_shopinfo tr.info_access th span,
    .shopinfo_tab table.t_shopinfo tr.info_tel th span,
    .shopinfo_tab table.t_shopinfo tr.info_open th span,
    .shopinfo_tab table.t_shopinfo tr.info_close th span,
    .shopinfo_tab table.t_shopinfo tr.info_seats th span,
    .shopinfo_tab table.t_shopinfo tr.info_machineNum th span,
    .shopinfo_tab table.t_shopinfo tr.info_card th span {
        background-size    : 75px;
        background-position: center;
    }
    .shopinfo_tab table.t_shopinfo th span { width: 75px; }
    
    .shopinfo_tab table.t_shopinfo tr.info_address td p {
        position:absolute;
        top:-20px;
        right:0px;
    }
    .shopinfo_tab table.t_shopinfo tr.info_card td img {
        width: 100%;
        max-width:228px;
    }
    
    ul.couponlist {
        margin:0 auto;
        width:90%;
    }
    
    p.btn_inquiry a {
        /*
        width          : 500px;
        height         : 43px;
        background-size: 500px;
        margin         : 0 auto;
        */
        width          : inherit;
        height         : 55px;
        background-size: 100%;
        margin         : 0 auto;
    }
    .info_bridal+dd dl.data_base table th, .info_bridal+dd dl.data_base table td { padding: 10px 10px; }
    .info_bridal+dd dl.data_base       { width: inherit; }
    div.bridalRight dl.data_base ul    { text-align: center; }
    div.bridalRight dl.data_base ul li {
        display: inline-block;
        float  : none;
    }
    .info_bridal+dd h5.data_option+ul>li    { width: inherit; }
    .info_bridal+dd h5.data_option+ul li h6 {
        background-size: 20px;
        font-size      : 18px;
        height         : 22px;
    }
    .info_bridal+dd h5.data_option {
        width          : inherit;
        background-size: 100%;
    }
    
    /* ホットペッパー予約ツール */
    body#shop div.hpTool {
        height : 100%;
        padding: 0;
        display: none;
        background-color: rgba(0,0,0,0.8);
    }
    body#shop div.hpTool button.close {
        position : absolute;
        color    : #ff0;
        font-size: 45px;
        top      : 10px;
        right    : 10px;
        opacity  : 1;
    }
    body#shop #HPG_reserveGadgetsHorizontalWrap.HPG_reserveGadgetsWrap { display: none; }
    
    body#shop #HPG_reserveGadgetsSp {
        display : block;
        position: absolute !important;
        width   : 300px;
        margin  : 180px auto;
        top     : 0;
        right   : 0;
        bottom  : 0;
        left    : 0;
    }
    body#shop div.spBtnHp {
        display         : block;
        width           : 100%;
        position        : fixed;
        bottom          : 0;
        background-color: rgba(0,0,0,0.5);
        padding         : 5px;
        z-index         : 2;
    }
    body#shop div.spBtnHp a.netReserve {
        background : url(../img/shop/btn_hotpepper_reserve.png);
        display    : block;
        width      : 300px;
        height     : 40px;
        text-indent: -9999px;
        margin     : auto;
        cursor     : pointer;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    h3.cafe_name      {
        font-size : 28px;
    }
    h3.cafe_name span.shopComment {
        background-color: rgba(255, 255, 255, 0.83);
        width           : 690px;
        top             : 185px;
        right           : 0;
        left            : 0;
        margin          : auto;
        font-size       : 12px;
        padding         : 7px 7px 7px 17px;
    }
    .shopinfo_tab>dt.info_shop+dd h4,
    .shopinfo_tab>dt.info_bridal+dd h4 { font-size: 22px; }
    
    p.tpoint {
        background-size:100px;
        top: 90px;
        right: 3px;
        width:100px;
        height:100px;
    }
    p.tpoint.list_dst {
        top: -10px;
        right: 5px;
    }
    
    /*採用情報ボタン*/
    p.recruit_link>a {
        top: 415px;
        right: 5px;
        width:100px;
        height:53px;
        background-size: 100px 53px;
    }
    body:not(.smartdevice) p.recruit_link>a:hover {
        top: 400px;
        right: 0px;
        width:150px;
        height:80px;
        background-size: 150px 80px;
    }
    
    .shopinfo_tab                { background-size: 690px; }
    .shopinfo_tab>dt.info_shop   { left: 44px; }
    .shopinfo_tab>dt.info_bridal { left: 345px; }
    .btn_inquiry a {
        width          : 690px;
        height         : 61px;
        background-size: 690px;
    }
    .info_bridal+dd h5.data_option {
        width          : inherit;
        background-size: 650px;
    }
    
    .shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) .fb-page {
        display: block;
        margin: 20px auto;
        width: 400px;
    }
    
}
@media (max-width: 991px) {
    .shopinfo_tab>dt.info_shop+dd>div:nth-of-type(1) iframe {
        /*display: block;
        margin : 30px auto;*/
    }
    
    ul.photolist { text-align: center; }
    ul.photolist li {
        float  : none;
        display: inline-block;
    }
    div.bridalLeft p {
        margin: 0 auto 20px auto;
        width : inherit;
    }
    div.bridalLeft p img {
        display: block;
        margin: auto;
        margin-bottom: 10px;
    }
    div.bridalRight dl.data_base {
        float : none;
        margin: 0 auto 20px auto;
    }
    .info_bridal+dd h5.data_option+ul li.option_image {
        float : none;
        margin: auto;
    }
    .info_bridal+dd h5.data_option+ul>li { width: inherit; }
}



/* ===== ブライダル ===== */
#bridal h3 {
    color:#FFF;
    font-size:26px;
    font-weight:bold;
    position:absolute;
    text-shadow: 2px 2px 6px rgba(0,0,0,1);
    top: 100px;
}
#bridal h3+p {
    color:#FFF;
    font-size:14px;
    background: url(../img/bridal/top.jpg) no-repeat;
    display:block;
    width:960px;
    height:540px;
    margin: 0 -30px 30px -30px;
    padding: 64px 30px 0 30px;
    text-shadow: 0px 0px 4px rgba(0,0,0,1);
    font-weight: bold;
    line-height: 1.8;
}

#bridal .container>ul {
    padding:0;
}
#bridal .container>ul>li {
    padding:20px;
}
#bridal .container>ul>li h4 {
    background: url(../img/bridal/line_lace.gif) repeat-x;
    padding: 28px 15px 28px 15px;
    font-size: 22px;
    letter-spacing:3px;
    margin:0 -20px 15px -20px;
    color: #E71D53;
}
#bridal .container>ul>li h4+p {
    margin:0 0 20px 0;
}

#bridal ul.bridalmenu {
    padding:0;
    margin-right: -50px;
}
#bridal ul.bridalmenu:after {
    content:"";
    display:block;
    clear:both;
}
/* #bridal ul.bridalmenu>li { */
#bridal ul.bridalmenu li {
    width:405px;
    float:left;
    padding:25px 40px;
    margin:0 50px 30px 0;
    box-shadow: 2px 2px 8px 0px rgba(0,0,0,0.3);
}
#bridal ul.bridalmenu div.row li:nth-child(odd) { margin-left: 15px; }
#bridal ul.bridalmenu>li:nth-child(even) {
    clear:both;
}
/* #bridal ul.bridalmenu>li:after { */
#bridal ul.bridalmenu li:after {
    content:"";
    display:block;
    clear:both;
}
#bridal ul.bridalmenu>li.menu_nigaoe {
    width:860px;
}

#bridal ul.bridalmenu>li.menu_champagne,
#bridal ul.bridalmenu>li.menu_cake {
    width:400px;
    float:left;
}
#bridal ul.bridalmenu>li.menu_champagne {
    margin-right:30px;
}

/* #bridal ul.bridalmenu>li h5 { */
#bridal ul.bridalmenu li h5 {
    background: url(../img/bridal/ico_bridal.gif) no-repeat;
    padding:5px 0 0 34px;
    color:#B9A06B;
    font-size:24px;
    font-weight:normal;
    letter-spacing: 5px;
    display: block;
    height: 30px;
}
#bridal ul.bridalmenu>li.menu_champagne h5 {
    letter-spacing: -1px;
}

/* #bridal ul.bridalmenu>li>img { */
#bridal ul.bridalmenu li>img {
    display: block;
    margin:0 auto 15px auto;
}
#bridal ul.bridalmenu>li ul.bridalimage.nigaoe {
    margin: 0 0 5px 0;
    text-align:center;
    padding: 0;
    float:right;
    /* margin: -50px 0 5px 30px; */
    margin: 0 0 5px 0;
    overflow:hidden;
}
#bridal ul.bridalmenu>li ul.bridalimage.nigaoe>li {
    display:block;
    width:240px;
    height:308px;
    float:left;
    background: url(../img/bridal/frame.png) no-repeat;
    text-align:center;
    padding: 30px 0;
    margin:0 14px;
    box-shadow: none;
}
#bridal ul.bridalmenu>li ul.bridalimage.nigaoe>li figure {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
#bridal ul.bridalmenu>li ul.bridalimage.nigaoe>li img {
    margin-bottom:3px;
}
#bridal ul.bridalmenu>li ul.bridalimage.nigaoe>li figcaption {
    color: #B9A06B;
    font-weight:bold;
    font-size:11px;
}

#bridal ul.coursemenu {
    overflow:hidden;
    /* padding:0; */
}
#bridal ul.coursemenu>li {
    float:left;
    /* margin:0 15px 0; */
    position:relative;
    padding:10px;
}
#bridal ul.coursemenu>li:before,
#bridal ul.coursemenu>li:after {
    content:"";
    position:absolute;
    display:block;
    width:400px;
    height:85px;
    left:0;
}
#bridal ul.coursemenu>li:before {
    top:0;
    background: url(../img/bridal/frame_top.png) no-repeat;
}
#bridal ul.coursemenu>li:after {
    bottom:0;
    background: url(../img/bridal/frame_bottom.png) no-repeat;
}

#bridal ul.coursemenu>li h5 {
    color:#FFF;
    position:absolute;
    bottom:15px;
    margin:0;
    text-align:center;
    width:380px;
    text-shadow: 1px 0px 5px #88003E;
    font-weight: bold;
    background-color: rgba(255, 0, 107, 0.46);
    padding: 5px;
    font-size: 15px;
    letter-spacing: 3px;
}


/*
#bridal .container>ul>li ul.list_support {
    overflow:hidden;
}
#bridal .container>ul>li ul.list_support>li:not(:last-child) {
    float: left;
    border: #B9A06B 1px solid;
    border-radius: 5px;
    color: #B9A06B;
    padding: 10px 30px;
    font-size:15px;
    margin:0 5px 5px 0;
    font-weight: bold;
}
#bridal .container>ul>li ul.list_support>li:last-child {
    float: left;
    border: #FFF 1px solid;
    border-radius: 5px;
    color: inherit;
    padding: 10px 30px;
    font-size:13px;
    margin:0 5px 5px 0
}
*/

#bridal .option_menu {
    background: url(../img/bridal/waku_pink_middle.gif) repeat-y;
    margin-bottom:40px;
}
#bridal .option_menu>p {
    background: url(../img/bridal/waku_pink_top.gif) no-repeat top;
    text-align:center;
    color:#E71D53;
    font-size:20px;
    padding:30px 0 10px 0;
    margin:0;
}
#bridal .option_menu>ul {
    background: url(../img/bridal/waku_pink_bottom.gif) no-repeat bottom;
    padding:0 52px 35px;
    overflow:hidden;
    display:table;
}
#bridal .option_menu>ul li {
    float:left;
    margin:4px;
    width:118px;
    height:118px;
    border:#E71D53 1px solid;
    border-radius:5px;
    padding:5px;
    text-align:center;
    position:relative;
}
#bridal .option_menu>ul li>p {
    display:table-cell;
    vertical-align:middle;
    text-align: center;
    font-size: 11px;
    line-height: 1.2;
    width:118px;
    height:40px;
}

#bridal ul.shoplist_bridal {
    overflow:hidden;
    padding:0;
}
#bridal ul.shoplist_bridal li {
    float    :left;
    margin   :5px;
    max-width: 278px;
}
#bridal ul.shoplist_bridal li a {
    display:block;
    border:1px solid #CCC;
    text-decoration:none;
}
#bridal ul.shoplist_bridal li a {
    display:block;
    overflow: hidden;
    border: #FFF 10px solid;
    padding: 3px;
    color: #000;
}
body:not(.smartdevice) #bridal ul.shoplist_bridal li a:hover {
    border: #FF0 10px solid;
}
#bridal ul.shoplist_bridal li a img {
    width:250px;
    max-height:92px;
    display:block;
    margin-bottom:2px;
}
#bridal ul.shoplist_bridal li dl {
    margin:0;
}
#bridal ul.shoplist_bridal li dl dt {
    display:none;
}
#bridal ul.shoplist_bridal li dl dt.nam+dd {
    font-weight:bold;
}

@media (max-width: 767px) {
    #bridal h3 {
        font-size   : 12px;
        padding-left: 10px;
        top         : 140px;
    }
    #bridal h3+p {
        width                : 100%;
        height               : 0;
        padding              : 75px 0 0 10px;
        padding-bottom       : 39%;
        background-size      : 100%;
        font-size            : 10px;
        margin               : 0 auto;
    }
    /*
    #bridal .container>ul>li h4 {
        background-size: 8px;
        font-size      : 10px;
        padding        : 17px 0 20px 10px;
    }
    */
    #bridal .container>ul>li h4 {
        font-size       : 15px;
        padding         : 23px 0 20px 10px;
        background      : none;
        background-color: rgb(229, 220, 206);
    }
    #bridal ul.bridalmenu li h5 {
        padding        : 5px 0 0 25px;
        font-size      : 16px;
        background-size: 20px;
    }
    
    #bridal ul.bridalmenu    { width: 100%; }
    #bridal ul.bridalmenu li { padding: 10px 20px; }
    #bridal ul.bridalmenu>li.menu_nigaoe { width: 100%; }
    #bridal .option_menu,
    #bridal .option_menu>p,
    #bridal .option_menu>ul { background-size: 100%; }
    #bridal .option_menu>ul { padding: 0 10px 35px; }
    #bridal .option_menu>ul li {
        width : 90px;
        height: 90px;
    }
    #bridal .option_menu>ul li img {
        width : 60px;
        height: 42px;
    }
    #bridal .option_menu>ul li>p {
        font-size: 10px;
        
    }
    #bridal ul.bridalmenu>li ul.bridalimage.nigaoe>li:nth-of-type(1) { margin-bottom: 15px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    #bridal h3   { font-size: 20px; }
    #bridal h3+p {
        width          : 750px;
        height         : 420px;
        background-size: 750px;
        font-size      : 12px;
        padding-top    : 50px;
    }
    #bridal .container>ul>li h4 {
        background-size: 10px;
        font-size      : 20px;
        padding        : 20px 0 20px 15px;
    }
    #bridal ul.bridalmenu { margin-right: 0; }
    #bridal ul.bridalmenu>li.menu_nigaoe { width: 650px; }
    
    #bridal .option_menu,
    #bridal .option_menu>p,
    #bridal .option_menu>ul { background-size: 650px; }
}
@media (max-width: 991px) {
    #bridal ul.bridalmenu>li ul.bridalimage.nigaoe { float: none; }
    #bridal ul.bridalmenu>li ul.bridalimage.nigaoe>li {
        display: inline-block;
        float  : none;
    }
    #bridal ul.bridalmenu li,
    #bridal ul.bridalmenu div.row li:nth-child(odd) {
        float : none;
        margin: 0 auto 30px auto;
        width : 95%;
    }
    #bridal .option_menu>ul    { text-align: center; }
    #bridal .option_menu>ul li {
        float  : none;
        display: inline-block;
    }
    #bridal ul.coursemenu {
        text-align  : center;
        padding-left: 0;
    }
    #bridal ul.coursemenu>li {
        float  : none;
        display: inline-block;
    }
    #bridal ul.coursemenu>li:nth-of-type(1) { margin-bottom: 15px; }
    #bridal ul.shoplist_bridal li {
        float  : none;
        display: inline-block;
    }
    #bridal ul.shoplist_bridal   { text-align: center; }
    #bridal ul.bridalmenu li>img {
        max-width: 100%;
        height   : auto;
    }
    #bridal img.champagneCourseImg,
    #bridal img.weddingCakeCourseImg {
        max-width: 100%;
        width    : 300px;
    }
    #bridal ul.coursemenu>li:before,
    #bridal ul.coursemenu>li:after { background-size: 320px; }
    #bridal ul.coursemenu>li:after { bottom: -17px; }
    #bridal ul.coursemenu>li h5    { width : 300px; }
}


/* ===== スタッフ ===== */
#staff ul.staff_main {
    padding:0;
    margin-bottom:80px;
}
#staff ul.staff_main li {
    position:relative;
    height:450px;
}
#staff ul.staff_main li div.photo {
    position:relative;
}
#staff ul.staff_main li div.photo p.name {
    position:absolute;
    color:#FFF;
    font-size:60px;
    font-weight:bold;
    text-align: center;
    line-height:1.1;
    z-index:2;
    text-shadow: 3px 1px 1px #000, -3px 1px 1px #000, 3px -1px 1px #000, -3px -1px 1px #000;
}
#staff ul.staff_main li:nth-child(2n+1) div.photo p.name {
    top:85px;
    left:62px;
}
#staff ul.staff_main li:nth-child(2n) div.photo p.name {
    top: 240px;
    right: 60px;
}
#staff ul.staff_main li div.photo p.name span {
    display:block;
    font-size:12px;
}
#staff ul.staff_main li div.photo img {
    position:absolute;
    z-index:1;
    top:0;
}
#staff ul.staff_main li:nth-child(2n+1) div.photo img {
    left:0;
}
#staff ul.staff_main li:nth-child(2n) div.photo img {
    right:0;
}
#staff ul.staff_main li:nth-child(2n) div.photo img.photo1 {
    top:250px;
    right:200px;
}
#staff ul.staff_main li p.msg {
    display:block;
    width:460px;
    height:270px;
    font-size: 12px;
    line-height: 1.3;
    position: absolute;
    z-index:3;
    top: 0;
    background-repeat:no-repeat;
}
#staff ul.staff_main li:nth-child(2n+1) p.msg {
    background-image:url(../img/staff/fukidashi_right.png);
    padding: 80px 65px 0;
    right: 66px;
}
#staff ul.staff_main li:nth-child(2n) p.msg {
    background-image:url(../img/staff/fukidashi_left.png);
    padding: 80px 58px 0 72px;
    left: 63px;
}
#staff ul.staff_main li div.prof {
    position:absolute;
    bottom:65px;
    background:#F39700;
    border-radius:100px;
    width:700px;
    text-align:center;
    z-index:0;
    padding-top:30px;
    padding-bottom:15px;
}
#staff ul.staff_main li:nth-child(2n+1) div.prof {
    right:0;
    padding-left:160px;
    padding-right:40px;
}
#staff ul.staff_main li:nth-child(2n) div.prof {
    left:0;
    padding-left:40px;
    padding-right:160px;
}
#staff ul.staff_main li div.prof p {
    font-size:19px;
    color:#FFF;
    font-weight:bold;
    margin: 5px;
}
#staff ul.staff_main li div.prof p span {
    font-size:14px;
    color:#553500;
    margin-right:5px;
}

/* タブレット・スマホ優先 */
#staff ul.staff_sub {
    overflow:hidden;
    padding:0;
}
#staff ul.staff_sub>li {/*タブレット・スマホ*/
    float:left;
    width: 380px;
    margin: 0 35px 50px;
    position:relative;
    text-align:center;
    color:#F39800;
    font-weight:bold;
    font-size:16px;
}
#staff:not(.smartdevice) ul.staff_sub>li {/*PC版*/
    width:200px;
    margin: 0 12px 50px;
}
#staff ul.staff_sub>li img {
    border-radius:100px;
    margin:0 0 5px 0;
    display:block;
}
#staff ul.staff_sub>li ul.staff_pr {/*タブレット・スマホ*/
    position:absolute;
    top:0;
    left:180px;
    width:200px;
    height:200px;
    display:block;
    border-radius:100px;
    background:rgba(0,0,0,0.60);
    padding:25px 10px;
    text-align:center;
    border:5px solid rgba(255,255,255,0.60);
    opacity: 1;
}
#staff:not(.smartdevice) ul.staff_sub>li ul.staff_pr {/*PC版*/
    left:0;
    -webkit-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
    opacity: 0;
    /* ここで動く速度とか設定 */
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#staff ul.staff_sub>li ul.staff_pr li {
    margin:10px 0;
    color:#FFF;
    font-size:12px;
}
#staff ul.staff_sub>li ul.staff_pr li a {
    color:#FFF;
    position:relative;
}
#staff:not(.smartdevice) ul.staff_sub>li ul.staff_pr li a:after {
    content:"店舗ページヘ";
    display:block;
    width:120px;
    border:#F39800 4px solid;
    border-radius:5px;
    background:#F39800;
    position:absolute;
    top:-10px;
    left:50%;
    margin-left:-60px;
    opacity:0;
    color:#FFF;
    /* ここで動く速度とか設定 */
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
#staff:not(.smartdevice) ul.staff_sub>li ul.staff_pr li a:before {
    content: "";
    position: absolute;
    top: 10px;
    left: 50%;
    margin-left: -9px;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 9px 9px 0 9px;
    border-color: #F39800 transparent transparent transparent;
    z-index: 0;
    opacity:0;
    /* ここで動く速度とか設定 */
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
#staff:not(.smartdevice) ul.staff_sub>li ul.staff_pr li a:hover:after {
    top:-30px;
    opacity:1;
}
#staff:not(.smartdevice) ul.staff_sub>li ul.staff_pr li a:hover:before {
    top:-10px;
    opacity:1;
}
#staff ul.staff_sub>li ul.staff_pr li span {
    display:block;
    font-size:10px;
    color: #E6D450;
}

#staff:not(.smartdevice) ul.staff_sub>li:hover ul.staff_pr {/*PC版*/
      opacity: 1;
      -webkit-transform: rotateY(0);
      transform: rotateY(0);
}


@media (max-width: 767px) {
    #staff ul.staff_main {
    }
    #staff ul.staff_main li {
        height:auto;
        background:#F39700;
        margin-bottom:20px;
    }
    #staff ul.staff_main li div.photo {
        width: 300px;
        margin: 0 auto;
    }
    #staff ul.staff_main li div.photo p.name {
        font-size:50px;
        position: static;
        padding: 20px 0 0 0;
        text-shadow: none;
    }
    #staff ul.staff_main li:nth-child(2n+1) div.photo p.name {
    }
    #staff ul.staff_main li:nth-child(2n) div.photo p.name {
    }
    #staff ul.staff_main li div.photo p.name span {
        font-size:11px;
        display:inline;
        margin:0 5px;
    }
    #staff ul.staff_main li div.photo img {
        position: static;
        width: 300px;
        margin: 0 auto;
        display: block;
    }
    #staff ul.staff_main li:nth-child(2n) div.photo img.photo1 {
        width: 120px;
        margin: -100px 0 -20px 200px;
    }
    #staff ul.staff_main li p.msg {
        display:block;
        width:350px;
        height:auto;
        font-size: 12px;
        line-height: 1.3;
        position: relative;
        background: #d5d5d5;
        border: 4px solid #000000;
        margin:0 auto;
        border-radius:5px;
    }
    #staff ul.staff_main li p.msg:after, #staff ul.staff_main li p.msg:before {
        bottom: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
    }
    #staff ul.staff_main li p.msg:after {
        border-color: rgba(213, 213, 213, 0);
        border-bottom-color: #FFF;
        border-width: 20px;
        margin-left: -20px;
    }
    #staff ul.staff_main li p.msg:before {
        border-color: rgba(0, 0, 0, 0);
        border-bottom-color: #000000;
        border-width: 26px;
        margin-left: -26px;
    }
    #staff ul.staff_main li:nth-child(2n+1) p.msg,
    #staff ul.staff_main li:nth-child(2n) p.msg {
        background:#FFF;
        padding: 15px;
        right:auto;
        left:auto;
    }
    #staff ul.staff_main li div.prof {
        position:static;
        width:100%;
        padding-top:15px;
        padding-bottom:15px;
    }
    #staff ul.staff_main li:nth-child(2n+1) div.prof,
    #staff ul.staff_main li:nth-child(2n) div.prof {
        padding-left:20px;
        padding-right:20px;
    }
    #staff ul.staff_main li div.prof p {
        font-size:19px;
        color:#FFF;
        font-weight:bold;
        margin: 5px;
    }
    #staff ul.staff_main li div.prof p span {
        font-size:14px;
        color:#553500;
        margin-right:5px;
    }

    #staff ul.staff_sub {
    }
    #staff ul.staff_sub>li,
    #staff:not(.smartdevice) ul.staff_sub>li {
        float:none;
        width: 340px;
        margin:0 auto 50px;
        padding-right: 150px;
    }
    #staff ul.staff_sub>li ul.staff_pr,
    #staff:not(.smartdevice) ul.staff_sub>li ul.staff_pr {
        position:absolute;
        top: 60px;
        left: 140px;
        width:200px;
        height:200px;
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg);
        opacity: 1;
    }
    
    #staff ul.staff_sub>li ul.staff_pr li {
        margin:10px 0;
        color:#FFF;
        font-size:12px;
    }
    #staff ul.staff_sub>li ul.staff_pr li span {
        display:block;
        font-size:10px;
        color: #E6D450;
    }
    
    #staff:not(.smartdevice) ul.staff_sub>li:hover ul.staff_pr {/*PC版*/
          opacity: 1;
          -webkit-transform: rotateY(0);
          transform: rotateY(0);
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    #staff ul.staff_main li {
        height:520px;
        margin-bottom: 20px;
    }
    #staff ul.staff_main li div.photo p.name {
        position:static;
        font-size:50px;
        text-align: left;
        color:#F39800;
        text-shadow: none;
    }
    #staff ul.staff_main li div.photo p.name span {
        display:inline;
        font-size:12px;
    }
    #staff ul.staff_main li div.photo img {
        top:60px;
    }
    #staff ul.staff_main li:nth-child(2n) div.photo img.photo1 {
        top:335px;
        right:150px;
    }
    #staff ul.staff_main li p.msg {
        top: 90px;
        width: 370px;
        background-size: 370px;
        font-size: 11px;
        line-height: 1.2;
    }
    #staff ul.staff_main li:nth-child(2n+1) p.msg {
        right: 0;
        padding: 56px 48px 0 58px;
    }
    #staff ul.staff_main li:nth-child(2n) p.msg {
        left: 0;
        padding: 58px 44px 0 58px;
    }
    #staff ul.staff_main li div.prof {
        bottom: 75px;
        width:490px;
        padding-top:10px;
        padding-bottom:10px;
    }
    #staff ul.staff_main li div.prof p {
        font-size:17px;
    }
    #staff ul.staff_main li div.prof p span {
        font-size:12px;
    }

    #staff ul.staff_sub>li {/*タブレット・スマホ*/
        width: 325px;
        margin: 0 10px 50px;
        padding-right: 150px;
    }
    #staff:not(.smartdevice) ul.staff_sub>li {/*PC版*/
        width: 200px;
        margin: 0 15px 50px;
        padding-right: 0;
    }
    #staff ul.staff_sub>li ul.staff_pr {/*タブレット・スマホ*/
        top: 60px;
        left: 135px;
    }
    #staff:not(.smartdevice) ul.staff_sub>li ul.staff_pr {/*PC版*/
        top: 0;
        left: 0;
    }
}
@media (max-width: 991px) {
}


/* ===== TiTOについて ===== */
#about #main_contents .container>div {
    padding:10px 0;
    position:relative;
    margin-bottom: 40px;
}
#about h3 {
    text-indent:-99999px;
    background-repeat:no-repeat;
    display:block;
    width:900px;
    height:77px;
}
#about #tito_menu h3       { background-image:url(../img/about/h3_menu.png); }
#about #tito_lecture h3    { background-image:url(../img/about/h3_lecture.png); }
#about #tito_tournament h3 { background-image:url(../img/about/h3_tournament.png); }
#about #tito_party h3      { background-image:url(../img/about/h3_party.png); }

#about ul.image {
    position:absolute;
    top:30px;
    right:20px;
    overflow:hidden;
}
#about ul.image>li {
    float:left;
}
#about ul.image figure {
    position:relative;
}
#about ul.image figure>figcaption {
    position:absolute;
    bottom:5px;
    right:5px;
    color:#FFF;
    font-size: 11px;
    text-shadow: 1px 1px 3px #000;
    text-align:right;
}
#about p.text {
    width: 340px;
    margin: 30px 0 30px 20px;
    line-height: 1.8;
    min-height: 150px;
}

#about dl.menulist {
    margin-bottom:0;
    text-align: center;
}
#about dl.menulist>dt {
    width:100%;
    text-align:center;
    font-size:20px;
    color:#FF9900;
}
#about dl.menulist>dd {
    width: 180px;
    height: 240px;
    padding: 15px;
    margin:20px;
    display:inline-block;
    text-align: center;
    vertical-align: top;
    border:1px solid #BFBFBF;
}
#about dl.menulist>dd dl {
}
#about dl.menulist>dd dl>dt {
    font-size:16px;
    color:#0CAB00;
    border-bottom:2px dotted #0CAB00;
    margin-bottom: 20px;
    padding: 0 0 10px 0;
}
#about dl.menulist>dd dl>dt>span {
    color:#E10045;
    font-size:12px;
    display:block;
}
#about dl.menulist>dd dl>dd {
    font-size:12px;
    line-height:1.1;
    margin:13px 0;    
}

#about #tito_menu p.memo {
    color:#E10045;
    font-size:11px;
    text-align:center;
}

#about .box {
    border:3px solid #000;
    border-radius:10px;
    margin:20px 30px;
    background-image:url(../img/about/bg_box.png);
    padding: 20px 30px;
    position:relative;
    overflow:hidden;
}

#about .box h4 {
    background-repeat:no-repeat;
    padding:12px 0 20px 170px;
    font-size:16px;
    font-weight:bold;
    float:left;
    width: 460px;
}
#about .box h4.tito_plus { background-image:url(../img/about/logo_titoplus.png?date=20230726); }
#about .box h4.tito_plus_susukino { background-image:url(../img/about/logo_titoplus_susukino.png); }
#about .box h4.tito_jack { background-image:url(../img/about/logo_titojack.png); }

#about .box p.text_box {
    width: 460px;
    float: left;
}
#about #tito_lecture .box p.text_box {
    width: 320px;
}
#about #tito_tournament .box p.text_box {
    width: 360px;
}
#about .box img.image_box {
    float:right;
}

#about #tito_lecture .box .staff {
    float:right;
    margin: -30px;
}
#about #tito_tournament .box .staff {
    float:right;
    margin: -20px -70px;
}

#about .box .staff_com {
    text-indent:-99999px;
    background-repeat:no-repeat;
    display:block;
    position:absolute;
}
#about #tito_menu .box .staff_com {
    background-image:url(../img/about/comment_menu.png);
    width:291px;
    height:195px;
    top: 130px;
    left: 220px;
}
#about #tito_lecture .box .staff_com {
    background-image:url(../img/about/comment_lecture.png);
    width:284px;
    height:197px;
    top: 60px;
    left: 360px;
}
#about #tito_tournament .box .staff_com {
    background-image:url(../img/about/comment_tournament.png);
    width:263px;
    height:197px;
    top: 190px;
    left: 170px;
}

#about .box .staff_nam,
#about .box .staff_gam {
    font-size:13px;
    font-weight:bold;
    position:absolute;
    line-height: 1.2;
}
#about .box .staff_nam>span,
#about .box .staff_gam>span {
    font-size:20px;
}
#about #tito_menu .box .staff_nam {
    top: 350px;
    left: 260px;
}
#about #tito_lecture .box .staff_nam {
    top: 280px;
    left: 380px;
}
#about #tito_lecture .box .staff_gam {
    top: 320px;
    left: 380px;
}
#about #tito_lecture .box .staff_gam>span {
    display:block;
}
#about #tito_tournament .box .staff_nam {
    top: 370px;
    left: 560px;
    text-shadow: 0px 0px 2px #FF0;
}

@media (max-width: 767px) {
    #about h3 {
        width:100%;
        height:70px;
        background-size:690px auto;
    }
    #about ul.image {
        position:static;
        padding:0;
        width:364px;
        margin:0 auto;
    }
    #about ul.image>li img {
        height:182px;
        width:auto;
    }
    #about ul.image figure>figcaption {
        bottom:3px;
        right:3px;
        font-size: 10px;
    }
    #about p.text {
        width: auto;
        margin: 10px 10px 30px;
        line-height: 1.5;
        min-height: inherit;
    }
    
    #about dl.menulist>dd {
        width: 170px;
        height: 225px;
        padding: 10px;
        margin:5px 2px;
    }
    #about dl.menulist>dd dl>dd {
        font-size:12px;
        line-height:1.1;
        margin:13px 0;    
    }
    
    #about #tito_menu p.memo {
        padding:5px 10px;
    }

    #about .box {
        margin:20px 0;
        padding: 5px 10px;
    }

    #about .box h4 {
        text-align: center;
        padding: 55px 0 20px 0;
        float: none;
        width: auto;
        background-position: top center;
    }

    #about .box p.text_box {
        width: auto;
        float: none;
    }
    #about #tito_lecture .box p.text_box {
        width: auto;
    }
    #about #tito_tournament .box p.text_box {
        width: auto;
    }
    #about .box img.image_box {
        float: none;
        text-align: center;
        margin: 0 auto;
        display: block;
    }
    #about .box img.image_box {
        height: auto;
        margin-bottom: 20px;
    }
    #about #tito_menu .box img.image_box {
        width: 210px;
    }
    #about #tito_tournament .box img.image_box {
        width: 200px;
    }

    #about #tito_menu .box .staff,
    #about #tito_lecture .box .staff,
    #about #tito_tournament .box .staff {
        float:none;
        width:100%;
        margin:0;
    }

    #about #tito_menu .box .staff img,
    #about #tito_lecture .box .staff img,
    #about #tito_tournament .box .staff img {
        margin: 10px auto;
        display:block;
    }
    
    #about #tito_menu .box .staff_com,
    #about #tito_lecture .box .staff_com,
    #about #tito_tournament .box .staff_com {
        background: #FFFF00;
        text-indent:0;
        position:static;
        width: inherit;
        height: inherit;
        padding:10px;
        border-radius:10px;
    }
    #about .box .staff_com:before {
        content: "";
        position: absolute;
        margin-left: -10px;
        display: block;
        width: 0px;
        height: 0px;
        border-style: solid;
        border-width: 0 10px 10px 10px;
        border-color: transparent transparent #FFFF00 transparent;
        margin: -20px 45%;
    }

    #about .box .staff_nam,
    #about .box .staff_gam {
        position:static;
        font-size:12px;
        text-align:center;
    }
    #about .box .staff_nam>span, #about .box .staff_gam>span {
        font-size: 18px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    #about h3 {
        width:690px;
        height:70px;
        background-size:690px auto;
    }
    
    #about ul.image {
    }
    #about ul.image li img {
        height:180px;
        width:auto;
    }
    #about ul.image figure>figcaption {
        bottom:3px;
        right:3px;
        font-size: 10px;
    }
    #about p.text {
        width: 280px;
        margin: 0px 0 30px 17px;
        line-height: 1.5;
        min-height: 100px;
        font-size: 11px;
    }
    
    #about dl.menulist>dt {
        font-size:18px;
    }
    #about dl.menulist>dd {
        width: 160px;
        height: 220px;
        padding: 10px;
        margin:20px 4px;
    }
    #about dl.menulist>dd dl>dt {
        font-size:14px;
    }
    #about dl.menulist>dd dl>dt>span {
        font-size:11px;
    }
    #about dl.menulist>dd dl>dd {
        font-size:11px;
    }
    
    #about .box {
        margin:20px 0;
        padding: 10px 20px;
    }

    #about .box p.text_box {
        width: 350px;
    }
    
    #about #tito_menu .box .staff {
        float:left;
        padding-top:110px;
    }
    #about #tito_menu .box .staff img {
        width:200px;
        height:auto;
    }
    #about #tito_menu .box .staff_com {
        left: 90px;
    }
    #about #tito_menu .box .staff_nam {
        top: 420px;
        left: 165px;
    }
    #about #tito_lecture .box p.text_box {
        width: 100%;
    }
    #about #tito_lecture .box .staff_com {
        top: 160px;
        left: 140px;
    }
    #about #tito_lecture .box .staff_nam {
        top: 370px;
        left: 260px;
    }
    #about #tito_lecture .box .staff_gam {
        top: 410px;
        left: 260px;
    }
    #about #tito_tournament .box p.text_box {
        width: 410px;
    }
    #about #tito_tournament .box .staff_com {
        left: 70px;
    }
    #about #tito_tournament .box .staff_nam {
        top: 450px;
        left: 420px;
    }
    
}


/* ===== トピックス ===== */
/*
ul.topics_list {
}
ul.topics_list li {
    text-align:center;
}
ul.topics_list li>img {
    padding:10px;
    border:1px solid #CCC;
    border-radius:2px;
    box-shadow:3px 3px 10px rgba(0,0,0,0.4);
}
*/

#topics div.topicsList ul li {
    border-bottom: 1px dotted #ccc;
    margin-top   : 20px;
}

#topics div.topicsList ul li:nth-of-type(1) { margin-top: 0; }

#topics div.topicsList ul li.campaign    { background: url(../img/ico/ico_campaign.png) no-repeat 5px center; }
#topics div.topicsList ul li.newOpen     { background: url(../img/ico/ico_new_open.png) no-repeat 5px center; }
#topics div.topicsList ul li.information { background: url(../img/ico/ico_information.png) no-repeat 5px center; }
#topics div.topicsList ul li.media       { background: url(../img/ico/ico_media.png) no-repeat 5px center; }

#topics div.topicsList ul li.campaign,
#topics div.topicsList ul li.newOpen,
#topics div.topicsList ul li.information,
#topics div.topicsList ul li.media { padding: 5px 0 5px 115px; }

#topics div.topicsList ul li span.date,
#topics div.topicsList ul li span.topicsTitle { display: inline-block; }

div.topicsList ul li span.date { margin-right: 10px; }
div.topicsList div.modal       { text-align  : center; }
div.topicsList div.modal h4    { text-align  : left; }
div.topicsList div.modal img   { max-width   : 100%; }
div.topicsList div.modal p {
    text-align   : left;
    margin-bottom: 30px;
}
#topics div.pager         { font-size: 30px; }
#topics div.pager span.na { color: #ccc; }

@media (min-width: 992px) {
    div.topicsList div.modal-lg { width: 700px; }
}

/* ===== ダーツについて ===== */
dl.darts {
    position:relative;
    border-radius:10px;
    border:solid 1px #F2E725;
    padding: 90px 49px 40px 49px;
    margin-bottom:20px;
}
dl.darts:after {
    content:"";
    display:block;
    clear:both;
}
dl.darts dt {
    display:block;
    position:absolute;
    padding: 25px 0 25px 85px;
    font-size: 24px;
    font-weight: normal;
    width: 900px;
    top: 4px;
    left: -12px;
    z-index:1;
}
dl.darts dt.notactive {
    top:90px;
    left:-9px;
    text-indent:-99999px;
    width:162px;
    height:66px;
}
body:not(.smartdevice) dl.darts dt.notactive:hover {
    cursor:pointer;
    margin-top:-2px;
}
dl.darts dt.beginner.notactive {
	background: url(../img/darts/btn_beginner.png) no-repeat;
}
dl.darts dt.master.notactive {
	background: url(../img/darts/btn_master.png) no-repeat;
}
dl.darts dt.beginner {
	background: url(../img/darts/beginner.png) no-repeat;
}
dl.darts dt.master {
	background: url(../img/darts/master.png) no-repeat;
}
dl.darts dd {
    width: 650px;
    float: right;
    display:block;
}
dl.darts>dt.notactive+dd {
    display:none;
}

#darts dl.darts dd ul {
    margin:0;
    padding:0;
}
#darts dl.darts dd ul li {
    margin:0 0 30px 0;
    position:relative;
}
#darts dl.darts dd ul li:after {
    content:"";
    display:block;
    clear:both;
}

#darts dl.darts dd ul li h3 {
	background: url(../img/darts/ico_bull.png) no-repeat;
    padding:7px 0 7px 42px;
    margin-left:-30px;
    clear:both;
}
#darts dl.darts dd ul li img {
    padding: 10px;
    background: #fff;
    -moz-box-shadow: 0px 3px 3px rgba(0, 0, 0, .4);
    -webkit-box-shadow: 0px 3px 3px rgba(0, 0, 0, .4);
    box-shadow: 0px 3px 3px rgba(0, 0, 0, .4);
    float:left;
    margin:0 30px 40px 0;
}
#darts dl.darts dd ul li img.pic1 {
    -moz-transform: rotate(-6deg);
    -webkit-transform: rotate(-6deg);
    -o-transform: rotate(-6deg);
    transform: rotate(-6deg);
}
#darts dl.darts dd ul li img.pic2 {
    -moz-transform: rotate(25deg);
    -webkit-transform: rotate(25deg);
    -o-transform: rotate(25deg);
    transform: rotate(25deg);
    position:absolute;
    top: 157px;
    left: 220px;
}
#darts dl.darts dd ul li img.pic3 {
    -moz-transform: rotate(3deg);
    -webkit-transform: rotate(3deg);
    -o-transform: rotate(3deg);
    transform: rotate(3deg);
}
#darts dl.darts dd ul li img.pic4 {
    -moz-transform: rotate(-4deg);
    -webkit-transform: rotate(-4deg);
    -o-transform: rotate(-4deg);
    transform: rotate(-4deg);
}
#darts dl.darts dd ul li img.pic5 {
    -moz-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg);
    position:absolute;
    top: 215px;
    left: -25px;
}
#darts dl.darts dd ul li img.pic6 {
    -moz-transform: rotate(12deg);
    -webkit-transform: rotate(12deg);
    -o-transform: rotate(12deg);
    transform: rotate(12deg);
    position:absolute;
    top: 260px;
    left: 140px;
}
#darts dl.darts dd ul li img.pic7 {
    -moz-transform: rotate(12deg);
    -webkit-transform: rotate(12deg);
    -o-transform: rotate(12deg);
    transform: rotate(12deg);
    position:absolute;
    top: 220px;
    left: 140px;
}
#darts dl.darts dd ul li img.pic8 {
    -moz-transform: rotate(4deg);
    -webkit-transform: rotate(4deg);
    -o-transform: rotate(4deg);
    transform: rotate(4deg);
    position:absolute;
    top: 252px;
    left: 116px;
}
#darts dl.darts dd ul li img.pic9 {
    -moz-transform: rotate(16deg);
    -webkit-transform: rotate(16deg);
    -o-transform: rotate(16deg);
    transform: rotate(16deg);
    position:absolute;
    top: 300px;
    left: -20px;
}
#darts dl.darts dd ul li p {
    margin:0 0 20px 0px;
}

#darts dl.darts dd ul li p.btn_link {
    float:right;
}
#darts dl.darts dd ul li p.btn_link a {
    display:block;
    width:300px;
    height:50px;
    text-indent:-99999px;
}
#darts dl.darts dd ul li p.btn_link.btn_phoenix a {
	background: url(../img/darts/btn_phoenix.png) no-repeat;
}
#darts dl.darts dd ul li p.btn_link.btn_datopi_league a {
	background: url(../img/darts/btn_datopi_league.png) no-repeat;
}
#darts dl.darts dd ul li p.btn_link.btn_datopi_tournament a {
	background: url(../img/darts/btn_datopi_tournament.png) no-repeat;
}
body:not(.smartdevice) #darts dl.darts dd ul li p.btn_link a:hover {
    filter:alpha(opacity=90);
    -moz-opacity: 0.9;
    opacity: 0.9;
}

#darts dl.darts dd ul.darts_contents {
    overflow:hidden;
}
#darts dl.darts dd ul.darts_contents li {
    float:left;
    margin:10px;
}
#darts dl.darts dd ul.darts_contents li a {
    display:block;
	background: url(../img/darts/btn_darts.png) no-repeat;
	width: 190px;
	height: 50px;
	text-align: center;
	padding: 17px 0 0 0;
	text-decoration: none;
	font-size: 14px;
	color: #3E3E3E;
	font-weight: bold;
}

/* ダーツ説明ページ */
dl.dartsdetail {
    position:relative;
    float:left;
}
dl.dartsdetail.setting {
    width:430px;
}
dl.dartsdetail.throw {
    width:370px;
}
dl.dartsdetail.play {
    width:450px;
}
dl.dartsdetail.rule {
    width:440px;
}
img.ruleimg {
    margin-top:25px;
}
dl.dartsdetail dt {
    padding-top:25px;
}
dl.dartsdetail dt h4 {
    color:#C00;
    border-bottom: 1px solid #C00;
}
dl.dartsdetail dt h4 span {
    font-size:80%;
}
dl.dartsdetail dd {
}

dl.setting dd.recommend a {
	position: absolute;
	display: block;
	text-indent: -99999px;
}
body:not(.smartdevice) dl.setting dd.recommend a:hover {
    filter:alpha(opacity=85);
    -moz-opacity: 0.85;
    opacity: 0.85;
}
dl.setting dd.recommend.barrel a {
	top: 350px;
	right: -330px;
	width: 168px;
	height: 166px;
	background: url(../img/darts/recommend_barrel.png) top left no-repeat;
}
dl.setting dd.recommend.condor a {
	top: 64px;
	right: -360px;
	width: 200px;
	height: 176px;
	background: url(../img/darts/recommend_condor.png) top left no-repeat;
}
dl.setting dd.recommend.tip a {
	top: 520px;
	right: -360px;
	width: 200px;
	height: 172px;
	background: url(../img/darts/recommend_tip.png) top left no-repeat;
}

a.banner_dvd {
    display: block;
    border: #C00 5px solid;
    padding: 20px;
    text-decoration: none;
    overflow: hidden;
    margin:0 0 20px 0;
    position:relative;
    clear:both;
}
body:not(.smartdevice) a.banner_dvd:hover {
    border: #F2E725 5px solid;
    color:#000;
}
a.banner_dvd img {
    display: block;
    float:right;
    width:100px;
    margin:0 0 0 20px;
}
a.banner_dvd p.topic {
    color:#C00;
    font-size:18px;
    font-weight:bold;
    margin:0 0 2px 0;
}
a.banner_dvd p.price {
    position:absolute;
    bottom:0;
    /* right:60px; */
    left: 15px;
    background: #C00;
    border-radius: 100px;
    display: inline;
    padding: 5px 30px;
    color: #FFF;
    font-weight: bold;
}

dl.manner {
	background: url(../img/darts/heart.png) top left no-repeat;
    padding:25px 0 0 200px;
}
dl.manner dt {
    font-size: 20px;
    color: #3EBD00;
    margin:0 0 5px 0;
}
dl.manner dd {
    background: url(../img/ico/ico_exclam.png) 0 1px no-repeat;
    padding: 0 0 0 18px;
    margin:0 0 5px 0;
}

ul.indexlist {
    overflow:hidden;
    padding: 10px;
}
ul.indexlist li {
    float:left;
    margin:0 15px 0 0;
}
ul.indexlist li a {
    background: url(../img/ico/ico_green_arrow.png) 0 0 no-repeat;
    padding:0 0 0 20px;
}

@media (max-width: 767px) {
    dl.darts {
        margin-left : 10px;
        margin-right: 10px;
        padding     : 90px 30px 40px 40px;
    }
    dl.darts dd                 { float: none; }
    #darts dl.darts dd ul li    { text-align: center; }
    #darts dl.darts dd ul li p  { text-align: left; }
    #darts dl.darts dd ul li h3 {
        font-size      : 15px;
        background-size: 30px;
        padding        : 7px 0 7px 30px;
        margin-top     : 5px;
        text-align     : left;
    }
    
    #darts dl.darts dd ul li img    {
        display: none;
        padding: 0;
        -moz-box-shadow   : none;;
        -webkit-box-shadow: none;

    }
    #darts dl.darts dd ul li h3+img { display: block; }
    
    #darts dl.darts dd ul li img.pic1,
    #darts dl.darts dd ul li img.pic2,
    #darts dl.darts dd ul li img.pic3,
    #darts dl.darts dd ul li img.pic4,
    #darts dl.darts dd ul li img.pic5 {
        -moz-transform   : rotate(0deg);
        -webkit-transform: rotate(0deg);
        -o-transform     : rotate(0deg);
        transform        : rotate(0deg);
    }
    
    #darts dl.darts dd ul li img      { float   : none; }
    #darts dl.darts dd ul li img.pic1 { width   : 50%; }
    #darts dl.darts dd ul li img.pic2 {
        width   : 20%;
        position: static;
    }
    #darts dl.darts dd ul li img.pic3,
    #darts dl.darts dd ul li img.pic4 { width        : 50%; }
    #darts dl.darts dd ul li img.pic4 { margin-bottom: 20px; }
    #darts dl.darts dd ul li img.pic5,
    #darts dl.darts dd ul li img.pic6 {
        width   : 40%;
        position: static;
    }
    dl.darts dt {
        width    : 370px;
        font-size: 14px;
        padding  : 5px 0 25px 40px;
    }
    dl.darts dt.beginner,
    dl.darts dt.master    { background-size: 370px; }
    dl.darts dt.notactive {
        width : 100px;
        height: 40px;
        top   : 40px;
    }
    dl.darts dt.beginner.notactive,
    dl.darts dt.master.notactive { background-size: 100px; }
    dl.darts dd                  { width: inherit; }
    
    #darts dl.darts dd ul.darts_contents    { text-align: center; }
    #darts dl.darts dd ul.darts_contents li {
        display: inline-block;
        float  : none;
    }
    
    #darts img.dartsImg {
        width : 200px;
        height: auto;
    }
    dl.setting dd.recommend.condor a,
    dl.setting dd.recommend.tip a {
        width          : 120px;
        height         : 120px;
        background-size: 120px;
    }
    dl.setting dd.recommend.condor a {
        top : -377px;
        left: 50%;
    }
    dl.setting dd.recommend.barrel a {
        top            : -210px;
        left           : 60%;
        width          : 105px;
        height         : 105px;
        background-size: 105px;
    }
    dl.setting dd.recommend.tip a {
        top : -110px;
        left: 50%;
    }
    #darts img.formImg {
        width : 70%;
        height: auto;
    }
    a.banner_dvd { padding-bottom: 50px; }
    dl.manner {
        padding        : 25px 0 0 120px;
        background-size: 100px;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    dl.darts dt          { width: 100%; }
    dl.darts dt.beginner,
    dl.darts dt.master   {
        background-size: 100%;
        line-height    : 0.4;
        padding        : 25px 0 25px 65px;
    }
    #darts dl.darts dd ul             { padding-left: 10px; }
    #darts dl.darts dd ul li h3       { margin-left : 170px; }
    #darts dl.darts dd ul li img      { max-width: 150px; }
    #darts dl.darts dd ul li img.pic1 {
        transform: rotate(5deg);
        margin-bottom:100px;
    }
    #darts dl.darts dd ul li img.pic2 {
        top      : 110px;
        left     : 90px;
        max-width: 60px;
    }
    #darts dl.darts dd ul li img.pic4 { margin-bottom: 60px; }
    #darts dl.darts dd ul li img.pic5 {
        top      : 165px;
        left     : 28px;
        transform: rotate(10deg);
        width    : 130px;
    }
    #darts dl.darts dd ul li img.pic6 {
        transform: rotate(-5deg);
        top      : 250px;
        left     : 70px;
        width    : 120px;
    }
    #darts dl.darts dd ul li img.pic7 {
        transform: rotate(-8deg);
        top      : 248px;
        left     : 47px;
        width    : 120px;
    }
    #darts dl.darts dd ul li img.pic8 {
        transform: rotate(-4deg);
        top: 154px;
        left: 12px;
    }
    #darts dl.darts dd ul li img.pic9 {
        top: 260px;
        left: 46px;
    }
    
    
    #darts dl.darts dd ul li:nth-of-type(4) ul.darts_contents { padding-left: 170px; }
    
    dl.setting dd.recommend.condor a {
        top  : -637px;
        right: 130px;
    }
    
    dl.setting dd.recommend.barrel a {
        top  : -350px;
        right: 170px;
    }
    
    dl.setting dd.recommend.tip a {
        top  : -180px;
        right: 140px;
    }
    #darts img.dartsImg  { float: none; }
}
@media (max-width: 991px) {
    #darts dl.darts dd ul.darts_contents li   { margin: 3px; }
    #darts dl.darts dd ul.darts_contents li a {
        background-size: 150px;
        width          : 150px;
        height         : 39px;
        padding        : 12px 0 0;
    }
    #darts img.dartsImg,
    #darts img.formImg,
    #darts img.boardImg,
    #darts img.gameImg,
    #darts img.machineImg,
    #darts img.woodImg {
        display: block;
        margin : auto;
        float  : none;
    }
    #darts img.machineImg,
    #darts img.formImg,
    #darts img.boardImg,
    #darts img.gameImg {
        max-width    : 100%;
        height       : auto;
    }
    #darts img.woodImg {
        max-width    : 50%;
        height       : auto;
    }
    #darts img.woodImg {
        transform    : rotate( 90deg );
        margin-top   : -60px;
        margin-bottom: -40px;
    }
    #darts img.machineImg { margin-bottom: 20px; }
    
    dl.dartsdetail.setting,
    dl.dartsdetail.throw,
    dl.dartsdetail.play,
    dl.dartsdetail.rule { width: 100%; }
}

/* ===== TiTOの歴史 ===== */
ul.history_list {
    margin:30px;
    padding:0;
}
ul.history_list li {
    margin:0 0 50px 0;
}
ul.history_list li:after {
    content: "";
    display: block;
    clear:both;
}

ul.history_list li h3 {
    border: solid 6px;
    border-image: url(../img/bg/check_yellow.gif) 6 round;
    padding:15px;
    text-align:center;
    margin-bottom: 15px;
    font-weight:bold;
}
ul.history_list li figure {
    float:right;
    margin-left:20px;
    position:relative;
}
ul.history_list li figure figcaption {
    position:absolute;
    bottom:0;
    color:#FFF;
    background:rgba(0,0,0,0.60);
    width: 100%;
    padding: 5px 10px;
    font-size: 11px;
}

ul.history_list li a.history_link {
    display:block;
    padding:14px 0 0 65px;
    background-repeat:no-repeat;
    min-height:60px;
    font-size:11px;
}
ul.history_list li a.btn_tbblog {
    background-image: url(../img/history/link_tb.png);
}
ul.history_list li a.btn_titolist {
    background-image: url(../img/history/link_tito.png);
}
ul.history_list li a.btn_dartsshop {
    background-image: url(../img/history/link_shop.png);
}
ul.history_list li a.btn_dartsshop:nth-of-type(2) {
    background-image: url(../img/history/link_dst.png);
}
ul.history_list li a.btn_trinidad {
    background-image: url(../img/history/link_trinidad.png);
}


@media (max-width: 767px) {
    ul.history_list li figure     { width     : 100%; }
    ul.history_list li figure img { width     : 100%; }
    ul.history_list li p          { margin-top: 10px; }
    ul.history_list li h3 {
        padding  : 15px 10px;
        font-size: 15px;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    ul.history_list li figure { width     : 480px; }
    ul.history_list li p      { margin-top: 10px; }
}
@media (max-width: 991px) {
    ul.history_list li figure {
        float : none;
        margin: 0 auto;
    }
}

/* ===== 会社概要 ===== */
dl.felixbox {
	background: url(../img/ico/felix_logo.png) no-repeat 10px 0px;
    padding:30px 0 30px 200px;
    margin:0 auto 20px auto;
    display:table;
}
dl.felixbox dt {
    margin:0 0 10px 0;
}
dl.felixbox dd {
    line-height:2;
}

table.outline {
    margin:0 auto 30px auto;
}
table.outline tr {
    border-bottom:solid 1px #F2E725;
}
table.outline th {
    padding:15px 80px;
    text-align:center;
}
table.outline td {
    padding:15px 40px;
}

@media (max-width: 767px) {
    dl.felixbox {
        background-size    : 80px;
        padding            : 0 0 0 100px;
        margin             : 0 0 20px 3%;
        background-position: left top;
    }
    dl.felixbox h3 { font-size: 16px; }
    
    div.box_br  {
        padding     : 30px 20px;
        margin-left : 10px;
        margin-right: 10px;
    }
}
@media (max-width: 991px) {
    table.outline th {
        padding: 0;
        width  : 70px;
    }
}

/* ===== 採用情報 ===== */
img.recimg_left {
    float:left;
    margin:0 30px 30px 0;
}
table.rectable {
    float:left;
    width:470px;
    margin:0 0 30px 0;
}
table.rectable tr {
    border-bottom: solid 1px #F2E725;
}
table.rectable th {
    white-space:nowrap;
    padding:6px;
    vertical-align: top;
}
table.rectable td {
    padding:6px;
}
table.rectable td p {
    margin:0;
}
dl.rec_msg {
    clear:both;
    background:rgba(255, 255, 178, 1);
    padding:40px;
    border-radius:20px;
}
dl.rec_msg dt {
	background: url(../img/recruit/ico_msg.png) no-repeat;
    padding: 23px 0 30px 80px;
    font-size: 24px;
    font-weight: normal;
    margin: -10px 0 0 0;
}
dl.rec_msg dd {
    overflow:hidden;
}
img.recimg_right {
    float:right;
    margin:0 0 30px 30px;
}

p.btn_entry a {
    display:block;
    width:800px;
    height:90px;
	background: url(../img/recruit/btn_entry.png) no-repeat;
    text-indent:-99999px;
}
body:not(.smartdevice) p.btn_entry a:hover {
    filter:alpha(opacity=90);
    -moz-opacity: 0.9;
    opacity: 0.9;
}

@media (max-width: 767px) {
    p.btn_entry a {
        /*
        width          : 400px;
        max-height     : 45px;
        background-size: 400px;
        margin         : 0 auto;
        */
        width          : inherit;
        max-height     : 70px;
        background-size: 100%;
        margin         : 0 auto;
    }
    dl.rec_msg    { padding: 15px; }
    dl.rec_msg dt {
        background-size: 50px;
        padding        : 19px 0 20px 50px;
        font-size      : 14px;
    }
    img.recimg_right {
        float  : none;
        display: block;
        margin : 0 auto 20px;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    p.btn_entry a {
        width          : 590px;
        max-height     : 66px;
        background-size: 590px;
    }
}
@media (max-width: 991px) {
    img.recimg_left {
        float  : none;
        display: block;
        margin : 0 auto 30px auto;
    }
    table.rectable {
        float : none;
        width : inherit;
        margin: 0 auto 30px auto;
    }
}

/* ===== プライバシーポリシー・ご利用規約 ===== */
ol.policy {
    padding:20px 60px;
}
ol.policy>li {
    margin:0 0 40px 0;
}
ol.policy>li h3 {
    font-size:16px;
}
ol.policy>li ul li {
    text-indent: -17px;
    margin-bottom:10px;
}
ol.policy>li ul li:before {
    content: "■";
    color: #F2E725;
    margin-right:5px;
}

ol.policy>li dl {
    margin:10px;
}
ol.policy>li dl dt {
    border:solid 2px #F2E725;
    padding: 5px 8px;
    display: inline-block;
    margin:10px 0 5px 0;
}
ol.policy>li dl dd {
    margin:0 0 5px 10px;
}


/* ===== リンク ===== */
#links ul.linklist {
	margin: 0 -25px 0 0;
	padding: 0;
    overflow:hidden;
}
#links ul.linklist>li {
	float: left;
	width: 250px;
	margin: 0px 24px 25px 0;
	padding: 10px;
	border: #CCC 1px solid;
	font-size: inherit;
	min-height: 250px;/* display: list-item; */
}
#links ul.linklist>li:nth-of-type(3n+1) {
    clear:both;
}
#links ul.linklist li img {
	margin: 0 0 5px 0;
	display: block;
}
#links ul.linklist li p {
	margin: 0 0 5px 0;
}
#links ul.linklist li p.name {
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 1px;
	margin: 0 0 5px 0;
	padding: 0;
}
#links ul.linklist li.tw,
#links ul.linklist li.fb {
	font-size: 12px;
	margin: 2px 0;
    /*display: inline-block;*/
}
#links ul.linklist li.tw a,
#links ul.linklist li.fb a {
	padding: 2px 0 2px 20px;
	color: #06C;
}
#links ul.linklist li.tw a {
	background: url(../img/ico/ico_x_16.png) 0 2px no-repeat;
}
#links ul.linklist li.fb a {
	background: url(../img/ico/ico_facebook_16.png) 0 2px no-repeat;
}
#links ul.linklist ul.linksub {
    padding:2px 0;
}

a.link_ico {
	background: url(../img/ico/ico_link.png) top left no-repeat;
    padding-left:20px;
}
a.link_ico[target="_blank"] {
	background: url(../img/ico/ico_link_b.png) top left no-repeat;
}

#links ul.bloglist {
	margin: 0 -5px 10px 0;
    padding:0;
	overflow: hidden;
}
#links ul.bloglist li {
	float: left;
	padding: 0;
	margin: 0 5px 5px 0;
}
#links ul.bloglist li img {
    display:block;
	width: 145px;
}
#links ul.bloglist.mini li {
}
#links ul.bloglist.mini li img {
    display:block;
	width: 68px;
}

#links div.fb-page {
    width:500px;
    margin:0 auto;
    display: block;
    min-height: 224px;    
}

@media (max-width: 767px) {
    #links iframe.facebook {
        width : 100%;
        height: 350px;
    }
    #links ul.linklist    { width: 100%; }
    #links ul.linklist>li {
        float     : none;
        margin    : 0 0 5px 0;
        padding   : 5px;
        border    : 1px solid #ccc;
        width     : 100%;
        min-height: inherit;
    }
    #links ul.linklist li.tw, #links ul.linklist li.fb {
        /*float       : left;*/
        /*margin-right: 5px;*/
    }
    /*
    #links ul.linklist ul.linksub:after {
        content: "";
        display: block;
        clear: both;
    }
    */
    #links div.fb-page {
        width:100%;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    #links iframe.facebook {
        width : 590px;
        height: 285px;
    }
    #links ul.linklist         { width : 590px; }
    #links ul.linklist>li      { margin: 0px 10px 25px 25px; }
    #links ul.linklist>li:nth-of-type(3n+1) { clear:none; }
    #links ul.linklist>li:nth-of-type(2n+1) { clear:both; }
    #links ul.bloglist.mini    { width : 590px; }
    #links ul.bloglist.mini li { margin: 0 0 5px 5px; }
    #links ul.bloglist         { width : 590px; }
    #links ul.bloglist li      { margin: 0 2px 2px 0; }
}


/* ===== ダーツ部 ===== */
#club #introduction {
    color   : #764d2d;
    position: relative;
}
#club #introduction h3 {
    text-align     : center;
    font-size      : 40px;
    line-height    : 1.3;
    margin-bottom  : 40px;
    background     : url(../img/club/top.jpg) no-repeat;
    height         : 500px;
}
#club #introduction h3 p {
    position        : absolute;
    top             : 0;
    left            : 0;
    width           : 100%;
    height          : 110px;
    background-color: rgba(118, 77, 45, 0.58);
    color           : #fff;
    text-shadow     : 3px 3px 7px #000;
    font-weight     : bold;
}
#club #introduction h3 p span { font-size: 27px; }

#club #introduction .descBlock {
    border       : 1px solid #764d2d;
    margin-bottom: 70px;
    padding      : 10px;
}
#club #introduction .descBlock h4 {
    background-color: #764d2d;
    color           : #fff;
    font-size       : 25px;
    text-align      : center;
    padding         : 13px;
    margin-top      : 0;
}
#club #introduction .descBlock .aboutClub,
#club #introduction .descBlock .aboutJoin {
    margin    : 40px auto;
    font-size : 23px;
}
#club #introduction .descBlock .aboutClub>p {
    width : 690px;
    margin: auto;
}
#club #introduction .descBlock .aboutClub span.aboutClubDesc {
    font-size : 17px;
    display   : block;
    text-align: left;
}
#club #introduction .descBlock .aboutClub .row {
    margin          : 45px 10px 0;
    padding-top     : 30px;
    background-color: #eae4df;
}
#club #introduction .descBlock .aboutClub div.aboutLeft p span { display: block; }

#club #introduction .descBlock .aboutClub div.aboutLeft p span:nth-of-type(1) {
    font-size  : 23px;
    font-weight: bold;
}
#club #introduction .descBlock .aboutClub div.aboutLeft p span:nth-of-type(3) {
    background-color: #764d2d;
    color           : #fff;
    width           : 230px;
    padding         : 10px;
    margin          : 5px auto;
    font-size       : 27px;
    border-radius   : 17px;
}
#club #introduction .descBlock .aboutClub div.aboutRight p      { font-size: 100px; }
#club #introduction .descBlock .aboutClub div.aboutRight p span { font-size: 55px; }

#club #introduction .descBlock .aboutClub div.aboutRight p:after {
    content  : "（税込）";
    position : absolute;
    top      : 33px;
    right    : 55px;
    font-size: 20px;
}
#club #introduction .descBlock .aboutClub div.aboutBottom { font-size: 17px; }

#club #introduction .descBlock ul.merit {
    margin : 0 auto 50px;
    padding: 0 20px;
}
#club #introduction .descBlock ul.merit:after {
    content: "";
    display: block;
    clear  : both;
}
#club #introduction .descBlock ul.merit li {
    position  : relative;
    width     : 400px;
    min-height: 465px;
    margin-top: 40px;
    border    : 1px solid #764d2d;
    border-top: none;
    padding   : 10px;
}
#club #introduction .descBlock ul.merit li:before {
    position        : absolute;
    width           : 100%;
    left            : 0;
    top             : 0;
    text-align      : center;
    font-size       : 22px;
    font-weight     : bold;
    background-color: rgba(118, 77, 45, 0.15);
    padding-top     : 5px;
    
    border-top      : 4px solid #764d2d;
    border-bottom   : 1px solid #764d2d;
    
    /*
    border-top      : 1px solid #764d2d;
    border-bottom   : 1px solid #764d2d;
    border-left     : 35px solid #764d2d;
    border-right    : 35px solid #764d2d;
    */
}
#club #introduction .descBlock ul.merit li:nth-of-type(1) { float: left; }
#club #introduction .descBlock ul.merit li:nth-of-type(2) { float: right; }
#club #introduction .descBlock ul.merit li:nth-of-type(3) {
    clear: both;
    float: left;
}
#club #introduction .descBlock ul.merit li:nth-of-type(4) { float: right; }
#club #introduction .descBlock ul.merit li:nth-of-type(5) {
    clear: both;
    float: left;
}
#club #introduction .descBlock ul.merit li:nth-of-type(1):before { content: "メリット１"; }
#club #introduction .descBlock ul.merit li:nth-of-type(2):before { content: "メリット２"; }
#club #introduction .descBlock ul.merit li:nth-of-type(3):before { content: "メリット３"; }
#club #introduction .descBlock ul.merit li:nth-of-type(4):before { content: "メリット４"; }
#club #introduction .descBlock ul.merit li:nth-of-type(5):before { content: "メリット５"; }

#club #introduction .descBlock ul.merit li strong {
    font-size : 16px;
    display   : block;
    text-align: center;
    margin-top: 35px;
    padding   : 15px 0 20px;
}
#club #introduction .descBlock ul.merit li img {
    display  : block;
    width    : 100%;
    max-width: 400px;
    margin   : 0 auto 30px;
}
#club #introduction .descBlock .link_to_shoplist {
    display         : block;
    width           : 150px;
    height          : 50px;
    background-color: #764d2d;
    color           : #fff;
    font-size       : 20px;
    text-align      : center;
    line-height     : 2.6;
    text-decoration : none;
    border-radius   : 15px;
    margin          : 0 auto 40px;
}
#club #introduction .descBlock .link_to_shoplist:hover { opacity: 0.9; }

@media (max-width: 767px) {
    #club #introduction h3 {
        background-size: 100%;
        font-size      : 20px;
        height         : 0;
        padding-bottom : 55%;
        line-height    : 1.0;
        margin-bottom  : 30px;
    }
    #club #introduction h3 p span { font-size: 13px; }
    
    #club #introduction h3 p { height: 43px; }
    
    #club #introduction .descBlock {
        margin-bottom: 30px;
        padding      : 0;
    }
    #club #introduction .descBlock h4 {
        font-size: 18px;
        padding  : 7px;
    }
    #club #introduction .descBlock .aboutClub,
    #club #introduction .descBlock .aboutJoin {
        font-size: 13px;
        margin   : 20px auto;
    }
    #club #introduction .descBlock .aboutClub>p { width: 100%; }
    
    #club #introduction .descBlock .aboutClub span.aboutClubDesc {
        font-size: 11px;
        padding  : 5px;
    }
    #club #introduction .descBlock .aboutClub .row {
        padding-top   : 15px;
        padding-bottom: 5px;
        margin-top    : 20px;
    }
    #club #introduction .descBlock .aboutClub div.aboutLeft p span:nth-of-type(1) { font-size: 16px; }
    #club #introduction .descBlock .aboutClub div.aboutLeft p span:nth-of-type(2) { font-size: 16px; }
    #club #introduction .descBlock .aboutClub div.aboutLeft p span:nth-of-type(3) {
        width    : 170px;
        padding  : 5px;
        font-size: 16px;
    }
    #club #introduction .descBlock .aboutClub div.aboutRight {
        text-align: center;
        width     : 220px;
        position  : relative;
        margin    : auto;
    }
    #club #introduction .descBlock .aboutClub div.aboutRight p      { font-size: 50px; }
    #club #introduction .descBlock .aboutClub div.aboutRight p span { font-size: 25px; }
    
    #club #introduction .descBlock .aboutClub div.aboutRight p:after {
        top      : 17px;
        right    : 10px;
        font-size: 11px;
    }
    #club #introduction .descBlock .aboutClub div.aboutBottom { font-size: 11px; }
    
    #club #introduction .descBlock ul.merit {
        padding: 0;
    }
    #club #introduction .descBlock ul.merit li {
        float: none !important;
        margin: 20px auto 0;
        width     : 97%;
        min-height: 0;
        padding   : 5px 5px 20px;
        font-size : 11px;
    }
    
    #club #introduction .descBlock ul.merit li:before { font-size: 14px; }
    
    #club #introduction .descBlock ul.merit li strong {
        font-size     : 12px;
        margin-top    : 20px;
        padding-bottom: 10px;
    }
    #club #introduction .descBlock ul.merit li img { margin-bottom: 20px; }
    
    #club #introduction .descBlock .link_to_shoplist { margin-bottom: 30px }
}
@media (min-width: 768px) and (max-width: 991px) {
    #club #introduction h3 {
        background-size: 100%;
        font-size      : 35px;
        height         : 383px;
        line-height    : 1.2;
    }
    #club #introduction h3 p span { font-size: 22px; }
    
    #club #introduction h3 p { height: 90px; }
    
    #club #introduction .descBlock { margin-bottom: 50px; }
    
    #club #introduction .descBlock .aboutClub div.aboutRight { text-align: center; }
    
    #club #introduction .descBlock .aboutClub div.aboutRight p:after { right: 136px; }
    
    #club #introduction .descBlock .aboutClub>p { width: 660px; }
    
    #club #introduction .descBlock .aboutClub span.aboutClubDesc { font-size: 16px; }
    
    #club #introduction .descBlock .aboutClub .row { padding-top: 15px; }
    
    #club #introduction .descBlock .aboutClub div.aboutLeft p span:nth-of-type(1) { font-size: 20px; }
    #club #introduction .descBlock .aboutClub div.aboutLeft p span:nth-of-type(2) { font-size: 20px; }
    #club #introduction .descBlock .aboutClub div.aboutLeft p span:nth-of-type(3) {
        width    : 200px;
        padding  : 5px;
        font-size: 24px;
    }
    #club #introduction .descBlock .aboutClub div.aboutRight p      { font-size: 80px; }
    #club #introduction .descBlock .aboutClub div.aboutRight p span { font-size: 45px; }
    
    #club #introduction .descBlock .aboutClub div.aboutRight p:after {
        top      : 27px;
        right    : 174px;
        font-size: 16px;
    }
    #club #introduction .descBlock .aboutClub div.aboutBottom { font-size: 15px; }
    
    #club #introduction .descBlock ul.merit {
        padding: 0;
    }
    #club #introduction .descBlock ul.merit li {
        width     : 325px;
        min-height: 420px;
        padding   : 5px;
        font-size : 12px;
    }
    
    #club #introduction .descBlock ul.merit li:before { font-size: 17px; }
    
    #club #introduction .descBlock ul.merit li strong { font-size: 13px; }
}


/* ===== SNS ===== */
body#sns ul.shops {
    padding-left: 0;
    text-align: center;
    margin-top: 50px;
}
body#sns ul.shops>li { border-bottom: 1px solid #eee; }

body#sns ul.shops li:last-child { border: none; }

body#sns ul.shops li ul.snsList { padding-left: 0; }

body#sns ul.shops li ul.snsList li {
    display: inline-block;
    margin: 20px 10px 50px;
}
body#sns ul.shops li ul.snsList li.facebook a  { background: url("../img/sns/ico_fb.png") center no-repeat; }
body#sns ul.shops li ul.snsList li.twitter  a  { background: url("../img/sns/ico_tw.png") center no-repeat; }
body#sns ul.shops li ul.snsList li.x  a        { background: url("../img/sns/ico_x.png") center no-repeat; }
body#sns ul.shops li ul.snsList li.instagram a { background: url("../img/sns/ico_insta.png") center no-repeat; }

body#sns ul.shops li ul.snsList li a:after {
    text-indent: 0;
    position: absolute;
    bottom: -15px;
    letter-spacing: 0;
}
body#sns ul.shops li ul.snsList li.facebook a:after  { content: "Facebook";  left: -5px; }
body#sns ul.shops li ul.snsList li.twitter a:after   { content: "Twitter";   left: 3px; }
body#sns ul.shops li ul.snsList li.x a:after         { content: "X";         left: 21px; }
body#sns ul.shops li ul.snsList li.instagram a:after { content: "Instagram"; left: -7px; }


body#sns ul.shops li ul.snsList li a {
    display: block;
    width: 50px;
    height: 50px;
    background-size: 50px !important;
    text-indent: -9999px;
    position: relative;
}

@media (max-width: 767px) {
    body#sns ul.shops li h3 { font-size: 16px; }
}
@media (min-width: 768px) and (max-width: 991px) {
}


/* ===== 全国旅行支援 地域クーポン券 ===== */
#information .coupon h4 {
    text-align: center;
    background: #000000;
    color: #FFF;
    font-weight: bold;
    padding: 8px;
}
#information .coupon dl.couponlist {
    padding: 20px 20px 0;
    display: flex;
    flex-wrap: wrap;
}
#information .coupon dl.couponlist dt {
    width: 25%;
    text-align: center;
    border: 1px solid;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
}
#information .coupon dl.couponlist dd {
    width: 75%;
    margin-bottom: 30px;
    font-size: 100%;
    padding: 20px 10px;
}
#information .coupon dl.couponlist dd ul {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}
#information .coupon dl.couponlist dd ul li {
    white-space: nowrap;
    padding: 2px 8px;
}





/* ============================
  Inquiry Page（お問い合わせ）
============================ */
h3.inquiry {
    width        : 90%;
    font-size    : 14pt;
    padding      : 10px 5px 10px 10px;
    margin-left  : auto;
    margin-right : auto;
    border-left  : 8px solid #000;
    border-bottom: 1px dotted #000;
    font-weight  : bold;
    background   : #ff0;
}
h3.inquiry span { font-size: 13px; }
div.inquiry form#form1 {
    width : 90%;
    margin: 20px auto;
}
div.inquiry form#form1 table th {
    vertical-align  : middle;
    text-align      : center;
    width           : 200px;
    background-color: #FFF;
    background-image: -webkit-linear-gradient(-45deg, #FFFF00 25%, transparent 25%, transparent 50%, #FFFF00 50%, #F2E725 75%, transparent 75%, transparent);
    background-image: linear-gradient(0deg, #FFFF00 25%, transparent 25%, transparent 50%, #FFFF00 50%, #FFFF00 75%, transparent 75%, transparent);
    background-size : 4px 4px;
    text-shadow     : 1px 1px 2px rgba(0,0,0,.3);
}
div.inquiry form#form1 table td { color: #000; }

div.inquiry form#form1 dl.checkList dt:nth-of-type(4) { margin-bottom: 20px; }
div.inquiry form#form1 dl.checkList dd { margin-bottom: 20px; }
div.inquiry ul.btnList {
    text-align: center;
    list-style: none;
    padding   : 0;
}
div.inquiry ul.btnList li { display: inline-block; }
div.inquiry ul.btnList a.btn-cnf,
div.inquiry ul.btnList a.btn-end {
    background: #ff0;
    color     : #000;
}
body:not(.smartdevice) div.inquiry ul.btnList a.btn-cnf:hover,
body:not(.smartdevice) div.inquiry ul.btnList a.btn-end:hover,
body:not(.smartdevice) div.inquiry ul.btnList a.btn-back:hover {
    background : #000;
    color      : #ff0;
    /* box-shadow : 0px 0px 10px 2px #ff0; */
}
div.inquiry ul.btnList a.btn-back {
    background: #a94442;
    color     : #fff;
}
div.inquiry ul.btnList a.btn-cnf,
div.inquiry ul.btnList a.btn-end,
div.inquiry ul.btnList a.btn-back {
    padding           : 25px 50px;
    font-size         : 150%;
    font-weight       : bold;
    border-radius     : 15px;
    box-shadow        : 0px 0px 10px rgba(0,0,0,0.7);
    -webkit-transition: 0.5s;
    -moz-transition   : 0.5s;
    -o-transition     : 0.5s;
    -ms-transition    : 0.5s;
    transition        : 0.5s;
    text-decoration   : none;
}
div.inquiry table.cnfTable {
    width : 90%;
    margin: 20px auto;
}
div.inquiry table.cnfTable th {
    text-align      : center;
    vertical-align  : middle;
    color           : #000;
    width           : 200px;
    background-color: #FFF;
    background-image: -webkit-linear-gradient(-45deg, #FFFF00 25%, transparent 25%, transparent 50%, #FFFF00 50%, #FFFF00 75%, transparent 75%, transparent);
    background-image: linear-gradient(0deg, #FFFF00 25%, transparent 25%, transparent 50%, #FFFF00 50%, #FFFF00 75%, transparent 75%, transparent);
    background-size : 4px 4px;
    text-shadow     : 1px 1px 2px rgba(0,0,0,.3);
}
div.inquiry ul.linkList {
    text-align  : center;
    margin-top  : 25px;
    padding-left: 0;
}
div.inquiry ul.linkList li {
    display  : inline;
    padding  : 30px;
    font-size: 17px;
}

@media (max-width: 767px) {
    h3.inquiry                      { width: 100%; }
    div.inquiry form#form1          { width: 100%; }
    div.inquiry form#form1 table th { width: 125px; }
    div.inquiry table.cnfTable      { width: 100%; }
    div.inquiry table.cnfTable th   { width: 125px; }
    div.inquiry ul.linkList li {
       display: list-item;
       padding: 0;
    }
    
    #inquiry div.row:nth-of-type(1) {
        margin-left : 0;
        margin-right: 0;
    }
    #inquiry div.row p:nth-of-type(1) {
        margin-left : 10px;
        margin-right: 10px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
   div.inquiry form#form1 { width: 80%; }
   div.inquiry table.cnfTable      {
       width: 70%;
       margin-left : auto;
       margin-right: auto;
   }
    div.inquiry ul.linkList li {
        display: list-item;
        padding: 0;
    }
}


/* ============================
  Entry Page（求人応募）
============================ */
h3.entry {
    font-size    : 14pt;
    padding      : 10px 5px 10px 10px;
    margin-left  : auto;
    margin-right : auto;
    border-left  : 8px solid #000;
    border-bottom: 1px dotted #000;
    font-weight  : bold;
    background   : #ff0;
}
h3.entry.cnf { width: 90%; }

div.entry table {
    width : 75%;
    margin: 0 auto 30px;
}
div.entry table caption {
    background   : #ff0;
    border       : 1px solid #ccc;
    border-bottom: none;
    text-align   : center;
    color        : #000;
    font-weight  : bold;
    font-size    : 15px;
}

div.entry form#form1 {
    width : 90%;
    margin: 0 auto;
}
div.entry form#form1 table {
    width : 82%;
    margin: 20px auto;
}
div.entry table th,
div.entry form#form1 table th {
    vertical-align  : middle;
    text-align      : center;
    width           : 200px;
    background-color: #FFF;
    background-image: -webkit-linear-gradient(-45deg, #FFFF00 25%, transparent 25%, transparent 50%, #FFFF00 50%, #FFFF00 75%, transparent 75%, transparent);
    background-image: linear-gradient(0deg, #FFFF00 25%, transparent 25%, transparent 50%, #FFFF00 50%, #FFFF00 75%, transparent 75%, transparent);
    background-size : 4px 4px;
    text-shadow     : 1px 1px 2px rgba(0,0,0,.3);
}
div.entry table td,
div.entry form#form1 table td { vertical-align: middle; }

div.entry form#form1 input,
div.entry form#form1 select { display: inline; }
div.entry form#form1 input[name=name_a],
div.entry form#form1 input[name=name_b],
div.entry form#form1 input[name=ruby_a],
div.entry form#form1 input[name=ruby_b] {
    width: 45%;
}
div.entry form#form1 input[name=name_b],
div.entry form#form1 input[name=ruby_b] {
    margin-left: 5%;
}
div.entry form#form1 select[name=birth_year],
div.entry form#form1 select[name=birth_month],
div.entry form#form1 select[name=birth_day],
div.entry form#form1 select[name=pref] {
    width: 25%;
}
div.entry form#form1 input[name=mail_a],
div.entry form#form1 input[name=mail_b],
div.entry form#form1 select[name=situation],
div.entry form#form1 select[name=jobCategory],
div.entry form#form1 select[name=hopeTime],
div.entry form#form1 select[name=employStatus_a],
div.entry form#form1 select[name=employStatus_b],
div.entry form#form1 select[name=employStatus_c] {
    width: 70%;
}
div.entry form#form1 select[name=company_a_start_year],
div.entry form#form1 select[name=company_a_end_year],
div.entry form#form1 select[name=company_b_start_year],
div.entry form#form1 select[name=company_b_end_year],
div.entry form#form1 select[name=company_c_start_year],
div.entry form#form1 select[name=company_c_end_year] {
    width: 20%;
}
div.entry form#form1 select[name=company_a_start_month],
div.entry form#form1 select[name=company_a_end_month],
div.entry form#form1 select[name=company_b_start_month],
div.entry form#form1 select[name=company_b_end_month],
div.entry form#form1 select[name=company_c_start_month],
div.entry form#form1 select[name=company_c_end_month] {
    width: 15%;
}

div.entry ul.btnList {
    text-align: center;
    list-style: none;
    padding   : 0;
}
div.entry ul.btnList li { display: inline-block; }

div.entry ul.btnList a.btn-cnf,
div.entry ul.btnList a.btn-end {
    background: #ff0;
    color     : #000;
}
div.entry ul.btnList a.btn-back {
    background: #a94442;
    color     : #fff;
}
div.entry ul.btnList a.btn-cnf,
div.entry ul.btnList a.btn-end,
div.entry ul.btnList a.btn-back {
    padding           : 25px 50px;
    font-size         : 150%;
    font-weight       : bold;
    border-radius     : 15px;
    box-shadow        : 0px 0px 10px rgba(0,0,0,0.7);
    -webkit-transition: 0.5s;
    -moz-transition   : 0.5s;
    -o-transition     : 0.5s;
    -ms-transition    : 0.5s;
    transition        : 0.5s;
    text-decoration   : none;
}
body:not(.smartdevice) div.entry ul.btnList a.btn-cnf:hover,
body:not(.smartdevice) div.entry ul.btnList a.btn-end:hover,
body:not(.smartdevice) div.entry ul.btnList a.btn-back:hover {
    background: #000;
    color     : #ff0;
    /* box-shadow: 0px 0px 10px 2px #ff0; */
}
div.entry ul.linkList {
    text-align  : center;
    margin-top  : 25px;
    padding-left: 0;
}
div.entry ul.linkList li {
    display  : inline;
    padding  : 30px;
    font-size: 17px;
}

@media (max-width: 767px) {
    h3.entry.cnf                  { width: 100%; }
    div.entry table               { width: 100%; }
    div.entry table th            { width: 125px; }
    div.entry form#form1          { width: 100%; }
    div.entry form#form1 table    { width: 100%; }
    div.entry form#form1 table th { width: 125px; }
    
    #entry div.row p:nth-of-type(1) {
        margin-left: 10px;
        margin-right: 10px;
    }
    #entry div.row { margin-right: 0; }
}

@media (min-width: 768px) and (max-width: 991px) {
    div.entry form#form1 table    { width: 90%; }
    div.entry form#form1 table th { width: 125px; }
}


/* ===== お支払い方法 ===== */
#payment ul.paymentlist {
	margin: 0 -25px 0 0;
	padding: 0;
    overflow:hidden;
}
#payment ul.paymentlist>li {
	float: left;
	width: 250px;
	margin: 0px 25px 25px 0;
	padding: 10px;
	border: #CCC 1px solid;
	font-size: inherit;
}
#payment ul.paymentlist>li:nth-of-type(3n+1) {
    clear:both;
}
#payment ul.paymentlist li img {
	margin: 0 auto 5px;
	display: block;
}
#payment ul.paymentlist li h4 {
    text-align: center;
    font-size: 12px;
}

@media (max-width: 767px) {
    #payment ul.paymentlist    { width: 100%; }
    #payment ul.paymentlist>li {
        float     : none;
        margin    : 0 0 5px 0;
        padding   : 5px;
        width     : 100%;
        min-height: inherit;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    #payment ul.paymentlist         { width : 590px; }
    #payment ul.paymentlist>li      { margin: 0px 10px 25px 25px; }
    #payment ul.paymentlist>li:nth-of-type(3n+1) { clear:none; }
    #payment ul.paymentlist>li:nth-of-type(2n+1) { clear:both; }
}



/* ============================
  404
============================ */

#fnf404 ul.links {
    margin:40px;
}
#fnf404 ul.links li {
    margin-bottom:5px;
}
#fnf404 ul.links li a {
    display:inline-block;
    background: url(../img/darts/ico_bull.png) no-repeat;
    padding: 6px 0 15px 42px;
    margin-left: -30px;
    font-size: 16px;
}
dl.bull_kun {
    margin:-100px 0 0 360px;
    padding:20px 20px 20px 185px;
	background: url(../img/ico/bull_ani.gif) no-repeat;
    min-height: 220px;
}
dl.bull_kun dt {
    display: block;
    padding: 25px 0 10px 0;
}
dl.bull_kun dt span {
    font-size:120%;
    font-weight:bold;
}
dl.bull_kun dd {
    position:relative;
	padding: 15px 35px;
	min-width: 115px;
	line-height: 30px;
	color: #004A9C;
	background: #F6F6F6;
	border: 3px solid #004A9C;
	z-index: 0;
    border-radius: 7px;
    -moz-border-radius: 7px;
    -webkit-border-radius: 7px;
}
dl.bull_kun dd:before {
	content: "";
	position: absolute;
	top: 50%; left: -14px;
	margin-top: -9px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 9px 20px 9px 0;
	border-color: transparent #F6F6F6 transparent transparent;
	z-index: 0;
}
dl.bull_kun dd:after {
	content: "";
	position: absolute;
	top: 50%; left: -20px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 20px 10px 0;
	border-color: transparent #004A9C transparent transparent;
	z-index: -1;
}
dl.bull_kun dd a {
    display:block;
    font-size:18px;
    font-weight:bold;
}
body:not(.smartdevice) dl.bull_kun dd a:hover {
    color:#C90003;
}

@media (min-width: 768px) and (max-width: 991px) {
    dl.bull_kun {
        margin:0 0 0 155px;
    }
}
@media (max-width: 767px) {
    #fnf404 ul.links {
        margin:30px 20px;
    }
    dl.bull_kun {
        margin:0 0 0 0;
        background-size: 32%;
        padding: 0px 20px 20px 33%;
    }
    dl.bull_kun dd {
        padding: 6% 8%;
        line-height:1.5;
    }
}








