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

    COMMON

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

  html {
    height: 100%;
    overflow-y: scroll;
  }
  body {
    height: 100%;
    color: #282727;
    font-size: 16px;
    font-family: YuGothic, 游ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  }
  a { text-decoration: none; }

  @media screen and (max-width: 767px) {
    body {
      font-size: 15px;
    }
    .txt-sp-lft {
      text-align: left;
    }
  }

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

  /* --- inner --- */
  .inner {
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
  }
  .inner-sm { max-width: 880px; }
  .inner-lg { max-width: calc(100% - 200px); }

  /* --- section_pdg --- */
  .section_pdg {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  /* --- float --- */
  .flt-rgt { float: right; }
  .flt-lft { float: left; }

  /* --- position --- */
  .pos_rel {
    position: relative;
    z-index: 0;
  }

  /* --- margin --- */
  .mgn-btm8 { margin-bottom: 8px; }
  .mgn-btm16 { margin-bottom: 16px; }
  .mgn-btm24 { margin-bottom: 24px; }
  .mgn-btm32 { margin-bottom: 32px; }
  .mgn-btm40 { margin-bottom: 40px; }
  .mgn-btm48 { margin-bottom: 48px; }
  .mgn-btm56 { margin-bottom: 56px; }
  .mgn-btm64 { margin-bottom: 64px; }
  .mgn-btm72 { margin-bottom: 72px; }
  .mgn-btm80 { margin-bottom: 80px; }

  /* --- pc or sp --- */
  .pc-none,
  .pc-none-inline,
  .pc-none-table,
  .pc-none-flex { display: none; }
  .sp-none { display: block; }
  .sp-none-inline { display: inline; }
  .sp-none-table { display: table; }
  .sp-none-flex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  @media screen and  (max-width: 767px) {
    .inner,
    .inner-lg {
      width: 90%;
      max-width: 90%;
    }
    .mgn-btm16 { margin-bottom: 8px; }
    .mgn-btm24 { margin-bottom: 16px; }
    .mgn-btm32 { margin-bottom: 16px; }
    .mgn-btm40 { margin-bottom: 24px; }
    .mgn-btm48 { margin-bottom: 24px; }
    .mgn-btm56 { margin-bottom: 32px; }
    .mgn-btm64 { margin-bottom: 32px; }
    .mgn-btm72 { margin-bottom: 40px; }
    .mgn-btm80 { margin-bottom: 40px; }
    .sp-none,
    .sp-none-inline,
    .sp-none-table,
    .sp-none-flex { display: none; }
    .pc-none { display: block; }
    .pc-none-inline { display: inline; }
    .pc-none-table { display: table; }
    .pc-none-flex {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
    }

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

/* flex
**************************************** */

  /* --- ブロック要素 --- */
  .flex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  /* --- インライン要素 --- */
  .flex-inline {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }

  /* --- 逆向き --- */
  .flex-reverse {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  /* --- 縦並び --- */
  .flex-column {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  /* --- 水平方向揃え --- */
  .flex-j-start {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .flex-j-end {
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .flex-j-ctr {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .flex-j-between {
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .flex-j-around {
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }

  /* --- 垂直方向揃え --- */
  .flex-a-start {
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .flex-a-end {
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .flex-a-ctr {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .flex-a-baseline {
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
  }
  .flex-a-stretch {
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  /* --- 子要素の折り返し設定 --- */
  .flex-c-nowrap {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  .flex-c-wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  /* --- 子要素の複数行設定 --- */
  .flex-c-reverse {
    -webkit-flex-wrap: wrap-reverse;
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
  }
  .flex-c-start {
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
  }
  .flex-c-start {
    -webkit-align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
  }
  .flex-c-end {
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
    align-content: flex-end;
  }
  .flex-c-ctr {
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
  }
  .flex-c-baseline {
    -webkit-align-content: baseline;
    -ms-flex-line-pack: baseline;
    align-content: baseline;
  }
  .flex-c-stretch {
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
  }

  @media screen and (max-width: 767px) {
    /* --- 縦並び - sp --- */
    .flex-sp-block {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }

/* txt
**************************************** */
  .txt-lg { font-size: 107%; }
  .txt-sm { font-size: 93%; }
  .txt-ctr { text-align: center; }
  .txt-rgt { text-align: right; }
  .txt-attention-kome {
    position: relative;
    padding-left: 1.4em;
  }
  .txt-attention-kome::before {
    content: '※';
    position: absolute;
    left: 0;
    top: 0;
  }
  .txtarea p:not(:last-child) { margin-bottom: 1em; }

/* page_ttl
********************************************** */
  #page_ttl {
    position: relative;
    color: #fff;
    text-align: center;
    background: #37b top center fixed;
    background-size: auto;
    text-shadow: 0 0 50px #000;
  }
  #page_ttl::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .25);
  }
  #page_ttl_in {
    position: relative;
    overflow: hidden;
  }
  #page_ttl_in .container {
    position: relative;
    padding-top: 270px;
    padding-bottom: 175px;
    z-index: 10;
    line-height: 1.7;
  }
  #page_ttl_in .page_ttl-jp {
    display: block;
    font-size: 225%;
    letter-spacing: .13em;
  }
  #page_ttl_in .page_ttl-en {
    font-size: 125%;
    text-transform: uppercase;
    letter-spacing: .01em;
  }

  @media screen and (max-width: 1080px) {
    #page_ttl,
    #page_ttl_in::before {
      font-size: 130%;
      background-size: auto 120px;
      background-position: top 65px center;
    }
    #page_ttl_in .container {
      padding-top: 54px;
      padding-bottom: 54px;
      text-align: left;
    }
    #page_ttl_in .page_ttl-jp {
      font-size: 173.333%;
    }
    #page_ttl_in .page_ttl-en {
      font-size: 93.333%;
    }
  }

/* row
********************************************** */
  @media screen and (max-width: 1100px) {
    .row {
      margin-left: 0px;
      margin-right: 0px;
    }
    .content-column .container {
      padding-left: 0;
      padding-right: 0;
    }
  }


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

    下層モジュール

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

/* ttl
********************************************** */
  .ttl-01,
  .ttl-02,
  .ttl-03 {
    position: relative;
    z-index: 1;
  }
  .ttl-01,
  .ttl-02 {
    padding-left: 16px;
    padding-right: 16px;
    text-align: center;
  }
  .ttl-01 {
    z-index: 1;
    margin-bottom: 48px; /* .ttl-02 の margin-top と同じ数字にする */
    font-size: 237%;
    letter-spacing: .06em;
  }
  .ttl-01 span {
    display: inline-block;
  }
  .ttl-01 span::after {
    content: '';
    display: block;
    width: 56px;
    height: 3px;
    margin-top: 12px;
    margin-left: auto;
    margin-right: auto;
    background-color: #cccccc;
  }
  .ttl-02 {
    margin-bottom: 40px;
    font-size: 212.5%;
  }
  .ttl-02:not(:first-child) {
    margin-top: 48px; /* .ttl-01 の margin-bottom と同じ数字にする */
  }
  .ttl-03 {
    margin-bottom: 24px;
    font-size: 212.5%;
  }

  @media screen and (max-width: 1080px) {
    .ttl-01 {
      margin-bottom: 24px;
      padding-left: 24px;
      padding-right: 24px;
      font-size: 200%;
    }
    .ttl-01::before {
      top: 0;
      margin: 25px auto 0;
    }
    .ttl-02 {
      margin-top: 40px;
      margin-bottom: 24px;
      padding-left: 24px;
      padding-right: 24px;
      font-size: 200%;
    }
    .ttl-03 {
      font-size: 186.666%;
      margin-bottom: 16px;
    }
  }

/* btn
********************************************** */
  .btn {
    position: relative;
    z-index: 1;
  }
  .btn a {
    position: relative;
    z-index: 1;
    overflow: hidden;
    min-width: 292px;
    padding: 20px 50px;
    font-size: 106%;
    text-align: center;
    border-radius: 50px;
  }
  .btn a::before {
    content: '';
    position: absolute;
    top: calc(50% - 8px / 2);
    right: 20px;
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    transform: rotate(45deg);
    transition: all .4s ease-out;
  }
  .btn a:hover {
    color: #fff;
  }
  .btn a:hover::before {
    left: auto;
    border-color: #fff;
  }
  .content-child .inner {
    display: flex;
    flex-direction: column;
  }
  .content-column .btn,
  .content-button .btn {
    text-align: center;
  }
  .content-child .text {
    display: flex;
    flex: 1;
    flex-direction: column;
  }
  @media all and (-ms-high-contrast: none){
    .content-child .text {
      display: block;
      flex: auto;
    }
  }
  .content-img_text .text {
    justify-content: center;
  }
  .content-child .mce-content-body { width: 100%; }
  .content-child .mce-content-body:not(:last-child) { margin-bottom: 40px; }
  .content-child .btn:not(:first-child) { margin-top: auto; }
  .content-button { margin-bottom: 16px; }
  .content-button .btn + .btn { margin-left: 16px; }
  .content-section .btn a:hover .icon-svg {
    fill: #fff;
  }

  @media screen and (max-width: 767px) {
    .btn {
      width: 100%;
    }
    .btn a {
      width: 80%;
      min-width: auto;
      padding: 8px 48px;
      min-height: 0;
    }
    .btn a[target="_blank"] {
      padding-right: 52px;
    }
    .content-section .btn .icon-new_tab {
      right: 30px;
    }
    .content-img_text .text {
      justify-content: center;
    }
  }


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

    HEADER

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

  #header {
    position: absolute;
    top: 46px;
    left: 0;
    z-index: 9999;
    width: calc(100% - 80px);
    height: 80px;
    margin-left: 40px;
    margin-right: 40px;
    border-radius: 10px;
    background-color: #fff;
    transition: all .2s ease-out;
  }
  .head--logo {
    flex-shrink: 0;
    margin-right: 40px;
    padding-left: 32px;
    font-size: 200%;
    line-height: 48px;
  }
  .head--logo img {
    transform: translateY(1px);
  }
  @media all and (-ms-high-contrast: none){
    .head--logo img { max-height: 62px; }
  }
  .head--logo a {
    display: block;
  }
  .head--logo a:hover {
    opacity: .7;
  }
  .gnav--rgt,
  .gnav--rgt ul,
  .gnav--rgt li {
    height: 100%;
  }
  .gnav--rgt {
    flex-shrink: 0;
  }
  #gnav .gnav--rgt { display: none; }

  @media screen and (max-width: 1500px) {
    .head--logo {
      width: 320px;
    }
  }
  @media screen and (max-width: 1400px) {
    .head--logo {
      width: 280px;
      margin-right: 16px;
    }
  }
  @media screen and (max-width: 1080px) {
    #header {
      top: 24px;
    }
    .head--logo {
      margin-right: 0;
    }
    .head--logo img {
      width: auto;
    }
    #header {
      position: fixed;
      top: 0;
      width: 100%;
      height: 60px;
      margin-left: 0;
      margin-right: 0;
      padding: 16px;
      border-radius: 0;
    }
    #header .container { width: 100%; }
    .header_table {
      display: flex;
      align-items: center;
    }
    .head--logo {
      width: 80%;
      margin-right: auto;
      padding-left: 4%;
    }
    .head--logo img {
      padding: 0;
      height: auto;
      max-height: 36px;
      max-width: 100%;
    }
    #header .head--logo img {
      height: auto;
      max-height: 36px;
    }
    .head_tel svg {
      width: 20px;
      height: 27px;
    }
    .gnav--rgt,
    .gnav--rgt ul,
    .gnav--rgt li {
      width: 100%;
      height: auto;
    }
    .gnav--rgt ul {
      width: 86%;
      margin-left: auto;
      margin-right: auto;
    }
  }
  @media screen and (max-width: 767px) {
    #header .gnav--rgt { display: none; }
  }

/* head_contact
********************************************** */
  .head_contact {
    display: flex;
    margin-left: 16px;
  }
  .head_contact a {
    width: 80px;
    height: 100%;
    padding: 8px;
    color: #fff;
  }
  #header .head_contact a {
    border-radius: 0 10px 10px 0;
  }
  .head_contact a span {
    display: block;
    font-size: 94%;
    white-space: nowrap;
    letter-spacing: .005em;
  }
  .head_contact svg {
    width: 31px;
    height: 22px;
    fill: #fff;
  }
  @media screen and (max-width: 1200px) {
    .head_contact {
      margin-left: 8px;
    }
  }
  @media screen and (max-width: 1080px) {
    .head_contact {
      margin-left: 0;
    }
    .head_contact a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      padding: 16px;
      border-radius: 5px;
    }
    .head_contact a span {
      font-size: 106%;
      font-weight: bold;
    }
    .head_contact svg {
      width: 21px;
      height: 15px;
      margin-right: 8px;
    }
    #header .head_contact {
      display: none;
    }
  }

/* head_tel
********************************************** */
  .head_tel {
    margin-right: 32px;
  }
  .head_tel svg {
    width: 27px;
    height: 31px;
  }
  .head_tel .tel_number {
    font-size: 212.5%;
  }

  @media screen and (max-width: 1700px) and (min-width: 1080px) {
    .head_tel {
      font-size: 80%;
    }
  }
  @media screen and (max-width: 1450px) {
    .head_tel .tel_number,
    .head_tel .tel_time {
      display: none;
    }
    .head_tel a {
    }
    .head_tel i {
      position: relative;
      top: 0;
      transform: none;
    }
    .head_tel svg {
      top: 23px;
      left: 8px;
      transform: scale(0.8,0.8);
    }
    #gnav .gnav--rgt .head_tel a {
      font-size: 100%;
      padding-left: 0;
    }
  }
  @media screen and (max-width: 1080px) {
    .head_tel {
      display: block;
      margin-left: 0;
      margin-bottom: 16px;
      text-align: center;
    }
    .head_tel .tel_number {
      font-size: 260%;
      letter-spacing: .01em;
    }
    .head_tel svg {
      width: 30px;
      height: 35px;
    }
  }

/* tel_box
********************************************** */
  .tel_box a {
    line-height: 1;
  }
  .tel_box i {
    position: absolute;
    left: 0;
    top: 16px;
    font-size: 170%;
    transform: translateY(-50%);
  }
  .tel_box .tel_time {
    letter-spacing: .08em;
    display: block;
    margin-top: 4px;
    color: #434343;
    font-size: 87.5%;
  }
  .tel_box .tel_number {
    display: inline-block;
    margin-bottom: 4px;
  }

/* gnav
********************************************** */
  #gnav {
    position: relative;
    width: 100%;
    height: 100%;
    border: none;
  }
  .gnav--menu {
    height: 100%;
  }
  .gnav--menu > li {
    position: relative;
    display: flex;
    align-items: center;
  }
  .gnav--menu > li a::after {
    content: '';
    position: absolute;
    top: calc(50% - 8px / 2);
    left: 0;
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 10px;
    border-top: 2px solid #56bcec;
    border-right: 2px solid #56bcec;
    transform: rotate(45deg);
  }
  .gnav--link > a {
    position: relative;
    display: inline-block;
    padding: 24px 24px 24px 16px;
    color: #222222;
    font-size: 93.75%;
  }
  .gnav--link > a:hover {
    color: #222222;
  }
  .gnav_sub_toggle {
    display: none;
  }

  /* --- head_sub_nav --- */
  .head_sub_nav {
    position: absolute;
    top: 100%;
    left: -25%;
    z-index: -1;
    display: block;
    width: 150%;
    padding: 24px 0 24px 16px;
    font-size: 93%;
    background-color: #fff;
    border-radius: 0 0 6px 6px;
    transition: all .2s;
    opacity: 0;
    visibility: hidden;
  }
  .head_sub_nav::before {
    content: '';
    display: block;
    position: absolute;
    top: -22px;
    left: calc(50% - 18px / 2);
    width: 18px;
    height: 18px;
    background-color: #fff;
    transition: all .2s;
    transform: rotate(45deg);
  }
  .gnav--menu li:hover .head_sub_nav::before {
    top: -9px;
  }
  .head_sub_nav a {
    position: relative;
    display: block;
    padding: 8px 16px;
    color: #fff;
    line-height: 1.5;
  }
  .head_sub_nav a:hover {
    color: #fff;
    opacity: .5;
  }
  .head_sub_nav.active {
    opacity: 1;
    visibility: visible;
  }

  @media screen and (max-width: 1500px) {
    .gnav--menu a {
      padding: 24px 18px 24px 16px;
    }
  }

  @media screen and (max-width: 1400px) {
    .head_tel {
      display: none;
    }
    .gnav--menu a {
      padding: 24px 12px 24px 16px;
    }
  }
  @media screen and (max-width: 1200px) {
    .gnav--menu {
      justify-content: center;
    }
    .gnav--menu a {
      font-size: 90%;
    }
    #gnav .gnav--rgt .head_tel a {
      font-size: 100%;
      padding-left: 0;
    }
  }

  @media screen and (max-width: 1080px) {
    /* --- gnav --- */
    #gnav {
      display: none;
    }
    .gnav--menu {
      display: block;
      width: 86%;
      height: auto;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 24px;
    }
    .gnav--menu a {
      font-size: 100%;
    }
    .gnav--menu::before {
      display: none;
    }
    .gnav--menu li {
      display: block;
    }
    .head_sub_nav,
    .gnav--menu a {
      border-bottom: 1px solid #dedede;
    }
    .gnav--menu > li a::after {
      left: auto;
      right: 0;
    }
    .gnav--menu li:hover .head_sub_nav {
      opacity: 1;
      visibility: visible;
    }
    .gnav--menu .submenu .gnav--link > a::after {
      content: '+';
      font-size: 120%;
      font-weight: bold;
      line-height: 0;
      border: none;
      transform: rotate(0);
    }
    .gnav--menu .submenu.active .gnav--link > a::after {
      content: '-';
    }
    .gnav--link {
      position: relative;
      display: block;
      width: 100%;
    }
    .gnav--link a {
      display: block;
    }
    .gnav_sub_toggle {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      width: 20%;
      height: 100%;
      cursor: pointer;
      transition: all .2s;
    }

    /* --- gnav-btn --- */
    .gnav-btn,
    .gnav-btn span {
      display: inline-block;
      transition: all .4s;
      box-sizing: border-box;
    }
    .gnav-btn {
      position: fixed;
      top: 0;
      right: 0;
      z-index: 100000;
      width: 60px;
      height: 60px;
      padding: 20px 18px;
      cursor: pointer;
    }
    .gnav-btn p {
      position: relative;
      width: 100%;
      height: 100%;
    }
    .gnav-btn span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #282727;
    }
    .gnav-btn span:nth-of-type(1) { top: 0; }
    .gnav-btn span:nth-of-type(2) { top: 9px; }
    .gnav-btn span:nth-of-type(3) { bottom: 0; }
    .gnav-btn.active span:nth-of-type(1) {
      -webkit-transform: translateY(9px) rotate(-45deg);
      transform: translateY(9px) rotate(-45deg);
    }
    .gnav-btn.active span:nth-of-type(2) { opacity: 0; }
    .gnav-btn.active span:nth-of-type(3) {
      -webkit-transform: translateY(-9px) rotate(45deg);
      transform: translateY(-9px) rotate(45deg);
    }

    /* --- head_sub_nav --- */
    .head_sub_nav {
      position: relative;
      top: auto;
      left: auto;
      z-index: 5;
      width: 100%;
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      border-radius: 6px;
      background: transparent !important;
    }
    .head_sub_nav::before {
      display: none;
    }
    .head_sub_nav li {
      min-height: 0;
      height: 0;
      margin-left: 32px;
    }
    .head_sub_nav.active li {
      min-height: 100%;
      height: 100%;
      transition: .2s ease-out;
    }
    .head_sub_nav a {
      position: relative;
      padding: 14px 16px;
      color: #282727;
      text-align: left;
    }
    .head_sub_nav li:last-child a {
      border-bottom: none;
    }
    .head_sub_nav > li a::after {
      left: 0;
      right: auto;
      border-color: #282727;
    }

    /* --- head_tel --- */
    .head_tel {
      display: block;
    }
  }

  @media screen and (max-width: 767px) {
    #gnav {
      padding: 64px 5% 24px;
    }
  }

/* fixed_nav
********************************************** */
  .fixed_nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    width: 100%;
    height: 80px;
    background-color: #fff;
    transition: .2s ease-out;
    transform: translateY(-100%);
  }
  .fixed_nav.active {
    transform: translateY(0);
  }

  @media screen and (max-width: 1080px) {
    .fixed_nav {
      display: block;
      height: 100%;
      padding-top: 16px;
      padding-bottom: 40px;
      overflow: auto;
    }
    .fixed_nav .head--logo {
      margin-bottom: 16px;
    }
  }


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

    FOOTER

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

  .footer {
    padding-top: 54px;
    padding-bottom: 24px;
    color: #fff;
    background-color: #303030;
  }
  @media screen and (max-width: 767px) {
    .footer {
      padding-left: 16px;
      padding-right: 16px;
    }
  }

/* foot_tel
********************************************** */
  .foot_tel {
    max-width: 434px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    border-radius: 2px;
  }
  .foot_tel a {
    padding: 16px;
    line-height: 1;
    color: #fff;
  }
  .foot_tel a:hover {
    color: #fff!important;
  }
  .foot_tel--num {
    display: flex !important;
  }
  .foot_tel--icon svg {
    width: 27px;
    height: 31px;
    margin-right: 16px;
    fill: #fff;
  }
  .foot_tel--txt {
    text-align: left;
  }
  .foot_tel--txt .tel_number {
    display: inline-block;
    color: #fff;
    font-size: 280%;
  }
  .foot_tel--txt .tel_time {
    display: block;
    margin-top: 4px;
    font-size: 80%;
  }
  .foot_tel small {
    font-weight: bold;
  }

  @media screen and (max-width: 767px) {
    .foot_tel--txt .tel_number {
      font-size: 180%;
    }
  }

/* foot_contact
********************************************** */
  #foot_contact {
    padding: 100px 0;
    border-top: none;
  }
  #foot_contact .col-md-8 {
    left: auto;
    width: 888px;
    max-width: 100%;
    margin: auto;
    float: none;
  }
  #formy_form {
    margin-top: 32px;
    background-color: #fff;
    border-radius: 2px;
    padding: 56px 104px 120px;
    box-shadow: 0 0 2px .09px rgba(0, 0, 0, 0.1);
  }
  a[name="confirm"] {
    position: relative;
    display: block;
    top: -128px;
  }
  .pbf {
    opacity: .5;
  }

  @media screen and (max-width: 767px) {
    #foot_contact {
      padding: 40px 0;
    }
    #foot_contact .tel_btn a small {
      margin-top: 8px;
    }
  }

/* footer--top
********************************************** */
  .footer--top {
    padding-bottom: 54px
  }

  /* --- footer--logo --- */
  .footer--logo {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  @media all and (-ms-high-contrast: none){
    .footer--logo img { max-width: 320px; }
  }

  @media screen and (max-width: 767px) {
    .footer--top {
      padding-bottom: 24px;
      margin-bottom: 24px;
    }
    .footer--logo {
      max-width: none;
    }
    .footer--logo img {
      margin-left: auto;
      margin-right: auto;
    }
  }

/* foot_nav
********************************************** */
  #foot_nav {
    margin-bottom: 64px;
  }
  .foot_nav--list a {
    padding: 16px 24px;
    color: #fff;
    font-weight: bold;
  }
  .foot_nav--list li {
    position: relative;
  }
  .foot_nav--list li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: calc(50% - 1em / 2);
    right: 0;
    display: block;
    width: 1px;
    height: 1em;
    background-color: #fff;
  }
  @media screen and (max-width: 767px) {
    #foot_contact {
      padding-top: 40px;
      padding-bottom: 40px;
    }
    #formy_form {
      position: relative;
      z-index: 1;
      margin-top: 0;
      padding: 40px 20px 40px;
    }
    .foot_nav--list .flex {
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .foot_nav--list li {
      width: 50%;
      text-align: left;
    }
    .foot_nav--list li:not(:last-child)::after {
      display: none;
    }
    .foot_nav--list li a,
    .foot_nav--list li:not(:last-child) a {
      display: block;
      padding: 8px 12px;
    }
  }

/* footer--btm
********************************************** */
  .footer--btm {
    padding-bottom: 24px;
  }

/* sns_area
********************************************** */
  .sns_area {
    margin-left: 16px;
  }
  .sns_area li:not(:last-child) {
    margin-right: 16px;
  }
  .sns_area li a {
    width: 20px;
    height: 20px;
    font-size: 20px;
  }
  #header .sns_area li i {
    font-size: 120%;
  }

  @media screen and (max-width: 767px) {
    .sns_area {
      justify-content: center;
      margin-left: 0;
    }
    .sns_area li a {
      width: 40px;
      height: 40px;
      line-height: 40px;
      font-size: 160%;
      padding: 0;
    }
    .sns_area li a:hover::before {
      display: none;
    }
  }

/* page_top
********************************************** */
  #page_top {
    display: block;
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;
    width: 64px;
    height: 64px;
    font-size: 90%;
  }
  #page_top::before,
  #page_top::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 1px;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
  }
  #page_top::before {
    bottom: 8px;
    height: 48px;
  }
  #page_top::after {
    bottom: 40px;
    height: 16px;
    transform: rotate(25deg) translate(-4px,0);
  }
  #page_top:hover::before { height: 56px; }
  #page_top:hover::after { bottom: 48px; }
  @media all and (-ms-high-contrast:none) {
    #page_top::after {
      top: 8px;
      height: 16px;
      transform: rotate(25deg) translate(-3px,0);
    }
    #page_top:hover::after { bottom: 56px; }
  }
  #page_top span {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: table;
    transform: rotate(90deg) translate(0,-32px);
  }
  @-moz-document url-prefix() {
    #page_top span {
      transform: rotate(90deg) translate(18px,-16px);
    }
  }
  @media all and (-ms-high-contrast:none) {
    #page_top span {
      transform: rotate(90deg) translate(18px,-32px);
    }
  }

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

/* pbll
********************************************** */
  .copyright {
    text-align: center;
    font-size: 87%;
    line-height: 1.5;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .pbll {
    display: block;
    opacity: .5;
    margin-left: 16px;
  }
  .pbll:hover { opacity: 1; }

  @media screen and (max-width: 767px) {
    .pbll { margin-top: 8px; }
  }


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

    INDEX

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

  #wrapper { position: relative; }

/* main_visual
********************************************** */
  .main_visual {
    position: relative;
    height: 900px;
    background-size: cover;
    background-position: center;
  }
  .main_visual::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 74px;
    background: url('/wp/wp-content/themes/lite_child-people/images/main_visual.svg');
  }
  .main_visual_catch {
    position: relative;
    z-index: 1;
    width: 88%;
    max-width: 1200px;
    height: 100%;
    font-size: 187.5%;
  }
  .main_visual_catch span {
    display: inline-block;
    padding: 16px 24px;
    line-height: 1;
    letter-spacing: .13em;
    background-color: #fff;
  }
  .main_visual_catch span:not(:last-child) {
    margin-bottom: 14px;
  }
  .sm-slider {
    position: absolute;
    z-index: 0;
    display: block;
    list-style: none;
    width: 100%;
    height: 100%;
    list-style: none;
  }
  .sm-slider li span {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    color: transparent;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: none;
    opacity: 0;
  }
  .sm-slider li div {
    position: absolute;
    bottom: 30px;
    left: 0;
    z-index: 1000;
    width: 100%;
    text-align: center;
    opacity: 0;
    color: #fff;
  }

  @media screen and (max-width: 1080px) {
    .sm-slider {
      left: 0;
      width: 100%;
    }
    .sm-slider::after {
      background-color: rgba(0,0,0,.3);
    }
    #page_ttl {
      margin-top: 60px;
    }
    .main_visual {
      height: 512px;
      background-position: 80%;
    }
    .main_visual_catch {
      padding: 0 2%;
      font-size: 180%;
      line-height: 1.8;
    }
    .main_visual::after {
      height: 15px;
      background: url(/wp/wp-content/themes/lite_child-people/images/main_visual-sp.svg);
      background-size: cover;
    }
  }

/* home_news
********************************************** */
  .news_list {
    padding-left: 40px;
    padding-right: 40px;
  }
  .news_list--ttl {
    font-size: 200%;
  }
  .news_list--ttl span::before,
  .news_list--ttl span::after {
    content: '';
    display: block;
    width: 32px;
    height: 3px;
    background-color: #4b4b4b;
  }
  .news_list--ttl span::before {
    margin-right: 24px;
    transform: rotate(55deg);
  }
  .news_list--ttl span::after {
    margin-left: 24px;
    transform: rotate(-55deg);
  }
  .news_list--ttl span {
    display: inline-flex;
    align-items: center;
  }
  .news_list .post {
    width: 204px;
  }
  .news_list .post--ttl {
    font-size: 93.75%;
  }
  .news_list .cat_link {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .news_list .cat_link a {
    font-size: 75%;
  }
  .news_list .post_img {
    position: relative;
    width: 100%;
    margin-bottom: 8px;
  }
  .news_list .post_img > div {
    width: 100%;
    padding-top: 100%;
    background-position: center;
    background-size: cover;
  }
  .home_news .more_btn {
    position: absolute;
    top: 20px;
    right: 0;
  }
  .home_news .more_btn a {
    position: relative;
    width: 107px;
    font-size: 86%;
    border: 1px solid #979797;
    border-radius: 2px;
    min-width: auto;
    padding: 0;
    background-color: transparent;
  }
  .home_news .more_btn a::before {
    content: '';
    position: absolute;
    top: calc(50% - 6px / 2);
    right: 6px;
    display: block;
    width: 6px;
    height: 6px;
    border-top: solid 1px #000;
    border-right: solid 1px #000;
    transform: rotate(45deg);
  }
  .home_news .more_btn a:hover { color: #fff; }

  @media screen and (max-width: 1100px) {
    .home main .home_news.inner { max-width: 90%; }
  }
  @media screen and (max-width: 767px) {
    .home_news .flex {
      flex-wrap: wrap;
    }
    .news_list {
      margin-bottom: 24px;
      padding-left: 0;
      padding-right: 0;
    }
    .news_list .post {
      display: flex;
      width: 100%;
    }
    .news_list .post:not(:last-child) {
      margin-bottom: 8px;
    }
    .news_list .post_img {
      width: 20%;
      margin-bottom: 0;
      margin-right: 16px;
    }
    .news_list .txt {
      flex: 1;
    }
    .news_list .post_info {
      position: relative;
      bottom: auto;
      right: auto;
      margin-bottom: 4px;
    }
    .news_list .cat_link {
      position: relative;
      bottom: auto;
      right: auto;
    }
    .news_list .cat_link a {
      padding: 4px 8px;
    }
    .post_info .date,
    .post--date,
    .news_list .date {
      width: auto;
      margin-right: 8px;
      padding: 4px 0;
    }
    .home_news .more_btn {
      position: relative;
      top: auto;
      right: auto;
      text-align: center;
    }
    .home_news .more_btn a {
      display: inline-block;
      width: auto;
      padding: 8px 32px;
    }
  }

/* .content-child
********************************************** */
  .content-child {
    z-index: 2;
  }
  .content-child .img img {
    border-radius: 10px;
  }
  .content-img_text .inner {
    flex-direction: row;
  }
  .content-img_text .text {
    justify-content: flex-start;
  }

/* トップ用 .content-child
********************************************** */
  .home .content-column {
    max-width: 1200px;
    padding-bottom: 0;
  }
  .home .content-column .container {
    padding-left: 0;
    padding-right: 0;
    max-width: none;
  }
  .home .content-column.column-1:not(:last-child) {
    padding-bottom: 40px;
  }
  .home .content-column.column-1 + .column-1 {
    margin-top: 0;
  }
  @media screen and (max-width: 767px) {
    .home .content-section .ttl-01 {
      padding-top: 40px;
    }
    .home .content-column.column-1 .mce-content-body .aligncenter {
      margin: 0;
    }
  }

/* トップ用 .content-child #section-01 2カラム時
********************************************** */
  .home #section-01 .content-section-bg {
    height: 384px;
  }
  .home .content-column.column-2 {
    max-width: 1460px;
    margin-top: 320px;
    padding: 170px 170px 170px 24px;
    background-color: #fff;
  }
  .home .content-column.column-2 .row {
    margin-left: 0;
    margin-right: 0;
  }
  .home .content-column.column-2 .row > div {
    padding: 0;
  }
  .home .content-column.column-2 .ttl-03 {
    padding-left: 144px;
    font-size: 206%;
    text-align: left;
    line-height: 1.5;
    letter-spacing: .09em;
  }
  .home .content-column.column-2 .ttl-03::before {
    content: '';
    position: absolute;
    top: .7em;
    left: 0;
    display: block;
    width: 120px;
    height: 2px;
    background-color: #56bcec;
  }
  .home .content-column.column-2 .text p {
    font-weight: bold;
    line-height: 2;
    letter-spacing: .06em;
    font-size: 106%;
  }
  .home .content-column.column-2 .text p:not(:last-child) {
    margin-bottom: 2em;
  }
  .home .content-column.column-2 .btn {
    text-align: left;
  }
  .home .content-column.column-2 .btn a {
    text-align: center;
    background-color: transparent;
    border: 1px solid;
  }
  .home .content-column.column-2 .btn a:hover {
    color: #fff;
  }
  .home .content-column.column-2 .btn a:hover::before {
    border-color: #fff;
  }

  @media screen and (max-width: 1080px) {
    .home .content-column.column-2 {
      width: 94%;
      margin-top: 320px;
      padding: 80px 80px 80px 24px;
    }
    .home .content-column.column-2 .ttl-03 {
      padding-left: 84px;
      padding-right: 40px;
    }
    .home .content-column.column-2 .ttl-03::before {
      width: 60px;
    }
  }
  @media screen and (max-width: 767px) {
    .home .content-column.column-2 {
      padding: 40px 40px 40px 24px;
    }
    .home .content-column.column-2 .ttl-03 {
      padding-left: 48px;
      padding-right: 0;
    }
    .home .content-column.column-2 .ttl-03::before {
      width: 32px;
    }
    .home .content-column.column-2 .btn {
      text-align: center;
    }
  }

/* トップ用 .content-child 3カラム時
********************************************** */
  .home .content-column.column-3:not(:last-child) {
    margin-top: 0;
    margin-bottom: 0;
  }
  .home .content-column.column-3 .inner {
    position: relative;
    z-index: 1;
  }
  .home .content-column.column-3 .row {
    justify-content: space-between;
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 10px;
    padding-left: 0;
    padding-right: 0;
  }
  .home .content-column.column-3 .row > div {
    width: calc(33.33% - 64px);
    max-width: 320px;
    padding-left: 0;
    padding-right: 0;
  }
  .home .content-column.column-3 .row > div::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
  }
  .home .content-column.column-3 .mce_content_body {
    font-size: 93%;
  }
  .home .content-column.column-3 .img {
    padding-top: 100%;
  }
  .home .content-column.column-3 + .content-button {
    margin-top: 48px;
  }
  .home .content-column.column-3 + .content-button:last-child {
    margin-bottom: 0;
    padding-bottom: 72px;
  }
  .home .content-column.column-3 .img {
    background-size: cover;
    background-position: center;
  }
  .home .content-column.column-3 .btn a {
    width: 100%;
    color: #929292;
    border: 1px solid #929292;
    background-color: transparent;
  }
  .home .content-column.column-3 .btn a::before {
    border-color: #929292;
  }

  @media screen and (max-width: 767px) {
    .home .content-column .row > div + div {
      margin-top: 16px;
    }
    .home .content-column.column-3 .row > div {
      width: 100%;
      height: auto;
      max-width: none;
      padding-left: 16px;
      padding-right: 16px;
    }
    .home .content-column.column-3 .row {
      padding-left: 0;
      padding-right: 0;
    }
    .home .content-column.column-3 .img {
      height: 50vw;
    }
    .home .content-column.column-3 + .content-button {
      margin-top: 0;
    }
    .home .content-child:not(.column-3):first-child {
      padding-top: 40px;
    }
  }

/* トップ用 .content-img_text
********************************************** */
  .home .content-img_text .img {
    background-position: center;
    background-size: cover;
  }
  .home .content-img_text .ttl-03 {
    padding-left: 0;
    padding-right: 0;
    color: #282727;
    font-size: 237%;
  }
  .home .content-img_text .container {
    max-width: none;
    background-color: #fff;
    overflow: hidden;
    padding-left: 0;
    padding-right: 0;
  }
  .home .content-img_text .img {
    padding-top: 72%;
    border-radius: 10px;
  }
  .home .content-img_text .row {
    margin-left: 5%;
    margin-right: 5%;
    padding-top: 160px;
    padding-bottom: 80px;
  }
  .home .content-img_text .inner > div {
    width: 100%;
  }
  .home .content-img_text .inner {
    padding-right: 32px;
  }
  .home .content-img_text .col-sm-pull-6 .inner {
    padding-left: 32px;
    padding-right: 40px;
  }
  .home .content-img_text .text {
    padding: 64px 24px;
    line-height: 2;
  }
  .home .content-img_text .col-sm-pull-6 .text {
    margin-left: auto;
    margin-right: 0;
  }
  .home .content-img_text .col-sm-push-6 {
    width: 55%;
    left: 45%;
    margin-left: auto;
  }
  .home .content-img_text .col-sm-pull-6 {
    width: 45%;
    right: 55%;
  }
  .home .content-img_text .col-sm-pull-6 .ttl-03 {
    margin-bottom: 24px;
    text-align: left;
  }
  .home .content-img_text .col-sm-pull-6 .ttl-03 span {
    position: relative;
  }
  .home .content-img_text .col-sm-pull-6 .ttl-03 span::after {
    content: '';
    position: absolute;
    top: calc(50% - 2px / 2);
    right: -220%;
    display: block;
    width: 100%;
    min-width: 200px;
    height: 2px;
    background-color: #ccc;
  }
  .home .content-img_text .text .btn {
    margin-top: 32px;
  }
  .home .content-img_text .col-sm-pull-6 .text .btn {
    text-align: left;
  }
  .home .content-img_text .text .btn a {
    text-align: center;
  }

  @media screen and (max-width: 1080px) {
    .home .content-img_text .row {
      padding-top: 100px;
      padding-bottom: 0;
    }
    .home .content-img_text .col-sm-push-6 {
      left: 50%;
      width: 50%;
    }
    .home .content-img_text .col-sm-pull-6 {
      right: 50%;
      width: 50%;
      padding-left: 0;
    }
    .home .content-img_text .text {
      padding: 32px 24px;
    }
  }
  @media screen and (max-width: 767px) {
    .home .content-img_text .row {
      display: flex;
      flex-direction: column-reverse;
      flex-wrap: wrap;
      padding-top: 40px;
    }
    .home .content-img_text .text {
      padding: 0;
    }
    .home .content-img_text .col-sm-pull-6 .inner {
      padding-left: 0;
      padding-right: 0;
    }
    .home .content-img_text .col-sm-pull-6 .ttl-03 {
      font-size: 200%;
    }
    .home .content-img_text .col-sm-pull-6 .ttl-03 span::after {
      right: -140%;
    }
    .home .content-img_text .col-sm-push-6 {
      left: auto;
      width: 100%;
    }
    .home .content-img_text .col-sm-pull-6 {
      right: auto;
      width: 100%;
      margin-bottom: 40px;
    }
    .home .content-img_text .col-sm-pull-6 .text .btn {
      text-align: center;
    }
  }

  /* Wysiwyg editor
 **************************************** */
  .mce-content-body tr {
    border-bottom: 1px solid;
  }


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

    PAGE

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

/* contents
********************************************** */
  .content-section {
    position: relative;
    background-position: center;
  }
  .subpage .content-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  @media screen and (max-width: 767px) {
    .subpage .content-section {
      padding-top: 40px;
      padding-bottom: 40px;
    }
  }

/* sitemap
*************************************************** */
  .sitemap--list { width: 49%; }
  .sitemap--list-page.sitemap--list > li { margin-bottom: 10px; }
  .sitemap--list-posts.sitemap--list .sitemap--item-ttl:not(:first-child) { margin-top: 10px; }
  .sitemap--list-posts.sitemap--list > .sitemap--item-child { margin-bottom: 16px; }
  .sitemap--list li a {
    display: block;
    text-decoration: none;
  }
  .sitemap--list li a:hover {
    color: #4267b2;
    text-decoration: underline;
  }
  .sitemap--item-ttl { font-weight: bold; }
  .sitemap--item:not(.sitemap--item-ttl) { font-size: 85%; }

  /* --- category --- */
  .sitemap--list li.sitemap--item-child a { padding-left: 8px; }
  .sitemap--list li.sitemap--item-child.sitemap--item-page { padding: 6px 0 6px 24px; }
  .sitemap--list li.sitemap--item-taxonomy ul { letter-spacing: -.4em; }
  .sitemap--list li.sitemap--item-taxonomy ul li {
    display: inline-block;
    padding: 0;
    margin-right: 8px;
    letter-spacing: normal;
  }

  @media screen and (max-width: 767px) {
    .sitemap--list { width: 100%; }
    .sitemap--list-posts.sitemap--list > .sitemap--item-child { margin-bottom: 8px; }
  }


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

    ARCHIVE

############################################################################## */
  .post { position: relative; }

/* blog
 **************************************** */

  #blog_post_list .post {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: 56px 0;
    border-bottom: 1px solid rgba(51, 119, 187,.1);
    line-height: 1.8;
  }
  #blog_post_list .post:first-child { padding: 0 0 56px; }
  #blog_post_list .post--ttl {
    font-size: 138%;
    font-weight: normal;
    line-height: 1.7;
  }
  #blog_post_list .post_img {
    position: relative;
    width: 336px;
    height: 224px;
    overflow: hidden;
    margin-right: 40px;
  }
  #blog_post_list .post_img div {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
  }
  #blog_post_list .txt { flex: 1; }

  @media screen and (max-width: 767px) {
    #blog_post_list .post {
      padding: 24px 0;
    }
    #blog_post_list .post:first-child {
      padding: 0 0 24px;
    }
    #blog_post_list .post--ttl {
      font-size: 119%;
    }
    #blog_post_list .post_img {
      width: 100%;
      margin-right: 0;
      margin-bottom: 16px;
    }
  }

/* wp-pagenavi
**************************************** */
  .wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 64px;
    text-align: center;
  }
  .wp-pagenavi .pages {
    display: none;
  }
  .wp-pagenavi a,
  .wp-pagenavi .current {
    padding: 2px 20px;
    display: inline-block;
    color: #fff;
    margin: 16px 4px;
    text-decoration: none;
    font-weight: 300;
    font-size: 107%;
    border-width: 1px;
    border-style: solid;
  }
  .wp-pagenavi a {
    -webkit-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    -o-transition: all .4s ease-out;
    transition: all .4s ease-out;
  }
  .wp-pagenavi a:hover { opacity: .7; }
  .wp-pagenavi .current {
    border: 1px solid #ddd;
    color: #ddd;
  }
  .wp-pagenavi .extend { margin: 0 8px; }
  .wp-pagenavi .current { background: transparent; }
  .nextpostslink,
  .previouspostslink {
    position: relative;
    background: none !important;
    border: none !important;
    padding: 2px 16px !important;
  }
  .previouspostslink::before,
  .nextpostslink::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 16px;
    height: 16px;
    border-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    -webkit-transition: all .3s cubic-bezier(.2, .01, 1, .8);
    -moz-transition: all .3s cubic-bezier(.2, .01, 1, .8);
    -ms-transition: all .3s cubic-bezier(.2, .01, 1, .8);
    transition: all .3s cubic-bezier(.2, .01, 1, .8);
  }
  .previouspostslink::before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .previouspostslink::before { left: 20px; }
  .nextpostslink::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .nextpostslink::before { right: 20px; }

  @media screen and (max-width: 767px) {
    .wp-pagenavi {
      margin-top: 40px;
      font-size: 90%;
    }
    .wp-pagenavi a, .wp-pagenavi .current {
      padding: 4px 8px;
    }
    .previouspostslink::before, .nextpostslink::before {
      width: 12px;
      height: 12px;
    }
    .nextpostslink, .previouspostslink {
      padding: 2px 12px !important;
    }
  }
  @media screen and (max-width: 640px) {
    #mainContent .container-mini .wp-pagenavi a {
      display: block;
      margin: 2px;
      line-height: 1.2;
      padding: 8px 15px;
    }
  }

/* main_column
**************************************** */
  @media screen and (max-width: 767px) {
    .main_column { margin-bottom: 80px; }
  }
  .post--link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }
  .post_info .date,
  .post--date {
    color: #868686;
    font-size: 87.5%;
    letter-spacing: .01em;
  }

/* side_column
**************************************** */
  .side_section:not(:last-child) { margin-bottom: 64px; }
  .side--ttl {
    position: relative;
    margin-bottom: 16px;
    padding-bottom: 16px;
    font-size: 120%;
    letter-spacing: .2em;
    line-height: 1;
    border-bottom: 2px solid;
  }
  .side--list a {
    position: relative;
    display: block;
    padding-left: 1em;
    font-size: 87.5%;
  }
  .side--list a::before {
    content: '';
    position: absolute;
    top: .6em;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
  }
  .side--list .children {
    padding-left: 2em;
  }

  /* --- posts-side --- */
  .posts-side .post:not(:last-child) { margin-bottom: 16px; }
  .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;
    line-height: 1;
  }
  .post--date {
    display: inline-block;
    font-size: 85%;
  }
  .posts-side .post--date { margin-bottom: 4px; }
  .posts-side .post--ttl { line-height: 1.4; }

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

  /* --- archive-pulldown --- */
  .archive-pulldown {
    margin-left: auto;
    position: relative;
    z-index: 1;
  }
  .archive-pulldown .archive_list {
    position: relative;
    font-size: 92%;
  }
  .archive-pulldown .archive_list:not(:last-child) { margin-right: 24px; }
  .archive-pulldown .archive_list a {
    display: block;
    padding: 2px 16px;
    text-align: left;
  }
  .archive-pulldown .archive_list a:not(:last-child) { border-bottom: 1px solid #eee; }
  .archive-pulldown .archive_list--label { margin-right: 8px; }
  .archive-pulldown .archive_list--btn {
    cursor: pointer;
    border: none;
    outline: none;
    appearance: none;
    padding: 8px 54px 8px 32px;
    background-color: #fff;
    border: 1px solid #ccc;
    font-size: 73%;
    line-height: 1;
  }
  .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;
  }

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

    SINGLE

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

  .link_area {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
  }
  .link_area:hover {
    background-color:#fff;
    filter:alpha(opacity=30);
    -moz-opacity: .3;
    opacity: .3;
  }
  .single_content .post--ttl {
    font-size: 185%;
  }
  .cat_link a {
    position: relative;
    z-index: 100;
    padding: 6px 16px;
    font-size: 80%;
  }
  .cat_link a:hover {
    opacity: .7;
  }
  .home .cat_link a + a {
    margin-left: 8px;
  }
  .subpage .cat_link a {
    color: #fff;
    font-size: 81.25%;
    font-weight: bold;
  }
  .eyecatch {
    text-align: center;
    margin-bottom: 32px;
  }
  .eyecatch img {
    max-width: 100%;
    height: auto;
  }
  .pageNav--item a:hover {
    opacity: .5;
  }

  @media screen and (max-width: 767px) {
    .single_content .post--ttl {
      font-size: 160%;
      line-height: 1.5;
    }
  }

/* pageNav
**************************************** */
  #pageNav {
    text-align: center;
    width: 100%;
    margin-top: 64px;
    clear: both;
  }
  .pageNav--item {
    color: #eee;
  }
  .pageNav--item:nth-child(1),
  .pageNav--item:nth-child(3) {
    width: 40%;
  }
  .wp-pagenavi a,
  .wp-pagenavi .current,
  .pageNav--item:nth-child(2) a {
    width: 48px;
    height: 48px;
    padding: 8px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0;
    border-width: 2px;
    border-style: solid;
    border-radius: 30px;
  }
  .pageNav--item:nth-child(2) {
    width: 20%;
  }
  .pageNav--item:nth-child(2) a {
    color: #fff;
  }
  .pageNav--item a {
    display: block;
    padding: 8px 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
  }
  .single .pageNav--item a {
    width: auto;
    height: auto;
  }
  .previouspostslink:before,
  .nextpostslink:before,
  .pageNav--item:nth-child(1) a:before,
  .pageNav--item:nth-child(3) a:before {
    border-top: 1px solid;
    border-right: 1px solid;
  }
  .pageNav--item:nth-child(1) a:hover::before {
    animation: in-n-out-p-l .4s forwards;
    -webkit-animation: in-n-out-p-l .4s forwards;
  }
  .pageNav--item:nth-child(3) a:hover::before {
    animation: in-n-out-p-r .4s forwards;
    -webkit-animation: in-n-out-p-r .4s forwards;
  }
  .pageNav--item:nth-child(1) a::before,
  .pageNav--item:nth-child(3) a::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 10px;
    height: 10px;
    border-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    transition: all .3s cubic-bezier(.2, .01, 1, .8);
    -webkit-transition: all .3s cubic-bezier(.2, .01, 1, .8);
    -moz-transition: all .3s cubic-bezier(.2, .01, 1, .8);
    -ms-transition: all .3s cubic-bezier(.2, .01, 1, .8);
  }
  .pageNav--item:nth-child(1) a::before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .pageNav--item:nth-child(1) a::before {
    left: 4px;
  }
  .pageNav--item:nth-child(3) a::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .pageNav--item:nth-child(3) a::before {
    right: 4px;
  }
  .pageNav--item a:hover { opacity: 1; }
  .pageNav--item:nth-child(2) a:hover {
    color: #fff;
    text-decoration: none;
  }
  .pageNav--item span { display: inline-block; }

  @media screen and (max-width: 767px) {
    #pageNav {
      margin-top: 40px;
      font-size: 90%;
    }
    .pageNav--item a {
      padding: 6px 12px;
    }
    .pageNav--item:nth-child(1) a,
    .pageNav--item:nth-child(3) a {
      padding: 6px 12px;
    }
    .pageNav--item:nth-child(1) a::before,
    .pageNav--item:nth-child(3) a::before {
      width: 8px;
      height: 8px;
    }
    .pageNav--item:nth-child(1) a::before {
      -webkit-transform: rotate(-135deg);
      transform: rotate(-135deg);
    }
    .pageNav--item:nth-child(1) a::before {
      left: 3px;
    }
    .pageNav--item:nth-child(3) a::before {
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
    }
    .pageNav--item:nth-child(3) a::before {
      right: 3px;
    }
    .pageNav--item span {
      display: none;
    }
  }

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

    SEARCH

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

  #search-list .section_pdg {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  #search-list .ttl-01 { margin: 70px 0 0; }

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

    FORMY

############################################################################## */
  #formy_form table { width:100%; }
  #formy_form th,
  #formy_form td {
    padding: 16px;
    vertical-align: middle;
    border-bottom: solid 1px #eee;
  }
  #formy_form th {
    font-weight:normal;
    white-space: nowrap;
    text-align:left;
    width:34%;
  }
  #formy_form table input[type="text"],
  #formy_form table input[type="email"],
  #formy_form table input[type="tel"],
  #formy_form table input[type="date"],
  #formy_form table input[type="password"],
  #formy_form table textarea {
    width:100%;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    vertical-align:bottom;
  }
  #formy_form table input[type="text"],
  #formy_form table input[type="email"],
  #formy_form table input[type="tel"],
  #formy_form table input[type="date"],
  #formy_form table input[type="password"],
  #formy_form select,
  #formy_form textarea {
    margin: 0;
    padding: 5px 15px;
    border: 1px solid #ccc;
    font: inherit;
    font-size:100%;
  }
  #formy_form textarea { height: 100px; }
  #formy_form select { height: 40px; }
  #formy_form ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #formy_form input:hover { opacity:.7; }
  #formy_form textarea:hover { opacity:.7; }
  #formy_form input:focus { outline: none;}
  #formy_form .parsley-validated {  background-color: #eee;}
  #formy_form .parsley-error {  background-color: #fee;}
  #formy_form .parsley-success {  background-color: #fff;}
  .help_text {
    font-size: 85%;
    color: #999;
  }
  .hidden_help { display: none; }
  .formy_privacy div {
    overflow-y: scroll;
    height: 140px;
    border: solid 1px #ccc;
    font-size: 85%;
    padding: 8px 16px;
  }
  .requiredIcon {
    background-color: #f55;
    color: #fff;
    margin: 0 0 0 1em;
    font-size: 70%;
    padding: 2px 5px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    float: right;
  }
  #formy_btn {
    padding-top: 32px;
    text-align:center;
  }
  #formy_btn input {
    font-size: inherit;
    border: none;
    cursor: pointer;
    color: #fff;
    border-radius: 3px;
    padding: 16px 32px;
    -webkit-appearance: none;
    appearance: none;
  }
  #formy_form ul li input[type="radio"],
  #formy_form ul li input[type="checkbox"] { display: none !important; }
  #formy_form ul li label {
    height: 40px;
    line-height: 40px;
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 0 8px 0 40px;
    cursor: pointer;
  }
  #formy_form ul li label:hover { opacity: .7; }
  #formy_form ul li label::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border: 2px solid #788b93;
    left: 16px;
    top: 12px;
  }
  #formy_form ul li input[type="radio"] + label::before { border-radius: 10px; }
  #formy_form ul li input[type="radio"]:checked + label,
  #formy_form ul li input[type="checkbox"]:checked + label {
    color:#e75f5f;
    font-weight: bold;
  }
  #formy_form ul li input[type="radio"]:checked + label::before,
  #formy_form ul li input[type="checkbox"]:checked + label::before {
    border-color: #e75f5f;
  }
  #formy_form ul li input[type="radio"]:checked + label::after,
  #formy_form ul li input[type="checkbox"]:checked + label::after {
    content: "";
    width: 10px;
    height: 18px;
    top: 4px;
    left: 20px;
    border-right: 2px solid #e75f5f;
    border-bottom: 2px solid #e75f5f;
    display: block;
    position: absolute;
    z-index: 10;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .formy_confirm { background-color: #4dbaff; }
  .formy_submit_disabled { background-color: #ccc; }
  #formy_btn .formy_submit_disabled:hover {
    opacity:1;
    cursor: default;
  }
  .autoConfirmBack { background-color: #aaa; }
  .formy_send { background-color: #ff6600; }
  #total_required {
    padding: 16px;
    color: #f55555;
    text-align: center;
  }

  @media screen and (max-width: 767px) {
    #formy_form { padding: 0 16px; }
    #formy_form th,
    #formy_form td {
      display: block;
      width: auto;
      padding-left: 0;
      padding-right: 0;
    }
    #formy_form th {
      border-bottom:none;
      padding-bottom: 0;
      white-space: normal;
      font-weight: bold;
    }
    #formy_form td { padding-top: 0; }
    #formy_btn { padding-top: 8px; }
    #formy_btn input {
      width: 100%;
      background-size: contain;
      background-position: center;
    }
    .autoConfirmBack { margin-bottom: 8px; }
  }
