@charset "UTF-8";
/**************************************************/
/* mixin */
/**************************************************/
/***** font-size ******/
/**例
h1 {
	font-size: rem(24px); // -> 1.5rem
}
**/
/***** clearfix ******/
/***** opacity *****/
/***** placeholder *****/
/*************** 矢印 ****************/
/*************** 吹き出しボックス ****************/
/*************** テーブル風リスト ****************/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, select, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

/* html5要素 */
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article, aside, dialog, figure, footer, header, time, picture,
hgroup, nav, section {
  display: block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
  vertical-align: bottom;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: '';
}

abbr, acronym {
  border: 0;
}

a {
  /*outline:none; アクセシビリティのためoutlineは消してはいけない*/
}

/**
 * BxSlider v4.1.2 - Fully loaded, responsive content slider
 * http://bxslider.com
 *
 * Written by: Steven Wanderski, 2014
 * http://stevenwanderski.com
 * (while drinking Belgian ales and listening to jazz)
 *
 * CEO and founder of bxCreative, LTD
 * http://bxcreative.com
 */
/** RESET AND LAYOUT
===================================*/
.bx-wrapper {
  position: relative;
  margin: 0 auto;
  padding: 0;
  *zoom: 1;
}

.bx-wrapper img {
  max-width: 100%;
  display: block;
}

/** THEME
===================================*/
.bx-wrapper .bx-viewport {
  background: #fff;
  /*fix other elements on the page moving (on Chrome)*/
  -webkit-transform: translatez(0);
  -moz-transform: translatez(0);
  -ms-transform: translatez(0);
  -o-transform: translatez(0);
  transform: translatez(0);
}

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: 5%;
  width: 100%;
}

/* LOADER */
.bx-wrapper .bx-loading {
  min-height: 50px;
  background: url(/images/bx_loader.gif) center center no-repeat #fff;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
}

/* PAGER */
.bx-wrapper .bx-pager {
  text-align: center;
  font-size: 0;
  font-family: Arial;
  font-weight: bold;
  color: #666;
}

.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  *zoom: 1;
  *display: inline;
}

.bx-wrapper .bx-pager.bx-default-pager a {
  display: inline-block;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  margin: 0 5px;
  width: 10px;
  height: 10px;
  border: 1px solid #ffffff;
  border-radius: 50%;
  cursor: pointer;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #ffffff;
}

/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev, .bx-wrapper .bx-next {
  position: absolute;
  top: 50%;
  margin-top: -15px;
  line-height: 1;
  font-size: 30px;
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
  cursor: pointer;
}

.bx-wrapper .bx-prev:hover, .bx-wrapper .bx-next:hover {
  color: white;
}

.bx-wrapper .bx-prev {
  left: 3%;
}

.bx-wrapper .bx-prev:before {
  content: "\f060";
}

.bx-wrapper .bx-next {
  right: 3%;
}

.bx-wrapper .bx-next:before {
  content: "\f061";
}

.bx-wrapper .bx-controls-direction a {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 30px;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.bx-wrapper .bx-controls-direction a:hover {
  text-decoration: none;
}

.bx-wrapper .bx-controls-direction a.disabled {
  display: none;
}

/* AUTO CONTROLS (START / STOP) */
.bx-wrapper .bx-controls-auto {
  text-align: center;
}

.bx-wrapper .bx-controls-auto .bx-start {
  display: block;
  text-indent: -9999px;
  width: 10px;
  height: 11px;
  outline: 0;
  background: url(/images/controls.png) -86px -11px no-repeat;
  margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active {
  background-position: -86px 0;
}

.bx-wrapper .bx-controls-auto .bx-stop {
  display: block;
  text-indent: -9999px;
  width: 9px;
  height: 11px;
  outline: 0;
  background: url(images/controls.png) -86px -44px no-repeat;
  margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active {
  background-position: -86px -33px;
}

/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
  text-align: left;
  width: 80%;
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
  right: 0;
  width: 35px;
}

/* IMAGE CAPTIONS */
.bx-wrapper .bx-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #666\9;
  background: rgba(80, 80, 80, 0.75);
  width: 100%;
}

.bx-wrapper .bx-caption span {
  color: #fff;
  font-family: Arial;
  display: block;
  font-size: .85em;
  padding: 10px;
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  filter: alpha(opacity=80);
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #CCC;
}

.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
  box-shadow: none;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
  filter: alpha(opacity=100);
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #fff;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
  filter: alpha(opacity=100);
}

.mfp-arrow:before,
.mfp-arrow:after,
.mfp-arrow .mfp-b,
.mfp-arrow .mfp-a {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after,
.mfp-arrow .mfp-a {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before,
.mfp-arrow .mfp-b {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after,
.mfp-arrow-left .mfp-a {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

.mfp-arrow-left:before,
.mfp-arrow-left .mfp-b {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after,
.mfp-arrow-right .mfp-a {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before,
.mfp-arrow-right .mfp-b {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}

.mfp-ie7 .mfp-img {
  padding: 0;
}

.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px;
}

.mfp-ie7 .mfp-container {
  padding: 0;
}

.mfp-ie7 .mfp-content {
  padding-top: 44px;
}

.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0;
}

/* overlay at start */
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}

/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  -o-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

.popup-modal-wrap {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding: 44px;
  max-width: 80%;
  color: #ffffff;
}

@media only screen and (max-width: 767px) {
  .popup-modal-wrap {
    max-width: 100%;
    padding: 44px 10px;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  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;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[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;
  outline: none !important;
}

.c-main-visual-type01-wrap .slick-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  outline: none !important;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-wrap .slick-slide {
    display: block;
  }
}

.c-main-visual-type02-wrap.slick-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

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

.slick-arrow.slick-hidden:before {
  color: #cccccc;
  opacity: 1;
  cursor: default;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../images/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: 'slick';
  font-weight: normal;
  font-style: normal;
  src: url("../images/fonts/slick.eot");
  src: url("../images/fonts/slick.eot?#iefix") format("embedded-opentype"), url("../images/fonts/slick.woff") format("woff"), url("../images/fonts/slick.ttf") format("truetype"), url("../images/fonts/slick.svg#slick") format("svg");
}

/************************ Arrows ************************/
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  z-index: 100;
  display: block;
  width: 45px;
  height: 60px;
  margin-top: -30px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  background: rgba(0, 0, 0, 0.3);
  -webkit-transition: all 0.1s ease;
  -o-transition: all 0.1s ease;
  transition: all 0.1s ease;
}

.slick-prev:hover,
.slick-next:hover {
  background: black;
}

.slick-prev.slick-hidden,
.slick-next.slick-hidden {
  display: none;
}

.slick-prev:before,
.slick-next:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.slick-prev:before {
  left: 50%;
  margin-left: -4px;
  border-left: 2px solid #ffffff;
  border-top: 2px solid #ffffff;
}

.slick-next:before {
  right: 50%;
  margin-right: -4px;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
}

.slick-prev {
  left: 0px;
}

[dir='rtl'] .slick-prev {
  right: 0px;
  left: auto;
}

.slick-prev:before {
  content: '←';
}

[dir='rtl'] .slick-prev:before {
  content: '→';
}

.slick-next {
  right: 0px;
}

[dir='rtl'] .slick-next {
  right: auto;
  left: 0px;
}

.slick-next:before {
  content: '→';
}

[dir='rtl'] .slick-next:before {
  content: '←';
}

/*タイプ01*/
.c-main-visual-type01-wrap {
  /* Arrows */
}

.c-main-visual-type01-wrap .slick-prev,
.c-main-visual-type01-wrap .slick-next {
  width: 65px;
  height: 65px;
  margin-top: -32px;
  background: transparent;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-wrap .slick-prev,
  .c-main-visual-type01-wrap .slick-next {
    width: 45px;
    height: 45px;
    margin-top: -22px;
  }
}

.c-main-visual-type01-wrap .slick-prev:before,
.c-main-visual-type01-wrap .slick-next:before {
  top: 50%;
  margin-top: -20px;
  width: 35px;
  height: 35px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-wrap .slick-prev:before,
  .c-main-visual-type01-wrap .slick-next:before {
    margin-top: -13px;
    width: 25px;
    height: 25px;
  }
}

.c-main-visual-type01-wrap .slick-prev:before {
  left: 50%;
  margin-left: -10px;
  border-left: 3px solid #ffffff;
  border-top: 3px solid #ffffff;
}

.c-main-visual-type01-wrap .slick-next:before {
  right: 50%;
  margin-right: -10px;
  border-right: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
}

.c-main-visual-type01-wrap .slick-prev {
  left: 15px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-wrap .slick-prev {
    left: 10px;
  }
}

.c-main-visual-type01-wrap .slick-next {
  right: 15px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-wrap .slick-next {
    right: 10px;
  }
}

/*タイプ02*/
.c-main-visual-type02 {
  /* Arrows */
}

.c-main-visual-type02 .slick-prev,
.c-main-visual-type02 .slick-next {
  width: 65px;
  height: 65px;
  margin-top: -32px;
  background: transparent;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type02 .slick-prev,
  .c-main-visual-type02 .slick-next {
    width: 45px;
    height: 45px;
    margin-top: -22px;
  }
}

.c-main-visual-type02 .slick-prev:before,
.c-main-visual-type02 .slick-next:before {
  top: 50%;
  margin-top: -20px;
  width: 35px;
  height: 35px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type02 .slick-prev:before,
  .c-main-visual-type02 .slick-next:before {
    margin-top: -13px;
    width: 25px;
    height: 25px;
  }
}

.c-main-visual-type02 .slick-prev:before {
  left: 50%;
  margin-left: -10px;
  border-left: 3px solid #ffffff;
  border-top: 3px solid #ffffff;
}

.c-main-visual-type02 .slick-next:before {
  right: 50%;
  margin-right: -10px;
  border-right: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
}

.c-main-visual-type02 .slick-prev {
  left: 15px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type02 .slick-prev {
    left: 10px;
  }
}

.c-main-visual-type02 .slick-next {
  right: 15px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type02 .slick-next {
    right: 10px;
  }
}

/* メニューページカルーセル */
.menu-list-type01-wrap .slick-prev,
.menu-list-type01-wrap .slick-next {
  display: none !important;
  width: 65px;
  height: 65px;
  margin-top: -32px;
  background: transparent;
}

@media only screen and (max-width: 767px) {
  .menu-list-type01-wrap .slick-prev,
  .menu-list-type01-wrap .slick-next {
    display: inline-block !important;
    width: 45px;
    height: 45px;
    margin-top: -22px;
  }
}

.menu-list-type01-wrap .slick-prev:before,
.menu-list-type01-wrap .slick-next:before {
  top: 50%;
  margin-top: -20px;
  width: 35px;
  height: 35px;
}

@media only screen and (max-width: 767px) {
  .menu-list-type01-wrap .slick-prev:before,
  .menu-list-type01-wrap .slick-next:before {
    margin-top: -13px;
    width: 25px;
    height: 25px;
  }
}

.menu-list-type01-wrap .slick-prev:before {
  left: 50%;
  margin-left: -10px;
  border-left: 3px solid #ffffff;
  border-top: 3px solid #ffffff;
}

.menu-list-type01-wrap .slick-next:before {
  right: 50%;
  margin-right: -10px;
  border-right: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
}

.menu-list-type01-wrap .slick-prev {
  left: 15px;
}

@media only screen and (max-width: 767px) {
  .menu-list-type01-wrap .slick-prev {
    left: 0;
  }
}

.menu-list-type01-wrap .slick-next {
  right: 15px;
}

@media only screen and (max-width: 767px) {
  .menu-list-type01-wrap .slick-next {
    right: 0;
  }
}

/************************ Dots ************************/
.slick-slider {
  margin-bottom: 30px;
}

.c-main-visual-type01-wrap.slick-slider {
  margin-bottom: 30px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-wrap.slick-slider {
    margin-bottom: 30px;
  }
}

.c-main-visual-type02.slick-slider {
  margin-bottom: 0;
}

.slick-dots {
  position: absolute;
  bottom: 15px;
  display: block;
  width: 100%;
  padding: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  display: inline-block;
  margin: 0 10px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  overflow: hidden;
  white-space: nowrap;
  text-indent: -99999px;
  font-size: 0;
  display: block;
  padding: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  cursor: pointer;
  border: 0;
  background: #cccccc;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  background: #000000;
}

.slick-dots li.slick-active button {
  background: #000000;
}

/* タイプ01 */
.c-main-visual-type01-wrap .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  left: 15px;
  bottom: -30px;
  height: 30px;
  line-height: 1;
  width: calc(100% - 30px);
  padding: 0;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-wrap .slick-dots {
    bottom: -30px;
    left: 0;
    width: 100%;
    height: 30px;
  }
}

@media (min-width: 1360px) {
  .c-main-visual-type01-wrap .slick-dots {
    left: 0;
    width: 100%;
  }
}

.c-main-visual-type01-wrap .slick-dots li {
  display: block;
  margin: 0 10px;
  padding: 0;
  cursor: pointer;
  vertical-align: middle;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-wrap .slick-dots li {
    margin: 0 5px;
  }
}

.c-main-visual-type01-wrap .slick-dots li button {
  width: 15px;
  height: 15px;
  background: #cccccc;
  -webkit-box-shadow: none;
  box-shadow: none;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-wrap .slick-dots li button {
    width: 15px;
    height: 15px;
  }
}

.c-main-visual-type01-wrap .slick-dots li button:hover,
.c-main-visual-type01-wrap .slick-dots li button:focus {
  background: #555555;
}

.c-main-visual-type01-wrap .slick-dots li.slick-active button {
  background: #555555;
}

.menu-list-type01-wrap .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  left: 15px;
  bottom: -30px;
  height: 20px;
  margin-left: -240px;
  margin-right: -240px;
  width: calc(100% + 480px);
  padding: 0;
  line-height: 1;
}

@media only screen and (max-width: 767px) {
  .menu-list-type01-wrap .slick-dots {
    bottom: -30px;
    left: 0;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    height: 30px;
  }
}

.menu-list-type01-wrap .slick-dots li {
  display: block;
  margin: 0 10px;
  padding: 0;
  cursor: pointer;
  vertical-align: middle;
}

@media only screen and (max-width: 767px) {
  .menu-list-type01-wrap .slick-dots li {
    margin: 0 5px;
  }
}

.menu-list-type01-wrap .slick-dots li button {
  width: 80px;
  height: 6px;
  border-radius: 0;
  background: #cccccc;
}

@media only screen and (max-width: 767px) {
  .menu-list-type01-wrap .slick-dots li button {
    width: 60px;
    height: 15px;
  }
}

.menu-list-type01-wrap .slick-dots li button:hover,
.menu-list-type01-wrap .slick-dots li button:focus {
  background: #555555;
}

.menu-list-type01-wrap .slick-dots li.slick-active button {
  background: #555555;
}

.carousel-box {
  padding: 0 30px;
}

.carousel-list__item {
  margin: 0 5px;
}

@media (max-width: 768px) {
  .carousel-box {
    font-size: 10px;
  }
}

body {
  line-height: 1.6;
  min-width: 1024px;
  font-size: 1rem;
  font-family: YakuHanMPs, georgia, century, serif;
  background: url(../images/bg-wave-01.png) fixed left top no-repeat, url(../images/bg-wave-02.png) fixed right bottom no-repeat, #f0f0f0;
  color: #393939;
  word-wrap: break-word;
}

@media only screen and (max-width: 767px) {
  body {
    min-width: 320px;
    font-size: 1rem;
    background: #ffffff;
    -webkit-text-size-adjust: 100%;
  }
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

[data-whatinput="mouse"] *:focus,
[data-whatinput="touch"] *:focus {
  outline: none;
}

.visually-hidden {
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  margin: -1px;
  border: 0;
  padding: 0;
  width: 4px;
  height: 4px;
}

table a {
  word-break: break-all;
}

br {
  letter-spacing: 0;
}

a {
  color: #000000;
  text-decoration: underline;
  -webkit-transition: all 0.1s ease;
  -o-transition: all 0.1s ease;
  transition: all 0.1s ease;
}

a:hover {
  /*マウスをのせたとき*/
  color: #666666;
  text-decoration: underline;
}

a:active {
  /*マウスを押したとき*/
  color: #666666;
  text-decoration: none;
}

img {
  max-width: 100%;
}

.container {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

@media only screen and (min-width: 768px) {
  .container {
    width: 1020px;
    min-width: 320px;
  }
}

/*************** フォーム ***************/
:placeholder-shown {
  color: #aaaaaa;
}

::-webkit-input-placeholder {
  color: #aaaaaa;
}

:-moz-placeholder {
  color: #aaaaaa;
  opacity: 1;
}

::-moz-placeholder {
  color: #aaaaaa;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #aaaaaa;
}

button {
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  vertical-align: middle;
  cursor: pointer;
}

input[type="text"],
input[type="password"],
textarea,
select {
  padding: 10px 5px;
  line-height: 1.4;
  min-height: 46px;
  border: 1px solid #aaaaaa;
  border-radius: 3px;
  background: #fafafa;
  color: #111111;
  font-size: 1rem;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  vertical-align: middle;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

input[type="text"],
input[type="password"],
textarea {
  -webkit-appearance: none;
}

input[type="text"]:hover,
input[type="password"]:hover,
textarea:hover,
select:hover {
  border-color: #888888;
  background: #ffffff;
  color: #333333;
}

input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border-color: #67CBDF;
  background: #ffffff;
  color: #333333;
}

input[type="radio"],
input[type="checkbox"] {
  position: relative;
  top: -0.1em;
  margin: 0 5px 0 0;
  vertical-align: middle;
}

select {
  max-width: 100%;
  height: 46px;
}

label {
  cursor: pointer;
}

/*************** iframeの高さをレスポンシブ対応 ***************/
.iframe-content {
  position: relative;
  width: 100%;
  padding: 56.25% 0 0 0;
}

.iframe-content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*************** Page Top ***************/
.go-top {
  position: fixed;
  z-index: 100000;
  bottom: 20px;
  right: 20px;
}

@media only screen and (max-width: 767px) {
  .go-top {
    bottom: 10px;
    right: 10px;
  }
}

.go-top a {
  overflow: hidden;
  white-space: nowrap;
  text-indent: -99999px;
  display: block;
  position: relative;
  width: 60px;
  height: 60px;
  border: 1px solid #000000;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  text-align: center;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .go-top a {
    width: 45px;
    height: 45px;
  }
}

.go-top a:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -5px;
  margin-left: -10px;
  width: 20px;
  height: 20px;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  -webkit-transform: rotate(225deg);
  -ms-transform: rotate(225deg);
  transform: rotate(225deg);
}

.go-top a:hover {
  background: rgba(0, 0, 0, 0.8);
  text-decoration: none;
}

.go-top a:hover:before {
  border-right-color: #ffffff;
  border-bottom-color: #ffffff;
}

/*************** パンくず ***************/
.breadcrumbs {
  margin-bottom: 15px;
  padding: 10px 0;
  font-size: 0.75rem;
  background: rgba(221, 221, 221, 0.9);
  color: #555555;
  /*	& span {
		margin-left: 10px;
		margin-right: 10px;
	}*/
}

@media only screen and (max-width: 767px) {
  .breadcrumbs {
    margin-bottom: 0;
    padding: 7px 0;
    font-size: 0.625rem;
  }
}

.breadcrumbs a {
  color: #555555;
  text-decoration: none;
}

.breadcrumbs a:hover {
  color: #000000;
}

.breadcrumbs-list__item {
  position: relative;
  display: inline-block;
  margin-right: 25px;
}

@media only screen and (max-width: 767px) {
  .breadcrumbs-list__item {
    margin-top: 3px;
    margin-bottom: 3px;
  }
}

.breadcrumbs-list__item a {
  color: #888888;
}

.breadcrumbs-list__item:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: -15px;
  margin-top: -4px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #aaaaaa;
  border-bottom: 1px solid #aaaaaa;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.breadcrumbs-list__item:last-child {
  margin-right: 0;
}

.breadcrumbs-list__item:last-child a {
  color: #393939;
}

.breadcrumbs-list__item:last-child:before {
  content: none;
}

.sns-btn-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.sns-btn-list__item {
  margin-left: 15px;
  line-height: 1;
}

/*************** コンテンツレイアウト ***************/
.contents {
  min-height: 600px;
}

.l-contents-wrap {
  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;
}

@media only screen and (max-width: 767px) {
  .l-contents-wrap {
    display: block;
  }
}

.l-contents-side {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
  width: 240px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.95);
}

@media only screen and (max-width: 767px) {
  .l-contents-side {
    margin-top: 30px;
    margin-left: -15px;
    margin-right: -15px;
    padding-top: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #cccccc;
    width: auto;
    background: #f5f5f5;
  }
}

.l-contents-main {
  width: 735px;
  background: rgba(255, 255, 255, 0.95);
}

@media only screen and (max-width: 767px) {
  .l-contents-main {
    width: auto;
  }
}

.side-bnr-list__item {
  margin-bottom: 15px;
}

.side-box {
  margin-bottom: 45px;
}

@media only screen and (max-width: 767px) {
  .side-box {
    margin-bottom: 30px;
  }
}

.side-ttl {
  margin-bottom: 15px;
  padding-top: 10px;
  padding-bottom: 15px;
  border-bottom: 1px solid #555555;
  font-size: 1.125rem;
  font-weight: bold;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000000;
}

@media only screen and (max-width: 767px) {
  .side-ttl {
    margin-bottom: 10px;
  }
}

.side-list__item {
  position: relative;
  margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
  .side-list__item {
    margin-bottom: 2px;
  }
}

.side-list__link {
  color: #696969;
}

@media only screen and (max-width: 767px) {
  .side-list__link {
    display: block;
    padding: 11px 15px;
    background: #fafafa;
    color: #696969;
  }
  .side-list__link:hover {
    background: #f0f0f0;
    text-decoration: none;
  }
}

.side-list__link:before {
  content: "- ";
}

@media only screen and (max-width: 767px) {
  .side-list__link:before {
    content: none;
  }
}

.side-news-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 15px;
}

.side-news-list__img {
  margin-top: 3px;
  width: 60px;
}

.side-news-list__ttl {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 5px;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 0.8125rem;
  font-weight: bold;
}

.side-schedule-list {
  font-size: 0.8125rem;
}

.side-schedule-list__ttl {
  font-weight: bold;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

.side-movie-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
}

.side-movie-list__item {
  margin-bottom: 10px;
  padding-left: 5px;
  padding-right: 5px;
  width: 50%;
}

.side-collection-list__item {
  margin-bottom: 10px;
  background: #eeeeee;
}

@media only screen and (max-width: 767px) {
  .side-collection-list__item {
    background: #dddddd;
  }
}

.side-collection-list__item:hover {
  background: #dddddd;
}

@media only screen and (max-width: 767px) {
  .side-collection-list__item:hover {
    background: #cccccc;
  }
}

.side-more {
  margin-top: 30px;
  text-align: center;
}

.side-more a {
  display: block;
  padding: 15px 15px;
  font-size: 0.875rem;
  background: #dddddd;
  color: #393939;
  text-decoration: none;
}

.side-more a:hover {
  background: #dddddd;
  color: #000000;
}

/*************** ヘッダー ***************/
#l-header {
  background: #ffffff;
}

.hd-copy {
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 0.875rem;
  color: #767676;
}

@media only screen and (max-width: 767px) {
  .hd-copy {
    overflow: hidden;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    padding-top: 5px;
    padding-bottom: 0;
    font-size: 0.75rem;
    text-align: center;
  }
}

.hd-main {
  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;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-bottom: 20px;
}

@media only screen and (max-width: 767px) {
  .hd-main {
    display: block;
    height: auto;
    padding-bottom: 0;
  }
}

.hd-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .hd-logo {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 90px;
  }
  .hd-logo img {
    width: 150px;
  }
}

/*************** メインナビ ***************/
.main-navi-btn {
  display: none;
}

@media only screen and (max-width: 767px) {
  .main-navi-btn {
    display: block;
    position: absolute;
    top: 33px;
    right: 0;
    padding: 0;
    border: 0;
    width: 75px;
    background: transparent;
  }
  .main-navi-btn img {
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
  }
}

.main-navi {
  display: block;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media only screen and (max-width: 767px) {
  .main-navi {
    margin: 0;
    width: 100%;
  }
}

.main-navi .container {
  position: relative;
}

.main-navi-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  position: relative;
  height: 90px;
}

@media only screen and (max-width: 767px) {
  .main-navi-wrap {
    display: none;
    position: relative;
    z-index: 1;
    margin-left: -15px;
    margin-right: -15px;
    padding-top: 0;
    padding-bottom: 30px;
    height: auto;
    background: #ffffff;
    -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  }
}

@media only screen and (min-width: 768px) {
  .main-navi-wrap {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

.main-navi-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 56px;
}

@media only screen and (max-width: 767px) {
  .main-navi-list {
    display: block;
    margin-top: 0;
    border-top: 1px solid #cccccc;
  }
}

.main-navi-list__item {
  margin-left: 28px;
  min-width: 75px;
  text-align: center;
  letter-spacing: 1px;
}

@media only screen and (max-width: 767px) {
  .main-navi-list__item {
    margin-left: 0;
    min-width: 0;
    border-bottom: 1px solid #cccccc;
    text-align: left;
  }
}

.main-navi-list__item.is-top {
  display: none;
}

@media only screen and (max-width: 767px) {
  .main-navi-list__item.is-top {
    display: block;
  }
}

.main-navi-list__link {
  display: block;
  position: relative;
  font-size: 1.125rem;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  color: #000000;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .main-navi-list__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    padding: 18px 15px;
    font-size: 1rem;
    background: #ffffff;
  }
  .main-navi-list__link:after {
    display: block;
    content: "";
    margin-top: -0px;
    margin-left: auto;
    width: 10px;
    height: 10px;
    border-right: 1px solid #666666;
    border-bottom: 1px solid #666666;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}

.main-navi-list__link:hover {
  color: #999999;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .main-navi-list__link:hover {
    color: #393939;
    background: #eeeeee;
  }
}

.main-navi-list__link:hover span {
  color: #000000;
}

@media only screen and (max-width: 767px) {
  .main-navi-list__link:hover span {
    color: #393939;
  }
}

.main-navi-list__link:hover:before {
  background: #000000;
}

.main-navi-list__link.is-on {
  color: #000000;
}

@media only screen and (max-width: 767px) {
  .main-navi-list__link.is-on {
    background: #eeeeee;
    color: #000000;
  }
}

.main-navi-list__link.is-on span {
  color: #000000;
}

@media only screen and (max-width: 767px) {
  .main-navi-list__link.is-on span {
    color: #393939;
  }
}

.main-navi-list__link.is-on:before {
  background: #000000;
}

.main-navi-contact {
  position: absolute;
  width: 140px;
  top: -43px;
  right: 239px;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transition: opacity 0.2s ease;
  -o-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.main-navi-contact:hover {
  opacity: 0.9;
  filter: alpha(opacity=90);
}

@media only screen and (max-width: 767px) {
  .main-navi-contact {
    position: static;
    margin: 30px 15px;
    width: calc(100% - 30px);
    font-size: 1.125rem;
  }
}

.main-navi-contact i {
  margin-right: 15px;
  font-size: 1rem;
}

@media only screen and (max-width: 767px) {
  .main-navi-contact i {
    margin-right: 15px;
  }
}

.main-navi-contact__link {
  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;
  line-height: 35px;
  border-radius: 0px;
  background: inherit;
  color: #3e0818;
  font-size: 1.125rem;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .main-navi-contact__link {
    height: 45px;
    border: 1px solid #3e0818;
    background: #3e0818;
    color: #ffffff;
    font-size: 1rem;
  }
}

@media only screen and (max-width: 767px) {
  .main-navi-contact__link:hover {
    border-color: #3e0818;
    background-color: inherit;
    color: #3e0818;
    text-decoration: none;
  }
}

.main-navi-btn-close {
  display: none;
}

@media only screen and (max-width: 767px) {
  .main-navi-btn-close {
    display: block;
    margin: 30px auto 0 auto;
    padding: 12px 15px;
    width: 150px;
    border: 1px solid #dddddd;
    border-radius: 23px;
    background: #ffffff;
    color: #696969;
    font-size: 0.875rem;
    text-align: center;
  }
  .main-navi-btn-close img {
    margin-bottom: 3px;
    margin-right: 10px;
  }
}

/*************** ヘルプナビ ***************/
.help-navi-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: -40px;
  right: 396px;
}

@media only screen and (max-width: 767px) {
  .help-navi-list {
    position: static;
    display: block;
  }
}

.help-navi-list__item {
  position: relative;
  margin-left: 30px;
  font-size: 1.125rem;
}

@media only screen and (max-width: 767px) {
  .help-navi-list__item {
    margin-left: 0;
    padding-left: 0;
    padding-right: 0;
    border-bottom: 1px solid #dddddd;
    font-size: 0.875rem;
  }
}

.help-navi-list__link {
  color: #767676;
  letter-spacing: 1px;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .help-navi-list__link {
    display: block;
    padding: 15px 15px;
    color: #555555;
  }
  .help-navi-list__link:hover {
    text-decoration: none;
  }
}

.help-navi-list__link:hover {
  color: #000000;
  text-decoration: underline;
}

.help-navi-list__link.is-facebook {
  color: #3c5a98;
}

.help-navi-list__link i {
  margin-right: 5px;
  font-size: 80%;
}

.main-navi-word {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  top: -38px;
  right: 0px;
  letter-spacing: 1px;
}

@media only screen and (max-width: 767px) {
  .main-navi-word {
    position: static;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

/*************** 電話 ***************/
.hd-tel {
  display: none;
  position: absolute;
  top: -20px;
  right: 165px;
}

@media only screen and (max-width: 767px) {
  .hd-tel {
    display: block;
    position: static;
    margin: 30px 15px;
  }
}

.hd-tel__link {
  color: #393939;
}

@media only screen and (max-width: 767px) {
  .hd-tel__link {
    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;
    line-height: 45px;
    border: 1px solid #000000;
    border-radius: 23px;
    font-size: 1.125rem;
    background: #000000;
    color: #ffffff;
  }
  .hd-tel__link:hover {
    text-decoration: none;
    background: #000000;
    color: #ffffff;
  }
  .hd-tel__link i {
    margin-right: 15px;
  }
}

.hd-tel__link:hover {
  text-decoration: none;
}

/*************** カート ***************/
.hd-cart {
  position: absolute;
  top: -20px;
  right: 0;
  font-size: 0.875rem;
}

@media only screen and (max-width: 767px) {
  .hd-cart {
    position: static;
    margin: 30px 15px;
  }
}

@media only screen and (max-width: 767px) {
  .hd-cart__link {
    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;
    line-height: 45px;
    border: 1px solid #000000;
    border-radius: 23px;
    font-size: 1.125rem;
    background: #000000;
    color: #ffffff;
  }
  .hd-cart__link:hover {
    text-decoration: none;
    background: #000000;
    color: #ffffff;
  }
  .hd-cart__link i {
    margin-right: 15px;
  }
}

.hd-cart__link:hover {
  text-decoration: none;
}

.hd-cart__item {
  display: inline-block;
  margin-left: 5px;
  border-radius: 5px;
  min-width: 20px;
  line-height: 20px;
  background: #000000;
  color: #ffffff;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .hd-cart__item {
    background: #ffffff;
    color: #000000;
  }
}

/*************** フッター ***************/
/***** TOP バナー *****/
.bottom-bnr {
  margin-top: 60px;
  padding-top: 60px;
  padding-bottom: 30px;
  border-top: 1px solid #dddddd;
}

@media only screen and (max-width: 767px) {
  .bottom-bnr {
    padding-top: 30px;
    padding-bottom: 25px;
  }
}

.bottom-bnr-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

@media only screen and (max-width: 767px) {
  .bottom-bnr-list {
    display: block;
  }
}

.bottom-bnr-list__item {
  margin-bottom: 30px;
  padding-left: 10px;
  padding-right: 10px;
  width: 33.3333%;
}

@media only screen and (max-width: 767px) {
  .bottom-bnr-list__item {
    margin-bottom: 20px;
    width: auto;
    text-align: center;
  }
}

.bottom-bnr-list__img {
  margin-bottom: 5px;
}

@media only screen and (max-width: 767px) {
  .bottom-bnr-list__img img {
    max-width: 330px;
  }
}

.bottom-link {
  margin-top: 60px;
  margin-bottom: 45px;
}

@media only screen and (max-width: 767px) {
  .bottom-link {
    margin-top: 30px;
    margin-bottom: 20px;
  }
}

.bottom-link-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

@media only screen and (max-width: 767px) {
  .bottom-link-list {
    display: block;
  }
}

.bottom-link-list__item {
  margin-bottom: 15px;
  padding-left: 10px;
  padding-right: 10px;
  width: 50%;
  font-size: 1.875rem;
  font-weight: bold;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .bottom-link-list__item {
    width: auto;
    font-size: 15px;
  }
}

.bottom-link-list__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 16px 20px;
  border-top: 3px solid #000000;
  background: url(../images/bg-grid.gif) repeat;
  -webkit-box-shadow: 5px 5px 0 #eeeeee;
  box-shadow: 5px 5px 0 #eeeeee;
}

.bottom-link-list__link:hover {
  text-decoration: none;
}

.bottom-link-list__link:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0px;
  right: 0;
  width: 0px;
  height: 0px;
  border: solid transparent;
  border-right-color: #000000;
  border-bottom-color: #000000;
  border-width: 7px;
}

.bottom-link-list__link i {
  margin-right: 30px;
  font-size: 2.25rem;
}

@media only screen and (max-width: 767px) {
  .bottom-link-list__link i {
    margin-right: 15px;
    font-size: 1.3125rem;
  }
}

/*************** フッター ***************/
#l-footer {
  color: #767676;
}

#l-footer a {
  color: #767676;
}

#l-footer a:hover {
  color: #000000;
}

#l-footer + iframe {
  display: none;
}

.second #l-footer {
  margin-top: 15px;
}

@media only screen and (max-width: 767px) {
  .second #l-footer {
    margin-top: 0;
  }
}

.ft-main {
  padding-top: 37px;
  padding-bottom: 40px;
  background: rgba(229, 229, 229, 0.95);
}

@media only screen and (max-width: 767px) {
  .ft-main {
    padding: 0;
    font-size: 0.875rem;
  }
}

.ft-main-wrap {
  margin-top: 35px;
}

@media only screen and (max-width: 767px) {
  .ft-main-wrap {
    display: block;
    margin-top: 0px;
  }
}

.ft-logo {
  width: 195px;
  padding-top: 3px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 767px) {
  .ft-logo {
    margin-top: 30px;
    padding-top: 0px;
    width: auto;
    text-align: center;
  }
  .ft-logo img {
    width: 150px;
  }
}

.ft-logo img:hover {
  -webkit-filter: brightness(0%);
  filter: brightness(0%);
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.ft-copy {
  display: inline-block;
  margin-right: 15px;
  letter-spacing: 1.7px;
}

@media only screen and (max-width: 767px) {
  .ft-copy {
    display: block;
    margin-right: 0px;
    margin-bottom: 15px;
    text-align: left;
  }
}

.ft-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

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

.ft-info-list-wrap {
  display: inline-block;
}

@media only screen and (max-width: 767px) {
  .ft-info-list-wrap {
    display: block;
  }
}

.ft-info-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: 1px;
}

@media only screen and (max-width: 767px) {
  .ft-info-list {
    display: block;
  }
}

.ft-info-list__item {
  margin-right: 15px;
  font-size: 0.875rem;
  letter-spacing: 1.7px;
}

.ft-info-list__item:last-child {
  margin-right: 0px;
}

@media only screen and (max-width: 767px) {
  .ft-info-list__item {
    margin-right: 0;
  }
}

.ft-info__address {
  display: inline-block;
  margin-right: 15px;
  font-size: 0.875rem;
  letter-spacing: 1.7px;
}

@media only screen and (max-width: 767px) {
  .ft-info__address {
    display: block;
    margin-right: 0px;
    margin-bottom: 15px;
  }
}

.ft-navi-list {
  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;
  margin-right: 186px;
  margin-bottom: 18px;
}

@media only screen and (max-width: 767px) {
  .ft-navi-list {
    display: block;
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 0;
  }
}

.ft-navi-list__item {
  position: relative;
  margin-right: 30px;
}

@media only screen and (max-width: 767px) {
  .ft-navi-list__item {
    margin-right: 0;
    border-bottom: 1px solid #cccccc;
  }
}

.ft-navi-list__link {
  display: block;
  font-size: 1.125rem;
  color: #000000 !important;
  letter-spacing: 1px;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .ft-navi-list__link {
    position: relative;
    padding: 3px 15px;
    line-height: 45px;
    font-size: 1rem;
    text-decoration: none;
  }
  .ft-navi-list__link:before {
    content: "";
    display: block;
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -4px;
    width: 10px;
    height: 10px;
    border-right: 1px solid #aaaaaa;
    border-bottom: 1px solid #aaaaaa;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}

.ft-navi-list__link:hover {
  color: #000000;
  text-decoration: underline;
}

@media only screen and (max-width: 767px) {
  .ft-navi-list__link:hover {
    text-decoration: none;
  }
}

.ft-help-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: absolute;
  top: 81px;
  right: 0px;
}

@media only screen and (max-width: 767px) {
  .ft-help-list {
    display: block;
    position: static;
    margin-left: -15px;
    margin-right: -15px;
  }
}

.ft-help-list__item {
  position: relative;
  margin-right: 80px;
}

.ft-help-list__item:last-child {
  margin-right: 0px;
}

@media only screen and (max-width: 767px) {
  .ft-help-list__item {
    margin-right: 0;
    border-bottom: 1px solid #cccccc;
  }
}

.ft-help-list__link {
  display: block;
  color: #767676;
  letter-spacing: 2px;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .ft-help-list__link {
    position: relative;
    padding: 3px 15px;
    line-height: 45px;
    font-size: 0.875rem;
  }
}

.ft-help-list__link:hover {
  color: #000000;
  text-decoration: underline;
}

@media only screen and (max-width: 767px) {
  .ft-help-list__link:hover {
    text-decoration: none;
  }
}

.ft-help-list__link i {
  margin-right: 5px;
}

.copyright {
  padding-top: 15px;
  padding-bottom: 15px;
  background: #ffffff;
  color: #696969;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .copyright {
    font-size: 0.625rem;
  }
}

.ft-contact {
  position: absolute;
  top: -7px;
  right: 0px;
  width: 180px;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transition: opacity 0.2s ease;
  -o-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.ft-contact:hover {
  opacity: 0.9;
  filter: alpha(opacity=90);
}

@media only screen and (max-width: 767px) {
  .ft-contact {
    position: static;
    margin: 34px 15px;
    margin-bottom: 0px;
    padding-bottom: 30px;
    width: calc(100% - 30px);
    font-size: 1.125rem;
  }
}

.ft-contact i {
  margin-right: 15px;
  font-size: 1rem;
}

@media only screen and (max-width: 767px) {
  .ft-contact i {
    margin-right: 15px;
  }
}

.ft-contact__link {
  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;
  line-height: 40px;
  border: 1px solid #000000;
  border-radius: 0px;
  background: #3e0818;
  color: #eeeeee !important;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .ft-contact__link {
    height: 45px;
  }
}

.ft-contact__link:hover {
  border-color: #3e0818;
  background-color: #eeeeee;
  color: #3e0818 !important;
  text-decoration: none;
}

/*************** 固定フッター ***************/
.fix-link {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  width: 100%;
  background: rgba(0, 0, 0, 0.7);
  color: #ffffff;
}

.fix-link-wrap {
  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;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 5px;
  padding-bottom: 5px;
  height: 60px;
}

@media only screen and (max-width: 767px) {
  .fix-link-wrap {
    display: block;
    padding: 5px 15px;
    height: 90px;
    min-width: 320px;
  }
}

@media only screen and (max-width: 767px) {
  .fix-link__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 5px;
    font-size: 0.6875rem;
    height: 33px;
  }
}

.fix-link-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.fix-link-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 30px;
}

@media only screen and (max-width: 767px) {
  .fix-link-open {
    display: block;
  }
}

.fix-link-open__tel {
  margin-right: 15px;
  font-size: 1.875rem;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .fix-link-open__tel {
    margin-right: 0;
    font-size: 0.875rem;
  }
}

@media only screen and (max-width: 767px) {
  .fix-link-open__time {
    font-size: 0.6875rem;
  }
}

.fix-link-contact {
  width: 180px;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transition: opacity 0.2s ease;
  -o-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.fix-link-contact:hover {
  opacity: 0.9;
  filter: alpha(opacity=90);
}

@media only screen and (max-width: 767px) {
  .fix-link-contact {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: auto;
  }
}

.fix-link-contact a {
  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;
  line-height: 40px;
  border: 1px solid #ffffff;
  border-radius: 20px;
  background: #ffffff;
  color: #393939;
}

@media only screen and (max-width: 767px) {
  .fix-link-contact a {
    border-radius: 10px;
    line-height: 35px;
  }
}

.fix-link-contact a:hover {
  text-decoration: none;
}

.fix-link-contact i {
  margin-right: 15px;
  font-size: 1.125rem;
}

@media only screen and (max-width: 767px) {
  .fix-link-contact i {
    margin-right: 10px;
  }
}

/*********************************************/
/* Components */
/*********************************************/
/*************** 見出し ***************/
.c-ttl-main {
  margin-bottom: 40px;
  line-height: 1.2;
  font-size: 1.875rem;
  font-family: 'Orbitron', sans-serif;
  font-weight: 900;
  color: #000000;
}

@media only screen and (max-width: 767px) {
  .c-ttl-main {
    text-align: center;
  }
}

.c-ttl-main span {
  display: block;
  margin-top: 10px;
  font-size: 0.9375rem;
}

.c-ttl-main.is-left {
  text-align: left;
}

.c-ttl-main.is-top {
  text-align: center;
}

.c-ttl-sub {
  margin-bottom: 25px;
  line-height: 1.4;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000000;
}

.c-ttl-sub-s {
  margin-bottom: 15px;
  line-height: 1.4;
  font-size: 1.125rem;
  font-weight: bold;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000000;
}

.c-lead {
  margin-bottom: 45px;
  font-size: 1.125rem;
  line-height: 2;
  text-align: center;
}

/*************** メインビジュアル ***************/
/* メインビジュアル 01 */
.c-main-visual-type01-wrap {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  width: 1020px;
}

@media (min-width: 1360px) {
  .c-main-visual-type01-wrap {
    left: 50%;
    margin-left: -750px;
    width: 1500px;
    padding-left: 0;
    padding-right: 0;
  }
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-wrap {
    position: static;
    padding-left: 0;
    padding-right: 0;
    width: auto;
    height: auto;
  }
}

.c-main-visual-type01-wrap.is-pager {
  height: auto;
}

.c-main-visual-type01 {
  position: relative;
  /*overflow: hidden;*/
  color: #ffffff;
}

.c-main-visual-type01-box {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  background: #999899;
  color: #ffffff;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-box {
    display: block;
    left: 0;
  }
}

.c-main-visual-type01-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 30px 75px;
  width: 50%;
  height: 600px;
}

@media (min-width: 1360px) {
  .c-main-visual-type01-txt {
    padding: 0 135px;
  }
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 30px;
    width: auto;
    height: 225px;
    text-align: center;
  }
}

.c-main-visual-type01-txt__ttl {
  margin-bottom: 30px;
  font-size: 1.875rem;
  font-weight: bold;
}

.c-main-visual-type01-txt__ttl a {
  color: #ffffff;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-txt__ttl {
    margin-bottom: 15px;
    font-size: 1.5rem;
    text-align: left;
  }
}

.c-main-visual-type01-txt__ttl-s {
  display: block;
  margin-bottom: 30px;
  font-size: 1.375rem;
  font-weight: normal;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-txt__ttl-s {
    margin-bottom: 15px;
    font-size: 1.125rem;
    text-align: center;
  }
}

.c-main-visual-type01-txt__body {
  line-height: 2;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-txt__body {
    display: none;
    padding-bottom: 0;
    text-align: left;
  }
}

.c-main-visual-type01__img {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 495px;
  width: 495px;
}

@media (min-width: 1360px) {
  .c-main-visual-type01__img {
    left: 750px;
    width: auto;
  }
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01__img {
    position: static;
    width: 100%;
  }
}

.c-main-visual-type01__img img {
  margin-left: -125px;
  max-width: inherit;
}

@media (min-width: 1360px) {
  .c-main-visual-type01__img img {
    margin-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01__img img {
    margin-left: 0;
    max-width: 100%;
    width: 100%;
  }
}

/****** メインビジュアル 02 ******/
.c-main-visual-type02 {
  position: relative;
  height: 600px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type02 {
    height: auto;
    min-height: 330px;
  }
}

.c-main-visual-type02-wrap {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 600px;
  background: url(../images/main-visual-01.jpg) no-repeat center center;
  background-size: cover;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type02-wrap {
    padding: 30px;
    height: auto;
    min-height: 330px;
    background-size: cover;
  }
}

.c-main-visual-type02__ttl {
  margin-bottom: 30px;
  font-size: 1.875rem;
  font-weight: bold;
  line-height: 2;
}

.c-main-visual-type02__ttl a {
  color: #ffffff;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type02__ttl {
    margin-bottom: 15px;
    font-size: 1.5rem;
  }
}

.c-main-visual-type02__ttl-s {
  display: block;
  margin-bottom: 20px;
  font-size: 1.375rem;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type02__ttl-s {
    margin-bottom: 15px;
    font-size: 1.125rem;
  }
}

.c-main-visual-type02__body {
  line-height: 2;
}

/****** メインビジュアル 03 ******/
.c-main-visual-type03 {
  margin-left: auto;
  margin-right: auto;
  width: 990px;
}

@media (min-width: 1260px) {
  .c-main-visual-type03 {
    width: 1200px;
  }
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type03 {
    width: auto;
  }
}

.c-main-visual-type03 .slick-dots {
  bottom: -30px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type03 .slick-prev {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type03 .slick-next {
    display: none !important;
  }
}

/****** メインビジュアル 04 ******/
.c-main-visual-type04 {
  position: relative;
  height: 600px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type04 {
    height: auto;
    min-height: 330px;
  }
}

.c-main-visual-type04-wrap {
  position: relative;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type04-wrap {
    padding: 60px 15px 30px 15px;
    height: auto;
    min-height: 330px;
    background-size: cover;
  }
}

.c-main-visual-type04-wrap:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

.c-main-visual-type04-wrap .container {
  z-index: 10;
}

.c-main-visual-type04-main {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 600px;
}

.c-main-visual-type04__ttl {
  margin-bottom: 30px;
  font-size: 1.875rem;
  font-weight: bold;
  line-height: 2;
}

.c-main-visual-type04__ttl a {
  color: #ffffff;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type04__ttl {
    margin-bottom: 15px;
    font-size: 1.5rem;
  }
}

.c-main-visual-type04__ttl-s {
  display: block;
  margin-bottom: 20px;
  font-size: 1.375rem;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type04__ttl-s {
    margin-bottom: 15px;
    font-size: 1.125rem;
  }
}

.c-main-visual-type04__body {
  line-height: 2;
}

.c-main-visual-type04__bg {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  will-change: transform;
}

.c-main-visual-type04__bg.is-slick-zoom {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  /*
		transform: matrix3d(
			1, 0, 0, 0,
			0, 1, 0, 0,
			0, 0, 1, 0,
			0, 0, 0, 0.9
		);
		*/
}

.slick-active .is-slick-zoom {
  -webkit-animation-name: bg-zoom;
  animation-name: bg-zoom;
  -webkit-animation-duration: 6s;
  animation-duration: 6s;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  /*
		transform: matrix3d(
			1, 0, 0, 0,
			0, 1, 0, 0,
			0, 0, 1, 0,
			0, 0, 0, 1
		);
		*/
}

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

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

/***** メインビジュアル ページャー *****/
.c-main-visual-type01-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 6px 0;
  background: #ffffff;
}

.c-main-visual-type01-list__item {
  margin-left: 10px;
  margin-right: 10px;
  width: 80px;
  line-height: 1;
  height: 6px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-type01-list__item {
    margin-left: 5px;
    margin-right: 5px;
    width: 50px;
  }
}

.c-main-visual-type01-list__btn {
  white-space: nowrap;
  text-indent: -99999px;
  overflow: hidden;
  padding: 0;
  border: 0;
  width: 100%;
  height: 6px;
  background: #cccccc;
  vertical-align: top;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.c-main-visual-type01-list__btn.is-on {
  background: #888888;
}

.c-main-visual-type01-list__btn:hover {
  background: #888888;
}

/***** メインビジュアル コントロール *****/
.c-main-visual-control__item {
  position: absolute;
  top: 50%;
}

.c-main-visual-control__item.is-prev {
  left: 15px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-control__item.is-prev {
    left: 10px;
  }
}

.c-main-visual-control__item.is-next {
  right: 15px;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-control__item.is-next {
    right: 10px;
  }
}

.c-main-visual-control__btn {
  overflow: hidden;
  white-space: nowrap;
  text-indent: -99999px;
  position: relative;
  width: 65px;
  height: 65px;
  border: 0;
  background: transparent;
}

@media only screen and (max-width: 767px) {
  .c-main-visual-control__btn {
    width: 45px;
    height: 45px;
  }
}

.c-main-visual-control__btn:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -7px;
  width: 40px;
  height: 40px;
  border-right: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}

@media only screen and (max-width: 767px) {
  .c-main-visual-control__btn:before {
    margin-top: -13px;
    margin-left: -7px;
    width: 25px;
    height: 25px;
  }
}

.c-main-visual-control__btn.is-next:before {
  left: auto;
  right: 50%;
  margin-left: 0;
  margin-right: -7px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/*************** メッセージ・アラート ***************/
.c-alert {
  padding: 15px;
  border: 1px solid #cccccc;
  border-radius: 5px;
}

.c-alert.is-success {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}

.c-alert.is-info {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}

.c-alert.is-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}

.c-alert.is-danger {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}

.error,
.c-error {
  margin-top: 5px;
  padding: 5px 10px;
  border-radius: 5px;
  border: 2px solid #ffcfcf;
  background: #fff0f0;
  color: #ff0000;
}

.c-em {
  font-weight: bold;
  color: #ff6600;
}

/*************** ボタン ***************/
.c-btn {
  display: inline-block;
  padding: 15px 15px;
  border: 1px solid #000000;
  border-radius: 0px;
  min-width: 270px;
  line-height: 1.4;
  background: #ffffff;
  color: #000000;
  font-size: 1rem;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 100ms 0s ease;
  -o-transition: all 100ms 0s ease;
  transition: all 100ms 0s ease;
  position: relative;
}

.c-btn:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  left: auto;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all 200ms 0s ease;
  -o-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
}

@media only screen and (max-width: 767px) {
  .c-btn {
    min-width: 270px;
  }
}

.c-btn.is-back {
  position: relative;
  border-color: #aaaaaa;
  color: #767676;
}

.c-btn.is-back:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: auto;
  left: 20px;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #696969;
  border-bottom: 1px solid #696969;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transition: all 200ms 0s ease;
  -o-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
}

.c-btn.is-no-arrow {
  position: relative;
}

.c-btn.is-no-arrow:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: auto;
  left: 0px;
  margin-top: 0px;
  width: 0px;
  height: 0px;
  border-right: 0px solid #696969;
  border-bottom: 0px solid #696969;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transition: all 200ms 0s ease;
  -o-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
}

.c-btn:hover {
  border-color: #7e243e;
  color: #7e243e;
  cursor: pointer;
  text-decoration: none;
  position: relative;
}

.c-btn:hover:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: 18px;
  left: auto;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #7e243e;
  border-bottom: 1px solid #7e243e;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all 200ms 0s ease;
  -o-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
}

.c-btn.is-w {
  width: 100%;
}

/* input画像ボタンサイズ */
.c-btn i {
  margin-right: 7px;
}

.c-btn.is-s {
  padding: 10px 15px;
  min-width: inherit;
  font-size: 0.875rem;
}

.c-btn.is-m {
  padding: 11px 30px;
}

.c-btn.is-l {
  padding: 15px 30px;
  font-size: 1.125rem;
}

@media only screen and (max-width: 767px) {
  .c-btn.is-l {
    padding: 11px 30px;
    font-size: 1rem;
  }
}

/***** ボタンバリエーション *****/
.c-btn.is-primary {
  border-color: transparent;
  background: #000000;
  color: #ffffff;
  position: relative;
}

.c-btn.is-primary:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  left: auto;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all 200ms 0s ease;
  -o-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
}

.c-btn.is-primary.is-no-arrow {
  position: relative;
}

.c-btn.is-primary.is-no-arrow:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: auto;
  left: 0px;
  margin-top: 0px;
  width: 0px;
  height: 0px;
  border-right: 0px solid #696969;
  border-bottom: 0px solid #696969;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transition: all 200ms 0s ease;
  -o-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
}

.c-btn.is-primary:hover {
  background: rgba(0, 0, 0, 0.9);
  color: #ffffff;
}

.c-btn.is-success {
  border-color: #398439;
  background: #449d44;
  color: #ffffff;
}

.c-btn.is-success:hover {
  background: #398439;
  color: #ffffff;
}

.c-btn.is-link {
  border-color: #cccccc;
  border-width: 1px;
  background: #ffffff;
  color: #000000;
}

.c-btn.is-link:hover {
  background: #000000;
  color: #ffffff;
}

.c-btn.is-disable {
  border-color: #dddddd;
  background: #e5e5e5;
  color: #aaaaaa;
  -webkit-box-shadow: none;
  box-shadow: none;
  cursor: default;
}

.c-btn.is-arrow {
  padding-right: 30px;
  position: relative;
}

.c-btn.is-arrow:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: 15px;
  left: auto;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #666666;
  border-bottom: 2px solid #666666;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all 200ms 0s ease;
  -o-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
}

.c-btn.is-arrow-bottom {
  padding-right: 30px;
  position: relative;
}

.c-btn.is-arrow-bottom:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #666666;
  border-bottom: 2px solid #666666;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 200ms 0s ease;
  -o-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
}

/*************** 吹き出しボックス ***************/
.c-msg-box {
  padding: 15px;
  border-radius: 10px;
  background: #cccccc;
}

.c-msg-box.is-arrow-bottom {
  position: relative;
}

.c-msg-box.is-arrow-bottom:before {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  margin-left: -20px;
  left: 50%;
  width: 0px;
  height: 0px;
  border: solid transparent;
  border-top-color: #666666;
  border-width: 20px;
}

.c-msg-box.is-arrow-left {
  position: relative;
}

.c-msg-box.is-arrow-left:before {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
  margin-left: -10px;
  right: 100%;
  width: 0px;
  height: 0px;
  border: solid transparent;
  border-top-color: #666666;
  border-right-color: #666666;
  border-width: 10px;
}

/*************** table風 レスポンシブリスト ***************/
/*** テーブル風リスト 01 ***/
.c-tbl-list-type01 {
  width: 100%;
}

.c-tbl-list-type01__tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px solid #dddddd;
}

@media only screen and (max-width: 767px) {
  .c-tbl-list-type01__tr {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.c-tbl-list-type01__tr:last-child {
  border-bottom: 1px solid #dddddd;
}

.c-tbl-list-type01__th,
.c-tbl-list-type01__td {
  overflow: hidden;
  word-wrap: break-word;
  word-break: break-all;
}

.c-tbl-list-type01__th {
  padding: 15px;
  width: 180px;
  border-right: 1px solid #dddddd;
}

@media only screen and (max-width: 767px) {
  .c-tbl-list-type01__th {
    padding: 10px;
    width: 90px;
    font-size: 0.75rem;
  }
}

.c-tbl-list-type01__td {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 15px 15px 15px 30px;
  color: #696969;
}

@media only screen and (max-width: 767px) {
  .c-tbl-list-type01__td {
    padding: 10px;
    font-size: 0.75rem;
  }
}

/*** テーブル風リスト 02 ***/
.c-tbl-list-type02 {
  width: 100%;
}

.c-tbl-list-type02__tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px solid #dddddd;
}

.c-tbl-list-type02__tr:last-child {
  border-bottom: 1px solid #dddddd;
}

@media only screen and (max-width: 767px) {
  .c-tbl-list-type02__tr {
    display: block;
    margin-bottom: 30px;
    padding-top: 0;
    padding-bottom: 0;
    border-top: 0;
  }
  .c-tbl-list-type02__tr:last-child {
    border-bottom: 0;
  }
}

.c-tbl-list-type02__th,
.c-tbl-list-type02__td {
  overflow: hidden;
  word-wrap: break-word;
  word-break: break-all;
}

.c-tbl-list-type02__th {
  padding: 15px;
  width: 180px;
  border-right: 1px solid #dddddd;
}

@media only screen and (max-width: 767px) {
  .c-tbl-list-type02__th {
    margin-bottom: 10px;
    padding: 0;
    width: auto;
    border-right: 0;
    color: #000000;
    text-align: left;
  }
}

.c-tbl-list-type02__td {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 15px;
}

@media only screen and (max-width: 767px) {
  .c-tbl-list-type02__td {
    padding: 0;
  }
}

/*** ２項目テーブル風リスト ***/
.c-tbl-second-list {
  border-top: 1px solid #dddddd;
}

@media only screen and (max-width: 767px) {
  .c-tbl-second-list {
    border-top: 0;
  }
}

.c-tbl-second-list__tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-bottom: 1px solid #dddddd;
}

.c-tbl-second-list__th {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 15px;
  width: 240px;
  background: #cccccc;
}

@media only screen and (max-width: 767px) {
  .c-tbl-second-list__th {
    display: block;
    padding: 5px 15px;
    width: 100%;
    border-bottom: 0;
    font-size: 0.75rem;
  }
}

.c-tbl-second-list__ttl {
  font-weight: bold;
  color: #ffffff;
}

.c-tbl-second-list__td {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 15px;
  border-right: 1px solid #dddddd;
}

@media only screen and (max-width: 767px) {
  .c-tbl-second-list__td {
    padding: 10px 15px;
    font-size: 0.75rem;
  }
}

.c-tbl-second-list__td.is-02 {
  border-right: 0;
}

/*** 横並びテーブル風リスト ***/
.c-tbl-list-double {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .c-tbl-list-double {
    display: block;
  }
}

.c-tbl-list-double__tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -1px;
  padding-top: 10px;
  padding-bottom: 10px;
  border: 1px solid #dddddd;
  width: 50%;
}

@media only screen and (max-width: 767px) {
  .c-tbl-list-double__tr {
    padding-top: 10px;
    padding-bottom: 10px;
    border-left: 0;
    border-right: 0;
    width: auto;
  }
}

.c-tbl-list-double__tr:nth-child(even) {
  border-left: 0;
}

.c-tbl-list-double__th,
.c-tbl-list-double__td {
  overflow: hidden;
  word-wrap: break-word;
  word-break: break-all;
}

.c-tbl-list-double__th {
  padding: 10px 15px;
  width: 120px;
  border-right: 1px solid #dddddd;
}

@media only screen and (max-width: 767px) {
  .c-tbl-list-double__th {
    padding: 5px 10px;
    width: 90px;
    font-size: 0.75rem;
  }
}

.c-tbl-list-double__td {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 10px 15px;
  color: #696969;
}

@media only screen and (max-width: 767px) {
  .c-tbl-list-double__td {
    padding: 5px 10px;
    font-size: 0.75rem;
  }
}

/*************** table ***************/
.c-tbl {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .c-tbl {
    font-size: 0.75rem;
  }
}

.c-tbl__th {
  padding: 10px 20px;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  background: #EEEEEE;
  width: 165px;
  vertical-align: top;
}

@media only screen and (max-width: 767px) {
  .c-tbl__th {
    padding: 5px 10px;
    width: 105px;
  }
}

.c-tbl__td {
  padding: 10px 20px;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  background: #ffffff;
}

@media only screen and (max-width: 767px) {
  .c-tbl__td {
    padding: 5px 10px;
  }
}

/*************** リスト ***************/
.c-img-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

@media only screen and (max-width: 767px) {
  .c-img-list {
    margin-left: -5px;
    margin-right: -5px;
  }
}

.c-img-list__item {
  margin-bottom: 30px;
  padding-left: 15px;
  padding-right: 15px;
  width: 25%;
}

@media only screen and (max-width: 767px) {
  .c-img-list__item {
    margin-bottom: 10px;
    padding-left: 5px;
    padding-right: 5px;
    width: 50%;
  }
}

.c-img-list__img figcaption {
  margin-top: 10px;
}

.c-list__item {
  position: relative;
  padding: 15px;
  border-bottom: 1px solid #dddddd;
  font-size: 1.125rem;
  color: #000000;
}

@media only screen and (max-width: 767px) {
  .c-list__item {
    padding: 10px;
    font-size: 1.125rem;
  }
}

.c-list__item:first-child {
  border-top: 1px solid #dddddd;
}

/*************** ページャー ***************/
.pager-list {
  padding: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.pager-list__item {
  margin-left: 10px;
  margin-right: 10px;
  width: 45px;
  line-height: 43px;
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .pager-list__item {
    margin-left: 5px;
    margin-right: 5px;
    width: 40px;
    line-height: 38px;
    font-size: 0.875rem;
  }
}

.pager-list__item span {
  display: block;
  border: 1px solid #000000;
  border-radius: 50%;
  background: #000000;
  color: #ffffff;
  text-decoration: none;
}

.pager-list__link {
  display: block;
  border: 1px solid #000000;
  border-radius: 50%;
  background: #ffffff;
  color: #000000;
  text-decoration: none;
}

.pager-list__link:hover {
  background: #000000;
  color: #ffffff;
  text-decoration: none;
}

/***** ページャー 四角 *****/
.pager.is-square .pager-list__item span {
  border-radius: 0;
}

.pager.is-square .pager-list__link {
  border-radius: 0;
}

/***** ページャー 角丸 *****/
.pager.is-square-r .pager-list__item span {
  border-radius: 5px;
}

.pager.is-square-r .pager-list__link {
  border-radius: 5px;
}

.form-list .c-check-list {
  margin-top: 10px;
}

.c-check-list__item {
  margin-bottom: 15px;
}

.c-check-list__item:last-child {
  margin-bottom: 0;
}

/*************** コンテンツ間の余白 ***************/
.c-contents {
  padding-top: 75px;
  padding-bottom: 90px;
  background: rgba(255, 255, 255, 0.9);
}

@media only screen and (max-width: 767px) {
  .c-contents {
    padding-top: 45px;
    padding-bottom: 45px;
  }
}

.c-contents.is-gray {
  background: rgba(238, 238, 238, 0.9);
}

.c-contents.is-border {
  border-top: 1px solid #dddddd;
}

.c-contents .c-contents-box:last-child {
  margin-bottom: 0;
}

.c-contents-box {
  margin-bottom: 60px;
}

@media only screen and (max-width: 767px) {
  .c-contents-box {
    margin-bottom: 45px;
  }
}

.c-frame {
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 30px;
  padding-right: 30px;
}

@media only screen and (max-width: 767px) {
  .c-frame {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 0;
    padding-right: 0;
  }
}

/*********************************************/
/* Utility */
/*********************************************/
/* clearfix */
.u-cl:before, .u-cl:after {
  content: " ";
  display: table;
}

.u-cl:after {
  clear: both;
}

.u-cl {
  *zoom: 1;
}

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

.u-through {
  text-decoration: line-through;
}

.u-fss {
  font-size: 10px !important;
}

.u-fs {
  font-size: 12px !important;
}

.u-fm {
  font-size: 14px !important;
}

.u-fl {
  font-size: 18px !important;
}

.u-fll {
  font-size: 24px !important;
}

.u-fxl {
  font-size: 30px !important;
}

.u-mincho {
  font-family: YakuHanMPs, georgia, century, serif;
}

.u-mincho-sawarabi {
  font-family: YakuHanMPs, "Sawarabi Mincho", serif;
}

.u-gothic-noto {
  font-family: YakuHanJPs, "Noto Sans Japanese", sans-serif;
}

.u-gothic-rounded {
  font-family: "M PLUS Rounded 1c", sans-serif;
}

/* float */
.u-float-l {
  float: left;
}

.u-float-r {
  float: right;
}

/* text-align */
.u-tl {
  text-align: left !important;
}

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

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

/* vertical-align */
.u-vat {
  vertical-align: top !important;
}

.u-vam {
  vertical-align: middle !important;
}

.u-vab {
  vertical-align: bottom !important;
}

/* bottom-margin */
.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-mb60 {
  margin-bottom: 60px !important;
}

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

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

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

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

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

.u-mbll {
  margin-bottom: 120px !important;
}

.u-mbxl {
  margin-bottom: 240px !important;
}

/* padding */
.u-plrs {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.u-plrm {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* 幅 */
.u-ws {
  width: 50px;
}

.u-wm {
  width: 100px;
}

.u-wl {
  width: 200px;
}

.u-w-half {
  width: 50%;
}

.u-w-max {
  width: 100%;
}

/* 色 */
.u-red {
  color: #eb0800;
}

.u-required {
  color: #eb0800;
}

/* 必須 */
.u-date {
  color: #888888;
}

/* 日付 */
.u-dpn {
  display: none;
}

.u-pc-only {
  display: block;
}

.u-sp-only {
  display: none;
}

img.u-pc-only {
  display: inline;
}

img.u-sp-only {
  display: none;
}

@media only screen and (max-width: 767px) {
  .u-pc-only {
    display: none;
  }
  .u-sp-only {
    display: block;
  }
  img.u-pc-only {
    display: none;
  }
  img.u-sp-only {
    display: inline;
  }
}

/* opacity */
.u-opa a img,
.u-opa-img img,
.u-opa-box {
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transition: opacity 0.2s ease;
  -o-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.u-opa a img:hover,
.u-opa-img img:hover,
.u-opa-box:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
}

.u-spr {
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  border: 0;
  cursor: pointer;
}

.u-spr::-moz-focus-inner {
  padding: 0;
  border: none;
}

.u-pre {
  padding: 15px;
  background: #333333;
  color: #ffffff;
}

/***** 画像 *****/
.u-img {
  margin-bottom: 15px;
}

/***** テキスト *****/
.u-txt {
  line-height: 1.8;
}

@media only screen and (max-width: 767px) {
  .u-list-txt {
    padding-left: 0;
  }
}

/* input画像ボタンにつける */
.u-input-img {
  padding: 0;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  cursor: pointer;
}

.u-input-img:hover {
  padding: 0;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

/* inputテキストボタンにつける */
.u-input-txt {
  padding: 0;
  border: none;
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.u-input-txt:hover {
  padding: 0;
  border: none;
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  cursor: pointer;
  text-decoration: underline;
}

.u-hidden {
  overflow: hidden;
}

.u-overbg {
  margin-left: -500%;
  margin-right: -500%;
  padding-left: 500%;
  padding-right: 500%;
}

.u-overframe {
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
}

/**************************************************/
/* top */
/**************************************************/
.main-visual-bg {
  background: rgba(238, 238, 238, 0.9);
  overflow: visible;
}

@media (min-width: 1360px) {
  .main-visual-bg {
    overflow: hidden;
  }
}

.btn-more {
  margin-top: 45px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .btn-more {
    margin-top: 30px;
  }
}

.btn-more.is-m {
  margin-top: 30px;
}

.top-main-txt {
  padding-top: 30px;
  padding-bottom: 30px;
}

@media only screen and (max-width: 767px) {
  .top-main-txt {
    padding: 15px;
  }
}

.top-main-txt__ttl {
  margin-bottom: 15px;
  font-size: 1.3125rem;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
}

/***** TOP movie *****/
.top-movie-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -30px;
  margin-right: -30px;
}

@media only screen and (max-width: 767px) {
  .top-movie-list {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
}

.top-movie-list__item {
  margin-bottom: 60px;
  padding-left: 30px;
  padding-right: 30px;
  width: 33.3333%;
}

@media only screen and (max-width: 767px) {
  .top-movie-list__item {
    margin-bottom: 30px;
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
}

.top-movie-list__item.is-second {
  width: 50%;
}

@media only screen and (max-width: 767px) {
  .top-movie-list__item.is-second {
    width: auto;
  }
}

.top-movie-list__link {
  display: block;
  position: relative;
}

.top-movie-list__link:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  margin-left: -25px;
  margin-top: -17px;
  width: 50px;
  height: 35px;
  background: url(../images/youtube-brands.svg) no-repeat;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
}

/***** TOP what's new *****/
.top-news-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -30px;
  margin-right: -30px;
}

@media only screen and (max-width: 767px) {
  .top-news-list {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
}

.top-news-list__item {
  margin-bottom: 60px;
  padding-left: 30px;
  padding-right: 30px;
  width: 33.3333%;
}

@media only screen and (max-width: 767px) {
  .top-news-list__item {
    margin-bottom: 30px;
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
}

.top-news-list__ttl {
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 1.125rem;
  font-weight: bold;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000000;
}

/***** TOP 下部コンテンツ *****/
.top-col-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -30px;
  margin-right: -30px;
}

@media only screen and (max-width: 767px) {
  .top-col-2 {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
}

.top-col-2__item {
  padding-left: 30px;
  padding-right: 30px;
  width: 50%;
}

@media only screen and (max-width: 767px) {
  .top-col-2__item {
    margin-bottom: 60px;
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
}

.top-schedule-list {
  margin-bottom: 30px;
}

.top-schedule-list:last-child {
  margin-bottom: 0;
}

.top-schedule-list__item {
  margin-bottom: 20px;
}

.top-schedule-list__ttl {
  margin-bottom: 10px;
  font-size: 1.125rem;
  font-weight: bold;
  font-family: sans-serif;
  color: #000000;
}

.top-schedule-list__ttl {
  font-size: 1.125rem;
  font-weight: bold;
  font-family: sans-serif;
  color: #000000;
}

.top-schedule-list__name {
  font-weight: bold;
  font-family: sans-serif;
}

.top-catelog {
  margin-bottom: 60px;
}

.top-catelog-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

.top-catelog-list__item {
  margin-bottom: 20px;
  padding-left: 10px;
  padding-right: 10px;
  width: 50%;
}

@media only screen and (max-width: 767px) {
  .top-facebook iframe {
    max-width: 100% !important;
    width: 740px !important;
    height: 300px !important;
  }
}

/**************************************************/
/* NEWS */
/**************************************************/
/***** NEWS 一覧 *****/
@media only screen and (max-width: 767px) {
  .news-index {
    margin-bottom: 45px;
  }
}

.news-list__item {
  margin-bottom: 60px;
}

.news-list__item-in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
  .news-list__item-in {
    display: block;
    width: auto;
  }
}

.news-list__link:hover {
  text-decoration: none;
}

.news-list__link .news-list__ttl {
  color: #000000;
}

.news-list__link:hover .news-list__ttl {
  color: #000000;
}

.news-list__img {
  width: 240px;
  margin-bottom: 15px;
}

@media only screen and (max-width: 767px) {
  .news-list__img {
    margin-left: auto;
    margin-right: auto;
  }
}

.news-list__head {
  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;
  margin-bottom: 10px;
}

.news-list__category {
  margin-left: 10px;
  padding: 2px 10px;
  border-radius: 5px;
  font-size: 12px;
  line-height: 15px;
  background: #00a0e9;
  color: #ffffff;
}

.news-list__date {
  color: #696969;
}

.news-list__txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 30px;
  word-wrap: break-word;
}

@media only screen and (max-width: 767px) {
  .news-list__txt {
    margin-left: 0;
  }
}

.news-list__txt strong {
  font-weight: bold;
}

/**************************************************/
/* About */
/**************************************************/
.about-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

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

.about-box {
  margin-bottom: 60px;
}

.about-flex__img {
  width: 240px;
}

@media only screen and (max-width: 767px) {
  .about-flex__img {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
  }
}

.about-flex__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 30px;
}

@media only screen and (max-width: 767px) {
  .about-flex__body {
    margin-left: 0;
  }
}

/**************************************************/
/* Collection */
/**************************************************/
.collection-navi-list.is-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  .collection-navi-list.is-top {
    display: block;
  }
}

.collection-navi-list__item.is-top {
  width: 48.5%;
}

@media only screen and (max-width: 767px) {
  .collection-navi-list__item.is-top {
    width: auto;
  }
}

.collection-navi-list__item {
  margin-bottom: 30px;
  background: #ffffff;
  -webkit-transition: all 0.1s ease;
  -o-transition: all 0.1s ease;
  transition: all 0.1s ease;
}

@media only screen and (max-width: 767px) {
  .collection-navi-list__item {
    margin-bottom: 15px;
  }
}

.collection-navi-list__item:hover {
  background: #3e0818;
}

.collection-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

@media only screen and (max-width: 767px) {
  .collection-list {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
}

.collection-list__item {
  margin-bottom: 30px;
  padding-left: 15px;
  padding-right: 15px;
  width: 33.3333%;
}

@media only screen and (max-width: 767px) {
  .collection-list__item {
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
}

.collection-list__img {
  margin-bottom: 10px;
}

.collection-list__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  line-height: 18px;
  font-size: 1.125rem;
  font-weight: bold;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

.collection-list__ttl img {
  margin-right: 10px;
  min-width: 18px;
  height: 18px;
}

.collection-list__ttl a {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.collection-list__state {
  display: inline-block;
  margin-top: 10px;
  padding: 0 10px;
  line-height: 1.4;
  border-radius: 3px;
  font-size: 0.875rem;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  background: #ed6400;
  color: #ffffff;
}

.collection-list__state.is-finish {
  background: #888888;
}

/********** collection 詳細 **********/
.collection-detail {
  position: relative;
}

.collection-detail__state {
  position: absolute;
  right: 30px;
  top: 60px;
  display: inline-block;
  padding: 0 10px;
  line-height: 1.4;
  border-radius: 3px;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  background: #ed6400;
  color: #ffffff;
}

@media only screen and (max-width: 767px) {
  .collection-detail__state {
    position: static;
    margin-bottom: 10px;
  }
}

.collection-detail__state.is-finish {
  background: #888888;
}

.collection-main {
  margin-bottom: 60px;
}

.collection-main-img-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
}

.collection-main-img-list__item {
  margin-top: 10px;
  padding-left: 5px;
  padding-right: 5px;
  width: 25%;
}

.collection-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: 60px;
}

@media only screen and (max-width: 767px) {
  .collection-info {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
}

.collection-info-spec {
  padding-left: 15px;
  padding-right: 15px;
  width: 50%;
}

@media only screen and (max-width: 767px) {
  .collection-info-spec {
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
}

.collection-info-spec-tbl {
  margin-bottom: 30px;
  width: 100%;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 0.875rem;
}

.collection-info-spec-tbl__th {
  padding-bottom: 15px;
  width: 120px;
  line-height: 1.2;
  color: #767676;
  vertical-align: top;
}

.collection-info-spec-tbl__td {
  padding-left: 15px;
  padding-bottom: 15px;
  line-height: 1.2;
  vertical-align: top;
}

.collection-info-note {
  padding-left: 15px;
  padding-right: 15px;
  width: 50%;
}

@media only screen and (max-width: 767px) {
  .collection-info-note {
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
}

.production-end__body {
  margin-bottom: 15px;
  color: #dc5d00;
  font-weight: bold;
}

.other-models {
  margin-bottom: 60px;
}

.other-models-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

@media only screen and (max-width: 767px) {
  .other-models-list {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
}

.other-models-list__item {
  padding-left: 15px;
  padding-right: 15px;
  width: 33.3333%;
}

@media only screen and (max-width: 767px) {
  .other-models-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 15px;
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
}

@media only screen and (max-width: 767px) {
  .other-models-list__img {
    width: 120px;
  }
}

.other-models-list__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: 5px;
  line-height: 16px;
  font-size: 1rem;
  font-weight: bold;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

@media only screen and (max-width: 767px) {
  .other-models-list__ttl {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 10px;
  }
}

.other-models-list__ttl img {
  margin-right: 10px;
  min-width: 16px;
  height: 16px;
}

.other-models-list__ttl a {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

/********** knife spec list **********/
.knife-spec {
  margin-bottom: 60px;
}

.knife-spec-list__item {
  margin-bottom: 45px;
}

.knife-spec-list__ttl {
  margin-bottom: 5px;
  font-size: 1rem;
  font-weight: bold;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

.spec_table {
  width: 100%;
  font-size: 0.875rem;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

.spec_table th {
  padding: 6px;
  border-top: 1px solid #888888;
  border-bottom: 1px solid #888888;
  border-left: 1px solid #aaaaaa;
  border-right: 1px solid #aaaaaa;
  line-height: 1.1;
  background: rgba(221, 221, 221, 0.8);
  color: #222222;
  font-weight: bold;
  text-align: center;
}

.spec_table th.th_sub {
  background: rgba(136, 136, 136, 0.2);
  width: 98px;
}

.spec_table th.th_sub_s {
  background: rgba(170, 170, 170, 0.2);
  font-weight: normal;
}

.spec_table th.spec_table_th_spec {
  padding-left: 115px;
}

.spec_table td {
  padding: 6px;
  border-top: 1px solid #888888;
  border-bottom: 1px solid #888888;
  border-left: 1px solid #aaaaaa;
  border-right: 1px solid #aaaaaa;
  background: rgba(255, 255, 255, 0.1);
  text-align: center;
}

/***** 横スクロールテーブルのシャドウ *****/
@media only screen and (max-width: 767px) {
  .table-wrap {
    padding-bottom: 0px;
    width: auto;
    overflow: auto;
    white-space: nowrap;
    background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), to(rgba(0, 0, 0, 0.1))) 0 0/20px 100%, -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(0, 0, 0, 0.1))) right/20px 100%;
    background: -webkit-linear-gradient(right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1)) 0 0/20px 100%, -webkit-linear-gradient(left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1)) right/20px 100%;
    background: -o-linear-gradient(right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1)) 0 0/20px 100%, -o-linear-gradient(left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1)) right/20px 100%;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1)) 0 0/20px 100%, linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1)) right/20px 100%;
    background-repeat: no-repeat;
    background-attachment: scroll;
  }
}

@media only screen and (max-width: 767px) {
  .table-wrap table {
    background: -webkit-linear-gradient(right, rgba(255, 255, 255, 0), white 15px) 0 0/50px 100%, -webkit-linear-gradient(left, rgba(255, 255, 255, 0), white 15px) right/50px 100%;
    background: -o-linear-gradient(right, rgba(255, 255, 255, 0), white 15px) 0 0/50px 100%, -o-linear-gradient(left, rgba(255, 255, 255, 0), white 15px) right/50px 100%;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), white 15px) 0 0/50px 100%, linear-gradient(to right, rgba(255, 255, 255, 0), white 15px) right/50px 100%;
    background-repeat: no-repeat;
    background-attachment: local;
    border-collapse: collapse;
  }
}

.table-wrap::-webkit-scrollbar {
  height: 8px;
}

.table-wrap::-webkit-scrollbar-track {
  border-radius: 4px;
  background: #e5e5e5;
}

.table-wrap::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background: #999899;
}

.tbl-scroll-attention {
  display: none;
}

@media only screen and (max-width: 767px) {
  .tbl-scroll-attention {
    display: block;
    margin-bottom: 15px;
    font-size: 0.75rem;
    color: #767676;
  }
}

/**************************************************/
/* Making */
/**************************************************/
.making-list__item {
  margin-bottom: 60px;
}

.making-list__body {
  line-height: 2;
}

.making-list__img {
  float: right;
  margin-left: 30px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 767px) {
  .making-list__img {
    display: block;
    float: none;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
  }
}

/**************************************************/
/* Maintenance */
/**************************************************/
.maintenance-gallery-list__item {
  margin-bottom: 60px;
  position: relative;
}

.maintenance-gallery-list__item:before {
  content: "";
  position: absolute;
  bottom: -45px;
  left: 50%;
  margin-left: -7px;
  width: 0;
  height: 0;
  border-width: 15px;
  border-style: solid;
  border-color: #cccccc transparent transparent transparent;
}

.maintenance-gallery-list__item:last-child:before {
  content: none;
}

.maintenance-gallery-list__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
  .maintenance-gallery-list__figure {
    display: block;
  }
}

.maintenance-gallery-list__figure figcaption {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 15px;
}

@media only screen and (max-width: 767px) {
  .maintenance-gallery-list__figure figcaption {
    margin-top: 5px;
    margin-left: 0;
  }
}

.maintenance-gallery-list__img {
  width: 180px;
}

@media only screen and (max-width: 767px) {
  .maintenance-gallery-list__img {
    display: block;
    width: auto;
    text-align: center;
  }
}

/**************************************************/
/* Schedule */
/**************************************************/
.schedule-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

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

.schedule-ttl {
  width: 140px;
  line-height: 1;
  font-size: 48px;
  font-weight: bold;
  font-family: arial,Verdana,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',sans-serif;
  color: #aaaaaa;
}

@media only screen and (max-width: 767px) {
  .schedule-ttl {
    margin-bottom: 15px;
    width: auto;
    font-size: 30px;
  }
}

.schedule-list {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-left: 30px;
  padding-bottom: 60px;
  border-left: 1px solid #dddddd;
}

@media only screen and (max-width: 767px) {
  .schedule-list {
    padding-top: 15px;
    padding-left: 0;
    border-top: 1px solid #dddddd;
    border-left: 0;
  }
}

.schedule-list__item {
  margin-bottom: 30px;
}

.schedule-list__ttl {
  font-weight: bold;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000000;
}

/**************************************************/
/* お問い合わせ */
/**************************************************/
.contact-body {
  margin-bottom: 60px;
  padding: 20px;
  background: #fafafa;
}

.form-list {
  margin-bottom: 30px;
}

.form-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-bottom: 1px solid #dddddd;
  background: #ffffff;
}

@media only screen and (max-width: 767px) {
  .form-list__item {
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.form-list__item:first-child {
  border-top: 1px solid #dddddd;
}

.form-list__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 24px 15px 15px 0;
  min-height: 75px;
  width: 180px;
  font-size: 0.875rem;
  font-family: YakuHanJPs, "Roboto", verdana, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000000;
}

@media only screen and (max-width: 767px) {
  .form-list__ttl {
    margin-bottom: 15px;
    padding: 0;
    width: auto;
    min-height: inherit;
    background: transparent;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.form-list__ttl.is-confirm {
  padding-top: 15px;
  min-height: inherit;
  color: #767676;
}

@media only screen and (max-width: 767px) {
  .form-list__ttl.is-confirm {
    padding-top: 0;
    font-size: 12px;
    color: #777777;
  }
}

@media only screen and (max-width: 767px) {
  .form-list__name.is-confirm {
    font-size: 12px;
  }
}

.form-list__name.is-require {
  font-weight: bold;
}

.form-required {
  padding: 2px 15px;
  border-radius: 3px;
  font-size: 12px;
  background: #e86b6a;
  color: #ffffff;
}

.form-list__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 15px;
}

@media only screen and (max-width: 767px) {
  .form-list__body {
    padding: 0;
  }
}

.form-list__body.is-confirm {
  font-size: 18px;
}

.form-list__body.is-mail-confirm {
  font-size: 18px;
}

.form-list__box {
  margin-bottom: 10px;
}

.form-btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .form-btn-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.form-btn-box__item {
  margin-left: 15px;
  margin-right: 15px;
}

@media only screen and (max-width: 767px) {
  .form-btn-box__item {
    margin-bottom: 30px;
  }
  .form-btn-box__item.is-next {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
}

.textarea-box {
  height: 150px;
}

@media only screen and (max-width: 767px) {
  .textarea-box {
    height: 180px;
  }
}

.contact-complete {
  margin-top: 30px;
}

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

.contact-complete_icon {
  margin-bottom: 30px;
  font-size: 72px;
  color: #aaaaaa;
  text-align: center;
}

/**************************************************/
/* プライバシーポリシー */
/**************************************************/
.privacy-body {
  margin-bottom: 75px;
}

@media only screen and (max-width: 767px) {
  .privacy-body {
    margin-bottom: 45px;
  }
}

.privacy-box {
  margin-bottom: 60px;
}

@media only screen and (max-width: 767px) {
  .privacy-box {
    margin-bottom: 45px;
  }
}

/**************************************************/
/* STROCK */
/**************************************************/
.login-form-wrap {
  margin-left: auto;
  margin-right: auto;
  width: 390px;
  padding: 30px;
  border-radius: 8px;
  background: #eeeeee;
}

@media only screen and (max-width: 767px) {
  .login-form-wrap {
    width: 270px;
    padding: 15px;
  }
}

.login-form__item {
  margin-bottom: 15px;
}

.login-form__ttl {
  margin-bottom: 5px;
}

.login-form__input input {
  width: 100%;
}

.login-form__btn {
  margin-top: 30px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .login-form__btn .c-btn {
    min-width: inherit;
    width: 100%;
  }
}

.c-main-visual-type03__img:hover {
  opacity: 0.8;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.customer-list {
  margin-top: 30px;
}

.customer-list__item {
  margin-bottom: 30px;
}

.customer-list__link {
  display: inline-block;
  padding: 30px 15px;
  border: 1px solid #000000;
  border-radius: 0px;
  width: 100%;
  min-width: 270px;
  line-height: 1.4;
  background: #ffffff;
  color: #000000;
  font-size: 1.125rem;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 100ms 0s ease;
  -o-transition: all 100ms 0s ease;
  transition: all 100ms 0s ease;
  position: relative;
}

.customer-list__link:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  left: auto;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all 200ms 0s ease;
  -o-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
}

@media only screen and (max-width: 767px) {
  .customer-list__link {
    min-width: 270px;
  }
}

.customer-list__link:hover {
  border-color: #7e243e;
  color: #7e243e;
  cursor: pointer;
  text-decoration: none;
  position: relative;
}

.customer-list__link:hover:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: 18px;
  left: auto;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #7e243e;
  border-bottom: 1px solid #7e243e;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all 200ms 0s ease;
  -o-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
}

.customer-list__link i {
  margin-right: 10px;
}

.spec_list_img_width img {
  width: 100%;
}

/*# sourceMappingURL=style.css.map */