@charset "UTF-8";

/* -----------------------------------------------
Table of Contents (common css) [Thought of SMACSS + original]
--------------------------------------------------
0. Foundation
	 0-1. Reset (normalize.css + original)
	 0-2. Base
	 0-3. Config
1. Layout
	 1-1. #l-document
	 1-2. #l-header
	 1-3. #l-container
				1-3-1. #l-main
				1-3-2. #l-sub
	 1-4. #l-footer
	 1-5. #l-nav-global
2. Object
	 2-1. Component a.k.a Module [Thought of BEM + original]
				2-1-1.  Wrap     [wrp-***]
				2-1-2.  Box      [box-***]
				2-1-3.  Table    [tbl-***]
				2-1-4.  Headings [hdg-lv*]
				2-1-5.  Nav      [nav-***]
				2-1-6.  List     [lst-***]
				2-1-7.  Button   [btn-***]
				2-1-8.  Anchor   [acr-***]
				2-1-9.  Text     [txt-***]
				2-1-10. Icon     [icn-***]
				2-1-11. Label    [lbl-***]
				2-1-12. Form     [frm-***]
				2-1-13. Error    [err-***]
				2-1-14. UI
	 2-2. Utility
				2-2-1. clearfix
				2-2-2. margin,padding [mb10,pt20]
				2-2-3. Object-Oriented CSS
				2-2-4. Grid System [grid-***]
				2-2-5. WebFont [FontAwesome] http://fortawesome.github.io/Font-Awesome/icons/
	 2-3. State [is-***]
	 2-4. OverLayerConfig [z-index]
	 2-5. Project

	 -------------------------------------------------- */

/* -----------------------------------------------
 [0. Foundation]
 -------------------------------------------------- */

/* 0-1. Reset
-------------------------------------------------- */
html{
	font-family: sans-serif;
}
body{
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%;
}
a{
	background: transparent;
}
a:focus{
	outline: thin dotted;
}
a:active,
a:hover{
	outline: 0;
}
html,div,span,object,iframe,
h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,acronym,address,code,del,em,img,strong,
dl,dt,dd,ol,ul,li,
fieldset,form,label,
table,caption,tbody,tfoot,thead,tr,th,td{
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
article,aside,footer,header,small,nav,section,figure,figcaption,main{
	margin: 0;
	padding: 0;
	display: block;
	vertical-align: baseline;
	list-style: none;
	background-color: transparent;
	outline: none;
}
audio,canvas,video{
	display: inline-block;
}
ul,ol{
	list-style-type: none;
}
table{
	border: none;
	border-collapse: collapse;
	border-spacing: 0;
}
img{
	line-height: 1;
	vertical-align: bottom;
	outline: none;
	-webkit-backface-visibility: hidden;
}
a img{
	border: none;
	outline: none;
}
sub,sup{
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
hr{
	box-sizing: content-box;
	height: 0;
}
dt,dd,li,
th,td,
input,textarea{
	text-align: left;
	vertical-align: top;
}
button{
	border: none;
}
input,textarea,button{
	margin: 0;
	padding: 0;
}
input{
	border: 1px solid #dad7d3;
	padding: 2px 5px;
}
textarea{
	border: 1px solid #dad7d3;
	resize: none;
}
button,label{
	background-color: transparent;
	cursor: pointer;
}
button,select{
	text-transform: none;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"]{
	-webkit-appearance: button;
	cursor: pointer;
}
button[disabled],
input[disabled]{
	cursor: default;
}
input[type="checkbox"],
input[type="radio"]{
	box-sizing: content-box;
	padding: 0;
	vertical-align: middle;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration{
	-webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner{
	padding: 0;
	border: 0;
}
textarea{
	overflow: auto;
	vertical-align: top;
}
small{
	font-size: 0.8em;
	display: inline;
}
:focus{
	outline: none;
}

/* 0-2. Base
-------------------------------------------------- */
html{
	overflow-y: scroll;
	font-size: 100%;
}
h1,h2,h3,h4,h5,h6{
	font-size: 100%;
	font-weight: bold;
}
table{
	width: 100%;
}
input,textarea,button,select{
	font-family:"游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 100%;
}
html[lang="en"] input,
html[lang="en"] textarea,
html[lang="en"] button,
html[lang="en"] select{
	font-family: Arial, Helvetica, sans-serif;
}
strong,
em{
	font-weight: bold;
}

/* 0-3. Config
-------------------------------------------------- */
body{
	font-size: 15px;
	color: #4f5b5c;
	background-color: #fff;
	letter-spacing: 0;
	font-family:"游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}
@media only screen and (min-width: 1px) and (max-width: 768px){
	body{
		font-size: 13px;
		line-height: 1.538;
	}
}
input,textarea,button,select{
	font-family:"游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 100%;
}

a{
	color: #00479d;				/* ベースのリンク文字の色を指定 */
	text-decoration: none;	/* ベースのリンク文字の下線の有無を指定 */
	-webkit-transition: all .5s;
	transition: all .5s;
}
a:focus {
	outline: none;
}
@media only screen and (min-width: 769px){
	a:hover{
		opacity: .7;
	}
	a:hover,
	a:active{
		color: #00479d;				/* ベースのリンク文字の色を指定 */
		/*text-decoration: underline;	*/	/* ベースのリンク文字の下線の有無を指定 */
	}
}
h1,h2,h3,h4,h5,h6{
	line-height: 1.4;			/* ベースの行間を指定 */
}
p{
	line-height: 1.6666666;			/* ベースの行間を指定 */
}
dt,dd,li,
th,td,
input,
textarea,
button{
	line-height: 1.5;			/* ベースの行間を指定 */
}
button {
	border-radius: 0;
}
sup {
	vertical-align: top;
	line-height: 1;
}
img{
	vertical-align: top;
}
/* -----------------------------------------------
 [1. Layout]
 -------------------------------------------------- */
/* 1-1. #l-document
-------------------------------------------------- */
#document{
	overflow: hidden;
	position: relative;
}
/* 1-2. header
-------------------------------------------------- */
.header {
	position: absolute;
	top: 20px;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 10;
}
.header__logo a {
	padding-left: 40px;
	font-size: 0;
	transition: all 0.5s;
}
.header__logo a:hover {
	opacity: 0.7;
}
.header__logo img {
	max-width: 100%;
	height: auto;
	width: 172px;
}
@media only screen and (min-width: 1px) and (max-width: 768px) {
	.header {
		top: 15px;
	}
	.header__logo{
		text-align: left;
	}
	.header__logo a {
		display: block;
		margin: 0 auto;
		font-size: 0;
		padding-left: 0;
	}
	.header__logo img {
		width: 75px;
	}
}

/* 1-3. #l-container
-------------------------------------------------- */

/* 1-3-1. #l-main
-------------------------------------------------- */

/* 1-3-2. #l-sub
-------------------------------------------------- */


/* 1-4. footer
-------------------------------------------------- */
.footer{
	position: relative;
}
.footer__body > .wrp-container{
	position: relative;
	padding: 60px 15px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.btn-back{
	position: absolute;
	top: -30px;
	left: auto;
	right: 15px;
	-webkit-box-shadow: 0px 12px 24px 0px rgba(33, 65, 88, 0.3);
	-moz-box-shadow: 0px 12px 24px 0px rgba(33, 65, 88, 0.3);
	box-shadow: 0px 12px 24px 0px rgba(33, 65, 88, 0.3);
	width: 60px;
	height: 60px;
	border-radius: 50%;
	padding: 15px;
	font-size: 24px;
	box-sizing: border-box;
	background-color: #fff;
	text-align: center;
}
.footer__logo{
	align-self: center;
	margin-right: auto;
}
.footer__logo img{
	max-width: 170px;
}
.footer__text{
	align-self: flex-end;
}
.footer__sns-list{
	text-align: right;
}
.footer__sns-list > li{
	display: inline-block;
	margin-right: 20px;
}
.footer__sns-list > li:last-child{
	margin-right: 0;
}
.footer__sns-list > li a{
	width: 45px;
	height: 45px;
	border: 1px solid #000;
	border-radius: 50%;
	display: block;
	padding: 10px;
	text-align: center;
	box-sizing: border-box;
}
.footer__sns-list > li a i:before{
	color: #000;
	font-size: 20px;
}
.footer__copyright{
	margin-top: 20px;
	font-size: 13px;
}
@media only screen and (min-width: 1px) and (max-width: 768px) {
	.footer{
		background-color: #fff;
		padding: 40px 0 10px;
		text-align: center;
	}
	.footer__body > .wrp-container{
		padding: 0;
		display: block;
		position: initial;
	}
	.btn-back{
		top: -22px;
		width: 45px;
		height: 45px;
		font-size: 15px;
	}
	.footer__logo{
		display: inline-block;
		margin: 0 auto;
	}
	.footer__sns-list{
		margin-top: 25px;
		text-align: center;
	}
	.footer__sns-list > li{
		display: inline-block;
		margin-right: 20px;
	}
	.footer__sns-list > li:last-child{
		margin-right: 0;
	}
	.footer__sns-list > li a{
		width: 35px;
		height: 35px;
		border: 1px solid #000;
		border-radius: 50%;
		display: block;
		padding: 8px;
		text-align: center;
		box-sizing: border-box
	}
	.footer__sns-list > li a i:before{
		color: #000;
		font-size: 16px;
	}
	.footer__copyright{
		text-align: center;
		font-size: 10px;
		letter-spacing: 0.04em;
		margin-top: 10px;
	}
}

/* 1-5. #l-nav-global
-------------------------------------------------- */

/* -----------------------------------------------
 [2. Object]
 -------------------------------------------------- */

/* 2-1. Component a.k.a Module
-------------------------------------------------- */
/*2-1-1.  Wrap     [wrp-***]*/
.wrp-container {
	max-width: 1030px;
	padding: 0 15px;
	margin: 0 auto;
}

/*2-1-3.  Table    [tbl-***]*/
.tbl-base{
	margin-top: 60px;
	border-radius: 20px;
	padding: 10px 0;
}
.tbl-base table{
	border-radius: 20px;
}
.tbl-base table tr{
	border-bottom: 1px solid #000;
}
.tbl-base table tr:last-child{
	border-bottom: 0;
}
.tbl-base table th,
.tbl-base table td{
	vertical-align: middle;
	padding: 20px;
	font-size: 14px;
	color: #2c1914;
}
.tbl-base table th{
	width: 200px;
	box-sizing: border-box;
	position: relative;
	text-align: center;
}
.tbl-base table td ol + ul,
.tbl-base table td ul + ol{
	margin-top: 20px;
}
.tbl-base table td ol li,
.tbl-base table td ul li{
	text-indent: -1em;
	padding-left: 1em;
}
.tbl-base table td ol li:nth-of-type(n+2),
.tbl-base table td ul li:nth-of-type(n+2){
	margin-top: 10px;
}
.tbl-base table td ol li .txt-note,
.tbl-base table td ul li .txt-note{
	padding-left: 1em;
	margin-top: 0;
}
.tbl-base table td ol li span,
.tbl-base table td ul li span{
	font-size: 12px;
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
	.tbl-base{
		margin-top: 60px;
		padding: 0;
	}
	.tbl-base table tr{
		padding: 20px;
		display: block;
	}
	.tbl-base table tr:last-child{
		border-bottom: none;
	}
	.tbl-base table th,
	.tbl-base table td{
		text-align: left;
	}
	.tbl-base table th{
		display: block;
		width: auto;
		padding: 0;
		font-size: 12px;
		letter-spacing: 0;
	}
	.tbl-base table td{
		display: block;
		width: 100%;
		padding: 0;
		margin-top: 10px;
		font-size: 14px;
		letter-spacing: 0.025em;
		line-height: 1.43;
	}
}

/* 2-2. Utility
-------------------------------------------------- */
/*2-2-1. clearfix [ModernType]*/
#l-header:after,.wrp-header:after,#l-container:after,#l-main:after,#l-sub:after,#l-footer:after,.nav ul:after,.wrp-container:after,
.clearfix:after{
	display: block;
	clear: both;
	content: "";
}


/* for RWD */
.fluid-image{
	max-width: 100%;
	height: auto;
}
.full-image {
	width: 100%;
	height: auto;
}

/* 2-2-4. Grid System [grid-***] */
.wrp-grid{
	margin-left: -7px;
	margin-right: -7px;
}
.grid-1, .grid-2, .grid-3, .grid-4, .grid-5, .grid-6, .grid-7, .grid-8, .grid-9, .grid-10, .grid-11, .grid-12{
	padding: 0 7px;
	float: left;
	box-sizing: border-box;
}
.grid-1{
	width: 8.33333333333%;
}
.grid-2{
	width: 16.6666666667%;
}
.grid-3{
	width: 25%;
}
.grid-4{
	width: 33.3333333333%;
}
.grid-5{
	width: 41.6666666667%;
}
.grid-6{
	width: 50%;
}
.grid-7{
	width: 58.3333333333%;
}
.grid-8{
	width: 66.6666666667%;
}
.grid-9{
	width: 75%;
}
.grid-10{
	width: 83.3333333333%;
}
.grid-11{
	width: 91.6666666667%;
}
.grid-12{
	width: 100%;
}
@media only screen and (max-width: 767px){ /* SP */
	.wrp-grid{
		margin-left: -4px;
		margin-right: -4px;
	}
	.grid-1--sp, .grid-2--sp, .grid-3--sp, .grid-4--sp, .grid-5--sp, .grid-6--sp, .grid-7--sp, .grid-8--sp, .grid-9--sp, .grid-10--sp, .grid-11--sp, .grid-12--sp{
		width: 100%;
		padding: 0 4px;
	}
	.grid-1--sp{
		width: 8.33333%;
	}
	.grid-2--sp{
		width: 16.66667%;
	}
	.grid-3--sp{
		width: 25%;
	}
	.grid-4--sp{
		width: 33.3333333%;
	}
	.grid-5--sp{
		width: 41.66667%;
	}
	.grid-6--sp{
		width: 50%;
	}
	.grid-7--sp{
		width: 58.33333%;
	}
	.grid-8--sp{
		width: 66.66667%;
	}
	.grid-9--sp{
		width: 75%;
	}
	.grid-10--sp{
		width: 83.33333%;
	}
	.grid-11--sp{
		width: 91.66667%;
	}
	.grid-12--sp{
		width: 100%;
	}
}


/* 2-2-6. Visibility [visible-***] */
.is-visiblePc{
	display: block!important;
}
.is-visibleSp{
	display: none!important;
}
@media only screen and (min-width:1px) and (max-width:768px){
	.is-visiblePc{
		display: none!important;
	}
	.is-visibleSp{
		display: block!important;
	}
}/* endMedia */

.center{
	text-align: center;
}
.right{
	text-align: right;
}
.left{
	text-align: left;
}

/* 2-3. State [is-***]
-------------------------------------------------- */
.is-open{
	display: block;
}
.is-error{
	background-color: #f9eceb;
}
.is-disabled{
	opacity: 0.45;
}
.is-show{
	visibility: visible;
	opacity: 1;
}

/* 2-5. Project
-------------------------------------------------- */
/* Common */
.txt-note{
	font-size: 12px;
	margin-top: 5px;
}
.btn{
	display: block;
	margin: 0 auto;
	border-radius: 50px;
	background-color: #ff9b0b;
	-webkit-box-shadow: 1.378px 4.806px 15px 0px rgba(35, 35, 33, 0.4);
	-moz-box-shadow: 1.378px 4.806px 15px 0px rgba(35, 35, 33, 0.4);
	box-shadow: 1.378px 4.806px 15px 0px rgba(35, 35, 33, 0.4);
	padding: 30px 40px 27px;
	color: #fff;
	font-size: 36px;
	font-weight: bold;
	width: 590px;
	box-sizing: border-box;
	text-align: center;
	letter-spacing: 0;
}
.btn small{
	color: #fff;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: -0.025em;
}
.btn:hover{
	color: #fff;
}
@media only screen and (min-width: 1px) and (max-width: 768px) {
	.btn{
		width: 100%;
		font-size: 18px;
	}
	.btn small{
		font-size: 12px;
	}
}

/*main visual*/
.main-visual{
	background: url(/special/campaign/macau/images/img-bg01.png) repeat;
	position: relative;
	z-index: 1;
}
.main-visual img{
	width: 100%;
}

/*point*/
.point{
	background: url(/special/campaign/macau/images/img-bg01.png) repeat;
	padding: 0 0 60px;
	margin-top: -40px;
	position: relative;
	z-index: 10;
}
.point__lead{
	text-align: center;
	font-size: 32px;
	line-height: 1.25;
	color: #2c1914;
	letter-spacing: 0.08em;
	font-weight: bold;
}
.point .wrp-grid{
	margin-top: 30px;
}
@media only screen and (min-width: 1px) and (max-width: 768px) {
	.point{
		margin-top: 0px;
		padding: 20px 0 40px;
	}
	.point__lead{
		font-size: 17px;
	}
	.point .wrp-grid{
		margin-top: 20px;
	}
	.point .wrp-grid > div:nth-of-type(n+2){
		margin-top: 35px;
	}
	.point .wrp-grid > div > img{
		margin-left: -2%;
	}
}

/*topic*/
.topic{
	padding: 60px 0;
}
.topic img{
	width: 100%;
}
@media only screen and (min-width: 1px) and (max-width: 768px) {
	.topic{
		padding: 40px 0;
	}
}

/*campaign*/
.campaign{
	background: url(/special/campaign/macau/images/img-bg01.png) repeat;
	padding: 70px 0;
}
.campaign img{
	width: calc(100% + 3%);
}
.campaign .tbl-base{
	margin-top: 20px;
}
.campaign .btn{
	margin-top: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
	.campaign img{
		width: 100%;
	}
}
@media only screen and (min-width: 1px) and (max-width: 768px) {
	.campaign{
		padding: 50px 0 40px;
	}
	.campaign .btn{
	}
}

/*event*/
.event img{
	width: 100%;
}