@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html

*/
/* =====================================================
   MENVADO COMPASS
===================================================== */

#menvado-compass {

  --mvc-navy: #07254c;
  --mvc-navy-light: #123d6d;
  --mvc-gold: #b78d42;
  --mvc-gold-dark: #a77b2d;

  --mvc-text: #202938;
  --mvc-muted: #657182;

  --mvc-bg: #f5f7fa;
  --mvc-border: #e0e5eb;
  --mvc-white: #ffffff;

  max-width: 1080px;

  margin:
    0 auto;

  padding:
    70px 30px;

  color:
    var(--mvc-text);

}


/* =====================================================
   HEADER
===================================================== */

.mvc-header {

  max-width: 760px;

  margin:
    0 auto 65px;

  text-align:
    center;

}


.mvc-eyebrow {

  margin-bottom:
    14px;

  color:
    var(--mvc-gold-dark);

  font-size:
    13px;

  font-weight:
    700;

  letter-spacing:
    .18em;

}


.mvc-main-title {

  margin:
    0 0 18px !important;

  padding:
    0 !important;

  border:
    none !important;

  background:
    none !important;

  color:
    var(--mvc-navy);

  font-size:
    clamp(28px, 4vw, 42px);

  line-height:
    1.35;

  font-weight:
    700;

}


.mvc-lead {

  margin:
    0;

  color:
    var(--mvc-muted);

  font-size:
    16px;

  line-height:
    1.9;

}


/* =====================================================
   SECTION
===================================================== */

.mvc-section {

  margin-bottom:
    60px;

}


.mvc-section-number {

  margin-bottom:
    7px;

  color:
    var(--mvc-gold);

  font-size:
    13px;

  font-weight:
    700;

  letter-spacing:
    .12em;

  text-align:
    center;

}


.mvc-section-title {

  margin:
    0 0 8px !important;

  padding:
    0 !important;

  border:
    none !important;

  background:
    none !important;

  color:
    var(--mvc-navy);

  font-size:
    26px;

  line-height:
    1.5;

  text-align:
    center;

}


.mvc-section-description {

  margin:
    0 0 30px;

  color:
    var(--mvc-muted);

  text-align:
    center;

}


/* =====================================================
   GRID
===================================================== */

.mvc-current-grid {

  display:
    grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap:
    16px;

}


.mvc-goal-grid {

  display:
    grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap:
    16px;

}


/* =====================================================
   CARDS
===================================================== */

.mvc-card {

  position:
    relative;

  min-height:
    150px;

  padding:
    24px 24px 22px;

  appearance:
    none;

  -webkit-appearance:
    none;

  border:
    1px solid var(--mvc-border);

  border-radius:
    14px;

  background:
    var(--mvc-white);

  text-align:
    left;

  cursor:
    pointer;

  box-shadow:
    0 4px 15px rgba(7, 37, 76, .04);

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease,
    background .2s ease,
    color .2s ease;

}


.mvc-card:hover {

  transform:
    translateY(-3px);

  border-color:
    var(--mvc-gold);

  box-shadow:
    0 8px 24px rgba(7, 37, 76, .09);

}


.mvc-card-label {

  display:
    block;

  margin-bottom:
    12px;

  color:
    var(--mvc-gold-dark);

  font-size:
    11px;

  font-weight:
    700;

  letter-spacing:
    .15em;

}


.mvc-card-title {

  display:
    block;

  margin-bottom:
    8px;

  color:
    var(--mvc-navy);

  font-size:
    17px;

  font-weight:
    700;

  line-height:
    1.55;

}


.mvc-card-description {

  display:
    block;

  color:
    var(--mvc-muted);

  font-size:
    13px;

  line-height:
    1.7;

}


/* 選択状態 */

.mvc-card.selected {

  border-color:
    var(--mvc-navy);

  background:
    var(--mvc-navy);

  box-shadow:
    0 8px 25px rgba(7, 37, 76, .16);

}


.mvc-card.selected::before {

  content:
    "";

  position:
    absolute;

  top:
    0;

  left:
    0;

  width:
    100%;

  height:
    4px;

  background:
    var(--mvc-gold);

  border-radius:
    14px 14px 0 0;

}


.mvc-card.selected .mvc-card-title {

  color:
    #ffffff;

}


.mvc-card.selected .mvc-card-description {

  color:
    rgba(255,255,255,.75);

}


.mvc-card.selected .mvc-card-label {

  color:
    #e4c17c;

}


/* =====================================================
   SUBMIT
===================================================== */

.mvc-submit-area {

  margin:
    15px 0 60px;

  text-align:
    center;

}


.mvc-submit {

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  gap:
    12px;

  min-width:
    320px;

  padding:
    17px 35px;

  border:
    none;

  border-radius:
    8px;

  background:
    var(--mvc-navy);

  color:
    #ffffff;

  font-size:
    15px;

  font-weight:
    700;

  letter-spacing:
    .06em;

  cursor:
    pointer;

  box-shadow:
    0 7px 20px rgba(7, 37, 76, .20);

  transition:
    background .2s ease,
    transform .2s ease,
    box-shadow .2s ease;

}


.mvc-submit:hover {

  background:
    var(--mvc-navy-light);

  transform:
    translateY(-2px);

  box-shadow:
    0 10px 25px rgba(7, 37, 76, .25);

}


.mvc-submit-needle {

  color:
    var(--mvc-gold);

  font-size:
    12px;

}


.mvc-message {

  min-height:
    25px;

  margin:
    15px 0 0;

  color:
    #b14141;

  font-size:
    14px;

}


/* =====================================================
   RESULT
===================================================== */

.mvc-result {

  display:
    none;

  max-width:
    820px;

  margin:
    0 auto 70px;

}


.mvc-result.is-visible {

  display:
    block;

}


.mvc-result-header {

  margin-bottom:
    35px;

  text-align:
    center;

}


.mvc-result-eyebrow {

  margin-bottom:
    8px;

  color:
    var(--mvc-gold-dark);

  font-size:
    12px;

  font-weight:
    700;

  letter-spacing:
    .18em;

}


.mvc-result-title {

  margin:
    0 0 20px !important;

  padding:
    0 !important;

  border:
    0 !important;

  background:
    none !important;

  color:
    var(--mvc-navy);

  font-size:
    30px;

}


.mvc-summary {

  display:
    flex;

  justify-content:
    center;

  flex-wrap:
    wrap;

  gap:
    10px;

}


.mvc-summary span {

  padding:
    8px 14px;

  border:
    1px solid var(--mvc-border);

  border-radius:
    50px;

  background:
    #ffffff;

  color:
    var(--mvc-text);

  font-size:
    13px;

}


/* =====================================================
   ROUTE
===================================================== */

.mvc-route {

  position:
    relative;

}


.mvc-step {

  position:
    relative;

  margin-bottom:
    22px;

  padding:
    22px 25px 22px 76px;

  border:
    1px solid var(--mvc-border);

  border-radius:
    12px;

  background:
    #ffffff;

  box-shadow:
    0 4px 15px rgba(7, 37, 76, .04);

}


.mvc-step::before {

  content:
    "";

  position:
    absolute;

  left:
    31px;

  top:
    64px;

  bottom:
    -24px;

  width:
    2px;

  background:
    var(--mvc-gold);

}


.mvc-step:last-child::before {

  display:
    none;

}


.mvc-step-number {

  position:
    absolute;

  left:
    17px;

  top:
    20px;

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  width:
    30px;

  height:
    30px;

  border-radius:
    50%;

  background:
    var(--mvc-navy);

  color:
    #ffffff;

  font-size:
    11px;

  font-weight:
    700;

}


.mvc-step-stage {

  margin-bottom:
    5px;

  color:
    var(--mvc-gold-dark);

  font-size:
    11px;

  font-weight:
    700;

  letter-spacing:
    .12em;

}


.mvc-step-title {

  margin-bottom:
    6px;

  color:
    var(--mvc-navy);

  font-size:
    18px;

  font-weight:
    700;

  line-height:
    1.55;

}


.mvc-step-description {

  margin-bottom:
    10px;

  color:
    var(--mvc-muted);

  font-size:
    14px;

  line-height:
    1.75;

}


.mvc-step-link {

  display:
    inline-block;

  color:
    var(--mvc-navy);

  font-size:
    14px;

  font-weight:
    700;

  text-decoration:
    none;

}


.mvc-step-link:hover {

  color:
    var(--mvc-gold-dark);

}


/* =====================================================
   ROUTE PAGE
===================================================== */

.mvc-route-page {

  margin-top:
    28px;

  padding:
    26px;

  border-radius:
    12px;

  background:
    var(--mvc-navy);

  text-align:
    center;

}


.mvc-route-page p {

  margin:
    0 0 13px;

  color:
    rgba(255,255,255,.8);

}


.mvc-route-page a {

  color:
    #ffffff;

  font-weight:
    700;

  text-decoration:
    none;

}


.mvc-route-page a:hover {

  color:
    #e8c77c;

}


/* =====================================================
   DIRECT LINKS
===================================================== */

.mvc-direct {

  padding-top:
    38px;

  border-top:
    1px solid var(--mvc-border);

}


.mvc-direct-title {

  margin-bottom:
    20px;

  color:
    var(--mvc-navy);

  font-size:
    15px;

  font-weight:
    700;

  text-align:
    center;

}


.mvc-direct-links {

  display:
    flex;

  flex-wrap:
    wrap;

  justify-content:
    center;

  gap:
    8px 16px;

}


.mvc-direct-links a {

  color:
    var(--mvc-navy);

  font-size:
    13px;

  text-decoration:
    none;

}


.mvc-direct-links a::after {

  content:
    " →";

  color:
    var(--mvc-gold);

}


.mvc-direct-links a:hover {

  color:
    var(--mvc-gold-dark);

}


/* =====================================================
   RESPONSIVE
===================================================== */

@media screen and (max-width: 768px) {

  #menvado-compass {

    padding:
      50px 15px;

  }


  .mvc-header {

    margin-bottom:
      45px;

  }


  .mvc-main-title {

    font-size:
      28px;

  }


  .mvc-lead br {

    display:
      none;

  }


  .mvc-current-grid,
  .mvc-goal-grid {

    grid-template-columns:
      1fr;

  }


  .mvc-card {

    min-height:
      auto;

    padding:
      20px;

  }


  .mvc-submit {

    width:
      100%;

    min-width:
      0;

  }


  .mvc-step {

    padding:
      20px 18px 20px 65px;

  }


  .mvc-step::before {

    left:
      27px;

  }


  .mvc-step-number {

    left:
      13px;

  }

}
#menvado-compass {
    scroll-margin-top: 100px;
}
.mvc-direct {
    display: none;
}

/* =========================================
   MENVADO - 目的から探す
========================================= */

.mvd-destinations {
    max-width: 1180px;
    margin: 0 auto;
    padding: 75px 30px;
}


/* 見出し */

.mvd-destinations__header {
    max-width: 720px;
    margin: 0 auto 45px;
    text-align: center;
}

.mvd-destinations__eyebrow {
    margin: 0 0 10px;
    color: #A77B2D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
}

.mvd-destinations__title {
    margin: 0 0 15px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    color: #07254C;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.4;
}

.mvd-destinations__lead {
    margin: 0;
    color: #657182;
    font-size: 15px;
    line-height: 1.9;
}


/* カード配置 */

.mvd-route-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
}


/* カード */

.mvd-route-card {
    position: relative;
    display: flex;
    flex-direction: column;

    flex: 0 1 calc(25% - 14px);
    min-width: 230px;
    min-height: 220px;

    padding: 26px 25px 24px;

    border: 1px solid #E0E5EB;
    border-radius: 14px;

    background: #FFFFFF;

    color: #202938;
    text-decoration: none !important;

    box-shadow:
        0 4px 16px rgba(7, 37, 76, .05);

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


/* ゴールドのCompass Needleをイメージした上線 */

.mvd-route-card::before {
    content: "";
    position: absolute;

    top: 0;
    left: 26px;

    width: 34px;
    height: 3px;

    background: #B78D42;

    border-radius: 0 0 3px 3px;
}


/* hover */

.mvd-route-card:hover {
    transform: translateY(-4px);

    border-color: #B78D42;

    box-shadow:
        0 10px 28px rgba(7, 37, 76, .11);
}


/* 英字 */

.mvd-route-card__label {
    display: block;

    margin-bottom: 13px;

    color: #A77B2D;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .16em;
}


/* タイトル */

.mvd-route-card__title {
    margin: 0 0 10px !important;
    padding: 0 !important;

    border: none !important;
    background: none !important;

    color: #07254C;

    font-size: 19px;
    font-weight: 700;

    line-height: 1.55;
}


/* 説明 */

.mvd-route-card__text {
    margin: 0 0 22px;

    color: #657182;

    font-size: 13px;
    line-height: 1.75;
}


/* ROUTE */

.mvd-route-card__arrow {
    margin-top: auto;

    color: #07254C;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .08em;
}

.mvd-route-card:hover .mvd-route-card__arrow {
    color: #A77B2D;
}


/* =========================================
   Tablet
========================================= */

@media screen and (max-width: 1000px) {

    .mvd-route-card {
        flex-basis: calc(50% - 10px);
        min-width: 0;
    }

}


/* =========================================
   Smartphone
========================================= */

@media screen and (max-width: 600px) {

    .mvd-destinations {
        padding: 55px 15px;
    }

    .mvd-destinations__header {
        margin-bottom: 32px;
    }

    .mvd-destinations__lead br {
        display: none;
    }

    .mvd-route-grid {
        gap: 12px;
    }

    .mvd-route-card {
        flex-basis: 100%;
        min-height: auto;
        padding: 22px 20px;
    }

}

/* =========================================
   MENVADO - テーマから探す
========================================= */

.mvd-themes {
    max-width: 1180px;
    margin: 0 auto;
    padding: 80px 30px;
}


/* =========================
   見出し
========================= */

.mvd-themes__header {
    max-width: 720px;
    margin: 0 auto 48px;
    text-align: center;
}

.mvd-themes__eyebrow {
    margin: 0 0 10px;
    color: #A77B2D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
}

.mvd-themes__title {
    margin: 0 0 15px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;

    color: #07254C;

    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.4;
}

.mvd-themes__lead {
    margin: 0;

    color: #657182;

    font-size: 15px;
    line-height: 1.9;
}


/* =========================
   GRID
========================= */

.mvd-theme-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    gap: 18px;
}


/* =========================
   CATEGORY CARD
========================= */

.mvd-theme-card {
    position: relative;

    display: flex;
    flex-direction: column;

    flex: 0 1 calc(33.333% - 12px);

    min-width: 270px;
    min-height: 270px;

    padding: 30px 28px 27px;

    border: 1px solid rgba(7, 37, 76, .10);
    border-radius: 8px;

    background: rgba(255, 255, 255, .88);

    color: #202938;

    text-decoration: none !important;

    box-shadow:
        0 5px 18px rgba(7, 37, 76, .045);

    overflow: hidden;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


/* 左側ネイビーライン */

.mvd-theme-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 4px;
    height: 100%;

    background: #07254C;

    transition:
        background .2s ease;
}


/* hover */

.mvd-theme-card:hover {
    transform: translateY(-4px);

    border-color: rgba(183, 141, 66, .65);

    background: #FFFFFF;

    box-shadow:
        0 12px 30px rgba(7, 37, 76, .10);
}

.mvd-theme-card:hover::before {
    background: #B78D42;
}


/* 01 02... */

.mvd-theme-card__number {
    position: absolute;

    top: 23px;
    right: 24px;

    color: rgba(7, 37, 76, .13);

    font-size: 30px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: .02em;
}


/* LOVE / CAREER */

.mvd-theme-card__english {
    display: block;

    margin-bottom: 20px;

    color: #A77B2D;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .18em;
}


/* タイトル */

.mvd-theme-card__title {
    margin: 0 0 13px !important;
    padding: 0 !important;

    border: none !important;
    background: none !important;

    color: #07254C;

    font-size: 21px;
    font-weight: 700;

    line-height: 1.5;
}


/* 説明 */

.mvd-theme-card__text {
    margin: 0 0 25px;

    color: #657182;

    font-size: 14px;
    line-height: 1.8;
}


/* リンク */

.mvd-theme-card__link {
    margin-top: auto;

    color: #07254C;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .04em;
}

.mvd-theme-card:hover .mvd-theme-card__link {
    color: #A77B2D;
}


/* =========================
   Tablet
========================= */

@media screen and (max-width: 900px) {

    .mvd-theme-card {
        flex-basis: calc(50% - 10px);
        min-width: 0;
    }

}


/* =========================
   Smartphone
========================= */

@media screen and (max-width: 600px) {

    .mvd-themes {
        padding: 55px 15px;
    }

    .mvd-themes__header {
        margin-bottom: 32px;
    }

    .mvd-themes__lead br {
        display: none;
    }

    .mvd-theme-grid {
        gap: 12px;
    }

    .mvd-theme-card {
        flex-basis: 100%;

        min-height: auto;

        padding: 24px 22px;
    }

    .mvd-theme-card__number {
        top: 20px;
        right: 20px;

        font-size: 25px;
    }

}

/* =========================================
   MENVADO - まず読むガイド
========================================= */

.mvd-start-guide__header {
    max-width: 720px;
    margin: 0 auto 42px;
    padding-top: 75px;
    text-align: center;
}

.mvd-start-guide__eyebrow {
    margin: 0 0 10px;

    color: #A77B2D;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .18em;
}

.mvd-start-guide__title {
    margin: 0 0 15px !important;
    padding: 0 !important;

    border: none !important;
    background: none !important;

    color: #07254C;

    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.4;
}

.mvd-start-guide__lead {
    margin: 0;

    color: #657182;

    font-size: 15px;
    line-height: 1.9;
}


@media screen and (max-width: 600px) {

    .mvd-start-guide__header {
        padding-top: 55px;
        margin-bottom: 30px;
    }

    .mvd-start-guide__lead br {
        display: none;
    }

}

/* =========================================
   MENVADO COMPASS
   SWELL標準見出しスタイルをリセット
========================================= */

#menvado-compass .mvc-main-title,
#menvado-compass .mvc-section-title,
#menvado-compass .mvc-result-title {
    color: #07254C !important;

    background: transparent !important;
    background-color: transparent !important;

    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;

    box-shadow: none !important;

    padding: 0 !important;
}

#menvado-compass .mvc-main-title::before,
#menvado-compass .mvc-main-title::after,
#menvado-compass .mvc-section-title::before,
#menvado-compass .mvc-section-title::after,
#menvado-compass .mvc-result-title::before,
#menvado-compass .mvc-result-title::after {
    content: none !important;
    display: none !important;
}
/* =========================================
   MENVADO TOP
   独自セクション見出し
========================================= */

.mvc-main-title,
.mvc-section-title,
.mvc-result-title,
.mvd-destinations__title,
.mvd-themes__title,
.mvd-start-guide__title {
    background: transparent !important;
    background-color: transparent !important;

    border: none !important;
    box-shadow: none !important;

    padding: 0 !important;
}


/* SWELLの疑似要素を無効化 */

.mvc-main-title::before,
.mvc-main-title::after,
.mvc-section-title::before,
.mvc-section-title::after,
.mvc-result-title::before,
.mvc-result-title::after,
.mvd-destinations__title::before,
.mvd-destinations__title::after,
.mvd-themes__title::before,
.mvd-themes__title::after,
.mvd-start-guide__title::before,
.mvd-start-guide__title::after {
    content: none !important;
    display: none !important;
}


/* 通常セクションのタイトル */

.mvc-main-title,
.mvc-section-title,
.mvc-result-title,
.mvd-destinations__title,
.mvd-themes__title,
.mvd-start-guide__title {
    color: #07254C !important;
}
.mvd-select__title {
    color: #FFFFFF !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.mvd-select__title::before,
.mvd-select__title::after {
    content: none !important;
    display: none !important;
}