@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,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
figure {
  margin: 0;
}

/** Remove default style. */
ol,
ul {
  list-style: none;
}

/* 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;
  outline: none;
}

/** Improve readability when focused and also mouse hovered in all browsers. */
a:active,
a:hover,
a:focus,
*:focus {
  outline: 0;
  outline: none;
}

/* 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;
  -webkit-backface-visibility: hidden;
}

/** 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 {
  -moz-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"] {
  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 */
  -moz-box-sizing: content-box;
  -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;
}

/****************************************************************************** Default CSS Reset

******************************************************************************/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
figure {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  table-layout: fixed;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
  font-style: normal;
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

caption {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

img {
  vertical-align: bottom;
  /* chormeで画像のぼやけ回避 */
  -webkit-backface-visibility: hidden;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}

input[type="submit"]:-webkit-search-decoration,
input[type="button"]:-webkit-search-decoration {
  display: none;
}

input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px;
}

/****************************************************************************** FONT

******************************************************************************/
/****************************************************************************** common

******************************************************************************/
a {
  color: #000;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  text-decoration: none;
}

a:focus,
*:focus {
  outline: none;
}

a:hover,
a.hover {
  color: #0070ae;
  text-decoration: none;
}

a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

/*** font ***/
.serif {
  line-height: 1.5em;
  font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.roboto {
  font-family: 'Roboto', sans-serif;
}

.robocon {
  font-family: 'Roboto Condensed', sans-serif;
}

.bold,
strong {
  font-weight: bold;
}

.medium {
  font-weight: 500;
}

video {
  width: 100%;
  height: auto;
}

/* flexbox ****************************************************/
.flexWrap {
  display: -webkit-flex;
  display: flex;
}

@media screen and (max-width: 1070px) {
  .flexWrap:not(.tabFlex):not(.spFlex) {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .flexWrap:not(.spFlex) {
    display: block;
  }
}

.wrap {
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}

.nowrap {
  flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
}

.reverse {
  flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
}

.column {
  flex-direction: column;
  -webkit-box-orient: vertical;
}

.jc-between {
  justify-content: space-between;
  -webkit-justify-content: space-between;
}

.jc-center {
  justify-content: center;
  -webkit-justify-content: center;
}

.jc-start {
  justify-content: flex-start;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
}

.jc-end {
  justify-content: flex-end;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
}

.al-center {
  align-items: center;
  -webkit-align-items: center;
}

.al-stretch {
  align-items: stretch;
  -webkit-box-align: stretch;
}

.al-start {
  align-items: flex-start;
  -webkit-box-align: start;
}

.al-end {
  align-items: flex-end;
  -webkit-box-align: end;
}

/****************************************************************************** form pats

******************************************************************************/
button,
input,
select,
textarea {
  font-family: inherit;
}

input[type="text"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="datetime-local"],
input[type="date"],
input[type="time"],
input[type="number"],
select {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 0.5em 1em;
  background: #FFF;
  border: 1px solid #000;
  border-radius: 0;
}

input[type="text"]:read-only,
input[type="tel"]:read-only,
input[type="url"]:read-only,
input[type="email"]:read-only,
input[type="password"]:read-only,
input[type="datetime"]:read-only,
input[type="date"]:read-only,
input[type="time"]:read-only,
input[type="number"]:read-only {
  display: inline-block;
  width: auto;
  box-sizing: border-box;
  padding: 0;
  background: #FFF;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
}

textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 0.8em;
  background: #FFF;
  border: 1px solid #000;
  border-radius: 0;
}

label {
  -webkit-tap-highlight-color: transparent;
}

input:invalid {
  box-shadow: none;
  border: 1px solid #d5001c;
}

input:invalid:required {
  background: #FFF;
}

input:valid {
  border: 1px solid black;
}

/* listMark ****************************************************/
ul.listMark {
  list-style: none;
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 1em;
}

ul.listMark.disc {
  list-style: disc inside;
}

ul.listMark.deci {
  list-style: decimal inside;
}

ul.listMark li {
  line-height: 1.4em;
  margin-bottom: 0.5em;
}

/* hover zoom ****************************************************/
.zoom figure img {
  height: auto;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  width: 100%;
  vertical-align: bottom;
}

.zoom figure {
  margin: 0;
  overflow: hidden;
  position: relative;
  text-align: center;
}

.zoom a:hover>figure img {
  transform: scale(1.05, 1.05);
  -webkit-transform: scale(1.05, 1.05);
}

.zoom a:hover>figure.c-cropPh img {
  transform: scale(1.05, 1.05) translateY(-50%);
  -webkit-transform: scale(1.05, 1.05) translateY(-50%);
}

.zoom figcaption {
  background-color: rgba(0, 0, 0, 0.4);
  color: #FFF;
  opacity: 0;
  position: absolute;
  text-align: left;
  -webkit-transition: all 0.8s ease-in-out;
  transition: all 0.8s ease-in-out;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  padding: 0.5em;
  box-sizing: border-box;
  z-index: 2;
}

@media screen and (max-width: 1070px) {
  .zoom figcaption {
    padding: 0.5em 1.5em;
  }
}

.zoom a:hover>figure figcaption {
  opacity: 1;
}

.zoom figcaption .title {
  position: absolute;
  width: 100%;
  padding: 1em;
  box-sizing: border-box;
  left: 0;
  bottom: 0;
}

.zoom figcaption .title .c-icon__arrow {
  transform: translateX(0);
}

.zoom.shadow figcaption {
  opacity: 1;
}

.zoom.overlay figcaption {
  opacity: 1;
  background: none;
}

.zoom__overlay {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1;
  -webkit-transition: 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  transition: 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
}

@media screen and (max-width: 1070px) {
  .zoom__overlay {
    top: 0;
  }
}

.zoom.overlay a:hover .zoom__overlay {
  top: 0;
}

/* table ****************************************************/
.tableWrapper {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .tableWrapper {
    white-space: nowrap;
    overflow-x: scroll;
  }
}

table {
  border-collapse: collapse;
  border: 1px solid #000;
}

table tr {
  border-bottom: 1px solid #000;
}

table th,
table td {
  padding: 1em;
  text-align: center;
  border-left: 1px solid #000;
}

table th {
  background: #eee;
}

/****************************************************************************** swiper

******************************************************************************/
.c-slideWrap {
  position: relative;
}

/*carousel*/
.carousel-prev,
.carousel-next {
  width: 40px;
  top: 40%;
  height: 100px;
  margin: 0;
  background: rgba(255, 255, 255, 0.95);
  transform: translateY(-50%);
}

.carousel-next {
  left: auto;
  right: 0;
}

.carousel-prev {
  left: 0;
  right: auto;
}

.carousel-prev:after,
.carousel-next:after {
  display: block;
  padding-top: 1em;
  font-size: 8px;
  color: #000;
}

.carousel-prev:after {
  content: 'PREV';
}

.carousel-next:after {
  content: 'NEXT';
}

.carousel-prev:before,
.carousel-next:before {
  content: "";
  display: block;
  width: 50%;
  height: 1em;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 1070px) {

  .carousel-prev:before,
  .carousel-next:before {
    width: 50%;
    height: 1em;
  }
}

.carousel-prev:before {
  background: url("../images/arrow_prev.svg") no-repeat center center;
  background-size: 100% auto;
}

.carousel-next:before {
  background: url("../images/arrow_next.svg") no-repeat center center;
  background-size: 100% auto;
}

/*outside*/
.outside-prev,
.outside-next {
  width: 6em;
  top: auto;
  bottom: -2em;
  height: auto;
  margin: 0;
  background: none;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  align-items: center;
  -webkit-align-items: center;
}

.outside-next {
  left: auto;
  right: 2%;
  flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
}

.outside-prev {
  left: 2%;
  right: auto;
}

.outside-prev:after,
.outside-next:after {
  display: block;
  font-size: 12px;
  color: #000;
}

.outside-prev:after {
  content: 'PREV';
}

.outside-next:after {
  content: 'NEXT';
}

.outside-prev:before,
.outside-next:before {
  content: "";
  display: block;
  width: 3em;
  height: 1em;
}

@media screen and (max-width: 1070px) {

  .outside-prev:before,
  .outside-next:before {
    width: 50%;
    height: 1em;
  }
}

.outside-prev:before {
  background: url("../images/arrow_prev.svg") no-repeat center center;
  background-size: 100% auto;
}

.outside-next:before {
  background: url("../images/arrow_next.svg") no-repeat center center;
  background-size: 100% auto;
}

.swiper-container-horizontal>.swiper-pagination-bullets {
  width: 100%;
  bottom: 20px;
  padding-left: 40px;
  box-sizing: border-box;
  text-align: left;
}

@media screen and (max-width: 1070px) {
  .swiper-container-horizontal>.swiper-pagination-bullets {
    width: auto;
    padding: 0;
    right: 0;
  }
}

.swiper-pagination-bullet {
  width: 40px;
  height: 2px;
  margin: 0 3px;
  border-radius: 0;
  opacity: 1;
  background: #e6e6e6;
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
}

.swiper-pagination-bullet:hover {
  background: #d5001c;
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #d5001c;
}

@media screen and (max-width: 1070px) {
  .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 5px;
  }
}

/****************************************************************************** slick

******************************************************************************/
.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.slick-prev:before,
.slick-next:before {
  content: none;
}

.slick-arrow {
  width: 50px;
  height: 50px;
  z-index: 1;
  border: 2px solid #000;
  border-radius: 50%;
  position: absolute;
  background: none;
  top: 50%;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.slick-arrow.is-white {
  border-color: #FFF;
}

@media screen and (max-width: 1070px) {
  .slick-arrow {
    width: 40px;
    height: 40px;
    z-index: 2;
  }
}

.slick-prev {
  top: 45%;
  left: -5%;
}

.slick-next {
  top: 45%;
  right: -5%;
}

@media screen and (max-width: 1070px) {
  .slick-prev {
    top: 35%;
  }

  .slick-next {
    top: 35%;
  }
}

.slick-arrow.slick-prev span {
  display: block;
  width: 50%;
  height: 50%;
  background: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 14" style="enable-background:new 0 0 20 14;" xml:space="preserve"><path fill-rule="evenodd" fill="rgb(0, 0, 0)" d="M20,8H3.8l4.6,4.6L7.1,14L1.4,8.4v0L0,7l7.1-7l1.4,1.4L3.8,6H20V8z"/></svg>') no-repeat center center;
  margin: 0 auto;
}

.slick-arrow.slick-next span {
  display: block;
  width: 50%;
  height: 50%;
  background: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 14" style="enable-background:new 0 0 20 14;" xml:space="preserve"><path fill-rule="evenodd" fill="rgb(0, 0, 0)" d="M20,7L13,14l-1.4-1.4L16.2,8H0V6h16.2l-4.6-4.6L13,0l5.6,5.6v0L20,7z"/></svg>') no-repeat center center;
  background-size: 100% 100%;
  margin: 0 auto;
}

.slick-arrow.slick-prev.is-white span {
  background: url(../images/arrow_prev.svg) no-repeat center center;
  background-size: 100% 100%;
}

.slick-arrow.slick-next.is-white span {
  background: url(../images/arrow_next.svg) no-repeat center center;
  background-size: 100% 100%;
}

@media screen and (min-width: 1071px) {
  .slick-arrow:hover {
    border-color: #d5001c;
  }

  .slick-arrow.slick-prev:hover span,
  .slick-arrow.slick-prev.is-white:hover span {
    background: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 14" style="enable-background:new 0 0 20 14;" xml:space="preserve"><path fill-rule="evenodd" fill="rgb(213, 0, 28)" d="M20,8H3.8l4.6,4.6L7.1,14L1.4,8.4v0L0,7l7.1-7l1.4,1.4L3.8,6H20V8z"/></svg>') no-repeat center center;
    background-size: 100% 100%;
  }

  .slick-arrow.slick-next:hover span,
  .slick-arrow.slick-next.is-white:hover span {
    background: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 14" style="enable-background:new 0 0 20 14;" xml:space="preserve"><path fill-rule="evenodd" fill="rgb(213, 0, 28)" d="M20,7L13,14l-1.4-1.4L16.2,8H0V6h16.2l-4.6-4.6L13,0l5.6,5.6v0L20,7z"/></svg>') no-repeat center center;
    background-size: 100% 100%;
  }
}

.slick-dots {
  width: 50%;
  margin-left: 50%;
  text-align: left;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 2px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  width: 100%;
  height: 2px;
  padding: 0;
  background: #e6e6e6;
}

.slick-dots li.slick-active button {
  background: #d5001c;
}

.slick-dots li.slick-active button:before {
  opacity: .75;
}

.slick-dots li button:before {
  content: none;
}

/****************************************************************************** featherlight

******************************************************************************/
.modal {
  display: none;
}

.modal img {
  width: 100%;
  height: auto;
}

.featherlight .featherlight-content {
  width: 94%;
  max-width: 940px;
  padding: 2em 5% 1em;
  box-sizing: border-box;
}

.featherlight .featherlight-close-icon {
  position: centering vertical and horizontal;
  position: absolute;
  z-index: 999;
  top: 0;
  right: 1px;
  line-height: 40px;
  width: 40px;
  cursor: pointer;
  text-align: center;
  font-family: Arial, sans-serif;
  background: #fff;
  background: rgba(255, 255, 255, 0.3);
  color: #000;
  border: none;
  padding: 0;
}

/****************************************************************************** scrollbar

******************************************************************************/
/* chrome safari */
.scrbar::-webkit-scrollbar {
  overflow: hidden;
  width: 6px;
  background: #999;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

.scrbar::-webkit-scrollbar:horizontal {
  height: 5px;
}

.scrbar::-webkit-scrollbar-button {
  display: none;
}

.scrbar::-webkit-scrollbar-piece {
  background: #000;
}

.scrbar::-webkit-scrollbar-piece:start {
  background: #000;
}

.scrbar::-webkit-scrollbar-thumb {
  overflow: hidden;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  background: #626262;
}

.scrbar::-webkit-scrollbar-corner {
  overflow: hidden;
  -webkit-border-radius: 4px;
  border-radius: 3px;
  background: #626262;
}

/* scrollbar - IE */
html,
body {
  scrollbar-arrow-color: #999;
  scrollbar-face-color: #999;
  scrollbar-3dlight-color: #333;
  scrollbar-darkshadow-color: #333;
  scrollbar-highlight-color: #333;
  scrollbar-shadow-color: #333;
  scrollbar-track-color: #333;
  scrollbar-base-color: #333;
}

/****************************************************************************** @keyframes

******************************************************************************/
/* move ****************************************************/
.js-scrMove,
.js-mvMove {
  opacity: 0;
  -webkit-transition: 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  transition: 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
}

.js-scrMove.on,
.js-mvMove.on {
  opacity: 1;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  visibility: visible !important;
}

.js-fromBottom.on {
  -webkit-animation-name: fromBottom;
  animation-name: fromBottom;
}

@-webkit-keyframes fromBottom {
  0% {
    transform: translateY(100px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes fromBottom {
  0% {
    transform: translateY(100px);
  }

  100% {
    transform: translateY(0);
  }
}

/* ovarlayMove ****************************************************/
.js-ovarlayMove {
  position: relative;
}

.js-ovarlayMove.on {
  -webkit-animation-name: fadeUp;
  animation-name: fadeUp;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}

@-webkit-keyframes fadeUp {
  0% {
    transform: translateY(80px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes fadeUp {
  0% {
    transform: translateY(80px);
  }

  100% {
    transform: translateY(0);
  }
}

.js-ovarlayMove:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: white;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
}

.js-ovarlayMove.on:after {
  opacity: 1;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  visibility: visible !important;
}

.js-ovarlayMove.left.on:after {
  -webkit-animation-name: ovarlayLeft;
  animation-name: ovarlayLeft;
  animation-delay: 0.3s;
}

@-webkit-keyframes ovarlayLeft {
  0% {
    transform: scaleX(100%);
    transform-origin: right top;
  }

  100% {
    transform: scaleX(0);
    transform-origin: right top;
  }
}

@keyframes ovarlayLeft {
  0% {
    transform: scaleX(100%);
    transform-origin: right top;
  }

  100% {
    transform: scaleX(0);
    transform-origin: right top;
  }
}

.js-ovarlayMove.right.on:after {
  -webkit-animation-name: ovarlayLeft;
  animation-name: ovarlayRight;
}

@-webkit-keyframes ovarlayRight {
  0% {
    transform: scaleX(100%);
    transform-origin: left top;
  }

  100% {
    transform: scaleX(0);
    transform-origin: left top;
  }
}

@keyframes ovarlayRight {
  0% {
    transform: scaleX(100%);
    transform-origin: left top;
  }

  100% {
    transform: scaleX(0);
    transform-origin: left top;
  }
}

/****************************************************************************** ScrollTrigger

******************************************************************************/
.str__animation {
  display: flex;
}

.str__animation .str {
  will-change: auto;
  transform: translateY(0);
  opacity: 0;
}

.visible,
.invisible {
  opacity: 0.0;
  transition: opacity 0.5s ease;
}

.visible {
  opacity: 1.0;
}

.visible.translateY,
.invisible.translateY {
  transform: translateY(100px);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.visible.translateY {
  transform: translateY(0);
}

.visible.translateToLeft,
.invisible.translateToLeft {
  transform: translateX(100px);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.visible.translateToLeft {
  transform: translateX(0);
}

.visible.translateToRight,
.invisible.translateToRight {
  transform: translateX(-100px);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.visible.translateToRight {
  transform: translateX(0);
}

.visible.fastUp,
.invisible.fastUp {
  transform: translateY(50px);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.visible.fastUp {
  transform: translateY(0);
}

.visible.fromR,
.invisible.fromR {
  transform: translateX(50px);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.visible.fromR {
  transform: translateX(0);
  transition-delay: 0.5s;
}

.visible.fromL,
.invisible.fromL {
  transform: translateX(-50px);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.visible.fromL {
  transform: translateX(0);
  transition-delay: 0.5s;
}

/****************************************************************************** frame General Setting

******************************************************************************/
body {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #000;
  word-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  position: relative;
  background: #FFF;
  font-size: 16px;
  line-height: 1.4em;
}

body.is-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}

@media screen and (max-width: 1070px) and (min-width: 768px) {
  body {
    font-size: 24px;
    line-height: 1.75em;
  }
}

@media screen and (max-width: 767px) {
  body {
    font-size: 12px;
    line-height: 1.75em;
  }
}

body.fixed {
  position: fixed;
}

/****************************************************************************** Layout

******************************************************************************/
#wrapper {
  width: 100%;
  position: relative;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
}

.l-wrapper img {
  width: 100%;
  height: auto;
}

.l-container {
  margin: 0 auto;
  padding: 0px 0 0;
  height: auto;
}

@media screen and (max-width: 1070px) {
  .l-container {
    padding: 0;
  }
}

.l-container__under {
  padding: 80px 0 0;
}

@media screen and (max-width: 1070px) {
  .l-container__under {
    padding: 60px 0 0;
  }
}

.l-section {
  padding: 0;
  position: relative;
}

.l-inner {
  clear: both;
  margin: 0 auto;
  padding: 0 10px;
  /* max-width:1800px;*/
  height: auto;
  box-sizing: border-box;
}

@media screen and (min-width: 1200px) {
  .l-inner {
    padding: 0 7%;
  }
}

@media screen and (max-width: 1070px) {
  .l-inner {
    padding: 0 6%;
  }
}

.l-anchor {
  padding-top: 100px;
  margin-top: -100px;
}

.l-2clm {
  width: 47%;
}

.l-3clm {
  width: 31.333%;
  margin-right: 3%;
}

.l-3clm:nth-child(3n) {
  margin-right: 0;
}

.l-5clm {
  width: 18%;
  margin-right: 2.5%;
}

.l-5clm:nth-child(5n) {
  margin-right: 0;
}

@media screen and (max-width: 1070px) {

  .flexWrap:not(.tabFlex):not(.spFlex) .l-2clm,
  .flexWrap:not(.tabFlex):not(.spFlex) .l-3clm {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1.5em;
  }
}

/****************************************************************************** header

******************************************************************************/
.l-header {
  width: 100%;
  height: 80px;
  padding-left: 3%;
  box-sizing: border-box;
  background: #FFF;
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  flex-grow: 2;
}

@media screen and (max-width: 1070px) {
  .l-header {
    height: 60px;
    padding: 5px 3% 0;
  }
}

.l-header__logo {
  width: 295px;
}

@media screen and (max-width: 1200px) and (min-width: 1071px) {
  .l-header__logo {
    width: 20%;
  }
}

@media screen and (max-width: 1070px) {
  .l-header__logo {
    width: 60%;
    max-width: 210px;
  }
}

/****************************************************************************** menu

******************************************************************************/
.p-menu {
  display: none;
  cursor: pointer;
}

@media screen and (max-width: 1070px) {
  .p-menu {
    display: block;
    width: 45px;
    height: 45px;
    padding-top: 15px;
    box-sizing: border-box;
  }
}

@media screen and (max-width: 1070px) {
  .p-menu__inner {
    position: relative;
    width: 70%;
    height: 28px;
    margin: 0 auto;
  }
}

.p-menu__inner span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
  border-radius: 4px;
}

.p-menu__inner span:nth-of-type(1) {
  top: 3px;
}

.p-menu__inner span:nth-of-type(2) {
  top: 13px;
}

.p-menu__inner span:nth-of-type(3) {
  bottom: 3px;
}

.p-menu.is-active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(45deg);
  transform: translateY(10px) rotate(45deg);
}

.p-menu.is-active span:nth-of-type(2) {
  width: 0%;
}

.p-menu.is-active span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(-45deg);
  transform: translateY(-10px) rotate(-45deg);
}

/****************************************************************************** nav

******************************************************************************/
.p-gnav {
  font-size: 87.5%;
  white-space: nowrap;
}

@media screen and (max-width: 1200px) and (min-width: 1071px) {
  .p-gnav {
    font-size: 78%;
  }
}

@media screen and (max-width: 1070px) {
  .p-gnav {
    opacity: 1;
    width: 100%;
    height: 90vh;
    height: calc(100vh - 60px);
    overflow-y: auto;
    padding: 1em 4% 6em;
    box-sizing: border-box;
    font-size: 112.5%;
    background: rgba(255, 255, 255, 0.95);
    position: fixed;
    top: 60px;
    left: -120%;
    -webkit-transition: 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
    transition: 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  }

  .p-gnav.is-active {
    opacity: 1;
    left: 0;
  }
}

.p-gnav a {
  display: block;
}

@media screen and (max-width: 1070px) {
  .p-gnav__linkList {
    width: 100%;
    margin-bottom: 2em;
  }
}

.p-gnav__linkList li {
  position: relative;
  margin-right: 2em;
}
.p-gnav__linkList li.faq {
  margin-right: 0;
	padding: 0 2em;
	background: #0070ae;
}
.p-gnav__linkList li.faq a {
  color: #fff;
}
.p-gnav_spFaq {
  display: none;
}

@media screen and (max-width: 1070px) {
  .p-gnav__linkList li {
    margin: 0;
    border-bottom: 1px solid #DDD;
  }
  .p-gnav__linkList li.faq {
    display: none;
  }
  .p-gnav_spFaq {
    display: block;
    padding-bottom: 30px;
  }
  .p-gnav_spFaq a {
    display: block;
    width: 100%;
    padding: 10px 0;
    background: #0070ae;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
  }
}

.p-gnav__linkList li:after {
  content: "";
  display: block;
  width: 0%;
  height: 4px;
  background: #0070ae;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transition: 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  transition: 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
}

.p-gnav__linkList li.is-current:after {
  width: 100%;
}

.p-gnav__linkList li.is-current a {
  color: #0070ae;
}

@media screen and (max-width: 1070px) {
  .p-gnav__linkList li.is-current:after {
    width: 30%;
    height: 1px;
    bottom: -1px;
  }
}

.p-gnav__linkList li a {
  height: 80px;
  display: -webkit-flex;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 1070px) {
  .p-gnav__linkList li a {
    height: auto;
    padding: 0.8em 1em;
  }
}

.p-gnav__btnList {
  /* width: 240px; */
  width: 140px;
  flex-direction: column;
}

@media screen and (max-width: 1070px) {
  .p-gnav__btnList {
    width: 100%;
  }
}

.p-gnav__btnList .p-hidelink__wrap {
  /* width: 120px; */
  width: 100%;
  cursor: pointer;
}

@media screen and (max-width: 1070px) {
  .p-gnav__btnList .p-hidelink__wrap {
    width: 100%;
    margin-bottom: 1em;
  }
}

.p-gnav__btnList .p-hidelink__wrap {
  /* height: 80px; */
  height: 40px;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 1070px) {
  .p-gnav__btnList .p-hidelink__wrap {
    display: block;
    padding: 1em 0;
    height: auto;
    text-align: center;
  }

  .p-gnav__btnList .p-hidelink__wrap {
    padding-bottom: 0;
  }

  .p-gnav__btnList .p-hidelink__wrap span.btn_txt {
    display: block;
    margin-bottom: 1em;
  }
}

.p-gnav__btnList .mypage,
.p-gnav__btnList .mypage .submenu {
  background: #e57729;
}

.p-gnav__btnList .entry,
.p-gnav__btnList .entry .submenu {
  background: #f2c11f;
}

.p-gnav__btnList .p-hidelink__wrap span.btn_txtt {
  width: 100%;
  text-align: center;
}

.p-gnav__btnList .p-hidelink__wrap .p-hidelink {
  position: absolute;
  /* bottom: -120px; */
  bottom: -80px;
  right: -350px;
  -webkit-transition: right 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  transition: right 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
}
.p-gnav__btnList .p-hidelink__wrap.entry .p-hidelink {
  /* bottom: -80px; */
  bottom: -20px;
}
.p-gnav__btnList .p-hidelink__wrap.mypage .p-hidelink {
  /* bottom: -120px; */
  bottom: -60px;
}

@media screen and (max-width: 1070px) {
  .p-gnav__btnList .p-hidelink__wrap .p-hidelink {
    position: static;
  }
}

.p-gnav__btnList .p-hidelink__wrap:hover .p-hidelink {
  right: 0;
}

.p-gnav__btnList .p-hidelink__wrap .submenu a {
  padding: 0.5em 1.5em;
  box-sizing: border-box;
  height: 60px;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  background-color: inherit;
}

@media screen and (min-width: 1071px) {
  .p-gnav__btnList .p-hidelink__wrap .submenu a:hover {
    color: #FFF;
    background: #0070ae;
  }
}

@media screen and (max-width: 1070px) {
  .p-gnav__btnList .p-hidelink__wrap .submenu a {
    height: auto;
    background: rgba(255, 255, 255, 0.3);
  }
}

.p-gnav__btnList .p-hidelink__wrap .submenu a:before {
  content: "";
  display: inline-block;
  margin-right: 1em;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.6em 0 0.6em 0.9em;
  border-color: transparent transparent transparent #ffffff;
}

/****************************************************************************** footer

******************************************************************************/
.l-footer {
  position: relative;
  background: #FFF;
  border-top: 1px solid #eeeeee;
  border-bottom: 10px solid #0070ae;
}

.l-footerInner {
  padding: 3.75em 4% 2.5em;
}

@media screen and (max-width: 1070px) {
  .l-footerInner {
    padding: 2em 4% 1em;
    font-size: 112.5%;
  }
}

@media screen and (max-width: 1070px) {
  .l-footer__info {
    margin-bottom: 2.5em;
  }
}

.l-footer__logo {
  margin-left: auto;
  margin-right: 0;
  max-width: 175px;
}

.l-footer__nav li {
  position: relative;
}

.l-footer__nav li:after {
  content: "";
  display: inline-block;
  margin: 0 1em;
  width: 1px;
  height: 1em;
  background: #aaa;
}

@media screen and (max-width: 1070px) {
  .l-footer__nav li:after {
    content: none;
  }

  .l-footer__nav li+li:before {
    content: "";
    display: inline-block;
    margin: 0 1em;
    width: 1px;
    height: 1em;
    background: #aaa;
  }
}

@media screen and (max-width: 1070px) {
  .l-footer__copy {
    margin-top: 0.5em;
  }
}

.p-gotoTop {
  width: 150px;
  height: 80px;
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  right: 0;
  top: -80px;
  cursor: pointer;
}

@media screen and (max-width: 1070px) {
  .p-gotoTop {
    width: 5em;
    height: 4em;
    top: -4em;
    text-align: center;
  }
}

.p-gotoTop__inner {
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.p-gotoTop__arrow {
  transform: rotate(-90deg) !important;
}

.p-gotoTop__arrow img {
  width: 90%;
}

@media screen and (max-width: 1070px) {
  .p-gotoTop__arrow.c-icon img {
    vertical-align: top;
  }
}

/****************************************************************************** project

******************************************************************************/
/* mainview
******************************************/
.p-mainview {
  position: relative;
  /* background: url("../images/top/mv_top_pc.jpg") no-repeat top center; background-size: cover;*/
  min-height: 700px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-mainview {
    /*  background: url("../images/top/mv_top_sp.jpg") no-repeat top right; background-size: cover;*/
    min-height: 400px;
  }
}

.p-mainview__video {
  z-index: 1;
}

.p-mainview__video video {
  display: block;
  width: 110%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.p-mainview__video.tate video {
  width: auto !important;
  height: 110% !important;
}

#dev {
  font-weight: bold;
  font-size: 150%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  color: #FFFF00;
}

.p-mainCopy {
  position: relative;
}

.p-mainCopy__01 {
  position: fixed;
  top: 30%;
  left: 7%;
  z-index: 3;
  /* background: rgba(0,0,0,0.5);*/
}

.p-mainCopy__01.stop {
  position: absolute;
  top: 0;
  left: 0;
}

.p-mainCopy__clear {
  opacity: 0;
}

.p-mainCopy__white {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.p-mainview__ovarlay {
  mix-blend-mode: multiply;
  background: url("../images/pat_dot.png") repeat center center;
  background-size: 16px 16px;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}

.p-mainNews {
  width: 76%;
  padding: 1.5em 1em 1em 7%;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: -80px;
  background: #FFF;
  z-index: 5;
}

@media screen and (max-width: 1070px) {
  .p-mainNews {
    width: 100%;
    padding: 1em 6%;
  }
}

.p-mainNews__inner {
  margin-right: 0;
  margin-left: auto;
  max-width: 1120px;
}

.p-mainNews__contents {
  width: 70%;
  height: 2.5em;
  overflow: hidden;
}

@media screen and (max-width: 1070px) {
  .p-mainNews__contents {
    width: 100%;
  }
}

.p-mainNews__post {
  padding: 0.5em 0;
}

.p-mainNews__post time {
  width: 5.1em;
  margin-right: 1em;
}

.p-mainNews__tit {
  width: 4em;
  position: relative;
  margin-right: 1em;
}

.p-mainNews__tit:after {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  background: #000;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.p-mainNews__more {
  width: 8em;
  height: 3em;
  cursor: pointer;
}

@media screen and (max-width: 1070px) {
  .p-mainNews__more {
    position: absolute;
    top: 0.5em;
    right: 0;
  }
}

.p-mainNews__arrow {
  transform: rotate(90deg) !important;
}

.p-mainNews__arrow img {
  width: 90%;
}

/*is-noSlide*/
.p-mainNews.is-noSlide {
  position: relative;
  margin-top: -100px;
}

@media screen and (max-width: 1070px) and (min-width: 768px) {
  .p-mainNews.is-noSlide {
    margin-top: -150px;
  }
}

@media screen and (max-width: 767px) {
  .p-mainNews.is-noSlide {
    margin-top: -75px;
  }
}

.p-mainNews.is-noSlide .p-mainNews__contents {
  height: auto;
}

.p-mainNews.is-noSlide .p-mainNews__contents .swiper-wrapper {
  display: block;
}

/* firstview
******************************************/
.p-firstview {
  position: relative;
  overflow: hidden;
}

.p-firstview__bg {
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
  z-index: 0;
}

.p-firstview__video video {
  display: block;
  width: 110%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.p-firstview__video.tate video {
  width: auto !important;
  height: 110% !important;
}

.p-firstview__ovarlay {
  mix-blend-mode: multiply;
  background: url("../images/pat_dot.png") repeat center center;
  background-size: 16px 16px;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}

.p-firstview__ovarlay.add-shadow {
  background-color: rgba(0, 0, 0, 0.5);
}

.p-firstview__title {
  position: absolute;
  top: 6.5em;
  left: 7%;
  transform: translateY(-50%);
  z-index: 3;
}

@media screen and (max-width: 1070px) {
  .p-firstview__title {
    top: 4em;
  }
}

@media screen and (max-width: 767px) {
  .p-firstview__title {
    top: 3em;
  }
}

.p-firstview__content {
  position: absolute;
  top: 50%;
  left: 13%;
  transform: translateY(-50%);
  z-index: 3;
}

@media screen and (max-width: 1070px) {
  .p-firstview__content {
    top: auto;
    bottom: 4em;
    left: 7%;
    transform: none;
  }
}

@media screen and (max-width: 1070px) {
  .p-firstview__content.sp-glow {
    text-shadow: 0 0 10px white, 0 0 10px white, 0 0 10px white;
  }
}

.p-firstview.is-noimage {
  background: #FFF;
  height: 230px;
}

@media screen and (max-width: 1070px) {
  .p-firstview.is-noimage {
    height: 14em;
  }
}

@media screen and (max-width: 767px) {
  .p-firstview__content .p-companyName {
    margin-bottom: 0 !important;
  }

  .p-firstview__content .p-postName {
    margin-bottom: 0 !important;
  }

  .p-firstview__content .p-personName {
    font-size: 200%;
    line-height: 1.3em;
  }
}

/* entranceBox
******************************************/
.p-entranceBox__ph {
  width: 57%;
}

@media screen and (max-width: 1070px) {
  .p-entranceBox__ph {
    width: 100%;
  }
}

.p-entranceBox__content {
  width: 43%;
  box-sizing: border-box;
  padding-left: 4%;
  padding-right: 7%;
}

@media screen and (max-width: 1070px) {
  .p-entranceBox__content {
    width: 100%;
    padding: 1em 6%;
  }
}

/* leadBox
******************************************/
.p-leadBox__ph {
  width: 44%;
}

@media screen and (max-width: 1070px) {
  .p-leadBox__ph {
    width: 100%;
    margin-bottom: 1em;
  }
}

.p-leadBox__content {
  width: 50%;
  box-sizing: border-box;
}

@media screen and (max-width: 1070px) {
  .p-leadBox__content {
    width: 100%;
  }
}

.p-leadBox__text {
  margin-bottom: 1.5em;
}

.p-leadBox__text p {
  margin-bottom: 1em;
}

/* articleBox
******************************************/
.p-articleBox__ph {
  width: 42%;
}

@media screen and (max-width: 1070px) {
  .p-articleBox__ph {
    width: 94%;
    margin-bottom: 1em;
  }

  .reverse .p-articleBox__ph {
    margin-left: 6%;
  }
}

.p-articleBox__content {
  width: 58%;
  box-sizing: border-box;
  padding-top: 1em;
  padding-left: 4%;
  padding-right: 7%;
}

.reverse .p-articleBox__content {
  padding-left: 7%;
  padding-right: 4%;
}

@media screen and (max-width: 1070px) {

  .p-articleBox__content,
  .reverse .p-articleBox__content {
    width: 100%;
    padding-left: 6%;
    padding-right: 6%;
  }
}

.p-articleBox__text {
  margin-bottom: 1.5em;
}

.p-articleBox__text p {
  margin-bottom: 1em;
}

/* bannerBox
******************************************/
.p-bannerBox__ph {
  width: 50%;
}

@media screen and (max-width: 1070px) {
  .p-bannerBox__ph {
    width: 100%;
    margin-bottom: 2em;
  }
}

.p-bannerBox__content {
  width: 45%;
  box-sizing: border-box;
}

@media screen and (max-width: 1070px) {
  .p-bannerBox__content {
    width: 100%;
  }
}

.p-bannerBox__text {
  margin-bottom: 1.5em;
}

.p-bannerBox__text p {
  margin-bottom: 1em;
}

/* centerPhBox
******************************************/
.p-centerPhBox {
  max-width: 800px;
  margin: 0 auto;
}

.p-centerPhBox__ph {
  width: 100%;
  margin-bottom: 1em;
}

/* stackBox
******************************************/
.p-stackBox {
  width: 76%;
  padding-top: 3.75em;
  padding-left: 7%;
  padding-right: 0;
  box-sizing: border-box;
  margin-top: -80px;
  background: #FFF;
  position: relative;
  z-index: 2;
}

.p-stackBox.right {
  padding-left: 4%;
  padding-right: 7%;
  margin-right: 0;
  margin-left: auto;
  text-align: right;
}

@media screen and (max-width: 1070px) {

  .p-stackBox,
  .p-stackBox.right {
    width: 100%;
    margin-top: -10px;
    padding: 0 6%;
    background: none;
  }
}

@media screen and (max-width: 1070px) {
  .p-stackBox:before {
    content: "";
    display: block;
    width: 80%;
    height: 50px;
    background: #FFF;
    position: absolute;
    top: -20px;
    left: 0;
  }

  .p-stackBox.right:before {
    left: auto;
    right: 0;
  }

  .p-stackBox.u-bg__light:before {
    background: #eee;
  }
}

.p-stackBox__inner {
  position: relative;
  z-index: 2;
}

/* person-three
******************************************/
.p-person-three {
  position: relative;
}

.p-person-three__base {
  position: relative;
  z-index: 0;
  background: #999;
}

.p-person-three__item {
  width: 37.5%;
  position: absolute;
}

.p-person-three__item:nth-of-type(2) {
  top: -4%;
  left: 0;
  z-index: 3;
}

.p-person-three__item:nth-of-type(3) {
  top: 8%;
  left: 31.25%;
  z-index: 2;
}

.p-person-three__item:nth-of-type(4) {
  top: 3%;
  right: 0;
  z-index: 1;
}

/* jobList
******************************************/
@media screen and (min-width: 1071px) {
  .p-jobList {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }

  .p-jobList .swiper-slide {
    width: 30.3333%;
    margin-left: 3%;
    margin-bottom: 1.5em;
  }

  .p-jobList .swiper-slide:nth-child(3n + 1) {
    margin-left: 0;
  }

  .p-jobList-prev,
  .p-jobList-next {
    display: none;
  }
}

@media screen and (min-width: 1071px) {

  .p-contentsSLider .swiper-button-prev,
  .p-contentsSLider .swiper-button-next {
    visibility: hidden;
  }
}

/* flowillust
******************************************/
.p-flowillust {
  padding: 0 4%;
}

@media screen and (max-width: 1070px) {
  .p-flowillust {
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-box-align: stretch;
  }

  .p-flowillust li {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
  }

  .p-flowillust .pic {
    width: 35%;
    margin: 0 auto;
  }

  .p-flowillust .arrow {
    width: 10%;
    margin: 0 auto;
  }

  .p-flowillust .arrow figure {
    transform: rotate(90deg);
  }

  .p-flowillust__arrow img {
    display: none;
  }

  .p-flowillust__arrow {
    width: 10%;
    background: url("../images/jobs/sales/img_arrow_01_sp.png") no-repeat center right;
    background-size: 100% 100%;
  }
}

/* thumbList
******************************************/
.p-thumbList__ph {
  width: 20%;
  border-radius: 0.7em;
}

@media screen and (max-width: 1070px) {
  .p-thumbList__ph {
    width: 35%;
    border-radius: 0.5em;
    float: left;
    margin: 0 1em 0 0;
  }
}

.p-thumbList__content {
  width: 76%;
}

@media screen and (max-width: 1070px) {
  .p-thumbList__content {
    width: 100%;
    clear: both;
  }
}

/* personList
******************************************/
.p-personList a {
  display: block;
}
.p-personList__link_c01 {
  background-color: #eee;
}
.p-personList__link_c02 {
  background-color: #e6f0fa;
}
.p-personList__link_c03 {
  background-color: #fdf0de;
}
.p-personList__ph {
  width: 38%;
}

@media screen and (max-width: 1070px) {
  .p-personList__ph {
    width: 100%;
    margin-bottom: 1em;
  }
}

.p-personList__content {
  width: 62%;
  padding-left: 5%;
  box-sizing: border-box;
}

@media screen and (max-width: 1070px) {
  .p-personList__content {
    width: 100%;
    padding: 0;
  }

  .p-personList__content h3 {
    margin-bottom: 1em !important;
  }

  .p-personList__belong {
    display: inline-block;
    margin-bottom: 1em;
  }

  .p-personList__year {
    display: inline-block;
    margin-left: 1em;
    margin-bottom: 1em;
  }
}

.p-personCareer {
  clear: both;
  margin: 0 auto;
  padding: 0 10px 10px 0;
  height: auto;
  box-sizing: border-box;
}
@media screen and (min-width: 1200px) {
  .p-personCareer {
    padding: 0 0 0 7%;
  }
}
@media screen and (max-width: 1070px) {
  .p-personCareer {
    padding: 0 6%;
  }
}
.p-personCareer__wrap.scroll {
  overflow-x: auto;
  cursor: default;
}
.p-personCareer__wrap::-webkit-scrollbar {
  height: 8px;
}
.p-personCareer__wrap::-webkit-scrollbar-thumb {
  background: #0070ae;
  border-radius: 7px;
}
.p-personCareer__wrap::-webkit-scrollbar-track {
  background: #cce2ef;
  border-radius: 7px;
}
@media screen and (max-width: 1070px) {
  .p-personCareer__wrap {
    overflow-x: auto;
  }
}
.p-personCareer__inner {
  display: flex;
  gap: 0 20px;
}
@media screen and (max-width: 1070px) {
  .p-personCareer__wrap .p-personCareer__inner {
    padding: 0 0 10px 0;
  }
}
.p-personCareer__wrap.scroll .p-personCareer__inner {
  padding: 0 0 15px 0;
  min-width: 1180px;
}
@media screen and (max-width: 1070px) {
  .p-personCareer__wrap.scroll .p-personCareer__inner {
    min-width: 800px;
  }
}
.p-personCareer__box {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 280px;
  /* min-width: 200px;
  max-width: 500px; */
}
.p-personCareer__box .year {}
.p-personCareer__box .point {
  position: relative;
  padding: 25px 0;
}
.p-personCareer__box .point .circle {
  display: block;
  width: 1.2em;
	height: 1.2em;
	background: #0070ae;
	border-radius: 50%;
	margin: 0 auto;
}
.p-personCareer__box .point .arrow {
  width: 86%;
	height: 2px;
	background: #c8c8c8;
	position: absolute;
	top: 50%;
	left: 60%;
	z-index: 2;
  transform: translateY(-50%);
}
.p-personCareer__box .point .arrow::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 13px;
	border-color: transparent transparent transparent #c8c8c8;
	position: absolute;
	right: 0;
	top: -7px;
}
.p-personCareer__box .detail {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 25px 20px;
	box-sizing: border-box;
}
.p-personCareer__box .detail p {
  font-size: 112.5%;
  line-height: 1.75;
}
.p-personCareer__box .detail::after {
  content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 15px 10px;
	position: absolute;
	left: 50%;
	top: -14px;
	transform: translateX(-50%);
}
.p-personCareer__box .detail.color01 {
  background: #cce2ef;
  color: #000;
}
.p-personCareer__box .detail.color01::after {
  border-color: transparent transparent #cce2ef transparent;
}
.p-personCareer__box .detail.color02 {
  background: #99c6df;
  color: #000;
}
.p-personCareer__box .detail.color02::after {
  border-color: transparent transparent #99c6df transparent;
}
.p-personCareer__box .detail.color03 {
  background: #66a9ce;
  color: #000;
}
.p-personCareer__box .detail.color03::after {
  border-color: transparent transparent #66a9ce transparent;
}
.p-personCareer__box .detail.color04 {
  background: #338dbe;
  color: #fff;
}
.p-personCareer__box .detail.color04::after {
  border-color: transparent transparent #338dbe transparent;
}
.p-personCareer__box.end .point .arrow {
  display: none;
}
.p-personCareer__offshot {
  display: flex;
  gap: 0 3%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 40px;
  border: 1px solid #0068b6;
}
.p-personCareer__offshot .text {
  width: 50%;
}
.p-personCareer__offshot .image {
  width: 47%;
}
@media screen and (max-width: 1070px) {
  .p-personCareer__offshot {
    flex-direction: column;
    padding: 15px;
  }
  .p-personCareer__offshot .text, .p-personCareer__offshot .image {
    width: 100%;
  }
  .p-personCareer__offshot .image {
    margin-top: 1.2em;
  }
}

/* network
******************************************/
@media screen and (max-width: 1070px) {
  .p-network__point li {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
  }

  .p-network__point li {
    padding: 0.5em 1em;
  }
}

.p-network__mark .maru {
  display: inline-block;
  vertical-align: middle;
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  border: 1px solid #000;
}

.p-network__mark .maru.ki {
  background: #ffff00;
  border: none;
}

/* private
******************************************/
.p-private__ad img {
  width: auto;
  max-width: 100%;
}

.p-private__list {
  gap: 20px;
}
.p-private__list li {
  width: 26%;
  /* width: 23%; */
  margin-bottom: 1em;
}

@media screen and (max-width: 1070px) {
  .p-private__list {
    gap: 0;
  }
  .p-private__list li {
    width: 48%;
    margin: 0 1% 2em;
  }
}

/* grayBxox
******************************************/
.p-grayBxox>* {
  padding: 1em 2em;
  box-sizing: border-box;
  background: #eeeeee;
  border-radius: 0.3em;
}

.p-grayBxox dt {
  width: 28%;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
}

@media screen and (max-width: 1070px) {
  .p-grayBxox dt {
    width: 100%;
    margin-bottom: 0.2em;
  }
}

.p-grayBxox dd {
  width: 71%;
}

@media screen and (max-width: 1070px) {
  .p-grayBxox dd {
    width: 100%;
    margin-bottom: 1em;
  }
}

.p-grayBxox:nth-child(even) dt,
.p-grayBxox:nth-child(even) dd {
  background: #FFF;
  border: 2px solid #eee;
}

/* careerPlan
******************************************/
.p-careerPlan__inner {
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  -webkit-box-orient: vertical;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  background: #cce2ef;
}

@media screen and (min-width: 1071px) {

  .p-careerPlan__inner .p-careerPlan__year,
  .p-careerPlan__inner .p-careerPlan__text {
    display: none;
  }
}

.p-careerPlan__inner:nth-child(1) {
  background: #cce2ef;
}

.p-careerPlan__inner:nth-child(2) {
  background: #99c6df;
}

.p-careerPlan__inner:nth-child(3) {
  background: #66a9ce;
}

.p-careerPlan__inner:nth-child(4) {
  background: #338dbe;
}

.p-careerPlan__inner:nth-child(5) {
  background: #0070ae;
}

.p-careerPlan__item {
  padding: 1.5em 0;
}

@media screen and (max-width: 1070px) {
  .p-careerPlan__inner {
    width: 100%;
    margin-bottom: 1em;
    flex-direction: row;
    align-items: stretch;
    -webkit-box-align: stretch;
    justify-content: space-between;
    -webkit-justify-content: space-between;
  }

  .p-careerPlan__inner .p-careerPlan__year {
    width: 20%;
    background: #FFF;
  }

  .p-careerPlan__inner .p-careerPlan__text {
    padding: 0;
    width: 30%;
    text-align: left;
  }
}

@media screen and (max-width: 1070px) {
  .p-careerPlan__inner:last-child .maru span {
    display: none;
  }
}

.p-careerPlan__year>* {
  padding: 1em 0 2em;
  position: relative;
}

@media screen and (max-width: 1070px) {
  .p-careerPlan__year {
    position: relative;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    -webkit-box-orient: vertical;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
  }

  .p-careerPlan__year>* {
    padding: 0;
    position: static;
  }
}

.p-careerPlan__year .maru {
  width: 1.2em;
  height: 1.2em;
  background: #0070ae;
  border-radius: 50%;
  margin: 0 auto;
}

.p-careerPlan__year .maru span {
  width: 90%;
  height: 2px;
  background: #c8c8c8;
  position: absolute;
  top: 63%;
  left: 60%;
  z-index: 2;
}

@media screen and (max-width: 1070px) {
  .p-careerPlan__year .maru span {
    width: 2px;
    height: 70%;
    top: 70%;
    left: 50%;
  }
}

.p-careerPlan__year>*:last-child .maru span {
  display: none;
}

.p-careerPlan__year .maru span:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 15px;
  border-color: transparent transparent transparent #c8c8c8;
  position: absolute;
  right: 0;
  top: -9px;
}

@media screen and (max-width: 1070px) {
  .p-careerPlan__year .maru span:after {
    right: auto;
    top: auto;
    bottom: 0;
    left: -5px;
    border-width: 10px 7.5px 0 7.5px;
    border-color: #c8c8c8 transparent transparent transparent;
  }
}

.p-careerPlan__text>* {
  padding: 1em;
  background: #f0f0f0;
  position: relative;
}

@media screen and (max-width: 1070px) {
  .p-careerPlan__text {
    background: #f0f0f0;
  }

  .p-careerPlan__text>* {
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    -webkit-box-orient: vertical;
    align-items: center;
    -webkit-align-items: center;
  }
}

.p-careerPlan__text>*:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 15px 10px;
  border-color: transparent transparent #f0f0f0 transparent;
  position: absolute;
  left: 50%;
  top: -15px;
  transform: translateX(-50%);
}

@media screen and (max-width: 1070px) {
  .p-careerPlan__text>*:after {
    border-width: 10px 15px 10px 0;
    border-color: transparent #f0f0f0 transparent;
    left: -15px;
    top: 50%;
    transform: translateY(-50%);
  }
}

.p-careerPlan2 {}
.p-careerPlan2__main {
  display: flex;
  flex-wrap: wrap;
	justify-content: space-between;
}
@media screen and (max-width: 1070px) {
  .p-careerPlan2__main {
    flex-direction: column;
  }
}
.p-careerPlan2__list {
	position: relative;
	width: calc(50% - 20px);
  margin: 0 0 20px 0;
	padding: 2px;
	background: #fff;
	border: 2px solid #e5f0f7;
	border-radius: 6px;
}
@media screen and (max-width: 1070px) {
  .p-careerPlan2__list {
    width: 100%;
    margin-bottom: 10px;
  }
}
.p-careerPlan2__list::before {
  content: "";
	display: block;
	background: #e5f0f7;
	width: 0%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	transition: 0.3s ease-in-out;
}
.p-careerPlan2__list:hover::before {
  width: 100%;
}
.p-careerPlan2__list a {
  position: relative;
	display: flex;
	align-items: center;
  color: #000;
  z-index: 3;
}
.p-careerPlan2__list:hover,
.p-careerPlan2__list:hover a {
  color: #000;
}
.p-careerPlan2__list a::after {
  content: "";
	display: block;
	width: 2em;
	height: 1.5em;
	background: url("../images/arrow_next.svg") no-repeat center center;
	background-position: 100% center;
	background-size: auto 13px;
	position: absolute;
	top: 50%;
	right: 2em;
	transform: translateY(-50%);
	transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
	pointer-events: none;
}
@media screen and (max-width: 1070px) {
  .p-careerPlan2__list a::after {
    background-size: 100% auto;
  }
}
.p-careerPlan2__list a:hover::after {
	transform: translateX(50%) translateY(-50%);
}
.p-careerPlan2__list img {
  display: block;
  width: 115px;
  margin: 0 25px 0 0;
  border-radius: 4px;
}
@media screen and (max-width: 1070px) {
  .p-careerPlan2__list img {
    width: 25%;
    margin: 0 15px 0 0;
  }
}
.p-careerPlan2__list a:hover img {
  opacity: 1;
}
.p-careerPlan2__list .section {
	font-size: 150%;
  line-height: 1;
}
@media screen and (max-width: 1070px) {
  .p-careerPlan2__list .section {
    margin: 0 5px 0 0;
    font-size: 140%;
  }
}
.p-careerPlan2__list .hire {
  margin: 0 0 -1px 0;
  font-size: 90%;
  line-height: 1;
}
@media screen and (max-width: 1070px) {
  .p-careerPlan2__list .hire {
    display: block;
    margin: 3px 0 0 -4px;
    font-size: 85%;
  }
}

/* qol
******************************************/
.p-qol li {
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  -webkit-box-orient: vertical;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
}

.p-qol2 {
  border-bottom: 2px solid #fff;
	margin: 0 0 30px 0;
	padding: 0 0 40px 0;
}
@media screen and (max-width: 1070px) {
  .p-qol2 {
    padding: 0;
  }
}
.p-qol2__block {
  display: flex;
	gap: 0 40px;
}
.p-qol2__block:not(:last-of-type) {
  margin: 0 0 60px 0;
}
@media screen and (max-width: 1070px) {
  .p-qol2__block,.p-qol2__block:not(:last-of-type) {
    flex-direction: column;
    margin: 0;
  }  
}
.p-qol2__content {
  width: 100%;
}
@media screen and (max-width: 1070px) {
  .p-qol2__content {
    margin: 0 0 50px 0;
  }  
}
.p-qol2__link {
	position: relative;
	display: flex;
	align-items: center;
	width: fit-content;
	padding: 0 3em 0 0;
	color: #000;
	z-index: 3;
}
.p-qol2__link::after {
  content: "";
	display: block;
	width: 2em;
	height: 1.5em;
	background: url("../images/arrow_next.svg") no-repeat center center;
	background-position: 100% center;
	background-size: auto 13px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	pointer-events: none;
}
@media screen and (max-width: 1070px) {
  .p-qol2__link::after {
    background-size: 100% auto;
  }
}
.p-qol2__link:hover::after {
	animation-name: arrowSlideR;
	animation-duration: 0.3s;
	animation-fill-mode: forwards;
}

/* member
******************************************/
.p-member__info {
  margin-bottom: 1em;
  padding-left: 2em;
}

@media screen and (max-width: 1070px) {
  .p-member__ph {
    width: 50%;
  }

  .p-member__info {
    font-size: 1.5vw;
    width: 50%;
    padding-left: 1em;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-member__info {
    font-size: 2.2vw;
  }
}

@media screen and (max-width: 1070px) {
  .p-member__wrap.u-mb__2 {
    margin-bottom: 1em !important;
  }

  .p-member.is-middle .p-member__ph {
    width: 23%;
  }

  .p-member.is-middle .p-member__info {
    width: 77%;
  }

  .p-member.is-middle .p-member__comment {
    font-size: 87.5%;
  }
}

/* talk
******************************************/
.p-talk__Q {
  width: 8em;
}

@media screen and (max-width: 1070px) {
  .p-talk__Q {
    width: 20%;
  }
}

.p-talk__Qtext {
  width: calc(100% - 8em);
}

@media screen and (max-width: 1070px) {
  .p-talk__Qtext {
    width: 80%;
    padding-left: 1em;
    box-sizing: border-box;
  }
}

.p-talk__icon {
  width: 14%;
  box-sizing: border-box;
  padding-right: 3%;
  min-width: 160px;
  position: relative;
}

@media screen and (max-width: 1070px) {
  .p-talk__icon {
    width: 30%;
    min-width: initial;
  }
}

.reverse .p-talk__icon {
  padding-right: 0;
  padding-left: 3%;
}

.p-talk__comment {
  width: 86%;
  box-sizing: border-box;
  padding: 1.5em 3em;
  position: relative;
}

@media screen and (max-width: 1070px) {
  .p-talk__comment {
    padding: 1.5em 1.5em;
  }
}

.p-talk__comment:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 20px 12px 0;
  border-color: transparent #FFF transparent transparent;
  position: absolute;
  /* top: 2.8em; */
  top: 2.2em;
  left: -20px;
}

@media screen and (max-width: 767px) {
  .p-talk__comment:after {
    border-width: 8px 12px 8px 0;
    left: -12px;
  }
}

.reverse .p-talk__comment:after {
  border-width: 12px 0 12px 20px;
  border-color: transparent transparent transparent #FFF;
  position: absolute;
  left: auto;
  right: -20px;
}

@media screen and (max-width: 767px) {
  .reverse .p-talk__comment:after {
    border-width: 8px 0 8px 12px;
    right: -12px;
  }
}

.p-entryflow li {
  margin-bottom: 5em;
  position: relative;
}

.p-entryflow li:not(.is-link) {
  padding: 1.1em 0;
}

@media screen and (max-width: 767px) {
  .p-entryflow li {
    margin-bottom: 3em;
  }
}

.p-entryflow li:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 32px 20px 0 20px;
  border-color: #eeeeee transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: -3.5em;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .p-entryflow li:after {
    border-width: 15px 10px 0 10px;
    bottom: -2em;
  }
}

.p-entryflow li:last-child {
  margin-bottom: 3em;
}

.p-entryflow li:last-child:after {
  content: none;
}

.p-entryflow li.is-link a {
  display: block;
  padding: 1.1em 0;
}

.p-entryflow__btn {
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 1070px) {
  .p-entryflow__btn {
    position: static;
    transform: none;
    text-indent: 1em;
  }
}

.p-entryflow__btntxt {
  margin-right: 2em;
}

.p-entryflow__btn .c-icon {
  vertical-align: top;
}

/* faq
******************************************/
.p-faq {
  position: relative;
  border-bottom: 1px solid #c8c8c8;
}

.p-faq:first-child {
  border-top: 1px solid #c8c8c8;
}

.p-faq dt {
  /* padding: 0.7em 0 1.3em; */
  padding: 0.7em 0 0.7em 1.3em;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 1070px) {
  .p-faq dt {
    padding: 0.7em 2em 0.7em 0.75em;
  }
}

.p-faq__no {
  width: 3.5em;
  min-width: 55px;
  flex: 1;
}
@media screen and (max-width: 1070px) {
  .p-faq__no {
    min-width: 40px;
  }
}

.p-faq__Q {
  gap: 3px 0;
  width: 100%;
  padding-top: 3px;
}

.p-faq__arrow {
  display: block;
  position: absolute;
  /* top: 1.5em; */
  right: 0.5em;
  -webkit-transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  top: 50%;
	transform: translateY(-50%);
}

.p-faq__arrow .c-icon img {
  vertical-align: top;
}

.p-faq__A {
  /* padding: 0 0 1.5em 3.5em; */
  padding: 0 0 1.5em 4.75em;
}
@media screen and (max-width: 1070px) {
  .p-faq__A {
    padding: 0 0 1.5em 4.25em;
  }
}
.p-faq__A p {
  line-height: 1.75;
}
.label_wrap {
  display: flex;
  gap: 0 5px;
	width: 100%;
}
.p-faq .label_wrap .label {
  width: 60px;
  padding: 4px 0px 5px 0;
  border-radius: 3px;
  color: #fff;
  font-size: 75%;
  text-align: center;
  line-height: 1;
}
.p-faq .label_wrap .label.label_01 {
  /* padding: 4px 0.5em 5px 0.5em; */
  background: #f2c11f;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
}
.p-faq .label_wrap .label.label_02 {
  /* padding: 4px 1em 5px 1em; */
  background: #e57729;
}

.is-active .p-faq__arrow {
  transform: scale(1, -1);
  transform-origin: center center;
}

/* voice
******************************************/
.p-voice {
  padding: 1.5em;
  box-sizing: border-box;
  position: relative;
  margin-bottom: 3em;
}

.p-voice:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 15px 0 15px;
  border-color: #e5f0f7 transparent transparent transparent;
  position: absolute;
  left: 10%;
  bottom: -15px;
}

.p-voice__01 {
  width: 36%;
}

.p-voice__02 {
  width: 60%;
  margin-top: -4em;
}

.p-voice__03 {
  width: 48%;
}

.p-voice__04 {
  width: 48%;
  margin-top: -4em;
}

@media screen and (max-width: 767px) {
  .p-voice {
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 2em;
  }
}

.p-about__sub {
  display: flex;
  gap: 0 4%;
}
.p-about__sub__photo {
  width: 44%;
  max-width: 640px;
}
.p-about__sub__text {
  width: 54%;
}
@media screen and (max-width: 767px) {
  .p-about__sub {
    flex-direction: column;
    gap: 20px 0;
  }
  .p-about__sub__photo,.p-about__sub__text {
    width: 100%;
  }
}

/****************************************************************************** compornent

******************************************************************************/
/* headline
******************************************/
.c-headline_01 {
  font-size: 375%;
  line-height: 1.6em;
}

@media screen and (max-width: 1070px) {
  .c-headline_01 {
    font-size: 333.33%;
    line-height: 1.6em;
  }
}

.c-headline_02 {
  font-size: 312.5%;
  line-height: 1.6em;
}

@media screen and (max-width: 1070px) {
  .c-headline_02 {
    font-size: 187.5%;
    line-height: 1.6em;
  }
}

.c-headline_03 {
  font-size: 250%;
  line-height: 1.3em;
}

@media screen and (max-width: 1070px) {
  .c-headline_03 {
    font-size: 166.66%;
    line-height: 1.6em;
  }
}

.c-headline_04 {
  font-size: 225%;
  line-height: 1.6em;
}

@media screen and (max-width: 1070px) {
  .c-headline_04 {
    font-size: 145%;
    line-height: 1.6em;
  }
}

.c-headline_05 {
  font-size: 200%;
  line-height: 1.6em;
}

.c-headline_06 {
  font-size: 175%;
  line-height: 1.6em;
}

.c-headline_07 {
  font-size: 150%;
  line-height: 1.6em;
}

.c-headline_08 {
  font-size: 137.5%;
  line-height: 1.5em;
}

.c-headline_09 {
  font-size: 125%;
  line-height: 1.3em;
}

/* element
******************************************/
.c-elm_rightborder {
  position: relative;
}

.c-elm_rightborder:before {
  content: "";
  display: block;
  width: 2.5em;
  height: 2px;
  background: #000;
  position: absolute;
  top: 50%;
  right: -3em;
  transform: translateY(-50%);
}

.c-elm_bottomborder {
  position: relative;
}

.c-elm_bottomborder:before {
  content: "";
  display: block;
  width: 2.5em;
  height: 2px;
  background: #000;
  position: absolute;
  bottom: -0.5em;
  left: 0;
}

.c-elm_bottomborder.u-white:before {
  background: #FFF;
}

.c-elm_topborder {
  padding-top: 1.5em;
  position: relative;
}

.c-elm_topborder:before {
  content: "";
  display: block;
  width: 2.5em;
  height: 2px;
  background: #0071af;
  position: absolute;
  top: 0;
  left: 0;
}

.c-elm_bottomborder.u-white:before {
  background: #FFF;
}

/* text
******************************************/
.c-text_01 {
  font-size: 225%;
  line-height: 1.5em;
}

.c-text_02 {
  font-size: 175%;
  line-height: 1.5em;
}

.c-text_03 {
  font-size: 150%;
  line-height: 1.75em;
}

.c-text_04 {
  font-size: 125%;
  line-height: 1.75em;
}

.c-text_05 {
  font-size: 112.5%;
  line-height: 2em;
}

.c-text_06 {
  font-size: 100%;
  line-height: 1.875em;
}

.c-text_07 {
  font-size: 87.5%;
  line-height: 1.75em;
}

.c-text_08 {
  font-size: 75%;
  line-height: 1.75em;
}

.c-textBlock p {
  margin-bottom: 1em;
}

.c-textInner {
  box-sizing: border-box;
  padding: 1em 1.5em;
}

/* icon
******************************************/
.c-icon {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  vertical-align: middle;
}

.c-icon {
  display: inline-block;
}

.c-icon img {
  vertical-align: text-top;
  vertical-align: middle;
}

.c-icon__arrow {
  width: 2em;
  height: 0.8em;
  transform: translateX(-20px);
  -webkit-transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
}

.c-icon__arrow img {
  vertical-align: top;
}

a:hover .c-icon__arrow {
  transform: translateX(0);
}

/* linkBtn textLink
******************************************/
.c-textLink a {
  color: #0071af;
  text-decoration: underline;
}

.c-linkBtn {
  display: inline-block;
  position: relative;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.c-linkBtn a {
  display: block;
  padding: 0.75em 1.5em;
  font-size: 100%;
  line-height: 1.5em;
  text-align: center;
  text-decoration: none;
  color: #000;
  background: none;
  border: 1px solid #000;
  min-width: 200px;
  box-sizing: border-box;
}

@media screen and (max-width: 1070px) {
  .c-linkBtn a {
    padding: 0.75em 2em;
    min-width: initial;
  }
}

@media screen and (min-width: 1071px) {

  .c-linkBtn.effect:before,
  .c-linkBtn.btn-white.effect:before {
    content: "";
    display: block;
    color: #FFF;
    background: #0070ae;
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  .c-linkBtn.effect a {
    position: relative;
    z-index: 2;
  }

  .c-linkBtn.effect a:hover,
  .c-linkBtn.btn-white.effect a:hover {
    background: none;
    color: #FFF;
    border-color: #0070ae;
  }

  .c-linkBtn:hover.effect:before {
    width: 100%;
  }
}

@media screen and (max-width: 1070px) {
  .c-btnWrap .c-linkBtn {
    margin-bottom: 1.5em;
  }

  .c-btnWrap li:last-child .c-linkBtn {
    margin-bottom: 0;
  }
}

/* playBtn
******************************************/
.c-playBtn {
  display: block;
  position: relative;
}

.c-playBtn:after {
  content: "";
  display: block;
  width: 3.75em;
  height: 3.75em;
  background: url("../images/icon_play.png") no-repeat center center rgba(255, 255, 255, 0.5);
  background-size: 100% 100%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

@media screen and (min-width: 1071px) {
  .c-playBtn:hover:after {
    background-color: rgba(213, 0, 28, 0.5);
  }
}

/* arrow
******************************************/
.c-arrow {
  position: relative;
}

.c-arrowRight {
  padding-right: 8em !important;
}

@media screen and (max-width: 1070px) {
  .c-arrowRight {
    padding-right: 5em !important;
  }
}

.c-arrowRight:after {
  content: "";
  display: block;
  width: 2em;
  height: 1.5em;
  background: url("../images/arrow_next.svg") no-repeat center center;
  background-position: 100% auto;
  background-size: auto 13px;
  position: absolute;
  top: 50%;
  right: 2em;
  transform: translateY(-50%);
  pointer-events: none;
}

@media screen and (max-width: 1070px) {
  .c-arrowRight:after {
    background-size: 100% auto;
  }
}

a.c-arrowRight:hover:after {
  -webkit-animation-name: arrowSlideR;
  animation-name: arrowSlideR;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}

@-webkit-keyframes arrowSlideR {
  0% {
    transform: translate(0, -50%);
  }

  10% {
    transform: translate(0, -50%);
  }

  100% {
    transform: translate(20px, -50%);
  }
}

@keyframes arrowSlideR {
  0% {
    transform: translate(0, -50%);
  }

  10% {
    transform: translate(0, -50%);
  }

  100% {
    transform: translate(20px, -50%);
  }
}

.c-arrowBack {
  padding-left: 6em !important;
}

@media screen and (max-width: 1070px) {
  .c-arrowBack {
    padding-left: 5em !important;
  }
}

.c-arrowBack:after {
  content: "";
  display: block;
  width: 2em;
  height: 1.5em;
  background: url("../images/arrow_prev.svg") no-repeat center center;
  background-position: 100% auto;
  background-size: auto 13px;
  position: absolute;
  top: 50%;
  left: 2em;
  transform: translateY(-50%);
  pointer-events: none;
}

@media screen and (max-width: 1070px) {
  .c-arrowBack:after {
    background-size: 100% auto;
  }
}

a.c-arrowBack:hover:after {
  -webkit-animation-name: arrowSlideL;
  animation-name: arrowSlideL;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}

@-webkit-keyframes arrowSlideL {
  0% {
    transform: translate(0, -50%);
  }

  10% {
    transform: translate(0, -50%);
  }

  100% {
    transform: translate(-20px, -50%);
  }
}

@keyframes arrowSlideL {
  0% {
    transform: translate(0, -50%);
  }

  10% {
    transform: translate(0, -50%);
  }

  100% {
    transform: translate(-20px, -50%);
  }
}

.c-arrowBlank {
  padding-right: 7em !important;
}

.c-arrowBlank:after {
  content: "";
  display: block;
  width: 1.2em;
  height: 1.2em;
  background: url("../images/icon_blank.svg") no-repeat center center;
  background-position: 100% auto;
  position: absolute;
  top: 50%;
  right: 2em;
  transform: translateY(-50%);
  pointer-events: none;
}

/* cropph
******************************************/
.c-cropPh {
  position: relative;
  overflow: hidden;
}

.c-cropPh img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.c-cropPh__mv {
  padding-top: 38.437%;
  /*1600:615*/
}

.c-cropPh__mv-low {
  padding-top: 28.571%;
  /*14:4*/
}

.c-cropPh__pic {
  padding-top: 66.666%;
  /*6:4*/
}

.c-cropPh__lead {
  padding-top: 57.142%;
  /*7:4*/
}

.c-cropPh__cap {
  padding-top: 56.25%;
  /*16:9*/
}

.c-cropPh__ban {
  padding-top: 50%;
  /*8:4*/
}

.c-bg__sankaku:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("../images/img_sankaku.svg") no-repeat top left;
  background-size: auto 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.c-yellowCushion {
  display: inline-block;
  padding: 0 2em;
  background: rgba(242, 193, 31, 0.5);
  border-radius: 2em;
}

.c-yellowMarker {
  display: inline;
  padding: 0 1.5em;
  background: linear-gradient(transparent 60%, #fcf3d2 60%);
}

.c-blueMarker {
  display: inline;
  background: linear-gradient(transparent 60%, #f3f8fd 60%);
}

.c-border_btm {
  border-bottom: 1px solid #c8c8c8;
}

/* badge
******************************************/
.c-badge {
  display: inline-block;
  padding: 0.5em 2em;
  border-radius: 2em;
}

.c-radius__025 {
  border-radius: 0.25em;
}

.c-radius__05 {
  border-radius: 0.5em;
}

.c-radius__1 {
  border-radius: 1em;
}

.c-radius__2 {
  border-radius: 2em;
}

.c-radius__br0 {
  border-bottom-right-radius: 0;
}

/* define
******************************************/
.c-define {
  position: relative;
}

.c-define dt {
  width: 16%;
  max-width: 150px;
  padding: 1em 0;
  box-sizing: border-box;
  border-bottom: 1px solid #c8c8c8;
}

@media screen and (max-width: 1070px) {
  .c-define dt {
    width: 100%;
    max-width: initial;
    padding: 0.5em;
    background-color: #eee;
  }
}

.c-define dd {
  width: 80%;
  padding: 1em 0;
  border-bottom: 1px solid #c8c8c8;
  margin-left: 5%;
  box-sizing: border-box;
}

@media screen and (max-width: 1070px) {
  .c-define dd {
    width: 100%;
    padding: 0.5em 0.5em 1em;
    margin: 0;
  }
}

/* tabs
******************************************/
.c-tabs {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  margin-bottom: 3em;
}

.c-tabs>* {
  display: block;
  padding: 0.55em 2em;
  font-size: 112.5%;
  line-height: 1.5em;
  text-align: center;
  text-decoration: none;
  color: #000;
  background: #FFF;
  min-width: 200px;
  box-sizing: border-box;
  border: 2px solid #f0f0f0;
  margin-right: 0.5em;
  cursor: pointer;
}

@media screen and (max-width: 1070px) {
  .c-tabs>* {
    padding: 0.6em 2em;
    min-width: initial;
  }
}

.c-tabs>*.is-active {
  border-color: #000;
}

.c-tabs>*.is-active:after {
  content: "";
  display: block;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 6px 0 6px;
  border-color: #000000 transparent transparent transparent;
  position: absolute;
  bottom: -1.2em;
  left: 50%;
  transform: translateX(-50%);
}

/****************************************************************************** utility

******************************************************************************/
/*** none ***/
.pcnone {
  display: none;
}

.spnone {
  display: block;
}

@media screen and (max-width: 1070px) {
  .tabnone {
    display: none;
  }

  .tabdisp {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .pcnone {
    display: block;
  }

  .spnone {
    display: none;
  }
}

/*** align ***/
.ar {
  text-align: right;
}

.al {
  text-align: left;
}

.ac {
  text-align: center;
}

.u-va__top {
  vertical-align: top !important;
}

.u-va__midd {
  vertical-align: middle !important;
}

/*** clearfix ***/
.cf:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}

.u-blue {
  color: #00508c !important;
}

.u-red {
  color: #D5001C !important;
}

.u-white {
  color: #FFF !important;
}

.u-black {
  color: #000 !important;
}

.u-bg__black {
  background: #000;
}

.u-bg__black *,
.u-bg__black a {
  color: #FFF;
}

@media screen and (min-width: 1071px) {
  .u-bg__black a:hover {
    color: #d5001c;
  }
}

.u-bg__gray {
  background: #202020;
}

.u-bg__gray *,
.u-bg__gray a {
  color: #FFF;
}

@media screen and (min-width: 1071px) {
  .u-bg__gray a:hover {
    color: #d5001c;
  }
}

.u-bg__light {
  background: #eeeeee;
}

.u-bg__white {
  background: #FFF;
}

.u-bg__blue {
  background: #0068b6;
}

.u-bg__l-blue {
  background-color: #e6f0fa;
}

.u-bg__logo-blue {
  background: url("/recruit/images/bg_cross_01.png") no-repeat top right #e6f0fa;
  background-size: auto 100%;
}

.u-bg__logo-color {
  background: url("/recruit/images/bg_cross_02.png") no-repeat top right #FFF;
  background-size: auto 100%;
}

.u-bg__frame {
  background: url("/recruit/images/img_frame.png") no-repeat center center;
  background-size: 100% 100%;
}

.u-lineh__14 {
  line-height: 1.4em !important;
}

.u-width__2em {
  width: 2em !important;
}

.u-width__3em {
  width: 3em !important;
}

.u-width__4em {
  width: 4em !important;
}

.u-max__1600 {
  max-width: 1600px;
}

.u-max__1200 {
  max-width: 1200px;
}

.u-max__1120 {
  max-width: 1120px;
}

.u-max__1070 {
  max-width: 1070px;
}

.u-max__940 {
  max-width: 940px;
}

.u-max__900 {
  max-width: 900px;
}

.u-max__840 {
  max-width: 840px;
}

.u-max__550 {
  max-width: 550px;
}

.u-max__500 {
  max-width: 500px;
}

.u-max__450 {
  max-width: 450px;
}

.u-max__400 {
  max-width: 400px;
}

.u-pd__025 {
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}

.u-pd__05 {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.u-pd__1 {
  padding-top: 1em;
  padding-bottom: 1em;
}

.u-pd__15 {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}

.u-pd__2 {
  padding-top: 2em;
  padding-bottom: 2em;
}

.u-pd__3 {
  padding-top: 3em;
  padding-bottom: 3em;
}

.u-pd__3125 {
  padding-top: 3.125em;
  padding-bottom: 3.125em;
}

.u-pd__375 {
  padding-top: 3.75em;
  padding-bottom: 3.75em;
}

.u-pd__5 {
  padding-top: 5em;
  padding-bottom: 5em;
}

.u-pt__0 {
  padding-top: 0 !important;
}
.u-pt__1 {
  padding-top: 1em;
}

.u-pt__2 {
  padding-top: 2em;
}

.u-pt__3 {
  padding-top: 3em;
}

.u-pt__375 {
  padding-top: 3.75em;
}

.u-pt__625 {
  padding-top: 6.25em;
}

.u-pl__1 {
  padding-left: 1em;
}

.u-pl__2 {
  padding-left: 2em;
}

.u-pr__1 {
  padding-right: 1em;
}

.u-pr__2 {
  padding-right: 2em;
}

.u-pb__1 {
  padding-bottom: 1em;
}

.u-pb__2 {
  padding-bottom: 2em;
}

.u-pb__25 {
  padding-bottom: 2.5em;
}

.u-pb__3 {
  padding-bottom: 3em;
}

.u-pb__375 {
  padding-bottom: 3.75em;
}

.u-pb__5 {
  padding-bottom: 5em;
}

.u-pb__6 {
  padding-bottom: 6em;
}

.u-pb__625 {
  padding-bottom: 6.25em;
}

.u-mb__0 {
  margin-bottom: 0 !important;
}

.u-mb__05 {
  margin-bottom: 0.5em !important;
}

.u-mb__1 {
  margin-bottom: 1em !important;
}

.u-mb__15 {
  margin-bottom: 1.5em !important;
}

.u-mb__2 {
  margin-bottom: 2em !important;
}

.u-mb__25 {
  margin-bottom: 2.5em !important;
}

.u-mb__3 {
  margin-bottom: 3em !important;
}

.u-mb__375 {
  margin-bottom: 3.75em !important;
}

.u-mb__4375 {
  margin-bottom: 4.375em !important;
}

.u-mb__5 {
  margin-bottom: 5em !important;
}

.u-mb__625 {
  margin-bottom: 6.25em !important;
}

.u-mb__75 {
  margin-bottom: 7.5em !important;
}

.u-mb__1125 {
  margin-bottom: 11.25em !important;
}

.u-ml__05 {
  margin-left: 0.5em;
}

.u-ml__1 {
  margin-left: 1em;
}

.u-ml__2 {
  margin-left: 2em;
}

.u-ml__3 {
  margin-left: 3em;
}

.u-mr__05 {
  margin-right: 0.5em;
}

.u-mr__1 {
  margin-right: 1em;
}

.u-mr__2 {
  margin-right: 2em;
}

.u-mr__3 {
  margin-right: 3em;
}

/*2302*/
.p-network .p-network__map {
  max-width: 732px;
  margin: 0 auto;
}