@charset "UTF-8";
/* Base ----------------------------------------------------------------- */

/* -------------------------------------------------------------------------------- web fonts　ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策） -------------------------------------------------------------------------------- */
@font-face { src: url("assets/fonts/design_plus.eot?v=1.0"); src: url("assets/fonts/design_plus.eot?v=1.0#iefix") format("embedded-opentype"), url("assets/fonts/design_plus.woff?v=1.0") format("woff"), url("assets/fonts/design_plus.ttf?v=1.0") format("truetype"), url("assets/fonts/design_plus.svg?v=1.0#design_plus") format("svg"); font-family: "design_plus"; font-style: normal; font-weight: normal; }

/* keyframes */
@-webkit-keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }

@-webkit-keyframes fadeOut { from { visibility: visible;
    opacity: 1; }
  to { visibility: hidden;
    opacity: 0; } }

@keyframes fadeOut { from { visibility: visible;
    opacity: 1; }
  to { visibility: hidden;
    opacity: 0; } }

@-webkit-keyframes slideDown { 0% { top: -100%; }
  100% { top: 0; } }

@keyframes slideDown { 0% { top: -100%; }
  100% { top: 0; } }

@-webkit-keyframes slideUp { 0% { bottom: -100%; }
  100% { bottom: 0; } }

@keyframes slideUp { 0% { bottom: -100%; }
  100% { bottom: 0; } }

@-webkit-keyframes fadeInUp { from {
    -webkit-transform: translateY(50%);
            transform: translateY(50%); opacity: 0; }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0); opacity: 1; } }

@keyframes fadeInUp { from {
    -webkit-transform: translateY(50%);
            transform: translateY(50%); opacity: 0; }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0); opacity: 1; } }

@-webkit-keyframes slideAnimation1 { 0% { -webkit-transform: translateZ(0) scale(1); transform: translateZ(0) scale(1); }
  100% { -webkit-transform: translateZ(0) scale(1.1); transform: translateZ(0) scale(1.1); } }

@keyframes slideAnimation1 { 0% { -webkit-transform: translateZ(0) scale(1); transform: translateZ(0) scale(1); }
  100% { -webkit-transform: translateZ(0) scale(1.1); transform: translateZ(0) scale(1.1); } }

@-webkit-keyframes slideAnimation2 { 0% { -webkit-transform: translateZ(0) scale(1.1); transform: translateZ(0) scale(1.1); }
  100% { -webkit-transform: translateZ(0) scale(1); transform: translateZ(0) scale(1); } }

@keyframes slideAnimation2 { 0% { -webkit-transform: translateZ(0) scale(1.1); transform: translateZ(0) scale(1.1); }
  100% { -webkit-transform: translateZ(0) scale(1); transform: translateZ(0) scale(1); } }

/* ========================================================================== Layout ========================================================================== */
/* Inner ----------------------------------------------------------------- */


/* Contents ----------------------------------------------------------------- */


/* Footer ----------------------------------------------------------------- */
/* Header ----------------------------------------------------------------- */


/* Main ----------------------------------------------------------------- */


/* ========================================================================== Object ========================================================================== */
/* Component ----------------------------------------------------------------- */

/* Footer nav */
.p-footer-nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 0; font-size: 14px; line-height: 60px; text-align: center; }

.p-footer-nav li + li::before { margin: 0 7px; content: "|"; }

@media screen and (max-width: 767px) { .p-footer-nav { -webkit-box-sizing: border-box; box-sizing: border-box; display: block; padding: 24px 20px; font-size: 12px; text-align: left; }
  .p-footer-nav li { line-height: 2; }
  .p-footer-nav li + li::before { margin: 0; content: ""; } }

/* Footer slider */
.p-footer-slider .slick-initialized .slick-track { display: -webkit-box; display: -ms-flexbox; display: flex; }

.p-footer-slider .slick-list { margin-right: -1px; border: 1px solid #ddd; border-top: 0; }

.p-footer-slider .slick-track { min-width: 1px; }

.p-footer-slider .slick-track .slick-slide { display: -webkit-box; display: -ms-flexbox; display: flex; height: auto; }

.p-footer-slider .slick-arrow:hover::before { color: #aaa; }

.p-footer-slider .slick-arrow::before { width: 14px; color: #000; font-family: "design_plus"; opacity: 1; -webkit-transition-duration: 0.2s; transition-duration: 0.2s; -webkit-transition-property: color; transition-property: color; }

.p-footer-slider .slick-prev { left: -44px; }

.p-footer-slider .slick-prev::before { content: "\e90f"; }

.p-footer-slider .slick-next { right: -44px; }

.p-footer-slider .slick-next::before { content: "\e910"; }

.p-footer-slider__inner { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 60px 0; }

.p-footer-slider__inner.slick-slider { display: block; }

.p-footer-slider__item { width: 25%; border-right: 1px solid #ddd; }

@media screen and (max-width: 767px) { .p-footer-slider { overflow: hidden; }
  .p-footer-slider .slick-list { margin-right: -1px; margin-left: -1px; padding: 0; border-right: 0; border-left: 0; }
  .p-footer-slider__inner { -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0; }
  .p-footer-slider__item { width: 50%; } }

/*
```
```
*/

.p-index-slider { position: relative; height: 100vh; overflow: hidden; background: #000; }

.p-index-slider__item-content { z-index: 1; position: absolute; top: 50%; width: 100%; -webkit-transform: translate3d(0, -50%, 0); transform: translate3d(0, -50%, 0); text-align: center; }

.p-index-slider__item-content-inner { display: inline; text-align: left; white-space: nowrap; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }

.p-index-slider__item-title { margin: 0; color: transparent; font-weight: 400; line-height: 1.2; opacity: 0; }

.p-index-slider__item-desc { margin: 0 23px 0 0; color: transparent; line-height: 2.6; opacity: 0; }

.p-index-slider__item { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100vh; }

.p-index-slider__item:first-child { display: block; }

.p-index-slider__item-img { width: 100%; height: 100%; background-position: center center; background-repeat: no-repeat; background-size: cover; }

.p-index-slider__item-img--fixed { background-attachment: fixed; }
@media (-webkit-min-device-pixel-ratio: 2) {
  .p-index-slider__item-img--fixed { background-attachment: scroll; }
} 

.p-index-slider__item-video { position: absolute; top: 50%; left: 50%; width: auto; height: 100%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

.p-index-slider__item-youtube { width: 100%; height: 100%; }

.p-index-slider__nav { z-index: 1; position: absolute; top: 50%; right: 0; width: 60px; min-width: 60px; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

.p-index-slider__nav-item { text-align: center; }

.p-index-slider__nav-item a { display: block; padding: 35px 21px; font-size: 18px; text-align: left; white-space: nowrap; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }

.p-index-slider__arrow { z-index: 2; position: absolute; right: 0; bottom: 22px; left: 0; width: 24px; height: 24px; margin: auto; font-family: "design_plus"; font-size: 24px; -webkit-transition: opacity 0.2s; transition: opacity 0.2s; }

.p-index-slider__arrow::before { display: block; content: "\e90e"; }

.p-index-slider__arrow:hover { opacity: 0.5; }

/* for IE10 & 11 */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) { .p-index-slider__item.slick-active .p-index-slider__item-title { -webkit-animation: fadeIn 1.2s ease forwards 2s !important; animation: fadeIn 1.2s ease forwards 2s !important; }
  .p-index-slider__item.slick-active .p-index-slider__item-desc { -webkit-animation: fadeIn 1.2s ease forwards 3s !important; animation: fadeIn 1.2s ease forwards 3s !important; }
  .p-index-slider__item-img { background-attachment: scroll; }
  .p-index-slider__item-title, .p-index-slider__item-desc { color: inherit; } }

/* for Microsoft Edge */
@supports (-ms-ime-align: auto) { .p-index-slider__item.slick-active .p-index-slider__item-title { -webkit-animation: fadeIn 1.2s ease forwards 2s !important; animation: fadeIn 1.2s ease forwards 2s !important; }
  .p-index-slider__item.slick-active .p-index-slider__item-desc { -webkit-animation: fadeIn 1.2s ease forwards 3s !important; animation: fadeIn 1.2s ease forwards 3s !important; }
  .p-index-slider__item-img { background-attachment: scroll; }
  .p-index-slider__item-title, .p-index-slider__item-desc { color: inherit; } }

@media screen and (max-width: 991px) { .p-index-slider__nav { display: none; } }

@media screen and (max-width: 767px) { .p-index-slider__item-title { font-size: 26px !important; }
  .p-index-slider__item-desc { margin-right: 10px; font-size: 14px !important; line-height: 2; }
  .p-index-slider__item-img { background-attachment: initial; -webkit-animation: none !important; animation: none !important; } }

/* Info */
.p-info { font-size: 14px; }

.p-info__inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 60px 0; }

.p-info__col { -webkit-box-sizing: border-box; box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: start; -ms-flex-align: start; align-items: start; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 33.3%; }

.p-info__col:first-child { padding: 8px 3.38983% 16px 0; }

.p-info__col:nth-child(2) { padding: 8px 3.38983%; }

.p-info__col:last-child { padding: 8px 0 16px 3.38983%; }

.p-info__col:only-child { -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0; text-align: center; }

.p-info__col + .p-info__col { border-left: 1px solid #ddd; }

.p-info__logo { margin-bottom: 15.6px; padding-top: 8px; }

.p-info__logo a { text-align: left; }

.p-info__address { margin-bottom: 8.6px; line-height: 2.2; }

.p-info__social { margin-bottom: 0; }

.p-info__text { line-height: 2.2; max-width: 100%; }

.p-info__btn { margin-top: 13.6px; }

@media screen and (max-width: 899px) { .p-info__inner { display: block; padding: 8.4px 0; }
  .p-info__col { display: block; width: 100%; text-align: center; }
  .p-info__col, .p-info__col:first-child, .p-info__col:nth-child(2), .p-info__col:last-child { padding: 21.6px 0; }
  .p-info__col + .p-info__col { border-top: 1px solid #ddd; border-left: 0; }
  .p-info__logo { display: block; margin-bottom: 13.6px; padding-top: 0; }
  .p-info__address { margin-bottom: 10.6px; }
  .p-info__social { margin-bottom: 8px; }
.p-info__btn { margin-top: 6.6px; } }

@media screen and (max-width: 767px) { .p-info__inner { padding: 8.4px 20px; } }

/* font-size - フォントサイズ */
.text70 { font-size: 70%; }

.text80 { font-size: 80%; }

.text90 { font-size: 90%; }

.text100 { font-size: 100%; }

.text110 { font-size: 110%; }

.text120 { font-size: 120%; }

.text130 { font-size: 130%; }

.text140 { font-size: 140%; }

.text150 { font-size: 150%; }

.text160 { font-size: 160%; }

.text170 { font-size: 170%; }

.text180 { font-size: 180%; }

.text190 { font-size: 190%; }

.text200 { font-size: 200%; }

.text210 { font-size: 210%; }

.text220 { font-size: 220%; }

.b { font-weight: 700; }

/* 太字 */
.u { text-decoration: underline; }

/* 下線 */
.del { text-decoration: line-through; }

/* 打ち消し線 */
/* font-color - フォントカラー */
.red { color: red; }

/* 赤色 */
.blue { color: #2ca9e1; }

/* 青色 */
.green { color: #82ae46; }

/* 緑色 */
.orange { color: #ff7d00; }

/* 橙色 */
.yellow { color: #fff000; }

/* 黄色 */
.pink { color: #ff0084; }

/* ピンク */
.gray { color: #999999; }

/* グレー */
/* background-color - 背景色 */
/* 青色の文字背景 */
.bg-blue { padding: 2px; background-color: #4ab0f5; }

/* 赤色の文字背景 */
.bg-red { padding: 2px; background-color: red; }

/* 黄色の文字背景 */
.bg-yellow { padding: 2px; background-color: #ff0; }

/* text-align - 配置 */
.align1 { text-align: center !important; }

/* 中央寄せ */
.align2 { text-align: right !important; }

/* 右寄せ */
.align3 { text-align: left !important; }

/* 左寄せ */
/* float - 回り込み */
/* 右に回り込み */
.r-flo { margin: 10px; float: right; }

/* 左に回り込み */
.l-flo { margin: 10px; float: left; }

.f-clear { clear: both; }

/* 回り込みの解除 */
/* hover - 画像リンクマウスオーバー時の不透明度 */
a img.fade { -webkit-transition: all .3s; outline: none; background: none !important; transition: all .3s; }

a:hover img.fade { -ms-filter: "alpha( opacity=70 )"; background: none !important; filter: alpha(opacity=70); opacity: 0.7; }

/* text-style - テキストスタイル */
/* 注意書き等で二行目以降を字下げ */
.att { padding-left: 1em; text-indent: -1em; }

/* テキストボックス */
.att_box { margin: 2em 0 2.5em; padding: 1em 1.2em; border: 1px dotted #cccccc; background: #fcfcfc; -webkit-box-shadow: 0px 4px 0px 0px #f7f7f7; box-shadow: 0px 4px 0px 0px #f7f7f7; line-height: 2.0; }

/* margin - 要素の外側の余白 */
.m0 { margin: 0 !important; }

/* margin 0px を指定するクラス */
.mt0 { margin-top: 0 !important; }

/* margin-top0px を指定するクラス */
.mr0 { margin-right: 0 !important; }

/* margin-right0px を指定するクラス*/
.mb0 { margin-bottom: 0 !important; }

/* margin-bottom0px を指定するクラス*/
.ml0 { margin-left: 0 !important; }

/* margin-left0px を指定するクラス*/
.m5 { margin: 5px !important; }

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

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

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

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

.m10 { margin: 10px !important; }

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

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

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

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

.m15 { margin: 15px !important; }

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

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

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

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

.m20 { margin: 20px !important; }

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

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

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

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

.m25 { margin: 25px !important; }

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

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

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

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

.m30 { margin: 30px !important; }

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

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

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

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

.m35 { margin: 35px !important; }

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

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

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

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

.m40 { margin: 40px !important; }

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

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

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

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

.m45 { margin: 45px !important; }

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

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

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

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

.m50 { margin: 50px !important; }

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

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

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

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

.m55 { margin: 55px !important; }

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

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

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

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

.m60 { margin: 60px !important; }

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

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

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

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

.m65 { margin: 65px !important; }

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

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

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

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

.m70 { margin: 70px !important; }

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

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

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

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

.m75 { margin: 75px !important; }

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

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

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

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

.m80 { margin: 80px !important; }

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

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

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

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

/* padding - 要素の内側の余白 */
.p0 { padding: 0 !important; }

.pt0 { padding-top: 0 !important; }

.pr0 { padding-right: 0 !important; }

.pb0 { padding-bottom: 0 !important; }

.pl0 { padding-left: 0 !important; }

.p5 { padding: 5px !important; }

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

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

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

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

.p10 { padding: 10px !important; }

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

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

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

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

.p15 { padding: 15px !important; }

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

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

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

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

.p20 { padding: 20px !important; }

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

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

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

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

.p25 { padding: 25px !important; }

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

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

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

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

.p30 { padding: 30px !important; }

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

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

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

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

.p35 { padding: 35px !important; }

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

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

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

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

.p40 { padding: 40px !important; }

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

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

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

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

.p45 { padding: 45px !important; }

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

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

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

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

.p50 { padding: 50px !important; }

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

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

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

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

.p55 { padding: 55px !important; }

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

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

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

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

.p60 { padding: 60px !important; }

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

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

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

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

.p65 { padding: 65px !important; }

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

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

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

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

.p70 { padding: 70px !important; }

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

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

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

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

.p75 { padding: 75px !important; }

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

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

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

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

.p80 { padding: 80px !important; }

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

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

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

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