@charset "utf-8";
/* 「カナダ特集 LEGENDARY EXPERIENCE CANADA」PCSP共通CSS */
/**/
/*★ リセット ★*/
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@700;900&display=swap');

h1, h2, h3, h4, h5, h6, p, ul {
  font-weight: inherit;
  font-size: inherit;
}
ol, pre {
  margin: 0;
}
li {
  list-style: none;
}
img {
  max-width: 100%
}
picture {
  display: block;
}
em {
  font-style: normal;
}
div:after {
  content: none;
}
.main *::before, .main *::after {
  box-sizing: border-box;
}
.main div:not([class])::after {
  content: none;
}
.main a {
  text-decoration: none;
}
.main .is-em {
  font-weight: bold;
}
.is-sp #header, .is-sp #simple-header {
  height: 87.02px;
}
.is-pc #header {
  height: 146px;
}
.is-pc #simple-header {
  height: 85px;
}
#footer {
  padding-top: 1px;
  background: #fff;
}
/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
#hisApp {
  position: relative;
  font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#pageApp {

}
:root {
	--default-width-pc: 992px;
  --default-width-sp: min((686vw / 7.5), var(--default-width-pc));
	--default-hover-speed: .4s;
	--default-hover-transition: opacity var(--default-hover-speed);
}
.breadcrumb__contents {
  background: #fff;
  height: 28px;
  display: grid;
  align-content: center;
}
.is-sp .breadcrumb__contents {
  overflow-x: scroll;
}
.breadcrumb__inner {
  padding: 0 24px;
  display: grid;
  grid-auto-flow: column;
  justify-content: start;
  gap: 0 5px;
}
.breadcrumb__item + .breadcrumb__item::before {
  top: 0;
  bottom: 0;
  margin: auto 8px;
}
.is-sp #breadcrumbArea a {
  line-height: inherit;
}
@media (min-width: 741px) {
  .breadcrumb__inner {
    gap: 0;
  }
  .breadcrumb__item {
    align-items: center;
  }
}

.is-pc .is-dsp-sp, .is-sp .is-dsp-pc {
  display: none !important;
}

.section__inner {
  width: var(--default-width-sp);
  margin: auto;
  position: relative;
}
.is-pc .section__inner {
  width: var(--default-width-pc);
}
.section__title {
	background: #004098;
	text-align: center;
	padding: min((40vw / 7.5), 30px) 0;
}
.section__title--text {
	font-weight: bold;
	color: #fff;
	font-size: min((36vw / 7.5), 40px);
}
.his-top__link {
  background: #fff;
  padding-top: min((50vw / 7.5), 50px);
}
.his-top__button {
  display: block;
  color: #fff;
  font-size: min((26vw / 7.5), var(--default-font-size-pc));
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
  padding: calc(30em / 26) calc(20em / 26);
  background: #0057B8 url("/cmn/icon/icon_arrow_right_white.svg") no-repeat right calc(10em / 26) center / calc(48em / 26);
}

/*------------------------------------------------*/
/*menu*/
.is-sp #menu {
	height: calc(150vw / 7.5);
}
.is-sp #menu #modal-content ul {
	margin-top: calc(15vw / 7.5);
}
/*mv*/
#mv {
	background: #f9edd0 no-repeat center center;
}
#mv .section__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: min((55vw / 7.5), 95px);
}
.is-pc #mv {
	min-width: var(--default-width-pc);
	background-image: url("/tyo/special/canada/img/legendary/mv_bg_pc.jpg");
	height: 710px;
}
.is-sp #mv {
	background-image: url("/tyo/special/canada/img/legendary/mv_bg_sp.jpg");
	background-size: cover;
	height: calc(912vw / 7.5);
}
.is-pc #mv .section__inner {
	min-width: var(--default-width-pc);
}
.is-sp .mv__logo {
	width: calc(600vw / 7.5);
}
.mv__lead {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: min((82vw / 7.5), 70px);
}
.mv__lead--title {
	width: min((480vw / 7.5), 385px);
}
.mv__lead--text {
	padding-top: min((35vw / 7.5), 35px);
}
.is-sp .mv__lead--text {
	width: calc(615vw / 7.5);
}
/*message*/
#message {
	background: #e4cf9e;
}
.is-pc #message {
  padding: 15px 0 60px;
}
.is-sp #message .section__inner {
  width: 100%;;
  padding-bottom: calc(45vw / 7.5);
}
.is-pc #message .section__title {
  width: var(--default-width-pc);
	margin: 0 auto;
	background: none;
	padding: 0;
}
.message__contents {
	display: grid;
}
.is-pc .message__contents {
	grid-template-areas:
	  "msg_greeting msg_greeting msg_greeting msg_image"
	  "msg_title msg_title msg_title msg_image"
	  "msg_title msg_title msg_title msg_caption"
	  "msg_text msg_text msg_movie msg_movie";
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: 103px 103px 25px 320px;
	margin-top: 25px;
}
.is-sp .message__contents {
	grid-template-areas:
	  "msg_greeting msg_greeting"
	  "msg_title msg_image"
	  "msg_caption msg_caption"
	  "msg_text msg_text"
	  "msg_movie msg_movie";
	grid-template-columns: auto calc(187vw / 7.5);
	gap: calc(25vw / 7.5) 0;
}
.message__contents--greeting {
	grid-area: msg_greeting;
}
.is-pc .message__contents--greeting--text {
	display: block;
	font-size: 25px;
	font-weight: bold;
    color: #fff;
	width: fit-content;
	background: #dd2630;
	padding: 10px 30px;
}
.is-sp .message__contents--greeting {
	background: #004098;
	color: #fff;
    font-size: min((36vw / 7.5), 40px);
	font-weight: bold;
	text-align: center;
	padding: min((40vw / 7.5), 30px) 0;
}
.message__contents--title {
	grid-area: msg_title;
	font-family: 'Zen Old Mincho', serif;
	font-size: min((35vw / 7.5), 30px);
	font-weight: 900;
	text-align: center;
}
.is-sp .message__contents--title {
    display: flex;
    align-items: center;
    margin-left: calc(62vw / 7.5);
}
.message__contents--text {
	grid-area: msg_text;
	font-size: min((24vw / 7.5), 14px);
    line-height: 1.6;
}
.is-pc .message__contents--text {
	width: 540px;
	margin-top: 10px;
}
.is-sp .message__contents--text {
	margin: 0 calc(32vw / 7.5);
}
.message__contents--image {
	grid-area: msg_image;
}
.is-pc .message__contents--image {
	text-align: right;
}
.is-sp .message__contents--image {
	margin-right: calc(32vw / 7.5);
}
.message__contents--caption {
	grid-area: msg_caption;
	font-size: min((15vw / 7.5), 13px);
	font-weight: bold;
	text-align: right;
}
.is-pc .message__contents--caption {
	margin-top: 10px;
}
.is-sp .message__contents--caption {
	margin-right: calc(32vw / 7.5);
}
.message__contents--movie {
	grid-area: msg_movie;
}
.is-pc .message__contents--movie {
	margin-top: 10px;
	text-align: right;
}
.is-sp .message__contents--movie {
	margin: 0 calc(32vw / 7.5);
}
.is-pc .message__contents--movie iframe {
	width: 426px;
	height: 240px;
}
.is-sp .message__contents--movie iframe {
	width: calc(686vw / 7.5);
	height: calc(386vw / 7.5);
}
/*.is-sp .message__contents {
	grid-template-areas:
	  "msg_greeting msg_greeting"
	  "msg_title msg_image"
	  "msg_caption msg_caption"
	  "msg_text msg_text";
	grid-template-columns: auto calc(155vw / 7.5);
	gap: calc(25vw / 7.5) 0;
}
.message__contents--greeting {
	grid-area: msg_greeting;
	text-align: center;
}
.is-pc .message__contents--greeting {
	grid-row: 1/3;
}
.is-pc .message__contents--greeting--text {
	display: block;
	font-size: 25px;
	font-weight: bold;
    color: #fff;
	width: fit-content;
	background: #dd2630;
	padding: 10px 30px;
}
.message__contents--title {
	grid-area: msg_title;
	text-align: center;
}
.is-sp .message__contents--title {
	display: flex;
	align-items: center;
	margin-left: calc(30vw / 7.5);
}
.is-sp .message__contents--title img {
	width: calc(410vw / 7.5);
}
.message__contents--text {
	grid-area: msg_text;
	font-size: min((24vw / 7.5), 14px);
	line-height: 1.5;
}
.message__contents--image {
	grid-area: msg_image;
}
.is-pc .message__contents--image {
	text-align: right;
}
.message__contents--caption {
	grid-area: msg_caption;
}
.message__contents-movie {
	grid-area: msg_movie;
}
.is-pc #message .message__contents--caption {
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}
.is-sp #message .message__contents--caption {
  font-size: calc(15vw / 7.5);
	text-align: right;
}
.is-pc #message .message__contents--caption-position {
	display: block;
}
.is-pc #message .message__contents--caption--name {
	display: block;
  font-size: 16px;
	padding-top: 5px;
}*/
/*product*/
#product {
	background: #e5e5db;
}
#product .section__inner {
  padding: min((30vw/7.5), 85px) 0 min((45vw/7.5), 80px);
}
.is-sp #product .section__inner {
	width: 100%;
}
.product__list {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.product__list--item {
	font-weight: bold;
	width: min((750vw/7.5) ,944px);
	height: min((455vw/7.5) ,380px);
	background-color: #fff;
	background-size: cover;
	margin-bottom: min((30vw/7.5) ,20px);
}
.is-pc .product__list--item {
	transition: var(--default-hover-transition);
}
.product__list--item:last-child {
	margin-bottom: 0;
}
.product__list--link {
	display: flex;
	flex-direction: column;
	padding: min((20vw/7.5) ,14px) min((20vw/7.5) ,28px) min((15vw/7.5) ,20px);
	color: #fff;
	height: 100%;
	position: relative;
}
@media (hover : hover) and (pointer : fine) {
	.product__list--item:hover {
		opacity: .7;
	}
}
.product__list--link::after {
	width: 10.5em;
	content: "対象コースをみる";
	font-size: min((24vw/7.5) ,18px);
	line-height: 1.2;
	background: url(/cmn/icon/icon_arrow_right_white.svg) no-repeat center right / min((40vw/7.5) ,25px) min((40vw/7.5) ,25px) #e45f4c;
	padding: min((8vw/7.5) ,8px) min((20vw/7.5) ,15px) min((5vw/7.5) ,5px);
	position: absolute;
	bottom: min((20vw/7.5) ,20px);
	right: min((15vw/7.5) ,28px);
}
.product__list--label {
	background: #cfa972;
	width: fit-content;
	font-size: min((24vw/7.5) ,20px);
	padding: min((5vw/7.5) ,6px) min((15vw/7.5) ,15px);
}
.product__list--point {
	font-size: min((24vw/7.5) ,16px);
	text-shadow: 0 0 10px #000;
	padding-top: min((7vw/7.5) ,15px);
}
.product__list--title {
	font-size: min((36vw/7.5) ,32px);
	text-shadow: 0 0 10px #000;
	padding-top: min((5vw/7.5) ,5px);
}
.product__list--price {
  margin-top: auto;
  margin-bottom: min((50vw/7.5), 50px);
  text-align: right;
  text-shadow: 0 0 10px #000;
  font-size: min((36vw/7.5), 32px);
  &:has(.fuel) {
    margin-bottom: min((58vw/7.5), 50px);
  }
  .fuel {
    display: block;
    font-size: min((24vw/7.5), 16px);
  }
}/*search*/
.is-pc #search .section__inner {
  padding: 70px 0 45px;
}


/*mainarea*/
.is-sp #mainarea .linklist {
  margin: 0;
}
.is-sp #mainarea .toTop {
  display: none;
}
.is-sp #mainarea .linklist li a {
  text-decoration: none;
}
