@charset "UTF-8";
/*
カラー・フォント定義
*/
/* =========================== 共通 =========================== */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

select::-ms-expand {
  display: none; }

a {
  color: #5771b3;
  text-decoration: none; }
  a:hover {
    color: #5771b3;
    text-decoration: underline; }

ul {
  list-style-type: none; }

body {
  font-family: "Zen Maru Gothic", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  color: #333333;
  background-color: #fff;
  position: relative;
  font-size: 16px;
  line-height: 1;
  padding: 0px;
  overflow: hidden;
  padding: 96px 0px 0px 0px; }
  @media only screen and (max-width: 959px) {
    body {
      padding: 59px 0px 0px 0px;
      font-size: 14px; } }
  body.no_scroll {
    overflow: hidden !important; }

/* =========================== 汎用スタイル =========================== */
@media only screen and (min-width: 960px) {
  .pc {
    display: block; } }
@media only screen and (max-width: 768px) {
  .pc {
    display: none; } }

@media only screen and (min-width: 960px) {
  .sp {
    display: none; } }
@media only screen and (max-width: 768px) {
  .sp {
    display: block; } }

.mb8 {
  margin-bottom: 8px !important; }

.mb12 {
  margin-bottom: 12px !important; }

.mb16 {
  margin-bottom: 16px !important; }

.mb24 {
  margin-bottom: 24px !important; }

.mb32 {
  margin-bottom: 32px !important; }

.mb48 {
  margin-bottom: 48px !important; }

.mb64 {
  margin-bottom: 64px !important; }

.mb96 {
  margin-bottom: 96px !important; }

.mb128 {
  margin-bottom: 128px !important; }

@keyframes type6-top {
  0% {
    transform: translateX(0px) rotate(0deg); }
  50% {
    transform: translateY(0px) rotate(0deg); }
  100% {
    transform: translateY(0px) rotate(0deg); } }
@keyframes type6-bottom {
  0% {
    transform: translateY(0px) rotate(0deg); }
  50% {
    transform: translateY(0px) rotate(0deg); }
  100% {
    transform: translateY(0px) rotate(0deg); } }
@keyframes type6-top-close {
  0% {
    transform: translateY(0px) rotate(0deg); }
  50% {
    transform: translateY(0px) rotate(0deg); }
  100% {
    transform: translateY(6px) rotate(-45deg); } }
@keyframes type6-bottom-close {
  0% {
    transform: translateY(0px) rotate(0deg); }
  50% {
    transform: translateY(0px) rotate(0deg); }
  100% {
    transform: translateY(-6px) rotate(45deg); } }
.main-menu-more {
  display: none; }

.more-btn {
  display: block;
  border: 2px solid #F18484;
  border-radius: 6px;
  width: 169px;
  height: 41px;
  line-height: 37px;
  margin: 0px auto 32px auto;
  padding: 0px 26px 0px 0px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: #ee6d6d;
  position: relative; }
  .more-btn:hover {
    text-decoration: none;
    opacity: 0.8; }
  .more-btn::after {
    content: "";
    position: absolute;
    width: 26px;
    height: 39px;
    background-color: #ee6d6d;
    right: -1px;
    top: -1px;
    background-image: url("../img/base/icon-link-arrow.svg");
    background-position: center center;
    background-size: 11px 12px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px; }

.pr-container {
  margin: 0px 0px 32px 0px; }
  .pr-container > div {
    width: 300px;
    margin: 0px auto 0px auto; }

.pr-container320 {
  margin: 0px 0px 32px 0px; }
  .pr-container320 > div {
    width: 320px;
    margin: 0px auto 0px auto; }

header {
  max-width: 960px;
  width: 100%;
  margin: 0px auto 0px auto;
  top: 0;
  left: calc(50% - 960px / 2);
  position: fixed;
  z-index: 1001;
  height: 96px;
  padding: 24px 0px 24px 0px;
  margin-bottom: 0px;
  background-color: #fff; }
  @media only screen and (max-width: 959px) {
    header {
      width: 100%;
      padding: 0px 11px 0px 11px; } }
  @media only screen and (max-width: 959px) {
    header {
      top: 0;
      left: 0;
      height: 59px;
      padding: 0px 0px 16px 0px;
      margin-bottom: 0px; } }
  header .inner {
    width: 100%;
    height: 100%;
    position: relative; }
    header .inner h1 {
      display: inline-block;
      position: absolute;
      left: 0px;
      top: 0px; }
      @media only screen and (max-width: 959px) {
        header .inner h1 {
          left: 11px;
          top: 10px; } }
      header .inner h1 a {
        display: block;
        height: 48px; }
        @media only screen and (max-width: 959px) {
          header .inner h1 a {
            height: 43px; } }
        header .inner h1 a img {
          height: 100%;
          width: auto; }
          @media only screen and (max-width: 959px) {
            header .inner h1 a img {
              height: 80%; } }
    header .inner .search-btn {
      position: absolute;
      right: 72px;
      top: 0px;
      width: 48px;
      height: 48px;
      background-color: #cccccc;
      border-radius: 4px;
      padding: 9px 0px 0px 9px;
      cursor: pointer; }
      @media only screen and (max-width: 959px) {
        header .inner .search-btn {
          width: 33px;
          height: 33px;
          top: 10px;
          right: 77px;
          padding: 7px 0px 0px 7px; } }
      header .inner .search-btn img {
        width: 31px;
        height: 33px; }
        @media only screen and (max-width: 959px) {
          header .inner .search-btn img {
            width: 20px;
            height: 20px; } }
    header .inner .btn-12seiza {
      position: absolute;
      right: 64px;
      top: 0px;
      display: block;
      width: 148px;
      height: 48px;
      border: 1px solid #93C3E8;
      border-radius: 4px;
      text-align: center;
      line-height: 46px;
      font-size: 18px;
      color: #5771b3; }
      @media only screen and (max-width: 959px) {
        header .inner .btn-12seiza {
          right: 54px;
          top: 10px;
          width: 101px;
          height: 33px;
          line-height: 31px;
          font-size: 16px;
          font-weight: 700; } }
      header .inner .btn-12seiza:hover {
        text-decoration: none; }
    header .inner .menu-btn {
      width: 48px;
      height: 48px;
      border-radius: 4px;
      background-color: #93C3E8;
      position: absolute;
      cursor: pointer;
      right: 0px;
      top: 0px; }
      @media only screen and (max-width: 959px) {
        header .inner .menu-btn {
          right: 11px;
          top: 10px;
          width: 42px;
          height: 33px; } }
      header .inner .menu-btn span {
        position: absolute;
        width: 28px;
        height: 3px;
        display: block;
        background-color: #fff;
        left: 10px; }
        @media only screen and (max-width: 959px) {
          header .inner .menu-btn span {
            left: 9px;
            width: 23px; } }
        header .inner .menu-btn span:nth-child(1) {
          top: 17px;
          animation: type6-top .5s;
          animation-fill-mode: forwards; }
          @media only screen and (max-width: 959px) {
            header .inner .menu-btn span:nth-child(1) {
              top: 9px; } }
        header .inner .menu-btn span:nth-child(2) {
          top: 23px;
          transition: .5s opacity;
          opacity: 1; }
          @media only screen and (max-width: 959px) {
            header .inner .menu-btn span:nth-child(2) {
              top: 15px; } }
        header .inner .menu-btn span:nth-child(3) {
          top: 29px;
          animation: type6-bottom .5s;
          animation-fill-mode: forwards; }
          @media only screen and (max-width: 959px) {
            header .inner .menu-btn span:nth-child(3) {
              top: 21px; } }
      header .inner .menu-btn.on span:nth-child(1) {
        animation: type6-top-close .5s;
        animation-fill-mode: forwards; }
      header .inner .menu-btn.on span:nth-child(2) {
        opacity: 0;
        transition: .5s opacity; }
      header .inner .menu-btn.on span:nth-child(3) {
        animation: type6-bottom-close .5s;
        animation-fill-mode: forwards; }

.main-nav {
  position: fixed;
  width: 100%;
  height: calc(100% - 96px);
  overflow-x: scroll;
  top: 96px;
  left: 0px;
  background-color: rgba(255, 255, 255, 0.95);
  z-index: 1002;
  border-top: 1px solid #cccccc;
  padding: 12px 0px 0px 0px;
  visibility: hidden;
  opacity: 0;
  transition: 0.4s;
  transform: translateY(-20px);
  -webkit-transform: translateY(-20px); }
  .main-nav.on {
    visibility: visible;
    opacity: 1;
    transition: 0.4s;
    transform: translateY(0px);
    -webkit-transform: translateY(0px); }
  @media only screen and (max-width: 959px) {
    .main-nav {
      padding: 0px 0px 0px 0px;
      height: calc(100% - 51px);
      top: 51px;
      border-top: none; } }
  .main-nav .inner {
    max-width: 960px;
    width: 100%;
    margin: 0px auto 0px auto; }
    @media only screen and (max-width: 959px) {
      .main-nav .inner {
        width: 100%;
        padding: 0px 11px 0px 11px; } }
    .main-nav .inner > p {
      background-color: #f5f5f5;
      color: #5771b3;
      font-size: 16px;
      text-align: center;
      padding: 5px 6px;
      margin: 0px 0px 12px 0px; }
      @media only screen and (max-width: 959px) {
        .main-nav .inner > p {
          padding: 3px 6px;
          margin: 0px 0px 8px 0px;
          font-size: 14px; } }
    .main-nav .inner .main-menu {
      margin: 0px 0px 32px 0px; }
      @media only screen and (max-width: 959px) {
        .main-nav .inner .main-menu {
          margin: 0px 0px 24px 0px; } }
      .main-nav .inner .main-menu li {
        display: inline-block;
        margin: 0px 32px 0px 0px; }
        @media only screen and (max-width: 959px) {
          .main-nav .inner .main-menu li {
            display: block;
            margin: 0px 0px 0px 0px;
            border-bottom: 1px solid #ccc; } }
        @media only screen and (max-width: 959px) {
          .main-nav .inner .main-menu li:first-child {
            border-top: 1px solid #ccc; } }
        .main-nav .inner .main-menu li a {
          display: block;
          padding: 0px 0px 0px 18px;
          font-size: 16px;
          line-height: 1;
          background-image: url("../img/base/right-arrow.svg");
          background-position: left center;
          background-size: 9px 14px;
          color: #333333; }
          @media only screen and (max-width: 959px) {
            .main-nav .inner .main-menu li a {
              padding: 16px 0px 16px 20px; } }
          .main-nav .inner .main-menu li a:hover {
            text-decoration: none; }
    .main-nav .inner > h3 {
      font-size: 16px;
      border-bottom: 2px solid #93C3E8;
      font-weight: normal;
      padding: 0px 0px 9px 0px;
      margin: 0px 0px 16px 0px; }
      @media only screen and (max-width: 959px) {
        .main-nav .inner > h3 {
          border-bottom: 3px solid #93C3E8; } }
    .main-nav .inner .tag-list, .main-nav .inner .wp-tag-cloud {
      border-bottom: 1px solid #cccccc;
      padding: 0px 0px 24px 0px;
      margin: 0px 0px 32px 0px; }
      @media only screen and (max-width: 959px) {
        .main-nav .inner .tag-list, .main-nav .inner .wp-tag-cloud {
          text-align: center;
          padding: 0px 0px 9px 0px;
          margin: 0px 0px 24px 0px; } }
      .main-nav .inner .tag-list li, .main-nav .inner .wp-tag-cloud li {
        display: inline-block;
        margin: 0px 10px 9px 0px; }
        @media only screen and (max-width: 959px) {
          .main-nav .inner .tag-list li, .main-nav .inner .wp-tag-cloud li {
            margin: 0px 10px 15px 0px; } }
        .main-nav .inner .tag-list li a, .main-nav .inner .wp-tag-cloud li a {
          background-color: #fef1cf;
          border-radius: 4px;
          font-size: 14px;
          padding: 2px 6px;
          height: 25px;
          line-height: 23px;
          color: #333333; }
          .main-nav .inner .tag-list li a:hover, .main-nav .inner .wp-tag-cloud li a:hover {
            background-color: #5771b3;
            color: #fff;
            text-decoration: none; }
    .main-nav .inner .bottom-btn {
      display: -webkit-flex;
      /* Safari */
      display: flex;
      -webkit-flex-direction: row;
      /* Safari */
      flex-direction: row;
      -webkit-flex-wrap: wrap;
      /* Safari */
      flex-wrap: wrap;
      -webkit-align-items: stretch;
      /* Safari */
      align-items: stretch; }
      @media only screen and (max-width: 959px) {
        .main-nav .inner .bottom-btn {
          justify-content: center; } }
      .main-nav .inner .bottom-btn li:first-child {
        margin: 0px 16px 0px 0px; }
      .main-nav .inner .bottom-btn a {
        display: block;
        width: 148px;
        height: 48px;
        border: 1px solid #93C3E8;
        border-radius: 4px;
        text-align: center;
        line-height: 46px;
        font-size: 18px;
        color: #5771b3; }
        @media only screen and (max-width: 959px) {
          .main-nav .inner .bottom-btn a {
            width: 101px;
            height: 33px;
            line-height: 31px;
            font-size: 16px;
            font-weight: 700; } }
        .main-nav .inner .bottom-btn a:hover {
          text-decoration: none; }

.search-nav {
  position: fixed;
  width: 100%;
  height: auto;
  top: 96px;
  left: 0px;
  background-color: rgba(255, 255, 255, 0.95);
  z-index: 2002;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  padding: 22px 0px 0px 0px;
  visibility: hidden;
  opacity: 0;
  transition: 0.4s;
  transform: translateY(-20px);
  -webkit-transform: translateY(-20px); }
  .search-nav.on {
    visibility: visible;
    opacity: 1;
    transition: 0.4s;
    transform: translateY(0px);
    -webkit-transform: translateY(0px); }
  @media only screen and (max-width: 959px) {
    .search-nav {
      padding: 14px 0px 0px 0px;
      height: auto;
      top: 51px; } }
  .search-nav .inner {
    max-width: 960px;
    width: 100%;
    margin: 0px auto 0px auto; }
    @media only screen and (max-width: 959px) {
      .search-nav .inner {
        width: 100%;
        padding: 0px 11px 0px 11px; } }
    .search-nav .inner > p {
      font-size: 16px;
      margin: 0px 0px 12px 0px !important; }
      @media only screen and (max-width: 959px) {
        .search-nav .inner > p {
          font-size: 14px;
          margin: 0px 0px 8px 0px !important; } }
    .search-nav .inner dl {
      display: -webkit-flex;
      /* Safari */
      display: flex;
      -webkit-flex-direction: row;
      /* Safari */
      flex-direction: row;
      -webkit-flex-wrap: wrap;
      /* Safari */
      flex-wrap: wrap;
      -webkit-align-items: stretch;
      /* Safari */
      align-items: stretch;
      margin: 0px 0px 32px 0px; }
      @media only screen and (max-width: 959px) {
        .search-nav .inner dl {
          margin: 0px 0px 24px 0px; } }
      .search-nav .inner dl dt {
        width: 48px;
        height: 48px;
        background-color: #cccccc;
        border-radius: 4px;
        padding: 9px 0px 0px 9px;
        cursor: pointer; }
        @media only screen and (max-width: 959px) {
          .search-nav .inner dl dt {
            width: 33px;
            height: 33px;
            padding: 7px 0px 0px 7px; } }
        .search-nav .inner dl dt img {
          width: 31px;
          height: 33px; }
          @media only screen and (max-width: 959px) {
            .search-nav .inner dl dt img {
              width: 20px;
              height: 20px; } }
      .search-nav .inner dl dd {
        width: calc(100% - 48px);
        padding: 0px 0px 0px 12px; }
        @media only screen and (max-width: 959px) {
          .search-nav .inner dl dd {
            padding: 0px 0px 0px 8px; } }
        .search-nav .inner dl dd input[type="text"] {
          width: 100%;
          height: 48px;
          border-radius: 4px;
          border: 1px solid #cccccc;
          background-color: #fff;
          padding: 0px 6px; }
          @media only screen and (max-width: 959px) {
            .search-nav .inner dl dd input[type="text"] {
              width: calc(100% + 12px);
              height: 33px; } }
    .search-nav .inner > h3 {
      font-size: 16px;
      border-bottom: 2px solid #93C3E8;
      font-weight: normal;
      padding: 0px 0px 9px 0px;
      margin: 0px 0px 16px 0px; }
      @media only screen and (max-width: 959px) {
        .search-nav .inner > h3 {
          border-bottom: 3px solid #93C3E8; } }
    .search-nav .inner .tag-list, .search-nav .inner .wp-tag-cloud {
      padding: 0px 0px 0px 0px;
      margin: 0px 0px 16px 0px; }
      @media only screen and (max-width: 959px) {
        .search-nav .inner .tag-list, .search-nav .inner .wp-tag-cloud {
          text-align: center;
          padding: 0px 0px 0px 0px;
          margin: 0px 0px 0px 0px; } }
      .search-nav .inner .tag-list li, .search-nav .inner .wp-tag-cloud li {
        display: inline-block;
        margin: 0px 10px 9px 0px; }
        @media only screen and (max-width: 959px) {
          .search-nav .inner .tag-list li, .search-nav .inner .wp-tag-cloud li {
            margin: 0px 10px 15px 0px; } }
        .search-nav .inner .tag-list li a, .search-nav .inner .wp-tag-cloud li a {
          background-color: #fef1cf;
          border-radius: 4px;
          font-size: 14px;
          padding: 2px 6px;
          height: 25px;
          line-height: 23px;
          color: #333333; }
          .search-nav .inner .tag-list li a:hover, .search-nav .inner .wp-tag-cloud li a:hover {
            background-color: #5771b3;
            color: #fff;
            text-decoration: none; }

footer {
  width: 100%;
  background-color: #e7eeff;
  padding: 32px 16px 32px 16px;
  margin: 32px 0px 0px 0px; }
  @media only screen and (max-width: 959px) {
    footer {
      margin: 0px 0px 0px 0px; } }
  footer ul {
    margin: 0px 0px 24px 0px;
    text-align: center; }
    @media only screen and (max-width: 959px) {
      footer ul {
        margin: 0px 0px 8px 0px; } }
    footer ul li {
      display: inline-block;
      margin: 0px 12px 0px 12px; }
      @media only screen and (max-width: 959px) {
        footer ul li {
          margin: 0px 12px 16px 12px; } }
      footer ul li a {
        font-size: 14px;
        color: #333333; }
        @media only screen and (max-width: 959px) {
          footer ul li a {
            font-size: 12px; } }
  footer .footer-logo-list {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap;
    -webkit-align-items: stretch;
    /* Safari */
    align-items: stretch; }
    footer .footer-logo-list h3 {
      width: 50%; }
      @media only screen and (max-width: 768px) {
        footer .footer-logo-list h3 {
          width: 100%;
          margin: 0px 0px 24px 0px; } }
    footer .footer-logo-list h3.ybt-logo {
      text-align: right;
      padding: 0px 24px 0px 0px; }
      @media only screen and (max-width: 959px) {
        footer .footer-logo-list h3.ybt-logo {
          padding: 0px 16px 0px 0px; } }
      @media only screen and (max-width: 768px) {
        footer .footer-logo-list h3.ybt-logo {
          padding: 0px 0px 0px 0px;
          margin: 0px 0px 15px 0px;
          text-align: center !important; } }
      footer .footer-logo-list h3.ybt-logo img {
        width: auto;
        height: 90px; }
        @media only screen and (max-width: 959px) {
          footer .footer-logo-list h3.ybt-logo img {
            height: 60px; } }
    footer .footer-logo-list h3.medifit-logo {
      text-align: left;
      padding: 0px 0px 0px 24px;
      display: flex;
      align-items: flex-end; }
      @media only screen and (max-width: 959px) {
        footer .footer-logo-list h3.medifit-logo {
          padding: 0px 0px 0px 16px; } }
      @media only screen and (max-width: 768px) {
        footer .footer-logo-list h3.medifit-logo {
          padding: 0px 0px 0px 0px;
          text-align: center !important;
          display: block; } }
      footer .footer-logo-list h3.medifit-logo img {
        width: auto;
        height: 60px;
        padding-bottom: 5px; }
        @media only screen and (max-width: 959px) {
          footer .footer-logo-list h3.medifit-logo img {
            height: 60px; } }
        @media only screen and (max-width: 768px) {
          footer .footer-logo-list h3.medifit-logo img {
            padding-bottom: 0px;
            height: 34px; } }

.category-menu-container {
  max-width: 960px;
  width: 100%;
  margin: 0px auto 0px auto;
  margin-bottom: 12px; }
  @media only screen and (max-width: 959px) {
    .category-menu-container {
      width: 100%;
      padding: 0px 11px 0px 11px; } }
  @media only screen and (max-width: 959px) {
    .category-menu-container {
      margin-bottom: 8px; } }
  .category-menu-container ul {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap;
    -webkit-align-items: stretch;
    /* Safari */
    align-items: stretch;
    margin: 0px 0px 0px -32px; }
    @media only screen and (max-width: 959px) {
      .category-menu-container ul {
        margin: 0px 0px 0px -10px; } }
    .category-menu-container ul li {
      display: block;
      width: calc(25% - 32px);
      margin: 0px 0px 0px 32px; }
      @media only screen and (max-width: 959px) {
        .category-menu-container ul li {
          width: calc(25% - 10px);
          margin: 0px 0px 0px 10px; } }
      .category-menu-container ul li a {
        display: block;
        width: 100%;
        height: 46px;
        line-height: 44px;
        background-color: #F18484;
        color: #fff;
        font-size: 18px;
        text-align: center;
        border-radius: 4px; }
        @media only screen and (max-width: 959px) {
          .category-menu-container ul li a {
            height: 31px;
            line-height: 29px;
            font-size: 14px; } }
        .category-menu-container ul li a:hover {
          text-decoration: none; }

.message-container {
  max-width: 960px;
  width: 100%;
  margin: 0px auto 0px auto;
  margin-bottom: 12px;
  background-color: #f5f5f5;
  color: #5771b3;
  font-size: 16px;
  text-align: center;
  padding: 5px 6px;
  /*.page & {
  	margin-bottom: 32px;
  	@include tb {
  		margin-bottom: 32px;
  	}
  }*/ }
  @media only screen and (max-width: 959px) {
    .message-container {
      width: 100%;
      padding: 0px 11px 0px 11px; } }
  @media only screen and (max-width: 959px) {
    .message-container {
      padding: 3px 6px;
      margin: 0px 11px 8px 11px;
      font-size: 14px;
      width: calc(100% - 22px); } }
  .hina .message-container {
    margin-bottom: 10px; }
    @media only screen and (max-width: 959px) {
      .hina .message-container {
        margin-bottom: 6px; } }
  .archive .message-container {
    margin-bottom: 32px; }
    @media only screen and (max-width: 959px) {
      .archive .message-container {
        margin-bottom: 32px; } }

.pankuzu {
  max-width: 960px;
  width: 100%;
  margin: 0px auto 0px auto;
  margin-bottom: 32px; }
  @media only screen and (max-width: 959px) {
    .pankuzu {
      width: 100%;
      padding: 0px 11px 0px 11px; } }
  @media only screen and (max-width: 959px) {
    .pankuzu {
      margin-bottom: 24px;
      padding: 0px 0px 0px 0px; } }
  .pankuzu li {
    display: inline-block;
    font-size: 14px;
    line-height: 1; }
    .pankuzu li a {
      color: #5771b3;
      background-image: url("../img/base/right-arrow.svg");
      background-size: 5px 8px;
      background-position: right center;
      padding: 0px 16px 0px 0px;
      margin: 0px 10px 0px 0px; }

main {
  max-width: 960px;
  width: 100%;
  margin: 0px auto 0px auto;
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-direction: row;
  /* Safari */
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  /* Safari */
  align-items: stretch; }
  @media only screen and (max-width: 959px) {
    main {
      width: 100%;
      padding: 0px 11px 0px 11px; } }

.left-container {
  width: 636px; }
  @media only screen and (max-width: 959px) {
    .left-container {
      width: 100%; } }
  .archive .left-container {
    margin-bottom: 32px; }
  @media only screen and (max-width: 959px) {
    .p404 .left-container {
      margin-bottom: 32px; } }
  .left-container .ico-refresh {
    height: 15px;
    width: 15px; }
    @media only screen and (max-width: 959px) {
      .left-container .ico-refresh {
        height: 12px;
        width: 12px; } }

.right-container {
  width: 300px;
  margin: 0px 0px 0px 24px; }
  @media only screen and (max-width: 959px) {
    .right-container {
      width: 100%;
      margin: 0px 0px 0px 0px; } }

h1.standard-ttl-h1 {
  position: relative;
  min-height: 48px;
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 24px 0px;
  line-height: 46px;
  border-bottom: 3px solid #93C3E8;
  font-size: 24px;
  font-weight: 500; }
  @media only screen and (max-width: 959px) {
    h1.standard-ttl-h1 {
      min-height: 35px;
      line-height: 33px;
      font-size: 20px;
      padding: 0px 0px 0px 0px;
      margin: 0px 0px 12px 0px; } }

h2.standard-ttl-h2 {
  position: relative;
  min-height: 48px;
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 24px 0px;
  line-height: 46px;
  border-bottom: 3px solid #93C3E8;
  font-size: 24px;
  font-weight: 500; }
  @media only screen and (max-width: 959px) {
    h2.standard-ttl-h2 {
      min-height: 35px;
      line-height: 33px;
      font-size: 20px;
      padding: 0px 0px 0px 0px;
      margin: 0px 0px 12px 0px; } }

h2.base-ttl-h2 {
  position: relative;
  min-height: 48px;
  padding: 0px 0px 0px 64px;
  margin: 0px 0px 24px 0px;
  line-height: 46px;
  border-bottom: 3px solid #93C3E8;
  font-size: 24px;
  font-weight: 500; }
  .right-container h2.base-ttl-h2 {
    font-size: 18px; }
  @media only screen and (max-width: 959px) {
    h2.base-ttl-h2 {
      min-height: 35px;
      line-height: 33px;
      font-size: 18px;
      padding: 0px 0px 0px 44px;
      margin: 0px 0px 12px 0px; } }
  h2.base-ttl-h2::after {
    content: "";
    position: absolute;
    width: 48px;
    height: 100%;
    background-color: #93C3E8;
    left: 0px;
    top: 0px;
    background-position: center center; }
    @media only screen and (max-width: 959px) {
      h2.base-ttl-h2::after {
        width: 35px; } }
  h2.base-ttl-h2.newpost::after {
    background-image: url("../img/base/icon-newpost.svg");
    background-size: 34px 27px;
    background-position: left 10px center; }
    @media only screen and (max-width: 959px) {
      h2.base-ttl-h2.newpost::after {
        background-size: 25px 20px;
        background-position: left 7px center; } }
  h2.base-ttl-h2.ranking::after {
    background-image: url("../img/base/icon-ranking.svg");
    background-size: 33px 25px; }
    @media only screen and (max-width: 959px) {
      h2.base-ttl-h2.ranking::after {
        background-size: 23px 17px; } }
  h2.base-ttl-h2.recommen::after {
    background-image: url("../img/base/icon-recommend.svg");
    background-size: 33px 27px; }
    @media only screen and (max-width: 959px) {
      h2.base-ttl-h2.recommen::after {
        background-size: 23px 19px; } }
  h2.base-ttl-h2.kanren::after {
    background-image: url("../img/base/icon-link.svg");
    background-size: 33px 27px; }
    @media only screen and (max-width: 959px) {
      h2.base-ttl-h2.kanren::after {
        background-size: 23px 19px; } }

h3.base-midashi-h3 {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  margin: 0px 0px 16px 0px; }
  @media only screen and (max-width: 768px) {
    h3.base-midashi-h3 {
      font-size: 14px;
      line-height: 18px;
      margin: 0px 0px 24px 0px; } }

.index .newpost-container ul li:nth-child(1), .index .newpost-container ul li:nth-child(2) {
  width: calc(50% - 24px);
  margin: 0px 0px 16px 24px;
  padding: 0px 0px 0px 0px;
  border-bottom: none;
  border-top: none; }
  @media only screen and (max-width: 959px) {
    .index .newpost-container ul li:nth-child(1), .index .newpost-container ul li:nth-child(2) {
      width: calc(50% - 12px);
      margin: 0px 0px 16px 12px; } }
  .index .newpost-container ul li:nth-child(1) a figure, .index .newpost-container ul li:nth-child(2) a figure {
    width: 100%;
    margin: 0px 0px 9px 0px; }
  .index .newpost-container ul li:nth-child(1) a > div, .index .newpost-container ul li:nth-child(2) a > div {
    width: 100%;
    padding: 0px 0px 0px 0px; }
@media only screen and (max-width: 959px) {
  .index .newpost-container ul li:nth-child(3) {
    border-top: 1px  solid #cccccc;
    padding-top: 12px; } }
.index .newpost-container ul li:last-child {
  margin-bottom: 0px; }

.base-post-container ul {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-direction: row;
  /* Safari */
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  /* Safari */
  align-items: stretch;
  margin: 0px 0px 32px -24px; }
  @media only screen and (max-width: 959px) {
    .base-post-container ul {
      margin: 0px 0px 32px -12px; } }
  .base-post-container ul li {
    display: block;
    width: 100%;
    margin: 0px 0px 16px 24px;
    padding: 0px 0px 16px 0px;
    border-bottom: 1px solid #cccccc; }
    .base-post-container ul li:first-child {
      border-top: 1px solid #cccccc;
      padding-top: 16px; }
      @media only screen and (max-width: 959px) {
        .base-post-container ul li:first-child {
          padding-top: 12px; } }
    @media only screen and (max-width: 959px) {
      .base-post-container ul li {
        margin: 0px 0px 12px 12px;
        padding: 0px 0px 12px 0px; } }
    .base-post-container ul li a {
      width: 100%;
      height: 100%;
      color: #333333;
      display: -webkit-flex;
      /* Safari */
      display: flex;
      -webkit-flex-direction: row;
      /* Safari */
      flex-direction: row;
      -webkit-flex-wrap: wrap;
      /* Safari */
      flex-wrap: wrap;
      -webkit-align-items: stretch;
      /* Safari */
      align-items: stretch; }
      .base-post-container ul li a:hover {
        text-decoration: none;
        opacity: 0.8; }
      .base-post-container ul li a figure {
        width: 152px;
        height: auto;
        position: relative;
        margin: 0px 0px 0px 0px; }
        @media only screen and (max-width: 959px) {
          .base-post-container ul li a figure {
            width: 112px; } }
        .base-post-container ul li a figure img {
          width: 100%;
          height: auto;
          border-radius: 4px; }
        .base-post-container ul li a figure span {
          height: 25px;
          line-height: 23px;
          position: absolute;
          right: 0px;
          bottom: 1px;
          display: inline-block;
          font-size: 14px;
          color: #000;
          background-color: #fff;
          border: 1px solid #000;
          border-radius: 4px;
          padding: 0px 14px; }
          @media only screen and (max-width: 959px) {
            .base-post-container ul li a figure span {
              height: 18px;
              line-height: 16px;
              font-size: 12px;
              padding: 0px 6px; } }
        .base-post-container ul li a figure p {
          display: inline-block;
          height: 18px;
          min-width: 18px;
          line-height: 16px;
          position: absolute;
          left: 6px;
          top: 6px;
          font-size: 16px;
          color: #666;
          background-color: #fff;
          border-radius: 4px;
          padding: 0px;
          padding-right: 1px;
          text-align: center;
          font-style: italic; }
      .base-post-container ul li a > div {
        width: calc(100% - 152px);
        padding: 12px 0px 0px 16px; }
        @media only screen and (max-width: 959px) {
          .base-post-container ul li a > div {
            width: calc(100% - 112px);
            padding: 0px 0px 0px 12px; } }
        .base-post-container ul li a > div em {
          display: block;
          font-size: 14px;
          line-height: 1;
          margin: 0px 0px 5px 0px;
          font-style: normal; }
          @media only screen and (max-width: 959px) {
            .base-post-container ul li a > div em {
              font-size: 12px;
              margin: 0px 0px 5px 0px; } }
        .base-post-container ul li a > div h3 {
          font-size: 18px;
          line-height: 24px;
          font-weight: 700; }
          @media only screen and (max-width: 959px) {
            .base-post-container ul li a > div h3 {
              font-size: 14px;
              line-height: 18px; } }
    .base-post-container ul li:last-child {
      margin-bottom: 0px; }

.recommen-container ul {
  margin: 0px 0px 32px 0px; }
  .recommen-container ul li {
    display: block;
    width: 100%;
    height: auto;
    margin: 0px 0px 12px 0px;
    padding: 0px 0px 0px 0px; }
    @media only screen and (max-width: 959px) {
      .recommen-container ul li {
        margin: 0px 0px 12px 0px;
        padding: 0px 0px 12px 0px;
        border-bottom: 1px solid #ccc; } }
    .recommen-container ul li:last-child {
      margin: 0px 0px 0px 0px; }
    .recommen-container ul li a {
      width: 100%;
      height: 100%;
      color: #333333;
      display: -webkit-flex;
      /* Safari */
      display: flex;
      -webkit-flex-direction: row;
      /* Safari */
      flex-direction: row;
      -webkit-flex-wrap: wrap;
      /* Safari */
      flex-wrap: wrap;
      -webkit-align-items: stretch;
      /* Safari */
      align-items: stretch; }
      .recommen-container ul li a:hover {
        text-decoration: none;
        opacity: 0.8; }
      .recommen-container ul li a figure {
        position: relative;
        margin: 0px 0px 0px 0px;
        vertical-align: bottom;
        width: 120px; }
        @media only screen and (max-width: 959px) {
          .recommen-container ul li a figure {
            width: 112px; } }
        .recommen-container ul li a figure img {
          width: 100%;
          height: auto;
          border-radius: 4px;
          vertical-align: bottom; }
        .recommen-container ul li a figure span {
          height: 18px;
          line-height: 15px;
          position: absolute;
          right: 0px;
          bottom: 0px;
          display: inline-block;
          font-size: 12px;
          color: #000;
          background-color: #fff;
          border: 1px solid #000;
          border-radius: 4px;
          padding: 0px 6px; }
          @media only screen and (max-width: 959px) {
            .recommen-container ul li a figure span {
              height: 18px;
              line-height: 16px;
              font-size: 12px;
              padding: 0px 6px; } }
      .recommen-container ul li a > div {
        width: calc(100% - 128px);
        padding: 0px 0px 0px 12px; }
        .recommen-container ul li a > div em {
          display: block;
          font-size: 14px;
          line-height: 1;
          margin: 0px 0px 8px 0px;
          font-style: normal; }
          @media only screen and (max-width: 959px) {
            .recommen-container ul li a > div em {
              font-size: 12px;
              margin: 0px 0px 8px 0px; } }
        .recommen-container ul li a > div h3 {
          font-size: 14px;
          line-height: 18px;
          font-weight: 400; }
          @media only screen and (max-width: 959px) {
            .recommen-container ul li a > div h3 {
              font-size: 14px;
              line-height: 18px; } }

.ranking-container ul {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-direction: row;
  /* Safari */
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  /* Safari */
  align-items: stretch;
  margin: 0px 0px 32px -24px; }
  .right-container .ranking-container ul {
    margin: 0px 0px 32px -16px; }
  @media only screen and (max-width: 959px) {
    .ranking-container ul {
      margin: 0px 0px 32px -12px; } }
  .ranking-container ul li {
    display: block;
    width: calc(50% - 24px);
    height: auto;
    margin: 0px 0px 24px 24px;
    padding: 0px 0px 0px 0px; }
    .right-container .ranking-container ul li {
      width: calc(50% - 16px);
      margin: 0px 0px 16px 16px; }
    @media only screen and (max-width: 959px) {
      .ranking-container ul li {
        width: calc(50% - 12px);
        margin: 0px 0px 16px 12px; } }
    .ranking-container ul li:nth-last-child(1), .ranking-container ul li:nth-last-child(2) {
      margin: 0px 0px 0px 24px; }
      .right-container .ranking-container ul li:nth-last-child(1), .right-container .ranking-container ul li:nth-last-child(2) {
        margin: 0px 0px 0px 16px; }
      @media only screen and (max-width: 959px) {
        .ranking-container ul li:nth-last-child(1), .ranking-container ul li:nth-last-child(2) {
          margin: 0px 0px 0px 12px; } }
    .ranking-container ul li a {
      width: 100%;
      height: 100%;
      color: #333333;
      display: block; }
      .ranking-container ul li a:hover {
        text-decoration: none;
        opacity: 0.8; }
      .ranking-container ul li a figure {
        position: relative;
        margin: 0px 0px 5px 0px;
        vertical-align: bottom; }
        @media only screen and (max-width: 959px) {
          .ranking-container ul li a figure {
            margin: 0px 0px 9px 0px; } }
        .right-container .ranking-container ul li a figure {
          margin: 0px 0px 6px 0px; }
        .ranking-container ul li a figure img {
          width: 100%;
          height: auto;
          border-radius: 4px;
          vertical-align: bottom;
          float: inherit; }
        .ranking-container ul li a figure span {
          height: 25px;
          line-height: 23px;
          position: absolute;
          right: 0px;
          bottom: 0px;
          display: inline-block;
          font-size: 14px;
          color: #000;
          background-color: #fff;
          border: 1px solid #000;
          border-radius: 4px;
          padding: 0px 14px; }
          @media only screen and (max-width: 959px) {
            .ranking-container ul li a figure span {
              height: 18px;
              line-height: 16px;
              font-size: 12px;
              padding: 0px 6px; } }
          .right-container .ranking-container ul li a figure span {
            height: 18px;
            line-height: 15px;
            position: absolute;
            right: 0px;
            bottom: 0px;
            display: inline-block;
            font-size: 12px;
            color: #000;
            background-color: #fff;
            border: 1px solid #000;
            border-radius: 4px;
            padding: 0px 6px; }
        .ranking-container ul li a figure p {
          display: inline-block;
          height: 18px;
          min-width: 18px;
          line-height: 16px;
          position: absolute;
          left: 6px;
          top: 6px;
          font-size: 16px;
          color: #666;
          background-color: #fff;
          border-radius: 4px;
          padding: 0px;
          padding-right: 1px;
          text-align: center;
          font-style: italic; }
      .ranking-container ul li a h3 {
        font-size: 18px;
        line-height: 24px;
        font-weight: 700; }
        .right-container .ranking-container ul li a h3 {
          font-size: 14px;
          line-height: 18px; }
        @media only screen and (max-width: 959px) {
          .ranking-container ul li a h3 {
            font-size: 14px;
            line-height: 18px; } }

.page-nav-numberlist, .page-numbers {
  text-align: center; }
  .page-nav-numberlist li, .page-numbers li {
    margin: 0px 4px 0px 4px;
    display: inline-block;
    line-height: 29px; }
    @media only screen and (max-width: 959px) {
      .page-nav-numberlist li, .page-numbers li {
        line-height: 21px; } }
    .page-nav-numberlist li.prev img, .page-nav-numberlist li.next img, .page-numbers li.prev img, .page-numbers li.next img {
      width: 5px;
      height: 8px;
      margin-bottom: 2px; }
      @media only screen and (max-width: 959px) {
        .page-nav-numberlist li.prev img, .page-nav-numberlist li.next img, .page-numbers li.prev img, .page-numbers li.next img {
          margin-bottom: 1px; } }
    .page-nav-numberlist li a, .page-numbers li a {
      border: 1px solid #93C3E8;
      display: block;
      border-radius: 4px;
      height: 32px;
      min-width: 24px;
      text-align: center;
      color: #5771b3;
      font-size: 14px; }
      @media only screen and (max-width: 959px) {
        .page-nav-numberlist li a, .page-numbers li a {
          min-width: 20px;
          height: 24px; } }
      .page-nav-numberlist li a.prev, .page-nav-numberlist li a.next, .page-numbers li a.prev, .page-numbers li a.next {
        padding: 0px 6px 0px 6px; }
    .page-nav-numberlist li span.current, .page-numbers li span.current {
      display: block;
      border-radius: 4px;
      height: 32px;
      min-width: 24px;
      text-align: center;
      font-size: 14px;
      border: 1px solid #999999;
      color: #999999; }
      @media only screen and (max-width: 959px) {
        .page-nav-numberlist li span.current, .page-numbers li span.current {
          min-width: 20px;
          height: 24px; } }
    .page-nav-numberlist li.current a, .page-numbers li.current a {
      border: 1px solid #999999;
      color: #999999; }

.p404 .error-text {
  line-height: 24px;
  margin-top: -14px; }
  @media only screen and (max-width: 959px) {
    .p404 .error-text {
      margin-top: 26px;
      text-align: center; } }

.tag .inner .tag-list {
  margin: 0px 0px 18px 0px; }
  @media only screen and (max-width: 959px) {
    .tag .inner .tag-list {
      text-align: center; } }
  .tag .inner .tag-list li {
    display: inline-block;
    margin: 0px 10px 15px 0px; }
    .tag .inner .tag-list li a {
      background-color: #fef1cf;
      border-radius: 4px;
      font-size: 14px;
      padding: 2px 6px;
      height: 25px;
      line-height: 23px;
      color: #333333; }
      .tag .inner .tag-list li a:hover {
        background-color: #5771b3;
        color: #fff;
        text-decoration: none; }

.tag .inner h2.standard-ttl-h2 {
  margin-bottom: 14px; }

.archive .pankuzu {
  padding: 0px 0px 0px 0px; }
.archive h2.base-ttl-h2.newpost {
  margin: 0px 0px 16px 0px; }
  @media only screen and (max-width: 959px) {
    .archive h2.base-ttl-h2.newpost {
      margin: 0px 0px 16px 0px; } }
.archive .inner > h4 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 16px; }
  @media only screen and (max-width: 959px) {
    .archive .inner > h4 {
      font-size: 16px; } }
.archive .inner .base-midashi-h3 {
  margin-bottom: 24px;
  margin-top: -10px; }
  @media only screen and (max-width: 959px) {
    .archive .inner .base-midashi-h3 {
      margin-top: -4px; } }
.archive .inner .kanren-key {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin: 0px 0px 12px 0px;
  color: #5771b3;
  display: block; }
  @media only screen and (max-width: 959px) {
    .archive .inner .kanren-key {
      font-size: 16px; } }
.archive .inner .kanren-key-container {
  background-color: #f6f6f6;
  padding: 12px;
  margin: 0px 0px 24px 0px; }
  @media only screen and (max-width: 959px) {
    .archive .inner .kanren-key-container {
      padding: 10px; } }
  .archive .inner .kanren-key-container .cat-list li {
    display: inline-block;
    margin: 0px 10px 12px 0px; }
    @media only screen and (max-width: 959px) {
      .archive .inner .kanren-key-container .cat-list li {
        margin: 0px 8px 12px 0px; } }
    .archive .inner .kanren-key-container .cat-list li a {
      height: 25px;
      line-height: 22px;
      display: block;
      font-size: 14px;
      color: #000;
      background-color: #fff;
      border: 1px solid #000;
      border-radius: 4px;
      padding: 0px 14px; }
      @media only screen and (max-width: 959px) {
        .archive .inner .kanren-key-container .cat-list li a {
          height: 22px;
          line-height: 20px;
          font-size: 14px;
          padding: 0px 6px; } }
      .archive .inner .kanren-key-container .cat-list li a:hover {
        text-decoration: none;
        color: #5771b3; }
  .archive .inner .kanren-key-container .tag-list li {
    display: inline-block;
    margin: 0px 8px 12px 0px; }
    .archive .inner .kanren-key-container .tag-list li a {
      font-size: 14px;
      line-height: 1;
      color: #333333; }
  @media only screen and (max-width: 959px) {
    .archive .inner .kanren-key-container .more-link {
      text-align: right; } }
  .archive .inner .kanren-key-container .more-link a {
    display: inline-block;
    background-image: url("../img/base/ico-more-link.svg");
    background-size: 14px 14px;
    background-position: left center;
    padding: 0px 0px 0px 20px;
    font-size: 14px;
    color: #333333; }

.search .page-nav-numberlist {
  margin-bottom: 32px; }
.search .inner h2.standard-ttl-h2 {
  margin-bottom: 14px; }
.search .inner > h4 {
  text-align: right;
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
  margin: 0px 0px 16px 0px; }
  @media only screen and (max-width: 959px) {
    .search .inner > h4 {
      font-size: 14px; } }

.ranking .inner .base-ttl-h2.ranking {
  margin-bottom: 10px; }
  @media only screen and (max-width: 959px) {
    .ranking .inner .base-ttl-h2.ranking {
      margin-bottom: 12px; } }
.ranking .inner > h4 {
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  margin: 0px 0px 14px 0px; }
  @media only screen and (max-width: 959px) {
    .ranking .inner > h4 {
      line-height: 18px;
      font-size: 14px; } }

.detail .inner h2.standard-ttl-h2 {
  margin-bottom: 14px; }
  @media only screen and (max-width: 959px) {
    .detail .inner h2.standard-ttl-h2 {
      margin-bottom: 10px; } }
.detail .inner .post-meta-header {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-direction: row;
  /* Safari */
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  /* Safari */
  align-items: stretch;
  line-height: 1;
  margin: 0px 0px 16px 0px; }
  .detail .inner .post-meta-header strong {
    width: 50%;
    display: block;
    font-size: 16px; }
  .detail .inner .post-meta-header em {
    width: 50%;
    display: block;
    font-style: normal;
    font-size: 14px;
    text-align: right; }
.detail .inner .photo {
  margin: 0px 0px 16px 0px; }
  @media only screen and (max-width: 959px) {
    .detail .inner .photo {
      margin: 0px 0px 6px 0px; } }
  .detail .inner .photo img {
    width: 100%;
    height: auto;
    border-radius: 4px; }
.detail .inner .photo-m {
  margin: 0px 0px 16px 0px; }
  @media only screen and (max-width: 959px) {
    .detail .inner .photo-m {
      margin: 0px 0px 8px 0px;
      padding: 0px 19px 0px 19px; } }
  .detail .inner .photo-m img {
    width: 100%;
    border-radius: 4px; }
.detail .inner > p {
  font-size: 14px;
  line-height: 24px;
  margin: 0px 0px 32px 0px; }
  @media only screen and (max-width: 959px) {
    .detail .inner > p {
      margin: 0px 0px 24px 0px; } }
.detail .inner > h3 {
  position: relative;
  min-height: 48px;
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 32px 0px;
  line-height: 46px;
  border-bottom: 3px solid #93C3E8;
  font-size: 20px;
  font-weight: 500; }
  @media only screen and (max-width: 959px) {
    .detail .inner > h3 {
      min-height: 35px;
      line-height: 33px;
      font-size: 18px;
      padding: 0px 0px 0px 0px;
      margin: 0px 0px 24px 0px; } }
.detail .inner > h4 {
  font-size: 18px;
  line-height: 1;
  margin: 0px 0px 12px 0px;
  color: #5771b3; }
.detail .inner .description {
  font-size: 16px;
  line-height: 24px;
  margin: 0px 0px 32px 0px; }
  @media only screen and (max-width: 959px) {
    .detail .inner .description {
      font-size: 14px; } }
.detail .inner .blogcard-ttl {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  display: block;
  margin: 0px 0px 16px 0px; }
  @media only screen and (max-width: 959px) {
    .detail .inner .blogcard-ttl {
      font-size: 16px; } }
.detail .inner .blogcard-container {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-direction: row;
  /* Safari */
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  /* Safari */
  align-items: stretch;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  padding: 16px 0px 16px 0px;
  margin: 0px 0px 32px 0px; }
  @media only screen and (max-width: 959px) {
    .detail .inner .blogcard-container {
      padding: 12px 0px 12px 0px; } }
  .detail .inner .blogcard-container figure {
    width: 212px; }
    @media only screen and (max-width: 959px) {
      .detail .inner .blogcard-container figure {
        width: 112px; } }
    .detail .inner .blogcard-container figure img {
      width: 100%;
      border-radius: 4px; }
  .detail .inner .blogcard-container > div {
    width: calc(100% - 212px);
    padding: 0px 0px 0px 16px; }
    @media only screen and (max-width: 959px) {
      .detail .inner .blogcard-container > div {
        padding: 0px 0px 0px 12px;
        width: calc(100% - 112px); } }
    .detail .inner .blogcard-container > div strong {
      font-size: 16px;
      font-weight: 700;
      display: block;
      margin: 0px 0px 16px 0px; }
      @media only screen and (max-width: 959px) {
        .detail .inner .blogcard-container > div strong {
          margin: -3px 0px 3px 0px;
          font-size: 14px;
          line-height: 18px; } }
    .detail .inner .blogcard-container > div p {
      font-size: 14px;
      line-height: 24px; }
      @media only screen and (max-width: 959px) {
        .detail .inner .blogcard-container > div p {
          font-size: 12px;
          line-height: 18px; } }
.detail .inner .social-list {
  position: relative;
  height: 25px;
  margin: 64px 0px 21px -8px; }
  .detail .inner .social-list li {
    display: inline-block;
    position: absolute; }
    .detail .inner .social-list li.fb {
      left: 0; }
    .detail .inner .social-list li.tw {
      left: 108px; }
    .detail .inner .social-list li.ln {
      left: 214px; }
.detail .inner .bottom-tag-list {
  background-color: #f6f6f6;
  padding: 8px 6px;
  margin: 0px 0px 32px 0px; }
  .detail .inner .bottom-tag-list li {
    display: inline-block;
    font-size: 14px;
    margin: 0px 8px 0px 0px;
    line-height: 1; }
    .detail .inner .bottom-tag-list li span {
      font-weight: 700; }
    .detail .inner .bottom-tag-list li a {
      color: #333333; }

.page .inner > p {
  font-size: 14px;
  line-height: 24px;
  margin: 0px 0px 32px 0px; }
  @media only screen and (max-width: 959px) {
    .page .inner > p {
      margin: 0px 0px 24px 0px; } }

/* ------------------------------- detail_custom 記事詳細ページ カスタム ------------------------------- */
.detail .inner.detail_custom h2 {
  border-top: 3px solid #93C3E8;
  border-bottom: 3px solid #93C3E8;
  padding-top: 16px;
  padding-bottom: 16px;
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    .detail .inner.detail_custom h2 {
      border-top: 3px solid #93C3E8;
      border-bottom: 3px solid #93C3E8;
      font-size: 16px;
      line-height: 1.5;
      padding: 16px 0;
      margin-bottom: 32px; } }
.detail .inner.detail_custom h3 {
  border-bottom: 2px solid #93C3E8;
  border-left: 4px solid #93C3E8;
  font-size: 18px;
  padding-left: 12px;
  margin-bottom: 32px;
  line-height: 1.5;
  padding-top: 8px;
  padding-bottom: 10px; }
  @media only screen and (max-width: 768px) {
    .detail .inner.detail_custom h3 {
      border-bottom: 2px solid #93C3E8;
      border-left: 4px solid #93C3E8;
      font-size: 16px;
      margin-top: 32px;
      padding-left: 12px;
      line-height: 1.5;
      padding-top: 8px;
      padding-bottom: 10px; } }
.detail .inner.detail_custom p {
  margin-bottom: 16px;
  line-height: 1.8;
  letter-spacing: 0.025em;
  overflow-wrap: break-word; }
.detail .inner.detail_custom .ranking {
  border-top: 2px solid #93C3E8;
  padding-top: 24px;
  position: relative; }
  .detail .inner.detail_custom .ranking::after {
    content: '';
    width: 50%;
    height: 2px;
    background-color: #F18484;
    display: block;
    position: absolute;
    right: 0;
    top: -2px; }
  .detail .inner.detail_custom .ranking .ranking__catch {
    color: #DAC4B6;
    font-size: 14px;
    margin-top: 0 !important;
    margin-bottom: 0px; }
  .detail .inner.detail_custom .ranking .ranking__ttl {
    font-weight: bold;
    font-size: 18px;
    line-height: 1.25;
    margin-bottom: 8px; }
  .detail .inner.detail_custom .ranking .full_img {
    margin: 0px !important; }
    .detail .inner.detail_custom .ranking .full_img img {
      width: 100%;
      max-width: 100%;
      height: auto;
      vertical-align: bottom; }
.detail .inner.detail_custom .marker {
  background: linear-gradient(transparent 64%, #ffdcef 0%);
  color: #F18484;
  font-weight: bold; }
.detail .inner.detail_custom .simplebox {
  border: none;
  background-color: #fbfaeb;
  padding: 24px;
  margin-bottom: 24px; }
  .detail .inner.detail_custom .simplebox .simplebox__ttl {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 0px !important; }
  .detail .inner.detail_custom .simplebox .border {
    background-color: #93C3E8;
    display: block;
    width: 32px;
    height: 1px;
    margin: 14px auto 12px; }
  .detail .inner.detail_custom .simplebox .campaign__ttl {
    color: #F18484;
    border: 1px solid #F18484;
    background: #fff;
    text-align: center;
    padding: 7px 4px;
    font-weight: bold;
    position: relative;
    margin-top: 16px;
    font-size: 15px; }
    .detail .inner.detail_custom .simplebox .campaign__ttl::before {
      border-top: 10px solid #F18484 !important;
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -10px;
      border: 10px solid transparent; }
    .detail .inner.detail_custom .simplebox .campaign__ttl + p {
      text-align: center;
      margin-top: 14px !important; }
      @media only screen and (max-width: 768px) {
        .detail .inner.detail_custom .simplebox .campaign__ttl + p {
          text-align: left; } }
  .detail .inner.detail_custom .simplebox .check__list .check__item {
    position: relative;
    padding-left: 22px;
    display: list-item;
    line-height: 1.8; }
    .detail .inner.detail_custom .simplebox .check__list .check__item::before {
      background-image: url(../img/base/ico-check-female.svg);
      content: '';
      display: block;
      width: 20px;
      height: 20px;
      background-repeat: no-repeat;
      background-size: contain;
      position: absolute;
      left: 0;
      top: 3px; }
    .detail .inner.detail_custom .simplebox .check__list .check__item + .check__item {
      margin-top: 16px; }
.detail .inner.detail_custom .meritdemerit {
  border: 1px solid #F18484;
  color: #F18484;
  margin-bottom: 16px; }
  .detail .inner.detail_custom .meritdemerit .meritdemerit__ttl {
    background: #ffdcef;
    border-bottom: 1px solid #F18484;
    padding: 20px;
    font-weight: bold;
    line-height: 1.1;
    font-size: 18px;
    margin-bottom: 0px !important; }
    @media only screen and (max-width: 768px) {
      .detail .inner.detail_custom .meritdemerit .meritdemerit__ttl {
        font-size: 15px; } }
  .detail .inner.detail_custom .meritdemerit .n_check {
    padding: 20px !important;
    margin: 0;
    position: relative; }
    .detail .inner.detail_custom .meritdemerit .n_check li {
      line-height: 1.5;
      padding-left: 20px;
      position: relative;
      list-style: none; }
      .detail .inner.detail_custom .meritdemerit .n_check li + li {
        margin-top: 16px; }
      .detail .inner.detail_custom .meritdemerit .n_check li::before {
        background-color: #db499e;
        content: '';
        display: block;
        position: absolute;
        top: 10px;
        left: 0px;
        width: 8px;
        height: 8px;
        border-radius: 100px;
        line-height: 1.5; }
  .detail .inner.detail_custom .meritdemerit.demerit {
    border: 1px solid #003E6E;
    color: #003E6E; }
    .detail .inner.detail_custom .meritdemerit.demerit .meritdemerit__ttl {
      background: #f4f6f8;
      border-bottom: 1px solid #003e6e;
      color: #003e6e; }
    .detail .inner.detail_custom .meritdemerit.demerit li::before {
      background-color: #003e6e; }
.detail .inner.detail_custom .matome {
  border: 1px solid #93C3E8;
  padding: 24px;
  margin-bottom: 32px; }
  .detail .inner.detail_custom .matome .matome__ttl {
    border-bottom: 2px solid #93C3E8;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    padding-bottom: 16px;
    position: relative;
    margin-bottom: 0px;
    margin-top: 0px !important; }
    .detail .inner.detail_custom .matome .matome__ttl::after {
      background-color: #F18484;
      content: '';
      display: block;
      width: 50%;
      height: 2px;
      right: 0;
      bottom: -2px;
      position: absolute; }
  .detail .inner.detail_custom .matome p {
    margin: 16px 0px 0px 0px; }
.detail .inner.detail_custom .tablearea {
  border-collapse: collapse;
  margin-top: 24px;
  text-align: left;
  table-layout: fixed;
  width: 100%; }
  .detail .inner.detail_custom .tablearea[data-type="center"] {
    text-align: center; }
  .detail .inner.detail_custom .tablearea th, .detail .inner.detail_custom .tablearea td {
    padding: 16px;
    font-size: 14px; }
  .detail .inner.detail_custom .tablearea th.heading {
    background-color: #46322a;
    max-width: 100px;
    width: 30%;
    text-align: center;
    font-weight: 300;
    color: #fff; }
    .detail .inner.detail_custom .tablearea th.heading + .heading {
      border-left: 1px solid #fff; }
  .detail .inner.detail_custom .tablearea th.heading:first-of-type {
    background-color: #46322a;
    border-left: 1px solid #46322a; }
  .detail .inner.detail_custom .tablearea th.heading:last-of-type {
    background-color: #46322a;
    border-right: 1px solid #46322a; }
  .detail .inner.detail_custom .tablearea th:not(.heading) {
    background-color: #f8f6f4;
    border: 1px solid #46322a; }
  .detail .inner.detail_custom .tablearea td {
    border: 1px solid #46322a;
    font-weight: 300;
    line-height: 1.5; }
.detail .inner.detail_custom .subhead {
  margin-bottom: 16px;
  font-weight: bold;
  position: relative;
  padding-left: 20px; }
  .detail .inner.detail_custom .subhead::before {
    background-color: #93C3E8;
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 100px;
    position: absolute;
    left: 0;
    top: 3px; }
.detail .inner.detail_custom .map {
  margin-bottom: 24px; }
  .detail .inner.detail_custom .map .map__ttl {
    text-align: center;
    color: #fff;
    background-color: #93C3E8;
    font-weight: bold;
    padding: 10px;
    line-height: 1.7;
    position: relative; }
    .detail .inner.detail_custom .map .map__ttl::before {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -10px;
      border: 10px solid transparent;
      border-top: 10px solid #93C3E8; }
  .detail .inner.detail_custom .map .map__cont {
    margin-bottom: 20px; }
    .detail .inner.detail_custom .map .map__cont iframe {
      width: 100%; }
.detail .inner.detail_custom .caution {
  font-size: 10px;
  margin-top: 4px;
  display: inline-block;
  color: #DAC4B6;
  line-height: 1.2; }
.detail .inner.detail_custom .right_link {
  text-align: right;
  margin-top: 12px;
  position: relative;
  color: #1A0DAB;
  display: table;
  margin-left: auto;
  padding-left: 20px; }
  .detail .inner.detail_custom .right_link a {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
    align-items: center;
    color: #1a0dab;
    text-decoration: underline; }
    .detail .inner.detail_custom .right_link a::before {
      content: '';
      display: block;
      background-image: url(../img/base/ico-link-arrow.svg);
      width: 14px;
      height: 14px;
      background-repeat: no-repeat;
      background-size: contain;
      position: absolute;
      left: 0;
      top: 6px; }
.detail .inner.detail_custom .c__btn {
  width: 100%;
  text-align: center;
  background-color: #ee6d6d;
  position: relative;
  height: 72px;
  border-radius: 10px;
  box-shadow: 0 5px 0 #ec5656;
  margin-top: 24px; }
  .detail .inner.detail_custom .c__btn a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #fff;
    line-height: 1.5;
    position: relative;
    transition: all ease .3s;
    font-weight: bold;
    font-size: 16px;
    padding: 0 40px 0 20px;
    text-decoration: none !important; }
    @media only screen and (max-width: 768px) {
      .detail .inner.detail_custom .c__btn a {
        font-size: 14px; } }
    .detail .inner.detail_custom .c__btn a::before {
      content: '';
      display: block;
      width: 20px;
      height: 20px;
      right: 20PX;
      background-image: url(../img/base/ico-wh-right.svg);
      background-repeat: no-repeat;
      position: absolute;
      top: 51%;
      transform: translateY(-50%); }
