@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&family=Noto+Serif+JP&display=swap");
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
     ========================================================================== */
/**
   * Remove the margin in all browsers.
   */
body {
  margin: 0;
}

/**
   * Render the `main` element consistently in IE.
   */
main {
  display: block;
}

/**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
     ========================================================================== */
/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
     ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
  background-color: transparent;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
b,
strong {
  font-weight: bolder;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
   * Add the correct font size in all browsers.
   */
small {
  font-size: 80%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
     ========================================================================== */
/**
   * Remove the border on images inside links in IE 10.
   */
img {
  border-style: none;
}

/* トップ画像調整 */
.mv-awarde.fadein div a .toptext{
  width: 60vh;
}
.mv-awarde.fadein {
  display: block;
}

@media screen and (min-width: 1320px) {
  .mv-awarde.fadein {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
  }

  .mv-awarde.fadein div a .toptext{
    width: auto;
    height: 100%;
  }
}

/* Forms
     ========================================================================== */
/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
   * Remove the inner border and padding in Firefox.
   */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
   * Restore the focus styles unset by the previous rule.
   */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
   * Correct the padding in Firefox.
   */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
progress {
  vertical-align: baseline;
}

/**
   * Remove the default vertical scrollbar in IE 10+.
   */
textarea {
  overflow: auto;
}

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
     ========================================================================== */
/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
details {
  display: block;
}

/*
   * Add the correct display in all browsers.
   */
summary {
  display: list-item;
}

/* Misc
     ========================================================================== */
/**
   * Add the correct display in IE 10+.
   */
template {
  display: none;
}

/**
   * Add the correct display in IE 10.
   */
[hidden] {
  display: none;
}

/**
** 汎用クラス
**/
/*top*/
.mt0{ margin-top: 0px !important; }
.mt03{ margin-top: 3px !important; }
.mt05{ margin-top: 5px !important; }
.mt10{ margin-top: 10px !important; }
.mt15{ margin-top: 15px !important; }
.mt20{ margin-top: 20px !important; }
.mt25{ margin-top: 25px !important; }
.mt30{ margin-top: 30px !important; }
.mt40{ margin-top: 40px !important; }
.mt45{ margin-top: 45px !important; }
.mt50{ margin-top: 50px !important; }
.pt0{ padding-top: 0px !important; }
.pt05{ padding-top: 5px !important; }
.pt10{ padding-top: 10px !important; }
.pt15{ padding-top: 15px !important; }
.pt20{ padding-top: 20px !important; }
.pt25{ padding-top: 25px !important; }
.pt30{ padding-top: 30px !important; }
.pt40{ padding-top: 40px !important; }
.pt50{ padding-top: 50px !important; }

/*bottom*/
.mb0{ margin-bottom: 0px !important; }
.mb05{ margin-bottom: 5px !important; }
.mb10{ margin-bottom: 10px !important; }
.mb15{ margin-bottom: 15px !important; }
.mb20{ margin-bottom: 20px !important; }
.mb25{ margin-bottom: 25px !important; }
.mb30{ margin-bottom: 30px !important; }
.mb40{ margin-bottom: 40px !important; }

/*right*/
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.pr05 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.mr1em{ margin-right: 1em !important; }
.mr2em{ margin-right: 2em !important; }

/*left*/
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.pl05 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.ml1em{ margin-left: 1em !important; }
.ml2em{ margin-left: 2em !important; }

.align_l { text-align: left !important; }
.align_c { text-align: center !important; }
.align_r { text-align: right !important; }

/**
** リセット
**/
* {
  box-sizing: border-box;
}

body {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  color: #000000;
  font-weight: 400;
  margin: 0;
  background: #fff;
  line-height: 1.8;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 750px) {
  body {
    font-size: 16px;
  }
}

.wrap {
  overflow-x: hidden;
  overflow-y: hidden;
}

p a, .link {
  color: #947F46;
  text-decoration: underline;
  cursor: pointer;
}

a:hover, .link:hover {
  opacity: .95;
  transition: all 0.5s 0s ease;
}

img {
  max-width: 100%;
}

figure {
  margin: 0;
}

ul, dd {
  padding: 0;
  margin: 0;
}

input, select {
  color: #000000;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th {
  text-align: left;
}

object, embed {
  vertical-align: top;
}

hr, legend {
  display: none;
}

abbr, acronym, fieldset {
  border: 0;
}

li {
  list-style-type: none;
}

/**
** 共通クラス、共通コンポーネント
**/
.pc-ib, .pc-block {
  display: none;
}

.sp-ib {
  display: inline-block;
}

.sp-block {
  display: block;
}

.mv-awarde .pc-block, .mv-awarde .tablet-block{
  display: none;
}
.mv-awarde .sp-block{
  display: block;
}
.mv-awarde .pc-block {
  display: block;
}


@media screen and (min-width: 750px) {
  .pc-ib {
    display: inline-block;
  }
  .pc-block {
    display: inline-block;
  }
  .sp-ib, .sp-block {
    display: none;
  }

  /*.mv-awarde .sp-block, .mv-awarde .pc-block{
    display: none;
  }*/
  .mv-awarde .tablet-block{
    display: block;
  }
}
@media screen and (max-width: 750px) {
  .mv-awarde .sp-block,
  .mv-awarde .pc-block{
    display: none;
    }
}

@media screen and (min-width: 1320px) {
  .pc-ib {
    display: inline-block;
  }
  .pc-block {
    display: inline-block;
  }
  .sp-ib, .sp-block {
    display: none;
  }

  .mv-awarde .sp-block, .mv-awarde .tablet-block{
    display: none;
  }
  .mv-awarde .pc-block{
    display: block;
  }
}

.contents {
  position: relative;
}

.contents-inner {
  padding: 20px;
  position: relative;
  z-index: 9;
  padding: 18% 5%;
}

@media screen and (min-width: 750px) {
  .contents-inner {
    padding: 10% 5%;
    max-width: 1280px;
    margin: auto;
  }
  .location.contents .contents-inner {
    padding: 10% 5% 23%;
  }
}

@media screen and (min-width: 1320px) {
  .contents-inner {
    padding-inline: 0;
  }
  .location.contents .contents-inner {
    padding: 15% 5% 10%;
  }
}

.contents-decoration {
  position: absolute;
}

.contents-title {
  font-weight: 300;
  font-size: 18px;
  letter-spacing: 6px;
  text-align: center;
  margin-top: 0;
  margin-bottom: 1.5em;
}

.contact-pick{
  letter-spacing: 1px;
  font-size: 16px;
}

@media screen and (min-width: 750px) {
  .contents-title {
    font-size: 36px;
    margin-bottom: 1em;
  }
}

.contents-btn {
  cursor: pointer;
  position: relative;
  padding: 1em 2em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  font-size: 14px;
  display: block;
  line-height: 1;
  color: #000000;
  text-decoration: none;
}

.contents-btn::after {
  content: '';
  background-image: url("../img/btn-arrow-black.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  width: 11px;
  height: 5px;
  position: absolute;
  right: 30px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.contents-btn:hover {
  color: #fff;
  background-color: #000000;
}

.contents-btn:hover::after {
  background-image: url("../img/btn-arrow-white.svg");
}

@media screen and (min-width: 750px) {
  .contents-btn {
    font-size: 16px;
    max-width: 300px;
    box-sizing: border-box;
    letter-spacing: 3px;
  }
}

.contents-cv {
  display: inline-block;
  background: #9E0404;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  border: none;
  font-size: 17px;
  transition: all 0.4s;
      padding-bottom: 12px;
    padding-top: 12px;
  max-width: 350px;
  border-radius: 2em;
  text-align: center;
  width: 100%;
  position: relative;
}

.contents-cv._back {
  background: #000;
  margin: 0 0 20px;
  max-width: 250px;
}

@media screen and (min-width: 750px) {
  .contents-cv._back {
    margin: 0 30px 0;
  }
}

/* .contents-cv::before {
    background-image: url(../img/cv-ribbon.svg);
    width: 31px;
    height: 11px;
    background-repeat: no-repeat;
    top: 13px;
    content: '';
    background-size: cover;
    background-position: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
} */
@media only screen and (max-width: 750px) {
  /* .fixed-inner .contents-cv::before {
    top: 10px;
  } */
  .fixed-area .contents-cv{
    /*padding-top: 1.1em!important;
    padding-bottom: 0.6em !important;*/
  }
}

.contents-cv2{
  display: inline-block;
  background: #9E0404;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  border: none;
  font-size: 15px;
  transition: all 0.4s;
padding: 1.2em 1em;
  max-width: 350px;
  border-radius: 2em;
  text-align: center;
  width: 100%;
  position: relative;
}
.contents-cv2::before{
  background-image: none;
}
.contents-cv2:hover {
  opacity: .6;
}
.contents-cv-min{
  font-size: 10px;
}
.contents-cv.submit {
  background-image: url("../img/contact-submit.svg");
  background-repeat: no-repeat;
  background-position: right 2em center;
  width: 100%;
  max-width: 350px;
}

.contents-cv._comp::before ,
.contents-cv.submit::before {
  display: none;
}

@media only screen and (max-width: 750px) {
  .contents-cv {
    width: 100%;
  }
}

/***
** hamburger（ハンバーガーメニュー）
**/
body.hamburger_open {
  overflow: hidden;
}

.hamburger {
  width: 45px;
  height: 45px;
  border-radius: 100%;
  background: #000;
  border: none;
  position: relative;
  cursor: pointer;
}

.hamburger_bar {
  display: block;
  width: 50%;
  height: 1px;
  position: absolute;
  left: 25%;
  background: #fff;
  transition: top 0.24s, transform 0.24s, opacity 0.24s;
}

.hamburger_bar:nth-child(1) {
  top: 35%;
}

.hamburger_bar:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}

.hamburger_bar:nth-child(3) {
  top: 65%;
  transform: translateY(-100%);
}

.hamburger_bar.is_active:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(135deg);
}

.hamburger_bar.is_active:nth-child(2) {
  transform: translate(50%, -50%);
  opacity: 0;
}

.hamburger_bar.is_active:nth-child(3) {
  top: 50%;
  transform: translateY(-50%) rotate(-135deg);
}

.hamburger_nav {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 999;
  background: #000;
  display: block;
  opacity: 0;
  transition: opacity 0.24s;
  pointer-events: none;
  color: #fff;
  height: 100vh;
}

.hamburger_nav.is_active {
  opacity: 1;
  pointer-events: auto;
}

.hamburger_nav-list {
  margin: 30% 0 10%;
  display: flex;
  flex-direction: column;
  gap: 2em;
  list-style: none;
  padding: 0;
  text-align: center;
}

@media screen and (min-width: 750px) {
  .hamburger_nav-list {
    margin: 120px 0 50px;
  }
}

.hamburger_nav-list a {
  color: #fff;
  text-decoration: none;
}

.hamburger_nav-list a:hover {
  text-decoration: underline;
}

.hamburger_nav-cv {
  width: 80%;
  margin: auto;
  text-align: center;
}

/***
*** モーダル
**/
.lp__modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: -1;
  opacity: 0;
  pointer-events: none;
  transition: 0.6s all;
}

.lp__modal[data-modal-active=true] {
  opacity: 1;
  pointer-events: auto;
  z-index: 2000;
}

.lp__modal__inner {
  width: 1280px;
  height: 100vh;
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 100px;
  box-sizing: border-box;
}

.lp__modal__inner.-carriermail {
  height: auto;
  min-height: 50vh;
  padding-top: 25vh;
  padding-bottom: 0;
}

.lp__modal__txt {
  background-color: #fff;
  font-size: 1.4rem;
  color: #000;
}

.lp__modal__txt strong {
  font-weight: 500;
  color: #E60012;
}

.lp__modal__wrap {
  position: relative;
  height: 100%;
  padding-top: 80px;
  padding-right: 40px;
  padding-bottom: 80px;
  padding-left: 40px;
  background-color: #fff;
  box-sizing: border-box;
}

.lp__modal__close {
  position: absolute;
  top: -50px;
  right: 0;
  width: 40px;
  height: 40px;
  border: 1px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  background: transparent;
}

.lp__modal__close::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: #fff;
  transform: rotate(45deg);
}

.lp__modal__close::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: #fff;
  transform: rotate(-45deg);
}

.lp__modal__scroll {
  max-height: 100%;
  overflow: auto;
  color: #000;
  position: relative;
}

.lp__modal__scroll__close {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  margin: 60px auto;
  background: #fff;
  border: none;
  font-size: 16px;
  cursor: pointer;
}

.lp__modal__scroll__close .icn {
  position: relative;
  display: block;
  width: 18px;
  height: 18px;
  margin-right: 10px;
  border: 1px solid #000;
}

.lp__modal__scroll__close .icn::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 50%;
  height: 1px;
  margin: auto;
  background-color: #000;
  transform: rotate(45deg);
}

.lp__modal__scroll__close .icn::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 50%;
  height: 1px;
  margin: auto;
  background-color: #000;
  transform: rotate(-45deg);
}

.lp__modal__scroll__close .txt {
  display: block;
  font-size: 14px;
  color: #000;
}

.lp__privacy__head {
  margin-top: 0;
}

@media screen and (max-width: 1280px) {
  .lp__modal__inner {
    width: 95vw;
    padding-top: 7.8125vw;
    padding-bottom: 7.8125vw;
  }
  .lp__modal__wrap {
    padding-top: 6.25vw;
    padding-right: 3.125vw;
    padding-bottom: 6.25vw;
  }
  .lp__modal__close {
    top: -3.90625vw;
    width: 3.125vw;
    height: 3.125vw;
  }
  .lp__modal__scroll__close {
    margin-bottom: 4.6875vw;
  }
  .lp__modal__scroll__close .icn {
    width: 1.40625vw;
    height: 1.40625vw;
    margin-right: 0.78125vw;
  }
}

@media screen and (max-width: 768px) {
  .lp__modal__inner {
    width: auto;
    padding: 12vw 6vw 0;
  }
  .lp__modal__wrap {
    padding: 10vw 5vw;
  }
  .lp__modal__close {
    top: -10.6666666667vw;
    width: 8vw;
    height: 8vw;
    max-width: 6vw;
  }
  .lp__modal__scroll__close {
    margin: 4vw auto 4vw;
  }
  .lp__modal__scroll__close .icn {
    width: 4.8vw;
    height: 4.8vw;
    margin-right: 2.6666666667vw;
  }
}

@media screen and (min-width: 769px) {
  .lp__modal__scroll::-webkit-scrollbar {
    width: 5px;
    height: 1px;
  }
  .lp__modal__scroll::-webkit-scrollbar-track {
    background: #DDD;
  }
  .lp__modal__scroll::-webkit-scrollbar-thumb {
    background: #E60012;
  }
}

.lp__modal__contents {
  overflow-x: hidden;
}

/***
*** header ヘッダー
**/
.header {
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}

.header-inner {
  padding: 5px 5%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (min-width: 750px) {
  .header-inner {
    padding: 10px 5%;
  }
}

@media screen and (min-width: 1320px) {
  .header-inner {
    padding: 10px 1%;
  }
}

.header-right {
  display: block;
  width: 45vw;
}

@media screen and (min-width: 1320px) {
  .header-right {
    width: 260px;
  }
}

@media screen and (min-width: 1430px) {
  .header-right {
    width: 300px;
  }
}

@media screen and (min-width: 1320px) {
  .header-left {
    width: calc(100% - 260px);
  }
}

@media screen and (min-width: 1430px) {
  .header-left {
    width: calc(100% - 320px);
  }
}

@media screen and (min-width: 1320px) {
  .header-sp-menu {
    display: none;
  }
}

.header-pc-menu {
  display: none;
}

@media screen and (min-width: 1320px) {
  .header-pc-menu {
    display: flex;
    font-size: 14px;
    margin: 0;
    padding: 0;
    justify-content: flex-end;
    align-items: center;
  }
  .header-pc-menu a {
    color: #fff;
    text-decoration: unset;
  }
  .header-pc-menu li + li {
    margin-left: 1em;
  }
  .header-pc-menu li.cv {
    width: 316px;
  }
  .header-pc-menu li.cv a {
    width: 100%;
  }
}

@media screen and (min-width: 1430px) {
  .header-pc-menu {
    font-size: 15px;
  }
}

/***
*** MV メインビジュアル
**/
.mv {
  position: relative;
}

.mv-bg img {
  object-fit: cover;
    width: 100%;
    height: auto;
}

@media screen and (min-width: 1320px) {
  .mv-bg img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}

/* MVバナー2個調整用 */
@media screen and (min-width: 750px) {
  .mv-bg img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  /* .mv-awarde{
    width: 50%;
  } */
  .mv-catch{
    width: 50%;
  }
}

.mv-catch {
  position: absolute;
  top: 82px;
  width: 32%;
  left: 7%;
}

.mv-catch .toptext{
  width: 60vh;
}


@media screen and (min-width: 750px) {
  .mv-catch {
    position: absolute;
    top: 13%;
    width: 50%;
    max-width: 494px;
    left: 6%;
  }
}

.mv-badge {
  width: 40vw;
  position: absolute;
  top: 48%;
  left: 1vw;
  z-index: 98;
}
.mv-badge.mv-badge-campaign {
  width: 52vw;
  position: absolute;
  top: 41%;
  right: 1vw;
  left: auto;
}


@media screen and (min-width: 750px) {
  .mv-badge {
    right: 5%;
    left: auto;
    max-width: 297px;
    top: 65%;
    width: 30%;
  }
  .mv-badge.mv-badge-campaign {
    position: fixed;
    top: auto;
    bottom: 5%;
  }
}

.mv-awarde {
  display: block;
  width: 92%;
  margin: 30px auto 30px;
}
.mv-awarde img {
  max-height: 100%;
}
@media screen and (min-width: 750px) {
  .mv-awarde {
    position: absolute;
    /* top: 45%; */
    top: initial;
    bottom: -20px;
    width: 50%;
    max-width: min(60vh, 494px);
    left: 6%;
    margin: 30px auto;
  }
}

@media screen and (min-width: 1320px) {
  .mv-awarde {
    position: absolute;
    top: clamp(237px, 45%, 500px);
    /* bottom: 3%; */
    bottom: initial;
    width: 40%;
    height: 24vw;
    max-width: 520px;
    max-height: min(48vh, 360px);
    left: 6%;
    margin: 30px auto;
  }
}

/***
*** 背景色設定
**/
.contents.message, .contents.feature {
  background-color: #F2F2F2;
}

.contents.point {
  background-color: #000000;
  color: #fff;
}

/***
*** message こんなお悩みありませんか
**/
@media screen and (min-width: 750px) {
  .message-inner {
    padding-top: 12%;
    padding-bottom: 12%;
  }
}

.message-decoration {
  width: 65%;
  top: -2%;
  left: -4%;
  max-width: 456px;
}

@media screen and (min-width: 750px) {
  .message-decoration {
    width: 26%;
    top: 5%;
    left: 1%;
  }
}

.message-catch {
  font-weight: 300;
  font-size: 21px;
  line-height: 2;
  letter-spacing: 6px;
  margin-top: 0;
  z-index: 99;
  position: relative;
}

@media screen and (min-width: 750px) {
  .message-catch {
    font-size: 30px;
  }
}

@media screen and (min-width: 1320px) {
  .message-catch {
    font-size: 42px;
  }
}

.message-text {
  line-height: 32px;
  margin-bottom: 3em;
}

@media screen and (min-width: 750px) {
  .message-text {
    line-height: 3;
    margin-top: 5%;
    max-width: 75%;
    font-size: 15px;
    letter-spacing: 1px;
  }
}

@media screen and (min-width: 1320px) {
  .message-text {
    max-width: 50%;
    font-size: 15px;
    letter-spacing: 2px;
  }
}

@media screen and (min-width: 750px) {
  .message-picture {
    position: absolute;
    right: 0;
    bottom: 10%;
    max-width: 550px;
    width: 25%;
  }
}

@media screen and (min-width: 1320px) {
  .message-picture {
    width: 45%;
  }
}

.message-picture img {
  width: 100%;
  margin: auto;
}

/***
*** project
**/
#project {
  background-color: #F8E5EA;
}
.project_title_wrap {
  text-align: center;
  margin-bottom: 40px;
}
.project_title_wrap img {
  margin-bottom: -140px;
}
.project_title_wrap h2 {
  font-size: 22px;
  margin: 10px auto;
}
.project_title_wrap h2 span {
  color: #CC1944;
  display: block;
}
.project_title_wrap .project_sub {
  font-size: 16px;
  line-height: 2.3rem;
}
.project_box_wrap {
  position: relative;
}
.project_box_title {
  text-align: center;
}
.project_box_title img {
  max-width: 60%;
}
.project_box_title h3 {
  font-size: 24px;
  margin: 5px auto 20px;
}
.project_box_wrap ul {
  width: 84%;
  margin: 0 auto;
}
.project_box_wrap ul li {
  margin-bottom: 40px;
}
.project_box_wrap ul li img {
  margin: 0 0 0 -30px;
}
.project_box_wrap ul li .project_point_textwrap .project_point_title {
  border-bottom: 1px solid #CC1944;
  margin: 0 0 10px;
  padding-bottom: 5px;
  font-size: 18px;
}
.project_box_wrap ul li .project_point_textwrap .project_point_text {
  font-size: 14px;
}
.project_i03 {
  margin: 20px auto 60px;
  max-width: 80%;
}
@media screen and (min-width: 750px) {
  .project_title_wrap {
    text-align: center;
    margin-bottom: 100px;
  }
  .project_title_wrap h2 {
    font-size: 30px;
    margin: 10px auto;
  }
  .project_i03 {
    margin: 20px auto;
  }
  .project_box_wrap .project_i01 {
    position: absolute;
    right: 0;
    top: 60px;
    max-width: 24%;
  }
  .project_box_wrap .project_i02 {
    position: absolute;
    left: 0;
    bottom: -40px;
    max-width: 22%;
  }
  .project_box_title h3 {
    font-size: 30px;
    margin: 10px auto;
  }
  .project_box_wrap ul li {
    margin: 20px auto 20px 0;
    width: 60%;
  }
  .project_box_wrap ul li .project_point_textwrap .project_point_text {
    font-size: 16px;
  }
  .project_box_wrap ul li:nth-child(2) {
    margin: 20px auto 20px;
    width: 60%;
  }
  .project_box_wrap ul li:nth-child(3) {
    margin: 20px 0 40px auto;
    width: 60%;
  }
}
@media screen and (min-width: 1320px) {
  .project_box_wrap .project_i01 {
    position: absolute;
    right: 0;
    top: 60px;
  }
  .project_box_wrap .project_i02 {
    position: absolute;
    left: 0;
    bottom: -40px;
  }
  .project_box_wrap ul li {
    margin: 20px auto 20px 0;
    width: 40%;
  }
  .project_box_wrap ul li .project_point_textwrap .project_point_title {
    border-bottom: 1px solid #CC1944;
    margin: 0 0 10px;
    padding-bottom: 5px;
    font-size: 22px;
  }
  .project_box_wrap ul li:nth-child(2) {
    margin: 20px auto 20px;
    width: 40%;
  }
  .project_box_wrap ul li:nth-child(3) {
    margin: 20px 0 40px auto;
    width: 40%;
  }
}

/* campaign */
#campaign{
  text-align: center;
  border-top:8px solid #2F4745;
  padding-top: 2px;
}
.campaign_ttl{
  background-color:#F5EF7B;
  padding: 30px 0 25px;
  border-top:2px solid #2F4745;
}
@media screen and (max-width: 768px) {
  .campaign_ttl{
    padding: 20px 0 15px;
  }
}
.campaign_main{
  background-color:#F5EFE2;
  padding:52px 0 125px;
}
.campaign_main-image{
  width: 100%;
  max-width: 1113.27px;
  margin: 0 auto 20px; 
}
@media screen and (max-width: 768px) {
  .campaign_main{
    padding:26px 0 80px;
  }
  .campaign_sub-image{
    width: 95%;
    max-width: none;
    margin: 0 auto;
  }
}
.campaign_point-wrap{
  display: flex;
  width: 100%;
  max-width: 960px;
  gap:40px;
  justify-content: center;
  margin: 40px auto 0;
}
@media screen and (max-width: 900px) {
  .campaign_point-wrap{
    flex-direction: column;
    gap:20px;
    width: 90%;
    max-width: none;
    margin-bottom: 20px;
  }
  .campaign_point-wrap .campaign-point-image{
    width: 100%;
    max-width: none;
  }
}
.campaign_subtext{
  font-size: 12px;
  line-height: 22px;
}
.campaign-message{
  width: 100%;
  max-width: 810px;
  margin: 76px auto 0;
  padding: 26px 0 11px;
  border-top:2px solid #2F4745 ;
  border-bottom:2px solid #2F4745 ;
}
@media screen and (max-width: 820px) {
  .campaign-message{
    width: 90%;
    max-width: none;
  }
}
.campaign-message h5{
  display: inline-flex;
  background-color: #F5EFE2;
  font-size: 24px;
  font-weight: 600;
  margin:  -50px auto 0;
  padding:0 10px;
}
.campaign-message-text{
  background-color: #fff;
  padding: 33px 35px 43px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .campaign-message-text{
    padding: 33px 30px 35px;
    font-size: 14px;
  }
}
.campaign-message-text p{
  text-align: left;
  line-height: 200%;
}
.campaign-message-sign{
  width: 240px;
  margin: 34px auto 0;
}
.campaign-table{
  width: 100%;
max-width: 810px;
margin:  70px auto 0;
font-size: 16px;
font-family: "Noto sans serif JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .campaign-table{
    width: 90%;
    max-width: none;
    font-size: 14px;
  }
}
.campaign-table td, th {
	border: 1px solid #F5EFE2;
	border-collapse: collapse;
  background-color: #fff;
  padding: 23px 20px;
  vertical-align: top;
}
.campaign-table .item{
width:32%;
background:#EFE0C1;
}
@media screen and (max-width: 768px) {
  .campaign-table .item{
    width:27%;
  }
}
.campaign-table td ul li{
  list-style-type: none
}


/***
*** problem
**/
.problem-decoration {
  width: 50%;
  right: -8%;
  top: 5%;
  z-index: -1;
}


@media screen and (min-width: 750px) {
  .problem-decoration {
    max-width: 398px;
    width: 25%;
    right: 2%;
    top: 8%;
  }
}

@media screen and (min-width: 1320px) {
  .problem-decoration {
    right: 16%;
    top: 15%;
  }
}

.problem-sub {
  text-align: center;
  letter-spacing: 2px;
  margin-bottom: 3em;
}

@media screen and (max-width: 374px) {
  .problem-sub {
    letter-spacing: 1px;
    font-size: 13px;
  }
}

@media screen and (min-width: 750px) {
  .problem-sub {
    line-height: 3;
  }
}

@media screen and (min-width: 750px) {
  .problem-box-wrap {
    display: flex;
    gap: 3%;
    justify-content: space-between;
  }
}

.problem-box-catch {
  text-align: center;
  color: #947F46;
  letter-spacing: 0.3em;
  margin: 1.5em 0 0.5em;
}

@media screen and (min-width: 750px) {
  .problem-box-catch {
    font-size: 18px;
    margin: 1.5em 0 1em;
    letter-spacing: 1px;
  }
}

@media screen and (min-width: 1320px) {
  .problem-box-catch {
    font-size: 22px;
    letter-spacing: 3px;
  }
}

.problem-box-text {
  margin-top: 0;
  line-height: 2;
  letter-spacing: 3px;
}

.problem-box + .problem-box {
  margin-top: 4em;
}

@media screen and (min-width: 750px) {
  .problem-box {
    max-width: 340px;
  }
  .problem-box:nth-child(2) {
    margin-top: 4em;
  }
  .problem-box:nth-child(3) {
    margin-top: 8em;
  }
}

/***
*** point あなただけの
**/
.point.contents {
  background: url("../img/point-bg.jpg") top center no-repeat;
  background-image: image-set(url(../img/point-bg.jpg) 1x, url(../img/point-bg@2x.jpg) 2x);
  background-size: 100%;
  background-color: #000000;
}

@media screen and (min-width: 750px) {
  .point.contents {
    background: url("../img/pc_point-bg.jpg") top center no-repeat;
    background-image: image-set(url(../img/pc_point-bg.jpg) 1x, url(../img/pc_point-bg@2x.jpg) 2x);
    background-size: cover;
  }
}

.point-decoration {
  width: 50%;
  top: 0;
  left: -3%;
}

@media screen and (min-width: 750px) {
  .point-decoration {
    max-width: 357px;
    left: 7%;
  }
}

.point-box {
  position: relative;
  font-size: 16px;
  text-align: center;
}

.point-box-inner {
  text-align: center;
  position: absolute;
  top: 10%;
  right: 0;
  left: 0;
  margin: auto;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (min-width: 750px) {
  .point-box-inner {
    padding: 0 3%;
  }
}

.point-box-catch {
  font-size: 16px;
  margin: 0;
  font-weight: 700;
  letter-spacing: 5px;
  line-height: 1.8;
}

@media screen and (max-width: 374px) {
  .point-box-catch {
    letter-spacing: 2px;
    line-height: 1.6;
  }
}

@media screen and (min-width: 750px) {
  .point-box-catch {
    font-size: 20px;
  }
}

@media screen and (min-width: 1320px) {
  .point-box-catch {
    font-size: 32px;
  }
}

.point-box-sub {
  font-size: 12px;
  letter-spacing: 4px;
  line-height: 2;
}

@media screen and (max-width: 374px) {
  .point-box-sub {
    letter-spacing: 1px;
    line-height: 1.6;
  }
}

@media screen and (min-width: 750px) {
  .point-box-sub {
    font-size: 14px;
  }
}

@media screen and (min-width: 1320px) {
  .point-box-sub {
    font-size: 16px;
  }
}

.point-ring-wrap {
  margin-top: 10%;
  text-align: center;
}

/***
*** feature サービスの特徴
**/
.feature-decoration {
  position: absolute;
  width: 53%;
  right: 0;
  top: 1%;
}

@media screen and (min-width: 750px) {
  .feature-decoration {
    max-width: 343px;
    right: 2%;
    top: 0%;
  }
}

@media screen and (min-width: 1320px) {
  .feature-decoration {
    right: 22%;
  }
}

.feature-inner {
  padding-inline: 0;
}

.feature-catch, .feature-sub, .feature-btn-wrap {
  padding-inline: 5%;
}

@media screen and (min-width: 1320px) {
  .feature-catch, .feature-sub, .feature-btn-wrap {
    padding-inline: 0;
  }
}

.feature-box {
  margin-top: 10%;
}

@media screen and (min-width: 750px) {
  .feature-box {
    display: flex;
  }
  .feature-box:nth-of-type(2n+1) {
    margin-right: calc(50% - 50vw);
    flex-direction: row-reverse;
  }
  .feature-box:nth-of-type(2n) {
    margin-left: calc(50% - 50vw);
  }
}

.feature-catch {
  font-size: 16px;
  letter-spacing: 4px;
  margin-top: 2em;
  position: relative;
  font-weight: 300;
}

.feature-catch::before {
  content: '';
  background: url("../img/feature-point.png") top center no-repeat;
  background-image: image-set(url(../img/feature-point.png) 1x, url(../img/feature-point@2x.png) 2x);
  background-size: contain;
  width: 63px;
  height: 52px;
  display: block;
  position: absolute;
  top: -2em;
  left: 2%;
}

@media screen and (min-width: 750px) {
  .feature-catch {
    font-size: 20px;
  }
  .feature-catch::before {
    width: 126px;
    height: 104px;
  }
}

@media screen and (min-width: 1320px) {
  .feature-catch {
    font-size: 30px;
  }
}

.feature-sub {
  line-height: 2;
}

@media screen and (min-width: 750px) {
  .feature-box-image {
    width: 50%;
  }
  .feature-box-image img {
    width: 100%;
  }
  .feature-contents-wrap {
    width: 45%;
  }
}

/***
*** episode 成婚エピソード
**/
.episode.contents {
  background: url("../img/episode-bg.png") top center no-repeat;
  background-image: image-set(url(../img/episode-bg.png) 1x, url(../img/episode-bg@2x.png) 2x);
  background-size: 100%;
}

.episode-decoration {
  width: 45%;
  left: -3%;
  top: 2%;
  max-width: 348px;
}

@media screen and (min-width: 750px) {
  .episode-decoration {
    left: -1%;
    top: 9%;
  }
}

.episodeModal-decoration {
  width: 31%;
  left: -2%;
  top: 1%;
  max-width: 348px;
}

@media screen and (min-width: 750px) {
  .episodeModal-decoration {
    left: 18%;
    top: 0%;
    width: 18%;
  }
}

.episode-inner {
  padding-inline: 0;
}

@media screen and (min-width: 750px) {
  .episode-inner {
    max-width: none;
  }
}
.slick-slide{
  height: auto;
}
.epsode-box-wrap {
  padding: 0;
}

.epsode-box {
  height: auto;
  margin: 0 8px;
  width: 85vw;    margin: 0 auto;
  margin-bottom: 20px;
}
.epsode-box  {
  border: 1px solid #c1c1c1;
}

@media screen and (min-width: 750px) {
  .epsode-box {
    display: flex !important;
    width: 680px;
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 1320px) {
  .epsode-box {
    width: 1100px;
  }
}

.slick-prev, .slick-next {
  /* position: absolute;
  display: block;
  border: none;
  background: #A1925C;
  width: 4.5vw;
  height: 16vw;
  font-size: 0;
  top: 16vw;
  z-index: 99;
  cursor: pointer; */
}
/*スマホ版のレポートの前後矢印を非表示にする*/
.slick-prev,
.slick-next{
  display: none!important;
}

.slick-prev:after, .slick-next:after {
  content: '';
  position: absolute;
  background: url("../img/episode-arrow-white.svg") center center no-repeat;
  background-size: contain;
  width: 11px;
  height: 5px;
  display: inline-block;
  cursor: pointer;
  top: 7vw;
  left: 1vw;
}

@media screen and (min-width: 750px) {
  .slick-prev, .slick-next {
    opacity: 0;
    top: 6vw;
  }
}

.slick-prev {
  left: 2vw;
}

.slick-next {
  right: 2vw;
}

.slick-next:after {
  transform: scale(-1, 1);
}

@media screen and (min-width: 750px) {
  .episode-box-image {
    width: 50%;
  }
}

.episode-textbox {
  padding: 1em 10%;
  position: relative;
}

.episode-textbox::after {
  content: '';
  display: block;
  position: absolute;
  width: 1px;
  height: 4em;
  background: #947F46;
  top: -20px;
  left: 5%;
}

@media screen and (min-width: 750px) {
  .episode-textbox::after {
    display: none;
  }
}

@media screen and (min-width: 750px) {
  .episode-textbox {
    width: 50%;
    padding: 3% 5% 0;
  }
}

@media screen and (min-width: 1320px) {
  .episode-textbox {
    padding: 3em 5% 0;
  }
}

.epsode-case {
  color: #947F46;
  font-size: 12px;
  position: relative;
}

@media screen and (min-width: 750px) {
  .epsode-case {
    font-size: 16px;
  }
}

@media screen and (min-width: 750px) {
  .epsode-case::after {
    content: '';
    display: block;
    position: absolute;
    background: #947F46;
    width: 20%;
    height: 1px;
    top: 0.8em;
    left: -23%;
  }
}

.epsode-catch {
  font-size: 15px;
  font-weight: 300;
  letter-spacing: 2px;
}

@media screen and (min-width: 750px) {
  .epsode-catch {
    font-size: 15px;
    letter-spacing: 0px;
  }
}

@media screen and (min-width: 1320px) {
  .epsode-catch {
    font-size: 26px;
    letter-spacing: 0px;
  }
}

.epsode-tag {
  display: inline-block;
  border: 1px solid #947F46;
  color: #947F46;
  border-radius: 1em;
  text-align: center;
  font-size: 12px;
  padding: 0.2em 0.6em;
  line-height: 1;
}

.epsode-tag + .epsode-tag {
  margin-left: .5em;
}

@media screen and (min-width: 750px) {
  .epsode-tag {
    font-size: 12px;
  }
}

@media screen and (min-width: 1320px) {
  .epsode-tag {
    font-size: 15px;
  }
}

.episode-btn-wrap {
  margin-top: .8em;
}

@media screen and (min-width: 750px) {
  .episode-btn-wrap {
    margin-top: .5em;
  }
  .episode-btn-wrap .contents-btn {
    font-size: 14px;
  }
}

@media screen and (min-width: 1320px) {
  .episode-btn-wrap {
    margin-top: 3em;
  }
  .episode-btn-wrap .contents-btn {
    font-size: 16px;
  }
}

.episode-num {
  text-align: center;
}
.episode-num-nowcnt{
  border: 1px solid;
  padding: 2px 10px;
  background: black;
  color: #fff;
  font-size: 20px;
}
.episode-num-allcnt{
  border: 1px solid;
  padding: 2px 10px;
  color: black;
  font-size: 20px;
}
.episode-num-custom{
  font-size: 25px;
}

@media screen and (min-width: 750px) {
  .episode-num {
    margin-top: 2em;
  }
}

.episode-num-prev, .episode-num-next {
  background: url("../img/episode-arrow-black.svg") center center no-repeat;
  background-size: contain;
  width: 1em;
  height: 0.7em;
  display: inline-block;
  cursor: pointer;
}

.episode-num-prev {
  margin-right: 1em;
}

.episode-num-next {
  margin-left: 1em;
  transform: scale(-1, 1);
}

/***
*** plan 料金プラン
**/
/* .plan.contents {
  background: url("../img/plan-bg_sp.jpg") top center no-repeat;
  background-image: image-set(url(../img/plan-bg_sp.jpg) 1x, url(../img/plan-bg_sp.jpg) 2x);
  background-size: 100%;
  background-attachment: fixed;
} */

#plan{
  position: relative;
}
.plan.contents{
  position: relative;
  clip-path: inset(0 0 0 0);
  width: 100%;
  height: auto;
}
.plan.contents::before {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: url("../img/plan-bg_sp.jpg") top center no-repeat;
  background-image: image-set(url(../img/plan-bg_sp.jpg) 1x, url(../img/plan-bg_sp.jpg) 2x);
  background-size: 100% auto;
}

@media screen and (min-width: 750px) {
  .plan.contents {
    background: url("../img/plan-bg.jpg") top center no-repeat;
    background-image: image-set(url(../img/plan-bg.jpg) 1x, url(../img/plan-bg@2x.jpg) 2x);
    background-size: 100%;
  }
}

.plan-decoration {
  width: 33%;
  right: -3%;
  top: -1%;
  max-width: 238px;
  z-index: 1;
}

@media screen and (min-width: 750px) {
  .plan-decoration {
    right: 2%;
    top: 2%;
  }
}

@media screen and (min-width: 1320px) {
  .plan-decoration {
    right: 25%;
  }
}

/***
*** cv コンバージョン
**/
.cv.contents {
  background: url("../img/cv-bg.png") top center no-repeat;
  background-image: image-set(url(../img/cv-bg.png) 1x, url(../img/cv-bg@2x.png) 2x);
  background-size: cover;
}

@media screen and (min-width: 750px) {
  .cv.contents {
    background: url("../img/pc_cv-bg.jpg") top center no-repeat;
    background-image: image-set(url(../img/pc_cv-bg.jpg) 1x, url(../img/pc_cv-bg@2x.jpg) 2x);
  }
}

.cv-badge {
  position: absolute;
  width: 128px;
  top: -8%;
  right: 3%;
}

@media screen and (max-width: 374px) {
  .cv-badge {
    width: 100px;
  }
}

@media screen and (min-width: 750px) {
  .cv-badge {
    max-width: 300px;
    width: 20%;
  }
}

.cv-inner {
  padding: 10%;
}

@media screen and (max-width: 374px) {
  .cv-inner {
    padding: 5%;
  }
}

@media screen and (min-width: 750px) {
  .cv-inner {
    max-width: 1280px;
    margin: auto;
    padding: 8% 0;
  }
}

@media screen and (min-width: 750px) {
  .cv-inner-inner {
    max-width: 600px;
    margin-left: auto;
    padding: 0 5%;
    width: 60%;
  }
}

@media screen and (min-width: 1320px) {
  .cv-inner-inner {
    padding: 0;
    width: 50%;
  }
}

.cv-catch {
  margin-top: 0;
  font-size: 21px;
  line-height: 1.6;
  letter-spacing: 3px;
  font-weight: 300;
}

@media screen and (min-width: 750px) {
  .cv-catch {
    font-size: 36px;
    letter-spacing: 6px;
    line-height: 1.8;
  }
}

@media screen and (min-width: 750px) {
  .cv-text {
    line-height: 2.5;
    letter-spacing: 2px;
    margin-bottom: 2.5em;
  }
}

.cv-button-wrap {
  margin: auto;
}

@media screen and (min-width: 750px) {
  .cv-button-wrap {
    margin: 0;
    max-width: 353px;
  }
}

/***
*** flow ご成婚までの流れ
**/
.flow.contents {
  margin-top: 18%;
}

@media screen and (min-width: 1320px) {
  .flow.contents {
    margin-top: 0;
  }
}

@media screen and (min-width: 750px) {
  .flow.contents {
    margin-top: 0;
    background: url("../img/pc_flow-bg.png") bottom center no-repeat;
    background-image: image-set(url(../img/pc_flow-bg.png) 1x, url(../img/pc_flow-bg@2x.png) 2x);
    background-size: cover;
    padding-bottom: 40%;
  }
}

.flow-decoration {
  right: 4%;
  width: 30%;
  top: -4%;
  max-width: 226px;
}

@media screen and (min-width: 750px) {
  .flow-decoration {
    right: 2%;
    top: 1%;
  }
}

@media screen and (min-width: 1320px) {
  .flow-decoration {
    right: 28%;
  }
}

@media screen and (min-width: 750px) {
  .flow-inner {
    padding: 10% 5%;
    max-width: 1280px;
    margin: auto;
  }
}

@media screen and (min-width: 1320px) {
  .flow-inner {
    padding-inline: 0;
  }
}

.flow-item {
  width: 78%;
  position: absolute;
  padding-right: 5%;
  right: 0;
}

.flow-item.point01 {
  top: 4.2%;
}

.flow-item.point02 {
  top: 29.5%;
}

.flow-item.point03 {
  top: 56.5%;
}

@media screen and (min-width: 750px) {
  .flow-item {
    display: flex;
    position: relative;
    width: unset;
    padding: 0;
    justify-content: space-between;
    margin-top: 8%;
  }
  .flow-item:nth-of-type(2n) {
    margin-right: calc(50% - 50vw);
  }
  .flow-item:nth-of-type(2n+1) {
    margin-left: calc(50% - 50vw);
    flex-direction: row-reverse;
  }
}

.flow-item-image {
  max-width: 600px;
}

.flow-item-image img {
  width: 100%;
}

.flow-item-inner {
  max-width: 600px;
  position: relative;
}

@media screen and (min-width: 750px) {
  .flow-item-inner {
    width: 45%;
    padding-inline: 3%;
  }
}

.flow-item-inner::after {
  content: '';
  opacity: 0;
  position: absolute;
  width: 55px;
  height: 55px;
  display: block;
  top: -2em;
  left: -60px;
  background-size: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (min-width: 750px) {
  .flow-item-inner::after {
    opacity: 1;
    left: -100px;
    top: -5%;
    width: 80px;
    height: 80px;
    top: 0;
  }
}

@media screen and (min-width: 1320px) {
  .flow-item-inner::after {
    width: 153px;
    height: 150px;
    left: -30%;
    top: -35px;
  }
}

.point01 .flow-item-inner::after {
  background-image: url("../img/flow-num01.png");
  background-image: image-set(url(../img/flow-num01.png) 1x, url(../img/flow-num01@2x.png) 2x);
}

@media screen and (min-width: 750px) {
  .point01 .flow-item-inner::after {
    background-image: url("../img/pc_flow-num01.png");
    background-image: image-set(url(../img/pc_flow-num01.png) 1x, url(../img/pc_flow-num01@2x.png) 2x);
  }
}

.point02 .flow-item-inner {
  right: -10%;
}

.point02 .flow-item-inner::after {
  background-image: url("../img/flow-num02.png");
  background-image: image-set(url(../img/flow-num02.png) 1x, url(../img/flow-num02@2x.png) 2x);
}

@media screen and (min-width: 750px) {
  .point02 .flow-item-inner::after {
    background-image: url("../img/pc_flow-num02.png");
    background-image: image-set(url(../img/pc_flow-num02.png) 1x, url(../img/pc_flow-num02@2x.png) 2x);
  }
}
@media screen and (max-width: 749px) {
  .point02 .flow-item-inner {
    right: 0%;
  }
}

.point03 .flow-item-inner::after {
  background-image: url("../img/flow-num03.png");
  background-image: image-set(url(../img/flow-num03.png) 1x, url(../img/flow-num03@2x.png) 2x);
}

@media screen and (min-width: 750px) {
  .point03 .flow-item-inner::after {
    background-image: url("../img/pc_flow-num03.png");
    background-image: image-set(url(../img/pc_flow-num03.png) 1x, url(../img/pc_flow-num03@2x.png) 2x);
  }
}

.flow-item-title {
  font-size: 15px;
  margin-bottom: 0;
  font-weight: 300;
}

@media screen and (min-width: 750px) {
  .flow-item-title {
    font-size: 25px;
    margin: 10% 0 5%;
    letter-spacing: 3px;
  }
}

@media screen and (min-width: 1320px) {
  .flow-item-title {
    font-size: 30px;
  }
}

.flow-item-text {
  margin-top: 1em;
  font-size: 13px;
}

@media screen and (max-width: 374px) {
  .flow-item-text {
    line-height: 1.4;
    margin-top: .5em;
  }
}

@media screen and (min-width: 750px) {
  .flow-item-text {
    font-size: 16px;
    line-height: 2.5;
    letter-spacing: 3px;
  }
}

.flow-item-image {
  margin-top: 5%;
}

.flow-item-image.point02 {
  width: 110%;
}

@media screen and (min-width: 750px) {
  .flow-item-image {
    width: 40%;
    margin-top: 0;
  }
  .flow-item-image.point02 {
    width: 40%;
    position: relative;
    right: -2%;
  }
}

.flow-bottom {
  position: absolute;
  top: 89.5%;
  right: 0;
  left: 0;
  padding: 0 5%;
  font-size: 13px;
}

@media screen and (max-width: 374px) {
  .flow-bottom {
    line-height: 1.4;
    margin-bottom: 1em;
  }
}

@media screen and (min-width: 750px) {
  .flow-bottom {
    font-size: 16px;
    top: 85%;
  }
}

.flow-bottom-title {
  text-align: center;
  font-size: 15px;
  margin-top: 0;
  margin-bottom: 3%;
  font-weight: 300;
}

@media screen and (min-width: 750px) {
  .flow-bottom-title {
    font-size: 30px;
  }
}

.flow-bottom-text {
  max-width: 370px;
  margin: auto;
}

@media screen and (min-width: 750px) {
  .flow-bottom-text {
    max-width: 100%;
    text-align: center;
    line-height: 2.5;
  }
}
@media screen and (max-width: 750px) {
  .flow-bottom-text {
    font-size: 11px;
  }
}
/***
*** faq よくあるご質問
**/
.faq {
  background: url("../img/faq-bg.png") top center no-repeat;
  background-image: image-set(url(../img/faq-bg.png) 1x, url(../img/faq-bg@2x.png) 2x);
  background-size: 100%;
  position: relative;
}

@media screen and (min-width: 750px) {
  .faq {
    background-position: top -80px left 80px;
  }
}

@media screen and (min-width: 1320px) {
  .faq {
    background-position: top -150px left 150px;
  }
}

.faq-inner {
  max-width: 960px;
}

.faq-tab-area {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  text-align: center;
  margin-bottom: 25px;
}

@media screen and (min-width: 750px) {
  .faq-tab-area {
    max-width: 752px;
    margin: 0 auto 50px;
  }
}

/***
*** タブ
**/
.faq-tab {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0;
  font-size: 14px;
  line-height: 2;
  cursor: pointer;
}

.faq-tab + .faq-tab {
  border-left: 1px solid #C5C5C5;
}

.faq-tab.active {
  color: #947F46;
  border-bottom: 2px solid #947F46;
}

@media screen and (min-width: 750px) {
  .faq-tab {
    font-size: 18px;
    line-height: 2.5;
  }
}

.faq-panel {
  display: none;
}

.faq-panel.active {
  display: block;
}

/***
*** アコーディオン
**/
.faq-panel-list {
  cursor: pointer;
  background: #ECECEC;
  padding: 1em 3.5em;
  position: relative;
  margin: 0;
}

.faq-panel-list::after {
  content: '';
  position: absolute;
  background: url("../img/faq-q.png") top center no-repeat;
  background-image: image-set(url(../img/faq-q.png) 1x, url(../img/faq-q@2x.png) 2x);
  display: block;
  width: 25px;
  height: 25px;
  background-size: contain;
  top: 1em;
  left: 0.8em;
}

@media screen and (min-width: 750px) {
  .faq-panel-list::after {
    left: 4em;
    width: 45px;
    height: 45px;
  }
}

.faq-panel-list + .faq-panel-list {
  margin-top: 1px;
  margin-bottom: 0;
}

@media screen and (min-width: 750px) {
  .faq-panel-list {
    padding: 1.5em 8em;
  }
}

.faq-question::before, .faq-question::after {
  content: '';
  display: block;
  position: absolute;
  width: 9px;
  height: 1px;
  background: #000000;
  right: 1.5em;
  top: 2.3em;
}

@media screen and (min-width: 750px) {
  .faq-question::before, .faq-question::after {
    width: 13px;
  }
}

.faq-question::after {
  transform: rotate(90deg);
}

.faq-answer {
  margin: 0;
  position: relative;
  padding-top: 1em;
}

@media screen and (min-width: 750px) {
  .faq-answer {
    padding-top: 1.5em;
  }
}

.faq-answer::after {
  content: '';
  position: absolute;
  background: url("../img/faq-a.png") top center no-repeat;
  background-image: image-set(url(../img/faq-a.png) 1x, url(../img/faq-a@2x.png) 2x);
  display: block;
  width: 25px;
  height: 25px;
  background-size: contain;
  top: 1em;
  left: -2.8em;
  transition: all 0.5s 0s ease;
}

@media screen and (min-width: 750px) {
  .faq-answer::after {
    width: 45px;
    height: 45px;
    left: -4em;
  }
}

.faq-panel-list.active {
  background: #EFE7D3;
  transition: all 0.5s 0s ease;
}

.faq-panel-list.active .faq-question::after {
  display: none;
}

/***
*** contact ご相談
**/
.contact {
  position: relative;
  background: #F2F2F2;
}

.contact-badge {
  position: absolute;
  width: 128px;
  top: -60px;
  right: 3%;
}

@media screen and (min-width: 750px) {
  .contact-badge {
    max-width: 300px;
    width: 20%;
    top: -24px;
    right: 3%;
  }
}

@media screen and (max-width: 374px) {
  .contact-badge {
    width: 100px;
  }
}

.contact-text {
  letter-spacing: 2px;
  line-height: 2;
  text-align: center;
  margin-bottom: 3em;
}

/***
*** location ロケーション
**/
.location {
  background: url("../img/location-bg.svg") bottom center no-repeat;
  background-size: 100%;
  position: relative;
}

.location-inner {
  max-width: 960px;
}

.location-decoration {
  left: 0;
  width: 50%;
  top: 0;
  max-width: 367px;
}

@media screen and (min-width: 750px) {
  .location-decoration {
    width: 40%;
    left: 6%;
    top: 5%;
  }
}

@media screen and (min-width: 1320px) {
  .location-decoration {
    left: 16%;
    top: 15%;
  }
}

.location-image {
  text-align: right;
}

.location .address-text {
  padding-inline: 5%;
  padding-top: 4em;
  position: relative;
  top: -30px;
  width: 95%;
}

@media screen and (min-width: 750px) {
  .location-image {
    margin-right: -70px;
  }
  .location-image img {
    object-position: -70px 0;
  }
  .location-box {
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    flex-direction: row-reverse;
  }
  .location .address-text {
    width: 47%;
    top: 30%;
    padding: 2em 1em 0;
    bottom: -1em;
    white-space: nowrap;
  }
}

/* @media screen and (min-width: 1320px) {
  .location .address-text {
    position: absolute;
    top: 40%;
    width: 40%;
    padding: 3em 3em 2em;
  }
} */

.location-iframe {
  width: 100%;
  height: 145px;
}

@media screen and (min-width: 750px) {
  .location-iframe {
    height: 256px;
  }
}

/***
*** footer フッター
**/
.footer {
  background: #000000;
  color: #fff;
  text-align: center;
  padding-bottom: 150px;
}

@media screen and (min-width: 750px) {
  .footer {
    padding-bottom: 100px;
  }
}

.footer-logo {
  margin: 0 auto;
  padding: 12% 0 8%;
  width: 80%;
}

@media screen and (min-width: 750px) {
  .footer-logo {
    padding: 1.5em 0;
    max-width: 256px;
  }
}

.footer-text {
  font-size: 13px;
}

@media screen and (min-width: 1320px) {
  .footer-text {
    font-size: 16px;
  }
}

.footer-copy {
  font-size: 10px;
}

/***
*** fixed 下固定コンバージョン
**/
.fixed-area {
  position: fixed;
  opacity: 0;
  transition: all 1s 0s ease;
  background: #000000;
  color: #fff;
  width: 100%;
  padding: .8em 0.5em;
  bottom: 0;
  z-index: 998;
  border-top: 1px solid #fff;
  border-bottom: none;
  text-align: center;
}

@media screen and (min-width: 750px) {
  .fixed-area {
    padding: 1em;
  }
}

.fixed-area .contents-cv {
  padding: 0.8em 1em;
}

@media screen and (min-width: 750px) {
  .fixed-area .contents-cv {
    padding: 1.2em 1em;
    padding-bottom: 12px;
    padding-top: 12px;
  }
}

@media screen and (min-width: 750px) {
  .fixed-inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .fixed-inner.sp-block {
    display: none;
  }
}

.fixed-area-text {
  margin: 0 0 .5em;
  font-size: 14px;
}
.fixed-area-text span {
  color: #FFE51A;
}
.fixed-area-text span span {
  font-size: 16px;
}

@media screen and (min-width: 750px) {
  .fixed-area-text {
    font-size: 20px;
    margin: 0 1em 0;
  }
  .fixed-area-text span span {
    font-size: 22px;
  }
}

@media screen and (min-width: 1320px) {
  .fixed-area-text {
    font-size: 22px;
    margin: 0 2em 0 0;
  }
  .fixed-area-text span span {
    font-size: 30px;
  }
}

@media screen and (min-width: 750px) {
  .modal-title {
    font-size: 28px;
    letter-spacing: 3px;
  }
}

@media screen and (min-width: 1320px) {
  .modal-title {
    font-size: 30px;
    letter-spacing: 6px;
  }
}

.contents-title.modal {
  margin: 3em 0 1.5em;
}

/***
*** data モーダル内データ
**/
.data-title {
  position: relative;
  text-align: center;
  font-size: 16px;
  border: 1px solid;
  border-color: #947F46 transparent;
  padding: 0.5em;
  margin: 0;
  letter-spacing: 2px;
  font-weight: 300;
}

@media screen and (max-width: 374px) {
  .data-title {
    font-size: 14px;
  }
}

@media screen and (min-width: 750px) {
  .data-title {
    font-size: 18px;
    padding: 1em;
  }
}

.data-title.__badge:after {
  content: '';
  position: absolute;
  left: 0;
  width: 15vw;
  height: 15vw;
  background: url("../img/data-no1.svg") center center no-repeat;
  background-size: contain;
  top: 0;
  bottom: 0;
  margin-block: auto;
}

@media screen and (max-width: 374px) {
  .data-title.__badge:after {
    width: 45px;
    height: 45px;
  }
}

@media screen and (min-width: 750px) {
  .data-title.__badge:after {
    left: 10%;
    width: 113px;
    height: 113px;
  }
}

.data-decoration {
  max-width: 213px;
  right: 0;
  left: unset;
  width: 30%;
  top: 0;
}

@media screen and (min-width: 750px) {
  .data-decoration {
    right: 5%;
    top: 0;
  }
}

.data-numbox {
  margin: 1.5em 0;
  letter-spacing: 2px;
}

.data-numbox p {
  margin: 0;
  text-align: center;
}

.data-numbox p + p {
  margin-top: .8em;
}

.data-numbox .large {
  font-size: 20px;
}

@media screen and (min-width: 750px) {
  .data-numbox .large {
    font-size: 32px;
  }
}

.data-numbox .large .num {
  margin: 0 0.1em;
  color: #A1925C;
  font-size: 1.5em;
}

@media screen and (max-width: 374px) {
  .data-numbox .large .num {
    font-size: 1.3em;
  }
}

.data-numbox .small {
  font-size: 13px;
}

@media screen and (min-width: 750px) {
  .data-numbox .small {
    font-size: 14px;
  }
}

@media screen and (min-width: 1320px) {
  .data-wrap {
    display: flex;
    gap: 3%;
  }
}

.data-image {
  margin: 1.5em 0;
}

.data-caption {
  margin: 1em 0;
  font-size: 12px;
  text-align: right;
}

@media screen and (min-width: 750px) {
  .data-caption {
    font-size: 14px;
  }
}

/***
*** flow2 無料婚活1日体験の流れ
**/
.flow2-decoration {
  left: 18%;
  width: 30%;
  top: 0;
  max-width: 70px;
}

@media screen and (min-width: 750px) {
  .flow2-decoration {
    left: 10%;
    max-width: 146px;
  }
}

@media screen and (min-width: 1320px) {
  .flow2-decoration {
    left: 26%;
  }
}

.flow2-item {
  position: relative;
  margin-left: auto;
  width: 80%;
  margin-top: 3em;
}

.flow2-item .flow-item-inner:after {
  opacity: 1;
}

@media screen and (min-width: 750px) {
  .flow2-item .flow-item-inner:after {
    left: -15%;
  }
}

@media screen and (min-width: 1320px) {
  .flow2-item .flow-item-inner:after {
    left: -25%;
  }
}

@media screen and (min-width: 750px) {
  .flow2-item {
    width: 100%;
    margin-top: 5em;
  }
  .flow2-item:nth-of-type(2n), .flow2-item:nth-of-type(2n+1) {
    margin-inline: 0;
  }
}

.point02 .flow2-item-inner {
  right: 0;
}

@media screen and (min-width: 750px) {
  .point02 .flow2-item-inner {
    right: -10%;
  }
}

.flow-modal-wrap, .episode-modal-wrap {
  padding-inline: 0;
}

/***
*** flow2内コンバージョン
**/
.cv2.contents {
  margin: 15% 0 10%;
  background: url("../img/cv2-bg.jpg") top center no-repeat;
  background-image: image-set(url(../img/cv2-bg.jpg) 1x, url(../img/cv2-bg@2x.jpg) 2x);
  background-size: cover;
}

@media screen and (min-width: 750px) {
  .cv2.contents {
    margin: 0;
    background: url("../img/pc_cv2-bg.jpg") top center no-repeat;
    background-image: image-set(url(../img/pc_cv2-bg.jpg) 1x, url(../img/pc_cv2-bg@2x.jpg) 2x);
  }
}

.cv2-inner {
  padding: 10% 5%;
}

@media screen and (max-width: 374px) {
  .cv2-inner {
    padding: 5% 3%;
  }
}

@media screen and (min-width: 750px) {
  .cv2-inner {
    padding: 5% 3%;
  }
}

@media screen and (max-width: 374px) {
  .cv2-button {
    font-size: 13px;
  }
}

@media screen and (min-width: 750px) {
  .cv-inner-inner {
    max-width: 600px;
    margin-left: auto;
    padding: 0 5%;
    width: 70%;
  }
}

@media screen and (min-width: 1320px) {
  .cv-inner-inner {
    padding: 0;
    width: 50%;
  }
}

/***
*** episode エピソード(モーダル内)
**/
.episode-head {
  width: 100%;
}

@media screen and (min-width: 750px) {
  .episode-head {
    display: flex;
    margin-right: calc(50% - 50vw);
    justify-content: end;
  }
}

.episode-head-inner {
  padding-inline: 3%;
}

@media screen and (min-width: 750px) {
  .episode-head-inner {
    width: 50%;
    padding-inline: 0 1%;
  }
}

@media screen and (min-width: 1320px) {
  .episode-head-inner {
    padding-inline: unset;
    width: 40%;
  }
}

.episode-head-title {
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 2px;
  text-align: center;
  padding-inline: 5%;
}

@media screen and (min-width: 750px) {
  .episode-head-title {
    font-size: 23px;
    letter-spacing: 0;
    text-align: left;
    padding-inline: 0;
    margin-top: .5em;
    letter-spacing: 3px;
  }
}

@media screen and (min-width: 1320px) {
  .episode-head-title {
    font-size: 30px;
    margin-top: 1em;
  }
}

@media screen and (min-width: 750px) {
  .episode-head-image {
    width: 40%;
  }
}

@media screen and (min-width: 1320px) {
  .episode-head-image {
    width: 50%;
  }
}

.episode-head-detail {
  font-size: 13px;
  text-align: center;
  margin: 1em;
}

@media screen and (min-width: 750px) {
  .episode-head-detail {
    font-size: 14px;
    text-align: left;
    margin: 0;
  }
}

@media screen and (min-width: 1320px) {
  .episode-head-detail {
    font-size: 16px;
  }
}

.episode-text-wrap {
  width: 80%;
  margin-left: auto;
  margin-block: 2em;
  padding-right: 5%;
}

@media screen and (min-width: 750px) {
  .episode-text-wrap {
    width: 85%;
  }
}

.episode-text-title {
  font-size: 16px;
  line-height: 1.7;
  font-weight: 400;
  letter-spacing: 3px;
  position: relative;
  margin-block: 3em 1em;
}

.episode-text-title::before {
  content: "";
  width: 13%;
  height: 1px;
  background: #947F46;
  position: absolute;
  left: -20%;
  top: 0.7em;
  margin: auto;
}

@media screen and (min-width: 750px) {
  .episode-text-title::before {
    left: -10%;
    width: 5%;
  }
}

@media screen and (min-width: 750px) {
  .episode-text-title {
    font-size: 20px;
  }
}

@media screen and (min-width: 1320px) {
  .episode-text-title {
    font-size: 30px;
  }
}

.episode-text-detail {
  font-size: 14px;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 2.5px;
}

@media screen and (min-width: 750px) {
  .episode-text-detail {
    font-size: 16px;
  }
}

/***
*** fadein
**/
/* 画面外にいる状態 */
.fadein {
  opacity: 0.1;
  transform: translate(0, 100px);
  transition: all 1000ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

.fadein.mv {
  transform: translate(0, 0);
}

/*--------------------------------
	汎用ｸﾗｽ
--------------------------------*/
@media screen and (min-width: 736px) {
	/* SPだけ表示 */
		.visible_s {
			display: none !important;
		}
	}
	@media screen and (max-width: 736px) {
	/* PCだけ表示 */
		.visible_l {
			display: none !important;
		}
}