@charset "UTF-8";
/*
Theme Name: JBA Themes 2019
Theme URI: https://wordpress.org/themes/twentytwentytwo/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Built on a solidly designed foundation, Twenty Twenty-Two embraces the idea that everyone deserves a truly unique website. The theme’s subtle styles are inspired by the diversity and versatility of birds: its typography is lightweight yet strong, its color palette is drawn from nature, and its layout elements sit gently on the page. The true richness of Twenty Twenty-Two lies in its opportunity for customization. The theme is built to take advantage of the Site Editor features introduced in WordPress 5.9, which means that colors, typography, and the layout of every single page on your site can be customized to suit your vision. It also includes dozens of block patterns, opening the door to a wide range of professionally designed layouts in just a few clicks. Whether you’re building a single-page website, a blog, a business website, or a portfolio, Twenty Twenty-Two will help you create a site that is uniquely yours.
Requires at least: 5.9
Tested up to: 6.1
Requires PHP: 5.6
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentytwo
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, accessibility-ready

Twenty Twenty-Two WordPress Theme, (C) 2021 WordPress.org
Twenty Twenty-Two is distributed under the terms of the GNU GPL.
*/

/*
 * Font smoothing.
 * This is a niche setting that will not be available via Global Styles.
 * https://github.com/WordPress/gutenberg/issues/35934
 */

@import url("https://fonts.googleapis.com/css?family=Anton|Public+Sans&display=swap");
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/****** Elad Shechter's RESET *******/
/*** box sizing border-box for all elements ***/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
*::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

button {
  background-color: transparent;
  color: inherit;
  border-width: 0;
  padding: 0;
  cursor: pointer;
}

figure {
  margin: 0;
}

input::-moz-focus-inner {
  border: 0;
  padding: 0;
  margin: 0;
}

ul, ol, dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

p {
  margin: 0;
}

cite {
  font-style: normal;
}

fieldset {
  border-width: 0;
  padding: 0;
  margin: 0;
}

img {
  display: block;
}

html {
  font-size: 1px;
  /*for using REM units*/
}

body {
  direction: ltr;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Helvetica Neue", Arial;
  font-size: 16rem;
  font-weight: 400;
  line-height: 1.3;
  color: #102E41;
}

.anton {
  font-family: "Anton", sans-serif;
}

.sans {
  font-family: "Public Sans", sans-serif;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-y: scroll;
  overflow-x: hidden;
  font-size: 62.5%;
}

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

body {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Helvetica Neue", Arial;
  font-size: 1.4rem;
  color: #000;
  line-height: 1.5;
  overflow: hidden;
}
@media (max-width: 767px) {
  body:not(.lp-home) {
    //background: url(./assets/images/commons/header/header__bg--sp.svg) center top no-repeat;
    background-size: auto 45.3333333333vw;
  }
}
@media (min-width: 768px) {
  body:not(.lp-home) {
    //background: url(./assets/images/commons/header/header__bg--pc.svg) center top no-repeat;
    background-size: auto 300px;
  }
}

.wrapper {
  position: relative;
  width: 100%;
}
@media (min-width: 768px) {
  .wrapper {
    min-width: 1280px;
  }
}

a {
  text-decoration: none;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  /*
  &:link, &:visited {
    color: $color_red_main;
  }
  */
}

.main a {
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.main a img {
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.main a:hover, .main a:focus, .main a:hover {
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media (min-width: 768px) {
  .main a:hover, .main a:focus, .main a:hover img {
    opacity: 0.6;
    -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
  }
}

a:focus,
button:focus {
  outline: none;
}

ul, ol {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

hr {
  margin: 21.3333333333vw 0 13.3333333333vw;
  border: 1px dashed #B9B9B9;
}
@media (min-width: 768px) {
  hr {
    margin: 100px 0 80px;
  }
}

/*
CONTAINER
===================== */
@media (max-width: 767px) {
  .wsxs, .wssm {
    margin: 0 auto;
  }

  .wsxs {
    width: 89.3333%;
  }

  .wssm {
    width: 94.6666%;
  }
}
@media (min-width: 768px) {
  .wpxs, .wpsm, .wpmd, .wplg, .wpblog {
    margin: 0 auto;
  }

  .wpxs {
    width: 728px;
  }

  .wpsm {
    width: 910px;
  }

  .wpmd {
    width: 1000px;
  }

  .wplg {
    width: 1160px;
  }

  .wpblog {
    width: 700px;
  }
}
/*
DISP
===================== */
.visible-se, .visible-sp, .visible-pc {
  display: none !important;
}

@media (max-width: 340px) {
  .visible-se {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-sp {
    display: block !important;
  }
}
@media (min-width: 768px) {
  .visible-pc {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .hidden-sp {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .hidden-pc {
    display: none !important;
  }
}
/*
ATTRIBUTE
===================== */
.mT0 {
  margin-top: 0 !important;
}

.mB0 {
  margin-bottom: 0 !important;
}

.mT10 {
  margin-top: 2.6666666667vw !important;
}

.mT20 {
  margin-top: 5.3333333333vw !important;
}

.mT30 {
  margin-top: 8vw !important;
}

@media (min-width: 768px) {
  .mT10 {
    margin-top: 10px !important;
  }

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

  .mT30 {
    margin-top: 30px !important;
  }
}
.red {
  color: #FF0020 !important;
}

.b {
  font-weight: 700 !important;
}

/*
PAGETOP
===================== */
.pagetop {
  position: fixed;
  bottom: -10.6666666667vw;
  right: 2.1333333333vw;
  -webkit-transition-duration: 0.4s;
          transition-duration: 0.4s;
}
.pagetop a img {
  width: 10.6666666667vw;
  height: 10.6666666667vw;
}
.pagetop.isDispBtn {
  bottom: 16vw;
}
@media (min-width: 768px) {
  .pagetop {
    bottom: -60px;
    right: 32px;
  }
  .pagetop:hover {
    background-color: #000;
  }
  .pagetop a img {
    width: 56px;
    height: 56px;
  }
  .pagetop.isDispBtn {
    bottom: 120px;
  }
}

/*
TITLE
===================== */
.p-head {
  margin: 3.2vw auto 0;
  padding: 0 5.3333333333vw;
  height: 17.6vw;
}
.p-head .page__ttl {
  font-size: 28px;
  font-size: 7.4666666667vw;
  font-weight: 700;
  color: #000;
  text-align: center;
}
@media (min-width: 768px) {
  .p-head {
    margin: 0 auto 15px;
    padding: 0;
    width: 100%;
    height: 175px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-head .page__ttl {
    font-size: 5rem;
  }
}

.contents__ttl {
  margin: 6.4vw auto;
  padding-bottom: 6.9333333333vw;
  font-size: 18px;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  background: url(./assets/images/commons/icons/ico__contents-ttl.svg) center bottom no-repeat;
  background-size: 8vw 2.1333333333vw;
}
@media (min-width: 768px) {
  .contents__ttl {
    margin: 56px auto 80px;
    padding-bottom: 36px;
    font-size: 3.2rem;
    background-size: 30px 10px;
  }
}

/*
BREADCRUMB
===================== */
.breadcrumb__list {
  padding: 4.2666666667vw 0 0;
  font-size: 14px;
  font-size: 3.7333333333vw;
}
.breadcrumb__list--item {
  display: inline;
}
.breadcrumb__list--item:after {
  content: " > ";
  font-size: 14px;
  font-size: 3.7333333333vw;
}
.breadcrumb__list--item:last-child:after {
  content: "";
}
@media (min-width: 768px) {
  .breadcrumb__list {
    padding: 20px 0 0;
    font-size: 1.8rem;
  }
  .breadcrumb__list--item:after {
    font-size: 1.8rem;
  }
}

/*
PAGER
===================== */
.pager {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pager__prev i, .pager__next i {
  display: block;
  width: 9.0666666667vw;
  height: 9.0666666667vw;
  background-position: center center;
  background-repeat: no-repeat;
}
.pager__prev a, .pager__next a {
  display: block;
  width: 9.0666666667vw;
  height: 9.0666666667vw;
}
.pager__prev a:hover, .pager__next a:hover {
  opacity: 1;
}
.pager__prev i {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0.5))), url(./assets/images/commons/icons/ico__pager--prev.svg);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(./assets/images/commons/icons/ico__pager--prev.svg);
  background-size: 9.0666666667vw 9.0666666667vw;
}
.pager__prev a:hover i {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0))), url(./assets/images/commons/icons/ico__pager--prev.svg);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), url(./assets/images/commons/icons/ico__pager--prev.svg);
  background-size: 9.0666666667vw 9.0666666667vw;
}
.pager__next i {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0.5))), url(./assets/images/commons/icons/ico__pager--next.svg);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(./assets/images/commons/icons/ico__pager--next.svg);
  background-size: 9.0666666667vw 9.0666666667vw;
}
.pager__next a:hover i {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0))), url(./assets/images/commons/icons/ico__pager--next.svg);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), url(./assets/images/commons/icons/ico__pager--next.svg);
  background-size: 9.0666666667vw 9.0666666667vw;
}
.pager__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.pager__list--item {
  padding: 0 1.8666666667vw;
}
.pager__list--item a {
  display: block;
  border: 0.2666666667vw solid #000;
  width: 8.5333333333vw;
  font-family: "Anton", sans-serif;
  font-size: 18px;
  font-size: 4.8vw;
  text-align: center;
  line-height: 8.5333333333vw;
}
.pager__list--item a.current {
  color: #fff;
  background-color: #000;
}
.pager__list--item.continue {
  padding: 0;
}
.pager__list--item.continue i {
  display: block;
  width: 4.5333333333vw;
  height: 8.5333333333vw;
  background: url(./assets/images/commons/icons/ico__pager--continue.svg) center center no-repeat;
  background-size: 4.5333333333vw 9.0666666667vw;
}
@media (min-width: 768px) {
  .pager__prev i, .pager__next i {
    width: 34px;
    height: 34px;
  }
  .pager__prev a, .pager__next a {
    width: 34px;
    height: 34px;
  }
  .pager__prev i {
    background-size: 34px 34px;
  }
  .pager__prev a:hover i {
    background-size: 34px 34px;
  }
  .pager__next i {
    background-size: 34px 34px;
  }
  .pager__next a:hover i {
    background-size: 34px 34px;
  }
  .pager__list--item {
    padding: 0 5px;
  }
  .pager__list--item a {
    border: 1px solid #000;
    width: 34px;
    padding-top: 1px;
    font-size: 1.8rem;
    line-height: 32px;
  }
  .pager__list--item.continue {
    padding: 0;
  }
  .pager__list--item.continue i {
    width: 17px;
    height: 33px;
    background: url(./assets/images/commons/icons/ico__pager--continue.svg) center center no-repeat;
    background-size: 17px 34px;
  }
}
.pager__3line {
  margin: 0 auto;
  width: 88%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Anton", sans-serif;
  font-size: 16px;
  font-size: 4.2666666667vw;
}
.pager__3line li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-repeat: no-repeat;
}
.pager__3line--home {
  border: 1px solid #000;
}
.pager__3line--home a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 5.3333333333vw;
  height: 10.1333333333vw;
}
.pager__3line--prev, .pager__3line--next {
  display: block;
  color: #B9B9B9;
}
.pager__3line--prev a, .pager__3line--next a {
  color: #000;
}
.pager__3line--prev {
  padding-left: 6.4vw;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0.5))), url(./assets/images/commons/icons/ico__pager--prev.svg);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(./assets/images/commons/icons/ico__pager--prev.svg);
  background-size: 9.0666666667vw 9.0666666667vw;
  background-position: left center;
}
.pager__3line--next {
  padding-right: 6.4vw;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0.5))), url(./assets/images/commons/icons/ico__pager--next.svg);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(./assets/images/commons/icons/ico__pager--next.svg);
  background-size: 9.0666666667vw 9.0666666667vw;
  background-position: right center;
}
@media (min-width: 768px) {
  .pager__3line {
    font-size: 2.4rem;
  }
  .pager__3line--home a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1px 30px 0;
    height: 48px;
  }
  .pager__3line--prev, .pager__3line--next {
    padding-top: 1px;
  }
  .pager__3line--prev {
    padding-left: 40px;
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0.5))), url(./assets/images/commons/icons/ico__pager--prev.svg);
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(./assets/images/commons/icons/ico__pager--prev.svg);
    background-size: 38px;
  }
  .pager__3line--next {
    padding-right: 40px;
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0.5))), url(./assets/images/commons/icons/ico__pager--next.svg);
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(./assets/images/commons/icons/ico__pager--next.svg);
    background-size: 38px;
  }
}

/*
LIST
===================== */
.cmn__list {
  margin-left: 2rem;
  font-size: 14px;
  font-size: 3.7333333333vw;
}
.cmn__list--item {
  margin-top: 2.1333333333vw;
}
.cmn__list a {
  font-weight: 700;
  color: #FF0020;
  text-decoration: underline;
}

ol.cmn__list {
  list-style-type: decimal;
}

ul.cmn__list {
  list-style-type: disc;
}

@media (min-width: 768px) {
  .cmn__list {
    font-size: 1.4rem;
  }
  .cmn__list--item {
    margin-top: 12px;
  }
}
/*
DL
===================== */
.cmn__def {
  width: 100%;
}
.cmn__def small {
  display: block;
  margin-top: 1.0666666667vw;
  line-height: 1.5;
}
.cmn__def a {
  font-weight: 700;
  color: #FF0020;
  text-decoration: underline;
}
.cmn__def--ttl {
  margin-bottom: 1.0666666667vw;
  font-size: 18px;
  font-size: 4.8vw;
  font-weight: 700;
  color: #FF0020;
}
.cmn__def--data {
  margin-bottom: 6.4vw;
}

.cmn-detail__def {
  padding: 2.1333333333vw 0 3.2vw;
}
.cmn-detail__def--ttl {
  margin-top: 1.0666666667vw;
  font-weight: 700;
}
.cmn-detail__def--data {
  margin-top: 0.5333333333vw;
  padding-left: 2rem;
  text-align: justify;
  text-justify: inter-ideograph;
}

@media (min-width: 768px) {
  .cmn__def {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .cmn__def small {
    margin-top: 8px;
  }
  .cmn__def--ttl {
    width: 296px;
    margin-bottom: 48px;
    font-size: 1.8rem;
    text-align: right;
  }
  .cmn__def--data {
    width: 825px;
    padding-top: 2px;
    margin-bottom: 48px;
    line-height: 1.8;
  }

  .cmn-detail__def {
    padding: 0 0 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .cmn-detail__def--ttl {
    margin-top: 0;
    margin-bottom: 10px;
  }
  .cmn-detail__def--data {
    margin-top: 0;
    margin-bottom: 10px;
  }

  .dt--short .cmn-detail__def--ttl {
    width: 12%;
  }
  .dt--short .cmn-detail__def--data {
    width: 88%;
  }

  .dt--normal .cmn-detail__def--ttl {
    width: 25%;
  }
  .dt--normal .cmn-detail__def--data {
    width: 75%;
  }

  .dt--long .cmn-detail__def--ttl {
    width: 36%;
  }
  .dt--long .cmn-detail__def--data {
    width: 64%;
  }
}
/*
スイッチ
===================== */
.cnts-switch {
  margin-top: 10.6666666667vw;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.cnts-switch__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.cnts-switch__item a {
  display: block;
  border: 0.8vw solid #D9D9D9;
  text-align: center;
  background-color: #D9D9D9;
  -webkit-transform: skewX(-16deg);
          transform: skewX(-16deg);
}
.cnts-switch__item a span {
  display: block;
  font-size: 24px;
  font-size: 6.4vw;
  font-weight: 700;
  color: #fff;
  line-height: 12.8vw;
  -webkit-transform: skewX(16deg);
          transform: skewX(16deg);
}
.cnts-switch__item a.current {
  border-color: #FF0020;
  background-color: #fff;
}
.cnts-switch__item a.current span {
  color: #FF0020;
}
.cnts-switch__item a.current:hover {
  opacity: 1;
  cursor: default;
}
@media (min-width: 768px) {
  .cnts-switch {
    margin-top: 60px;
  }
  .cnts-switch__item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .cnts-switch__item a {
    border: 4px solid #D9D9D9;
  }
  .cnts-switch__item a span {
    font-size: 3.4rem;
    line-height: 62px;
  }
}

/*
BLOG
===================== */
.blog .pager {
  margin-top: 13.3333333333vw;
}
.blog__ttl {
  margin: 8.5333333333vw 0 0;
  font-size: 18px;
  font-size: 4.8vw;
  font-weight: 700;
}
.blog__date {
  margin: 1.0666666667vw 0 0;
  font-size: 14px;
  font-size: 3.7333333333vw;
  color: #8A8A8A;
}
.blog .inner img {
  max-width: 100%;
  height: auto;
}
.blog .inner p, .blog .inner figure, .blog .inner h4 {
  margin-top: 8vw;
}
.blog .inner p {
  font-size: 14px;
  font-size: 3.7333333333vw;
  line-height: 1.8;
  text-align: justify;
  text-justify: inter-ideograph;
}
.blog .inner h4 {
  font-size: 14px;
  font-size: 3.7333333333vw;
  font-weight: 700;
  text-decoration: underline;
}
.blog .inner ul {
  margin-left: 6.4vw;
  list-style-type: disc;
}
.blog .inner ol {
  margin-left: 6.4vw;
  list-style-type: decimal;
}
.blog figure img {
  width: 100%;
  height: auto;
}
.blog figure figcaption {
  padding-top: 1.0666666667vw;
  font-size: 11px;
  font-size: 2.9333333333vw;
  line-height: 1.3;
  text-align: center;
}
.blog figure.float__left, .blog figure.float__right {
  padding-bottom: 1.6vw;
  width: 48%;
}
.blog figure.float__left {
  float: left;
  margin-right: 4.2666666667vw;
}
.blog figure.float__left figcaption {
  text-align: left;
}
.blog figure.float__right {
  float: right;
  margin-left: 4.2666666667vw;
}
.blog figure.float__right figcaption {
  text-align: right;
}
@media (min-width: 768px) {
  .blog .pager {
    margin-top: 80px;
  }
  .blog__ttl {
    margin: 56px 0 0;
    font-size: 2.8rem;
  }
  .blog__date {
    margin: 12px 0 0;
    font-size: 1.6rem;
  }
  .blog .inner p, .blog .inner figure {
    margin-top: 48px;
  }
  .blog .inner p {
    font-size: 1.4rem;
    line-height: 2;
  }
  .blog .inner h4 {
    margin-top: 48px;
    font-size: 1.8rem;
  }
  .blog .inner ul {
    margin-left: 32px;
  }
  .blog .inner ol {
    margin-left: 32px;
  }
  .blog figure figcaption {
    padding-top: 12px;
    font-size: 1.2rem;
  }
  .blog figure.float__left, .blog figure.float__right {
    padding-bottom: 24px;
  }
  .blog figure.float__left {
    margin-right: 40px;
  }
  .blog figure.float__right {
    margin-left: 40px;
  }
}

/*
REPORT_LIST
===================== */
.report__list {
  padding-bottom: 13.3333333333vw;
  width: 100%;
}
.report__list--item {
  margin-bottom: 5.3333333333vw;
}
.report__list--item:last-child {
  margin-bottom: 0;
}
.report__list--item a {
  display: block;
  border: 0.2666666667vw solid #8A8A8A;
}
.report__list--item a .photo {
  position: relative;
  width: 100%;
  height: 59.2vw;
  overflow: hidden;
}
.report__list--item a img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.report__list--item a .inner {
  padding: 5.3333333333vw 5.3333333333vw 4.8vw;
}
.report__list--item a .inner .date {
  font-size: 12px;
  font-size: 3.2vw;
  color: #BABBBA;
  line-height: 1.1;
}
.report__list--item a .inner .title {
  margin: 1.6vw 0;
  font-size: 18px;
  font-size: 4.8vw;
  font-weight: 700;
  height: 11.7333333333vw;
  line-height: 5.8666666667vw;
  overflow: hidden;
}
.report__list--item a .inner .lead {
  font-size: 14px;
  font-size: 3.7333333333vw;
  text-align: justify;
  text-justify: inter-ideograph;
  height: 16vw;
  line-height: 5.3333333333vw;
  overflow: hidden;
}
@media (min-width: 768px) {
  .report__list {
    padding-bottom: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .report__list--item {
    margin: 0 30px 30px 0;
    width: 366.6666px;
  }
  .report__list--item:nth-child(3n) {
    margin-right: 0;
  }
  .report__list--item a {
    border: 1px solid #8A8A8A;
  }
  .report__list--item a .photo {
    width: 100%;
    height: 240px;
  }
  .report__list--item a img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: auto;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .report__list--item a .inner {
    padding: 18px 22px;
  }
  .report__list--item a .inner .date {
    font-size: 1.4rem;
  }
  .report__list--item a .inner .title {
    margin: 12px 0;
    font-size: 2rem;
    height: 60px;
    line-height: 30px;
    overflow: hidden;
  }
  .report__list--item a .inner .lead {
    font-size: 1.4rem;
    height: 63px;
    line-height: 21px;
  }
}

/* 非表示 */
.is-conceal {
  display: none;
}

/* ローディング画面をフェードアウト */
.fadeout-bg {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
  -webkit-transition-duration: 0.9s;
          transition-duration: 0.9s;
  opacity: 0;
  pointer-events: none;
}

/* ローダーをフェードアウト */
.fadeout-loader {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  opacity: 0;
  pointer-events: none;
}

/* ローディング画面 */
#loader-bg {
  background: #ffffff;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

#loader {
  height: 120px;
  left: 50%;
  margin-left: -60px;
  margin-top: -60px;
  position: fixed;
  top: 50%;
  width: 120px;
}
#loader p {
  padding: 90px 0 0;
  color: #454545;
  font-size: 10px;
  line-height: 1.4;
  text-align: center;
  background: url(./assets/images/commons/loading.gif) center top no-repeat;
  background-size: 80px 80px;
}

@media (max-width: 767px) {
  .header {
    position: relative;
  }
  .header__logo {
    position: relative;
    z-index: 5;
    padding: 2.6666666667vw 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .header__logo h1 img {
    width: auto;
    height: 19.2vw;
  }
  .header .hamburger {
    display: block;
    margin-top: 2.1333333333vw;
    width: 9.0666666667vw;
    height: 12.2666666667vw;
    background: url(./assets/images/commons/header/header__hamburger--open.svg) 0 0 no-repeat;
    background-size: 9.0666666667vw 12.2666666667vw;
  }
  .open-nav .header .hamburger {
    background: url(./assets/images/commons/header/header__hamburger--close.svg) 0 0 no-repeat;
    background-size: 9.0666666667vw 12.2666666667vw;
  }

  .nav {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    z-index: 4;
    top: 110vh;
    left: 0;
    width: 100%;
    padding: 26.6666666667vw 5.3333333333vw 5.3333333333vw;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #2E0609), color-stop(88%, #E00316), to(transparent));
    background: linear-gradient(to top, #2E0609 0, #E00316 88%, transparent);
  }
  .nav__list {
    border-top: 1px solid #000;
    width: 100%;
    color: #fff;
  }
  .nav__list--item {
    border-bottom: 1px solid #000;
    padding: 2.1333333333vw 0 1.8666666667vw;
    font-size: 11px;
    font-size: 2.9333333333vw;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
  }
  .nav__list--item .link__main {
    display: block;
  }
  .nav__list--item span {
    display: block;
    font-size: 20px;
    font-size: 5.3333333333vw;
    font-weight: 400;
    line-height: 1.1;
    vertical-align: -0.8vw;
  }
  .nav__list--item .link__parent {
    background: url(./assets/images/commons/icons/ico__nav--parent-open.svg) right center no-repeat;
    background-size: 8.8vw 4vw;
  }
  .nav__list--item .link__parent.is-open {
    background: url(./assets/images/commons/icons/ico__nav--parent-close.svg) right center no-repeat;
    background-size: 8.8vw 4vw;
  }
  .nav__list--item:last-child {
    background: url(./assets/images/commons/icons/ico__ticket--white.svg) 70% center no-repeat;
    background-size: 8.5333333333vw auto;
  }
  .nav__list--item .child__list {
    display: none;
    margin: 0 auto;
    padding-top: 2.1333333333vw;
  }
  .nav__list--item .child__list--item .link__sub {
    margin: 2.6666666667vw auto;
    display: block;
    width: 56%;
    padding: 4.2666666667vw 0;
    background-color: #260406;
    -webkit-transform: skewX(-16deg);
            transform: skewX(-16deg);
  }
  .nav__list--item .child__list--item .link__sub small {
    display: block;
    font-size: 13px;
    font-size: 3.4666666667vw;
    font-weight: 700;
    -webkit-transform: skewX(16deg);
            transform: skewX(16deg);
  }
  .open-nav .nav {
    visibility: visible;
    top: 0;
    opacity: 1;
    -webkit-transition-duration: 0.5s;
            transition-duration: 0.5s;
  }
}
@media (min-width: 768px) {
  .header {
    margin: 0 auto;
    width: 1220px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .header__logo {
    margin-left: 32px;
    width: 195px;
    padding: 14px 0 0;
  }
  .header__logo h1 a img {
    width: 100%;
    height: auto;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s;
  }
  .header__logo h1 a:hover img {
    opacity: 0.7;
  }

  .nav {
    width: 960px;
  }
  .nav__inner {
    height: 110px;
    padding: 0 32px;
    background-color: #000;
    -webkit-transform: skewX(-16deg);
            transform: skewX(-16deg);
    overflow: visible;
  }
  .nav__list {
    margin: 0 auto;
    width: 100%;
    height: 110px;
    -webkit-transform: skewX(16deg);
            transform: skewX(16deg);
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .nav__list--item {
    position: relative;
    font-size: 1.3rem;
    text-align: center;
  }
  .nav__list--item .link__main, .nav__list--item .link__parent {
    display: block;
    padding: 28px 0 0;
  }
  .nav__list--item .link__parent:hover {
    cursor: default;
  }
  .nav__list--item.nav-about:hover {
    opacity: 1;
  }
  .nav__list--item:hover {
    opacity: 0.7;
  }
  .nav__list--item span {
    display: block;
    font-size: 2.2rem;
  }
  .nav__list--item.current {
    background: url(./assets/images/commons/header/header__nav--border.svg) bottom left repeat-x;
    background-size: 54px 8px;
    opacity: 1;
  }
  .nav__list--item.current a:hover {
    cursor: default;
  }
  .nav__list--item:last-child {
    margin: 22px 0;
    width: 160px;
    //background-color: #fff;
    -webkit-transform: skewX(-16deg);
            transform: skewX(-16deg);
  }
  .nav__list--item:last-child .link__main {
    height: 66px;
    padding: 10px 0 0 64px;
    font-size: 1.4rem;
    color: #000;
    line-height: 1.2;
    -webkit-transform: skewX(16deg);
            transform: skewX(16deg);
    //background: url(./assets/images/commons//icons/ico__ticket.svg) 16px center no-repeat;
    background-size: 44px;
  }
  .nav__list--item:last-child .link__main span {
    font-size: 2.4rem;
  }
  .nav__list .nav__list--item.nav-about:hover .child__list {
    display: block !important;
  }
  .nav__list .child__list {
    display: none;
    position: absolute;
    top: 102px;
    left: 0;
    padding-top: 8px;
    width: 200px;
    background: url(./assets/images/commons/header/header__nav--border.svg) 0 0 #000 no-repeat;
    background-size: 54px 8px;
  }
  .nav__list .child__list--item {
    border-bottom: 1px solid #8A8A8A;
  }
  .nav__list .child__list--item:last-child {
    border-bottom: none;
  }
  .nav__list .child__list--item .link__sub {
    display: block;
    padding: 0 0 0 36px;
    width: 200px;
    font-size: 1.6rem;
    text-align: left;
    line-height: 48px;
    -webkit-transition-duration: 0s;
            transition-duration: 0s;
  }
  .nav__list .child__list--item .link__sub:hover {
    cursor: pointer;
    background: url(./assets/images/commons/icons/ico__triangle--right.svg) 16px center #3E3E3E no-repeat;
    background-size: 8px;
  }
}
.footer {
  margin-top: 32vw;
  text-align: center;
  /* SNS */
  /* COPYRIGHT */
}
.footer .inner__sns {
  padding: 8vw 0;
  background-color: #565656;
}
.footer .inner__sns .sns__def {
  margin: 0 auto;
  width: 74.4%;
}
.footer .inner__sns .sns__def--ttl {
  font-size: 20px;
  font-size: 5.3333333333vw;
  color: #fff;
}
.footer .inner__sns .sns__def--data {
  margin-top: 6.4vw;
}
.footer .inner__sns .sns__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.footer .inner__sns .sns__list--item a img {
  width: 10.6666666667vw;
  height: 10.6666666667vw;
}
.footer .inner__copyright {
  padding: 8vw 0 21.3333333333vw;
  background-color: #000;
}
.footer .inner__copyright p {
  font-size: 10px;
  font-size: 2.6666666667vw;
  font-weight: 700;
  color: #fff;
}
@media (min-width: 768px) {
  .footer {
    margin-top: 120px;
    /* SNS */
    /* COPYRIGHT */
  }
  .footer .inner__sns {
    padding: 36px 0 40px;
  }
  .footer .inner__sns .sns__def {
    width: 326px;
  }
  .footer .inner__sns .sns__def--ttl {
    font-size: 2.4rem;
  }
  .footer .inner__sns .sns__def--data {
    margin-top: 24px;
  }
  .footer .inner__sns .sns__list--item a img {
    width: 52px;
    height: 52px;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s;
  }
  .footer .inner__sns .sns__list--item a:hover img {
    opacity: 0.7;
  }
  .footer .inner__copyright {
    padding: 36px 0 120px;
  }
  .footer .inner__copyright p {
    font-size: 1.2rem;
  }
}

.fixed-footer {
  position: fixed;
  bottom: -56px;
  width: 100%;
  z-index: 10;
  background: rgba(0, 0, 0, 0.8);
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
}
.fixed-footer.is-show {
  bottom: 0;
}
.fixed-footer .wrapper {
  width: 100%;
  height: 52px;
}
.fixed-footer .inner a {
  display: block;
  width: 100%;
  background-color: #e60012;
}
.fixed-footer .inner a img {
  margin: 0 auto;
  width: 200px;
  height: 52px;
}

@media (min-width: 768px) {
  .fixed-footer {
    bottom: -104px;
  }
  .fixed-footer .wrapper {
    padding: 20px 0;
    height: auto;
  }
  .fixed-footer .inner a {
    margin: 0 auto;
    width: 400px;
    background-color: none;
  }
  .fixed-footer .inner a img {
    margin: 0 auto;
    width: 400px;
    height: 60px;
  }
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

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

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

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