@charset "UTF-8";
/*base */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none;
  letter-spacing: -.4em; }

li {
  letter-spacing: normal; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* font */
/*---------------------------------------------------------------------------*\
    Setting - Breakpoint
\*---------------------------------------------------------------------------*/
/* ================================================================================
init
================================================================================ */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

@font-face {}html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%; }

body {
  color: #333;
  font-size: 1.6rem;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo", "MS PGothic", sans-serif;
  line-height: 1.625; }

h1, h2, h3, h4, h5, h6, p {
  margin: 0; }

ul, ol, li, dl, dd {
  margin: 0;
  padding: 0;
  list-style-type: none; }

a, a:visited {
  color: #404040;
  text-decoration: none;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }

a:hover, a:active {
  color: #404040;
  text-decoration: none; }

a {
  display: block; }

img,
svg {
  display: block;
  vertical-align: bottom;
  width: 100%; }

svg {
  fill: currentColor; }

@media only screen and (max-width: 640px) {
  img {
    display: block;
    width: 100%;
    height: auto; } }

input[type="text"],
input[type="tel"],
input[type="email"],
select,
textarea {
  padding: 4px 10px;
  border: 1px solid #ddd;
  -webkit-border-radius: 4px;
  border-radius: 4px; }

.u-align-left {
  display: block !important;
  margin-left: 0 !important;
  margin-right: auto !important; }

.u-align-center {
  display: block !important;
  margin-right: auto !important;
  margin-left: auto !important; }

.u-align-right {
  display: block !important;
  margin-left: auto !important;
  margin-right: 0 !important; }

.u-tcenter {
  text-align: center; }

.u-tright {
  text-align: right; }

.u-tleft {
  text-align: left; }

.u-full {
  width: 100%;
  max-width: 100%; }

.u-indent {
  text-indent: -1em;
  margin-left: 1em; }

.display-block {
  display: block; }

.hidden {
  display: none !important;
  visibility: hidden; }

.clearfix:before, .clearfix:after {
  content: "";
  display: table; }

.clearfix:after {
  clear: both; }

.clear {
  clear: both; }

.u-inline {
  display: inline; }

.u-inline-block {
  display: inline-block; }

.u-note {
  font-size: 14px;
  font-size: 0.875rem; }

.nowrap {
  white-space: nowrap; }

.u-mb {
  margin-bottom: 30px; }

.u-mb-small {
  margin-bottom: 20px; }

.u-mb-large {
  margin-bottom: 40px; }

.u-hover {
  -webkit-transition: all .3s ease-out;
  -o-transition: all .3s ease-out;
  transition: all .3s ease-out; }

.android .u-space-ua {
  letter-spacing: 0.3em; }
  .android .u-space-ua--sm {
    letter-spacing: 0.2em; }

.u-fw-normal {
  font-weight: normal !important; }

.u-fw-bold {
  font-weight: bold !important; }

.u-italic {
  font-style: italic !important; }

.u-underline {
  text-decoration: underline !important; }

.u-sup,
.u-sub {
  font-size: 75% !important;
  position: relative !important; }

.u-sup {
  vertical-align: top !important;
  top: -.1em !important; }

.u-sub {
  vertical-align: bottom !important; }

/* font
-------------------------------*/
.u-bold {
  font-weight: 700; }

.u-font-space {
  letter-spacing: 0.6em; }

/* margin
-------------------------------*/
.u-mr0 {
  margin-right: 0px !important; }

.u-mr5 {
  margin-right: 5px !important; }

.u-mr10 {
  margin-right: 10px !important; }

.u-mr15 {
  margin-right: 15px !important; }

.u-mr20 {
  margin-right: 20px !important; }

.u-mr25 {
  margin-right: 25px !important; }

.u-mr30 {
  margin-right: 30px !important; }

.u-mr35 {
  margin-right: 35px !important; }

.u-mr40 {
  margin-right: 40px !important; }

.u-mr45 {
  margin-right: 45px !important; }

.u-mr50 {
  margin-right: 50px !important; }

.u-mr55 {
  margin-right: 55px !important; }

.u-mr60 {
  margin-right: 60px !important; }

.u-mr65 {
  margin-right: 65px !important; }

.u-mr70 {
  margin-right: 70px !important; }

.u-mr75 {
  margin-right: 75px !important; }

.u-mr80 {
  margin-right: 80px !important; }

.u-mr85 {
  margin-right: 85px !important; }

.u-mr90 {
  margin-right: 90px !important; }

.u-mr95 {
  margin-right: 95px !important; }

.u-mr100 {
  margin-right: 100px !important; }

.u-mr110 {
  margin-right: 110px !important; }

.u-mr120 {
  margin-right: 120px !important; }

.u-mr130 {
  margin-right: 130px !important; }

.u-mr140 {
  margin-right: 140px !important; }

.u-mr150 {
  margin-right: 150px !important; }

.u-mr160 {
  margin-right: 160px !important; }

.u-mr170 {
  margin-right: 170px !important; }

.u-mr180 {
  margin-right: 180px !important; }

.u-mr190 {
  margin-right: 190px !important; }

.u-mr200 {
  margin-right: 200px !important; }

.u-mb0 {
  margin-bottom: 0px !important; }

.u-mb5 {
  margin-bottom: 5px !important; }

.u-mb10 {
  margin-bottom: 10px !important; }

.u-mb15 {
  margin-bottom: 15px !important; }

.u-mb20 {
  margin-bottom: 20px !important; }

.u-mb25 {
  margin-bottom: 25px !important; }

.u-mb30 {
  margin-bottom: 30px !important; }

.u-mb35 {
  margin-bottom: 35px !important; }

.u-mb40 {
  margin-bottom: 40px !important; }

.u-mb45 {
  margin-bottom: 45px !important; }

.u-mb50 {
  margin-bottom: 50px !important; }

.u-mb55 {
  margin-bottom: 55px !important; }

.u-mb60 {
  margin-bottom: 60px !important; }

.u-mb65 {
  margin-bottom: 65px !important; }

.u-mb70 {
  margin-bottom: 70px !important; }

.u-mb75 {
  margin-bottom: 75px !important; }

.u-mb80 {
  margin-bottom: 80px !important; }

.u-mb85 {
  margin-bottom: 85px !important; }

.u-mb90 {
  margin-bottom: 90px !important; }

.u-mb95 {
  margin-bottom: 95px !important; }

.u-mb100 {
  margin-bottom: 100px !important; }

.u-mb110 {
  margin-bottom: 110px !important; }

.u-mb120 {
  margin-bottom: 120px !important; }

.u-mb130 {
  margin-bottom: 130px !important; }

.u-mb140 {
  margin-bottom: 140px !important; }

.u-mb150 {
  margin-bottom: 150px !important; }

.u-mb160 {
  margin-bottom: 160px !important; }

.u-mb170 {
  margin-bottom: 170px !important; }

.u-mb180 {
  margin-bottom: 180px !important; }

.u-mb190 {
  margin-bottom: 190px !important; }

.u-mb200 {
  margin-bottom: 200px !important; }

.u-mt0 {
  margin-top: 0px !important; }

.u-mt5 {
  margin-top: 5px !important; }

.u-mt10 {
  margin-top: 10px !important; }

.u-mt15 {
  margin-top: 15px !important; }

.u-mt20 {
  margin-top: 20px !important; }

.u-mt25 {
  margin-top: 25px !important; }

.u-mt30 {
  margin-top: 30px !important; }

.u-mt35 {
  margin-top: 35px !important; }

.u-mt40 {
  margin-top: 40px !important; }

.u-mt45 {
  margin-top: 45px !important; }

.u-mt50 {
  margin-top: 50px !important; }

.u-mt55 {
  margin-top: 55px !important; }

.u-mt60 {
  margin-top: 60px !important; }

.u-mt65 {
  margin-top: 65px !important; }

.u-mt70 {
  margin-top: 70px !important; }

.u-mt75 {
  margin-top: 75px !important; }

.u-mt80 {
  margin-top: 80px !important; }

.u-mt85 {
  margin-top: 85px !important; }

.u-mt90 {
  margin-top: 90px !important; }

.u-mt95 {
  margin-top: 95px !important; }

.u-mt100 {
  margin-top: 100px !important; }

.u-mt110 {
  margin-top: 110px !important; }

.u-mt120 {
  margin-top: 120px !important; }

.u-mt130 {
  margin-top: 130px !important; }

.u-mt140 {
  margin-top: 140px !important; }

.u-mt150 {
  margin-top: 150px !important; }

.u-mt160 {
  margin-top: 160px !important; }

.u-mt170 {
  margin-top: 170px !important; }

.u-mt180 {
  margin-top: 180px !important; }

.u-mt190 {
  margin-top: 190px !important; }

.u-mt200 {
  margin-top: 200px !important; }

.u-pb0 {
  padding-bottom: 0px !important; }

.u-pb5 {
  padding-bottom: 5px !important; }

.u-pb10 {
  padding-bottom: 10px !important; }

.u-pb15 {
  padding-bottom: 15px !important; }

.u-pb20 {
  padding-bottom: 20px !important; }

.u-pb25 {
  padding-bottom: 25px !important; }

.u-pb30 {
  padding-bottom: 30px !important; }

.u-pb35 {
  padding-bottom: 35px !important; }

.u-pb40 {
  padding-bottom: 40px !important; }

.u-pb45 {
  padding-bottom: 45px !important; }

.u-pb50 {
  padding-bottom: 50px !important; }

.u-pb55 {
  padding-bottom: 55px !important; }

.u-pb60 {
  padding-bottom: 60px !important; }

.u-pb65 {
  padding-bottom: 65px !important; }

.u-pb70 {
  padding-bottom: 70px !important; }

.u-pb75 {
  padding-bottom: 75px !important; }

.u-pb80 {
  padding-bottom: 80px !important; }

.u-pb85 {
  padding-bottom: 85px !important; }

.u-pb90 {
  padding-bottom: 90px !important; }

.u-pb95 {
  padding-bottom: 95px !important; }

.u-pb100 {
  padding-bottom: 100px !important; }

.u-pb110 {
  padding-bottom: 110px !important; }

.u-pb120 {
  padding-bottom: 120px !important; }

.u-pb130 {
  padding-bottom: 130px !important; }

.u-pb140 {
  padding-bottom: 140px !important; }

.u-pb150 {
  padding-bottom: 150px !important; }

.u-pb160 {
  padding-bottom: 160px !important; }

.u-pb170 {
  padding-bottom: 170px !important; }

.u-pb180 {
  padding-bottom: 180px !important; }

.u-pb190 {
  padding-bottom: 190px !important; }

.u-pb200 {
  padding-bottom: 200px !important; }

.u-pt0 {
  padding-top: 0px !important; }

.u-pt5 {
  padding-top: 5px !important; }

.u-pt10 {
  padding-top: 10px !important; }

.u-pt15 {
  padding-top: 15px !important; }

.u-pt20 {
  padding-top: 20px !important; }

.u-pt25 {
  padding-top: 25px !important; }

.u-pt30 {
  padding-top: 30px !important; }

.u-pt35 {
  padding-top: 35px !important; }

.u-pt40 {
  padding-top: 40px !important; }

.u-pt45 {
  padding-top: 45px !important; }

.u-pt50 {
  padding-top: 50px !important; }

.u-pt55 {
  padding-top: 55px !important; }

.u-pt60 {
  padding-top: 60px !important; }

.u-pt65 {
  padding-top: 65px !important; }

.u-pt70 {
  padding-top: 70px !important; }

.u-pt75 {
  padding-top: 75px !important; }

.u-pt80 {
  padding-top: 80px !important; }

.u-pt85 {
  padding-top: 85px !important; }

.u-pt90 {
  padding-top: 90px !important; }

.u-pt95 {
  padding-top: 95px !important; }

.u-pt100 {
  padding-top: 100px !important; }

.u-pt110 {
  padding-top: 110px !important; }

.u-pt120 {
  padding-top: 120px !important; }

.u-pt130 {
  padding-top: 130px !important; }

.u-pt140 {
  padding-top: 140px !important; }

.u-pt150 {
  padding-top: 150px !important; }

.u-pt160 {
  padding-top: 160px !important; }

.u-pt170 {
  padding-top: 170px !important; }

.u-pt180 {
  padding-top: 180px !important; }

.u-pt190 {
  padding-top: 190px !important; }

.u-pt200 {
  padding-top: 200px !important; }

.u-w10 {
  width: 10px !important; }

.u-w20 {
  width: 20px !important; }

.u-w30 {
  width: 30px !important; }

.u-w40 {
  width: 40px !important; }

.u-w50 {
  width: 50px !important; }

.u-w60 {
  width: 60px !important; }

.u-w70 {
  width: 70px !important; }

.u-w80 {
  width: 80px !important; }

.u-w90 {
  width: 90px !important; }

.u-w100 {
  width: 100px !important; }

.u-w110 {
  width: 110px !important; }

.u-w120 {
  width: 120px !important; }

.u-w130 {
  width: 130px !important; }

.u-w140 {
  width: 140px !important; }

.u-w150 {
  width: 150px !important; }

.u-w160 {
  width: 160px !important; }

.u-w170 {
  width: 170px !important; }

.u-w180 {
  width: 180px !important; }

.u-w190 {
  width: 190px !important; }

.u-w200 {
  width: 200px !important; }

.u-w210 {
  width: 210px !important; }

.u-w220 {
  width: 220px !important; }

.u-w230 {
  width: 230px !important; }

.u-w240 {
  width: 240px !important; }

.u-w250 {
  width: 250px !important; }

.u-w260 {
  width: 260px !important; }

.u-w270 {
  width: 270px !important; }

.u-w280 {
  width: 280px !important; }

.u-w290 {
  width: 290px !important; }

.u-w300 {
  width: 300px !important; }

.u-w310 {
  width: 310px !important; }

.u-w320 {
  width: 320px !important; }

.u-w330 {
  width: 330px !important; }

.u-w340 {
  width: 340px !important; }

.u-w350 {
  width: 350px !important; }

.u-w360 {
  width: 360px !important; }

.u-w370 {
  width: 370px !important; }

.u-w380 {
  width: 380px !important; }

.u-w390 {
  width: 390px !important; }

/*---------------------------------------------------------------------------*\
    Tool - Fontsize
\*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*\
    Tool - Line-height
\*---------------------------------------------------------------------------*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-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);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-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;
  outline: none;
  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; }

/* Slider */
/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px; }

.slick-prev:before {
  content: "←"; }
  [dir="rtl"] .slick-prev:before {
    content: "→"; }

[dir="rtl"] .slick-next {
  left: -25px;
  right: auto; }

.slick-next:before {
  content: "→"; }
  [dir="rtl"] .slick-next:before {
    content: "←"; }

/* Dots */
.slick-dots {
  position: absolute;
  bottom: 7%;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 50%;
  left: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media (min-width: 768px) {
    .slick-dots {
      bottom: 1.9697vw; } }
  .slick-dots li {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 10px;
    width: 60px;
    margin: 0 10px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      font-size: 0px;
      background: #fff;
      display: block;
      height: 2px;
      width: 60px;
      outline: none;
      line-height: 2px;
      color: transparent;
      padding: 1px 5px;
      cursor: pointer;
      opacity: .6; }
    .slick-dots li.slick-active button {
      height: 4px;
      opacity: 1; }
    .slick-dots li.slick-active button:before {
      color: #fff;
      opacity: 1; }

section {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  section .inr {
    max-width: 1320px;
    margin: 0 auto;
    position: relative; }
  section .tbl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

.u-pc {
  display: block !important; }

.u-sp {
  display: none; }

.root-cover {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 9500; }

.l-header {
  position: relative;
  background-color: #fff;
  overflow: hidden;
  border-bottom: solid 5px #E60101; }
  .l-header-inner {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    height: 60px;
    padding: 0 20px;
    line-height: 1; }
  .l-header .header {
    position: relative;
    height: 100%; }
    .l-header .header .group-id {
      position: absolute;
      top: 13px;
      left: 0;
      font-size: 0; }
    .l-header .header .site-id {
      position: absolute;
      top: 21px;
      right: 0;
      font-size: 0; }

.l-footer {
  padding-bottom: 20px;
  background-color: #ffffff; }
  .l-footer .footer-copyright {
    border-top: 1px solid #ccd0d9; }
  .l-footer-inner {
    position: relative;
    margin: 0 auto;
    padding: 0 10px; }
    .l-footer-inner .copyright {
      padding: 10px 0;
      background-color: #ffffff;
      font-size: 1.4rem;
      line-height: 1.42857;
      text-align: center; }
      .l-footer-inner .copyright small {
        font-size: 80%; }

.visual .logo {
  margin: 0 auto;
  position: relative;
  z-index: 5; }
  .visual .logo h1 {
    width: 31.81818%;
    max-width: 400px;
    position: absolute;
    top: 16px;
    left: 0; }
    @media (min-width: 768px) and (max-width: 970px) {
      .visual .logo h1 {
        top: 1.21212vw; } }

.visual .slider {
  position: relative;
  overflow: hidden; }
  .visual .slider .slide {
    position: relative;
    overflow: hidden;
    background-color: #EAEAEA; }
    .visual .slider .slide--space {
      position: relative;
      width: 100%;
      height: 0;
      padding-bottom: 44.84848%; }
    .visual .slider .slide--img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%; }
      .visual .slider .slide--img-b {
        display: block;
        width: 100%; }
    .visual .slider .slide .bg {
      position: absolute;
      width: 100%;
      top: 0; }
    .visual .slider .slide .textarea {
      width: 100%;
      height: 100%;
      margin: 0 auto;
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); }
    .visual .slider .slide--title {
      background: #202020;
      width: 35.98485%;
      max-width: 475px;
      position: absolute;
      top: 32px;
      right: 0; }
      @media (min-width: 768px) and (max-width: 970px) {
        .visual .slider .slide--title {
          top: 2.42424vw; } }
    .visual .slider .slide--name {
      position: absolute;
      left: 50%;
      bottom: 5.30303vw;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); }
    .visual .slider .slide01 .slide--name {
      width: 55.30303%;
      max-width: 730px; }
    .visual .slider .slide02 .slide--name {
      width: 56.9697%;
      max-width: 752px; }
    .visual .slider .slide03 .slide--name {
      width: 61.51515%;
      max-width: 812px; }
    .visual .slider .slide04 .slide--name {
      width: 67.80303%;
      max-width: 895px; }
    .visual .slider .slide05 .slide--name {
      width: 50.45455%;
      max-width: 666px; }
    .visual .slider .slide06 .slide--name {
      width: 48.93939%;
      max-width: 646; }
    .visual .slider .slide--prev {
      position: absolute;
      top: 50%;
      left: 30px;
      z-index: 10;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      .visual .slider .slide--prev-number {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        padding-left: .5em; }
      .visual .slider .slide--prev-arrow {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        text-decoration: none;
        padding: 15px 30px;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1; }
        .visual .slider .slide--prev-arrow::before, .visual .slider .slide--prev-arrow::after {
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          margin: auto;
          content: "";
          vertical-align: middle; }
        .visual .slider .slide--prev-arrow::before {
          background: #FFF;
          height: 1px;
          left: 0;
          top: 10px;
          width: 60px; }
        .visual .slider .slide--prev-arrow::after {
          background: #FFF;
          -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
          left: -5px;
          width: 30px;
          height: 1px;
          top: -11px; }
    .visual .slider .slide--next {
      position: absolute;
      top: 50%;
      right: 30px;
      z-index: 10;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      .visual .slider .slide--next-number {
        padding-right: .5em; }
      .visual .slider .slide--next-arrow {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        text-decoration: none;
        padding: 15px 30px; }
        .visual .slider .slide--next-arrow::before, .visual .slider .slide--next-arrow::after {
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          margin: auto;
          content: "";
          vertical-align: middle; }
        .visual .slider .slide--next-arrow::before {
          background: #FFF;
          height: 1px;
          right: 0;
          top: 10px;
          width: 60px; }
        .visual .slider .slide--next-arrow::after {
          background: #FFF;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          right: -38px;
          width: 30px;
          height: 1px;
          top: -11px; }
    .visual .slider .slide--number {
      font-family: Yu Mincho,游明朝,Hiragino Mincho ProN,ヒラギノ明朝 ProN,Hiragino Mincho Pro,ヒラギノ明朝 Pro,serif;
      color: #fff;
      font-size: clamp(28px, 1vw, 20px); }

.nav {
  background: #781313; }
  .nav ul {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 25px 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .nav ul li {
      width: 33.33%;
      padding: 0 1.89394%;
      -webkit-box-sizing: content-box;
      box-sizing: content-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      position: relative;
      margin: 10px 0;
      /*
			&.nav {
				&01 {
					width: percentage(107/1320);
					min-width: 107px;
				}
				&02 {
					width: percentage(131/1320);
					min-width: 131px;
					@media screen and (min-width: 1371px)  {
					}
				}
				&03 {
					width: percentage(183/1320);
					min-width: 183px;
				}
			}*/ }
      .nav ul li:before {
        content: '';
        display: block;
        width: 1px;
        height: 100%;
        background: #FFF;
        position: absolute;
        left: 0;
        top: 0; }
      .nav ul li:nth-child(3n):after {
        content: '';
        display: block;
        width: 1px;
        height: 100%;
        background: #FFF;
        position: absolute;
        right: 0;
        top: 0; }
      .nav ul li a {
        color: #FFF;
        font-size: clamp(12px, 1.32vw, 14px);
        font-family: Yu Mincho,游明朝,Hiragino Mincho ProN,ヒラギノ明朝 ProN,Hiragino Mincho Pro,ヒラギノ明朝 Pro,serif;
        -webkit-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease;
        text-align: center; }
        .nav ul li a .u-pc {
          display: inline !important;
          margin-left: 1em; }
        .nav ul li a:hover {
          opacity: 0.7; }

.lead {
  background-color: #FFF;
  background-image: url("../img/lead/bg.png");
  background-repeat: no-repeat;
  background-size: 72% auto;
  background-position-y: 0;
  background-position-x: -25%; }
  @media (min-width: 1320px) {
    .lead {
      background-size: auto 100%;
      background-position-y: 0;
      background-position-x: -50%; } }
  .lead .inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
    padding: 6.06061vw 0; }
    .lead .inr h1 {
      width: 35.37879%; }
    .lead .inr .col {
      width: 44.09091%; }
    .lead .inr h2 {
      font-size: 2.2rem;
      font-size: 1.52778vw;
      margin-bottom: 2.65152vw;
      font-weight: 800;
      font-family: Yu Mincho,游明朝,Hiragino Mincho ProN,ヒラギノ明朝 ProN,Hiragino Mincho Pro,ヒラギノ明朝 Pro, serif;
      font-size: clamp(18px, 1.32vw, 22px); }
    .lead .inr p {
      font-size: clamp(14px, 1.32vw, 16px);
      line-height: 2; }

.talk {
  background: #EAEAEA;
  padding-bottom: 4.54545vw;
  overflow: hidden; }
  .talk:before, .talk:after {
    content: "";
    display: table; }
  .talk:after {
    clear: both; }
  .talk .bg {
    padding-bottom: 4.54545vw;
    position: relative;
    width: 86.59091%;
    padding-bottom: 50.07576%;
    overflow: hidden; }
    .talk .bg .thumb {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1; }
    .talk .bg .cover {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #EAEAEA;
      z-index: 2; }
  .talk--name {
    position: absolute;
    left: 50%;
    top: 37.06505%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 3; }
  .talk--txt {
    position: relative;
    bottom: 0;
    right: 0;
    float: right;
    margin-top: -13.63636vw;
    z-index: 10;
    max-width: 76.28788%; }
    @media (min-width: 1320px) {
      .talk--txt {
        margin-top: -180px; } }
    .talk--txt a {
      background: #FFF;
      padding: 5.95829%;
      width: 100%;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      border: 2px solid #FFF;
      -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
      justify-content: space-evenly; }
      @media (min-width: 1320px) {
        .talk--txt a {
          padding: 60px; } }
      .talk--txt a:hover {
        border: 2px solid #781313; }
        .talk--txt a:hover p:after {
          right: -20px; }
    .talk--txt h1, .talk--txt p {
      display: inline-block;
      vertical-align: middle; }
    .talk--txt h1 {
      width: 51.43992%; }
    .talk--txt p {
      width: 46.27607%;
      font-size: clamp(9px, 1vw, 11px);
      padding-left: 5.95829%;
      line-height: 2;
      padding-bottom: 1em;
      position: relative; }
      @media (min-width: 1320px) {
        .talk--txt p {
          font-size: clamp(12px, 1.32vw, 14px); } }
      .talk--txt p:after {
        content: '';
        display: block;
        width: 74px;
        height: 30px;
        background-image: url("../img/more.png");
        background-size: cover;
        position: absolute;
        bottom: 0;
        right: 0;
        -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
        transform: translateY(100%);
        -webkit-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .talk--txt p span {
        white-space: nowrap; }
        @media (min-width: 768px) and (max-width: 970px) {
          .talk--txt p span {
            white-space: normal; } }
  .talk.talk001 {
    padding-top: 5.30303vw; }
    .talk.talk001 .talk--name {
      top: 37.82148%;
      background: rgba(0, 0, 0, 0.6);
      padding: 2.27273vw 0 0.75758vw;
      width: 43.0303vw;
      max-width: 568px; }
      .talk.talk001 .talk--name img {
        width: 37.65152vw;
        max-width: 497px;
        margin: 0 auto; }
    .talk.talk001 h1 img {
      width: 85.90734%; }
  .talk.talk002 .bg {
    margin-left: 13.40909%; }
  .talk.talk002 .talk--name {
    width: 37.57576vw;
    max-width: 496px; }
  .talk.talk002 .talk--txt {
    float: left; }
  .talk.talk002 h1 img {
    width: 86.29344%; }
  .talk.talk003 .talk--name {
    width: 39.09091vw;
    max-width: 516px; }
  .talk.talk003 h1 img {
    width: 100%; }
  .talk.talk004 .bg {
    margin-left: 13.40909%; }
  .talk.talk004 .talk--name {
    width: 49.01515vw;
    max-width: 647px; }
  .talk.talk004 .talk--txt {
    float: left; }
  .talk.talk004 h1 {
    width: 52.33366%; }
    .talk.talk004 h1 img {
      width: 100%; }
  .talk.talk004 p {
    padding-left: 5.06455%; }
  .talk.talk005 .talk--name {
    width: 37.87879vw;
    max-width: 500px; }
  .talk.talk005 h1 {
    width: 48.06356%; }
    .talk.talk005 h1 img {
      width: 100%; }

.gallery {
  background: #EAEAEA;
  padding: 3.0303vw 0 7.57576vw;
  text-align: center; }
  .gallery .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: clamp(24px, 1vw, 16px);
    font-family: Yu Mincho,游明朝,Hiragino Mincho ProN,ヒラギノ明朝 ProN,Hiragino Mincho Pro,ヒラギノ明朝 Pro,serif;
    margin: 0 auto;
    text-align: center; }
    .gallery .btn a {
      width: 31.81818%;
      border: 1px solid #000;
      padding: 0.5em 4.54545vw;
      position: relative; }
      .gallery .btn a:before {
        content: '';
        display: block;
        width: 5px;
        height: 10px;
        background: #EAEAEA;
        position: absolute;
        top: 50%;
        right: 0;
        -webkit-transform: translate(50%, -25%);
        -ms-transform: translate(50%, -25%);
        transform: translate(50%, -25%);
        -webkit-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .gallery .btn a:after {
        content: '';
        display: block;
        width: 74px;
        height: 30px;
        background-image: url("../img/more.png");
        background-size: cover;
        position: absolute;
        top: 50%;
        right: 0;
        -webkit-transform: translate(50%, -50%);
        -ms-transform: translate(50%, -50%);
        transform: translate(50%, -50%);
        -webkit-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .gallery .btn a:hover {
        background: #FFF; }
        .gallery .btn a:hover:before {
          background: #FFF; }
        .gallery .btn a:hover:after {
          right: -10px; }
    .gallery .btn img {
      width: 46.33333%;
      margin: 0 auto; }

.js-lead-scroll h1 {
  -webkit-transform: translateY(100px);
  -ms-transform: translateY(100px);
  transform: translateY(100px);
  opacity: 0;
  -webkit-transition: opacity 0.5s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: opacity 0.5s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  -o-transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0s, opacity 0.5s;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0s, opacity 0.5s;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0s, opacity 0.5s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0s; }

.js-lead-scroll .col h2 {
  -webkit-transform: translateY(80px);
  -ms-transform: translateY(80px);
  transform: translateY(80px);
  opacity: 0;
  -webkit-transition: opacity 0.5s linear 0.15s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.15s;
  transition: opacity 0.5s linear 0.15s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.15s;
  -o-transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.15s, opacity 0.5s linear 0.15s;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.15s, opacity 0.5s linear 0.15s;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.15s, opacity 0.5s linear 0.15s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.15s; }

.js-lead-scroll .col p {
  -webkit-transform: translateY(50px);
  -ms-transform: translateY(50px);
  transform: translateY(50px);
  opacity: 0;
  -webkit-transition: opacity 0.5s linear 0.3s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.3s;
  transition: opacity 0.5s linear 0.3s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.3s;
  -o-transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.3s, opacity 0.5s linear 0.3s;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.3s, opacity 0.5s linear 0.3s;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.3s, opacity 0.5s linear 0.3s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.3s; }

.js-lead-scroll.is-lead-animation h1, .js-lead-scroll.is-lead-animation .col h2, .js-lead-scroll.is-lead-animation .col p {
  -webkit-transform: translateY(0px);
  -ms-transform: translateY(0px);
  transform: translateY(0px);
  opacity: 1; }

.js-contents-scroll.talk001 .cover {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  transition: -webkit-transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  -o-transition: transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  transition: transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  transition: transform 1s cubic-bezier(0.9, 0.01, 0.09, 1), -webkit-transform 1s cubic-bezier(0.9, 0.01, 0.09, 1); }

.js-contents-scroll.talk001.is-contents-animation .cover {
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%); }

.js-contents-scroll.talk002 .cover {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  transition: -webkit-transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  -o-transition: transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  transition: transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  transition: transform 1s cubic-bezier(0.9, 0.01, 0.09, 1), -webkit-transform 1s cubic-bezier(0.9, 0.01, 0.09, 1); }

.js-contents-scroll.talk002.is-contents-animation .cover {
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%); }

.js-contents-scroll.talk003 .cover {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  transition: -webkit-transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  -o-transition: transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  transition: transform 1s cubic-bezier(0.9, 0.01, 0.09, 1);
  transition: transform 1s cubic-bezier(0.9, 0.01, 0.09, 1), -webkit-transform 1s cubic-bezier(0.9, 0.01, 0.09, 1); }

.js-contents-scroll.talk003.is-contents-animation .cover {
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%); }

.js-block-scroll.talk--name {
  -webkit-transform: translate(-50%, 50px);
  -ms-transform: translate(-50%, 50px);
  transform: translate(-50%, 50px);
  opacity: 0;
  -webkit-transition: opacity 0.5s linear 0.1s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s;
  transition: opacity 0.5s linear 0.1s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s;
  -o-transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s, opacity 0.5s linear 0.1s;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s, opacity 0.5s linear 0.1s;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s, opacity 0.5s linear 0.1s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s; }
  .js-block-scroll.talk--name.is-block-animation {
    -webkit-transform: translate(-50%, 0px);
    -ms-transform: translate(-50%, 0px);
    transform: translate(-50%, 0px);
    opacity: 1; }

.js-block-scroll.talk--txt {
  -webkit-transform: translateY(100px);
  -ms-transform: translateY(100px);
  transform: translateY(100px);
  opacity: 0;
  -webkit-transition: opacity 0.5s linear 0.1s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s;
  transition: opacity 0.5s linear 0.1s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s;
  -o-transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s, opacity 0.5s linear 0.1s;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s, opacity 0.5s linear 0.1s;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s, opacity 0.5s linear 0.1s, -webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.1s; }
  .js-block-scroll.talk--txt.is-block-animation {
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1; }
