@charset "UTF-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device 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/10/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 of focused elements when they are also in an
 * active/hover state.
 */
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 {
  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"] {
  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.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
}

/**
 * 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;
}

/* add
   ========================================================================== */
figure, ul, ol, li, p, dl, dt, dd {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

/* ---------------------------------------------------------
   util.css
--------------------------------------------------------- */
/* layout */
.none {
  display: none !important;
}

.block {
  display: block !important;
}

.inline {
  display: inline !important;
}

.f_left {
  float: left  !important;
}

.f_right {
  float: right  !important;
}

.left {
  text-align: left !important;
}

.center {
  text-align: center !important;
}

.right {
  text-align: right !important;
}

.z0 {
  position: relative !important;
  z-index: 0 !important;
}

/* Micro clearfix */
.clearfix {
  *zoom: 1;
}

.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clear {
  clear: both;
  overflow: hidden;
  border: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
}

/* font */
.bold {
  font-weight: bold !important;
}

.no_bold {
  font-weight: normal !important;
}

/* fontsize */
.f10 {
  font-size: 10px !important;
  font-size: 1rem !important;
}

.f11 {
  font-size: 11px !important;
  font-size: 1.1rem !important;
}

.f12 {
  font-size: 12px !important;
  font-size: 1.2rem !important;
}

.f13 {
  font-size: 13px !important;
  font-size: 1.3rem !important;
}

.f14 {
  font-size: 14px !important;
  font-size: 1.4rem !important;
}

.f15 {
  font-size: 15px !important;
  font-size: 1.5rem !important;
}

.f16 {
  font-size: 16px !important;
  font-size: 1.6rem !important;
}

.f17 {
  font-size: 17px !important;
  font-size: 1.7rem !important;
}

.f18 {
  font-size: 18px !important;
  font-size: 1.8rem !important;
}

.f19 {
  font-size: 19px !important;
  font-size: 1.9rem !important;
}

.f20 {
  font-size: 20px !important;
  font-size: 2rem !important;
}

.f21 {
  font-size: 21px !important;
  font-size: 2.1rem !important;
}

.f22 {
  font-size: 22px !important;
  font-size: 2.2rem !important;
}

.f23 {
  font-size: 23px !important;
  font-size: 2.3rem !important;
}

.f24 {
  font-size: 24px !important;
  font-size: 2.4rem !important;
}

.f25 {
  font-size: 25px !important;
  font-size: 2.5rem !important;
}

.f26 {
  font-size: 26px !important;
  font-size: 2.6rem !important;
}

.f27 {
  font-size: 27px !important;
  font-size: 2.7rem !important;
}

.f28 {
  font-size: 28px !important;
  font-size: 2.8rem !important;
}

.f29 {
  font-size: 29px !important;
  font-size: 2.9rem !important;
}

.f30 {
  font-size: 30px !important;
  font-size: 3rem !important;
}

.f31 {
  font-size: 31px !important;
  font-size: 3.1rem !important;
}

.f32 {
  font-size: 32px !important;
  font-size: 3.2rem !important;
}

.f33 {
  font-size: 33px !important;
  font-size: 3.3rem !important;
}

.f34 {
  font-size: 34px !important;
  font-size: 3.4rem !important;
}

.f35 {
  font-size: 35px !important;
  font-size: 3.5rem !important;
}

.f36 {
  font-size: 36px !important;
  font-size: 3.6rem !important;
}

.f37 {
  font-size: 37px !important;
  font-size: 3.7rem !important;
}

.f38 {
  font-size: 38px !important;
  font-size: 3.8rem !important;
}

.f39 {
  font-size: 39px !important;
  font-size: 3.9rem !important;
}

.f40 {
  font-size: 40px !important;
  font-size: 4rem !important;
}

/* line-height */
.lh10 {
  line-height: 10px !important;
}

.lh11 {
  line-height: 11px !important;
}

.lh12 {
  line-height: 12px !important;
}

.lh13 {
  line-height: 13px !important;
}

.lh14 {
  line-height: 14px !important;
}

.lh15 {
  line-height: 15px !important;
}

.lh16 {
  line-height: 16px !important;
}

.lh17 {
  line-height: 17px !important;
}

.lh18 {
  line-height: 18px !important;
}

.lh19 {
  line-height: 19px !important;
}

.lh20 {
  line-height: 20px !important;
}

.lh21 {
  line-height: 21px !important;
}

.lh22 {
  line-height: 22px !important;
}

.lh23 {
  line-height: 23px !important;
}

.lh24 {
  line-height: 24px !important;
}

.lh25 {
  line-height: 25px !important;
}

.lh26 {
  line-height: 26px !important;
}

.lh27 {
  line-height: 27px !important;
}

.lh28 {
  line-height: 28px !important;
}

.lh29 {
  line-height: 29px !important;
}

.lh30 {
  line-height: 30px !important;
}

.lh31 {
  line-height: 31px !important;
}

.lh32 {
  line-height: 32px !important;
}

.lh33 {
  line-height: 33px !important;
}

.lh34 {
  line-height: 34px !important;
}

.lh35 {
  line-height: 35px !important;
}

.lh36 {
  line-height: 36px !important;
}

.lh37 {
  line-height: 37px !important;
}

.lh38 {
  line-height: 38px !important;
}

.lh39 {
  line-height: 39px !important;
}

.lh40 {
  line-height: 40px !important;
}

/* Margin-Top & Padding-Top */
.mt00 {
  margin-top: 0px !important;
}

.pt00 {
  padding-top: 0px !important;
}

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

.pt05 {
  padding-top: 5px !important;
}

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

.pt10 {
  padding-top: 10px !important;
}

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

.pt15 {
  padding-top: 15px !important;
}

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

.pt20 {
  padding-top: 20px !important;
}

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

.pt25 {
  padding-top: 25px !important;
}

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

.pt30 {
  padding-top: 30px !important;
}

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

.pt35 {
  padding-top: 35px !important;
}

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

.pt40 {
  padding-top: 40px !important;
}

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

.pt45 {
  padding-top: 45px !important;
}

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

.pt50 {
  padding-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.pt100 {
  padding-top: 100px !important;
}

/* Margin-Right & Padding-Right */
.mr00 {
  margin-right: 0px !important;
}

.pr00 {
  padding-right: 0px !important;
}

.mr05 {
  margin-right: 5px !important;
}

.pr05 {
  padding-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.pr65 {
  padding-right: 65px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.pr75 {
  padding-right: 75px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.mr85 {
  margin-right: 85px !important;
}

.pr85 {
  padding-right: 85px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.mr95 {
  margin-right: 95px !important;
}

.pt95 {
  padding-right: 95px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.pr100 {
  padding-right: 100px !important;
}

/* Margin-Bottom & Padding-Bottom */
.mb00 {
  margin-bottom: 0px !important;
}

.pb00 {
  padding-bottom: 0px !important;
}

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

.pb05 {
  padding-bottom: 5px !important;
}

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

.pb10 {
  padding-bottom: 10px !important;
}

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

.pb15 {
  padding-bottom: 15px !important;
}

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

.pb20 {
  padding-bottom: 20px !important;
}

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

.pb25 {
  padding-bottom: 25px !important;
}

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

.pb30 {
  padding-bottom: 30px !important;
}

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

.pb35 {
  padding-bottom: 35px !important;
}

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

.pb40 {
  padding-bottom: 40px !important;
}

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

.pb45 {
  padding-bottom: 45px !important;
}

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

.pb50 {
  padding-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.pt95 {
  padding-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

/* Margin-Left & Padding-Left */
.ml00 {
  margin-left: 0px !important;
}

.pl00 {
  padding-left: 0px !important;
}

.ml05 {
  margin-left: 5px !important;
}

.pl05 {
  padding-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.pl65 {
  padding-left: 65px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.pl75 {
  padding-left: 75px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.ml85 {
  margin-left: 85px !important;
}

.pb85 {
  padding-left: 85px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.ml95 {
  margin-left: 95px !important;
}

.pt95 {
  padding-left: 95px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.pl100 {
  padding-left: 100px !important;
}

/* ---------------------------------------------------------
   add
----------------------------------------------------------*/
/* 古いIEへ警告 */
.ie-prompt {
  text-align: center;
  margin: 0px auto 0px;
  padding: 10px;
  background-color: #ccc;
  color: #000;
}

.ie-prompt a {
  color: #000;
}

/* 音声ブラウザ用 */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* プリント表示非表示 */
@media print {
  .is-hidden_print {
    display: none;
  }
  .is-visible_print {
    display: block;
  }
}

/* over */
.opacity:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}

.opacity:hover img {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}

/* ---------------------------------------------------------
   base.css
----------------------------------------------------------*/
html {
  font-size: 62.5%;
  font-family: "Noto Sans JP",sans-serif;
  color: #626262;
  overflow-x: hidden;
}

body {
  color: #626262;
  overflow-x: hidden;
  font-size: 17px;
  font-size: 1.7rem;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

svg {
  height: 16px;
  width: 16px;
}

a:hover {
  text-decoration: none;
  opacity: 0.3;
  transition: 1s;
}

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

h2 {
  text-align: center;
}

@media screen and (max-width: 767px) {
  h2 img {
    width: 90%;
  }
}

p {
  line-height: 150%;
}

.inner {
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .inner {
    width: auto;
    padding: 0 20px;
  }
}

.sub {
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "Avenir", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #969696;
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .sub {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.sp_on {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp_on {
    display: block;
  }
}

.pc_on {
  display: block;
}

@media screen and (max-width: 767px) {
  .pc_on {
    display: none;
  }
}

/* ---------------------------------------------------------
default・option
----------------------------------------------------------*/
/* ---------------------------------------------------------
header
----------------------------------------------------------*/
div.nav_wrapper {
  background: #626262;
  width: 120px;
  box-sizing: border-box;
  position: fixed;
  right: 0;
  z-index: 9999;
}

div.nav_wrapper .menu {
  padding: 40px 18px 40px 30px;
}

div.nav_wrapper li:not(:last-child) {
  margin-bottom: 20px;
}

div.nav_wrapper li.active {
  position: relative;
}

div.nav_wrapper li.active:before {
  content: "";
  width: 4px;
  height: 60%;
  display: inline-block;
  background: #ee770c;
  position: absolute;
  left: -15px;
  top: 8px;
}

div.nav_wrapper a {
  text-decoration: none;
  font-family: "Avenir", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #fff;
  letter-spacing: 2px;
}

@media screen and (max-width: 767px) {
  div.nav_wrapper {
    display: none;
  }
}

div.nav_wrapper .border {
  width: 100%;
  height: 5px;
  background: url(/assets/img/top/colorful_border.png);
}

nav.header_menu_sp {
  display: none;
  height: 100vh;
  background: rgba(255, 255, 255, 0.5);
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 80;
}

nav.header_menu_sp div {
  background: #626262;
  height: 70%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
}

nav.header_menu_sp li:not(:last-child) {
  margin-bottom: 40px;
}

nav.header_menu_sp a {
  font-size: 20px;
  font-size: 2rem;
  color: #fff;
  text-decoration: none;
  display: block;
  text-align: center;
}

nav.header_menu_sp:after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 5px;
  background: url(/assets/img/top/colorful_border.png);
  position: absolute;
}

.nav_toggle_box {
  position: fixed;
  right: 0;
  width: 55px;
  height: 55px;
  background: #626262;
  box-sizing: border-box;
  z-index: 100;
}

.nav_toggle_box:after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 5px;
  background: url(/assets/img/top/colorful_border.png);
  position: absolute;
  bottom: -5px;
}

.nav_toggle_box.open:after {
  display: none;
}

.nav_toggle {
  padding: 10px;
}

.nav_toggle div {
  position: relative;
}

.nav_toggle span {
  display: block;
  height: 2px;
  background: #fff;
  position: absolute;
  width: 100%;
  left: 0;
  transition: 0.5s ease-in-out;
}

.nav_toggle span:nth-child(1) {
  top: 0px;
}

.nav_toggle span:nth-child(2) {
  top: 10px;
}

.nav_toggle span:nth-child(3) {
  top: 20px;
}

.nav_toggle p {
  color: #fff;
  position: absolute;
  bottom: 2px;
  text-align: center;
}

.nav_toggle p.menu_close {
  opacity: 0;
}

.nav_toggle_box.open .nav_toggle span:nth-child(1) {
  top: 12px;
  transform: rotate(135deg);
}

.nav_toggle_box.open .nav_toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}

.nav_toggle_box.open .nav_toggle span:nth-child(3) {
  top: 12px;
  transform: rotate(-135deg);
}

.nav_toggle_box.open .nav_toggle p.menu_open {
  transition: 0.5s ease-in-out;
  opacity: 0;
}

.nav_toggle_box.open .nav_toggle p.menu_close {
  opacity: 1;
  width: 38.83px;
  transition: 0.5s ease-in-out;
}

/* ---------------------------------------------------------
content
----------------------------------------------------------*/
a.scroll_btn2 {
  position: absolute;
  bottom: 100px;
  font-family: "Avenir", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 1px;
  text-indent: 1px;
  display: block;
  width: 50px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
  display: inline-block;
  text-decoration: none;
  color: #626262;
  text-align: center;
  opacity: 0;
  animation: fade_animation 2.0s ease 5.5s 1 forwards;
}

@media screen and (max-width: 767px) {
  a.scroll_btn2 {
    bottom: 50px;
  }
}

a.scroll_btn2 span {
  position: absolute;
  top: 0;
  left: 50%;
  margin-top: 30px;
  width: 30px;
  height: 50px;
  margin-left: -15px;
  border: 2px solid #626262;
  border-radius: 50px;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  a.scroll_btn2 span {
    height: 0;
  }
}

@media screen and (max-width: 767px) {
  a.scroll_btn2 span {
    border: none;
  }
}

a.scroll_btn2 span:before {
  position: absolute;
  top: 10px;
  left: 50%;
  content: '';
  width: 10px;
  height: 10px;
  transform: translate(-50%, 0);
  border: 2px solid #626262;
  border-radius: 100%;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  a.scroll_btn2 span:before {
    height: 0;
  }
}

@media screen and (max-width: 767px) {
  a.scroll_btn2 span:before {
    border: none;
  }
}

a.scroll_btn2 span:after {
  position: absolute;
  bottom: -18px;
  left: 50%;
  width: 12px;
  height: 12px;
  content: '';
  margin-left: -6px;
  border-left: 2px solid #626262;
  border-bottom: 2px solid #626262;
  transform: rotate(-45deg);
  box-sizing: border-box;
  animation: ad 1.5s infinite;
}

@media screen and (max-width: 767px) {
  a.scroll_btn2 span:after {
    bottom: -5px;
  }
}

a.scroll_btn2 div:hover {
  opacity: 0.3;
  transition: 1s;
}

@keyframes fade_animation {
  100% {
    opacity: 1;
    transform: translateX(0);
    transform: translateY(0);
  }
}

@keyframes ad {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-10px, 10px);
    opacity: 0;
  }
}

.sub_catch h2 {
  margin: 0;
  font-size: 1em;
}

.sub_catch .wheel {
  opacity: 0;
  text-align: center;
  transform: translate(5%, 0);
  transition: 1s all ease 0s;
}

@media screen and (max-width: 767px) {
  .sub_catch .wheel img {
    width: 90%;
  }
}

.sub_catch .wheel_fade {
  opacity: 1;
  transform: translate(0, 0);
}

/* ---------------------------------------------------------
side
----------------------------------------------------------*/
/* ---------------------------------------------------------
footer
----------------------------------------------------------*/
footer {
  background: #626262;
  padding: 20px 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  footer {
    padding: 15px 0;
  }
}

footer p {
  font-family: "Avenir", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  text-align: center;
  color: #FFFFFF;
}

footer .pagetop {
  width: 71px;
  height: 71px;
  box-sizing: border-box;
  background: #ee770c;
  position: fixed;
  right: 20px;
  bottom: 80px;
}

@media screen and (max-width: 767px) {
  footer .pagetop {
    width: 60px;
    height: 60px;
  }
}

footer .pagetop a {
  font-size: 20px;
  font-size: 2rem;
  line-height: 71px;
  display: block;
  color: #FFFFFF;
  font-family: "Avenir", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  footer .pagetop a {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 60px;
  }
}

/* ---------------------------------------------------------
   page.css
----------------------------------------------------------*/
.top h3, .contact h3 {
  font-size: 29px;
  font-size: 2.9rem;
  letter-spacing: 4px;
  margin-right: -1em;
  font-weight: 500;
  margin-bottom: 5px;
}

@media screen and (max-width: 767px) {
  .top h3, .contact h3 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.2;
    margin-bottom: 30px;
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  .top h3, .contact h3 {
    letter-spacing: 2px;
  }
}

.top h3:before, .top h3:after, .contact h3:before, .contact h3:after {
  content: "";
  display: inline-block;
  background: url(/assets/img/top/kazari_rectangle.png);
  width: 16px;
  height: 28px;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .top h3:before, .top h3:after, .contact h3:before, .contact h3:after {
    display: block;
    position: absolute;
  }
}

.top h3:before, .contact h3:before {
  margin-right: 35px;
}

@media screen and (max-width: 767px) {
  .top h3:before, .contact h3:before {
    margin-right: 0;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
}

.top h3:after, .contact h3:after {
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .top h3:after, .contact h3:after {
    margin-left: 0;
    right: 35px;
    top: 50%;
    transform: translateY(-50%);
  }
}

/* ---------------------------------------------------------
   top
----------------------------------------------------------*/
.top .nav_toggle_box {
  display: none;
}

.top .main_visual {
  height: 100vh;
  position: relative;
}

@media screen and (max-width: 767px) {
  .top .main_visual {
    height: calc(100vh - 80px);
  }
}

.top .main_visual .main_logo {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .top .main_visual .main_logo {
    width: 100%;
  }
}

.top .main_visual .main_logo .item {
  opacity: 0;
}

.top .main_visual .main_logo .top_catch {
  margin-bottom: 30px;
  position: relative;
  animation: fade_animation 1.5s ease 4.0s 1 forwards;
  transform: translateY(50%);
}

@media screen and (max-width: 767px) {
  .top .main_visual .main_logo .top_catch img {
    width: 70%;
  }
}

.top .main_visual .main_logo h1 {
  margin: 0;
  animation: fade_animation 1.5s ease 1.5s 1 forwards;
}

@media screen and (max-width: 767px) {
  .top .main_visual .main_logo .logo_txt img {
    width: 60%;
  }
}

.top .main_visual .main_logo .logo_wheel {
  animation: fade_animation 1.5s ease 2.5s 1 forwards;
  transform: translateX(10%);
}

@media screen and (max-width: 767px) {
  .top .main_visual .main_logo .logo_wheel img {
    width: 60%;
  }
}

.top .main_visual .main_logo .top_company {
  margin-top: 10px;
  animation: fade_animation 1.5s ease 4.0s 1 forwards;
}

@media screen and (max-width: 767px) {
  .top .main_visual .main_logo .top_company img {
    width: 60%;
  }
}

.top .main_visual p.tate {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .top .main_visual p.tate img {
    display: none;
  }
}

.top .vision {
  background: #fff0f7;
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .top .vision {
    padding: 70px 0;
  }
}

.top .business {
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .top .business {
    padding: 70px 0;
  }
}

.top .business .intro {
  margin-bottom: 120px;
}

@media screen and (max-width: 767px) {
  .top .business .intro {
    margin-bottom: 85px;
  }
}

@media screen and (max-width: 767px) {
  .top .business h3:before {
    left: 0;
  }
}

@media screen and (max-width: 767px) {
  .top .business h3:after {
    right: 15px;
  }
}

.top .business .detail h4 {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 11px;
  margin-right: -11px;
  line-height: 3;
  margin-bottom: 20px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .top .business .detail h4 {
    font-size: 24px;
    font-size: 2.4rem;
  }
}

.top .business .detail .kazari_line {
  position: relative;
  border-top: 1px solid #626262;
  margin-bottom: 60px;
}

.top .business .detail .kazari_line:after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background: #fff;
  border-left: 1px solid #626262;
  border-bottom: 1px solid #626262;
  transform: rotate(-45deg);
  box-sizing: border-box;
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
  margin: auto;
}

.top .business .detail .detail_box {
  box-sizing: border-box;
  padding: 0 40px;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 120px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .top .business .detail .detail_box {
    padding: 0;
    display: block;
    margin-bottom: 100px;
  }
}

.top .business .detail .detail_box .number {
  font-size: 107px;
  font-size: 10.7rem;
  font-family: "Avenir", "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: 15%;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .top .business .detail .detail_box .number {
    font-size: 92px;
    font-size: 9.2rem;
    width: 100%;
    text-align: center;
  }
}

.top .business .detail .detail_box .txt {
  width: 45%;
}

@media screen and (max-width: 767px) {
  .top .business .detail .detail_box .txt {
    width: 100%;
  }
}

.top .business .detail .detail_box .txt span {
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Avenir", "Helvetica Neue", Helvetica, Arial, sans-serif;
  display: block;
  padding-top: 18px;
}

@media screen and (max-width: 767px) {
  .top .business .detail .detail_box .txt span {
    text-align: center;
  }
}

.top .business .detail .detail_box .txt h5 {
  font-size: 25px;
  font-size: 2.5rem;
  position: relative;
  margin-top: 30px;
  font-weight: 500;
  letter-spacing: 2px;
}

@media screen and (max-width: 767px) {
  .top .business .detail .detail_box .txt h5 {
    font-size: 22px;
    font-size: 2.2rem;
    text-align: center;
  }
}

.top .business .detail .detail_box .txt h5:before {
  content: "";
  display: block;
  width: 25px;
  height: 1px;
  background: #626262;
  position: absolute;
  top: -15px;
  left: 2px;
}

@media screen and (max-width: 767px) {
  .top .business .detail .detail_box .txt h5:before {
    left: 0;
    right: 0;
    margin: auto;
  }
}

.top .business .detail .detail_box .txt p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 2px;
}

@media screen and (max-width: 767px) {
  .top .business .detail .detail_box .txt p {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.top .business .detail .detail_box .txt .for_link {
  margin-top: 1px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

@media screen and (max-width: 767px) {
  .top .business .detail .detail_box .txt .for_link {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .top .business .detail .detail_box .txt .for_link {
    -ms-flex-pack: center;
        justify-content: center;
    margin-bottom: 40px;
  }
}

.top .business .detail .detail_box .txt .for_link a {
  color: #626262;
}

@media screen and (max-width: 767px) {
  .top .business .detail .detail_box .txt .for_link a {
    letter-spacing: 1px;
  }
}

.top .business .detail .detail_box .txt .for_link a:after {
  content: ">";
  display: inline-block;
  margin-left: 10px;
}

.top .business .detail .detail_box .txt .for_link p:first-of-type {
  margin-right: 20px;
}

.top .business .detail .detail_box .side_story {
  width: 40%;
  background: #f9f9f9;
  box-sizing: border-box;
  padding: 35px;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .top .business .detail .detail_box .side_story {
    width: 100%;
  }
}

.top .business .detail .detail_box .side_story .catch {
  font-size: 20px;
  font-size: 2rem;
  font-style: italic;
  letter-spacing: 2px;
}

.top .business .detail .detail_box .side_story .catch:after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background: #626262;
  margin-top: 15px;
  margin-bottom: 20px;
}

.top .business .detail .detail_box .side_story p + p {
  line-height: 1.8;
}

.top .business .detail .detail_box .detail_box_other {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  box-sizing: border-box;
  margin-top: 50px;
  padding: 20px;
  border: 1px dashed #ccc;
}

@media screen and (min-width: 768px), print {
  .top .business .detail .detail_box .detail_box_other {
    gap: 0 30px;
    -ms-flex-align: center;
        align-items: center;
    width: 85%;
    margin-left: auto;
  }
}

.top .business .detail .detail_box .detail_box_other a {
  color: #626262;
}

.top .business .detail .detail_box .detail_box_other a:after {
  content: ">";
  display: inline-block;
  margin-left: 10px;
}

.top .business .detail .detail_box01 .number {
  color: #f0faff;
  color: #dceef8;
}

.top .business .detail .detail_box02 .number {
  color: #fcebf2;
}

.top .business .detail .detail_box03 .number {
  color: #e1f2de;
}

.top .business .detail .detail_box04 .number {
  color: #e6e8f3;
}

.top .business .detail .detail_box05 .number {
  color: #faf2d4;
}

.top .business .detail .detail_box06 .number {
  color: #f0faff;
}

.top .business .detail .detail_box06 .for_link p {
  letter-spacing: 0;
}

.top .business .detail .detail_box06 .for_link a.disabled {
  pointer-events: none;
}

.top .business .detail .detail_box07 .number {
  color: #fcebf2;
}

.top .business .detail .detail_box08 {
  margin-bottom: 0;
}

.top .business .detail .detail_box08 .number {
  color: #e1f2de;
}

.top .overview {
  background: #f4fff2;
  padding: 100px 0 200px;
}

@media screen and (max-width: 767px) {
  .top .overview {
    padding: 70px 0 160px;
  }
}

.top .overview .inner {
  box-sizing: border-box;
  padding: 0 58px;
}

@media screen and (max-width: 767px) {
  .top .overview .inner {
    padding: 0 20px;
  }
}

.top .overview .sub_catch {
  margin-bottom: 60px;
}

.top .overview p.catch {
  font-size: 30px;
  font-size: 3rem;
  text-indent: -1em;
  margin-left: 1em;
  margin-bottom: 35px;
}

@media screen and (max-width: 767px) {
  .top .overview p.catch {
    font-size: 24px;
    font-size: 2.4rem;
  }
}

.top .overview p.catch:before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 30px;
  background: #43b133;
  vertical-align: middle;
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .top .overview p.catch:before {
    height: 24px;
  }
}

.top .overview table {
  width: 100%;
  box-sizing: border-box;
  border: 1px #626262 solid;
  background: #fff;
  letter-spacing: 2px;
}

@media screen and (max-width: 767px) {
  .top .overview table {
    border: none;
    border-collapse: separate;
    padding: 40px 30px;
  }
}

.top .overview table th {
  width: 30%;
  font-weight: normal;
  text-align: left;
  padding: 20px 25px;
  border-right: 1px #626262 solid;
}

@media screen and (max-width: 767px) {
  .top .overview table th {
    display: block;
    width: auto;
    padding: 30px 0 10px;
    font-weight: bold;
  }
}

@media screen and (max-width: 767px) {
  .top .overview table th {
    border-right: none;
  }
}

.top .overview table th:not(:last-child) {
  border-bottom: 1px #626262 solid;
}

.top .overview table th.address {
  padding-top: 1px;
}

@media screen and (max-width: 767px) {
  .top .overview table th.address {
    padding: 0;
    padding-bottom: 10px;
  }
}

.top .overview table td {
  padding: 20px 25px;
  border-bottom: 1px #626262 solid;
}

@media screen and (max-width: 767px) {
  .top .overview table td {
    display: block;
    width: auto;
    border-bottom: none;
    padding: 10px 0 20px;
    line-height: 1.5;
  }
  .top .overview table td:last-child {
    padding-bottom: 0;
  }
  .top .overview table td ul li:not(:last-child) {
    margin-bottom: 5px;
  }
  .top .overview table td ul.naiyo li:not(:last-child) {
    margin-bottom: 10px;
  }
}

.top .overview table td ul li {
  text-indent: -0.5em;
  padding-left: 0.5em;
}

.top .overview table td ul li span {
  display: inline-block;
}

.top .overview table:not(:last-of-type) {
  margin-bottom: 50px;
}

/* ---------------------------------------------------------
   privacy
----------------------------------------------------------*/
.privacy h1 {
  margin: 0;
  padding: 30px;
}

@media screen and (max-width: 767px) {
  .privacy h1 {
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  .privacy h1 img {
    width: 30%;
  }
}

.privacy p {
  letter-spacing: 1px;
  line-height: 2;
  font-size: 16px;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .privacy p {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.privacy .inner {
  margin: 90px auto 150px;
}

.privacy .inner h2 {
  margin-bottom: 180px;
}

@media screen and (max-width: 767px) {
  .privacy .inner h2 {
    margin: 0 0 160px 0;
    padding: 0 50px !important;
  }
  .privacy .inner h2 img {
    width: 100%;
  }
}

.privacy .inner_box {
  padding: 0 100px;
}

@media screen and (max-width: 767px) {
  .privacy .inner_box {
    padding: 0;
  }
}

.privacy .bouto {
  margin-bottom: 100px;
}

.privacy .bouto span {
  display: block;
  margin-top: 45px;
}

.privacy h3 {
  font-size: 25px;
  font-size: 2.5rem;
  text-indent: -1em;
  padding-left: 1em;
  font-weight: 500;
  letter-spacing: 4px;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .privacy h3 {
    font-size: 22px;
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 767px) {
  .privacy h3 {
    letter-spacing: 2px;
  }
}

.privacy h3:before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 25px;
  background: #6471b5;
  margin-right: 20px;
  vertical-align: middle;
}

.privacy h3 + p {
  margin-bottom: 50px;
}

.privacy ul.policy_list li:nth-child(even) {
  margin-bottom: 45px;
}

.privacy ul.policy_list li:nth-child(even):last-child {
  margin-bottom: 60px;
}

.privacy ul.policy_list li.list_midashi {
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .privacy ul.policy_list li.list_midashi {
    font-weight: bold;
  }
}

.privacy ul.policy_list li p {
  padding-left: 1.3em;
}

.privacy .contact_info li {
  margin-bottom: 15px;
}

.privacy .contact_info li.midashi {
  text-indent: -0.6em;
}

@media screen and (max-width: 767px) {
  .privacy .contact_info li.midashi {
    font-weight: bold;
  }
}

.privacy .contact_info li.tel {
  letter-spacing: 1px;
}

.privacy .contact_info li.date {
  margin-top: 45px;
  letter-spacing: 1px;
}

.privacy .contact_info:before {
  content: "";
  display: inline-block;
  width: 120px;
  height: 1px;
  border-bottom: 1.5px #626262 dashed;
  margin-bottom: 50px;
}

/* ---------------------------------------------------------
   contact
----------------------------------------------------------*/
.contact h1 {
  margin: 0;
  padding: 30px;
}

@media screen and (max-width: 767px) {
  .contact h1 {
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  .contact h1 img {
    width: 30%;
  }
}

.contact .inner {
  margin: 0 auto;
  padding: 90px 0;
}

.contact h2 {
  margin: 0;
  margin-bottom: 90px;
}

@media screen and (max-width: 767px) {
  .contact h2 {
    margin: 0 0 100px 0;
    padding: 0 50px !important;
  }
}

.contact .inner_box {
  padding: 0 20px;
}

.contact .bouto p {
  text-align: center;
  line-height: 2;
  letter-spacing: 2px;
}

@media screen and (max-width: 767px) {
  .contact .bouto p {
    text-align: left;
  }
}

.contact .bouto p:not(:last-child) {
  margin-bottom: 40px;
}

.contact .contact_form {
  background: #e1f2de;
  padding-top: 90px;
  padding-bottom: 150px;
}

@media screen and (max-width: 767px) {
  .contact .contact_form {
    padding-top: 70px;
  }
}

.contact .contact_form .inner {
  padding: 0 100px;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .inner {
    padding: 0 20px;
  }
}

.contact .contact_form h3 {
  text-align: center;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .contact .contact_form h3 {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 60px;
    margin-right: 0;
  }
  .contact .contact_form h3:before {
    left: 0;
  }
  .contact .contact_form h3:after {
    right: 0;
  }
}

.contact .contact_form h3:after {
  margin-left: 35px;
}

.contact .contact_form .step_box {
  text-align: center;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .step_box {
    margin-bottom: 60px;
  }
}

.contact .contact_form .step_box + p {
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .step_box + p {
    margin-bottom: 30px;
  }
}

.contact .contact_form span {
  color: #ee770c;
}

.contact .contact_form h4 {
  font-size: 25px;
  font-size: 2.5rem;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .contact .contact_form h4 {
    font-size: 22px;
    font-size: 2.2rem;
    text-indent: -1em;
    padding-left: 1em;
  }
}

.contact .contact_form h4 span {
  font-size: 18px;
  font-size: 1.8rem;
  display: inline-block;
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .contact .contact_form h4 span {
    margin-left: 40px !important;
  }
}

.contact .contact_form h4:before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 24px;
  background: #43b133;
  margin-right: 15px;
}

.contact .contact_form ul {
  background: #FFFFFF;
  border: 1px #626262 solid;
  box-sizing: border-box;
  padding: 30px;
  margin-bottom: 90px;
}

.contact .contact_form ul li {
  text-indent: -2em;
  padding-left: 1.5em;
}

.contact .contact_form ul li:not(:last-child) {
  margin-bottom: 20px;
}

.contact .contact_form ul label {
  cursor: pointer;
}

.contact .contact_form ul input {
  margin-right: 10px;
}

.contact .contact_form ul .radio {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 0;
  padding: 0;
  background-color: #fff;
  vertical-align: middle;
  cursor: pointer;
  border-radius: 100%;
  border: 1px #626262 solid;
  margin-right: 10px;
}

.contact .contact_form ul input[type="radio"]:checked + .radio:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 10px;
  height: 11px;
  border-radius: 100%;
  background: #626262;
}

.contact .contact_form .naiyo {
  border: 1px #626262 solid;
  border-top: none;
  margin-bottom: 33px;
  background: #fdfdfd;
  margin-bottom: 90px;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .naiyo {
    border: none;
    box-sizing: border-box;
    padding: 20px;
  }
}

.contact .contact_form .naiyo:before, .contact .contact_form .naiyo:after {
  content: "";
  display: table;
}

.contact .contact_form .naiyo .hissu {
  display: inline-block;
  margin-left: 20px;
}

.contact .contact_form .naiyo dt, .contact .contact_form .naiyo dd {
  padding: 20px;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .naiyo dt, .contact .contact_form .naiyo dd {
    padding: 0;
  }
}

.contact .contact_form .naiyo dt {
  display: block;
  clear: left;
  float: left;
  width: 280px;
  border-bottom: none;
  border-top: 1px #626262 solid;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .naiyo dt {
    float: none;
    font-weight: bold;
    line-height: 2.5;
    width: 100%;
  }
  .contact .contact_form .naiyo dt:first-child {
    border-top: none;
  }
  .contact .contact_form .naiyo dt:not(:first-child) {
    padding-top: 20px;
  }
}

.contact .contact_form .naiyo dd {
  margin-left: 280px;
  border-left: 1px #626262 solid;
  border-top: 1px #626262 solid;
  min-height: 66.55px;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .naiyo dd {
    margin-left: 0;
    border-left: none;
    border-top: none;
    min-height: 0;
  }
  .contact .contact_form .naiyo dd:not(:last-child) {
    padding-bottom: 30px;
  }
}

.contact .contact_form .naiyo dd .contact_name {
  width: 200px;
}

.contact .contact_form .naiyo dd .company_name {
  width: 70%;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .naiyo dd .company_name {
    width: 80%;
  }
}

.contact .contact_form .naiyo dd .address02 {
  width: 60%;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .naiyo dd .address02 {
    width: 80%;
  }
}

.contact .contact_form .naiyo dd .message {
  width: 480px;
  height: 120px;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .naiyo dd .message {
    width: 100%;
  }
}

.contact .contact_form .naiyo dd .form-control {
  background-color: #eee;
}

.contact .contact_form .naiyo dd.detail {
  position: relative;
}

.contact .contact_form .naiyo dd.detail .form-check-icon {
  position: absolute;
  top: 5px;
  right: 5px;
}

.contact .contact_form .transmission_box p.agree {
  line-height: 2.5;
  padding: 15px 0 15px 30px;
  background: #FFFFFF;
  border: 1px #626262 solid;
  position: relative;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .transmission_box p.agree {
    padding: 15px 20px;
  }
}

.contact .contact_form .transmission_box input {
  margin-right: 10px;
}

.contact .contact_form .transmission_box .form-check-icon {
  position: absolute;
  right: 10px;
  top: 10px;
}

.contact .contact_form .transmission_box a {
  color: #626262;
}

.contact .contact_form .transmission_box .hissu {
  margin-left: 20px;
}

.contact .contact_form .transmission_box .contact_btn {
  width: 450px;
  border: none;
  padding: 30px;
  background: #43b133;
  display: block;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .contact .contact_form .transmission_box .contact_btn {
    width: 90%;
  }
}

.contact .contact_form .transmission_box .contact_btn span {
  color: #FFFFFF;
}

.contact .contact_form .transmission_box .contact_btn:hover {
  opacity: 0.3;
  transition: 1s;
}

.contact input[type=radio] {
  display: none;
}

.contact input[type=checkbox] {
  width: 18px;
  height: 18px;
  vertical-align: middle;
}

.contact .required-countdown-group {
  display: none;
}

.contact .edit_btn_box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .contact .edit_btn_box {
    display: block;
  }
}

.contact .edit_btn_box .contact_btn {
  width: 47%;
  border: none;
  padding: 30px;
  background: #43b133;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .contact .edit_btn_box .contact_btn {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .contact .edit_btn_box .contact_btn {
    padding: 20px;
  }
}

.contact .edit_btn_box .contact_btn span {
  color: #FFFFFF;
}

.contact .edit_btn_box .contact_btn:hover {
  opacity: 0.3;
  transition: 1s;
}

.contact .edit_btn_box .btn-back {
  display: block;
  width: 47%;
  background: #a7a7a7;
  color: #FFFFFF;
  text-decoration: none;
  line-height: 87.53px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .contact .edit_btn_box .btn-back {
    width: 100%;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  .contact .edit_btn_box .btn-back {
    line-height: 63px;
  }
}

.contact .back_to_top {
  margin-top: 50px;
  text-align: center;
}

.contact .back_to_top a {
  color: #43b133;
}

.contact .complete {
  color: #43b133;
  font-weight: normal;
  letter-spacing: 2px;
}

/* ---------------------------------------------------------
   recruit
----------------------------------------------------------*/
.recruit h1 {
  margin: 0;
  padding: 30px;
  *zoom: 1;
}

.recruit h1:before, .recruit h1:after {
  content: " ";
  display: table;
}

.recruit h1:after {
  clear: both;
}

@media screen and (max-width: 767px) {
  .recruit h1 {
    padding: 20px;
  }
}

.recruit h1 img {
  float: left;
  margin-right: 38px;
}

@media screen and (max-width: 767px) {
  .recruit h1 img {
    width: 30%;
    margin-right: 8px;
  }
}

@media screen and (max-width: 767px) {
  .recruit h2 img {
    width: 100%;
  }
}

.recruit .title {
  color: #ee770c;
  margin-top: 16px;
  letter-spacing: 6px;
  float: left;
}

@media screen and (max-width: 767px) {
  .recruit .title {
    letter-spacing: 1px;
    font-size: 11px;
    font-size: 1.1rem;
    margin-top: 0px;
    line-height: 16px;
  }
}

.recruit p {
  letter-spacing: 1px;
  line-height: 2;
  font-size: 16px;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .recruit p {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.recruit .main_visual {
  height: calc(100vh - 117px - 117px);
  margin-bottom: 117px;
  position: relative;
  text-align: center;
  min-height: 600px;
}

@media screen and (max-width: 767px) {
  .recruit .main_visual {
    height: inherit;
    margin-bottom: inherit;
  }
}

.recruit .main_visual .catch_recruit {
  width: 90vw;
  height: 100%;
  box-sizing: border-box;
  background: url(/assets/img/recruit/catch_back.jpg);
  background-size: cover;
  margin: 0 auto;
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
}

@media screen and (max-width: 767px) {
  .recruit .main_visual .catch_recruit {
    width: 100%;
    min-height: inherit;
    position: relative;
    background: none;
  }
}

.recruit .main_visual .catch_recruit div.pc_on {
  text-align: center;
}

.recruit .main_visual .catch_recruit div.pc_on img {
  margin-bottom: 3%;
}

.recruit .main_visual .catch_recruit div.sp_on {
  background: url(/assets/img/recruit/catch_back.jpg);
  min-height: 400px;
  position: relative;
}

.recruit .main_visual .catch_recruit div.sp_on img {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 90% !important;
}

.recruit a.scroll_btn2 {
  animation: fade_animation 2.0s ease 0s 1 forwards;
  position: static;
}

@media screen and (max-width: 767px) {
  .recruit a.scroll_btn2 {
    display: none;
  }
}

.recruit .p_anchor_box {
  margin-top: 7%;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .recruit .p_anchor_box {
    width: 100%;
  }
}

.recruit .p_anchor {
  margin: 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

@media screen and (max-width: 767px) {
  .recruit .p_anchor {
    display: block;
  }
}

.recruit .p_anchor p {
  font-size: 14px;
  font-size: 1.4rem;
  padding: 5px 10px;
  background: #ee770c;
  color: #FFFFFF;
  letter-spacing: 3px;
}

@media screen and (max-width: 767px) {
  .recruit .p_anchor p {
    font-size: 12.5px;
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .recruit .p_anchor p {
    background: #FFFFFF;
    color: #ee770c;
    text-align: center;
    font-weight: bold;
    position: relative;
    display: inline-block;
  }
}

.recruit .p_anchor ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .recruit .p_anchor ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0 20px;
  }
}

.recruit .p_anchor ul li {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 1px;
}

@media screen and (max-width: 767px) {
  .recruit .p_anchor ul li {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .recruit .p_anchor ul li:nth-child(-n + 4) {
    margin-top: 5%;
    margin-bottom: 10%;
  }
}

.recruit .p_anchor ul li:first-child {
  margin-left: 30px;
}

@media screen and (max-width: 767px) {
  .recruit .p_anchor ul li:first-child {
    margin-left: 0;
  }
}

.recruit .p_anchor ul li:not(:last-child) {
  margin-right: 25px;
}

@media screen and (max-width: 767px) {
  .recruit .p_anchor ul li:not(:last-child) {
    margin-right: 0;
  }
}

.recruit .p_anchor ul li a {
  color: #ee770c;
  font-weight: bold;
  text-decoration: none;
  position: relative;
  display: block;
}

.recruit .p_anchor ul li a:after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #ee770c;
}

@media screen and (max-width: 767px) {
  .recruit .p_anchor ul li a:after {
    height: 1px;
  }
}

@media screen and (max-width: 767px) {
  .recruit .p_anchor > div {
    text-align: center;
    position: relative;
  }
  .recruit .p_anchor > div:first-child:before {
    content: '';
    position: absolute;
    top: 50%;
    display: block;
    width: 100%;
    height: 2px;
    background-color: #ee770c;
  }
}

.recruit .p_anchor.career {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .recruit .p_anchor.career {
    margin-top: 10%;
    margin-bottom: 3%;
  }
}

.recruit .sub_catch {
  margin-bottom: 60px;
}

.recruit .sub_catch h2 img {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .recruit .sub_catch {
    margin-bottom: 40px;
  }
}

.intro h3, .intro span, .intro p {
  text-align: center;
}

.intro span {
  display: block;
}

.intro p {
  line-height: 2.2;
  font-size: 17px;
  font-size: 1.7rem;
  letter-spacing: 4px;
}

@media screen and (max-width: 767px) {
  .intro p {
    line-height: 2.2;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 1px;
  }
}

/* ---------------------------------------------------------
   recruit message
----------------------------------------------------------*/
.message {
  background: #f0faff;
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .message {
    padding: 70px 0;
  }
}

.message .sub_catch h2 {
  margin: 0;
}

.message .sub_catch .wheel {
  opacity: 0;
  text-align: center;
  transform: translate(5%, 0);
  transition: 1s all ease 0s;
}

@media screen and (max-width: 767px) {
  .message .sub_catch .wheel {
    line-height: 1;
  }
}

@media screen and (max-width: 767px) {
  .message .sub_catch .wheel img {
    width: 100% !important;
  }
}

.message .sub_catch .wheel_fade {
  opacity: 1;
  transform: translate(0, 0);
}

.message .message_text {
  text-align: center;
}

/* ---------------------------------------------------------
   recruit teamwork
----------------------------------------------------------*/
.teamwork {
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .teamwork {
    padding: 70px 0;
  }
}

.teamwork .sub_catch h2 {
  margin: 0;
}

.teamwork .wheel {
  opacity: 0;
  text-align: center;
  transform: translate(5%, 0);
  transition: 1s all ease 0s;
}

@media screen and (max-width: 767px) {
  .teamwork .wheel img {
    width: 100%;
  }
}

.teamwork .wheel_fade {
  opacity: 1;
  transform: translate(0, 0);
}

.teamwork .sub_catch.sp_on .wheel {
  line-height: 1;
}

.teamwork .teamwork_text {
  text-align: center;
  margin-bottom: 35px;
}

.teamwork .teamwork_text img {
  width: 30%;
}

.teamwork .detail h4 {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 11px;
  margin-right: -11px;
  line-height: 3;
  margin-bottom: 20px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .teamwork .detail h4 {
    font-size: 24px;
    font-size: 2.4rem;
  }
}

.teamwork .detail .kazari_line {
  position: relative;
  border-top: 1px solid #626262;
  margin-bottom: 60px;
}

.teamwork .detail .kazari_line:after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background: #fff;
  border-left: 1px solid #626262;
  border-bottom: 1px solid #626262;
  transform: rotate(-45deg);
  box-sizing: border-box;
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
  margin: auto;
}

.teamwork .detail .person_box {
  padding: 0 140px;
}

@media screen and (max-width: 767px) {
  .teamwork .detail .person_box {
    padding: 0;
  }
}

.teamwork .detail .person {
  background: #f9f9f9;
  padding: 35px;
  padding-top: 40px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .teamwork .detail .person {
    padding: 30px 20px;
  }
}

.teamwork .detail .person:not(:last-child) {
  margin-bottom: 40px;
}

.teamwork .detail .person:not(:last-child):after {
  content: "×";
  font-size: 140px;
  font-size: 14rem;
  line-height: 1;
  text-align: center;
  color: #dceef8;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -90px;
  margin: auto;
  z-index: 2;
}

.teamwork .detail .person:nth-child(1) .person_title_catch, .teamwork .detail .person:nth-child(1) a {
  color: #0087cb;
}

.teamwork .detail .person:nth-child(2) .person_title_catch, .teamwork .detail .person:nth-child(2) a {
  color: #e968a1;
}

.teamwork .detail .person:nth-child(3) .person_title_catch, .teamwork .detail .person:nth-child(3) a {
  color: #43b133;
}

.teamwork .detail .person:nth-child(4) .person_title_catch, .teamwork .detail .person:nth-child(4) a {
  color: #6470b3;
}

.teamwork .detail .person_title {
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 30px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .teamwork .detail .person_title {
    display: block;
  }
}

.teamwork .detail .person_title_box {
  width: 30%;
  position: absolute;
  top: -30px;
}

@media screen and (max-width: 767px) {
  .teamwork .detail .person_title_box {
    width: 100%;
    text-align: center;
    position: static;
  }
}

.teamwork .detail .person_title_catch {
  font-size: 25px;
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 3px;
  position: relative;
}

.teamwork .detail .person_title_catch span {
  font-size: 42px;
  font-size: 4.2rem;
}

.teamwork .detail .person_title_catch:after {
  content: "";
  display: block;
  margin-left: 5px;
  width: 20px;
  height: 2px;
  background: #626262;
  position: absolute;
  bottom: 7px;
}

@media screen and (max-width: 767px) {
  .teamwork .detail .person_title_catch:after {
    position: static;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .teamwork .detail .person_title_catch {
    margin-bottom: 20px;
  }
}

.teamwork .detail .person_sub {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  color: #626262;
  bottom: 50px;
  margin-left: 5px;
}

@media screen and (max-width: 767px) {
  .teamwork .detail .person_sub {
    margin-bottom: 20px;
  }
}

.teamwork .detail .person_title_detail_box {
  width: 70%;
  margin-left: 200px;
}

@media screen and (max-width: 767px) {
  .teamwork .detail .person_title_detail_box {
    width: 100%;
    margin-left: 0;
  }
}

.teamwork .detail .person_naiyo {
  border-top: 1px #626262 solid;
}

.teamwork .detail .person_naiyo p {
  margin-top: 20px;
}

.teamwork .detail .person_naiyo p a {
  position: relative;
  z-index: 3;
}

.teamwork .detail .person_naiyo ul li {
  text-indent: -1.5em;
  padding-left: 1em;
}

.teamwork .detail .detail_box {
  box-sizing: border-box;
  padding: 0 40px;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 120px;
}

@media screen and (max-width: 767px) {
  .teamwork .detail .detail_box {
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .teamwork .detail .detail_box {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .teamwork .detail .detail_box {
    margin-bottom: 100px;
  }
}

/* ---------------------------------------------------------
   recruit requirements
----------------------------------------------------------*/
.requirements {
  background: #faf2d4;
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .requirements {
    padding: 70px 0;
  }
}

.requirements .inner {
  box-sizing: border-box;
  padding: 0 35px;
}

@media screen and (max-width: 767px) {
  .requirements .inner {
    padding: 0 20px;
  }
}

.requirements .req_box_wrap .req_box {
  background: #FFFFFF;
  border: 1px #626262 solid;
}

.requirements .req_box_wrap .req_box .req_title {
  padding: 35px 0;
  text-align: center;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .requirements .req_box_wrap .req_box .req_title {
    padding: 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .requirements .req_box_wrap .req_box .req_title p {
    line-height: 1.5;
  }
}

.requirements .req_box_wrap .req_box .req_title .title_color {
  font-size: 17px;
  font-size: 1.7rem;
  letter-spacing: 2px;
  text-indent: 2px;
}

.requirements .req_box_wrap .req_box .req_title .title_color span {
  font-size: 24px;
  font-size: 2.4rem;
}

.requirements .req_box_wrap .req_box .req_title .title_color + p {
  font-size: 25px;
  font-size: 2.5rem;
}

.requirements .req_box_wrap .req_box .req_title .btn {
  position: relative;
  cursor: pointer;
}

.requirements .req_box_wrap .req_box .req_title .btn:before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: #fff;
  border-left: 2px #626262 solid;
  border-bottom: 2px #626262 solid;
  transform: rotate(-45deg);
  box-sizing: border-box;
}

.requirements .req_box_wrap .req_box .req_content {
  text-align: left;
  border-top: 1px #626262 solid;
  box-sizing: border-box;
  display: none;
}

.requirements .req_box_wrap .req_box .req_content .text {
  padding: 0 35px 30px;
}

@media screen and (max-width: 767px) {
  .requirements .req_box_wrap .req_box .req_content .text {
    padding: 0 20px 30px;
  }
}

.requirements .req_box_wrap .req_box .req_content h5 {
  font-size: 25px;
  font-size: 2.5rem;
  letter-spacing: 1px;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .requirements .req_box_wrap .req_box .req_content h5 {
    font-size: 22px;
    font-size: 2.2rem;
  }
}

.requirements .req_box_wrap .req_box .req_content p.close {
  text-align: center;
  position: relative;
  cursor: pointer;
  line-height: 5;
}

.requirements .req_box_wrap .req_box .req_content p.close:before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: #fff;
  border-left: 2px #626262 solid;
  border-bottom: 2px #626262 solid;
  transform: rotate(135deg);
  box-sizing: border-box;
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
  margin: auto;
}

.requirements .req_box_wrap .req_box:not(:last-child) {
  margin-bottom: 30px;
}

.requirements .req_box_wrap .req_box:first-child .title_color, .requirements .req_box_wrap .req_box:first-child h5 {
  color: #0087cb;
}

.requirements .req_box_wrap .req_box:nth-child(2) .title_color, .requirements .req_box_wrap .req_box:nth-child(2) h5 {
  color: #e968a1;
}

.requirements .req_box_wrap .req_box:nth-child(3) .title_color, .requirements .req_box_wrap .req_box:nth-child(3) h5 {
  color: #43b133;
}

.requirements .req_box_wrap .req_box:nth-child(n + 4) .title_color, .requirements .req_box_wrap .req_box:nth-child(n + 4) h5 {
  color: #6470b3;
}

.requirements .sub_catch {
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .requirements .sub_catch {
    margin-bottom: 60px;
  }
}

/* ---------------------------------------------------------
   recruit question
----------------------------------------------------------*/
div.question {
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  div.question {
    padding: 70px 0;
  }
}

div.question .inner {
  box-sizing: border-box;
  padding: 0 35px;
}

@media screen and (max-width: 767px) {
  div.question .inner {
    padding: 0 20px;
  }
}

div.question .qa {
  position: relative;
  transition: 0.5s;
}

div.question .qa p.question {
  cursor: pointer;
  font-size: 25px;
  font-size: 2.5rem;
  padding-left: 50px;
  padding-right: 50px;
}

@media screen and (max-width: 767px) {
  div.question .qa p.question {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.2;
  }
}

div.question .qa p.question:before {
  content: '';
  display: inline-block;
  background: url(/assets/img/recruit/icon_q.png);
  width: 31px;
  height: 23px;
  position: absolute;
  left: 10px;
  top: 12px;
}

@media screen and (max-width: 767px) {
  div.question .qa p.question:before {
    top: 0;
  }
}

div.question .qa p.question:after {
  content: '＋';
  position: absolute;
  right: 0;
  transition: 0.5s;
}

@media screen and (max-width: 767px) {
  div.question .qa p.question:after {
    font-size: 30px;
    font-size: 3rem;
    top: 0;
  }
}

div.question .qa p.question.open:after {
  transform: rotate(45deg);
}

div.question .qa .answer {
  padding: 30px 20px 30px 30px;
  margin-left: 30px;
}

@media screen and (max-width: 767px) {
  div.question .qa .answer {
    padding: 10px 10px 50px 20px;
    margin-left: 20px;
  }
}

div.question .qa .answer:before {
  content: 'A.';
  color: #e968a1;
  position: absolute;
  left: 30px;
}

@media screen and (max-width: 767px) {
  div.question .qa .answer:before {
    left: 10px;
  }
}

div.question .qa_box .qa .answer {
  display: none;
}

div.question .sub_catch {
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  div.question .sub_catch {
    margin-bottom: 60px;
  }
}

/* ---------------------------------------------------------
   recruit entry
----------------------------------------------------------*/
.entry {
  background: #e6e8f3;
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .entry {
    padding: 70px 0;
  }
}

.entry p {
  text-align: center;
  margin-top: 20px;
  color: #6471b5;
  letter-spacing: 4px;
}

@media screen and (max-width: 767px) {
  .entry p {
    letter-spacing: 2px;
    margin-bottom: 40px;
  }
}

.entry a {
  text-decoration: none;
}

.entry a div:after {
  content: ">";
  display: inline-block;
  margin-left: 10px;
}

.entry a div:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .entry a div:hover {
    opacity: 1.0;
  }
}

.entry_btn {
  background-color: #6471b5;
  color: #fff;
  width: 452px;
  margin: 0 auto;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 4px;
  padding: 38px 0;
}

@media screen and (max-width: 767px) {
  .entry_btn {
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
