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

    KEYFRAMES

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

  @keyframes btn {
    0%    { right: -20px; width: 40px; }
    20%   { right: -20px; width: 0; }
    40%   { right: 20px; width: 0; }
    60%   { right: -20px; width: 40px; }
    100%  { right: -20px; width: 40px; }
  }

  .fadein {
    opacity : 0;
    transform : translate(0, -16px);
    transition: all 3.5s cubic-bezier(.165, .84, .44, 1);
  }
  .fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
  }


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

    COMMON

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

  html {
    height: 100%;
    overflow-y: scroll;
  }
  body {
    padding-top: 120px;
    font-family:'Kosugi Maru', 'M PLUS Rounded 1c', sans-serif;
    overflow: hidden;
  }
  body.page-contact {
    padding-top: 0;
  }

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

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

  /* --- inner --- */
  .inner {
    width: 90%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
  }
  .inner-sm { max-width: 1080px; }
  .inner-sm2 { max-width: 580px; }
  .inner-lg { max-width: calc(100% - 112px); }

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

  @media print, screen and (max-width: 1080px) {
    /* --- inner --- */
    .inner { width: 90%; }
    .inner-lg { max-width: 90%; }
  }
  @media screen and (max-width: 767px) {
    /* --- inner --- */
    .inner { width: 86%; }
    .inner-lg { max-width: 86%; }

    /* --- section_pdg --- */
    .section_pdg {
      padding-top: 50px;
      padding-bottom: 50px;
    }
    .section_pdg-sm {
      padding-top: 24px;
      padding-bottom: 24px;
    }
  }

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

  /* --- flexレイアウト --- */
  .flex-col1 {
    display: block;
  }
  .flex-col2,
  .flex-col3,
  .flex-col4 {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .flex-col2 > * {
    width: 48.5%;
    margin-right: 3%;
    margin-bottom: 3%;
  }
  .flex-col2 > *:nth-child(even) { 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 --- */
    .flex-col2.flex-sp-block > *,
    .flex-col3.flex-sp-block > *,
    .flex-col4.flex-sp-block > * {
      width: 100%;
      margin-bottom: 16px;
      margin-right: 0;
    }
    .flex-col2.flex-sp-block > *:last-child,
    .flex-col3.flex-sp-block > *:last-child,
    .flex-col4.flex-sp-block > *:last-child {
      margin-bottom: 0;
    }
    .flex-sp-col2 > *,
    .flex-sp-col2.flex-col3 > *:nth-child(3n) {
      width: 48.5%;
      margin-right: 3%;
      margin-bottom: 3%;
    }
    .flex-sp-col2 > *:nth-child(even) { margin-right: 0; }
    .flex-sp-col3 > *,
    .flex-sp-col3.flex-col4 > *:nth-child(4n) {
      width: 31.33%;
      margin-right: 3%;
      margin-bottom: 3%;
    }
    .flex-sp-col3 > *:nth-child(3n) { margin-right: 0; }
  }

/* bg
********************************************** */
  .lps_sec:nth-child(2n) {
    background-color: #ede6da;
  }
  .bg-main {
    background-color: #ede6da;
  }
  .bg-sub {
    background-color: #eee;
  }

/* ttl
********************************************** */
  /* --- page_ttl --- */
  .page_ttl {
    position: relative;
    z-index: 10;
    overflow: hidden;
    height: 200px;
    line-height: 1.5;
  }
  .page_ttl--bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    background-position: center;
    background-image: url(../img/common/pt_geometry_light.jpg);
  }
  .page_ttl--bg.bg {
    background-size: cover;
  }
  .page_ttl-jp {
    display: block;
    font-size: 250%;
    color: #BB5D77;
    letter-spacing: .1em;
  }
  .page_ttl-en {
    display: inline-block;
    margin-top: 8px;
    color: #7C6234;
    text-transform: uppercase;
    letter-spacing: .1em;
  }

  /* --- ttl --- */
  .ttl-01,
  .ttl-02,
  .ttl-03 {
    position: relative;
    z-index: 1;
    letter-spacing: .1em;
    line-height: 1.6;
  }
  .ttl-01 {
    margin-bottom: 72px;
    color: #7C6234;
    font-size: 300%;
  }
  .ttl-01-deco {
    position: relative;
  }
  .ttl-01-deco::before {
    content: "";
    display: block;
    width: 39px;
    height: 40px;
    margin: 0 auto 28px;
    background-image: url(../images/home/about_ttl_img01.png);
    background-size: contain;
  }
  .ttl-01 .small {
    display: block;
    margin-top: 4px;
    font-size: 34%;
    letter-spacing: .08em;
  }
  .ttl-02 {
    margin-bottom: 56px;
    font-size: 250%;
  }
  .ttl-03 {
    margin-bottom: 40px;
    font-size: 225%;
  }
  .ttl-02 ~ .lps_parts .ttl-03 {
    color: #7C6234;
  }
  .lps_sec .ttl-01,
  .lps_sec .ttl-02,
  .lps_sec .ttl-03:not(:last-child) {
    margin-bottom: 1em;
  }
  .lps_sec .column-3 .ttl-03 {
    font-size: 160%;
  }

  @media screen and (max-width: 767px) {
    /* --- page_ttl --- */
    .page_ttl {
      height: 96px;
    }
    .page_ttl--bg {
      background-image: none;
      background-color: #F7F9D9;
    }
    .page_ttl-jp {
      font-size: 143%;
    }
    .page_ttl-en {
      margin-top: 4px;
      font-size: 79%;
    }

    /* --- ttl --- */
    .ttl-01 {
      margin-bottom: 40px;
      font-size: 179%;
    }
    .ttl-01-deco::before {
      width: 19.5px;
      height: 20px;
      margin: 0 auto 16px;
    }
    .ttl-02 {
      margin-bottom: 28px;
      font-size: 150%;
    }
    .ttl-03,
    .lps_sec .column-3 .ttl-03 {
      margin-bottom: 20px;
      font-size: 136%;
    }
    .lps_sec .ttl-01,
    .lps_sec .ttl-02,
    .lps_sec .ttl-03:not(:last-child) {
      margin-bottom: .8em;
    }
  }

/* breadcrumbs
**************************************** */
  .breadcrumbs {
    padding: 16px 0;
    font-size: 87%;
  }
  .breadcrumbs a {
    color: #7C6234;
    text-decoration: underline;
  }

/* txt
**************************************** */
  .txt-lg { font-size: 107%; /*17px*/ }
  .txt-sm { font-size: 94%; /*15px*/ }
  .txt-gr {  color: #7C6234; }
  .txt-wh,
  .txt-wh * { color: #fff; }
  .txt-main,
  .txt-main * { color: #7C6234; }
  .txt-sub,
  .txt-sub * { color: #eee; }

  /* --- font --- */
  .font-jp,
  .ttl-02,
  .ttl-03,
  .editor-ttl,
  .editor-ttl2,
  .editor-ttl3 {
    font-family:'Kosugi Maru', 'M PLUS Rounded 1c', sans-serif;
  }
  .font-jp2,
  .btn a {
    font-family:'Kosugi Maru', 'M PLUS Rounded 1c', sans-serif;
  }
  .font-en {
    font-family:'Kosugi Maru', 'M PLUS Rounded 1c', sans-serif;
    font-weight: 500;
  }

  @media screen and (max-width: 767px) {
    .txt-lg { font-size: 108%; /*15px*/ }
    .txt-sm { font-size: 93%; /*13px*/ }
  }

/* btn
********************************************** */
  .home .btn + .btn,
  .footer_contact .btn + .btn {
    margin-left: 64px;
  }
  .lps_sec .btn + .btn {
    margin-top: 8px;
  }
  .btn a {
    position: relative;
    z-index: 1;
    display: block;
    padding: 32px 88px;
    border-radius: 30px;
    width: 100%;
    max-width: 550px;
    font-size: 113%;
    line-height: 1.4;
    letter-spacing: .1em;
    text-align: center;
    border-radius: 30px;
    background-color: #E3EEF6;
  }
  .lps_sec:nth-child(2n) .btn a,
  .bg-main .btn a,
  .home_blog .btn a {
    background-color: #E3EEF6;
  }
  .btn svg {
    fill: #454948;
    transition: all .4s ease-out;
  }
  .btn a:hover {
    background-color: #91BAD8!important;
  }
  .btn a::before {
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    right: -20px;
    display: block;
    width: 40px;
    height: 0;
    border-top: dashed 4px #D8AF91;
    transition: all .2s ease-out;
  }
  .lps_sec .btn a[target="_blank"]::before,
  .lps_sec .btn a[href$=".pdf"]::before{
    display: none;
  }
  .btn.btn-next_page a {
    max-width: 100%;
    border-radius: 0;
    font-size: 120%;
    text-align: left;
  }

  /* --- btn-wh --- */
  .btn-wh a {
    color: #000;
    background-color: #fff;
  }
  .btn-wh svg {
    fill: #000;
  }

  @media print, screen and (min-width: 768px) {
    .btn a:hover::before {
      animation: btn 2.5s ease infinite ;
    }
  }
  @media screen and (max-width: 767px) {
    .btn a {
      max-width: 80%;
      padding: 20px 44px;
      font-size: 108%;
    }
    .btn a::before {
      width: 32px;
      right: -14px;
    }
    .home .btn + .btn,
    .footer_contact .btn + .btn {
      margin-top: 16px;
      margin-left: 0;
    }
  }
  @media screen and (max-width: 400px) {
    .btn a {
      max-width: 98%;
    }
  }


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

    HEADER

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

/* header
**************************************** */
  .header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 120px;
    background-color: #fff;
    line-height: 1;
    z-index: 9990;
    transition: all .4s ease-out;
  }
  .page-contact .header {
    position: absolute;
    background-color: transparent;
    box-shadow: none;
  }
  .header > .inner {
    width: 100%;
    max-width: 100%;
    height: 100%;
    padding-left: 50px;
  }

  @media print, screen and (min-width: 768px) {
    .header--nav,
    .gnav,
    .gnav--menu,
    .gnav--menu > li,
    .gnav--menu > li >a {
      height: 100%;
    }
  }
  @media print, screen and (max-width: 1750px) {
    .header > .inner {
      padding-left: 16px;
    }
    .header--logo img {
      width: 228px;
    }
  }
  @media print, screen and (max-width: 1480px) {
    .header--logo img {
      width: 160px;
    }
  }
  @media screen and (max-width: 767px) {
    .header {
      height: 56px;
    }
    .header .inner {
      padding-left: 8px;
    }
  }

/* gnav
********************************************** */
  .gnav {
    flex: 1;
    font-size: 113%;
  }
  .gnav--link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex!important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    padding: 4px 1em 0;
    text-align: center;
  }
  .gnav--link::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    display: block;
    width: 19px;
    height: 20px;
    margin: auto;
    background-image: url(../img/common/menu_point.png);
    background-size: contain;
    opacity: 0;
    transition: all .4s ease-out;
  }
  .gnav--link[href="javascript:void(0);"] {
    cursor: inherit;
  }
  .gnav--link:not([href="javascript:void(0);"]):not(.hover_none):hover::before,
  .gnav--menu li.current > .gnav--link:not(.hover_none)::before {
    top: 24px;
    opacity: 1;
  }

  /* ---CTA --- */
  .gnav--tel {
    margin-left: 6%;
    height: 25% !important; 
  }
  .gnav--contact {
    margin-left: 16px;
  }
  .cta_tel a .num {
    color: #BB5D77;
    font-size: 163%;
  }
  .cta_contact a {
    display: block!important;
    height: calc(100% - 16px)!important;
    padding: 20px 56px;
    letter-spacing: .15em;
    background-color: #E3EEF6;
    border-radius: 0 0 0 16px;
  }
  .cta_contact img {
    display: block;
    margin: 0 auto 12px;
  }
  .cta_contact a:hover {
    background-color: #E3EEF6;
  }

  @media print, screen and (min-width: 768px) {

    /* ---dropdown_btn --- */
    .dropdown_btn {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 20px;
      display: inline-block;
      width: 8px;
      height: 8px;
      margin: auto;
      border-top: solid 1px #7C6234;
      border-right:  solid 1px #7C6234;
      transform: translateY(-2px) rotate(135deg);
    }
    .none .dropdown_btn,
    .none .gnav--dropdown {
      display: none!important;
    }

    /* ---gnav--dropdown --- */
    .gnav--dropdown-hover {
      position: relative;
    }
    .gnav--dropdown {
      position: absolute;
      left: -56px;
      right: -56px;
      pointer-events: none;
      transform: translateY(-16px);
    }
    .gnav--dropdown li {
      margin-right: 0!important;
      margin-left: 0;
      padding-top: 4px;
      opacity: 0;
      pointer-events: none;
      transition: .2s ease-out;
      transition-delay: 0s;
      text-align: center;
    }
    .gnav--dropdown a {
    display: block!important;
      padding: 10px 8px;
      background-color: #E3EEF6;
      line-height: 1.4;
      border-radius: 4px;
      text-align: center;
    }

    /* hover */
    .link-none {
      pointer-events: none;
    }
    .gnav--dropdown-hover:hover .gnav--link,
    .gnav--dropdown-hover.active .gnav--link {
      transform: translateY(-6px);
    }
    .gnav--dropdown-hover:hover .gnav--link:not(.link-none) + .gnav--dropdown,
    .gnav--dropdown-hover.active .gnav--link:not(.link-none) + .gnav--dropdown {
      pointer-events: auto;
    }
    .gnav--dropdown-hover:hover .gnav--dropdown li,
    .gnav--dropdown-hover.active .gnav--dropdown li {
      opacity: 1;
      pointer-events: auto;
      transition: .4s ease-out;
    }
    .gnav--dropdown-hover:hover .gnav--dropdown li:nth-child(2),
    .gnav--dropdown-hover.active .gnav--dropdown li:nth-child(2) {
      transition-delay: .1s;
    }
    .gnav--dropdown-hover:hover .gnav--dropdown li:nth-child(3),
    .gnav--dropdown-hover.active .gnav--dropdown li:nth-child(3) {
      transition-delay: .2s;
    }
    .gnav--dropdown-hover:hover .gnav--dropdown li:nth-child(4),
    .gnav--dropdown-hover.active .gnav--dropdown li:nth-child(4) {
      transition-delay: .3s;
    }
    .gnav--dropdown-hover:hover .gnav--dropdown li:nth-child(5),
    .gnav--dropdown-hover.active .gnav--dropdown li:nth-child(5) {
      transition-delay: .4s;
    }
  }
  @media print, screen and (max-width: 1630px) {
    .gnav--tel {
      margin-left: 0;
    }
    .cta_contact a {
      padding: 20px 24px;
    }
  }
  @media print, screen and (max-width: 1360px) {
    .gnav {
      font-size: 100%;
    }
    .gnav--link {
      padding: 4px .8em 0;
    }
  }
  @media print, screen and (max-width: 1200px) and (min-width: 768px) {
    .gnav--tel {
      display: none;
    }
  }
  @media screen and (max-width: 767px) {
    .gnav {
      position: fixed;
      top: 56px;
      left: 0;
      z-index: 300;
      width: 100%;
      height: calc(100% - 56px);
      margin: 0;
      padding: 32px 8%;
      overflow: scroll;
      background-image: url(../img/common/bg_sp_menu3.jpg);
      opacity: 0;
      pointer-events: none;
      transition: .4s ease-out;
      -webkit-overflow-scrolling: touch;
    }
    .gnav.active {
      opacity: 1;
      pointer-events: auto;
    }
    .gnav--menu li {
      position: relative;
      display: block;
      width: 100%;
    }
    .gnav--link {
      display: block!important;
      text-align: left;
    }
    .gnav--menu li:not(.gnav--tel):not(.gnav--contact) > .gnav--link {
      padding-bottom: 12px;
      margin-bottom: 14px;
      border-bottom: dotted 1px #454948;
      font-family:'Kosugi Maru', 'M PLUS Rounded 1c', sans-serif;
    }
    .gnav--link::before {
      top: 0;
      left: auto;
      right: 9px;
      bottom: 0;
      z-index: 2;
      background-color: #fcfdef;
    }
    .gnav--link:not([href="javascript:void(0);"]):not(.hover_none):hover::before,
    .gnav--menu li.current > .gnav--link:not(.hover_none)::before {
      top: -8px;
    }
    .gnav--menu li:not(.gnav--tel):not(.gnav--contact) .gnav--link::after {
      content: "";
      position: absolute;
      top: calc(50% - 10px);
      right: 16px;
      display: block;
      width: 7px;
      height: 7px;
      border-top: solid 1px;
      border-right: solid 1px;
      transform: rotate(45deg);
    }
    .gnav--dropdown {
      margin-bottom: 10px;
    }
    .gnav--dropdown-hover > .gnav--link::after {
      display: none!important;
    }
    .gnav--dropdown a {
      position: relative;
      padding-right: 32px;
      padding-left: 24px;
      padding-bottom: 18px!important;
      margin-bottom: 0!important;
      border-bottom: none!important;
      font-family:'Kosugi Maru', 'M PLUS Rounded 1c', sans-serif !important;
    }
    .gnav--dropdown li::before {
      content: "";
      position: absolute;
      top: .8em;
      left: 4px;
      display: block;
      width: 12px;
      border-top: solid 1px #CFC019;
    }

    /* --- gnav_btn --- */
    .gnav_btn {
      position: fixed;
      top: 8px;
      right: 8px;
      width: 40px;
      height: 40px;
      background-color: #E3EEF6;
      z-index: 9999;
      border-radius: 50%;
    }
    .gnav_btn--lines {
      position: relative;
      width: 18px;
      height: 14px;
    }
    .gnav_btn--lines span {
      transition: all .4s;
      box-sizing: border-box;
    }
    .gnav_btn--lines span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      border-radius: 2px;
      background-color: #454948;
    }
    .gnav_btn--lines span:nth-of-type(1) {
      top: 0;
    }
    .gnav_btn--lines span:nth-of-type(2) {
      top: calc(50% - 1px);
    }
    .gnav_btn--lines span:nth-of-type(3) {
      bottom: 0;
    }
    .active .gnav_btn--lines span:nth-of-type(1) {
      -webkit-transform: translateY(6px) rotate(-42deg);
      transform: translateY(6px) rotate(-42deg);
    }
    .active .gnav_btn--lines span:nth-of-type(2) {
      opacity: 0;
    }
    .active .gnav_btn--lines span:nth-of-type(3) {
      -webkit-transform: translateY(-6px) rotate(42deg);
      transform: translateY(-6px) rotate(42deg);
    }

    /* --- CTA --- */
    .gnav--tel {
      margin-top: 16px;
    }
    .gnav--tel a {
      text-align: center;
    }
    .gnav--contact {
      margin-top: 24px;
      margin-left: 0;
    }
    .cta_contact a {
      display: flex!important;
      justify-content: center;
      border-radius: 8px;
      font-size: 115%;
    }
    .cta_contact img {
      width: 28px;
      margin: 0 16px 0 0;
    }
  }

/* header-sm
**************************************** */
  .header-sm {
    height: 100px;
  }
  .header-sm .header--logo {
    transform: translateY(-4px);
  }
  .header-sm .cta_contact a {
    height: 110%!important;
  }
  .header-sm .gnav--link:not([href="javascript:void(0);"]):not(.hover_none):hover::before,
  .header-sm .gnav--menu li.current > .gnav--link:not(.hover_none)::before {
    top: 16px;
  }

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

    FOOTER

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

  .footer::before {
    content: "";
    position: absolute;
    top: 115px;
    left: 230px;
    right: 0;
    bottom: 0;
    z-index: -1;
    display: block;
    border-radius: 32px 0 0 0;
    background-image: url(../img/common/pt_geometry_light.jpg);
  }
  .footer .deco1 {
    top: 72px;
    right: 3%;
  }
  .footer .deco2 {
    top: 220px;
    left: -13%;
  }

  @media screen and (max-width: 767px) {
    .footer::before {
      top: 58px;
      left: 4%;
      border-radius: 16px 0 0 0;
    }
    .footer .deco1 {
      top: 56px;
      right: -16px;
      width: 76.5px;
    }
    .footer .deco2 {
      display: none;
    }
  }

/* footer_contact
********************************************** */
  .footer_contact {
    padding-top: 96px;
    padding-bottom: 72px;
    overflow: hidden;
    background-color: #EDE6DA;
  }
  .footer_contact .deco1 {
    top: -32px;
    right: -9.5%;
  }
  .footer_contact .ttl-01 {
    margin-bottom: 32px;
  }
  .footer_contact .btn a,
  .page-contact .btn a {
    min-width: 400px;
    padding: 40px 64px;
    border-radius: 80px;
  }
  .footer_contact .cta_tel a,
  .page-contact .cta_tel a {
    padding: 23px 64px;
    font-size: 100%;
    background-color: #f7c7d1;
  }
  .footer_contact .cta_tel a .num,
  .page-contact .cta_tel a .num {
    color: #BB5D77;
  }
  .footer_contact .cta_tel a::before,
  .page-contact .cta_tel a::before {
    border-color: #BB5D77;
  }

  @media screen and (max-width: 767px) {
    .footer_contact {
      padding-top: 48px;
      padding-bottom: 36px;
    }
    .footer_contact .deco1 {
      top: -24px;
      right: -24px;
      width: 99px;
    }
    .footer_contact .ttl-01 {
      margin-bottom: 16px;
    }
    .footer_contact .btn a,
    .page-contact .btn a {
      min-width: 0;
      padding: 28px 24px;
    }
    .footer_contact .cta_tel a,
    .page-contact .cta_tel a {
      padding: 14px 24px;
    }
    .footer_contact .cta_tel .time,
    .page-contact .cta_tel .time {
      font-size: 79%;
    }
  }

  /* footer--logo
  ********************************************** */
  .footer--logo {
    margin-bottom: 44px;
    margin-top: 44px;
  }

  @media screen and (max-width: 767px) {
    .footer--logo {
      margin-bottom: 22px;
      margin-top: 22px;
    }
    .footer--logo img {
      width: 108px;
    }
  }

  /* footer--about
  ********************************************** */
  .footer--about {
    margin-bottom: 72px;
    font-size: 113%;
  }
  .footer--about .add {
    margin-bottom: 10px;
    line-height: 1.4;
    letter-spacing: .05em;
  }

  @media screen and (max-width: 767px) {
    .footer--about {
      margin-bottom: 24px;
      font-size: 100%;
    }
    .footer--about .add {
      line-height: 1.6;
    }
  }

  /* footer_nav
********************************************** */
  .footer_nav {
    margin-bottom: 80px;
  }
  .footer_nav .flex > li {
    min-width: 88px;
    text-align: left;
  }
  .footer_nav .flex > li >*:not(.child) {
    display: block;
    padding-bottom: 4px;
    margin-bottom: 12px;
    border-bottom: dotted 1px #454948;
  }
  .footer_nav .child {
    font-size: 88%;
  }
  .footer_nav .child a {
    position: relative;
    display: block;
    padding-left: 20px;
    padding-right: 4px;
    margin-bottom: 8px;
  }
  .footer_nav .child a::before {
    content: "";
    position: absolute;
    top: .9em;
    left: 0;
    display: block;
    width: 12px;
    border-top: solid 1px #CFC019;
  }
  .footer_nav a:hover {
    opacity: .5;
  }

  @media print, screen and (min-width: 768px) {
    .footer_nav .flex > li:not(:last-child) {
      margin-right: 40px;
    }
  }
  @media screen and (max-width: 767px) {
    .footer_nav {
      margin-bottom: 96px;
    }
    .footer_nav .flex > li {
      width: 100%;
      min-width: 0;
    }
    .footer_nav .flex > li > * {
      position: relative;
      padding-left: .8em;
    }
    .footer_nav .flex > li a::after {
      content: "";
      position: absolute;
      top: calc(50% - 7px);
      right: 16px;
      display: block;
      width: 7px;
      height: 7px;
      border-top: solid 1px;
      border-right: solid 1px;
      transform: rotate(45deg);
    }
    .footer_nav .child {
      font-size: 100%;
    }
  }

/* footer--map
*************************************************** */
  .pagetop {
    position: absolute;
    top: -158px;
    right: 54px;
    display: block;
  }
  .pagetop:hover {
    transition: all .1s ease-out;
    transform: translateY(-8px);
  }

  @media print, screen and (max-width: 1430px) {
    .pagetop {
      top: -420px;
    }
  }
  @media print, screen and (max-width: 1100px) {
    .pagetop {
      top: -480px;
    }
  }
  @media screen and (max-width: 767px) {
    .footer--map iframe {
      height: 40vh;
    }
    .pagetop {
      top: -88px;
      right: 0;
      left: 0;
      text-align: center;
    }
    .pagetop img {
      width: 70.5px;
      margin-left: 288px;
    }
  }

/* footer--sub_nav
*************************************************** */
  .footer--sub_nav {
    padding: 20px 0;
    font-size: 75%;
    background-color: #fff;
  }
  .footer--copyright {
    text-align: center;
  }
  .pbl {
    margin-left: 24px;
    text-align: center;
    opacity: .5;
  }
  .pbl:hover {
    opacity: 1;
  }

  @media screen and (max-width: 767px) {
    .footer--sub_nav {
      padding: 14px 0;
    }
    .pbl {
      margin-left: 0;
    }
  }


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

    INDEX

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

/* hero
********************************************** */
  .hero {
    position: relative;
    padding-left: 200px;
    height: 780px;
  }
  .hero--catch {
    position: absolute;
    top: 64px;
    left: 88px;
    bottom: 0;
  }
  .hero--catch .ttl {
    margin-bottom: 20px;
    font-size: 325%;
    list-style: 1.38;
    letter-spacing: .1em;
    display: inline-block;
    margin-bottom: 4px;
    padding: 0 4px;
    background-color: rgba(255, 255, 255, 0.8);
  }
  .hero--catch .txt span {
    display: inline-block;
    margin-bottom: 4px;
    padding: 0 4px;
    background-color: #fff;
  }
  .hero--catch .txt {
    font-size: 113%;
    line-height: 2.22;
    letter-spacing: .15em;
  }
  .hero_slides {
    position: relative;
  }
  .deco {
    position: absolute;
  }
  .hero .deco1 {
    left: -204px;
    bottom: -162px;
    z-index: -1;
  }
  .hero_slide {
    border: 2px dashed #bfd1ab;
    border-radius: 240px 15px 100px 15px / 15px 200px 15px 185px;
    overflow: hidden;
  }
  .hero_slide-sp {
    display: none !important;
  }
  .hero_slides,
  .hero_slide,
  .hero_slide .slick-list,
  .hero_slide .slick-track,
  .hero_slide .slick-slider,
  .hero_slide .slick-slide,
  .hero_slide .hero_slide--child {
    width: 100%;
    height: 100%;
  }
  .hero_slide .slick-list {
    position: relative;
    overflow: hidden;
  }
  .hero_slide--child {
    background-position: center;
    background-size: cover;
  }

  @media screen and (max-width: 767px) {
    .hero {
      padding-left: 6%;
      height: 80vh;
    }
    .hero_slide-pc {
      display: none !important;
    }
    .hero_slide-sp {
      display: block !important;
    }
    .hero .deco1 {
      left: -102px;
      bottom: -132px;
      width: 201.5px;
      height: auto;
    }
    .hero--catch {
      top: 0;
      left: 3%;
    }
    .hero--catch .ttl {
      margin-bottom: 10px;
      font-size: 186%;
    }
    .hero--catch .txt {
      font-size: 86%;
    }
    .hero--catch .ttl span,
    .hero--catch .txt span {
      display: inline-block;
      margin-bottom: 4px;
      padding: 0 4px;
      background-color: rgba(255, 255, 255, 0.9);;
    }
    .hero_slide {
      border-radius: 20px 0 0 0;
    }
  }

/* home_news
********************************************** */
  .home_news {
    position: relative;
    z-index: 1;
    margin-top: -45px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-radius: 46px;
    border: solid 1px #7C6234;
    background-color: #fff;
  }
  .home_news .ttl {
    position: relative;
    margin-right: 32px;
    padding: 20px 28px 20px 56px;
    border-right: dotted 2px #7C6234;
    font-size: 113%;
    line-height: 1;
    color: #7C6234;
  }
  .home_news .news_list {
    flex: 1;
  }
  .home_news .more {
    display: inline-block;
    padding: 0 56px;
    font-size: 113%;
    line-height: 1;
    color: #7C6234;
  }
  .home_news .more .icn {
    margin-top: 19px;
    margin-right: 4px;
  }

  @media screen and (max-width: 767px) {
    .home_news {
      margin-top: -45px;
      padding: 16px 20px;
      border-radius: 16px;
    }
    .home_news .ttl {
      width: 100%;
      margin-right: 0;
      padding: 0;
      padding-bottom: 14px;
      border-right: none;
      border-bottom: dotted 2px #7C6234;
      font-size: 100%;
    }
    .home_news .news_list {
      width: 100%;
    }
    .home_news .news_list .post {
      padding-top: 8px;
      padding-bottom: 0;
    }
    .news_list .post--date {
      margin-bottom: 0;
    }
    .home_news .more {
      position: absolute;
      top: 17px;
      right: 18px;
      padding-right: 0;
      padding-left: 0;
      font-size: 79%;
    }
    .home_news .more .icn {
      width: 16px;
      margin-top: 5px;
    }
  }

/* home_message
********************************************** */
  .home_message {
    padding-top: 102px;
    padding-bottom: 90px;
    overflow: hidden;
  }
  .home_message .inner {
    position: relative;
  }
  .home_message .deco1 {
    top: -60px;
    right: -15%;
  }
  .home_message .deco2 {
    bottom: -44px;
    left: -134px;
  }
  .home_message .imgarea {
    position: relative;
    width: 48.75%;
    margin-right: 54px;
  }
  .home_message .txtarea {
    flex: 1;
  }
  .home_message .txtarea .ttl {
    margin-bottom: 24px;
    font-size: 250%;
    line-height: 1.6;
    letter-spacing: .1em;
  }
  .home_message .txtarea p {
    line-height: 2.5;
  }
  .home_message .txtarea p:not(:last-child) {
    margin-bottom: 1.5em;
  }
  .home_message .btn {
    margin-top: 64px;
  }

  @media screen and (max-width: 767px) {
    .home_message {
      padding-top: 52px;
      padding-bottom: 44px;
    }
    .home_message .deco1 {
      display: none;
    }
    .home_message .deco2 {
      bottom: -24px;
      left: auto;
      right: -24px;
      width: 98.5px;
    }
    .home_message .imgarea {
      width: 100%;
      margin-right: 0;
      margin-bottom: 24px;
    }
    .home_message .txtarea .ttl {
      margin-bottom: 16px;
      font-size: 158%;
    }
    .home_message .txtarea p {
      line-height: 2;
    }
    .home_message .btn {
      margin-top: 32px;
    }
  }
  @media screen and (max-width: 354px) {
    .home_message .txtarea .ttl br {
      display: none;
    }
  }

/* home_about
********************************************** */
  .home_about {
    position: relative;
    margin-top: 72px;
    padding-bottom: 94px;
  }
  .home_about::before {
    content: "";
    position: absolute;
    top: -72px;
    left: 0;
    right: 0;
    display: block;
    height: 72px;
    background-image: url(../images/common/bg_sec_nami_ylw.png);
    background-position: center;
  }
  .home_about .inner {
    transform: translateY(-36px);
  }
  .home_about .about--child {
    margin-bottom: 70px;
  }
  .home_about .about--child:last-of-type {
    margin-bottom: 90px;
  }
  .home_about .imgarea {
    position: relative;
    width: 59.3%;
    margin-left: 40px;
  }
  .home_about .txtarea {
    position: relative;
    flex: 1;
  }
  .home_about .deco1 {
    top: -76px;
    right: -52px;
  }
  .home_about .deco2 {
    top: -44px;
    left: -22%;
  }
  .home_about .deco3{
    top: -40px;
    right: -100px;
  }

  @media screen and (max-width: 767px) {
    .home_about {
      margin-top: 36px;
      padding-bottom: 48px;
    }
    .home_about::before {
      top: -36px;
      height: 36px;
      background-size: auto 100%;
    }
    .home_about .inner {
      transform: translateY(-18px);
    }
    .home_about .about--child {
      margin-bottom: 40px;
    }
    .home_about .about--child:last-of-type {
      margin-bottom: 44px;
    }
    .home_about .ttl-03 br {
      display: none;
    }
    .home_about .imgarea {
      width: 100%;
      margin-left: 0;
      margin-top: 24px;
    }
    .home_about .deco1 {
      top: -36px;
      right: -24px;
      width: 80.5px;
    }
    .home_about .deco2 {
      top: -32px;
      left: auto;
      right: -8px;
      width: 97.5px;
    }
    .home_about .deco3{
      top: -24px;
      right: -28px;
      width: 69.5px;
    }
  }

/* home_other
********************************************** */
  .home_other {
    padding-top: 120px;
    padding-bottom: 80px;
  }
  .home_other .link_list--child {
    width: calc(33.333% - 24px);
  }
  .home_other .link_list--child .link {
    height: 200px;
    background-color: #E3EEF6;
    border-radius: 16px;
  }
  .home_other .link_list--child .link:hover {
    background-color: #91BAD8;
  }
  .home_other .link_list--child .img {
    margin-bottom: 16px;
  }
  .home_other .link_list--child .ttl {
    font-size: 150%;
  }

  @media print, screen and (min-width: 768px) {
    .home_other .link_list--child:nth-of-type(even) {
      transform: translateY(-18px);
    }
  }
  @media screen and (max-width: 767px) {
    .home_other {
      padding-top: 60px;
      padding-bottom: 40px;
    }
    .home_other .inner {
      width: 94%;
    }
    .home_other .link_list--child {
      width: calc(33.333% - 4px);
    }
    .home_other .link_list--child .link {
      height: 120px;
      border-radius: 8px;
    }
    .home_other .link_list--child .img {
      display: flex;
      justify-content: center;
      align-items: center;
      width: auto;
      height: 48px;
      margin-bottom: 8px;
    }
    .home_other .link_list--child .img img {
      transform: scale(.5,.5);
    }
    .home_other .link_list--child .ttl {
      font-size: 93%;
      line-height: 1.4;
    }
  }

/* home_blog
********************************************** */
  .home_blog {
    padding-top: 188px;
    padding-bottom: 140px;
    background-image: 
    url(../images/common/bg_sec_sankaku.png),
      url(../images/common/pt_geometry_gry.jpg);
    background-repeat: no-repeat, repeat;
    background-position: center top -1px, center;
  }
  .home_blog .ttl-01 {
    display: inline-block;
    margin-bottom: 44px;
  }
  .home_blog .ttl-01 .img {
    position: absolute;
    top: -72px;
    left: -72px;
  }
  .home_blog .blog_list .post {
    display: block;
  }
  .home_blog .blog_list .post--img {
    margin-bottom: 20px;
  }
  .home_blog .blog_list .post--date {
    color: #fff;
  }
  .home_blog .blog_list .post--txt {
    display: none;
  }

  @media screen and (max-width: 767px) {
    .home_blog {
      padding-top: 94px;
      padding-bottom: 70px;
      background-size: auto 35px, auto;
    }
    .home_blog .inner {
      width: 92%;
    }
    .home_blog .ttl-01 {
      margin-bottom: 22px;
    }
    .home_blog .ttl-01 .img {
      top: -36px;
      left: -36px;
      width: 112.5px;
    }
    .home_blog .blog_list .post {
      padding-left: 2%;
      padding-right: 2%;
      margin-bottom: 32px;
    }
    .home_blog .blog_list .post--img {
      margin-bottom: 16px;
    }
  }
  @media screen and (max-width: 375px) {
    .home_blog .ttl-01 .img {
      left: -8px;
    }
  }


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

    PAGE

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

/* contact
********************************************** */
  .page-contact .contact {
    margin-top: -40px;
    padding-bottom: 120px;
  }

  @media screen and (max-width: 767px) {
    .page-contact .header--logo img {
      width: 76px;
      transform: translateY(-12px);
    }
    .page-contact .contact {
      margin-top: 0;
      padding-bottom: 60px;
    }
    .page-thanks .mce-content-body br {
      display: none;
    }
  }


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

    ARCHIVE

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

/* main_column
**************************************** */
  .main_column {
    flex: 1;
    margin-right: 80px;
    overflow: hidden;
  }

  /* --- post --- */
  .post { position: relative; }
  .post--link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }
  .post--date {
    margin-right: 28px;
    color: #7C6234;
    font-size: 113%;
    letter-spacing: .05em;
  }
  .cat_list {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  .cat_list a {
    display: inline-block;
    vertical-align: middle;
    font-size: 88%;
    color: #454948!important;
    background-color: #E3EEF6;
    line-height: 1;
    padding: 4px 18px;
    border-radius: 44px;
    float: left;
    margin-right: 4px;
    margin-bottom: 4px;
    white-space: nowrap;
  }
  .post--img {
    width: 100%;
    border-radius: 8px;
    background-size: cover;
    background-position: center;
  }
  .post--img::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 70%;
  }
  .no-image {
    background-size: 80% auto!important;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #fcfcf0;
  }
  @media all and (-ms-high-contrast: none) {
    .cat_list a {
      padding: 5px 18px 3px;
    }
  }
  @media print, screen and (max-width: 1100px) {
    .main_column {
      width: 100%;
      margin-bottom: 40px;
      margin-right: 0;
    }
    .post--date {
      margin-right: 12px;
    }
  }

/* side_column
**************************************** */
  .side_column { width: 264px; }
  .side_section:not(:last-child) { margin-bottom: 64px; }
  .side--ttl {
    margin-bottom: 16px;
    padding: .8em .8em;
    border-radius: 8px;
    background-color: #E3EEF6;
    font-size: 120%;
    letter-spacing: .1em;
    line-height: 1;
  }

  /* --- post --- */
  .side--cat li,
  .posts-side .post {
    border-bottom: solid 1px #e5e5e5;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
  .side--list a { display: block; }
  .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 { font-size: 82%; margin-bottom: 0; }
  .posts-side .post--ttl { line-height: 1.4; }

  /* --- archive --- */
  .side_column .archive_list {
    border-bottom: solid 1px #e5e5e5;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
  .side_column .archive_list--ttl {
    cursor: pointer;
  }
  .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; }
  .side_column .archive_month li { padding-top: 4px; }
  .side_column .archive_month a::before { 
    content: "-";
    display: inline-block;
    margin-right: 4px;
  }

  @media print, screen and (max-width: 1100px) {
    .side_column { width: 100%; }
  }
  @media screen and (max-width: 767px) {
    .side_section:not(:last-child) { margin-bottom: 32px; }
  }

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

/* blog
**************************************** */
  .posts-blog .post {
    padding-bottom: 48px;
    padding-top: 48px;
    border-bottom: 1px solid #e5e5e5;
  }
  .posts-blog .post:first-child { border-top: 1px solid #e5e5e5; }
  .posts-blog .post--txtarea { flex: 1; }
  .posts-blog .post--img {
    width: 280px;
    margin-right: 40px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }

  @media print, screen and (max-width: 1100px) {
    .posts-blog { margin-bottom: 56px; }
    .archive-blog .container > .inner.flex,
    .single-blog .container > .inner.flex {
      display: block;
    }
  }

  @media screen and (max-width: 767px) {
    .posts-blog .post {
      display: block;
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .posts-blog .post--img {
      width: 100%;
      padding-left: 0;
      margin-right: auto;
      margin-left: auto;
      margin-bottom: 16px;
      text-align: center;
    }
    .posts-blog .post--img img {
      width: auto;
      max-width: 100%;
    }
  }

/* 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-top: 18px;
    padding-bottom: 18px;
    margin-bottom: 0;
    transition: all .4s ease-out;
    border-bottom: 1px solid #F0DBE1;
  }
  .news_list .post:not(:last-child) {
    border-bottom: 1px solid #F0DBE1;
  }
  .news_list .post:hover {
    opacity: .7;
  }
  .news_list .post--date {
    font-size: 100%;
  }
  .news_list a[href="javascript:void(0);"],
  .news_list a[href="javascript:void(0);"]::before {
    color: inherit;
    cursor: inherit;
    opacity: 1;
    text-decoration: none;
  }

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


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

    SINGLE

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

  #pass p {
    margin-bottom: 1em;
  }
  #pass input[name="post_password"] {
    border: solid 1px #aaa;
    outline: none;
  }
  #pass input[type="submit"] {
    padding: 4px 16px;
    letter-spacing: .15em;
    background-color: #E3EEF6;
    border-radius: 4px;
    outline: none;
    border: none;
    cursor: pointer;
    transition: all .4s ease-out;
  }
  #pass input[type="submit"]:hover {
    background-color: #e3e695;
  }

/* wp-pagenavi
**************************************** */
  .wp-pagenavi {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    margin-top: 40px;
    font-family:'Kosugi Maru', 'M PLUS Rounded 1c', sans-serif;
  }
  .wp-pagenavi .pages {
    display: block;
    text-align: center;
    width: 100%;
    margin-bottom: 1em;
  }
  .wp-pagenavi a {
    position: relative;
    padding: .5em 1em;
    background-color: #BB5D77;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-radius: 4px;
  }
  .wp-pagenavi a:hover {
    opacity: .7;
  }
  .wp-pagenavi a {
    color: #fff;
  }
  .wp-pagenavi > *:not(.pages) {
    max-width: calc(100% / 2.6);
  }
  .archive .wp-pagenavi > *:not(.pages) {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 40px;
    height: 40px;
  }
  .wp-pagenavi-single a[rel="prev"],
  .wp-pagenavi-single a[rel="next"] {
    width: 40px;
  }
  .wp-pagenavi > *:not(.pages) {
    margin-bottom: 4px; 
  }
  .wp-pagenavi > *:not(.pages):not(:last-child) {
    margin-right: 4px;
  }
  .wp-pagenavi .extend {
    width: 24px !important;
  }
  .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="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;
  }
  .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="next"]::before,
  .wp-pagenavi .last::before,
  .wp-pagenavi .last::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .wp-pagenavi-single a[rel="prev"]::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .wp-pagenavi-single a[rel="next"]::before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .wp-pagenavi .first::before,
  .wp-pagenavi .last::before {
    left: -6px;
  }
  .wp-pagenavi .first::after,
  .wp-pagenavi .last::after {
    right: -6px;
  }

  @media screen and (max-width: 767px) {
    .wp-pagenavi {
      margin-top: 24px;
    }
    .archive-blog .wp-pagenavi {
      margin-top: -32px;
    }
    .archive .wp-pagenavi > *:not(.pages) {
      width: 32px;
      height: 32px;
    }
    .wp-pagenavi-single a[rel="prev"],
    .wp-pagenavi-single a[rel="next"] {
      width: 32px;
    }
    .wp-pagenavi .first::before,
    .wp-pagenavi .last::before {
      left: -5px;
    }
    .wp-pagenavi .first::after,
    .wp-pagenavi .last::after {
      right: -5px;
    }
  }


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

    FORMY

############################################################################## */
  #formy_form { font-family:'Kosugi Maru', 'M PLUS Rounded 1c', sans-serif;
  }
  #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 {
    position: relative;
    display: inline-block;
    padding: .5em 8px .5em 40px;
    line-height: 1.6;
    vertical-align: top;
    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 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; }
  }

  .img_radius{
  border-radius: 30px;
  }


/*ここからCMSカセット用のCSS*/

:root {
    --primary: #72BEC6;
    --secondary: #72BEC6;
    --border: #c8c8c8;
    --bg: #f4f4f0;
}

html {
  font-size: 62.5%
}

  .cassette-item .c-imgBox:after,
.cl:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  font-size: .1em
}

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0
}

.slick-list:focus {
  outline: 0
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block
}

.slick-track:after,
.slick-track:before {
  content: "";
  display: table
}

.slick-track:after {
  clear: both
}

.slick-loading .slick-track {
  visibility: hidden
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none
}

[dir=rtl] .slick-slide {
  float: right
}

.slick-slide img {
  display: block
}

.slick-slide.slick-loading img {
  display: none
}

.slick-slide.dragging img {
  pointer-events: none
}

.slick-initialized .slick-slide {
  display: block
}

.slick-loading .slick-slide {
  visibility: hidden
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}

.slick-arrow.slick-hidden {
  display: none
}

  button {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  border: none;
  background: 0 0;
  width: 100%;
  padding: 0;
  cursor: pointer;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778
}

@media only screen and (max-width:768px) {
    button {
    font-size: 1.5rem;
    line-height: 1.73333
  }
}

  input[type=email],
  input[type=number],
  input[type=text],
  select,
  textarea {
  width: 100%;
  box-sizing: border-box;
  font-family: "メイリオ", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif
}


  input::-webkit-input-placeholder {
  color: #999
}

  input:-ms-input-placeholder {
  color: #999
}

  input::-moz-placeholder {
  color: #999
}

  input[type=checkbox],
  input[type=radio] {
  display: inline-block;
  margin-right: 6px
}

  input[type=checkbox] + span,
  input[type=radio] + span {
  position: relative;
  display: inline-block;
  cursor: pointer;
  white-space: nowrap
}

@media (min-width:1px) {
    input[type=checkbox],
    input[type=radio] {
    /*display: none; */
    margin: 0
  }
    input[type=checkbox] + span,
    input[type=radio] + span {
    margin-right: 15px;
    padding: 0 0 0 24px
  }
    input[type=checkbox] + span:before,
    input[type=radio] + span:before {
    content: " ";
    position: absolute;
    top: 50%;
    left: 0;
    box-sizing: border-box;
    display: block;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    background: #fff;
    box-sizing: border-box;
    border: 1px solid #b3b3b3
  }
    input[type=radio] + span:before {
    border-radius: 50%
  }
    input[type=checkbox] + span:before {
    border-radius: 2px
  }
    input[type=checkbox]:checked + span:after,
    input[type=radio]:checked + span:after {
    content: " ";
    position: absolute;
    top: 50%;
    box-sizing: border-box;
    display: block
  }
    input[type=radio]:checked + span:after {
    left: 5px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    background: #385898;
    border-radius: 8px
  }
    input[type=checkbox]:checked + span:after {
    left: 4px;
    width: 10px;
    height: 6px;
    margin-top: -5px;
    border-left: 3px solid #385898;
    border-bottom: 3px solid #385898;
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
}

  blockquote,
  dd,
  dl,
  dt,
  fieldset,
  figure,
  form,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  input,
  li,
  ol,
  p,
  pre,
  textarea,
  ul {
  margin: 0;
  padding: 0
}

  table {
  border-collapse: collapse;
  border-spacing: 0
}

  address,
  caption,
  cite,
  code,
  dfn,
  em,
  th,
  var {
  font-style: normal;
  font-weight: 400
}

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
  font-size: 100%;
  font-weight: 400
}

  fieldset,
  img {
  border: 0;
  vertical-align: top
}

  ol,
  ul {
  list-style: none
}

  q:after,
  q:before {
  content: " "
}

  abbr,
  acronym {
  border: 0
}

  a {
  color: #11161f
}

  a:link {
  text-decoration: none
}

  a:visited {
  text-decoration: none
}

  a:hover {
  color: #11161f;
  text-decoration: none;
  cursor: pointer
}

  a:active {
  text-decoration: none
}

  a:active,
  a:focus {
  outline: 0
}

  dd img,
  dt img,
  li img {
  vertical-align: top
}

  article,
  aside,
  canvas,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section,
  summary {
  display: block
}

  select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit
}

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

  input[type=number]::-webkit-inner-spin-button,
  input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0
}

  input[type=number] {
  -moz-appearance: textfield
}

  .btn-info,
  .btn-info:hover {
  color: #fff
}

  .cassette-add-top {
  padding-bottom: 20px
}

  .cassette-item {
  position: relative;
  margin: 0;
  padding: 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75;
  color: #1a1a1a;
  background: #fff;
  -webkit-tap-highlight-color: transparent;
  font-feature-settings: "palt"
}

  .cassette-item img {
  max-width: 100%;
  height: auto
}

  .cassette-item .c-table {
  font-size: 16px;
  font-size: 1.6rem
}

  .cassette-item._formEdit {
  margin-bottom: 30px
}

  .cassette-item .btn {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.75
}

  .cassette-item input[type=date],
  .cassette-item input[type=number],
  .cassette-item input[type=password],
  .cassette-item input[type=text],
  .cassette-item input[type=time],
  .cassette-item textarea {
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0
}




  .cassette-item .c-casette_ttl {
  background-color: #3f72af;
  font-size: 38px;
  font-size: 2.4rem;
  color: #fff;
  text-align: center;
  line-height: 1.3;
  font-weight: 700;
  padding: 14px 15px
}

@media only screen and (max-width:768px) {
    .cassette-item .c-casette_ttl {
    font-size: 1.8rem;
    text-align: left
  }
}

  .cassette-item .c-casette_body {
  border: 2px solid #f2f2f2;
  border-top: none;
  padding: 30px 28px
}

  .cassette-item .c-casette_body > :last-child {
  margin-bottom: 0!important
}

@media only screen and (max-width:768px) {
    .cassette-item .c-casette_body {
    padding: 15px
  }
}

  .cassette-item .c-casette.c-casette__sub .c-casette_ttl {
  background-color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-enclosureTxt {
  border: 1px solid #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-def dt {
  color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-def dt:before {
  background-color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-secTtl02 {
  border-left: 5px solid #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-secTtl03 {
  border-bottom: 2px solid #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-secTtl04:before {
  background-color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-secTtl05 {
  color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-simpleList li:before {
  background-color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-numList li:before {
  background-color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-fileList li svg path {
  fill: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-fileList li a {
  color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-btnList li a {
  background-color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-table tr {
  border-top: 1px solid #b3b3b3;
  border-right: 1px solid #b3b3b3
}

  .cassette-item .c-casette.c-casette__sub .c-table td,
  .cassette-item .c-casette.c-casette__sub .c-table th {
  border-bottom: 1px solid #b3b3b3;
  border-left: 1px solid #b3b3b3
}

  .cassette-item .c-casette.c-casette__sub .c-table th {
  color: #ff8943;
  border-right: 1px solid #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-table.c-table__fixed th {
  border-right: 1px solid #b3b3b3;
  border-bottom: 1px solid #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-defTable {
  border: 1px solid #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-defTable dl dt {
  color: #ff8943;
  background-color: #f2f2f2
}

  .cassette-item .c-casette.c-casette__sub .c-form select {
  background-image: url(/assets/images/common/icon-select-sub.svg)
}

  .cassette-item .c-casette.c-casette__sub .c-form .zip-search {
  background-color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-form_table dl dt {
  color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-form_btn button {
  background-color: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-form_btn button.back {
  color: #ff8943;
  background-color: #e6e6e6
}

  .cassette-item .c-casette.c-casette__sub .c-inputList > li input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden
}

  .cassette-item .c-casette.c-casette__sub .c-inputList > li label {
  font-size: 24px;
  font-size: 1.5rem;
  display: inline-block;
  position: relative;
  padding-left: 30px
}

@media only screen and (max-width:768px) {
    .cassette-item .c-casette.c-casette__sub .c-inputList > li label {
    font-size: 1.3rem
  }
}

  .cassette-item .c-casette.c-casette__sub .c-inputList > li label:before {
  content: " ";
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #f2f2f2;
  box-sizing: border-box;
  left: 0;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

  .cassette-item .c-casette.c-casette__sub .c-inputList > li input[type=checkbox] + label:before {
  border-radius: 2px
}

  .cassette-item .c-casette.c-casette__sub .c-inputList > li input[type=radio] + label:before {
  border-radius: 50%
}

  .cassette-item .c-casette.c-casette__sub .c-inputList > li input[type=checkbox]:checked + label:after {
  content: " ";
  position: absolute;
  top: .35em;
  left: 4px;
  width: 10px;
  height: 6px;
  border-left: 3px solid #ff8943;
  border-bottom: 3px solid #ff8943;
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

  .cassette-item .c-casette.c-casette__sub .c-inputList > li input[type=radio]:checked + label:after {
  content: " ";
  position: absolute;
  top: .45em;
  left: 4px;
  height: 12px;
  width: 12px;
  border-radius: 50%;
  background: #ff8943
}

  .cassette-item .c-casette.c-casette__sub .c-gallery .c-gallery_list .slick-dots li.slick-active {
  background-color: #ff8943
}

  .cassette-item .c-enclosureTxt {
  padding: 25px 30px;
  background: var(--bg);
  margin-bottom: 40px
}

@media only screen and (max-width:768px) {
    .cassette-item .c-enclosureTxt {
    padding: 15px
  }
}

  .cassette-item .c-def {
  border-top: 1px solid var(--border);
  border-right: 1px solid var(--border);
  margin-bottom: 40px
}

  .cassette-item .c-def dt,
  .cassette-item .c-def dd {
  border-left: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 10px 20px;
  margin: 0;  
}

  .cassette-item .c-def dt {
  font-weight: normal;
  background: var(--bg);
}

@media only screen and (max-width:768px) {
    .cassette-item .c-def dt {
    font-size: 1.6rem
  }
}

  .cassette-item .c-secTtl02 {
    padding-bottom: .2rem;
    border-bottom: 6px double #72BEC6;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 40px;
}

@media only screen and (max-width:768px) {
    .cassette-item .c-secTtl02 {
    font-size: 1.5rem
  }
}

  .cassette-item .c-secTtl03 {
    padding: .5rem 0;
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--primary);
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 40px;
}

@media only screen and (max-width:768px) {
    .cassette-item .c-secTtl03 {
    font-size: 1.3rem
  }
}

  .cassette-item .c-secTtl04 {
    padding: .6rem .6rem .6rem .8rem;
    border-left: 7px solid var(--primary);
    background: var(--bg);
    font-size: 1.5rem;
    margin-bottom: 40px;
}

@media only screen and (max-width:768px) {
    .cassette-item .c-secTtl04 {
    font-size: 1.1rem
  }
}

  .cassette-item .c-secTtl05 {
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  margin-bottom: 40px;
  color: #3f72af
}

@media only screen and (max-width:768px) {
    .cassette-item .c-secTtl05 {
    font-size: 1.6rem
  }
}

  .cassette-item .c-simpleList {
  margin-bottom: 30px
}

  .cassette-item .c-simpleList li {
  position: relative;
  padding-left: 16px
}

  .cassette-item .c-simpleList li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: var(--primary);
  border-radius: 50%;
  width: 6px;
  height: 6px
}

  .cassette-item .c-numList {
  margin-bottom: 40px
}

  .cassette-item .c-numList li {
  position: relative;
  counter-increment: number;
}

  .cassette-item .c-numList li:before {
  content: "("counter(number)")";
  display: inline-block;
  width: 30px;
}

  .cassette-item .c-fileList {
  margin-bottom: 40px
}

  .cassette-item .c-fileList li {
  position: relative;
  padding-left: 30px
}
  .cassette-item .c-fileList li:nth-child(n+2) {
  margin-top: .25em;
}

  .cassette-item .c-fileList li svg {
  position: absolute;
  left: 0;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

  .cassette-item .c-fileList li a {
  color: var(--primary);
  text-decoration: underline
}

  .cassette-item .c-fileList li:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 25px;
    height: 28px;
}

  .cassette-item .c-fileList li.pdf:before {
    background: url(/system_data/common/img/cassette/icon_pdf.svg) no-repeat center/contain;
}
  .cassette-item .c-fileList li.xls:before {
    background: url(/system_data/common/img/cassette/icon_excel.svg) no-repeat center/contain;
}
  .cassette-item .c-fileList li.com:before {
    background: url(/system_data/common/img/cassette/icon_file.svg) no-repeat center/contain;
}

  .cassette-item .c-btnList {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -10px;
  margin-bottom: 40px
}

  .cassette-item .c-btnList li {
  margin-right: 10px;
  margin-top: 10px
}

  .cassette-item .c-btnList li a {
    position: relative;
    display: inline-block;
    color: var(--secondary);
    border: 1px solid var(--secondary);
    border-radius: 4px;
    padding: 8px 48px 8px 32px;
    vertical-align: middle;
}

  .cassette-item .c-btnList li a:hover:before {
    border-color: #fff;
}
  .cassette-item .c-btnList li a:before,
  .cassette-item .c-btnList li a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
  .cassette-item .c-btnList li a:before {
    right: 1.5rem;
    width: .5rem;
    height: .5rem;
    border-top: 2px solid var(--secondary);
    border-right: 2px solid var(--secondary);
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}

  .cassette-item .c-btnList li a:active,
  .cassette-item .c-btnList li a:focus,
  .cassette-item .c-btnList li a:hover {
  opacity: .7;
  text-decoration: none
}

  .cassette-item .c-table {
  width: 100%;
  margin-bottom: 40px
}

  .cassette-item .c-table a {
  color: var(--primary);
  text-decoration: underline;
}

  .cassette-item .c-table tr {
  border: none;
  border-top: 1px solid var(--border) !important;
  border-right: 1px solid var(--border) !important;
}

  .cassette-item .c-table td,
  .cassette-item .c-table th {
  border: none;
  border-bottom: 1px solid var(--border) !important;
  border-left: 1px solid var(--border) !important;
  padding: 16px 1em
}

@media only screen and (max-width:768px) {
    .cassette-item .c-table td,
    .cassette-item .c-table th {
    padding: 10px
  }
}

  .cassette-item .c-table th {
  width: 170px;
  background: var(--bg);
}

@media only screen and (max-width:768px) {
    .cassette-item .c-table th {
    width: 150px
  }
}

  .cassette-item .c-table td > :last-child {
  margin-bottom: 0!important
}

  .cassette-item .c-table td > * {
  margin-bottom: 15px
}

  .cassette-item .c-table.c-table__fixed {
  table-layout: fixed
}

  .cassette-item .c-table.c-table__fixed th {
  width: auto;
  text-align: center
}

  .cassette-item .c-defTable {
  margin-bottom: 40px;
  border: 1px solid var(--border)
}

  .cassette-item .c-defTable > :last-child {
  margin-bottom: 0!important
}

  .cassette-item .c-defTable dl {
  width: 100%;
  display: table;
  margin-bottom: 20px
}

@media only screen and (max-width:768px) {
    .cassette-item .c-defTable dl {
    display: block
  }
}

  .cassette-item .c-defTable dl dd,
  .cassette-item .c-defTable dl dt {
  display: table-cell;
  padding: 15px 20px;
  vertical-align: middle
}

@media only screen and (max-width:768px) {
    .cassette-item .c-defTable dl dd,
    .cassette-item .c-defTable dl dt {
    display: block;
    padding: 10px
  }
}

  .cassette-item .c-defTable dl dt {
  width: 178px;
  background-color: var(--bg);
}

@media only screen and (max-width:768px) {
    .cassette-item .c-defTable dl dt {
    width: 100%
  }
}

  .cassette-item .c-form {
  margin-bottom: 50px
}

  .cassette-item .c-form > :last-child {
  margin-bottom: 0!important
}

  .cassette-item .c-form input[type=text],
  .cassette-item .c-form select {
  padding: 0 20px;
  background-color: #f2f2f2;
  border: none;
  outline: 0;
  height: 50px;
  line-height: 50px;
  font-size: 25px;
  font-size: 1.6rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif
}

  .cassette-item .c-form input[type=text]:placeholder,
  .cassette-item .c-form select:placeholder {
  color: #b3b3b3
}

@media only screen and (max-width:768px) {
    .cassette-item .c-form input[type=text],
    .cassette-item .c-form select {
    font-size: 1.4rem
  }
}

  .cassette-item .c-form input[type=text].zipcode,
  .cassette-item .c-form select.zipcode {
  width: 10em
}

  .cassette-item .c-form input[type=text] {
  width: 100%
}

  .cassette-item .c-form select {
  display: inline-block;
  width: 245px;
  background-repeat: no-repeat;
  background-position: right 10px top 50%;
  background-image: url(/assets/images/common/icon-select.svg)
}

  .cassette-item .c-form .zip-search {
  display: inline-block;
  background-color: #3f72af;
  color: #fff;
  width: auto;
  padding: 8px 2.5em;
  margin-left: 1em;
  vertical-align: middle;
  border-radius: 20px;
  font-size: 22px;
  font-size: 1.4rem;
  font-weight: 700
}

@media only screen and (max-width:768px) {
    .cassette-item .c-form .zip-search {
    padding: 8px 1em
  }
}

  .cassette-item .c-form .zip-search:active,
  .cassette-item .c-form .zip-search:focus,
  .cassette-item .c-form .zip-search:hover {
  opacity: .7
}

  .cassette-item .c-form_table {
  margin-bottom: 50px
}

  .cassette-item .c-form_table > :last-child {
  margin-bottom: 0!important
}

  .cassette-item .c-form_table dl {
  display: table;
  width: 100%;
  margin-bottom: 20px
}

@media only screen and (max-width:768px) {
    .cassette-item .c-form_table dl {
    display: block
  }
}

  .cassette-item .c-form_table dl dd,
  .cassette-item .c-form_table dl dt {
  display: table-cell
}

@media only screen and (max-width:768px) {
    .cassette-item .c-form_table dl dd,
    .cassette-item .c-form_table dl dt {
    display: block
  }
}

  .cassette-item .c-form_table dl dt {
  color: #3f72af;
  width: 130px;
  font-weight: 700;
  padding-top: 15px
}

@media only screen and (max-width:768px) {
    .cassette-item .c-form_table dl dt {
    width: 100%;
    padding-top: 0;
    margin-bottom: 10px
  }
}

  .cassette-item .c-form_table dl dt span {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  background-color: #ff8943;
  color: #fff;
  font-size: 19px;
  font-size: 1.2rem;
  margin-left: 10px;
  padding: 2px 5px
}

  .cassette-item .c-form_table dl dd > :last-child {
  margin-bottom: 0!important
}

  .cassette-item .c-form_table dl dd > * {
  margin-bottom: 10px
}

  .cassette-item .c-form_btn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center
}

  .cassette-item .c-form_btn li {
  width: 170px;
  margin-right: 40px
}

@media only screen and (max-width:768px) {
    .cassette-item .c-form_btn li {
    width: 48%;
    margin-right: 4%
  }
}

  .cassette-item .c-form_btn li:last-child {
  margin-right: 0
}

  .cassette-item .c-form_btn li button {
  display: block;
  width: 100%;
  padding: 9px 14px;
  background-color: #3f72af;
  color: #fff;
  border-radius: 30px;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 22px;
  font-size: 1.4rem
}

@media only screen and (max-width:768px) {
    .cassette-item .c-form_btn li button {
    padding: 12px
  }
}

  .cassette-item .c-form_btn li button:active,
  .cassette-item .c-form_btn li button:focus,
  .cassette-item .c-form_btn li button:hover {
  opacity: .7
}

  .cassette-item .c-form_btn li button.back {
  background-color: #e6e6e6;
  color: #3f72af
}

  .cassette-item .c-inputList {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -20px;
  margin-top: -5px;
  margin-bottom: 20px
}

  .cassette-item .c-inputList > li {
  margin-right: 20px;
  margin-top: 5px
}

  .cassette-item .c-inputList > li input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden
}

  .cassette-item .c-inputList > li label {
  font-size: 24px;
  font-size: 1.5rem;
  display: inline-block;
  position: relative;
  padding-left: 30px
}

@media only screen and (max-width:768px) {
  .c-inputList > li label {
    font-size: 1.3rem
  }
}

  .cassette-item .c-inputList > li label:before {
  content: " ";
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #f2f2f2;
  box-sizing: border-box;
  left: 0;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

  .cassette-item .c-inputList > li input[type=checkbox] + label:before {
  border-radius: 2px
}

  .cassette-item .c-inputList > li input[type=radio] + label:before {
  border-radius: 50%
}

  .cassette-item .c-inputList > li input[type=checkbox]:checked + label:after {
  content: " ";
  position: absolute;
  top: .35em;
  left: 4px;
  width: 10px;
  height: 6px;
  border-left: 3px solid #3f72af;
  border-bottom: 3px solid #3f72af;
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

  .cassette-item .c-inputList > li input[type=radio]:checked + label:after {
  content: " ";
  position: absolute;
  top: .45em;
  left: 4px;
  height: 12px;
  width: 12px;
  border-radius: 50%;
  background: #3f72af
}

  .cassette-item .c-map {
  margin-bottom: 40px
}

  .cassette-item .c-map iframe {
  width: 100%;
  height: 400px
}

@media only screen and (max-width:768px) {
    .cassette-item .c-map iframe {
    height: 300px
  }
}

  .cassette-item .c-video {
  margin-bottom: 40px;
  position: relative;
  padding-top: 56.25%
}

  .cassette-item .c-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

  .cassette-item .c-free {
  margin-bottom: 40px
}

  .cassette-item .c-hr {
  margin: 40px 0;
  border: none;
  border-top: 1px solid #eee
}

  .cassette-item .c-img02Unit  {
  margin-bottom: 50px
}

  .cassette-item .c-img02Unit .edit-box {
  width: 100% !important;
}

  .cassette-item .c-img02Unit .c-img02 {
  margin-bottom: 0
}

  .cassette-item .c-img02Unit.c-img02Unit__col2 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

@media only screen and (max-width:768px) {
    .cassette-item .c-img02Unit.c-img02Unit__col2 {
    display: block
  }
}

@media only screen and (max-width:768px) {
    .cassette-item .c-img02Unit.c-img02Unit__col2 {
    margin-top: 0
  }
}

  .cassette-item .c-img02Unit.c-img02Unit__col2 > * {
  margin-top: 40px;
  width: 48.14815%;
  margin-right: 3.7037%
}

@media only screen and (min-width:769px) {
    .cassette-item .c-img02Unit.c-img02Unit__col2 > :nth-child(2n) {
    margin-right: 0
  }
}

  .cassette-item .c-img02Unit.c-img02Unit__col2 > :last-child {
  margin-right: 0
}

@media only screen and (max-width:768px) {
    .cassette-item .c-img02Unit.c-img02Unit__col2 > * {
    margin-top: 20px;
    display: block;
    width: 100%;
    margin-right: 0
  }
    .cassette-item .c-img02Unit.c-img02Unit__col2 > :first-child {
    margin-top: 0
  }
}

  .cassette-item .c-img02Unit.c-img02Unit__col3 {
  /*margin-top: -40px;*/
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

@media only screen and (max-width:768px) {
    .cassette-item .c-img02Unit.c-img02Unit__col3 {
    display: block
  }
}

@media only screen and (max-width:768px) {
    .cassette-item .c-img02Unit.c-img02Unit__col3 {
    margin-top: 0
  }
}

  .cassette-item .c-img02Unit.c-img02Unit__col3 > * {
  margin-top: 40px;
  width: 30.8642%;
  margin-right: 3.7037%
}

@media only screen and (min-width:769px) {
    .cassette-item .c-img02Unit.c-img02Unit__col3 > :nth-child(3n) {
    margin-right: 0
  }
}

  .cassette-item .c-img02Unit.c-img02Unit__col3 > :last-child {
  margin-right: 0
}

@media only screen and (max-width:768px) {
    .cassette-item .c-img02Unit.c-img02Unit__col3 > * {
    margin-top: 20px;
    display: block;
    width: 100%;
    margin-right: 0
  }
    .cassette-item .c-img02Unit.c-img02Unit__col3 > :first-child {
    margin-top: 0
  }
}

  .cassette-item .c-img02 {
  text-align: center;
  margin-bottom: 55px
}

@media only screen and (max-width:768px) {
    .cassette-item .c-img02 {
    margin-bottom: 30px
  }
}

@media only screen and (max-width:768px) {
    .cassette-item .c-img02 img {
    width: 100%
  }
}

  .cassette-item .c-img02 figcaption {
  text-align: left;
  margin-top: 1em
}

  .cassette-item .c-pouring {
  margin-bottom: 40px;
  overflow: hidden
}

  .cassette-item .c-pouring .c-pouring_img {
  float: left;
  max-width: 335px;
  margin-right: 20px;
  margin-bottom: 15px
}

@media only screen and (max-width:768px) {
    .cassette-item .c-pouring .c-pouring_img {
    float: none!important;
    margin-left: 0!important;
    margin-right: 0!important;
    max-width: 100%
  }
}

@media only screen and (max-width:768px) {
    .cassette-item .c-pouring .c-pouring_img img {
    width: 100%
  }
}

  .cassette-item .c-pouring.c-pouring__rev .c-pouring_img {
  float: right;
  margin-left: 20px;
  margin-right: 0
}

  .cassette-item .c-gallery {
  margin-bottom: 50px
}

  .cassette-item .c-gallery .c-gallery_list .slick-slide {
  height: 400px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #f2f2f2
}

@media only screen and (max-width:768px) {
    .cassette-item .c-gallery .c-gallery_list .slick-slide {
    height: 200px
  }
}

  .cassette-item .c-gallery .c-gallery_list .slick-slide figure img {
  max-height: 400px
}

@media only screen and (max-width:768px) {
    .cassette-item .c-gallery .c-gallery_list .slick-slide figure img {
    max-height: 200px
  }
}

  .cassette-item .c-gallery .c-gallery_list .slick-dots {
  letter-spacing: -.4em;
  text-align: center;
  margin-top: 30px;
  font-size: 0
}

@media only screen and (max-width:768px) {
    .cassette-item .c-gallery .c-gallery_list .slick-dots {
    margin-top: 25px
  }
}

  .cassette-item .c-gallery .c-gallery_list .slick-dots li {
  display: inline-block;
  vertical-align: top;
  letter-spacing: normal;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #eee;
  margin-right: 15px;
  cursor: pointer
}

@media only screen and (max-width:768px) {
    .cassette-item .c-gallery .c-gallery_list .slick-dots li {
    width: 8px;
    height: 8px;
    margin-right: 10px
  }
}

  .cassette-item .c-gallery .c-gallery_list .slick-dots li.slick-active {
  background-color: #3f72af
}

  .cassette-item .c-gallery .c-gallery_list .slick-dots li:last-child {
  margin-right: 0
}

  .cassette-item .c-gallery .c-gallery_list .slick-dots li button {
  display: none
}

  .cassette-item .u-fwb {
  font-weight: 700!important
}

  .cassette-item .u-tal {
  text-align: left!important
}

  .cassette-item .u-tac {
  text-align: center!important
}

  .cassette-item .u-tar {
  text-align: right!important
}

  .cassette-item .u-underline {
  text-decoration: underline!important
}

@media only screen and (min-width:769px) {
    .cassette-item .u-tal_pc {
    text-align: left!important
  }
    .cassette-item .u-tac_pc {
    text-align: center!important
  }
    .cassette-item .u-tar_pc {
    text-align: right!important
  }
}

@media only screen and (max-width:768px) {
    .cassette-item .u-tal_sp {
    text-align: left!important
  }
    .cassette-item .u-tac_sp {
    text-align: center!important
  }
    .cassette-item .u-tar_sp {
    text-align: right!important
  }
}

  .cassette-item .u-centerring {
  margin-left: auto;
  margin-right: auto
}

  .cassette-item .u-colorBase {
  color: #11161f!important
}

  .cassette-item .u-colorTheme {
  color: #3f72af!important
}

  .cassette-item .u-bgTheme {
  background-color: #3f72af!important
}

  .cassette-item .u-bgGray {
  background-color: #f8f8f7!important
}

.u-w100 {
  width: 100%!important
}

.u-mb0 {
  margin-bottom: 0!important
}

.u-mb5 {
  margin-bottom: 5px!important
}

.u-mb10 {
  margin-bottom: 10px!important
}

.u-mb15 {
  margin-bottom: 15px!important
}

.u-mb20 {
  margin-bottom: 20px!important
}

.u-mb25 {
  margin-bottom: 25px!important
}

.u-mb30 {
  margin-bottom: 30px!important
}

.u-mb35 {
  margin-bottom: 35px!important
}

.u-mb40 {
  margin-bottom: 40px!important
}

.u-mb45 {
  margin-bottom: 45px!important
}

.u-mb50 {
  margin-bottom: 50px!important
}

.u-mb55 {
  margin-bottom: 55px!important
}

.u-mb60 {
  margin-bottom: 60px!important
}

.u-mb65 {
  margin-bottom: 65px!important
}

.u-mb70 {
  margin-bottom: 70px!important
}

.u-mb75 {
  margin-bottom: 75px!important
}

.u-mb80 {
  margin-bottom: 80px!important
}

.u-mb85 {
  margin-bottom: 85px!important
}

.u-mb90 {
  margin-bottom: 90px!important
}

.u-mb95 {
  margin-bottom: 95px!important
}

.u-mb100 {
  margin-bottom: 100px!important
}

@media only screen and (min-width:769px) {
  .u-mb0_pc {
    margin-bottom: 0!important
  }
  .u-mb5_pc {
    margin-bottom: 5px!important
  }
  .u-mb10_pc {
    margin-bottom: 10px!important
  }
  .u-mb15_pc {
    margin-bottom: 15px!important
  }
  .u-mb20_pc {
    margin-bottom: 20px!important
  }
  .u-mb25_pc {
    margin-bottom: 25px!important
  }
  .u-mb30_pc {
    margin-bottom: 30px!important
  }
  .u-mb35_pc {
    margin-bottom: 35px!important
  }
  .u-mb40_pc {
    margin-bottom: 40px!important
  }
  .u-mb45_pc {
    margin-bottom: 45px!important
  }
  .u-mb50_pc {
    margin-bottom: 50px!important
  }
  .u-mb55_pc {
    margin-bottom: 55px!important
  }
  .u-mb60_pc {
    margin-bottom: 60px!important
  }
  .u-mb65_pc {
    margin-bottom: 65px!important
  }
  .u-mb70_pc {
    margin-bottom: 70px!important
  }
  .u-mb75_pc {
    margin-bottom: 75px!important
  }
  .u-mb80_pc {
    margin-bottom: 80px!important
  }
  .u-mb85_pc {
    margin-bottom: 85px!important
  }
  .u-mb90_pc {
    margin-bottom: 90px!important
  }
  .u-mb95_pc {
    margin-bottom: 95px!important
  }
  .u-mb100_pc {
    margin-bottom: 100px!important
  }
}

@media only screen and (max-width:768px) {
  .u-mb0_sp {
    margin-bottom: 0!important
  }
  .u-mb5_sp {
    margin-bottom: 5px!important
  }
  .u-mb10_sp {
    margin-bottom: 10px!important
  }
  .u-mb15_sp {
    margin-bottom: 15px!important
  }
  .u-mb20_sp {
    margin-bottom: 20px!important
  }
  .u-mb25_sp {
    margin-bottom: 25px!important
  }
  .u-mb30_sp {
    margin-bottom: 30px!important
  }
  .u-mb35_sp {
    margin-bottom: 35px!important
  }
  .u-mb40_sp {
    margin-bottom: 40px!important
  }
  .u-mb45_sp {
    margin-bottom: 45px!important
  }
  .u-mb50_sp {
    margin-bottom: 50px!important
  }
  .u-mb55_sp {
    margin-bottom: 55px!important
  }
  .u-mb60_sp {
    margin-bottom: 60px!important
  }
  .u-mb65_sp {
    margin-bottom: 65px!important
  }
  .u-mb70_sp {
    margin-bottom: 70px!important
  }
  .u-mb75_sp {
    margin-bottom: 75px!important
  }
  .u-mb80_sp {
    margin-bottom: 80px!important
  }
  .u-mb85_sp {
    margin-bottom: 85px!important
  }
  .u-mb90_sp {
    margin-bottom: 90px!important
  }
  .u-mb95_sp {
    margin-bottom: 95px!important
  }
  .u-mb100_sp {
    margin-bottom: 100px!important
  }
}

.u-mt0 {
  margin-top: 0!important
}

.u-mt5 {
  margin-top: 5px!important
}

.u-mt10 {
  margin-top: 10px!important
}

.u-mt15 {
  margin-top: 15px!important
}

.u-mt20 {
  margin-top: 20px!important
}

.u-mt25 {
  margin-top: 25px!important
}

.u-mt30 {
  margin-top: 30px!important
}

.u-mt35 {
  margin-top: 35px!important
}

.u-mt40 {
  margin-top: 40px!important
}

.u-mt45 {
  margin-top: 45px!important
}

.u-mt50 {
  margin-top: 50px!important
}

.u-mt55 {
  margin-top: 55px!important
}

.u-mt60 {
  margin-top: 60px!important
}

.u-mt65 {
  margin-top: 65px!important
}

.u-mt70 {
  margin-top: 70px!important
}

.u-mt75 {
  margin-top: 75px!important
}

.u-mt80 {
  margin-top: 80px!important
}

.u-mt85 {
  margin-top: 85px!important
}

.u-mt90 {
  margin-top: 90px!important
}

.u-mt95 {
  margin-top: 95px!important
}

.u-mt100 {
  margin-top: 100px!important
}

@media only screen and (min-width:769px) {
  .u-mt0_pc {
    margin-top: 0!important
  }
  .u-mt5_pc {
    margin-top: 5px!important
  }
  .u-mt10_pc {
    margin-top: 10px!important
  }
  .u-mt15_pc {
    margin-top: 15px!important
  }
  .u-mt20_pc {
    margin-top: 20px!important
  }
  .u-mt25_pc {
    margin-top: 25px!important
  }
  .u-mt30_pc {
    margin-top: 30px!important
  }
  .u-mt35_pc {
    margin-top: 35px!important
  }
  .u-mt40_pc {
    margin-top: 40px!important
  }
  .u-mt45_pc {
    margin-top: 45px!important
  }
  .u-mt50_pc {
    margin-top: 50px!important
  }
  .u-mt55_pc {
    margin-top: 55px!important
  }
  .u-mt60_pc {
    margin-top: 60px!important
  }
  .u-mt65_pc {
    margin-top: 65px!important
  }
  .u-mt70_pc {
    margin-top: 70px!important
  }
  .u-mt75_pc {
    margin-top: 75px!important
  }
  .u-mt80_pc {
    margin-top: 80px!important
  }
  .u-mt85_pc {
    margin-top: 85px!important
  }
  .u-mt90_pc {
    margin-top: 90px!important
  }
  .u-mt95_pc {
    margin-top: 95px!important
  }
  .u-mt100_pc {
    margin-top: 100px!important
  }
}

@media only screen and (max-width:768px) {
  .u-mt0_sp {
    margin-top: 0!important
  }
  .u-mt5_sp {
    margin-top: 5px!important
  }
  .u-mt10_sp {
    margin-top: 10px!important
  }
  .u-mt15_sp {
    margin-top: 15px!important
  }
  .u-mt20_sp {
    margin-top: 20px!important
  }
  .u-mt25_sp {
    margin-top: 25px!important
  }
  .u-mt30_sp {
    margin-top: 30px!important
  }
  .u-mt35_sp {
    margin-top: 35px!important
  }
  .u-mt40_sp {
    margin-top: 40px!important
  }
  .u-mt45_sp {
    margin-top: 45px!important
  }
  .u-mt50_sp {
    margin-top: 50px!important
  }
  .u-mt55_sp {
    margin-top: 55px!important
  }
  .u-mt60_sp {
    margin-top: 60px!important
  }
  .u-mt65_sp {
    margin-top: 65px!important
  }
  .u-mt70_sp {
    margin-top: 70px!important
  }
  .u-mt75_sp {
    margin-top: 75px!important
  }
  .u-mt80_sp {
    margin-top: 80px!important
  }
  .u-mt85_sp {
    margin-top: 85px!important
  }
  .u-mt90_sp {
    margin-top: 90px!important
  }
  .u-mt95_sp {
    margin-top: 95px!important
  }
  .u-mt100_sp {
    margin-top: 100px!important
  }
}

.u-mbLast {
  margin-bottom: 80px
}

@media only screen and (max-width:768px) {
  .u-mbLast {
    margin-bottom: 40px
  }
}

.u-pb0 {
  padding-bottom: 0!important
}

.u-pb5 {
  padding-bottom: 5px!important
}

.u-pb10 {
  padding-bottom: 10px!important
}

.u-pb15 {
  padding-bottom: 15px!important
}

.u-pb20 {
  padding-bottom: 20px!important
}

.u-pb25 {
  padding-bottom: 25px!important
}

.u-pb30 {
  padding-bottom: 30px!important
}

.u-pb35 {
  padding-bottom: 35px!important
}

.u-pb40 {
  padding-bottom: 40px!important
}

.u-pb45 {
  padding-bottom: 45px!important
}

.u-pb50 {
  padding-bottom: 50px!important
}

.u-pb55 {
  padding-bottom: 55px!important
}

.u-pb60 {
  padding-bottom: 60px!important
}

.u-pb65 {
  padding-bottom: 65px!important
}

.u-pb70 {
  padding-bottom: 70px!important
}

.u-pb75 {
  padding-bottom: 75px!important
}

.u-pb80 {
  padding-bottom: 80px!important
}

.u-pb85 {
  padding-bottom: 85px!important
}

.u-pb90 {
  padding-bottom: 90px!important
}

.u-pb95 {
  padding-bottom: 95px!important
}

.u-pb100 {
  padding-bottom: 100px!important
}

.u-pt0 {
  padding-top: 0!important
}

.u-pt5 {
  padding-top: 5px!important
}

.u-pt10 {
  padding-top: 10px!important
}

.u-pt15 {
  padding-top: 15px!important
}

.u-pt20 {
  padding-top: 20px!important
}

.u-pt25 {
  padding-top: 25px!important
}

.u-pt30 {
  padding-top: 30px!important
}

.u-pt35 {
  padding-top: 35px!important
}

.u-pt40 {
  padding-top: 40px!important
}

.u-pt45 {
  padding-top: 45px!important
}

.u-pt50 {
  padding-top: 50px!important
}

.u-pt55 {
  padding-top: 55px!important
}

.u-pt60 {
  padding-top: 60px!important
}

.u-pt65 {
  padding-top: 65px!important
}

.u-pt70 {
  padding-top: 70px!important
}

.u-pt75 {
  padding-top: 75px!important
}

.u-pt80 {
  padding-top: 80px!important
}

.u-pt85 {
  padding-top: 85px!important
}

.u-pt90 {
  padding-top: 90px!important
}

.u-pt95 {
  padding-top: 95px!important
}

.u-pt100 {
  padding-top: 100px!important
}

.u-pr0 {
  padding-right: 0!important
}

.u-pr5 {
  padding-right: 5px!important
}

.u-pr10 {
  padding-right: 10px!important
}

.u-pr15 {
  padding-right: 15px!important
}

.u-pr20 {
  padding-right: 20px!important
}

.u-pr25 {
  padding-right: 25px!important
}

.u-pr30 {
  padding-right: 30px!important
}

.u-pr35 {
  padding-right: 35px!important
}

.u-pr40 {
  padding-right: 40px!important
}

.u-pr45 {
  padding-right: 45px!important
}

.u-pr50 {
  padding-right: 50px!important
}

.u-pr55 {
  padding-right: 55px!important
}

.u-pr60 {
  padding-right: 60px!important
}

.u-pr65 {
  padding-right: 65px!important
}

.u-pr70 {
  padding-right: 70px!important
}

.u-pr75 {
  padding-right: 75px!important
}

.u-pr80 {
  padding-right: 80px!important
}

.u-pr85 {
  padding-right: 85px!important
}

.u-pr90 {
  padding-right: 90px!important
}

.u-pr95 {
  padding-right: 95px!important
}

.u-pr100 {
  padding-right: 100px!important
}

.u-pl0 {
  padding-left: 0!important
}

.u-pl5 {
  padding-left: 5px!important
}

.u-pl10 {
  padding-left: 10px!important
}

.u-pl15 {
  padding-left: 15px!important
}

.u-pl20 {
  padding-left: 20px!important
}

.u-pl25 {
  padding-left: 25px!important
}

.u-pl30 {
  padding-left: 30px!important
}

.u-pl35 {
  padding-left: 35px!important
}

.u-pl40 {
  padding-left: 40px!important
}

.u-pl45 {
  padding-left: 45px!important
}

.u-pl50 {
  padding-left: 50px!important
}

.u-pl55 {
  padding-left: 55px!important
}

.u-pl60 {
  padding-left: 60px!important
}

.u-pl65 {
  padding-left: 65px!important
}

.u-pl70 {
  padding-left: 70px!important
}

.u-pl75 {
  padding-left: 75px!important
}

.u-pl80 {
  padding-left: 80px!important
}

.u-pl85 {
  padding-left: 85px!important
}

.u-pl90 {
  padding-left: 90px!important
}

.u-pl95 {
  padding-left: 95px!important
}

.u-pl100 {
  padding-left: 100px!important
}

@media only screen and (max-width:768px) {
  .u-pb0_sp {
    padding-bottom: 0!important
  }
  .u-pb5_sp {
    padding-bottom: 5px!important
  }
  .u-pb10_sp {
    padding-bottom: 10px!important
  }
  .u-pb15_sp {
    padding-bottom: 15px!important
  }
  .u-pb20_sp {
    padding-bottom: 20px!important
  }
  .u-pb25_sp {
    padding-bottom: 25px!important
  }
  .u-pb30_sp {
    padding-bottom: 30px!important
  }
  .u-pb35_sp {
    padding-bottom: 35px!important
  }
  .u-pb40_sp {
    padding-bottom: 40px!important
  }
  .u-pb45_sp {
    padding-bottom: 45px!important
  }
  .u-pb50_sp {
    padding-bottom: 50px!important
  }
  .u-pb55_sp {
    padding-bottom: 55px!important
  }
  .u-pb60_sp {
    padding-bottom: 60px!important
  }
  .u-pb65_sp {
    padding-bottom: 65px!important
  }
  .u-pb70_sp {
    padding-bottom: 70px!important
  }
  .u-pb75_sp {
    padding-bottom: 75px!important
  }
  .u-pb80_sp {
    padding-bottom: 80px!important
  }
  .u-pb85_sp {
    padding-bottom: 85px!important
  }
  .u-pb90_sp {
    padding-bottom: 90px!important
  }
  .u-pb95_sp {
    padding-bottom: 95px!important
  }
  .u-pb100_sp {
    padding-bottom: 100px!important
  }
}

@media only screen and (max-width:768px) {
  .u-pt0_sp {
    padding-top: 0!important
  }
  .u-pt5_sp {
    padding-top: 5px!important
  }
  .u-pt10_sp {
    padding-top: 10px!important
  }
  .u-pt15_sp {
    padding-top: 15px!important
  }
  .u-pt20_sp {
    padding-top: 20px!important
  }
  .u-pt25_sp {
    padding-top: 25px!important
  }
  .u-pt30_sp {
    padding-top: 30px!important
  }
  .u-pt35_sp {
    padding-top: 35px!important
  }
  .u-pt40_sp {
    padding-top: 40px!important
  }
  .u-pt45_sp {
    padding-top: 45px!important
  }
  .u-pt50_sp {
    padding-top: 50px!important
  }
  .u-pt55_sp {
    padding-top: 55px!important
  }
  .u-pt60_sp {
    padding-top: 60px!important
  }
  .u-pt65_sp {
    padding-top: 65px!important
  }
  .u-pt70_sp {
    padding-top: 70px!important
  }
  .u-pt75_sp {
    padding-top: 75px!important
  }
  .u-pt80_sp {
    padding-top: 80px!important
  }
  .u-pt85_sp {
    padding-top: 85px!important
  }
  .u-pt90_sp {
    padding-top: 90px!important
  }
  .u-pt95_sp {
    padding-top: 95px!important
  }
  .u-pt100_sp {
    padding-top: 100px!important
  }
}

.u-mh0 {
  max-height: 0!important
}

.u-mh1 {
  max-height: 1px!important
}

.u-mh2 {
  max-height: 2px!important
}

.u-mh3 {
  max-height: 3px!important
}

.u-mh4 {
  max-height: 4px!important
}

.u-mh5 {
  max-height: 5px!important
}

.u-mh6 {
  max-height: 6px!important
}

.u-mh7 {
  max-height: 7px!important
}

.u-mh8 {
  max-height: 8px!important
}

.u-mh9 {
  max-height: 9px!important
}

.u-mh10 {
  max-height: 10px!important
}

.u-mh11 {
  max-height: 11px!important
}

.u-mh12 {
  max-height: 12px!important
}

.u-mh13 {
  max-height: 13px!important
}

.u-mh14 {
  max-height: 14px!important
}

.u-mh15 {
  max-height: 15px!important
}

.u-mh16 {
  max-height: 16px!important
}

.u-mh17 {
  max-height: 17px!important
}

.u-mh18 {
  max-height: 18px!important
}

.u-mh19 {
  max-height: 19px!important
}

.u-mh20 {
  max-height: 20px!important
}

.u-mh21 {
  max-height: 21px!important
}

.u-mh22 {
  max-height: 22px!important
}

.u-mh23 {
  max-height: 23px!important
}

.u-mh24 {
  max-height: 24px!important
}

.u-mh25 {
  max-height: 25px!important
}

.u-mh26 {
  max-height: 26px!important
}

.u-mh27 {
  max-height: 27px!important
}

.u-mh28 {
  max-height: 28px!important
}

.u-mh29 {
  max-height: 29px!important
}

.u-mh30 {
  max-height: 30px!important
}

.u-mh31 {
  max-height: 31px!important
}

.u-mh32 {
  max-height: 32px!important
}

.u-mh33 {
  max-height: 33px!important
}

.u-mh34 {
  max-height: 34px!important
}

.u-mh35 {
  max-height: 35px!important
}

.u-mh36 {
  max-height: 36px!important
}

.u-mh37 {
  max-height: 37px!important
}

.u-mh38 {
  max-height: 38px!important
}

.u-mh39 {
  max-height: 39px!important
}

.u-mh40 {
  max-height: 40px!important
}

.u-mh41 {
  max-height: 41px!important
}

.u-mh42 {
  max-height: 42px!important
}

.u-mh43 {
  max-height: 43px!important
}

.u-mh44 {
  max-height: 44px!important
}

.u-mh45 {
  max-height: 45px!important
}

.u-mh46 {
  max-height: 46px!important
}

.u-mh47 {
  max-height: 47px!important
}

.u-mh48 {
  max-height: 48px!important
}

.u-mh49 {
  max-height: 49px!important
}

.u-mh50 {
  max-height: 50px!important
}

.u-mh51 {
  max-height: 51px!important
}

.u-mh52 {
  max-height: 52px!important
}

.u-mh53 {
  max-height: 53px!important
}

.u-mh54 {
  max-height: 54px!important
}

.u-mh55 {
  max-height: 55px!important
}

.u-mh56 {
  max-height: 56px!important
}

.u-mh57 {
  max-height: 57px!important
}

.u-mh58 {
  max-height: 58px!important
}

.u-mh59 {
  max-height: 59px!important
}

.u-mh60 {
  max-height: 60px!important
}

.u-mh61 {
  max-height: 61px!important
}

.u-mh62 {
  max-height: 62px!important
}

.u-mh63 {
  max-height: 63px!important
}

.u-mh64 {
  max-height: 64px!important
}

.u-mh65 {
  max-height: 65px!important
}

.u-mh66 {
  max-height: 66px!important
}

.u-mh67 {
  max-height: 67px!important
}

.u-mh68 {
  max-height: 68px!important
}

.u-mh69 {
  max-height: 69px!important
}

.u-mh70 {
  max-height: 70px!important
}

.u-mh71 {
  max-height: 71px!important
}

.u-mh72 {
  max-height: 72px!important
}

.u-mh73 {
  max-height: 73px!important
}

.u-mh74 {
  max-height: 74px!important
}

.u-mh75 {
  max-height: 75px!important
}

.u-mh76 {
  max-height: 76px!important
}

.u-mh77 {
  max-height: 77px!important
}

.u-mh78 {
  max-height: 78px!important
}

.u-mh79 {
  max-height: 79px!important
}

.u-mh80 {
  max-height: 80px!important
}

.u-mh81 {
  max-height: 81px!important
}

.u-mh82 {
  max-height: 82px!important
}

.u-mh83 {
  max-height: 83px!important
}

.u-mh84 {
  max-height: 84px!important
}

.u-mh85 {
  max-height: 85px!important
}

.u-mh86 {
  max-height: 86px!important
}

.u-mh87 {
  max-height: 87px!important
}

.u-mh88 {
  max-height: 88px!important
}

.u-mh89 {
  max-height: 89px!important
}

.u-mh90 {
  max-height: 90px!important
}

.u-mh91 {
  max-height: 91px!important
}

.u-mh92 {
  max-height: 92px!important
}

.u-mh93 {
  max-height: 93px!important
}

.u-mh94 {
  max-height: 94px!important
}

.u-mh95 {
  max-height: 95px!important
}

.u-mh96 {
  max-height: 96px!important
}

.u-mh97 {
  max-height: 97px!important
}

.u-mh98 {
  max-height: 98px!important
}

.u-mh99 {
  max-height: 99px!important
}

.u-mh100 {
  max-height: 100px!important
}

@media only screen and (max-width:768px) {
  .u-mh0_sp {
    max-height: 0!important
  }
  .u-mh1_sp {
    max-height: 1px!important
  }
  .u-mh2_sp {
    max-height: 2px!important
  }
  .u-mh3_sp {
    max-height: 3px!important
  }
  .u-mh4_sp {
    max-height: 4px!important
  }
  .u-mh5_sp {
    max-height: 5px!important
  }
  .u-mh6_sp {
    max-height: 6px!important
  }
  .u-mh7_sp {
    max-height: 7px!important
  }
  .u-mh8_sp {
    max-height: 8px!important
  }
  .u-mh9_sp {
    max-height: 9px!important
  }
  .u-mh10_sp {
    max-height: 10px!important
  }
  .u-mh11_sp {
    max-height: 11px!important
  }
  .u-mh12_sp {
    max-height: 12px!important
  }
  .u-mh13_sp {
    max-height: 13px!important
  }
  .u-mh14_sp {
    max-height: 14px!important
  }
  .u-mh15_sp {
    max-height: 15px!important
  }
  .u-mh16_sp {
    max-height: 16px!important
  }
  .u-mh17_sp {
    max-height: 17px!important
  }
  .u-mh18_sp {
    max-height: 18px!important
  }
  .u-mh19_sp {
    max-height: 19px!important
  }
  .u-mh20_sp {
    max-height: 20px!important
  }
  .u-mh21_sp {
    max-height: 21px!important
  }
  .u-mh22_sp {
    max-height: 22px!important
  }
  .u-mh23_sp {
    max-height: 23px!important
  }
  .u-mh24_sp {
    max-height: 24px!important
  }
  .u-mh25_sp {
    max-height: 25px!important
  }
  .u-mh26_sp {
    max-height: 26px!important
  }
  .u-mh27_sp {
    max-height: 27px!important
  }
  .u-mh28_sp {
    max-height: 28px!important
  }
  .u-mh29_sp {
    max-height: 29px!important
  }
  .u-mh30_sp {
    max-height: 30px!important
  }
  .u-mh31_sp {
    max-height: 31px!important
  }
  .u-mh32_sp {
    max-height: 32px!important
  }
  .u-mh33_sp {
    max-height: 33px!important
  }
  .u-mh34_sp {
    max-height: 34px!important
  }
  .u-mh35_sp {
    max-height: 35px!important
  }
  .u-mh36_sp {
    max-height: 36px!important
  }
  .u-mh37_sp {
    max-height: 37px!important
  }
  .u-mh38_sp {
    max-height: 38px!important
  }
  .u-mh39_sp {
    max-height: 39px!important
  }
  .u-mh40_sp {
    max-height: 40px!important
  }
  .u-mh41_sp {
    max-height: 41px!important
  }
  .u-mh42_sp {
    max-height: 42px!important
  }
  .u-mh43_sp {
    max-height: 43px!important
  }
  .u-mh44_sp {
    max-height: 44px!important
  }
  .u-mh45_sp {
    max-height: 45px!important
  }
  .u-mh46_sp {
    max-height: 46px!important
  }
  .u-mh47_sp {
    max-height: 47px!important
  }
  .u-mh48_sp {
    max-height: 48px!important
  }
  .u-mh49_sp {
    max-height: 49px!important
  }
  .u-mh50_sp {
    max-height: 50px!important
  }
  .u-mh51_sp {
    max-height: 51px!important
  }
  .u-mh52_sp {
    max-height: 52px!important
  }
  .u-mh53_sp {
    max-height: 53px!important
  }
  .u-mh54_sp {
    max-height: 54px!important
  }
  .u-mh55_sp {
    max-height: 55px!important
  }
  .u-mh56_sp {
    max-height: 56px!important
  }
  .u-mh57_sp {
    max-height: 57px!important
  }
  .u-mh58_sp {
    max-height: 58px!important
  }
  .u-mh59_sp {
    max-height: 59px!important
  }
  .u-mh60_sp {
    max-height: 60px!important
  }
  .u-mh61_sp {
    max-height: 61px!important
  }
  .u-mh62_sp {
    max-height: 62px!important
  }
  .u-mh63_sp {
    max-height: 63px!important
  }
  .u-mh64_sp {
    max-height: 64px!important
  }
  .u-mh65_sp {
    max-height: 65px!important
  }
  .u-mh66_sp {
    max-height: 66px!important
  }
  .u-mh67_sp {
    max-height: 67px!important
  }
  .u-mh68_sp {
    max-height: 68px!important
  }
  .u-mh69_sp {
    max-height: 69px!important
  }
  .u-mh70_sp {
    max-height: 70px!important
  }
  .u-mh71_sp {
    max-height: 71px!important
  }
  .u-mh72_sp {
    max-height: 72px!important
  }
  .u-mh73_sp {
    max-height: 73px!important
  }
  .u-mh74_sp {
    max-height: 74px!important
  }
  .u-mh75_sp {
    max-height: 75px!important
  }
  .u-mh76_sp {
    max-height: 76px!important
  }
  .u-mh77_sp {
    max-height: 77px!important
  }
  .u-mh78_sp {
    max-height: 78px!important
  }
  .u-mh79_sp {
    max-height: 79px!important
  }
  .u-mh80_sp {
    max-height: 80px!important
  }
  .u-mh81_sp {
    max-height: 81px!important
  }
  .u-mh82_sp {
    max-height: 82px!important
  }
  .u-mh83_sp {
    max-height: 83px!important
  }
  .u-mh84_sp {
    max-height: 84px!important
  }
  .u-mh85_sp {
    max-height: 85px!important
  }
  .u-mh86_sp {
    max-height: 86px!important
  }
  .u-mh87_sp {
    max-height: 87px!important
  }
  .u-mh88_sp {
    max-height: 88px!important
  }
  .u-mh89_sp {
    max-height: 89px!important
  }
  .u-mh90_sp {
    max-height: 90px!important
  }
  .u-mh91_sp {
    max-height: 91px!important
  }
  .u-mh92_sp {
    max-height: 92px!important
  }
  .u-mh93_sp {
    max-height: 93px!important
  }
  .u-mh94_sp {
    max-height: 94px!important
  }
  .u-mh95_sp {
    max-height: 95px!important
  }
  .u-mh96_sp {
    max-height: 96px!important
  }
  .u-mh97_sp {
    max-height: 97px!important
  }
  .u-mh98_sp {
    max-height: 98px!important
  }
  .u-mh99_sp {
    max-height: 99px!important
  }
  .u-mh100_sp {
    max-height: 100px!important
  }
}

@media only screen and (max-width:768px) {
  .u-pc {
    display: none!important
  }
}

@media only screen and (min-width:769px) {
  .u-sp {
    display: none!important
  }
}





/*  .c-gallery {
  margin-bottom: 50px
}*/

  .c-gallery .c-gallery_list .slick-slide {
  height: 400px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #f2f2f2;
  margin-bottom: 20px
}

@media only screen and (max-width:768px) {
    .c-gallery .c-gallery_list .slick-slide {
    height: 200px
  }
}

  .c-gallery .c-gallery_list .slick-slide figure img {
  max-height: 400px
}

@media only screen and (max-width:768px) {
    .c-gallery .c-gallery_list .slick-slide figure img {
    max-height: 200px
  }
}

  .c-gallery .c-gallery_list .slick-dots {
  letter-spacing: -.4em;
  text-align: center;
  margin-top: 30px;
  font-size: 0
}

@media only screen and (max-width:768px) {
    .c-gallery .c-gallery_list .slick-dots {
    margin-top: 25px
  }
}

  .c-gallery .c-gallery_list .slick-dots li {
  display: inline-block;
  vertical-align: top;
  letter-spacing: normal;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #eee;
  margin-right: 15px;
  cursor: pointer
}

@media only screen and (max-width:768px) {
    .c-gallery .c-gallery_list .slick-dots li {
    width: 8px;
    height: 8px;
    margin-right: 10px
  }
}

  .c-gallery .c-gallery_list .slick-dots li.slick-active {
  background-color: #3f72af
}

  .c-gallery .c-gallery_list .slick-dots li:last-child {
  margin-right: 0
}

  .c-gallery .c-gallery_list .slick-dots li button {
  display: none
}

  .c-gallery .c-gallery_thumb li {
  cursor: pointer;
  margin-right: 5px
}

@media only screen and (min-width:769px) {
    .c-gallery .c-gallery_thumb li {
    /*width: 134px!important;*/
    width: 130px!important;
  }
}

  .c-gallery .c-gallery_thumb li:last-child {
  margin-right: 0
}

/*ページネーション*/

.pager {
  padding-left: 0;
  margin: 20px 0;
  text-align: center;
  list-style: none
}

.pager li {
  display: inline
}

.pager .active{
  background: #BB5D77;
  color: #fff;
}

.pager li>a, .pager li>span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
  margin: 5px;
}

.pager li>a:focus, .pager li>a:hover {
  text-decoration: none;
  background-color: #eee
}

.pager .next>a, .pager .next>span {
  float: right
}

.pager .previous>a, .pager .previous>span {
  float: left
}

.pager .disabled>a, .pager .disabled>a:focus, .pager .disabled>a:hover, .pager .disabled>span {
  color: #777;
  cursor: not-allowed;
  background-color: #fff
}
.cat-1{
    height: 25px;
    -webkit-clip-path: inset(0 0 round 13px);
    clip-path: inset(0 0 round 13px);
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.1rem;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 10px;
    background-color: #BB5D77;
    width: 88px;
    margin-bottom: 15px;
}

.cat-2{
  height: 25px;
  -webkit-clip-path: inset(0 0 round 13px);
  clip-path: inset(0 0 round 13px);
  font-weight: 700;
  font-size: 1rem;
  font-size: 1.1rem;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 10px;
  background-color: #788b93;
  width: 88px;
  margin-bottom: 15px;
}

/* 画面幅が1024px以上の時は */
@media screen and (min-width: 1024px) {
  .ps-br{
    display: block; /* PCを改行して */
  }

  .sp-br{
    display: none; /* SPの改行を隠す */
  }
}

/* 画面幅が560px以下の時は */
@media screen and (max-width: 560px) {
  .ps-br{
    display: none; /* PCの改行を隠して */
  }

  .sp-br{
    display: block; /* SPを改行する */
  }
}


/* 画面幅が560px以下の時は */

.tbl-r02 th {
  background: #F0F3B3;
  padding: 10px;
}
.tbl-r02 td {
　border: solid 1px #ccc;
  padding: 10px;
  background-color: #fff;
}

@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .tbl-r02 {
    width: 100%;
  }
  .tbl-r02 th,
  .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}
