@charset "utf-8";

:root {
  --sky-blue: #001871;
  --navy: #052981;
  --light-blue: #00ace7;
}

/* ------------------------------------------------------ */
/* common */
/* ------------------------------------------------------ */
.twk nav {
  all: unset;
}
#contents {
  padding: 55px 0 20px;
}
#contents .topicPath {
  padding: 0 10px;
}
#contents .twk {
  font-size: 15px;
  font-family: "Zen Kaku Gothic Antique", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
  font-style: normal;
  font-weight: 300;
}

/* ------------------------------------------------------ */
/* kv & lead & nav */
/* ------------------------------------------------------ */
.kv *,
.lead .indent,
.lead .indent * {
  width: 1px;
  height: 1px;
  display: inline-block;
  text-align: left;
  text-indent: -100vw;
  overflow: hidden;
}
.kv {
  width: 100vw;
  height: 52.5vw;
  background: url("/ja/campaign/travel-with-kids/img/kv.png") no-repeat 50% 0 / cover;
}
.lead {
  width: 100vw;
  padding: 115vw 2.6vw 8vw;
  background: #7BCFE7 url("/ja/campaign/travel-with-kids/img/lead_image.png") no-repeat 50% 8vw / 93% auto;
}
.lead section section {
  padding: 5vw 0;
  font-size: 11.5px;
  text-align: center;
  background: #ffffff;
  border-radius: 10px;
}
.lead section section p {
  padding: 0;
}
.lead nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.lead nav ul li {
  width: 107px;
  height: 40px;
  margin: 10px 5px 0;
  line-height: 40px;
  display: inline-block;
  background: url("/ja/campaign/travel-with-kids/img/nav1.svg") no-repeat 50% 50% / contain;
}
.lead nav ul li:has(span) {
  line-height: 12px;
  background-image: url("/ja/campaign/travel-with-kids/img/nav2.svg");
}
.lead nav ul li:has(span) a {
  padding: 5px 0;
}
.lead nav ul li:not(:has(span)) {
  position: relative;
} 
.lead nav ul li:not(:has(span))::after {
  content: '';
  width: 26px;
  height: 18px;
  display: inline-block;
  position: absolute;
  bottom: 37px;
  left: 41px;
  background: no-repeat 50% 100% / contain;
}
.lead nav ul li:first-of-type::after { background-image: url("/ja/campaign/travel-with-kids/img/illust1.svg"); }
.lead nav ul li:nth-of-type(2)::after { background-image: url("/ja/campaign/travel-with-kids/img/illust2.svg"); }
.lead nav ul li:nth-of-type(3)::after { background-image: url("/ja/campaign/travel-with-kids/img/illust3.svg"); }
.lead nav ul li a {
  width: 100%;
  color: #333333;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}
.lead nav ul li a span {
  width: 100%;
  font-size: 10px;
  display: inline-block;
}

/* ------------------------------------------------------ */
/* mainContent */
/* ------------------------------------------------------ */
article > section {
  width: 100%;
  padding: 30px 2.6vw;
  text-align: center;
  display: block;
  clear: both;
}
#ancRes,
#ancOB,
#ancCLM { background-color: #ffffff; }
#ancAP  { background-color: #D7EFF9; }
#ancFare  { background-color: #FDF5CD; }

article > section h2,
.lead section section h3 {
  padding: 0 32px 10px; 
  color: var(--navy);
  font-size: 20px;
  display: inline-block;
  background: url("/ja/campaign/travel-with-kids/img/underline1.svg") repeat-x 0 100% / 15px auto;
  position: relative;
}
.lead section section h3 {
  margin: 20px 0 15px;
  padding: 0 14px 10px; 
}
article > section#ancFare h2,
article > section#ancCLM h2 {
  padding: 0 16px 10px;
}
article > section h2::before,
article > section h2::after {
  content: '';
  width: 25px;
  height: 18px;
  background: no-repeat 50% 50% / contain;
  display: inline-block;
  position: absolute;
  bottom: 15px;
}
article > section h2::before { left: 0; }
article > section h2::after { right: 5px; }
article > #ancRes h2::before { background-image: url("/ja/campaign/travel-with-kids/img/illust4.svg"); }
article > #ancRes h2::after { background-image: url("/ja/campaign/travel-with-kids/img/illust5.svg"); width: 30px; }
article > #ancAP h2::before { background-image: url("/ja/campaign/travel-with-kids/img/illust6.svg"); }
article > #ancAP h2::after { background-image: url("/ja/campaign/travel-with-kids/img/illust7.svg"); }
article > #ancOB h2::before { background-image: url("/ja/campaign/travel-with-kids/img/illust8.svg"); height: 25px; }
article > #ancOB h2::after { background-image: url("/ja/campaign/travel-with-kids/img/illust3.svg"); width: 28px; }

article > section h2 span {
  color: var(--light-blue);
  font-size: 12px;
  font-weight: 700;
  display: block;
}
article > section h2 
article > section ol {
  text-align: left;
}
article > section ol li {
  width: 100%;
  min-height: calc(23vw + 100px);
  display: block;
  clear: both;
}
article > section ol li section {
  line-height: 156%;
  text-align: left;
}
article > section ol li section p small {
  padding: 5px 0 0;
  line-height: 145%;
  display: inline-block;
}
article > section ol li section h3 {
  width: 100%;
  min-height: 60px;
  margin: 23px 0;
  padding: 7px 0 10px 60px;
  color: var(--navy);
  border-radius: 10px;
  position: relative;
  display: flex;
  align-items: center;
  background: no-repeat 0 0 / auto 60px;
}
article > section ol li section h3:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
}
#ancRes ol li section h3 { background-color: #fbf6de; }
#ancRes ol li section h3:before { border-top: 10px solid #fbf6de; }
#ancAP ol li section h3 { background-color: #ecf6fb; }
#ancAP ol li section h3:before { border-top: 10px solid #ecf6fb; }
#ancOB ol li section h3 { background-color: #e9f6fb; }
#ancOB ol li section h3:before { border-top: 10px solid #e9f6fb; }
#ancRes ol li:nth-of-type(1) section h3 { background-image: url("/ja/campaign/travel-with-kids/img/num1_1.svg"); }
#ancRes ol li:nth-of-type(2) section h3 { background-image: url("/ja/campaign/travel-with-kids/img/num1_2.svg"); }
#ancRes ol li:nth-of-type(3) section h3 { background-image: url("/ja/campaign/travel-with-kids/img/num1_3.svg"); }
#ancAP ol li:nth-of-type(1) section h3 { background-image: url("/ja/campaign/travel-with-kids/img/num2_1.svg"); }
#ancAP ol li:nth-of-type(2) section h3 { background-image: url("/ja/campaign/travel-with-kids/img/num2_2.svg"); }
#ancAP ol li:nth-of-type(3) section h3 { background-image: url("/ja/campaign/travel-with-kids/img/num2_3.svg"); }
#ancOB ol li:nth-of-type(1) section h3 { background-image: url("/ja/campaign/travel-with-kids/img/num3_1.svg"); }
#ancOB ol li:nth-of-type(2) section h3 { background-image: url("/ja/campaign/travel-with-kids/img/num3_2.svg"); }
#ancOB ol li:nth-of-type(3) section h3 { background-image: url("/ja/campaign/travel-with-kids/img/num3_3.svg"); }
#ancOB ol li:nth-of-type(4) section h3 { background-image: url("/ja/campaign/travel-with-kids/img/num3_4.svg"); }
#ancOB ol li:nth-of-type(5) section h3 { background-image: url("/ja/campaign/travel-with-kids/img/num3_5.svg"); }

article > section ol li section h3 span {
  font-size: 15.8px;
  line-height: 21px;
  display: inline-block;
}
article > section ol li section h3 span strong {
  display: inline;
  background: linear-gradient(to bottom, transparent 50%, #ffed29 51%);
}
article > section ol li section h3 sup {
  font-size: 0.6em;
}
article > section ol li p > img {
  width: 30vw;
  margin: 0 3vw 0 0;
  border-radius: 6px;
  float: left;
}
article > section [class^="voice"] {
  display: flex;
  padding: 18px 0 0 0;
}
article > section .voice2 {
  padding: 0;
}
article > section [class^="voice"] img {
  width: 60px;
  height: 60px;
  border-radius: 30px;
}
article > section [class^="voice"] .balloon {
  position: relative;
  display: inline-block;
  padding: 8px 10px 6px;
  min-width: 120px;
  max-width: 100%;
  min-height: 55px;
  color: #333333;
  font-size: 12px;
  text-align: left;
  background: #ffffff;
  border-radius: 16px;
  box-sizing: border-box;
}
article > section [class^="voice"] .balloon::before {
  content: "";
  position: absolute;
  top: 25px;
  margin-top: -9px;
  border: 9px solid transparent;
  z-index: 2;
}
article > section [class^="voice"] .balloon::after {
  content: "";
  position: absolute;
  top: 25px;
  margin-top: -10px;
  border: 10px solid transparent;
  z-index: 1;
}
article > section [class^="voice"] .balloon span {
  padding: 0 5px;
  color: #ffffff;
  display: inline-block;
  position: absolute;
  top: -18px;
}
article > section .voice1 img { border: 2px solid var(--light-blue); }
article > section .voice1 .balloon { margin: 0 0 0 10px; border: solid 2px var(--light-blue); }
article > section .voice1 .balloon::before { border-right: 9px solid #ffffff; left: -17px; }
article > section .voice1 .balloon::after { border-right: 10px solid var(--light-blue); left: -21px; }
article > section .voice1 .balloon span { background: var(--light-blue); }
article > section .voice2 img { border: 2px solid #f7a500; }
article > section .voice2 .balloon { margin: 0 10px 0 0; border: solid 2px #f7a500; }
article > section .voice2 .balloon::before { border-left: 9px solid #ffffff; right: -17px; }
article > section .voice2 .balloon::after { border-left: 10px solid #f7a500; right: -21px; }
article > section .voice2 .balloon span { background: #f7a500; }


/* ------ */
/* ancOB */
/* ------ */
#ancOB ol li section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#ancOB ol li section p {
  width: 68vw;
} 
#ancOB ol li section .img {
  width: 23vw;
}
#ancOB ol li section .img img {
  margin: 0 0 5px;
  border-radius: 6px;
}
#ancOB .voice1 {
  margin: 15px 0 20px;
}

/* ------- */
/* ancFare */
/* ------- */
#ancFare > p {
  padding: 10px 0;
  font-size: 15px;
}
#ancFare .voice1 {
  margin: 10px 0 20px;
}
#ancFare table {
  font-size: 13px;
  border: none;
  border-collapse: separate;
  border-spacing: 3px;
}
#ancFare table tr > * {
  padding: 5px;
  border-radius: 6px;
}
#ancFare table th {
  background: #ffe100;
}
#ancFare table td {
  background: #ffffff;
}
#ancFare table tr:first-of-type th:first-of-type,
#ancFare table tr:last-of-type > * {
  padding: 5px 0;
  background: none;
}
#ancFare table tr .sub {
  font-size: 11px;
  letter-spacing: -0.05em;
}
#ancFare table th img {
  width: 80%;
}
#ancFare table tr:nth-of-type(2) td { 
  color: #00a682;
  font-size: 26px;
  font-weight: 900;
  line-height: 30px;
}
#ancFare table tr:nth-of-type(2) td:last-of-type {
  color: #768085;
  font-size: 30px;
  font-weight: 700;
}
#ancFare table tr:nth-of-type(2) td sup {
  color: #333333;
  font-size: 10px;
}
#ancFare table tr:first-of-type th:nth-of-type(2),
#ancFare table tr:first-of-type th:nth-of-type(3) { width:31%; }
#ancFare table tr:nth-of-type(3) td { font-size: 11px; }
#ancFare table tr:nth-of-type(3) td strong { font-size: 18px; letter-spacing: -2px; }
#ancFare table tr:nth-of-type(4) td { font-size: 15px; }
#ancFare table tr:last-of-type a {
  width: 100%;
  padding: 8px 0;
  color: #333333;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-align: center;
  text-decoration: none;
  border-radius: 15px;
  background: #ffe100;
  display: inline-block;
}
#ancFare dl {
  padding: 0 0 10px;
  font-size: 12px;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#ancFare dl dt {
  width: 8%;
}
#ancFare dl dd {
  width: 92%;
}
#ancFare .buttonArea {
  padding: 5px 0;
}
#ancFare .buttonArea a {
  margin: 5px 0;
  width: 100%;
  height: 40px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 500;
  line-height: 40px;
  text-align: center;
  text-decoration: none;
  border-radius: 6px;
  background: var(--sky-blue);
  display: inline-block;
}

/* ------ */
/* ancCLM */
/* ------ */
#ancCLM .bgBalloon {
  margin: 20px 0 5px;
  padding: 25px 15px 50px;
  font-size: 12px;
  background: url("/ja/campaign/travel-with-kids/img/balloon.svg?ver=5") no-repeat 50% 0 / contain;
}
#ancCLM [class^="voice"],
#ancCLM .txt {
  margin: 0 0 15px;
}
#ancCLM [class^="voice"] .balloon p,
#ancCLM .txt {
  font-size: 14px;
  text-align: left;
}
#ancCLM .txt {
  padding: 0 10px 0 15px;
  line-height: 170%;
}
#ancCLM .cmImage {
  width: 85%;
  margin: 10px auto 20px;
  border-radius: 6px;
}
#ancCLM .cmImage:first-of-type {
  margin: 2px 0 20px;
}
#ancCLM .wrapUp,
#ancCLM .member {
  margin: 15px 0 30px;
  position: relative;
}
#ancCLM .wrapUp { background: #fdf5cd; }
#ancCLM .member { background: #d7eff9; }
#ancCLM .wrapUp::after,
#ancCLM .member::after {
  content: '';
  width: 30px;
  height: 30px;
  background: no-repeat 50% 100% / contain;
  position: absolute;
  top: -22px;
  left: 15px;
}
#ancCLM .wrapUp::after { background-image: url("/ja/campaign/travel-with-kids/img/illust9.svg"); }
#ancCLM .member::after { background-image: url("/ja/campaign/travel-with-kids/img/illust10.svg"); }
#ancCLM section h3 {
  width: 80%;
  padding: 8px 0 10px; 
  color: var(--navy);
  font-size: 15px;
  background: repeat-x 0 100% / 15px auto;
  display: inline-block;
}
#ancCLM .wrapUp h3 { background-image: url("/ja/campaign/travel-with-kids/img/underline2.svg"); }
#ancCLM .member h3 { background-image: url("/ja/campaign/travel-with-kids/img/underline3.svg"); }
#ancCLM .wrapUp p {
  padding: 10px 15px;
  font-size: 12px;
  text-align: left;
}
#ancCLM .member ul {
  padding: 10px;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  justify-content: right;
}
#ancCLM .member ul li {
  padding: 5px 5px 5px 0;
  font-size: 9px;
  display: flex;
}
#ancCLM .member ul li:nth-child(2n+1) {width: 51%;}
#ancCLM .member ul li:nth-child(2n) {width: 47%;}
#ancCLM .member ul li p {
  padding: 5px 0 0 5px;
}
#ancCLM .member ul li small {
  font-size: 9px;
  letter-spacing: -0.1em;
}
#ancCLM .member ul li span {
  font-size: 12px;
  display: block;
}
#ancCLM .member ul li img {
  width: 60px;
  height: 60px;
  border-radius: 30px;
  border: 2px solid var(--light-blue);
}

/* ------ */
/* aside */
/* ------ */
.twk aside {
  width: 75%;
  margin: 10px auto;
}
.twk aside a {
  margin: 20px 0;
  text-decoration: none;
  display: inline-block;
}
.twk aside img {
  margin: 0 0 5px 0;
}

/* ------------------------------------------------------ */
/* inquiryBlock */
/* ------------------------------------------------------ */
.rsvBlock {
  position: relative;
  margin: 0 auto 0;
  padding: 10px 5px 0;
  background-color: #e9f3fb;
  border-radius: 8px;
  text-align: left;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", YuGothic, "Yu Gothic medium", Meiryo, "sans-serif";
}
.rsvBlock h3:before {
  width: 28px;
  height: 28px;
  margin-right: 8px;
  top: 10px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="rgb(0, 24, 113)" viewBox="0 0 498 498"><path class="cls-1" d="M249,0C111.48,0,0,111.48,0,249s111.48,249,249,249,249-111.48,249-249S386.52,0,249,0ZM135.24,138.41l16.83-4.72,27.52-7.85c1.98-.6,4.04-.81,6.1-.6,1.97.2,3.86.76,5.62,1.67l124,49.55-.18.06.14.05-39.35,11.86-50.39,15.3-90.36-65.23.15-.04-.08-.06ZM397.75,239.98l-63.72,18.05-68.32,104.51c-.92,1.75-2.14,3.31-3.64,4.6-1.57,1.36-3.37,2.37-5.34,3.02l-43.64,15.13,35.74-103.04-29.16,8.2-51.37,14.55-1.24-.19c-3.07-.48-87.19-9.67-93.61-11.16-6.14-1.43-12.9-6.65-13.1-12.61-.12-3.53,2.12-6.51,5.7-7.6l36.73-9.53-9.47-9.91-19.55-20.28.12-.05-.04-.04,9.86-3.68,25-9.47,49.66,26.56,218.79-69.98c31.83-7.83,66.71,9.44,65.83,22.16-.77,11.1-13.45,31.11-45.24,40.77Z"></path></svg>');
}
.rsvBlock h3 span {
  padding: 0 0 0 36px;
  color: var(--sky-blue);
}
