/* ================================
PC/MOBILE common
================================ */

html{
  height:100%;
  font-size:62.5%;
}

body{
  height:100%;
  font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, serif, sans-serif;
  font-size:1.4em;
  line-height:1.8;
  color:#fff;
}
h1,h2,h3,h4,h5{
    font-weight: normal;
}
div.snsbox li{
    line-height: 1;
    display: table-cell;
    vertical-align: middle;
    padding: 1em 0.2em;
}
footer a.btn {
    background: #eae542;
    border-radius: 5px;
    padding: 0.5em 2em 0.5em 3em;
    display: inline-block;
    font-weight: bold;
    text-align: center;
    color: #000;
    position: relative;
}
footer a.btn:before{
    content: "";
    width: 1.5em; height: 1.5em;
    background: url(../images/com_arrow-r.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    top:0; bottom: 0; left: 0.5em;
    margin: auto;
}
ul, figure{
  margin:0;
  padding:0;
  list-style:none;
}
.full {
    width: 100%;
}
.clear:after {
    content: "";
    display: block;
    clear: both;
}
a{ text-decoration:none; color: #fff; }
a:hover{ text-decoration:none; }
div#sb-site p a{ text-decoration: underline; }
a:hover img{ opacity:0.8; }
header a:hover{ color: #eae542; }
footer a:hover{ opacity: 0.9; }



/* ---------------------------------------------
Mobile
--------------------------------------------- */
@media only screen and (max-width: 768px) {

/* common --------------- */
body{
  font-family: "Gill Sans", Verdana, Roboto, "Droid Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size:1.4em;
  line-height:1.6;
  text-align: center;
}
header {
    background: #000;
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    z-index: 100;
}
header h1 {
    line-height: 1;
    padding: 1em 0; margin: 0;
    font-size: 1em;
}
header nav {
    display: none;
}
p.sb-toggle-right{
    position: absolute;
    line-height: 1;
    margin: 0;
    top: 0.5em; right: 0.5em;
}
div.sb-right li{
    border-bottom: 1px solid #666;
}
div.sb-right li a{
    display: block;
    padding: 1em;
}
div.sb-right li a:hover, div.sb-right li a:active{
    background: #640000;
}
footer {
    background: #000;
    font-size: 0.9em;
    padding-bottom: 0.5em;
}
div.snsbox ul{
     text-align: center;
     display: inline-block;
     margin: 1em auto 0;
}
.cvbtn_sp{
    background: #000;
    padding: 2em 1em;
}
.cvbtn_sp a{
    background: #ff003b;
    border-radius: 5px;
    padding: 0.5em 0.5em;
    box-sizing: border-box;
    width: 100%;
    display: block;
    font-size: 1.4em;
    font-weight: bold;
    text-align: left;
    color: #ffff00;
    position: relative;
}
.cvbtn_sp a:after {
    content: "";
    width: 1.5em; height: 1.5em;
    background: url(../images/com_arrow-w.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    top:0; bottom: 0; right: 0.5em;
    margin: auto;
}
h2 {
    margin: 0.1em 0;
}
h2 span{
    display: block;
    font-size: 0.7em;
}
div.mov{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-top: 1em;
}
div.mov iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
div.mov img{
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
figure, figcaption {
    text-align: center;
}
.cvbtn_pc, .pc{
    display: none;
}

/* toppage --------------- */

#link_demo, #link_message, #link_about, #link_news{
    margin-top: -2em;
    padding-top: 2em;
}

section#kv{
    background: url(../images/top01_kv_sp.jpg) no-repeat center top #000;
    background-size: contain;
    margin-top: 3em;
    position: relative;
    width: 100%;
    padding-top: 75%;
}
section#kv h2 img{
    width: 100%; height: auto;
    display: inline-block;
}
section#kv section{
    background: #000;
    padding: 0.1em 1em;
}
section#kv section h3{
    font-weight: bold;
    margin: 1em 0 0 0;
}
section#kv section p{
    margin-bottom: 0;
}

section#demo{
    background: url(../images/com_bg-botan-r_sp.png) repeat-y right center #a40000;
    background-size: 50%, 50%;
    padding: 1em;
}
section#message{
    background: url(../images/com_bg-botan-l_sp.png) repeat-y left center #000;
    background-size: 50%, 50%;
    padding: 1em;
}
section#message h3,section#message p{
    text-align: left;
    font-size: 1em;
}
section#message h3 {
    margin: 2em 0 0.2em;
}
section#about{
    background: #a40000;
    padding: 1em;
}
div.about_ttlset{
    display: table-cell;
    width: 70%;
    margin: 0; padding: 0;
    vertical-align: middle;
}
div.about_ttlset h2 img{
    width: 100%;
}
div.about_ttlset p{
    margin-top: 0;
}
div.about_ttlset + figure{
    display: table-cell;
    width: 30%;
    text-align: right;
    vertical-align: middle;
}
div.about_ttlset + figure img{
    width: 90%;
}
div.about_voice{
    text-align: left;
}
div.about_voice section{
    background: #640000;
    padding: 1em;
    margin-bottom: 0.5em;
    font-size: 0.9em;
}
div.about_voice section h3{
    color: #eae542;
    margin: 0;
}
div.about_voice section p{
    margin: 0;
}

div.about_package h3{
	color: #eae542;
    margin: 0;
}
div.about_package figure img{
	width:90%;
}

section#news{
    background: #c6bd46;
    padding: 1em;
}
section#news h2 {
    color: #000;
}
section#news section{
    background: #fff;
    text-align: left;
    padding: 1em;
    margin-bottom: 0.5em;
    font-size: 0.9em;
    color: #000;
}
section#news section h3{
    color: #a50010;
    margin: 0 0 0.1em;
    line-height: 1.5;
    font-weight: bold;
}
section#news section p{
    margin: 0;
}
section#news section p.news_thumb{
    float: left;
    width: 72%;
}
section#news section img{
    display: block;
    width: 25%;
    max-width: 160px;
    float: right;
}

}

/* ---------------------------------------------
Desktop
--------------------------------------------- */
@media only screen and (min-width: 769px) {

body{
  height:100%;
  font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, serif, sans-serif;
  font-size:1.4em;
  line-height:1.8;
  color:#fff;
}
header,footer{
    font-family: "Gill Sans", Verdana, Roboto, "Droid Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    background: rgba(0,0,0,0.8);
    display: block;
    width: 100%;
    padding: 0.5em 2em;
    position: fixed;
    z-index: 100;
    box-sizing: border-box;
}
header h1{
    font-size: 1.5em;
    line-height: 1;
    padding: 0; margin: 0;
    display: inline-block;
    vertical-align: middle;
}
nav {
    float: right;
    display: table-cell;
    vertical-align: middle;
    font-size: 1.2em;
}
nav ul li{
    display: inline-block;
    padding-left: 1em;
    text-align: right;
}
p.sb-toggle-right{
    display: none;
}
#sb-site{
    position: static !important;
}
footer{
    bottom:0;    font-size: 0.9em;
}
footer a.btn {
    padding: 0.2em 1em 0.2em 2em;
}
footer a.btn:before{
    content: "";
    width: 1.2em; height: 1.2em;
}
footer div.snsbox, footer div.snsbox ul, footer a.btn{
    width: auto !important;
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0;
}
footer p{
    margin: 0;
}

h2 {
    font-size: 2em;
    margin: 0;
    line-height: 1.5;
}
h2 span{
    display: block;
    font-size: 0.7em;
}
.cvbtn_pc{
    float: right;
    padding-top: 0.8em;
}
.cvbtn_pc a{
    background: #ff003b;
    border-radius: 5px;
    padding: 0.1em 0.5em 0.1em 3em;
    box-sizing: border-box;
    width: inherit;
    display: block;
    font-size: 2em;
    font-weight: bold;
    text-align: left;
    color: #ffff00;
    position: relative;
}
.cvbtn_pc a:before {
    content: "";
    width: 1.5em; height: 1.5em;
    background: url(../images/com_arrow-w.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    top:0; bottom: 0; left: 1em;
    margin: auto;
}
.cvbtn_sp, .sp{
    display: none;
}
.wrap {
    width: 1000px;
    margin: auto;
}

/* toppage --------------- */
section#kv {
    background: url(../images/top01_kv_pc.jpg) no-repeat center center #9a0009;
    position: relative;
    padding-top: 2em;
}
section#kv h2{
    position: absolute;
    bottom: 0; left: 3em;
}
section#kv section {
    padding: 100px 6em 400px;
    color: #000;
    text-shadow: 0 0 0px #fff,0 0 3px #fff,0 0 5px #fff,0 0 10px #fff,0 0 15px #fff,0 0 20px #fff,0 0 25px #fff;
}
section#kv section h3{
    font-weight: bold;
    font-size: 2em;
    line-height: 1.5em;
    margin: 0;
}
section#kv section p{
    font-size: 1.2em;
    margin: 1em 0 0;
}

section#demo,section#message,section#about,section#news{
    width: 100%;
    padding: 3em;
    box-sizing: border-box;
}
section#demo{
    background: url(../images/com_bg-botan-r_sp.png) repeat-y right center #a40000;
}
section#demo div.textset{
    float: right;
    text-align: left;
    width: 320px;
    padding-top: 7em;
}
section#demo div.mov{
    /*float: left;*/
    width: 580px; height: auto;
}
section#demo p{
    font-size: 1.2em;
}

section#message{
    background: url(../images/com_bg-botan-l_sp.png) repeat-y left center #320014;
    text-align: center;
}
section#message h2{
    padding-bottom: 1em;
}
section#message h3{
    text-align: left;
    border-bottom: 1px solid #fff;
}
section#message p{
    text-align: left;
    font-size: 0.9em;
}
section#message div.textset{
    float: left;
    width: 550px;
}
section#message figure{
    float: right;
    width: 400px; height: auto;
    padding-top: 3em;
}
section#about{
    background: #a50010;
}
section#about div.textset{
    float: right;
    width: 50%;
}
div.about_ttlset{
    display: table-cell;
    width: auto;
    margin: 0; padding: 0;
    vertical-align: middle;
    text-align: center;
}
div.about_ttlset h2 img{
    width: 100%;
    max-width: 420px;
}
div.about_ttlset p{
    margin-top: 20px;
    font-size: 1.2em;
}
div.about_ttlset + figure{
    display: table-cell;
    width: auto;
    text-align: right;
    vertical-align: middle;
}
div.about_ttlset + figure img{
    width: 100%;
    text-align: right;
    padding: 0 0 20px 20px;
    box-sizing: border-box;
}
section#about div.textset + figure{
    float: left;
    width: 50%; height: auto;
    max-width: 560px;
}
div.about_voice{
    border-top: 1px solid #fff;
}
div.about_voice section{
    padding: 1.2em 0;
    border-bottom: 1px solid #fff;
}
div.about_voice section h3{
    margin: 0;
    font-size: 1.5em;
}
div.about_voice section p{
    margin: 0;
    line-height: 1.6;
}

div.about_package{
	text-align:center;
}
div.about_package h3{
    margin: 0;
    ont-size: 1.5em;
}
div.about_package figure {
	padding-top: 3em;
}
div.about_package figure img{
	width:60%;
}

section#news{
    background: url(../images/top05_bg_pc.png) no-repeat right -50px #c6bd46;
    color: #000;
    padding-bottom: 15em;
}
section#news div.textset{
    width: 55%;
}
section#news h2{
    padding: 2.5em 0 1em;
    font-size: 2.5em;
    border-bottom: solid 1px #fff;
}
section#news section{
    padding: 1em 0;
    border-bottom: solid 1px #fff;
    position: relative;
}
section#news section h3{
    font-size: 1.5em;
    line-height: 1.5;
    margin: 0;
}
section#news section p{
    margin: 0;
    font-size: 1em;
}
section#news section.clear h3, section#news section.clear p{
    padding-right: 150px;
}
section#news section.clear img {
    display: table-cell;
    width: 120px;
    position: absolute;
    top: 1em; right: 0;
}

}

/*-------------------------------------------
tbox
-------------------------------------------*/
.tbox {position:absolute; display:none; padding:14px 17px; z-index:900}
.tinner {padding:15px; -moz-border-radius:5px; border-radius:5px; background:#fff url(images/preload.gif) no-repeat 50% 50%; border-right:1px solid #333; border-bottom:1px solid #333}
.tmask {position:absolute; display:none; top:0px; left:0px; height:100%; width:100%; background:#000; z-index:800}
.tclose {position:absolute; top:0px; right:0px; width:30px; height:30px; cursor:pointer; background:url(images/close.png) no-repeat}
.tclose:hover {background-position:0 -30px}

#error {background:#ff6969; color:#fff; text-shadow:1px 1px #cf5454; border-right:1px solid #000; border-bottom:1px solid #000; padding:0}
#error .tcontent {padding:10px 14px 11px; border:1px solid #ffb8b8; -moz-border-radius:5px; border-radius:5px}
#success {background:#2ea125; color:#fff; text-shadow:1px 1px #1b6116; border-right:1px solid #000; border-bottom:1px solid #000; padding:10; -moz-border-radius:0; border-radius:0}
#bluemask {background:#4195aa}
#frameless {padding:0}
#frameless .tclose {left:6px}
