@charset "UTF-8";

#newsflash-campaign{
  display: none !important;
}


/* 全体構成のレイアウト */
#section-breadcrumb{
  background: #fff;
}
#company-layout article{
  background: #fafafa;
}
.basic-company-layout { padding: 38px 0px 58px; background: #fff; }

.basic-layout{
  margin-bottom: 60px;
}
.basic-wrap{
  margin-bottom: 30px;
}
.white-layout{
  background: #fff;
  padding: 50px;
  border-radius: 4px;
  box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
  margin-bottom: 60px;
}
.white-layout{
  color: #666;
}
.white-layout p{
  font-size: 14px;
}
.dottoline-layout{
  padding: 36px 0;
  border-bottom: 1px dotted #ccc;
}

@media all and (max-width: 768px) {
	.white-layout{
		padding: 24px;
	}
	.white-layout p{
		font-size: 13px;
	}
	.basic-layout{
		margin-bottom: 24px;
	}
	.basic-wrap{
		margin-bottom: 12px;
	}
}

.font-pink{
  color: #f53d7e !important;
  font-weight: bold;
}



/* メインビジュアル部分のレイアウト */
.hero-title-wrap{
  padding: 50px 0;
}


/* タイトル系のレイアウト */
.mainTit{
	color: #333;
	margin-bottom: 57px;
	text-align: center;
	letter-spacing: 0.02em;
	font-family: TsukuARdGothic-Regular, "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", HG丸ｺﾞｼｯｸM-PRO, HGMaruGothicMPRO, sans-serif;
	font-weight: normal;
	position: relative;
	font-size: 30px;
	line-height: 1.6;
}
.mainTit span:after{
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 533px;
  height: 3px;
  content: "";
  background: url(/company/img/bg_dot01.png) 0 0 no-repeat;
}
.pageTit-h2{
	color: #333;
	margin-bottom: 28px;
	text-align: center;
	letter-spacing: 0.02em;
	font-family: TsukuARdGothic-Regular, "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", HG丸ｺﾞｼｯｸM-PRO, HGMaruGothicMPRO, sans-serif;
	font-weight: normal;
	position: relative;
	font-size: 24px;
	line-height: 1.6;
}
.pageTit-h3{
	color: #333;
	margin-bottom: 24px;
	letter-spacing: 0.02em;
	font-family: TsukuARdGothic-Regular, "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", HG丸ｺﾞｼｯｸM-PRO, HGMaruGothicMPRO, sans-serif;
	font-weight: normal;
	position: relative;
	font-size: 18px;
	line-height: 1.6;
}
.pageTit-h3-line{
	color: #333;
	margin-bottom: 24px;
	margin-top: 24px;
	letter-spacing: 0.02em;
	font-weight:bold;
	position: relative;
	font-size: 16px;
	line-height: 1.6;
	border-bottom: 2px solid #f53d7e;
	display: inline-block;
	padding-bottom: 5px;
}
.wrap-lead{
  margin-bottom: 40px;
}
.wrap-lead p{
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 10px;
}
.wrap-lead p:last-child{
  margin-bottom: 0;
}


.table-basic-layout + .pageTit-h2,
.table-basic-layout + .pageTit-h3{
  margin-top: 57px;
}
ul + .pageTit-h3{
  margin-top: 57px;
}

@media all and (max-width: 768px) {
	.mainTit{
		font-size: 24px;
		margin-bottom: 17px;
	}
	.mainTit span:after{
			width: 141px;
	}
	.pageTit-h2{
			font-size: 18px;
	}
}





/* テーブル系のレイアウト */
.w5{
  width: 5%;
}
.w10{
  width: 10%;
}
.w15{
  width: 15%;
}
.w20{
  width: 20%;
}
.w30{
  width: 30%;
}
.w40{
  width: 40%;
}
.w45{
  width: 45%;
}
.w50{
  width: 50%;
}
.w55{
  width: 55%;
}
.w65{
  width: 65%;
}
.w70{
  width: 70%;
}


.table-basic-layout{
  width: 100%;
  border-top: 1px dotted #ccc;
}
.table-basic-layout th,
.table-basic-layout td{
  padding: 36px;
  border-bottom: 1px dotted #ccc;
  line-height: 1.6;
  box-sizing: border-box;
  font-size: 16px;
  color: #666;
  vertical-align: middle;
}
.table-basic-layout th{
  background: #fcf2f5;
  padding: 16px 16px 16px 16px;
	font-size: 14px;
}
.table-basic-layout{
  counter-reset:num;
}
.table-basic-layout th{
  counter-increment:num;
}
.table-basic-layout table th{
  counter-increment:none;
}
.table-basic-layout th:before{
  content: counter(num);
  margin-right: 5px;
}
.table-basic-layout.numoff th:before,
.table-basic-layout th.numoff:before{
  display: none;
}
.table-basic-layout table th:before{
  display: none;
}

.table-add-num ol{
  padding-left: 15px;
}
.table-add-num ol li{
  list-style-type: decimal;
}


/* テーブル1 */
.table-layout-contact{
  width: 100%;
  margin-bottom:12px;
  border-top: 1px dotted #ccc;
  border-right: 1px dotted #ccc;
}
p + .table-layout-contact{
  margin-top:12px;
}
.table-layout-contact th,
.table-layout-contact td{
  padding: 18px 18px;
  border-bottom: 1px dotted #ccc;
  border-left: 1px dotted #ccc;
  line-height: 1.6;
  box-sizing: border-box;
  font-size: 14px;
  color: #666;
}
.table-layout-contact th{
  background: #fafafa;
  vertical-align: middle;
  text-align: center;
  width: 30%;
}


/* テーブル2 */
.table-layout-torikeshi{
  width: 100%;
  margin:15px auto;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.table-layout-torikeshi th,
.table-layout-torikeshi td{
  padding: 15px 15px !important;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  line-height: 1.6;
  font-size: 14px;
  color: #666;
  vertical-align: middle;
}
.table-layout-torikeshi td.td-num{
  background: #eee;
  font-weight: bold;
  font-size: 13px;
}
.table-layout-torikeshi th{
  padding: 5px 5px !important;
  background: #eee;
  vertical-align: middle;
  text-align: center;
}
.table-layout-torikeshi + p{
  margin-top: 15px;
}


/* テーブル3 */
.table-layout-hoshokin{
  width: 100%;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.table-layout-hoshokin th,
.table-layout-hoshokin td{
  padding: 15px 15px;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  line-height: 1.6;
  font-size: 14px;
  color: #666;
  vertical-align: middle;
}
.table-layout-hoshokin th{
  padding: 5px 5px !important;
  background: #eee;
  text-align: center;
}

.table-layout-hoshokin .td-txt-jouken{
  text-align: left;
}
.table-layout-hoshokin + p{
  margin-top: 15px;
}


/* テーブル4 */
.table-layout-hoshokin-02{
  width: 100%;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.table-layout-hoshokin-02 th,
.table-layout-hoshokin-02 td{
  padding: 15px 15px;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  line-height: 1.6;
  font-size: 14px;
  color: #666;
  vertical-align: middle;
  text-align: center;
}
.table-layout-hoshokin-02 th{
  padding: 5px 5px !important;
  background: #eee;
  text-align: center;
}
.table-layout-hoshokin-02 .td-txt-jouken{
  text-align: left;
}
.table-layout-hoshokin-02 .td-per-before{
  text-align: center;
}
.table-layout-hoshokin-02 .td-per-after{
  text-align: center;
}
.table-layout-hoshokin-02 + p{
  margin-top: 15px;
}

.table-txt-hosoku{
  font-size: 14px;
  margin-bottom: 5px;
}



/* リスト系のレイアウト */
/*table ol{
  margin:12px 0;
  padding-left: 6px;
}
table td ol:last-child{
  margin-bottom: 0;
}
table ol li{
  list-style-type: decimal;
  margin-bottom: 5px;
}
table ol li:last-child{
  margin-bottom: 0;
}
table ol li ol{
  margin-bottom: 15px !important;
}
table ol ul{
  margin:10px 0;
}
table ol ul li{
  list-style: none;
}
li ul{
  margin-bottom: 15px !important;
  padding-left: 5px;
}*/

table ul li,
table ol li {
  margin-bottom: 10px;
}
table ul li:last-child,
table ol li:last-child {
  margin-bottom: 0;
}

.list { font-size: 14px; line-height: 1.73; margin:15px 0; }
.list + p{margin-top: 14px;}
.list > li { padding-left: 1em; text-indent: -1em;list-style: none;margin-bottom: 10px; }
.list li table td,
.list li table th{
  text-indent: initial;
}

/* 数字 */
.list-num{
  padding-left: 18px;
  margin:15px 0;
}
.list-num > li{
  list-style-type: decimal;
  font-size: 16px;
  line-height: 1.6;
}
.list-num > li:last-child{
  margin-bottom: 0;
}
.table-layout-torikeshi .list-num > li{
  font-size: 14px;
}
.table-layout-torikeshi .list-num:last-child{
  margin: 0;
}
/* 漢数字*/
.list-num.kanji {
	margin-left: 1rem;
}
.list-num.kanji > li {
	list-style-type: cjk-ideographic;
}


/* dl */
.list-dl{
  margin-bottom: 15px;
}
td .list-dl:last-child{
  margin-bottom: 0;
}

/* dl横並び（agreement） */
.dl-yoko dt,
.dl-yoko dd {
	float: left;
}
.dl-yoko dt {
	width: 5.5rem;
	padding-right: 0.5rem;
}
.dl-yoko dd {
	width: 100%;
	width: -webkit-calc(100% - 5.5rem);
	width: calc(100% - 5.5rem);
	margin-bottom: 0.3rem;
}
.dl-yoko dd + dt {
	clear: both;
}

/* ※印 */
.list-kome{
  margin:15px 0;
}
.list-kome > li{
  font-size: 14px;
  line-height: 1.6;
  position: relative;
  padding-left: 18px;
}
.list-kome > li:last-child{
  margin-bottom: 0px;
}
.list-kome > li:before{
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

/* 注意 */
.list-notice{
  margin-top: 40px;
  font-size: 14px;
}
.list-notice dd{
  margin-bottom: 10px;
}
.list-notice dd:last-child{
  margin-bottom: 0;
}

/* リストのスタイルオフ */
.list-off > li{
  list-style: none;
  padding-left: 1em;
  text-indent: -1em;
}

/* いろはに */
.list-iroha > li{
  list-style: none;
  list-style: katakana-iroha;
}
.list-iroha{
  margin:15px 0;
  padding-left: 1rem;
}
.list-iroha > li:last-child{
  margin-bottom: 0px;
}

/* かな */
.list-kana > li{
  list-style: none;
  list-style: katakana;
  list-style-position: inside;
}
.list-kana{
  margin:15px 0;
  padding-left: 10px;
}
.list-kana > li:last-child{
  margin-bottom: 0px;
}

/* アルファベット */
.list-alpha > li{
  list-style: none;
  list-style: lower-alpha;
  list-style-position: inside;
  padding-left: 1em; text-indent: -1em;
}
.list-alpha{
  margin:15px 0;
}
.list-alpha > li:last-child{
  margin-bottom: 0px;
}

/* Disc */
.list-disc {
	margin-top: 15px;
	margin-left: 1rem;
}
	.list-disc > li {
		list-style: disc;
	}
	.list-disc > li + li {
		margin-top: 0.5rem;
	}

/* ただのリスト */
.table-basic-layout ul {
	margin: 15px 0;
}
.table-basic-layout ul > li {
	font-size: 16px;
}
@media all and (max-width: 768px) {
	.table-basic-layout ul > li {
		font-size: 14px;
	}
}


.table-in-title{
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 15px;
  margin-top: 15px;
}


@media all and (max-width: 768px) {
	.w100-sp td,
	.w100-sp th{
		width: 100%;
		display: block;
	}
	.w100-sp td.w20,
	.w100-sp th.w20{
		width: 100%;
		display: block;
	}
	.w100-sp td table td,
	.w100-sp td table th{
		width: initial;
		display: table-cell;
		width: inherit;
	}
	.w100-sp td table.table-layout-torikeshi td.w20,
	.w100-sp td table.table-layout-torikeshi th.w20{
		display: table-cell;
		width: inherit;
	}


	.table-basic-layout{
		border-top: none;
	}
	.table-basic-layout th,
	.table-basic-layout td{
		padding: 10px 5px 16px 5px;
		border-bottom:none;
		font-size: 14px;
	}
	.table-basic-layout th {
		font-size: 13px;
	}
	.table-basic-layout th{
		padding:16px 16px 16px 16px;
		border-bottom: none;
		border-top: none;
	}
	.table-layout-torikeshi th,
	.table-layout-torikeshi td{
		padding: 10px 10px !important;
		border-bottom: 1px solid #ccc;
		border-left: 1px solid #ccc;
		font-size: 13px;
	}
	.table-layout-contact th{
		padding: 18px 8px;
		width: 50%;
	}
	.table-layout-hoshokin th,
	.table-layout-hoshokin td{
		padding: 10px 10px;
		font-size: 12px;
	}

	.list > li{
		font-size: 14px;
	}
	.list-num > li{
		font-size: 14px;
	}
	/* ※印 */
	.list-kome > li{
		font-size: 14px;
	}
	/* リストのスタイルオフ */
	.list-off > li{
		font-size: 14px;
	}
	/* いろはに */
	.list-iroha > li{
		font-size: 14px;
	}
	/* かな */
	.list-kana > li{
		font-size: 14px;
	}
	/* アルファベット */
	.list-alpha > li{
		font-size: 14px;
	}

}


.line-dotted-gray{
  border-bottom: 1px dotted #ccc;
}


.table-in-textlink{
  color: #666;
  text-decoration: none;
  position: relative;
  padding-left: 10px;
  display: inline-block;
  margin:5px 5px;
  font-size: 90%;
}
.list .table-in-textlink{
  text-indent: initial;
}
.table-in-textlink:before{
  content: "";
  border: 4px solid transparent;
  border-left: 4px solid #fff;
  position: absolute;
  left: -2px;
  top: 50%;
  margin-top: -4px;
  z-index: 1;
}
.table-in-textlink:after {
  content: "";
  border: 4px solid transparent;
  border-left: 4px solid #f74b77;
  position: absolute;
  left: 0px;
  top: 50%;
  margin-top: -4px;
}


.row-yakkanbtn > div{
	display: flex;
}
.btn-pagenav{
  background: #eae5e5;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #f35a90;
  font-weight: bold;
  text-align: center;
  padding:15px 5px;
  border-radius: 5px;
  margin:5px 0;
  position: relative;
  font-size: 16px;
  width: 100%;
  min-height: 80px;
}
.btn-pagenav small{
  display: inline !important;
  color: #666;
}
.btn-pagenav:hover{
  background: #f35a90;
  color: #fff;
  text-decoration: none;
}
.btn-pagenav.btn-active{
  background: #f35a90;
  color: #fff;
  text-decoration: none;
}
.btn-blank:after{
  content: "\f24d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -16px;
  font-size: 20px;
}
.btn-pdf:after{
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -16px;
  font-size: 20px;
}

.jisshi-dl{
  text-align: center;
  margin-bottom: 60px;
}
.jisshi-dl dt{
  margin-bottom: 10px;
}
.jisshi-dl dd{
  margin-bottom: 3px;
}

@media all and (max-width: 768px) {
	.btn-pagenav{
		padding:5px 5px;
		margin:6px 0;
		font-size: 14px;
	}
}


.modal-header .close{
  padding: 0.8rem 1rem 1rem 1rem;
}
.wrap-gmap{
  margin:15px auto;
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.wrap-gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.title-address{
  font-weight: bold;
  margin-bottom: 5px;
}




.ver-privacy article p{
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 10px;
}
.ver-privacy .basic-layout{
  border-bottom: 1px dotted #ccc;
  padding-bottom: 60px;
}
@media all and (max-width: 768px) {
	.ver-privacy .basic-layout{
		padding-bottom: 24px;
	}
	.ver-privacy .pageTit-h2{
		margin-bottom: 24px;
	}
	.ver-privacy .pageTit-h3{
		margin-bottom: 12px;
	}
}

/* 注意事項枠
--------------------------------------------------------- */
.frame-info {
	border: 1px solid #666;
	border-radius: 0.25rem;
	margin: 1rem 0;
	padding: 1rem;
}
@media(max-width:767px) {
	.frame-info {
		padding: 0.5rem;
	}
}
.frame-info.red {
	border-color: #dc3545;
}
.frame-info p + p {
	margin-top: 0.8rem;
}
.info-bunsya {
	justify-content: center;
}
.info-bunsya a,
a.txt-link {
	color: #212529;
	text-decoration: underline;
}

/* 分社化の注意文 */
@media all and (max-width: 768px) {
	.info-bunsya .frame-info {
		margin-left: 15px;
		margin-right: 15px;
	}
}
/* 各旅行条件書ナビ
--------------------------------------------------------- */
.nav-page {
	margin: 0 -15px 60px;
}
@media all and (max-width: 575px) {
	.nav-page {
		margin: 0 0 24px;
	}
}
.nav-page > div {
	margin: 12px 0;
	text-align: center;
}
@media all and (max-width: 575px) {
	.nav-page > div {
		margin: 6px 0;
		padding: 0;
	}
}
.nav-page > div a {
	background: #eae5e5;
	border-radius: 5px;
	display: block;
	padding: 28px;
	color: #f35a90;
	font-weight: bold;
	width: 100%;
	height: 100%;
}
@media all and (max-width: 768px) {
	.nav-page > div a {
		padding: 16px;
	}
}
	.nav-page > div span {
		font-weight: normal;
		color: #000;
	}

/* ※印(p) */
.mark-note {
	text-indent: -1rem;
	margin-left: 1rem;
}





.wrap-scroll-conditionsheet{
	margin-bottom: 10px;
}
.nav-conditionsheet{
  display: flex;
}
.nav.nav-conditionsheet{
	flex-wrap: nowrap;
}
.nav-tabs.nav-conditionsheet{
	border:none;
}
.nav-tabs.nav-conditionsheet .nav-item.show .nav-link,
.nav-tabs.nav-conditionsheet .nav-link.active{
	background: #f35a90;
	color: #fff;
	border:none;
}
.nav-tabs.nav-conditionsheet .nav-item{
	margin:0;
	width: 16.66%;
	display: flex;
	justify-content: center;
	border:solid 1px #fff;
}
.nav-tabs.nav-conditionsheet .nav-item + .nav-item{
	border-left:none;
}
.nav-tabs.nav-conditionsheet .nav-link{
	border:none;
	border-radius: 0;
	background: #eae5e5;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	padding: 15px 10px;
	font-size: 16px;
	flex-wrap: wrap;
	color: #333;
	line-height: 1.2;
	border-radius: 4px;
}
.nav-tabs.nav-conditionsheet .nav-link small{
	display: block;
	width: 100%;
}
.tab-conditionsheet{
	padding: 0;
}
@media all and (max-width: 768px) {
.wrap-scroll-conditionsheet{
  overflow-x: scroll;
  padding-bottom: 10px;
}
.nav-conditionsheet{
  width: 580px;
  display: flex;
}
.nav-tabs.nav-conditionsheet .nav-link{
	padding: 8px 5px;
	font-size: 13px;
}
}