/*==================================================
l-main
==================================================*/
.l-wrapper {
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  display: block;
}

/*==================================================
l-main
==================================================*/
.l-main {
  position: relative;
  width: 100%;
}
.main-thumb {
  width: 100%;
}
.main-thumb figure {
  margin: 0;
}
.main-thumb h1.main-title {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
/*  font-family: "theseasons", sans-serif;*/
}
.main-thumb h1.main-title.title-center {
  top: 50%;
  transform: translate(-50%, -50%);
}
.main-thumb h1.main-title .main-title-mark {
  width: 100%;
  max-width: 200px;
  margin: 0 auto;
  display: block;
}
.main-thumb h1.main-title .main-title-text {
  display: block;
  text-align: center;
  font-size: 5rem;
  line-height: 1;
  color: #231815;
  margin-top: 4.6rem;
}

@media screen and (max-width: 767px) {
  .l-main {
    margin-bottom: 0;
  }
  .main-thumb h1.main-title {
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .main-thumb h1.main-title .main-title-mark {
    max-width: 160px;
  }
  .main-thumb h1.main-title .main-title-text {
    font-size: 3.4rem;
    margin-top: 2.4rem;
  }
}

/*==================================================
l-intro
==================================================*/
.l-intro {
  position: relative;
  background: #4b3c59 url(../img/cmn/intro-bg.png) no-repeat;
  background-position: right;
  background-size: contain;
  padding: 5rem 2rem 6.5rem;
}
.l-intro .wrap {
  width: 100%;
  max-width: 112rem;
  padding: 0 2rem;
  margin: 0 auto;
}
.l-intro p {
  display: block;
  text-align: left;
  font-size: 1.6rem;
  color: #fff;
  line-height: 2.25;
  width: max-content;
  margin: 0 auto;
}
.l-intro p + p {
  margin-top: 2rem;
}
.l-intro p.full {
  width: 100%;
  max-width: 100%;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .l-intro {
    padding: 4rem 0;
    background: #4b3c59 url(../img/cmn/intro-bg-sp.png) no-repeat;
    background-position: right top;
    background-size: contain;
  }
  .l-intro .wrap {
    max-width: 100%;
  }
  .l-intro p {
    width: 100%;
    font-size: 1.3rem;
    text-align: left;
  }
}

/*==================================================
privacy
==================================================*/
.privacy {
  position: relative;
  width: 100%;
  padding: 8.5rem 0 11rem;
}
.privacy .wrap {
  width: 100%;
  max-width: 99rem;
  padding: 0 4rem;
  margin: 0 auto;
}
.privacy h2.sec-title2 {
  display: block;
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  color: #2b272b;
/*  font-family: "theseasons", sans-serif;*/
}
.privacy h3.sec-title3 {
  display: block;
  font-size: 2.2rem;
  line-height: 1.18;
  font-weight: bold;
  color: #2b272b;
  margin-top: 3.5rem;
}
.privacy h3.sec-title3:first-of-type {
  margin-top: 4rem;
}
.privacy h2.sec-title2 + p {
  margin-top: 2.5rem;
}
.privacy p + p {
  margin-top: 1.5rem;
}
.privacy b {
  font-weight: bold;
}
.privacy p,
.privacy ul li {
  font-size: 1.5rem;
  line-height: 1.73;
  color: #000000;
}
.privacy p a {
  text-decoration: underline;
}
.privacy dl {
  margin-top: 3.5rem;
}
.privacy dl dt {
  position: relative;
  font-size: 2.2rem;
  line-height: 1.18;
  padding: 1.5rem 0;
  font-weight: bold;
  cursor: pointer;
  border-bottom: 1px solid #000;
  width: 100%;
}
.privacy dl dt.is-active:after {
  transform: translate(0, -50%) rotate(135deg);
}
.privacy dl dt:after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border: 2px solid;
  border-color: transparent transparent #000 #000;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%) rotate(-45deg);
  transition: all ease 0.3s;
}

.privacy dl dd {
  margin-top: 2rem;
  display: none;
}
.privacy dl dd p {
  margin-top: 1rem;
}
.privacy dl dd p + p {
  margin-top: 2rem;
}
.privacy dl dd p:first-of-type {
  margin-top: 0;
}
.privacy dl dd ul {
  margin-top: 2rem;
}
.privacy dl dd ul li {
  padding-left: 0.5em;
  text-indent: -0.5em;
}
.privacy dl dd h3 {
  display: block;
  font-size: 1.8rem;
  line-height: 1.18;
  font-weight: bold;
  color: #2b272b;
  margin-top: 3.5rem;
}
.privacy dl + p {
  margin-top: 2.5rem;
}
.privacy dl dd h3 + p {
  margin-top: 1rem !important;
}

@media screen and (max-width: 767px) {
  .privacy {
    padding: 5rem 0 6rem;
  }
  .privacy .wrap {
    max-width: 100%;
  }
  .privacy h2.sec-title2 {
    font-size: 3rem;
  }
  .privacy h3.sec-title3 {
    font-size: 2rem;
    margin-top: 2.5rem;
  }
  .privacy h3.sec-title3:first-of-type {
    margin-top: 3rem;
  }
  .privacy p,
  .privacy ul li {
    font-size: 1.4rem;
  }
}

/*==================================================
terms
==================================================*/
.terms {
  position: relative;
  width: 100%;
  padding: 0 2rem;
  background: #f5f2ef;
}
.terms .wrap {
  width: 100%;
  max-width: 99rem;
  padding: 8.5rem 4rem 6.5rem;
  margin: 0 auto;
  background: #fff;
}
.terms h2.sec-title2 {
  display: block;
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  color: #2b272b;
}
.terms h3.sec-title3 {
  display: block;
  font-size: 2.2rem;
  line-height: 1.18;
  font-weight: bold;
  color: #2b272b;
  margin-top: 3.5rem;
}
.terms h3.sec-title3:first-of-type {
  margin-top: 4rem;
}
.terms p,
.terms ul li {
  font-size: 1.5rem;
  line-height: 1.73;
  color: #000000;
}
.terms p a {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .terms {
    padding: 5rem 0 6rem;
  }
  .terms .wrap {
    max-width: 100%;
  }
  .terms h2.sec-title2 {
    font-size: 3rem;
  }
  .terms h3.sec-title3 {
    font-size: 2rem;
    margin-top: 2.5rem;
  }
  .terms h3.sec-title3:first-of-type {
    margin-top: 3rem;
  }
  .terms p,
  .terms ul li {
    font-size: 1.4rem;
  }
}

/*==================================================
best-rate-guarantee
==================================================*/
.howto {
  width: 100%;
  padding: 7.8rem 0 11.2rem;
}
.howto h2.howto-title {
  position: relative;
/*  font-family: "theseasons", sans-serif;*/
  font-size: 4rem;
  color: #333333;
  font-weight: bold;
  line-height: 1.75;
  text-align: center;
}
.howto h2.howto-title:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #aa986a;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.howto h2.howto-title span {
  position: relative;
  background: #fff;
  display: inline-block;
  padding: 0 3rem;
  z-index: 1;
}
.howto-flow {
  width: 100%;
  max-width: 134rem;
  margin: 5.5rem auto 0;
  padding: 0 2rem;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.howto-flow-list {
  width: calc(25% - 3rem);
  margin-right: 4rem;
}
.howto-flow-list:last-of-type {
  margin-right: 0;
}
.howto-flow-list span.num {
/*  font-family: "theseasons", sans-serif;*/
  display: block;
  text-align: center;
  background: #f5f2ef;
  color: #333333;
  font-size: 2.4rem;
  line-height: 1.8333;
  padding: 1rem 2rem;
}
.howto-flow-list figure.ico {
  text-align: center;
  margin-top: 3.8rem;
}
.howto-flow-list figure.ico img {
  width: auto;
  height: 6rem;
}
.howto-flow-list p {
  font-size: 1.6rem;
  color: #000015;
  line-height: 2.25;
  margin-top: 3rem;
}

@media screen and (max-width: 767px) {
  .howto {
    padding: 5rem 0 3rem;
  }
  .howto h2.howto-title {
    font-size: 2.6rem;
  }
  .howto h2.howto-title span {
    padding: 0 2rem;
  }
  .howto-flow {
    max-width: 100%;
    margin: 3rem auto 0;
  }
  .howto-flow-list {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3rem;
  }
  .howto-flow-list span.num {
    font-size: 1.8rem;
  }
  .howto-flow-list figure.ico {
    margin-top: 2.5rem;
  }
  .howto-flow-list figure.ico img {
    width: auto;
    height: 6rem;
  }
  .howto-flow-list p {
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}

.conditions {
  position: relative;
  width: 100%;
  background: #e3dbd3 url(../img/best-rate-guarantee/conditions-bg.png)
    no-repeat;
  background-size: 100%;
  background-position: top center;
  padding: 7.8rem 2rem 7.2rem;
}
.conditions h2.conditions-title {
  width: calc(100% + 4rem);
  margin-left: -2rem;
  position: relative;
/*  font-family: "theseasons", sans-serif;*/
  font-size: 4rem;
  color: #333333;
  font-weight: bold;
  line-height: 1.75;
  display: flex;
  align-items: center;
}
.conditions h2.conditions-title:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background: #aa986a;
  margin-left: 3rem;
}
.conditions h2.conditions-title:before {
  content: "";
  height: 1px;
  flex-grow: 1;
  background: #aa986a;
  margin-right: 3rem;
}
.conditions-box {
  width: 100%;
  max-width: 130rem;
  margin: 3rem auto 0;
  padding: 5.8rem 5rem;
  background: #fff;
}
.conditions-box ul {
  margin: 0;
  padding: 0;
}
.conditions-box ul li {
  font-size: 1.6rem;
  color: #000015;
  line-height: 2.25;
  margin-top: 1.2rem;
  text-indent: -0.6em;
  padding-left: 0.6em;
}

@media screen and (max-width: 767px) {
  .conditions {
    padding: 5rem 2rem 6rem;
  }
  .conditions h2.conditions-title {
    font-size: 2.6rem;
  }
  .conditions h2.conditions-title:after {
    margin-left: 2rem;
  }
  .conditions h2.conditions-title:before {
    margin-right: 2rem;
  }
  .conditions-box {
    max-width: 100%;
    padding: 3rem 2rem;
  }
  .conditions-box ul li {
    font-size: 1.4rem;
  }
}

.form {
  position: relative;
  width: 100%;
  padding: 0 0 11rem;
}
.form .form-wrap {
  width: 100%;
  max-width: 134rem;
  margin: 0 auto;
  padding: 0 2rem;
}
.form .form-wrap h2 {
  display: block;
  font-size: 3.4rem;
  margin-top: 7.8rem;
  line-height: 1.17;
  font-weight: bold;
}
.form .form-wrap h2 :first-of-type {
  margin-top: 0;
}
.form .form-col {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.form .wpcf7-form-control-wrap {
  display: block;
}
.form .wpcf7-form-control-wrap input {
  width: 100%;
  font-size: 1.8rem;
  padding: 1.6rem 0;
  height: 6rem;
  border: none;
  border-bottom: 1px solid #aa986a;
}

.form .form-col-list {
  width: calc(50% - 5rem);
}
.form p.form-col-tit {
  font-size: 1.6rem;
  font-weight: bold;
  color: #000015;
  line-height: 2.25;
  margin-top: 3.5rem;
}
.form .form-col-tit sup {
  color: #e60012;
}
.form .form-col-list span.wpcf7-form-control-wrap {
  display: block;
}
.form .form-col-list span.wpcf7-form-control-wrap input {
  width: 100%;
  height: 6rem;
  font-size: 1.6rem;
  line-height: 2.25;
  border-bottom: 1px solid #aa986a;
}
.form .form-col-list span.wpcf7-not-valid-tip {
  font-size: 1.6rem;
  padding: 1rem;
  margin-top: 1rem;
  background-color: #f9e4e8;
}
.form .form-col-list .select-wrap {
  position: relative;
}
.form .form-col-list .select-wrap:after {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translate(0, -50%);
  background: url(../img/cmn/ico-select-angle.svg) no-repeat;
  background-size: 100%;
}
.form .form-col-list .select-wrap select {
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  height: 4rem;
  margin-top: 2rem;
  background: #f5f2ef;
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  padding: 0 1.5rem;
}

.form .form-radio .wpcf7-form-control-wrap {
  margin-top: 4rem;
  display: block;
}
.form .form-radio .form-col-list,
.form .form-file .form-col-list,
.form .form-comment .form-col-list {
  width: 100%;
}
.form .form-col-list input[type="radio"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}
.form .form-col-list .wpcf7-list-item {
  margin-right: 8rem;
}
.form .form-col-list .wpcf7-list-item:last-of-type {
  margin-right: 0;
}
.form .form-col-list .wpcf7-list-item.first {
  margin-left: 0;
}

.form .form-col-list span.wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 1.6rem;
}

.form .form-col-list span.wpcf7-list-item-label::before {
  display: block;
  content: "";
  border-radius: 50%;
  background: #e3dbd3;
  width: 17px;
  height: 17px;
  margin-right: 1.2rem;
}

.form .form-col-list span.wpcf7-list-item-label::after {
  display: block;
  position: absolute;
  content: "";
  border-radius: 50%;
  width: 10px;
  height: 10px;
  background-color: #e60012;
  left: 3.5px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
}

.form
  .form-col-list
  input[type="radio"]:checked
  + span.wpcf7-list-item-label::after {
  display: block;
}

.form .form-col-file {
  position: relative;
  width: 100%;
  height: 25rem;
  background: #f5f2ef;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
}
.form .form-col-file:after {
  content: "";
  display: inline-block;
  width: 5.8rem;
  height: 3.4rem;
  background: url(../img/cmn/ico-fileup.svg) no-repeat;
  background-size: 100%;
}
.form .form-col-file span {
  position: absolute;
  width: 100%;
  height: auto;
  z-index: 1;
  /* opacity: 0; */
}
.form .form-col-file span.wpcf7-form-control-wrap input,
.form .form-col-file span.wpcf7-form-control-wrap {
  height: 100%;
  border-bottom: 0;
}
.form .form-col-file span.wpcf7-form-control-wrap input {
  opacity: 0;
}
.form p.form-col-cap {
  display: block;
  font-size: 1.6rem;
  line-height: 1.45;
  padding: 2.5rem 0 0 3.8rem;
  font-weight: bold;
}
.form p.form-col-cap sup {
  color: #e60012;
}
.form .form-col-file input[type="file"]::file-selector-button,
.form .form-col-file input[type="file"]::-webkit-file-upload-button {
  opacity: 0;
}
.form .form-col-file .form-col-list span.wpcf7-not-valid-tip {
  position: absolute;
  width: 100%;
}
.form #upload_img {
  display: none;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  margin-top: 6rem;
}
.form #upload_img.is-change {
  display: flex;
}
.form #upload_img > .img {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
}
.form #upload_img > .img img {
  object-fit: cover;
  min-height: 100px;
}
.form #upload_img .file-name {
  width: calc(100% - 100px);
  padding-left: 2rem;
  font-size: 1.6rem;
}
.form .form-comment textarea {
  width: 100%;
  height: 25rem;
  padding: 3.5rem 5rem;
  margin-top: 2rem;
  font-size: 1.6rem;
  resize: none;
  background: #f5f2ef;
}

.form .form-acceptance {
  margin-top: 4rem;
  text-align: center;
}

.form .wpcf7-list-item-label {
  position: relative;
}

.form .form-acceptance input[type="checkbox"] {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
  margin: 0;
  width: 20px;
  height: 20px;
  cursor: pointer;
  opacity: 0;
}
.form .form-acceptance .wpcf7-list-item-label {
  padding-left: calc(6rem + 20px);
  font-weight: bold;
  font-size: 1.6rem;
}
.form .form-acceptance .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 52%;
  left: -1.5em;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: #e3dbd3;
  cursor: pointer;
  transition: all 0.3s;
}
.form .form-acceptance .wpcf7-list-item-label a {
  color: #e60012;
  text-decoration: underline;
}
.form .form-acceptance .wpcf7-list-item {
  margin-left: 2.5em;
}
.form .form-acceptance .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 52%;
  left: -1.5em;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: transparent url(../img/cmn/ico-acceptance.svg) no-repeat center
    center / contain;
  cursor: pointer;
  transition: all 0.3s;
  opacity: 0;
}
.form input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.form input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  opacity: 0;
}

.form .form-btn {
  width: 100%;
  margin-top: 6.5rem;
  text-align: center;
}
.form .form-btn input.wpcf7-submit {
  width: 100%;
  max-width: 20rem;
  margin: 0 auto;
  height: 5rem;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  background: #c38e2c;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.form .wpcf7 form.sent .wpcf7-response-output {
  background: #e3dbd3;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  padding: 5rem;
  border: 0;
}
.form .wpcf7 form.invalid .wpcf7-response-output,
.form .wpcf7 form.unaccepted .wpcf7-response-output,
.form .wpcf7 form.payment-required .wpcf7-response-output,
.form .wpcf7 form.failed .wpcf7-response-output,
.form .wpcf7 form.aborted .wpcf7-response-output {
  font-size: 1.6rem;
  padding: 1rem;
  margin-top: 1rem;
  background-color: #f9e4e8;
  color: #dc3232;
  font-weight: bold;
  text-align: center;
  padding: 5rem;
  border: 0;
}
.form .wpcf7-not-valid-tip {
  font-size: 1.6rem;
  padding: 1rem;
  margin-top: 1rem;
  background-color: #f9e4e8;
  color: #dc3232;
  font-weight: bold;
  text-align: center;
  border: 0;
}

@media screen and (max-width: 767px) {
  .form {
    padding: 0 0 6rem;
  }
  .form .form-wrap {
    max-width: 100%;
    padding: 0 2rem;
  }
  .form .form-wrap h2 {
    font-size: 2.6rem;
    margin-top: 5rem;
  }
  .form .form-col-list {
    width: 100%;
  }
  .form p.form-col-tit {
    font-size: 1.4rem;
    margin-top: 4rem;
  }
  .form .form-col-list p span.wpcf7-form-control-wrap input {
    font-size: 1.4rem;
    height: 4rem;
  }
  .form .form-col-list p span.wpcf7-not-valid-tip {
    font-size: 1.4rem;
  }
  .form .form-col-list .select-wrap {
    position: relative;
  }
  .form .form-col-list .select-wrap:after {
    width: 1.4rem;
  }
  .form .form-col-list .select-wrap select {
    font-size: 1.4rem;
  }
  .form .form-col-list .wpcf7-list-item {
    margin: 1rem 0 0 0;
    width: 100%;
  }
  .form .form-col-list span.wpcf7-list-item-label {
    font-size: 1.4rem;
  }
  .form .form-radio .wpcf7-form-control-wrap {
    margin-top: 1rem;
    display: block;
  }
  .form .form-col-file {
    height: 15rem;
    margin-top: 2rem;
  }
  .form .form-file .form-col-cap {
    padding-left: 0;
  }
  .form p.form-col-cap {
    font-size: 1.4rem;
    padding: 2.5rem 0 0 2rem;
  }
  .form #upload_img {
    margin-top: 4rem;
  }
  .form #upload_img .file-name {
    font-size: 1.4rem;
    width: calc(100% - 50px);
  }
  .form #upload_img > .img {
    width: 50px;
    height: 50px;
  }
  .form #upload_img > .img img {
    width: 50px;
    min-height: 50px;
  }
  .form .form-comment textarea {
    height: 15rem;
    padding: 3rem 2rem;
    font-size: 1.4rem;
    resize: none;
  }
  .form .form-acceptance .wpcf7-list-item-label {
    font-size: 1.4rem;
    line-height: 1.5;
    padding-left: 2rem;
    text-align: left;
    display: block;
  }
  .form .form-btn {
    margin-top: 4rem;
  }
  .form .form-btn input.wpcf7-submit {
    max-width: 100%;
    height: 5rem;
    font-size: 1.4rem;
  }

  .form .wpcf7 form.sent .wpcf7-response-output {
    font-size: 1.8rem;
  }
  .form .wpcf7 form.invalid .wpcf7-response-output,
  .form .wpcf7 form.unaccepted .wpcf7-response-output,
  .form .wpcf7 form.payment-required .wpcf7-response-output,
  .form .wpcf7 form.failed .wpcf7-response-output,
  .form .wpcf7 form.aborted .wpcf7-response-output {
    font-size: 1.4rem;
  }
}

.sustainability {
  width: 100%;
  padding: 7.5rem 0 9rem;
}
.sustainability .wrap {
  width: 100%;
  max-width: 104.8rem;
  margin: 0 auto;
  padding: 0 2rem;
}
.sustainability-item {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.sustainability-item-list {
  width: calc(50% - 2.4rem);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4);
  background: #fff;
  margin-right: 4.8rem;
  margin-top: 8.5rem;
}
.sustainability-item-list:nth-child(1),
.sustainability-item-list:nth-child(2) {
  margin-top: 0;
}
.sustainability-item-list:nth-child(2n) {
  margin-right: 0;
}
.sustainability-item-list .sustainability-item-text {
  padding: 2.2rem 3rem;
}
.sustainability-item-list .sustainability-item-text p {
  font-size: 1.6rem;
  line-height: 1.75;
  color: #333333;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .sustainability {
    width: 100%;
    padding: 5rem 0 6rem;
  }
  .sustainability .wrap {
    max-width: 100%;
  }
  .sustainability-item-list {
    width: calc(50% - 1.2rem);
    margin-right: 2.4rem;
    margin-top: 5rem;
  }
  .sustainability-item-list .sustainability-item-text {
    padding: 2rem;
  }
  .sustainability-item-list .sustainability-item-text p {
    font-size: 1.4rem;
  }
}

/*==================================================
event
==================================================*/
.event {
  position: relative;
  width: 100%;
  background: #f5f2ef;
  padding: 8rem 0 9rem;
}
.event h2.event-title {
  width: calc(100% + 4rem);
  margin-left: -2rem;
  position: relative;
/*  font-family: "theseasons", sans-serif;*/
  font-size: 4rem;
  color: #333333;
  font-weight: bold;
  line-height: 1.75;
  display: flex;
  align-items: center;
}
.event h2.event-title:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background: #aa986a;
  margin-left: 3rem;
}
.event h2.event-title:before {
  content: "";
  height: 1px;
  flex-grow: 1;
  background: #aa986a;
  margin-right: 3rem;
}
.event-main {
  width: calc(100% - 40px);
  max-width: 130rem;
  padding: 6rem 5rem;
  margin: 4rem auto 0;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.event-main-thumb {
  width: 48%;
}
.event-main-text {
  width: 52%;
  padding-left: 5rem;
}
.event-main-text h3 {
  position: relative;
/*  font-family: "theseasons", sans-serif;*/
  font-size: 4rem;
  color: #aa986a;
  font-weight: bold;
  line-height: 1.5;
}
.event-main-text p.event-date {
  position: relative;
/*  font-family: "theseasons", sans-serif;*/
  font-size: 2rem;
  color: #333333;
  line-height: 1.5;
  margin-top: 1.5rem;
}
.event-main-text p.event-lead {
  font-size: 1.5rem;
  color: #000015;
  line-height: 1.86;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #aa986a;
}
.event-pastevent {
  width: calc(100% - 40px);
  max-width: 1300px;
  margin: 8rem auto 0;
  display: flex;
  justify-content: space-between;
}
.event-pastevent-title {
  position: relative;
/*  font-family: "theseasons", sans-serif;*/
  font-size: 5rem;
  color: #aa986a;
  line-height: 1.2;
  margin-top: 2rem;
}
.event-pastevent-title h2 {
  width: 34rem;
  padding-right: 4rem;
}
.event-pastevent-slider {
  width: 100%;
}
.event-pastevent-slider-list {
  margin: 0 10px;
}
.event-slider-dots-pc {
  display: block !important;
}
.event-slider-dots-sp {
  display: none !important;
}
.event .slick-dots {
  position: static;
  text-align: left;
  margin-top: 10rem;
}
.event .slick-dots li {
  width: 60px;
  height: 2px;
  margin: 0 5px 0 0;
  padding: 0;
}
.event .slick-dots li button {
  width: 60px;
  height: 2px;
  padding: 0;
}
.event .slick-dots li button:before {
  content: "";
  line-height: 1;
  width: 60px;
  height: 2px;
  background: #333333;
  opacity: 1;
}
.event .slick-dots li.slick-active button:before {
  height: 4px;
  margin-top: -1px;
  opacity: 1;
}
.event .slick-dots li:last-of-type {
  margin-right: 0;
}
.event-pastevent-text {
  background: #fff;
  padding: 3rem 4rem 4rem;
}
.event-pastevent-text h3 {
  position: relative;
/*  font-family: "theseasons", sans-serif;*/
  font-size: 2.7rem;
  color: #aa986a;
  font-weight: bold;
  line-height: 1.5;
}
.event-pastevent-text p.event-date {
  position: relative;
/*  font-family: "theseasons", sans-serif;*/
  font-size: 2rem;
  color: #333333;
  line-height: 1.5;
  margin-top: 1.5rem;
}
.event-pastevent-text p.event-lead {
  font-size: 1.5rem;
  color: #000015;
  line-height: 1.86;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #aa986a;
}

@media screen and (max-width: 767px) {
  .event {
    padding: 5rem 0 6rem;
  }
  .event h2.event-title {
    font-size: 2.6rem;
  }
  .event h2.event-title:after {
    margin-left: 2rem;
  }
  .event h2.event-title:before {
    margin-right: 2rem;
  }
  .event-main {
    max-width: 100%;
    padding: 4rem 2rem;
    margin: 3rem auto 0;
  }
  .event-main-thumb {
    width: 100%;
  }
  .event-main-text {
    width: 100%;
    padding-left: 0;
    margin-top: 3rem;
  }
  .event-main-text h3 {
    font-size: 2.6rem;
  }
  .event-main-text p.event-date {
    font-size: 1.8rem;
    margin-top: 1rem;
  }
  .event-main-text p.event-lead {
    font-size: 1.4rem;
    margin-top: 2rem;
    padding-top: 2rem;
  }
  .event-pastevent {
    max-width: 100%;
    margin: 6rem auto 0;
    flex-wrap: wrap;
  }
  .event-pastevent-title {
    position: relative;
    width: 100%;
    font-size: 3rem;
    margin-top: 0;
  }
  .event-pastevent-title figure {
    max-width: 60%;
    opacity: 0.7;
  }
  .event-pastevent-title h2 {
    font-size: 4rem;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    padding-right: 0;
    transform: translate(0, -50%);
  }
  .event-pastevent-slider {
    width: 100%;
    margin-top: 1rem;
  }
  .event-pastevent-slider-list {
    margin: 0 5px;
  }
  .event-slider-dots-pc {
    display: none !important;
  }
  .event-slider-dots-sp {
    width: 100%;
    display: block !important;
  }
  .event .slick-dots {
    position: static;
    text-align: left;
    margin-top: 1rem;
  }
  .event .slick-dots {
    display: flex !important;
    justify-content: center;
  }
  .event .slick-dots li {
    width: 40px;
  }
  .event .slick-dots li button {
    width: 40px;
  }
  .event .slick-dots li button:before {
    width: 40px;
  }
  .event .slick-dots li:last-of-type {
    margin-right: 0;
  }
  .event-pastevent-text {
    background: #fff;
    padding: 2rem 2rem 3rem;
  }
  .event-pastevent-text h3 {
    font-size: 2.2rem;
  }
  .event-pastevent-text p.event-date {
    font-size: 1.8rem;
  }
  .event-pastevent-text p.event-lead {
    font-size: 1.4rem;
    margin-top: 2rem;
    padding-top: 2rem;
  }
}
