@charset "UTF-8";
/* --------------------------------------------------
  初期設定
-------------------------------------------------- */
* {
  margin: 0;
  padding: 0;
}

:root {
  --main-color: #132e5b;
  --text-color: #141414;
  --gold-color: #e5c963;
  --gold-color: #e7ebfa;
}

html {
  font-size: 62.5%;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: none;
  color: var(--text-color);
  letter-spacing: 0.03em;
}

body {
  background: #fff;
  font-family: "Noto Serif", serif;
  font-weight: 500;
}

html body {
  --font-size_s: 1.6rem;
  --font-size_m: 1.8rem;
  font-size: var(--font-size_m);
  line-height: 2;
}

body {
  min-width: 1280px;
}

@media screen and (max-width: 768px) {
  body {
    min-width: auto;
  }
  html body {
    --font-size_s: 1.4rem;
    --font-size_m: 1.6rem;
  }
}
@media screen and (hover: hover) {
  a {
    transition: 0.4s;
  }
  a:hover {
    opacity: 0.8;
  }
}
/* --------------------------------------------------
  共有設定
-------------------------------------------------- */
ul,
ol {
  list-style: none;
}

p {
  font-size: var(--font-size_m);
}

img {
  width: 100%;
  height: auto;
}

.en {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
}

.u-tc {
  text-align: center;
}

.u-tuline {
  text-decoration: underline;
}

.u-bg_gray {
  background: #f6f6f6;
}

.u-bg_lead {
  background: url(../image/bg_lead_pc.jpg) no-repeat;
  background-size: cover;
  background-position: top;
}

.u-col3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}

@media screen and (max-width: 768px) {
  .u-col3 {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
@media screen and (max-width: 600px) {
  .u-col3 {
    gap: 1.6rem;
  }
}
/*セクション*/
.sectionContent {
  padding-top: 8rem;
  padding-bottom: 8rem;
  padding-left: 4vw;
  padding-right: 4vw;
}

.sectionContent p {
  margin-bottom: 2.4rem;
}

@media screen and (max-width: 1280px) {
  .sectionContent {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .sectionContent {
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .sectionContent p {
    text-align: left;
  }
}
@media screen and (max-width: 600px) {
  .sectionContent {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
/*ボタン*/
.btn {
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.btn a {
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--main-color);
  height: 100%;
  width: 100%;
  min-height: 6.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border: 1px solid var(--main-color);
  border-radius: 10rem;
  background: #fff;
  box-shadow: 0 0.4rem 0 rgba(0, 0, 0, 0.1);
  position: relative;
}
@media (hover: hover) {
  .btn a:hover {
    box-shadow: none;
  }
}
.btn .arrRight {
  display: block;
  position: absolute;
  top: 50%;
  right: -2rem;
  transform: translateY(-54%);
  width: 4.4rem;
  height: 1.1rem;
  background: url(../image/btn_arr_line.svg) no-repeat;
  background-size: contain;
  transition: 0.4s;
}
@media (hover: hover) {
  .btn:hover .arrRight {
    right: -2.8rem;
  }
}

@media screen and (max-width: 768px) {
  .btn a {
    min-height: 5.8rem;
  }
  .btn .arrRight {
    width: 4rem;
    height: 1rem;
  }
}
/* --------------------------------------------------
  フッター
-------------------------------------------------- */
.footer {
  font-size: var(--font-size_s);
  color: #fff;
  background: var(--main-color);
  padding: 3rem;
}

.footer_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
.footer_inner .foot_contact {
  font-size: var(--font-size_m);
  display: flex;
  gap: 1.6rem;
}

@media screen and (max-width: 768px) {
  .footer_inner .foot_contact {
    flex-direction: column;
    gap: 0;
    text-align: center;
  }
}
/* --------------------------------------------------
  タイトル
-------------------------------------------------- */
.sectionTitle {
  color: var(--main-color);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 4.5rem;
}

.sectionTitle_en {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 9rem;
  line-height: 1.5;
}

.sectionTitle_ja {
  font-size: 2.4rem;
  line-height: 1.5;
}

.sectionSubtitle {
  font-size: 3.2rem;
  text-align: center;
  margin-bottom: 8rem;
}
.sectionSubtitle br {
  display: none;
}
.sectionSubtitle span {
  display: inline-block;
  position: relative;
}
.sectionSubtitle span::before {
  content: "";
  width: 17.6rem;
  height: 0.3rem;
  background: url(../image/deco_tit.png);
  background-size: contain;
  position: absolute;
  bottom: -1.2rem;
  left: 50%;
  transform: translateX(-50%);
}

.sectionTitle_normal {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .sectionTitle {
    margin-bottom: 3rem;
  }
  .sectionTitle_en {
    font-size: 4.8rem;
  }
  .sectionTitle_ja {
    font-size: 1.6rem;
  }
  .sectionSubtitle {
    font-size: 1.8rem;
    margin-bottom: 4.5rem;
  }
  .sectionSubtitle span {
    display: inline-block;
    position: relative;
  }
  .sectionSubtitle span::before {
    bottom: -1.2rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .sectionSubtitle br {
    display: inline;
  }
  .sectionTitle_normal {
    font-size: 1.8rem;
    margin-bottom: 2.4rem;
  }
}
/*-- コンセプト --*/
.sectionContent__concept {
  padding-top: 32rem;
  margin-top: -24rem;
}

@media screen and (max-width: 768px) {
  .sectionContent__concept {
    padding-top: 26rem;
    margin-top: -24rem;
  }
}
/*-- エントリー部門 --*/
.sectionContent__categories {
  padding-top: 0;
  padding-bottom: 16rem;
}

.categories_cardItem > div {
  padding: 3rem 2rem;
  box-shadow: 0.4rem 0.4rem 1rem rgba(0, 0, 0, 0.05);
  background: #fff;
}
.categories_cardItem {
  text-align: center;
}
.categories_cardItem .card_title {
  font-size: 2.4rem;
  color: var(--main-color);
}
.categories_cardItem .card_subtitle {
  font-size: 2rem;
  margin-bottom: 1.6rem;
}
.categories_cardItem .card_content {
  display: none;
}
.categories_cardItem .card_content p {
  font-size: var(--font-size_s);
  text-align: left;
}

.j-openarr {
  width: 3.1rem;
  height: 1.6rem;
  margin: auto;
  cursor: pointer;
}
.j-openarr img {
  display: block;
}

.categories_cardItem.is-open .j-openarr {
  transform: rotate(180deg);
  transition: transform 0.3s;
}

@media screen and (max-width: 768px) {
  .sectionContent__categories {
    padding-bottom: 4.8rem;
  }
  .categories_cardItem .card_subtitle {
    font-size: 1.8rem;
  }
}
/*-- 審査・評価 --*/
.sectionContent__method {
  padding-top: 0;
}
.sectionContent__method .sectionTitle_wrap {
  max-width: 100rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.sectionContent__method .sectionTitle_wrap .methodgraph {
  width: 33.6rem;
  position: absolute;
  top: -4rem;
  right: 0;
}
@media screen and (min-width: 769px) {
  .sectionContent__method .sectionTitle {
    gap: 2rem;
    flex-direction: row;
    margin-bottom: 3.2rem;
  }
  .sectionContent__method .sectionTitle_normal {
    text-align: left;
    padding-left: 4.8rem;
    margin-bottom: 8rem;
  }
}

@media screen and (max-width: 768px) {
  .sectionContent__method .sectionTitle_wrap .methodgraph {
    position: initial;
    width: 20rem;
    margin: 1.6rem auto;
    display: block;
  }
}
/*-- エントリーフロー --*/
.step_content {
  max-width: 98rem;
  margin-left: auto;
  margin-right: auto;
}

.step_contentItem {
  display: flex;
  gap: 4rem;
}
.step_contentItem .stepNum {
  font-size: 2rem;
  color: var(--main-color);
  flex: 0 0 auto;
}
.step_contentItem .stepNum span {
  position: relative;
}
.step_contentItem .stepNum span::before {
  content: "";
  display: block;
  width: 8.5rem;
  height: 0.2rem;
  position: absolute;
  bottom: -0.4rem;
  left: 50%;
  transform: translateX(-50%);
  background: url(../image/deco_steptit.png) no-repeat;
  background-size: contain;
}
.step_contentItem .stepTitle {
  font-size: 2rem;
  margin-bottom: 1.2rem;
  color: var(--main-color);
}
.step_contentItem .stepContent p {
  font-size: var(--font-size_s);
  margin-bottom: 1.6rem;
}

.step_contentItem + .step_contentItem {
  padding-top: 3.2rem;
  margin-top: 3.2rem;
  border-top: 1px dashed #cccccc;
  position: relative;
}
.step_contentItem + .step_contentItem::before {
  content: "";
  display: block;
  width: 4.8rem;
  height: 2.4rem;
  background: url(../image/arr_step_gold.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: -1.2rem;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  .step_contentItem {
    gap: 1.8rem;
  }
  .step_contentItem .stepNum {
    font-size: 1.8rem;
  }
  .step_contentItem .stepNum span::before {
    width: 6.5rem;
  }
  .step_contentItem .stepTitle {
    font-size: 1.8rem;
    margin-bottom: 0.8rem;
  }
  .step_contentItem .stepContent p {
    margin-bottom: 1.2rem;
  }
  .step_contentItem + .step_contentItem {
    padding-top: 2.4rem;
    margin-top: 2.4rem;
  }
  .step_contentItem + .step_contentItem::before {
    width: 3.6rem;
    height: 1.8rem;
    top: -1rem;
  }
}
/*-- メリット --*/
.benefits_cardItem {
  background: #fff;
  box-shadow: 0.4rem 0.4rem 1rem rgba(0, 0, 0, 0.05);
  padding: 6.6rem 2rem 3rem;
  position: relative;
}
.benefits_cardItem .card_title {
  font-size: 2.4rem;
  color: var(--main-color);
  text-align: center;
  margin-bottom: 1.6rem;
}
.benefits_cardItem .card_icon {
  width: 6.3rem;
  position: absolute;
  top: -1.4rem;
  left: 50%;
  transform: translateX(-50%);
}
.benefits_cardItem .card_content p {
  font-size: var(--font-size_s);
}

@media screen and (max-width: 768px) {
  .benefits_cardList {
    gap: 3.4rem;
  }
}
/*-- イベント --*/
.sectionContent__event .sectionSubtitle {
  color: var(--main-color);
}

.event_content {
  max-width: 100rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  gap: 4rem;
  justify-content: space-between;
}
.event_content .waku {
  border: 1px solid #ccc;
  padding: 2.4rem 3.2rem;
  margin-top: 4rem;
  display: inline-block;
  min-width: 30rem;
}
.event_content .waku p {
  margin-bottom: 0;
}
.event_content .imagearea {
  flex: 0 0 26rem;
}

.event_videoContent {
  margin-top: 6rem;
  text-align: center;
}
.event_videoContent .videoTitle {
  font-size: var(--font-size_m);
  text-align: center;
  margin-bottom: 4.8rem;
}
.event_videoContent .videoTitle span {
  position: relative;
  display: inline-block;
  padding: 0 2.4rem;
}
.event_videoContent .videoTitle span::before, .event_videoContent .videoTitle span::after {
  content: "";
  width: 0.1rem;
  height: 3rem;
  background: var(--text-color);
  position: absolute;
  top: 0.8rem;
}
.event_videoContent .videoTitle span::before {
  left: 0;
  transform: rotate(-40deg);
}
.event_videoContent .videoTitle span::after {
  right: 0;
  transform: rotate(40deg);
}
.event_videoContent .video {
  width: 80rem;
}

@media screen and (max-width: 768px) {
  .event_content {
    display: flex;
    gap: 0rem;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .event_content .textarea {
    display: contents;
  }
  .event_content .textarea > p {
    width: 100%;
  }
  .event_content .waku {
    padding: 0;
    margin-top: 0;
    min-width: auto;
    flex: 0 0 23rem;
    border: none;
  }
  .event_content .waku p {
    font-size: 1.4rem;
    border: 1px solid #ccc;
    padding: 1.2rem 1.6rem;
  }
  .event_content .imagearea {
    flex: 1 0 20%;
    margin-left: 2rem;
    max-width: 18rem;
  }
  .event_videoContent {
    margin-top: 6rem;
  }
  .event_videoContent .videoTitle {
    margin-bottom: 2.4rem;
  }
  .event_videoContent .video {
    width: 100%;
  }
}
/*-- エントリー --*/
.sectionContent__entry {
  background: url(../image/bg_entry_pc.jpg) no-repeat;
  background-size: cover;
  background-position: top;
  color: #fff;
  padding-top: 0;
}

.entryTitle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 3rem;
}
.entryTitle .entryTitle_main {
  font-size: 4.2rem;
  line-height: 1.5;
}
.entryTitle .entryTitle_sub {
  font-size: 2rem;
  line-height: 1.5;
}

.entrydayWaku {
  text-align: center;
  border: 1px solid #fff;
  padding: 1.6rem;
  width: 63rem;
  margin: 0 auto 6rem;
}
.entrydayWaku .eventday {
  font-size: 5rem;
  line-height: 1.5;
  color: #e5c963;
}
.entrydayWaku .shimekiri {
  font-size: 2rem;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .entryTitle {
    margin-bottom: 2.4rem;
  }
  .entryTitle .entryTitle_main {
    font-size: 2.8rem;
  }
  .entryTitle .entryTitle_sub {
    font-size: 1.4rem;
  }
  .entrydayWaku {
    padding: 1rem 1rem 1.2rem;
    width: 30rem;
    margin: 0 auto 5rem;
  }
  .entrydayWaku .eventday {
    font-size: 2.8rem;
  }
  .entrydayWaku .shimekiri {
    font-size: 1.4rem;
  }
}
/*-- コンバージョンエリア --*/
.cvp_cardItem {
  text-align: center;
  padding: 4rem;
  background: #fff;
  box-shadow: 0 0.4rem 0 rgba(0, 0, 0, 0.1);
}
.cvp_cardItem .card_icon {
  width: 5rem;
  margin: 0 auto 1.6rem;
}
.cvp_cardItem .card_title {
  font-size: 2rem;
  color: var(--main-color);
  margin-bottom: 1.6rem;
}

@media screen and (max-width: 768px) {
  .cvp_cardItem {
    padding: 3.6rem;
  }
  .cvp_cardItem .card_icon {
    width: 4.4rem;
    margin: 0 auto 1.2rem;
  }
  .cvp_cardItem .card_title {
    font-size: 1.8rem;
    margin-bottom: 1.4rem;
  }
}
/* --------------------------------------------------
  トップビュー
-------------------------------------------------- */
.topview {
  background: url(../image/bg_topview_pc.jpg) no-repeat;
  background-size: cover;
  background-position: top center;
  padding-top: 15.6rem;
  padding-left: 4vw;
  padding-right: 4vw;
  padding-bottom: 30rem;
  position: relative;
}
.topview .topviewCaption {
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  margin: 1.8rem auto 0;
}
.topview .topviewCaption br {
  display: none;
}

.topviewTitle {
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}
.topviewTitle .topviewTitle_main {
  font-size: 5.4rem;
}
.topviewTitle .topviewTitle_main br {
  display: none;
}
.topviewTitle .topviewTitle_sub {
  font-size: 2.2rem;
}
.topviewTitle .topviewTitle_sub br {
  display: none;
}
.topviewTitle .topview_logo {
  width: 15rem;
}

.topviewCvp {
  margin-top: 4.5rem;
}

.cvp_cardList_topview {
  max-width: 140rem;
  margin-left: auto;
  margin-right: auto;
}
.cvp_cardList_topview .cvp_cardItem {
  background: rgba(255, 255, 255, 0.95);
  padding-top: 3rem;
  position: relative;
}
.cvp_cardList_topview .cvp_cardItem .card_title {
  font-size: var(--font-size_m);
  position: relative;
  z-index: 1;
}
.cvp_cardList_topview .cvpbg {
  position: absolute;
  top: 2rem;
  left: 2rem;
  width: 10rem;
}

@media screen and (max-width: 768px) {
  .topview {
    padding-top: 9.6rem;
    padding-bottom: 14rem;
  }
  .topview .topviewCaption {
    font-size: 1.4rem;
    margin: 1.8rem auto 0;
  }
  .topview .topviewCaption br {
    display: inline;
  }
  .topviewTitle {
    gap: 1.2rem;
  }
  .topviewTitle .topviewTitle_main {
    font-size: 2.6rem;
  }
  .topviewTitle .topviewTitle_sub {
    font-size: 1.6rem;
  }
  .topviewTitle .topview_logo {
    width: 12.4rem;
  }
  .topviewCvp {
    margin-top: 3.6rem;
  }
  .cvp_cardList_topview .cvp_cardItem {
    padding-top: 2rem;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 600px) {
  .topview {
    background-image: url(../image/bg_topview_mob.jpg);
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .topviewTitle .topviewTitle_main br {
    display: inline;
  }
  .topviewTitle .topviewTitle_sub br {
    display: inline;
  }
}
.topviewSlider {
  margin-top: -20rem;
}

#key {
  position: relative;
  width: 100%;
  z-index: 100;
}
#key ul li {
  display: block;
  text-align: center;
  width: 40rem;
  margin: 2.5rem;
  line-height: 100vh;
}
#key ul li:nth-of-type(odd) {
  margin-top: 8rem;
}

@media screen and (max-width: 768px) {
  .topviewSlider {
    margin-top: -11rem;
  }
  #key ul li {
    width: 20rem;
    margin: 1.5rem;
  }
  #key ul li:nth-of-type(odd) {
    margin-top: 4rem;
  }
}/*# sourceMappingURL=lp.css.map */