@charset "utf-8";

/** ***************************************************************************
 * アニメーション
 * ************************************************************************* */

/** ***************************************************************************
 * フェードイン 上 -> 下
 */

.fade-in-tb {
  transition:
    visibility 0.3s ease-in-out 0.0s,
    opacity 0.3s ease-in-out 0.0s;
  visibility: hidden;
  opacity: 0;
}

.fade-in-tb.window-in {
  animation: fade-in-tb 2.0s cubic-bezier(0.19, 1, 0.22, 1) 0.5s forwards;
}

@keyframes fade-in-tb {
  0% {
    transform: translate(0, -50px);
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: translate(0, 0);
  }
}

/** ***************************************************************************
 * フェードイン 下 -> 上
 */

.fade-in-bt {
  transition:
    visibility 0.3s ease-in-out 0.0s,
    opacity 0.3s ease-in-out 0.0s;
  visibility: hidden;
  opacity: 0;
}

.fade-in-bt.window-in {
  animation: fade-in-bt 2.0s cubic-bezier(0.19, 1, 0.22, 1) 0.5s forwards;
}

@keyframes fade-in-bt {
  0% {
    transform: translate(0, 50px);
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: translate(0, 0);
  }
}

/** ***************************************************************************
 * フェードイン 左 -> 右
 */

.fade-in-lr {
  transition:
    visibility 0.3s ease-in-out 0.0s,
    opacity 0.3s ease-in-out 0.0s;
  visibility: hidden;
  opacity: 0;
}

.fade-in-lr.window-in {
  animation: fade-in-lr 1.5s cubic-bezier(0.19, 1, 0.22, 1) 0.5s forwards;
}

@keyframes fade-in-lr {
  0% {
    transform: translate(-200px, 0);
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: translate(0, 0);
  }
}

/** ***************************************************************************
 * フェードイン 右 -> 左
 */

.fade-in-rl {
  transition:
    visibility 0.3s ease-in-out 0.0s,
    opacity 0.3s ease-in-out 0.0s;
  visibility: hidden;
  opacity: 0;
}

.fade-in-rl.window-in {
  animation: fade-in-rl 1.5s cubic-bezier(0.19, 1, 0.22, 1) 0.5s forwards;
}

@keyframes fade-in-rl {
  0% {
    transform: translate(200px, 0);
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: translate(0, 0);
  }
}

/** ***************************************************************************
 * モーダル
 * ************************************************************************* */

html.with-featherlight
.featherlight .featherlight-content {
  max-height: none;
  margin-left: 10px;
  margin-right: 10px;
  padding: 10px;
  border-bottom: none;
  overflow: visible;
}

.featherlight .featherlight-next,
.featherlight .featherlight-previous {
  width: 50px;
  text-align: center;
  background: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
	top: 10px;
	right: auto;
	bottom: 10px;
	left: auto;
}

.featherlight .featherlight-next {
	right: 10px;
}

.featherlight .featherlight-previous {
	left: 10px;
}

.featherlight .featherlight-next span,
.featherlight .featherlight-previous span {
	width: auto;
	margin-top: 0;
	line-height: 1;
	font-size: 40px;
  text-shadow: none;
	display: inline-block;
  position: static;
}

.featherlight .featherlight-previous span {
  transform-origin: center center;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.featherlight .featherlight-next span::before,
.featherlight .featherlight-previous span::before {
  content: '\e902';
  font-family: icomoon;
}

html.with-featherlight
.featherlight .featherlight-close-icon {
	top: 15px;
	right: 15px;
	background: #fff;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:737px) {

  html.with-featherlight
  .featherlight .featherlight-content {
    margin-left: 50px;
    margin-right: 50px;
  }

  .featherlight .featherlight-next {
    right: -50px;
  }

  .featherlight .featherlight-previous {
    left: -50px;
  }

}

/** ***************************************************************************
 * リスト
 * ************************************************************************* */

/** ***************************************************************************
 * ul
 */

ul[class],
ul[class] li {
  margin: 0;
  padding: 0;
  list-style: none;
}

/** ***************************************************************************
 * ol
 */

ol[class],
ol[class] li {
  margin: 0;
  padding: 0;
  list-style: none;
}

/** ***************************************************************************
 * dl
 */

dl[class],
dl[class] dt,
dl[class] dd {
  margin: 0;
  padding: 0;
}

/** ***************************************************************************
 * テーブル
 * ************************************************************************* */

.table-style-1 {
  border-collapse: collapse;
}

.table-style-1 > tbody > tr > th {
  padding-left: 1em;
  padding-right: 1em;
  font-weight: inherit;
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
}

.table-style-1 > tbody > tr > td {
  padding-left: 1em;
  padding-right: 1em;
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
}

.table-style-1 + *,
* + .table-style-1 {
  margin-top: 1.5em;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (max-width:736px) {

  .table-style-1 > tbody {
    display: block;
  }

  .table-style-1 > tbody > tr {
    border-top: 1px solid #ebebeb;
    border-bottom: 1px solid #ebebeb;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .table-style-1 > tbody > tr ~ tr {
    border-top: none;
  }

  .table-style-1 > tbody > tr > th {
    width: 100%;
    padding: 10px 1em 2px 1em;
    border-top: none;
    border-bottom: none;
  }

  .table-style-1 > tbody > tr > td {
    width: 100%;
    margin-top: -1px;
    padding: 2px 1em 10px 1em;
    border-top: none;
    border-bottom: none;
  }

  .table-style-1 + *,
  * + .table-style-1 {
    margin-top: 1.25em;
  }

}

/** ***************************************************************************
 * 表示／非表示
 * ************************************************************************* */

p + [sp] + [pc] {
  margin-top: 1.5em;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (max-width:736px) {

  [pc] {
    display: none !important;
  }

}

@media print, screen and (min-width:737px) {

  [sp] {
    display: none !important;
  }

}
