/* ==============================
- less setting
============================== */
/* color
---------------------*/
/* flex関連
---------------------*/
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
.justify-content_space-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.flex-wrap_wrap {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
/*footer,
header,*/
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
}
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-family: "Hiragino Sans", "メイリオ", Meiryo, sans-serif;
  color: #333;
  font-size: 9pt;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}
body {
  background-color: #FFF;
  max-width: 100vw; /* ビューポート幅の100%に設定 */
  overflow-x: hidden; /* 横方向のスクロールバーを非表示 */
}
ul {
  list-style: none;
}
table,
th,
td {
  border-collapse: collapse;
  border-spacing: 0;
}
table {
  width: 100%;
  border: 1px solid #e2e2e2;
  margin: 10px 0;
}
table th,
table td {
  border: 1px solid #e2e2e2;
  padding: 10px !important;
  vertical-align: middle;
}
table th {
  text-align: center;
  font-weight: bold;
  background: #f3f3f3;
}
.mt5 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.fb {
  font-weight: bold !important;
}
.fn {
  font-weight: normal !important;
}
.txtl {
  text-align: left !important;
}
.txtc {
  text-align: center !important;
}
.txtr {
  text-align: right !important;
}
.f_s11 {
  font-size: 11px !important;
}
.f_s12 {
  font-size: 12px !important;
}
.PrevArea {
  position: relative;
}
@media screen and (min-width: 769px) {
  .PrevArea {
    width: 210mm;
    margin: auto;
    padding: 30px 0;
  }
}
@media screen and (max-width: 768px) {
  .PrevArea {
    padding: 10px;
  }
}
.PrevArea .PTl {
  font-size: 10pt;
  padding: 5px 10px;
  font-weight: bold;
  margin-bottom: 10px;
  background: #000;
  color: #FFF;
}
.PrevArea .ChapTl {
  text-align: center;
  font-weight: bold;
  margin: 30px 0;
}
.PrevArea .Effect {
  text-align: right;
}
.ConIn dt {
  font-weight: bold;
  margin-bottom: 10px;
}
.ConIn dd {
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .ConIn dd {
    padding-left: 20px;
  }
}
.ConIn dd:last-of-type {
  margin-bottom: 0;
}
.NuTxt li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.NuTxt li:last-of-type {
  margin-bottom: 0;
}
.NuTxt li .Nu {
  width: 23px;
}
.NuTxt li .Nu.Doubd {
  width: 34px;
}
.NuTxt li .Nu.Doubd + .Txt {
  width: -webkit-calc(100% - 34px);
  width: calc(100% - 34px);
}
.NuTxt li .Txt {
  width: -webkit-calc(100% - 23px);
  width: calc(100% - 23px);
}
.NuTxt li .ChilB {
  margin-top: 3px;
  padding-left: 23px;
}
.NuTxt li .ChilB .Chil {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
.NuTxt li .ChilB .Chil .ChNu {
  width: 23px;
}
.NuTxt li .ChilB .Chil .ChNu.Doubd {
  width: 34px;
}
.NuTxt li .ChilB .Chil .ChNu.Doubd + .Txt {
  width: -webkit-calc(100% - 34px);
  width: calc(100% - 34px);
}
.NuTxt li .ChilB .Chil .ChTxt {
  width: -webkit-calc(100% - 23px);
  width: calc(100% - 23px);
}
.NuTxt.CauKanzi li .Nu {
  width: 30px;
}
.NuTxt.CauKanzi li .Txt {
  width: -webkit-calc(100% - 30px);
  width: calc(100% - 30px);
}
.InfoB {
  width: 100%;
  border: 1px solid #e2e2e2;
  padding: 10px;
}
a {
  color: #036EB8;
}
a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .Tb_Scroll {
    overflow: auto;
    white-space: nowrap;
  }
  .Tb_Scroll::-webkit-scrollbar {
    height: 5px;
  }
  .Tb_Scroll::-webkit-scrollbar-track {
    background: #F1F1F1;
  }
  .Tb_Scroll::-webkit-scrollbar-thumb {
    background: #BCBCBC;
  }
}
/*************************
 募集型企画旅行 / 旅行条件書
*************************/
#tour_joken .CancelUni .Cldate {
  width: 40%;
}
#tour_joken .CancelUni .Clrate {
  width: 60%;
}
#tour_joken .IgUni .IgCg {
  width: 76%;
}
/*************************
 募集型企画旅行契約の部
*************************/
#bosyu_keiyaku .CancelUni .Kubun {
  width: 50%;
}
#bosyu_keiyaku .CancelUni .Cl {
  width: 50%;
}
#bosyu_keiyaku .IgUni .IgCg {
  width: 76%;
}
/*************************
 特別補償規定
*************************/
/*************************
 国内旅行傷害保険
*************************/
#hoken .PrevArea {
  page-break-after: always;
}
#hoken .PrevArea:last-of-type {
  page-break-after: auto;
  /* 最後のページの改ページを防ぐ */
}
#hoken .AllCen {
  text-align: center;
}
#hoken .AllCen tr:first-of-type th:first-of-type {
  width: 32%;
}
#hoken .AllCen tr:nth-child(2) td:first-of-type {
  width: 40px;
}
@media screen and (max-width: 768px) {
  #hoken .AllCen th,
  #hoken .AllCen td {
    font-size: 12px;
  }
}
@media screen and (min-width: 769px) {
  #hoken .AllCen th,
  #hoken .AllCen td {
    font-size: 9pt;
  }
}
#hoken .PerPerson {
  text-align: center;
  background: #f3f3f3;
  padding: 10px;
  margin-bottom: 20px;
}
#hoken .PerPerson .Item {
  margin-right: 10px;
}
#hoken .PerPerson .Fee {
  font-size: 16pt;
  font-weight: bold;
}
#hoken .HokenCanp {
  text-align: right;
}
/* 印刷プレビューのみ */
@page {
  size: A4;
  margin: 20mm 10mm;
}
@media print {
  #header,
  #footer,
  .Breadcrumb {
    display: none;
  }
  a {
    color: #333;
  }
  .Main {
    padding: 0;
  }
  .Content {
    max-width: auto;
  }
  .PrevArea {
    width: 210mm;
    padding: 0 30px;
    color: #000;
  }
}
