@charset "utf-8";

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 全体
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

* { text-shadow:none; outline:none; box-sizing:border-box; }
#wrapper {
  color: #000;
}
#wrapper > * * { max-width:100%; }
#wrapper a[href] {
  text-decoration: none;
}
/* ****************************************************************************************************
   * 共通
**************************************************************************************************** */

/* ****************************************************************************************************
   * 共通 PC /スマホ表示振り分け
**************************************************************************************************** */
.sp-content {
  display: none !important;
}
/* :::::::: ブレイクポイント :::::::: */
@media screen and (max-width:657px) {
.pc-content {
  display: none !important;
}
.sp-content {
  display: block !important;
}
}


/* ****************************************************************************************************
   * flex
**************************************************************************************************** */

.layout-2 {
  display: flex;
  justify-content: space-between;
}
/* :::::::: ブレイクポイント :::::::: */
@media screen and (max-width:657px) {
.layout-2 {
  display: block;
}
}

/* ****************************************************************************************************
   * layout
**************************************************************************************************** */

[class*="layout-flex"] {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: space-between;
  align-items: stretch;
}

.layout-flex-2 > * {
  width: 48%;
}

.layout-flex-2 > *:nth-child(n+3) {
  margin-top: 40px;
}

.layout-flex-3 > * {
  width: 30%;
  padding: 0.5em 1%;
}

.layout-flex-4 > * {
  width: 23%;
}

.layout-flex-4 > *:nth-child(n+5) {
  margin-top: 30px;
}

@media (max-width:657px) {
  .layout-flex-2 > * {
    width: 100%;
  }
  .layout-flex-2 > *~* {
    margin-top: 40px;
  }
  .layout-flex-3 > * {
    width: 50%;
  }
  .layout-flex-4 > * {
    width: 49%;
  }
  .layout-flex-4 > *:nth-child(n+3) {
    margin-top: 30px;
  }
}


/* ****************************************************************************************************
   * テキスト
**************************************************************************************************** */

.underline {
  vertical-align: top;
  display: inline-block;
  position: relative;
  z-index: 1;
}

.underline::after {
  content: '';
  width: 100%;
  height: 0;
  border-bottom: 0.625em solid #ff0;
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 0;
}

.align-l { text-align:left; }
.align-c { text-align:center; }
.align-r { text-align:right; }

/* ****************************************************************************************************
   * 画像
**************************************************************************************************** */

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 左寄せ
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.image-l {
  margin: 0 1em 1em 0;
	float: left;
}
.image-l + p {
  margin-top: 0;
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 右寄せ
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.image-r {
  margin: 0 0 1em 1em;
	float: right;
}
.image-r + p {
  margin-top: 0;
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 中央寄せ
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.image-c {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
	display: block;
  text-align: center;
}
.image-c + p {
  margin-top: 0;
}

/* ****************************************************************************************************
   * 表示／非表示
**************************************************************************************************** */


.show-pc {
  display: block;
}
@media screen and (min-width:658px) {
  .show-sp {
    display: none;
  }
}
@media screen and (max-width:657px) {
  .show-sp {
    display:block;
  }
  .show-pc {
    display: none;
  }
}

/* ****************************************************************************************************
   * フロートクリア
**************************************************************************************************** */
.clearfix:after { content:"."; display:block; line-height:0; clear:both; visibility:hidden; }
.clear { clear:both; }
