@charset "UTF-8";
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

.ornament01_01.aniOn,
.ornament02_01.aniOn,
.ornament03_01.aniOn,
.ornament04_01.aniOn,
.ornament05_01.aniOn,
.ornament06_01.aniOn,
.ornament07_01.aniOn {
  -webkit-animation: slideInUp 1s 1 forwards;
  animation: slideInUp 1s 1 forwards;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.ornament01_02.aniOn,
.ornament02_02.aniOn,
.ornament03_02.aniOn,
.ornament04_02.aniOn,
.ornament05_02.aniOn,
.ornament06_02.aniOn,
.ornament07_02.aniOn {
  -webkit-animation: slideInUp 1s 1 forwards;
  animation: slideInUp 1s 1 forwards;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.about.aniOn,
.merits.aniOn,
.data.aniOn,
.voice.aniOn,
.study.aniOn,
.test.aniOn,
.requirements.aniOn {
  -webkit-animation: fadeIn 1s 1 forwards;
  animation: fadeIn 1s 1 forwards;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.data .subSection.aniOn,
.voice .voiceMainItem.aniOn,
.study .subSection.aniOn {
  -webkit-animation: slideInUp 1s 1 forwards;
  animation: slideInUp 1s 1 forwards;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

/* ==========================================================
!透明度変化
========================================================== */
@-webkit-keyframes fadeIn {
  from {
    visibility: visible;
    opacity: 0;
  }
  to {
    visibility: visible;
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    visibility: visible;
    opacity: 0;
  }
  to {
    visibility: visible;
    opacity: 1;
  }
}
@-webkit-keyframes fadeInOut {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeInOut {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* ==========================================================
!下から上へ移動しながら透明度変化
========================================================== */
@-webkit-keyframes slideInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(40px);
  }
  99.9%, to {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes slideInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
  }
  99.9%, to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* ==========================================================
!グラデーション移動
========================================================== */
@-webkit-keyframes gradientToRight {
  0% {
    background-position: 100% 50%;
  }
  50% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes gradientToRight {
  0% {
    background-position: 100% 50%;
  }
  50% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  font-weight: normal;
  font-style: normal;
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
}
/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  opacity: 0.75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir=rtl] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: "←";
}

[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir=rtl] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: "→";
}

[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: "•";
  text-align: center;
  opacity: 0.25;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  opacity: 0.75;
  color: black;
}

/*
=======================================
	Reset CSS
=======================================
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
  display: block;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

ul,
ol {
  list-style-type: none;
}

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

img,
input,
select,
textarea {
  vertical-align: middle;
}

span,
small,
strong,
em {
  color: inherit;
}

:before,
:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

a {
  color: #0f59ad;
  text-decoration: none;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.telLink a {
  color: inherit;
  text-decoration: underline;
}

a:hover img {
  opacity: 0.75;
  filter: alpha(opacity=75);
}

.ios a:hover img {
  opacity: 1;
}

/*
=========================================
	Base Layout
=========================================
*/
/*Base Font
---------------*/
html {
  font-size: 62.5%;
  overflow-y: auto;
  overflow-x: hidden;
}

body {
  color: #333;
  font-size: 100%;
  /* font-family: "ナウ-MM", "NOW-MM", "ヒラギノ角ゴ W3 JIS2004", "Hiragino Kaku Gothic W3 JIS2004", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, sans-serif; */
  font-family: "こぶりなゴシック W3 JIS2004", "Koburina Gothic W3 JIS2004", "中ゴシックBBB", "Gothic Medium BBB", "ヒラギノ角ゴ W3 JIS2004", "Hiragino Kaku Gothic W3 JIS2004";
  line-height: 1.56;
  font-size: 14px;
  font-size: 1.4em;
  overflow-y: auto;
  overflow-x: hidden;
}

h2.h2-basic01,
h3.h3-basic01,
.tabArea li a,
.dl-scenes01 dt,
h2.h2-test01,
.faqList01 dt,
p.search_list_title,
.about .campaign_tag,
#campaign0605 .inner .title .sub,
#campaign0605 .inner .title h2,
#campaign0605 .inner .title .lead,
#campaign0605 .inner .festa-title,
#campaign0605 .inner .link-button,
#campaign0605 .bottom-wrap {
  font-family: "Ryumin Medium KL", "ヒラギノ明朝 W3 JIS2004", "Hiragino Mincho W3 JIS2004", "ヒラギノ明朝 Pro W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
}

.Bld {
  /* font-family: "ナウ-MM", "NOW-MM", "ヒラギノ角ゴ W3 JIS2004", "Hiragino Kaku Gothic W3 JIS2004", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, sans-serif; */
  font-family: "こぶりなゴシック W6 JIS2004", "Koburina Gothic W6 JIS2004", "中ゴシックBBB", "Gothic Medium BBB", "ヒラギノ角ゴ W6 JIS2004", "Hiragino Kaku Gothic W6 JIS2004";
  font-weight: bold;
}

.myPageRegCap_span {
  background: #D893B9;
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  font-family: "こぶりなゴシック W6 JIS2004", "Koburina Gothic W6 JIS2004", "中ゴシックBBB", "Gothic Medium BBB", "ヒラギノ角ゴ W6 JIS2004", "Hiragino Kaku Gothic W6 JIS2004";
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.5;
  margin: 0 0 15px;
  padding: 20px 10px;
  text-align: center;
}

@font-face {
  font-family: "Happy-Icons";
  src: url("https://db.onlinewebfonts.com/t/ea7908a3a5a20826bf0505cfa488e4c1.eot");
  src: url("https://db.onlinewebfonts.com/t/ea7908a3a5a20826bf0505cfa488e4c1.eot?#iefix") format("embedded-opentype"), url("https://db.onlinewebfonts.com/t/ea7908a3a5a20826bf0505cfa488e4c1.woff2") format("woff2"), url("https://db.onlinewebfonts.com/t/ea7908a3a5a20826bf0505cfa488e4c1.woff") format("woff"), url("https://db.onlinewebfonts.com/t/ea7908a3a5a20826bf0505cfa488e4c1.ttf") format("truetype"), url("https://db.onlinewebfonts.com/t/ea7908a3a5a20826bf0505cfa488e4c1.svg#Happy-Icons") format("svg");
}
[class^=icon-],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "Happy-Icons" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-rriver2018:before {
  content: "\e900";
}

@media screen and (min-width: 750px) {
  body {
    font-size: 20px;
    font-size: 2em;
  }
}
/* 750 */
/*Container
---------------*/
.container {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 8vw;
}

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

.sp-full {
  margin-left: -10px;
  margin-right: -10px;
}

@media screen and (min-width: 750px) {
  .container {
    padding: 0 10px;
  }
  .sp-full {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (min-width: 960px) {
  .container {
    padding: 0;
  }
}
/*Header
---------------*/
.siteHeader {
  /* padding: 5px 0; 2022-01-05 ORG*/
  padding: 10px 0;
  background: #ffffff;
}

.siteHeader .container {
  padding: 0 10px;
}

.hdLogo {
  width: 50%;
}

.hd_sns {
  /* background: #ff0; */
  position: absolute;
  top: 0;
  right: 3%;
}

@media screen and (min-width: 750px) {
  .siteHeader {
    height: auto;
    /* padding: 6px 0; 2022-01-05 ORG*/
    padding: 15px 0;
  }
}
/*mainVisual
---------------*/
.mainVisual {
  position: relative;
  background: url(../img/mainimg44_sp.jpg) center top no-repeat;
  background-size: cover;
}

.mainVisual::before {
  content: "";
  display: block;
  padding: 85.3333% 0 0 0;
}

.mainVisual .container {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.mainVisual .mainVisualText {
  /* background: rgb(200,200,100,.5); */
  position: absolute;
  right: 20%;
  top: 23.5%;
  width: 10%;
  height: 35%;
}

.mainVisual .mainVisualTextList {
  position: absolute;
  left: 8%;
  bottom: 6%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 64%;
  max-width: 480px;
}

.mainVisual .mainVisualTextList li {
  position: relative;
  width: calc(33% - 5px);
  max-width: 150px;
  border-width: 0.2666vw 0.2666vw 0.2666vw 0.2666vw;
  border-style: solid;
  border-color: #ffffff;
  border-radius: 50%;
  background: rgba(28, 33, 30, 0.6) none;
  line-height: 1.2;
}

.mainVisual .mainVisualTextList li:before {
  width: 100%;
  height: 0;
  content: "";
  display: block;
  padding: 100% 0 0 0;
}

.mainVisual .mainVisualTextList li sup {
  position: absolute;
  width: 1em;
  height: 1em;
  color: #ffffff;
  font-size: 1.8vw;
}

.mainVisual .mainVisualTextList li:nth-of-type(1) sup {
  top: 10vw;
  right: 3vw;
}

.mainVisual .mainVisualTextList li:nth-of-type(2) sup {
  top: 12vw;
  right: 3vw;
}

.mainVisual .mainVisualTextList li:nth-of-type(3) sup {
  top: 10vw;
  right: 3vw;
}

.mainVisual .mainVisualTextList li span {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  color: #ffffff;
  font-size: 2.9333vw;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.mainVisual .mainVisualTextList li span em {
  font-size: 5.333vw;
  font-style: normal;
}

.bdrBox a {
  border: 1px solid #fff;
  color: #fff;
  display: block;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1;
  margin: 20px auto 0;
  padding: 2%;
  text-align: center;
}

.myPageLink {
  max-width: 591px;
}

.peatixCap {
  border: 1px solid #fff;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  display: inline-block;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.2;
  margin: 20px auto 0;
  padding: 2%;
  position: relative;
  text-align: left;
  max-width: 440px;
  width: 90%;
}

.peatixCap:before {
  content: "";
  position: absolute;
  top: -23px;
  left: 50%;
  margin-left: -13px;
  border: 13px solid transparent;
  border-bottom: 13px solid #898c8b;
  z-index: 2;
}

.peatixCap:after {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  margin-left: -12px;
  border: 12px solid transparent;
  border-bottom: 12px solid #fff;
  z-index: 1;
}

@media screen and (min-width: 750px) {
  .mainVisual {
    background: url(../img/mainimg44_pc.jpg) center top no-repeat;
    background-size: cover;
    position: relative;
  }
  .mainVisual::before {
    content: "";
    display: block;
    padding: 45.8333% 0 0 0;
  }
  .mainVisual .container {
    /* background: rgba(200,100,200,.5); */
    position: absolute;
    left: 50%;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  .mainVisual .mainVisualText {
    position: absolute;
    right: 125px;
    top: 26.1333%;
    width: 15%;
    height: 45%;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 1.43;
    letter-spacing: 0.22em;
  }
  .mainVisual .mainVisualTextList {
    left: 0;
    bottom: 40px;
    width: 345px;
  }
  .mainVisual .mainVisualTextList li {
    width: 105px;
    border-width: 1px 1px 1px 1px;
  }
  .mainVisual .mainVisualTextList li sup {
    font-size: 12px;
  }
  .mainVisual .mainVisualTextList li:nth-of-type(1) sup {
    top: 50px;
    right: 10px;
  }
  .mainVisual .mainVisualTextList li:nth-of-type(2) sup {
    top: 62px;
    right: 10px;
  }
  .mainVisual .mainVisualTextList li:nth-of-type(3) sup {
    top: 52px;
    right: 10px;
  }
  .mainVisual .mainVisualTextList li span {
    font-size: 16px;
    line-height: 1.2;
  }
  .mainVisual .mainVisualTextList li span em {
    font-size: 28px;
  }
}
@media screen and (min-width: 1024px) {
  .mainVisual .mainVisualText {
    /* background: rgba(200,200,100,.5); */
    position: absolute;
    right: 0;
    top: 30%;
    width: auto;
    height: auto;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 1.43;
    letter-spacing: 0.22em;
  }
}
/*page navi
---------------*/
.pageNav {
  /*background-color: #ffffff;*/
}

.pageNav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}

.pageNav a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 14.6vw;
  padding: 1vw 1vw 1vw 1vw;
  background-color: #ffffff;
  color: #303030;
  text-align: center;
  font-size: 14px;
  font-size: 2.9vw;
  line-height: 1;
}

.pageNav a:hover {
  opacity: 0.6;
}

.pageNav a::after {
  position: absolute;
  left: 50%;
  bottom: 2vw;
  content: "";
  display: block;
  width: 2vw;
  height: 2vw;
  margin: 0 0 0 -1vw;
  border-right: 1px solid #303030;
  border-bottom: 1px solid #303030;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.pageNav .cv a {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(25%, rgb(226, 226, 226)), color-stop(50%, rgb(255, 255, 255)), color-stop(75%, rgb(226, 226, 226)));
  background-image: linear-gradient(90deg, rgb(226, 226, 226) 25%, rgb(255, 255, 255) 50%, rgb(226, 226, 226) 75%);
  background-size: 400% 400%;
  -webkit-animation: gradientToRight 3s ease infinite;
  animation: gradientToRight 3s ease infinite;
}

.pageNav .cv a::after {
  left: auto;
  bottom: auto;
  right: 10px;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(-45deg);
          transform: translate(0, -50%) rotate(-45deg);
}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
}

@media screen and (min-width: 750px), print {
  .pageNav ul {
    max-width: 1000px;
    margin: 0 auto;
  }
  .pageNav li {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .pageNav .cv {
    max-width: 165px;
  }
  .pageNav a {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 75px;
    padding: 10px 0 10px 0;
    font-size: 19px;
  }
  .pageNav a::after {
    position: static;
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: -5px 0 0 0.5em;
  }
  .pageNav .cv a::after {
    margin: 0 0 0 0.5em;
    top: 5px;
    position: relative;
    right: 7px;
  }
  .pageNav a span {
    top: 15px;
    width: 100%;
    font-size: 14px;
  }
  .is-fixed {
    position: fixed;
    top: 0;
    left: 50%;
    z-index: 999;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
li.cv {
  width: min(17vw, 180px);
}

/*Footer
---------------*/
.siteFooter {
  padding: 15px 0 15px 0;
  color: #ffffff;
  font-family: "ヒラギノ角ゴ W3 JIS2004", "Hiragino Kaku Gothic W3 JIS2004", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, sans-serif;
  background: #8e918f none;
}

.ft_sns {
  margin: 30px 0 16px 0;
  padding: 0 8vw 0 8vw;
}

.copyright {
  text-align: center;
  font-size: 10px;
  font-family: Arial, sans-serif;
}

.footerMenu01 {
  text-align: center;
  line-height: 1;
}

.footerMenu01 li {
  display: inline-block;
  padding: 0 5px 0 5px;
  font-size: 10px;
}

.footerMenu01 li + li {
  border-left: 1px solid #ffffff;
}

.footerMenu01 a {
  color: inherit;
}

.pageTop {
  position: relative;
  display: none;
}

.pageTop a {
  overflow: hidden;
  position: fixed;
  right: 10px;
  bottom: 17.7vw;
  display: block;
  width: 40px;
  height: 0;
  padding: 40px 0 0 0;
  background: #8e9290;
  border-radius: 50%;
  -webkit-transition: unset;
  transition: unset;
}

.pageTop a:hover {
  background: #b0b2b0;
}

.pageTop a::before {
  position: absolute;
  left: 50%;
  top: 50%;
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-left: 1px solid #ffffff;
  border-top: 1px solid #ffffff;
  -webkit-transform: translate(-50%, -20%) rotate(45deg);
          transform: translate(-50%, -20%) rotate(45deg);
}

@media screen and (min-width: 750px), print {
  .ft_sns {
    margin: 30px auto;
  }
  .pageTop a {
    width: 55px;
    padding: 55px 0 0 0;
  }
}
/*
=========================================
	Modules
=========================================
*/
/*SNS
---------------*/
.sns {
  /* width: 25.733%;
  max-width: 193px; */
  width: auto;
}

.sns ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.sns ul li {
  position: relative;
  width: 5.75vw;
  height: 5.75vw;
  margin: 0 2px;
}

.sns ul li:hover {
  opacity: 0.75;
}

/* Facebook */
/* Twitter */
.sns ul li.twitter {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sns ul li.twitter a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sns ul li.twitter a .e-font-icon-svg {
  display: block;
  width: 72%;
}

/* Facebook */
.sns ul li.facebook a img {
  display: block;
  height: auto;
  margin: 15% auto 0;
  width: 73%;
}

/* Instagram */
/* Instagram */
.sns ul li.instagram a img {
  display: block;
  height: auto;
  margin: 15% auto 0;
  width: 75%;
}

/* LINE */
.sns ul li.line a img {
  display: block;
  height: auto;
  margin: 15% auto 0;
  width: 80%;
}

.sns ul li a span {
  /* WCAG 2.0 C7 */
  overflow: hidden;
  position: absolute;
  top: -10px;
  width: 1px;
  height: 1px;
}

.ft_sns {
  width: 100%;
  max-width: none;
  text-align: left;
}

.ft_sns ul {
  display: inline-block;
  width: 100%;
  max-width: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.ft_sns ul li {
  display: inline-block;
  width: 8.666vw;
  height: 8.666vw;
  margin: 0 10px 0 0;
}

.ft_sns ul li a:before {
  font: normal 4.5333vw/1 "Font Awesome 5 Brands";
}

@media screen and (min-width: 750px), print {
  .sns {
    width: auto;
  }
  .sns ul li {
    width: 36px;
    height: 36px;
    border-width: 2px 2px 2px 2px;
    margin: 0 2px;
  }
  .sns ul li a:before {
    font-size: 26px;
  }
  .hd_sns {
    margin: 6px 0 0 0;
  }
  .hd_sns ul li a:before {
    font: normal 20px/1 "Font Awesome 5 Brands";
  }
  .ft_sns {
    width: 200px;
    padding: 30px 0 0 0;
    text-align: center;
  }
  .ft_sns ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .ft_sns ul li {
    width: 45px;
    height: 45px;
  }
  .ft_sns ul li:last-child {
    margin: 0;
  }
  .ft_sns ul li a:before {
    font: normal 26px/1 "Font Awesome 5 Brands";
  }
  .sns ul li.twitter {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .sns ul li.twitter a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .sns ul li.twitter a .e-font-icon-svg {
    display: block;
    width: 72%;
  }
}
/*cv box
---------------*/
.cvBox01 {
  margin: 0 0 2.7vw 0;
  padding: 5.8vw 0 5.8vw 0;
  /* background: rgba(19, 27, 24, 0.5); */
  background: #898c8b;
  text-align: center;
}

/* 見出し */
.cvBox01 .cvTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 auto 4.3vw auto;
  width: 83%;
  width: 100%;
}

.cvBox01 .cvTitle span {
  position: relative;
  width: 14vw;
  color: #ffffff;
  font-size: 3.7333vw;
  text-align: center;
}

.cvBox01 .cvTitle span:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 14vw;
  padding: 14vw 0 0 0;
  border-width: 0.2666vw 0.2666vw 0.2666vw 0.2666vw;
  border-style: solid;
  border-color: #ffffff;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
}

.cvBox01 .cvTitle h1 {
  color: #ffffff;
  font-size: 6.9333vw;
  letter-spacing: 0.07em;
}

/* テキスト */
.cvBox01 .cvText {
  margin: 0 0 4.9% 0;
  color: #ffffff;
}

.cvBox01 .cvText span {
  padding: 0 0 0 0.8em;
  font-size: 4.533vw;
}

/* ボタン */
.cvBtn {
  position: relative;
  z-index: 1;
  max-width: 593px;
  margin: 0 auto;
  -webkit-box-shadow: 3px 5px 5px 0px rgba(0, 0, 0, 0.5);
          box-shadow: 3px 5px 5px 0px rgba(0, 0, 0, 0.5);
}

.cvBtn > a,
.cvBtn > span {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  max-width: 593px;
  margin: 0 auto;
  padding: 1.4vw 6vw 2.2vw 6vw;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(25%, rgb(226, 226, 226)), color-stop(50%, rgb(255, 255, 255)), color-stop(75%, rgb(226, 226, 226)));
  background-image: linear-gradient(90deg, rgb(226, 226, 226) 25%, rgb(255, 255, 255) 50%, rgb(226, 226, 226) 75%);
  background-size: 400% 100%;
  -webkit-animation: gradientToRight 3s ease infinite;
  animation: gradientToRight 3s ease infinite;
  color: #303030;
  font-size: 5.33vw;
  line-height: 1.4;
  letter-spacing: -0.01em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.cvBtn > a:hover {
  position: relative;
  left: 2px;
  top: 5px;
}

.cvBtn > a::before {
  position: absolute;
  right: 3.5vw;
  top: 50%;
  margin: -0.25em 0 0 0;
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.cvBtn.payment > a::before {
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
}

.cvBtn > a span {
  font-size: 3.7333vw;
  letter-spacing: -0.05em;
}

.cvBtn.payment {
  margin: 0 auto !important;
}

.cvBtn.payment:after {
  content: none;
}

.cvBtn.payment > a,
.cvBtn.payment > span {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  padding: 3vw 6vw 3vw 6vw;
  color: #ffffff;
  font-size: 3.9333vw;
  text-align: center;
  line-height: 1;
  letter-spacing: -0.05em;
  background: #8e918f;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.cvBtn > a::before {
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
}

.myPageCap {
  display: block;
  line-height: 1;
  margin: 6px auto 0;
}

/*キャンペーンバナー*/
.cvBox01 .bnr {
  max-width: 590px;
  margin: 5.33vw auto 5.33vw auto;
}

/* アンケートテキスト */
.cvBox01 .enqText {
  position: relative;
  max-width: 590px;
  margin: 0em 0 0 5.33vw;
  padding: 0 0 0 2em;
  color: #ffffff;
  font-size: 3vw;
  text-align: left;
}

.cvBox01 .enqText span {
  position: absolute;
  left: 0;
  top: 0;
}

.exWindowIcon {
  display: inline;
  height: auto;
  margin: 0 5px 5px 0;
  width: 30px;
}

@media screen and (min-width: 640px), print {
  .cvBtn > a,
  .cvBtn > span {
    padding: 30px 30px 30px 30px;
    font-size: 28px;
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 750px), print {
  .cvBox01 {
    margin: 0 0 58px 0;
    padding: 9px 0 19px 0;
  }
  /* 見出し */
  .cvBox01 .cvTitle {
    width: 597px;
    margin: 0 auto;
  }
  .cvBox01 .cvTitle span {
    width: 77px;
    font-size: 20px;
  }
  .cvBox01 .cvTitle span:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 77px;
    padding: 77px 0 0 0;
    border-width: 1px 1px 1px 1px;
  }
  .cvBox01 .cvTitle h1 {
    font-size: 52px;
  }
  /* テキスト */
  .cvBox01 .cvText {
    margin: 0 0 10px 0;
  }
  .cvBox01 .cvText span {
    font-size: 24px;
  }
  /* ボタン */
  .cvBtn::after {
    right: -3px;
    bottom: -7px;
  }
  .cvBtn > a::before {
    right: 20px;
  }
  .cvBtn > a,
  .cvBtn > span {
    padding: 18px 2em 18px 2em;
    font-size: 28px;
  }
  .cvBtn > a span {
    font-size: 18px;
  }
  .cvBtn.payment > a,
  .cvBtn.payment > span {
    padding: 16px 2em 16px 2em;
    font-size: 18px;
  }
  /*キャンペーンバナー*/
  .cvBox01 .bnr {
    margin: 35px auto 30px auto;
  }
  /* アンケートテキスト */
  .cvBox01 .enqText {
    margin: 0 auto 0 auto;
    font-size: 14px;
  }
}
/*iOS対策でここに記述*/
@-webkit-keyframes gradientToRight {
  0% {
    background-position: 100% 50%;
  }
  50% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes gradientToRight {
  0% {
    background-position: 100% 50%;
  }
  50% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
/* フローティングボタン
---------------*/
/*.cvBox02 {
	position: fixed;
	left: 0;
	bottom: 0;
	display: block;
	width: 100vw;
	padding: 2.8vw 0 2.6vw 0;
	background-color: rgba(28, 33, 30, 0.5);
}
	.cvBox02 .cvBtn a {
		padding: 1.6vw 0 1.6vw 0;
		text-align: center;
	}

@media screen and (min-width: 750px),print {
	.cvBox02 {
		padding: 24px 0 24px 0;
	}
		.cvBox02 .cvBtn a {
			padding: 10px 0 10px 0;
			font-size: 2.2rem;
		}
}*/
/*Section
---------------*/
.section {
  padding: 21.3vw 0 21.3vw 0;
}

.section :last-child {
  margin-bottom: 0 !important;
}

.section .section {
  padding: 21.3vw 0 0 0;
}

@media screen and (min-width: 750px), print {
  .section {
    padding: 120px 0 120px 0;
  }
  .section .section {
    padding: 120px 0 0 0;
  }
}
/*Sub Section
---------------*/
.section .h2-basic01 .txt-shoulder {
  margin: 0 0 1.5em 0;
}

.section .subSection {
  max-width: 820px;
  margin: 0 auto;
  padding: 10.6vw 0 10.6vw 0;
  border-bottom: 1px solid #e9eeec;
}

.section .h2-basic01 + .subSection {
  border-top: 1px solid #e9eeec;
}

@media screen and (min-width: 750px), print {
  .section .subSection {
    padding: 50px 0 50px 0;
  }
}
/*bacground
---------------*/
.bgGray {
  background: rgba(19, 27, 24, 0.5);
  color: #ffffff;
}

.bgGray * {
  color: inherit !important;
}

.bgCheck {
  background: url(../img/bg_check.png);
  background-size: 11px 11px;
}

@media screen and (min-width: 750px), print {
  .bgCheck {
    background-size: auto;
  }
}
/*Heading
---------------*/
.h2-basic01 {
  margin: 0 0 7vw 0;
  font-size: 25px;
  /*font-size: 6.66vw;*/
  line-height: 50px;
  text-align: center;
}

.h2-basic01 .subTitle {
  display: block;
  max-width: 320px;
  margin: 0 auto;
}

.h2-basic01 .txt-shoulder {
  margin: 0 0 20px 0;
}

.h3-basic01 {
  margin: 0 0 12vw 0;
  font-size: 20px;
  /*font-size: 5.33vw;*/
  line-height: 1.5;
  text-align: center;
}

.h3-basic01 .subTitle {
  display: block;
  max-width: 460px;
  margin: 0 auto;
}

.h3-basic01 .subTxt {
  display: block;
  max-width: 360px;
  margin: 0 auto 2.6vw auto !important;
}

.h3-basic02 {
  margin: 0 0 30px 0;
  font-size: 16px;
  /*font-size: 5.33vw;*/
  line-height: 1.5;
  text-align: center;
}

.txt-shoulder {
  display: block;
  font-size: 13px;
}

.txt-shoulder::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 1em;
  margin: 0 0.5em 0.1em 0;
  border-left: 1px solid;
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  vertical-align: middle;
}

.txt-shoulder::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 1em;
  margin: 0 0 0.1em 0.5em;
  border-left: 1px solid;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  vertical-align: middle;
}

@media screen and (min-width: 750px), print {
  .h2-basic01 {
    margin: 0 0 60px 0;
    font-size: 35px;
  }
  .h3-basic01 {
    margin: 0 0 60px 0;
    font-size: 28px;
  }
  .h3-basic01 .subTxt {
    margin: 0 auto 20px auto !important;
  }
  .txt-shoulder {
    font-size: 16px;
  }
}
/*Buttons
---------------*/
.study section p.btn-basic01 {
  max-width: 340px;
  margin: 30px auto 0 auto;
}

.btn-basic01 a {
  position: relative;
  display: block;
  padding: 2.66vw 2.66vw 2.66vw 2.66vw;
  text-align: center;
  background: #8e9290;
  color: #ffffff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.btn-baisc01 a:hover {
  opacity: 0.6;
}

.btn-basic01 a:before {
  position: absolute;
  right: 20px;
  top: 50%;
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  border-right: 1px solid;
  border-bottom: 1px solid;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
}

@media screen and (min-width: 750px), print {
  .study section p.btn-basic01 {
    margin: 50px auto 0 auto;
  }
  .btn-basic01 a {
    padding: 15px 15px 15px 15px;
  }
}
/*Ornaments
---------------*/
.ornaments {
  position: relative;
  z-index: -1;
  height: 0;
  /*
  	opacity: 0;
  	width: 100%;
  */
}

.ornaments::before {
  position: absolute;
  left: 0;
  content: "";
  display: block;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

.ornaments::after {
  position: absolute;
  right: 0;
  content: "";
  display: block;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

@media screen and (min-width: 750px), print {
  .ornaments::before,
  .ornaments::after {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
}
/*ornament01*/
.ornament01::before {
  content: url(../img/bg_leaf02.jpg);
  top: -50px;
  right: 0;
  left: auto;
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

.ornament01::after {
  content: url(../img/bg_leaf01.jpg);
  top: 110px;
  left: 0;
  right: auto;
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

/*ornament01*/
.ornament01_01 {
  position: absolute;
  background: url(../img/bg_leaf02.jpg) no-repeat;
  background-size: contain;
  top: 220px;
  right: -30px;
  left: auto;
  width: 140px;
  height: 130px;
  opacity: 0;
  /*	transform: scale(0.5);*/
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

.ornament01_02 {
  position: absolute;
  background: url(../img/bg_leaf01.jpg) no-repeat;
  background-size: contain;
  top: 60px;
  left: 0;
  right: auto;
  width: 100px;
  height: 100px;
  opacity: 0;
  /*	transform: scale(0.5);*/
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

@media screen and (min-width: 750px), print {
  .ornament01_01 {
    top: -60px;
    width: 190px;
    height: 190px;
  }
  .ornament01_02 {
    width: 200px;
    height: 200px;
    /*transform: scale(0.7);*/
  }
}
/*ornament02*/
.ornament02::before {
  content: url(../img/bg_leaf03.jpg);
  top: -170px;
}

.ornament02::after {
  content: url(../img/bg_leaf04.jpg);
  top: -100px;
}

/*ornament02*/
.ornament02_01 {
  position: absolute;
  background: url(../img/bg_leaf03.jpg) no-repeat;
  background-size: contain;
  top: -170px;
  left: 0;
  right: auto;
  -webkit-transform-origin: left top;
          transform-origin: left top;
  width: 165px;
  height: 290px;
  opacity: 0;
  /*	transform: scale(0.5);*/
}

.ornament02_02 {
  position: absolute;
  background: url(../img/bg_leaf04.jpg) no-repeat;
  background-size: contain;
  top: -100px;
  right: 0;
  left: auto;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  width: 95px;
  height: 150px;
  opacity: 0;
  /*	transform: scale(0.5);*/
}

@media screen and (min-width: 750px), print {
  .ornament02_01 {
    width: 330px;
    height: 580px;
  }
  .ornament02_02 {
    width: 190px;
    height: 300px;
    /*transform: scale(0.7);*/
  }
}
/*ornament03*/
.ornament03::before {
  content: url(../img/bg_leaf05.jpg);
  top: -30px;
}

.ornament03::after {
  content: url(../img/bg_leaf06.jpg);
  top: -65px;
}

/*ornament03*/
.ornament03_01 {
  position: absolute;
  background: url(../img/bg_leaf06.jpg) no-repeat;
  background-size: contain;
  top: -65px;
  right: 0;
  left: auto;
  width: 130px;
  height: 110px;
  opacity: 0;
  /*	transform: scale(0.5);*/
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

.ornament03_02 {
  position: absolute;
  background: url(../img/bg_leaf05.jpg) no-repeat;
  background-size: contain;
  top: -30px;
  left: 0;
  right: auto;
  width: 115px;
  height: 130px;
  opacity: 0;
  /*	transform: scale(0.5);*/
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

@media screen and (min-width: 750px), print {
  .ornament03_01 {
    width: 261px;
    height: 219px;
  }
  .ornament03_02 {
    width: 230px;
    height: 260px;
    /*transform: scale(0.7);*/
  }
}
/*ornament04*/
.ornament04::before {
  content: url(../img/bg_leaf07.jpg);
  top: 150px;
}

.ornament04::after {
  content: url(../img/bg_leaf08.jpg);
  top: -80px;
}

/*ornament04*/
.ornament04_01 {
  position: absolute;
  background: url(../img/bg_leaf08.jpg) no-repeat;
  background-size: contain;
  top: -80px;
  right: 0;
  left: auto;
  width: 115px;
  height: 185px;
  opacity: 0;
  /*	transform: scale(0.5);*/
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

.ornament04_02 {
  position: absolute;
  background: url(../img/bg_leaf07.jpg) no-repeat;
  background-size: contain;
  top: 150px;
  left: 0;
  right: auto;
  width: 110px;
  height: 140px;
  opacity: 0;
  /*	transform: scale(0.5);*/
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

@media screen and (min-width: 750px), print {
  .ornament04_01 {
    width: 230px;
    height: 370px;
  }
  .ornament04_02 {
    width: 220px;
    height: 280px;
    /*transform: scale(0.7);*/
  }
}
/*ornament05*/
.ornament05::before {
  content: url(../img/bg_leaf09.jpg);
  top: 146px;
}

.ornament05::after {
  content: url(../img/bg_leaf10.jpg);
  top: -38px;
}

/*ornament05*/
.ornament05_01 {
  position: absolute;
  background: url(../img/bg_leaf10.jpg) no-repeat;
  background-size: contain;
  top: -38px;
  right: 0;
  left: auto;
  width: 125px;
  height: 130px;
  opacity: 0;
  /*	transform: scale(0.5);*/
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

.ornament05_02 {
  position: absolute;
  background: url(../img/bg_leaf09.jpg) no-repeat;
  background-size: contain;
  top: 146px;
  left: 0;
  right: auto;
  width: 145px;
  height: 130px;
  opacity: 0;
  /*	transform: scale(0.5);*/
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

@media screen and (min-width: 750px), print {
  .ornament05_01 {
    width: 250px;
    height: 260px;
  }
  .ornament05_02 {
    width: 290px;
    height: 260px;
    /*transform: scale(0.7);*/
  }
}
/*ornament06*/
.ornament06::before {
  content: url(../img/bg_leaf11.jpg);
  top: 115px;
}

.ornament06::after {
  content: url(../img/bg_leaf12.jpg);
  top: -98px;
}

/*ornament06*/
.ornament06_01 {
  position: absolute;
  background: url(../img/bg_leaf12.jpg) no-repeat;
  background-size: contain;
  top: -98px;
  right: 0;
  left: auto;
  width: 165px;
  height: 175px;
  opacity: 0;
  /*	transform: scale(0.5);*/
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

.ornament06_02 {
  position: absolute;
  background: url(../img/bg_leaf11.jpg) no-repeat;
  background-size: contain;
  top: 115px;
  left: 0;
  right: auto;
  width: 120px;
  height: 175px;
  opacity: 0;
  /*	transform: scale(0.5);*/
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

@media screen and (min-width: 750px), print {
  .ornament06_01 {
    width: 330px;
    height: 350px;
  }
  .ornament06_02 {
    width: 240px;
    height: 350px;
    /*transform: scale(0.7);*/
  }
}
/*ornament07*/
.ornament07 {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.ornament07::before {
  content: url(../img/bg_leaf13.jpg);
  top: -105px;
}

.ornament07::after {
  content: url(../img/bg_leaf14.jpg);
  top: 45px;
}

/*ornament02*/
.ornament07_01 {
  position: absolute;
  background: url(../img/bg_leaf13.jpg) no-repeat;
  background-size: contain;
  top: -105px;
  left: 0;
  right: auto;
  -webkit-transform-origin: left top;
          transform-origin: left top;
  width: 240px;
  height: 350px;
  opacity: 0;
  /*	transform: scale(0.5);*/
}

.ornament07_02 {
  position: absolute;
  background: url(../img/bg_leaf14.jpg) no-repeat;
  background-size: contain;
  top: 45px;
  right: 0;
  left: auto;
  width: 90px;
  height: 165px;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  opacity: 0;
  /*	transform: scale(0.5);*/
}

@media screen and (min-width: 750px), print {
  .ornament07_01 {
    width: 480px;
    height: 700px;
  }
  .ornament07_02 {
    width: 180px;
    height: 330px;
    /*transform: scale(0.7);*/
  }
}
/*
=========================================
	About（アロマ検定とは?）
=========================================
*/
/*About
---------------*/
.about {
  padding: 13.33vw 0 21.3vw;
  opacity: 0;
}

.about p {
  margin: 0 0 2em 0;
  text-align: center;
  line-height: 2.5;
}

.about .txt-about01 {
  margin: 0 0 13.33vw 0;
  padding: 5.33vw 5.33vw 5.33vw 5.33vw;
  border: 2px solid #e9eeec;
  line-height: 1;
}

@media screen and (min-width: 750px), print {
  .about {
    padding: 60px 0 120px 0;
  }
  .about .txt-about01 {
    max-width: 385px;
    margin: 70px auto 30px auto;
    padding: 15px 40px 15px 40px;
  }
}
/*=========================================
	Scenes（こんな方におすすめ）
=========================================
*/
/*Scenes
---------------*/
.scenes.bgGray {
  color: #333333;
}

.scenes .h2-basic01 {
  color: #ffffff !important;
}

.scenes section {
  margin: 0 0 5.5vw 0;
  padding: 0 0 9vw 0;
  background: #ffffff;
}

.scenes section:last-of-type {
  margin: 0;
}

.scenes section .h3-basic01 {
  margin: 0 0 9vw 0;
  padding-top: 9vw;
}

.scenes section figcaption {
  padding: 4vw 0 5vw 0;
  text-align: center;
}

.scenes section figcaption > dl dt span {
  font-size: 88%;
}

.scenes section figcaption > dl dt span.profession {
  display: block;
}

.scenes section figcaption > dl dd {
  font-size: 88%;
}

.scenes .dl-scenes01 {
  padding: 0 6.5% 0 6.5%;
}

.scenes .dl-scenes01 dl dt {
  margin: 0 0 4vw 0;
  padding: 4vw 4vw 4vw 4vw;
  font-size: 125%;
  line-height: 1.6;
  text-align: center;
  background: #f8edf3 none;
}

.scenes .dl-scenes01 dl dd {
  line-height: 1.7;
}

.scenes .dl-scenes01 dl dd p {
  margin: 0 0 3vw 0;
}
.scenes .dl-scenes01 dl dd p .text-decoration {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, yellow));
  background: linear-gradient(to bottom, transparent 60%, yellow 60%);
  padding: 0 2px;
  display: inline;
}

.scenes .dl-scenes01 dl dd p:last-of-type {
  margin: 0;
}

@media screen and (min-width: 750px), print {
  .scenes .container {
    max-width: 820px;
    width: 100%;
  }
  .scenes section {
    margin: 0 0 24px 0;
    padding: 0 0 52px 0;
  }
  .scenes section .h3-basic01 {
    margin: 0 0 42px 0;
    padding-top: 52px;
  }
  .scenes section .h3-basic01 img {
    width: 550px;
  }
  .scenes section figcaption {
    padding: 24px 0 24px 0;
  }
  .scenes .dl-scenes01 {
    padding: 0 6.5% 0 6.5%;
  }
  .scenes .dl-scenes01 dl dt {
    margin: 0 0 24px 0;
    padding: 20px 24px 20px 24px;
  }
}
/*
=========================================
	Merits（取得のメリット）
=========================================
*/
/*Merits
---------------*/
.merits {
  opacity: 0;
}

.meritList01 {
  max-width: 26em;
  margin: 0 auto;
}

.meritList01 li {
  position: relative;
  margin: 0 0 1.5em 0;
  padding: 0 0 0 1.5em;
  font-size: 4.2666vw;
}

.recommend .meritList01 li::before {
  position: absolute;
  left: 0;
  top: 0.25em;
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  border: 1px solid #afb2b0;
}

.recommend .meritList01 li::after {
  position: absolute;
  left: 0.3em;
  top: 0.3em;
  content: "";
  display: block;
  width: 0.4em;
  height: 0.7em;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.merits .meritList01 li::before {
  position: absolute;
  left: 0;
  top: 0.25em;
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  border: 1px solid #afb2b0;
}

.merits .meritList01 li::after {
  position: absolute;
  left: 0.3em;
  top: 0.3em;
  content: "";
  display: block;
  width: 0.4em;
  height: 0.7em;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media screen and (min-width: 750px), print {
  .merits .container {
    width: 430px;
  }
  .meritList01 li {
    font-size: 2rem;
  }
}
/*
=========================================
	DATA（受験者データ）
=========================================
*/
/*Data
---------------*/
.data {
  opacity: 0;
}

.data .subSection {
  opacity: 0;
}

.data .subSection figure {
  text-align: center;
}

.data .subSection figcaption {
  margin: 10.6vw 0 0 0;
  text-align: left;
}

.data .ol-data01 {
  margin: 0 0 6.6vw 0;
}

.data .ol-data01 li {
  position: relative;
  margin: 6.6vw 0 0 0;
  padding: 0 0 0 2em;
  font-size: 3.73vw;
}

.data .ol-data01 li span {
  position: absolute;
  left: 0;
}

.data .note01 {
  font-size: 2.9vw;
}

@media screen and (min-width: 750px), print {
  .data .subSection figcaption {
    margin: 50px 0 0 0;
    text-align: center;
  }
  .data .subSection figcaption.col-half {
    margin: 0 0 0 0;
    text-align: left;
  }
  .data .ol-data01 {
    /* max-width: 550px; */
    max-width: 590px;
    margin: 0 auto 30px auto;
  }
  .data .ol-data01 li {
    margin: 30px 0 0 0;
    font-size: 20px;
  }
  .data .note01 {
    max-width: 550px;
    margin: 0 auto;
    font-size: 16px;
    white-space: nowrap;
  }
}
.data .note01 {
  white-space: inherit;
}

/*
=========================================
	Voice（合格者の声）
=========================================
*/
/*Voice
---------------*/
/*.voice.bgGray {
	color: #333333;
	opacity: 0;
}
	.voice .h2-basic01,
	.voice .h3-basic01 {
		color: #ffffff !important;
	}
	.voice section.voiceMainItem {
		margin: 0 0 5.5vw 0;
		background: #ffffff;
		opacity: 0;
	}
		.voice .voiceHeader {
			position: relative;
		}
			.voice .voiceHeader .txt {
				position: absolute;
				left: 10px;
				top: 10px;
				width: 20.66vw;
				max-width: 150px;
			}
		.voice .voiceBody {
			padding: 5.3vw 5.3vw 0 5.3vw;
		}
			.voice .voiceBody header {
				margin: 0 0 5.3vw 0;
				text-align: center;
			}
				.voice .voiceBody header h3.name {
					margin: 0 0 0.5em 0;
					font-weight: normal;
					font-size: 4.26vw;
				}
					.voice .voiceBody header h3.name span {
						font-size: 0.6875em;
					}
					.voice .voiceBody header h3.name span.profession {
						display: block;
					}
				.voice .voiceBody header p {
					font-size: 2.93vw;
				}
			.voice .voiceBody .voiceCatch {
				padding: 1em 0 1em 0;
				border: 1px solid;
				text-align: center;
				font-size: 4.26vw;
			}
			.voice .voiceBody .voiceDetail p + p {
				margin: 0.8em 0 0 0;
			}
			.voice .voiceBody .trigger {
				-webkit-appearance: none;
				appearance: none;
				position: relative;
				padding: 1em 1em 1em 1em;
				width: 100%;
				background: none;
				border: 0;
				text-align: center;
				cursor: pointer;
			}
			.voice .voiceBody .trigger:focus {
				outline: none;
			}
				.voice .voiceBody .trigger::after {
					position: absolute;
					left: calc(50% + 2em);
					top: 50%;
					content: "";
					display: inline-block;
					width: 0.8em;
					height: 0.8em;
					margin: 0 0 0 1em;
					border-right: 1px solid;
					border-bottom: 1px solid;
					transform: translate(-50%,-70%) rotate(45deg);
				}
				.voice .voiceBody .trigger.open::after {
					transform: translate(-50%,-50%) rotate(-135deg);
				}
			.voice .voiceBody .trigger + .voiceDetail {
				display: none;
			}
			.voice .voiceBody .trigger.open + .voiceDetail {
				display: block;
				padding: 0 0 5.3vw 0;
			}


@media screen and (min-width: 750px),print {
	.voice section.voiceMainItem {
		max-width: 820px;
		margin: 0 auto 50px auto;
	}
	.voice .voiceBody {
			padding: 30px 60px 0 60px;
		}
			.voice .voiceBody header {
				margin: 0 0 30px 0;
			}
				.voice .voiceBody header h3.name {
					font-size: 20px;
				}
					.voice .voiceBody header h3.name span {
						font-size: 0.7857em;
					}
				.voice .voiceBody header p {
					font-size: 16px;
				}
			.voice .voiceBody .voiceCatch {
				font-size: 25px;
			}
			.voice .voiceBody .trigger {
				margin: 0 0 0 0;
			}
			.voice .voiceBody .trigger.open + .voiceDetail {
				padding: 0 0 60px 0;
			}
}*/
/*Voice Other（その他のボイス）
---------------*/
.voice.other .h3-basic01 {
  margin: 10.6vw 0 10.6vw 0;
}

.voiceOther {
  color: #333 !important;
}

.voiceOther .item {
  margin: 0 2.66vw 0 2.66vw;
  padding: 5.3vw 5.3vw 5.3vw 5.3vw;
  background: #ffffff;
}

.voiceOther .item .voiceCatch {
  margin: 0 0 1em 0;
  padding: 1em 1em 1em 1em;
  border: 1px solid;
  text-align: center;
  font-size: 4.26vw;
}

.voiceOther .slick-arrow {
  top: 13.3vw;
  z-index: 100;
  width: 13.3vw;
  height: 13.3vw;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
}

.voiceOther .slick-prev {
  left: 10px;
}

.voiceOther .slick-prev:before {
  position: absolute;
  left: 50%;
  top: 50%;
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  border-left: 2px solid;
  border-top: 2px solid;
  -webkit-transform: translate(-40%, -50%) rotate(-45deg);
          transform: translate(-40%, -50%) rotate(-45deg);
}

.voiceOther .slick-next {
  right: 10px;
}

.voiceOther .slick-next:before {
  position: absolute;
  left: 50%;
  top: 50%;
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  border-right: 2px solid;
  border-top: 2px solid;
  -webkit-transform: translate(-60%, -50%) rotate(45deg);
          transform: translate(-60%, -50%) rotate(45deg);
}

@media screen and (min-width: 750px), print {
  .voice.other .h3-basic01 {
    margin: 50px 0 50px 0;
  }
  .voiceOther .item {
    max-width: 820px;
    margin: 0 20px 0 20px;
    padding: 30px 60px 60px 60px;
  }
  .voiceOther .item .voiceCatch {
    font-size: 25px;
  }
  .voiceOther .slick-arrow {
    top: 100px;
    width: 60px;
    height: 60px;
  }
}
@media screen and (min-width: 820px), print {
  .voiceOther .slick-prev {
    left: calc(50% - 450px);
  }
  .voiceOther .slick-next {
    left: auto;
    right: calc(50% - 450px);
  }
}
/*
=========================================
	Voice（合格者の声）追加　2019.12
=========================================
*/
/*Voice
---------------*/
.voice section.voiceMainItem {
  margin: 0 0 5.5vw 0;
}

.voice .voiceBody {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 31.746%;
  grid-template-columns: 1fr 31.746%;
  -ms-grid-rows: auto auto;
  grid-template-rows: auto auto;
  grid-template-areas: "catch photo" "profile profile";
  border: 1px solid #fff;
  background-color: #fff;
  color: #333 !important;
}

.voice .voiceCatch {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: catch;
  padding: 5.3vw 5.3vw 4vw 5.3vw;
  font-size: 3.73vw;
}

.voice .voiceProfile {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: profile;
  -ms-flex-item-align: end;
  align-self: flex-end;
  max-height: 100px;
  padding: 0 5.3vw 5.3vw 5.3vw;
}

.voice .voiceProfile .name {
  font-weight: normal;
  font-size: 2.6vw;
}

.voice .voiceProfile .name span {
  font-size: 3.46vw;
}

.voice .voicePhoto {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: photo;
}

.voice .voicePhoto img {
  -o-object-fit: cover;
  object-fit: cover;
}

.voice .voiceDetail p + p {
  margin: 0.8em 0 0 0;
}

.voice .trigger {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  padding: 1em 1em 1em 1em;
  width: 100%;
  background: none;
  border: 0;
  text-align: center;
  cursor: pointer;
}

.voice .trigger:focus {
  outline: none;
}

.voice .trigger::after {
  position: absolute;
  left: calc(50% + 2em);
  top: 50%;
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin: 0 0 0 1em;
  border-right: 1px solid;
  border-bottom: 1px solid;
  -webkit-transform: translate(-50%, -70%) rotate(45deg);
  transform: translate(-50%, -70%) rotate(45deg);
}

.voice .trigger.open::after {
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
  transform: translate(-50%, -50%) rotate(-135deg);
}

.voice .trigger + .voiceDetail {
  display: none;
}

.voice .trigger.open + .voiceDetail {
  display: block;
  padding: 0 0 5.3vw 0;
}

@media screen and (min-width: 750px), print {
  .voice section.voiceMainItem {
    max-width: 820px;
    margin: 0 auto 50px auto;
  }
  .voice .voiceBody {
    display: grid;
    grid-template-columns: 1fr 37.8%;
    grid-template-rows: auto auto;
    grid-template-areas: "catch photo" "profile photo";
  }
  .voice .voiceCatch {
    padding: 35px 20px 35px 35px;
    font-size: 26px;
  }
  .voice .voiceProfile {
    padding: 0 35px 35px 35px;
    font-size: 13px;
  }
  .voice .voiceProfile .name {
    font-size: 13px;
  }
  .voice .voiceProfile .name span {
    font-size: 23px;
  }
  .voice .voiceBody .trigger {
    margin: 0 0 0 0;
  }
  .voice .voiceBody .trigger.open + .voiceDetail {
    padding: 0 0 60px 0;
  }
  .voice .voiceCatch {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .voice .voiceProfile {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .voice .voicePhoto {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .voice .voicePhoto img {
    -o-object-fit: none;
    object-fit: none;
  }
}
/*Tab
---------------*/
.tabArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 820px;
  margin: 0 auto 4vw auto;
  padding: 0;
}

.tabArea li {
  width: 48.4126%;
}

.tabArea li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 14.6vw;
  padding: 2.6vw 1vw 2.6vw 1vw;
  border: 1px solid #e1e2e1;
  background: #ffffff;
  text-align: center;
  font-size: 3.73vw;
  color: #333333 !important;
}

body.other .tabArea li a:hover {
  opacity: 0.5;
}

.tabArea li a::after {
  position: absolute;
  left: 50%;
  bottom: 1.33vw;
  content: "";
  display: block;
  width: 1.3vw;
  height: 1.3vw;
  border-right: 1px solid #e1e2e1;
  border-bottom: 1px solid #e1e2e1;
  -webkit-transform: translate(-50%, 0) rotate(45deg);
  transform: translate(-50%, 0) rotate(45deg);
}

.tabArea li.is-active a {
  background: #e1e2e1;
  color: #ffffff;
}

.tabArea li.is-active a::after {
  bottom: -0.8vw;
  background: #e1e2e1;
  -webkit-transition: 0.3s 0.3s;
  transition: 0.3s 0.3s;
}

.tabBody {
  display: none;
}

.tabBody.is-active {
  display: block;
}

@media screen and (min-width: 750px), print {
  .tabArea {
    margin: 0 auto 40px auto;
  }
  .tabArea li a {
    min-height: 140px;
    padding: 30px 10px 30px 10px;
    font-size: 28px;
  }
  .tabArea li a::after {
    bottom: 10px;
    width: 12px;
    height: 12px;
  }
  .tabArea li.is-active a::after {
    width: 30px;
    height: 30px;
  }
}
/*
=========================================
	Study（勉強方法）
=========================================
*/
/*Study
---------------*/
.study {
  opacity: 0;
}

.study .subSection {
  /*margin: 0 0 5.5vw 0;*/
  padding: 10vw 0 calc(10vw + 15px) 0;
  opacity: 0;
}

.study .subSection .h3-basic01 {
  margin: 0 0 9vw 0;
  font-size: 4.8vw;
}

.study .subSection p {
  margin: 0 0 2vw 0;
  line-height: 1.8;
}

.study01 .col-half + .col-half {
  margin: 8vw 0 0 0;
}

.study03 .col-half + .col-half {
  margin: 4vw 0 0 0;
}

.study .h4-basic01 {
  margin: 9vw 0 4vw 0;
  font-size: 4.26vw;
}

.study04 {
  max-width: 430px;
  margin: 0 auto;
}

.study04 figure {
  width: 81%;
  margin: 9vw auto 0 auto;
  -webkit-transform: translateX(-10%);
          transform: translateX(-10%);
}

/* アンケートテキスト */
.study04 .enqText {
  position: relative;
  margin: 1em 0 1em 0;
  padding: 0 0 0 2em;
  font-size: 0.875em;
  text-align: left;
}

.study04 .enqText span {
  position: absolute;
  left: 0;
  top: 0;
}

.img-study01.sp {
  margin: 10.66vw 0 0 0;
}

.img-study01 figure:first-child,
.img-study01 figure:last-child {
  display: inline-block;
  width: calc(50% - 10px);
  vertical-align: top;
}

.img-study01 figure:first-child {
  margin: 0 10px 0 0;
}

.img-study01 figure:first-child:last-child {
  width: 100%;
}

.img-study01 figure img {
  margin: 0 0 2vw 0;
}

.img-study01 figure figcaption {
  font-size: 2.9333vw;
  text-align: center;
}

.box-study01 {
  padding: 5.3vw 5.3vw 5.3vw 5.3vw;
  border: 1px solid #e9eeec;
  /*font-size: 0.875em;*/
}

.box-study01 dt {
  margin: 0 0 1em 0;
}

@media screen and (min-width: 750px), print {
  .study .subSection {
    /*margin: 0 auto 52px auto;*/
    margin: 0 auto;
    padding: 52px 0 52px 0;
  }
  .study .subSection:last-of-type {
    padding: 32px 0 32px 0;
  }
  .study .subSection .h3-basic01 {
    margin: 0 0 40px 0;
    font-size: 25px;
  }
  .img-study01 figure figcaption {
    font-size: 16px;
  }
  .study .h4-basic01 {
    margin: 50px 0 30px 0;
    text-align: center;
    font-size: 22px;
  }
  .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .row .col-half {
    width: 47.5%;
  }
  .study01 .col-half + .col-half,
  .study03 .col-half + .col-half {
    margin: 0 0 0 0;
  }
  .box-study01 {
    padding: 20px 20px 20px 20px;
  }
  .study04 figure {
    margin: 0 auto;
  }
  .study04 .enqText {
    margin: 1em 0 2em 0;
    font-size: 0.8em;
  }
}
/*
=========================================
	Test（ミニテストにチャレンジ）
=========================================
*/
.test.section {
  padding: 10.6vw 0 24vw 0;
  opacity: 0;
}

.test .h2-test01 {
  padding: 5.3vw 5.3vw 5.3vw 5.3vw;
  border: 5px solid #e9eeec;
  background: #e9eeec;
  text-align: center;
}

.question {
  padding: 35px 0 35px 0;
  border-top: 1px solid #303030;
}

.questionTitle {
  width: 30px;
  height: 30px;
  margin: 0 auto 35px;
}

.questionText {
  margin: 0 0 35px 0;
}

.questionChoices li {
  position: relative;
  margin: 0 0 15px 0;
  padding: 0 0 0 30px;
}

.questionChoices .ico {
  position: absolute;
  left: 0;
  top: -3px;
  display: block;
  width: 19px;
  height: 16px;
}

.answer {
  padding: 15px 0 0 0;
  border-top: 1px solid #303030;
  font-size: 2.9333vw;
  text-align: right;
}

.answer img {
  width: 27.7333%;
  max-width: 208px;
}

.proposing-question {
  width: 36%;
  margin: -7vw -3vw -14.6vw auto;
  text-align: center;
}

.proposing-question img {
  width: 60%;
  margin: 0 0 2vw 0;
}

.proposing-question figcaption {
  font-size: 2.9333vw;
}

@media screen and (min-width: 750px), print {
  .test.section {
    padding: 60px 0 200px 0;
  }
  .test .container {
    max-width: 820px;
  }
  .test .h2-test01 {
    padding: 30px 30px 30px 30px;
    border: 5px solid #e9eeec;
    background: #e9eeec;
    text-align: center;
  }
  .question {
    margin: 0 auto;
    padding: 60px 0 60px 0;
  }
  .answer {
    margin: 0 auto;
    font-size: 16px;
  }
  .questionTitle {
    width: 42px;
    height: 42px;
  }
  .questionChoices .ico {
    width: 21px;
    height: 21px;
  }
  .proposing-question {
    width: 160px;
    margin: -45px 45px -80px auto !important;
    text-align: center;
  }
  .proposing-question img {
    width: 116px;
    margin: 0 0 8px 0;
  }
  .proposing-question figcaption {
    font-size: 16px;
  }
}
/*
=========================================
	Requirements（試験概要）
=========================================
*/
.requirements {
  padding-bottom: 0;
  opacity: 0;
}

.txt-requirements {
  margin: 0 0 10vw 0;
  font-size: 5.333vw;
  text-align: center;
}

.overview01 {
  width: 100%;
  max-width: 820px;
  margin: 0 auto 60px;
  border-bottom: 1px solid #eaedeb;
}

.overview01 tr {
  border-top: 1px solid #eaedeb;
}

.overview01 th {
  width: 8em;
  padding: 10px 0 10px 0;
  text-align: left;
  font-weight: normal;
  vertical-align: top;
}

.overview01 td {
  padding: 10px 0 10px 0;
}

.nowMB {
  font-family: "ナウ-MB", "NOW-MB", "ヒラギノ角ゴ W3 JIS2004", "Hiragino Kaku Gothic W3 JIS2004", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, sans-serif;
}

.dList dt,
.dList dd {
  display: inline-block;
}

.dList dt {
  /* background: #ff0; */
  width: 50px;
}

.dList dd:after {
  clear: both;
  content: "";
}

@media screen and (min-width: 750px), print {
  .overview01 th,
  .overview01 td {
    padding: 17px 0 17px 0;
  }
  .txt-requirements {
    margin: 0 0 46px 0;
    font-size: 28px;
  }
}
/* Accordion（アコーディオン）*/
.requirements .trigger {
  position: relative;
  margin: -1px 0 0 0;
  padding: 5.7vw 0 5.7vw 20%;
  border-width: 1px 0 1px 0;
  border-style: solid;
  border-color: #8d908e;
  cursor: pointer;
}

@media screen and (min-width: 750px), print {
  .requirements .trigger {
    padding: 5.7vw 0 5.7vw 13.5%;
  }
}
.requirements .trigger .triggerBtn {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 32%;
  max-width: 200px;
  padding: 3.1vw 0 3.1vw 0;
  text-align: center;
  color: #ffffff;
  background: #8d908e none;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.requirements .trigger .triggerBtn:after {
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  width: 0.7em;
  height: 0.7em;
  border-width: 0 0 1px 1px;
  border-style: solid;
  border-color: #ffffff;
  -webkit-transform: translateY(-65%) rotate(-45deg);
          transform: translateY(-65%) rotate(-45deg);
  content: "";
}

.requirements .trigger.open .triggerBtn:after {
  -webkit-transform: translateY(-10%) rotate(135deg);
          transform: translateY(-10%) rotate(135deg);
}

.requirements .trigger:before {
  position: absolute;
  top: 50%;
  display: block;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
}

.requirements .trigger {
  font-size: 16px;
  letter-spacing: 2.6px;
  color: #7a7a7a;
  font-weight: 700;
}

.requirements .trigger .triggerText {
  position: relative;
}
.requirements .trigger .triggerText::before {
  position: absolute;
  left: -14px;
  top: 50%;
  -webkit-transform: translate(0%, -50%) rotate(-45deg);
          transform: translate(0%, -50%) rotate(-45deg);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
  content: "";
  width: 9px;
  height: 9px;
  border: 2px solid #8d908e;
  border-top: 0;
  border-right: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.requirements .trigger.open .triggerText::before {
  -webkit-transform: translate(0%, -150%) rotate(135deg);
          transform: translate(0%, -150%) rotate(135deg);
}

@media screen and (min-width: 750px), print {
  .requirements .trigger {
    font-size: 19px;
  }
}
.requirements .trigger.icon-trigger01:before {
  left: 10px;
  content: "";
  background-image: url(../img/flow_icon01.png);
  background-size: 100% 100%;
  position: absolute;
  width: 25px;
  height: 25px;
}

@media screen and (min-width: 750px), print {
  .requirements .trigger.icon-trigger01:before {
    left: 38px;
  }
}
.requirements .trigger.icon-trigger02:before {
  content: "\e9f2";
  left: 10px;
  content: "";
  background-image: url(../img/flow_icon02.png);
  background-size: 100% 100%;
  position: absolute;
  width: 25px;
  height: 25px;
}

@media screen and (min-width: 750px), print {
  .requirements .trigger.icon-trigger02:before {
    left: 38px;
  }
}
.requirements .trigger.icon-trigger03:before {
  left: 10px;
  content: "";
  background-image: url(../img/flow_icon03.png);
  background-size: 100% 100%;
  position: absolute;
  width: 25px;
  height: 25px;
}

@media screen and (min-width: 750px), print {
  .requirements .trigger.icon-trigger03:before {
    left: 38px;
  }
}
.requirements .trigger.icon-trigger04:before {
  left: 10px;
  content: "";
  background-image: url(../img/flow_icon04.png);
  background-size: 100% 100%;
  position: absolute;
  width: 25px;
  height: 25px;
}

@media screen and (min-width: 750px), print {
  .requirements .trigger.icon-trigger04:before {
    left: 38px;
  }
}
.requirements .trigger + div {
  display: none;
  padding: 10vw 0 10vw 0;
}

.requirements .trigger + div.trigger-contents04 {
  padding: 10vw 0 0 0;
}

.requirements .trigger-contents .h3-basic01 {
  margin: 0 0 7vw 0;
  font-size: 5.333vw;
  font-weight: normal;
  text-align: center;
}

/* Contents01 */
.trigger-contents01 section {
  margin: 0 0 10vw 0;
  padding: 0 0 10vw 0;
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: #eaedeb;
}

.trigger-contents01 p {
  margin: 0 0 7vw 0;
}

.trigger-contents01 dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: rows nowrap;
          flex-flow: rows nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 0 7vw 0;
}

.trigger-contents01 dl dt {
  width: 20%;
  max-width: 120px;
  padding: 0.5% 0 0.5% 0;
  color: #ffffff;
  font-size: 2.9333vw;
  text-align: center;
  background: #8e918f none;
}

.trigger-contents01 dl dd {
  width: 75%;
  margin: -0.25em 0 0 0;
}

.trigger-contents01 dl dd span {
  display: block;
  font-size: 2.9333vw;
}

.trigger-contents01 ul {
  margin: 0 0 7vw 0;
}

.trigger-contents01 ul li {
  position: relative;
  padding: 0 0 0 1em;
  line-height: 1.8;
}

.trigger-contents01 ul li:before {
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 0.5em;
  height: 0.5em;
  background: #333333 none;
  content: "";
}

.trigger-contents01 .fragranceTest {
  padding: 5vw 5vw 5vw 5vw;
  border-width: 1px 1px 1px 1px;
  border-style: solid;
  border-color: #eaedeb;
}

.trigger-contents01 .fragranceTest p {
  margin: 0 0 2vw 0;
}

.trigger-contents01 .officialText {
  margin: 0 0 5vw 0;
}

.trigger-contents01 .officialText figure:first-child,
.trigger-contents01 .officialText figure:last-child {
  display: inline-block;
  width: calc(50% - 10px);
  vertical-align: top;
}

.trigger-contents01 .officialText figure:first-child {
  margin: 0 10px 0 0;
}

.trigger-contents01 .officialText figure:first-child:last-child {
  width: 100%;
}

.trigger-contents01 .officialText figure img {
  margin: 0 0 2vw 0;
}

.trigger-contents01 .officialText figure figcaption {
  font-size: 2.9333vw;
  text-align: center;
}

.trigger-contents01 .conclusion {
  margin: 0 0 10vw 0;
  padding: 0 0 10vw 0;
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: #eaedeb;
}

.trigger-contents01 .conclusion li {
  margin: 0 0 3.5vw 0;
}

/* Contents02 */
/* Contents03 */
.trigger-contents03 section {
  margin: 0 0 10vw 0;
  padding: 0 0 10vw 0;
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: #eaedeb;
}

.trigger-contents03 section p {
  margin: 0 0 4vw 0;
}

/* Contents04 */
@media screen and (min-width: 750px), print {
  /* Accordion（アコーディオン）*/
  .requirements .trigger {
    padding: 30px 0 30px 130px;
  }
  .requirements .trigger .triggerBtn {
    width: 140px;
    padding: 16px 0 16px 0;
  }
  .requirements .trigger.trigger01:before {
    padding: 29px 0 0 0;
  }
  .requirements .trigger.trigger02:before {
    left: 32px;
    padding: 29px 0 0 0;
  }
  .requirements .trigger.trigger03:before {
    left: 32px;
    padding: 29px 0 0 0;
  }
  .requirements .trigger.trigger04:before {
    left: 32px;
  }
  .requirements .trigger + div {
    padding: 60px 0 60px 0;
  }
  .requirements .trigger-contents .h3-basic01 {
    margin: 0 0 50px 0;
    font-size: 28px;
  }
  .requirements .trigger + div {
    padding: 60px 0 60px 0;
  }
  .requirements .trigger + div.trigger-contents04 {
    padding: 60px 0 0 0;
  }
  /* Contents01 */
  .trigger-contents01 {
    width: 820px;
    margin: 0 auto;
  }
  .trigger-contents01 section {
    margin: 0 0 60px 0;
    padding: 0 0 60px 0;
  }
  .trigger-contents01 p {
    margin: 0 0 50px 0;
  }
  .trigger-contents01 dl {
    margin: 0 0 50px 0;
  }
  .trigger-contents01 dl dt {
    width: 120px;
    padding: 0.5% 0 0.5% 0;
    font-size: 16px;
  }
  .trigger-contents01 dl dd {
    width: 680px;
    margin: 0;
  }
  .trigger-contents01 dl dd span {
    font-size: 16px;
  }
  .trigger-contents01 ul {
    margin: 0 0 50px 0;
  }
  .trigger-contents01 .fragranceTest {
    padding: 24px 24px 24px 24px;
  }
  .trigger-contents01 .fragranceTest p {
    margin: 0 0 2vw 0;
  }
  .trigger-contents01 .officialText {
    width: 620px;
    margin: 0 auto 24px;
  }
  .trigger-contents01 .officialText figure img {
    margin: 0 0 2vw 0;
  }
  .trigger-contents01 .officialText figure figcaption {
    font-size: 16px;
  }
  .trigger-contents01 .conclusion {
    margin: 0 0 60px 0;
    padding: 0 0 60px 0;
  }
  .trigger-contents01 .conclusion li {
    margin: 0 0 8px 0;
  }
  /* Contents03 */
  .trigger-contents03 section {
    margin: 0 0 60px 0;
    padding: 0 0 60px 0;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #eaedeb;
  }
  .trigger-contents03 section p {
    margin: 0 0 24px 0;
  }
}
/*
=========================================
	Flow（受験の流れ）
=========================================
*/
.flowList01,
.flowList01B {
  max-width: 940px;
  margin: 0 auto;
}

.flowList01 li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 38px 0;
  padding: 6vw 0.5vw 6vw 6vw;
  border: 1px solid #8d908e;
}

.flowList01B li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 38px 0;
  padding: 6vw 0.5vw 6vw 6vw;
  border: 1px solid #8d908e;
}

.flowList01 li:not(:last-child)::after {
  position: absolute;
  left: 50%;
  bottom: -25px;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin: 0 0 0 -10px;
  border-right: 1px solid #8d908e;
  border-bottom: 1px solid #8d908e;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.flowList01B li:not(:last-child)::after {
  position: absolute;
  left: 50%;
  bottom: -25px;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin: 0 0 0 -10px;
  border-right: 1px solid #8d908e;
  border-bottom: 1px solid #8d908e;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.flowList01 .flowText,
.flowList01B .flowText {
  width: 62%;
  text-align: center;
}

.flowList01 .flowText .text01,
.flowList01B .flowText .text01 {
  margin: 0 0 15px 0;
  font-size: 14px;
  font-size: 3.7vw;
}

.flowList01 .flowText .text02,
.flowList01B .flowText .text02 {
  font-size: 11px;
  font-size: 2.93vw;
}

.flowList01 .flowText .text02 a,
.flowList01B .flowText .text02 a {
  text-decoration: underline;
}

.flowList01 .flowText .text03,
.flowList01B .flowText .text03 {
  margin: 1em 0 0 1em;
  text-align: left;
  text-indent: -1em;
  font-size: 11px;
  font-size: 2.93vw;
}

.flowList01 .flowImg,
.flowList01B .flowImg {
  width: 32%;
  max-width: 202px;
  text-align: center;
}

.flowList01 .flowImg + p,
.flowList01ZB .flowImg + p {
  width: 100%;
  margin: 3vw 6vw 0 0;
  font-size: 2.93vw;
}

.w100p {
  width: 93% !important;
}

.tume0001 {
  letter-spacing: -0.05em;
}

@media screen and (min-width: 750px), print {
  .flowList01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .flowList01B {
    display: block;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .flowList01 li {
    display: block;
    width: 18%;
    margin: 0;
    padding: 15px;
  }
  .flowList01B li {
    display: inline-block;
    width: 29.3333333333%;
    margin: 0 3% 3% 0;
    padding: 15px;
    vertical-align: top;
  }
  .flowList01 li:not(:last-child)::after {
    top: 50%;
    bottom: auto;
    left: auto;
    right: -18px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .flowList01B li:not(:last-child)::after {
    top: 50%;
    bottom: auto;
    left: auto;
    margin: 0 -5px 0 -30px;
    right: -18px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .flowList01 .flowText,
  .flowList01B .flowText {
    width: 100%;
  }
  .flowList01 .flowText .text01,
  .flowList01B .flowText .text01 {
    font-size: 1.8vw;
  }
  .flowList01 .flowText .text02,
  .flowList01B .flowText .text02 {
    font-size: 1.2vw;
  }
  .flowList01 .flowText .text02 br.none,
  .flowList01B .flowText .text02 br.none {
    display: none;
  }
  .flowList01 .flowText .text03,
  .flowList01B .flowText .text03 {
    font-size: 1.2vw;
  }
  .flowList01 .flowImg {
    width: 100%;
    margin: 15px auto 0;
    padding: 0;
  }
  .flowList01B .flowImg {
    width: 70%;
    margin: 15px auto 0;
    padding: 0;
  }
  .flowList01 .flowImg + p,
  .flowList01B .flowImg + p {
    margin: 16px 0 0 0;
    font-size: 12px;
  }
}
@media screen and (min-width: 940px), print {
  .flowList01 li,
  .flowList01B li {
    padding: 30px 20px 30px 20px;
  }
  .flowList01 .flowText .text01,
  .flowList01B .flowText .text01 {
    font-size: 16px;
  }
  .flowList01 .flowText .text02,
  .flowList01B .flowText .text02 {
    font-size: 12px;
  }
  .flowList01 .flowText .text03,
  .flowList01B .flowText .text03 {
    font-size: 12px;
  }
}
/*
=========================================
	Step（申し込み方法）
=========================================
*/
.stepList01 {
  max-width: 940px;
  margin: 0 auto;
}

.stepList01-45 {
  /* background: rgba(200,100,130,.4); CHK */
  max-width: 940px;
  margin: 0 auto;
}

.stepList01 li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 38px 0;
  padding: 6vw 4vw 6vw 6vw;
  /*	padding: 3vw 0.5vw 3vw 3vw;*/
  border: 1px solid #8d908e;
}

.stepList01-45 li {
  -webkit-box-align: left;
      -ms-flex-align: left;
          align-items: left;
  /* background: rgba(100,150,130,.4); CHK */
  border: 1px solid #8d908e;
  /* bjustify-content: space-between; ORG */
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  margin: 0 0 38px 0;
  padding: 6vw 4vw 6vw 4vw;
  position: relative;
  width: 100%;
}

.stepList01 li:not(:last-child)::after {
  position: absolute;
  left: 50%;
  bottom: -25px;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin: 0 0 0 -10px;
  border-right: 1px solid #8d908e;
  border-bottom: 1px solid #8d908e;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.stepList01-45 li:not(:last-child)::after {
  position: absolute;
  left: 50%;
  bottom: -25px;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin: 0 0 0 -10px;
  border-right: 1px solid #8d908e;
  border-bottom: 1px solid #8d908e;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.stepList01 .stepText {
  width: 68%;
  text-align: center;
}

.stepList01-45 .stepText {
  text-align: center;
  width: 100%;
}

.stepList01 .stepText .text01 {
  margin: 0 0 15px 0;
  font-size: 14px;
  font-size: 3.7vw;
}

.stepList01 .stepText .text02 {
  font-size: 11px;
  font-size: 2.93vw;
}

.stepList01-45 .stepText .text02 {
  font-size: 11px;
  font-size: 2.93vw;
  font-size: 3.7vw;
  /*font-vw*/
}

.stepList01-45 .stepText .text03 {
  font-size: 10px;
  height: 50px;
}
@media screen and (max-width: 767px) {
  .stepList01-45 .stepText .text03 {
    height: auto;
  }
}

.stepList01 .stepText .text02 a {
  text-decoration: underline;
}

.stepList01-45 .stepText .text02 a {
  text-decoration: underline;
}

.stepList01 .stepImg {
  width: 32%;
  max-width: 202px;
  text-align: center;
}

.stepList01-45 .stepImg {
  display: block;
  width: 45%;
  max-width: 202px;
  margin: 0 auto;
  text-align: center;
}

.stepList01 .stepImg + p {
  width: 100%;
  margin: 2vw 0 0 0;
  font-size: 2.93vw;
}

.stepList01-45 .stepImg + p {
  width: 100%;
  margin: 2vw 0 0 0;
  font-size: 2.93vw;
  /*font-vw*/
}

.stepList01-45 .captureImg {
  display: block;
  margin: 45px auto 0;
  max-width: 404px;
  width: 85%;
}

@media screen and (min-width: 750px), print {
  .stepList01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .stepList01 li {
    display: block;
    width: 23%;
    margin: 0;
    padding: 30px 20px 30px 20px;
  }
  .stepList01 li:not(:last-child)::after {
    top: 50%;
    bottom: auto;
    left: auto;
    right: -18px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .stepList01 .stepText {
    width: 100%;
  }
  .stepList01 .stepText .text01 {
    font-size: 1.8vw;
  }
  .stepList01 .stepText .text02 {
    font-size: 1.2vw;
  }
  .stepList01 .stepImg {
    width: 100%;
    margin: 15px 0 0 0;
    padding: 0;
  }
  .stepList01 .stepImg + p {
    margin: 16px 0 0 0;
    font-size: 12px;
  }
  .stepList01-45 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    /* justify-content: space-between; ORG */
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    max-width: 750px;
  }
  .stepList01-45 li {
    margin: 3% 3% 0 0;
    padding: 30px 20px 30px 20px;
    width: 30.333333333%;
  }
  .stepList01-45 li:not(:last-child)::after {
    top: 50%;
    bottom: auto;
    left: auto;
    right: -18px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .stepList01-45 .stepText {
    width: 100%;
  }
  .stepList01-45 .stepText .text01 {
    font-size: 1.8vw;
    /*font-vw*/
  }
  .stepList01-45 .stepText .text02 {
    font-size: 1.2vw;
    /*font-vw*/
  }
  .stepList01-45 .stepImg {
    width: 100%;
    margin: 15px auto 0;
    max-width: 150px;
    padding: 0;
  }
  .stepList01-45 .stepImg + p {
    margin: 16px 0 0 0;
    font-size: 12px;
  }
}
@media screen and (min-width: 940px), print {
  .stepList01 .stepText .text01 {
    font-size: 16px;
  }
  .stepList01 .stepText .text02 {
    font-size: 12px;
  }
  .stepList01-45 .stepText .text01 {
    font-size: 16px;
  }
  .stepList01-45 .stepText .text02 {
    font-size: 16px;
  }
  .stepList01-45 {
    max-width: 940px;
  }
}
/*
=========================================
	FAQ（よくある質問）
=========================================
*/
.faqList01 {
  max-width: 820px;
  margin: 0 auto;
  padding: 30px 0 30px 0;
  border-bottom: 1px solid #e9eeec;
}

.faqList01:first-child {
  padding: 0 0 30px 0;
}

.faqList01 dt {
  position: relative;
  margin: 0 0 15px 0;
  padding: 0 0 0 30px;
  font-size: 1.28em;
}

.faqList01 dd {
  position: relative;
  padding: 0 0 0 30px;
}

.faqList01 .ico {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 25px;
  height: 25px;
}

.faqList01 dd .ico {
  top: -0.3em;
}

@media screen and (min-width: 750px), print {
  .faqList01 {
    padding: 40px 0 40px 0;
  }
  .faqList01 dt {
    margin: 0 0 25px 0;
  }
  .faqList01 dt,
  .faqList01 dd {
    padding: 0 0 0 50px;
  }
  .faqList01 .ico {
    width: 35px;
    height: 35px;
  }
  .faqList01 dd .ico {
    top: -0.2em;
  }
}
/*
=========================================
	Contents（学習内容）
=========================================
*/
/*Contents
---------------*/
.contentsList01 li {
  margin: 0 0 15px 0;
}

.contentsList01 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #8e9290;
  -webkit-transition: none;
  transition: none;
}

.contentsList01 .thumb {
  width: 53.17%;
}

.contentsList01 .txt {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #8e9290;
  color: #ffffff;
  font-size: 1.28em;
}

.contentsList01 a:hover {
  border: 1px solid #b0b2b0;
}

.contentsList01 a:hover .txt {
  background: #b0b2b0;
}

.contentsList01 .txt::after {
  position: absolute;
  right: 15px;
  top: 50%;
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-top: 1px solid;
  border-right: 1px solid;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
}

@media screen and (min-width: 750px), print {
  .tabArea {
    /*margin: 0 0 5px 0;*/
    max-width: 820px;
    margin: 0 auto 40px;
  }
  .contentsList01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 820px;
    margin: 0 auto;
  }
  .contentsList01 li {
    width: 18.78%;
  }
  .contentsList01 a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .contentsList01 .thumb {
    width: 100%;
  }
  .contentsList01 .txt {
    display: block;
    height: 65px;
    padding: 10px 15px;
    text-align: center;
    font-size: 24px;
    font-size: 2.4rem;
  }
  .contentsList01 .txt::after {
    position: static;
    margin: 0 auto;
    width: 0.5em;
    height: 0.5em;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
  }
  .contentsList01 li.is-active a {
    position: relative;
    color: #303030;
  }
  .contentsList01 li.is-active .txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: static;
    background: #ffffff;
    color: #303030;
  }
  .contentsList01 li.is-active .txt::after {
    position: absolute;
    left: 50%;
    right: auto;
    top: auto;
    bottom: -0.5em;
    width: 1em;
    height: 1em;
    margin-left: -0.5em;
    background: #ffffff;
    border-top: 1px solid #8e9290;
    border-right: 1px solid #8e9290;
  }
  .contentsList01 li.is-active a:hover.txt::after {
    border-top: 1px solid #b0b2b0;
    border-right: 1px solid #b0b2b0;
  }
}
/*Contents Detail
---------------*/
.cont {
  display: none;
  padding: 9.3vw 0 0 0;
  background-color: #ffffff;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.cont.is-active {
  display: block;
}

/*bg*/
#cont01 {
  background-image: url(../img/bg_contents01.jpg);
}

#cont02 {
  background-image: url(../img/bg_contents02.jpg);
}

#cont03 {
  background-image: url(../img/bg_contents03.jpg);
}

#cont04 {
  background-image: url(../img/bg_contents04.jpg);
}

#cont05 {
  background-image: url(../img/bg_contents05.jpg);
}

.cont .contTitle01 {
  width: 83.17%;
}

.cont .inner01 {
  margin: 2vw 5.3vw;
  padding: 2.6vw;
  background: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  font-size: 3.7vw;
}

.cont .contText01,
.cont .contText02 {
  padding: 9.3vw 10px 9.3vw 10px;
  border-bottom: 1px solid #e9eeec;
  line-height: 1.7;
}

.cont .studyList01 h4 {
  margin: 0 0 9.3vw 0;
  font-size: 18px;
  font-size: 4.8vw;
  text-align: center;
}

.cont .studyList01 > ul > li {
  position: relative;
  margin: 0 0 10px 0;
  padding: 0 0 0 1.5em;
}

.cont .studyList01 > ul > li:before {
  position: absolute;
  left: 0;
  top: 0.25em;
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  border: 1px solid #c1c1c1;
}

.cont .studyList01 > ul > li:after {
  position: absolute;
  left: 0.3em;
  top: 0.3em;
  content: "";
  display: block;
  width: 0.4em;
  height: 0.7em;
  border-right: 1px solid;
  border-bottom: 1px solid;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.cont .btnClose {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  margin: auto;
  padding: 5px 20px 3px 20px;
  background: #a0a8a6;
  border: none;
  color: #ffffff;
}

@media screen and (min-width: 750px), print {
  .cont {
    max-width: 820px;
    margin: 0 auto;
    padding: 50px 0 0 0;
    border: 1px solid #8e9290;
  }
  #cont01 .contTitle01 {
    margin-left: 30px;
  }
  #cont03 .contTitle01 {
    margin-left: 30px;
  }
  .cont.is-active {
    display: block;
  }
  .cont .inner01 {
    margin: 40px 40px 0 40px;
    padding: 40px;
    font-size: 20px;
  }
  .cont .contText01 {
    padding: 0 0 40px 0;
  }
  .cont .contText02 {
    padding: 40px 40px 40px 0;
  }
  .cont .studyList01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .cont .studyList01 h4 {
    width: 41.5%;
    margin: 0;
    font-size: 22px;
  }
}
/*Modal
---------------*/
#modal {
  display: none;
}

#modal .cont {
  display: block !important;
  padding-bottom: 30px;
}

.modal {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.modalInner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  padding: 60px 8vw 8vw 8vw;
}

.modalBtnClose {
  position: absolute;
  right: 8vw;
  top: 2vw;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
}

.modalBtnClose span {
  display: block;
  width: 100%;
  height: 2px;
  background: #ffffff;
}

.modalBtnClose span:nth-child(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.modalBtnClose span:nth-child(2) {
  -webkit-transform: rotate(-45deg) translate(0, -1px);
          transform: rotate(-45deg) translate(0, -1px);
}

@media screen and (min-width: 750px), print {
  #modal {
    display: none !important;
  }
}
/*
=========================================
	Utilities
=========================================
*/
/* マージン
---------------------------------*/
.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

/* サイズ
---------------------------------*/
.w4em {
  min-width: 6em;
}

/* 左右行揃え
---------------------------------*/
.taL {
  text-align: left;
}

.taR {
  text-align: right;
}

.taC {
  text-align: center;
}

/* フロート／フロート解除
---------------------------------*/
.fl {
  float: left;
}

.fr {
  float: right;
}

.flImg {
  float: left;
  margin-right: 15px;
  margin-bottom: 15px;
}

.frImg {
  float: right;
  margin-left: 15px;
  margin-bottom: 15px;
}

.clear {
  clear: both;
}

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

/* 罫線
---------------------------------*/
.b1px_sld_gry {
  border: 1px solid #bbb;
}

/* 文字サイズ
---------------------------------*/
.fzL {
  font-size: 115%;
}

.fzM {
  font-size: 100%;
}

.fzS {
  font-size: 75%;
}

.note {
  font-size: 75%;
}

/* 文字スタイル
---------------------------------*/
.fwN {
  font-weight: normal;
}

.fwB {
  font-weight: bold;
}

p.note,
.note li {
  margin-left: 1em;
  text-indent: -1em;
}

.serif {
  font-family: "リュウミン R-KL", Ryumin Regular KL, "ヒラギノ明朝 W4 JIS2004", Hiragino Mincho W4 JIS2004, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* 文字色
---------------------------------*/
.cRed {
  color: #e04552;
}

.cGreen {
  color: #005a32;
}

.cWhite {
  color: #fff !important;
}

/* 表示調整
---------------------------------*/
.sp {
  display: block;
}

.sp_i {
  display: inline;
}

.pc {
  display: none;
}

.pc_i {
  display: none;
}

img.sp {
  display: inline-block;
}

img.pc {
  display: none;
}

@media screen and (min-width: 750px), print {
  .sp {
    display: none;
  }
  .sp_i {
    display: none;
  }
  .pc {
    display: block;
  }
  .pc_i {
    display: inline;
  }
  img.sp {
    display: none;
  }
  img.pc {
    display: inline-block;
  }
}
/* 1月31日追加CSS */
.myPageRegCap_span {
  background: #d166a1;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

/* アコーディオン */
/* チェックボックスを非表示 */
.accordion-hidden {
  display: none;
}

/* 質問部分 */
.accordion-open {
  text-align: center;
  display: block;
  background: #dab7ca;
  cursor: pointer;
  border: none;
  font-size: 16px;
  line-height: 3;
  position: relative;
  margin-bottom: 30px;
}

/* アンサーは非表示 */
.accordion-close {
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

/* チェックボックスにチェックが入ったら表示 */
.accordion-hidden:checked + .accordion-open + .accordion-close {
  height: auto;
  opacity: 1;
  padding: 30px;
  background: white;
}

.accordion-open:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  content: "";
  background-image: url(../img/cross-open_wh_button.svg);
  background-repeat: no-repeat;
  background-size: 20px;
  display: block;
  padding: 10px 20px;
  position: absolute;
  top: 35%;
  right: 0;
}

.accordion-hidden:checked + .accordion-open:after {
  content: "";
  background-image: url(../img/cross-close_wh_button.svg);
}

@media (max-width: 749px) {
  .myPageRegCap_span {
    line-height: 1.5;
  }
  .accordion-open:after {
    right: -8px;
  }
}
/* アコーディオンここまで */
/* 1月31日追加CSSここまで */
.mainVisual {
  position: relative;
  /* background: url(../img/mainimg04_sp.jpg) center top no-repeat; */
  background-image: url(../img/mainimg04_sp.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 120vw;
}

@media screen and (min-width: 750px) {
  .mainVisual {
    /* background: url(../img/mainimg04_pc.jpg) center top no-repeat; */
    background-image: url(../img/mainimg04_pc.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    height: 45vw;
  }
}
/* アコーディオン */
/* チェックボックスを非表示 */
.accordion-hidden2 {
  display: none;
}

/* 質問部分 */
.accordion-open2 {
  border: 1px solid #fff !important;
  color: #fff;
  text-align: center;
  display: block;
  cursor: pointer;
  border: none;
  font-size: 27px;
  position: relative;
  font-size: 2.2rem;
  line-height: 1;
  margin: 20px auto 0;
  padding: 2%;
  text-align: center;
  max-width: 593px;
}

/* アンサーは非表示 */
.accordion-close2 {
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.accordion-close2 .inner {
  max-width: 593px;
  width: 100%;
  display: block;
  margin: 0 auto;
}

/* チェックボックスにチェックが入ったら表示 */
.accordion-hidden2:checked + .accordion-open2 + .accordion-close2 {
  height: auto;
  opacity: 1;
  padding: 30px;
  max-width: 593px;
  color: #fff;
  display: block;
  margin: 0 auto;
  text-align: left;
}

.accordion-open2:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  content: "";
  background-image: url(../img/tri-open_wh_button.svg);
  background-repeat: no-repeat;
  background-size: 20px;
  display: block;
  padding: 10px 20px;
  position: absolute;
  top: 40%;
  right: 0;
}

.accordion-hidden2:checked + .accordion-open2:after {
  content: "";
  background-image: url(img/tri-close_wh_button.svg);
}

.siteHeader {
  height: auto;
  padding: 15px 0;
}
@media screen and (max-width: 767px) {
  .siteHeader {
    border-bottom: 1px solid rgb(208, 208, 208);
  }
}

.sns-header {
  position: absolute;
  right: 0;
  top: -15px;
}

@media screen and (max-width: 749px) {
  .accordion-open2 {
    font-size: 1.9rem;
    padding: 8px;
  }
  .accordion-open2:after {
    top: 32%;
    right: -4px;
  }
  .accordion-hidden2:checked + .accordion-open2 + .accordion-close2 {
    padding: 10px 5px;
  }
  .ft_sns ul li:last-of-type {
    margin: 0 0px 0 0;
  }
  .container_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .hdLogo img {
    width: 170px;
  }
  .sns-header_rogo {
    width: 16px !important;
    height: 16px !important;
  }
  .sns-header {
    right: 90px;
    top: -23px;
  }
  .checkbox_wrap {
    padding: 0;
  }
}
.cvBox01 .cvTitle h1 {
  width: 85%;
  position: relative;
  top: -5px;
}

.pageNav {
  background-color: #ffffff;
  -webkit-box-shadow: 0px 6px 9px -7px rgba(0, 0, 0, 0.5);
          box-shadow: 0px 6px 9px -7px rgba(0, 0, 0, 0.5);
}

.pageNav.is-fixed {
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}

.figcaption_sub {
  font-size: 13px;
}

@media screen and (max-width: 749px) {
  .figcaption_sub {
    font-size: 0.9em;
  }
  .ft_sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
  .cvBox01 .cvTitle h1 {
    width: 80%;
    position: relative;
    top: -3px;
  }
}
.tabBody .grayLine {
  border-bottom: 1px solid rgb(202, 202, 202);
}

.cvBox01 {
  font-family: "ナウ-MM", "NOW-MM", "ヒラギノ角ゴ W3 JIS2004", "Hiragino Kaku Gothic W3 JIS2004", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, sans-serif;
}

/********************
  合格者・企業の声
******************************/
.voiceProfile__box {
  display: grid;
  grid-template-columns: 20% auto 20%;
  grid-template-rows: auto;
  grid-template-areas: "space profile icon";
  padding: 0 6.5%;
}

@media screen and (max-width: 749px) {
  .voiceProfile__box {
    grid-template-columns: 100%;
    grid-template-rows: auto auto;
    grid-template-areas: "profile" "icon";
    padding-bottom: 1.5em;
  }
}
#voice02 .voiceSpace {
  grid-area: space;
}

#voice02 figcaption {
  grid-area: profile;
}

#voice02 .voiceIcon {
  grid-area: icon;
  width: 100%;
  display: inherit;
  align-self: center;
}

#voice02 .voiceIcon img {
  width: 100%;
  max-width: 170px;
}

@media screen and (max-width: 749px) {
  #voice02 .voiceIcon {
    justify-items: center;
  }
}
@media screen and (max-width: 749px) {
  .scenes section .fig__pb {
    padding-bottom: 1.2em;
  }
}
/* 2023年6月6日追加 */
.cvBox01 .cvBtn_sub {
  color: white;
  margin: 20px auto 0px;
  display: block;
  font-size: 16px;
  letter-spacing: 0.07em;
}

.cvBtn_sub_link {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

a.dcvbtn_sub_link:link {
  text-decoration: underline;
  color: #ffffff;
  text-underline-offset: 3px;
}

a.dcvbtn_sub_link:active {
  text-decoration: underline;
  color: #ffffff;
  text-underline-offset: 3px;
}

a.dcvbtn_sub_link:hover {
  text-decoration: underline;
  color: #ffffff;
  text-underline-offset: 3px;
}

a.dcvbtn_sub_link:visited {
  text-decoration: underline;
  color: #ffffff;
  text-underline-offset: 3px;
}

@media screen and (max-width: 749px) {
  .cvBox01 .cvBtn_sub {
    font-size: 3.5vw;
    margin: 17px auto 4px;
  }
}
.search_list {
  display: -webkit-box;
  display: -ms-flex box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 11px;
     -moz-column-gap: 11px;
          column-gap: 11px;
  row-gap: 14px;
}

.search_list li p {
  margin: 0;
  line-height: 1;
  font-size: 14px;
  color: white;
  letter-spacing: 0.07em;
  padding: 6px 10px;
  background-color: rgb(164, 164, 164);
  border-radius: 3px;
}

#about .search_list_box {
  display: block;
  margin: 8px auto 75px !important;
  max-width: 800px;
  width: 90%;
}

p.search_list_title {
  font-size: 25px;
  margin-bottom: 16px;
  letter-spacing: 0.07em;
  line-height: 1.6;
}

.search_margin {
  margin-top: -80px;
  padding-top: 80px;
}

@media screen and (max-width: 749px) {
  #search_list01 {
    margin-top: -122px;
  }
}

.mainVisual {
  background-image: url(../img/mainimg03_pc.jpg);
}

@media screen and (max-width: 749px) {
  .mainVisual {
    background-image: url(../img/mainimg03_sp.jpg);
  }
  p.search_list_title {
    font-size: 4.5vw;
    line-height: 1.6;
  }
  #about .search_list_box {
    margin: 8px auto 60px !important;
    width: 100%;
  }
}
.campaign__detail .cp__period,
.campaign__detail .cp__conditions,
.campaign__detail .cp__method,
.campaign__detail .cp__announcement {
  margin-bottom: 3em;
}

/* プレゼントキャンペーン ここまで */
/* プレゼントキャンペーン ボタン ここから */
#present-cp__btn {
  position: fixed;
  top: 280px;
  /* top: 24vh; */
  right: 0;
  z-index: 1000;
  -webkit-transition: 1s;
  transition: 1s;
}

#present-cp__btn.slide {
  position: fixed;
  /* 常時表示に変更 */
  /* top: 240px; */
  /* right: -100px; */
  z-index: 100;
  -webkit-transition: 1s;
  transition: 1s;
}

a.campaign_link-bunner:hover img {
  opacity: 1;
  -webkit-filter: none;
          filter: none;
}

.pre-cp__btn {
  width: 100px;
}

.campaign__detail_wrap {
  background-color: white;
  padding-bottom: 50px;
}

@media (max-width: 749px) {
  .pre-cp__btn {
    /* width: 100%; */
    width: 57px;
  }
  .pre-cp__btn img {
    width: 100%;
  }
  #present-cp__btn {
    top: inherit;
    bottom: 0;
  }
  #present-cp__btn.slide {
    position: fixed;
    right: 0;
    top: 13vh;
    bottom: inherit;
  }
  .campaign_main_wrap_innner {
    padding: 15px;
  }
  .campaign_top-box_upper {
    padding: 40px 15px 30px 15px;
  }
  .campaign_top_title_sub {
    font-size: 4.2vw;
    margin-bottom: 10px;
  }
  .campaign_top_title {
    font-size: 9vw;
    line-height: 1.2;
    margin-bottom: 20px;
  }
  .campaign_top_copy {
    font-size: 4.5vw;
  }
  .campaign_top-box_upper_bottom {
    font-size: 4vw;
  }
  .campaign_main_wrap {
    background-image: url(../asset/img/campaign_BG_sm_02.jpg);
    background-size: cover;
  }
  .method__btn a {
    font-size: 5vw;
    width: 100%;
    text-align: center;
  }
  .campaign_button_img {
    width: 100%;
  }
  .start {
    position: relative;
    z-index: 499;
  }
  .start img {
    opacity: 0;
    display: none;
  }
  .start.fixed img {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    opacity: 1;
    display: block;
  }
  .fixed {
    position: fixed;
    bottom: 0;
  }
  .about {
    padding: 3vw 0 21.3vw;
    opacity: 0;
  }
  .search_list li p {
    font-size: 3vw;
  }
  .search_list_box {
    width: 100%;
  }
  .pageNav {
    top: inherit;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 999;
  }
  /* プレゼントキャンペーン ボタン ここまで */
}
/* キャンペーンコンテンツここから */
#campaign0605 .all_wrap {
  width: 90%;
  margin: 4vw auto;
  margin-bottom: 10vw !important;
  display: block;
  text-align: center;
  padding: 8vw 0px 0px;
  background-color: white;
  position: relative;
  border: 2px solid #8F9290;
}

#campaign0605 .all_wrap p {
  line-height: 1;
}

#campaign0605 .festa-detail {
  width: 92%;
  display: block;
  margin: 0 auto 30px !important;
}

@media screen and (min-width: 750px) {
  #campaign0605 .all_wrap {
    padding: 6vw 0px 0px;
    border: 3px solid #8F9290;
    margin-bottom: 50px;
  }
  #campaign0605 .festa-detail {
    width: 79%;
  }
}
#campaign0605 .inner .title .sub {
  font-size: min(3.8vw, 20px);
  letter-spacing: 0.07em;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #5A5A5A;
  font-weight: 550;
}

#campaign0605 .inner .title h2 {
  font-size: min(5.6vw, 38px);
  letter-spacing: 0.02em;
  padding-bottom: 3.2vw;
  margin-bottom: 10px;
  border-bottom: 1px dashed;
  color: #5A5A5A;
  line-height: 1.2;
  font-weight: 550;
}

#campaign0605 .inner {
  max-width: 800px;
  width: 95%;
  display: block;
  margin: 0 auto;
  position: relative;
}

#campaign0605 .inner .title .lead {
  padding-bottom: 10px;
  margin-bottom: 21px !important;
  border-bottom: 1px dashed;
}

#campaign0605 .inner .title .lead p {
  font-size: min(3.5vw, 18px);
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-bottom: 10px;
}

#campaign0605 .inner .title .lead img {
  display: block;
  margin: 0 auto;
  width: 68%;
}

#campaign0605 .inner .title .lead span {
  font-size: min(3.2vw, 15px);
  font-weight: 300;
}

#campaign0605 .inner .festa-title {
  font-size: min(3.5vw, 21px);
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-bottom: 10px !important;
}

#campaign0605 .inner .festa-title span {
  font-size: 85%;
}

#campaign0605 .inner .festa-info {
  font-size: min(3.2vw, 16px);
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-bottom: 5px !important;
  text-align: left;
}

#campaign0605 .inner .add .lead {
  font-size: min(3.2vw, 16px);
  letter-spacing: 0.03em;
  line-height: 1.6;
  padding-bottom: 0px;
  margin-bottom: 10px !important;
}

#campaign0605 .inner .add .caution {
  font-size: min(2.9vw, 16px);
  line-height: 1.4;
  margin-bottom: 14px !important;
}

#campaign0605 .inner .link-button {
  background: #A2D19C;
  color: white;
  font-size: min(4.2vw, 21px);
  letter-spacing: 0.07em;
  padding: 10px 0;
  display: inline-block;
  width: 73%;
  margin-bottom: 17px !important;
  position: relative;
}

#campaign0605 .inner .link-button::after {
  content: "";
  display: block;
  position: absolute;
  width: 12px;
  height: 12px;
  top: 38%;
  right: 3%;
  border-top: solid 1px #ffffff;
  border-right: solid 1px #ffffff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#campaign0605 .bottom-wrap {
  background: #f1f8f0;
  padding: 17px 0;
}

#campaign0605 .bottom-wrap .span {
  font-size: min(3.7vw, 19px);
  letter-spacing: 0.07em;
  margin-bottom: 9px;
}

#campaign0605 .bottom-wrap .sub {
  font-size: min(3.1vw, 12px);
  letter-spacing: 0.07em;
}

#campaign0605 .present-image {
  position: absolute;
  width: 17%;
  top: -4%;
  right: 0%;
}

@media screen and (min-width: 500px) {
  #campaign0605 .present-image {
    width: 16%;
    top: -4%;
    right: 0%;
  }
}
#campaign0605 .present-image .cap {
  font-size: 10px;
  position: relative;
  left: -10%;
  white-space: nowrap;
}

section#campaign0605 {
  z-index: 1;
  position: relative;
}

@media screen and (min-width: 700px) {
  #campaign0605 .present-image {
    width: 15%;
    top: -4%;
    right: 0%;
  }
}
@media screen and (min-width: 749px) {
  #campaign0605 .all_wrap {
    max-width: 1000px;
    width: 90%;
    margin: 5vw auto;
    display: block;
    padding: 44px 0px 0px;
    position: relative;
  }
  #campaign0605 .inner .title .sub {
    font-size: 23px;
    letter-spacing: 0.07em;
    margin-top: 0px;
    margin-bottom: 10px;
    color: #5A5A5A;
  }
  #campaign0605 .inner .title h2 {
    font-size: 42px;
    letter-spacing: 0.02em;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px dashed;
    color: #5A5A5A;
  }
  #campaign0605 .inner {
    max-width: 860px;
    width: 95%;
    display: block;
    margin: 0 auto;
    position: relative;
  }
  #campaign0605 .inner .title .lead p {
    font-size: 15px;
    letter-spacing: 0.04em;
    line-height: 1.6;
  }
  #campaign0605 .inner .title .lead {
    padding-bottom: 15px;
  }
  #campaign0605 .inner .title .lead img {
    width: 41%;
  }
  #campaign0605 .inner .add .lead {
    font-size: 19px;
    line-height: 1.6;
    padding-bottom: 0px;
  }
  #campaign0605 .inner .add .caution {
    font-size: 16px;
    margin-bottom: 30px;
  }
  #campaign0605 .inner .link-button {
    background: #A2D19C;
    color: white;
    font-size: 23px;
    letter-spacing: 0.07em;
    padding: 12px;
    display: inline-block;
    width: 406px;
    margin-bottom: 17px;
    position: relative;
  }
  #campaign0605 .inner .link-button::after {
    content: "";
    display: block;
    position: absolute;
    width: 12px;
    height: 12px;
    top: 38%;
    right: 3%;
    border-top: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #campaign0605 .bottom-wrap {
    background: #f1f8f0;
    padding: 17px 0;
  }
  #campaign0605 .bottom-wrap .span {
    font-size: 24px;
    letter-spacing: 0.07em;
    margin-bottom: 13px;
  }
  #campaign0605 .bottom-wrap .sub {
    font-size: 19px;
    letter-spacing: 0.07em;
  }
  #campaign0605 .present-image {
    width: 10%;
    top: -4%;
    right: 12%;
  }
  #campaign0605 .present-image .cap {
    font-size: 11px;
    left: inherit;
  }
  section#campaign0605 {
    /* margin-top: 120px; */
    margin-top: 53px;
  }
}
@media screen and (min-width: 750px) {
  #campaign0605 .inner .add .lead {
    font-size: 20px;
  }
  #campaign0605 .inner .add .caution {
    font-size: 19px;
  }
  #campaign0605 .all_wrap {
    padding: 60px 0px 0px;
    margin: 0px auto;
  }
}
@media screen and (min-width: 750px) {
  #campaign0605 .present-image {
    width: 9%;
    top: -11%;
    right: 2%;
  }
}
@media screen and (min-width: 795px) {
  #campaign0605 .present-image {
    top: -12%;
  }
}
@media screen and (min-width: 836px) {
  #campaign0605 .present-image {
    top: -14%;
  }
}
@media screen and (min-width: 985px) {
  #campaign0605 .present-image {
    width: 8%;
    top: -10%;
    right: 1%;
  }
  #campaign0605 .inner .add .lead {
    font-size: 24px;
  }
}
@media screen and (min-width: 1050px) {
  #campaign0605 .present-image {
    position: absolute;
    width: 15%;
    top: 12%;
    right: -10%;
  }
  #campaign0605 .inner .title .lead p {
    font-size: 18px;
  }
}
@media screen and (min-width: 1200px) {
  #campaign0605 .present-image {
    right: -14%;
  }
}
@media screen and (min-width: 1250px) {
  #campaign0605 .present-image {
    position: absolute;
    width: 20%;
    top: 12%;
    right: -19%;
  }
}
.about .campaign_tag {
  position: absolute;
  top: 1%;
  left: -2%;
  font-size: 4.2vw;
  letter-spacing: 0.07em;
  line-height: 1;
  color: white;
  padding: 3px 10px;
  padding: 3px 0px 3px 10px;
  background-color: #A2D19C;
  -webkit-transform: rotate(-5deg);
          transform: rotate(-5deg);
  z-index: 10;
}

@media screen and (min-width: 430px) {
  .about .campaign_tag {
    top: 0%;
  }
}
@media screen and (min-width: 767px) {
  .about .campaign_tag {
    position: absolute;
    top: 5%;
    left: 9%;
    font-size: 27px;
    letter-spacing: 0.07em;
    line-height: 1;
    color: white;
    padding: 3px 0px 3px 10px;
    background-color: #A2D19C;
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
    z-index: 10;
  }
}
@media screen and (min-width: 1350px) {
  #campaign0605 .all_wrap {
    padding: 70px 0px 0px;
    margin: 0 auto;
  }
  .about .campaign_tag {
    top: 5%;
    left: 24%;
    font-size: 25px;
    padding: 5px 0px 5px 16px;
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
    z-index: 10;
  }
  #campaign0605 .present-image .cap {
    left: -9%;
    margin-top: 5px;
  }
}
a.link-button:hover,
a.campaign_link-bunner:hover {
  opacity: 0.75;
  filter: alpha(opacity=75);
}

/* キャンペーンコンテンツここまで */
.accordion-hidden2:checked + .accordion-open2 + .accordion-close2 {
  padding: 12px 0 20px;
}

.accordion-open2 {
  padding: 10px 0 10px;
  max-width: inherit;
  display: inline-block;
  position: relative;
  font-size: 3.8vw;
  margin-top: 0;
  max-width: 593px;
  width: 100%;
}

.accordion-open2:after {
  background-size: 15px;
  top: 35%;
}

@media screen and (min-width: 749px), print {
  .ft_sns {
    width: 260px;
    padding: 30px 0 0 0;
    text-align: center;
  }
}
.sns ul li.youtube a img {
  display: block;
  height: auto;
  margin: 24% auto 0;
  width: 85%;
}

.accordion-open2:after {
  background-image: url(../img/tri-open_wh_button_2306.svg);
}

.accordion-hidden2:checked + .accordion-open2:after {
  content: "";
  background-image: url(../img/tri-close_wh_button_2306.svg);
}

.accordion-hidden2:checked + .accordion-open2 + .accordion-close2 {
  font-size: 3.5vw;
}

@media screen and (min-width: 750px) {
  .accordion-open2 {
    font-size: 16px;
    margin-top: 7px;
    max-width: 593px;
  }
  .accordion-hidden2:checked + .accordion-open2 + .accordion-close2 {
    font-size: 15px;
  }
}
/* カウントダウンタイマー */
.countdown {
  position: absolute;
  bottom: 4%;
  right: 7%;
  display: inline-block;
}

@media screen and (max-width: 1440px) {
  .countdown {
    bottom: 6%;
    right: 9%;
  }
}
.countdown .lead {
  background-color: #898c8b;
  font-size: 18px;
  letter-spacing: 0.06em;
  color: white;
  line-height: 1.4;
  text-align: center;
  padding: 7px 33px;
  border-radius: 16px 16px 0 0;
}

.countdown .timer {
  background-color: white;
  padding: 7px 0 8px;
  color: #707070;
  border-radius: 0 0 16px 16px;
}

.countdown .timer .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 2px;
}

.countdown .timer .flex .sub {
  font-size: 20px;
  font-weight: 700;
  margin-right: 8px;
  padding-bottom: 4px;
}

.countdown .timer .flex .number {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
}

.countdown .timer .flex .number,
.countdown .timer .flex .sub {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.countdown .timer .deadline {
  text-align: center;
  font-size: 15px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.selif-text {
  font-family: "Ryumin Medium KL", "ヒラギノ明朝 W3 JIS2004", "Hiragino Mincho W3 JIS2004", "ヒラギノ明朝 Pro W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
}

@media screen and (max-width: 1350px) {
  .countdown .lead {
    font-size: 17px;
    padding: 7px 25px;
  }
  .countdown .timer .flex .number {
    font-size: 70px;
  }
  .countdown {
    bottom: 6%;
    right: 13%;
  }
}
@media screen and (max-width: 1024px) {
  .countdown .lead {
    font-size: 14px;
  }
}
@media screen and (max-width: 800px) {
  .countdown {
    right: 15%;
  }
}
@media (max-width: 749px) {
  .countdown {
    bottom: 25%;
    right: 3%;
  }
  .countdown .lead {
    padding: 7px 23px;
    border-radius: 10px 10px 0 0;
  }
  .countdown .timer {
    padding: 4px 1vw 5px;
    border-radius: 0 0 10px 10px;
  }
  .countdown .timer .flex .number {
    font-size: 63px;
  }
  .countdown .timer .deadline {
    font-size: 13px;
  }
  .countdown .timer .flex .sub {
    margin-right: 2px;
  }
}
@media (max-width: 600px) {
  .countdown .lead {
    font-size: 10px;
    padding: 7px 3px;
    letter-spacing: 0.03em;
  }
  .countdown .timer .flex .number {
    font-size: 12.2vw;
  }
  .countdown .timer .flex .sub {
    font-size: 3.3vw;
    margin-right: 1vw;
    padding-bottom: 0.8vw;
  }
  .countdown .timer .deadline {
    font-size: 10px;
  }
}
.e-con-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  padding: 10px 0;
}
.e-con-inner .lead {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  color: rgb(84, 89, 95);
  line-height: 30px;
}
@media screen and (max-width: 767px) {
  .e-con-inner .lead {
    font-size: 10.5px;
  }
}
.e-con-inner .button .button-wrapper .link {
  background: #69727D;
  color: #FFFFFF;
  border-radius: 50px 50px 50px 50px;
  padding: 8px 15px 8px 15px;
  display: block;
}
.e-con-inner .button .button-wrapper .link .button-text {
  font-size: 16px;
  line-height: 1;
  padding-right: 20px;
  position: relative;
  display: block;
}
@media screen and (max-width: 767px) {
  .e-con-inner .button .button-wrapper .link .button-text {
    font-size: 10.5px;
  }
}
.e-con-inner .button .button-wrapper .link .button-text::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  position: absolute;
  right: 7px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.jet-popup {
  display: block;
  position: fixed;
  z-index: 900;
  right: 0;
  bottom: 11vw;
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #EDEBEB;
  padding: 20px 8px 20px 8px;
  margin: 0px 0px 0px 0px;
  border-radius: 5px 0px 0px 5px;
  -webkit-box-shadow: 0px 0px 10px -2px rgba(150, 150, 150, 0.5);
          box-shadow: 0px 0px 10px -2px rgba(150, 150, 150, 0.5);
}
.jet-popup .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 10px;
}
.jet-popup .inner .icon {
  position: relative;
  width: 25px;
  height: 25px;
  display: block;
}
.jet-popup .inner .icon::after {
  font-family: "Happy-Icons" !important;
  font-style: normal;
  color: #7a7a7a;
  position: absolute;
  content: "\e999";
  font-size: 25px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.jet-popup .inner .txt {
  font-family: "seiwa-do-l", Sans-serif;
  font-size: 14px;
  color: black;
  font-weight: bold;
  line-height: 15px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 1.4;
}

.enqText_wrap {
  margin-top: 20px;
}

.js_account {
  color: black;
}

.step_cautionWrap {
  margin-top: 30px;
}
@media screen and (min-width: 750px) {
  .step_cautionWrap {
    margin-left: 12px;
  }
}
.step_cautionWrap .step_caution {
  font-size: 13px;
  margin-bottom: 0;
  padding-left: 1em;
  text-indent: -1em;
}
.step_cautionWrap .step_caution a {
  color: #000;
  text-decoration: underline;
}
@media screen and (min-width: 750px) {
  .step_cautionWrap .step_caution {
    font-size: 14px;
  }
}
/*# sourceMappingURL=style.css.map */
