@charset "UTF-8";
/*
HelveticaNeue Bold
----------------------------------------------------*/
@font-face {
  font-family: "HelveticaNeueBold";
  src: local("HelveticaNeue Bold"), local("HelveticaNeue-Bold"), url(../fonts/HelveticaNeue-Bold.otf) format("opentype");
  font-style: normal;
  font-weight: 700; }

/*表*/
.entry-content table {
  width: 100%;
  margin: 1em 0;
  border: 1px solid #e0e0e0; }

/*表をレスポンシブに*/
.entry-content table.tb-responsive {
  display: block;
  overflow-x: auto;
  width: 100%;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch; }

.entry-content table caption {
  margin: 0 0 7px;
  color: #9fa6b4;
  font-size: 0.75em;
  letter-spacing: 1px; }

.entry-content tr:not(:last-child) {
  border-bottom: 1px solid #e0e0e0; }

.entry-content td {
  padding: 7px;
  border-right: 1px solid #e0e0e0;
  word-break: break-all; }

.entry-content td:last-child,
.entry-content th:last-child {
  border-right: 0; }

.entry-content th {
  padding: 7px;
  border-right: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
  background: #f8f9fa; }

.entry-content tfoot {
  border-top: 1px dotted #c5c7ca;
  background: #f8f9fa; }

/*引用*/
.entry-content blockquote {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  margin: 1.5em 0;
  padding: 13px 15px 13px 50px;
  border: solid 2px #464646;
  color: #464646; }

.entry-content blockquote p {
  margin: 10px 0;
  padding: 0;
  line-height: 1.7; }

.entry-content blockquote cite {
  display: block;
  color: #888;
  font-size: 0.9em;
  text-align: right; }

.entry-content blockquote ul,
.entry-content blockquote ol {
  border: none;
  padding: 5px 0 5px 22px;
  margin: 0;
  background: transparent; }

/*リスト*/
.entry-content ul {
  list-style-type: disc; }

.entry-content li {
  padding: 5px 0; }

.entry-content li ul li,
.entry-content li ol li {
  padding: 0; }

.entry-content ol {
  list-style-type: decimal; }

.entry-content ul li ul,
.entry-content ul li ol,
.entry-content ol li ul,
.entry-content ol li ol {
  margin: 0;
  padding: 0.5em 0 0.5em 1.3em;
  border: none; }

/*定義リスト*/
.entry-content dd {
  margin-bottom: 1.5em;
  margin-left: 0;
  color: #787878;
  font-size: 0.9em; }

/*画像*/
.entry-content img {
  max-width: 100%;
  height: auto; }

.entry-content .size-auto,
.entry-content .size-full,
.entry-content .size-large,
.entry-content .size-medium,
.entry-content .size-thumbnail {
  max-width: 100%;
  height: auto; }

.aligncenter,
img.aligncenter {
  clear: both;
  margin-right: auto;
  margin-left: auto; }

img.aligncenter {
  display: block; }

/* キャプション */
.entry-content .gallery-caption {
  color: gray;
  font-size: 0.75em;
  margin: 5px 0;
  text-align: center; }

.wp-content .wp-caption {
  max-width: 100%;
  margin: 0 0 1.5em;
  padding: 8px;
  border: #eaedf2 2px solid; }

.wp-content .wp-caption.aligncenter {
  margin: 0 auto 1em; }

.wp-content .wp-caption img {
  max-width: 100%;
  width: 100%;
  margin-bottom: 0; }

.wp-content .wp-caption p.wp-caption-text {
  margin: 10px 0 0;
  font-size: 0.85em; }

/*コード*/
.entry-content code,
.entry-content .haiiro {
  padding: 0.2em 0.3em;
  margin: 0 0.2em;
  border-radius: 5px;
  background: #f1f2f3;
  color: #404040;
  font-size: 0.9em; }

.entry-content pre {
  margin: 0 0 1.5em;
  padding: 1em;
  border: solid 1px #eaedf2;
  background: #f3f6fc;
  color: #54687c; }

.entry-content pre code {
  padding: 0;
  background: transparent; }

.entry-content > *:first-child {
  margin-top: 0.1em; }

/*広告ウィジェット*/
.entry-content .sponsored {
  margin: 1em 0; }

.entry-content .sponsored:first-child {
  margin-top: 0; }

/*========= 769px〜の場合 =========*/
@media only screen and (min-width: 769px) {
  /*画面サイズが大きくなったときに表のスクロールを解除*/
  .entry-content table.tb-responsive {
    display: table;
    overflow-x: visible;
    width: auto;
    border: 2px solid #e0e0e0;
    white-space: normal; } }

/*
 主に記事内で使用するスタイル
 見出し/ボタン/ボックス/リスト/ショートコード/カエレバ等
*/
/** 評価ボックス **/
.rate-title {
  padding: 5px;
  margin-top: 1em;
  font-weight: bold;
  font-size: 1.25em;
  text-align: center; }

.rate-title:before {
  content: "\f02e";
  padding-right: 5px; }

.rate-box {
  margin-bottom: 1em;
  font-size: 15px;
  border: solid 2px #e6e6e6; }

.rateline {
  padding: 7px 4px 7px 10px; }

.rate-box .rateline:nth-child(even) {
  background: #f3f3f3; }

.rate-thing {
  display: inline-block;
  padding-right: 10px;
  width: calc(100% - 125px);
  max-width: 250px;
  font-weight: bold;
  vertical-align: middle; }

.rate-star {
  display: inline-block;
  margin: 0;
  width: 125px;
  color: rgba(0, 0, 0, 0.15);
  vertical-align: middle; }

.fa5 .rate-star {
  font-size: 0.95em; }

.rate-star .fa,
.rate-star .fa-star-half-alt {
  color: #ffb500; }

.rate-box .rateline.end-rate {
  background: #e8f4ff; }

/*アコーディオン*/
.accordion {
  margin: 0.5em 0;
  font-size: 0.95em; }

.accordion label {
  display: block;
  position: relative;
  padding: 13px 37px 13px 14px;
  font-weight: bold;
  border: solid 1px #c1c1c1;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 2px; }

.accordion label:after {
  content: "+";
  font-family: "Quicksand", sans-serif;
  position: absolute;
  right: 14px;
  top: 17px;
  top: calc(50% - 7.5px);
  line-height: 15px;
  font-size: 23px;
  font-weight: normal;
  color: #c1c1c1; }

.accordion label:hover {
  background: #efefef; }

.accordion_input {
  display: none; }

.accordion_content {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: 0.8s;
  transition: 0.8s; }

.accordion_input:checked ~ .accordion_content {
  height: auto;
  padding: 0.7em 0;
  opacity: 1;
  overflow: visible; }

.accordion_input:checked + label {
  background: #efefef; }

.accordion_input:checked + label:after {
  content: "-"; }

/*タイムライン*/
.entry-content .tl {
  margin: 1em 0; }

.tl-content {
  position: relative;
  padding: 0 0 1.5em 1.8em; }

.tl-content:before {
  content: "";
  width: 3px;
  background: #ccd5db;
  display: block;
  position: absolute;
  top: 24px;
  bottom: 0;
  left: 6px; }

.tl_marker {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: solid 3px; }

.tl-content:not(:first-of-type):not(:last-of-type) .tl_marker {
  background: transparent; }

.tl-content:last-of-type:before {
  content: none; }

.tl_label {
  padding-top: 2px;
  color: #90969a;
  font-size: 14px;
  font-weight: bold; }

.tl_title {
  font-size: 1.1em;
  font-weight: bold;
  line-height: 1.5; }

.tl_main {
  margin-top: 0.5em;
  padding: 0 0 1.5em;
  font-size: 0.9em;
  line-height: 1.6;
  border-bottom: dashed 1px #ccd5db; }

/* 余白の調整 */
.entry-content .tl_main > * {
  margin: 0.7em 0 0; }

.tl_main > ul,
.tl_main > ol {
  margin: 0;
  padding: 0.3em 0 0.3em 1.3em;
  border: none; }

.entry-content .tl_main .my-box {
  margin-top: 1em; }

.entry-content .tl_main .box28,
.entry-content .tl_main .box30,
.entry-content .tl_main .box31,
.entry-content .tl_main .box32,
.entry-content .tl_main .box33 {
  margin-top: 2.3em; }

/*見出し*/
#inner-content .hh1 {
  display: block;
  font-size: 2.8rem;
  line-height: 1.28;
  font-weight: normal; }
  @media screen and (max-width: 767px) {
    #inner-content .hh1 {
      line-height: 3.6rem;
      font-size: 2.4rem; } }

#inner-content .hh10 {
  font-size: 2.0rem;
  line-height: 1.5;
  padding-bottom: 11px;
  display: block;
  position: relative; }
  #inner-content .hh10:after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #D9D9D9;
    position: absolute;
    left: 0;
    bottom: 0; }

#inner-content .hh11 {
  display: block;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: normal; }
  @media screen and (max-width: 767px) {
    #inner-content .hh11 {
      font-size: 1.6rem; } }

#inner-content .hh15 {
  font-size: 2.0rem;
  line-height: 1.5;
  padding-bottom: 11px;
  display: block;
  position: relative; }
  #inner-content .hh15:after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #D9D9D9;
    position: absolute;
    left: 0;
    bottom: 0; }

#inner-content .hh18 {
  font-size: 2.4rem;
  line-height: 1.5;
  position: relative;
  padding-bottom: 11px;
  display: block; }
  #inner-content .hh18:after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #000000;
    position: absolute;
    left: 0;
    bottom: 0; }

#inner-content .hh20,
#inner-content .hh21,
#inner-content .hh23,
#inner-content .hh26 {
  font-size: 2.4rem;
  line-height: 1.5;
  position: relative;
  padding-bottom: 11px;
  display: block; }
  #inner-content .hh20:after,
  #inner-content .hh21:after,
  #inner-content .hh23:after,
  #inner-content .hh26:after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #000000;
    position: absolute;
    left: 0;
    bottom: 0; }

#inner-content .hh32 {
  display: block;
  font-size: 2.8rem;
  line-height: 1.28;
  font-weight: normal; }
  @media screen and (max-width: 767px) {
    #inner-content .hh32 {
      line-height: 3.6rem;
      font-size: 2.4rem; } }

#inner-content .hh.hhq,
#inner-content .hh.hha {
  position: relative;
  margin: 0;
  padding: 0 0 0 55px;
  font-size: 18px; }

#inner-content .hh.hhq + *,
#inner-content .hh.hha + * {
  margin-top: 1.5em; }

#inner-content .hh.hhq:before,
#inner-content .hh.hha:before {
  content: "Q";
  position: absolute;
  left: 0;
  top: -6px;
  display: inline-block;
  width: 45px;
  height: 45px;
  line-height: 45px;
  vertical-align: middle;
  text-align: center;
  font-family: Arial, sans-serif;
  font-size: 21px;
  background: #75bbff;
  color: #fff;
  border-radius: 50%; }

#inner-content .hh.hhq + .hh.hha {
  margin-top: 2em;
  font-size: 17px; }

#inner-content .hh.hha:before {
  content: "A";
  background: #ff8d8d; }

#inner-content .emboss {
  text-shadow: 1.5px 1.5px 1.5px rgba(255, 255, 255, 0.5);
  color: rgba(0, 0, 0, 0.4);
  font-weight: bold; }

.text3d {
  text-shadow: -0.9px -0.5px rgba(255, 255, 255, 0.6), 1px 1.2px rgba(0, 0, 0, 0.35);
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 1px; }

.text3d.blue-bc {
  color: #4f9df4; }

.text3d.red-bc {
  color: #f88080; }

.text3d.green-bc {
  color: #90d581; }

.cubic2 {
  display: inline-block;
  position: relative;
  padding: 6px 15px 4px;
  border-bottom: solid 2px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  /*角の丸み*/
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
  color: #fff;
  font-weight: bold; }

.cubic2:active {
  border-bottom: solid 2px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 2px rgba(0, 0, 0, 0.3); }

.cubic3 {
  display: inline-block;
  position: relative;
  padding: 0.25em 0.5em;
  border: solid 1px rgba(0, 0, 0, 0.19);
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
  color: #fff; }

.cubic3:active {
  border: solid 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: none;
          box-shadow: none;
  text-shadow: none; }

/** ボックス **/
.my-box p {
  margin: 0;
  padding: 0; }

.my-box .say {
  margin-bottom: 0; }

.my-box .faceicon {
  padding-right: 20px; }

#inner-content .my-box > *:first-child {
  margin-top: 0; }

.box1,
.box2,
.box3,
.box5,
.box6,
.box7,
.box8,
.box16,
.box28 {
  background-color: #F1F0EE;
  padding: 36px 40px 36px 40px;
  font-weight: normal;
  margin-bottom: 39px; }
  @media screen and (max-width: 767px) {
    .box1,
    .box2,
    .box3,
    .box5,
    .box6,
    .box7,
    .box8,
    .box16,
    .box28 {
      padding: 16px 20px 16px 20px; } }

.box1 {
  border: 1px solid #000000;
  background-color: #FFFFFF; }

.box2 {
  border: 1px solid #D9D9D9;
  background-color: #FFFFFF; }

.box5 {
  border: 4px solid #D9D9D9;
  background-color: #FFFFFF;
  padding: 34px 40px 34px 40px; }
  @media screen and (max-width: 767px) {
    .box5 {
      padding: 11px 18px 11px 18px; } }

.box7 {
  border: 4px solid #D9D9D9;
  background-color: #FFFFFF;
  padding: 34px 40px 34px 40px; }
  @media screen and (max-width: 767px) {
    .box7 {
      padding: 11px 18px 11px 18px; } }

.box8 {
  border-left: 4px solid #D9D9D9;
  background-color: #F6F6F6; }

.box21 {
  margin: 2em 0;
  padding: 1.3em;
  background: -webkit-gradient(linear, right top, left top, from(#92d2f8), to(#c4baff));
  background: -webkit-linear-gradient(right, #92d2f8, #c4baff);
  background: linear-gradient(to left, #92d2f8, #c4baff);
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.13);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.13);
  color: #fff;
  font-weight: bold; }

.box-title {
  font-weight: bold; }

.box28 {
  border: 4px solid #D9D9D9;
  background-color: #FFFFFF;
  padding: 34px 40px 34px 40px; }
  @media screen and (max-width: 767px) {
    .box28 {
      padding: 11px 18px 11px 18px; } }

/** リストデザイン **/
.li-dashed ul,
.li-dashed ol {
  border-width: 2px;
  border-style: dashed; }

.li-double ul,
.li-double ol {
  border-width: 5px;
  border-style: double; }

.li-tandb ul,
.li-tandb ol {
  padding: 1em 0 1em 1.3em;
  border-width: 2px;
  border-color: #373737;
  border-right: 0;
  border-left: 0;
  border-radius: 0; }

.li-beige ul,
.li-beige ol {
  border: 0;
  background: #fff9e7; }

.nobdr ul,
.nobdr ol {
  border: 0; }

.stitch-blue ul,
.stitch-blue ol,
.stitch-orange ul,
.stitch-orange ol,
.stitch-red ul,
.stitch-red ol {
  margin: 2em 10px;
  border: dashed 2px #668ad8;
  border-radius: 10px;
  background: #f1f8ff;
  -webkit-box-shadow: 0 0 0 10px #f1f8ff;
          box-shadow: 0 0 0 10px #f1f8ff; }

.stitch-orange ul,
.stitch-orange ol {
  border-color: #ffa658;
  background: #fffbf1;
  -webkit-box-shadow: 0 0 0 10px #fffbf1;
          box-shadow: 0 0 0 10px #fffbf1; }

.stitch-red ul,
.stitch-red ol {
  border-color: #f67c7c;
  background: #fff3f3;
  -webkit-box-shadow: 0 0 0 10px #fff3f3;
          box-shadow: 0 0 0 10px #fff3f3; }

.li-chevron ul {
  position: relative;
  padding: 1em 0.5em 1em 2.5em;
  border: solid 2px skyblue;
  border-radius: 5px; }

.li-chevron li,
.li-check li,
.li-yubi li,
.li-niku li {
  list-style-type: none !important;
  padding: 0.5em 0;
  line-height: 1.5; }

.li-chevron li:before {
  position: absolute;
  left: 1em;
  color: skyblue;
  font-family: FontAwesome;
  content: "\f138"; }

.li-check ul {
  position: relative;
  padding: 1em 0.5em 1em 2.5em;
  border: solid 2px #ffb03f; }

.li-check li:before {
  position: absolute;
  left: 1em;
  color: #ffb03f;
  font-family: FontAwesome;
  content: "\f00c"; }

.li-yubi ul {
  position: relative;
  padding: 1em 0.5em 1em 2.5em;
  border: double 4px #21b384; }

.li-yubi li:before {
  position: absolute;
  left: 1em;
  color: #21b384;
  font-family: FontAwesome;
  content: "\f0a4"; }

.li-niku ul {
  position: relative;
  padding: 1em 0.5em 1em 2.5em;
  border: solid 2px #ff938b;
  background: #fffaf1; }

.li-niku li:before {
  position: absolute;
  left: 1em;
  color: #ff938b;
  font-family: FontAwesome;
  content: "\f1b0"; }

.ol-circle ol {
  list-style-type: none !important;
  padding: 1em 0.7em;
  counter-reset: number; }

.ol-circle li {
  position: relative;
  padding: 0.5em 0 0.5em 34px;
  line-height: 1.5em; }

.ol-circle li:before {
  display: inline-block;
  position: absolute;
  left: 0;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #5c9ee7;
  color: white;
  font-family: "Quicksand", sans-serif;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  line-height: 25px;
  content: counter(number);
  counter-increment: number; }

/** その他のスタイル・装飾 **/
.labeltext {
  display: inline-block;
  margin-right: 5px;
  padding: 5px;
  color: #fff;
  font-size: 0.9em;
  font-weight: bold;
  line-height: 1; }

/*画像のサイズ*/
.entry-content img.img_so_small {
  max-width: 250px; }

.entry-content img.img_small {
  max-width: 100%;
  width: 350px; }

img.img_border {
  border: solid 3px #eaedf2; }

.shadow {
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3); }

.bigshadow {
  -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.35);
          box-shadow: 0 5px 20px rgba(0, 0, 0, 0.35); }

.smallspace {
  margin: 1em 0 !important; }

.nospace {
  margin: 0 !important; }

/*ボタン*/
.btn,
.raised {
  display: inline-block;
  min-width: 165px;
  max-width: 90%;
  border-radius: 3px;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 2;
  color: #FFFFFF !important;
  text-decoration: none !important;
  background: #000000;
  padding: 15px 60px;
  position: relative;
  text-align: center;
  margin-bottom: 40px; }
  @media screen and (max-width: 767px) {
    .btn,
    .raised {
      padding: 8px 40px;
      margin-bottom: 20px; } }
  .btn::after,
  .raised::after {
    content: "";
    width: 16px;
    height: 16px;
    background: url("../img/common/icon/icon-arrow-white.svg") no-repeat;
    background-size: contain;
    display: inline-block;
    margin-left: 5px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 30px; }
    @media screen and (max-width: 767px) {
      .btn::after,
      .raised::after {
        right: 20px; } }

.blue-bc,
.red-bc,
.green-bc,
.flat2,
.cubic1,
.cubic2,
.cubic3 {
  background: #886B51; }

/*引用別スタイル*/
.entry-content .quote_silver {
  background-color: #F1F0EE;
  padding: 36px 40px 36px 40px;
  font-weight: normal;
  margin-bottom: 39px;
  border-left: 4px solid #D9D9D9;
  background-color: #F6F6F6; }
  @media screen and (max-width: 767px) {
    .entry-content .quote_silver {
      padding: 16px 20px 16px 20px; } }

/** ショートコード **/
/*texton*/
.textimg {
  position: relative;
  margin: 0 0 1.5em; }

.textimg img {
  width: 100%; }

.textimg p {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 15px;
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

/*線を引く*/
.entry-content hr {
  margin: 3em 0;
  border: solid 3px #dadada;
  border-width: 2px 0 0 0; }

.entry-content hr.dotted {
  border-top: dotted 2px #dadada; }

/*他サイトへのリンクカード[sanko]*/
.reference {
  display: table;
  max-width: 450px;
  width: 100%;
  margin: 1em 0 1.5em;
  padding: 13px 10px 13px 0;
  border-radius: 2px;
  background: #f5f5f5;
  -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
          box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
  color: #555;
  font-weight: bold;
  text-decoration: none !important; }

.reference:hover {
  -webkit-box-shadow: 0 10px 20px -4px rgba(0, 0, 0, 0.22);
          box-shadow: 0 10px 20px -4px rgba(0, 0, 0, 0.22);
  color: #888;
  text-decoration: none; }

.reference .refttl {
  width: 70px;
  margin: 10px;
  border-right: solid 2px #dadada;
  text-align: center;
  line-height: 1.5; }

.reference .refttl:before {
  display: block;
  color: #ffb36b;
  font-family: FontAwesome;
  font-size: 1.5em;
  content: "\f02e"; }

.reference .refcite {
  width: 200px;
  width: calc(100% - 70px);
  padding-left: 10px;
  font-size: 0.95em;
  line-height: 1.5; }

.reference .refcite span {
  display: block;
  color: #ababab;
  font-size: 0.9em; }

/*補足説明[memo]*/
.memo {
  margin-bottom: 1.5em;
  padding: 1em;
  background: #fff9e5;
  color: #545454; }

.memo_ttl {
  margin-bottom: 5px;
  color: #ffb36b;
  font-size: 1.2em;
  font-weight: bold; }

.memo_ttl:before {
  display: inline-block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  margin: 0 3px 0 0;
  border-radius: 50%;
  background: #ffb36b;
  color: #fff;
  font-family: FontAwesome;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  content: "\f040"; }

.fa5 .memo_ttl:before {
  content: "\f303";
  font-size: 17px; }

.memo p {
  margin: 0 0 5px; }

/*注意説明 [alert]*/
.memo.alert {
  background: #ffebeb; }

.memo.alert .memo_ttl {
  color: #ff8376; }

.memo.alert .memo_ttl:before {
  background: #ff8376;
  content: "\f12a"; }

/*タグ付きのコードに[codebox]*/
.pre_tag {
  margin: 1em 0 1.5em; }

.pre_tag > span {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 10px 10px 0 0;
  color: #fff;
  font-size: 0.9em; }

.pre_tag p {
  margin: 0; }

/*吹き出し（会話形式）[say]*/
.say {
  display: table;
  overflow: hidden;
  width: 100%;
  margin: 1.5em 0; }

.faceicon {
  display: table-cell;
  width: 100px;
  padding-right: 20px;
  text-align: center;
  vertical-align: top; }

.faceicon img {
  width: 100%;
  height: auto;
  border: solid 3px #eaedf2;
  border-radius: 50%; }

.faceicon span {
  font-size: 11px;
  font-weight: bold;
  margin-top: 8px;
  line-height: 1.4;
  display: block; }

.chatting {
  display: table-cell;
  position: relative;
  width: calc(100% - 100px);
  font-size: 0.95em;
  vertical-align: top; }

.sc {
  display: inline-block;
  text-align: left;
  padding: 13px;
  border: solid 2px #d5d5d5;
  border-radius: 12px;
  background: #fff;
  word-break: break-word; }

.sc:before {
  display: inline-block;
  position: absolute;
  top: 18px;
  left: -23px;
  border: 12px solid transparent;
  border-right: 12px solid #d5d5d5;
  content: ""; }

.sc:after {
  display: inline-block;
  position: absolute;
  top: 18px;
  left: -20px;
  border: 12px solid transparent;
  border-right: 12px solid #fff;
  content: ""; }

.sc p {
  margin: 5px 0;
  padding: 0; }

/*吹き出し（右）*/
.right {
  text-align: right; }

.right .faceicon {
  padding: 0 0 0 20px; }

.right .sc:before,
.right .sc:after {
  right: -23px;
  left: auto;
  border: 12px solid transparent;
  border-left: 12px solid #d5d5d5; }

.right .sc:after {
  right: -20px;
  border-left-color: #fff; }

/*2列表示[yoko2][cell]*/
.shtb2 {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin: 1.5em 0; }

.shtb2 .cell {
  display: table-cell;
  width: 50%;
  vertical-align: top; }

.shtb2 .cell:first-of-type {
  padding-right: 2%; }

.shtb2 .cell:last-of-type {
  padding-left: 2%; }

/*3列表示[yoko3][cell]*/
.shtb3 {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin: 1.5em 0; }

.shtb3 .cell {
  display: table-cell;
  width: 30%;
  vertical-align: top; }

.shtb3 .cell:nth-child(2) {
  width: 35%;
  padding: 0 2.5%; }

.cell > *:first-child {
  margin-top: 0 !important; }

/*2、3列表示レスポンシブ[yoko2 responsive]*/
.shtb2.tbrsp,
.shtb2.tbrsp .cell,
.shtb2.tbrsp .cell,
.shtb3.tbrsp,
.shtb3.tbrsp .cell,
.shtb3.tbrsp .cell {
  display: block;
  width: 100%;
  margin-bottom: 1em;
  padding: 0; }

.cell > p {
  margin-bottom: 1em; }

.cell img.img_so_small {
  max-width: 100%;
  width: 250px; }

.cell img.img_small {
  max-width: 100%;
  width: 350px; }

/*anti IE11 bug*/
@media all and (-ms-high-contrast: none) {
  .shtb2:after,
  .shtb3:after {
    content: "";
    display: table;
    clear: both; }
  #main .shtb2,
  #main .shtb2.cell,
  #main .shtb3,
  #main .shtb3 .cell {
    display: block; }
  #main .shtb2 .cell,
  #main .shtb3 .cell {
    float: left; }
  #main .shtb3 .cell {
    width: 32%; }
  #main .shtb3 .cell:nth-child(2) {
    width: 36%;
    padding: 0 2%; } }

/*youtubeのレスポンシブ対応[youtube]*/
.youtube {
  position: relative;
  margin: 1.5em 0;
  width: 100%;
  padding-top: 56.25%; }

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

iframe {
  max-width: 100%; }

/** カエレバ＆ヨメレバ **/
.cstmreba {
  margin: 1.5em 0;
  padding: 15px 10px;
  border: double 4px #dbdbdb;
  background: #fff; }

.cstmreba a {
  color: #444;
  text-decoration: none; }

.kaerebalink-name p a {
  text-decoration: none; }

.cstmreba a:hover {
  opacity: 0.7; }

.cstmreba .kaerebalink-box {
  display: table;
  width: 100%;
  vertical-align: middle; }

.cstmreba .kaerebalink-name > a,
.booklink-name > a {
  display: inline-block;
  margin-bottom: 3px;
  font-size: 1.05em;
  font-weight: bold;
  line-height: 1.5; }

.cstmreba .kaerebalink-powered-date,
.cstmreba .kaerebalink-detail,
.booklink-powered-date,
.booklink-detail {
  color: silver;
  font-size: 0.7em; }

.cstmreba .kaerebalink-powered-date a,
.cstmreba .booklink-powered-date a {
  color: silver; }

.cstmreba .kaerebalink-image {
  display: table-cell;
  width: 80px;
  vertical-align: middle; }

.cstmreba .kaerebalink-image a img {
  width: 100%; }

.cstmreba .kaerebalink-info {
  display: table-cell;
  width: calc(100% - 80px);
  padding-left: 15px; }

.cstmreba .kaerebalink-link1,
.booklink-link2 {
  margin-top: 8px; }

.cstmreba .kaerebalink-link1 > div,
.booklink-link2 > div {
  display: inline-block;
  height: 37px;
  margin: 5px 10px 5px 0;
  padding: 0 9px;
  border-radius: 3px;
  background: #73c1ea;
  -webkit-box-shadow: 0 8px 15px -5px rgba(0, 0, 0, 0.25);
          box-shadow: 0 8px 15px -5px rgba(0, 0, 0, 0.25);
  font-size: 0.95em;
  font-weight: bold;
  vertical-align: middle;
  line-height: 37px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }

.cstmreba .kaerebalink-link1 > div a,
.cstmreba .booklink-link2 > div a {
  display: inline-block; }

.cstmreba .kaerebalink-link1 > div:hover,
.cstmreba .booklink-link2 > div:hover {
  -webkit-box-shadow: 0 12px 15px -5px rgba(0, 0, 0, 0.25);
          box-shadow: 0 12px 15px -5px rgba(0, 0, 0, 0.25); }

.cstmreba .kaerebalink-link1 a:before,
.booklink-link2 > div a:before {
  padding-right: 3px;
  font-family: FontAwesome;
  content: "\f0da"; }

.cstmreba .kaerebalink-link1 .shoplinkamazon,
.booklink-link2 .shoplinkamazon {
  background: #ffb36b; }

.cstmreba .kaerebalink-link1 .shoplinkrakuten,
.booklink-link2 .shoplinkrakuten {
  background: #ea7373; }

.cstmreba .kaerebalink-link1 a,
.cstmreba .booklink-link2 a {
  color: #fff; }

.booklink-footer {
  display: none; }

.cstmreba a {
  color: #555;
  text-decoration: none; }

/*余計な余白の削除*/
.kaerebalink-info img,
.kaerebalink-image > img,
.booklink-info img {
  display: none; }

.kaerebalink-name p,
.booklink-name p {
  margin-bottom: 0; }

/*ヨメレバ*/
.booklink-image {
  display: table-cell;
  width: 110px;
  vertical-align: middle; }

.booklink-image img {
  width: 100%;
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.38), 0 0 2px rgba(0, 0, 0, 0.15);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.38), 0 0 2px rgba(0, 0, 0, 0.15); }

.booklink-info {
  display: table-cell;
  width: calc(100% - 110px);
  padding-left: 15px; }

.booklink-link2 > div {
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.28);
          box-shadow: 0 2px 3px rgba(0, 0, 0, 0.28); }

/*ボックス内の箇条書きの線を消す*/
.sc ul,
.sc ol,
.list-raw ul,
.list-raw ol,
.my-box ul,
.my-box ol,
.memo ul,
.memo ol {
  margin: 5px 0;
  padding: 0 0 0 1.4em;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent; }

.amazonjs_info ul {
  border: none; }

/*箇条書き内のアイコンの余白調整*/
blockquote .li-chevron li:before,
blockquote .li-check li:before,
blockquote .li-yubi li:before,
blockquote .li-niku li:before,
.my-box .li-chevron li:before,
.my-box .li-check li:before,
.my-box .li-yubi li:before,
.my-box .li-niku li:before,
.memo .li-chevron li:before,
.memo .li-check li:before,
.memo .li-yubi li:before,
.memo .li-niku li:before,
.alert .li-chevron li:before,
.alert .li-check li:before,
.alert .li-yubi li:before,
.alert .li-niku li:before,
.li-chevron li li:before,
.li-check li li:before,
.li-yubi li li:before,
.li-niku li li:before {
  left: 0; }

blockquote .ol-circle ol,
.my-box .ol-circle ol,
.memo .ol-circle ol,
.alert .ol-circle ol {
  padding-left: 0; }

/*FontAwesomeのクラスを上書き*/
.fa5 .hh30:before,
.fa5 .hh31:before,
.fa5 .hh32:before,
.fa5 .hh34:before,
.fa5 .box23:before,
.fa5 .box23:after,
.fa5 .box26 .box-title:before,
.fa5 .box27 .box-title:before,
.fa5 .box29 .box-title:before,
.fa5 .box30 .box-title:before,
.fa5 .li-chevron li:before,
.fa5 .li-check li:before,
.fa5 .li-yubi li:before,
.fa5 .li-niku li:before,
.fa5 .entry-content .quote_silver:after,
.fa5 .reference .refttl:before,
.fa5 .memo_ttl:before,
.fa5 #toc_container .toc_title:before,
.fa5 .ez-toc-title-container:before,
.fa5 .cstmreba .kaerebalink-link1 a:before,
.fa5 .booklink-link2 > div a:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900; }

/** 上記で指定したスタイルのタブレットサイズ〜の上書き **/
@media only screen and (min-width: 481px) {
  .rate-box {
    max-width: 580px;
    margin: 0 auto 1em;
    font-size: 17px; }
  .rateline {
    padding: 10px 10px 10px 20px; }
  .rate-thing {
    max-width: 380px;
    width: calc(100% - 144px); }
  .rate-star {
    width: 144px; }
  #inner-content p.hh {
    font-size: 1.3em; }
  .c_linkto {
    display: inline-block;
    max-width: 310px;
    margin-right: 20px; }
  .cell .c_likto {
    margin-right: 0; }
  .c_linkto.longc_linkto {
    max-width: 100%;
    display: table; }
  .longc_img,
  .c_linkto.longc_linkto .longc_content {
    display: table-cell;
    vertical-align: middle; }
  .longc_img {
    width: 40%; }
  .longc_content {
    width: 60%; }
  .longc_img img {
    width: 100%;
    height: auto;
    padding: 10px; }
  .faceicon {
    width: 130px; }
  .chatting {
    padding-top: 15px;
    width: calc(100% - 130px); }
  .sc:before,
  .sc:after {
    top: 30px; }
  /*目次*/
  #toc_container,
  #ez-toc-container {
    padding: 20px 25px; }
  .fixed-sidebar .toc_widget_list a {
    font-size: 0.9em;
    padding: 4px 5px 4px 7px; }
  /*カエレバ*/
  .cstmreba {
    padding: 16px; }
  .cstmreba .kaerebalink-image {
    width: 95px; }
  .cstmreba .kaerebalink-info {
    width: calc(100% - 95px); }
  .cstmreba .kaerebalink-link1 > div {
    height: 35px;
    padding: 0 12px;
    line-height: 35px; }
  /*END 481px~*/ }

/*消しちゃダメ*/
@media only screen and (min-width: 768px) {
  .textimg {
    font-size: 1.7em; }
  /*2列表示レスポンシブ*/
  .shtb2.tbrsp {
    display: table;
    table-layout: fixed; }
  .shtb2.tbrsp .cell {
    display: table-cell;
    width: 50%; }
  .shtb2.tbrsp .cell:first-of-type {
    padding-right: 2%; }
  .shtb2.tbrsp .cell:last-of-type {
    padding-left: 2%; }
  /*3列表示レスポンシブ*/
  .shtb3.tbrsp {
    display: table;
    table-layout: fixed; }
  .shtb3.tbrsp .cell {
    display: table-cell;
    width: 30%; }
  .shtb3.tbrsp .cell:nth-child(2) {
    width: 35%;
    padding: 0 2.5%; }
  .sc {
    padding: 20px; }
  /*END 768px~*/ }

/*消しちゃダメ*/
/** その他優先的に指定するスタイル **/
.small,
#inner-content .small {
  font-size: 0.75em; }

.noborder {
  border: none; }

#inner-content h2.hh32 {
  font-size: 2.8rem;
  line-height: 1.28;
  font-weight: bold;
  background-color: #000000;
  padding: 16px 20px;
  color: #FFFFFF;
  display: block;
  border-radius: 3px;
}
@media screen and (max-width: 767px) {
  #inner-content h2.hh32 {
    font-size: 2.4rem;
    padding:  10px;
  }
}