@charset "utf-8";

:root {
  --vw: 10px;
  --vh: 10px;
  --font_base: 'Zen Kaku Gothic New', sans-serif;
  --font_en: 'Open Sans', sans-serif;
  --col_primary: #beaf87;
  --col_body: #414042;
  --col_dark: #000000;
  --col_bgLight: #eff7ff;
  --col_line: #c3c3c3;
  --col_rgbPrimary: 190, 175, 135;
  --col_bdInput: #f4f4f4;
  --col_bgInput: #f4f4f4;
  --col_placehoder: #c7c7c7;
  --col_bgError: #fbefef;
  --col_txtError: #c71e1e;
  --col_step: #b94366;
  --col_step-arrow: #999999;
  --col_bgSelect: #fff;
  --z_upper: 3000;
  --z_middle: 2000;
  --z_under: 1000
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline
}

ol,
ul {
  list-style: none
}

table {
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle
}

caption,
th,
td {
  text-align: left;
  font-weight: 400;
  vertical-align: middle
}

img {
  vertical-align: middle
}

h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
ul,
ol,
li,
dl,
dt,
dd,
img,
nav {
  margin: 0;
  padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1
}

.clearfix:after {
  content: "";
  display: block;
  clear: both
}

main {
  display: block
}

figure {
  display: block;
  margin: 0;
  padding: 0
}

img {
  width: 100%;
  height: auto
}

[class^=glyphs-] {
  line-height: 1;
  font-weight: 400
}

[class^=glyphs-]:before,
[class*=" glyphs-"]:before {
  line-height: 1;
  vertical-align: middle
}

html {
  font-size: 10px
}

* {
  box-sizing: border-box
}

:before,
:after {
  box-sizing: border-box
}

@keyframes trigger_at {
  0% {
    background: #fff
  }

  50% {
    background: #fff
  }

  to {
    background: 0 0
  }
}

@keyframes trigger_at_01 {
  0% {
    top: -3.515625vw;
    transform: rotate(0)
  }

  50% {
    top: 0;
    transform: rotate(0)
  }

  to {
    top: 0;
    transform: rotate(45deg)
  }
}

@keyframes trigger_at_02 {
  0% {
    top: 3.515625vw;
    transform: rotate(0)
  }

  50% {
    top: 0;
    transform: rotate(0)
  }

  to {
    top: 0;
    transform: rotate(-45deg)
  }
}

@keyframes trigger {
  0% {
    background: 0 0
  }

  50% {
    background: 0 0
  }

  to {
    background: #fff
  }
}

@keyframes trigger_01 {
  0% {
    top: 0;
    transform: rotate(45deg)
  }

  50% {
    top: 0;
    transform: rotate(0)
  }

  to {
    top: -3.515625vw;
    transform: rotate(0)
  }
}

@keyframes trigger_02 {
  0% {
    top: 0;
    transform: rotate(-45deg)
  }

  50% {
    top: 0;
    transform: rotate(0)
  }

  to {
    top: 3.515625vw;
    transform: rotate(0)
  }
}

@keyframes top {
  0% {
    top: 0;
    transform: rotate(0)
  }

  50% {
    top: 50%;
    transform: rotate(0)
  }

  to {
    top: 50%;
    transform: translateY(-50%) rotate(-30deg)
  }
}

@keyframes topBack {
  0% {
    top: 50%;
    transform: translateY(-50%) rotate(-30deg)
  }

  50% {
    top: 50%;
    transform: rotate(0)
  }

  to {
    top: 0;
    transform: rotate(0)
  }
}

@keyframes bottom {
  0% {
    bottom: 0;
    transform: rotate(0)
  }

  50% {
    bottom: 50%;
    transform: rotate(0)
  }

  to {
    bottom: 50%;
    transform: translateY(50%) rotate(30deg)
  }
}

@keyframes bottomBack {
  0% {
    bottom: 50%;
    transform: translateY(50%) rotate(45deg)
  }

  50% {
    bottom: 50%;
    transform: rotate(0)
  }

  to {
    bottom: 0;
    transform: rotate(0)
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 30px, 0)
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}

@keyframes fadeInUpCenter {
  0% {
    opacity: 0;
    transform: translate3d(-50%, 30px, 0)
  }

  to {
    opacity: 1;
    transform: translate3d(-50%, 0, 0)
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-150px, 0, 0)
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(150px, 0, 0)
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}

.fadeIn {
  opacity: 0
}

.fadeIn.active {
  animation: fadeIn 1s ease-out forwards
}

.fadeInUp.active {
  animation: fadeInUp 1s ease-out forwards
}

.fadeInUpCenter.active {
  animation: fadeInUpCenter 1s ease-out forwards
}

.fadeInLeft.active {
  animation: fadeInLeft 1s ease-out forwards
}

.intersect-elem {
  opacity: 0
}

.intersect-elem.active {
  opacity: 1
}

@media (min-width:1367px),
print {
  body {
    font-size: 1.8001800180018002rem;
    line-height: 2;
    letter-spacing: .075em;
    color: var(--col_body);
    font-feature-settings: "palt" 1
  }

  a {
    transition: opacity .3s linear;
    will-change: opacity
  }

  @media (hover:hover) {
    a:hover {
      opacity: .7
    }
  }

  a[href^=tel] {
    display: inline-block;
    pointer-events: none;
    text-decoration: none
  }

  .show_sp {
    display: none !important
  }

  .root {
    width: 100%;
    overflow: hidden
  }

  .row {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto
  }

  .row__sm {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto
  }
}

@media (min-width:769px) and (max-width:1366px) {
  body {
    font-size: 1.171303074670571vw;
    line-height: 2;
    letter-spacing: .075em;
    color: var(--col_body);
    font-feature-settings: "palt" 1
  }

  a {
    transition: opacity .3s linear;
    will-change: opacity
  }

  @media (hover:hover) {
    a:hover {
      opacity: .7
    }
  }

  a[href^=tel] {
    display: inline-block;
    pointer-events: none;
    text-decoration: none
  }

  .show_sp {
    display: none !important
  }

  .root {
    width: 100%;
    overflow: hidden
  }

  .row {
    max-width: 87.84773060029283vw;
    width: 100%;
    margin: 0 auto
  }

  .row__sm {
    max-width: 73.20644216691069vw;
    width: 100%;
    margin: 0 auto
  }
}

@media only screen and (max-width:768px) {
  body {
    font-size: 3.90625vw;
    line-height: 1.75;
    letter-spacing: .075em;
    color: var(--col_body);
    font-feature-settings: "palt" 1
  }

  .show_pc {
    display: none !important
  }

  .root {
    overflow: hidden;
    min-width: 320px
  }

  .row {
    width: 100%;
    padding-left: 6.510416666666667vw;
    padding-right: 6.510416666666667vw
  }

  .row__sm {
    width: 100%;
    padding-left: 6.510416666666667vw;
    padding-right: 6.510416666666667vw
  }
}

@media (min-width:1367px),
print {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 26px 0;
    transition: background-color .3s ease, box-shadow .3s ease-out;
    will-change: background-color, box-shadow;
    z-index: var(--z_upper)
  }

  .header.fixed {
    box-shadow: 2px 0 10px rgba(0, 0, 0, .05);
    background-color: #fff
  }

  .header.fixed .header__logo>a {
    background-image: url(../images/common/logo.png?v41829de27eed34f8e673dc41eeedef63);
    background-size: contain;
    background-repeat: no-repeat
  }

  .header.fixed .header__nav>ul>li>a {
    color: var(--col_body)
  }

  .header.fixed .header__jobSearch .c-btn.-primary {
    background: var(--col_primary);
    color: #fff;
    border-color: var(--col_primary)
  }

  @media (hover:hover) {
    .header.fixed .header__jobSearch .c-btn:hover.-primary {
      background: var(--col_primary);
      color: #fff;
      border-color: var(--col_primary);
      opacity: .7
    }
  }

  .header__hamburger {
    display: none
  }

  .header__wrap {
    display: flex;
    justify-content: space-between;
    max-width: 1430px;
    padding: 0 15px;
    margin: 0 auto
  }

  .header__logo {
    display: flex;
    flex-shrink: 0;
    padding-top: 18px
  }

  .header__logo>a {
    display: block;
    width: 418px;
    height: 46px;
    background-image: url(../images/common/logo-white.png?vdebd4b0295e3b5aa102b2ffb71c594c2);
    background-size: contain;
    background-repeat: no-repeat;
    font-size: 0
  }

  .header__content {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center
  }

  .header__menu {
    display: flex;
    justify-content: flex-end
  }

  .header__nav {
    display: flex;
    justify-content: flex-end;
    width: 100%
  }

  .header__nav>ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%
  }

  .header__nav>ul>li {
    position: relative
  }

  .header__nav>ul>li>a {
    position: relative;
    display: flex;
    align-items: center;
    letter-spacing: .06em;
    padding: 0 26px;
    font-family: var(--font_en);
    color: #fff;
    transition: color .3s ease-out;
    will-change: color
  }

  .header__nav>ul>li>a .-labelEn {
    text-transform: uppercase
  }

  .header__nav>ul>li>a .-labelJp {
    display: none
  }

  .header__nav>ul>li>a:after {
    content: "｜";
    position: absolute;
    right: -8px
  }

  @media (hover:hover) {
    .header__nav>ul>li>a:hover {
      color: var(--col_primary);
      opacity: 1
    }
  }

  .header__nav>ul>li .sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 37px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s ease-in-out;
    will-change: opacity
  }

  .header__nav>ul>li .sub-menu:before {
    content: "";
    position: absolute;
    top: 21px;
    left: 50%;
    transform: translateX(-50%);
    border-bottom: 16px solid var(--col_body);
    border-left: 13px solid transparent;
    border-right: 13px solid transparent
  }

  .header__nav>ul>li .sub-menu__list {
    min-width: 285px;
    background-color: var(--col_body);
    padding: 30px 40px
  }

  .header__nav>ul>li .sub-menu__list li a {
    color: #fff;
    font-size: 1.5751575157515751rem;
    line-height: 2.57;
    transition: color .3s ease-out;
    will-change: color;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    letter-spacing: .02em
  }

  .header__nav>ul>li .sub-menu__list li a:before {
    content: "- ";
    display: inline-block;
    margin-right: 5px
  }

  .header__nav>ul>li .sub-menu__list li a:after {
    content: "";
    background-image: url(../images/common/ico-arrow-btn.svg?v66696559c3cea894c838d3a801410048);
    background-size: 8px 13px;
    width: 8px;
    height: 13px;
    display: inline-block;
    margin-left: auto
  }

  @media (hover:hover) {
    .header__nav>ul>li .sub-menu__list li a:hover {
      color: var(--col_primary);
      opacity: 1
    }
  }

  .header__nav>ul>li:last-of-type a:after {
    content: none
  }

  @media (hover:hover) {
    .header__nav>ul>li:hover .sub-menu {
      opacity: 1;
      visibility: visible;
      pointer-events: visible
    }
  }

  .header__nav__text .eng {
    display: none
  }

  .header__jobSearch .c-btn {
    width: 143px;
    height: 50px;
    padding: 10px;
    font-size: 1.8001800180018002rem;
    font-family: var(--font_en);
    transition: all .3s ease-out
  }

  .header__jobSearch .c-btn.-primary {
    background: #fff;
    color: var(--col_primary);
    border-color: #fff
  }

  @media (hover:hover) {
    .header__jobSearch .c-btn:hover.-primary {
      background: var(--col_primary);
      color: #fff;
      border-color: var(--col_primary)
    }
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 1.903367496339678vw 0;
    transition: background-color .3s ease, box-shadow .3s ease-out;
    will-change: background-color, box-shadow;
    z-index: var(--z_upper)
  }

  .header.fixed {
    box-shadow: .14641288433382138vw 0 .7320644216691069vw rgba(0, 0, 0, .05);
    background-color: #fff
  }

  .header.fixed .header__logo>a {
    background-image: url(../images/common/logo.png?v41829de27eed34f8e673dc41eeedef63);
    background-size: contain;
    background-repeat: no-repeat
  }

  .header.fixed .header__nav>ul>li>a {
    color: var(--col_body)
  }

  .header.fixed .header__jobSearch .c-btn.-primary {
    background: var(--col_primary);
    color: #fff;
    border-color: var(--col_primary)
  }

  @media (hover:hover) {
    .header.fixed .header__jobSearch .c-btn:hover.-primary {
      background: var(--col_primary);
      color: #fff;
      border-color: var(--col_primary);
      opacity: .7
    }
  }

  .header__hamburger {
    display: none
  }

  .header__wrap {
    display: flex;
    justify-content: space-between;
    max-width: 104.68521229868229vw;
    padding: 0 1.0980966325036603vw;
    margin: 0 auto
  }

  .header__logo {
    display: flex;
    flex-shrink: 0;
    padding-top: 1.3177159590043925vw
  }

  .header__logo>a {
    display: block;
    width: 30.600292825768665vw;
    height: 3.3674963396778916vw;
    background-image: url(../images/common/logo-white.png?vdebd4b0295e3b5aa102b2ffb71c594c2);
    background-size: contain;
    background-repeat: no-repeat;
    font-size: 0
  }

  .header__content {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center
  }

  .header__menu {
    display: flex;
    justify-content: flex-end
  }

  .header__nav {
    display: flex;
    justify-content: flex-end;
    width: 100%
  }

  .header__nav>ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%
  }

  .header__nav>ul>li {
    position: relative
  }

  .header__nav>ul>li>a {
    position: relative;
    display: flex;
    align-items: center;
    letter-spacing: .06em;
    padding: 0 1.903367496339678vw;
    font-family: var(--font_en);
    color: #fff;
    transition: color .3s ease-out;
    will-change: color
  }

  .header__nav>ul>li>a .-labelEn {
    text-transform: uppercase
  }

  .header__nav>ul>li>a .-labelJp {
    display: none
  }

  .header__nav>ul>li>a:after {
    content: "｜";
    position: absolute;
    right: -.5856515373352855vw
  }

  @media (hover:hover) {
    .header__nav>ul>li>a:hover {
      color: var(--col_primary);
      opacity: 1
    }
  }

  .header__nav>ul>li .sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 2.7086383601756956vw;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s ease-in-out;
    will-change: opacity
  }

  .header__nav>ul>li .sub-menu:before {
    content: "";
    position: absolute;
    top: 1.5373352855051245vw;
    left: 50%;
    transform: translateX(-50%);
    border-bottom: 1.171303074670571vw solid var(--col_body);
    border-left: .951683748169839vw solid transparent;
    border-right: .951683748169839vw solid transparent
  }

  .header__nav>ul>li .sub-menu__list {
    min-width: 20.863836017569547vw;
    background-color: var(--col_body);
    padding: 2.1961932650073206vw 2.9282576866764276vw
  }

  .header__nav>ul>li .sub-menu__list li a {
    color: #fff;
    font-size: 1.0248901903367496vw;
    line-height: 2.57;
    transition: color .3s ease-out;
    will-change: color;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    letter-spacing: .02em
  }

  .header__nav>ul>li .sub-menu__list li a:before {
    content: "- ";
    display: inline-block;
    margin-right: .36603221083455345vw
  }

  .header__nav>ul>li .sub-menu__list li a:after {
    content: "";
    background-image: url(../images/common/ico-arrow-btn.svg?v66696559c3cea894c838d3a801410048);
    background-size: .5856515373352855vw .951683748169839vw;
    width: .5856515373352855vw;
    height: .951683748169839vw;
    display: inline-block;
    margin-left: auto
  }

  @media (hover:hover) {
    .header__nav>ul>li .sub-menu__list li a:hover {
      color: var(--col_primary);
      opacity: 1
    }
  }

  .header__nav>ul>li:last-of-type a:after {
    content: none
  }

  @media (hover:hover) {
    .header__nav>ul>li:hover .sub-menu {
      opacity: 1;
      visibility: visible;
      pointer-events: visible
    }
  }

  .header__nav__text .eng {
    display: none
  }

  .header__jobSearch .c-btn {
    width: 10.468521229868228vw;
    height: 3.6603221083455346vw;
    padding: .7320644216691069vw;
    font-size: 1.171303074670571vw;
    font-family: var(--font_en);
    transition: all .3s ease-out
  }

  .header__jobSearch .c-btn.-primary {
    background: #fff;
    color: var(--col_primary);
    border-color: #fff
  }

  @media (hover:hover) {
    .header__jobSearch .c-btn:hover.-primary {
      background: var(--col_primary);
      color: #fff;
      border-color: var(--col_primary)
    }
  }
}

@media only screen and (max-width:768px) {
  .header {
    left: 0;
    position: fixed;
    top: 0;
    z-index: 99;
    width: 100%;
    height: 18.229166666666664vw;
    transition: background-color .3s ease, box-shadow .3s ease-out;
    will-change: background-color, box-shadow;
    z-index: var(--z_upper)
  }

  .header.fixed {
    box-shadow: .26041666666666663vw 0 1.3020833333333335vw rgba(0, 0, 0, .05);
    background-color: #fff
  }

  .header.fixed .header__logo a {
    background-image: url(../images/common/logo-sp.png?vbfd0fd993999c90e6146018c16af519c);
    background-size: contain
  }

  .header.fixed .header__hamburger {
    background: var(--col_primary)
  }

  .header.fixed .header__hamburger .burger-lines:before {
    content: "";
    background: #fff
  }

  .header.fixed .header__hamburger .burger-lines:after {
    content: "";
    background: #fff
  }

  .header.fixed .header__hamburger:after {
    content: "";
    background: #fff
  }

  .header.active {
    background-color: var(--col_body)
  }

  .header.active .header__logo a {
    background-image: url(../images/common/logo_w-sp.png?v2c0193a51d22ebbd2cce8fb0fb163a2b);
    background-size: contain
  }

  .header.active .header__nav {
    padding-top: 6.510416666666667vw
  }

  .header__wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    padding: 0 3.90625vw
  }

  .header__logo,
  .header__content {
    flex-shrink: 0
  }

  .header__logo {
    display: flex;
    flex-shrink: 0
  }

  .header__logo>a {
    display: block;
    width: 66.66666666666666vw;
    height: 6.901041666666667vw;
    background-image: url(../images/common/logo_w-sp.png?v2c0193a51d22ebbd2cce8fb0fb163a2b);
    background-size: contain;
    background-repeat: no-repeat;
    font-size: 0
  }

  .header__menu {
    position: fixed;
    left: 0;
    width: 100%;
    top: 18.229166666666664vw;
    height: 0;
    bottom: 0;
    overflow: hidden;
    background-color: var(--col_body)
  }

  .header__nav {
    padding-top: 18.229166666666664vw
  }

  .header__nav>ul {
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, .08)
  }

  .header__nav>ul>li {
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    position: relative
  }

  .header__nav>ul>li>a {
    position: relative;
    padding: 5.338541666666666vw 3.90625vw;
    font-size: 4.185267857142858vw;
    line-height: 2.8;
    font-weight: 500;
    letter-spacing: .14em;
    color: #fff;
    display: flex;
    align-items: center
  }

  .header__nav>ul>li>a .-labelEn {
    color: #fff;
    text-transform: uppercase;
    font-family: var(--font_en);
    font-weight: 700;
    font-size: 4.185267857142858vw;
    line-height: 1;
    letter-spacing: .075em
  }

  .header__nav>ul>li>a .-labelJp {
    color: var(--col_primary);
    font-size: 3.069196428571429vw;
    line-height: 1.64;
    letter-spacing: .075em
  }

  .header__nav>ul>li>a .-labelJp:before {
    content: "："
  }

  .header__nav>ul>li>a.toggleable {
    transition: background-color .3s ease-out;
    will-change: background-color
  }

  .header__nav>ul>li>a.toggleable:before {
    content: "";
    display: inline-block;
    width: 1.3020833333333335vw;
    height: 2.34375vw;
    position: absolute;
    right: 4.427083333333334vw;
    top: 50%;
    background: url(../images/common/ico-arrow-btn.svg?v66696559c3cea894c838d3a801410048);
    background-size: 1.3020833333333335vw 2.34375vw;
    background-repeat: no-repeat;
    background-position: center center;
    transform: translateY(-50%) rotate(90deg);
    transition: transform .3s ease-out;
    will-change: transform
  }

  .header__nav>ul>li>a.toggleable.expanded {
    background-color: #484749
  }

  .header__nav>ul>li>a.toggleable.expanded:before {
    transform: translateY(-50%) rotate(270deg)
  }

  .header__nav>ul>li .sub-menu {
    overflow: hidden;
    transition: max-height .3s ease-out;
    will-change: max-height;
    background-color: #484749
  }

  .header__nav>ul>li .sub-menu__list {
    padding: 0 4.296875vw 6.640625vw 3.90625vw
  }

  .header__nav>ul>li .sub-menu__list>li:not(:last-child) {
    margin-bottom: 6.119791666666666vw
  }

  .header__nav>ul>li .sub-menu__list>li>a {
    color: #fff;
    font-size: 3.6272321428571432vw;
    line-height: 1;
    display: flex;
    align-items: center
  }

  .header__nav>ul>li .sub-menu__list>li>a .rect {
    display: inline-block;
    width: 10.026041666666668vw;
    height: 4.036458333333334vw;
    border: 1px solid #fff;
    margin-right: .6510416666666667vw;
    vertical-align: sub
  }

  .header__nav>ul>li .sub-menu__list>li>a:after {
    content: "";
    display: inline-block;
    margin-left: auto;
    width: 1.3020833333333335vw;
    height: 2.34375vw;
    top: 0;
    bottom: 0;
    right: 3.90625vw;
    background: url(../images/common/ico-arrow-btn.svg?v66696559c3cea894c838d3a801410048)no-repeat top left;
    background-size: contain
  }

  .header__nav>ul>li .sub-menu__list>li>a:before {
    content: "- ";
    padding-right: .6510416666666667vw
  }

  .header__jobSearch {
    margin: 10.416666666666668vw 0
  }

  .header__jobSearch .c-btn {
    width: 52.083333333333336vw;
    display: flex;
    margin: 0 auto
  }

  .header__jobSearch .c-btn.-primary {
    background-color: #fff;
    color: var(--col_primary);
    border-color: #fff
  }

  .header__jobSearch .c-btn .-ico {
    width: 3.125vw;
    margin-right: 2.34375vw
  }

  .header__hamburger {
    position: relative;
    width: 13.020833333333334vw;
    height: 13.020833333333334vw;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: backgound .3s ease-in-out;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
    transition: box-shadow .3s ease-out;
    will-change: box-shadow;
    z-index: 9
  }

  .header__hamburger .burger-lines {
    position: relative;
    width: 5.729166666666666vw;
    height: 3.6458333333333335vw
  }

  .header__hamburger .burger-lines:before {
    content: "";
    position: absolute;
    width: 100%;
    height: .390625vw;
    background: var(--col_primary);
    top: 0;
    left: 0;
    margin: auto
  }

  .header__hamburger .burger-lines:after {
    content: "";
    position: absolute;
    width: 100%;
    height: .390625vw;
    background: var(--col_primary);
    bottom: 0;
    left: 0;
    margin: auto
  }

  .header__hamburger:after {
    content: "";
    position: absolute;
    left: 50%;
    width: 5.729166666666666vw;
    height: .390625vw;
    background: var(--col_primary);
    transform: translateX(-50%);
    transition: opacity .7s ease-out;
    will-change: opacity
  }

  .header__hamburger.open {
    background-color: #fff
  }

  .header__hamburger.open .burger-lines:before {
    animation: ease .7s top forwards;
    background: var(--col_primary)
  }

  .header__hamburger.open .burger-lines:after {
    animation: ease .7s bottom forwards;
    background: var(--col_primary)
  }

  .header__hamburger.open:after {
    opacity: 0
  }

  .header__hamburger.close .burger-lines:before {
    animation: ease .7s topBack forwards
  }

  .header__hamburger.close .burger-lines:after {
    animation: ease .7s bottomBack forwards
  }
}

@media (min-width:1367px),
print {
  .footer {
    background-color: var(--col_body);
    border-top: 1px solid rgba(255, 255, 255, .1)
  }

  .footer .row {
    max-width: 1460px;
    padding: 0 30px
  }

  .footer__top {
    padding: 95px 0 34px;
    display: grid;
    grid-template-areas: "info menu" "about menu" ". menu";
    grid-template-columns: 33.33% 66.67%;
    border-bottom: 1px solid rgba(255, 255, 255, .08)
  }

  .footer__about {
    grid-area: about
  }

  .footer__about__head {
    color: #fff;
    font-size: 1.5751575157515751rem;
    line-height: 1.71;
    margin-bottom: 36px
  }

  .footer__info {
    grid-area: info;
    padding-top: 5px
  }

  .footer__info__logo {
    margin-bottom: 38px
  }

  .footer__info__logo a {
    width: 268px;
    height: 65px;
    display: block
  }

  .footer__menu {
    height: 64.69396939693969rem;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    grid-area: menu
  }

  .footer__menu__box {
    width: 50%;
    padding-left: 50px;
    border-left: 1px solid rgba(255, 255, 255, .08);
    padding-bottom: 33px
  }

  .footer__menu__box:nth-of-type(3n),
  .footer__menu__box:last-of-type {
    padding-bottom: 0
  }

  .footer__menu__head {
    margin-bottom: 15px;
    line-height: 1.25
  }

  .footer__menu__head .-labelEn {
    color: #fff;
    text-transform: uppercase;
    font-family: var(--font_en);
    font-weight: 700;
    line-height: 1.25
  }

  .footer__menu__head .-labelJp {
    color: var(--col_primary);
    font-size: 1.5751575157515751rem;
    line-height: 1.43
  }

  .footer__menu__head .-labelJp:before {
    content: "："
  }

  .footer__nav__item a {
    color: #fff;
    font-size: 1.5751575157515751rem;
    line-height: 2.57;
    letter-spacing: 0
  }

  .footer__nav__item a .rect {
    display: inline-block;
    width: 42px;
    height: 17px;
    border: 1px solid #fff;
    margin-top: 4px;
    margin-right: 5px;
    vertical-align: sub
  }

  .footer__nav__item a:before {
    content: "- "
  }

  .footer .copyright {
    color: #fff;
    font-size: 1.3501350135013501rem;
    letter-spacing: .05em;
    font-family: var(--font_en)
  }

  .footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 32px 0
  }

  .footer__pageTop {
    height: 44px;
    width: 44px;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer
  }

  .footer__pageTop img {
    transform: rotate(-90deg);
    width: 8px
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .footer {
    background-color: var(--col_body);
    border-top: 1px solid rgba(255, 255, 255, .1)
  }

  .footer .row {
    max-width: 106.88140556368961vw;
    padding: 0 2.1961932650073206vw
  }

  .footer__top {
    padding: 6.954612005856515vw 0 2.4890190336749636vw;
    display: grid;
    grid-template-areas: "info menu" "about menu" ". menu";
    grid-template-columns: 33.33% 66.67%;
    border-bottom: 1px solid rgba(255, 255, 255, .08)
  }

  .footer__about {
    grid-area: about
  }

  .footer__about__head {
    color: #fff;
    font-size: 1.0248901903367496vw;
    line-height: 1.71;
    margin-bottom: 2.635431918008785vw
  }

  .footer__info {
    grid-area: info;
    padding-top: .36603221083455345vw
  }

  .footer__info__logo {
    margin-bottom: 2.781844802342606vw
  }

  .footer__info__logo a {
    width: 19.619326500732065vw;
    height: 4.758418740849195vw;
    display: block
  }

  .footer__menu {
    height: 42.09370424597365vw;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    grid-area: menu
  }

  .footer__menu__box {
    width: 50%;
    padding-left: 3.6603221083455346vw;
    border-left: 1px solid rgba(255, 255, 255, .08);
    padding-bottom: 2.4158125915080526vw
  }

  .footer__menu__box:nth-of-type(3n),
  .footer__menu__box:last-of-type {
    padding-bottom: 0
  }

  .footer__menu__head {
    margin-bottom: 1.0980966325036603vw;
    line-height: 1.25
  }

  .footer__menu__head .-labelEn {
    color: #fff;
    text-transform: uppercase;
    font-family: var(--font_en);
    font-weight: 700;
    line-height: 1.25
  }

  .footer__menu__head .-labelJp {
    color: var(--col_primary);
    font-size: 1.0248901903367496vw;
    line-height: 1.43
  }

  .footer__menu__head .-labelJp:before {
    content: "："
  }

  .footer__nav__item a {
    color: #fff;
    font-size: 1.0248901903367496vw;
    line-height: 2.57;
    letter-spacing: 0
  }

  .footer__nav__item a .rect {
    display: inline-block;
    width: 3.074670571010249vw;
    height: 1.2445095168374818vw;
    border: 1px solid #fff;
    margin-top: .29282576866764276vw;
    margin-right: .36603221083455345vw;
    vertical-align: sub
  }

  .footer__nav__item a:before {
    content: "- "
  }

  .footer .copyright {
    color: #fff;
    font-size: .8784773060029283vw;
    letter-spacing: .05em;
    font-family: var(--font_en)
  }

  .footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2.342606149341142vw 0
  }

  .footer__pageTop {
    height: 3.22108345534407vw;
    width: 3.22108345534407vw;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer
  }

  .footer__pageTop img {
    transform: rotate(-90deg);
    width: .5856515373352855vw
  }
}

@media only screen and (max-width:768px) {
  .footer {
    background-color: var(--col_body);
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, .1)
  }

  .footer__top {
    padding-top: 13.020833333333334vw;
    border-bottom: 1px solid rgba(255, 255, 255, .08)
  }

  .footer__about {
    padding: 8.854166666666668vw 0 8.072916666666668vw
  }

  .footer__about__head {
    color: #fff;
    font-size: 3.3482142857142856vw;
    line-height: 1.92;
    letter-spacing: -.045em;
    margin-bottom: .6510416666666667vw
  }

  .footer__about .footer__nav__item a {
    line-height: 2.17;
    display: inline-block
  }

  .footer__info__logo {
    margin-bottom: 7.161458333333333vw
  }

  .footer__info__logo a {
    width: 46.09375vw;
    height: 11.197916666666668vw;
    display: block
  }

  .footer__menu {
    height: 146.484375vw;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    border-bottom: 1px solid rgba(255, 255, 255, .08)
  }

  .footer__menu__box {
    width: calc(50% - 3.90625vw);
    margin-bottom: 7.291666666666667vw;
    padding-left: 5.208333333333334vw
  }

  .footer__menu__box:nth-child(-n+3) {
    padding-left: 0;
    width: calc(50% + 3.90625vw)
  }

  .footer__menu__box:nth-of-type(3n),
  .footer__menu__box:last-of-type {
    margin-bottom: 0
  }

  .footer__menu__head {
    margin-bottom: .9114583333333334vw;
    line-height: 1.25
  }

  .footer__menu__head span {
    display: block
  }

  .footer__menu__head .-labelEn {
    color: #fff;
    text-transform: uppercase;
    font-family: var(--font_en);
    font-weight: 700;
    font-size: 4.185267857142858vw;
    line-height: 1
  }

  .footer__menu__head .-labelJp {
    color: var(--col_primary);
    font-size: 3.069196428571429vw;
    line-height: 1.64;
    margin-top: .6510416666666667vw
  }

  .footer__nav__item a {
    color: #fff;
    font-size: 3.3482142857142856vw;
    line-height: 2.31;
    letter-spacing: -.02em
  }

  .footer__nav__item a .rect {
    display: inline-block;
    width: 10.026041666666668vw;
    height: 4.036458333333334vw;
    border: 1px solid #fff;
    margin-top: .5208333333333333vw;
    margin-right: .6510416666666667vw;
    vertical-align: sub
  }

  .footer__nav__item a:before {
    content: "- ";
    margin-right: .6510416666666667vw
  }

  .footer .copyright {
    color: #fff;
    font-size: 2.7901785714285716vw;
    letter-spacing: .05em;
    font-family: var(--font_en);
    text-align: center
  }

  .footer__bottom {
    padding: 5.208333333333334vw 0
  }

  .footer__pageTop {
    height: 9.765625vw;
    width: 9.765625vw;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: absolute;
    right: 6.510416666666667vw;
    bottom: 71.22395833333334vw
  }

  .footer__pageTop img {
    transform: rotate(-90deg);
    width: 1.0416666666666665vw
  }
}

@media (min-width:1367px),
print {
  .breadcrumb__list {
    display: flex;
    margin: 15px 0 72px;
    letter-spacing: 1px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }

  .breadcrumb__list li {
    flex-shrink: 0;
    color: #808285;
    font-family: var(--font_base);
    font-size: 1.5751575157515751rem;
    transition: color .4s ease-out;
    will-change: color
  }

  .breadcrumb__list li:last-of-type {
    flex: 1;
    margin-left: 4px;
    color: var(--col_primary);
    white-space: nowrap
  }

  .breadcrumb__list li:not(:last-of-type):after {
    content: ">";
    margin: 0 3px;
    color: #808285
  }

  @media (hover:hover) {
    .breadcrumb__list li:hover:not(:last-of-type) {
      color: var(--col_primary)
    }

    .breadcrumb__list li:hover:not(:last-of-type) a {
      opacity: 1
    }
  }

  .breadcrumb.-hadBrg {
    background-color: var(--col_body);
    padding: 5px 15px 7px
  }

  .breadcrumb.-hadBrg .row {
    max-width: 1400px
  }

  .breadcrumb.-hadBrg .breadcrumb__list {
    margin: 0
  }

  .breadcrumb.-hadBrg .breadcrumb__list li {
    color: #fff
  }

  .breadcrumb.-hadBrg .breadcrumb__list li:last-of-type {
    color: #fff
  }

  .breadcrumb.-hadBrg .breadcrumb__list li:after {
    margin: 0 8px
  }

  .breadcrumb.-hadBrg .breadcrumb__list li:not(:last-of-type):after {
    color: #fff
  }

  @media (hover:hover) {
    .breadcrumb.-hadBrg .breadcrumb__list li:hover:not(:last-of-type) {
      color: var(--col_primary)
    }

    .breadcrumb.-hadBrg .breadcrumb__list li:hover:not(:last-of-type) a {
      opacity: 1
    }
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .breadcrumb__list {
    display: flex;
    margin: 1.0980966325036603vw 0 5.27086383601757vw;
    letter-spacing: 1px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }

  .breadcrumb__list li {
    flex-shrink: 0;
    color: #808285;
    font-family: var(--font_base);
    font-size: 1.0248901903367496vw;
    transition: color .4s ease-out;
    will-change: color
  }

  .breadcrumb__list li:last-of-type {
    flex: 1;
    margin-left: .29282576866764276vw;
    color: var(--col_primary);
    white-space: nowrap
  }

  .breadcrumb__list li:not(:last-of-type):after {
    content: ">";
    margin: 0 .21961932650073207vw;
    color: #808285
  }

  @media (hover:hover) {
    .breadcrumb__list li:hover:not(:last-of-type) {
      color: var(--col_primary)
    }

    .breadcrumb__list li:hover:not(:last-of-type) a {
      opacity: 1
    }
  }

  .breadcrumb.-hadBrg {
    background-color: var(--col_body);
    padding: .36603221083455345vw 1.0980966325036603vw .5124450951683748vw
  }

  .breadcrumb.-hadBrg .row {
    max-width: 102.48901903367495vw
  }

  .breadcrumb.-hadBrg .breadcrumb__list {
    margin: 0
  }

  .breadcrumb.-hadBrg .breadcrumb__list li {
    color: #fff
  }

  .breadcrumb.-hadBrg .breadcrumb__list li:last-of-type {
    color: #fff
  }

  .breadcrumb.-hadBrg .breadcrumb__list li:after {
    margin: 0 .5856515373352855vw
  }

  .breadcrumb.-hadBrg .breadcrumb__list li:not(:last-of-type):after {
    color: #fff
  }

  @media (hover:hover) {
    .breadcrumb.-hadBrg .breadcrumb__list li:hover:not(:last-of-type) {
      color: var(--col_primary)
    }

    .breadcrumb.-hadBrg .breadcrumb__list li:hover:not(:last-of-type) a {
      opacity: 1
    }
  }
}

@media only screen and (max-width:768px) {
  .breadcrumb__list {
    display: flex;
    margin: 2.213541666666667vw 0 14.192708333333334vw;
    letter-spacing: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }

  .breadcrumb__list li {
    flex-shrink: 0;
    color: #808285;
    font-family: var(--font_base);
    font-size: max(2.083333333333333vw, 3.6272321428571432vw)
  }

  .breadcrumb__list li:last-of-type {
    flex: 1;
    margin-left: .9114583333333334vw;
    color: var(--col_primary);
    white-space: nowrap
  }

  .breadcrumb__list li:not(:last-of-type):after {
    content: ">";
    margin: 0 1.5625vw 0 2.34375vw
  }

  .breadcrumb.-hadBrg {
    background-color: var(--col_body);
    padding: 1.0416666666666665vw 0 .9114583333333334vw
  }

  .breadcrumb.-hadBrg .breadcrumb__list {
    margin: 0
  }

  .breadcrumb.-hadBrg .breadcrumb__list li {
    color: #fff
  }

  .breadcrumb.-hadBrg .breadcrumb__list li:last-of-type {
    color: #fff
  }

  .breadcrumb.-hadBrg .breadcrumb__list li:after {
    margin: 0 2.994791666666667vw .13020833333333331vw
  }

  .breadcrumb.-hadBrg .breadcrumb__list li:not(:last-of-type):after {
    color: #fff
  }
}

@media (min-width:1367px),
print {
  .c-mv__photo {
    position: absolute;
    width: 100%;
    height: 420px
  }

  .c-mv__inner {
    position: relative;
    height: 420px;
    padding: 192px 0 20px;
    z-index: 1
  }

  .c-mv__inner h2 {
    display: flex;
    flex-direction: column;
    justify-content: center
  }

  .c-mv__ttl {
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    font-size: 5.625562556255626rem;
    line-height: 1.12;
    font-weight: 500;
    letter-spacing: .075em;
    color: #fff
  }

  .c-mv__ttlSm {
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    font-size: 2.9252925292529253rem;
    line-height: 1.77;
    font-weight: 500;
    letter-spacing: 0;
    color: #fff
  }

  .c-mv__subTtl {
    position: relative;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    padding-left: 12px;
    font-size: 2.025202520252025rem;
    line-height: 1.56;
    font-weight: 400;
    color: #fff
  }

  .c-mv__subTtl:before {
    content: "";
    position: absolute;
    top: 13px;
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #fff
  }

  .c-mv.-detail .c-mv__inner {
    padding-top: 167px
  }

  .c-mv.-detail .c-mv__ttl {
    font-size: 4.725472547254726rem;
    line-height: 1.1
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .c-mv__photo {
    position: absolute;
    width: 100%;
    height: 30.74670571010249vw
  }

  .c-mv__inner {
    position: relative;
    height: 30.74670571010249vw;
    padding: 14.055636896046853vw 0 1.4641288433382138vw;
    z-index: 1
  }

  .c-mv__inner h2 {
    display: flex;
    flex-direction: column;
    justify-content: center
  }

  .c-mv__ttl {
    margin-bottom: 1.0980966325036603vw;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    font-size: 3.6603221083455346vw;
    line-height: 1.12;
    font-weight: 500;
    letter-spacing: .075em;
    color: #fff
  }

  .c-mv__ttlSm {
    margin-bottom: .7320644216691069vw;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    font-size: 1.903367496339678vw;
    line-height: 1.77;
    font-weight: 500;
    letter-spacing: 0;
    color: #fff
  }

  .c-mv__subTtl {
    position: relative;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    padding-left: .8784773060029283vw;
    font-size: 1.3177159590043925vw;
    line-height: 1.56;
    font-weight: 400;
    color: #fff
  }

  .c-mv__subTtl:before {
    content: "";
    position: absolute;
    top: .951683748169839vw;
    left: 0;
    width: .29282576866764276vw;
    height: .29282576866764276vw;
    border-radius: 50%;
    background: #fff
  }

  .c-mv.-detail .c-mv__inner {
    padding-top: 12.225475841874085vw
  }

  .c-mv.-detail .c-mv__ttl {
    font-size: 3.074670571010249vw;
    line-height: 1.1
  }
}

@media only screen and (max-width:768px) {
  .c-mv__photo {
    position: absolute;
    width: 100%;
    height: 67.70833333333334vw
  }

  .c-mv__inner {
    position: relative;
    height: 67.70833333333334vw;
    padding: 27.213541666666668vw 6.510416666666667vw 2.604166666666667vw;
    z-index: 1
  }

  .c-mv__inner h2 {
    display: flex;
    flex-direction: column;
    justify-content: center
  }

  .c-mv__ttl {
    margin-bottom: 1.6927083333333333vw;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    font-size: 9.486607142857144vw;
    line-height: 1.15;
    font-weight: 500;
    letter-spacing: .075em;
    color: #fff
  }

  .c-mv__ttlSm {
    margin-bottom: 5.078125vw;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    font-size: 5.3013392857142865vw;
    line-height: 1.21;
    font-weight: 500;
    color: #fff
  }

  .c-mv__subTtl {
    position: relative;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    margin-left: -2.34375vw;
    padding-left: 2.213541666666667vw;
    font-size: 3.6272321428571432vw;
    line-height: 1.46;
    font-weight: 400;
    color: #fff
  }

  .c-mv__subTtl:before {
    content: "";
    position: absolute;
    top: 2.34375vw;
    left: 0;
    width: .5208333333333333vw;
    height: .5208333333333333vw;
    border-radius: 50%;
    background: #fff
  }

  .c-mv.-detail .c-mv__inner {
    padding-top: 23.828125vw
  }

  .c-mv.-detail .c-mv__ttl {
    margin-bottom: 2.34375vw;
    font-size: 7.533482142857144vw;
    line-height: 1
  }
}

@media (min-width:1367px),
print {
  .c-ttl01--en {
    display: block;
    word-break: break-all;
    font-size: 9.900990099009901rem;
    line-height: 1;
    letter-spacing: 0;
    font-weight: 600;
    font-family: var(--font_en)
  }

  .c-ttl01--jp {
    display: block;
    position: relative;
    margin-top: 10px;
    padding-left: 22px;
    font-size: 2.025202520252025rem;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: .075em
  }

  .c-ttl01--jp:before {
    content: "・";
    position: absolute;
    top: 0;
    left: 2px;
    font-size: 2.025202520252025rem;
    line-height: 1.3;
    letter-spacing: .075em;
    font-family: var(--font_jp);
    color: var(--col_base)
  }

  .c-ttl01.-primary {
    color: var(--col_primary)
  }

  .c-ttl01.-white {
    color: #fff
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .c-ttl01--en {
    display: block;
    word-break: break-all;
    font-size: 6.44216691068814vw;
    line-height: 1;
    letter-spacing: 0;
    font-weight: 600;
    font-family: var(--font_en)
  }

  .c-ttl01--jp {
    display: block;
    position: relative;
    margin-top: .7320644216691069vw;
    padding-left: 1.610541727672035vw;
    font-size: 1.3177159590043925vw;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: .075em
  }

  .c-ttl01--jp:before {
    content: "・";
    position: absolute;
    top: 0;
    left: .14641288433382138vw;
    font-size: 1.3177159590043925vw;
    line-height: 1.3;
    letter-spacing: .075em;
    font-family: var(--font_jp);
    color: var(--col_base)
  }

  .c-ttl01.-primary {
    color: var(--col_primary)
  }

  .c-ttl01.-white {
    color: #fff
  }
}

@media only screen and (max-width:768px) {
  .c-ttl01--en {
    display: block;
    font-size: 12.555803571428573vw;
    line-height: 1;
    letter-spacing: .025em;
    font-weight: 600;
    font-family: var(--font_en);
    word-break: break-all
  }

  .c-ttl01--jp {
    display: block;
    position: relative;
    margin-top: 1.8229166666666667vw;
    padding-left: 2.864583333333333vw;
    font-size: 3.069196428571429vw;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: .075em
  }

  .c-ttl01--jp:before {
    content: "・";
    position: absolute;
    top: 0;
    left: -1px;
    font-size: 3.069196428571429vw;
    line-height: 1.3;
    letter-spacing: .075em;
    font-family: var(--font_jp);
    color: var(--col_base)
  }

  .c-ttl01.-primary {
    color: var(--col_primary)
  }

  .c-ttl01.-white {
    color: #fff
  }
}

@media (min-width:1367px),
print {
  .c-btn {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 3px 30px 3px;
    border: 1px solid transparent;
    background: 0 0;
    cursor: pointer;
    color: var(--col_body);
    font-size: 1.5751575157515751rem;
    line-height: 3.29;
    font-weight: 400;
    letter-spacing: .075em;
    text-align: center;
    transition: opacity .3s ease-out;
    will-change: opacity
  }

  @media (hover:hover) {
    .c-btn:hover {
      opacity: 1
    }
  }

  .c-btn span {
    flex: 1
  }

  .c-btn__ico {
    position: absolute;
    display: flex;
    align-items: center;
    top: 2px;
    bottom: 0;
    right: 19px;
    width: 8px;
    height: 13px;
    margin: auto;
    background: url(../images/common/ico-arrow-btn.svg?v66696559c3cea894c838d3a801410048)no-repeat top left;
    background-size: 8px 13px;
    transition: transform .3s ease-out;
    will-change: transform
  }

  .c-btn.-primary {
    border-color: var(--col_primary);
    background: var(--col_primary);
    color: #fff
  }

  @media (hover:hover) {
    .c-btn.-primary:hover .c-btn__ico {
      transform: translate(5px)
    }
  }

  .c-btn.-secondary {
    border-color: #fff;
    background: 0 0;
    color: #fff
  }

  @media (hover:hover) {
    .c-btn.-secondary:hover .c-btn__ico {
      transform: translate(5px)
    }
  }

  .c-btn.-next {
    position: relative
  }

  .c-btn.-next .c-btn__ico {
    right: 19px;
    transition: transform .3s ease-out;
    will-change: transform
  }

  @media (hover:hover) {
    .c-btn.-next:hover .c-btn__ico {
      transform: translate(5px)
    }
  }

  .c-btn.-back {
    position: relative
  }

  .c-btn.-back .c-btn__ico {
    transition: transform .3s ease-out;
    will-change: transform;
    transform: scale(-1);
    right: unset;
    left: 20px
  }

  @media (hover:hover) {
    .c-btn.-back:hover .c-btn__ico {
      transform: scale(-1) translate(5px)
    }
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .c-btn {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: .21961932650073207vw 2.1961932650073206vw .21961932650073207vw;
    border: 1px solid transparent;
    background: 0 0;
    cursor: pointer;
    color: var(--col_body);
    font-size: 1.0248901903367496vw;
    line-height: 3.29;
    font-weight: 400;
    letter-spacing: .075em;
    text-align: center;
    transition: opacity .3s ease-out;
    will-change: opacity
  }

  @media (hover:hover) {
    .c-btn:hover {
      opacity: 1
    }
  }

  .c-btn span {
    flex: 1
  }

  .c-btn__ico {
    position: absolute;
    display: flex;
    align-items: center;
    top: .14641288433382138vw;
    bottom: 0;
    right: 1.390922401171303vw;
    width: .5856515373352855vw;
    height: .951683748169839vw;
    margin: auto;
    background: url(../images/common/ico-arrow-btn.svg?v66696559c3cea894c838d3a801410048)no-repeat top left;
    background-size: .5856515373352855vw .951683748169839vw;
    transition: transform .3s ease-out;
    will-change: transform
  }

  .c-btn.-primary {
    border-color: var(--col_primary);
    background: var(--col_primary);
    color: #fff
  }

  @media (hover:hover) {
    .c-btn.-primary:hover .c-btn__ico {
      transform: translate(.36603221083455345vw)
    }
  }

  .c-btn.-secondary {
    border-color: #fff;
    background: 0 0;
    color: #fff
  }

  @media (hover:hover) {
    .c-btn.-secondary:hover .c-btn__ico {
      transform: translate(.36603221083455345vw)
    }
  }

  .c-btn.-next {
    position: relative
  }

  .c-btn.-next .c-btn__ico {
    right: 1.390922401171303vw;
    transition: transform .3s ease-out;
    will-change: transform
  }

  @media (hover:hover) {
    .c-btn.-next:hover .c-btn__ico {
      transform: translate(.36603221083455345vw)
    }
  }

  .c-btn.-back {
    position: relative
  }

  .c-btn.-back .c-btn__ico {
    transition: transform .3s ease-out;
    will-change: transform;
    transform: scale(-1);
    right: unset;
    left: 1.4641288433382138vw
  }

  @media (hover:hover) {
    .c-btn.-back:hover .c-btn__ico {
      transform: scale(-1) translate(.36603221083455345vw)
    }
  }
}

@media only screen and (max-width:768px) {
  .c-btn {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 3.3854166666666665vw 5.208333333333334vw;
    border: 1px solid transparent;
    background: 0 0;
    cursor: pointer;
    color: var(--col_body);
    font-size: 3.90625vw;
    line-height: 1.64;
    font-weight: 400;
    letter-spacing: .075em;
    text-align: center
  }

  .c-btn__ico {
    position: absolute;
    display: flex;
    align-items: center;
    top: 0;
    bottom: 0;
    right: 3.7760416666666665vw;
    width: 1.3020833333333335vw;
    height: 2.34375vw;
    margin: auto;
    background: url(../images/common/ico-arrow-btn.svg?v66696559c3cea894c838d3a801410048)no-repeat top left;
    background-size: 1.3020833333333335vw 2.34375vw
  }

  .c-btn.-primary {
    border-color: var(--col_primary);
    background: var(--col_primary);
    color: #fff
  }

  .c-btn.-secondary {
    border-color: #fff;
    background: 0 0;
    color: #fff
  }

  .c-btn.-back {
    position: relative
  }

  .c-btn.-back .c-btn__ico {
    transform: scale(-1);
    right: unset;
    left: 3.7760416666666665vw
  }
}

@media (min-width:1367px),
print {
  .page-listDot {
    list-style: disc;
    padding-left: 20px
  }

  .page-listDot__item::marker {
    color: #000
  }

  .page-listNum {
    list-style: decimal;
    padding-left: 24px
  }

  .page-listNum__item::marker {
    font-weight: 700
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .page-listDot {
    list-style: disc;
    padding-left: 1.4641288433382138vw
  }

  .page-listDot__item::marker {
    color: #000
  }

  .page-listNum {
    list-style: decimal;
    padding-left: 1.7569546120058566vw
  }

  .page-listNum__item::marker {
    font-weight: 700
  }
}

@media only screen and (max-width:768px) {
  .page-listDot {
    list-style: disc;
    padding-left: 3.90625vw
  }

  .page-listDot__item::marker {
    color: #000
  }

  .page-listNum {
    list-style: decimal;
    padding-left: 5.208333333333334vw
  }

  .page-listNum__item::marker {
    font-weight: 700
  }
}

@media (min-width:1367px),
print {
  .paging {
    margin-top: 75px;
    text-align: center
  }

  .paging-wrap {
    display: inline-block
  }

  .paging-list {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 51px;
    padding-right: 51px
  }

  .paging-item a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 55px;
    margin: 0 10px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--col_line);
    font-family: var(--font_en);
    font-size: 2.25022502250225rem;
    line-height: 1;
    font-weight: 500;
    color: #000;
    transition: all .3s ease
  }

  .paging-item a:hover {
    border: 1px solid var(--col_primary);
    background: var(--col_primary);
    color: #fff;
    opacity: 1
  }

  .paging-next,
  .paging-prev {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px
  }

  .paging-next a,
  .paging-prev a {
    position: relative;
    width: 100%;
    height: 100%;
    background: url(../images/common/ico-arrow-primary.svg?v0742a790efd30797a57cec7b5f74d156)no-repeat center center;
    background-size: 8px 12px;
    transition: transform .3s ease;
    will-change: transform
  }

  .paging-next {
    position: absolute;
    right: 0
  }

  .paging-next a:hover {
    transform: translateX(5px)
  }

  .paging-prev {
    position: absolute;
    left: 0;
    transform: scaleX(-1)
  }

  .paging-prev a:hover {
    transform: translateX(5px)
  }

  .paging li.dot {
    margin: 0 8px
  }

  .paging li.dot span {
    display: block;
    position: relative;
    padding-bottom: 10px;
    font-family: var(--font_en);
    font-size: 1.8001800180018002rem;
    line-height: 55px;
    font-weight: 700;
    letter-spacing: .2em
  }

  .paging li.active a {
    border: 1px solid var(--col_primary);
    background: var(--col_primary);
    color: #fff;
    opacity: 1
  }

  .paging li.disable {
    pointer-events: none;
    cursor: not-allowed;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
  }

  .paging li.disable a {
    background: url(../images/common/ico-arrow-grey.svg?v40031c210cb736d7e515f9652f628e7e)no-repeat center center;
    background-size: 8px 12px;
    transition: transform .3s ease;
    will-change: transform
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .paging {
    margin-top: 5.490483162518302vw;
    text-align: center
  }

  .paging-wrap {
    display: inline-block
  }

  .paging-list {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 3.733528550512445vw;
    padding-right: 3.733528550512445vw
  }

  .paging-item a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4.026354319180088vw;
    height: 4.026354319180088vw;
    margin: 0 .7320644216691069vw;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--col_line);
    font-family: var(--font_en);
    font-size: 1.4641288433382138vw;
    line-height: 1;
    font-weight: 500;
    color: #000;
    transition: all .3s ease
  }

  .paging-item a:hover {
    border: 1px solid var(--col_primary);
    background: var(--col_primary);
    color: #fff;
    opacity: 1
  }

  .paging-next,
  .paging-prev {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.026354319180088vw;
    height: 4.026354319180088vw
  }

  .paging-next a,
  .paging-prev a {
    position: relative;
    width: 100%;
    height: 100%;
    background: url(../images/common/ico-arrow-primary.svg?v0742a790efd30797a57cec7b5f74d156)no-repeat center center;
    background-size: .5856515373352855vw .8784773060029283vw;
    transition: transform .3s ease;
    will-change: transform
  }

  .paging-next {
    position: absolute;
    right: 0
  }

  .paging-next a:hover {
    transform: translateX(.36603221083455345vw)
  }

  .paging-prev {
    position: absolute;
    left: 0;
    transform: scaleX(-1)
  }

  .paging-prev a:hover {
    transform: translateX(.36603221083455345vw)
  }

  .paging li.dot {
    margin: 0 .5856515373352855vw
  }

  .paging li.dot span {
    display: block;
    position: relative;
    padding-bottom: .7320644216691069vw;
    font-family: var(--font_en);
    font-size: 1.171303074670571vw;
    line-height: 4.026354319180088vw;
    font-weight: 700;
    letter-spacing: .2em
  }

  .paging li.active a {
    border: 1px solid var(--col_primary);
    background: var(--col_primary);
    color: #fff;
    opacity: 1
  }

  .paging li.disable {
    pointer-events: none;
    cursor: not-allowed;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
  }

  .paging li.disable a {
    background: url(../images/common/ico-arrow-grey.svg?v40031c210cb736d7e515f9652f628e7e)no-repeat center center;
    background-size: .5856515373352855vw .8784773060029283vw;
    transition: transform .3s ease;
    will-change: transform
  }
}

@media only screen and (max-width:768px) {
  .paging {
    margin-top: 9.375vw;
    text-align: center
  }

  .paging-wrap {
    display: inline-block
  }

  .paging-list {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 10.15625vw;
    padding-right: 10.15625vw
  }

  .paging-item a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 10.807291666666668vw;
    height: 10.807291666666668vw;
    margin: 0 1.953125vw;
    padding-bottom: .5208333333333333vw;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--col_line);
    font-family: var(--font_en);
    font-size: 4.185267857142858vw;
    line-height: 1;
    font-weight: 500;
    color: #000
  }

  .paging-next,
  .paging-prev {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 10.15625vw;
    height: 10.807291666666668vw
  }

  .paging-next a,
  .paging-prev a {
    position: relative;
    width: 100%;
    height: 100%;
    background: url(../images/common/ico-arrow-primary.svg?v0742a790efd30797a57cec7b5f74d156)no-repeat center center;
    background-size: 1.3020833333333335vw 1.953125vw;
    transition: transform .3s ease;
    will-change: transform
  }

  .paging-next {
    position: absolute;
    right: 0
  }

  .paging-next a:hover {
    transform: translateX(.6510416666666667vw)
  }

  .paging-prev {
    position: absolute;
    left: 0;
    transform: scaleX(-1)
  }

  .paging-prev a:hover {
    transform: translateX(.6510416666666667vw)
  }

  .paging li.dot {
    margin: 0 1.0416666666666665vw
  }

  .paging li.dot span {
    display: block;
    position: relative;
    padding-bottom: 2.34375vw;
    font-family: var(--font_en);
    font-size: 3.90625vw;
    line-height: 10.807291666666668vw;
    font-weight: 700;
    letter-spacing: .2em
  }

  .paging li.active a {
    background: var(--col_primary);
    color: #fff;
    opacity: 1
  }

  .paging li.disable {
    pointer-events: none;
    cursor: not-allowed;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
  }

  .paging li.disable a {
    background: url(../images/common/ico-arrow-grey.svg?v40031c210cb736d7e515f9652f628e7e)no-repeat center center;
    background-size: 1.3020833333333335vw 1.953125vw;
    transition: transform .3s ease;
    will-change: transform
  }
}

@media (min-width:1367px),
print {
  .txtErr {
    width: 100%;
    margin-top: 10px;
    color: var(--col_txtError);
    font-size: 1.5751575157515751rem;
    font-weight: 400;
    line-height: 1.1
  }

  .file_note {
    width: 100%;
    margin-top: 5px;
    color: var(--col_form-note);
    font-size: 1.5751575157515751rem;
    line-height: 1.2;
    font-weight: 400
  }

  .file_mask {
    display: flex;
    align-items: center
  }

  .file_mask .show_file {
    line-height: 1.5
  }

  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=password] {
    width: 100%;
    height: 54px;
    padding: 10px 19px;
    border: 0;
    outline: 0;
    background: var(--col_bgInput);
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    border: 1px solid var(--col_bdInput);
    font-family: var(--font_base);
    color: var(--col_body);
    font-size: 1.8001800180018002rem;
    line-height: 1;
    letter-spacing: .1em;
    white-space: nowrap
  }

  input[type=text].error,
  input[type=email].error,
  input[type=tel].error,
  input[type=password].error {
    background: var(--col_bgError)
  }

  input[type=text]::-ms-clear,
  input[type=email]::-ms-clear,
  input[type=tel]::-ms-clear,
  input[type=password]::-ms-clear {
    display: none
  }

  input[type=text]:-ms-input-placeholder,
  input[type=email]:-ms-input-placeholder,
  input[type=tel]:-ms-input-placeholder,
  input[type=password]:-ms-input-placeholder {
    color: var(--col_placehoder)
  }

  input[type=text]::placeholder,
  input[type=email]::placeholder,
  input[type=tel]::placeholder,
  input[type=password]::placeholder {
    color: var(--col_placehoder)
  }

  select {
    display: block;
    width: 100%;
    height: 60px;
    padding: 10px 40px 10px 30px;
    border: 0;
    border-radius: 0;
    outline: 0;
    box-shadow: none;
    background-image: url(../images/common/ico-arrow-faq.svg?v49f9c0b1b2458050dff1b0b013ab23b4);
    background-position: center right 20px;
    background-repeat: no-repeat;
    background-color: var(--col_bgSelect);
    background-size: 13px 7px;
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--font_base);
    color: var(--col_primary);
    font-size: 1.5751575157515751rem;
    letter-spacing: .075em
  }

  select::-ms-expand {
    display: none
  }

  select.error {
    background-image: url(../images/common/ico-arrow-faq.svg?v49f9c0b1b2458050dff1b0b013ab23b4);
    background-size: 13px 7px;
    background-position: center right 20px;
    background-repeat: no-repeat;
    background-color: var(--col_bgError)
  }

  textarea {
    display: block;
    width: 100%;
    min-height: 200px;
    padding: 14px 20px;
    border: 0;
    outline: 0;
    border-radius: 0;
    background: var(--col_bgInput);
    border: 1px solid var(--col_bdInput);
    box-shadow: none;
    overflow-y: auto;
    resize: vertical;
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--font_base);
    color: var(--col_body);
    font-size: 1.8001800180018002rem;
    line-height: 1.8;
    letter-spacing: .1em;
    -webkit-overflow-scrolling: touch
  }

  textarea.error {
    background: var(--col_bgError)
  }

  textarea:-ms-input-placeholder {
    color: var(--col_placehoder)
  }

  textarea::placeholder {
    color: var(--col_placehoder)
  }

  input[type=checkbox] {
    display: none;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0
  }

  input[type=checkbox]+label {
    position: relative;
    padding-left: 40px;
    cursor: pointer
  }

  input[type=checkbox]+label:before {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    width: 28px;
    height: 28px;
    border: 1px solid var(--col_bdInput);
    transform: translateY(-50%)
  }

  input[type=checkbox]+label:after {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    width: 28px;
    height: 28px;
    transform: translateY(-50%) scale(0);
    background-image: url(../images/common/ico-check.svg?v4a83976053e1b58283dcb20a5ac9dd6b);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 24px 20px;
    transition: transform .1s ease-out;
    will-change: transform
  }

  input[type=checkbox]:checked+label:after {
    transform: translateY(-50%) scale(1)
  }

  input[type=checkbox].error+label:before {
    background: var(--col_bgError)
  }

  input[type=radio] {
    display: none;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0
  }

  input[type=radio]+label {
    position: relative;
    display: inline-block;
    padding-left: 45px;
    cursor: pointer
  }

  input[type=radio]+label:before {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid var(--col_bdInput);
    transform: translateY(-50%)
  }

  input[type=radio]+label:after {
    position: absolute;
    top: 50%;
    left: 6px;
    content: "";
    width: 16px;
    height: 16px;
    border-radius: 50%;
    transform: translateY(-50%) scale(0);
    background: var(--col_primary);
    transition: transform .2s ease-out;
    will-change: transform
  }

  input[type=radio]:checked+label:after {
    transform: translateY(-50%) scale(1)
  }

  input[type=radio].error+label:before {
    background: var(--col_bgError)
  }

  input[type=file] {
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    opacity: 0;
    border: 0;
    visibility: hidden
  }

  input[type=file]+label {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 55px;
    margin-right: 20px;
    border-radius: 5px;
    background: var(--col_primary);
    color: #fff;
    transition: opacity .3s ease-out;
    will-change: opacity
  }

  input[type=file]+label:hover {
    opacity: .7
  }

  input[type=button],
  input[type=submit],
  input[type=reset],
  button {
    padding: 0;
    outline: 0;
    cursor: pointer;
    box-shadow: none;
    font-family: var(--font_base);
    color: var(--col_body);
    font-size: 1.8001800180018002rem;
    line-height: 1.88;
    letter-spacing: .075em;
    font-weight: 500
  }

  .frm {
    width: 100%;
    max-width: 800px;
    margin: 0 auto
  }

  .frm-action {
    margin-top: 64px
  }

  .frm-required {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 49px;
    height: 19px;
    margin-top: 4px;
    background-color: var(--col_primary);
    border-radius: 2em;
    color: #fff;
    font-size: 1.3501350135013501rem;
    line-height: 1
  }

  .frm-steps {
    counter-reset: step;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 6px;
    margin-bottom: 35px
  }

  .frm-steps__item {
    position: relative;
    counter-increment: step;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 250px;
    height: 48px;
    line-height: .88;
    background: var(--col_step);
    border: 1px solid var(--col_step)
  }

  .frm-steps__item:before {
    content: counter(step)".";
    margin-top: 3px;
    font-family: var(--font_base)
  }

  .frm-steps__item.current {
    background: #fff;
    border-color: var(--col_primary);
    color: var(--col_primary)
  }

  .frm-steps__item:not(:last-of-type):after {
    position: absolute;
    top: 50%;
    right: -16px;
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--col_step-arrow);
    border-right: 2px solid var(--col_step-arrow);
    transform: translate(0, -50%) rotate(45deg) skewY(-5deg)
  }

  .frm-heading__lead {
    margin-bottom: 50px;
    font-size: 2.25022502250225rem;
    line-height: 1.5;
    font-weight: 400;
    color: var(--col_body);
    text-align: center
  }

  .frm-notice {
    text-align: center
  }

  .frm-lb,
  .frm-input {
    width: 100%
  }

  .frm-lb {
    width: 218px;
    flex-shrink: 0;
    margin-top: 3px;
    font-weight: 700
  }

  .frm-input {
    flex: 1
  }

  .frm-input.tel-group {
    display: flex;
    align-items: center
  }

  .frm-input.tel-group input {
    width: 168px
  }

  .frm-input.tel-group span {
    padding-bottom: 7px;
    margin: 0 8px;
    font-size: 4.275427542754276rem;
    line-height: 1
  }

  .frm-input input.-md {
    width: 50%
  }

  .frm-input input+p {
    font-size: 1.5751575157515751rem;
    margin-top: 19px;
    line-height: 1;
    color: #bbb;
    font-weight: 500
  }

  .frm-input input+.frm-txt-error {
    margin-top: 10px;
    color: var(--col_bgError) -text;
    line-height: 1.1
  }

  .frm-input input+.frm-txt-error+p {
    font-size: 1.5751575157515751rem;
    margin-top: 19px;
    line-height: 1;
    color: #bbb;
    font-weight: 500
  }

  .frm-input .time-group {
    display: flex;
    align-items: center
  }

  .frm-input .time-group .time-lb {
    margin: 0 38px 0 9px;
    color: var(--col_dark)
  }

  .frm-input .time-group .c-select,
  .frm-input .time-group input {
    flex: 1 1 auto;
    max-width: 180px
  }

  .frm-input .time-group .c-select .select,
  .frm-input .time-group input .select {
    text-align: center
  }

  .frm-row {
    display: flex;
    flex-wrap: wrap;
    padding: 25px 0 25px
  }

  .frm-row:not(:last-of-type) {
    border-bottom: 1px solid #aeaeae
  }

  .frm-row-child {
    width: 380px;
    margin-left: 40px
  }

  .frm-row-child:nth-of-type(2n+1) {
    margin-left: 0
  }

  .frm-privacy {
    margin-top: 52px;
    text-align: center
  }

  .frm-privacy-txt {
    margin-bottom: 28px
  }

  .frm-privacy label {
    padding-left: 38px;
    padding-bottom: 10px;
    color: var(--col_primary)
  }

  .frm-privacy label a {
    padding-bottom: 4px;
    border-bottom: 1px solid #000;
    transition: border .3s ease-out;
    will-change: border
  }

  .frm-privacy label a:hover {
    border-bottom: 1px solid transparent
  }

  .frm-btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 30px
  }

  .frm-btn .c-btn {
    width: 340px;
    margin: 0 15px
  }

  .frm .list-radio {
    display: flex;
    flex-wrap: wrap;
    margin-left: -31px;
    margin-top: -3px
  }

  .frm .radio {
    margin-left: 25px;
    margin-top: 10px
  }

  .frm--confirm .frm-row {
    margin-bottom: 0;
    padding: 18px 0;
    border-bottom: 1px solid var(--col_bdInput)
  }

  .frm--confirm .frm-row:first-of-type {
    border-top: 1px solid var(--col_bdInput)
  }

  .frm--confirm .frm-lb {
    margin-bottom: 0
  }

  .frm--confirm .frm-input {
    color: var(--col_placehoder)
  }

  .frm--confirm .frm-btn {
    margin-top: 80px;
    justify-content: space-between
  }

  .frm--complete .frm-btn {
    margin-top: 70px
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .txtErr {
    width: 100%;
    margin-top: .7320644216691069vw;
    color: var(--col_txtError);
    font-size: 1.0248901903367496vw;
    font-weight: 400;
    line-height: 1.1
  }

  .file_note {
    width: 100%;
    margin-top: .36603221083455345vw;
    color: var(--col_form-note);
    font-size: 1.0248901903367496vw;
    line-height: 1.2;
    font-weight: 400
  }

  .file_mask {
    display: flex;
    align-items: center
  }

  .file_mask .show_file {
    line-height: 1.5
  }

  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=password] {
    width: 100%;
    height: 3.953147877013177vw;
    padding: .7320644216691069vw 1.390922401171303vw;
    border: 0;
    outline: 0;
    background: var(--col_bgInput);
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    border: 1px solid var(--col_bdInput);
    font-family: var(--font_base);
    color: var(--col_body);
    font-size: 1.171303074670571vw;
    line-height: 1;
    letter-spacing: .1em;
    white-space: nowrap
  }

  input[type=text].error,
  input[type=email].error,
  input[type=tel].error,
  input[type=password].error {
    background: var(--col_bgError)
  }

  input[type=text]::-ms-clear,
  input[type=email]::-ms-clear,
  input[type=tel]::-ms-clear,
  input[type=password]::-ms-clear {
    display: none
  }

  input[type=text]:-ms-input-placeholder,
  input[type=email]:-ms-input-placeholder,
  input[type=tel]:-ms-input-placeholder,
  input[type=password]:-ms-input-placeholder {
    color: var(--col_placehoder)
  }

  input[type=text]::placeholder,
  input[type=email]::placeholder,
  input[type=tel]::placeholder,
  input[type=password]::placeholder {
    color: var(--col_placehoder)
  }

  select {
    display: block;
    width: 100%;
    height: 4.392386530014641vw;
    padding: .7320644216691069vw 2.9282576866764276vw .7320644216691069vw 2.1961932650073206vw;
    border: 0;
    border-radius: 0;
    outline: 0;
    box-shadow: none;
    background-image: url(../images/common/ico-arrow-faq.svg?v49f9c0b1b2458050dff1b0b013ab23b4);
    background-position: center right 1.4641288433382138vw;
    background-repeat: no-repeat;
    background-color: var(--col_bgSelect);
    background-size: .951683748169839vw .5124450951683748vw;
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--font_base);
    color: var(--col_primary);
    font-size: 1.0248901903367496vw;
    letter-spacing: .075em
  }

  select::-ms-expand {
    display: none
  }

  select.error {
    background-image: url(../images/common/ico-arrow-faq.svg?v49f9c0b1b2458050dff1b0b013ab23b4);
    background-size: .951683748169839vw .5124450951683748vw;
    background-position: center right 1.4641288433382138vw;
    background-repeat: no-repeat;
    background-color: var(--col_bgError)
  }

  textarea {
    display: block;
    width: 100%;
    min-height: 14.641288433382138vw;
    padding: 1.0248901903367496vw 1.4641288433382138vw;
    border: 0;
    outline: 0;
    border-radius: 0;
    background: var(--col_bgInput);
    border: 1px solid var(--col_bdInput);
    box-shadow: none;
    overflow-y: auto;
    resize: vertical;
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--font_base);
    color: var(--col_body);
    font-size: 1.171303074670571vw;
    line-height: 1.8;
    letter-spacing: .1em;
    -webkit-overflow-scrolling: touch
  }

  textarea.error {
    background: var(--col_bgError)
  }

  textarea:-ms-input-placeholder {
    color: var(--col_placehoder)
  }

  textarea::placeholder {
    color: var(--col_placehoder)
  }

  input[type=checkbox] {
    display: none;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0
  }

  input[type=checkbox]+label {
    position: relative;
    padding-left: 2.9282576866764276vw;
    cursor: pointer
  }

  input[type=checkbox]+label:before {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    width: 2.049780380673499vw;
    height: 2.049780380673499vw;
    border: 1px solid var(--col_bdInput);
    transform: translateY(-50%)
  }

  input[type=checkbox]+label:after {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    width: 2.049780380673499vw;
    height: 2.049780380673499vw;
    transform: translateY(-50%) scale(0);
    background-image: url(../images/common/ico-check.svg?v4a83976053e1b58283dcb20a5ac9dd6b);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 1.7569546120058566vw 1.4641288433382138vw;
    transition: transform .1s ease-out;
    will-change: transform
  }

  input[type=checkbox]:checked+label:after {
    transform: translateY(-50%) scale(1)
  }

  input[type=checkbox].error+label:before {
    background: var(--col_bgError)
  }

  input[type=radio] {
    display: none;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0
  }

  input[type=radio]+label {
    position: relative;
    display: inline-block;
    padding-left: 3.294289897510981vw;
    cursor: pointer
  }

  input[type=radio]+label:before {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    width: 2.049780380673499vw;
    height: 2.049780380673499vw;
    border-radius: 50%;
    border: 1px solid var(--col_bdInput);
    transform: translateY(-50%)
  }

  input[type=radio]+label:after {
    position: absolute;
    top: 50%;
    left: .43923865300146414vw;
    content: "";
    width: 1.171303074670571vw;
    height: 1.171303074670571vw;
    border-radius: 50%;
    transform: translateY(-50%) scale(0);
    background: var(--col_primary);
    transition: transform .2s ease-out;
    will-change: transform
  }

  input[type=radio]:checked+label:after {
    transform: translateY(-50%) scale(1)
  }

  input[type=radio].error+label:before {
    background: var(--col_bgError)
  }

  input[type=file] {
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    opacity: 0;
    border: 0;
    visibility: hidden
  }

  input[type=file]+label {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14.641288433382138vw;
    height: 4.026354319180088vw;
    margin-right: 1.4641288433382138vw;
    border-radius: .36603221083455345vw;
    background: var(--col_primary);
    color: #fff;
    transition: opacity .3s ease-out;
    will-change: opacity
  }

  input[type=file]+label:hover {
    opacity: .7
  }

  input[type=button],
  input[type=submit],
  input[type=reset],
  button {
    padding: 0;
    outline: 0;
    cursor: pointer;
    box-shadow: none;
    font-family: var(--font_base);
    color: var(--col_body);
    font-size: 1.171303074670571vw;
    line-height: 1.88;
    letter-spacing: .075em;
    font-weight: 500
  }

  .frm {
    width: 100%;
    max-width: 58.565153733528554vw;
    margin: 0 auto
  }

  .frm-action {
    margin-top: 4.685212298682284vw
  }

  .frm-required {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.5871156661786237vw;
    height: 1.390922401171303vw;
    margin-top: .29282576866764276vw;
    background-color: var(--col_primary);
    border-radius: 2em;
    color: #fff;
    font-size: .8784773060029283vw;
    line-height: 1
  }

  .frm-steps {
    counter-reset: step;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: .43923865300146414vw;
    margin-bottom: 2.562225475841874vw
  }

  .frm-steps__item {
    position: relative;
    counter-increment: step;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 18.301610541727673vw;
    height: 3.513909224011713vw;
    line-height: .88;
    background: var(--col_step);
    border: 1px solid var(--col_step)
  }

  .frm-steps__item:before {
    content: counter(step)".";
    margin-top: .21961932650073207vw;
    font-family: var(--font_base)
  }

  .frm-steps__item.current {
    background: #fff;
    border-color: var(--col_primary);
    color: var(--col_primary)
  }

  .frm-steps__item:not(:last-of-type):after {
    position: absolute;
    top: 50%;
    right: -1.171303074670571vw;
    content: "";
    width: .7320644216691069vw;
    height: .7320644216691069vw;
    border-top: .14641288433382138vw solid var(--col_step-arrow);
    border-right: .14641288433382138vw solid var(--col_step-arrow);
    transform: translate(0, -50%) rotate(45deg) skewY(-5deg)
  }

  .frm-heading__lead {
    margin-bottom: 3.6603221083455346vw;
    font-size: 1.4641288433382138vw;
    line-height: 1.5;
    font-weight: 400;
    color: var(--col_body);
    text-align: center
  }

  .frm-notice {
    text-align: center
  }

  .frm-lb,
  .frm-input {
    width: 100%
  }

  .frm-lb {
    width: 15.95900439238653vw;
    flex-shrink: 0;
    margin-top: .21961932650073207vw;
    font-weight: 700
  }

  .frm-input {
    flex: 1
  }

  .frm-input.tel-group {
    display: flex;
    align-items: center
  }

  .frm-input.tel-group input {
    width: 12.298682284040996vw
  }

  .frm-input.tel-group span {
    padding-bottom: .5124450951683748vw;
    margin: 0 .5856515373352855vw;
    font-size: 2.781844802342606vw;
    line-height: 1
  }

  .frm-input input.-md {
    width: 50%
  }

  .frm-input input+p {
    font-size: 1.0248901903367496vw;
    margin-top: 1.390922401171303vw;
    line-height: 1;
    color: #bbb;
    font-weight: 500
  }

  .frm-input input+.frm-txt-error {
    margin-top: .7320644216691069vw;
    color: var(--col_bgError) -text;
    line-height: 1.1
  }

  .frm-input input+.frm-txt-error+p {
    font-size: 1.0248901903367496vw;
    margin-top: 1.390922401171303vw;
    line-height: 1;
    color: #bbb;
    font-weight: 500
  }

  .frm-input .time-group {
    display: flex;
    align-items: center
  }

  .frm-input .time-group .time-lb {
    margin: 0 2.781844802342606vw 0 .6588579795021963vw;
    color: var(--col_dark)
  }

  .frm-input .time-group .c-select,
  .frm-input .time-group input {
    flex: 1 1 auto;
    max-width: 13.177159590043924vw
  }

  .frm-input .time-group .c-select .select,
  .frm-input .time-group input .select {
    text-align: center
  }

  .frm-row {
    display: flex;
    flex-wrap: wrap;
    padding: 1.8301610541727673vw 0 1.8301610541727673vw
  }

  .frm-row:not(:last-of-type) {
    border-bottom: 1px solid #aeaeae
  }

  .frm-row-child {
    width: 27.81844802342606vw;
    margin-left: 2.9282576866764276vw
  }

  .frm-row-child:nth-of-type(2n+1) {
    margin-left: 0
  }

  .frm-privacy {
    margin-top: 3.806734992679356vw;
    text-align: center
  }

  .frm-privacy-txt {
    margin-bottom: 2.049780380673499vw
  }

  .frm-privacy label {
    padding-left: 2.781844802342606vw;
    padding-bottom: .7320644216691069vw;
    color: var(--col_primary)
  }

  .frm-privacy label a {
    padding-bottom: .29282576866764276vw;
    border-bottom: 1px solid #000;
    transition: border .3s ease-out;
    will-change: border
  }

  .frm-privacy label a:hover {
    border-bottom: 1px solid transparent
  }

  .frm-btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 2.1961932650073206vw
  }

  .frm-btn .c-btn {
    width: 24.890190336749633vw;
    margin: 0 1.0980966325036603vw
  }

  .frm .list-radio {
    display: flex;
    flex-wrap: wrap;
    margin-left: -2.2693997071742316vw;
    margin-top: -.21961932650073207vw
  }

  .frm .radio {
    margin-left: 1.8301610541727673vw;
    margin-top: .7320644216691069vw
  }

  .frm--confirm .frm-row {
    margin-bottom: 0;
    padding: 1.3177159590043925vw 0;
    border-bottom: 1px solid var(--col_bdInput)
  }

  .frm--confirm .frm-row:first-of-type {
    border-top: 1px solid var(--col_bdInput)
  }

  .frm--confirm .frm-lb {
    margin-bottom: 0
  }

  .frm--confirm .frm-input {
    color: var(--col_placehoder)
  }

  .frm--confirm .frm-btn {
    margin-top: 5.856515373352855vw;
    justify-content: space-between
  }

  .frm--complete .frm-btn {
    margin-top: 5.124450951683748vw
  }
}

@media only screen and (max-width:768px) {
  .txtErr {
    width: 100%;
    margin-top: 1.953125vw;
    color: var(--col_txtError);
    font-size: 3.3482142857142856vw;
    font-weight: 400;
    line-height: 1.1
  }

  .file_note {
    width: 100%;
    margin-top: 1.0416666666666665vw;
    color: var(--col_form-note);
    font-size: 3.4877232142857144vw;
    line-height: 1.4;
    font-weight: 400
  }

  .file_mask {
    display: flex;
    align-items: center
  }

  .file_mask .btn_file {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36.45833333333333vw;
    height: 11.71875vw;
    margin-right: 3.2552083333333335vw;
    border-radius: 1.3020833333333335vw;
    background: var(--col_primary);
    color: #fff
  }

  .file_mask .show_file {
    line-height: 1.5
  }

  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=password] {
    width: 100%;
    height: 11.71875vw;
    padding: 2.473958333333333vw 3.515625vw 2.34375vw;
    border: 0;
    border-radius: 0;
    background: var(--col_bgInput);
    border: 1px solid var(--col_bdInput);
    outline: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--font_base);
    font-size: max(16px, 3.90625vw);
    line-height: 1;
    letter-spacing: .1em;
    white-space: nowrap;
    color: var(--col_primary)
  }

  input[type=text].error,
  input[type=email].error,
  input[type=tel].error,
  input[type=password].error {
    background: var(--col_bgError)
  }

  input[type=text]::-ms-clear,
  input[type=email]::-ms-clear,
  input[type=tel]::-ms-clear,
  input[type=password]::-ms-clear {
    display: none
  }

  input[type=text]:-ms-input-placeholder,
  input[type=email]:-ms-input-placeholder,
  input[type=tel]:-ms-input-placeholder,
  input[type=password]:-ms-input-placeholder {
    color: var(--col_placehoder)
  }

  input[type=text]::placeholder,
  input[type=email]::placeholder,
  input[type=tel]::placeholder,
  input[type=password]::placeholder {
    color: var(--col_placehoder)
  }

  select {
    width: 100%;
    height: 13.020833333333334vw;
    padding: 2.34375vw 6.510416666666667vw 2.34375vw 3.90625vw;
    border: 0;
    border-radius: 0;
    background-image: url(../images/common/ico-arrow-faq.svg?v49f9c0b1b2458050dff1b0b013ab23b4);
    background-color: var(--col_bgSelect);
    background-position: center right 3.90625vw;
    background-repeat: no-repeat;
    background-size: 2.34375vw 1.3020833333333335vw;
    outline: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--font_base);
    font-size: max(16px, 3.90625vw);
    line-height: 1;
    letter-spacing: .1em;
    white-space: nowrap;
    color: var(--col_primary)
  }

  select::-ms-expand {
    display: none
  }

  select.error {
    background-image: url(../images/common/ico-arrow-faq.svg?v49f9c0b1b2458050dff1b0b013ab23b4);
    background-color: var(--col_bgError);
    background-position: center right 3.90625vw;
    background-repeat: no-repeat;
    background-size: 2.34375vw 1.3020833333333335vw
  }

  textarea {
    width: 100%;
    min-height: 52.083333333333336vw;
    padding: 3.2552083333333335vw 3.515625vw;
    border-radius: 0;
    border: 0;
    background: var(--col_bgInput);
    overflow: auto;
    resize: vertical;
    border: 1px solid var(--col_bdInput);
    outline: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--font_base);
    font-size: max(16px, 3.90625vw);
    line-height: 1.8;
    letter-spacing: .1em;
    -webkit-overflow-scrolling: touch
  }

  textarea.error {
    background: var(--col_bgError)
  }

  textarea:-ms-input-placeholder {
    color: var(--col_placehoder)
  }

  textarea::placeholder {
    color: var(--col_placehoder)
  }

  input[type=checkbox] {
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0;
    visibility: hidden
  }

  input[type=checkbox]+label {
    position: relative;
    padding-left: 9.895833333333332vw;
    cursor: pointer
  }

  input[type=checkbox]+label:before {
    position: absolute;
    top: calc(50% + .26041666666666663vw);
    left: 0;
    content: "";
    width: 5.859375vw;
    height: 5.859375vw;
    border: 1px solid var(--col_bdInput);
    transform: translateY(-50%)
  }

  input[type=checkbox]+label:after {
    position: absolute;
    top: 50%;
    left: .26041666666666663vw;
    content: "";
    width: 5.859375vw;
    height: 5.859375vw;
    transform: translateY(-50%) scale(0);
    background-image: url(../images/common/ic_check.svg);
    background-repeat: no-repeat;
    background-size: 5.859375vw 5.078125vw;
    transition: transform .1s ease-out;
    will-change: transform
  }

  input[type=checkbox]:checked+label:after {
    transform: translateY(-50%) scale(1)
  }

  input[type=checkbox].error+label:before {
    background: var(--col_bgError)
  }

  input[type=radio] {
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0;
    visibility: hidden
  }

  input[type=radio]:not(:last-of-type)+label {
    margin-right: 5.208333333333334vw
  }

  input[type=radio]+label {
    position: relative;
    display: inline-block;
    padding-left: 7.8125vw;
    line-height: 1.4;
    cursor: pointer
  }

  input[type=radio]+label:before {
    position: absolute;
    top: calc(50% + .13020833333333331vw);
    left: 0;
    content: "";
    width: 5.859375vw;
    height: 5.859375vw;
    border-radius: 50%;
    border: 1px solid var(--col_bdInput);
    transform: translateY(-50%)
  }

  input[type=radio]+label:after {
    position: absolute;
    top: calc(50% + .13020833333333331vw);
    left: 1.171875vw;
    content: "";
    width: 3.515625vw;
    height: 3.515625vw;
    border-radius: 50%;
    transform: translateY(-50%) scale(0);
    background: var(--col_primary);
    transition: transform .2s ease-out;
    will-change: transform
  }

  input[type=radio]:checked+label:after {
    transform: translateY(-50%) scale(1)
  }

  input[type=radio].error+label:before {
    background: var(--col_bgError)
  }

  input[type=file] {
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0;
    visibility: hidden
  }

  input[type=button],
  input[type=submit],
  input[type=reset],
  button {
    padding: 0;
    outline: 0;
    cursor: pointer;
    box-shadow: none;
    font-family: var(--font_base);
    color: var(--col_body);
    font-size: 3.6272321428571432vw;
    line-height: 1.69;
    font-weight: 400;
    overflow: visible
  }

  .frm {
    width: 100%;
    padding: 0 5.208333333333334vw
  }

  .frm-action {
    margin-top: 13.020833333333334vw
  }

  .frm-required {
    color: var(--col_primary)
  }

  .frm-steps {
    counter-reset: step;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: .78125vw;
    margin-bottom: 6.25vw
  }

  .frm-steps__item {
    position: relative;
    counter-increment: step;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 26.041666666666668vw;
    height: 10.416666666666668vw;
    font-size: 3.6272321428571432vw;
    line-height: .92;
    background: var(--col_step);
    border: 1px solid var(--col_step)
  }

  .frm-steps__item:before {
    content: counter(step)".";
    margin-top: .390625vw;
    font-family: var(--font_base)
  }

  .frm-steps__item.current {
    background: #fff;
    border-color: var(--col_primary);
    color: var(--col_primary)
  }

  .frm-steps__item:not(:last-of-type):after {
    position: absolute;
    top: 50%;
    right: -3.3854166666666665vw;
    content: "";
    width: 2.083333333333333vw;
    height: 2.083333333333333vw;
    border-top: .390625vw solid var(--col_step-arrow);
    border-right: .390625vw solid var(--col_step-arrow);
    transform: translate(0, -50%) rotate(45deg) skewY(-5deg)
  }

  .frm-notice {
    text-align: left
  }

  .frm-lb,
  .frm-input {
    width: 100%
  }

  .frm-lb {
    margin-bottom: 1.4322916666666665vw
  }

  .frm-lb {
    display: flex;
    align-items: center;
    margin-bottom: 2.604166666666667vw;
    font-weight: 700;
    line-height: 4.427083333333334vw
  }

  .frm-input.-tel {
    display: flex;
    align-items: center
  }

  .frm-input.-tel input {
    width: 27.213541666666668vw
  }

  .frm-input.-tel span {
    padding-bottom: .9114583333333334vw;
    margin: 0 1.0416666666666665vw;
    font-size: 5.3013392857142865vw;
    line-height: 1
  }

  .frm-input input+p {
    margin-top: 3.6458333333333335vw;
    margin-bottom: -.9114583333333334vw;
    color: #bbb;
    font-weight: 500
  }

  .frm-input input+.frm-txt-error {
    margin-top: 1.953125vw;
    color: var(--col_bgError) -text;
    line-height: 1.1
  }

  .frm-input input+.frm-txt-error+p {
    margin-top: 3.6458333333333335vw;
    margin-bottom: -.9114583333333334vw;
    color: #bbb;
    font-weight: 500
  }

  .frm-input .time-group {
    display: flex;
    align-items: center
  }

  .frm-input .time-group .time-lb {
    margin: 0 2.604166666666667vw;
    color: var(--col_dark)
  }

  .frm-input .time-group .c-select {
    flex: 1 1 auto;
    max-width: 23.4375vw
  }

  .frm-input .time-group .c-select .select {
    text-align: center
  }

  .frm-row {
    display: flex;
    flex-wrap: wrap;
    padding: 3.7760416666666665vw 0 3.90625vw
  }

  .frm-row:not(:last-of-type) {
    border-bottom: 1px solid #aeaeae
  }

  .frm-row-child {
    width: 100%
  }

  .frm-row-child:not(:last-of-type) {
    margin-bottom: 4.296875vw
  }

  .frm-privacy {
    margin-top: 12.760416666666666vw;
    text-align: center
  }

  .frm-privacy-txt {
    margin-bottom: 5.859375vw
  }

  .frm-privacy label {
    color: var(--col_primary);
    text-decoration: underline;
    text-underline-offset: .5208333333333333vw
  }

  .frm-privacy label a {
    padding-bottom: .9114583333333334vw;
    border-bottom: 1px solid var(--col_body);
    transition: border .3s ease-out;
    will-change: border
  }

  .frm-btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 7.682291666666667vw
  }

  .frm-btn .c-btn {
    width: 74.21875vw;
    margin-top: 3.7760416666666665vw
  }

  .frm .list-radio {
    margin-left: -1.953125vw
  }

  .frm .radio {
    margin-top: 1.6927083333333333vw
  }

  .frm--confirm .frm-action {
    margin-top: 10.026041666666668vw
  }

  .frm--confirm .frm-row {
    margin-bottom: 0;
    padding: 3.125vw 0;
    border-bottom: 1px solid var(--col_bdInput)
  }

  .frm--confirm .frm-row:first-of-type {
    border-top: 1px solid var(--col_bdInput)
  }

  .frm--confirm .frm-lb {
    margin-bottom: 0
  }

  .frm--confirm .frm-input {
    color: var(--col_placehoder)
  }

  .frm--confirm .frm-btn {
    margin-top: 15.885416666666666vw;
    justify-content: space-between
  }

  .frm--confirm .frm-btn .btn {
    width: 42.96875vw
  }

  .frm--complete .frm-notice {
    margin-top: 17.1875vw;
    text-align: center
  }

  .frm--complete .frm-btn {
    margin-top: 9.114583333333332vw
  }
}

@media (min-width:1367px),
print {
  .page-tbl {
    border-collapse: collapse
  }

  .page-tbl .txt-center {
    text-align: center
  }

  .page-tbl .txt-right {
    text-align: right
  }

  .page-tbl th,
  .page-tbl td {
    padding: 10px 20px;
    border: 1px solid #ccc;
    font-size: 1.8001800180018002rem;
    font-weight: 400
  }

  .page-tbl thead th {
    background: #ddd;
    font-size: 2.025202520252025rem;
    font-weight: 500;
    text-align: center
  }

  .page-tbl--middle th,
  .page-tbl--middle td {
    vertical-align: middle
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .page-tbl {
    border-collapse: collapse
  }

  .page-tbl .txt-center {
    text-align: center
  }

  .page-tbl .txt-right {
    text-align: right
  }

  .page-tbl th,
  .page-tbl td {
    padding: .7320644216691069vw 1.4641288433382138vw;
    border: 1px solid #ccc;
    font-size: 1.171303074670571vw;
    font-weight: 400
  }

  .page-tbl thead th {
    background: #ddd;
    font-size: 1.3177159590043925vw;
    font-weight: 500;
    text-align: center
  }

  .page-tbl--middle th,
  .page-tbl--middle td {
    vertical-align: middle
  }
}

@media (min-width:1367px),
print {
  .wysiwyg a {
    color: var(--col_primary);
    text-decoration: underline;
    text-underline-offset: 3px
  }

  .wysiwyg h1,
  .wysiwyg h2 {
    margin-bottom: 72px;
    font-size: 3.3753375337533753rem;
    font-weight: 500;
    line-height: 1.67;
    letter-spacing: -.05em
  }

  .wysiwyg h3 {
    margin-bottom: 40px;
    padding-bottom: 16px;
    border-bottom: 1px solid #b6a157;
    font-size: 2.9252925292529253rem;
    font-weight: 500;
    line-height: 1.92;
    letter-spacing: -.05em
  }

  .wysiwyg h3+.b-image-floating {
    margin-top: -5px
  }

  .wysiwyg h4 {
    margin-bottom: 6px;
    font-size: 2.4752475247524752rem;
    font-weight: 500;
    line-height: 2.05;
    letter-spacing: .02em
  }

  .wysiwyg h5,
  .wysiwyg h6 {
    margin-bottom: 10px;
    font-size: 2.25022502250225rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .1em
  }

  .wysiwyg ul:not(:last-child) {
    margin-bottom: 26px
  }

  .wysiwyg ul a {
    padding-left: 0
  }

  .wysiwyg ul a:before {
    display: none
  }

  .wysiwyg ul>li {
    position: relative;
    padding-left: 30px
  }

  .wysiwyg ul>li:before {
    position: absolute;
    top: 0;
    left: 2px;
    content: "●";
    color: var(--col_primary)
  }

  .wysiwyg img {
    max-width: 100%
  }

  .wysiwyg figure:not(:last-child),
  .wysiwyg img:not(:last-child) {
    margin-bottom: 34px
  }

  .wysiwyg ol {
    counter-reset: listNum
  }

  .wysiwyg ol:not(:last-child) {
    margin-bottom: 28px
  }

  .wysiwyg ol a {
    padding-left: 0
  }

  .wysiwyg ol a:before {
    display: none
  }

  .wysiwyg ol>li {
    position: relative;
    padding-left: 28px;
    counter-increment: listNum
  }

  .wysiwyg ol>li:before {
    position: absolute;
    top: 0;
    left: 0;
    font-family: var(--font_base);
    font-weight: 400;
    content: counter(listNum)"."
  }

  .wysiwyg ol>li:last-of-type ol {
    margin-bottom: 0
  }

  .wysiwyg ol ol {
    margin-top: 4px;
    margin-bottom: 20px;
    counter-reset: listSub
  }

  .wysiwyg ol ol>li {
    position: relative;
    padding-left: 35px;
    counter-increment: listSub
  }

  .wysiwyg ol ol>li:before {
    position: absolute;
    top: 0;
    left: 0;
    font-family: var(--font_base);
    font-weight: 400;
    content: counter(listNum)"-" counter(listSub)"."
  }

  .wysiwyg .has-text-align-center {
    text-align: center
  }

  .wysiwyg .has-text-align-right {
    text-align: right
  }

  .wysiwyg p:not(:last-child) {
    margin-bottom: 32px
  }

  .wysiwyg blockquote {
    font-size: 1.5751575157515751rem;
    line-height: 1.71;
    letter-spacing: .1em;
    font-style: italic;
    padding: 34px 50px;
    background-color: #f8f8f8;
    margin-bottom: 40px;
    position: relative
  }

  .wysiwyg blockquote:before {
    content: "";
    position: absolute;
    top: 17px;
    left: 17px;
    display: block;
    width: 15px;
    height: 11px;
    background: url(../images/common/ic_quote.svg?ve28df5b5e156b3bb3e4b4a21ce8d33a6)center/contain no-repeat;
    transform: rotate(180deg)
  }

  .wysiwyg blockquote:after {
    content: "";
    position: absolute;
    bottom: 17px;
    right: 17px;
    display: block;
    width: 15px;
    height: 11px;
    background: url(../images/common/ic_quote.svg?ve28df5b5e156b3bb3e4b4a21ce8d33a6)center/contain no-repeat
  }

  .wysiwyg iframe,
  .wysiwyg video {
    max-width: 100%
  }

  .wysiwyg iframe:not(:last-child),
  .wysiwyg video:not(:last-child) {
    margin-bottom: 30px
  }

  .wysiwyg .wp-block-group+.wp-block-group {
    margin-top: 75px
  }

  .b-image-floating {
    margin-bottom: 40px
  }

  .b-image-floating:after {
    content: "";
    display: block;
    clear: both
  }

  .b-image-floating.image-left figure {
    width: calc(50% - 20px);
    float: left;
    margin-top: 12px;
    margin-right: 40px;
    margin-bottom: 20px
  }

  .b-image-floating.image-right figure {
    width: calc(50% - 20px);
    float: right;
    margin-top: 12px;
    margin-left: 30px;
    margin-bottom: 20px
  }

  .b-image-floating.image-center figure {
    margin: 0 auto 20px
  }

  .b-image-floating.image-center:after {
    content: none
  }

  .b-image-bgGrey {
    position: relative;
    margin: 80px 0;
    display: flex
  }

  .b-image-bgGrey figure {
    flex-shrink: 0;
    width: 580px;
    margin-top: 49px;
    margin-bottom: 49px
  }

  .b-image-bgGrey.image-right figure {
    order: 2
  }

  .b-image-bgGrey.image-right .b-image-bgGrey__detail {
    padding-right: 35px;
    order: 1
  }

  .b-image-bgGrey.image-right .b-image-bgGrey__detail:before {
    right: -80px
  }

  .b-image-bgGrey.image-left figure {
    flex-shrink: 0;
    width: 580px;
    margin-top: 50px;
    margin-bottom: 50px
  }

  .b-image-bgGrey.image-left .b-image-bgGrey__detail {
    padding-left: 40px
  }

  .b-image-bgGrey.image-left .b-image-bgGrey__detail:before {
    left: -80px
  }

  .b-image-bgGrey__detail {
    position: relative;
    padding-top: 70px;
    padding-bottom: 70px
  }

  .b-image-bgGrey__detail:before {
    content: "";
    position: absolute;
    width: calc(50vw + 100px);
    height: 100%;
    top: 0;
    background: #e6e7e8;
    opacity: .4;
    z-index: -1
  }

  .b-detail__card {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 40px
  }

  .b-detail__card li {
    padding-left: 0 !important;
    letter-spacing: -.03em
  }

  .b-detail__card li:before {
    content: none !important
  }

  .b-detail__card li figure {
    margin-bottom: 7px !important
  }

  .b-detail__card.-bgGrey:before {
    content: "";
    position: absolute;
    top: 50px;
    left: 50px;
    width: calc(50vw + 550px);
    height: 100%;
    background: #e6e7e8;
    opacity: .4;
    z-index: -1
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .wysiwyg a {
    color: var(--col_primary);
    text-decoration: underline;
    text-underline-offset: .21961932650073207vw
  }

  .wysiwyg h1,
  .wysiwyg h2 {
    margin-bottom: 5.27086383601757vw;
    font-size: 2.1961932650073206vw;
    font-weight: 500;
    line-height: 1.67;
    letter-spacing: -.05em
  }

  .wysiwyg h3 {
    margin-bottom: 2.9282576866764276vw;
    padding-bottom: 1.171303074670571vw;
    border-bottom: 1px solid #b6a157;
    font-size: 1.903367496339678vw;
    font-weight: 500;
    line-height: 1.92;
    letter-spacing: -.05em
  }

  .wysiwyg h3+.b-image-floating {
    margin-top: -.36603221083455345vw
  }

  .wysiwyg h4 {
    margin-bottom: .43923865300146414vw;
    font-size: 1.610541727672035vw;
    font-weight: 500;
    line-height: 2.05;
    letter-spacing: .02em
  }

  .wysiwyg h5,
  .wysiwyg h6 {
    margin-bottom: .7320644216691069vw;
    font-size: 1.4641288433382138vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .1em
  }

  .wysiwyg ul:not(:last-child) {
    margin-bottom: 1.903367496339678vw
  }

  .wysiwyg ul a {
    padding-left: 0
  }

  .wysiwyg ul a:before {
    display: none
  }

  .wysiwyg ul>li {
    position: relative;
    padding-left: 2.1961932650073206vw
  }

  .wysiwyg ul>li:before {
    position: absolute;
    top: 0;
    left: .14641288433382138vw;
    content: "●";
    color: var(--col_primary)
  }

  .wysiwyg img {
    max-width: 100%
  }

  .wysiwyg figure:not(:last-child),
  .wysiwyg img:not(:last-child) {
    margin-bottom: 2.4890190336749636vw
  }

  .wysiwyg ol {
    counter-reset: listNum
  }

  .wysiwyg ol:not(:last-child) {
    margin-bottom: 2.049780380673499vw
  }

  .wysiwyg ol a {
    padding-left: 0
  }

  .wysiwyg ol a:before {
    display: none
  }

  .wysiwyg ol>li {
    position: relative;
    padding-left: 2.049780380673499vw;
    counter-increment: listNum
  }

  .wysiwyg ol>li:before {
    position: absolute;
    top: 0;
    left: 0;
    font-family: var(--font_base);
    font-weight: 400;
    content: counter(listNum)"."
  }

  .wysiwyg ol>li:last-of-type ol {
    margin-bottom: 0
  }

  .wysiwyg ol ol {
    margin-top: .29282576866764276vw;
    margin-bottom: 1.4641288433382138vw;
    counter-reset: listSub
  }

  .wysiwyg ol ol>li {
    position: relative;
    padding-left: 2.562225475841874vw;
    counter-increment: listSub
  }

  .wysiwyg ol ol>li:before {
    position: absolute;
    top: 0;
    left: 0;
    font-family: var(--font_base);
    font-weight: 400;
    content: counter(listNum)"-" counter(listSub)"."
  }

  .wysiwyg .has-text-align-center {
    text-align: center
  }

  .wysiwyg .has-text-align-right {
    text-align: right
  }

  .wysiwyg p:not(:last-child) {
    margin-bottom: 2.342606149341142vw
  }

  .wysiwyg blockquote {
    font-size: 1.0248901903367496vw;
    line-height: 1.71;
    letter-spacing: .1em;
    font-style: italic;
    padding: 2.4890190336749636vw 3.6603221083455346vw;
    background-color: #f8f8f8;
    margin-bottom: 2.9282576866764276vw;
    position: relative
  }

  .wysiwyg blockquote:before {
    content: "";
    position: absolute;
    top: 1.2445095168374818vw;
    left: 1.2445095168374818vw;
    display: block;
    width: 1.0980966325036603vw;
    height: .8052708638360175vw;
    background: url(../images/common/ic_quote.svg?ve28df5b5e156b3bb3e4b4a21ce8d33a6)center/contain no-repeat;
    transform: rotate(180deg)
  }

  .wysiwyg blockquote:after {
    content: "";
    position: absolute;
    bottom: 1.2445095168374818vw;
    right: 1.2445095168374818vw;
    display: block;
    width: 1.0980966325036603vw;
    height: .8052708638360175vw;
    background: url(../images/common/ic_quote.svg?ve28df5b5e156b3bb3e4b4a21ce8d33a6)center/contain no-repeat
  }

  .wysiwyg iframe,
  .wysiwyg video {
    max-width: 100%
  }

  .wysiwyg iframe:not(:last-child),
  .wysiwyg video:not(:last-child) {
    margin-bottom: 2.1961932650073206vw
  }

  .wysiwyg .wp-block-group+.wp-block-group {
    margin-top: 5.490483162518302vw
  }

  .b-image-floating {
    margin-bottom: 2.9282576866764276vw
  }

  .b-image-floating:after {
    content: "";
    display: block;
    clear: both
  }

  .b-image-floating.image-left figure {
    width: calc(50% - 1.4641288433382138vw);
    float: left;
    margin-top: .8784773060029283vw;
    margin-right: 2.9282576866764276vw;
    margin-bottom: 1.4641288433382138vw
  }

  .b-image-floating.image-right figure {
    width: calc(50% - 1.4641288433382138vw);
    float: right;
    margin-top: .8784773060029283vw;
    margin-left: 2.1961932650073206vw;
    margin-bottom: 1.4641288433382138vw
  }

  .b-image-floating.image-center figure {
    margin: 0 auto 1.4641288433382138vw
  }

  .b-image-floating.image-center:after {
    content: none
  }

  .b-image-bgGrey {
    position: relative;
    margin: 5.856515373352855vw 0;
    display: flex
  }

  .b-image-bgGrey figure {
    flex-shrink: 0;
    width: 42.4597364568082vw;
    margin-top: 3.5871156661786237vw;
    margin-bottom: 3.5871156661786237vw
  }

  .b-image-bgGrey.image-right figure {
    order: 2
  }

  .b-image-bgGrey.image-right .b-image-bgGrey__detail {
    padding-right: 2.562225475841874vw;
    order: 1
  }

  .b-image-bgGrey.image-right .b-image-bgGrey__detail:before {
    right: -5.856515373352855vw
  }

  .b-image-bgGrey.image-left figure {
    flex-shrink: 0;
    width: 42.4597364568082vw;
    margin-top: 3.6603221083455346vw;
    margin-bottom: 3.6603221083455346vw
  }

  .b-image-bgGrey.image-left .b-image-bgGrey__detail {
    padding-left: 2.9282576866764276vw
  }

  .b-image-bgGrey.image-left .b-image-bgGrey__detail:before {
    left: -5.856515373352855vw
  }

  .b-image-bgGrey__detail {
    position: relative;
    padding-top: 5.124450951683748vw;
    padding-bottom: 5.124450951683748vw
  }

  .b-image-bgGrey__detail:before {
    content: "";
    position: absolute;
    width: calc(50vw + 7.320644216691069vw);
    height: 100%;
    top: 0;
    background: #e6e7e8;
    opacity: .4;
    z-index: -1
  }

  .b-detail__card {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 2.9282576866764276vw
  }

  .b-detail__card li {
    padding-left: 0 !important;
    letter-spacing: -.03em
  }

  .b-detail__card li:before {
    content: none !important
  }

  .b-detail__card li figure {
    margin-bottom: .5124450951683748vw !important
  }

  .b-detail__card.-bgGrey:before {
    content: "";
    position: absolute;
    top: 3.6603221083455346vw;
    left: 3.6603221083455346vw;
    width: calc(50vw + 40.26354319180088vw);
    height: 100%;
    background: #e6e7e8;
    opacity: .4;
    z-index: -1
  }
}

@media only screen and (max-width:768px) {
  .wysiwyg .img-signature {
    width: 50vw !important;
    max-width: 350px !important
  }

  .wysiwyg a {
    position: relative;
    color: var(--col_primary);
    text-decoration: underline;
    text-underline-offset: .6510416666666667vw
  }

  .wysiwyg h1,
  .wysiwyg h2 {
    margin-bottom: 7.161458333333333vw;
    font-size: 6.696428571428571vw;
    font-weight: 500;
    line-height: 1.25
  }

  .wysiwyg h3 {
    margin-bottom: 7.8125vw;
    padding-bottom: 2.604166666666667vw;
    border-bottom: 1px solid var(--col_primary);
    font-size: 5.580357142857143vw;
    font-weight: 500;
    line-height: 1.45
  }

  .wysiwyg h4 {
    margin-bottom: 1.5625vw;
    font-size: 4.743303571428572vw;
    font-weight: 500;
    line-height: 1.53
  }

  .wysiwyg h5,
  .wysiwyg h6 {
    position: relative;
    margin-bottom: .6510416666666667vw;
    font-size: 4.185267857142858vw;
    font-weight: 500;
    line-height: 1.33
  }

  .wysiwyg ul a {
    padding-left: 0
  }

  .wysiwyg ul a:before {
    display: none
  }

  .wysiwyg ul:not(:last-child) {
    margin-bottom: 3.3854166666666665vw
  }

  .wysiwyg ul>li {
    position: relative;
    padding-left: 5.989583333333334vw
  }

  .wysiwyg ul>li:before {
    position: absolute;
    top: 0;
    left: .26041666666666663vw;
    content: "●";
    color: var(--col_primary)
  }

  .wysiwyg ol {
    counter-reset: listNum
  }

  .wysiwyg ol:not(:last-child) {
    margin-bottom: 3.3854166666666665vw
  }

  .wysiwyg ol a {
    padding-left: 0
  }

  .wysiwyg ol a:before {
    display: none
  }

  .wysiwyg ol>li {
    position: relative;
    padding-left: 5.989583333333334vw;
    counter-increment: listNum
  }

  .wysiwyg ol>li:before {
    position: absolute;
    top: 0;
    left: 0;
    font-family: var(--font_base);
    font-weight: 400;
    content: counter(listNum)"."
  }

  .wysiwyg ol>li:last-of-type ol {
    margin-bottom: 0
  }

  .wysiwyg ol ol {
    counter-reset: listSub;
    margin-bottom: 3.6458333333333335vw
  }

  .wysiwyg ol ol>li {
    position: relative;
    padding-left: 7.161458333333333vw;
    margin-top: .6510416666666667vw;
    counter-increment: listSub
  }

  .wysiwyg ol ol>li:before {
    position: absolute;
    top: 0;
    left: 0;
    font-family: var(--font_base);
    font-weight: 400;
    content: counter(listNum)"-" counter(listSub)"."
  }

  .wysiwyg img {
    max-width: 100%
  }

  .wysiwyg figure:not(:last-child),
  .wysiwyg img:not(:last-child) {
    margin-bottom: 6.119791666666666vw
  }

  .wysiwyg .has-text-align-center {
    text-align: center
  }

  .wysiwyg .has-text-align-right {
    text-align: right
  }

  .wysiwyg p:not(:last-child) {
    margin-bottom: 6.380208333333333vw
  }

  .wysiwyg iframe,
  .wysiwyg video {
    max-width: 100%
  }

  .wysiwyg iframe:not(:last-child),
  .wysiwyg video:not(:last-child) {
    margin-bottom: 3.90625vw
  }

  .wysiwyg blockquote {
    font-size: 3.3482142857142856vw;
    line-height: 1.83;
    letter-spacing: .1em;
    font-style: italic;
    padding: 6.510416666666667vw 10.9375vw;
    background-color: #f8f8f8;
    margin-bottom: 6.380208333333333vw;
    position: relative
  }

  .wysiwyg blockquote:before {
    content: "";
    position: absolute;
    top: 3.2552083333333335vw;
    left: 3.2552083333333335vw;
    display: block;
    width: 3.3854166666666665vw;
    height: 2.604166666666667vw;
    background: url(../images/common/ic_quote.svg?ve28df5b5e156b3bb3e4b4a21ce8d33a6)center/contain no-repeat;
    transform: rotate(180deg);
    background-size: 100% 100%
  }

  .wysiwyg blockquote:after {
    content: "";
    position: absolute;
    bottom: 5.208333333333334vw;
    right: 3.2552083333333335vw;
    display: block;
    width: 3.3854166666666665vw;
    height: 2.604166666666667vw;
    background: url(../images/common/ic_quote.svg?ve28df5b5e156b3bb3e4b4a21ce8d33a6)center/contain no-repeat;
    background-size: 100% 100%
  }

  .wysiwyg .wp-block-group+.wp-block-group {
    margin-top: 9.765625vw
  }

  .b-image-floating {
    margin-bottom: 8.984375vw;
    margin-top: -1.6927083333333333vw
  }

  .b-image-floating:after {
    content: "";
    display: block;
    clear: both
  }

  .b-image-floating.image-left figure {
    width: 40.625vw;
    float: left;
    margin-top: 1.953125vw;
    margin-right: 3.125vw;
    margin-bottom: .6510416666666667vw
  }

  .b-image-floating.image-right figure {
    width: 40.625vw;
    float: right;
    margin-top: 1.953125vw;
    margin-left: 2.604166666666667vw;
    margin-bottom: .6510416666666667vw
  }

  .b-image-floating.image-center figure {
    margin: 0 auto 2.604166666666667vw
  }

  .b-image-floating.image-center:after {
    content: none
  }

  .b-image-bgGrey {
    position: relative;
    margin: 7.8125vw 0
  }

  .b-image-bgGrey__detail {
    position: relative;
    margin-top: -24.348958333333336vw;
    width: calc(100% + 6.510416666666667vw);
    padding: 26.432291666666668vw 6.510416666666667vw 9.114583333333332vw;
    background: rgba(230, 231, 232, .4);
    z-index: -1
  }

  .b-image-bgGrey.image-left .b-image-bgGrey__detail {
    margin-left: -6.510416666666667vw
  }

  .b-detail__card {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 6.25vw 4.6875vw
  }

  .b-detail__card li {
    padding-left: 0 !important;
    letter-spacing: .02em
  }

  .b-detail__card li:before {
    content: none !important
  }

  .b-detail__card li figure {
    margin-bottom: 1.953125vw !important
  }

  .b-detail__card--wrap {
    width: 93.48958333333334vw;
    padding-bottom: 6.770833333333333vw;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch
  }

  .b-detail__card.-bgGrey {
    position: relative;
    display: flex;
    width: 195.3125vw;
    grid-gap: 0 6.510416666666667vw
  }

  .b-detail__card.-bgGrey li {
    width: 58.59375vw
  }

  .b-detail__card.-bgGrey:before {
    content: "";
    position: absolute;
    top: 21.09375vw;
    left: 6.510416666666667vw;
    width: calc(100% - 6.510416666666667vw);
    height: calc(100% - 14.322916666666666vw);
    background: #e6e7e8;
    opacity: .4;
    z-index: -1
  }
}

.wysiwyg {
  --wp--preset--color--black: #000000;
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--white: #ffffff;
  --wp--preset--color--pale-pink: #f78da7;
  --wp--preset--color--vivid-red: #cf2e2e;
  --wp--preset--color--luminous-vivid-orange: #ff6900;
  --wp--preset--color--luminous-vivid-amber: #fcb900;
  --wp--preset--color--light-green-cyan: #7bdcb5;
  --wp--preset--color--vivid-green-cyan: #00d084;
  --wp--preset--color--pale-cyan-blue: #8ed1fc;
  --wp--preset--color--vivid-cyan-blue: #0693e3;
  --wp--preset--color--vivid-purple: #9b51e0;
  --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgba(6, 147, 227, 1) 0%, rgb(155, 81, 224) 100%);
  --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%);
  --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,
      rgba(252, 185, 0, 1) 0%,
      rgba(255, 105, 0, 1) 100%);
  --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgba(255, 105, 0, 1) 0%, rgb(207, 46, 46) 100%);
  --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%);
  --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,
      rgb(74, 234, 220) 0%,
      rgb(151, 120, 209) 20%,
      rgb(207, 42, 186) 40%,
      rgb(238, 44, 130) 60%,
      rgb(251, 105, 98) 80%,
      rgb(254, 248, 76) 100%);
  --wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
  --wp--preset--gradient--blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%);
  --wp--preset--gradient--luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%);
  --wp--preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
  --wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
  --wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%)
}

.wysiwyg .has-vivid-red-color {
  color: var(--wp--preset--color--vivid-red) !important
}

.wysiwyg .has-pale-pink-color {
  color: var(--wp--preset--color--pale-pink) !important
}

.wysiwyg .has-black-color {
  color: var(--wp--preset--color--black) !important
}

.wysiwyg .has-cyan-bluish-gray-color {
  color: var(--wp--preset--color--cyan-bluish-gray) !important
}

.wysiwyg .has-white-color {
  color: var(--wp--preset--color--white) !important
}

.wysiwyg .has-luminous-vivid-orange-color {
  color: var(--wp--preset--color--luminous-vivid-orange) !important
}

.wysiwyg .has-luminous-vivid-amber-color {
  color: var(--wp--preset--color--luminous-vivid-amber) !important
}

.wysiwyg .has-vivid-green-cyan-color {
  color: var(--wp--preset--color--vivid-green-cyan) !important
}

.wysiwyg .has-light-green-cyan-color {
  color: var(--wp--preset--color--light-green-cyan) !important
}

.wysiwyg .has-pale-cyan-blue-color {
  color: var(--wp--preset--color--pale-cyan-blue) !important
}

.wysiwyg .has-vivid-cyan-blue-color {
  color: var(--wp--preset--color--vivid-cyan-blue) !important
}

.wysiwyg .has-vivid-purple-color {
  color: var(--wp--preset--color--vivid-purple) !important
}

@media (hover:hover) {
  .link__alpha {
    cursor: pointer;
    transition: opacity .3s ease;
    will-change: opacity
  }

  .link__alpha:hover {
    opacity: .6
  }

  .link__color {
    cursor: pointer;
    transition: color .3s ease;
    will-change: color
  }

  .link__color:hover {
    color: #fff
  }

  .link__text {
    cursor: pointer;
    position: relative
  }

  .link__text:before {
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    background-color: currentColor;
    position: absolute;
    left: 0;
    bottom: 0;
    transform-origin: right center;
    transform: scale(0, 1);
    transition: transform .3s ease;
    will-change: transform
  }

  .link__text:hover:before {
    transform-origin: left center;
    transform: scale(1, 1)
  }

  .link__line {
    padding-bottom: .25em;
    background: linear-gradient(currentColor, currentColor)0 100%/0 1px no-repeat;
    transition: background .3s ease;
    will-change: background
  }

  .link__line:hover {
    background-size: 100% 1px
  }

  .link__fill {
    position: relative;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center
  }

  .link__fill span {
    position: relative
  }

  .link__fill:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #000;
    transform-origin: right center;
    transform: scale(0, 1);
    transition: transform .3s ease;
    will-change: transform
  }

  .link__fill:hover:before {
    transform-origin: left center;
    transform: scale(1, 1)
  }

  .link__zoom figure {
    overflow: hidden
  }

  .link__zoom img {
    transition: transform .4s ease;
    will-change: transform
  }

  .link__zoom:hover img {
    transform: scale(1.2)
  }
}

.thumbnail-object-fit {
  position: relative;
  display: block;
  height: 0;
  margin: 0;
  overflow: hidden;
  background: #f2f2f2
}

.thumbnail-object-fit>img {
  height: 100%;
  left: 50%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%
}

.thumbnail-object-fit>img.of-contain {
  -o-object-fit: contain !important;
  object-fit: contain !important
}

.thumbnail--1x1 {
  padding-bottom: 100% !important
}

.thumbnail--16x9 {
  padding-bottom: calc(9/16*100%)
}

.thumbnail--556x284 {
  padding-bottom: calc(284/556*100%)
}

.thumbnail--373x240 {
  padding-bottom: calc(240/373.33*100%)
}

.thumbnail--373x218 {
  padding-bottom: calc(218/373.33*100%)
}

@media (min-width:1367px),
print {
  .c-news__list {
    width: 100%;
    margin: 0 auto;
    border-top: 1px solid var(--col_primary)
  }

  .c-news__item {
    border-bottom: 1px solid var(--col_primary)
  }

  .c-news__item>a {
    display: flex;
    padding: 20px;
    transition: opacity .3s ease-out;
    will-change: opacity
  }

  .c-news__item>a:hover {
    opacity: .7
  }

  .c-news__date {
    flex-shrink: 0;
    width: 130px;
    font-size: 1.5751575157515751rem;
    line-height: 28px;
    font-weight: 400
  }

  .c-news__detail {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: calc(100% - 130px);
    font-size: 1.8001800180018002rem;
    line-height: 28px;
    font-weight: 400
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .c-news__list {
    width: 100%;
    margin: 0 auto;
    border-top: 1px solid var(--col_primary)
  }

  .c-news__item {
    border-bottom: 1px solid var(--col_primary)
  }

  .c-news__item>a {
    display: flex;
    padding: 1.4641288433382138vw;
    transition: opacity .3s ease-out;
    will-change: opacity
  }

  .c-news__item>a:hover {
    opacity: .7
  }

  .c-news__date {
    flex-shrink: 0;
    width: 9.51683748169839vw;
    font-size: 1.0248901903367496vw;
    line-height: 2.049780380673499vw;
    font-weight: 400
  }

  .c-news__detail {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: calc(100% - 9.51683748169839vw);
    font-size: 1.171303074670571vw;
    line-height: 2.049780380673499vw;
    font-weight: 400
  }
}

@media only screen and (max-width:768px) {
  .c-news__list {
    width: 100%;
    margin: 0 auto;
    border-top: 1px solid var(--col_primary)
  }

  .c-news__item {
    border-bottom: 1px solid var(--col_primary)
  }

  .c-news__item>a {
    padding: 2.604166666666667vw
  }

  .c-news__item .c-tag__list {
    margin-bottom: 2.604166666666667vw
  }

  .c-news__date {
    display: block;
    margin-bottom: .6510416666666667vw;
    font-size: 3.3482142857142856vw;
    line-height: 6.25vw;
    font-weight: 400
  }

  .c-news__detail {
    display: block;
    font-size: 3.6272321428571432vw;
    line-height: 7.03125vw;
    font-weight: 400
  }
}

@media (min-width:1367px),
print {
  .b-search {
    padding-top: 64px;
    padding-bottom: 69px;
    background: var(--col_body);
    color: #fff
  }

  .b-search__heading {
    margin-bottom: 46px
  }

  .b-search__heading .c-ttl01--en {
    padding-left: 8px;
    letter-spacing: -.013em
  }

  .b-search__heading .c-ttl01--jp {
    margin-left: -10px;
    margin-top: 38px
  }

  .b-search__row {
    padding-top: 17px;
    padding-bottom: 31px;
    border-top: 1px solid rgba(255, 255, 255, .1)
  }

  .b-search__row__ttl {
    margin-bottom: 10px;
    font-size: 2.7002700270027002rem;
    line-height: 1.92;
    font-weight: 400
  }

  .b-search__row__condition {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px
  }

  .b-search__row__condition .c-btn.-search {
    display: flex;
    justify-content: center;
    background: var(--col_primary);
    border-color: var(--col_primary);
    margin: 0;
    color: #fff
  }

  .b-search__row__condition .c-btn.-search .c-btn__ico {
    position: relative;
    top: unset;
    bottom: unset;
    left: unset;
    right: unset;
    margin: 0 8px 0 0;
    width: 18px;
    height: 19px;
    background-image: url(../images/common/ico-search.png?v7864e659fb49b76ce4e56a7393d60793);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain
  }

  .b-search__row__condition .c-btn.-search span {
    flex: unset
  }

  @media (hover:hover) {
    .b-search__row__condition .c-btn.-search:hover {
      opacity: .7
    }
  }

  .b-search__row__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: 100%
  }

  .b-search__row__list li a {
    display: block;
    position: relative;
    padding: 23px 10px;
    border: 1px solid rgba(var(--col_rgbPrimary), .2);
    color: var(--col_primary);
    text-align: center
  }

  @media (hover:hover) {
    .b-search__row__list li a:hover span:after {
      transform: translateX(5px)
    }
  }

  .b-search__row__list li a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, .2);
    opacity: .2
  }

  .b-search__row__list li a span {
    position: relative;
    display: inline-block;
    padding-right: 20px
  }

  .b-search__row__list li a span:after {
    content: "";
    position: absolute;
    right: 0;
    top: 3px;
    bottom: 0;
    margin: auto;
    width: 7px;
    height: 13px;
    background-image: url(../images/common/ico-arrow-primary.svg?v0742a790efd30797a57cec7b5f74d156);
    background-repeat: no-repeat;
    background-size: contain;
    transition: transform .3s ease-out;
    will-change: transform
  }

  .b-search__row__list li:not(:nth-child(4n+1)) a {
    margin-left: -1px
  }

  .b-search__row .searchJobDetail option.disable {
    display: none
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .b-search {
    padding-top: 4.685212298682284vw;
    padding-bottom: 5.051244509516837vw;
    background: var(--col_body);
    color: #fff
  }

  .b-search__heading {
    margin-bottom: 3.3674963396778916vw
  }

  .b-search__heading .c-ttl01--en {
    padding-left: .5856515373352855vw;
    letter-spacing: -.013em
  }

  .b-search__heading .c-ttl01--jp {
    margin-left: -.7320644216691069vw;
    margin-top: 2.781844802342606vw
  }

  .b-search__row {
    padding-top: 1.2445095168374818vw;
    padding-bottom: 2.2693997071742316vw;
    border-top: 1px solid rgba(255, 255, 255, .1)
  }

  .b-search__row__ttl {
    margin-bottom: .7320644216691069vw;
    font-size: 1.7569546120058566vw;
    line-height: 1.92;
    font-weight: 400
  }

  .b-search__row__condition {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 1.4641288433382138vw
  }

  .b-search__row__condition .c-btn.-search {
    display: flex;
    justify-content: center;
    background: var(--col_primary);
    border-color: var(--col_primary);
    margin: 0;
    color: #fff
  }

  .b-search__row__condition .c-btn.-search .c-btn__ico {
    position: relative;
    top: unset;
    bottom: unset;
    left: unset;
    right: unset;
    margin: 0 .5856515373352855vw 0 0;
    width: 1.3177159590043925vw;
    height: 1.390922401171303vw;
    background-image: url(../images/common/ico-search.png?v7864e659fb49b76ce4e56a7393d60793);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain
  }

  .b-search__row__condition .c-btn.-search span {
    flex: unset
  }

  @media (hover:hover) {
    .b-search__row__condition .c-btn.-search:hover {
      opacity: .7
    }
  }

  .b-search__row__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: 100%
  }

  .b-search__row__list li a {
    display: block;
    position: relative;
    padding: 1.6837481698389458vw .7320644216691069vw;
    border: 1px solid rgba(var(--col_rgbPrimary), .2);
    color: var(--col_primary);
    text-align: center
  }

  @media (hover:hover) {
    .b-search__row__list li a:hover span:after {
      transform: translateX(.36603221083455345vw)
    }
  }

  .b-search__row__list li a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, .2);
    opacity: .2
  }

  .b-search__row__list li a span {
    position: relative;
    display: inline-block;
    padding-right: 1.4641288433382138vw
  }

  .b-search__row__list li a span:after {
    content: "";
    position: absolute;
    right: 0;
    top: .21961932650073207vw;
    bottom: 0;
    margin: auto;
    width: .5124450951683748vw;
    height: .951683748169839vw;
    background-image: url(../images/common/ico-arrow-primary.svg?v0742a790efd30797a57cec7b5f74d156);
    background-repeat: no-repeat;
    background-size: contain;
    transition: transform .3s ease-out;
    will-change: transform
  }

  .b-search__row__list li:not(:nth-child(4n+1)) a {
    margin-left: -.07320644216691069vw
  }

  .b-search__row .searchJobDetail option.disable {
    display: none
  }
}

@media only screen and (max-width:768px) {
  .b-search {
    padding-top: 13.541666666666666vw;
    padding-bottom: 15.885416666666666vw;
    background: var(--col_body);
    color: #fff
  }

  .b-search__heading {
    margin-bottom: 7.161458333333333vw
  }

  .b-search__heading .c-ttl01--en {
    padding-left: .78125vw;
    letter-spacing: .01em
  }

  .b-search__heading .c-ttl01--jp {
    margin-left: -1.0416666666666665vw;
    margin-top: 2.473958333333333vw
  }

  .b-search__ctn {
    border-bottom: 1px solid rgba(255, 255, 255, .1)
  }

  .b-search__row {
    padding-top: 2.213541666666667vw;
    padding-bottom: 5.208333333333334vw;
    border-top: 1px solid rgba(255, 255, 255, .1)
  }

  .b-search__row__ttl {
    margin-bottom: 3.2552083333333335vw;
    font-size: 4.464285714285714vw;
    line-height: 1.44;
    font-weight: 400
  }

  .b-search__row__condition {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 2.604166666666667vw
  }

  .b-search__row__condition .c-btn.-search {
    display: flex;
    justify-content: center;
    padding-top: 2.34375vw;
    padding-bottom: 2.34375vw;
    background: var(--col_primary);
    border-color: var(--col_primary);
    margin: 0;
    color: #fff
  }

  .b-search__row__condition .c-btn.-search .c-btn__ico {
    position: relative;
    top: unset;
    bottom: unset;
    left: unset;
    right: unset;
    margin: 0 1.0416666666666665vw 0 0;
    width: 2.994791666666667vw;
    height: 2.994791666666667vw;
    background-image: url(../images/common/ico-search.png?v7864e659fb49b76ce4e56a7393d60793);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain
  }

  .b-search__row__condition .c-btn.-search span {
    flex: unset
  }

  .b-search__row__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 100%
  }

  .b-search__row__list li a {
    display: block;
    position: relative;
    padding: 3.7760416666666665vw 1.953125vw;
    border: 1px solid rgba(var(--col_rgbPrimary), .2);
    color: var(--col_primary);
    text-align: center
  }

  .b-search__row__list li a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, .2);
    opacity: .2
  }

  .b-search__row__list li a span {
    position: relative;
    display: inline-block;
    padding-right: 2.604166666666667vw
  }

  .b-search__row__list li a span:after {
    content: "";
    position: absolute;
    right: 0;
    top: .13020833333333331vw;
    bottom: 0;
    margin: auto;
    width: 1.3020833333333335vw;
    height: 2.34375vw;
    background-image: url(../images/common/ico-arrow-primary.svg?v0742a790efd30797a57cec7b5f74d156);
    background-repeat: no-repeat;
    background-size: contain
  }

  .b-search__row .searchJobDetail option.disable {
    display: none
  }
}

@media (min-width:1367px),
print {
  .c-faq {
    background-color: var(--col_body);
    padding: 83px 0 101px
  }

  .c-faq .row {
    display: grid;
    grid-template-areas: "title box" "btn box" ". box";
    grid-template-columns: 190px 1fr
  }

  .c-faq .c-ttl01 {
    grid-area: title;
    margin-left: -10px
  }

  .c-faq__btn {
    width: 176px;
    grid-area: btn;
    margin-top: 48px
  }

  .c-faq__box {
    grid-area: box;
    margin-left: 56px;
    margin-top: 16px
  }

  .c-faq__box .accordion {
    box-sizing: border-box;
    position: relative;
    padding: 22px 0 18px 27px;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
  }

  .c-faq__box .accordion:first-child {
    border-top: 1px solid rgba(255, 255, 255, .1)
  }

  .c-faq__box .accordion__trigger {
    position: relative;
    padding: 0 35px 5px 33px;
    font-size: 1.8001800180018002rem;
    line-height: 2.88;
    font-weight: 400;
    letter-spacing: 0;
    color: #fff;
    cursor: pointer;
    transition: opacity .2s ease-out;
    will-change: opacity
  }

  @media (hover:hover) {
    .c-faq__box .accordion__trigger:hover {
      opacity: .7
    }
  }

  .c-faq__box .accordion__trigger:before {
    content: "Q";
    position: absolute;
    top: -1px;
    left: 0;
    font-size: 2.9252925292529253rem;
    line-height: 1.77;
    font-weight: 600;
    letter-spacing: .05em;
    color: #fff;
    font-family: var(--font_en)
  }

  .c-faq__box .accordion__trigger:after {
    content: "";
    position: absolute;
    display: flex;
    align-items: center;
    top: -3px;
    bottom: 0;
    right: 21px;
    width: 12px;
    height: 7px;
    margin: auto 0;
    background: url(../images/common/ico-arrow-faq.svg?v49f9c0b1b2458050dff1b0b013ab23b4)no-repeat top left;
    background-size: contain;
    transition: transform .3s ease-in-out;
    will-change: transform
  }

  .c-faq__box .accordion__trigger.active:after {
    transform: rotate(180deg)
  }

  .c-faq__box .accordion__target {
    overflow: hidden;
    height: 0;
    box-sizing: border-box
  }

  .c-faq__box .accordion__inner {
    position: relative;
    padding: 0 65px 12px 58px;
    font-size: 1.8001800180018002rem;
    line-height: 2;
    letter-spacing: 0;
    color: var(--col_primary)
  }

  .c-faq__box .accordion__inner a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px
  }

  .c-faq__box .accordion__inner:before {
    content: "A";
    position: absolute;
    top: 2px;
    left: 36px;
    font-size: 2.25022502250225rem;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: .05em;
    color: var(--col_primary);
    font-family: var(--font_en)
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .c-faq {
    background-color: var(--col_body);
    padding: 6.076134699853587vw 0 7.393850658857979vw
  }

  .c-faq .row {
    display: grid;
    grid-template-areas: "title box" "btn box" ". box";
    grid-template-columns: 13.90922401171303vw 1fr
  }

  .c-faq .c-ttl01 {
    grid-area: title;
    margin-left: -.7320644216691069vw
  }

  .c-faq__btn {
    width: 12.88433382137628vw;
    grid-area: btn;
    margin-top: 3.513909224011713vw
  }

  .c-faq__box {
    grid-area: box;
    margin-left: 4.099560761346998vw;
    margin-top: 1.171303074670571vw
  }

  .c-faq__box .accordion {
    box-sizing: border-box;
    position: relative;
    padding: 1.610541727672035vw 0 1.3177159590043925vw 1.9765739385065886vw;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
  }

  .c-faq__box .accordion:first-child {
    border-top: 1px solid rgba(255, 255, 255, .1)
  }

  .c-faq__box .accordion__trigger {
    position: relative;
    padding: 0 2.562225475841874vw .36603221083455345vw 2.4158125915080526vw;
    font-size: 1.171303074670571vw;
    line-height: 2.88;
    font-weight: 400;
    letter-spacing: 0;
    color: #fff;
    cursor: pointer;
    transition: opacity .2s ease-out;
    will-change: opacity
  }

  @media (hover:hover) {
    .c-faq__box .accordion__trigger:hover {
      opacity: .7
    }
  }

  .c-faq__box .accordion__trigger:before {
    content: "Q";
    position: absolute;
    top: -.07320644216691069vw;
    left: 0;
    font-size: 1.903367496339678vw;
    line-height: 1.77;
    font-weight: 600;
    letter-spacing: .05em;
    color: #fff;
    font-family: var(--font_en)
  }

  .c-faq__box .accordion__trigger:after {
    content: "";
    position: absolute;
    display: flex;
    align-items: center;
    top: -.21961932650073207vw;
    bottom: 0;
    right: 1.5373352855051245vw;
    width: .8784773060029283vw;
    height: .5124450951683748vw;
    margin: auto 0;
    background: url(../images/common/ico-arrow-faq.svg?v49f9c0b1b2458050dff1b0b013ab23b4)no-repeat top left;
    background-size: contain;
    transition: transform .3s ease-in-out;
    will-change: transform
  }

  .c-faq__box .accordion__trigger.active:after {
    transform: rotate(180deg)
  }

  .c-faq__box .accordion__target {
    overflow: hidden;
    height: 0;
    box-sizing: border-box
  }

  .c-faq__box .accordion__inner {
    position: relative;
    padding: 0 4.758418740849195vw .8784773060029283vw 4.24597364568082vw;
    font-size: 1.171303074670571vw;
    line-height: 2;
    letter-spacing: 0;
    color: var(--col_primary)
  }

  .c-faq__box .accordion__inner a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: .29282576866764276vw
  }

  .c-faq__box .accordion__inner:before {
    content: "A";
    position: absolute;
    top: .14641288433382138vw;
    left: 2.635431918008785vw;
    font-size: 1.4641288433382138vw;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: .05em;
    color: var(--col_primary);
    font-family: var(--font_en)
  }
}

@media only screen and (max-width:768px) {
  .c-faq {
    background-color: var(--col_body);
    padding: 13.541666666666666vw 0 15.494791666666666vw
  }

  .c-faq .c-ttl01 {
    margin-left: -1.171875vw;
    margin-bottom: 7.161458333333333vw
  }

  .c-faq__btn {
    max-width: 52.083333333333336vw;
    width: 100%;
    margin: 6.640625vw auto 0
  }

  .c-faq__box {
    margin-top: 2.083333333333333vw
  }

  .c-faq__box .accordion {
    box-sizing: border-box;
    position: relative;
    padding: 3.90625vw 0 3.515625vw;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
  }

  .c-faq__box .accordion:first-child {
    border-top: 1px solid rgba(255, 255, 255, .1)
  }

  .c-faq__box .accordion__trigger {
    position: relative;
    padding: 0 4.557291666666666vw 0 6.510416666666667vw;
    font-size: 3.90625vw;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: 0;
    color: #fff;
    cursor: pointer;
    transition: opacity .2s ease-out;
    will-change: opacity
  }

  .c-faq__box .accordion__trigger:before {
    content: "Q";
    position: absolute;
    top: -1.3020833333333335vw;
    left: -.26041666666666663vw;
    font-size: 5.3013392857142865vw;
    line-height: 1.79;
    font-weight: 600;
    letter-spacing: .05em;
    color: #fff;
    font-family: var(--font_en)
  }

  .c-faq__box .accordion__trigger:after {
    content: "";
    position: absolute;
    top: 2.604166666666667vw;
    right: 0;
    width: 2.34375vw;
    height: 1.3020833333333335vw;
    margin: auto 0;
    background: url(../images/common/ico-arrow-faq.svg?v49f9c0b1b2458050dff1b0b013ab23b4)no-repeat top left;
    background-size: contain;
    transition: transform .3s ease-in-out;
    will-change: transform
  }

  .c-faq__box .accordion__trigger.active:after {
    transform: rotate(180deg)
  }

  .c-faq__box .accordion__target {
    overflow: hidden;
    height: 0;
    box-sizing: border-box
  }

  .c-faq__box .accordion__inner {
    position: relative;
    padding: 1.953125vw 5.208333333333334vw 0 10.677083333333332vw;
    font-size: 3.6272321428571432vw;
    line-height: 1.77;
    letter-spacing: 0;
    color: var(--col_primary)
  }

  .c-faq__box .accordion__inner a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: .78125vw
  }

  .c-faq__box .accordion__inner:before {
    content: "A";
    position: absolute;
    top: .6510416666666667vw;
    left: 6.510416666666667vw;
    font-size: 4.185267857142858vw;
    line-height: 2.27;
    font-weight: 600;
    letter-spacing: .05em;
    color: var(--col_primary);
    font-family: var(--font_en)
  }
}

@media (min-width:1367px),
print {
  .c-human {
    padding: 82px 0 100px
  }

  .c-human__wrap {
    position: relative
  }

  .c-human .c-ttl01 {
    margin-left: -11px;
    padding-right: 300px
  }

  .c-human__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 39px;
    margin-top: 60px
  }

  .c-human__slider {
    grid-area: slider;
    margin-top: 46px;
    width: 100%
  }

  .c-human__slider .swiper-wrapper {
    height: auto
  }

  .c-human__slider.no-swiper .c-human__slider__button {
    display: none
  }

  .c-human__slider .swiper-slide {
    width: 374px;
    height: auto
  }

  .c-human__slider__button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 38px
  }

  .c-human__slider__button--next {
    width: 200px;
    height: 12px;
    cursor: pointer;
    display: flex;
    transition: .3s opacity ease-out
  }

  @media (hover:hover) {
    .c-human__slider__button--next:hover {
      opacity: .7
    }
  }

  .c-human__slider__button--prev {
    width: 200px;
    height: 12px;
    cursor: pointer;
    display: flex;
    transition: .3s opacity ease-out
  }

  @media (hover:hover) {
    .c-human__slider__button--prev:hover {
      opacity: .7
    }
  }

  .c-human__button {
    top: 24px;
    position: absolute;
    right: 0;
    width: 270px
  }

  .c-human__item {
    display: block;
    height: 100%
  }

  .c-human__item__image {
    position: relative
  }

  .c-human__item__image:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 167px;
    left: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 0, #000 100%);
    opacity: .8
  }

  .c-human__item__image picture {
    display: block;
    height: 485px
  }

  .c-human__item__image .-ttl {
    position: absolute;
    left: 27px;
    bottom: 22px;
    font-weight: 500;
    right: 10px;
    color: #fff;
    font-size: 3.1503150315031503rem;
    line-height: 1.5;
    letter-spacing: .05em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: break-word
  }

  .c-human__item__ctn {
    position: relative;
    border: 1px solid var(--col_primary);
    border-top: none;
    padding: 24px 30px 20px;
    display: block
  }

  .c-human__item__ctn:after {
    content: "";
    position: absolute;
    background-color: var(--col_primary);
    opacity: .05;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -1
  }

  .c-human__item__ctn:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 21px;
    width: 7px;
    height: 12px;
    background-image: url(../images/common/ico-arrow-primary.svg?v0742a790efd30797a57cec7b5f74d156);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 7px 12px
  }

  .c-human__item--position {
    color: var(--col_primary);
    font-size: 2.025202520252025rem;
    line-height: 1.56;
    font-weight: 500
  }

  .c-human__item--info {
    color: var(--col_primary)
  }

  .c-human__item--info .-name {
    font-size: 3.6003600360036003rem;
    line-height: 1.25;
    letter-spacing: .09em;
    display: block
  }

  .c-human__item--info .-join {
    font-size: 1.9126912691269127rem;
    line-height: 1.65;
    display: block;
    margin-top: 2px
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .c-human {
    padding: 6.002928257686676vw 0 7.320644216691069vw
  }

  .c-human__wrap {
    position: relative
  }

  .c-human .c-ttl01 {
    margin-left: -.8052708638360175vw;
    padding-right: 21.96193265007321vw
  }

  .c-human__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 2.855051244509517vw;
    margin-top: 4.392386530014641vw
  }

  .c-human__slider {
    grid-area: slider;
    margin-top: 3.3674963396778916vw;
    width: 100%
  }

  .c-human__slider .swiper-wrapper {
    height: auto
  }

  .c-human__slider.no-swiper .c-human__slider__button {
    display: none
  }

  .c-human__slider .swiper-slide {
    width: 27.379209370424597vw;
    height: auto
  }

  .c-human__slider__button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2.781844802342606vw
  }

  .c-human__slider__button--next {
    width: 14.641288433382138vw;
    height: .8784773060029283vw;
    cursor: pointer;
    display: flex;
    transition: .3s opacity ease-out
  }

  @media (hover:hover) {
    .c-human__slider__button--next:hover {
      opacity: .7
    }
  }

  .c-human__slider__button--prev {
    width: 14.641288433382138vw;
    height: .8784773060029283vw;
    cursor: pointer;
    display: flex;
    transition: .3s opacity ease-out
  }

  @media (hover:hover) {
    .c-human__slider__button--prev:hover {
      opacity: .7
    }
  }

  .c-human__button {
    top: 1.7569546120058566vw;
    position: absolute;
    right: 0;
    width: 19.765739385065885vw
  }

  .c-human__item {
    display: block;
    height: 100%
  }

  .c-human__item__image {
    position: relative
  }

  .c-human__item__image:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 12.225475841874085vw;
    left: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 0, #000 100%);
    opacity: .8
  }

  .c-human__item__image picture {
    display: block;
    height: 35.50512445095168vw
  }

  .c-human__item__image .-ttl {
    position: absolute;
    left: 1.9765739385065886vw;
    bottom: 1.610541727672035vw;
    font-weight: 500;
    right: .7320644216691069vw;
    color: #fff;
    font-size: 2.049780380673499vw;
    line-height: 1.5;
    letter-spacing: .05em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: break-word
  }

  .c-human__item__ctn {
    position: relative;
    border: 1px solid var(--col_primary);
    border-top: none;
    padding: 1.7569546120058566vw 2.1961932650073206vw 1.4641288433382138vw;
    display: block
  }

  .c-human__item__ctn:after {
    content: "";
    position: absolute;
    background-color: var(--col_primary);
    opacity: .05;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -1
  }

  .c-human__item__ctn:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 1.5373352855051245vw;
    width: .5124450951683748vw;
    height: .8784773060029283vw;
    background-image: url(../images/common/ico-arrow-primary.svg?v0742a790efd30797a57cec7b5f74d156);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: .5124450951683748vw .8784773060029283vw
  }

  .c-human__item--position {
    color: var(--col_primary);
    font-size: 1.3177159590043925vw;
    line-height: 1.56;
    font-weight: 500
  }

  .c-human__item--info {
    color: var(--col_primary)
  }

  .c-human__item--info .-name {
    font-size: 2.342606149341142vw;
    line-height: 1.25;
    letter-spacing: .09em;
    display: block
  }

  .c-human__item--info .-join {
    font-size: 1.2445095168374818vw;
    line-height: 1.65;
    display: block;
    margin-top: .14641288433382138vw
  }
}

@media only screen and (max-width:768px) {
  .c-human {
    padding: 13.541666666666666vw 0 15.625vw
  }

  .c-human .c-ttl01 {
    margin-left: -1.0416666666666665vw;
    margin-bottom: 7.421875vw
  }

  .c-human__list {
    display: grid;
    grid-template-columns: repeat(1fr);
    grid-gap: 5.208333333333334vw;
    margin-top: 10.416666666666668vw
  }

  .c-human__slider {
    width: auto
  }

  .c-human__slider.swiper {
    margin-right: -6.510416666666667vw
  }

  .c-human__slider .swiper-wrapper {
    height: auto
  }

  .c-human__slider .swiper-slide {
    height: auto
  }

  .c-human__slider .swiper-slide {
    width: 69.66145833333334vw
  }

  .c-human__item {
    display: flex;
    flex-direction: column;
    height: 100%
  }

  .c-human__item__image {
    position: relative;
    flex-shrink: 0
  }

  .c-human__item__image:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 21.744791666666664vw;
    left: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 0, #000 100%);
    opacity: .8
  }

  .c-human__item__image picture {
    display: block;
    height: 89.97395833333334vw
  }

  .c-human__item__image .-ttl {
    position: absolute;
    left: 6.119791666666666vw;
    right: 3.2552083333333335vw;
    bottom: 5.078125vw;
    font-weight: 500;
    color: #fff;
    font-size: 5.580357142857143vw;
    line-height: 1.5;
    letter-spacing: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: break-word
  }

  .c-human__item__ctn {
    position: relative;
    flex: 1;
    border: 1px solid var(--col_primary);
    border-top: none;
    padding: 4.296875vw 7.8125vw 3.90625vw 6.25vw;
    display: block
  }

  .c-human__item__ctn:after {
    content: "";
    position: absolute;
    background-color: var(--col_primary);
    opacity: .05;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -1
  }

  .c-human__item__ctn:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 5.729166666666666vw;
    width: 1.5625vw;
    height: 2.734375vw;
    background-image: url(../images/common/ico-arrow-primary.svg?v0742a790efd30797a57cec7b5f74d156);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain
  }

  .c-human__item--position {
    color: var(--col_primary);
    font-size: 3.6272321428571432vw;
    line-height: 1.54;
    font-weight: 500
  }

  .c-human__item--info {
    color: var(--col_primary)
  }

  .c-human__item--info .-name {
    font-size: 6.2779017857142865vw;
    line-height: 1.33;
    letter-spacing: .09em;
    display: block
  }

  .c-human__item--info .-join {
    font-size: 3.6272321428571432vw;
    line-height: 1.54;
    display: block;
    margin-top: .6510416666666667vw
  }

  .c-human__button {
    margin-top: 6.510416666666667vw;
    display: flex;
    justify-content: center
  }

  .c-human__button .c-btn {
    width: 52.083333333333336vw
  }
}

@font-face {
  font-family: "swiper-icons";
  src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);
  font-weight: 400;
  font-style: normal
}

:root {
  --swiper-theme-color: #007aff
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1
}

.swiper-vertical>.swiper-wrapper {
  flex-direction: column
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0, 0, 0)
}

.swiper-pointer-events {
  touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform
}

.swiper-slide-invisible-blank {
  visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px
}

.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), transparent)
}

.swiper-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
  scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
  scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical>.swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after)
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: center center
}

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size)
}

:root {
  --swiper-navigation-size: 44px
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size)/44*27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size)/2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 10px;
  right: auto
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 10px;
  left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next"
}

.swiper-button-lock {
  display: none
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 10px;
  left: 0;
  width: 100%
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(.33);
  position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(.33)
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2)
}

button.swiper-pagination-bullet {
  border: 0;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer
}

.swiper-pagination-bullet:only-child {
  display: none !important
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-vertical>.swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0, -50%, 0)
}

.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px)0;
  display: block
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, .25);
  position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0
}

.swiper-vertical>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0
}

.swiper-pagination-lock {
  display: none
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, .1)
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%
}

.swiper-vertical>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, .5);
  border-radius: 10px;
  left: 0;
  top: 0
}

.swiper-scrollbar-cursor-drag {
  cursor: move
}

.swiper-scrollbar-lock {
  display: none
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center
}

.swiper-zoom-container>img,
.swiper-zoom-container>svg,
.swiper-zoom-container>canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

.swiper-slide-zoomed {
  cursor: move
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg)
  }

  to {
    transform: rotate(360deg)
  }
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
  flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-cube {
  overflow: visible
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100%0
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev,
.swiper-cube .swiper-slide-next+.swiper-slide {
  pointer-events: auto;
  visibility: visible
}

.swiper-cube .swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: .6;
  z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px)
}

.swiper-flip {
  overflow: visible
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height
}

.swiper-cards {
  overflow: visible
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden
}

@media (min-width:1367px),
print {
  .c-card__list.-noneSlide {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 45px 40px
  }

  .c-card__list.-noneSlide .c-card__desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word
  }

  .c-card__list li a {
    position: relative;
    display: block;
    box-shadow: 0 6px 14px 0 rgba(0, 0, 0, .07)
  }

  .c-card__list li a:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    background-color: var(--col_primary);
    background-image: url(../images/common/ico-arrow-white.svg?v6f708ebefe8824345c96132e047730b6);
    background-position: center center;
    background-size: 8px 13px;
    background-repeat: no-repeat
  }

  .c-card__detail {
    padding: 31px 40px 72px;
    background: #fff
  }

  .c-card__photo {
    width: 100%;
    height: 240px
  }

  .c-card__title {
    margin-bottom: 6px;
    font-size: 2.4752475247524752rem;
    font-weight: 500;
    line-height: 1.64;
    letter-spacing: normal
  }

  .c-card__desc {
    font-feature-settings: "palt" 1
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .c-card__list.-noneSlide {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 3.294289897510981vw 2.9282576866764276vw
  }

  .c-card__list.-noneSlide .c-card__desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word
  }

  .c-card__list li a {
    position: relative;
    display: block;
    box-shadow: 0 .43923865300146414vw 1.0248901903367496vw 0 rgba(0, 0, 0, .07)
  }

  .c-card__list li a:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 3.6603221083455346vw;
    height: 3.6603221083455346vw;
    background-color: var(--col_primary);
    background-image: url(../images/common/ico-arrow-white.svg?v6f708ebefe8824345c96132e047730b6);
    background-position: center center;
    background-size: .5856515373352855vw .951683748169839vw;
    background-repeat: no-repeat
  }

  .c-card__detail {
    padding: 2.2693997071742316vw 2.9282576866764276vw 5.27086383601757vw;
    background: #fff
  }

  .c-card__photo {
    width: 100%;
    height: 17.569546120058565vw
  }

  .c-card__title {
    margin-bottom: .43923865300146414vw;
    font-size: 1.610541727672035vw;
    font-weight: 500;
    line-height: 1.64;
    letter-spacing: normal
  }

  .c-card__desc {
    font-feature-settings: "palt" 1
  }
}

@media only screen and (max-width:768px) {
  .c-card__list {
    display: grid !important;
    grid-template-columns: repeat(1fr);
    grid-gap: 5.208333333333334vw
  }

  .c-card__list.-noneSlide .c-card__desc {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word
  }

  .c-card__list li a {
    position: relative;
    display: block;
    box-shadow: 0 .78125vw 1.8229166666666667vw 0 rgba(0, 0, 0, .07)
  }

  .c-card__list li a:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 10.416666666666668vw;
    height: 10.416666666666668vw;
    background-color: var(--col_primary);
    background-image: url(../images/common/ico-arrow-white.svg?v6f708ebefe8824345c96132e047730b6);
    background-position: center center;
    background-size: 1.5625vw 2.604166666666667vw;
    background-repeat: no-repeat
  }

  .c-card__detail {
    padding: 6.119791666666666vw 6.510416666666667vw 11.588541666666668vw;
    background: #fff
  }

  .c-card__photo {
    width: 100%;
    height: 39.0625vw
  }

  .c-card__title {
    margin-bottom: 2.083333333333333vw;
    font-size: 5.022321428571429vw;
    font-weight: 500;
    line-height: 1
  }

  .c-card__desc {
    letter-spacing: 0
  }
}

@media (min-width:1367px),
print {
  .b-category {
    margin-bottom: 100px
  }

  .b-category-detail {
    padding-bottom: 91px;
    margin-top: -16px
  }

  .b-related {
    background: #e6e7e8;
    padding: 84px 0 100px
  }

  .b-related__ttl {
    margin-bottom: 50px;
    font-size: 3.3753375337533753rem;
    line-height: 1.67;
    font-weight: 500;
    letter-spacing: -.05em;
    text-align: center
  }
}

@media (min-width:769px) and (max-width:1366px) {
  .b-category {
    margin-bottom: 7.320644216691069vw
  }

  .b-category-detail {
    padding-bottom: 6.661786237188873vw;
    margin-top: -1.171303074670571vw
  }

  .b-related {
    background: #e6e7e8;
    padding: 6.149341142020498vw 0 7.320644216691069vw
  }

  .b-related__ttl {
    margin-bottom: 3.6603221083455346vw;
    font-size: 2.1961932650073206vw;
    line-height: 1.67;
    font-weight: 500;
    letter-spacing: -.05em;
    text-align: center
  }
}

@media only screen and (max-width:768px) {
  .b-category {
    margin-bottom: 15.625vw
  }

  .b-category-detail {
    padding-bottom: 14.192708333333334vw;
    margin-top: -1.5625vw
  }

  .b-related {
    background: #e6e7e8;
    padding: 14.0625vw 0 15.625vw
  }

  .b-related__ttl {
    margin-bottom: 9.635416666666668vw;
    font-size: 6.696428571428571vw;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: -.05em;
    text-align: center
  }
}

a {
  color: currentColor;
  text-decoration: none
}

.fit {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.fit--contain {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

.touch-scroll--x {
  overflow-x: scroll;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch
}

.touch-scroll--y {
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch
}

.touch-scroll::-webkit-scrollbar {
  display: none;
  height: 0;
  width: 0
}

.text-center {
  text-align: center
}

.text-right {
  text-align: right
}

html {
  scroll-behavior: smooth
}

body {
  color: var(--col_body);
  font-family: var(--font_base);
  font-weight: 400;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none
}