/* ##############################################################################

    KEYFRAMES

############################################################################## */


/* ##############################################################################

    COMMON

############################################################################## */

  html {
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
  }
  body {
    height: 100%;
    padding-top: 146px;
    font-size: 15px;
  }
  body.page-contact {
    padding-top: 0;
  }
  h1,h2,h3,h4,p,small,span {
    transform: rotate(0.001deg);
  }

  @media screen and (max-width: 767px) {
    body {
      padding-top: 48px;
    }
  }

/* layout
**************************************** */

  /* --- inner --- */
  .inner {
    width: 90%;
    max-width: 1366px;
    margin: 0 auto;
  }
  .inner-sm { max-width: 1100px; }
  .inner-mid { max-width: 960px; }
  .inner-lg { max-width: calc(100% - 112px); }

  /* --- section_pdg --- */
  .section_pdg {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .section_pdg-sm {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  @media screen and  (max-width: 767px) {
    .inner { width: 95%; }
    .section_pdg {
      padding-top: 24px;
      padding-bottom: 24px;
    }
  }

/* flex
**************************************** */
  /* --- ざっくりflexレイアウト --- */
  .flex-col1 {
    display: block;
  }
  .flex-col2,
  .flex-col3,
  .flex-col4 {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .flex-col2 > * {
    width: 48.5%;
    margin-right: 3%;
    margin-bottom: 3%;
  }
  .flex-col2:not(.flex-reverse) > *:nth-child(even),
  .flex-col2.flex-reverse > *:nth-child(odd) {
    margin-right: 0;
  }
  .flex-col3 > * {
    width: 31.33%;
    margin-right: 3%;
    margin-bottom: 3%;
  }
  .flex-col3 > *:nth-child(3n) { margin-right: 0; }
  .flex-col4 > * {
    width: 23.5%;
    margin-right: 2%;
    margin-bottom: 2%;
  }
  .flex-col4 > *:nth-child(4n) { margin-right: 0; }

  @media screen and (max-width: 767px) {
    .flex-sp-block.flex-col2 > * {
      width: 100%;
      margin-right: 0;
      margin-bottom: 6%;
    }
    .flex-sp-block.flex-col2 > *:last-child {
      margin-bottom: 0;
    }

    /* --- ざっくりflexレイアウト - sp --- */
    .flex-sp-col2 > *,
    .flex-sp-col2.flex-col3 > *:nth-child(3n) {
      width: 48.5%;
      margin-right: 3%;
      margin-bottom: 3%;
    }
    .flex-sp-col2 > *:nth-child(even) {
      margin-right: 0;
    }
    .flex-sp-col3 > *,
    .flex-sp-col3.flex-col4 > *:nth-child(4n) {
      width: 31.33%;
      margin-right: 3%;
      margin-bottom: 3%;
    }
    .flex-sp-col3 > *:nth-child(3n) {
      margin-right: 0;
    }
  }

/* bg
**************************************** */
  /* --- color --- */
  .bg-gray { background-color: #f4f4f4; }

  /* --- ptn --- */
  .bg-ptn01 {
    background: url(../images/pt_slant_lightblue.png);
    background-repeat: repeat;
  }
  .bg-ptn02 {
    background: url(../images/pt_check_wh.png);
    background-repeat: repeat;
  }

/* ttl
**************************************** */

  /* --- page_ttl --- */
  .page_ttl {
    background-image: url(../images/ttl_back.png);
    padding: 40px 0;
    text-align: center;
    max-width: 100%;
    margin: auto;
    margin-top: 0;
  }
  .page_ttl-jp,
  .page_ttl-en {
    display: block;
  }
  .page_ttl-jp {
    font-size: 240%;
    color: #fff;
    margin-bottom: 16px;
    line-height: 1em;
  }
  .page_ttl-en {
    font-size: 80%;
    text-transform: uppercase;
    color: #fff;
  }
  .single.single-ranking .page_ttl,
  .archive.archive-ranking .page_ttl {
    display: none;
  }
  .archive.archive-accident .page_ttl {
    line-height: 1.8em;
  }
  .archive.archive-accident .page_ttl .page_ttl-jp {
    font-size: 200%;
    line-height: 1.4em;
    color: #355282;
  }

  /* --- section_ttl --- */
  .section_ttl {
    margin-bottom: 16px;
    font-size: 280%;
    font-weight: normal;
    line-height: 1.3;
    letter-spacing: .1em;
    color: #355282;
    font-family: Shuei Mincho B;
  }
  .section_ttl-sm { font-size: 267%; }

  /* --- section_ttl-balloon --- */
  .section_ttl-balloon {
    display: block;
  }
  .footer--cta_area .section_ttl-balloon {
    text-align: left;
    position: absolute;
    top: -48px;
  }
  .section_ttl-balloon span {
    position: relative;
    display: inline-block;
    text-align: center;
    min-width: 320px;
    padding: 8px;
    color: #fff;
    font-size: 90%;
    line-height: 1;
    letter-spacing: .05em;
    background-color: #009db3;
  }
  .section_ttl-balloon span::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: calc(50% - 8px / 2);
    display: block;
    border-style: solid;
    border-width: 10px 4px 0 4px;
    border-color: #009db3 transparent transparent transparent;
  }

  /* --- heading --- */
  .heading-1 { font-size: 270%; }
  .heading-2 {
    font-size: 214%;
    color: #009DB3;
    margin-bottom: 32px;
    font-family: Shuei Mincho B;
  }
  .heading-3 {
    font-size: 160%;
    font-weight: bold;
    color: #009DB3;
    font-family: Hiragino UD Sans W6 JIS2004;
    margin-bottom: 32px;
    position: relative;
  }
  .heading-4 {
    font-size: 134%;
    font-family: Hiragino UD Sans W6 JIS2004;
    color: #333;
  }

  /* --- line_ttl --- */
  .line_ttl {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    color: #009db3;
    font-size: 213%;
    line-height: 1.3;
  }
  .line_ttl::before,
  .line_ttl::after {
    content: '';
    display: block;
    width: 20px;
    height: 1px;
    background-color: #009db3;
  }
  .line_ttl::before {
    margin-right: 16px;
  }
  .line_ttl::after {
    margin-left: 16px;
  }

  /* --- ttl-kazari --- */
  .ttl-kazari {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 368px;
    padding: 24px 8px;
    color: #355282;
    font-size: 160%;
    line-height: 1.14;
    letter-spacing: 0;
    border-radius: 4px;
  }
  .ttl-kazari::before,
  .ttl-kazari::after {
    content: '';
    display: block;
    width: 41px;
    height: 54px;
  }
  .ttl-kazari::before {
    margin-right: 4px;
    background-image: url(../images/ttl_kazari-lft.svg);
  }
  .ttl-kazari::after {
    margin-right: 4px;
    background-image: url(../images/ttl_kazari-rgt.svg);
  }

  .home .section_ttl,
  .home .heading-1,
  .home .heading-2,
  .home .heading-3,
  .home .line_ttl {
    font-size: 200%;
    line-height: 1.5em;
    margin-bottom: 16px;
  }

  /* --- txtarea --- */
  .txtarea {
    max-width: calc(100% - 112px);
    margin-left: auto;
    margin-right: auto;
    font-family: Hiragino UD Sans W3 JIS2004;
  }
  .single .txtarea {
    max-width: calc(100% - 24px);
  }
  .single .heading-1 {
    padding-left: 1em;
    line-height: 1.3;
    position: relative;
  }
  .single .heading-1::before {
    content: '';
    position: absolute;
    width: 8px;
    height: 100%;
    top: 0;
    left: 0;
    background: #005da2;
  }

  @media screen and (max-width: 767px) {

    /* --- page_ttl --- */
    .page_ttl {
      margin-top: 0;
      padding: 24px 0;
    }
    .page_ttl-jp {
      font-size: 150%;
      margin-bottom: 4px;
    }
    .page_ttl-en {
      font-size: 70%;
    }

    /* --- section_ttl --- */
    .section_ttl {
      margin-bottom: 24px;
      font-size: 220%;
      line-height: 1.3;
      letter-spacing: .03em;
    }

    /* --- section_ttl-balloon --- */
    .section_ttl-balloon span {
      min-width: 180px;
      margin-bottom: 8px;
      padding: 8px 16px;
      font-size: 70%;
    }

    /* --- heading --- */
    .heading-1 {
      font-size: 190%;
      line-height: 1.5;
    }
    .heading-2 {
      font-size: 170%;
      line-height: 1.4;
    }
    .heading-3 {
      font-size: 140%;
      line-height: 1.3;
    }

    /* --- line_ttl --- */
    .line_ttl {
      font-size: 170%;
    }
    .line_ttl::before {
      margin-left: 8px;
    }
    .line_ttl::after {
      margin-right: 8px;
    }

    /* --- ttl-kazari --- */
    .ttl-kazari {
      padding: 16px 8px;
      font-size: 160%;
    }
    .ttl-kazari::before,
    .ttl-kazari::after {
      width: 31px;
      height: 40px;
      background-size: cover;
    }

    /* --- txtarea --- */
    .txtarea {
      max-width: 100%;
    }

    .home .section_ttl,
    .home .heading-1,
    .home .heading-2,
    .home .heading-3,
    .home .line_ttl {
      font-size: 140%;
      line-height: 1.2em;
      margin-bottom: 8px;
    }
    .archive.archive-accident .page_ttl .page_ttl-jp {
      font-size: 130%;
    }
    .archive.archive-accident .page_ttl small {
      font-size: 80%;
    }
  }

/* breadcrumbs
**************************************** */
  .breadcrumbs {
    padding: 8px 0;
    font-size: 80%!important;
  }
  .breadcrumbs a {
    text-decoration: underline;
  }
  .single.single-ranking .breadcrumbs {
    display: none;
  }
  .breadcrumbs .inner {
    max-width: 1100px;
  }
  @media screen and (max-width: 767px) {
    .breadcrumbs a,
    .breadcrumbs span {
      padding: 4px 0;
      font-size: 95%;
    }
  }

/* txt
**************************************** */
  .txt-lg { font-size: 107%; }
  .txt-sm { font-size: 93%; }
  .txt-xs { font-size: 66%; }
  .txt-xl { font-size: 120%; }
  .nav-last .txt-xs {
    width: 65%;
    line-height: 2.1em;
  }
  .home .txt-lg,
  .home .txt-xl {
    font-size: 100%;
  }
  .txt .home .txt-lg {
    font-size: 90%;
  }
  .txt-attention {
    color: #999;
    font-size: 80%;
    line-height: 1em;
  }
  .txt-attention-kome {
    position: relative;
    padding-left: 1.4em;
    line-height: 1.5em;
  }
  .txt-attention-kome::before {
    content: '※';
    position: absolute;
    left: 0;
    top: 0;
  }
  .txtarea p:not(:last-child) { margin-bottom: 1em; }
  .font-jp,
  .font-jp_3 strong {
    font-family: Shuei Mincho B!important;
  }
  .font-jp_2 {
    font-family: Hiragino UD Sans W3 JIS2004;
  }
  .font-jp_3 {
    font-family: Shuei Mincho M!important;
  }
  .font-jp_2 strong,
  .font-jp-g {
    font-family: Hiragino UD Sans W6 JIS2004;
  }
  .font-en {
    font-family: 'Oswald', sans-serif;
  }

  /* --- color --- */
  .txt-wh { color: #fff !important; }
  .txt-red { color: #f8585a; }
  .txt-blue { color: #009db3; }

  /* --- txt-dots --- */
  .txt-dots {
    display: -webkit-inline-flex;
    display: -ms-inline-flex;
    display: inline-flex;
  }
  .txt-dots span {
    position: relative;
  }
  .txt-dots span::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc(50% - 4px / 2);
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #009db3;
  }
  .page-faq .wp_social_bookmarking_light {
    display: none;
  }

  @media screen and (max-width: 767px) {
    .home .txt-lg,
    .txt-xl {
      line-height: 1.3;
    }
    .nav-last .txt-xs {
      width: 100%;
      margin-bottom: 8px;
    }
  }

/* table & list
**************************************** */
  table { width: 100%; }

  /* --- table_default --- */
  .table_default th,
  .table_default td {
    padding: 16px 8px;
    font-size: 120%;
  }
  .table_default th {
    border-bottom: 2px solid #009DB3;
    color: #009DB3;
    min-width: 165px;
    width: 165px;
    padding: 32px 0;
  }
  .table_default td {
    padding: 16px 24px;
    border-bottom: 1px solid #CCCCCC;
    border-left: 4px solid #fff;
  }

  /* --- table_line --- */
  .table_line th,
  .table_line td {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 24px;
    padding-right: 24px;
    font-size: 120%;
  }
  .table_line th {
    background-color: #D9F0F4;
    border: 1px solid #ccc;
    line-height: 1em;
    color: #333;
  }
  .table_line td {
    border: 1px solid #ccc;
    line-height: 1em;
    text-align: center;
  }

  /* --- list ---- */
  .list {
    list-style-type: none;
    font-size: 100%;
  }
  .list li:not(:last-child) { margin-bottom: 16px; }
  .list li {
    position: relative;
    padding-left: 27px;
  }
  .list-disc li::before,
  .list-square li::before,
  .list-circle li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .7em;
    width: 12px;
    height: 12px;
    border-radius: 12px;
    background-color: #009DB3;
  }
  /* 数字付きリスト */
  .list-num {
    padding-left: 1.4em;
    list-style-type: decimal;
  }
  .list-num li { padding-left: 0; }
  .list-num li::before { display: none; }
  /* 白丸付きリスト */
  .list-circle li::before {
    border: 1px solid #666;
    background-color: transparent;
  }
  /* 四角付きリスト */
  .list-square li::before {
    border-radius: 0;
    background-color: #666;
  }
  /* 入れ子のスタイル */
  .list li ul { margin-top: 16px; }
  .list li ul li::before {
    width: 6px;
    height: 6px;
    top: .8em;
  }

  /* --- dlリスト --- */
  .list-dl {
    position: relative;
    border-top: 1px solid #BFBFBF;
    font-size: 120%;
  }
  .list-dl dt {
    position: absolute;
    padding-top: 16px;
    color: #009DB3;
    font-weight: 700;
  }
  .list-dl dd {
    padding-left: 140px;
    padding-top: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #BFBFBF;
  }

/* home_situation
*************************************************** */
  .box-line {
    max-width: 800px;
    margin: auto;
    padding: 24px 45px;
    border: 1px solid #009db3;
    background: #fff;
    position: relative;
  }
  .box-line::before {
    content: '';
    position: absolute;
    width: 57px;
    height: 133px;
    background: url(../images/illust_bow01.png);
    z-index: 10;
    right: -32px;
    bottom: -16px;
  }
  .home_situation .post--date {
    margin-right: 34px;
    width: 130px;
    font-weight: bold;
    letter-spacing: .05em;
  }
  .home_situation {
    padding-top: 0;
    height: 150px;
    overflow-y: scroll;
    line-height: 1;
    -ms-overflow-style: none;    /* IE, Edge 対応 */
    scrollbar-width: none;       /* Firefox 対応 */
  }
  .home_situation::-webkit-scrollbar {  /* Chrome, Safari 対応 */
    display:none;
  }
  .home_situation-wrapper .heading-2 {
    font-size: 214%;
    margin-bottom: 24px;
    line-height: 1em;
    font-weight: normal;
    color: #355282;
    position: relative;
    max-width: 800px;
    margin: 0 auto 24px;
  }
  .home_situation-wrapper .heading-2::before {
    content: '';
    position: absolute;
    width: 69px;
    height: 64px;
    left: 16px;
    background: url(/wp/wp-content/themes/original_theme/images/txt_zokuzoku.png);
    top: -16px;
  }
  .font-big {
    font-size: 125%;
  }
  .home_situation .post:not(:last-child) {
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #ddd;
  }
  @media screen and (max-width: 768px) {
    .box-line {
      width: 100%;
      padding: 16px 64px 16px 16px;
    }
    .box-line::before {
      right:0;
    }
    .home_situation-wrapper .heading-2 {
      font-size: 154%;
      margin-bottom: 24px;
      line-height: 1.3em;
      padding-left: 3.5em;
      text-align: left;
    }
    .home_situation-wrapper .heading-2::before {
      left: 8px;
      top: -4px;
    }
    .home_situation .post--date {
      margin-right: 0;
      width: 100%;
      padding-left: 0;
    }
  }

/* btn
**************************************** */
  .btn a,
  button.btn,
  .btn button {
    position: relative;
    display: inline-block;
    transform: translateY(0);
    line-height: 1em;
    padding: 16px 32px;
    min-height: 40px;
    min-width: 240px;
    font-size: 120%;
    color: #fff;
    background-color: #eee;
    text-align: center;
    letter-spacing: .1em;
    font-family: Hiragino UD Sans W6 JIS2004;
    transition: .4s all ease;
    border-radius: 4px;
    border: 0;
  }
  .btn01.btn a {
    box-shadow: 0 4px 0 #00616F;
    background: #009DB3;
  }
  .btn02.btn a {
    background: #355282;
    box-shadow: 0 4px 0 #10264B;
  }
  .btn01.btn a:hover {
    transform: translateY(4px);
    box-shadow: none;
    background: #00A9C1;
  }
  .btn02.btn a:hover {
    background: #3C5D94;
    transform: translateY(4px);
    box-shadow: none;
  }
  .btn a[href="/contact/"],
  .btn.cta a,
  button.btn.cta,
  .btn.cta button {
    background: #FF9600;
    box-shadow: 0 4px 0 #CA7700
  }
  .btn a[href="/contact/"]:hover,
  .btn.cta button:hover {
    box-shadow: none;
    transform: translateY(4px);
    background: #FF9E14;
  }
  .btn.btn-wh a {
    border: 2px solid #009DB3;
    color: #009DB3;
    background: #fff;
    box-shadow: 0 4px 0 #dcdcdc;
  }
  .archive .btn.btn-wh a {
    min-height: 80px;
    padding: 20px 0;
    max-height: 80px;
    margin-right: 8px;
    margin-bottom: 8px;
  }
  .btn a:hover {
    background-color: #000;
    color: #fff;
    transform: translateY(4px);
  }
  .btn.btn-wh a:hover {
    background: #fff;
    color: #00616F;
    border: 2px solid #00616F;
    box-shadow: none;
  }
  .btn a::before,
  button.btn::before {
    content: '';
    position: absolute;
    top: 38%;
    right: 16px;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 6px;
    border-color: transparent transparent transparent #fff;
  }
  .btn.btn-wh a::before {
    border-color: transparent transparent transparent #009DB3;
  }
  .btn.btn-wh a:hover::before {
    border-color: transparent transparent transparent #00616F;
  }

  .flex .btn + .btn { margin-left: 0; }

  @media screen and (max-width: 767px) {
    .btn a,
    button.btn,
    .btn button {
      min-width: auto;
      padding: 8px;
      width: 100%;
      font-size: 90%;
      min-height: 0;
      line-height: 1.4em;
    }
    .btn a::before {
      top: calc(50% - 7px);
      right: 8px;
    }
    .flex .btn + .btn {
      margin-left: 0;
      margin-top: 8px;
    }
    .archive .btn.btn-wh a {
      min-height: auto;
      max-height: inherit;
      margin-right: 8px;
      margin-bottom: 2px;
      height: 48px;
      padding: 8px 0;
    }
    .archive .btn.btn-wh {
      width: calc(50% - 8px);
      margin-top: 0!important;
      margin-bottom: 4px;
      margin-right: 8px;
    }
    .archive .btn.btn-wh:nth-of-type(2n) {
      margin-right: 0;
    }
    .archive .btn.btn-wh a img {
      max-width: 120px;
    }
  }

/* cta
**************************************** */
  .cta--txt {
    font-size: 120%;
    margin-bottom: 24px;
  }
  .cta--btn {
    font-size: 160%;
  }
  .cta--btn.btn a {
    min-width: 400px;
  }
  .cta--tel .tel_txt {
    font-size: 160%;
  }
  .cta--form {
    background-color: #fff;
  }

  @media screen and  (max-width: 767px) {
    .cta--btn.btn a {
      min-width: 0;
    }
    .btn.btn-wh {
      margin-left: 0!important;
      width: 100%;
    }
    .btn.btn-wh a {
      min-width: 100%!important;
      margin-left: 0;
    }
    .flex .btn + .btn {
      margin-top: 8px;
    }
  }

/* cta-page
**************************************** */
  .cta-page {
    padding: 80px 0 40px;
    background-color: #eee;
  }
  .cta-page a:hover {
    opacity: .6;
  }
  .cta-page .imgarea {
    margin-bottom: 12px;
  }

  @media screen and  (max-width: 767px) {
    .cta-page {
      padding: 40px 0 24px;
    }
    .cta-page .imgarea {
      margin-bottom: 8px;
    }
  }

/* cta_area
*************************************************** */
  .cta_area {
    position: relative;
    background-color: #5baeb4;
    background-image: -moz-radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 100%);
    background-image: -webkit-radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 100%);
    background-image: radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 100%);
  }
  .cta_area .inner {
    padding-top: 32px;
    padding-bottom: 32px;
  }
  .cta_area .inner::after {
    content: '';
    position: absolute;
    right: -96px;
    bottom: 0;
    z-index: -1;
    width: 272px;
    height: 269px;
    background-image: url(../images/img_cta_woman.png);
  }
  .cta_area .section_ttl {
    margin-bottom: 16px;
    color: #fff;
  }
  .cta_area--txt {
    font-size: 170%;
    line-height: 1.16;
  }
  .tel_num a {
    padding-left: 22px;
    color: #fff;
    font-size: 270%;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
  }
  @media screen and (max-width: 1240px) and (min-width: 768px) {
    .cta_area--txt,
    .cta_area .section_ttl {
      text-align: left;
    }
    .cta_area--list {
      justify-content: flex-start;
    }
    .cta_area .inner::after {
      right: 0;
    }
  }
  @media screen and (max-width: 1180px) {
    .cta_area .section_ttl {
      font-size: 270%;
    }
    .tel_num a {
      font-size: 280%;
    }
  }
  @media screen and (max-width: 767px) {
    .cta_area .inner {
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .cta_area .inner::after {
      /*right: 0;
      width: 172px;
      height: 170px;
      background-size: cover;*/
      display: none;
    }
    .tel_num a {
      padding-left: 0;
    }
    .cta_area--btn {
      margin-bottom: 16px;
    }
    .cta_area .section_ttl {
      font-size: 190%;
    }
    .cta_area--txt {
      font-size: 120%;
    }
  }

/* box
*************************************************** */
  .box {
    padding: 32px;
    background-color: #fff;
  }
  .box-sm {
    padding: 16px;
  }
  @media screen and (max-width: 767px) {
    /* --- box --- */
    .box {
      padding: 24px;
    }
    .box-sm {
      padding: 16px;
    }
  }

/* slick
*************************************************** */
  .slide_wrap {
    position: relative;
    overflow: hidden;
  }
  .slick-arrow {
    position: absolute;
    top: calc(50% - 130px / 2);
    z-index: 10;
    width: 86px;
    height: 86px;
    background-color: rgba(255,255,255,.75);
    border-radius: 50%;
    cursor: pointer;
  }
  .slick-arrow::after {
    content: '';
    position: absolute;
    top: calc(50% - 22px / 2);
    right: 0;
    display: block;
    width: 22px;
    height: 22px;
    transform: rotate(45deg);
    border-width: 3px;
    border-color: #009db3 !important;
  }
  .slick-prev {
    left: 10%;
  }
  .slick-next {
    right: 10%;
  }
  .slick-prev::after {
    right: 28px;
    border-bottom: solid;
    border-left: solid;
  }
  .slick-next::after {
    left: 28px;
    border-top: solid;
    border-right: solid;
  }
  .slide-comparison--arrows {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
  }
  .slide-arrows.blue .slick-arrow {
    background-color: rgba(0,157,179,.75);
  }
  .slide-arrows.blue .slick-arrow::after {
    border-color: #fff !important;
  }
  @media screen and (max-width: 767px) {
    .slick-arrow {
      top: calc(50% - 160px / 2);
      width: 160px;
      height: 160px;
    }
    .slick-arrow::after {
      top: calc(50% - 16px / 2);
      width: 16px;
      height: 16px;
    }
    .slick-prev::after {
      right: 10px;
    }
    .slick-next::after {
      left: 10px;
    }
    .slick-next {
      right: -110px;
    }
    .slick-prev {
      left: -110px;
    }
  }


/* ##############################################################################

    HEADER

############################################################################## */

/* header
**************************************** */
  .header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 146px;
    background-color: #fff;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .1);
    line-height: 1;
    z-index: 9990;
    transition: all .4s ease-out;
  }
  .fixed-header {
    position: absolute;
    top: -160px;
    transition: .4s all ease;
    z-index: 9999;
    width: 100%;
    background: #fff;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .1);
  }
  .fixed-header .inner {
    max-width: 1200px;
  }
  .fixed-header .gnav li {
  }
  .fixed-header .gnav a {
    padding: 8px 0;
  }
  .fixed-header.fixed {
    top: 0;
    position: fixed;
  }
  .page-contact .header {
    position: absolute;
    background-color: transparent;
    box-shadow: none;
  }
  .header .inner {
    width: 100%;
    max-width: 1200px;
    position: relative;
    margin-bottom: 8px;
  }
  .header-top_txt {
    background: #DDDDDD;
    padding: 4px 0;
    font-size: 95%;
    margin-bottom: 6px;
  }
  .header-top_txt .inner {
    margin-bottom: 0;
  }
  .header .nav_wrapper {
    border-top: 2px solid #009db3;
    border-bottom: 1px solid #009db3;
  }
  .header .header--nav {
    margin-bottom: 0;
  }
  .gnav li {
    background: #F4F4F4;
    min-width: calc(100% / 7);
    border-right: 2px dotted #ddd;
  }
  .logo-wrapper {
    margin-bottom: 8px;
  }
  .logo_img {
    width: 200px;
    margin-right: 16px;
  }
  .header-company_link {
    color: #385183;
    font-weight: bold;
    white-space: nowrap;
  }
  .header-company_link--pc {
    display: inline-block;
    align-self: flex-end;
    margin-right: 6px;
    font-size: 59%;
    line-height: 1;
    transform: translateY(-.5em);
  }
  .header-company_link--sp {
    display: none;
  }
  .telnum img {
    position: relative;
    top: -3px;
    margin-right: 6px;
  }
  @media screen and (max-width: 1366px) {
    .fixed-header .inner,
    .header .inner {
      max-width: 1080px;
      width: 100%;
    }
    .footer .inner {
      max-width: 100%;
    }
    .footer--nav {
      width: 100%;
    }
    .gnav li {
      min-width: calc(100% / 7);
    }
    .header--logo {
      max-width: 50%;
      width: 100%;
    }
    .nav-last {
      display: block;
    }

  }
  @media screen and (max-width: 1080px) {
    .freecall,
    .time {
      display: none;
    }
  }
  @media screen and (min-width: 768px) {
    .header--nav,
    .gnav,
    .gnav ul,
    .gnav li,
    .gnav a {
      height: 100%;
    }
  }
  @media screen and (max-width: 767px) {
    .header {
      height: 48px;
      position: fixed;
    }
    .header .nav_wrapper {
      border: 0;
    }
    .header.active {
      box-shadow: 0 0 4px 0 rgba(0, 0, 0, .4);
    }
    .header .inner {
      padding-left: 8px;
      padding-top: 8px;
    }
    .header-top_txt {
      display: none;
    }
    .logo_img {
      max-width: 110px;
      margin-right: 0;
    }
    .header-company_link--pc {
      display: none;
    }
    .header-company_link--sp {
      display: inline-block;
      align-self: flex-end;
      margin-left: 8px;
      font-size: 12px;
    }
    .gnav--tel {
      display: none;
    }
    .gnav {
      margin-top: 48px;
    }
    .gnav li {
      width: 100%;
      border-right: 0;
      border-top: 1px dotted #ddd;
    }
    .time {
      display: block;
    }
    .logo-txt {
      display: none;
    }
  }

/* gnav
**************************************** */
  .gnav a {
    padding: 18px 0;
    text-align: center;
    display: block;
  }
  .gnav a:hover {
    background-color: #eee;
  }
  .gnav .current a {
    position: relative;
  }
  .gnav .current a::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 4px;
    background: #009db3;
    bottom: 0;
    left: 0;
  }
  .gnav span {
    padding: 0;
  }

  /* ---CTA --- */
  .gnav--tel {
    font-size: 197%;
    font-weight: bold;
  }
  .gnav--tel a {
    color: #385183;
    font-size: 122%;
  }
  .gnav--tel a.header-company_link--pc-small {
    font-size: 47%;
  }
  .gnav--tel small {
    font-size: 59%;
  }
  .gnav--contact {
    margin-left: 0;
    font-size: 107%;
    background: #009db3 !important;
    border-right: 0!important;
  }
  .freecall {
    padding: 6px;
    border: 1px solid #385183;
    border-radius: 8px;
    font-weight: normal;
    color: #355282;
    font-size: 51%!important;
    margin-right: 8px;
    margin-left: 8px;
  }
  .gnav--contact a {
    padding: 18px 0;
    color: #fff;
  }
  .gnav--contact a:hover {
    background: #005da2;
  }
  .time {
    line-height: .6em;
    font-weight: normal;
    font-size: 80%;
  }

  @media screen and (max-width: 767px) {
    .gnav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      opacity: 0;
      padding: 16px 0 5%;
      pointer-events: none;
      transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
      transform: translateX(20%);
      background-color: #F4F4F4;
    }
    .gnav--list {
    }
    .header.active .gnav {
      opacity: 1;
      pointer-events: all;
      transform: translateX(0);
    }
    .gnav a {
      display: block!important;
      padding: 16px 24px;
      text-align: left;
      font-size: 110%;
      position: relative;
    }
    .gnav li a::after {
      content: '';
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 6px 0 6px 6px;
      border-color: transparent transparent transparent #009DB3;
      right: 48px;
      top: 25px;
    }
    .gnav li:last-child::after {
      display: none;
    }
    .gnav .current a::before {
      display: none;
    }
    .header--logo {
      max-width: 198px;
    }
    .telnum {
      font-weight: bold;
      font-size: 220%;
      max-width: calc(100% - 48px);
      margin: auto;
      position: relative;
    }
    .telnum::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 1px;
      background: #355282;
      bottom: 13px;
    }
    .telnum a {
      padding: 0 0 16px;
      text-align: center;
      font-size: 110%;
      color: #385183;
    }
    .time {
      font-size: 108%;
    }
    .nav-cta_wrapper {
      padding: 19px 0 24px;
      margin-top: 24px;
      background: #fff;
    }
    .nav-cta_wrapper .btn a {
      max-width: 325px;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }

    /* ---gnav_btn --- */
    .gnav_btn {
      position: fixed;
      top: 0;
      right: 0;
      width: 48px;
      height: 48px;
      background-color: #fff;
      z-index: 9999;
      border-left: 1px solid #ccc;
    }
    .tel-btn {
      width: 48px;
      height: 48px;
      position: absolute;
      top: -47px;
      right: 48px;
      z-index: 10;
      border-left: 1px solid #ddd;
    }
    .tel-btn img {
      max-width: 24px;
      position: absolute;
      left: 11px;
      top: 12px;
    }
    .gnav_btn--lines {
      position: relative;
      width: 28px;
      height: 20px;
    }
    .gnav_btn--lines span {
      transition: all .4s;
      box-sizing: border-box;
    }
    .gnav_btn--lines span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #009DB3;
    }
    .gnav_btn--lines span:nth-of-type(1) {
      top: 0;
    }
    .gnav_btn--lines span:nth-of-type(2) {
      top: 43%;
    }
    .gnav_btn--lines span:nth-of-type(3) {
      bottom: 0;
    }
    .header.active .gnav_btn--lines span:nth-of-type(1) {
      -webkit-transform: translateY(9px) rotate(-45deg);
      transform: translateY(9px) rotate(-45deg);
    }
    .header.active .gnav_btn--lines span:nth-of-type(2) {
      opacity: 0;
    }
    .header.active .gnav_btn--lines span:nth-of-type(3) {
      -webkit-transform: translateY(-9px) rotate(45deg);
      transform: translateY(-9px) rotate(45deg);
    }

    /* ---CTA --- */
    .gnav--tel {
      text-align: center;
    }
    .gnav--contact {
      margin-left: 0;
    }
  }

/* fix--bnr
*************************************************** */
  .fix--bnr {
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 10000;
    transform: translateY(-50%)  translateX(100%);
    transition: .4s ease-out;
  }
  .home .fix--bnr {
    display: none;
  }
  .fix--bnr.fixed {
    transform: translateY(-50%) translateX(0);
  }


/* ##############################################################################

    FOOTER

############################################################################## */

  .footer {
    background-color: #f5f5f5;
  }
  .footer > .inner {
    padding: 24px 0;
    max-width: 1366px;
  }
  .first--bloc,
  .second--bloc {
    padding: 24px 0;
  }
  .second--bloc {
    background: #385183;
    padding-bottom: 40px;
  }
  .footer--logo {
    margin-right: 72px;
  }
  .company--link {
    margin-bottom: 8px;
  }
  .company--link a {
    color: #fff;
  }
  .company--link a:hover {
    opacity: .6;
  }
  .add--bloc p {
    color: #fff;
  }
  .nav-last {
    padding-top: 24px;
    border-top: 1px solid #ccc;
  }
  .nav-last li {
    padding-left: 32px;
    position: relative;
  }
  .nav-last li a::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 4px;
    border-color: transparent transparent transparent #009DB3;
    left: 20px;
    top: 10px;
  }
  .add--bloc {
    line-height: 1.4em;
  }

  @media screen and (max-width: 767px) {
    .footer > .inner {
      width: 95%;
      max-width: 95%;
    }
    .footer--logo {
      margin-right: 16px;
      margin-bottom: 0;
      width: 30%;
    }
    .add--bloc {
      line-height: 1.4em;
      width: calc(70% - 24px);
      font-size: 90%;
    }
    .first--bloc {
      padding-top: 16px;
    }
    .second--bloc {
      padding-bottom: 90px;
    }
    .nav-last li {
      padding-left: 8px;
    }
    .nav-last li a::before {
      left: 0;
    }
    .ftr-bnr {
      position: absolute;
      bottom: 0;
      width: 100%;
      z-index: 1000;
      transition: .4s all ease;
      opacity: 0;
      pointer-events: none;
    }
    .ftr-bnr.fixed {
      position: fixed;
      opacity: 1;
      pointer-events: auto;
    }
    .footer {
      margin-bottom: 160px;
    }
  }

/* pagetop
*************************************************** */
  .pagetop {
    width: 56px;
    height: 56px;
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 999;
    background-color: #000;
    border-radius: 50%;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .1);
  }
  .pagetop:hover {
    transform: translateY(-4px);
  }
  .pagetop::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: translateY(2px) rotate(-45deg);
  }

  @media screen and (max-width: 767px) {
    .pagetop {
      display: none;
    }
  }

/* footer--cta_area
*************************************************** */
  .footer--cta_area {
    position: relative;
    background-color: #5baeb4;
    background-image: -moz-radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 100%);
    background-image: -webkit-radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 100%);
    background-image: radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 100%);
  }
  .footer--cta_area .heading-2 {
    margin-bottom: 8px;
    color: #333;
    text-align: left;
    font-size: 150%;
  }
  .footer--cta_area .box {
    padding: 24px 32px 16px 30px;
    margin-bottom: 48px;
  }
  .footer--cta_area .box p {
    font-size: 90%;
  }
  .footer--cta_area .inner {
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .footer--cta_area .inner::after {
    content: '';
    position: absolute;
    right: -226px;
    bottom: 0;
    z-index: 0;
    width: 272px;
    height: 269px;
    background-image: url(../images/img_cta_woman.png);
  }
  .footer--cta_area-btn,
  .footer--cta_area-tel {
    flex-shrink: 0;
    margin-left: 16px;
  }
  .footer--cta_area-tel,
  .footer--cta_area-tel a {
    color: #ff9600;
  }
  .footer--cta_area-tel {
    padding-bottom: 16px;
    border: 1px solid #ff9600;
    border-radius: 4px;
  }
  .txt {
    max-width: 100%;
  }
  .footer--cta_area-tel a {
    padding: 16px 24px 0;
  }
  .footer--cta_area-tel path {
    fill: #ff9600;
  }
  @media screen and (max-width: 1500px) {
    .footer--cta_area .inner::after {
      right: -160px;
      width: 202px;
      height: 200px;
      background-size: cover;
    }
  }
  @media screen and (max-width: 1300px) {
    .footer--cta_area .inner::after {
      display: none;
    }
    .footer--cta_area-tel {
      margin-right: 80px;
    }
  }
  @media screen and (max-width: 767px) {
    .footer--cta_area .inner {
      padding-bottom: 16px;
    }
    .footer--cta_area .inner::after {
      right: 0;
    }
    .footer--cta_area .section_ttl {
      margin-bottom: 42px;
    }
    .footer--cta_area .section_ttl-balloon {
      left: -16px;
    }
    .footer--cta_area .box {
      padding: 12px 16px 24px 16px;
      margin-bottom: 40px;
    }
    .footer--cta_area .box:nth-of-type(2) {
      margin-bottom: 0;
    }
    .footer--cta_area-btn,
    .footer--cta_area-tel {
      margin-top: 10px;
      margin-left: 0;
    }
    .footer--cta_area-tel {
      width: 100%;
      margin-right: 0;
      padding-bottom: 10px;
    }
    .footer--cta_area-tel .tel_num a {
      display: block;
      padding: 10px 10px 0;
      font-size: 250%;
    }
    .footer--cta_area-tel svg {
      width: 35px;
    }
    .footer--cta_area .heading-2 {
      font-size: 130%;
    }
  }

/* footer--main
*************************************************** */
  .footer--main {
    margin-right: 64px;
  }

  @media screen and (max-width: 767px) {
    .footer--main {
      margin-right: 0;
      margin-bottom: 8px;
      text-align: left;
      width: 100%;
    }
  }

/* footer--nav
*************************************************** */
  .footer--nav li {
    margin-right: 12px;
    width: 186px;
    max-width: 15%;
  }
  .footer--nav a {
    display: inline-block;
    border-bottom: 1px solid #ddd;
    padding-left: 5px;
    font-size: 120%;
    padding-bottom: 10px;
    line-height: 1em;
    width: 100%;
  }
  .footer--nav .contact a {
    border-bottom: 1px solid #FF9600;
    color: #FF9600;
  }
  .sub-nav {
    padding-top: 24px;
  }
  .sub-nav li {
    width: 100%;
    display: block;
    padding-left: 21px;
    max-width: calc(100% - 21px);
    margin-right: 0;
    margin-bottom: 16px;
  }
  .sub-nav li a {
    padding-left: 0;
    border-bottom: none;
    padding-bottom: 0;
    font-size: 95%;
    position: relative;
  }
  .sub-nav li a::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 0 8px 8px;
    border-color: transparent transparent transparent #009DB3;
    left: -16px;
    top: -1px;
  }
  .footer--nav li:last-child {
    margin-right: 0;
  }
  .footer--nav a:hover {
    opacity: .6;
  }

  @media screen and (max-width: 767px) {
    .footer--nav {
      margin-bottom: 0;
    }
    .footer--nav ul {
      width: 100%;
    }
    .footer--nav li {
      width: 100%;
      max-width: 100%;
      margin-bottom: 8px;
    }
    .sub-nav li a::before {
      top: 6px;
      border-width: 4px 0 4px 4px;
    }
    .sub-nav {
      padding-top: 8px;
    }
    .sub-nav li {
      margin-bottom: 8px;
    }
    .footer--nav a {
      width: 100%;
      padding: 4px;
      margin-right: 0;
    }
  }

/* footer--cta
*************************************************** */
  .footer--contact {
    margin-bottom: 16px;
    font-size: 107%;
  }
  .footer--tel {
    font-size: 147%;
    line-height: 1.4;
  }
  .footer--tel small {
    font-size: 59%;
  }

/* footer--sub_nav
*************************************************** */
  .footer--sub_nav {
    padding: 8px 0;
    background-color: #eee;
  }
  .footer--copyright {
    text-align: center;
    color: #fff;
  }
  .pbl {
    margin-right: 16px;
    text-align: center;
    opacity: .5;
  }

  @media screen and (max-width: 767px) {
    .footer--sub_nav .flex-j-end {
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .footer--copyright {
      font-size: 80%;
    }
  }


/* ##############################################################################

    INDEX

############################################################################## */

/* hero
*************************************************** */
  .hero {
    position: relative;
    overflow: hidden;
    height: 500px;
    padding-top: 16px;
    background-color: #5baeb4;
    background-image: -moz-radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 100%);
    background-image: -webkit-radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 100%);
    background-image: radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 100%);
  }
  .hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 112px;
    background-image: url(../images/bg_section_circle.svg);
    background-position: center;
    pointer-events: none;
  }
  .hero > .inner {
    height: 100%;
    max-width: 1100px;
  }
  .hero--txtarea {
    position: relative;
    -webkit-flex: 1px;
    -ms-flex: 1px;
    flex: 1px;
  }
  .hero--txtarea::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: -20px;
    display: block;
    width: 160px;
    height: 240px;
    background-image: url(../images/img_hero_woman.png);
    background-size: cover;
  }
  .hero--txtarea-btm {
    max-width: 490px;
    margin-left: 24px;
  }
  .hero--example {
    padding: 8px 16px;
    line-height: 1;
    background-color: #fff;
    border-radius: 50px;
  }
  .hero--note {
    letter-spacing: 0;
    font-size: 90%!important;
  }
  .hero--ttl-award {
    margin-right: 8px;
    min-width: 130px;
  }
  .main_ttl_fukidasi01 {
    margin-right: 8px;
    max-width: 108px;
  }
  .main_ttl_price {
    max-width: 273px;
  }
  .hero--ttl-main {
    max-width: 305px;
  }
  .hero--ttl-tb {
    display: inline-block;
    max-width: 278px;
  }
  .hero--ttl-tb.pc-none {
    display: none;
  }
  .hero--ttl-pc {
    display: none;
  }
  .hidden-txt {
    display: none;
    position: absolute;
    width: 100%;
    background: #fff;
    left: 0;
    top: 50px;
    z-index: 9990;
    color: #333;
    text-align: left;
    font-size: 100%;
    line-height: 1.4em;
    padding: 8px;
    transition: .4s all ease;
  }
  .hidden-txt::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8px 13.9px 8px;
    border-color: transparent transparent #ffffff transparent;
    top: -8px;
    right: 32px;
  }
  .hidden-txt.show {
    display: block;
  }
  a.hero-easymodal {
    color: #fff;
    font-weight: 600;
  }

  @media screen and (max-width: 1366px) {
    .hero--txtarea::after {
      width: 198px;
      height: 297px;
      background-size: cover;
    }
  }
  @media screen and (max-width: 1280px) {
    .hero--ttl-tb {
      display: inline-block;
    }
    .hero--txtarea-btm {
      margin-left: 0;
    }
  }
  @media screen and (max-width: 1280px) and (min-width: 768px) {
    .hero {
      height: 430px;
    }
    .hero--ttl-award {
      width: 120px;
      margin-bottom: 16px;
    }
    .hero--ttl-inner {
      display: block;
    }
    .hero--ttl-tb {
      width: 300px;
      margin-left: 10px;
    }
    .hero--ttl-main {
      width: 380px;
    }
    .main_ttl_fukidasi01 {
      width: 90px;
    }
    .main_ttl_price {
      width: 290px;
    }
  }
  @media screen and (max-width: 1090px) {
    .hero--txtarea::after {
      right: -40px;
      width: 148px;
      height: 222px;
    }
  }
  @media screen and (max-width: 1000px) {
    .hero--txtarea::after {
      display: none;
    }
  }
  @media screen and (max-width: 767px) {
    .hero {
      height: auto;
    }
    .hero::after {
      height: 36px;
      background-image: url(../images/bg_section_circle-sp.svg);
    }
    .hero > .inner {
      display: block;
    }
    .hero--example {
      font-size: 92%!important;
    }
    .hero--ttl {
      margin-bottom: 16px;
    }
    .hero--ttl-award {
      width: 30%;
      min-width: 75px;
    }
    .hero--ttl-tb {
      max-width: 240px;
    }
    .hero--ttl-tb.pc-none {
      display: none!important;
    }
    .hero--ttl-main {
      max-width: 240px;
    }
    .main_ttl_fukidasi01 {
      width: 30%;
    }
    .main_ttl_price {
      width: 50%;
    }
    .hero--note {
      font-size: 85%;
    }
  }

/* search_box
*************************************************** */
  input[type="text"] {
    padding: 0;
    outline: none;
    background: none;
  }
  select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    background: transparent;
  }
  button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
  }
  .search_box input,
  .search_box select {
    width: 160px;
    height: 38px;
    padding: 6px 8px;
    line-height: 1;
    border: 1px solid #999;
    border-radius: 2px;
  }
  .hero--search_box {
    margin-top: 34px;
    margin-left: auto;
    margin-right: 0;
    box-shadow: 2px 0 5px rgba(67,67,64,.3);
  }
  .search_box {
    padding-left: 32px;
    padding-right: 32px;
  }
  .search_box--ttl {
    position: absolute;
    top: 50%;
    color: #355282;
    font-weight: bold;
    transform: translateY(-50%);
  }
  .search_box--cont {
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 160px;
  }
  .search_box--select::after {
    content: '';
    position: absolute;
    top: 20px;
    right: 10px;
    display: block;
    border-style: solid;
    border-width: 5px 4px 0 4px;
    border-color: #999 transparent transparent transparent;
  }
  @media screen and (max-width: 1600px) {
    .hero--search_box {
      margin-right: 0;
    }
  }
  @media screen and (max-width: 1400px) {
    .hero--search_box {
      margin-right: 0;
    }
  }
  @media screen and (max-width: 767px) {
    .hero--search_box {
      padding-bottom: 40px;
      margin-top: 0;
    }
    .search_box {
      padding-left: 16px;
      padding-right: 16px;
    }
    .search_box--ttl {
      font-size: 90%;
    }
    .search_box--cont {
      padding-left: 160px;
    }
    .search_box--select::after {
      right: 16px;
    }
    .search_box input, .search_box select {
      width: 100%;
    }
  }

/* hero--btm
*************************************************** */
  .hero--btm {
    padding-top: 0;
    padding-bottom: 40px;
  }
  .hero--btm .inner {
    max-width: 840px;
  }
  .hero--btm-txt {
    position: absolute;
    top: -24px;
    left: -56px;
    max-width: 80px;
  }
  .hero--btm-balloon {
    position: relative;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 24px;
    padding: 8px 16px;
    font-size: 115%;
    line-height: 1.66;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 0 7px rgba(64,121,125,.25), 0 0 10px rgba(64,121,125,.25);
  }
  .hero--btm-balloon::before {
    content: '';
    position: absolute;
    top: calc(50% - 32px / 2);
    left: -31px;
    display: block;
    width: 31px;
    height: 32px;
    background-image: url(../images/hero--btm-balloon.png);
  }
  @media screen and (max-width: 1140px) {
    .hero--btm-lft {
      padding-left: 32px;
    }
    .hero--btm-txt {
      left: -30px;
    }
    .hero--btm-balloon {
      font-size: 130%;
    }
  }
  @media screen and (max-width: 767px) {
    .hero--btm-lft {
      padding-left: 0;
      text-align: center;
      padding-top: 24px;
    }
    .hero--btm-txt {
      top: -40px;
      left: 8px;
    }
    .hero--btm {
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .hero--btm-balloon {
      margin-top: 0;
      margin-left: 20px;
      padding: 8px;
      font-size: 93%;
    }
    .hero--btm-balloon::before {
      top: 10px;
      bottom: auto;
      left: -30px;
    }
  }

/* home_comparison--top
*************************************************** */
  .home_comparison {
    padding-top: 30px;
  }
  .home_comparison--top .inner-lg {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: calc(100% - 100px);
  }
  .home_comparison--top h2 {
    margin-top: -80px;
  }
  .slide-comparison {
    margin-left: -27px;
  }
  .slide-comparison img {
    width: 100px!important;
    margin-left: 27px;
  }
  @media screen and (max-width: 767px) {
    .home_comparison {
      padding-top: 70px;
    }
    .home_comparison--top .inner-lg {
      max-width: 90%;
    }
    .slide-comparison {
      margin-left: -16px;
    }
    .slide-comparison img {
      margin-left: 16px;
    }
  }

/* home_comparison--btm
*************************************************** */
  .home_comparison--btm .heading-3 {
    margin-bottom: 8px;
  }
  .home_comparison--btm .btn a {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    min-width: auto;
    height: 80px;
    padding: 8px 20px;
  }
  .home_comparison--btm .btn a p {
    font-size: 80%;
  }
  .home_comparison--btm .btn a::before {
    right: 10px;
  }
  @media screen and (max-width: 767px) {
    .home_comparison--btm .btn a {
      height: 64px;
      padding: 10px 26px;
    }
    .home_comparison--btm .btn a img {
      margin-bottom: 2px;
      max-width: 120px;
    }
    .rec-list li {
      width: calc(50% - 8px)!important;
      margin-top: 0!important;
      margin-bottom: 8px;
      margin-right: 4px;
    }
  }

/* home_comparison--comment
*************************************************** */
  .home_comparison--comment {
    padding-top: 16px;
    padding-bottom: 16px;
    background-color: #7fced9;
  }
  .home_comparison--comment .heading-2 {
    margin-bottom: 8px;
    font-size: 150%;
  }
  .home_comparison--comment img {
    flex-shrink: 0;
    max-width: 207px;
    margin-right: 32px;
  }
  @media screen and (max-width: 767px) {
    .home_comparison--comment img {
      max-width: 117px;
      margin-right: 0;
      margin-bottom: 24px;
    }
  }

/* home_recommend--top
*************************************************** */
  .home_recommend {
    padding-top: 24px;
  }
  .home_recommend .section_ttl {
    margin-bottom: 0;
    font-size: 200%;
  }
  .home_recommend--top .inner {
  }
  .home_recommend--top {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 32px;
  }
  .slide-recommend .slick-track {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
  }
  .slide-recommend .slick-slide {
    margin-left: 30px;
    height: auto;
    margin-bottom: 24px;
  }
  .slide-recommend .slick-list {
    position: relative;
    overflow: visible !important;
    margin-left: -30px;
    padding-top: 20px;
  }
  .slide-recommend .slick-slide:not(.slick-active) {
    /*opacity: .6;*/
  }

/* home_recommend--info
*************************************************** */
  .home_recommend--info .inner {
    max-width: 800px;
    padding-bottom: 40px;
  }
  .home_recommend--info .inner::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: -170px;
    display: block;
    width: 225px;
    height: 337px;
    background-image: url(../images/img_hero_woman.png);
  }
  .home_recommend--info .heading-1 {
    color: #009DB3;
    line-height: 1.5;
  }
  .home_recommend--info .heading-1 small {
    display: block;
    color: #333;
    font-size: 69%;
  }
  .home_recommend--info-icon li {
    width: 96px;
    height: 96px;
    color: #fff;
    font-size: 120%;
    line-height: 1.4em;
    letter-spacing: 0;
    background-color: #009db3;
    border-radius: 50%;
  }
  .home_recommend--info-icon li:not(:last-child) {
    margin-right: 8px;
  }
  .home_recommend--info .btn a {
    min-width: 400px;
  }
  @media screen and (max-width: 1200px) {
    .home_recommend--info .inner::after {
      right: 0;
      width: 170px;
      height: 255px;
      background-size: cover;
    }
  }
  @media screen and (max-width: 767px) {
    .home_recommend--info .inner::after {
      right: 10px;
      bottom: 70px;
      width: 119px;
      height: 178px;
      background-size: cover;
    }
    .home_recommend--info-icon {
      width: 50%;
    }
    .home_recommend--info-icon li {
      width: 64px;
      height: 64px;
      font-size: 120%;
      margin-bottom: 8px;
    }
    .home_recommend--info-icon li:not(:last-child) {
      margin-right: 8px;
    }
    .home_recommend--info-icon li:nht-child(2n) {
      margin-right: 0;
    }
    .home_recommend--info .btn a {
      position: relative;
      z-index: 1;
      min-width: auto;
    }
  }

/* home_market_price
*************************************************** */
  .home_market_price .btn a {
    min-width: 560px;
  }
  .home_market_price .table_line th,
  .home_market_price .table_line td {
    padding: 16px 8px;
    font-size: 120%;
    line-height: 1.3;
  }
  .home_market_price .table_line th {
    font-weight: normal;
  }
  .home_market_price .table_line tbody th {
    width: 170px;
    text-align: left;
    background-color: #f4f4f4;
  }
  .home_market_price .table_line th,
  .home_market_price .table_line td {
    padding-left: 16px;
    padding-right: 16px;
    letter-spacing: .03em;
  }
  .home_market_price .table_line td .txt-red {
    font-weight: bold;
  }
  @media screen and (max-width: 767px) {
    .home_market_price .table_line thead {
      display: none;
    }
    .home_market_price .table_line th,
    .home_market_price .table_line td {
      padding: 8px;
      font-size: 110%;
      border-bottom: none;
    }
    .home_market_price .table_line tbody {
      border-bottom: 1px solid #ccc;
    }
    .home_market_price .table_line tbody th,
    .home_market_price .table_line tbody td {
      display: block;
      width: 100%;
      text-align: center;
    }
    .home_market_price .table_line td::before {
      content: attr(data-label);
      display: block;
      margin-bottom: 4px;
      color: #999;
      font-size: 80%;
      text-align: center;
    }
    .home_market_price .btn a {
      min-width: auto;
    }
  }

/* home_reason
*************************************************** */
  .home_reason .inner-sm {
    width: 1000px;
  }
  .home_reason .section_ttl {
    margin-bottom: 0;
  }
  .home_reason .heading-2 {
    margin-bottom: 8px;
    letter-spacing: 0;
  }
  .home_reason .btn a {
    min-width: 400px;
  }
  .home_reason--img {
    max-width: 384px;
    min-width: 384px;
    padding: 8px;
    border: 1px solid #ccc;
    margin-right: 40px;
  }
  .home_reason--txt {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
  .home_reason--points li {
    padding: 16px;
    font-size: 100%;
    line-height: 1.2;
  }
  .home_reason--points li span {
    font-size: 130%!important;
    font-weight: bold;
  }
  .home_reason--points li:not(:last-child) {
    margin-bottom: 10px;
  }

  /* --- home_reason--indemnify --- */
  .home_reason--indemnify {
    padding: 8px 24px 16px 24px;
    background-color: #f4f4f4;
  }
  .home_reason--indemnify .heading-2 {
    margin-bottom: 0;
    color: #333;
  }
  .home_reason--indemnify .heading-2 small {
    position: relative;
    top: -16px;
    display: inline-flex;
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    margin-right: 16px;
    color: #fff;
    font-size: 56%;
    background-color: #f15c5c;
    border-radius: 50%;
  }
  .home_reason--indemnify .heading-2 small::after {
    content: '';
    position: absolute;
    bottom: 1px;
    right: 1px;
    display: block;
    border-style: solid;
    border-width: 14px 5px 0 5px;
    border-color: #f15c5c transparent transparent transparent;
    transform: rotate(-45deg);
  }
  .indemnify_list li {
    width: calc(14.285% - 11px);
    max-width: 136px;
    margin-right: 12px;
    margin-bottom: 12px;
  }
  .indemnify_list li:nth-child(7n) {
    margin-right: 0;
  }
  .indemnify_list a {
    position: relative;
    padding: 8px 6px 24px 6px;
    color: #fff;
    line-height: 1;
    letter-spacing: .03em;
    border-radius: 4px;
    background-color: #5baeb4;
  }
  .indemnify_list li:nth-child(2n) a {
    background-color: #009db3;
  }
  .indemnify_list a::after {
    content: '';
    position: absolute;
    bottom: 8px;
    left: calc(50% - 12px / 2);
    display: block;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #fff transparent transparent transparent;
  }
  .choose-ranking,
  .choose-type,
  .insuranceCom_list {
    background: #fff;
    padding: 24px 16px;
  }
  .choose-type--box {
    border: 1px solid #ccc;
  }
  .archive-ranking .container .inner,
  .single-ranking .container .inner {
    max-width: 1100px;
  }
  .single-knowledge .container .inner,
  .single-accident .container .inner {
    max-width: 1200px!important;
  }
  .archive-knowledge .container .inner {
    max-width: 1100px;
  }

  @media screen and (max-width: 1200px) and (min-width: 768px) {
    .indemnify_list li {
      width: calc(14.285% - 3.5px);
      max-width: 136px;
      margin-right: 4px;
      margin-bottom: 4px;
      font-size: 100%;
    }
  }
  @media screen and (max-width: 767px) {
    .home_reason--img {
      width: 100%;
      min-width: 95%;
      max-width: 95%;
      margin-right: auto;
      margin-left: auto;
      margin-bottom: 16px;
    }
    .home_reason .btn a {
      min-width: auto;
    }
    .home_reason .inner-sm {
      width: 90%;
    }

    /* --- home_reason--indemnify --- */
    .home_reason--indemnify {
      padding: 8px 16px 24px;
    }
    .home_reason--indemnify .heading-2 small {
      position: absolute;
      top: -40px;
      left: -20px;
      width: 42px;
      height: 42px;
    }
    .indemnify_list li,
    .indemnify_list li:nth-child(7n) {
      width: calc(50% - 3px);
      margin-right: 6px;
      margin-bottom: 6px;
    }
    .indemnify_list li:nth-child(2n) {
      margin-right: 0;
    }
    .indemnify_list a {
      padding: 9px 6px 21px 6px;
    }
  }

/* home_choose
*************************************************** */

  /* --- choose-type --- */
  .choose-type--box {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 40px;
    padding-right: 40px;
  }
  .choose-type--box .heading-3 {
    margin-bottom: 16px;
    font-size: 130%;
  }
  .choose-type--box-txt {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  /* --- insuranceCom_list --- */
  .insuranceCom_list .heading-2 {
    margin-bottom: 8px;
    color: #333;
  }
  .insuranceCom_list .box {
    padding: 16px;
    border: 1px solid #ccc;
  }
  .insuranceCom_list .box::after {
    content: '';
    position: absolute;
    right: 24px;
    bottom: 0;
    display: block;
    width: 96px;
    height: 177px;
    background-image: url(../images/img_tencho02.png);
    background-size: cover;
  }
  .insuranceCom_list--rank .btn a {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    min-width: 240px;
    height: 80px;
    padding: 12px 26px;
  }
  .insuranceCom_list--num {
    flex-shrink: 0;
    margin-right: 16px;
    font-size: 167%;
    line-height: 1em;
    font-weight: bold;
    margin-bottom: 8px;
    margin-top: 8px;
  }
  .insuranceCom_list--num .font-en {
    font-size: 117%
  }
  .insuranceCom_list--rank li {
    margin-right: 48px;
  }
  @media screen and (max-width: 767px) {
    /* --- choose-type --- */
    .choose-type--box {
      padding-left: 16px;
      padding-right: 16px;
    }
    .choose-type--box img {
      margin-top: 16px;
      margin-bottom: 16px;
    }

    /* --- insuranceCom_list --- */
    .insuranceCom_list .box {
      padding: 16px;
    }
    .insuranceCom_list .box::after {
      display: none;
    }
    .insuranceCom_list--num {
      font-size: 130%;
    }
    .insuranceCom_list--rank .btn a {
      min-width: auto !important;
      height: 75px;
      padding: 8px;
    }
    .insuranceCom_list--rank .btn img {
      width: 100px;
      height: auto;
      object-fit: contain;
    }
    .insuranceCom_list--rank li {
      margin-right: 0;
      margin-top: 0!important;
      width: 50%!important;
    }
  }

/* home_knowledge
*************************************************** */
  .home_knowledge .inner {
    max-width: 1200px;
  }
  .slide-knowledge .slick-track {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
  }
  .slide-knowledge .slick-list {
    position: relative;
    overflow: visible !important;
    margin-left: -16px;
  }
  .slide-knowledge .slick-slide {
    height: auto;
    margin-left: 16px;
    margin-right: 0;
  }
  @media screen and (max-width: 767px) {
    .slide-knowledge .slick-list {
      margin-left: 10px;
    }
    .slide-knowledge .slick-slide {
      margin-left: 10px;
    }
  }

/* home_case
*************************************************** */
  .home_case .section_ttl {
    letter-spacing: .05em;
  }
  .home_case .section_ttl small {
    font-size: 80%;
  }
  .home_case .heading-2 {
    margin-bottom: 16px;
  }
  .case_study--child {
  }
  .case_study--img {
    height: 199px;
  }
  .case_study--txt {
    letter-spacing: 0;
    line-height: 1.5;
  }
  @media screen and (max-width: 767px) {
    .case_study--img {
      height: 130px;
    }
    .case_study--img img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .case_study li {
      width: calc(50% - 4px);
    }
    .case_study li:nth-child(2n) {
      margin-right: 0;
    }
  }

/* home_info
*************************************************** */
  .home_info .heading-2 {
    margin-bottom: 16px;
    color: #333;
    font-size: 154%;
  }
  .home_info .wrapper {
    background: #fff;
    padding: 16px;
  }
  .home_info .wrapper li {
    margin-right: 8px;
  }
  .home_info .wrapper .btn a {
    min-width: 160px;
  }

/* home_news
*************************************************** */
  .home_news .heading-3 {
    margin-bottom: 0;
    font-size: 120%;
  }
  .home_news .post {
    padding: 16px 0;
    font-weight: normal;
    border-bottom: 1px solid #ddd;
  }
  .home_news .post a {
    display: block;
    letter-spacing: 0;
  }
  .home_news .post--date {
    flex-shrink: 0;
    margin-right: 20px;
  }
  .home_news--more a {
    position: relative;
    color: #009db3;
    padding-right: 30px;
    line-height: 1;
    display: block;
    padding-top: 4px;
    padding-bottom: 4px;
  }
  .home_news--more a::before,
  .home_news--more a::after {
    content: '';
    display: block;
    position: absolute;
  }
  .home_news--more a::before {
    top: calc(50% - 24px / 2);
    right: 0;
    width: 24px;
    height: 24px;
    border-radius: 4px;
    background-color: #009db3;
  }
  .home_news--more a::after {
    top: calc(50% - 12px / 2);
    right: 8px;
    border-style: solid;
    border-width: 6px 0 6px 6px;
    border-color: transparent transparent transparent #fff;
  }
  @media screen and (max-width: 767px) {
    .home_news .heading-3 br {
      display: none;
    }
    .home_news .post {
      padding: 8px 0;
    }
    .home_news .post--date {
      font-size: 80%;
      padding-left: 0;
    }
    .home_news .post--ttl {
      font-size: 100%;
    }
    .home_news--more {
      margin-top: 8px;
    }
    .home_news--more a {
      padding-top: 8px;
      padding-bottom: 8px;
      text-align: right;
    }
  }


/* ##############################################################################

    PAGE

############################################################################## */

/* flow
*************************************************** */
  .page-flow .main_column {
    padding-bottom: 80px;
  }
  .flow-lists {
    counter-reset: num 0;
  }
  .flow-list {
    position: relative;
    border: solid 1px #000;
    counter-increment: num;
  }
  .flow-list:not(:last-child) {
    margin-bottom: 80px;
  }
  .flow-list:not(:last-child)::before,
  .flow-list:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
  }
  .flow-list:not(:last-child)::before {
    width: 1px;
    height: 24px;
    background-color: #0C0431;
    bottom: -52px;
  }
  .flow-list:not(:last-child)::after {
    width: 17px;
    height: 17px;
    bottom: -50px;
    border-top: 1px solid #0C0431;
    border-right: 1px solid #0C0431;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .flow-list .imgarea {
    width: 320px;
    background-size: cover;
    background-position: center;
  }
  #flow-01 .imgarea { background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY); }
  #flow-02 .imgarea { background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY); }
  #flow-03 .imgarea { background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY); }
  #flow-04 .imgarea { background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY); }
  #flow-05 .imgarea { background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY); }
  .flow-list .txtarea {
    width: calc(100% - 320px);
    padding: 64px;
  }
  .flow-list .txtarea h3::before {
    content: counter(num, decimal-leading-zero) '. ';
  }

  /* --- fixside --- */
  .fixside li {
    counter-increment: num;
  }
  .fixside a::before {
    content: counter(num, decimal-leading-zero) '. ';
  }
  .fixside a.active {
    color: #DE6800;
    transform: translateX(8px);
    display: inline-block;
  }

  @media screen and  (max-width: 767px) {
    .page-flow .main_column,
    .page-flow .side_column {
      padding-bottom: 40px;
    }
    .flow-list .imgarea {
      width: 100%;
      height: 200px;
    }
    .flow-list .txtarea {
      width: 100%;
      padding: 24px;
    }
  }


/* ##############################################################################

    ARCHIVE

############################################################################## */

/* main_column
**************************************** */
  .main_column {
    flex: 1;
    /* margin-right: 80px; */
  }
  .single-knowledge .main_column,
  .single-accident .main_column {
    margin-right: 40px;
    max-width: 960px;
  }


  /* --- post --- */
  .post {
    position: relative;
    background: #fff;
  }
  .post--link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }
  .post--date {
    color: #aaa;
    font-size: 87%;
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 1em;
  }
  .single .post--date {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
  .cat_list {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  .post .post--img img {
    overflow: hidden;
    border-radius: 3px;
  }
  .cat_list a {
    display: inline-block;
    float: left;
    margin-right: 4px;
    margin-bottom: 4px;
    padding: 5px 12px;
    color: #f6f6f6;
    font-weight: bold;
    font-size: 80%;
    line-height: 1;
    vertical-align: middle;
    background-color: #009db3;
    border-radius: 4px;
    white-space: nowrap;
  }

  .post--ttl {
    line-height: 1.1em;
  }

  @media screen and (max-width: 1200px) {
    .main_column {
      width: 100%;
      min-width: 100%;
      margin-right: 0;
    }
  }

/* side_column
**************************************** */
  .side_column { width: 264px; }
  .side_section:not(:last-child) { margin-bottom: 16px; }
  .side--ttl {
    font-size: 100%;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 0;
    padding: 16px 8px;
    background: #333;
    color: #fff;
  }
  @media screen and (max-width: 1200px) {
    .side_column {
      display: none;
    }
  }

  /* --- post --- */
  .posts-side .post:not(:last-child) {
    padding-bottom: 8px;
    margin-top: 16px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 16px;
  }
  .posts-side .post {
    padding-left: 8px;
    font-size: 90%;
  }
  .posts-side .post--img {
    margin-right: 16px;
    border-radius: 3px;
    width: 64px;
    height: 64px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .posts-side .txtarea { flex: 1; }
  .posts-side .post--date { margin-bottom: 0; }
  .posts-side .post--ttl { line-height: 1.4; }

  /* --- archive --- */
  .side_column .archive_list--ttl {
    margin-bottom: 4px;
    cursor: pointer;
  }
  .side_column .archive_list--ttl::after {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: translateY(-2px) rotate(135deg);
    transition: .4s ease-out;
  }
  .side_column .archive_list--ttl.active::after { transform: translateY(2px) rotate(-45deg); }
  .side_column .archive_month { display: none; }

  @media screen and (max-width: 1100px) {
    .side_column { width: 100%; }
  }

  /* --- archive-pulldown --- */
  .archive-pulldown {
    position: relative;
    margin-left: auto;
    z-index: 1;
  }
  .archive-pulldown .archive_list {
    position: relative;
    font-size: 92%;
  }
  .archive-pulldown .archive_list:not(:last-child) { margin-right: 24px; }
  .archive-pulldown .archive_list a {
    display: block;
    padding: 2px 16px;
    text-align: left;
  }
  .archive-pulldown .archive_list a:not(:last-child) { border-bottom: 1px solid #eee; }
  .archive-pulldown .archive_list--label { margin-right: 8px; }
  .archive-pulldown .archive_list--btn {
    cursor: pointer;
    border: none;
    outline: none;
    appearance: none;
    padding: 8px 54px 8px 32px;
    background-color: #fff;
    border: 1px solid #ccc;
  }
  .archive-pulldown .archive_list--btn::after {
    content: '';
    position: absolute;
    top: 9px;
    right: 10px;
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
    transition: .2s ease-out;
    transform-origin: 50% 50%;
  }
  .archive-pulldown .active .archive_list--btn::after {
    top: 14px;
    transform: rotate(225deg);
  }
  .archive-pulldown .archive_list--menu {
    position: absolute;
    z-index: 1;
    width: 100%;
    background-color: #fff;
    border: 1px solid #ccc;
    visibility: hidden;
    opacity: 0;
    transition: .2s ease-out;
  }
  .archive-pulldown .active .archive_list--menu {
    visibility: visible;
    opacity: 1;
  }
  @media screen and (max-width: 767px) {
    .single-knowledge .container .inner,
    .single-accident .container .inner {
      max-width: 95%;
      width: 95%;
      display: block;
    }
    .side_column {
      display: block;
      width: 100%;
    }
  }

/* post
**************************************** */
  .post .heading-2 {
    margin-bottom: 16px;
    font-size: 120%;
  }

/* product
**************************************** */
  .post.prod {
    border: 1px solid #009DB3;
    border-radius: 8px;
    box-shadow: 2px 2px 2px 1px rgba(0,0,0,.15);
    max-width: 320px;
  }
  .post.prod form {
    height: 0;
  }
  .post.prod img {
    display: inline-block;
  }
  .prod--label {
    position: absolute;
    top: -20px;
    right: 0;
    display: -webkit-inline-flex;
    display: -ms-inline-flex;
    display: inline-flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 64px;
    height: 64px;
    line-height: 1.3;
    border-radius: 50%;
    background-color: #f15c5c;
  }
  .prod--head {
    padding: 6px;
    background-color: #d9f0f4;
    border-radius: 8px 8px 0 0;
  }
  .prod--head .heading-2 {
    margin-bottom: 0;
    padding: 0;
    font-size: 125%;
    line-height: 1.4em;
  }
  .category_list li {
    margin-right: 4px;
    padding: 5px 12px;
    color: #fff;
    font-size: 106%;
    font-weight: bold;
    line-height: 1;
    background-color: #ccc;
  }
  .category_list li.compensation {
    background-color: #00b3e6;
  }
  .category_list li.object {
    background-color: #ff7849;
  }
  .category_list li.injury {
    background-color: #4db600;
  }
  .prod--dtl {
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 16px;
  }
  .prod--img {
    padding-top: 8px;
    padding-bottom: 8px;
    margin-bottom: 0;
  }
  .prod--img img {
    width: 110px;
  }
  .post_com {
    min-height: 56px;
    border: 1px solid #ddd;
    border-radius: 4px;
  }
  .insurance_fee {
    padding-top: 8px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
  }
  .archive .insurance_fee {
    font-size: 95%;
  }
  .discount_rate,
  .year_Insurance_fee {
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
  }
  .discount_rate {
    flex-shrink: 0;
    margin-bottom: 8px;
    margin-right: 8px;
    padding: 2px;
    color: #f15c5c;
    font-size: 266%;
    border: 1px solid #f15c5c;
    border-radius: 4px;
  }
  .discount_rate--jp {
    margin-bottom: 2px;
  }
  .discount_rate--jp:first-child {
    text-align: right;
  }
  .discount_rate--num {
    line-height: .9;
  }
  .discount_rate small {
    font-size: 36%;
  }
  .year_Insurance_fee {
    margin-bottom: 8px;
    color: #ff9600;
    font-size: 240%;
  }
  .year_Insurance_fee .txt-sm {
    font-size: 60%;
  }
  .year_Insurance_fee small {
    font-size: 45%;
  }
  .prod--txtarea {
    text-align: justify;
    line-height: 1.5em;
    font-size: 86%;
    margin-bottom: 16px;
  }
  .home .prod--btn {
    display: none;
  }
  .archive .post.prod {
    max-width: calc(33% - 16px);
    display: block;
    margin-right: 8px;
    min-width: calc(33% - 16px);
    margin-left: 8px;
    padding-bottom: 64px;
  }
  .archive button.post--link  {
    padding: 0;
    border: 0;
    background: transparent;
  }
  .btn_wrapper {
    position: absolute;
    bottom: 24px;
    width: 100%;
  }
  .btn_wrapper .btn a,
  .btn_wrapper .btn button {
    min-width: 140px;
    max-width: 140px;
    padding: 12px 0;
  }
  .btn_wrapper .btn button {
    margin-left: 4px;
  }
  .btn_wrapper .btn form {
    height: auto;
  }
  .btn_wrapper .flex .btn + .btn {
    margin-top: 0;
  }
  @media screen and (max-width: 1100px) {
    .btn_wrapper .btn a,
    .btn_wrapper .btn button {
      min-width: 110px;
      max-width: 110px;
      padding: 12px 0;
    }
    .archive-product .btn_wrapper .btn a::before {
      display: none;
    }
  }
  @media screen and (max-width: 767px) {
    .category_list li {
      font-size: 100%;
    }
    .prod--dtl {
      padding-left: 16px;
      padding-right: 16px;
    }
    .prod--img {
      padding-top: 8px;
      padding-bottom: 8px;
    }
    .discount_rate,
    .year_Insurance_fee {
      font-size: 220%;
    }
    .post.prod {
      width: 100%;
      max-width: 100%;
    }
    .archive .post.prod {
      max-width: 100%;
      min-width: 100%;
      margin-left: 0;
      margin-right: 0;
    }
    .archive .post.prod .prod--dtl {
      padding-left: 8px;
      padding-right: 8px;
    }
    .archive .post.prod {
      padding: 0;
    }
    .btn_wrapper {
      position: relative;
    }
    .btn_wrapper .btn:nth-of-type(2) {
      margin-top: 0;
    }
    .btn_wrapper .btn a,
    .btn_wrapper .btn input {
      height: 40px;
      padding: 11px 0;
    }
  }

/* blog
**************************************** */
  .posts-blog .post {
    padding-bottom: 48px;
    padding-top: 48px;
    padding-left: 64px;
    padding-right: 32px;
    border: 4px solid #e5e5e5;
    position: relative;
    overflow: hidden;
  }
  .archive-accident .posts-blog .post {
    border: 0;
    margin-bottom: 40px;
    background: #fff;
    box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
  }
  .archive-accident .posts-blog .post .heading-2 {
    color: #355282;
  }
  .posts-blog .post--txtarea {
    flex: 1;
    padding-left: 320px;
  }
  .posts-blog .post--date {
    margin-right: 16px;
    font-weight: bold;
    margin-bottom: 4px;
  }
  .posts-blog .post--img {
    padding-right: 0;
    position: absolute;
    width: 320px;
    height: 400px;
    background-size: cover!important;
    left: 0;
    top: -48px;
    background-position: top center!important;
  }
  .posts-blog .post--img img {
    width: 280px;
    height: auto;
  }
  .posts-blog .post--img.no-image,
  .posts-side .post--img.no-image {
    background-color: #eee;
  }
  .blog--info {
    margin-bottom: 88px;
  }
  .fukidashi {
    background: #fff;
    font-weight: bold;
    position: relative;
    padding: 16px;
    border-radius: 14px;
  }
  .tender_list li {
    font-weight: bold;
    font-size: 110%;
    background: linear-gradient(transparent 60%, #ffdd99 60%);
    margin: 0 16px;
  }
  .txt-wrapper .heading-3 {
    padding-top: 0;
    margin-bottom: 14px;
  }
  .txt-wrapper > h3 {
    font-size: 150%;
  }
  .post.know {
    max-width: 192px;
    min-width: 192px;
    border: 1px solid #ddd;
    margin-right: 8px;
    overflow: hidden;
  }
  .post.know:nth-child(6n) {
    margin-right: 0;
  }
  .post--img_sm.kn {
    width: 180px;
    margin: auto;
    min-height: 120px;
    background: #f1f1f1;
    position: relative;
    width: 100%;
    overflow: hidden;
    background-size: cover!important;
    background-position: top center!important;
  }
  .post--img_sm.kn .img_wrapper {
    position: absolute;
    left: 50%;
    top: 50%;
    min-height: 160px;
    width: 100%;
  }
  .post--img_sm.kn img {
    position: absolute;
    left: 0;
    transform: translate(-50%,-50%);
  }
  /*.post--img_sm.kn p {
    top: 35%;
    position: absolute;
    width: 80%;
    fill: #fff;
    text-align: center;
    display: block;
    margin: auto;
    left: 0;
    right: 0;
  }*/
  .post--img_sm.kn.noimg
  .post.know .post--ttl {
    line-height: 1.2;
  }
  .post--txtarea-sm {
    padding: 10px;
  }
  .archive .post .post--img_sm.kn {
    width: 100%;
    overflow: hidden;
  }
  .archive .post.know {
    margin-right: 8px;
    margin-bottom: 48px;
    max-width: 20%;
    min-width: 20%;
  }
  @media screen and (max-width: 767px) {
    .post--img_sm.kn {
      width: 100%;
    }
    .archive .post.know {
      max-width: 100%;
      min-width: 100%;
      margin-bottom: 16px;
    }
  }

/* tab_wrap
*************************************************** */
  .tab_area {
    padding-left: 8px;
    padding-right: 8px;
  }
  .tab_label {
    position: relative;
    overflow: hidden;
  }
  .tab_label small {
    margin-top: 4px;
  }
  .tab_label span {
    /*min-height: 60px;*/
    padding: 12px;
    font-size: 140%;
    line-height: 1.5;
  }
  .tab_label:not(:last-child) {
    margin-right: 8px;
  }
  .tab_label {
    display: block;
    -webkit-flex: 1px;
    -ms-flex: 1px;
    flex: 1px;
  }
  .tab_label::after {
    content: '';
    position: absolute;
    left: calc(50% - 16px /2);
    bottom: -16px;
    display: block;
    border-style: solid;
    border-width: 16px 8px 0 8px;
    border-color: #009db3 transparent transparent transparent;
    opacity: 0;
  }
  .tab_label span {
    display: block;
    /*min-height: 72px;*/
    padding: 16px 0;
    color: #fff;
    font-size: 120%;
    text-align: center;
    border-radius: 8px 8px 0 0;
    background-color: #ccc;
    transform: translateY(8px);
    transition: background-color .4s ease-out;
  }
  .tab_label small {
    display: block;
    font-size: 75%;
    line-height: 1.4;
  }
  .tab_label:hover span,
  .tab_label.active span {
    background-color: #009db3;
  }
  .tab_label.active {
    overflow: visible;
  }
  .tab_label.active span {
    transform: translateY(0);
  }
  .tab_label.active::after {
    opacity: 1;
  }
  @media screen and (max-width: 767px) {
    .tab_area {
      display: block;
    }
    .tab_label {
      flex: 0;
      display: block;
      width: 100%;
      min-width: 100%;
    }
    .tab_label span {
      padding: 8px;
      font-size: 110%;
      margin-bottom: 0;
      transform: none;
      border-radius: 0;
    }
    .tab_label.active span {
      transform: none;
    }
    .tab_label::after {
      display: none;
    }
  }

  /* --- panel_area --- */
  .panel_area {
    padding: 16px 8px 24px;
    background-color: #fff;
    border: 1px solid #ccc;
  }
  .archive .panel_area {
    padding: 16px 24px 24px;
  }
  .tab_panel {
    display: none;
  }
  .tab_panel.active {
    display: block;
  }
  @media screen and (max-width: 767px) {
    .tab_area {
      display: block;
      padding: 0;
      text-align: center;
    }
    .tab_label:not(:last-child) {
      margin-right: 0;
      margin-bottom: 0;
    }
    .tab_label span {
      font-size: 100%;
    }
    .tab_label::after {
      display: none;
    }
    .panel_area {
      padding: 8px;
    }
  }

/* category--btn_list
*************************************************** */
  .category--btn_list .btn {
    width: calc(25% - 5.3px);
    margin-right: 7px;
    margin-bottom: 7px;
  }
  .category--btn_list .btn:nth-child(4n) {
    margin-right: 0;
  }
  .category--btn_list.flex .btn + .btn {
    margin-left: 0;
  }
  .category--btn_list .btn a {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    width: 100%;
    height: 50px;
    min-width: auto;
    text-align: left;
    padding: 12px 24px;
    font-size: 90%;
  }
  .category--btn_list .btn img {
    margin-right: 10px;
  }
  @media screen and (max-width: 767px) {
    .category--btn_list .btn {
      width: 100%;
      margin-right: 0;
      margin-bottom: 1px;
    }
    .category--btn_list .btn a {
      padding: 8px 20px;
      height: 40px;
    }
  }

/* posts-blog
*************************************************** */
  @media screen and (max-width: 1100px) {
    .posts-blog { margin-bottom: 56px; }
    .archive-blog .inner.flex,
    .single-blog .inner.flex {
      display: block;
    }
  }
  @media screen and (max-width: 767px) {
    .posts-blog .post {
      display: block;
      padding: 0;
    }
    .posts-blog .post--img {
      padding-left: 0;
      margin-right: auto;
      margin-left: auto;
      height: auto;
      margin-bottom: 0;
      text-align: center;
      position: relative;
      width: 100%;
    }
    .posts-blog .post--img img {
      width: auto;
      max-width: 100%;
    }
    .posts-blog .post--txtarea {
      display: block;
      padding: 16px 16px 32px;
    }
    .risk {
      margin-bottom: 8px;
      position: relative;
      display: block;
      margin-right: 8px;
      max-width: 40px;
    }
    .recovery_list {
      justify-content: start;
      margin-bottom: 24px;
    }
    .recovery_list li {
      padding: 4px 8px;
      margin-right: 8px;
    }
    .recovery_list li:nth-of-type(3) {
      margin-right: 0;
    }
    .btn-wrapper {
      width: 100%;
    }
    .post.know {
      max-width: 100%;
      display: block;
      width: 100%;
      margin-bottom: 32px;
    }
  }

/* news
**************************************** */

  /* --- news--archive --- */
  .news--archive {
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #111;
  }
  .news--archive li {
    margin-left: 8px;
    margin-right: 8px;
  }
  .news--archive a {
    color: #fff;
  }

  /* --- news_list --- */
  main .news_list .post {
    padding-bottom: 16px;
    padding-top: 16px;
    margin-bottom: 0;
    border-bottom: 1px solid #dedede;
  }
  main .news_list .post--date {
    margin-right: 32px;
  }
  main .news_list a[href="javascript:void(0);"],
  main .news_list a[href="javascript:void(0);"]::before {
    color: inherit;
    cursor: inherit;
    opacity: 1;
    text-decoration: none;
  }
  .posts-home_news a,
  main .news_list a {
    display: inline-flex;
    align-items: center;
  }
  .posts-home_news a[target="_blank"]::after,
  main .news_list a[target="_blank"]::after {
    content: '';
    width: 18px;
    height: 18px;
    margin-left: 8px;
    background-image: url(/wp/wp-content/themes/original_theme/images/common/icon-new_tab.png);
  }

  @media screen and (max-width: 767px) {
    main .news_list .post { display: block; }
    main .news_list .post--date {
      display: inline-block;
      margin-bottom: 8px;
    }
  }


/* ##############################################################################

    SINGLE

############################################################################## */

/* wp-pagenavi
**************************************** */
  .wp-pagenavi {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
  }
  .wp-pagenavi .pages {
    width: 100%;
    margin-bottom: 8px;
    text-align: center;
  }
  .wp-pagenavi .current,
  .wp-pagenavi a {
    position: relative;
    max-width: 42%;
    display: inline-block;
    vertical-align: top;
    color: #fff;
    background-color: #009DB3;
    line-height: 1.4;
    padding: 8px 16px;
    overflow: hidden;
    font-weight: bold;
    text-overflow: ellipsis;
    margin-right: 8px;
    margin-bottom: 8px;
  }
  .wp-pagenavi .current {
    color: #000;
    background-color: #eee;
  }
  @media screen and (max-width: 767px) {
    .wp-pagenavi {
      margin-bottom: 0;
    }
  }

/* accident
**************************************** */
  .single-accident .section_ttl {
    font-size: 280%;
  }
  .ttl-block {
    padding-bottom: 0;
  }
  .img:not(.specialist) {
    margin-right: 0;
    max-width: 40%;
    min-width: 40%;
  }
  .txt-wrapper {
    max-width: calc(60% - 24px);
  }
  .cta-link h3 {
    font-size: 120%;
    border-bottom: 1px dashed #d7d7d7;
    padding-bottom: 4px;
    margin-bottom: 8px;
  }
  .cta-link p {
    font-size: 100%;
    margin-bottom: 16px;
  }
  .single-accident .cta-link .inner {
    width: 95%;
  }
  .index,
  #toc_container {
    background: #f1f1f1;
    padding: 8px 16px;
  }
  #toc_container {
    width: 100%;
    border: 0;
    background: #f1f1f1;
  }
  .index h3 {
    font-size: 140%;
  }
  #toc_container p.toc_title {
    font-size: 100%;
    text-align: left;
  }
  .index li {
    list-style-type: decimal;
    font-size: 100%;
  }
  #toc_container li,
  #toc_container ul {
    font-size: 100%!important;
  }
  #toc_container p.toc_title {

  }
  .acc_part {
    position: relative!important;
    padding: 12px 0 32px;
  }
  .part-block {
    margin-bottom: 4px;
  }
  .acc_part::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 4px;
    background: #1a3e6a;
    left: 0;
    bottom: 0;
  }
  .acc_part .part-block .txt-wrapper .heading-3 {
    display: flex;
    align-items: center;
    line-height: 1.3;
    color: #333;
  }
  #toc_container a {
    color: #333;
  }
  .specialist-column .btn a {
    margin-right: 24px;
  }
  @media screen and (max-width: 767px) {
    .img {
      margin-right: 0;
      margin-bottom: 16px;
    }
    .txt-wrapper {
      width: 100%;
      max-width: 100%;
    }
    .single-accident .section_ttl {
      font-size: 190%;
    }
    .index,
    #toc_container {
      padding: 24px;
    }
    .list_wrapper h4 {
      width: 100%;
      text-align: left;
      margin: 0;
      margin-bottom: 16px;
    }
    .single .recovery_list li {
      text-align: center;
      margin-right: auto;
      line-height: 1.5em;
      margin-left: auto;
      margin-bottom: 8px;
      width: 100%;
    }
    .acc_list-ttl h3 small {
      font-size: 90%;
      background-color: #93415b;
      color: #fff;
      font-weight: bold;
      padding: 8px;
      margin-right: 16px;
      display: block;
      max-width: 180px;
      margin-bottom: 8px;
    }
    .txt.column-txt p::before {
      display: none;
    }
    .cf_ttl {
      display: block;
      padding: 6px 8px;
      border-radius: 8px 8px 0 0;
    }
    .img.specialist {
      margin: 0 auto 24px;
    }
    .recovery_list ul {
      padding: 0;
    }
    .specialist-column .heading-4 {
      margin-left: 0;
      text-align: center;
    }
  }

/* knowledge
**************************************** */
  .single-knowledge .blog--info {
    border: 1px solid #f0f4f8;
    box-shadow: 10px 10px #f2f2f2;
    padding: 32px 24px 32px;
  }
  .single-knowledge .blog--info *.editor-ttl {
    margin-right: -24px;
    margin-left: -24px;
  }
  @media screen and (max-width: 767px) {
    .single-knowledge .blog--info {
      padding: 32px 8px;
      box-shadow: none;
    }
    .single-knowledge .blog--info *.editor-ttl {
      margin-left: 0;
      margin-right: 0;
    }
    .tender_list li {
      display: flex!important;
      flex-direction: row;
    }
  }

/* pass
**************************************** */
  .single .pass {
    width: 100%;
  }
  .single .pass p:first-child {
    margin-bottom: 16px;
  }

  @media screen and (max-width: 767px) {
    .single .pass p:first-child {
      text-align: left;
    }
  }