html,body,div,span,h1, h2, h3, h4, h5, h6, p,
a,address,strong,sup,dl,dt,dd,ol,ul,li,
table,caption,tbody,tr,th,td,section,article,header,footer,form,fieldset {
    margin:0;
    padding:0;
    border:0;
    font-weight:normal;
    font-size:97%;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
body {
    background: #FFFFFF;
    font-size: 14px;
    color: #000000;
}
body.content {
    background: #E8F5E9 !important;
}
img {
    margin:2px 2px 2px 2px;
}


.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}


/****** ���b�X�^�C�� *******/
.float_l{ float:left !important;}
.float_r{ float:right !important;}
.align_l{ text-align: left !important;}
.align_r{ text-align: right !important;}
.align_c{ text-align: center !important;}

.orange{ color: #ff9a28;}
.blue{ color: #62ccff;}
.gray{ color: #666666;}
.red{ color: #ff0000;}

.bold{ font-weight: bold;}

.mr5{margin-right:5px !important;}
.mr10{margin-right: 10px !important;}
.mr15{margin-right: 15px !important;}
.mr20{margin-right: 20px !important;}
.mr30{margin-right: 30px !important;}
.mr40{margin-right: 40px !important;}
.mr50{margin-right: 50px !important;}
.mrend{margin-right: 0px !important;}

.ml5{margin-left: 5px !important;}
.ml10{margin-left: 10px !important;}
.ml15{margin-left: 15px !important;}
.ml20{margin-left: 20px !important;}
.ml30{margin-left: 30px !important;}
.ml40{margin-left: 40px !important;}
.ml50{margin-left: 50px !important;}
.mlend{margin-left: 0px !important;}

.pb0{padding-bottom: 0px !important;}
.pb5{padding-bottom: 5px !important;}
.pb10{
    padding-bottom: 10px !important;
    padding-top: 10px !important;
}
.pb15{padding-bottom: 15px !important;}
.pb20{padding-bottom: 20px !important;}
.pb30{padding-bottom: 30px !important;}
.pb40{padding-bottom: 40px !important;}


/****** �e�[�u���X�^�C�� *******/
.detail_table li {
	width: 100%;
	display: table;
}
.detail_table li.first{
}
.detail_table .title_wrap {
	display: table-cell;
	margin-top: 0;
	padding: 5px 5px 5px 10px;
	width: 85px;
	vertical-align: top;
	text-align:left;
	background:#F4FAE4;
	color:#000000;
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
}
.detail_table .qa_title_wrap {
    display: table-cell;
    margin-top: 0;
    padding: 5px 5px 5px 10px;
    width: 40px;
    vertical-align: top;
    text-align:left;
    background:#F4FAE4;
    color:#000000;
    border-top: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
}
.detail_table .event_title_wrap {
	display: table-cell;
	margin-top: 0;
	padding: 5px 5px 5px 10px;
	width: 115px;
	vertical-align: top;
	text-align:left;
	background:#F4FAE4;
	color:#000000;
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
}
.detail_table .contents_wrap {
	display: table-cell;
	padding: 5px 10px 5px 10px;
	vertical-align: top;
	text-align:left;
	background:#F9F9F9;
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
    word-break: break-all;
}
.detail_table .middle{
	vertical-align: middle;

}
.detail_table a{
	color:#543f8f;
	text-decoration:underline;
}

.main_image {
	max-width: 300px;
}
.sub_image1 {
	max-width: 150px;
}
.sub_image2 {
	max-width: 150px;
}
.csr_main_image {
	width: 95vw;
}
.csr_main_image img {
	width: 100vw;
}

/****** SNS�{�^���X�^�C�� *******/
.fb_iframe_widget {
  width: auto !important;
  display: inline-block !important;
  margin-top: 4px;
}
.sns-button li {
    display: inline-block;
    vertical-align: top;
    margin-top: 10px;
    margin-bottom: 15px;
    margin-right: 25px;
}
.sns-button li:last-child {
    margin-right: 0;
}
.sns-button-area {
    text-align: center;
}
.sns-button {
    display: inline;
}

/****** flexslider *******/
.flexslider.thumb {
    border: 1px solid #fff !important;
    margin-top: 0px;
    -webkit-box-shadow: 0 0px 0px rgba(0,0,0,.2);
}
.flexslider {
    padding: 4px;
    margin: 20px;
    margin-bottom: 10px;
    border: 1px solid #fff;
    text-align: center;
    -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2);
    overflow: hidden;
}
#slider .slides li {
    max-height: 242px;
    display:block;
    text-align: center;position: relative;
}
#slider .slides li img {
    margin: 0 auto;
    /*width: auto;*/
    max-width: 100%;
    /*max-height: 200px;*/
}
.slider-div {
    width: 100%;
    height: 242px;
    display: table;
    text-align: center;
}
.slider-p {
    margin: 0 0 0px;
    width: 100%;
    height: 242px;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
#carousel .slides li {
    width: 70px;
    height: 70px;
    background-color: #fff;
}
#carousel .slides li img {
    margin: 0 auto;
    width: 100%;
    max-width: 70px;
    max-height: auto;
}
.carousel-div {
    width: 100%;
    display: table;
    text-align: center;
}
.carousel-p {
    margin: 0 0 0px;
    width: 100%;
    height: 70px;
    display: table-cell;
    vertical-align: middle;    
}
.flex-caption {
    position: absolute;width: 100%;
    left: 0;
    bottom: 0;
    color: #000;
    /*text-shadow: 0 -1px 0 rgba(0,0,0,.3);*/
    font-size: 16px;
    height: 42px;
    text-align: center;
    /*opacity : 0.6;*/
    margin-bottom : 0px;
    background-color: rgba(244,250,228,1);
}
.flex-caption.none {    
    background-color: rgba(0,0,0,.0) !important;
}
.flex-direction-nav a {
    top: 50%;
    height: 50px;
    width: 40px;
}
.flex-direction-nav a:before {
    font-size: 20px;
    color: rgba(0, 0, 0, 0.3);
}
.flex-direction-nav .flex-prev {
  opacity: 1;
  left: 10px;
  text-align: left;
}
.flex-direction-nav .flex-next {
  opacity: 1;
  right: 10px;
}

/* カルーセルサムネイル画像の外接リサイズ */
.carousel-resize {
    display: inline-block;
    background-color: #ccc;
    background-position: top center;
    background-repeat: no-repeat;
    margin: 5px;
    width: 100%;
    height: 100%;
    border: 1px solid #ccc;
    background-size: cover;
}


/* エラー画面のスタイル */
.main.error {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
}

.row .error-container {
    width: 100%;
    text-align: center;
    position: absolute;
    font-size: 20px;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.row .error-container-top {
    width: 100%;
    text-align: center;
    position: absolute;
    font-size: 20px;
    top: 20%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.load_box{
    position:  absolute;
    width:  100%;
    text-align:  center;
    top: 50%;
    display: block;
    left:  50%;
    height: 100vh;
    transform: translateX(-50%) translateY(-50%);
    z-index: 20;
    background-color: white;
}

.load_box > p.load_text {
    position: absolute;top:50%;left: 50%;
}

.test{
    z-index: 999;
    position: absolute;
    top: 36%;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

.winner_fixation{

    margin: 20px;

}

.picture_event{

    margin: 20px;
}

.picture_mail{

    margin: 20px;
}

.picture_deadline{
    margin: 20px;
}
.picture_name{
    margin: 20px;
}

.thanks_title {
    position: relative;
    height:200px;
}

.sns-other-btn {
    background-color: #00B900;
    border: 1px solid #00B900;
    border-radius: 4px;
    color: #fff !important;
    padding:1px 10px;
    -webkit-transition: all .3s;
    transition: all .3s;   
    font-size: small; 
}
.sns-other-btn:hover {
    color: rgb(211, 211, 211);
}
.sns-other-btn i{
    margin-right: 4px;
}

.top-footer {
    position: fixed;	/* フッターを固定する */
    z-index: 20;
    bottom: 0;			/* 上部から配置の基準位置を決める */
    left: 0;			/* 左から配置の基準位置を決める */
    width: 100vw;		/* フッターの横幅を指定する */
    height: 8vh;		/* フッターの高さを指定する */
    /*padding:10px;		!* フッター内側の余白を指定する(上下左右) *!*/
    color: #141414;		/* フッターのフォントの色を指定する */
    background-color: greenyellow;	/* ヘッダーの背景色を指定する */
    /*background-image: url("cherry.PNG");!* フッターの背景画像を指定する *!*/
    /*border-top: 3px solid #ff9696; 		!* フッターの境界線（上部）を指定する *!*/
}

.app-icon-area {
    position: relative;
    z-index: 10;
    /*top: 8vh;*/
    margin-bottom: 16vh; /*フッターの高さ分*/
}

.app-icons{
    width: 8vh;
    height: 8vh;
}

.outer {
    /* display: table; */
    /* height: 10rem; */
    /* text-align: center; */
	/* position: relative; */
	box-sizing: border-box;
	display: flex;
	overflow: hidden;
	justify-content: center;
	align-items: center;
	height: 100%;
	width: 100%;
/* 
*/

}

div.inner {
    /* display: table-cell; */
    /* width: 50%; */
    /* margin: 0 auto; */
    /* vertical-align: middle; */

/* 
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 50%;
	height: 100px;
	height: 100%;

	margin: 0;
	padding: 0;
*/
}

.favorite_icon {
    color: red;
    font-size: 130%;
}

.detail_table .title_wrap_member {
	display: table-cell;
	margin-top: 0;
	padding: 5px 5px 5px 10px;
	width: 125px;
	vertical-align: top;
	text-align:left;
	background:#F4FAE4;
	color:#000000;
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
}

.detail_table .title_wrap_coupon {
	display: table-cell;
	margin-top: 0;
	padding: 5px 5px 5px 10px;
	width: 120px;
	vertical-align: top;
	text-align:left;
	background:#F4FAE4;
	color:#000000;
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
}

/* --text accordion-------------------------------- */
.acd-check{
    display: none;
}
.acd-label{
    background: #fff;
    color: #333;
    display: block;
    margin-bottom: 1px;
    padding: 10px;
    position: relative;
    border-bottom: #333 solid 0.5px;
}
.acd-label:after{
    background: #fff;
    color: #333;
    box-sizing: border-box;
    content: '\f067';
    display: block;
    font-family: "Font Awesome 5 Free";
    padding: 10px 20px;
    position: absolute;
    right: 0;
    top: 0px;
}
.acd-content{
    border: 1px solid #333;
    display: block;
    height: 0;
    opacity: 0;
    padding: 0 10px;
    /* transition: .5s; */
    visibility: hidden;
}
.acd-content > p{
    white-space: pre-wrap;
}
.acd-check:checked + .acd-label:after{
    content: '\f068';
}
.acd-check:checked + .acd-label + .acd-content{
    height: auto;
    opacity: 1;
    padding: 10px;
    visibility: visible;
}
/* 追加 */
label{
    font-weight: bold;
}

.btn-lg{
    font-size: 18px;
}

.row{
    justify-content: space-around;
}

/* ol, ul {
    margin-bottom: 10px !important;
} */

.btn-warning {
    color: #ffffff !important;
    background-color: #f0ad4e !important;
    border-color: #eea236 !important;
  }
  
  .btn-warning:hover {
    color: #ffffff !important;
    background-color: #ed9c28 !important;
    border-color: #d58512 !important;
  }
  
  .btn-warning:not(:disabled):not(.disabled).active, .btn-warning:not(:disabled):not(.disabled):active, .show>.btn-warning.dropdown-toggle {
    color: #ffffff !important;
    background-color: #ed9c28 !important;
    border-color: #d58512 !important;
  }

  /* ボタンサイズ調整 */
  p {
    margin-bottom: 10px !important;
}

ul, ol {
    margin-bottom: 10px !important;
}