@charset "utf-8";
/*-------     ★★ 初期設定《reset》 ★★     ------*/
html {
	font-size: 14px;
	line-height: calc(24 / 13);
	min-width: 960px;
}
body {
	font-size: 1rem;
	line-height: inherit;
	overflow: hidden;
}
figure {
	margin: 0;
}
div:after {
	content: none;
}
.inner {
	width: 960px;
	margin: auto;
}
.breadcrumb, .main {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
	.breadcrumb, .main {
		font-family: "Noto Sans JP", "メイリオ", Meiryo, sans-serif;
	}
}
.main, .main *, .main *::before, .main *::after {
	box-sizing: border-box;
	border: none;
}
.main a {
	text-decoration: none;
	color: inherit;
}
.main div, .main img {
	vertical-align: bottom;
}
.main [class*="btn-"] a.btn {
	display: block;
	width: 100%;
	height: 100%;
}
.main [class*="-ttl"] > [class*="-txt"] {
	display: inline-block;
}
.btn-pagetop {
	position: fixed;
	width: 74px;
	height: 74px;
	right: 25px;
	bottom: 25px;
	cursor: pointer;
	opacity: 1;
	z-index: 10;
	transition: all .4s linear;
}
.btn-pagetop:not(.fixed) {
	bottom: -10px;
	opacity: 0;
}
/*-------     ★★ メインビジュアル《mv》 ★★     ------*/
.mv {
	width: 100%;
	height: 820px;
	position: relative;
}
.deviceTablet .mv {
	background: url("../img/index/mv_bg.jpg") no-repeat center center;
	background-size: cover;
}
.mv .logo {
	width: 618px;
	height: 314px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.mv .btn-tour {
	width: 123px;
	height: 124px;
	position: absolute;
	bottom: -140px;
	right: 21px;
	z-index: 1;
}
.mv .btn-tour.fixed {
	bottom: auto;
	top: 16px;
	position: fixed;
}
.mv .video {
    left: 0;
    top: 0;
    overflow: hidden;
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
	text-align: center;
}
/*-------     ★★ ご挨拶《sec-greet》 ★★     ------*/
#sec-greet {
	background: url("../img/pattern_tile_ye.jpg");
	padding: 38px 0;
}
#sec-greet .sec-box .box {
	width: 940px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: #fff;
	padding: 40px 43px 37px 49px;
	position: relative;
}
#sec-greet .sec-box .box::after {
	content: "";
	width: 126px;
	height: 43px;
	background: url("../img/logo_portugal_pc.png") no-repeat 0 0;
	position: absolute;
	bottom: 15px;
	right: 17px;
}
#sec-greet .sec-box .box-ttl {
	width: 621px;
	font-size: 24px;
	line-height: 30px;
	color: #033d77;
	font-weight: bold;
	text-align: center;
	margin-bottom: 35px;
}
#sec-greet .sec-box .box-ttl .main-txt::before, #sec-greet .sec-box .box-ttl .main-txt::after {
	content: "";
	width: 35px;
	height: 14px;
	background: no-repeat 0 0;
	display: inline-block;
	vertical-align: bottom;
}
#sec-greet .sec-box .box-ttl .main-txt::before {
	background-image: url("../img/icon_ttl_left_pc.png");
	margin-right: 8px;
}
#sec-greet .sec-box .box-ttl .main-txt::after {
	background-image: url("../img/icon_ttl_right_pc.png");
	margin-left: 8px;
}
#sec-greet .sec-box .box-txt {
	width: 621px;
	line-height: 28px;
}
#sec-greet .sec-box .box-img {
	width: 165px;
}
#sec-greet .sec-box .box-img .img {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: -65px;
}
#sec-greet .sec-box .box-img .img img {
	order: 2;
}
#sec-greet .sec-box .box-img .img .cap {
	order: 1;
	font-size: 12px;
	line-height: 18px;
	color: #033d77;
	text-align: center;
	margin-bottom: 14px;
}
#sec-greet .sec-box .box-img .img .cap .name {
	font-size: 16px;
	font-weight: bold;
	display: block;
	letter-spacing: -1.4px;
}
/*-------     ★★ Cityマップ《sec-city-nav》 ★★     ------*/
#sec-city-nav {
	height: 708px;
	background: url("../img/index/map_bg_pc.jpg") no-repeat center 0;
}
#sec-city-nav .inner, #sec-city-nav .city-nav-list {
	height: 100%;
	position: relative;
}
#sec-city-nav .city-nav-list .list {
	width: 180px;
	background: #fff;
	border: 1px solid #000;
	position: absolute;
}
#sec-city-nav .city-nav-list .list[data-city*="-aveiro"] {
	top: 71px;
	left: 60px;
}
#sec-city-nav .city-nav-list .list[data-city*="-coimbra"] {
	top: 217px;
	left: 756px;
}
#sec-city-nav .city-nav-list .list[data-city*="-costa"] {
	top: 245px;
	left: 0;
}
#sec-city-nav .city-nav-list .list[data-city*="-lisbon"] {
	top: 470px;
	left: 491px;
}
#sec-city-nav .city-nav-list .list[data-city*="-obidos"] {
	top: 382px;
	left: 720px;
}
#sec-city-nav .city-nav-list .list[data-city*="-porto"] {
	top: 62px;
	left: 616px;
}
#sec-city-nav .city-nav-list .list[data-city*="-roca"] {
	top: 427px;
	left: 50px;
}
#sec-city-nav .city-nav-list .list[data-city*="-sintra"] {
	top: 516px;
	left: 261px;
}
#sec-city-nav .city-nav-list .list .btn {
	display: block;
	background: no-repeat center 0;
	color: #033d77;
	padding: 106px 9px 1px;
	transition: opacity .4s;
}
#sec-city-nav .city-nav-list .list .btn[href*="-aveiro"] {
	background-image: url("../img/index/map_nav_img_aveiro_pc.jpg");
}
#sec-city-nav .city-nav-list .list .btn[href*="-coimbra"] {
	background-image: url("../img/index/map_nav_img_coimbra_pc.jpg");
}
#sec-city-nav .city-nav-list .list .btn[href*="-costa"] {
	background-image: url("../img/index/map_nav_img_costa_pc.jpg");
}
#sec-city-nav .city-nav-list .list .btn[href*="-lisbon"] {
	background-image: url("../img/index/map_nav_img_lisbon_pc.jpg");
}
#sec-city-nav .city-nav-list .list .btn[href*="-obidos"] {
	background-image: url("../img/index/map_nav_img_obidos_pc.jpg");
}
#sec-city-nav .city-nav-list .list .btn[href*="-porto"] {
	background-image: url("../img/index/map_nav_img_porto_pc.jpg");
}
#sec-city-nav .city-nav-list .list .btn[href*="-roca"] {
	background-image: url("../img/index/map_nav_img_roca_pc.jpg");
}
#sec-city-nav .city-nav-list .list .btn[href*="-sintra"] {
	background-image: url("../img/index/map_nav_img_sintra_pc.jpg");
}
#sec-city-nav .city-nav-list .list .btn:hover {
	opacity: .7;
}
#sec-city-nav .city-nav-list .list .btn .txt {
	display: block;
	font-size: 15px;
	line-height: 25px;
	font-weight: bold;
	padding-right: 21px;
	background: url("../img/arrow_anker_pc.png") no-repeat right center;
}
/*-------     ★★ セクションナビ《sec-nav》 ★★     ------*/
#sec-nav {
	background: #fff7ad;
	padding: 28px 0;
}
#sec-nav .sec-nav-list {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
#sec-nav .sec-nav-list .list {
	margin: 0 20px;
}
#sec-nav .sec-nav-list .list .btn {
	display: block;
	transition: transform .4s, opacity .4s;
}
#sec-nav .sec-nav-list .list .btn:hover {
	transform: translateY(5px);
	opacity: .9;
}
/*-------     ★★ セクション共通パーツ《sec common》 ★★     ------*/
[id*="sec-"] {
	background: url("../img/pattern_line_pc.jpg") repeat-x 0 bottom;
}
[id*="sec-"] img.change:not(.chenged) {
	opacity: 0;
}
[id*="sec-"] .com-btn.typeA {
    display: flex;
    justify-content: center;
    margin-top: 35px;
}
[id*="sec-"] .com-btn.typeA .btn {
	display: inline-block;
	padding: 18px 20px 16px 30px;
	background: #033d77;
	color: #fff;
	text-align: center;
	font-size: 18px;
	line-height: 1.2;
	transition: background .4s;
}
[id*="sec-"] .com-btn.typeA .btn:hover {
	background: #356492;
}
[id*="sec-"] .com-btn.typeA .btn .txt {
	display: block;
	padding-right: 40px;
	position: relative;
}
[id*="sec-"] .com-btn.typeA .btn .txt::after {
	content: "";
	width: 17px;
	height: 16px;
	background: url("../img/arrow_right_pc.png") no-repeat 0 0;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}
[id*="sec-"] .sec-ttl {
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	line-height: 34px;
}
[id*="sec-"] [class*="-ttl"] {
	color: #033d77;
}
[id*="sec-"] [class*="-ttl"] > [class*="-txt"] {
	display: block;
}
[id*="sec-"] .sec-txt {
	font-size: 14px;
	line-height: 26px;
	text-align: center;
	margin-top: 30px;
}
[id*="sec-"] .lightbox-box img {
	width: 100%;
	height: auto;
}
[id*="sec-"] .lightbox-box .img.none {
	display: none;
}
[id*="sec-"] .lightbox-box .img:not(.none) {
	position: relative;
	transition: opacity .4s;
}
[id*="sec-"] .lightbox-box .img:not(.none):hover {
	opacity: .8;
}
[id*="sec-"] .lightbox-box .img:not(.none)::after {
	content: "";
	width: 18px;
	height: 18px;
	background: url("../img/icon_plus_pc.png") no-repeat 0 0;
	position: absolute;
	bottom: 10px;
	right: 10px;
	cursor: pointer;
}
[id*="sec-"] .box-video {
	background: no-repeat center center;
	background-size: cover;
	cursor: pointer;
	position: relative;
}
[id*="sec-"] .box-video::before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .4);
	position: absolute;
	top: 0;
	left: 0;
	transition: background .4s;
}
[id*="sec-"] .box-video:hover::before {
	background: rgba(0, 0, 0, .1);
}
[id*="sec-"] .box-video::after {
	content: "";
	width: 72px;
	height: 72px;
	background: url("../img/btn_movie_area_pc.png") no-repeat 0 0;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 0;
}
[id*="sec-"] .box-video .video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
[id*="sec-"] .slick-dotted.slick-slider {
	padding-bottom: 20px;
	margin-bottom: 0
}
[id*="sec-"] .slick-dots {
	bottom: 0;
	left: 0;
	height: 20px;
}
[id*="sec-"] .slick-dots li {
	width: 8px;
	height: 8px;
	margin: 0 5px;
}
[id*="sec-"] .slick-dots li button {
	width: 100%;
	height: 100%;
	padding: 0;
}
[id*="sec-"] .slick-dots li button:before {
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 100%;
	background: #7292b3;
	opacity: 1;
	transition: background .4s;
}
[id*="sec-"] .slick-dots li.slick-active button:before {
	transition-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.devicePC [id*="sec-"] .slick-dots li button:hover:before, .devicePC [id*="sec-"] .slick-dots li button:focus:before, [id*="sec-"] .slick-dots li.slick-active button:before {
	background: #033d77;
	opacity: 1;
}
/*.lb-outerContainer {
	position: fixed !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	margin: auto !important;
}
.lb-dataContainer {
	display: none !important;
}*/
#lightbox {
	display:-webkit-box;
	display:-ms-flexbox;
    display: flex;
	-ms-flex-wrap: wrap;
    flex-wrap: wrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
    flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
    justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
    align-items: center;
    position: fixed;
    top: 0 !important;
    left: 0 !important;
    right: 0;
    bottom: 0;
    margin: auto;
}
.lb-outerContainer {
    order: 2 !important;
}
.lb-dataContainer {
    order: 1 !important;
	padding-bottom: 10px;
	margin-top: -45px !important;
}
.lb-container {
  height: 100% !important;
}
/*-------     ★★ City《sec-city》 ★★     ------*/
#sec-city {
	background: url("../img/pattern_tile_bl.jpg");
	padding: 50px 0 75px;
}
#sec-city .inner {
	width: 1040px;
}
#sec-city .sec-box {
	background: #fff;
	padding: 55px 40px;
}
#sec-city .sec-ttl {
	margin-bottom: 60px;
}
#sec-city .box-wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: -70px;
}
#sec-city .box-wrap .box {
	width: 440px;
	margin-top: 70px;
	position: relative;
}
#sec-city .box-wrap .box.box-size-L {
	width: 100%;
}
#sec-city .box-wrap .box.box-size-L .box-ttl {
	width: 100%;
}
#sec-city .box-wrap .box.box-size-L .box-ttl::after {
	content: "";
	display: block;
	clear: both;
}
#sec-city .box .box-ttl {
	margin-bottom: 10px;
}
#sec-city .box .box-ttl .main-txt {
	font-size: 24px;
	line-height: 34px;
	font-weight: bold;
}
#sec-city .box .box-ttl .sub-txt {
	font-size: 16px;
	line-height: 20px;
}
#sec-city .box .box-video {
	width: 540px;
	height: 304px;
	float: left;
	margin-top: 5px;
}
#sec-city .box-img {
	margin-bottom: 20px;
}
#sec-city .box-wrap .box.box-size-L .box-txt, #sec-city .box.box-size-L .box-sub-img {
	width: 390px;
	float: right
}
#sec-city .box-sub-img {
	overflow: hidden;
	position: absolute;
	right: 0;
	bottom: 0;
}
#sec-city .box-sub-img.lightbox-box .img:not(.none)::after {
	bottom: 6px;
	right: 6px;
}
#sec-city .box-sub-img .img {
	float: right;
}
#sec-city .box-sub-img .img:nth-child(1) {
	float: left;
}
#city-lisbon .box-txt {
	padding-bottom: 260px;
}
#city-lisbon .box-sub-img .img {
	width: 180px;
}
#city-lisbon .box-sub-img .img:nth-child(1) {
	width: 196px;
}
#city-lisbon .box-sub-img .img:nth-child(3) {
	margin-top: 16px;
}
#city-porto .box-txt {
	padding-bottom: 133px;
}
#city-porto .box-sub-img .img {
	width: 186px;
}
@media only screen and (max-width: 1024px) {
  #sec-city .inner {
      width: 100%;
  }
  #sec-city .box .box-video {
      width: 56%;
  }
  #sec-city .box-wrap .box {
      width: calc(50% - 30px);
  }
  #sec-city .box-wrap .box.box-size-L .box-txt, #sec-city .box.box-size-L .box-sub-img {
      width: calc(44% - 30px);
  }
  #city-lisbon .box-sub-img .img{
      width: calc(50% - 14px);
  }
  #city-lisbon .box-sub-img .img:nth-child(1) {
      width: 50%;
  }
  #city-porto .box-sub-img .img {
      width: calc(50% - 7px);
  }
}

/*-------     ★★ Culture《sec-culture》 ★★     ------*/
#sec-culture {
	padding: 110px 0 83px;
}
#sec-culture .inner {
	width: 1020px;
}
#sec-culture .sec-box .box-wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 30px;
}
#sec-culture .sec-box .box {
	width: 490px;
	background: url("../img/pattern_tile_ye.jpg");
	padding: 22px 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#sec-culture .sec-box .box-ttl {
	background: #fff;
	text-align: center;
	padding: 13px;
	min-width: 296px;
}
#sec-culture .sec-box .box-ttl .main-txt {
	font-size: 24px;
	line-height: 34px;
	font-weight: bold;
}
#sec-culture .sec-box .box-ttl .sub-txt {
	font-size: 16px;
	line-height: 1;
}
#sec-culture .sec-box .box-txt-wrap {
	width: 100%;
	margin-top: 30px;
	padding-bottom: 160px;/*余白15px*/
}
#sec-culture .sec-box .box-txt {
	background: #fff;
	width: 200px;
	line-height: 22px;
	letter-spacing: -.8px;
	padding: 10px 8px;
	margin: auto 0 auto auto;
}
#sec-culture .sec-box .box-img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
#sec-culture .sec-box .box-img .img {
	width: 210px;
	position: absolute;
	background: #fff;
	padding: 6px;
	box-shadow: 3px 3px 4px 0px rgba(0, 0, 0, .32);
}
#sec-culture .sec-box .box-img .img:nth-child(1) {
	top: 0;
	left: 0;
}
#sec-culture .sec-box .box-img .img:nth-child(2) {
	bottom: 0;
	left: 0;
}
#sec-culture .sec-box .box-img .img:nth-child(3) {
	bottom: 0;
	right: 0;
}
@media only screen and (max-width: 1024px) {
  #sec-culture .inner {
      width: 100%;
  }
  #sec-culture .sec-box .box {
      width: calc(50% - 20px);
  }
  #sec-culture .sec-box .box-wrap {
      padding: 0 10px;
  }
}

/*-------     ★★ Culture《sec-gourmet shopping》 ★★     ------*/
#sec-gourmet, #sec-shopping {
	padding: 80px 0 67px;
}
#sec-gourmet .inner, #sec-shopping .inner {
	width: 966px;
}
#sec-gourmet .sec-box .box-wrap, #sec-shopping .sec-box .box-wrap {
	min-height: 512px;
	background: no-repeat center bottom;
	padding-top: 31px;
}
#sec-gourmet .sec-box .box-wrap {
	background-image: url("../img/index/gourmet_bg_pc.jpg");
}
#sec-shopping .sec-box .box-wrap {
	background-image: url("../img/index/shopping_bg_pc.jpg");
}
#sec-gourmet .sec-box .box, #sec-shopping .sec-box .box {
	width: 380px;
	background: url("../img/pattern_tile.jpg");
	padding: 10px;
	margin: auto;
}
#sec-gourmet .sec-box .box-txt, #sec-shopping .sec-box .box-txt {
	background: #fff;
	padding: 20px;
}
/*-------     ★★ Photographer《sec-photographer》 ★★     ------*/
#sec-photographer {
	padding: 55px 0 72px;
}
#sec-photographer .box-wrap {
	margin-top: 45px;
}
#sec-photographer .box-wrap .box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	padding: 0 40px 0 62px;
}
#sec-photographer .box-wrap .box-img {
	width: 500px;
}
#sec-photographer .box-wrap .box-txt {
	width: 300px;
	padding-top: 64px;
}
#sec-photographer .box-wrap .box-txt .img {
	margin-bottom: 10px;
}
#sec-photographer .box-wrap .box-txt .txt .name {
	font-size: 20px;
	line-height: 31px;
}
#sec-photographer .box-wrap .box-txt .txt .detail {
	font-size: 12px;
	line-height: 22px;
}
/*-------     ★★ Movie《sec-movie》 ★★     ------*/
#sec-movie {
	padding: 45px 0 72px;
}
#sec-movie .box-wrap {
	margin-top: 25px;
}
#sec-movie .box .box-video {
	width: 500px;
	height: 281px;
	margin: auto;
}
/*-------     ★★ Tour《sec-tour》 ★★     ------*/
#sec-tour {
	background: #fff7ad;
	padding: 45px 0 40px;
}
#sec-tour .box-wrap {
	margin-top: 30px;
}
#sec-tour .box-wrap .box {/*MAX4*/
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-left: -20px;
}
#sec-tour .box-wrap .box-tour {
	width: 220px;
	margin-left: 20px;
	background: #fff;
}
#sec-tour .box-wrap .tour-wrap {
	display: block;
	width: 100%;
	height: 100%;
	box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, .6);
	transition: opacity .4s;
}
#sec-tour .box-wrap .tour-wrap:hover {
	opacity: .7;
}
#sec-tour .box-wrap .tour-wrap span {
	display: block;
}
#sec-tour .box-wrap .ph-img {
	height: 150px;
	background: no-repeat center center;
	background-size: cover;
}
#sec-tour .box-wrap .txt-area {
	padding: 12px 8px 4px;
}
#sec-tour .box-wrap .txt-ttl {
	font-size: 15px;
	line-height: 22px;
	font-weight: bold;
	color: #000;
}
#sec-tour .box-wrap .txt-hotel {
	font-size: 12px;
	line-height: 17px;
	margin-top: 10px;
}
#sec-tour .box-wrap .txt-price {
	font-size: 22px;
	line-height: 1.2;
	margin-top: 15px;
	color: #ff0000;
	letter-spacing: -.5px;
	text-align: right;
}
#sec-tour .box-wrap .txt-price span {
	display: inline;
	font-size: 14px;
	letter-spacing: -1.2px;
}
#sec-tour .box-tour + .com-btn {
	margin-top: 35px;
}
/* ---areanav ------*/
#sec-tour .area00 {
    height: 0;
    overflow: hidden;
	margin: 0;
}
#sec-tour .areanav {
	display:-webkit-box;
	display:-ms-flexbox;
    display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
    justify-content: center;
    margin: 20px auto 30px;
}
#sec-tour .areanav li {
    width: 175px;
    text-align: center;
    box-sizing: border-box;
    background-color: #fff;
    border: #033d77 solid 1px;
	color: #033d77;
    padding: 5px 0;
    cursor: pointer;
}
#sec-tour .areanav li + li {
    margin-left: 12px;
}
#sec-tour .areanav li:hover,
#sec-tour .areanav li.nav_on{
    background-color: #033d77;
	color: #fff;
}
