@charset "UTF-8";
/*
	汎用セレクタ
*/
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.left{
	float: left
}
.right{
	float: right;
}
.clearfix:after{
	content: "";
	display: block;
	clear: both;
	height: 0;
	overflow: hidden;
}
.center{
	text-align: center;
}
.none{
	display: none;
}

.rad{color:#de2f3f;}

.wid800{width: 800px; margin: 0 auto;}
.wid980{width: 980px; margin: 0 auto;}
.wid1400{width: 1400px; margin: 0 auto;}

.mb15{margin-bottom:15px; }
.mb20{margin-bottom:20px; }
.mb60{margin-bottom:60px; }
.mb80{margin-bottom:80px; }


.mt20{margin-top:20px; }
.mt25{margin-top:25px; }
.mt30{margin-top:30px; }
.mt40{margin-top:40px; }
.mt50{margin-top:50px; }
.mt60{margin-top:60px; }

.pt25 { padding-top:25px; }
.pt30 { padding-top:30px; }

.pb60{padding-bottom:60px; }

.bold { font-weight:bold;}

.f12 { font-size:12px;}

.indent1 { padding-left:1em; text-indent:-1em;}

/* ------------------------------------------------------
	body
 ------------------------------------------------------*/
body{
	font-family:"メイリオ",Meiryo,"ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,san-serif;
	font-size: 15px;
	line-height: 1.7;
	/*min-width:980px;
	max-width:1400px;
  */
  min-width:980px;
}
dt, dd{ display:inline-block;}
dl{
	letter-spacing: -0.4em;
}
dt,dd{
	letter-spacing: normal;
}

/* ------------------------------------------------------
	header
 ------------------------------------------------------*/
header{
	background: #000;
	padding:0 20px;
}
/* ------------------------------------------------------
 SNS Button pop head / footer
------------------------------------------------------ */
#socialBtnH, #socialBtnF{
 	height:30px;
	padding:25px 0;
}
#socialBtnH:before, #socialBtnF:before{
	content: url(../images/hshare_01.png);
	float: right;
	width: 58px;
	position: relative;
	top: 0;
	left: -103px;
}
#socialBtnH ul, #socialBtnF ul {
	width: 83px;
	height: 26px;
	list-style: none;
	position: relative;
	margin:0px auto;
}
#socialBtnH ul li, #socialBtnF ul li {
	top: 0px;
	position: absolute;
}
#socialBtnH ul .snsF, #socialBtnF ul .snsF {
	left: 0px;
}
#socialBtnH ul .snsT {
	left: 31px;
}
#socialBtnH ul .snsI {
	left: 66px;
}
#socialBtnH ul li .iconSns, #socialBtnF ul li .iconSns{
	text-align: left;
}
#socialBtnH ul li .iconSns a, #socialBtnF ul li .iconSns a{
	height: 26px;
	background: url(../images/hshare.png) no-repeat;
	font-size: 0px;
	line-height: 0;
	text-indent: -9999px;
	display: block;
	cursor:pointer;
}
#socialBtnH ul .snsF .iconSns a {
  	width:8px;
	background-position: 0px 0px;
}
#socialBtnH ul .snsF .iconSns a:hover {
	background-position: 0px bottom;
}
#socialBtnH ul .snsT .iconSns a {
 	width:17px;
	background-position: -31px 0px;
}
#socialBtnH ul .snsT .iconSns a:hover {
	background-position: -31px bottom;
}
#socialBtnH ul .snsI .iconSns a {
  	width:17px;
	background-position: -66px 0px;
}
#socialBtnH ul .snsI .iconSns a:hover {
	background-position: -66px bottom;
}
#socialBtnH ul li .popSns,#socialBtnF ul li .popSns{
  position:relative;
	margin: 0px 0px 0px -85px;
	padding: 5px 0;
	height: 46px; width:190px;
	text-align: center;
/*	overflow: hidden;*/
	display: none;
  z-index:1;
}
#socialBtnH ul .snsF .popSns {
	background: url(../images/bg_sns_h.png?update=16100501) no-repeat;
	margin-left: -92px;
}

#socialBtnH ul .snsT .popSns {
	background: url(../images/bg_sns_h_tw.png?update=16100501) no-repeat;
	margin-left: -123px;
}


#socialBtnH ul li .popSnsIn,#socialBtnF ul li .popSnsIn {
	margin: 0px auto;
	width: 100px;
	padding-top: 12px;
	text-align: center;
	display: block;
}

/* ------------------------------------------------------
	mainvisual
 ------------------------------------------------------*/
.mainvisual{
	position: relative;
	background: url(../images/mainvisual.jpg) no-repeat 50% 0 ,#000;
	min-width: 980px;
	height: 650px;
}
.mainvisual span{
  display:block;
  text-indent:-9999px;
}
.mainvisual .notes{
  font-size:12px;
	color: #fff;
	position: absolute;
	left: 20px;
	bottom:20px;
}

.mainvisual .banner{
	position: absolute;
	right: 20px;
	bottom:20px;
}

.closetxt {
	background:#000;
    padding: 40px 0;
    color: #fff;
    font-size: 24px;
    text-align: center;
}

/* ------------------------------------------------------
	about
 ------------------------------------------------------*/
.about_bg{
	background: url(../images/about_bgimg.jpg) no-repeat 50% 0,#790f1a;
  background-size:cover;
}
.about{
	padding: 100px 0 60px;
}
.tcenter{
	margin: 40px 0;
	color:#fff;
	font-size: 18px;/*PSD修正があるため再度調整すること*/
}
.photo{
  width:100%;
  max-width:1420px;
	margin:30px auto 0;
	height: 298px;
	overflow: hidden;
	position: relative;
}
.photo ul{
	width: 1420px;
  margin:auto;
}
.photo .bxslider li{
	float: left;
	/*padding-right: 25px;*/
  padding:0 0 38px;
}
.photo .bxslider li:nth-child(5n){
	/*padding-right: 0;	*/
}

.photo .bxslider img {
  box-shadow:0px 15px 25px 0px rgba(99,1,21,0.2);
  -moz-box-shadow:0px 23px 25px 0px rgba(99,1,21,0.2);
  -webkit-box-shadow:0px 23px 25px 0px rgba(99,1,21,0.2);
}

.bx-controls a { display:block; position: absolute; top:100px; width:61px; height:60px; background-position:0 0; background-repeat:no-repeat;}
.bx-controls a:hover { background-position:0 bottom;}

.bx-next { left: 0px; background:url(../images/arrow_left.png);}
.bx-prev { right: 0px; background-image:url(../images/arrow_right.png);}



/* ------------------------------------------------------
	present
 ------------------------------------------------------*/
.present_bg{
	background: url(../images/present_bgimg.jpg) no-repeat 50% 0;
	background-size: cover;
	background-attachment: fixed;
}
.present{
	padding-top: 100px;
	position: relative;
}
.present:before{
	content: url(../images/bg_img01.png);
	width: 124px;
	height: 130px;
	position: absolute;
	top: 100px;
	left:-130px;
}

.present_wrap{
	background: url(../images/bg_img02a.png) no-repeat 50% 0;
	background-position: bottom;
}
.present ul{
	width: 980px;
	padding: 35px 50px 0;
}
.present li{
	display: inline-block;
	width:390px; 
	padding-bottom: 100px;
}
.present li:nth-child(2n){
	padding-left: 100px;
}

/* ------------------------------------------------------
	step
 ------------------------------------------------------*/
.step_bg{
	background: url(../images/step_bgimg.jpg) repeat-x;
  height: 1294px;
}
#tab{
	padding:100px 0;
	position: relative;
}
#tab:before{
	content: url(../images/bg_img03.png);
	width: 264px;
	height: 139px;
	position: absolute;
	top:32px;
	right: 37px;
}
#tab:after{
	content: url(../images/bg_img04.png);
	width: 198px;
	height: 136px;
	position: absolute;
	left: -161px;
	bottom: 62px;
}
#tab a{
	display: inline-block;
}
.tabArea,.step_box dl{
	width: 980px;
	letter-spacing: -0.4em
}
.tabArea ,.step_box dl{
	border-bottom: solid 1px #d2d5d7;
}
.tabArea{
	height: 93px;
}
.tabArea li{
	display: inline-block;
}
.tabArea li a span{
	display: none;
}
.tabArea li a{
	width: 490px;
	height: 93px;
	background-position: left bottom;
	background-repeat: no-repeat;
}
.instagram a{
	background-image: url(../images/step01_tab.png);
}
.twitter a{
	background-image: url(../images/step02_tab.png);
}
.tabArea li.select a{
	background-position: left top;
}
.tabArea a:hover{
	background-position: left -93px;
}
.step_box{
	padding: 100px 40px 50px;
	background: rgba(255,255,255,0.8);
}
.step_box dl{
	width: 900px;
}
.step_box dt, .step_box dd{
	vertical-align: middle;
}
.step_box dt{
	width: 312px;
  float:left;
}
.step_box dd{
	width: 548px;
	padding-left: 40px;
}

.step_box .shadow img {
  box-shadow:0px 15px 30px 0px #a4a6a7;
  -moz-box-shadow:0px 15px 30px 0px #a4a6a7;
  -webkit-box-shadow:0px 15px 30px 0px #a4a6a7;
}

.ctextbox{
	width: 548px;
	padding:25px 48px;
	background: #ad3a51;
	box-sizing: border-box;
	color: #fff;
  font-size:13px;
  line-height:1.5;
  border:none;
  resize: none;
  outline:none;
}

/* ------------------------------------------------------
	ambass
 ------------------------------------------------------*/
.ambass_bg{
	background: url(../images/about_bgimg.jpg) no-repeat 50% ,#790f1a;
}
.ambass{
	padding:80px 0;
}
.ambass .left {
	width: 272px;
	padding-right:50px;
}
.ambass .right{
	width:478px;
	color: #fff;
}
.ambass .right>p{
	padding: 10px 0;
}
.ambass .shadow img {
  box-shadow:0px 23px 35px 0px #7f221b;
  -moz-box-shadow:0px 23px 35px 0px #7f221b;
  -webkit-box-shadow:0px 23px 35px 0px #7f221b;
}

/* ------------------------------------------------------
	campaign
 ------------------------------------------------------*/
.campaign_bg{
	background: url(../images/campaign_bgimg.jpg) no-repeat ;
	background-size: cover;
	background-attachment: fixed;
}
.campaign{
	padding: 100px 0;
}
.campaign p{
	color: #fff;
}
.campaign .left{
	padding-right: 100px;
	border-right: solid 1px #666666; 
}
/* ------------------------------------------------------
	outline
 ------------------------------------------------------*/
.outline_bg{
  position:relative;
	background: url(../images/outline_bgimg.jpg) no-repeat 50% ,#eaebeb;
	background-size: cover;
	min-width: 980px;
}
.outline{
	padding: 100px 0;
	position: relative;
}
.outline:before{
	content: url(../images/bg_img05.png);
	width: 262px;
	height: 247px;
	position: absolute;
	top: 66px;
	left: -268px;
}
.outline_bg02{
	background: url(../images/bg_img06.png) center 0 no-repeat;
	width: 100%;
	height: 414px;
	position: absolute;
  left:0;
  right:0;
	bottom:0;
  margin:auto;
}
.outline h2{
	margin-bottom: 	30px;
}
.outline dl{
	border-bottom:solid 1px #d2d5d7;
	box-sizing: border-box;
	padding: 30px 0;
	font-size: 15px;
	line-height: 1.4;
}
.outline dl:first-of-type{
	border-top:solid 1px #d2d5d7;
}
.outline dt{
  float:left;
	width: 9.5em;
	font-weight: bold;
	vertical-align: top;
}
.outline dd{
	width:550px;
}
.outline dd ul li{
	list-style-type: disc; 
  margin-left:1em;
}
.outline dd ol li{
}
.outline li{
	padding-bottom: 1em;
}
.outline li:last-child{
	padding-bottom: 0;
}
.outline ol li a{
	color: #de2f3f;
}
.textbox{
	width: 800px;
	height: 270px;
	padding: 40px;
	box-sizing: border-box;
	border: solid 1px #bebebf; 
	overflow: auto;
	background: rgba(255,255,255,0.5);
}
.textbox >h3{
	margin-top: 2em; 
}

.outline .attention {
  display:inline-block;
  font-size:14px;
  line-height:1.5;
  text-align:left;
}

/* ------------------------------------------------------
	btn_top
 ------------------------------------------------------*/
.btn_top{
	position: fixed;
	right:  20px;
	bottom: 30px;
}
/* ------------------------------------------------------
	footer
 ------------------------------------------------------*/
footer{
	background: #000;
	text-align: center;
	color: #fff;
	padding-bottom: 100px;
}

footer #footer_bnr {
  padding:50px 0;
  text-align:center;
	border-bottom: solid 1px #222222;
}
footer .copy{
	border-top: solid 1px #222222;
	padding-top:20px;
}
/* ------------------------------------------------------
 	SNS Button pop footer変更点
 ------------------------------------------------------*/
#socialBtnF{
 	height:22px;
 	padding: 50px 0;
}
#socialBtnF:before{
	content: url(../images/fshare_01.png);
	width: 75px;
	left: -517px;
}
#socialBtnF ul {
	width: 101px;
	height: 22px;
	margin: 0 492px;
}
#socialBtnF ul .snsT {
	left: 37px;
}
#socialBtnF ul .snsI {
	left: 80px;
}
#socialBtnF ul li .iconSns a{
	height: 22px;
	background: url(../images/fshare.png) no-repeat;
}
#socialBtnF ul .snsF .iconSns a {
  	width:9px;
	background-position: 0px 0px;
}
#socialBtnF ul .snsF .iconSns a:hover {
	background-position: 0px bottom;
}
#socialBtnF ul .snsT .iconSns a {
 	width:22px;
	background-position: -37px 0px;
}
#socialBtnF ul .snsT .iconSns a:hover {
	background-position: -37px bottom;
}
#socialBtnF ul .snsI .iconSns a {
  	width:20px;
	background-position: -80px 0px;
}
#socialBtnF ul .snsI .iconSns a:hover {
	background-position: -80px bottom;
}
#socialBtnF ul li .popSns{ 
	margin: 0px 0px 15px -94px;
	padding: 5px 10px;
	height: 46px; width:210px;
	background: url(../images/bg_sns_f.png) no-repeat;
}
#socialBtnF ul .snsF .popSns {
	margin-left: -95px;
}
#socialBtnF ul li .popSnsIn {
	width: 103px;
	padding-top: 4px;
}