@charset "utf-8";

.accent01 {
  font-weight: 700;
  color: #c64949;
}

.movieArea {
  background: #f8f8f8;
  padding: 20px;
  margin-top: 30px;
}
.movieArea .movie {
  max-width: 600px;
  margin: 0 auto;
}
.movieArea .movie iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  vertical-align: middle;
}
.movieArea .image {
  max-width: 640px;
  margin: 0 auto;
}

.tabContents img {
  height: auto;
}
.tabContents .text {
  font-size: 1.4rem;
  line-height: 1.4;
}
.tabContents .note {
  font-size: 1.3rem;
  line-height: 1.4;
}
.tabContents .text + .text {
  margin-top: 20px;
}

.col2List {
  display: flex;
  flex-flow: row wrap;
  gap: 30px 40px;
}
.col2List .item {
  width: calc((100% / 2) - (40px * 1 / 2));
}
@media screen and (max-width: 1023px) {
  .col2List {
    gap: 20px 0;
  }
  .col2List .item {
    width: 100%;
  }
}

.col3List {
  display: flex;
  flex-flow: row wrap;
  gap: 30px 20px;
}
.col3List .item {
  width: calc((100% / 3) - (20px * 2 / 3));
}
@media screen and (max-width: 1023px) {
  .col3List {
    gap: 20px 0;
  }
  .col3List .item {
    width: 100%;
  }
}

.borderBox01 {
  border: 1px solid #ccc;
  padding: 20px 18px;
}

.imageCaption01 {
  display: flex;
  flex-flow: column nowrap;
  height: 100%;
}
.imageCaption01 .title {
  font-size: 1.3rem;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 8px;
}
.imageCaption01 .image {
  text-align: center;
  align-items: center;
  margin-bottom: 20px;
}
.imageCaption01 .caption {
  background: #f8f8f8;
  padding: 10px;
  font-size: 1.3rem;
  flex: 1;
}

.confirmArea {
  border: 1px solid #ccc;
}
.confirmArea .heading {
  background: #e6e6e6;
  padding: 10px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  border-bottom: 1px solid #ccc;
}
.confirmArea .body {
  background: #f8f8f8;
  padding: 20px 18px;
}
.confirmArea .body .message {
  font-size: 1.3rem;
  text-align: center;
  margin-bottom: 10px;
}
.confirmArea .body .notice {
  font-size: 1.2rem;
  line-height: 1.4;
}
.confirmArea .body .notice .item + .item {
  margin-top: 8px;
}
.confirmArea .body .notice .itemTitle {
  font-weight: 700;
}

.moreDetailLink {
  margin-top: 8px;
}

.borderSeparateBox {
  padding: 20px;
  border: 1px solid #cccccc;
}
.borderSeparateBox .itemWrap {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 0 40px;
}
.borderSeparateBox .itemWrap::after {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  top: 0px;
  width: 1px;
  height: 100%;
  background: #ccc;
}
.borderSeparateBox .item {
  text-align: center;
}
.borderSeparateBox .itemTitle {
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 8px;
  text-align: left;
}
.borderSeparateBox .beforeTitle,
.borderSeparateBox .afterTitle {
  text-align: center;
}
.borderSeparateBox .beforeTitle span,
.borderSeparateBox .afterTitle span {
  display: inline-block;
  padding: 4px 12px;
  color: #fff;
  font-weight: 700;
  font-size: 1.6rem;
}
.borderSeparateBox .beforeTitle span {
  background: #e22221;
}
.borderSeparateBox .afterTitle span {
  background: #002f70;
}
.borderSeparateBox .note {
  background: #f8f8f8;
  padding: 10px;
  margin-top: 20px;
}
@media screen and (max-width: 1023px) {
  .borderSeparateBox .itemWrap {
    position: relative;
    display: flex;
    flex-flow: column;
    gap: 30px 0;
  }
  .borderSeparateBox .itemWrap::after {
    display: none;
  }
}
.discDefList .item + .item {
  margin-top: 16px;
}
.discDefList .itemTitle {
  position: relative;
  padding-left: 20px;
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 4px;
}
.discDefList .itemTitle::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--site-color-main);
}

.noticeArea {
  padding: 20px;
  background: #f8f8f8;
  border: 1px solid #ccc;
}
.noticeArea .noticeTitle {
  position: relative;
  padding-left: 28px;
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 10px;
}
.noticeArea .noticeTitle::before {
  content: '';
  display: block;
  width: 22px;
  height: 21px;
  background: url(/assets/images/icon_notice.svg) no-repeat center center;
  background-size: 22px 21px;
  position: absolute;
  left: 0;
  top: 2px;
}
.noticeArea .textImageWrap {
  display: flex;
}
.noticeArea .textImageWrap .text {
  flex: 1;
  padding-right: 40px;
}
.noticeArea .textImageWrap .image {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .noticeArea .textImageWrap {
    flex-flow: column;
    gap: 20px 0;
  }
  .noticeArea .textImageWrap .text {
    flex: 1;
    padding-right: 0px;
  }
  .noticeArea .textImageWrap .image {
    text-align: center;
  }
}

.tab02Contents .grayBox01 {
  background: #f8f8f8;
  padding: 20px;
}
.tab02Contents .grayBox01 .boxtitle {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 10px;
}
.tab02Contents .grayBox01 .itemWrap {
  display: flex;
  gap: 20px;
}
.tab02Contents .grayBox01 .item {
  width: calc(100% / 2) - 20px * 1 / 2;
  text-align: center;
}
.tab02Contents .borderSeparateBox {
  padding: 20px 0;
}
@media screen and (max-width: 1023px) {
  .tab02Contents .grayBox01 .itemWrap {
    flex-flow: column;
    gap: 20px;
  }
  .tab02Contents .grayBox01 .item {
    width: 100%;
  }
}

.tab03Contents .boxTitle {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 20px;
}
.tab03Contents .box2List {
  display: flex;
  flex-flow: row wrap;
  gap: 20px;
}
.tab03Contents .box2List .item {
  width: calc((100% / 2) - (20px * 1 / 2));
}
@media screen and (max-width: 1023px) {
  .tab03Contents .box2List {
    display: flex;
    flex-flow: row wrap;
    gap: 30px 0;
  }
  .tab03Contents .box2List .item {
    width: 100%;
  }
}
