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

    KEYFRAMES

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


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

    COMMON

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

  html {
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
  }
  body {
    height: 100%;
    padding-top: 108px;
    min-width: 1000px;
  }
  body.page-contact,
  body.page-thanks,
  body.page-policy,
  body.page-404,
  body.single,
  body.archive {
    padding-top: 0;
  }
  h1,h2,h3,h4,p,small,span {
    transform: rotate(.001deg);
  }

  @media screen and (max-width: 767px) {
    body {
      padding-top: 56px;
      min-width: 0;
      overflow-wrap: break-word;
      overflow-y: initial;
    }
  }

/* 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;
  }
  .page-404 .section_pdg {
    padding-top: 100px;
    padding-bottom: 40px;
  }
  .page-thanks .section_pdg {
    padding-top: 100px;
    padding-bottom: 40px;
  }
  .single .section_pdg {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  @media screen and  (max-width: 767px) {
    .inner { width: 95%; }
    .section_pdg {
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .page-thanks .inner { width: 90%; }
    .page-thanks .section_pdg {
      padding-top: 40px;
      padding-bottom: 40px;
    }
  }

/* 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 > *,
    .flex-col3.flex-sp-block > * {
      width: 100%;
      margin-right: 0;
      margin-bottom: 6%;
    }
    .flex-sp-block.flex-col2 > *:last-child,
    .flex-col3.flex-sp-block > *: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),
    .flex-sp-col2.flex-col3 > *:nth-child(6n) {
      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; }
  .bg-darkgray { background-color: #7d7d7d; }
  
  /* --- 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 {
    padding: 64px 0;
    background-color: #5baeb4;
    background-image: -moz-radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 200%);
    background-image: -webkit-radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 200%);
    background-image: radial-gradient( 50% 50%, circle closest-side, rgb(170,232,238) 0%, rgba(170,232,238,0) 200%);
    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: 40px;
    font-size: 1.875rem;
    font-weight: normal;
    line-height: 1.5;
    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;
    padding: 24px 20px;
    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: 16px;
    background-image: url(../images/ttl_kazari-lft.svg);
  }
  .ttl-kazari::after {
    margin-left: 16px;
    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: 32px 0;
    }
    .page_ttl-jp {
      font-size: 150%;
      margin-bottom: 4px;
    }
    .page_ttl-en {
      font-size: 70%;
    }

    /* --- section_ttl --- */
    .section_ttl {
      font-size: 1.5rem;
      margin-bottom: 18px;
      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: 130%;
      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;
  }
  .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: 8px 22px 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,
  a.btn {
    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: #FF9600;
    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,
  a.btn.cta {
    background: #FF9600;
    box-shadow: 0 4px 0 #CA7700
  }
  .btn a[href="/contact/"]:hover,
  .btn.cta button:hover,
  .btn.cta a:hover,
  a.btn.cta: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.btn-wh a:hover {
    background: #fff;
    color: #00616F;
    border: 2px solid #00616F;
    box-shadow: none;
  }
  .btn a::before,
  button.btn::before,
  a.btn.cta::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%;
    }
  }

/* 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: 108px;
    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--logo--ttl {
    color: #009DB3;
    font-size: 2.266rem; /* 34px */
  }
  .logo-wrapper {
    margin-bottom: 8px;
  }
  .logo_img {
    width: auto;
    max-height: 70px;
    margin-right: 10px;
  }
  .logo_arrow {
    width: 115px;
    margin-right: 16px;
    margin-bottom: 8px;
  }
  .telnum img {
    position: relative;
    top: -3px;
    margin-right: 6px;
  }
  .cta_mark {
    line-height: .6em;
    font-size: 90%;
    color: #fff;
    background: #385183;
    padding: 4px 11px 7px;
    border-radius: 4px;
    margin-right: 12px;
  }
  @media screen and (max-width: 1366px) {
    .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;
    }
    .header .inner {
      width: 100%;
    }
  }
  @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: 56px;
      position: fixed;
    }
    .header-top_txt {
      display: none;
    }
    .gnav--tel {
      display: none;
    }
    .header .nav_wrapper {
      border: 0;
    }
    .header.active {
      box-shadow: 0 0 4px 0 rgba(0, 0, 0, .4);
    }
    .header .inner {
      padding-left: 6px;
      padding-top: 4px;
    }
    .logo_arrow {
      width: 98px;
      margin-bottom: 4px;
    }
    .header--logo--ttl {
      font-size: 1.3333rem;
      letter-spacing: 0;
    }
    .time {
      display: block;
    }
    .logo_img {
      width: auto;
      max-height: 34px;
      margin-right: 6px;
    }
  }

/* 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 {
    margin-left: 8px;
    font-size: 197%;
    font-weight: bold;
  }
  .gnav--tel a {
    color: #385183;
    font-size: 122%;
  }
  .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(.165, .84, .44, 1);
      transform: translateX(20%);
      background-color: #F4F4F4;
    }
    .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: 320px;
    }
    .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: 56px;
      height: 56px;
      position: absolute;
      top: -55px;
      right: 0;
      z-index: 10;
      border-left: 1px solid #ddd;
    }
    .tel-btn img {
      max-width: 24px;
      position: absolute;
      left: 14px;
      top: 16px;
    }
    .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 {
      margin-left: 0;
      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: 18px 0;
  }
  .footer--logo a {
    color: #fff;
    font-size: 2rem;
    line-height: 1;
  }
  .add--bloc p {
    color: #fff;
  }
  .nav-last {
    padding-top: 24px;
  }
  .nav-last a {
    padding-left: 32px;
    position: relative;
  }
  .nav-last 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 {
      width: 100%;
      text-align: center;
    }
    .footer--logo a {
      font-size: 1.2rem;
    }
    .add--bloc {
      line-height: 1.4em;
      width: calc(70% - 24px);
      font-size: 90%;
    }
    .first--bloc {
      padding-top: 16px;
    }
    .second--bloc {
      padding: 20px 4px 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 .box {
      justify-content: space-between;
    }
    .footer--cta_area .inner::after {
      display: none;
    }
  }
  @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;
  }
  .hero--txtarea-btm {
    max-width: 506px;
    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%;
  }
  .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 {
    margin: 40px 0 34px;
  }
  .hero--ttl-main {
    max-width: 305px;
  }
  .hero--ttl-tb {
    color: #FFFFFF;
    font-size: 2rem;
    line-height: 1.4em;
  }
  .hero--ttl-tb .left {
    margin-right: 4px;
  }
  .hero--ttl-tb .right {
    font-size: 1.4rem;
    margin-right: 2px;
  }
  .hero--ttl-tb .yellow {
    color: #FFEA00;
  }
  .hero--ttl-tb .yellow strong {
    font-size: 3rem;
  }
  .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;
  }

  /* hero-type2
  *************************************************** */
  .hero.type2 .hero--txtarea {
    width: 54%;
    margin-left: 6%;
  }
  .hero.type2 .hero--ttl-inner {
    display: block;
  }
  .hero.type2 .hero--ttl {
    margin: 14px 0 0;
  }
  .hero.type2 .hero--ttl-main {
    max-width: 96%;
    margin-bottom: 8px;
  }
  .hero.type2 .hero--ttl-tb {
    font-size: 2.4rem; /* 36px */
    letter-spacing: -3px;
  }
  .hero.type2 .hero--ttl-tb .left {
    margin-right: 0;
  }
  .hero.type2 .hero--ttl-tb .yellow strong {
    font-size: 3.333rem; /* 50px */
  }
  .hero.type2 .hero--ttl-tb .right {
    font-size: 1.6rem;
    margin-right: 0px;
  }
  .hero.type2 .hero--catch {
    background: rgba( 0, 127, 145, .3 );
    border-radius: 10px;
    padding: 30px;
  }
  .hero.type2 .hero--catch-img {
    position: absolute;
    left: -115px;
    top: -86px;
  }
  .hero.type2 .hero--txtarea-btm {
    max-width: none;
    margin-left: 0;
  }
  .hero--catch span.subname {
    font-size: 3.2rem; /* 48px */
    display: block;
    margin-bottom: 10px;
  }
  .hero--catch span.name {
    font-size: 4.26rem; /* 64px */
  }
  .hero--catch_btm {
    margin-top: 8px
  }
  .hero-type2--text {
    color: #fff;
    font-size: 3.333rem; /* 50px */
    line-height: 1;
    letter-spacing: 0;
  }
  .hero-type2--text .small {
    font-size: 2.2666rem; /* 34px */
  }
  @media screen and (min-width: 768px) {
    .hero.type2 {
      background-image: url(../images/hero_2/bg_hero2_01.png);
      background-position: center;
    }
    .hero.type2 .hero--txtarea {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding-bottom: 30px;
    }
  }
  @media screen and (max-width: 1366px) {
    .hero--txtarea::after {
      width: 198px;
      height: 297px;
      background-size: cover;
    }
  }
  @media screen and (max-width: 1280px) {
    .hero--txtarea-btm {
      margin-left: 0;
    }
  }
  @media screen and (max-width: 1280px) and (min-width: 768px) {
    .hero {
      height: 480px;
    }
    .hero--ttl-award {
      width: 120px;
      margin-bottom: 16px;
    }
    .hero--ttl-main {
      width: 380px;
    }
    .main_ttl_fukidasi01 {
      width: 90px;
    }
    .main_ttl_price {
      width: 290px;
    }
  }
  @media screen and (max-width: 1120px) {
    .hero--txtarea::after {
      right: -40px;
      width: 148px;
      height: 222px;
    }
    .hero--ttl-tb {
      font-size: 1.8rem;
    }
  }
  @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: 8px 0 12px;
    }
    .hero--ttl-inner {
      align-items: flex-start;
    }
    .hero--ttl-tb {
      display: inline-block;
      font-size: 1.428rem;
    }
    .page-kasaihoken .hero--ttl-tb {
      display: inline-block;
      font-size: 1.857rem; /* 26px */
    }
    .hero--ttl-tb .yellow strong {
      font-size: 2.4rem;
    }
    .page-kasaihoken .hero--ttl-tb .yellow strong {
      font-size: 2.5rem;
    }
    .hero--ttl-tb .left {
      margin-right: 0;
    }
    .hero--ttl-main {
      max-width: 240px;
    }
    .main_ttl_fukidasi01 {
      width: 30%;
    }
    .main_ttl_price {
      width: 50%;
    }
    .hero--note {
      font-size: .7rem;
      padding-right: 4px;
      line-height: 1.2;
    }
    .hero--txtarea::before {
      content: '';
      position: absolute;
      bottom: 186px;
      right: 0;
      display: block;
      width: 88px;
      height: 102px;
      background-image: url(../images/cta_txt_balloon_sp.png);
      background-size: cover;
    }
    .hero--txtarea::after {
      content: '';
      position: absolute;
      bottom: -16px;
      right: 0;
      display: block;
      width: 156px;
      height: 227px;
      background-image: url(../images/img_hero_woman.png);
      background-size: cover;
    }
    .hero--txtarea-btm {
      width: 58%;
    }
    .hero.type2 .hero--txtarea-btm {
      width: 100%;
      margin-top: 20px;
    }
    .hero.type2 .hero--txtarea {
      width: 100%;
      margin-left: 0;
    }
    .hero.type2 .hero--ttl {
      margin: 10px 0 0;
    }
    .hero.type2 .hero--ttl-inner {
      display: flex;
      align-items: center;
    }
    .hero.type2 .hero--catch-illust {
      position: relative;
      max-width: 96px;
      width: 19vw;
    }
    .hero.type2 .hero--ttl-tb {
      font-size: 5vw;
      letter-spacing: -2px;
      padding-left: 4px;
    }
    .hero.type2 .hero--ttl-tb .yellow strong {
      font-size: 7vw;
    }
    .hero.type2 .hero--ttl-tb .right {
      font-size: 3vw;
    }
    .hero.type2 .hero--txtarea-btm {
      width: 70%;
      margin-top: 16px;
      position: relative;
      max-width: none;
      margin-left: 0;
    }
    .hero-type2--img {
      transform: translateY(0);
      width: 140px;
    }
    .hero-type2--illust {
      position: absolute;
      top: -14px;
      left: 150px;
      width: 75px;
    }
    .hero.type2 .hero--catch {
      border-radius: 10px;
      position: relative;
      padding: 38px 8px 28px;
    }
    .hero.type2 .hero--catch-img {
      position: absolute;
      top: -15px;
      width: 50%;
      left: 0;
      right: 0;
      margin: auto;
    }
    .hero--catch span.subname {
      font-size: 6vw;
      line-height: 1.5;
      margin-bottom: 6px;
    }
    .hero--catch span.name {
      font-size: 9vw;
    }
    .hero--catch_btm {
      text-align: center;
      transform: translateY(0);
      z-index: 1;
    }
    .hero-type2--text {
      color: #fff;
      font-size: 2.133rem;
      line-height: 1;
      letter-spacing: 0;
    }
    .hero-type2--text .small {
      font-size: 1.466rem;
    }
    .hero.type2 .hero--txtarea::after {
      content: '';
      position: absolute;
      bottom: auto;
      top: 80px;
      right: 0;
      display: block;
      width: 34vw;
      height: 63vw;
      background-image: url(../images/hero_2/cta_img_woman02_sp.png);
    }
    .hero.type2 .hero--txtarea::before {
      content: none;
    }
  }

/* hero--cta
*************************************************** */
  .hero--cta_box {
    height: 50%;
    width: 36%;
    padding-top: 12px;
    margin-top: 94px;
    margin-left: 48px;
    margin-right: auto;
    position: relative;
  }
  body:not(.page-kasaihoken) .hero--cta_box {
    padding-top: 30px;
  }
  .hero--cta_box::after {
    content: '';
    position: absolute;
    bottom: -122px;
    right: -222px;
    display: block;
    width: 272px;
    height: 269px;
    background-image: url(../images/img_cta_woman.png);
    background-size: cover;
  }
  .hero--cta--ttl {
    color: #355282;
  }
  .hero--cta_box .note {
    color: #999;
    display: block;
  }
  @media screen and (min-width: 768px) {
    .hero.type2 .hero--cta_box {
      width: 28%;
      margin-top: 155px;
      height: 44%;
      padding-top: 0;
    }
    .hero.type2 .hero--cta--img {
      position: absolute;
      top: -124px;
      width: 180px;
      left: 0;
      right: 0;
      margin: auto;
    }
    .hero.type2 .ttl-kazari {
      padding: 24px 20px 14px
    }
    .hero.type2 .ttl-kazari::before,
    .hero.type2 .ttl-kazari::after {
      content: none;
    }
    .hero.type2 .hero--cta a.btn {
      font-size: 1.2rem;
      padding: 24px 32px;
      line-height: 1.4;
    }
    .hero.type2 .hero--cta_box::after {
      content: '';
      position: absolute;
      bottom: -84px;
      right: -232px;
      display: block;
      width: 263px;
      height: 293px;
      background-image: url(../images/hero_2/img_cta_woman02.png);
      background-size: cover;
    }
  }
  @media screen and (max-width: 1600px) {
    .hero--cta_box {
      margin-right: 0;
    }
  }
  @media screen and (max-width: 1400px) {
    .hero--cta_box {
      margin-right: 0;
    }
    .hero.type2 .hero--cta_box::after {
      right: -190px;
      width: 220px;
      height: 245px;
      background-image: url(../images/hero_2/img_cta_woman02.png);
    }
  }
  @media screen and (max-width: 1340px) {
    .hero--cta_box {
      width: 36%;
      margin-left: 20px;
    }
    .hero--cta_box::after {
      bottom: -141px;
      right: -150px;
      width: 210px;
      height: 206px;
    }
  }
  @media screen and (max-width: 1200px) {
    .hero.type2 .hero--cta_box::after {
      right: -156px;
      width: 190px;
      height: 212px;
      background-image: url(../images/hero_2/img_cta_woman02.png);
    }
  }
  @media screen and (max-width: 1144px) {
    .hero--cta--ttl.ttl-kazari {
      padding: 24px 4px;
      font-size: 1.25rem; /* 20px */
    }
    .hero--cta--ttl.ttl-kazari::before {
      margin-right: 4px;
    }
    .hero--cta--ttl.ttl-kazari::after {
      margin-left: 4px;
    }
    .hero--cta_box {
      width: 33%;
    }
    .hero--cta_box a.btn {
      font-size: 1rem; /* 16px */
    }
  }
  @media screen and (max-width: 1100px) {
    .hero--cta_box {
      width: 38%;
    }
    .hero--cta_box::after {
      content: none;
    }
    .hero.type2 .hero--cta_box::after {
      content: none;
    }
  }
  @media screen and (max-width: 767px) {
    body:not(.page-kasaihoken) .hero--cta_box {
      padding-top: 12px;
    }
    .hero--cta_box {
      padding-bottom: 40px;
      margin-top: 16px;
      margin-left: auto;
      width: 100%;
    }
    .hero--cta--ttl.ttl-kazari {
      font-size: 6vw;
      padding: 8px 4px;
    }
    .hero--cta_box a.btn {
      font-size: 1.1rem;
      padding: 12px 30px;
    }
  }

/* 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: 14px 16px 12px;
    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  (min-width: 1368px) {
    .slide-comparison .slick-track {
      display: flex;
      justify-content: center;
    }
  }
  @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 li {
    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;
    border: 2px solid #009DB3;
    color: #009DB3;
    background: #fff;
    box-shadow: 0 4px 0 #dcdcdc;
    border-radius: 4px;
  }
  @media screen and (max-width: 1100px) {
    .home_comparison--btm li {
      padding: 8px 14px;
    }
  }
  @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 {
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    }
    .rec-list li {
      width: calc(50% - 8px)!important;
      margin-top: 0!important;
      margin-bottom: 8px;
      margin-right: 4px;
      height: 64px;
    }
  }

/* home_recommend--top
*************************************************** */
  .home_recommend {
    padding-top: 24px;
  }
  .home_recommend .section_ttl {
    margin-bottom: 0;
    font-size: 200%;
  }
  .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 {
    padding-top: 40px;
  }
  .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 {
    margin: 0 auto 24px;
    max-width: 408px;
  }
  .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%;
      margin: 0 auto 24px 28px;
    }
    .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;
    }
  }


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

    COMMON

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

/* layout-plan/
*************************************************** */
  .plan-box {
    border: 1px solid #009DB3;
    border-radius: 8px;
    box-shadow: 2px 2px 2px 1px rgb(0 0 0 / 15%);
  }
  .plan-box--head {
    padding: 14px;
    background-color: #d9f0f4;
    border-radius: 8px 8px 0 0;
  }
  .plan-box--ttl {
    font-size: 1.125rem; /* 18px */
    color: #009DB3;
  }
  .plan-box--img {
    padding-top: 14px;
    padding-bottom: 8px;
  }
  .plan-box--img img {
    width: 110px;
    display: inline-block;
  }
  .plan-box--subttl {
    font-size: 1.125rem; /* 18px */
    margin-bottom: 10px;
    margin-top: 10px;
  }
  .plan-box--logo {
    min-height: 56px;
    border: 1px solid #ddd;
    border-radius: 4px;
  }
  .plan-box--btm {
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 16px;
  }

/* layout-fee-content/
*************************************************** */
  .home_content--box {
    background: #fff;
    padding: 48px 40px;
  }
  @media screen and (max-width: 767px) {
    .home_content--box {
      background: #fff;
      padding: 36px 14px;
    }
  }
/* layout-cta-section/
*************************************************** */
  .cta_section--left {
    width: 52%;
    margin-right: 3%;
  }
  .cta_section--left .sub-ttl {
    margin-bottom:16px;
  }
  .cta_section--left .heading-3 {
    margin-bottom: 0;
    padding-left: 18px;
    font-size: 1.625rem; /* 26px */
    line-height: 1.5;
  }
  .cta_section--left .text {
    padding: 18px;
  }
  .cta_section--right {
    width: 45%;
  }
  .cta_section .cta_area {
    margin-top: 40px;
  }
  @media screen and  (max-width: 1126px) {
    .cta_section--left {
      width: 59%;
      margin-right: 1%;
    }
    .cta_section--left .sub-ttl {
      margin-bottom: 4px;
    }
    .cta_section--left .sub-ttl img {
      max-width: 120px;
    }
    .cta_section--right {
      width: 40%;
    }
    .cta_section--left .text {
      padding: 18px;
    }
  }
  @media screen and (max-width: 767px) {
    .cta_section--left,
    .cta_section--right {
      width: 100%;
    }
    .cta_section--left .heading-3 {
      padding-left: 6px;
      font-size: 1.214rem; /* 17px */
      line-height: 1.5;
    }
    .cta_section--left .sub-ttl img {
      max-width: 94px;
    }
    .cta_section .cta_area {
      margin-top: 0;
    }
  }

/* layout-value/
*************************************************** */
  .value_section--ttl {
    background-image: url(../images/value/ttl_line_town.png), url(../images/pt_slant_lightblue.png);
    background-repeat: repeat-x, repeat;
    background-position: center bottom 6px, center;
    padding: 24px 0 60px;
  }
  .value_section--ttl .number {
    background: url(../images/value/ttl_bg.png);
    background-repeat: no-repeat;
    background-size: auto;
    font-size: 1.5rem;
    color: #fff;
    width: 280px;
    height: 80px;
    padding: 32px 62px 30px 102px;
    position: relative;
    margin-right: 40px;
  }
  .value_section--ttl .number strong {
    color: #ffea00;
    font-size: 3.5rem; /* 56px */
  }
  .value_section--ttl .ttl {
    font-size: 2.375rem;
    color: #009DB3;
    line-height: 1.4;
    margin-top: 10px;
  }
  .value_section--content .text {
    max-width: 770px;
    margin: 0 auto 36px;
  }
  .value_section--content ul {
    padding: 20px;
  }
  .value_section--content li {
    list-style-type: disc;
    font-weight: bold;
  }
  .value_section--content .value_section--gray li {
    color: #009db3;
  }
  .value_section--consul {
    margin-top: 30px;
  }
  .consul--item {
    border: 1px solid #3464a6;
    border-radius: 8px;
    background-color: #f4f4f4;
    padding: 14px;
  }
  .consul--item .ttl {
    font-size: 1.125rem;
    color: #3464a6;
  }
  .consul--item ul {
    padding: 8px 20px 0;
  }
  .consul--item ul li {
    list-style-type: disc;
  }
  .value_section--gray {
    padding: 40px;
    background-color: #f4f4f4;
    max-width: 770px;
    margin: 18px auto 30px;
    position: relative;
  }
  .value_section--gray .value--illust {
    position: absolute;
    bottom: -50px;
    right: -144px;
    width: 300px;
  }
  .value_section--gray .heading-2 {
    color: #333;
  }
  .value_section--content .home_comparison--btm {
    padding-bottom: 40px;
  }
  @media screen and  (max-width: 1100px) {
    .value_section--ttl .ttl {
      font-size: 2rem;
    }
    .value_section--gray .heading-2 {
      color: #333;
      font-size: 1.875rem; /* 30px */
    }
    .value_section--gray .value--illust {
      position: absolute;
      right: -86px;
      width: 280px;
    }
  }
  @media screen and (max-width: 767px) {
    .value_section--gray {
      padding: 24px;
      margin: 18px auto 52px;
    }
    .value_section--gray .value--illust {
      position: absolute;
      right: 0;
      bottom: -86px;
      width: 190px;
    }
    .value_section--ttl {
      background-position: center bottom 2px, center;
      padding: 36px 0;
    }
    .value_section--ttl .number {
      background-size: contain;
      font-size: 1rem;
      width: 140px;
      height: 40px;
      padding: 14px 30px 16px 50px;
      margin-right: 24px;
    }
    .value_section--ttl .number strong {
      color: #ffea00;
      font-size: 1.8rem;
    }
    .value_section--ttl .ttl {
      font-size: 1.429rem; /* 20px */
    }
    .value_section--content .text {
      padding: 0 10px;
      margin: 0 auto 20px;
    }
    .value_section--gray .heading-2 {
      font-size: 1.429rem; /* 20px */
      margin-bottom: 20px;
    }
    .value_section--consul {
      margin-top: 20px;
    }
    .consul--item {
      padding: 8px 6px;
    }
    .consul--item ul {
      padding: 6px 14px 0 17px;
    }
    .value_section--content .home_comparison--btm {
      padding-bottom: 0;
    }
  }

/* layout-flow/
*************************************************** */
  .home_flow--box {
    background: #fff;
    margin: 20px auto;
    padding: 40px;
  }
  .flow--btn {
    text-align: center;
    margin-top: 40px;
  }
  .flow--btn a {
    font-family: Hiragino UD Sans W6 JIS2004;
    border-bottom: 2px solid #009db3;
    display: inline-block;
    position: relative;
    padding-right: 30px;
  }
  .flow--btn a::before {
    content: '';
    position: absolute;
    bottom: 12px;
    right: 6px;
    margin: auto;
    width: 8px;
    height: 8px;
    border-top: 2px solid #009db3;
    border-right: 2px solid #009db3;
    transform: rotate(135deg);
  }

  .home_flow .section_ttl {
    font-size: 1.875rem;
    line-height: 1.5em;
    margin-bottom: 40px;
  }
  .flow-item {
    position: relative;
    padding-left: 86px;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
  }
  .flow-item:not(:last-child) {
    padding-bottom: 50px;
  }
  .flow-item:not(:last-child)::before {
    content: '';
    position: absolute;
    top: 52px;
    left: 46px;
    display: block;
    width: 0;
    height: calc(100% - 62px);
    border-right: 1px solid #385183;
  }
  .flow-ttl {
    font-size: 1.375rem;
    color: #385183;
    position: relative;
    counter-increment: number 1;
    margin-bottom: 20px;
  }
  .flow-ttl::after {
    content: counter(number);
    position: absolute;
    top: -4px;
    left: -64px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 50%;
    text-align: center;
    color: #fff;
    background-color: #385183;
    font-family: Shuei Mincho B!important;
    font-weight: 600;
    font-size: 1.325rem;
  }
  @media screen and (max-width: 767px) {
    .home_flow--ttl {
      margin-bottom: 20px;
    }
    .home_flow .section_ttl {
      font-size: 1.5rem;
      margin-bottom: 18px;
    }
    .flow--btn {
      margin-top: 2px;
    }
    .flow--btn a {
      max-width: 298px;
      border-bottom: 1px solid #009db3;
      text-align: left;
      line-height: 1.8;
      padding-right: 30px;
      padding-bottom: 6px;
    }
    .flow--btn a::before {
      bottom: calc(50% - 2px);
      right: 14px;
      border-top: 1px solid #009db3;
      border-right: 1px solid #009db3;
    }
    .home_flow--box {
      padding: 30px 20px;
    }
    .flow-item {
      padding-left: 48px;
    }
    .flow-item:not(:last-child) {
      padding-bottom: 20px;
    }
    .flow-ttl {
      font-size: 1.286rem; /* 18px */
    }
    .flow-ttl::after {
      top: 0;
      left: -48px;
      height: 36px;
      width: 36px;
      line-height: 36px;
      border-radius: 50%;
      color: #fff;
      font-size: 1.325rem;
    }
    .flow-item:not(:last-child)::before {
      top: 40px;
      left: 18px;
      height: calc(100% - 44px);
    }
  }

/* layout-flow/
*************************************************** */
  .home_company--box {
    border: 1px solid #ccc;
  }
  .home_company--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;
  }
  .home_company--list {
    margin: 24px auto;
    max-width: 816px;
  }
  .home_company--list li {
    min-width: 240px;
    height: 80px;
    padding: 8px 20px;
    border: 2px solid #009DB3;
    color: #009DB3;
    background: #fff;
    box-shadow: 0 4px 0 #dcdcdc;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 48px;
    margin-bottom: 20px;
  }
  .home_company--list li:nth-child(3n) {
    margin-right: 0;
  }
  .home_company--list li:last-child {
    margin-right: 0;
  }
  @media screen and (max-width: 767px) {
    .home_company--list {
      margin: 0;
    }
    .home_company--list li {
      min-width: auto;
      width: 48%;
      height: 70px;
      padding: 6px 12px;
      margin: 1%;
    }
    .home_company--list li:nth-child(3n) {
      margin-right: 1%;
    }
    .home_company--list li:last-child {
      margin-right: 1%;
    }
    .home_company--box::after {
      content: none;
    }
    .box.home_company--box {
      padding: 20px 14px;
    }
    .home_company--box .heading-3 {
      margin-bottom: 14px;
    }
  }

/* layout-banner/
*************************************************** */
.home_banner--box {
  display: inline-flex;
  border: solid 4px #289db5;
  height: 220px;
  background-color: #fff;
  margin: 40px 0;
}
.home_banner--ttl {
  background: #289db5;
  color: #fff;
  height: 220px;
  width: 160px;
  font-size: 3.3333rem;
  line-height: 1;
  padding: 50px 0 50px 14px;
  position: relative;
}
.home_banner--ttl::after {
  content: "";
  position: absolute;
  top: 0;
  right: -40px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 110px 0 110px 40px;
  border-color: transparent transparent transparent #289db5;
}
.home_banner--ttl small {
  font-size: 2rem;
  line-height: 1;
}
.home_banner--content{
  padding: 30px 20px 30px 54px;
  height: 220px;
  text-align: left;
}
.home_banner--top {
  color: #289db5;
  font-size: 1.86rem;
  margin-bottom: 10px;
}
.home_banner--btm {
  font-size: 1.6rem;
  line-height: 1.4;
}
.home_banner--btm .orange {
  color: #fa9602;
}
@media screen and (max-width: 767px) {
  .home_banner--box {
    display: inline-flex;
    border: solid 2px #289db5;
    height: auto;
    width: 300px;
    background-color: #fff;
    margin: 20px 0;
  }
  .home_banner--ttl {
    height: 34px;
    width: 300px;
    font-size: 1.3rem;
    line-height: .8;
    padding: 0;
  }
  .home_banner--ttl small {
    font-size: 1.2rem;
  }
  .home_banner--ttl::after {
    content: "";
    position: absolute;
    top: auto;
    bottom: -20px;
    right: 0;
    left: 0;
    width: 0;
    height: 0;
    border-width: 20px 150px 0 150px;
    border-color: #289db5 transparent transparent transparent;
  }
  .home_banner--content{
    padding: 33px 14px 10px 14px;
    height: auto;
  }
  .home_banner--top {
    font-size: 1.1rem;
    line-height: 1.4;
    margin-bottom: 8px;
  }
  .home_banner--btm {
    font-size: 1rem;
    line-height: 1.4;
  }
}

/* layout-news/
*************************************************** */
  .home_news--more {
    max-width: 800px;
    margin: 0 auto 6px;
    text-align: right;
  }
  .home_news--more a {
    position: relative;
    color: #009db3;
    padding-right: 30px;
    line-height: 1;
    display: inline-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;
  }

/* layout-note/
*************************************************** */
  .home_note {
    color: #fff;
  }
  .home_note--ttl {
    margin-bottom: 10px;
  }
  .home_note li {
    list-style: none;
    padding-left: 18px;
    margin-bottom: 8px;
    position: relative;
  }
  .home_note li::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 2px;
    margin: auto;
    background-image: url(../images/icon_check.svg);
    background-repeat: no-repeat;
    width: 10px;
    height: 10px;
  }

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

    PAGE

############################################################################## */
/* addpage/
*************************************************** */
  body:not(.page-kasaihoken) .hero--catch {
    color: #FFEA00;
    font-weight: 600;
    line-height: 1;
  }
  .hero--catch .price {
    font-size: 8rem;
  }
  .hero--catch span {
    font-size: 2.46rem;
  }
  .hero--catch--left {
    writing-mode: vertical-rl;
    font-size: 2.4rem;
    line-height: 96px;
    border-radius: 50%;
    border: solid 2px #fff;
    width: 100px;
    height: 100px;
    text-align: center;
    margin-right: 14px;
    color: #fff;
    margin-left: 12px;
  }
  @media screen and (max-width: 767px) {
    .hero--catch span {
      font-size: 1.4rem;
    }
    .hero--catch .price {
      font-size: 13vw;
    }
    .hero--catch--left {
      writing-mode: vertical-rl;
      font-size: 1.4rem;
      line-height: 26px;
      border-radius: 0;
      border: solid 1px #fff;
      width: auto;
      height: 70px;
      text-align: center;
      margin-right: 4px;
      color: #fff;
      margin-left: 2px;
    }
  }

/* kasaihoken/
*************************************************** */
  .hero--subcatch {
    border-bottom: solid 2px #FFEA00;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .hero--subcatch::before,
  .hero--subcatch::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
  }
  .hero--subcatch::before {
      border: solid 8px transparent;
      border-top: solid 12px #FFEA00;
  }
  .hero--subcatch::after {
      border: solid 8px transparent;
      border-top: solid 12px #5baeb4;
      margin-top: -4px;
  }
  .hero--subcatch--icon {
    text-align: center;
    color: #fff;
    font-size: 1.5rem;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    line-height: 1.2;
    padding: 18px 0;
    justify-content: center;
    align-items: center;
    background-color: #F15C5C;
    margin-right: 10px;
  }
  .hero--subcatch--text {
    color: #FFEA00;
    font-size: 2.2rem;
    line-height: 1.1em;
    background-color: transparent;
  }
  .hero--subcatch--text .small {
    font-size: 1.8rem;
  }
  .page-kasaihoken .hero--catch {
    color: #F15C5C;
    text-shadow: 2px 2px 10px #fff;
    font-size: 2.25rem; /* 36px */
  }
  .hero--hukidashi {
    color: #fff;
    background: #F15C5C;
    font-size: 1.2rem;
    position: relative;
    max-width: 260px;
    margin: auto;
    text-align: center;
    margin-bottom: 10px;
  }
  .hero--hukidashi::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: calc(50% - 8px / 2);
    display: block;
    border-style: solid;
    border-width: 10px 4px 0 4px;
    border-color: #F15C5C transparent transparent transparent;
  }
  .home_urgent-news .text {
    border: solid 1px #F15C5C;
    outline: solid 2px #F15C5C;
    outline-offset: 2px;
    border-radius: 1px;
    padding: 30px 26px 20px;
    margin: 10px auto;
    font-family: Hiragino UD Sans W6 JIS2004;
    font-size: 1rem;
  }
  .home_flow--box {
    counter-reset: number;
  }
  @media screen and (max-width: 767px) {
    .hero--subcatch {
      align-items: flex-start;
    }
    .hero--subcatch::after {
      border-top: solid 12px rgb(125 207 218);
    }
    .hero--subcatch--text {
      line-height: 1.1em;
      font-size: 10vw;
      white-space: nowrap;
    }
    .hero--subcatch--text .small {
     font-size: 1.429rem; /* 20px */
    }
    .hero--subcatch--icon {
      font-size: 1.286rem; /* 18px */
      width: 120px;
      height: auto;
      border-radius: 20px;
      line-height: 1.2;
      padding: 4px 0;
      margin-right: 0;
    }
    .page-kasaihoken .hero--catch {
      line-height: 1.5em;
      font-size: 1.857rem; /* 26px */
      letter-spacing: 0;
    }
    .page-kasaihoken .section_ttl {
      font-size: 1.5rem;
      margin-bottom: 18px;
    }
    .page-kasaihoken .footer--cta_area .section_ttl {
      margin-bottom: 42px;
    }
    .home_urgent-news .text {
      padding: 16px 12px;
    }
  }

/* cashless/
*************************************************** */
  .page-cashless .hero--catch {
    margin-top: 24px;
  }
  .page-cashless .hero--catch img {
    max-width: 550px;
  }

  @media screen and (max-width: 767px) {
    .page-cashless .hero--catch {
      margin-top: 10px;
    }
    .page-cashless .hero--catch img {
      max-width: 100%;
    }
    .page-cashless .hero--cta_box {
      margin-top: 0;
    }
  }


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

    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;
    display: inline-block;
  }
  .news--info .section_ttl {
    margin-bottom: 32px;
  } 
  .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;
    color: #009DB3;
    font-family: Hiragino UD Sans W3 JIS2004;
    font-size: 120%;
  }
  .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%;
    }
  }


/* 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: 0 8px 16px -2px rgba(10,10,10,.1), 0 0 0 1px rgba(10,10,10,.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;
    }
  }

/* 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 --- */
  .news_list .post {
    padding-bottom: 16px;
    padding-top: 16px;
    margin-bottom: 0;
    border-bottom: 1px solid #dedede;
  }
  .archive-news .news_list .post:not(:last-child) {
    margin-bottom: 16px;
  }
  .archive-news .news_list .post {
    padding: 16px 32px;
    border: 0;
    background: #fff;
    box-shadow: 0px 8px 16px -2px rgb(10 10 10 / 10%), 0px 0px 0px 1px rgb(10 10 10 / 2%);
  }
  .news_list .post--date {
    margin-right: 32px;
    font-weight: bold;
  }
  .archive-news .news_list .post--ttl {
    font-size: 1.2rem;
  }
  .news_list a[href="javascript:void(0);"],
  .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;
    line-height: 1.5;
  }
  .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;
      padding-left: 0;
    }
  }


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

    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;
  }
  .wp-pagenavi a[rel="prev"]::before, .wp-pagenavi a[rel="next"]::before, .wp-pagenavi .first::before, .wp-pagenavi .last::before, .wp-pagenavi .first::after, .wp-pagenavi .last::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-top: 2px solid;
    border-right: 2px solid;
  }
  .wp-pagenavi a[rel="next"]::before, .wp-pagenavi .last::before, .wp-pagenavi .last::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .wp-pagenavi a[rel="prev"]::before, .wp-pagenavi .first::before, .wp-pagenavi .first::after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .wp-pagenavi a[rel="prev"]::before, .wp-pagenavi a[rel="next"]::before, .wp-pagenavi .first::before, .wp-pagenavi .last::before, .wp-pagenavi .first::after, .wp-pagenavi .last::after {
    width: 8px;
    height: 8px;
  }
  @media screen and (max-width: 767px) {
    .wp-pagenavi {
      margin-bottom: 0;
    }
  }

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

    CF7

############################################################################## */
  span.wpcf7-list-item {
    display: block;
  }
  .small .wpcf7-form-control-wrap {
    display: inline-block;
    margin-right: 10px;
  }
  #wpcf7-submit_btn {
    text-align: center;
    margin-top: 40px;
    margin-left: 48px;
  }
  #wpcf7-submit_btn input[type="submit"] {
    appearance: none;
    border: none;
    padding: 16px 80px;
    background-color: #FF9600;
    color: #fff;
    font-family: Hiragino UD Sans W5 JIS2004;
    cursor: pointer;
    font-size: 1.25rem;
  }
  .wood_opt {
    margin-top: 10px;
  }
  .note_text {
    margin-top: 20px;
    text-align: center;
  }
  .inv-recaptcha-holder {
    display: flex;
    justify-content: center;
    margin-top: 40px;
  }
  .wpcf7 .wpcf7-recaptcha[data-align="center"] > div {
    margin: 20px auto 0;
  }

  @media screen and (max-width: 767px) {
    #wpcf7-submit_btn {
      margin-left: 0;
    }
  }