@charset 'utf-8';

html {
    scroll-behavior: smooth;
}

.mt0 {margin-top: 0px !important;}
.mb0 {margin-bottom: 0px !important;}
.mb5 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb60 {margin-bottom: 60px !important;}
.mb70 {margin-bottom: 70px !important;}
.mb80 {margin-bottom: 80px !important;}

.ml1em {margin-left: 1em;}
.relative {position: relative;}

/*================================================*/

.pc-hide {display: none !important;}
.mobile-on {display: none !important;}

@media screen and (max-width:1200px) {
    .mobile-on {display: block !important;}
    .mobile-off-m {display: none !important;}
}

@media screen and (max-width:660px) {
    .mobile-display-block {display: block !important;}
    .mobile-display-inline {display: inline !important;}
    .mobile-hide {display: none !important;}
    .mobile-text-left {text-align: left !important;}
    .mobile-off {display: none !important;}
}

p.i {
    padding-left: 1em;
    text-indent: -1em;
}

dl.hidden {
    background-color: #fff;
    margin-bottom: 0px;
    width: 100%;
}

dl.hidden dd {
    font-size: 14px;
    line-height: 20px;
    text-align: left;
}

/*================================================*/

header.black {
    width: 100%;
    background-color: #000000;
    border-bottom: 1px solid #444;
}

header.black a {
    display: block;
}

header.black h1 {
    width: 303px;
    height: auto;
}

header.black h1 img {
    display: block;
    width: 100%;
    padding: 25px;
}

@media screen and (max-width:660px) {
    header.black h1 {
        width: 200px;
        margin: 0 auto;
    }
    header.black h1 img {
        padding: 20px 0;
    }
}

/*================================================*/


.hero4 {
	width: 100%;
	max-width: 100%;
    background-color: #000000;
}

.hero4 img {
	max-width: 1375px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
}

@media screen and (max-width:660px) {
    .hero4 img {
	    max-width: 500px;
    }
}

/*================================================*/

.container {
    width: 100%;
    margin: 30px auto;
    max-width: 100%;
}

.container.grey {
    background-color: #ecedee;
    padding-top: 20px;
    padding-bottom: 20px;
}

.container.plat {
    background-color: #75787b;
    padding-top: 20px;
    padding-bottom: 20px;
}

.container.deep-blue {
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #00175a;
    color: #fff;
}

div.block {
	margin: 45px auto 30px;
	width: 100%;
    max-width: 1200px;
}

div.block.grey {
    background-color: #ecedee;
}

div.block.deep-blue {
    background-color: #00175a;
}

div.block .inner {
    padding: 20px 30px;
}

div.block p {
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width:1200px) {
    div.block {
        width: calc(100% - 30px);
	    margin: 20px auto;
    }
}

@media screen and (max-width:660px) {
    div.block {
        width: calc(100% - 20px);
	    margin: 20px auto;
    }
}

/*================================================*/

div.link-group {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 80px;
}

div.links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 20px 10px;
}

div.links a.parts {
    color: #000000;
    text-decoration: none;

    border-right: 1px solid #a7a8aa;
    border-bottom: 1px solid #a7a8aa;
    transition: opacity 0.3s 0s ease;
	align-self: center;

	display: flex;
	flex-direction: column;
	justify-content: center;

    width: 23%;
	height: 80px;
    font-size: 15px;
    line-height: 24px;

	text-align: left;

	background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNy44IDEyLjU4Ij48cG9seWxpbmUgcG9pbnRzPSIuNCAuMyA4LjkgMTEuNzQgMTcuNCAuMyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz48L3N2Zz4=');
	background-size: 20px 13px;
	background-position: center right 20px;
	background-repeat: no-repeat;

}

div.links a:hover {
    opacity: 0.4;
}

div.links a.parts div {
	text-align: left;
	padding: 0 40px 0 20px;
}

@media screen and (max-width:1200px) {
    div.links a.parts {
		font-size: 13px;
		line-height: 20px;
		background-size: calc(20px * 0.8) calc(13px * 0.8);
		background-position: center right 10px;
    }

	div.links a.parts div {
		padding: 0 34px 0 16px;
	}
}

@media screen and (max-width:660px) {

	div.link-group {
	    margin: 0 auto 30px;
	}
	
	div.links {
	    padding: 10px 10px;
	}

    div.links a.parts {
		width: 47%;
		height: 60px;
		font-size: 12px;
		line-height: 18px;
		background-size: calc(20px * 0.7) calc(13px * 0.7);
		background-position: center right 8px;
		margin-bottom: 10px;
    }

	div.links a.parts div {
		padding: 0 30px 0 12px;
	}

}

/*================================================*/
h2 {
    font-size: 29px;
    line-height: 38px;

	text-align: center;
	color: #000000;
	border-bottom: 1px solid #000000;

    margin-bottom: 20px;
	padding-bottom: 10px;
}

h2.no-border {
    border-bottom: 0px;
}

.deep-blue h2 {
    color: #ffffff;
}

@media screen and (max-width:1200px) {
    h2 {
        font-size: 22px;
        line-height: 28px;
        margin-bottom: 10px;
    }
}

/*================================================*/

.container.plat {
	margin-bottom: 80px;
}

.container.plat h2 {
	color: #fff;
	border-bottom-color: #fff;
}

.container.plat p {
	color: #fff;
}

.container.plat a.goto {
	color: #fff;
}

/*================================================*/

#area {
    margin-bottom: 140px;
}

/*================================================*/

div.stores {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	margin-top: 40px;
}

div.stores div.store {
    width: 369px;
    margin-right: 46.5px;
    margin-bottom: 40px;
    display:flex;
    flex-direction:column;
    position: relative;
}

div.stores div.store a {
    display: block;
    color: inherit;
}

div.stores div.store:nth-of-type(3n) {
    margin-right: 0px;
}

div.stores div.store div.description {
    padding: 20px 20px 10px;
    border: 1px solid #c8c9c7;
    background-color: #fff;
    flex-grow: 1;
    cursor: pointer;
}

div.stores div.store div.description div.genre {
    background-color: #53565a;
    padding: 0px 4px;
    color: #fff;
    display: inline-block;
    min-width: 100px;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    border-radius: 3px;
    margin-bottom: 0.3rem;
}

div.stores div.store div.description div.name {
    font-size: 17px;
    font-weight: bold;
    color: #00175a;
    margin-bottom: 0px;
    line-height: 1.5em;
    margin-top: 0.3rem;
}

div.stores div.store div.description div.catch {
    color: #000;
    font-weight: bold;
    font-size: 15px;
	line-height: 22px;
    margin-bottom: 0.4rem;
}

div.stores div.store div.description div.sub {
	min-height: 24px;
	background-size: 24px 24px;
	background-position: left top;
	background-repeat: no-repeat;
	padding-left: 30px;
    font-size: 14px;
	line-height: 22px;
    margin-top: 0.3rem;
}

div.stores div.store div.description div.location {
	background-image:url('https://www.aexp-static.com/akamai/one/statics/@americanexpress/dls-icons/1.3.1/package/dist/svg/location.outline.svg');
	background-size: 20px 20px;
	background-position: left 2px top 2px;
}

div.stores div.store div.description div.prices {
	display: flex;
	flex-wrap: nowrap;
}

div.stores div.store div.description div.price {
	background-image:url('https://www.pocket-concierge.jp/lp/amex/discovery/hub/img/si02@2x.png');
	background-size: 20px 20px;
	background-position: left 2px top 0px;
	flex: 0 0 49%;
}

div.stores div.store div.description div.price-d {
	background-image:url('https://www.pocket-concierge.jp/lp/amex/discovery/hub/img/si03@2x.png');
	background-size: 20px 20px;
	background-position: left 2px top 0px;
	flex: 0 0 49%;
}

div.stores div.store div.description div.seats {
	background-image:url('https://www.aexp-static.com/akamai/one/statics/@americanexpress/dls-icons/1.3.1/package/dist/svg/lounge.outline.svg');
	background-size: 20px 20px;
	background-position: left 2px top 2px;
}

div.stores div.store div.description div.voice {
	background-image:url('https://www.aexp-static.com/akamai/one/statics/@americanexpress/dls-icons/1.3.1/package/dist/svg/sound-off.outline.svg');
	background-size: 20px 20px;
	background-position: left 2px top 2px;
}

div.stores div.store div.description div.taxi {
	background-image:url('https://www.aexp-static.com/akamai/one/statics/@americanexpress/dls-icons/1.3.1/package/dist/svg/taxi.outline.svg');
	background-size: 20px 20px;
	background-position: left 2px top 2px;
}

div.stores div.store div.description div.tags {
    margin-top: .3rem;
    margin-bottom: 30px;
}

div.stores div.store div.description div.tags span {
    background-color: #00175a;
    padding: 4px 8px;
    color: #fff;
    display: inline-block;
    text-align: left;
    font-size: 12px;
	line-height: 14px;
    border-radius: 3px;
    margin-bottom: 0.1rem;

}

div.stores div.store div.description div.memo {
    font-size: 12px;
    line-height: 20px;
    margin-top: .3rem;
}

div.stores div.store div.description div.link {
    position: absolute;
    right: 10px;
    bottom: 10px;
}

.slick-dotted.slick-slider {
	margin-bottom: 0 !important;
}

.slick-next {
	right: 10px !important;
	z-index: 100 !important;
}

.slick-prev {
	left: 10px !important;
	z-index: 100 !important;
}

.slick-dots {
	bottom: 10px !important;
	z-index: 100 !important;
}

.slick-dots li {
    margin-right: 1px !important;
    margin-left: 1px !important;
}

.slick-dots li button::before {
    color: #ffffff !important;
}

.pictures {
  display: none;
}

.pictures.slick-initialized{
  display: block;
}

@media screen and (max-width:1200px) {
    div.stores {
        width: 784.5px;
        margin-right: auto;
        margin-left: auto;
		margin-top: 30px;
    }

    div.stores div.store:nth-of-type(2n) {
        margin-right: 0;
    }

    div.stores div.store:nth-of-type(3n) {
        margin-right: inherit;
    }
}

@media screen and (max-width:783px) {
    div.stores {
        width: 100%;
        max-width: 369px;
        margin-right: auto;
        margin-left: auto;
		margin-top: 20px;
    }

    div.stores div.store {
        width: 100%;
        max-width: 369px;
        margin-right: auto;
        margin-left: auto;
    }

    div.stores div.store:nth-of-type(2n) {
        margin-right: auto;
    }

    div.stores div.store:nth-of-type(3n) {
        margin-right: auto;
    }
}

/*================================================*/

.card-title {
    font-size: 20px;
}

.cards {
    width: 100%;
	display: flex;
	justify-content: space-around;
	flex-wrap: nowrap;
}

.cards .card-col {
    width: 36%;
    position: relative;

    margin-top: 60px;
    margin-bottom: 40px;

    display:flex;
    flex-direction:column;
}

.cards .card-col-inner {
    background-color: #ecedee;
    padding: 0 20px 10px;
}

.cards.col-2 {
	justify-content: center;
}

.cards.col-2 .card-col {
    width: 480px;
    margin-left: 20px;
    margin-right: 20px;
}

.cards.col-3 {
	justify-content: space-around;
}

.cards.col-3 .card-col {
    width: 30%;
}

.cards .card-col .card-face {
    width: 50%;
    max-width: 271px;
    margin: -35px auto 20px;
}

.cards .card-col .card-face img {
    width: 100%;
}

.cards .card-col .card-name {
    text-align: center;
    font-size: 20px;
    line-height: 28px;
    min-height: 56px;
}

.cards .card-col .card-name.line1 {
    padding-top: 0.5rem;
}

.cards .card-col .card-name.line2 {
}

.cards .card-col .benefit {
    background-color: #53565a;
    color: #fff;
    text-align: center;
    margin-bottom: 0.5rem;
    width: 100%;
}

.cards .card-col .body {
    margin-bottom: 14px;
}

.cards .card-col .body p {
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0.1rem;
}

.cards .card-col .body .cashback {
    font-size: 18px;
    line-height: 30px;
    color: #00175a;
    font-weight: bold;
    margin-bottom: 0.4rem;
}

.cards .card-col .body .bold {
    font-weight: bold;
}

.cards .card-col .body .help {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 0;
}

.cards .card-col dl.hidden {
    background-color: #fff;
    width: 100%;
    margin-bottom: 10px;
}

.cards .card-col dl.hidden dt {
    font-size: 15px;
}

.cards .card-col dl.hidden dd {
    font-size: 14px;
    line-height: 20px;
}

.cards .card-col dl.hidden dd p {
    text-align: left;
    margin-bottom: 0;
}

.cards .card-col a.btn {
    width: 100%;
    font-size: 20px;
    color: #00175a;
    border: 2px solid #00175a;
    background-color: #fff;
    margin-bottom: 5px;
    display: block;
    min-width: initial;
}

.cards .card-col p.help-block {
    font-size: 14px;
    line-height: 20px;
    text-align: center;
}

@media screen and (max-width:783px) {
    .card-title {
        font-size: 17px;
        line-height: 26px;
    }

    .cards {
        width: 100%;
    	display: block;
    }

    .cards .card-col {
        width: 100%;
        margin-top: 60px;
        display:flex;
        flex-direction:column;
    }

    .cards .card-col-inner {
        background-color: #ecedee;
        padding: 0 20px 10px;
    }

    .cards.col-2 .card-col {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    .cards.col-3 .card-col {
        width: 100%;
    }

    .cards .card-col .card-face {
        width: 50%;
        margin: -35px auto 20px;
    }

    .cards .card-col .card-face img {
        width: 100%;
    }

    .cards .card-col .card-name {
        text-align: center;
        font-size: 18px;
        line-height: 26px;
        min-height: 52px;
    }

    .cards .card-col .card-name.line1 {
        padding-top: 0.5rem;
    }

    .cards .card-col .card-name.line2 {
    }

    .cards .card-col .benefit {
        background-color: #53565a;
        color: #fff;
        text-align: center;
        margin-bottom: 0.5rem;
        width: 100%;
    }

    .cards .card-col .body {
    }

    .cards .card-col .body p {
        font-size: 16px;
        line-height: 26px;
        margin-bottom: 0.1rem;
    }

    .cards .card-col .body .cashback {
        font-size: 18px;
        line-height: 30px;
        color: #00175a;
        font-weight: bold;
        margin-bottom: 0.4rem;
    }

    .cards .card-col .body .help {
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 0;
    }

    .cards .card-col dl.hidden {
        background-color: #fff;
        width: 100%;
        margin-bottom: 10px;
    }

    .cards .card-col dl.hidden dt {
        font-size: 15px;
    }

    .cards .card-col dl.hidden dd {
        font-size: 14px;
        line-height: 20px;
    }

    .cards .card-col dl.hidden dd p {
        text-align: left;
        margin-bottom: 0;
    }

    .cards .card-col a.btn {
        width: 100%;
        font-size: 20px;
        color: #00175a;
        border: 2px solid #00175a;
        background-color: #fff;
        margin-bottom: 5px;
        display: block;
        min-width: initial;
    }

    .cards .card-col p.help-block {
        font-size: 14px;
        line-height: 20px;
        text-align: center;
    }
}

/*================================================*/

div.new {
	margin-top: 10px;
	margin-bottom: 20px;
}

div.new img {
	width: 134px;
	height: auto;
	display: block;
	margin: 0 auto;
}

div.inner-box {
    background-color: #fff;
    padding: 30px 30px;
}

.container.plat div.inner-box p {
	color: #000000;
}

div.inner-box img.icon {
    display: block;
    margin: 0 auto 20px;
    width: 80px;
    height: auto;
}

div.inner-box .inner-box-title {
    font-size: 23px;
    color: #00175a !important;
    font-weight: bold;
}

div.inner-box .btn {
	background-color: #00175a;
}

div.inner-box .dummy {
    width: 100%;
    height: 200px;
    background-color: #a7a8aa;
}

@media screen and (max-width:783px) {

	div.new {
		margin-top: 10px;
		margin-bottom: 10px;
	}
	
	div.new img {
		width: 90px;
	}

    div.inner-box img.icon {
        width: 70px;
    }

    div.inner-box .inner-box-title {
        font-size: 20px;
    }
}

/*================================================*/

.point-wrapper {
	text-align: center;
	position: absolute;
	left: 50%;
	top: 0%;
	transform: translate(-50%, -50%);
}

.point-title {
    font-size: 23px;
    color: #00175a !important;
    font-weight: bold;
	display: inline-block;
	background-color: #fff;
	padding: 8px 20px;
}

.points {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
    margin: 30px auto 0px;
	padding: 30px 0;
}

.points.border {
	border: 2px solid #00175a;
	margin-top: 0;
}

.points .point {
    width: 28%;
    text-align: center;
}

.points .point img.icon {
    width: 80px;
    display: block;
    margin: 0 auto 20px;
}

.points .point h3 {
    color: #00175a;
    font-size: 23px;
    margin-bottom: 20px;
    font-weight: bold;
}

.points .point p {
    font-size: 18px;
    margin-bottom: 0;
}

.points .point p.note {
    font-size: 13px;
    line-height: 20px;
}

p.dining-service {
    text-align: center;
    color: #00175a;
    font-weight: bold;    
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 30px;
}

.inner-box .points .point img.icon {
    margin-bottom: 10px;
}

.inner-box .points .point h3 {
    margin-bottom: 5px;
}

.inner-box .points .point p.step {
    font-weight: bold;
}

div.col-half {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-bottom: 40px;
}

div.col-half.single {
    justify-content: center;
}

div.col-half > div {
    width: 50%;
}

div.col-half > div a.btn {
    width: 90%;
    font-size: 20px;
    color: #00175a;
    border: 2px solid #00175a;
    background-color: #fff;
    margin: 0 auto 10px;
    display: block;
    min-width: initial;
    line-height: 28px;
}

div.col-half > div div.card-face img {
    display: block;
    margin: 0 auto 20px;
}

.container.deep-blue a.goto {
    color: #fff;
}

@media screen and (max-width:770px) {
    .points .point {
        width: 95%;
        margin-bottom: 40px;
    }

    .points .point:last-of-type {
        margin-bottom: 0px;
    }
    
    .points .point img.icon {
        width: 60px;
    }
    
    .points .point h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }
    
    .points .point p {
        font-size: 16px;
    }

    .points .point p.note {
        font-size: 12px;
    }

    div.col-half {
        display: block;
        margin-bottom: 40px;
    }

    div.col-half > div {
        width: 100%;
        margin-bottom: 40px;
    }

    div.col-half > div:last-of-type {
        margin-bottom: 0px;
    }

    div.col-half > div a.btn {
        width: 90%;
        font-size: 16px;
        margin: 0 auto 20px;
        line-height: 26px;
    }
}

/*================================================*/

footer.footer {
    background-color: #000;
    color: #fff;
}

footer.footer .footer-inner {
    max-width: 1170px;
    width: 100%;
}

.footer-nav {
    border-top-color: #fff;
}

/*================================================*/
