@charset "utf-8";
/* ===================================================================
//CSS information

// file name  :  common.css
// style info :  スタイル指定
=================================================================== */
.selfLink { pointer-events: none; cursor: default;}

.content { background: #fff;}
.grayBg {
    background: url(../../../img/elements/bg.jpg) center top #f2f2f2 no-repeat;
    background-size: 100%;
}
.content .mainV { margin-bottom: 45px;}

.content h3 { position: relative; margin-bottom: 25px; font-size: 36px; line-height:48px; font-weight: bold;}
.content h3.goldTtl { color: #b58f29; font-weight: normal; letter-spacing: 0.2em; word-wrap: break-word;}
.content h3 span { font-size: 14px; line-height:21px; display: block; padding: 2px 0 0 0;}
.content > h4 { font-size: 3em; margin-bottom: 30px; line-height:1.4;}
.content > h4.redCopy { font-size: 3em; color: #4b0103; line-height: 1.6; margin-bottom: 60px;}
.content div h4 { font-size: 3em; margin-bottom: 10px;}
.content h4+p { margin-bottom: 40px;}
.content h4+p .caution { font-size: 0.7em;}

figure { position: relative; display: inline-block; vertical-align: text-bottom;}
figure figcaption { position: absolute; right: 0; bottom: 0; background: rgba(0,0,0,.5); color: #fff; padding: 4px 5px 3px;}

@media only screen and (max-width: 991px) {
body:not(.toppage):not(.special) .content > *:not(footer) { padding: 0 15px;}
body.special .content > *:not(footer) { padding: 0 15px;}
}
@media only screen and (max-width: 768px) {
.content > h4,
.content > p { text-align: left;}
.content > h4 br,
.content > p br{ display: none;}
}
@media only screen and (max-width: 479px) {
.content > h4 { font-size: 2.8em!important;}
}

/* contentsBtn
----------------------------------------------------------------------*/
#contentsBtn { padding: 40px 0; border-bottom: #ddd 1px solid;}
#contentsBtn h4 { font-size: 2em; margin-bottom: 40px; line-height: 0;}
#contentsBtn ul { max-width: 960px; margin: 0 auto;}
#contentsBtn ul li { background: #000; display: inline-block; width: 20%; position: relative; overflow: hidden; vertical-align: top;}
#contentsBtn ul li p { position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); color: #fff; z-index: 10;}
#contentsBtn ul li p span.en { display: block; line-height: 1.2; font-size: 1.35em; font-weight: bold;}
#contentsBtn ul li p span.jp { display: block; line-height: 1.8; font-size: .9em; font-weight: bold;}
#contentsBtn ul li a img { -webkit-transition: all .5s; transition: all .5s; opacity: .5;}
#contentsBtn ul li a.selfLink img { opacity: 1;}
#contentsBtn ul li:hover a:not(.selfLink) img { transform: scale(1.3); opacity: 1;}
body.toppage #contentsBtn { background: #e6e6e1;}

@media only screen and (max-width: 991px) {
#contentsBtn ul { text-align: left;}
#contentsBtn ul li { width: 25%; text-align: center;}
}
@media only screen and (max-width: 768px) {
#contentsBtn { padding: 40px 0 0;}
#contentsBtn ul li { width: 50%;}
}
@media only screen and (max-width: 479px) {
#contentsBtn ul li p span.en { font-size: 1.2em;}
}

/* localnav
----------------------------------------------------------------------*/
#localnav { background: #e6e6e1; padding: 40px 10px;}
#localnav h4 { margin-bottom: 20px;}
#localnav a { color: #000;}
#localnav > div { margin-bottom: 20px; font-size: 1.4em;}
#localnav > div a {}
#localnav > div .nolink { color: #999;}
#localnav ul { max-width: 960px; margin: 0 auto;}
#localnav ul li { display: inline-block; vertical-align: top; background: #fff; width: 24.0625%; text-align: left;}
#localnav ul li+li { margin-left: 1.25%;}
#localnav ul li a { display: block; font-size: 1.6em; line-height: 1.2; border: #fff 1px solid;}
#localnav ul li a.selfLink { border: #4a0002 1px solid;}
#localnav ul li a span { display: block; padding: 0 10px 10px;}
#localnav ul li a span.en { padding-top: 10px;}
#localnav ul li a span:not(.en) { letter-spacing: .08em;}
#localnav ul li a figure { overflow: hidden;}
#localnav ul li a figure img { -webkit-transition: all .5s; transition: all .5s;}
#localnav ul li a:not(.selfLink):hover figure img { transform: scale(1.3); opacity: .8;}

@media only screen and (max-width: 991px) {
#localnav ul li a span { font-size: .9em;}
#localnav ul li a span br { display: none;}
}
@media only screen and (max-width: 768px) {
#localnav ul { text-align: left;}
#localnav ul li { width: 49%; margin-bottom: 10px;}
#localnav ul li+li { margin-left: 0;}
#localnav ul li:nth-child(even) { margin-left: 2%;}
}

/* controls
----------------------------------------------------------------------*/
#main { position: relative;}
.controls{ position:absolute; bottom: 10px; left:10px; background: #000000; font-size: 12px; padding:5px; line-height:1.2; color: #FFFFFF; cursor:pointer; text-align:center; z-index: 10;}
.mobile .controls{ display:none;}
.controls li{ transition:0.5s opacity ease-in-out 0s; display: inline-block; vertical-align: middle;}
.controls li:hover{	opacity:0.7;}
.controls li.skip,.controls li.replay { width:4em; font-size: 1.3em;}
.controls li.replay{ display:none;}
#main.videoFinished .controls li.replay{ display:inline-block;}
#main.videoFinished .controls li.skip{ display:none;}
.sound { border-left: rgba(255,255,255,.6) 1px solid; padding-left: 5px;}
.sound big { display: block;}
.sound big+span { display: none;}
.sound.active big+span { display: inline-block;}
.sound big+span+span { display: inline-block;}
.sound.active big+span+span { display: none;}
#main.videoFinished .sound { opacity: 0; width: 0px; padding: 0px; margin-right: -4px;}

/* pageTop
----------------------------------------------------------------------*/
#pageTop { position: fixed; right: 10px; bottom: 10px; padding: 0!important; z-index: 300; display: none;}

.captionWrap { position: relative; line-height: 0;}
.captionWrap span { display: block; font-weight: bold; color: #fff; position: absolute; bottom: 10px; right: 10px; line-height: 1; font-size: 1.2em; text-shadow: 0 0 5px #000; -webkit-text-shadow: 0 0 5px #000; -ms-text-shadow: 0 0 5px #000;}
.captionWrap span.txtBk { color: #000; font-size: 10px; text-shadow: none; -webkit-text-shadow: none; -ms-text-shadow: none; bottom: 5px; right: 5px;}
.captionWrap span.txtWh { color: #fff; font-size: 10px; text-shadow: none; -webkit-text-shadow: none; -ms-text-shadow: none; bottom: 5px; right: 5px;}

.captionWrap2 { position: relative; line-height: 0;}
.captionWrap2 span { display: block; font-weight: bold; color: #000; position: absolute; bottom: 10px; right: 10px; line-height: 1; font-size: 1.2em;}

.captionWrap3 { position: relative; line-height: 0;}
.captionWrap3 em { display: block; font-weight: bold; font-style: normal; position: absolute; bottom: 10px; right: 10px; line-height: 1; font-size: 1.2em; color: #000; font-size: 10px;}

@media only screen and (max-width: 991px) {
}
@media only screen and (max-width: 640px) {
    .spScroll {
        overflow-x: scroll;
        overflow-scrolling: touch;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-scrolling: touch;
        margin-right: -15px;
    }
    .spScroll::-webkit-scrollbar{ 
        width: 5px;
        height: 5px;
        margin-top: 10px;
    }
    .spScroll::-webkit-scrollbar-thumb{ 
        background: #000;
        border-radius: 10px;
    }
    .spScroll::-webkit-scrollbar-track-piece:start{
        background: #ccc;
    }
    .spScroll::-webkit-scrollbar-track-piece:end{
        background: #fff;
    }
    .spScroll span {
        display: block;
        width: 200%;
    }
    .spScroll span img {
        display: block;
        width: 100%;
    }
}
@media only screen and (max-width: 679px) {
}
@media only screen and (max-width: 479px) {
}


/* onlineForm
----------------------------------------------------------------------*/
#onlineForm { 
    position: fixed; left: 10px; bottom: 10px; padding: 0!important; z-index: 300; 
    display: none;
    border: solid 1px #fff;
    border-radius: 3px;
    box-sizing: border-box;
    width: calc(100% - 76px);
    background: #84141e; 
    padding: 20px 0 30px;
    background: rgb(73,0,2);
    background: -moz-linear-gradient(left, rgba(73,0,2,1) 0%, rgba(130,28,37,1) 50%, rgba(73,0,2,1) 100%);
    background: -webkit-linear-gradient(left, rgba(73,0,2,1) 0%,rgba(130,28,37,1) 50%,rgba(73,0,2,1) 100%);
    background: linear-gradient(to right, rgba(73,0,2,1) 0%,rgba(130,28,37,1) 50%,rgba(73,0,2,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#490002', endColorstr='#490002',GradientType=1 );
}
#onlineForm span { max-width: 224px; display: inline-block;}

@media only screen and (max-width: 991px) {
    #onlineForm { 
        display: block;
    }
}
