html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font: inherit;
  list-style: none;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1;
}
article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
nav ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote before,
blockquote after,
q before,
q after {
  content: '';
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  vertical-align: bottom;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}
button {
  background-color: transparent;
  cursor: pointer;
  padding: 0;
}
body {
  font-family: Noto Sans JP, sans-serif;
  color: #555;
}
a,
a:visited {
  color: #fff;
  text-decoration: none;
}
a:hover {
  color: #1fb1e6;
}
p,
li {
  line-height: 1.52;
}
small {
  line-height: 1.4;
}
img {
  max-width: 100%;
  height: auto;
}
header.header {
  height: 78px;
}
@media only screen and (max-width: 767px) {
  header.header {
    height: 60px;
    align-content: center;
  }
}
header.header .header-inner {
  margin: 0 auto;
  padding: 17px 0;
  max-width: 1140px;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  header.header .header-inner {
    padding: 15px;
    text-align: left;
  }
  header.header .header-inner:after {
    content: 'チューリッヒ保険会社';
    margin-left: 10px;
    font-size: 10px;
    color: #23366f;
  }
}
header.header .header-inner a {
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  header.header .header-inner a {
    margin: 0;
  }
}
header.header .header-inner a .logo {
  width: 165px;
  height: 42px;
}
@media only screen and (max-width: 767px) {
  header.header .header-inner a .logo {
    width: 100px;
    height: auto;
  }
}
header.header .header-inner .header-sub-title {
  font-size: 0.8rem;
  color: #23366f;
}
.camp-end {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .camp-end {
    font-size: 13px;
  }
}
footer {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  height: 60px;
  background: #fff;
  display: flex;
  justify-content: space-between;
  color: #23366f;
  font-size: 0.875rem;
}
@media only screen and (max-width: 767px) {
  footer {
    font-size: 0.75rem;
    padding-top: 10px;
  }
}
footer .nav {
  margin-left: 15px;
}
@media only screen and (max-width: 767px) {
  footer .nav {
    align-content: end;
  }
}
footer .nav .wrap {
  position: relative;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 1.25rem 0;
  max-width: 900px;
}
@media only screen and (max-width: 767px) {
  footer .nav .wrap {
    max-width: 100%;
  }
}
footer .nav .wrap ul {
  float: left;
}
@media only screen and (max-width: 767px) {
  footer .nav .wrap ul {
    display: flex;
    float: none;
    margin: 0 auto;
    text-align: center;
    line-height: 2;
  }
}
footer .nav .wrap ul li {
  display: inline-block;
  padding-right: 0.8em;
  vertical-align: middle;
  line-height: 1;
  text-decoration: underline;
}
@media only screen and (max-width: 767px) {
  footer .nav .wrap ul li {
    margin-right: 0.6em;
    padding-right: 0em;
  }
}
footer .nav .wrap ul li a {
  color: #23366f;
  text-decoration: none;
}
footer .nav .wrap ul li a:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 767px) {
  footer .nav .wrap ul li a {
    font-size: 0.75rem;
  }
}
footer .copy-wrap {
  margin-right: 15px;
  align-content: center;
}
footer .copy-wrap .copyright {
  display: flex;
  gap: 20px;
}
@media only screen and (max-width: 767px) {
  footer .copy-wrap .copyright {
    flex-direction: column;
    text-align: right;
  }
}
@media only screen and (max-width: 767px) and (max-width: 500px) {
  footer {
    height: 100%;
    display: flex;
    flex-direction: column-reverse;
    padding-top: 20px;
  }
}
h2 {
  width: fit-content;
  display: flex;
  gap: 5px;
  margin: 0 auto;
  text-align: center;
  font-size: clamp(22px, 2.777777777777778vw, 40px);
  font-weight: 700;
  color: #333;
}
h2:before {
  content: '';
  display: block;
  width: 3.5vw;
  height: 3vw;
  max-width: 3.5rem;
  max-height: 3rem;
  min-width: 2rem;
  min-height: 1.5rem;
  background-image: url("/-/media/jpz/zrh/campaign/travel2401/images/logo_bag.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
h3 {
  line-height: 1em;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  color: #23366f;
}
@media only screen and (max-width: 767px) {
  h3 {
    font-size: 1.625rem;
  }
}
.button-p {
  display: flex;
  justify-content: center;
  gap: 20px;
  font-size: 28px;
  font-weight: 700;
  color: #333;
}
@media only screen and (max-width: 767px) {
  .button-p {
    font-size: 20px;
  }
}
.button-p:before {
  content: '';
  display: inline-block;
  width: 2px;
  height: 45px;
  background-color: #333;
  border-radius: 2px;
  transform: rotate(-45deg);
}
@media only screen and (max-width: 767px) {
  .button-p:before {
    height: 30px;
  }
}
.button-p:after {
  content: '';
  display: inline-block;
  width: 2px;
  height: 45px;
  background-color: #333;
  border-radius: 2px;
  transform: rotate(45deg);
}
@media only screen and (max-width: 767px) {
  .button-p:after {
    height: 30px;
  }
}
.button {
  display: flex;
  justify-content: center;
  width: 100%;
  color: #fff;
  font-weight: 700;
  align-items: center;
  background-color: #f69c00;
  border: 1px solid #f69c00;
}
.button:hover {
  color: #fff;
  background-color: rgba(246,156,0,0.8);
}
.button:after {
  content: '';
  margin-left: 10px;
  background-image: url("/-/media/jpz/zrh/campaign/travel2401/images/logo_blank.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
small {
  display: block;
  margin-top: 1em;
}
li.none,
list-style none.none {
  list-style: none;
}
li.num,
list-style none.num {
  list-style: auto;
  list-style-position: inside;
}
details summary::-webkit-details-marker {
  display: none;
}
.sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}
.arrow::after {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: #23366f #23366f transparent transparent;
  transform: rotate(135deg);
  position: relative;
  top: -4px;
  left: 4px;
}
.is-up span::after {
  transform: rotate(315deg);
  top: 4px;
}
.blue-box {
  background-color: #fff;
  border-radius: 6px;
}
.efc__sdw {
  filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.25));
}
.efc__rtt10 {
  transform: rotate(5deg);
}
.fl-r {
  float: right;
}
.fl-l {
  float: left;
}
.fl-cl {
  clear: both;
}
.txt-r {
  text-align: right;
}
.txt-c {
  text-align: center;
}
.txt_small {
  font-size: 0.86rem;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb-1em {
  margin-bottom: 1em;
}
.pt-1em {
  padding-top: 1em;
}
section.mv h1.mv-img {
  position: relative;
  height: 620px;
  background-image: url("/-/media/jpz/zrh/campaign/travel2401/images/img_mv.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media only screen and (max-width: 767px) {
  section.mv h1.mv-img {
    height: 80vw;
    background-image: url("/-/media/jpz/zrh/campaign/travel2401/images/img_mv-sp.png");
    background-size: contain;
    background-position: top;
    background-color: #2167ae;
  }
}
section.mv h1.mv-img .mv-txt {
  width: 640px;
  height: 330px;
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  background-image: url("/-/media/jpz/zrh/campaign/travel2401/images/img_mv-card.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  font-weight: 700;
  color: #23366f;
}
@media only screen and (max-width: 767px) {
  section.mv h1.mv-img .mv-txt {
    width: 100vw;
    height: 45vw;
  }
}
section.mv h1.mv-img .mv-txt .tag {
  width: 77%;
  margin: -10px auto 0 auto;
  border-radius: 30px;
  line-height: 2.5em;
  box-shadow: 0 0 6px rgba(35,54,111,0.082);
  background-color: #fff673;
  font-size: 1.5rem;
  font-weight: 700;
  color: #333;
}
@media only screen and (max-width: 767px) {
  section.mv h1.mv-img .mv-txt .tag {
    width: 65%;
    margin: -5px auto 0 auto;
    font-size: clamp(0.8rem, 3vw, 1.5rem);
  }
}
@media only screen and (max-width: 767px) and (max-width: 500px) {
  section.mv h1.mv-img .mv-txt .tag {
    width: 70%;
  }
}
@media only screen and (max-width: 767px) and (max-width: 500px) and (max-width: 375px) {
  section.mv h1.mv-img .mv-txt .tag {
    width: 73%;
    margin: 0 auto;
  }
}
section.mv h1.mv-img .mv-txt p.txt {
  padding-top: 5px;
  font-size: 1.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  section.mv h1.mv-img .mv-txt p.txt {
    padding-top: 2.5vw;
    font-size: clamp(0.8rem, 3vw, 1.5rem);
  }
}
@media only screen and (max-width: 767px) and (max-width: 500px) {
  section.mv h1.mv-img .mv-txt p.txt {
    padding-top: 2vw;
  }
}
@media only screen and (max-width: 767px) and (max-width: 500px) and (max-width: 375px) {
  section.mv h1.mv-img .mv-txt p.txt {
    padding-top: 0.5vw;
  }
}
section.mv h1.mv-img .mv-txt span.X {
  display: inline-block;
  width: 35px;
  height: 35px;
  border-radius: 5px;
  color: #fff;
  background-color: #000;
  align-content: center;
  line-height: 1em;
}
@media only screen and (max-width: 767px) {
  section.mv h1.mv-img .mv-txt span.X {
    width: 5vw;
    height: 5vw;
    font-size: clamp(0.6rem, 3vw, 1.5rem);
  }
}
section.mv h1.mv-img .mv-txt span.num {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  section.mv h1.mv-img .mv-txt span.num {
    font-size: clamp(1.3rem, 3vw, 2rem);
  }
}
section.mv h1.mv-img .mv-txt strong {
  font-size: 2.8125rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  section.mv h1.mv-img .mv-txt strong {
    font-size: clamp(1.5rem, 5vw, 2.8125rem);
  }
}
section.mv h1.mv-img .mv-txt .price {
  font-size: 4rem;
  color: #ff7569;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  section.mv h1.mv-img .mv-txt .price {
    font-size: clamp(2.5rem, 10vw, 4rem);
  }
}
section.mv h1.mv-img .mv-txt .yen {
  color: #ff7569;
  font-weight: 700;
}
section.mv h1.mv-img .mv-txt small {
  font-size: 2.4rem;
  margin-top: 0;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  section.mv h1.mv-img .mv-txt small {
    font-size: clamp(1.2rem, 5vw, 2.4rem);
  }
}
section.mv h1.mv-img .mv-txt .date {
  padding: 5px 20px;
  font-size: 1.125rem;
  border: 2px solid #23366f;
  line-height: 3.5em;
}
@media only screen and (max-width: 767px) {
  section.mv h1.mv-img .mv-txt .date {
    line-height: 3em;
    font-size: clamp(0.8rem, 3vw, 1.125rem);
  }
}
@media only screen and (max-width: 767px) and (max-width: 500px) {
  section.mv h1.mv-img .mv-txt {
    height: 50vw;
  }
}
@media only screen and (max-width: 767px) and (max-width: 500px) and (max-width: 375px) {
  section.mv h1.mv-img .mv-txt {
    height: 55vw;
  }
}
section.mv .mv-content {
  display: flex;
  justify-content: center;
  position: relative;
  height: 92px;
  align-items: center;
  background-color: #2167ae;
}
section.mv .mv-content:before {
  content: '';
  position: absolute;
  top: -51px;
  width: 82px;
  height: 52px;
  background-color: #2167ae;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
@media only screen and (max-width: 767px) {
  section.mv .mv-content:before {
    top: -21px;
    width: 35px;
    height: 22px;
    background-color: #1fb1e6;
  }
}
@media only screen and (max-width: 767px) {
  section.mv .mv-content {
    height: 100px;
    align-items: center;
    background-color: #1fb1e6;
  }
}
section.mv .mv-content p.con-pc {
  color: #fff;
  font-size: clamp(15px, 1.527777777777778vw, 22px);
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  section.mv .mv-content p.con-pc {
    display: none;
  }
}
section.mv .mv-content p.con-pc span {
  color: #fff773;
  font-size: clamp(18px, 1.805555555555555vw, 26px);
}
section.mv .mv-content p.con-pc .price {
  font-size: clamp(32px, 2.5vw, 36px);
}
section.mv .mv-content p.con-pc .yen {
  font-size: clamp(15px, 1.527777777777778vw, 22px);
}
section.mv .mv-content p.con-pc .num {
  color: #fff;
  font-size: 12px;
}
section.mv .mv-content p.con-sp {
  display: none;
  color: #fff;
  font-size: clamp(10px, 3vw, 15px);
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  section.mv .mv-content p.con-sp {
    display: block;
    line-height: 2em;
  }
}
section.mv .mv-content p.con-sp span {
  color: #fff;
  font-size: clamp(13px, 3.6vw, 18px);
}
section.mv .mv-content p.con-sp .price {
  padding-left: 1rem;
  font-size: clamp(27px, 6.4vw, 32px);
  color: #fff773;
}
section.mv .mv-content p.con-sp .yen {
  font-size: clamp(13px, 3.6vw, 18px);
}
section.mv .mv-content p.con-sp .num {
  color: #fff;
  font-size: 12px;
}
section.mv .mv-detail {
  max-width: 930px;
  margin: 0 auto;
  padding: 20px 0;
}
section.mv .mv-detail p {
  margin: 0 15px;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
}
@media only screen and (max-width: 767px) {
  section.mv .mv-detail p {
    font-size: 12px;
  }
}
section.content .content-wrap {
  margin: 0 auto;
  background-color: #edf1f9;
}
section.content .content-wrap .method-wrap {
  max-width: 930px;
  margin: 0 auto;
  padding: 100px 0px 60px 0px;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-wrap {
    max-width: 375px;
    padding: 50px 0px 30px 0px;
  }
}
section.content .content-wrap .method-wrap ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 0 15px;
  padding-top: 70px;
  gap: 15px;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-wrap ul {
    display: block;
    padding-top: 10px;
  }
}
section.content .content-wrap .method-wrap ul li {
  position: relative;
  padding: 40px 15px 20px 15px;
  background-color: #fff;
  border-radius: 10px;
  text-align: center;
  font-weight: 700;
  box-shadow: 0 0 15px #dde4e3;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-wrap ul li {
    max-width: 375px;
    margin: 45px auto 0 auto;
  }
}
section.content .content-wrap .method-wrap ul li .list-num {
  position: absolute;
  width: 60px;
  height: 60px;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff773;
  border-radius: 100%;
  align-content: center;
}
section.content .content-wrap .method-wrap ul li .list-num span {
  font-size: 14px;
}
section.content .content-wrap .method-wrap ul li .list-num span span.num {
  font-size: 22px;
  font-weight: 700;
  height: auto;
}
section.content .content-wrap .method-wrap ul li p {
  height: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-wrap ul li p {
    height: auto;
  }
}
section.content .content-wrap .method-wrap ul li p.fs-sm {
  height: 6rem;
  font-size: 0.8rem;
}
section.content .content-wrap .method-wrap ul li span {
  height: 3em;
  line-height: 1.2em;
  display: block;
  align-content: center;
  font-size: clamp(24px, 1.805555555555555vw, 26px);
  color: #23366f;
}
section.content .content-wrap .method-wrap ul li img {
  height: 160px;
  border-radius: 10px;
}
section.content .content-wrap .method-wrap ul li:first-child img {
  background-color: #eef0f1;
}
section.content .content-wrap .method-wrap ul li:last-child img {
  width: 45%;
  object-fit: contain;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-wrap ul li:last-child img {
    width: 40%;
  }
}
section.content .content-wrap .method-wrap ul li .button {
  margin-top: 15px;
  padding: 20px 0;
  font-size: 18px;
  border-radius: 40px;
}
section.content .content-wrap .method-wrap ul li .button:after {
  width: 18px;
  height: 18px;
}
section.content .content-wrap .method-wrap ul li small {
  display: block;
  margin-top: 15px;
  text-align: left;
  font-size: 14px;
  font-weight: 500;
}
section.content .content-wrap .method-button {
  width: 500px;
  margin: 60px auto 0 auto;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-button {
    display: none;
  }
}
section.content .content-wrap .method-button .button {
  max-height: 100px;
  margin-top: 15px;
  padding: 35px 0;
  align-items: end;
  font-size: 24px;
  font-weigh: 700;
  border-radius: 50px;
}
section.content .content-wrap .method-button .button .twi {
  font-size: 16px;
}
section.content .content-wrap .method-button .button:after {
  width: 24px;
  height: 24px;
}
section.content .content-wrap .method-content {
  max-width: 930px;
  margin: 0 auto;
  padding: 100px 0;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-content {
    max-width: 375px;
    padding: 45px 0;
  }
}
section.content .content-wrap .method-content .content-card {
  display: flex;
  margin: 40px 15px 0 15px;
  padding: 40px 65px;
  background-color: #fff;
  border-radius: 10px;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-content .content-card {
    display: block;
    position: relative;
    margin: 25px 15px 0 15px;
    padding: 25px 20px;
    text-align: center;
  }
}
section.content .content-wrap .method-content .content-card img {
  margin-right: 20px;
  align-content: center;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-content .content-card img {
    position: absolute;
    margin: 0 0 0 20px;
    height: 125px;
    top: 53%;
    transform: translate(-50%, -50%);
  }
}
section.content .content-wrap .method-content .content-card .card-txt span.balloon {
  display: inline-block;
  align-content: center;
  height: 28px;
  padding: 0 20px;
  color: #2167ae;
  font-weight: 700;
  background-color: rgba(33,103,174,0.125);
  border-radius: 20px;
}
section.content .content-wrap .method-content .content-card .card-txt p {
  margin-top: 10px;
  font-size: 24px;
  font-weight: 700;
  color: #333;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-content .content-card .card-txt p {
    font-size: 16px;
  }
}
section.content .content-wrap .method-content .content-card .card-txt p br.hidden-pc {
  display: none;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-content .content-card .card-txt p br.hidden-pc {
    display: block;
  }
}
section.content .content-wrap .method-content .content-card .card-txt span.price {
  font-size: 40px;
  font-weight: 700;
  color: #23366f;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-content .content-card .card-txt span.price {
    font-size: 28px;
    line-height: normal;
  }
}
section.content .content-wrap .method-content .content-card .card-txt span.price .yen {
  font-size: 24px;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-content .content-card .card-txt span.price .yen {
    font-size: 20px;
  }
}
section.content .content-wrap .method-content .content-card .card-txt small {
  margin-top: 10px;
  display: block;
  font-size: 14px;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  section.content .content-wrap .method-content .content-card .card-txt small {
    margin-top: 160px;
    font-size: 12px;
    text-align: left;
  }
}
section.content .content-button {
  width: 500px;
  margin: 60px auto;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  section.content .content-button {
    width: 90%;
    max-width: 323px;
    margin: 30px auto;
  }
}
section.content .content-button .button {
  max-height: 100px;
  margin-top: 15px;
  padding: 35px 0;
  align-items: end;
  font-size: 24px;
  font-weigh: 700;
  border-radius: 50px;
}
section.content .content-button .button .twi {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  section.content .content-button .button .twi {
    font-size: 14px;
  }
}
section.content .content-button .button:after {
  width: 24px;
  height: 24px;
}
@media only screen and (max-width: 767px) {
  section.content .content-button .button:after {
    width: 18px;
    height: 18px;
  }
}
section.detail {
  padding-top: 100px;
  background-color: #f7f7f8;
}
@media only screen and (max-width: 767px) {
  section.detail {
    padding-top: 45px;
  }
}
section.detail .detail-txt {
  max-width: 930px;
  margin: 0 auto;
}
section.detail .detail-txt p {
  margin: 0 15px;
  padding-top: 50px;
}
@media only screen and (max-width: 767px) {
  section.detail .detail-txt p {
    padding-top: 25px;
  }
}
section.detail .detail-container {
  max-width: 930px;
  margin: 0 auto;
}
section.detail .detail-container .detail-wrap {
  padding: 50px 0 10px 0;
  margin: 80px 15px 0 15px;
  background-color: #fff;
  border-radius: 20px;
}
@media only screen and (max-width: 767px) {
  section.detail .detail-container .detail-wrap {
    margin: 25px 15px 0 15px;
    padding: 20px 0;
  }
}
section.detail .detail-container .detail-wrap dl {
  margin-bottom: 2em;
  padding: 0 50px;
  line-height: 1.6em;
  word-break: break-all;
}
@media only screen and (max-width: 767px) {
  section.detail .detail-container .detail-wrap dl {
    padding: 0 15px;
  }
}
section.detail .detail-container .detail-wrap dl dd a {
  color: #333;
}
section.detail .detail-container .detail-wrap dl dd a:hover {
  text-decoration: underline;
}
section.qa {
  padding: 100px 0;
  background-color: #f7f7f8;
}
@media only screen and (max-width: 767px) {
  section.qa {
    padding: 45px 0;
  }
}
section.qa .acodion {
  max-width: 930px;
  margin: 40px auto 0 auto;
}
@media only screen and (max-width: 767px) {
  section.qa .acodion {
    margin: 20px auto 0 auto;
  }
}
section.qa .acodion details {
  position: relative;
  cursor: pointer;
  margin: 0 15px 15px 15px;
  padding: 20px 0;
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid #2167ae;
  font-size: 1.125rem;
  font-weight: 700;
  color: #23366f;
}
@media only screen and (max-width: 767px) {
  section.qa .acodion details {
    font-size: 0.95rem;
  }
}
section.qa .acodion details[open] summary:after {
  transform: rotate(0deg);
}
section.qa .acodion details summary {
  margin: 0 30px;
  display: flex;
  align-items: center;
  line-height: normal;
}
@media only screen and (max-width: 767px) {
  section.qa .acodion details summary {
    margin: 0 15px;
  }
}
section.qa .acodion details summary:before {
  position: absolute;
  content: '';
  display: block;
  right: 30px;
  width: 16px;
  height: 4px;
  transform: translate(-50%, -50%);
  border-radius: 4px;
  background-color: #2167ae;
}
@media only screen and (max-width: 767px) {
  section.qa .acodion details summary:before {
    right: 15px;
  }
}
section.qa .acodion details summary:after {
  position: absolute;
  content: '';
  display: block;
  top: 34px;
  right: 38px;
  width: 16px;
  height: 4px;
  transform: translate(-50%, -50%);
  transform: rotate(90deg);
  border-radius: 4px;
  background-color: #2167ae;
}
@media only screen and (max-width: 767px) {
  section.qa .acodion details summary:after {
    top: 38px;
    right: 23px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 375px) {
  section.qa .acodion details summary:after {
    top: 35px;
  }
}
section.qa .acodion details summary .q {
  width: 36px;
  height: 36px;
  margin-right: 10px;
  text-align: center;
  border-radius: 30px;
  font-size: 1.25rem;
  color: #fff;
  background-color: #2167ae;
}
section.qa .acodion details summary br.hidden-pc {
  display: none;
}
@media only screen and (max-width: 767px) {
  section.qa .acodion details summary br.hidden-pc {
    display: block;
  }
}
section.qa .acodion details .a {
  margin: 15px 30px 0 30px;
  padding-top: 20px;
  border-top: 1px solid #ccc;
  font-size: 1rem;
  font-weight: lighter;
  color: #333;
}
@media only screen and (max-width: 767px) {
  section.qa .acodion details .a {
    font-size: 0.95rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 375px) {
  section.qa .acodion details .a {
    font-size: 0.75rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 375px) {
  section.qa .acodion details {
    font-size: 0.8rem;
  }
}
section.qa .qa-button {
  width: 100%;
  text-align: center;
}
section.qa .qa-button .button {
  width: 50vw;
  max-width: 500px;
  margin: 60px auto 0 auto;
  line-height: 3em;
  font-size: 1.5rem;
  font-weight: 700;
  border-radius: 40px;
}
@media only screen and (max-width: 767px) {
  section.qa .qa-button .button {
    min-width: 300px;
    font-size: 1.25rem;
    margin: 30px auto 0 auto;
  }
}
section.qa .qa-button .button .twi {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  section.qa .qa-button .button .twi {
    font-size: 0.85rem;
  }
}
section.qa .qa-button .button:after {
  width: 24px;
  height: 24px;
}
@media only screen and (max-width: 767px) {
  section.qa .qa-button .button:after {
    width: 18px;
    height: 18px;
  }
}
section.point {
  padding: 100px 0;
  background-color: #edf1f9;
}
@media only screen and (max-width: 767px) {
  section.point {
    padding: 60px 0 20px 0;
  }
}
section.point h2 {
  line-height: 1.3em;
  color: #23366f;
}
section.point h2:before {
  display: none;
}
section.point .point-container {
  max-width: 930px;
  margin: 40px auto 0 auto;
}
section.point .point-container ul {
  max-width: 900px;
  display: grid;
  margin: 0 15px;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media only screen and (max-width: 767px) {
  section.point .point-container ul {
    grid-template-columns: auto;
  }
}
section.point .point-container ul li.point-service {
  grid-column-start: 1;
  grid-column-end: 3;
  padding: 20px 0 40px 0;
  border-radius: 20px;
  text-align: center;
  background-color: #fff;
}
section.point .point-container ul li.point-service .point-box {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
@media only screen and (max-width: 767px) {
  section.point .point-container ul li.point-service .point-box {
    display: block;
    max-width: 315px;
    margin: 0 auto;
  }
}
section.point .point-container ul li.point-service .point-box .price-before {
  display: flex;
  border-radius: 8px;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  section.point .point-container ul li.point-service .point-box .price-before {
    display: block;
    text-align: center;
  }
}
section.point .point-container ul li.point-service .point-box .price-before p {
  width: 315px;
  height: 100%;
  padding-left: 1rem;
  background-color: rgba(31,177,230,0.15);
  border-radius: 8px;
  text-align: left;
  font-size: 12px;
  font-weight: 700;
  color: #23366f;
}
@media only screen and (max-width: 767px) {
  section.point .point-container ul li.point-service .point-box .price-before p {
    padding-top: 10px;
    background-color: #fff;
  }
}
section.point .point-container ul li.point-service .point-box .price-before p .price {
  font-size: 24px;
}
section.point .point-container ul li.point-service .point-box .price-before p .yen {
  font-size: 18px;
}
section.point .point-container ul li.point-service .point-box .price-before p .num {
  font-size: 10px;
}
section.point .point-container ul li.point-service .point-box .price-before p:before {
  content: '';
  background-image: url("/-/media/jpz/zrh/campaign/travel2401/images/img_point-discount.png");
  height: 80%;
  width: 105%;
  margin-bottom: 4px;
  margin-left: -1rem;
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-radius: 8px 8px 0 0;
}
@media only screen and (max-width: 767px) {
  section.point .point-container ul li.point-service .point-box .price-before p:before {
    height: 160px;
    border-radius: 8px;
  }
}
section.point .point-container ul li.point-service .point-box .price-before:after {
  content: 'だから';
  display: block;
  width: 6.2vw;
  height: 11vw;
  max-width: 65px;
  max-height: 113px;
  margin: 0 20px;
  align-content: center;
  background-image: url("/-/media/jpz/zrh/campaign/travel2401/images/img_point-arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  font-size: clamp(15px, 1.25vw, 18px);
  font-weight: 700;
  color: #23366f;
}
@media only screen and (max-width: 890px) {
  section.point .point-container ul li.point-service .point-box .price-before:after {
    margin: 0 10px;
  }
}
@media only screen and (max-width: 890px) and (max-width: 767px) {
  section.point .point-container ul li.point-service .point-box .price-before:after {
    width: 85px;
    height: 49px;
    max-width: 85px;
    margin: 10px auto 0 auto;
    padding-bottom: 10px;
    background-image: url("/-/media/jpz/zrh/campaign/travel2401/images/img_point-arrow-sp.svg");
  }
}
section.point .point-container ul li.point-service .point-box .price-after {
  position: relative;
  padding: 20px;
  background-color: rgba(255,247,115,0.125);
  border: 4px solid rgba(255,117,105,0.125);
  border-radius: 8px;
}
@media only screen and (max-width: 767px) {
  section.point .point-container ul li.point-service .point-box .price-after {
    padding: 20px 0;
    margin-top: 30px;
  }
}
section.point .point-container ul li.point-service .point-box .price-after .point-arrow {
  width: 100%;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translate(-50%, -50%);
}
section.point .point-container ul li.point-service .point-box .price-after .point-arrow:before {
  content: '';
  position: absolute;
  left: 15%;
  width: 2px;
  height: 100%;
  border-radius: 2px;
  background-color: #2167ae;
  transform: rotate(-45deg);
}
section.point .point-container ul li.point-service .point-box .price-after .point-arrow:after {
  content: '';
  position: absolute;
  right: 15%;
  width: 2px;
  height: 100%;
  border-radius: 2px;
  background-color: #2167ae;
  transform: rotate(45deg);
}
section.point .point-container ul li.point-service .point-box .price-after p {
  font-size: 18px;
  font-weight: 700;
  color: #23366f;
}
section.point .point-container ul li.point-service .point-box .price-after p span {
  font-size: 26px;
}
section.point .point-container ul li.point-service .point-box .price-after .strong {
  display: flex;
  justify-content: center;
  position: relative;
  align-content: center;
  margin-top: -20px;
}
section.point .point-container ul li.point-service .point-box .price-after .strong .average {
  writing-mode: tb;
  margin: 22px 5px 22px 0;
  padding: 10px 0px;
  background-color: #fb4a3b;
  border-radius: 30px;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
}
section.point .point-container ul li.point-service .point-box .price-after .strong .price {
  font-size: 60px;
  font-weight: 700;
  color: #fb4a3b;
}
section.point .point-container ul li.point-service .point-box .price-after .strong .yen {
  margin-bottom: 20px;
  align-content: end;
  font-size: 28px;
  font-weight: 700;
  color: #fb4a3b;
}
section.point .point-container ul li.point-service .point-box .price-after .strong .num {
  position: absolute;
  top: 20px;
  right: 10px;
  font-size: 11px;
  color: #fb4a3b;
}
@media only screen and (max-width: 767px) {
  section.point .point-container ul li.point-service .point-box .price-after .strong .num {
    right: 20px;
  }
}
section.point .point-container ul li.point-service .point-box .price-after .txt {
  margin-top: -10px;
}
section.point .point-container ul li.point-service .point-box .price-after .txt .after-txt {
  font-size: 24px;
  font-weight: 700;
  color: #fb4a3b;
}
section.point .point-container ul li.point-service .point-box .price-after .txt .last-txt {
  font-size: 14px;
  font-weight: 700;
  color: #23366f;
}
section.point .point-container ul li.point-service .point-txt {
  width: 90%;
  margin: 30px auto 0 auto;
  max-width: 800px;
  text-align: left;
  font-size: 12px;
}
section.point .point-button {
  width: 100%;
  max-width: 500px;
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  section.point .point-button {
    width: 90%;
    max-width: 345px;
  }
}
section.point .point-button a {
  display: block;
  margin-top: 60px;
  padding: 20px 0;
  max-width: 500px;
  background-color: #23366f;
  border: 1px solid #23366f;
  border-radius: 50px;
  font-weight: bold;
  text-align: center;
  color: #fff;
}
section.point .point-button a:hover {
  background-color: rgba(35,54,111,0.8);
}
@media only screen and (max-width: 767px) {
  section.point .point-button a {
    margin-top: 20px;
    padding: 1em 0;
  }
}
section.point .point-button a p {
  font-size: 1.125rem;
}
@media only screen and (max-width: 767px) {
  section.point .point-button a p {
    font-size: 0.875rem;
  }
}
section.point .point-button a span {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  section.point .point-button a span {
    font-size: 1.375rem;
  }
}
