/*
==================================================
 カイロベーシック用スタイルシート
 Ver 1.0
 テーマ：SWELL
 サイト：カラケア用
 ==================================================
*/

/* ===============================================================*/
/* 共通設定 ------------------------------------------------------*/
/* ===============================================================*/

/*共通文字装飾*/
.u { text-decoration: underline; }
.r { color: #f00; }
.bl{ color:#0176E4; }
.blk{ color:#000; }
.w { color: #fff; }
.ye { color: #FFE70B; }
.fw10 { font-weight: 100; }
.fw30 { font-weight: 300; }
.fw50 { font-weight: 500; }
.fw70 { font-weight: 700; }
.fw90 { font-weight: 900; }
.fs07 { font-size: 0.7em; }
.fs08 { font-size: 0.8em; }
.fs09 { font-size: 0.9em; }
.fs10 { font-size: 1.0em; }
.fs11 { font-size: 1.1em; }
.fs12 { font-size: 1.2em; }
.fs13 { font-size: 1.3em; }
.fs14 { font-size: 1.4em; }
.fs15 { font-size: 1.5em; }
.fs16 { font-size: 1.6em; }
.fs17 { font-size: 1.7em; }
.fs18 { font-size: 1.8em; }
.fs19 { font-size: 1.9em; }
.fs20 { font-size: 2.0em; }
.fs25 { font-size: 2.5em; }
.fs30 { font-size: 3.0em; }
.lh13 { line-height: 1.3; }
.lh14 { line-height: 1.4; }
.lh15 { line-height: 1.5; }
.lh16 { line-height: 1.6; }
.lh17 { line-height: 1.7; }
.lh18 { line-height: 1.8; }
.lh19 { line-height: 1.9; }
.lh20 { line-height: 2.0; }
.b { font-weight: bold; }
.y { background-color: #ff0; }
.y_marker{ background: linear-gradient(transparent 50%, #ffffac 50%); }
.border{ border-bottom: 1px dotted #eee; }

.gothic { font-family:'Yu Gothic', sans-serif; }
.mincho { font-family:"Noto Serif JP", "游明朝体", "YuMincho", "游明朝", "Yuh Mincho", serif; font-weight: 700; font-style: normal; }
.noto { font-family: "Shin Go Bold",'Century Gothic','Yu Gothic', sans-serif; }
.noto_mincho { font-family: 'Ryumin Bold KL', "游明朝体", "YuMincho", "游明朝", "Yu Mincho", serif; }

/*非表示設定*/
.hi { display: none; }
.hy { display: block; }

/* レスポンシブ表示用設定 ----------------------------------------------*/
/* タブレット表示の装飾 ------------------------------------------------*/
/*960px以下（タブレット）*/
@media screen and (max-width: 959px) {
  /*文字装飾*/
  .fs11 { font-size: 1.0em; }
  .fs12 { font-size: 1.1em; }
  .fs13 { font-size: 1.1em; }
  .fs14 { font-size: 1.2em; }
  .fs15 { font-size: 1.2em; }
  .fs16 { font-size: 1.3em; }
  .fs17 { font-size: 1.3em; }
  .fs18 { font-size: 1.4em; }
  .fs19 { font-size: 1.4em; }
  .fs20 { font-size: 1.5em; }
  .fs25 { font-size: 1.5em; }
  .fs30 { font-size: 2.5em; }
  
  /*非表示設定*/
  .hi { display: block; }
  .hy { display: none; }
}

/* スマホ表示の装飾 ------------------------------------------------*/
/*600px以下（スマホ）*/
@media screen and (max-width: 599px) {
  .sp_align_left { text-align: left; }
  div.swell-block-columns.sp_reverse div.swell-block-columns__inner { flex-wrap: wrap-reverse; }
}



/* ===============================================================*/
/* アニメーション ------------------------------------------------*/
/* ===============================================================*/

/* フラッシュ ------------------------------------------------*/
@keyframes flash {
	from, 50%, to {
		opacity: 1;
		text-shadow:
		0px 0px 10px #ff0,
		0px 0px 30px #ff0,
		0px 0px 50px #ffffbd;}
	25%, 75% {
		opacity: 0.3;
		text-shadow:none;}}
@-webkit-keyframes flash {
	from, 50%, to {
		opacity: 1;
		text-shadow:
		0px 0px 10px #ff0,
		0px 0px 30px #ff0,
		0px 0px 50px #ffffbd;}
		25%, 75% {
			opacity: 0.3;
			text-shadow:none;}}
.flash {
	animation-duration:3s;
	animation-iteration-count:infinite;
	-webkit-animation-name: flash;
	animation-name: flash;
	margin: inherit;
}

/* フェードイン ------------------------------------------------*/
.fadein {
	animation-name: fadeinAnime;
	animation-duration: 3s;
	animation-fill-mode: forwards;
	opacity : 0;
}
@keyframes fadeinAnime {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* バウンス ------------------------------------------------*/
.bounce {
  animation: bounce 1.5s linear infinite;
}
@keyframes bounce {
  from, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transform: translate3d(0,0,0);}
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -15px, 0); }
  70% {
    transform: translate3d(0, -10px, 0); }
  90% {
    transform: translate3d(0,-4px,0); }
}

/* キラリ ------------------------------------------------*/
.reflection {
  position: relative;
  overflow: hidden;
}
.reflection::after {
  content: "";
  display: block;
  width: 30px;
  height: 100%;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #FFF;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflect 2s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflect 2s ease-in-out infinite;
}
@keyframes reflect {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflect {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

/* ===============================================================*/
/* JINの装飾を継承 ------------------------------------------------*/
/* ===============================================================*/
.h2-style06 h2 {
  position: relative;
}
@media (max-width: 767px) {
  .h2-style06 h2 {
    font-size: 1.45rem;
    line-height: 1.8rem;
    padding: 13px;
    padding-left: 6px;
    padding-bottom: 8px;
    margin-top: 1.4rem;
    margin-bottom: 1rem;
    font-weight: 700;
  }
}
@media (min-width: 768px) {
  .h2-style06 h2 {
    font-size: 1.65rem;
    line-height: 2rem;
    padding: 15px;
    padding-left: 8px;
    padding-bottom: 10px;
    margin-top: 2.6rem;
    margin-bottom: 1.6rem;
  }
}
.h2-style06 h2:before {
  position: absolute;
  content: "";
  z-index: 0;
  bottom: 0;
  left: 0px;
  width: 100%;
  height: 6px;
  border-radius: 5px;
  background-image: linear-gradient(-45deg, transparent 25%, #f4e2de 25%, #f4e2de 50%, transparent 50%, transparent 75%, #f4e2de 75%, #f4e2de);
  background-size: 6px 6px;
}

/* ===============================================================*/
/* カラケアの装飾 ------------------------------------------------*/
/* ===============================================================*/
.t-aligncenter {text-align: center;}
div.post_content figure.spec table tr th {width: 30% !important; text-align: center;}
.c-red {color: #f00;}
p.has-background.komi1 {padding: 1em 2em;}

/* グループ(背景有り)の内余白除去 */
.padding-none {padding: 0 !important;}
.paddingw-none {padding-left: 0 !important; padding-right: 0 !important;}
.paddingh-none {padding-top: 0 !important; padding-bottom: 0 !important;}
/* アンカータグのオフセット対応 */
.id-offset {padding-top: 150px !important;}

/* レスポンシブ表示用設定 ----------------------------------------------*/
/* タブレット表示の装飾 ------------------------------------------------*/
/*960px以下（タブレット）*/
@media screen and (max-width: 959px) {
}

/* スマホ表示の装飾 ------------------------------------------------*/
/*600px以下（スマホ）*/
@media screen and (max-width: 599px) {
.id-offset {padding-top: 100px !important;}
}
