@charset "utf-8";

/* body */

body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  margin: auto;
  letter-spacing: 1px;
  color: #212121;
}

#wra {
  width: 100%;
  position: relative;
  margin-top: 80px;
}

h1 {
  margin: 0;
  padding: 0;
}

a, a:focus {
  color: #212121;
  text-decoration: none;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s;
}

a:link, a:visited {
  color: #212121;
}

a:hover, a:active {
  color: #ff5151;
  text-decoration: none;
  -webkit-transition: all .3s;
  transition: all .3s;
}
#mai-con a{
	text-decoration:underline;
}
.con-blo {
	padding:0px 0px 30px 0;
	margin-bottom:30px;
	background:#FFF;
	font-size:100%;
}
.con-blo-sec a, .con-blo-sec a:focus {
  color: #212121;
  text-decoration: underline;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.con-blo-sec a:hover, .con-blo-sec a:active {
  color: #ff5151;
  text-decoration: none;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s;
}

img {
  display: block;
}

a img {
  transition: 0.5s;
  -webkit-transition: 0.5s;
}

a img:hover {
  opacity: 0.7;
  /* 透過率50% */
}

h1, h2, h3, h4, h5, h6, img, img a, p, table, tr, td, dt, dl, dd {
  margin: 0px;
  padding: 0px;
  border: 0px;
}

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

ul, ol, li, dl, dt, dd {
  list-style-type: none;
  list-style-position: outside;
  margin: 0px;
  padding: 0px;
  font-weight: 500;
}

pre {
  word-wrap: break-word;
  white-space: normal;
  word-break: break-all;
}

.blg-car-blo {
  width: calc(100% - 0px);
  height: auto;
  border: solid 0px #e7e7e7;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 40px;
  padding-top: 10px;
  background: #fcfcf8;
}

.blg-car-ima {
  width: 200px;
  height: auto;
  margin-right: 30px;
}

.blg-car-ima img {
  width: 100%;
  height: auto;
}

.blg-car-sec {
  width: calc(100% - 230px);
  word-wrap: break-word;
  white-space: normal;
  word-break: break-all;
}

.blg-car-tit {
  font-size: 110%;
  font-weight: bold;
  padding-bottom: 10px;
}

.blg-car-but .eff-but {
  display: block;
  width: calc(100% - 20px);
  min-width: 180px;
  max-width: 360px;
  height: 100%;
  padding: 6px 10px 8px;
  font-weight: normal;
  font-size: 80%;
  line-height: 150%;
  text-align: center;
  text-decoration: none;
  outline: none;
  position: relative;
  z-index: 2;
  color: #fff;
  background: #d52a32;
  border: 0px solid #ababab;
  border-radius: 0px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  margin: auto;
}

.blg-car-but .eff-but:hover {
  background: #212121;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.blg-car-but .eff-but:hover::before, .blg-car-but .eff-but:hover::after {
  width: 0;
  background-color: #fff338;
}

.blg-car-tex {
  font-size: 96%;
  line-height: 140%;
}

.blg-car-but {
  margin-top: 5px;
  margin-left: auto;
}


/* header */

#hea-wra {
  width: 100%;
  height: auto;
  position: fixed;
  top: 0;
  z-index: 30;
background: rgba(255, 255, 255, 0.8);
}

#hea-con {
  width: 1280px;
  padding: 0;
  height: 80px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

#hea-lef {
  width: 60px;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-between;
  align-items: center;
}

#hea-lef a img {
  height: auto;
  width: 100%;
}

#hea-rig {
  margin: 0 0px 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

#hea-con h1.hea-tit {
  font-size: 80%;
  font-weight: 500;
  line-height: 150%;
  height: auto;
  padding-right: 10px;
  text-align: right;
}


/* navigation */

#navToggle {
  display: block;
  right: 2.5%;
  top: 0px;
  position: relative;
  width: 36px;
  height: 33px;
  cursor: pointer;
  padding: 0 0px;
  margin: 0 auto;
  border: solid 0px #f7f7f7;
  border-radius: 0px;
  -webkit-border-radius: 0px;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  margin: 5px auto 0 20px;
}

#navToggle span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  background-color: #ccc;
  border-radius: 2px;
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  border-bottom: solid 0px #f7f7f7;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

#navToggle span:nth-child(1) {
  top: 0px;
}

#navToggle span:nth-child(2) {
  top: 13px
}

#navToggle span:nth-child(3) {
  top: 26px
}

#navToggle.hum-men-act span:nth-of-type(1) {
  -webkit-transform: translateY(13px) rotate(-45deg);
  transform: translateY(13px) rotate(-45deg);
}

#navToggle.hum-men-act span:nth-of-type(2) {
  opacity: 0;
}

#navToggle.hum-men-act span:nth-of-type(3) {
  -webkit-transform: translateY(-13px) rotate(45deg);
  transform: translateY(-13px) rotate(45deg);
}


/* スライドインメニュー hide men-wra配置の親要素をpositon:relative必須 */

.men-wra {
  position: absolute;
  top: 80px;
  left: -280px;
  width: 280px;
  height: auto;
  text-align: center;
  margin: auto;
  padding: 0px 0;
  display: block;
  background-color: rgba( 255, 255, 255, 0.9);
  z-index: 30;
  box-shadow: 2px 2px 3px 0px #bcbcbc;
  border-radius: 0 0 10px 0;
}

.men-wra.men-wra-act {
  display: block;
}

.menu {
  min-width: 280px;
  width: 100%;
  margin: 0px auto;
  text-align: center;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.menu>li {
  text-align: center;
  width: calc(100% - 0px);
  height: auto;
  border-right: solid 1px #e7e7e7;
  border-top: solid 1px #e7e7e7;
}

.menu>li:last-of-type {
  border-right: solid 1px #e7e7e7;
  border-bottom: solid 1px #e7e7e7;
  border-radius: 0 0 10px 0;
}

.menu>li a {
  color: #212121;
  width: calc(100% - 0px);
  font-weight: 400;
  display: block;
  text-align: center;
  text-decoration: none;
  font-size: 100%;
  letter-spacing: 2px;
  margin: auto;
  padding: 12px 0px;
  transition: 0.8s;
}

.menu>li a:hover {
  color: #212121;
  background: #f8f8f8;
  text-decoration: none;
  border-radius: 2px;
}

.men-ite {
  position: relative;
  display: inline-block;
}

.sub-menu {
  position: absolute;
  top: 0px;
  left: 280px;
  height: auto;
  z-index: 10;
}

.sub-menu>li {
  max-width: calc(280px - 8px);
  width: calc(280px - 8px);
  background: #fdf4f4;
  padding: 3px 3px;
  border-top: dotted 1px #ccc;
}

.sub-menu>li a {
  width: calc(100% - 20px);
  font-weight: 400;
  display: block;
  text-align: left;
  text-decoration: none;
  line-height: 140%;
  font-size: 96%;
  margin: 0px 0px;
  padding: 8px 10px;
  transition: 0.8s;
  color: #212121;
}

.sub-menu {
  display: none;
}


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

.mai-fle-sec {
  text-align: center;
  width: 1080px;
  height: auto;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: flex-start;
}

.mai-fle-sec li {
  width: 33%;
  height: auto;
  margin: 0 auto 40px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

.mai-fle-sec li a img {
  -webkit-transition: all .5s;
  transition: all .5s;
}

.mai-fle-sec li a:hover img {
  opacity: 0.7;
}


/* スライドエフェクト01 */

.efc-sli-one-wra {
  position: relative;
  height: 260px;
  width: 260px;
  background: #fff;
  overflow: hidden;
  border-radius: 3%;
  margin: 0 auto;
}

.efc-sli-one-mas {
  display: none;
}

.efc-sli-one-mas.efc-add {
  display: block;
  background: #46b2f4;
  position: absolute;
  border-radius: 0%;
  top: -10%;
  opacity: 0;
  width: 120%;
  height: 120%;
}

.efc-sli-one {
  opacity: 0;
  transform: translate(0, 0px);
  transition: all 2000ms;
  height: 260px;
  width: 260px;
  background: #f8f8f8;
  overflow: hidden;
  border-radius: 3%;
  position: relative;
}

.efc-sli-one img {
  width: auto;
  height: 102%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}


/* スライドイメージ部 */

.mai-fle-sec li:nth-of-type(1) .efc-sli-one.efc-add {
  animation: SliImaOne 1.0s ease 0.0s 1 forwards;
}

.mai-fle-sec li:nth-of-type(2) .efc-sli-one.efc-add {
  animation: SliImaOne 1.0s ease 0.3s 1 forwards;
}

.mai-fle-sec li:nth-of-type(3) .efc-sli-one.efc-add {
  animation: SliImaOne 1.0s ease 0.6s 1 forwards;
}

.mai-fle-sec li:nth-of-type(4) .efc-sli-one.efc-add {
  animation: SliImaOne 1.0s ease 0.9s 1 forwards;
}

.mai-fle-sec li:nth-of-type(5) .efc-sli-one.efc-add {
  animation: SliImaOne 1.0s ease 1.2s 1 forwards;
}

.mai-fle-sec li:nth-of-type(6) .efc-sli-one.efc-add {
  animation: SliImaOne 1.0s ease 1.5s 1 forwards;
}


/* CSSアニメーション設定 */

@keyframes SliImaOne {
  0% {
    opacity: 0;
    transform: translateX(100%) rotate(0deg);
  }
  60% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    transform: translateX(0%) rotate(0deg);
  }
}

.mai-fle-sec li:nth-of-type(1) .efc-sli-one-mas.efc-add {
  animation: SliMasOne 1.0s ease 0.0s 1 forwards;
}

.mai-fle-sec li:nth-of-type(2) .efc-sli-one-mas.efc-add {
  animation: SliMasOne 1.0s ease 0.3s 1 forwards;
}

.mai-fle-sec li:nth-of-type(3) .efc-sli-one-mas.efc-add {
  animation: SliMasOne 1.0s ease 0.6s 1 forwards;
}

.mai-fle-sec li:nth-of-type(4) .efc-sli-one-mas.efc-add {
  animation: SliMasOne 1.0s ease 0.9s 1 forwards;
}

.mai-fle-sec li:nth-of-type(5) .efc-sli-one-mas.efc-add {
  animation: SliMasOne 1.0s ease 1.2s 1 forwards;
}

.mai-fle-sec li:nth-of-type(6) .efc-sli-one-mas.efc-add {
  animation: SliMasOne 1.0s ease 1.5s 1 forwards;
}


/* CSSアニメーション設定 */

@keyframes SliMasOne {
  0% {
    opacity: 0;
    transform: translateX(-100%) rotate(-90deg);
  }
  80% {
    opacity: 0.5;
  }
  90% {
    opacity: 0;
    transform: translateX(100%) rotate(0deg);
  }
}


/*スライドエフェクト02 */

.efc-sli-two-wra {
  position: relative;
  max-height: 400px;
  height: 100%;
  width: 40%;
  background: #f8f8f8;
  overflow: hidden;
}

.eff-sli {
  display: none;
  pointer-events: none;
}

.eff-sli-inn {
  display: block;
  animation: SliMasTwo 1.5s;
  background: #46b2f4;
  position: absolute;
  top: -25%;
  opacity: 0;
  width: 200%;
  height: 200%;
}

@keyframes SliMasTwo {
  0% {
    opacity: 0;
    transform: translateX(0%) rotate(15deg);
  }
  60% {
    opacity: 0.8;
  }
  90% {
    opacity: 0;
    transform: translateX(100%) rotate(15deg);
  }
}

.efc-sli-two {
  opacity: 0;
  transform: translate(0, 45px);
  transition: all 1000ms;
}

.efc-sli-two.eff-add {
  opacity: 1;
  transform: translate(0, 0);
}

.efc-sli-two img {
  width: 100%;
  height: auto;
}


/* 移動フェード01 */

.efc-fad-one {
  opacity: 0;
  transform: translate(0, 80px);
  transition: all 1000ms;
}

.efc-fad-one.efc-add {
  opacity: 1;
  transform: translate(0, 0);
}


/* 定位置フェード */

.fad-sta {
  opacity: 0;
  transform: translate(0, 0px);
  transition: all 2000ms;
}

.fad-sta.eff-add {
  opacity: 1;
  transform: translate(0, 0);
}


/* Effectt button 回転キューブ */

.but-cub-wra {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.but-cub-lef-wra {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}

button.but-cub, button.but-cub-sho {
  /*インプット要素*/
  background-color: transparent;
  cursor: pointer;
  outline: none;
  appearance: none;
  border: none;
}

.but-cub {
  display: block;
  width: 280px;
  height: 36px;
  text-align: center;
  text-decoration: none;
  line-height: 36px;
  outline: none;
  left: 0;
}

.but-cub::before, .but-cub::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}

.but-cub, .but-cub::before, .but-cub::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.but-cub {
  position: relative;
  -webkit-perspective: 280px;
  perspective: 280px;
}

.but-cub span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 280px;
  height: 46px;
  border: 1px solid #f26f6f;
  text-align: center;
  line-height: 44px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  pointer-events: none;
}

.but-cub span:nth-child(1) {
  background-color: #f26f6f;
  color: #fff;
  -webkit-transform: rotateX(90deg);
  -moz-transform: rotateX(90deg);
  transform: rotateX(90deg);
  -webkit-transform-origin: 50% 50% -23px;
  -moz-transform-origin: 50% 50% -23px;
  transform-origin: 50% 50% -23px;
}

.but-cub span:nth-child(2) {
  background-color: #fff;
  color: #333;
  -webkit-transform: rotateX(0deg);
  -moz-transform: rotateX(0deg);
  transform: rotateX(0deg);
  -webkit-transform-origin: 50% 50% -23px;
  -moz-transform-origin: 50% 50% -23px;
  transform-origin: 50% 50% -23px;
}

.but-cub:hover span:nth-child(1) {
  -webkit-transform: rotateX(0deg);
  -moz-transform: rotateX(0deg);
  transform: rotateX(0deg);
}

.but-cub:hover span:nth-child(2) {
  color: #f26f6f;
  background-color: #f26f6f;
  -webkit-transform: rotateX(-90deg);
  -moz-transform: rotateX(-90deg);
  transform: rotateX(-90deg);
}


/*ショートタイプボタン*/

.but-cub-sho {
  display: block;
  width: 220px;
  height: 36px;
  text-align: center;
  text-decoration: none;
  line-height: 34px;
  outline: none;
  left: 0;
  position: relative;
  -webkit-perspective: 220px;
  perspective: 220px;
}

.but-cub-sho::before, .but-cub-sho::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}

.but-cub-sho, .but-cub-sho::before, .but-cub-sho::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.but-cub-sho span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 220px;
  height: 36px;
  border: 1px solid #e7e7e7;
  text-align: center;
  line-height: 34px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  pointer-events: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.but-cub-sho span:nth-child(1) {
  background-color: #ff5151;
  border: 1px solid #ff5151;
  color: #fff;
  -webkit-transform: rotateX(90deg);
  -moz-transform: rotateX(90deg);
  transform: rotateX(90deg);
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  transform-origin: 50% 50%-18px;
}

.but-cub-sho span:nth-child(2) {
  background-color: #fff;
  color: #333;
  -webkit-transform: rotateX(0deg);
  -moz-transform: rotateX(0deg);
  transform: rotateX(0deg);
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  transform-origin: 50% 50%-18px;
}

.but-cub-sho:hover span:nth-child(1) {
  -webkit-transform: rotateX(0deg);
  -moz-transform: rotateX(0deg);
  transform: rotateX(0deg);
}

.but-cub-sho:hover span:nth-child(2) {
  color: #ff5151;
  background-color: #ff5151;
  -webkit-transform: rotateX(-90deg);
  -moz-transform: rotateX(-90deg);
  transform: rotateX(-90deg);
  border: none;
}


/*　END Effectt button 回転キューブ */


/* エフェクトボタン　スクリュー */

.eff-but-rig {
  text-align: right;
  width: 100%;
  height: auto;
}

.eff-but-rot {
  display: inline-block;
  width: 240px;
  height: 36px;
  text-align: center;
  text-decoration: none;
  line-height: 34px;
  outline: none;
  cursor: pointer;
}

.eff-but-rot::before, .eff-but-rot::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}

.eff-but-rot, .eff-but-rot::before, .eff-but-rot::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.eff-but-rot {
  position: relative;
  z-index: 2;
  background-color: #fff;
  border: 1px solid #ccc;
  color: #333;
  line-height: 130%;
  overflow: hidden;
}

.eff-but-rot:hover {
  color: #fff;
  background: none;
  border: 1px solid #ff5151;
}

.eff-but-rot::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.eff-but-rot:hover::after {
  -webkit-transform: scale(2) rotate(180deg);
  transform: scale(2) rotate(180deg);
  background: #ff5151;
}


/* END　エフェクトボタン　スクリュー */


/* START 左右スライドボタン*/

.eff-but-blo {
  margin: 0 auto;
}

.eff-but,a.eff-but {
  display: block;
  width: 100%;
  min-width: 220px;
  max-width: 300px;
  height: 100%;
  padding: 8px 20px 8px;
  font-weight: normal;
  font-size: 0.9rem;
  line-height: 150%;
  text-align: center;
  text-decoration: none!important;
  outline: none;
  position: relative;
  z-index: 2;
  color: #868686;
  background: url(../images/chevron-right.svg) right calc(0% + 0px) center no-repeat, #fff;
  border: 1px solid #ababab;
  border-radius: 0px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  margin: auto;
}

.eff-but-blo:last-child .eff-but {}

.eff-but:hover,a.eff-but:hover {
  background: #ff5151;
  border-color: #ff5151;
  color: #fff;
	text-decoration:none;
  cursor: pointer;
}
.eff-but:focus,a.eff-but:focus {
	border-color:#212121;
	text-decoration:none;
	cursor:pointer
}
.eff-but::before, .eff-but::after {
  top: 0;
  width: 50%;
  height: 100%;
  background: none;
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.eff-but::before {
  right: 0;
  text-indent: 70%;
}

.eff-but:hover::before {
  text-indent: -30px;
  right: 0;
}

.eff-but::after {
  left: 0;
}

.eff-but:hover::before, .eff-but:hover::after {
  width: 0;
  background-color: #a8a8a8;
}

.eff-but-inn {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-weight: bold;
  line-height: 140%;
}


/* END 左右スライドボタン*/


/* footer */

#foo-wra {
  height: auto;
  width: 100%;
  border-top: 3px double #ccc;
  padding: 40px 0;
  background: #fff;
}

.foo-con {
  width: 1080px;
  height: auto;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.foo-con a {
  text-decoration: none;
}

.foo-men {
  width: calc(33% - 20px);
  margin-right: 20px;
}

.foo-men ul {}

.foo-men-tit {
  font-size: 110%;
  letter-spacing: 2px;
  font-weight: 600;
  line-height: 130%;
}

.foo-men hr {
  margin: 10px 0;
  width: 80px;
  border-top: solid 2px #ff5151;
}

.foo-men-tex {
  font-size: 90%;
  line-height: 140%;
  padding: 10px 0;
}

.foo-men-lis {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.foo-men-lis li {
  font-size: 90%;
  border-bottom: dotted 1px #CCC;
  position: relative;
}

.foo-men-lis li a {
  display: inline-block;
  line-height: 140%;
  padding: 8px 30px 8px 5px;
}

.foo-men-lis li a:after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/chevron-right-red-sma.svg) right top 4px no-repeat;
}

.foo-menu-blo {
  height: 100%;
  max-height: auto;
  padding: 0px 0px;
  width: 33%;
}

.foo-cen-blo {
  width: 33%;
  align-self: center;
  text-align: center;
}

.foo-cen-blo img {
  display: inline;
}

.foo-log {
  margin-bottom: 10px;
}

#cop {
  text-align: center;
  font-size: 90%;
  background: #686868;
  line-height: 130%;
  padding: 10px 10px;
  color: #fff;
}

#cop a {
  color: #fff;
}


/* page top */

#pag-top {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 100;
}

#pag-top a {
  display: block;
  width: 44px;
  height: 44px;
  text-align: center;
  border-radius: 2px;
  color: #FFF;
  text-decoration: none;
  background: #a8a8a8;
  background: -moz-linear-gradient(135deg, #a8a8a8 50%, #ff5151 51%);
  background: -webkit-linear-gradient(135deg, #a8a8a8 50%, #ff5151 51%);
  background: linear-gradient(135deg, #a8a8a8 50%, #ff5151 51%);
  transition: 0.5s;
  -webkit-transition: 0.5s;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

#pag-top a:hover {
  -webkit-transform: translate(-0%, -20%) scale(1) rotate(0deg);
  transform: translate(-0%, -20%) scale(1) rotate(0deg);
  display: block;
  width: 44px;
  height: 44px;
  text-align: center;
  border-radius: 2px;
  color: #FFF;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}


/* メイン画像 main visual */

.mai-vis-sli-wra {
  width: 100%;
  height: auto;
  margin: 0px auto 0;
  padding: 40px 0 0 0;
  background: #f8f8f8;
  overflow: hidden;
  border-bottom: double 3px #e7e7e7;
}

.mai-vis-sli {
  text-align: center;
  width: 1080px;
  height: auto;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.mai-vis-sli li {
  width: 340px;
  height: 320px;
  background: #FFF;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
}

.mai-vis-sli li .eff-but-blo {
  align-self: flex-end;
}

.mai-vis-tit {
  padding: 15px 5px 5px;
  margin: 10px auto;
  line-height: 130%;
  font-weight: 600;
}

.mai-vis-ima {
  position: relative;
  width: 340px;
  height: 180px;
  background: #FFF;
  overflow: hidden;
}

.mai-vis-ima img {
  position: absolute;
  height: auto;
  width: 100%;
  top: 50%;
  left: 50%;
  min-height: 100%;
  min-width: auto;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}


/* nav */

.nav {
  width: 310px;
}

.nav-blo {
  margin-bottom: 30px;
  background: #FFF;
  padding: 30px 0;
}

.nav-tit {
  font-size: 110%;
  font-weight: 600;
  text-align: center;
}

.nav hr {
  margin: 20px auto 20px;
  width: 80px;
  border-top: solid 2px #ff5151;
}

.nav-pro-ima {
  width: 140px;
  height: 140px;
  margin: auto;
  padding-bottom: 30px;
}

.nav-pro-ima img {
  width: 100%;
  height: auto;
  border-radius: 50%;
}

.nav-sec {
  padding: 0 30px 30px;
}

.nav-lis, .widget_archive ul, .widget_categories ul {
  font-size: 90%;
  padding: 0 30px;
  text-align: right;
}

.nav-lis li, .widget_archive ul li, .widget_categories ul li {
  padding-right: 16px;
  position: relative;
}

.nav-lis li::after, .widget_archive ul li::after, .widget_categories ul li::after {
  position: absolute;
  content: "";
  background: url(../images/chevron-right-red-sma.svg) right center no-repeat;
  width: 22px;
  height: 22px;
}

.nav-sea-for {
  position: relative;
}

.nav-sea-for input[type="text"] {
  box-sizing: border-box;
  position: relative;
  border: 1px solid #e5e5e5;
  display: block;
  padding: 5px 10px;
  border-radius: 20px;
  min-height: 36px;
  height: 120%;
  width: 90%;
  overflow: hidden;
  margin: auto 5%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.nav-sea-for input[type="text"]:focus {
  outline: 0;
}

.nav-sea-for input[type="submit"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  outline: none;
  border-radius: 0 20px 20px 0;
  cursor: pointer;
  border: none;
  color: #fff;
  position: absolute;
  width: 36px;
  height: 36px;
  right: 5%;
  top: 0;
  background: url(../images/search.svg) center no-repeat, #141414;
}

.nav-hot-lis {
  font-size: 90%;
}

.nav-hot-lis li {
  margin: 30px auto 30px;
}

.nav-hot-ima {
  width: 100%;
  height: 120px;
  margin: 0 auto 10px;
  padding-bottom: 0px;
  overflow: hidden;
  position: relative;
}

.nav-hot-ima img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  min-height: auto;
  min-width: 100%;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.nav-hot-lis h3 {
  font-size: 100%;
  padding: 0 10px;
}

.lef-men li {
  color: #FFF;
  font-size: 110%;
}

.lef-men li a {
  color: #232323;
  font-weight: 400;
  cursor: pointer;
  padding: 10px 10px 10px 20px;
  display: block;
  -webkit-transition: 0.8s;
  -moz-transition: 0.8s;
  -o-transition: 0.8s;
  -ms-transition: 0.8s;
  transition: 0.8s;
  background: #fff;
  border-bottom: dotted 1px #ccc;
  position: relative;
}

.lef-men li a:before {
  position: absolute;
  content: "";
  left: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/chevron-right-red-sma.svg) left top 5px no-repeat;
}

.lef-men li a:hover:before {
  position: absolute;
  content: "";
  left: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/chevron-right-white.svg) left top 5px no-repeat;
}

.lef-men li a.lef-men-act {
  color: #FFF;
  font-size: 110%;
  background: #75bda5;
  border-bottom: dotted 1px #fff;
}

.lef-men li a.lef-men-act:before {
  content: "》";
}

.lef-men li a:hover {
  color: #FFF;
  background: #51aed5;
}


/* common */

#mai-con-wra {
  width: 100%;
  margin: auto;
  border-radius: 0px;
  padding: 0px 0px 0px;
  background: #f8f8f8;
}

.hom-con-blo {
  padding: 0px 0px;
  margin: auto;
  background: #FFF;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.hom-con-blo-sec {
  height: auto;
  width: calc(60% - 0px);
  padding: 0px 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.hom-con-blo-sec-lef {
  height: auto;
  width: calc(60% - 0px);
  padding: 0px 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}

.hom-con-inn {
  width: calc(608px - 0px);
  height: auto;
  padding: 50px 0 50px 6%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.hom-con-inn-lef {
  width: calc(608px - 0px);
  height: auto;
  padding: 50px 6% 50px 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.hom-sec-tit {
  color: #212121;
  font-size: 140%;
  font-weight: 600;
  line-height: 150%;
  width: calc(100% - 50px);
  padding: 15px 20px;
  text-align: left;
  margin: 0px auto 20px;
  border-left: 10px solid #e7e7e7;
  background: #f8f8f8;
}

.hom-con-lis {
  padding: 30px 30px 60px 0px;
}

#mai-con {
  width: 1080px;
  height: auto;
  margin: auto;
  padding: 60px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}

.fle-con-blo {
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 40px;
}

.fle-con-blo .sec-tit {
  color: #212121;
  font-size: 120%;
  font-weight: 500;
  line-height: 140%;
  width: calc(100% - 30px);
  padding: 15px 15px;
  text-align: center;
  margin-bottom: 0px;
  border-top: 1px solid #f7f7f7;
  border-bottom: 1px solid #f7f7f7;
  background: #fcfcfc;
  margin-bottom: 0;
}

.fle-con-blo-inn {
  width: 31%;
  height: auto;
  margin-bottom: 0px;
  background: #FFF;
}

.fle-con-blo-inn-haf {
  width: 48%;
  height: auto;
  margin-bottom: 0px;
  background: #FFF;
}


.fle-con-blo-inn-wide {
  width: 100%;
  height: auto;
  margin-bottom: 0px;
  background: #FFF;
}

.fle-con-blo-ima {
  position: relative;
  height: 200px;
  width: 100%;
  background: #f8f8f8;
  overflow: hidden;
}

.fle-con-blo-ima img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  min-height: auto;
  min-width: 100%;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.fle-con-blo-sec {
  padding: 20px;
}

.sec-dat {
  font-size: 94%;
  color: #888;
  text-align: center;
  padding: 10px 10px;
}

.sec-dat-blu {
  color: #0569a6;
  font-size: 110%;
  font-weight: 600;
  text-align: center;
  padding: 10px 10px;
}

.sec-tit {
  color: #212121;
  font-size: 180%;
  font-weight: 500;
  line-height: 140%;
  width: calc(100% - 30px);
  padding: 15px 15px;
  text-align: center;
  margin-bottom: 30px;
}

.sec-tit-lin {
  color: #212121;
  font-size: 130%;
  font-weight: 600;
  line-height: 140%;
  width: calc(100% - 30px);
  padding: 15px 15px;
  text-align: center;
  margin-bottom: 0px;
  border-top: 1px solid #f7f7f7;
  border-bottom: 1px solid #f7f7f7;
  background: #fcfcfc;
  margin-bottom: 0;
}

.new-con-wra {
  margin-bottom: 40px;
}

.new-con-inn {
  width: calc(100% - 60px);
  height: auto;
  max-height: 300px;
  padding: 20px 30px;
  background: #FFF;
  overflow: hidden;
  overflow-y: auto;
}

.new-con-inn dl dd {
  padding: 10px 0;
}

.lis-bar li {
  position: relative;
  padding-left: 0px;
}

.lis-bar li:before {
  position: absolute;
  left: 0px;
  content: "-";
  display: inline-block;
  transform: rotate(0deg);
  font-size: 100%;
  font-weight: 700;
}

.new-tit {
  font-size: 100%;
  border-bottom-width: 1px;
  border-bottom-style: dotted;
  border-bottom-color: #999999;
  line-height: 24px;
  color: #212121;
  width: calc(100% - 25px);
  padding: 10px 0 10px 25px;
  margin-bottom: 5px;
  cursor: pointer;
  position: relative;
}

.new-tit:before {
  content: "▼ ";
  font-size: 90%;
  color: #ff5151;
  transform: rotate(30deg);
  position: absolute;
  left: 0px;
  transition: 0.5s;
  -webkit-transition: 0.5s;
}

.new-tit-vis:before {
  top: 8px;
  transform: rotate(120deg);
}

.new-cap {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #e7e7e7;
  line-height: 24px;
  font-size: 100%;
  width: 900px;
  padding-bottom: 5px;
  margin-bottom: 15px;
}

.inf-blo {
  width: calc(100% - 40px);
  height: auto;
  padding: 30px 20px;
}

.inf-tab-blo {
  width: calc(100% - 40px);
  height: auto;
  padding: 30px 20px;
}

.inf-ima {
  max-width: 180px;
  margin: 10px auto;
}

.inf-ima img {
  width: 100%;
  height: auto;
}

.acc-map-wra {
  height: 380px;
  width: 100%;
  background: #fcfcfc;
  overflow: hidden;
  margin-bottom: 30px;
}

.hom-map-wra {
  position: relative;
  height: 280px;
  width: 100%;
  background: #fcfcfc;
  overflow: hidden;
}

.hom-map-wra img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  min-height: auto;
  min-width: 100%;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.one-cul-wra {
  max-width: 960px;
  width: calc(100% - 120px);
  height: auto;
  padding: 40px 60px;
  background: #fff;
}

.one-cul-blo {
  max-width: 900px;
  min-width: 900px;
  width: 100%;
  height: auto;
  margin: auto;
  background: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}

.one-cul-sec {
  width: 100%;
  height: auto;
}

.one-cul-blo .sec-tit {
  color: #212121;
  font-size: 120%;
  font-weight: 500;
  line-height: 140%;
  width: calc(100% - 30px);
  padding: 15px 15px;
  text-align: center;
  margin-bottom: 0px;
  border-top: 1px solid #f7f7f7;
  border-bottom: 1px solid #f7f7f7;
  background: #fcfcfc;
  margin-bottom: 30px;
}

.sec-cat-tit {
  margin-bottom: 5px;
  padding: 5px;
  text-align: center;
}

.sub-hea-ima {
  position: relative;
  margin: 0 auto;
  height: 360px;
  max-width: 920px;
  width: 100%;
  background: #efefef;
  overflow: hidden;
  margin-bottom: 30px;
}

.sub-hea-ima img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  min-height: auto;
  min-width: 100%;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.con-blo-ima {
  position: relative;
  margin: 0 auto;
  height: 440px;
  max-width: 800px;
  width: 100%;
  background: #f8f8f8;
  overflow: hidden;
  margin-bottom: 30px;
}

.con-blo-ima img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  min-height: auto;
  min-width: 100%;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.sec-sub-fst {
  width: calc(100% - 50px);
  height: auto;
  font-size: 150%;
  font-weight: 600;
  border-left: solid 10px #ff5151;
  padding: 10px 20px;
  margin-bottom: 20px;
  background: #fcfcfc;
}

.sec-sub-snd {
  font-size: 130%;
  font-weight: 600;
  border-left: solid 6px #a8a8a8;
  padding: 0 15px;
  margin-bottom: 20px;
}

.sec-sub-thr {
  font-size: 120%;
  font-weight: 600;
  margin-bottom: 20px;
  padding-left: 36px;
  position: relative;
}

.sec-sub-thr:before {
  left: 0;
  padding-right: 10px;
  position: absolute;
  content: "";
  background: url(../images/check-square.svg) left center no-repeat;
  width: 26px;
  height: 26px;
}

.sec-sub-fth {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 20px;
  position: relative;
  padding: 5px 10px 5px 0px;
	border-bottom:double 3px #857429;
}

.sec-doc {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 20px;
}
.sit-map-lis {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding-bottom: 30px;
}

.sit-map-lis>li {
  width: calc(25% - 30px);
  height: auto;
  line-height: 150%;
  padding: 0 0px 5px 25px;
  position: relative;
}

.sit-map-lis>li::before {
  padding: 0;
  left: 0;
  position: absolute;
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/chevron-right-red-sma.svg) right top 4px no-repeat;
}

.sit-map-tit {
  width: calc(50% - 45px);
  font-size: 120%;
  font-weight: 600;
  position: relative;
  padding: 5px 10px 5px 35px;
  margin-bottom: 10px;
}

.sit-map-tit:before {
  left: 0;
  padding-right: 0px;
  position: absolute;
  content: "";
  background: url(../images/external-link.svg) left center no-repeat;
  width: 26px;
  height: 26px;
}

.sit-map-lis>.page_item {
  width: calc(50% - 45px);
  font-size: 120%;
  font-weight: 600;
  position: relative;
  padding: 5px 10px 5px 35px;
  margin-bottom: 10px;
}

.sit-map-lis>.page_item:before {
  left: 0;
  padding-right: 0px;
  position: absolute;
  content: "";
  background: url(../images/external-link.svg) left center no-repeat;
  width: 26px;
  height: 26px;
}

.sit-map-chi-lis {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding-bottom: 30px;
}

.sit-map-chi-lis>li {
  width: calc(25% - 30px);
  height: auto;
  line-height: 150%;
  padding: 0 0px 5px 25px;
  position: relative;
}

.sit-map-chi-lis>li::before {
  padding: 0;
  left: 0;
  position: absolute;
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/chevron-right-red-sma.svg) right top 4px no-repeat;
}

.doc-con-sec p {
  padding-bottom: 30px;
}


/* FAQ よくある質問　*/

.faq-lis {
  width: calc(100% - 0px);
  height: auto;
  margin: auto;
  padding: 0px 0;
}

.faq-lis-tit {
  width: calc(100% - 6px);
  height: calc(auto);
  border: solid 0px #00558f;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  cursor: pointer;
  margin: 0px 0px;
}

.faq-lis-que-tit {
  width: calc(100% - 0px);
  min-height: 50px;
  line-height: 130%;
  color: #0069a9;
  font-weight: 600;
  margin-left: 0px;
  padding: 0px 0px;
  border-radius: 8px;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.faq-lis-tit.selected .faq-lis-que-tit {}

.faq-lis-que {
  background: #a8a8a8;
  width: 54px;
  height: 50px;
  color: #fff;
  font-size: 160%;
  font-weight: 600;
  border-radius: 6px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
}

.faq-lis-que-tit {
  width: calc(100% - 54px);
  font-size: 120%;
  font-weight: 600;
  padding: 0px 10px 0px 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.faq-lis-sen {
  width: calc(100% - 0px);
  height: calc(auto);
  border: solid 0px #ff5151;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0px auto 50px;
  letter-spacing: 0;
  padding: 0;
}

.faq-lis-ans {
  background: #fff;
  width: 44px;
  height: 44px;
  border-radius: 6px;
  margin:0 30px 10px 0;
  color: #ff5151;
  border: solid #ff5151 3px;
  font-size: 160%;
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.fle-lin {
	width:100%;
	height:auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
	
}

.lin-url-bor,p.lin-url-bor {
  width: 100%;
  height: auto;
  padding: 10px 0;
  margin: 10px 0;
  border-top: solid 2px #0069a9;
  border-bottom: solid 2px #0069a9;
  text-align: right;
}

.lin-url {
  width: auto;
  display: inline-block;
  font-size: 1.1rem;
  color: #0069a9;
  cursor: pointer;
  padding-right: 30px;
  background: url(../images/arrow-right-circle.svg) right center no-repeat;
  -webkit-appearance: none;
  transition: 0.5s;
  /* 0.0秒アニメーション */
  -webkit-transition: 0.5s;
}

.lin-url:hover {
  color: #ff5151;
}


.sor-ima {
  position: relative;
  width: 100%;
  height: 280px;
  background: #FFF;
  overflow: hidden;
  border-radius: 2%;
}

.sor-ima img {
  position: absolute;
  height: auto;
  width: 100%;
  top: 50%;
  left: 50%;
  min-height: auto;
  min-width: 100%;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.two-cul-wra {
  width: 1080px;
  height: auto;
  margin: 0 auto;
  padding: 0px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.mai-con-blo {
  max-width: 740px;
  width: 100%;
  height: auto;
  background: #FFF;
}

.con-blo-sec {
  width: calc(100% - 60px);
  height: auto;
  padding: 0 30px;
}


/* time table */

.inf-lis {
  max-width: 960px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  text-align: left;
  margin: auto;
}

.inf-lis dt {
  width: calc(30% - 16px);
  padding: 5px 7px;
  background: #ffff;
  border-bottom: solid 1px #a8a8a8;
}

.inf-lis dd {
  width: calc(70% - 15px);
  padding: 5px 7px;
  border-bottom: solid 1px #e7e7e7;
}

.inf-lis dt:last-of-type, .inf-lis dd dd:last-of-type {}

.inf-lis dt .red {
  color: #D52A32;
}

.tim-tab-lis {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  margin: auto;
}

.tim-tab-lis>li {
  width: calc(9% - 14px);
  padding: 5px 7px;
  background: #fcfcfc;
  border-bottom: solid 1px #FFF;
  text-align: center;
}

.tim-tab-lis>li:nth-child(n + 10) {
  width: calc(9% - 14px);
  padding: 5px 7px;
  background: #fff;
  border-bottom: solid 1px #FFF;
  text-align: center;
}

.tim-tab-lis>li:nth-child(9n - 8) {
  width: calc(28% - 14px);
  padding: 5px 7px;
  background: #fdf4f4;
  border-bottom: solid 1px #FFF;
}

.tim-tab-lis>li:nth-child(1) {
  background: #fcfcfc;
}

.tit-tab-tex {
  font-size: 90%;
  padding: 5px;
}


/* 共通セレクタ */

.tar-bla-lin {
  position: relative;
  padding-left: 20px;
  background: url(../images/link.svg)left top 2px no-repeat;
}

.flo-rig {
  float: right;
}

.flo-lef {
  float: left;
}

.cle-bot {
  clear: both;
}

.bre-cru {
  text-align: left;
  height: auto;
  line-height: 140%;
  font-size: 90%;
  margin: 0 auto 20px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.bre-cru li:after {
  content: "〉";
  padding: 0 0 0px 5px;
  font-size: 90%;
}

.bre-cru li:last-child:after {
  content: "";
}

.ali-rig {
  text-align: right;
}

.ali-lef {
  text-align: left;
}

.ali-cen {
  text-align: center;
}

.pad-top-sma {
  padding-top: 10px;
}

.pad-bot-tal {
  padding-bottom: 40px;
}

.pad-lef-mid {
  padding-left: 20px;
}

.pad-rig-mid {
  padding-right: 20px;
}

.pad-top-bot-mid {
  padding-top: 20px;
  padding-bottom: 20px;
}

.pad-top-mid {
  padding-top: 20px;
}

.pad-bot-mid {
  padding-bottom: 20px;
}

.pad-bot-mid {
  padding-bottom: 20px;
}

.pad-top-bot-tal {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mar-top-mid {
  margin-top: 20px;
}

.mar-bot-mid {
  margin-bottom: 20px;
}

.mar-top-bot-mid {
  margin-top: 20px;
  margin-bottom: 20px;
}

.mar-bot-tal {
  margin-bottom: 40px;
}

.mar-bot-xtal {
  margin-bottom: 80px;
}

.mar-top-tal {
  margin-top: 40px;
}

.mar-top-bot-tal {
  margin-top: 40px;
  margin-bottom: 40px;
}

.mar-rig-mid {
  margin-right: 20px;
}

.mar-lef-mid {
  margin-left: 17px;
}

.pad-top-tal {
  padding-top: 28px;
}

.col-yel-har {
  color: #b7b23c;
}

.col-red, .red_txt {
  color: #D52A32;
}

.col-kah {
  color: #d7ac7c;
}

.col-ore {
  color: #ff5151;
}

.col-ore-har {
  color: #e07979;
}

.col-pin-har {
  color: #EA6097;
}

.col-yel {
  color: #ffb320;
}

.col-gre {
  color: #066;
}

.col-gre-har {
  color: #066;
}

.col-whi {
  color: #ffffff;
}

.col-blu {
  color: #376499;
}

.col-blu-bol {
  color: #376499;
  font-weight: 700;

}

.col-red-bol {
  color: #D52A32;
  font-weight: 700;
}

.col-gre-bol {
  color: #066;
  font-weight: 700;
}

.col-yel-har-bol {
  color: #b7b23c;
  font-weight: 700;
}

.col-bro {
  color: #3b1d02;
}

.fon-lar {
  font-size: 146%;
}

.fon-mid {
  font-size: 110%;
}

.fon-sma {
  font-size: 90%;
}

.fon-xsma {
  font-size: 80%;
}

.fon-bol {
  font-weight: bold;
  font-weight: 600;
}

.lin-hei-sma {
  line-height: 16px;
}

.fon-bol {
  font-weight: bold;
}

.con-are {
  width: calc(100% - 42px);
  border-radius: 0px;
  margin: 0px auto 30px;
  padding: 20px;
  background: #fcfcfc;
}

.con-are-non {
  width: calc(100% - 42px);
  border-radius: 0px;
  margin: 0px auto;
  padding: 20px;
  background: #fcfcfc;
}

.con-are .che-lis, .con-are-non .che-lis {
  font-size: 110%;
  font-weight: 600;
  position: relative;
  padding: 5px 10px 5px 35px;
}

.con-are .che-lis:before, .con-are-non .che-lis:before {
  left: 0;
  padding-right: 10px;
  position: absolute;
  content: "";
  background: url(../images/check-square-reverse.svg) left center no-repeat;
  width: 26px;
  height: 26px;
}

.con-cir-lis {
  width: calc(100% - 60px);
  border-radius: 4px;
  -webkit-border-radius: 4px;
  margin: 20px auto;
  padding: 20px 30px;
  background-color: #fffef1;
}

.con-cir-lis-non {
  width: calc(100% - 60px);
  border-radius: 4px;
  -webkit-border-radius: 4px;
  margin: 0px auto;
  padding: 20px 30px;
  background-color: #fffef1;
}

.con-cir-lis li {
  font-size: 110%;
  font-weight: 600;
  position: relative;
  padding: 5px 30px;
}

.con-cir-lis li:before {
  left: 0;
  padding-right: 10px;
  position: absolute;
  content: "";
  background: url(../images/check.svg) left center no-repeat;
  width: 22px;
  height: 22px;
}
.num-lis {
	counter-reset:number;
	list-style-type: none!important;
	padding:20px;
	background: #fffeef;
	margin-bottom:20px;
}
.num-lis > li {
	position: relative;
	padding-left: 35px;
	font-size:110%;
	font-weight:600;
	line-height: 150%;
	padding: 0.5em 0.5em 0.5em 35px;
}
.num-lis > li:before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display:inline-block;
	background: #376499;
	color: white;
	font-family: 'Avenir', 'Arial Black', 'Arial', sans-serif;
	font-weight:bold;
	font-size: 15px;
	border-radius: 50%;
	left: 0;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	top: 20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.num-lis-nor {
	counter-reset:number;
	list-style-type: none!important;
	padding:0px;
	margin-bottom:20px;
}
.num-lis-nor > li {
	position: relative;
	font-size:100%;
	font-weight:400;
	line-height: 140%;
	padding: 0.5em 0.5em 5px 25px;
}
.num-lis-nor > li:before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display:inline-block;
	background: #376499;
	color: white;
	font-family: 'Avenir', 'Arial Black', 'Arial', sans-serif;
	font-weight:100;
	font-size: 90%;
	border-radius: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	/*以下 上下中央寄せのため*/
  top: 18px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.con-are-yel {
  width: calc(100% - 0px);
  border-radius: 0px;
  -webkit-border-radius: 0px;
  margin: 0px auto 20px;
  padding: 20px 30px;
  background-color: #fffef1;
	box-sizing: border-box;
}

.che-sub-tit {
  width: calc(100% - 0px);
  font-size: 120%;
  font-weight: 600;
  position: relative;
  padding: 5px 30px;
  margin-bottom: 10px;
	box-sizing: border-box;

}

.che-sub-tit:before {
  left: 0;
  padding-right: 10px;
  position: absolute;
  content: "";
  background: url(../images/list.svg) left center no-repeat;
  width: 26px;
  height: 26px;
}

.poi-sub-tit {
  width: calc(100% - 0px);
  font-size: 120%;
  font-weight: 600;
  position: relative;
  padding: 5px 5px 5px 35px;
  margin-bottom: 10px;
		box-sizing: border-box;
}

.poi-sub-tit:before {
  top: 8px;
  left: 0;
  padding-right: 10px;
  position: absolute;
  content: "";
  background: url(../images/check-circle.svg) left center no-repeat;
  width: 24px;
  height: 24px;
}

.flu-ima {
  max-width: 100%;
  height: auto;
}

.ima-sor {
  width: 100%;
  height: auto;
  margin: 30px auto;
  text-align: center;
	
}

.ima-sor img {
  display: inline;
  max-width: 100%;
  width: 100%;
  height: auto;
  border-radius: 10px;
	
}


/* form */

img.ui-datepicker-trigger {
  display: inline;
  margin-left: 5px;
  vertical-align: middle;
}

input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"] {
	border:solid 1px #ccc;
	width:calc(300px);
	height:calc(30px);
	padding:3px 5px;
	font-size:100%;
	border-radius:0px;
}
input[type="text"].inp-sho {
  border: solid 1px #ccc;
  width: calc(80px);
  height: calc(22px);
  padding: 3px 5px;
  font-size: 100%;
}

select {
  width: calc(240px);
  height: calc(30px);
  padding: 3px 5px;
  font-size: 14px;
  border-radius: 0px;
  border: solid 1px #ccc;
}

.but-fre,.wpcf7-submit {
  color: #fff;
  font-size: 130%;
  letter-spacing: 2px;
  background-color: #d80707;
  margin: auto;
  padding: 15px 0;
  line-height: 24px;
  width: calc(80%);
  border: 0px solid #fff;
  border-radius: 6px;
  cursor: pointer;
  -webkit-appearance: none;
  transition: 0.5s;
  -webkit-transition: 0.5s;
}

.but-fre:hover,.wpcf7-submit:hover {
  -webkit-transform: translateY(-4px);
  transform: translateY(-4px);
  background-color: rgba(255, 127, 161, 0.8);
}

.for-but-blo, #edit_schedule {
  margin: 40px auto 40px;
  text-align: center;
}

.but-inp, #edit_schedule .submit {
  color: #e7e7e7;
  font-size: 100%;
  letter-spacing: 2px;
  background-color: #585858;
  line-height: 150%;
  width: calc(24%);
  padding: 10px;
  border: 2px solid #e7e7e7;
  border-radius: 8px;
  cursor: pointer;
}

textarea {
  border: solid 1px #cdcdcd;
  font-size: 100%;
  width: calc(100% - 22px);
  height: calc(80px);
  padding: 10px;
}

.for-att {
  color: #FFF;
  font-weight: 600;
  font-size: 80%;
  padding: 2px;
  line-height: 120%;
  border-radius: 4px;
  background: #e07979;
}

::-webkit-input-placeholder {
  opacity: 0.2;
}

::-moz-placeholder {
  opacity: 0.2;
}

:-ms-input-placeholder {
  opacity: 0.2;
}

:-moz-placeholder {
  opacity: 0.2;
}


/*フェードイン */

.fad-inn {
  opacity: 0.0;
  transform: translate(0, 120px);
  transition: all 1000ms;
}

.fad-inn1, .fad-inn2, .fad-inn3, .fad-inn4 {
  opacity: 0.0;
  transform: translate(0, 120px);
}

.fad-inn1-fad {
  opacity: 1.0;
  transform: translate(0, 0);
  transition: all 1000ms;
  transition-delay: 0s;
}

.fad-inn2-fad {
  opacity: 1.0;
  transform: translate(0, 0px);
  transition: all 1000ms;
  transition-delay: 0.3s;
}

.fad-inn3-fad {
  opacity: 1.0;
  transform: translate(0, 0px);
  transition: all 1000ms;
  transition-delay: 0.6s;
}

.fad-inn4-fad {
  opacity: 1.0;
  transform: translate(0, 0px);
  transition: all 1000ms;
  transition-delay: 0.9s;
}

.scr-inn {
  opacity: 1;
  transform: translate(0, 0);
}


/* END フェードイン */

.cir-lis {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.cir-lis li {
	display:blink;
width:100%;
  font-size: 110%;
  position: relative;
  padding: 0px 20px;
}

.cir-lis li:before {
  position: absolute;
  left: 0px;
  top: 4px;
  content: "●";
  color: #376499;
  display: inline-block;
  transform: rotate(0deg);
  font-size: 70%;
}

.cir-lis-blu li:before {
  color: #376499;
}

.cir-lis-red li:before {
  color: #D52A32;
}

.cir-lis-gre li:before {
  color: #066;
}

.cir-lis-gol li:before {
  color: #b7b23c;
}

.dot-lis {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.dot-lis li {
  width: 100%;
  height: auto;
  font-size: 98%;
  position: relative;
  padding: 0px 20px;
  word-wrap: break-word;
  white-space: normal;
  word-break: break-all;
}

.dot-lis li:before {
  position: absolute;
  left: 0px;
  top: 0px;
  content: "・";
  color: #ff5151;
  display: inline-block;
  transform: rotate(0deg);
  font-size: 100%;
}


/* テーブル　アンダーライン*/

.ver-tab-und-lin {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  text-align: center;
  margin: 0px auto 20px;
}

.ver-tab-und-lin dt, .ver-tab-und-lin dd {
  font-size: 100%;
  padding: 10px;
  border-bottom: solid 1px #CCC;
  background: #fff;
}

.ver-tab-und-lin dt {
  width: calc(30% - 20px);
  color: #606521;
  background-color: #FAFCD8;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.ver-tab-und-lin dd {
  margin-left: 10px;
  width: calc(70% - 30px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
}


/* END テーブル　アンダーライン*/


/* medicoPro CSS */

.med-pro-blo {
  padding: 0px 0 40px;
}

.fle-blo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.med-pro-ima {
  float: right;
  margin-left: 15px;
}

.med-pro-ban-sec {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.med-pro-ban-log {
  position: absolute;
  z-index: 5;
  max-width: 100%;
  height: auto;
}

.med-pro-ban-log img {
  width: 100%;
  height: auto;
}

.med-pro-ban-lis {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.med-pro-ban-lis li {
  width: 50%;
  height: auto;
}

.med-pro-ban-lis li img {
  width: 100%;
  height: auto;
}


/* END medicoPro CSS */


/* ストップ transition */

.sto-tra * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

.menu .fas {
  margin-right: 8px;
}


/* メールフォーム */

.inq-blo {
  max-width:920px;
  width:100%;
  padding: 0px 30px;
  margin: auto;
  background: #FFF;
  box-sizing: border-box;
}

.inq-tit-lin {
  font-size: 120%;
  font-weight: 600;
  padding: 0 0 0px 0;
  border-bottom: double 3px #ff5151;
  margin-bottom: 20px;
}

.inq-blo-aro {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}

.inq-blo-tel {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.inq-blo-tel .fon-bol {
  font-weight: 600;
}

.inq-blo-tel .fon-lar-bol {
  font-weight: 600;
  font-size: 180%;
}

.inq-blo-tel .fon-xlar-bol {
  font-weight: 600;
  font-size: 220%;
}

.inq-blo-tel .col-gre {
  color: #498b48;
}

.inq-blo-tel .col-red {
  color: #D52A32;
}

.ico-mus-lar {
  background-color: #cc3138;
  padding: 2px 5px;
  font-size: 80%;
  font-weight: bold;
  color: #FFF;
  margin: 0px 5px;
  border-radius: 2px;
}

.ico-mus {
  display: block;
  background-color: #cc3138;
  padding: 0px 5px;
  font-size: 12px;
  font-weight: bold;
  color: #FFF;
  float: right;
  margin: 0px 15px 0 5px;
  border-radius: 2px;
}

.dat-lis {
	margin:30px auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:stretch;

}
.dat-lis dt {
	width:calc(35% - 0px);
	font-size:100%;
	font-weight:600;
	padding:10px 15px;
	border-bottom:solid 1px #CCC;
	background:#fafafa;
	vertical-align:top;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	box-sizing: border-box;
}
.swpm-username-input, .swpm-password-input{
    margin-bottom: 0px;
}

.dat-lis dd {
	width:calc(65% - 0px);
	background:none;
	padding:10px 15px;
	border-bottom:solid 1px #CCC;
	box-sizing: border-box;
}
.mfp_but {
	width:100%;
	margin:40px auto 80px;
	text-align:center;
}
.fil-but-blo {
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:center;
}
input[type="text"].but-inp-sho {
	text-align:center;
	color: #fff;
	font-size:90%;
	letter-spacing:2px;
	background-color: #000;
	line-height:30px;
	width:calc(100px - 6px);
	padding:1px 2px 3px;
	border-radius:6px;
	cursor:pointer;
	margin-right:10px;
	-webkit-appearance: none;
}
.but-inp-sho input[type="file"] {
	display : inline-block;
	border-radius : 5%;
	font-size : 18pt;
	text-align : center;
	cursor : pointer;
	padding : 12px 12px;
	background : #000066;
	color : #ffffff;
	line-height : 1em;
 transition : .3s;
	box-shadow : 6px 6px 3px #666666;
	border : 2px solid #000066;
}
.but-inp-sho {
	text-align:center;
	color: #fff;
	font-size:90%;
	letter-spacing:2px;
	background-color: #000;
	line-height:30px;
	width:calc(100px - 6px);
	padding:1px 2px 3px;
	border-radius:6px;
	cursor:pointer;
	margin-right:10px;
	-webkit-appearance: none;
  transition: 0.5s;
  -webkit-transition: 0.5s;
	
}
.but-fre {
	font-size:120%;
	color:#FFF;
	letter-spacing:2px;
	background-color: #376499;
	line-height:140%;
	width:calc(60% - 0px);
	padding:10px 10px;
	border: 0px double #cbdc51;
	border-radius:2px;
	cursor:pointer;
	-webkit-appearance: none;
	transition: 0.5s!important;
	-webkit-transition: 0.5s!important;
	position:relative;
	top:-10px;
}
.but-fre:hover {
	color: #ffffff;
	position:relative;
	top:0px;
	background:#D52A32;
	border:0px solid #D52A32;
  transition: 0.5s!important;
  -webkit-transition: 0.5s!important;
	
}
.pp-blo {
	border-radius:2px;
	width:calc(100% - 42px);
	height:200px;
	overflow:auto;
	padding:20px;
	margin:auto;
	border:solid 1px #e7e7e7;
	background:#FFF;
}

.che-ent {
  text-align: center;
}

.che-ent input[type="checkbox"] {
  display: none;
}


/* チェックボックス代わりラベル サーバーアップ時+label前に+.mfp_element_hidden を追加 */


/* mwform-checkbox-field-textプラグインspan */

#che-ent01-1 {
  display: none;
}

.mwform-checkbox-field-text {
  position: relative;
  cursor: pointer;
  position: relative;
  padding-left: 20px;
  padding-right: 10px;
}

.mwform-checkbox-field-text::before {
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  left: 0;
  top: 50%;
  border: 1px solid;
  border-color: #585753;
  background-color: #FFF;
}

#che-ent01-1:checked+.mwform-checkbox-field-text {
  color: #d01137;
}

#che-ent01-1:required+.mwform-checkbox-field-text {
  background-color: #ffcccc;
}

#che-ent01-1:checked+.mwform-checkbox-field-text::after {
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 18px;
  height: 9px;
  margin-top: -9px;
  top: 50%;
  left: 3px;
  transform: rotate(-45deg);
  border-bottom: 3px solid;
  border-left: 3px solid;
  border-color: #0060af;
}


/* END メールフォーム */

.sns-blo {
  max-width: 240px;
margin-right:10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}

.sns-blo li {
  font-size: 140%;
  margin-left: 10px;
}

.foo-con .sns-blo {
  max-width: 240px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}

.foo-con .sns-blo li:first-of-type {
  margin-left: 0px;
}

blockquote {
  color: #878787;
  margin: 20px 0;
  padding: 20px 40px;
  background: #f3f3f2;
  border: 0px solid #ccc;
  position: relative;
}

blockquote:before {
  content: "''";
  font-size: 120%;
  font-weight: 600;
  color: #d7d7d7;
  left: 10px;
  top: 10px;
  position: absolute;
}

blockquote:after {
  content: "''";
  font-size: 120%;
  font-weight: 600;
  color: #d7d7d7;
  right: 10px;
  bottom: 10px;
  position: absolute;
}


/* START ページネーション　cms-pagination */

.pag-nav {
  width: 100%;
  overflow: hidden;
  margin: 30px auto;
}

.pag-nav ul {
  position: relative;
  float: left;
  left: 50%;
  margin-bottom: 12px;
}

.pag-nav ul li {
  position: relative;
  float: left;
  left: -50%;
  width: 34px;
  height: 38px;
  display: table;
  margin: 0 2px;
  display: none;
}

.pag-nav ul li.pagination-no-num {
  width: auto;
  display: table;
}

.pag-nav ul li.pagination-no-num span {
  background: #f7f7f7;
  border: 1px solid #e7e7e7;
  color: #e7e7e7;
  padding: 0 10px;
}

.pag-nav ul li.pagination-no-num a {
  padding: 0 10px;
}

.pag-nav ul li.pagination-sp {
  display: table;
}

.pag-nav ul li a, .pag-nav ul li span {
  width: 100%;
  height: 100%;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  position: relative;
  border: 1px solid #ccc;
  background: #fff;
}

.pag-nav ul li a:before, .pag-nav ul li span:before {
  position: absolute;
  display: none;
  content: '';
  width: 96%;
  height: 2px;
  background: #ccc;
  bottom: -3px;
  left: 2%;
}

.pag-nav ul li span {
  background: #ff5151;
  border: 1px solid #ff5151;
  color: #fff;
}

.pagination-txt {
  clear: both;
  text-align: center;
  margin-bottom: 40px;
  background: #f3f3f3;
}

.pagination-txt span {
  color: #212121;
}

.nav-sin {
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.nav-sin-lef a, .nav-sin-rig a {
  display: block;
  background: #fff;
  border: 1px solid #e7e7e7;
  color: #212121;
  padding: 10px;
	white-space: nowrap;
	word-break:keep-all;
	display:flex;
	flex-wrap:wrap;
  justify-content: space-between;
	align-items:center;
}

.nav-sin-lef a:hover, .nav-sin-rig a:hover {
  color: #FFF;
  border: solid 1px #ff5151;
  background: #ff5151;
  text-decoration: none;
  transition: background 0.3s ease;
	display:flex;
	flex-wrap:wrap;
  justify-content: space-between;
	align-items:center;

}


/* END ページネーション　cms-pagination */


/* SNS ブロック */

.sns-but-blo {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  /*均等分布*/
  align-items: center;
  width: calc(260px);
  height: auto;
  margin: 10px auto;
  padding: 0px 20px 20px;
  background: #fff;
}

.sns-lin-but a {
  display: block;
  width: calc(60px + 4px);
  color: #212121;
  font-size: 120%;
  letter-spacing: 2px;
  background-color: #fff;
  padding: 0px 0px;
  margin: auto 10px;
  line-height: 160%;
  text-align: center;
  border: 2px solid #212121;
  border-radius: 5px;
  cursor: pointer;
  -webkit-appearance: none;
  transition: 0.5s;
  -webkit-transition: 0.5s;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.sns-lin-but:hover a .fab {
  color: #fff;
}

.sns-lin-but:hover a {
  -webkit-transform: translateY(-4px);
  transform: translateY(-4px);
  background-color: rgba(103, 166, 219, 1.0);
  border: 2px solid #67a6db;
}


/* SNS ブロック END */



/* モーダルウィンドウ */

.loa-blo {
  position: fixed;
  color: #212121;
  background: #fefefe;
  width: calc(100% - 0px);
  max-width: calc(100% - 0px);
  height: 100%;
  overflow-y: scroll;
  margin: 0 auto;
  padding: 0px;
  border-radius: 6px;
  z-index: 50;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.loa-lis {
  position: relative;
  height: 240px;
  width: 174px;
  background: none;
  overflow: hidden;
}

.loa-lis li {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  min-height: auto;
  min-width: auto;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.loa-lis li img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}


/* モーダル背景 */

.loa-bac {
  display: block;
  background-color: rgba(255, 255, 255, 1.0);
  width: 100%;
  height: 140%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 40;
}


/* ロゴマーク　アウトライン */

#wrap_all path {
  fill: #000;
  stroke: #000;
  stroke-width: 0.5px;
  animation: loa-svg 2s ease-in both 1;
}

@keyframes loa-svg {
  0% {
    fill: transparent;
    stroke-dasharray: 1000px;
    stroke-dashoffset: 1000px;
  }
  20% {
    stroke-dashoffset: 0;
  }
  30% {
    fill: transparent;
  }
  70% {
    fill: #000;
  }
}


/* ロゴマーク　アウトライン */

#wra-loa-mar path {
  fill: #000;
  stroke: #000;
  stroke-width: 0.5px;
  animation: loa-mar 3s ease-in both 1;
}

@keyframes loa-mar {
  0% {
    fill: transparent;
    stroke-dasharray: 1000px;
    stroke-dashoffset: 1000px;
  }
  30% {
    stroke-dashoffset: 0;
  }
  30% {
    fill: transparent;
  }
  60% {
    fill: #000;
  }
}

.loa-ima02 img {
  animation-name: loa-ima02;
  animation-fill-mode: both;
  animation-duration: 0.5s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: 0.5s;
  animation-direction: normal;
  margin-top: 30px
}

@keyframes loa-ima02 {
  0% {
    opacity: 0;
  }
  100% {
    margin-top: 0;
    opacity: 1;
  }
}

.loa-ima03 img {
  animation-name: loa-ima03;
  animation-fill-mode: both;
  animation-duration: 0.3s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: 0.8s;
  animation-direction: normal;
  margin-bottom: 20px
}

@keyframes loa-ima03 {
  0% {
    opacity: 0;
  }
  100% {
    margin-bottom: 0;
    opacity: 1;
  }
}

.loa-ima04 img {
  animation-name: loa-ima04;
  animation-fill-mode: both;
  animation-duration: 0.3s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: 0.9s;
  animation-direction: normal;
  transform: translateX(-20px);
}

@keyframes loa-ima04 {
  0% {
    opacity: 0;
  }
  100% {
    transform: translateX(0px);
    opacity: 1;
  }
}

.loa-ima05 img {
  animation-name: loa-ima05;
  animation-fill-mode: both;
  animation-duration: 0.3s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: 1.0s;
  animation-direction: normal;
  transform: translateX(20px);
}

@keyframes loa-ima05 {
  0% {
    opacity: 0;
  }
  100% {
    transform: translateX(0px);
    opacity: 1;
  }
}

.loa-ima06 img {
  animation-name: loa-ima06;
  animation-fill-mode: both;
  animation-duration: 0.3s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: 1.1s;
  animation-direction: normal;
  margin-bottom: 20px
}

@keyframes loa-ima06 {
  0% {
    opacity: 0;
  }
  100% {
    margin-bottom: 0;
    opacity: 1;
  }
}

.loa-ima07 img {
  animation-name: loa-ima07;
  animation-fill-mode: both;
  animation-duration: 0.3s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: 1.2s;
  animation-direction: normal;
  margin-bottom: 20px
}

@keyframes loa-ima07 {
  0% {
    opacity: 0;
  }
  100% {
    margin-bottom: 0;
    opacity: 1;
  }
}

.loa-ima08 img {
  animation-name: loa-ima08;
  animation-fill-mode: both;
  animation-duration: 0.5s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: 1.4s;
  animation-direction: normal;
  position: relative;
  left: -30px;
}

@keyframes loa-ima08 {
  0% {
    opacity: 0;
  }
  100% {
    position: relative;
    left: 0px;
    opacity: 1;
  }
}

.loa-ima10 img {
  animation-name: loa-ima10;
  animation-fill-mode: both;
  animation-duration: 0.5s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: 1.4s;
  animation-direction: normal;
  position: relative;
  right: -30px;
}

@keyframes loa-ima10 {
  0% {
    opacity: 0;
  }
  100% {
    position: relative;
    right: 0px;
    opacity: 1;
  }
}

.loa-lis li.loa-ima09 {}

.loa-lis li.loa-ima09 img {
  animation-name: loa-ima09;
  animation-fill-mode: both;
  animation-duration: 0.5s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: 1.6s;
  animation-direction: normal;
}

@keyframes loa-ima09 {
  0% {
    opacity: 0;
    transform: translateX(50%);
  }
  80% {
    transform: translateX(-5%);
    opacity: 1;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}

.pc-blo {
  display: block;
}

.sp-blo {
  display: none;
}


/* ワンクリック再生　動画レスポンシブ表示 */

.you-tub-wra {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.you-tub-wra iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.pc-blo{
	display:block;
}
.sp-blo{
	display:none;
}
/* #########################
会員機能画面
##########################  */
.ent-are-bor {
	width:calc(auto - 0px);
	padding:0px;
	border-radius:4px;
	background:#fff;
	border:solid 0px #e7e7e7;
	margin:10px auto 20px;
	text-align:center;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
}
.mem-but-blo {
	margin:10px auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
}
.mem-lin-blo {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
}
.mem-lin-blo li {
	margin:auto 10px;
}
.mem-lin-blo a {
	color:#06F;
	font-size:90%;
}
.col-red, .red_txt {
	color:#D52A32;
}
.col-red-bol ,.swpm_error li{
	color:#D52A32;
	font-weight:700;
}

.swpm-post-not-logged-in-msg a{
	font-weight:700;
	color:#3883D6;
	text-decoration:underline;
}
/* テーブル　アンダーライン*/
.ver-tab-und-lin {
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:stretch;
	text-align:center;
	margin:0px auto 20px;
}
.ver-tab-und-lin dt, .ver-tab-und-lin dd {
	font-size:100%;
	padding:10px;
	border-bottom:solid 1px #CCC;
	background:#fff;
}
.ver-tab-und-lin dt {
	width:calc(30% - 20px);
	color:#606521;
	background-color: #FAFCD8;
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
.ver-tab-und-lin dd {
	margin-left:10px;
	width:calc(70% - 30px);
	display:flex;
	justify-content:flex-start;
	align-items:center;
	text-align:left;
}
/* END テーブル　アンダーライン*/
/*-------------------------------------------------
 time table
-------------------------------------------------*/
.tab-lin {
	max-width:800px;
	width:100%;
	height:auto;
	margin-bottom:20px;
}
.tab-lin dl {
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:stretch;
	text-align:left;
	margin:auto;
}
.tab-lin dl dt {
	width:calc(25% - 16px);
	padding:5px 7px;
	background:#f9f9f9;
	border:solid 1px #cdcdcd;
	border-bottom:none;
}
.tab-lin dl dd {
	width:calc(75% - 15px);
	padding:5px 7px;
	border:solid 1px #cdcdcd;
	border-left:none;
	border-bottom:none;
}
.tab-lin dl dt:last-of-type, .tab-lin dl dd:last-of-type {
	border-bottom:solid 1px #cdcdcd;
}
.tab-lin dl dt .red {
	color:#D52A32;
}
.tab-non {
}
.tab-non dl {
	margin: 0px;
	padding: 0px;
	width:100%;
	display:flex;
}
.tab-non dl dt {
	width:calc(40% - 14px);
	padding:5px 7px;
	background:#f9f9f9;
	border-bottom:solid 1px #FFF;
}
.tab-non dl dd {
	width:calc(60% - 14px);
	padding:5px 7px;
	border-bottom:solid 1px #cdcdcd;
}
.fle-cen {
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	align-items:center;
}
.swpm-post-not-logged-in-msg{
padding:5px 2.5%;
box-sizing: border-box;
}
/* コメント全体ボックス */
#respond {
    background: #fafafa;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    padding: 32px;
    margin-top: 40px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.05);
	box-sizing: border-box;
	margin-bottom:20px;
}

/* タイトル */
#respond h3.comment-reply-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
}

/* ログイン情報部分 */
#respond .logged-in-as {
    background: #fff;
    padding: 14px 18px;
    border-radius: 10px;
    border: 1px solid #e6e6e6;
    margin-bottom: 24px;
    font-size: 0.95rem;
    color: #555;
}

#respond .logged-in-as a {
    color: #2271b1;
    text-decoration: none;
}
#respond .logged-in-as a:hover {
    text-decoration: underline;
}

/* ラベル */
#respond label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    color: #444;
    font-size: 0.95rem;
}

/* テキストエリア */
#respond textarea {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 14px;
    font-size: 1rem;
    background: #fff;
    transition: border 0.2s, box-shadow 0.2s;
	box-sizing: border-box;
}

#respond textarea:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.15);
    outline: none;
}

/* 送信ボタン */
.form-submit{
	margin:20px auto 0;
	text-align:center;
 
}
#respond input#submit {
    background: #2271b1;
    color: #fff;
   padding: 12px 26px;
    font-size: 1rem;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
}

#respond input#submit:hover {
    background: #1b5c8d;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

/* 必須マーク */
#respond .required {
    color: #d9534f;
    margin-left: 4px;
}
/* 返信リンク */
.comment-body .reply {
    margin-top: 14px;
}

/* コメント部分================*/
/* コメントタイトル */
#comments {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 40px 0 24px;
    color: #333;
}

/* コメントリスト全体 */
.commentlist {
    list-style: none;
    margin: 0;
    padding: 0 1.5%;
	width:100%;
	height:auto;
	box-sizing: border-box;
}

/* 各コメントボックス */
.commentlist .comment-body {
	width:100%;
	height:auto;
    background: #ffffff;
    border-radius: 10px;
    padding: 22px 26px;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
	box-sizing: border-box;
}

/* ============================
   親コメント（depth-1）
============================ */
.depth-1 > .comment-body {
	width:100%;
	height:auto;
    border: 3px double #e4e4e4;
	box-sizing: border-box;

}
/* 子コメントの背景色を少し青味に */
.depth-2 > .comment-body,.depth-4 > .comment-body,.depth-6 > .comment-body{
	width:calc(100% -20px);
	height:auto;
	margin:5px 0 10px 0px;
    background: #fefbf4;
    border: 1px solid #dce7f3;
	box-sizing: border-box;
}
.depth-3 > .comment-body,.depth-5 > .comment-body,.depth-7 > .comment-body {
	width:calc(100% -20px);
	height:auto;
	margin:5px 0 10px 0px;
    background: #f8f7f4;
    border: 1px solid #dce7f3;
	box-sizing: border-box;
}
.depth-2 > .comment-body,.depth-3 > .comment-body,.depth-4 > .comment-body,.depth-5 > .comment-body,.depth-6 > .comment-body,.depth-7 > .comment-body {
  position: relative;
}
.depth-2 > .comment-body:before,.depth-3 > .comment-body:before,.depth-4 > .comment-body:before,.depth-5 > .comment-body:before,.depth-6 > .comment-body:before,.depth-7 > .comment-body {
  content: "";
  position: absolute;
  left:-20px;
  top:calc(10% - 15px);
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #ead39b transparent transparent transparent;
  border-width: 20px 6px 0 6px;
  transform: rotate(-90deg);
}
/* アイコン＋名前部分 */
.comment-author {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

/* アバター */
.comment-author img {
    border-radius: 50%;
    margin-right: 10px;
}

/* 投稿者名 */
.comment-author .fn {
    font-weight: 600;
    color: #333;
    margin-right: 4px;
}

.comment-author .says {
    color: #666;
    font-size: 0.9rem;
}

/* 日付メタ */
.comment-meta {
    font-size: 0.85rem;
    margin-bottom: 10px;
}

.comment-meta a {
    color: #2271b1;
    text-decoration: none;
}
.comment-meta a:hover {
    text-decoration: underline;
}

/* コメント本文 */
.comment-body {
    font-size: 1rem;
    color: #444;
    line-height: 1.7;
}

/* 承認待ちメッセージ */
.comment-awaiting-moderation {
    display: inline-block;
    background: #fff8e6;
    border: 1px solid #ffdd9b;
    color: #8a6d3b;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 0.9rem;
    margin-bottom: 10px;
}

/* 返信リンク */
.comment-body .reply {
    margin-top: 14px;
}

.comment-body .reply a {
    background: #f3f7fb;
    border: 1px solid #d6e4f0;
    padding: 6px 14px;
    border-radius: 8px;
    color: #2271b1;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background 0.2s, border 0.2s;
}

.comment-body .reply a:hover {
    background: #e8f1fa;
    border-color: #c7dae9;
}

/* 子コメントのインデント調整 */
.commentlist .children {
    margin-left: 30px;
    margin-top: 10px;
}

/* 次ページナビゲーション */
.navigation {
    display: flex;
    justify-content: space-between;
    margin: 15px 0;
}

.navigation .alignleft,
.navigation .alignright {
    font-size: 0.95rem;
}

.navigation a {
    color: #2271b1;
    text-decoration: none;
}
.navigation a:hover {
    text-decoration: underline;
}
#comments,.swpm-post-no-access-msg{
	padding:0 1.5%;
	box-sizing: border-box;
}
.caut-area {
  font-size: 80%;
  line-height: 130%;
  max-width: 800px;
  width: calc(100% - 2.5%);
  border: solid 1px #e7e7e7;
  border-radius: 0px;
  margin: 20px auto 30px;
  padding: 20px;
  background: #fafafa;
box-sizing: border-box;
}