@charset "UTF-8";
/* ---------- ---------- ----------

00. Common Setting
01. Component Setting
02. Page SettingPage Setting

---------- ---------- ---------- */

/* ---------- ---------- ----------
:: for large screen ::
@media only screen and (min-width: 1025px) {
}
:: for medium screen ::
@media only screen and (min-width: 641px) and (max-width: 1024px) {
}
:: for small screen ::
@media only screen and (max-width: 640px) {
}
---------- ---------- ---------- */

/* -- ------------------------------
    00. Common Setting
------------------------------ --*/
/* Reset
---------- ---------- */
.keh-Section .g-HeadingTitle__titleBlock__titleBox__title,
.keh-Section .g-HeadingTitle--v2__titleBlock__titleBox__title,
.keh-Section .g-PageTitle__titleBlock__titleBox__title,
.keh-Section .g-PageTitle--v2__titleBlock__titleBox__title {
  margin-bottom: 0;
}

.keh-Section {
  background-color: #fbfaf7;
}

.keh-Section .g-Section__inner {
  max-width: 1366px;
  margin: 0 auto;
}

.keh-Section .l-Column.is-gutter--m .l-Column__cols {
  padding: 0 12px;
}

.keh-Section .cmn-richtext {
  letter-spacing: .02em;
  font-family: sans-serif;
  color: #231815;
}

/* Option
---------- ---------- */
/* Background Color */
.bg-col01 .g-Section__inner {
  background-color: #f6f4eb;
}

.bg-col02 .g-Section__inner {
  background-color: #037e6c;
}

.bg-col03 .g-Section__inner {
  background-color: #5fb19d;
}

.bg-col04 {
  background-color: #67ab94;
}

.bg-col05 {
  background-color: #ff7623b3;
}


/* Font Color */
.keh-Section .opt-fontcolor--01 .cmn-richtext {
  color: #fff;
}

.keh-fontcolor--01 {
  color: #ff7623;
}

/* Font Size */
.opt-fontsize--32 {
  font-size: 32px;
  font-weight: bold;
}

.opt-fontsize--28 {
  font-size: 28px;
}

.opt-fontsize--18 {
  font-size: 18px;
}

@media only screen and (max-width: 640px) {
  .opt-sm-fontsize--18 {
    font-size: 18px;
  }

  .opt-sm-fontsize--16 {
    font-size: 16px;
  }
}

/* -- ------------------------------
    01. Component Setting
------------------------------ --*/
/* Column Separator */
.keh-bg-Section {
  position: relative;
}

.keh-Section .g-Column:not(.keh-bg-Column) {
  position: relative;
  z-index: 2;
}

.keh-bg-Column {
  position: absolute;
  z-index: 1;
  top: 0;
  width: 100%;
  max-width: 1366px;
  margin: 0 auto;
  height: 100%;
}

.keh-bg-Column .g-ColumnUnit {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}

.keh-bg-Column .g-Column__inner,
.keh-bg-Column .g-Column__cols,
.keh-bg-Column .g-ColumnUnit {
  height: 100% !important;
}

.keh-Section .g-ColumnUnit.is-backgroundColor--1 {
  border-radius: 35px;
  overflow: hidden;
}

.keh-Section03 .g-ColumnUnit.is-backgroundColor--1 {
  padding: 6% 11.5% 10%;
}

@media only screen and (max-width: 640px) {
  .keh-Section .g-ColumnUnit.is-backgroundColor--1 {
    border-radius: 20px;
  }
}

/* Group Box */
.keh-GroupBox--01 {
  margin: 50px 8% 7.5%;
  padding: 40px 5% 3.8%;
  position: relative;
  border-radius: 25px;
}

@media only screen and (min-width: 641px) and (max-width: 1024px) {
  .keh-GroupBox--01 {
    margin: 50px 5% 7.5%;
    padding: 40px 3% 3.8%;
  }
}

@media only screen and (max-width: 640px) {
  .keh-GroupBox--01 {
    margin: 32px 12px 20px;
    padding: 30px 14px 15px;
    border-radius: 15px;
  }

  .keh-Section03 .g-ColumnUnit.is-backgroundColor--1 {
    padding: 30px 18px 40px;
  }
}

.keh-GroupBox--01-1 {
  border-radius: 12px;
}

.keh-GroupBox--01-1.is-backgroundColor--1 {
  background-color: #f1f6fb;
}

.keh-GroupBox--01-1.is-backgroundColor--2 {
  background-color: #f0fcfc;
}

.keh-GroupBox--01-1.is-backgroundColor--3 {
  background-color: #fbf9f1;
}

.keh-GroupBox--01-1.is-backgroundColor--4 {
  background-color: #faf3f6;
}

@media only screen and (max-width: 640px) {
  .keh-GroupBox--01-1 {
    border-radius: 7px;
  }

  .keh-GroupBox--01-1.is-background {
    padding: 12px;
  }
}

/* Heading Title Item */
.keh-HeadingTitle--01.l-HeadingTitle--v2.g-HeadingTitle--v2 {
  padding: 10px;
  border-radius: 26px;
  position: absolute;
  top: -26px;
  width: 338px;
  left: 50%;
  transform: translateX(-50%);
}

.keh-HeadingTitle--01.l-HeadingTitle--v2.is-backgroundColor--1 {
  background-color: #268c69;
}

.keh-HeadingTitle--01.l-HeadingTitle--v2.is-backgroundColor--2 {
  background-color: #ff7623;
}

.keh-HeadingTitle--01 .g-HeadingTitle--v2__titleBlock__titleBox__title>p {
  line-height: 1;
}

@media only screen and (max-width: 640px) {
  .keh-HeadingTitle--01.l-HeadingTitle--v2.g-HeadingTitle--v2 {
    padding: 6px;
    border-radius: 15px;
    top: -16px;
    width: 180px;
  }
}

/* 02 */
.keh-HeadingTitle--02 .g-HeadingTitle--v2__titleBlock__imageBox {
  width: 70px;
}

.keh-HeadingTitle--02 .cmn-richtext {
  font-weight: bold;
  font-size: 36px;
}

@media only screen and (min-width: 641px) and (max-width: 1024px) {
  .keh-HeadingTitle--02 .cmn-richtext {
    font-size: 33px;
  }
}

@media only screen and (max-width: 640px) {
  .keh-HeadingTitle--02 .g-HeadingTitle--v2__titleBlock__imageBox {
    width: 45px;
  }

  .keh-HeadingTitle--02 .cmn-richtext {
    font-size: 23px;
  }
}

.keh-GroupBox--01-1.is-backgroundColor--1 .keh-HeadingTitle--02 .cmn-richtext {
  color: #5c8ec6;
}

.keh-GroupBox--01-1.is-backgroundColor--2 .keh-HeadingTitle--02 .cmn-richtext {
  color: #43bdbc;
}

.keh-GroupBox--01-1.is-backgroundColor--3 .keh-HeadingTitle--02 .cmn-richtext {
  color: #d6ae34;
}

.keh-GroupBox--01-1.is-backgroundColor--4 .keh-HeadingTitle--02 .cmn-richtext {
  color: #db568b;
}

/* 03 */
.keh-HeadingTitle--03.l-HeadingTitle--v2.is-backgroundColor--1,
.keh-HeadingTitle--03.l-HeadingTitle--v2.is-backgroundColor--2 {
  background-color: transparent;
  padding: 0;
}

.keh-HeadingTitle--03::before,
.keh-HeadingTitle--03::after {
  content: '';
  width: calc(50% - 145px);
  height: 3px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.keh-HeadingTitle--03::before {
  left: 0;
}

.keh-HeadingTitle--03::after {
  right: 0;
}

.keh-HeadingTitle--03.is-backgroundColor--1::before,
.keh-HeadingTitle--03.is-backgroundColor--1::after {
  background-color: #268766;
}

.keh-HeadingTitle--03.is-backgroundColor--2::before,
.keh-HeadingTitle--03.is-backgroundColor--2::after {
  background-color: #ff7623;
}

.keh-HeadingTitle--03.g-HeadingTitle--v2 .g-HeadingTitle--v2__titleBlock {
  border-radius: 23px;
  padding: 12px;
  width: 290px;
  margin: 0 auto;
}

.keh-HeadingTitle--03.is-backgroundColor--1 .g-HeadingTitle--v2__titleBlock {
  background-color: #268c69;
}

.keh-HeadingTitle--03.is-backgroundColor--2 .g-HeadingTitle--v2__titleBlock {
  background-color: #ff7623;
}

.keh-HeadingTitle--03 .g-HeadingTitle--v2__titleBlock__titleBox__title .g-HeadingTitle--v2__h4 {
  line-height: 1;
  font-size: inherit;
}

.keh-HeadingTitle--03.l-HeadingTitle--v2 .cmn-richtext {
  color: #fff;
  font-weight: bold;
  font-size: 22px;
  line-height: 1;
}

@media only screen and (max-width: 640px) {
  .keh-HeadingTitle--03.g-HeadingTitle--v2 .g-HeadingTitle--v2__titleBlock {
    border-radius: 11px;
    padding: 6px;
    width: 135px;
  }

  .keh-HeadingTitle--03::before,
  .keh-HeadingTitle--03::after {
    width: calc(50% - 67.5px);
    height: 2px;
  }

  .keh-HeadingTitle--03.l-HeadingTitle--v2 .cmn-richtext {
    font-size: 12px;
  }
}

/* Text Item */
.keh-coupon01.g-Text {
  padding: 4px 10px 10px;
  width: 90%;
  margin: 0 auto;
  border-radius: 2px;
}

.keh-coupon01 .keh-fontcolor--01 {
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}

@media only screen and (min-width: 641px) and (max-width: 1024px) {
  .keh-coupon01 .opt-fontsize--32 {
    font-size: 30px;
  }
}

@media only screen and (max-width: 640px) {
  .keh-coupon01 .opt-fontsize--32 {
    font-size: 20px;
  }

  .keh-coupon01 .opt-fontsize--18 {
    font-size: 12px;
  }
}

/* Banner Link Pack */
.keh-BannerLinkP--01 .g-BannerLinkP--v2__list__item {
    float: inherit;
}

.keh-BannerLinkP--01 .g-BannerLinkP--v2__list:after {
  content: none;
}

.keh-BannerLinkP--01 .g-BannerLinkP--v2__list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: nowrap;
}

@media only screen and (max-width: 1024px) {
  .keh-BannerLinkP--01 .g-BannerLinkP--v2__list {
    gap: 7px;
  }
}

/* -- ------------------------------
    02. Page Setting
------------------------------ --*/
/* Section 03 */
.keh-Section01 .keh-head-ColumnUnit01 {
  padding-top: 12.2%;
}

.keh-Section01 .keh-head-ColumnUnit02 {
  padding-bottom: 15%;
}

/* Section 02 */
.keh-Section02 .g-Section__inner {
  padding-bottom: 7%;
}

@media only screen and (min-width: 641px) and (max-width: 1024px) {
  .keh-Section02 .opt-fontsize--32 {
    font-size: 26px;
  }
}

/* Section 03 */
.keh-Section03 .keh-head-ColumnUnit01 {
  padding-top: 13.5%;
}
