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

a,
img{
  transition: all 0.3s ease 0s;
}
a{
	text-decoration: none;
}

.pc_visible{
  display: block !important;
}
.smp_visible{
  display: none !important;
}

.m-column{
   font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ ゴシック", sans-serif;
  font-weight: 500;
}

/* レイアウト */



.l-contents h2{
	color: #a40035;
	font-size: 35px;
	font-weight: 600;
	text-align: center;
}
.ttl_box{
  display: block;
  float: left;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
  width: 100%;
}
.main_box{
  display: block;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  text-align: center;
  width: 100%;
}
.main_box img{
  display: block;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
.main_box_moji{
  color: #a40035;
  display: block;
  float: left;
  font-size: 20px;
  line-height: 1.8em;
  overflow: hidden;
  position: absolute;
  text-align: center;
  top: 40px;
  width: 100%;
}

.main_box_moji h1{
  display: block;
  overflow: hidden;
  font-size: 58px;
  font-weight: bold;
  margin: 10px 0;
  color: #a40035;
  line-height: 1.2em;
}

.main_box_moji2{
  color: #a40035;
  display: block;
  float: left;
  font-size: 20px;
  line-height: 1.8em;
  overflow: hidden;
  position: absolute;
  text-align: center;
  top: 220px;
  width: 100%;
  font-weight: bold;
}

.content{
	margin: 0 0 60px;
}

.con1{
  display: block;
  overflow: hidden;
  width: 100%;
  text-align: center;
  color: #666;
}
.con1 ul {
  display: block;
  overflow: hidden;
  width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.con1 ul li{
  display: inline-block;
  overflow: hidden;
  margin: 5px;
  width: 400px;
  background-color: #a40035;
  color: #fff;
  text-align: center;
  font-size: 20px;
  border-radius: 10px;    /* CSS3草案 */
  -webkit-border-radius: 10px;  /* Safari,Google Chrome用 */
  -moz-border-radius: 10px;   /* Firefox用 */
  transition: .3s;
}
.con1 ul li:first-of-type{
  background-color: #a7824c;
}
.con1 ul li a{
  color: #fff;
  display: block;
  padding: 20px 0;
  text-decoration: none;
}

.con1 ul li a::after{
    backface-visibility: hidden;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    content: "";
    display: inline-block;
    height: 18px;
    margin-left: 20px;
    position: relative;
    top: -6px;
    transform: rotate(135deg);
    transition: all 0.2s linear 0s;
    vertical-align: middle;
    width: 18px;
}



.con1 ul li img{
  width: 100%;
}

.con1 > a{
  display: inline-block;
  font-size: 20px;
  margin: 10px 0;
  text-align: center;
}
.con1 > a span::after{
  backface-visibility: hidden;
  border-right: 1px solid #999;
  border-top: 1px solid #999;
  content: "";
  display: inline-block;
  height: 16px;
  margin-left: 20px;
  position: relative;
  top: -6px;
  transform: rotate(135deg);
  transition: all 0.2s linear 0s;
  vertical-align: middle;
  width: 16px;
}
.con1 > a{
  display: inline-block;
}
.con1 > a::after{
  background: #ccc;
  content: "";
  display: block;
  height: 1px;
  opacity: 0;
  transition: .3s;
  width: 100%;
}

/* con3 */
.con3{
  display: block;
  overflow: hidden;
  width: 100%;
  text-align: center;
  margin: 0 0 50px 0;
  color: #666;
  font-size: 14px;
}

.cp_area{
	border-top: 1px solid #ccc;
	margin: 20px auto 0;
	padding: 30px 0 0;
  text-align: left;
	width: 930px;
}
.con3 nav{
}
.con3 nav ul{
	margin: 0 auto;
	overflow: hidden;
	width: 930px;
}
.con3 nav ul li{
	box-sizing: border-box;
	float: left;
	list-style: none;
	margin: 0 20px 0 0;
	width: 170px;
}
.con3 nav a{
	background: #aaa;
	color: #fff;
	display: block;
	font-size: 13px;
	padding: 10px 0;
}
.con3 nav ul li:last-of-type{
	margin-right: 0;
}
.con3 nav ul li:last-of-type a{
	background: #666;
}
.con3 nav a::after{
  backface-visibility: hidden;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  content: "";
  display: inline-block;
  height: 6px;
  margin-left: 3px;
  position: relative;
  top: -1px;
  transform: rotate(40deg) skew(-10deg, 0deg);
  transition: all 0.2s linear 0s;
  vertical-align: middle;
  width: 6px;
}
.con3 nav + hr{
	margin: 0 auto;
	overflow: hidden;
	margin: 24px auto 0;
	width: 930px;
}




/* con4 */
.con4{
	color: #666;
  display: block;
	font-size: 14px;
  margin: 0 0 50px 0;
	padding: 0;
  overflow: hidden;
  text-align: center;
  width: 100%;
  background-color: #fff;
}

.con4 h2+p{
	color: #a40035;
	font-size: 12px;
}

.con4 > section{
	background-color: #f1eae1;
	margin: 30px 0 40px;
  padding: 30px 0 0;
  overflow: hidden;
  text-align: center;
  width: 100%;
}

.con4 h3{
	color: #333;
	font-size: 28px;
	font-weight: 600;
}
.con4 h3+p{
	color: #333;
	font-size: 12px;
}
.con4 ul{
	margin: 0 auto;
	overflow: hidden;
	padding: 10px 0 25px;
	width: 810px;
}
.con4 ul li{
	background: #fff;
	box-sizing: border-box;
	border: 2px solid #e3d6c4;
	float: left;
	list-style: none;
	margin: 0 30px 25px 0;
	width: 250px;
}
@media screen and (min-width: 641px) {
.con4 ul li:nth-of-type(3n){
	margin-right: 0;
}
}

.con4 ul li a{
	display: block;
	height:100%;
}
.con4 ul li a img{
	display: inline-block;
	margin: 10px 0 0;
	width: 90%;
}
.con4 ul li a img+img{
margin: 0;
	width: 60%;
}
.con4 ul li a div{
	background: #fff;
	box-sizing: border-box;
	padding: 0 0 10px;
}
.con4 b.item-name{
	color: #333;
	display: block;
	font-size: 14px;
	margin: 12px 0 0;
	text-align: center;
}
.con4 span.sub{
	box-sizing: border-box;
	color: #333;
	display: block;
	font-size: 12px;
	padding: 0 5px;
	text-align: center;
}

.con4 > section ul li{
	height: 152px;
}
.con4 > ul li{
	background: #e3d6c4;
	height: 370px;
}


.con6{
  display: block;
  overflow: hidden;
  width: 100%;
  text-align: center;
  padding: 0 0 80px;
  margin: 0 auto;
}

.con6 h2{
  display: block;
  overflow: hidden;
  margin: 0;
  font-size: 30px;
  font-weight: lighter;
  color: #333333;
  line-height: 50px;
}







.campaign_lp_wrap{
  padding-bottom: 50px;
}
.campaign_lp_detail{
  width:930px;
  background: #FFF;
border-bottom:1px solid #CCC;
line-height:1.6em;
letter-spacing: 0.2px;
  padding: 20px 0px ;
  margin: 20px auto;
}

.campaign_lp_title h2{
  color: #333;
  padding-bottom: 30px;
  padding-left: 5px;
  font-size: 192%;
  line-height:1.5em;
  font-weight: normal;
  text-align: left;
}

.campaign_lp_left{
float: left;
width: 420px;
}
.campaign_lp_right{
float: right;
width: 460px;
}
.campaign_lp_left img{width:100%;max-width:420px;}
.campaign_lp_right p,.campaign_lp_right div{padding: 20px;}
div.campaign_lp_subtext{
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
padding: 15px 20px;
font-size: 11px;
line-height: 1.7em;
}
.campaign_lp_right strong{
  background-color: #eee;
  padding: 5px 20px;
  color: #333;
  display: block;
}

.campaign_lp_right div ul, .campaign_lp_right div ol{
margin-left:  20px;
font-size: 11px;
}

.campaign_lp_link a{
  margin-bottom:10px;
}
.con3 .campaign_lp_link{
  display: none;
}
.campaign_lp_left_off{
  width: 420px;
  height: 350px;
  float: left;
}
.campaign_lp_left_off img{
  position: relative;
  filter:alpha(opacity=30); /* IE 6,7*/
    -ms-filter: "alpha(opacity=30)"; /* IE 8,9 */
    -moz-opacity:0.3; /* FF , Netscape */
    -khtml-opacity: 0.3; /* Safari 1.x */
  opacity:0.3;
  zoom:1; /*IE*/
}
.campaign_lp_left_off img:not(:target){
  filter: none¥9;
    -ms-filter: none¥9;
}
.campaign_lp_fincp{
  display: block;
  font-size: 16px;
  overflow: hidden;
  padding: 165px 0;
  position: relative;
  text-align: center;
  top: -350px;
  font-weight: bold;
  letter-spacing: 0.5em;
  width: 420px;
  opacity: 0.7;
}
.campaign_lp_detail p a:hover{
  color: #3e3e3e;
  text-decoration: none;
}
.campaign_lp_detail .li-square{
  list-style-type: square !important;
}

.campaign_lp_close{
  display: none;
}
/* キャンペーンレイアウト */






.close{
  border-color: #f0e9e1!important;
}
.close a{
  cursor: default;
  display: block;
  background: #f0e9e1;
}
.close a img{
  opacity: .2;
}
.close a span.sub{
  display: none;
}

.close a::after{
  box-sizing: border-box;
	color: #333;
  content: "終了しました";
	display: block;
	font-size: 16px;
	padding: 0 5px;
	text-align: center;
  width: 100%;
}
.con4 > section .close a{
  position: relative;
}
.con4 > section .close a::after{
  position: absolute;
  top: 66px;
}



/*-----------------------------*/
/*-----------------------------*/
/*----------↓ HOVER ↓----------*/
/*-----------------------------*/
/*-----------------------------*/
@media screen and (min-width: 641px) {
.con1 ul li:hover{
  opacity: .5;
}
.con1 > a:hover::after{
  opacity: 1;
}
nav ul li a:hover{
  text-decoration: none;
  opacity: .5;
}
.con4 ul li a:hover{
  text-decoration: none;
  opacity: .5;
}
.con4 ul li.close a:hover{
  opacity: 1;
}


}



/*-----------------------------*/
/*-----------------------------*/
/*-----------↓ SMP ↓-----------*/
/*-----------------------------*/
/*-----------------------------*/
@media screen and (max-width: 640px) {
/* 表示領域が640px未満の場合に適用するスタイル */
  .pc_visible{
  display: none !important;
}
  .smp_visible{
  display: block !important;
}

.main_box img{
  width: 100%;
}


.l-contents h2{
	color: #a40035;
	font-size: 8vw;
	font-weight: 600;
  line-height: 1.2em;
	text-align: center;
}
.ttl_box{
  display: block;
  float: none;
  margin: 0 auto;
  width: 100%;
}
.main_box{
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  text-align: center;
  width: 100%;
}
.main_box img{
  display: block;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
.main_box_moji{
  display: none;
}

.main_box_moji2{
  float: none;
  font-size: 4vw;
  margin: 5vw 0 0;
  position: static;
  width: 100%;
}

.content{
	margin: 0 0 60px;
}

/* SMP con1 */
.con1{
  display: block;
  overflow: hidden;
  width: 100%;
}
.con1 ul {
  display: block;
  overflow: hidden;
  width: 100%;
  margin: 10vw auto 0;
  text-align: center;
}

.con1 ul li{
  display: block;
  float: left;
  overflow: hidden;
  margin: 0 4%;
  width: 44%;
  background-color: #a40035;
  color: #fff;
  padding: 0;
  text-align: center;
  font-size: 5vw;
  border-radius: 10px;    /* CSS3草案 */
  -webkit-border-radius: 10px;  /* Safari,Google Chrome用 */
  -moz-border-radius: 10px;   /* Firefox用 */
}
.con1 ul li:first-of-type{
  background-color: #a7824c;
  margin: 0 0 0 4%;
}
.con1 ul li a{
  color: #fff;
  text-decoration: none;
}

.con1 ul li a::after {
    backface-visibility: hidden;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    content: "";
    display: block;
    height: 4vw;
    margin: 2vw auto 0;
    position: relative;
    top: -6px;
    transform: rotate(135deg);
    transition: all 0.2s linear 0s;
    vertical-align: middle;
    width: 4vw;
}

.con1 ul li img{
  width: 100%;
}



.con1 > a{
  margin: 5vw 0;
}
.con1 > a span::after{
  backface-visibility: hidden;
  border-right: 1px solid #999;
  border-top: 1px solid #999;
  content: "";
  display: inline-block;
  height: 16px;
  margin-left: 20px;
  position: relative;
  top: -6px;
  transform: rotate(135deg);
  transition: all 0.2s linear 0s;
  vertical-align: middle;
  width: 16px;
}
.con1 > a{
  display: inline-block;
}
.con1 > a::after{
  display: none;
}



/* SMP con3 */
.con3{
  margin: 0 0 50px;
}

.cp_area{
	border-top: 1px solid #ccc;
	margin: 20px auto 0;
	padding: 30px 0 0;
  text-align: left;
	width: 100%;
}
.con3 nav{
  margin-top: -5vw;
}
.con3 nav ul{
	margin: 11vw auto 0;
	width: 100%;
}
.con3 nav ul li{
  border-radius: 6px;
	float: left;
	list-style: none;
	margin: 0 2% 2vw 4%;
	width: 45%;
}
.con3 nav ul li:nth-of-type(2n){
  margin: 0 0 2vw 0;
}
.con3 nav a{
	color: #fff;
	display: block;
	font-size: 3vw;
	padding: 10px 0;
}
.con3 nav ul li:last-of-type{
	background: #666;
  width: 92%;
}
.con3 nav a::after{
  height: 1.5vw;
  width: 1.5vw;
}
.con3 nav + hr{
	margin: 0 auto;
	overflow: hidden;
	margin: 5vw auto 0;
	width: 100%;
}




/* SMP con4 */
.con4{
	color: #666;
  margin: 0 0 50px;
	padding: 0;
  width: 100%;
}

.con4 h2+p{
  box-sizing: border-box;
	font-size: 3vw;
  padding: 0 4%;
  margin: 1vw 0 0;
}

.con4 > section{
	margin: 8vw 0 3vw;
  padding: 8vw 0 0;
  width: 100%;
}

.con4 h3{
	font-size: 6.5vw;
}
.con4 h3+p{
	font-size: 4vw;
}
.con4 ul{
	margin: 0 auto;
	padding: 8vw 0 8vw;
	width: 100%;
}

.con4 ul li{
  box-sizing: border-box;
	margin: 0 2% 2vw 4%;
	width: 45%;
}
.con4 ul li:nth-of-type(2n){
	margin: 0 0 2vw 0;
}

.con4 ul li a img{
	margin: 2vw 0 0;
	width: 90%;
}
.con4 ul li a img+img{
  margin: 0;
	width: 60%;
}
.con4 ul li a div{
	padding: 0 0 10px;
}
.con4 b.item-name{
	font-size: 4.2vw;
	margin: 2vw 0 0;
}
.con4 span.sub{
	font-size: 3.2vw;
	padding: 0 1vw;
}
.close a::after{
	font-size: 3.2vw;
	padding: 0 5px;
}
.con4 > section ul li{
	height: 30vw;
}
.con4 > ul li{
	background: #e3d6c4;
	height: 78vw;
}


/* smp */
.con6{
  display: block;
  overflow: hidden;
  width: 90%;
  text-align: center;
  padding: 0 0 80px;
  margin: 0 auto;
}

.con6 h2{
  display: block;
  overflow: hidden;
  margin: 0;
  font-size: 30px;
  font-weight: lighter;
  color: #333333;
  line-height: 50px;
}




.con4 > section .close a::after{
  font-size: 4vw;
  position: absolute;
  top: 12.5vw;
}


/* smp キャンペーンレイアウト */
@media screen and (max-width: 640px) {
/* 表示領域が640px未満の場合に適用するスタイル */

.campaign_lp_detail,.mfp-content>.campaign_lp_detail{
  width:90%!important;
  position:relative;
  padding: 0 3% ;
}

.campaign_lp_left{
  margin-bottom: 20px;
  text-align: center;
  width:100%;
  float:none;
}
.campaign_lp_right{
  width:100%;
  float:none;
}
.campaign_lp_right p,
.campaign_lp_right div{padding: 10px ;}

.campaign_lp_title h2{
  color: #555;
  padding-bottom: 3vw;
  padding-left: 5px;
  font-size: 5vw;
  line-height:1.6em;
  font-weight: 600;
  text-align: left;
}

.campaign_lp_left_off{
  height: 80vw;
}
.campaign_lp_fincp {
  display: block;
  font-size: 16px;
  overflow: hidden;
  padding: 38vw 0;
  position: relative;
  text-align: center;
  top: -78vw;
  width: 100%;
}

}
/*-----------------------------*/
/*-----------------------------*/
/*-----------------------------*/
/*-----------------------------*/
