@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Gothic+A1:wght@400;700&display=swap");
@media (max-width: 768px) {
  .subpage {
    padding: 50px 0 0;
  }
  .subpage + .footer-common{
    margin-top: 50px;
  }
}
.subpage.shop:has(.bottom-cta) + .footer-common{
  margin-top: 50px;
}
@media (max-width: 768px) {
  .subpage.shop:not(.bottom-cta) + .footer-common{
    margin-top: 0;
  }
  .subpage.shop:has(.bottom-cta) + .footer-common{
    margin-top: 50px;
  }
}
.title-area {
  position: relative;
}

.title-area .hero {
  vertical-align: middle;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.title-area img[class*="shape"] {
  position: absolute;
}

.title-area .shape-lt {
  left: 0;
  top: 0;
}

.title-area .shape-rt {
  right: 0;
  top: 0;
  width: 100%;
  height: auto;
}

.title-area .shape-rb {
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
}

.title-area .title {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
  width: 100%;
  font-size: 32px;
  line-height: 1.625em;
  font-weight: bold;
  color: #fff;
  text-align: center;
  letter-spacing: .1em;
}

.title-area .title .sub {
  display: block;
  font-size: 16px;
  line-height: 1em;
  letter-spacing: .08em;
}

.title-area .title .sub:first-letter {
  text-transform: uppercase;
}
.title-area + .wrapper.text-page {
  margin-top: 40px;
}

@media (max-width: 768px) {
  .title-area img {
    font-size: 0;
    vertical-align: bottom;
  }
  .title-area .hero {
    vertical-align: middle;
    width: 100%;
    height: 120px;
  }
  .title-area img[class*="shape"] {
    width: 100%;
    height: auto;
  }
  .title-area img.shape-lt {
    width: 80%;
  }
  .title-area .title {
    font-size: 25px;
  }
  .realestate .title-area .title,
  .application_sbi-wrap-x .title-area .title,
  .reservation_sbi-wrap-x .title-area .title,
  .contact_sbi-wrap-x .title-area .title {
    font-size: 21px;
  }
  .contact_sony .title-area .title {
    height: auto;
  }
  .title-area .title .sub {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .title-area {
    overflow: hidden;
  }
  .title-area .hero {
    position: relative;
    width: 100%;
    height: 120px;
  }
}

.breadcrumbs ~ .footer-common {
  margin-top: -40px;
  border-bottom: none;
}
.risk .breadcrumbs {
  margin-bottom: 0;
}
.subpage.contact .breadcrumbs,
.subpage.customer .breadcrumbs,
.subpage.business_form:not(:has(.title-area)) > .breadcrumbs {
  background: #F3F3F3;
}
.breadcrumbs {
  margin-bottom: 40px;
  padding: 6px 0;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
  font-size: 14px;
  word-break: break-all;
  border-bottom: 1px solid #e5e5e5;
}

.breadcrumbs a {
  display: inline-block;
  padding-right: 26px;
  margin-right: 16px;
  background: url(../images/common/icon_breadcrumb-arrow.png) 100% 50% no-repeat scroll;
  background-size: 6px auto;
}

.breadcrumbs a:link, .breadcrumbs a:visited {
  color: #333;
  text-decoration: none;
}

.breadcrumbs a:hover, .breadcrumbs a:active {
  color: #333;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .breadcrumbs {
    padding: 5px 0;
    font-size: 12px;
  }
  .breadcrumbs .wrapper {
    padding: 0 15px !important;
    margin-top: 0px !important;
  }
  .breadcrumbs a {
    padding-right: 18px;
    margin-right: 8px;
  }
}
.breadcrumbs + .text-page.privacy,
.breadcrumbs + .text-page.risk {
  padding-top: 25px;
}

.subpage.customer .page-main-title-block {
  max-width: 960px;
  width: 100%;
  background-size: cover;
  padding: 0 15px 0;
  margin-inline: auto;
  box-sizing: border-box;
}
.subpage.customer .page-main-title-block h1 {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
}
.subpage.customer .form-intro {
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: 0;
  color: #333333;
}
@media (max-width: 768px) {
  .subpage.customer .page-main-title-block {
    padding: 0 15px 0;
    margin-top: 40px;
    margin-bottom: 20px;
  }
  .subpage.customer .page-main-title-block h1 {
    font-size: 30px;
    line-height: 40px;
    text-align: left;
  }
  .subpage.customer .form-intro {
    font-size: 16px !important;
    text-align: left;
    margin-bottom: 10px;
  }
  .subpage.customer .form table {
    margin-bottom: 40px;
  }
  .subpage.customer .text-page {
    padding-bottom: 30px;
  }
}
/*
gnav修正 ==============================
*/
@media (max-width: 768px) {
  .cta-btn-wrapper .cta-main-btn {
    margin: 0;
    margin-right: 15px;
    width: 100%;
    max-width: 225px;
  }
  .cta-btn-wrapper .cta-main-btn:last-child {
    margin-right: 0px;
  }
  .cta-main-btn a.btn-top {
    width: 100%;
  }
  .gnav .gnav-sp .btn-gnav-tell {
      padding: 15px 0;
      background: url(../images/common/icon_arrow-link-white-sp.png) calc(100% - 10px) 50% no-repeat scroll;
      background-size: 6px 9px;
      border-bottom: 1px solid #08207c;
      color: #fff;
      text-decoration: none;
      text-align: center;
      width: 300px;
      margin: 0 auto;
  }
  .btn-gnav-tell .number {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    font-size: 30px;
    letter-spacing: .05em;
    line-height: 1em;
  }
  .btn-gnav-tell .number:before {
    content: '';
    display: inline-block;
    position: relative;
    top: 1px;
    margin-right: 5px;
    background: url(../images/common/img_telno-footer-pc.png) 0 50% no-repeat scroll;
    background-size: contain;
    width: 21px;
    height: 25px;
  }
}
/*
body ==============================
*/

@media (max-width: 768px) {
  .subpage .wrapper {
    padding-left: 30px;
    padding-right: 30px;
    margin-top: 0;
  }
  .subpage .wrapper.risk {
    padding-left: 30px;
    padding-right: 30px;
    margin-top: 0;
  }
}

.aligncenter {
  clear: both;
  display: block;
  margin: 0 auto .75em;
}

.alignleft.noMarginBtm,
.alignright.noMarginBtm {
  margin-bottom: 0;
}

.alignleft {
  float: left;
  margin: 0.25em 1.75em 1.75em 0;
}

.alignright {
  float: right;
  margin: 0.25em 0 1.75em 1.75em;
}

img.alignleft,
img.alignright {
  max-width: 50%;
  height: auto;
}

.alignnone .wp-caption-text {
  margin-bottom: 1.5em;
}

@media (max-width: 768px) {
  .alignleft,
  .alignright {
    float: none;
    margin: 0 0 1em 0;
  }
  .alignleft.noMarginBtm,
  .alignright.noMarginBtm {
    margin-bottom: 1em;
  }
  img.alignleft,
  img.alignright {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
  }
}

.text-page {
  padding-bottom: 100px;
}
.text-page.privacy,
.text-page.cookie,
.text-page.risk {
  line-height: 25px;
}
.text-page.risk {
  line-height: 25px;
}
@media (max-width: 768px) {
.text-page.privacy,
.text-page.cookie,
.text-page.risk {
  line-height: 20px;
  letter-spacing: 0;
}
 .text-page.risk {
  line-height: 1.625em;
} 
}
.text-page.privacy .sub-tit,
.text-page.cookie .sub-tit,
.text-page.risk .sub-tit {
  font-size: 24px;
  font-weight: 400;
  margin-top: 45px;
  margin-bottom: 25px;
}
@media (max-width: 768px) {
.text-page.privacy .sub-tit,
.text-page.cookie .sub-tit,
.text-page.risk .sub-tit {
  font-size: 18px;
  font-weight: 400;
  margin-top: 35px;
  margin-bottom: 20px;
}
}
.text-page.privacy p,
.text-page.cookie p,
.text-page.privacy .pri-list {
  margin: 0;
}
.text-page .pri-wrapper {
  margin-bottom: 1.5em;
}
.text-page .pri-tit {
  margin-bottom: 0;
  font-weight: bold;
}
.text-page .left-space {
  display: inline-block;
  padding-left: 1em;
}
.text-page .pri-list {
  margin: 0 0 1.5em;
  list-style: none;
  padding: 0;
}
.text-page .pri-list li {
  padding-left: 2em;
  text-indent: -2.8em;
}
.text-page .pri-list .list-tit {
  padding-left: 0;
  text-indent: 0;
}
.text-page .pri-text {
  margin-bottom: 0;
}
.text-page .pri-block {
  margin-top: 1.5em;
}

@media (max-width: 768px) {
  .text-page {
    padding-bottom: 50px;
  }
  .text-page .pri-list li {
  text-indent: -2.6em;
}
}
.text-page h3, .text-page h4, .text-page h5, .text-page h6 {
  clear: both;
}

.text-page h3 {
  padding: 3px 0 0 24px;
  background: url(../images/common/img_head-triangle.svg) 0 0 no-repeat scroll;
  background-size: auto 50px;
  font-size: 20px;
  color: #08207c;
  line-height: 50px;
}

.text-page.cookie .cookie-tit,
.text-page.privacy .privacy-tit {
  font-size: 30px;
  font-weight: bold;
  line-height: 20px;
  color: #333;
  background: none;
  padding: 0;
  margin-bottom: 50px;
}
@media (max-width: 768px) {
.text-page.cookie .cookie-tit,
.text-page.privacy .privacy-tit,
.text-page.risk h2.risk-tit {
  font-size: 20px;
  font-weight: bold;
  line-height: 20px;
  color: #333;
  background: none;
  padding: 0;
  margin-bottom: 50px;
}

}
.text-page.risk h2.risk-tit,
.text-page.risk h2.risk-sub-tit {
  font-size: 24px;
   font-weight: bold;
  line-height: 20px;
  color: #333;
  background: none;
  padding: 0;
  margin-bottom: 25px;
}
@media (max-width: 768px) {
.text-page.risk h2.risk-tit,
.text-page.risk h2.risk-sub-tit {
  font-size: 18px;
}
}

.text-page.risk .disc-area {
  background: #F7F7F7;
  padding: 35px 60px;
  margin-top: 30px;
}
@media (max-width: 768px) {
  .text-page.risk .disc-area {
  padding: 35px 30px;
}
}
.text-page.risk .disc-area-tit {
  margin-bottom: 5px;
}
.text-page.risk .disc-area-tit:last-child {
  margin-bottom: 0;
}
.text-page.risk .disc-area p.disc-area-txt {
  margin: 0;
  margin-bottom: 25px;
}
.text-page.risk .disc-area p.disc-area-txt:last-child {
  margin-bottom: 0;
}
.risk-block {
  margin: 0 0 50px;
}
.text-page.risk .risk-list {
  list-style: none;
  padding: 20px 0 0;
}
@media (max-width: 768px) {
  .text-page h3 {
    margin-bottom: 5px;
    padding: 10px 0 0 20px;
    background-size: auto 35px;
    font-size: 18px;
    line-height: 1.5em;
  }
}

.text-page h4 {
  margin-bottom: 5px;
  font-size: 18px;
  color: #08207c;
}

@media (max-width: 768px) {
  .text-page h4 {
    font-size: 16px;
  }
}

.text-page p,
.text-page ul,
.text-page ol,
.text-page address,
.text-page pre,
.text-page blockquote {
  margin-top: 0;
  margin-bottom: 1.5em;
}

.text-page p:last-of-type, .text-page p:last-child {
  margin-bottom: 0;
}

.text-page ol {
  list-style-position: outside;
  padding-left: 1.5em;
}

.text-page ul {
  list-style: disc;
  list-style-position: outside;
  padding-left: 1.5em;
}

.text-page blockquote {
  padding-left: 1em;
  border-left: 3px solid #aaa;
}

.text-page img {
  max-width: 100%;
  height: auto;
}

.wp-caption {
  max-width: 100% !important;
}

@media (max-width: 768px) {
  .wp-caption {
    margin-left: auto;
    margin-right: auto;
  }
}

.pagination-area {
  text-align: center;
}

.pagination {
  margin-top: 20px;
  width: 100%;
}

@media (max-width: 768px) {
  .pagination {
    margin-top: 10px;
  }
}

.pagination ul {
  display: table;
  margin: auto;
  list-style: none;
}

.pagination li {
  display: table;
  float: left;
  margin: 0 5px;
  color: #08207c;
  font-weight: 700;
}

.pagination li a,
.pagination li span {
  display: table-cell;
  margin: 0 5px;
  border: 2px solid #08207c;
  box-sizing: border-box;
  background: #fff;
  vertical-align: middle;
  width: 48px;
  height: 60px;
}

@media (max-width: 768px) {
  .pagination li a,
  .pagination li span {
    border: 1px solid #08207c;
    width: 28px;
    height: 40px;
  }
}

.pagination li a {
  text-decoration: none;
  color: #08207c;
}

.pagination li a:hover, .pagination li a:active {
  background: #08207c;
  opacity: 1;
  color: #fff;
}

@media (max-width: 768px) {
  .pagination li a:hover, .pagination li a:active {
    background: #fff;
    color: #08207c;
  }
}

.pagination li.active span {
  background: #08207c;
  color: #fff;
}

.pagination li.next a, .pagination li.prev a {
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 20px;
}

@media (max-width: 768px) {
  .pagination li.next a, .pagination li.prev a {
    background-size: 8px auto;
  }
}

.pagination li.next a {
  background-image: url(../images/seminar/img_pagination-arrow-r.png);
}

.pagination li.next a:hover, .pagination li.next a:active {
  background-image: url(../images/seminar/img_pagination-arrow-white-r.png);
}

@media (max-width: 768px) {
  .pagination li.next a:hover, .pagination li.next a:active {
    background-image: url(../images/seminar/img_pagination-arrow-r.png);
  }
}

.pagination li.prev a {
  background-image: url(../images/seminar/img_pagination-arrow-l.png);
}

.pagination li.prev a:hover, .pagination li.prev a:active {
  background-image: url(../images/seminar/img_pagination-arrow-white-l.png);
}

@media (max-width: 768px) {
  .pagination li.prev a:hover, .pagination li.prev a:active {
    background-image: url(../images/seminar/img_pagination-arrow-l.png);
  }
}

.pagination li.dot span {
  padding-top: 1em;
}

@media (max-width: 768px) {
  .pagination ul {
    margin-bottom: 10px;
  }
}

/* セミナー詳細・相談事例の表示枠スタイル(外枠のみ) ================================= */
.framed-container {
  margin-bottom: 100px;
  border: 1px solid #d2d2d2;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .framed-container {
    margin-bottom: 60px;
  }
}

.framed-container h3:not(.seminar-title) {
  margin-bottom: 42px;
  padding: 24px 10px 23px;
  background: #08207c;
  color: #fff;
  text-align: center;
  font-size: 20px;
}

@media (max-width: 768px) {
  .framed-container h3:not(.seminar-title) {
    margin-bottom: 20px;
    padding: 15px 8px;
    font-size: 18px;
  }
}

.framed-container h4 {
  position: relative;
  margin-bottom: 30px;
  padding: 10px 15px 9px 40px;
  background: #08207c;
  color: #fff;
  font-size: 20px;
  line-height: 1.5em;
}

.framed-container h4:before {
  content: '';
  display: block;
  position: absolute;
  top: 14px;
  left: 15px;
  border-left: 13px solid #fff;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  width: 0px;
  height: 0px;
}

@media (max-width: 768px) {
  .framed-container h4 {
    margin-bottom: 10px;
    padding: 6px 8px 6px 20px;
    font-size: 16px;
  }
  .framed-container h4:before {
    top: 13px;
    left: 8px;
    border-left: 8px solid #fff;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
  }
}

.framed-container .link-btn {
  margin-top: 50px;
  width: 280px;
}

@media (max-width: 768px) {
  .framed-container .link-btn {
    margin-top: 20px;
    width: 70%;
  }
}

/* important.html
------------------------------------------------------------------------- */
.text-page .tit-important {
  font-weight: 700;
  margin: 0 0 10px;
}
.tit-important .sub {
  font-size: 14px;
}
.important-list li {
  margin: 40px 0 0;
  list-style: none;
}
.important-list li:first-child {
  margin: 0;
}
.important-table {
  width: 100%;
  line-height: 1.7;
}
.important-table th {
  border: #ccc solid 1px;
  font-weight: normal;
  border-collapse: collapse;
  padding: 12px;
  box-sizing: border-box;
  vertical-align: middle;
  background: #eee;
}
.important-list li:first-child th { width: 18%; }
.important-list li:nth-child(2) th { width: 25%; }
.important-table td {
  border: #ccc solid 1px;
  border-collapse: collapse;
  padding: 12px;
  box-sizing: border-box;
  vertical-align: middle;
}
.important-list li:nth-child(2) td {
  width: 25%;
  text-align: center;
}
.important-table .t-left { text-align: left; }
.important-list .important-table .wide { width: 50%; }
.important-table .center { text-align: center; }
.important-list .important-caption {
  margin: 15px 0 0;
}
.important-table .pc-none {
  display: none;
}
@media (max-width: 767px) {
  .tit-important {
    line-height: 1.7;
    margin: 0 0 15px;
  }
  .text-page .important-list {
    padding: 0;
  }
  .important-table {
    display: block;
    border-top: #ccc solid 1px;
  }
  .important-table tbody,
  .important-table tr {
    display: block;
  }
  .important-table th,
  .important-list li:first-child th,
  .important-list li:nth-child(2) th {
    display: block;
    width: 100%;
    text-align: center;
    border-top: none;
    border-bottom: none;
  }
  .important-table td,
  .important-list li:nth-child(2) td {
    display: block;
    width: 100%;
    text-align: center;
  }
  .important-list .important-table .wide { display: none; }
  .important-table .pc-none { display: block; }
  .important-table .sp-none { display: none; }
}


.seminar-join-error-area {
  padding: 60px 0;
  text-align: center;
}

.seminar-join-error-area p + p {
  margin-top: 30px;
}

.seminar-join-error-area .visible-xs-inline {
  display: none;
}

@media (max-width: 480px) {
  .seminar-join-error-area .visible-xs-inline {
    display: inline;
  }
}

#aip .service-text {
  text-align: center;
  padding: 0 0 180px;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #aip .service-text {
    font-size: 16px;
    line-height: 1.8;
    padding: 0 3% 80px;
  }
  #aip .service-text .sp-none {
    display: none;
  }
}


/* insurance-privacy-agree */
.sub-confirm-form .page-main-title-block {
  margin-top: 58px;
}
.sub-confirm-form .subpage-tit {
  font-size: 22px;
  font-weight :bold;
  color: #08207C;
  margin: 0 0 18px;
}
.insurance-privacy-agree .text-page .subpage-tit + p {
  margin-bottom: 40px;
}
.text-page ul.insurance-privacy-agree-list {
  margin: 18px 0 40px;
}
.insurance-privacy-agree-list.decimal li {
  list-style: decimal;
}
.insurance-privacy-agree .bold {
  font-weight: bold;
}
.insurance-privacy-agree .text-page .subpage-tit + p.subpage-text {
  margin-bottom: 18px;
}
.insurance-privacy-agree .agree-form-text p {
  margin-bottom: 1.5em;
}
.sign-form-text {
  max-width: 600px;
  margin: 0 auto 60px;
}
.form.sign-form input[name="year"] {
  width: 60px;
  text-align: center;
}
.form.sign-form input[name="month"],
.form.sign-form input[name="day"] {
  width: 30px;
  text-align: center;
}
.form.sign-form .date-td {
  position: relative;
}
.form.sign-form .date-td .error {
  position: absolute;
  left: 20px;
  top: 0;
}
.comp-tit {
  font-weight: bold;
  color: #08207C;
  font-size: 22px;
}
@media (max-width: 768px) {
  .insurance-privacy-agree .text-page h2 {
    font-size: 18px;
  }
  .comp-tit {
    font-size: 18px;
  }
}

/* insurance-apply-confirm */
.text-page p.apply-text {
  margin-bottom: 60px;
}
.check-list-table {
  display: table;
  width: 100%;
  border: #ccc solid 1px;
  border-collapse: collapse;
  box-sizing: border-box;
}
.check-list-table .tr {
  display: table-row;
}
.check-list-table .th {
  display: table-cell;
  width: auto;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.5;
  border: #ccc solid 1px;
  border-right: none;
  border-collapse: collapse;
  background: #efefef;
  padding: 20px;
}
.check-list-table .th-check {
  display: table-cell;
  width: 120px;
  font-size: 16px;
  font-weight: normal;
  text-align: center;
  border: #ccc solid 1px;
  border-left: none;
  border-collapse: collapse;
  background: #efefef;
  padding: 20px;
}
.check-list-table .th-check.first {
  border-left: #ccc solid 1px;
}
.check-list-table .td {
  display: table-cell;
  width: auto;
  border: #ccc solid 1px;
  border-collapse: collapse;
  padding: 20px;
}
.check-list-table .td-check {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  font-size: 0;
  transition: background .2s ease;
  padding: 15px;
  border: #ccc solid 1px;
}
.check-list-table .td-check:hover {
  background: #fbfbfb;
  cursor: pointer;
}
.check-list-table div.td-check {
  font-size: 16px;
  line-height: 2.5;
  white-space: nowrap;
  text-align: left;
}
.check-list-table div.td-check:hover {
  cursor: auto;
  background: #fff;
}
.check-list-table .td-check .error {
  font-size: 12px;
  line-height: 1.7;
  white-space: nowrap;
}
.check-list-table .td-check input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 0;
  cursor: pointer;
}
.check-list-table div.td-check input[type="checkbox"] {
  margin: 10px 2px 0 0;
  vertical-align: top;
}
.check-list-table .td-check label {
  cursor: pointer;
}
.check-list-table .bold {
  font-weight: bold;
}
@media (max-width: 768px) {
  .check-list-table {
    display: block;
    border-top: none;
  }
  .check-list-table .tr {
    display: block;
  }
  .check-list-table .th {
    display: block;
    border: none;
    border-top: #ccc solid 1px;
    font-size: 18px;
  }
  .check-list-table .th-check {
    display: none;
  }
  .check-list-table .td {
    display: block;
    border: none;
    border-top: #ccc solid 1px;
  }
  .check-list-table .td-check {
    display: block;
    border: none;
    border-top: #ccc solid 1px;
  }
  .check-list-table .td-check:hover {
    background: #fff;
  }
  .check-list-table div.td-check {
    text-align: center;
  }
}

/* イベントページ用 */
.special-event-table {
  margin-bottom: 30px;
  border: #ccc solid 1px;
}
.special-event-table th {
  min-width: 75px;
  padding: 7px;
  background: #efefef;
  border: #ccc solid 1px;
}
.special-event-table td {
  padding: 7px;
  border: #ccc solid 1px;
}
.special-event-btn-area {
  display: flex;
  justify-content: space-between;
  max-width: 670px;
  margin: 0 auto;
}
.special-event-btn-area a {
  display: block;
  width: 280px;
  padding: 0 20px;
  background: #08207c;
  border-radius: 60px;
  line-height: 60px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
.special-event-btn-area a:hover {
  opacity: .8;
}
.special-event-profile {
  border: #ccc solid 1px;
  font-size: 14px;
  padding: 12px 18px;
  max-width: 730px;
  margin: 0 auto;
  line-height: 1.7;
}
.special-event-profile .bold {
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .special-event-table,
  .special-event-table tbody {
    display: block;
    font-size: 15px;
    padding: 0;
    width: 100%;
  }
  .special-event-table tr {
    width: 100%;
    display: block;
  }
  .special-event-table th {
    display: block;
    text-align: left;
    padding: 10px;
    border-right: none;
    border-left: none;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
  }
  .special-event-table tr:first-child th {
    border-top: none;
  }
  .special-event-table td {
    display: block;
    border: none;
    padding: 10px;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
  }
  .special-event-btn-area {
    display: block;
  }
  .special-event-btn-area a {
    margin: 0 auto 15px;
  }
  .special-event-btn-area a:hover {
    opacity: 1;
  }
}

.special-event-btn-area a.disable {
  background-color: #ccc;
  pointer-events:none;
}

/* キャンペーン特別LP */
#campaign-lp .campaign-mv {
  margin: 0 0 1.5em;
}
#campaign-lp .campaign-mv img {
  margin: 0;
}
#campaign-lp .campaign-mv-text {
  text-align: center;
  padding: 10px 0;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  background: #3F843F;
}
#campaign-lp .campaign-table {
  margin-bottom: 30px;
  border: #ccc solid 1px;
}
#campaign-lp .campaign-table th {
  min-width: 75px;
  padding: 10px;
  background: #efefef;
  border: #ccc solid 1px;
  white-space: nowrap;
  text-align: left;
}
#campaign-lp .campaign-table td {
  padding: 10px;
  border: #ccc solid 1px;
}
#campaign-lp .campaign-btn-area {
  display: flex;
  justify-content: space-between;
  max-width: 670px;
  margin: 2em auto 0;
}
#campaign-lp .campaign-btn-area a {
  display: block;
  width: 280px;
  padding: 0 20px;
  background: #08207c;
  border-radius: 60px;
  line-height: 60px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
#campaign-lp .campaign-btn-area a.orange {
  background: #eb7f00;
}
#campaign-lp .campaign-btn-area a:hover {
  opacity: .8;
}
@media only screen and (max-width: 767px) {
  #campaign-lp .campaign-mv-text {
    padding: 10px 12px;
    font-size: 1.2em;
    line-height: 1.5;
  }
  #campaign-lp .campaign-table,
  #campaign-lp .campaign-table tbody {
    display: block;
    font-size: 15px;
    padding: 0;
    width: 100%;
  }
  #campaign-lp .campaign-table tr {
    width: 100%;
    display: block;
  }
  #campaign-lp .campaign-table th {
    display: block;
    text-align: left;
    padding: 10px;
    border-right: none;
    border-left: none;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
  }
  #campaign-lp .campaign-table tr:first-child th {
    border-top: none;
  }
  #campaign-lp .campaign-table td {
    display: block;
    border: none;
    padding: 10px;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
  }
  #campaign-lp .campaign-btn-area {
    display: block;
  }
  #campaign-lp .campaign-btn-area a {
    margin: 0 auto 20px;
  }
  #campaign-lp .campaign-btn-area a:hover {
    opacity: 1;
  }
}

#campaign-lp .campaign-btn-area a.disable {
  background-color: #ccc;
  pointer-events:none;
}
#campaign-lp .campaign-cap {
  color: #666;
  font-size: 87%;
  line-height: 1.6;
}
