@charset "UTF-8";
/* ###### btn_style01 ##### */
@media screen and (min-width: 1024px) {
  .btn_style01 {
    width: 100%; }
    .btn_style01 a, .btn_style01 a:link a:visited {
      position: relative;
      width: 100%;
      height: 54px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.0;
      background-color: #534099;
      border-radius: 27px;
      -webkit-border-radius: 27px;
      -moz-border-radius: 27px; }
    .btn_style01 a:hover {
      color: #fff;
      background-color: #403083; }
    .btn_style01 .arrow {
      overflow: hidden;
      position: absolute;
      top: 11px;
      right: 11px;
      width: 32px;
      height: 32px;
      background-color: #fff;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }
    .btn_style01 .arrow:before,
    .btn_style01 .arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 32px;
      height: 32px;
      background: url(../img/arrow_p01.svg) no-repeat center center;
      background-size: 11px;
      animation-fill-mode: forwards;
      animation-duration: 0.3s; }
    .btn_style01 .arrow:after {
      transform: translateX(-100%); }
    .btn_style01 a:hover .arrow:before {
      animation-name: transformRightLeft;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0s; }
    .btn_style01 a:hover .arrow:after {
      animation-name: transformLeftRight;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0.2s; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btn_style01 {
    width: 100%; }
    .btn_style01 a, .btn_style01 a:link a:visited {
      position: relative;
      width: 100%;
      height: 52px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.0;
      background-color: #534099;
      border-radius: 26px;
      -webkit-border-radius: 26px;
      -moz-border-radius: 26px; }
    .btn_style01 a:hover {
      color: #fff;
      background-color: #403083; }
    .btn_style01 .arrow {
      overflow: hidden;
      position: absolute;
      top: 8px;
      right: 8px;
      width: 36px;
      height: 36px;
      background-color: #fff;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }
    .btn_style01 .arrow:before,
    .btn_style01 .arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 36px;
      height: 36px;
      background: url(../img/arrow_p01.svg) no-repeat center center;
      background-size: 10px;
      animation-fill-mode: forwards;
      animation-duration: 0.3s; }
    .btn_style01 .arrow:after {
      transform: translateX(-100%); }
    .btn_style01 a:hover .arrow:before {
      animation-name: transformRightLeft;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0s; }
    .btn_style01 a:hover .arrow:after {
      animation-name: transformLeftRight;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0.2s; } }
@media screen and (max-width: 767px) {
  .btn_style01 {
    width: 100%; }
    .btn_style01 a {
      position: relative;
      width: 100%;
      height: 46px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.0;
      background-color: #534099;
      border-radius: 23px;
      -webkit-border-radius: 23px;
      -moz-border-radius: 23px; }
    .btn_style01 a:hover {
      color: #fff; }
    .btn_style01 .arrow {
      overflow: hidden;
      position: absolute;
      top: 8px;
      right: 8px;
      width: 30px;
      height: 30px;
      background-color: #fff;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }
    .btn_style01 .arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 30px;
      height: 30px;
      background: url(../img/arrow_p01.svg) no-repeat center center;
      background-size: 8px; } }

/* ###### btn_style01 ##### */
/* ###### btn_style02 ##### */
@media screen and (min-width: 1024px) {
  .btn_style02 {
    width: 100%; }
    .btn_style02 a, .btn_style02 a:link a:visited {
      position: relative;
      width: 100%;
      height: 54px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #534099;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.0;
      background-color: #fff;
      border-radius: 27px;
      -webkit-border-radius: 27px;
      -moz-border-radius: 27px;
      border: 1px solid #D4CFC6; }
    .btn_style02 a:hover {
      color: #534099;
      background-color: #F5F0E8; }
    .btn_style02 .arrow {
      overflow: hidden;
      position: absolute;
      top: 11px;
      right: 11px;
      width: 32px;
      height: 32px;
      background-color: #534099;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }
    .btn_style02 .arrow:before,
    .btn_style02 .arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 32px;
      height: 32px;
      background: url(../img/arrow_w01.svg) no-repeat center center;
      background-size: 11px;
      animation-fill-mode: forwards;
      animation-duration: 0.3s; }
    .btn_style02 .arrow:after {
      transform: translateX(-100%); }
    .btn_style02 a:hover .arrow:before {
      animation-name: transformRightLeft;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0s; }
    .btn_style02 a:hover .arrow:after {
      animation-name: transformLeftRight;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0.2s; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btn_style02 {
    width: 100%; }
    .btn_style02 a, .btn_style02 a:link a:visited {
      position: relative;
      width: 100%;
      height: 52px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #534099;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.0;
      background-color: #fff;
      border-radius: 26px;
      -webkit-border-radius: 26px;
      -moz-border-radius: 26px;
      border: 1px solid #D4CFC6; }
    .btn_style02 a:hover {
      color: #534099;
      background-color: #F5F0E8; }
    .btn_style02 .arrow {
      overflow: hidden;
      position: absolute;
      top: 8px;
      right: 8px;
      width: 36px;
      height: 36px;
      background-color: #534099;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }
    .btn_style02 .arrow:before,
    .btn_style02 .arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 36px;
      height: 36px;
      background: url(../img/arrow_w01.svg) no-repeat center center;
      background-size: 10px;
      animation-fill-mode: forwards;
      animation-duration: 0.3s; }
    .btn_style02 .arrow:after {
      transform: translateX(-100%); }
    .btn_style02 a:hover .arrow:before {
      animation-name: transformRightLeft;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0s; }
    .btn_style02 a:hover .arrow:after {
      animation-name: transformLeftRight;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0.2s; } }
@media screen and (max-width: 767px) {
  .btn_style02 {
    width: 100%; }
    .btn_style02 a {
      position: relative;
      width: 100%;
      height: 46px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #534099;
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.0;
      background-color: #fff;
      border-radius: 23px;
      -webkit-border-radius: 23px;
      -moz-border-radius: 23px;
      border: 1px solid #D4CFC6; }
    .btn_style02 a:hover {
      color: #534099; }
    .btn_style02 .arrow {
      overflow: hidden;
      position: absolute;
      top: 8px;
      right: 8px;
      width: 30px;
      height: 30px;
      background-color: #534099;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }
    .btn_style02 .arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 30px;
      height: 30px;
      background: url(../img/arrow_w01.svg) no-repeat center center;
      background-size: 8px; } }

/* ###### btn_style02 ##### */
/* ###### cta_btn_style01 ##### */
@media screen and (min-width: 1024px) {
  .cta_btn_style01 {
    width: 100%; }
    .cta_btn_style01 a, .cta_btn_style01 a:link a:visited {
      position: relative;
      width: 100%;
      height: 56px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #534099;
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 1.0;
      background-color: #fff;
      border-radius: 28px;
      -webkit-border-radius: 28px;
      -moz-border-radius: 28px; }
    .cta_btn_style01 a:hover {
      color: #534099;
      background-color: #F5F0E8; }
    .cta_btn_style01 .arrow {
      overflow: hidden;
      position: absolute;
      top: 10px;
      right: 10px;
      width: 36px;
      height: 36px;
      background-color: #534099;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }
    .cta_btn_style01 .arrow:before,
    .cta_btn_style01 .arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 36px;
      height: 36px;
      background: url(../img/arrow_w01.svg) no-repeat center center;
      background-size: 12px;
      animation-fill-mode: forwards;
      animation-duration: 0.3s; }
    .cta_btn_style01 .arrow:after {
      transform: translateX(-100%); }
    .cta_btn_style01 a:hover .arrow:before {
      animation-name: transformRightLeft;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0s; }
    .cta_btn_style01 a:hover .arrow:after {
      animation-name: transformLeftRight;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0.2s; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .cta_btn_style01 {
    width: 100%; }
    .cta_btn_style01 a, .cta_btn_style01 a:link a:visited {
      position: relative;
      width: 100%;
      height: 54px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #534099;
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 1.0;
      background-color: #fff;
      border-radius: 27px;
      -webkit-border-radius: 27px;
      -moz-border-radius: 27px; }
    .cta_btn_style01 a:hover {
      color: #534099;
      background-color: #F5F0E8; }
    .cta_btn_style01 .arrow {
      overflow: hidden;
      position: absolute;
      top: 10px;
      right: 10px;
      width: 34px;
      height: 34px;
      background-color: #534099;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }
    .cta_btn_style01 .arrow:before,
    .cta_btn_style01 .arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 34px;
      height: 34px;
      background: url(../img/arrow_w01.svg) no-repeat center center;
      background-size: 11px;
      animation-fill-mode: forwards;
      animation-duration: 0.3s; }
    .cta_btn_style01 .arrow:after {
      transform: translateX(-100%); }
    .cta_btn_style01 a:hover .arrow:before {
      animation-name: transformRightLeft;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0s; }
    .cta_btn_style01 a:hover .arrow:after {
      animation-name: transformLeftRight;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0.2s; } }
@media screen and (max-width: 767px) {
  .cta_btn_style01 {
    width: 100%; }
    .cta_btn_style01 a {
      position: relative;
      width: 100%;
      height: 46px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #534099;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.0;
      background-color: #fff;
      border-radius: 23px;
      -webkit-border-radius: 23px;
      -moz-border-radius: 23px; }
    .cta_btn_style01 a:hover {
      color: #534099; }
    .cta_btn_style01 .arrow {
      overflow: hidden;
      position: absolute;
      top: 8px;
      right: 8px;
      width: 30px;
      height: 30px;
      background-color: #534099;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }
    .cta_btn_style01 .arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 30px;
      height: 30px;
      background: url(../img/arrow_w01.svg) no-repeat center center;
      background-size: 8px; } }

/* ###### cta_btn_style01 ##### */
/* ########## header ########## */
@media screen and (min-width: 1024px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-right: 100px;
    height: 100px;
    z-index: 1000; }
    .header__detail {
      position: relative;
      width: 94%;
      height: 100px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto; }
      .header__detail__logo {
        position: relative;
        width: 156px; }
        .header__detail__logo p {
          width: 100%; }
          .header__detail__logo p img {
            width: 100%; }
      .header__detail__nav {
        position: relative;
        flex: 1;
        height: 100px; }
        .header__detail__nav ul {
          position: relative;
          height: 100px;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: center;
          justify-content: flex-end; }
          .header__detail__nav ul li {
            position: relative;
            font-size: min(1.0vw, 14px);
            font-weight: 500; }
            .header__detail__nav ul li a, .header__detail__nav ul li a:link a:visited {
              position: relative;
              color: #7A7068; }
            .header__detail__nav ul li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #534099;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .header__detail__nav ul li a:hover {
              color: #534099; }
            .header__detail__nav ul li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .header__detail__nav ul li.current a {
            color: #534099; }
          .header__detail__nav ul li.current a::after {
            position: absolute;
            content: '';
            width: 10px;
            height: 10px;
            left: 50%;
            bottom: -13px;
            background: url(../img/dog_foot_p.svg) no-repeat 0 0;
            background-size: 10px;
            border-radius: 50%;
            -webkit-border-radius: 50%;
            -moz-border-radius: 50%;
            transform: translateX(-50%);
            -webkit-transform: translateX(-50%); }
          .header__detail__nav ul li.header__detail__nav__menu__mega {
            position: relative; }
            .header__detail__nav ul li.header__detail__nav__menu__mega p {
              position: relative;
              background: url(../img/arrow_b03.svg) no-repeat right 6px;
              background-size: 8px;
              padding-right: 12px; }
              .header__detail__nav ul li.header__detail__nav__menu__mega p a::after {
                background: none; }
            .header__detail__nav ul li.header__detail__nav__menu__mega p.current a {
              color: #534099; }
            .header__detail__nav ul li.header__detail__nav__menu__mega p.current::after {
              position: absolute;
              content: '';
              width: 10px;
              height: 10px;
              left: 45%;
              bottom: -13px;
              background: url(../img/dog_foot_p.svg) no-repeat 0 0;
              background-size: 10px;
              border-radius: 50%;
              -webkit-border-radius: 50%;
              -moz-border-radius: 50%;
              transform: translateX(-50%);
              -webkit-transform: translateX(-50%); }
          .header__detail__nav ul li.header__detail__nav__menu__mega div.header__detail__nav__menu__mega__sub {
            position: absolute;
            width: 400px;
            height: 210px;
            top: 24px;
            left: 50%;
            background-color: #E8E2D9;
            transform: translateX(-50%);
            -webkit-transform: translateX(-50%);
            -webkit-transition: all .3s ease;
            transition: all .3s ease;
            visibility: hidden;
            opacity: 0;
            padding: 25px 25px;
            border-radius: 20px;
            -webkit-border-radius: 20px;
            -moz-border-radius: 20px;
            box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
            z-index: 30; }
            .header__detail__nav ul li.header__detail__nav__menu__mega div.header__detail__nav__menu__mega__sub ul.header__detail__nav__menu__mega__sub__list {
              position: relative;
              width: 100%; }
              .header__detail__nav ul li.header__detail__nav__menu__mega div.header__detail__nav__menu__mega__sub ul.header__detail__nav__menu__mega__sub__list li {
                position: relative;
                width: 100%;
                margin-left: 0; }
                .header__detail__nav ul li.header__detail__nav__menu__mega div.header__detail__nav__menu__mega__sub ul.header__detail__nav__menu__mega__sub__list li a, .header__detail__nav ul li.header__detail__nav__menu__mega div.header__detail__nav__menu__mega__sub ul.header__detail__nav__menu__mega__sub__list li a:link a:visited {
                  position: relative;
                  display: -webkit-flex;
                  display: -moz-flex;
                  display: -ms-flex;
                  display: -o-flex;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  width: 100%;
                  font-weight: 500;
                  height: 48px;
                  background: url(../img/arrow_p01.svg) no-repeat right 15px center;
                  background-size: 10px;
                  background-color: #F5F0E8;
                  border-radius: 40px;
                  -webkit-border-radius: 40px;
                  -moz-border-radius: 40px; }
                .header__detail__nav ul li.header__detail__nav__menu__mega div.header__detail__nav__menu__mega__sub ul.header__detail__nav__menu__mega__sub__list li a::after {
                  background: none; }
                .header__detail__nav ul li.header__detail__nav__menu__mega div.header__detail__nav__menu__mega__sub ul.header__detail__nav__menu__mega__sub__list li a:hover {
                  background: url(../img/arrow_p01.svg) no-repeat right 10px center;
                  background-size: 10px;
                  background-color: #fff; }
              .header__detail__nav ul li.header__detail__nav__menu__mega div.header__detail__nav__menu__mega__sub ul.header__detail__nav__menu__mega__sub__list li:nth-child(n + 2) {
                margin-top: 8px; }
          .header__detail__nav ul li.header__detail__nav__menu__mega:hover div.header__detail__nav__menu__mega__sub {
            visibility: visible;
            opacity: 1;
            top: 32px; }
          .header__detail__nav ul li:nth-child(n + 2) {
            margin-left: 30px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-right: 90px;
    height: 80px;
    z-index: 1000; }
    .header__detail {
      position: relative;
      width: 92%;
      height: 80px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto; }
      .header__detail__logo {
        position: relative;
        width: 140px; }
        .header__detail__logo p {
          width: 100%; }
          .header__detail__logo p img {
            width: 100%; }
      .header__detail__nav {
        display: none; }
        .header__detail__nav__left {
          display: none; }
        .header__detail__nav__right {
          display: none; } }
@media screen and (max-width: 767px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    z-index: 1000; }
    .header__detail {
      position: relative;
      width: 92%;
      height: 60px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto; }
      .header__detail__logo {
        position: relative;
        width: 94px; }
        .header__detail__logo p {
          width: 100%; }
          .header__detail__logo p img {
            width: 100%; }
      .header__detail__nav {
        display: none; }
        .header__detail__nav__left {
          display: none; }
        .header__detail__nav__right {
          display: none; } }

/* ########## header ########## */
/* ########## header-bar ########## */
@media screen and (min-width: 1024px) {
  .header-bar {
    position: fixed;
    top: 0;
    right: 20px;
    width: 80px;
    height: 100%;
    z-index: 6100;
    padding: 20px 0; }
    .header-bar__detail {
      position: relative;
      width: 80px;
      height: 100%;
      background-color: #fff;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); }
      .header-bar__detail__contact {
        position: absolute;
        width: 50px;
        left: 15px;
        bottom: 181px;
        width: 80px; }
        .header-bar__detail__contact a, .header-bar__detail__contact a:link a:visited {
          display: block;
          width: 50px;
          border: 1px solid #D4CFC6;
          padding: 32px 15px;
          background-color: #fff;
          border-radius: 25px;
          -webkit-border-radius: 25px;
          -moz-border-radius: 25px; }
          .header-bar__detail__contact a img, .header-bar__detail__contact a:link a:visited img {
            width: 100%; }
        .header-bar__detail__contact a:hover {
          background-color: #F5F0E8; }
      .header-bar__detail__sns {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 80px;
        height: 156px;
        padding: 40px 26px;
        background-color: #F5F0E8;
        border-radius: 0 0 40px 40px;
        -webkit-border-radius: 0 0 40px 40px;
        -moz-border-radius: 0 0 40px 40px; }
        .header-bar__detail__sns ul {
          width: 100%; }
          .header-bar__detail__sns ul li {
            width: 100%; }
            .header-bar__detail__sns ul li img {
              width: 28px; }
          .header-bar__detail__sns ul li:nth-child(n + 2) {
            margin-top: 18px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .header-bar {
    position: fixed;
    top: 0;
    right: 20px;
    width: 70px;
    height: 100%;
    z-index: 6100;
    padding: 20px 0; }
    .header-bar__detail {
      position: relative;
      width: 70px;
      height: 100%;
      background-color: #fff;
      border-radius: 35px;
      -webkit-border-radius: 35px;
      -moz-border-radius: 35px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); }
      .header-bar__detail__contact {
        position: absolute;
        width: 46px;
        left: 12px;
        bottom: 158px; }
        .header-bar__detail__contact a, .header-bar__detail__contact a:link a:visited {
          display: block;
          width: 46px;
          border: 1px solid #D4CFC6;
          padding: 30px 13px;
          background-color: #fff;
          border-radius: 23px;
          -webkit-border-radius: 23px;
          -moz-border-radius: 23px; }
          .header-bar__detail__contact a img, .header-bar__detail__contact a:link a:visited img {
            width: 100%; }
        .header-bar__detail__contact a:hover {
          background-color: #F5F0E8; }
      .header-bar__detail__sns {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 70px;
        height: 133px;
        padding: 35px 24px;
        background-color: #F5F0E8;
        border-radius: 0 0 35px 35px;
        -webkit-border-radius: 0 0 35px 35px;
        -moz-border-radius: 0 0 35px 35px; }
        .header-bar__detail__sns ul {
          width: 100%; }
          .header-bar__detail__sns ul li {
            width: 100%; }
            .header-bar__detail__sns ul li img {
              width: 24px; }
          .header-bar__detail__sns ul li:nth-child(n + 2) {
            margin-top: 15px; } }
@media screen and (max-width: 767px) {
  .header-bar {
    display: none; }
    .header-bar__detail {
      display: none; } }

/* ########## header-bar ########## */
/* ########## nav_menu ########## */
@media screen and (min-width: 1024px) {
  div.nav_menu {
    position: fixed;
    top: 30px;
    right: 30px;
    display: block;
    width: 60px;
    height: 60px;
    background: url(../img/nav_icon_backimg.svg) no-repeat center center;
    background-size: 100%;
    background-color: #534099;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    z-index: 9000; }
    div.nav_menu a.nav_menu__icon {
      position: relative;
      cursor: pointer;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      width: 60px;
      height: 60px;
      text-align: center;
      text-decoration: none;
      transition: all .3s; }
      div.nav_menu a.nav_menu__icon .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu a.nav_menu__icon .menu__line--top {
        width: 24px;
        top: 18px;
        left: 18px;
        background-color: #fff; }
      div.nav_menu a.nav_menu__icon .menu__line--center {
        width: 24px;
        top: 24px;
        left: 18px;
        background-color: #fff; }
      div.nav_menu a.nav_menu__icon .menu__line--bottom {
        width: 24px;
        bottom: 29px;
        left: 18px;
        background-color: #fff; }
    div.nav_menu a.nav_menu__icon.active {
      width: 100%;
      height: 60px; }
      div.nav_menu a.nav_menu__icon.active .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu a.nav_menu__icon.active .menu__line--top {
        width: 25px;
        top: 24px;
        left: 18px;
        background-color: #fff;
        transform: rotate(30deg); }
      div.nav_menu a.nav_menu__icon.active .menu__line--center {
        display: none; }
      div.nav_menu a.nav_menu__icon.active .menu__line--bottom {
        width: 25px;
        bottom: 35px;
        left: 18px;
        background-color: #fff;
        transform: rotate(-30deg); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  div.nav_menu {
    position: fixed;
    top: 28px;
    right: 28px;
    display: block;
    width: 54px;
    height: 54px;
    background: url(../img/nav_icon_backimg.svg) no-repeat center center;
    background-size: 100%;
    background-color: #534099;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    z-index: 9000; }
    div.nav_menu a.nav_menu__icon {
      position: relative;
      cursor: pointer;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      width: 54px;
      height: 54px;
      text-align: center;
      text-decoration: none;
      transition: all .3s; }
      div.nav_menu a.nav_menu__icon .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu a.nav_menu__icon .menu__line--top {
        width: 22px;
        top: 16px;
        left: 16px;
        background-color: #fff; }
      div.nav_menu a.nav_menu__icon .menu__line--center {
        width: 22px;
        top: 22px;
        left: 16px;
        background-color: #fff; }
      div.nav_menu a.nav_menu__icon .menu__line--bottom {
        width: 22px;
        bottom: 25px;
        left: 16px;
        background-color: #fff; }
    div.nav_menu a.nav_menu__icon.active {
      width: 100%;
      height: 54px; }
      div.nav_menu a.nav_menu__icon.active .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu a.nav_menu__icon.active .menu__line--top {
        width: 23px;
        top: 22px;
        left: 16px;
        background-color: #fff;
        transform: rotate(30deg); }
      div.nav_menu a.nav_menu__icon.active .menu__line--center {
        display: none; }
      div.nav_menu a.nav_menu__icon.active .menu__line--bottom {
        width: 23px;
        bottom: 31px;
        left: 16px;
        background-color: #fff;
        transform: rotate(-30deg); } }
@media screen and (max-width: 767px) {
  div.nav_menu {
    position: fixed;
    top: 8px;
    right: 8px;
    display: block;
    width: 44px;
    height: 44px;
    background: url(../img/nav_icon_backimg.svg) no-repeat center center;
    background-size: 100%;
    background-color: #534099;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    z-index: 9000; }
    div.nav_menu a.nav_menu__icon {
      position: relative;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      width: 44px;
      height: 44px;
      text-align: center;
      text-decoration: none;
      transition: all .3s; }
      div.nav_menu a.nav_menu__icon .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu a.nav_menu__icon .menu__line--top {
        width: 18px;
        top: 12px;
        left: 13px;
        background-color: #fff; }
      div.nav_menu a.nav_menu__icon .menu__line--center {
        width: 18px;
        bottom: 26px;
        left: 13px;
        background-color: #fff; }
      div.nav_menu a.nav_menu__icon .menu__line--bottom {
        width: 18px;
        bottom: 21px;
        left: 13px;
        background-color: #fff; }
    div.nav_menu a.nav_menu__icon.active {
      width: 100%;
      height: 44px; }
      div.nav_menu a.nav_menu__icon.active .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu a.nav_menu__icon.active .menu__line--top {
        width: 21px;
        top: 17px;
        left: 12px;
        background-color: #fff;
        transform: rotate(30deg); }
      div.nav_menu a.nav_menu__icon.active .menu__line--center {
        display: none; }
      div.nav_menu a.nav_menu__icon.active .menu__line--bottom {
        width: 21px;
        bottom: 26px;
        left: 12px;
        background-color: #fff;
        transform: rotate(-30deg); } }

@media screen and (min-width: 1024px) {
  .gnav {
    background: url(../img/footer_foot_backimg01.svg) no-repeat bottom -138px right -20px;
    background-size: 333px;
    background-color: #E8E2D9;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 6000; }
    .gnav .gnav__wrap {
      position: relative;
      height: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      padding-right: 100px; }
      .gnav .gnav__wrap__head {
        display: none; }
      .gnav .gnav__wrap__menu {
        width: 70%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto; }
        .gnav .gnav__wrap__menu__sp {
          width: 48%;
          border-top: 1px solid #D4CFC6; }
        .gnav .gnav__wrap__menu__list {
          border-bottom: 1px solid #D4CFC6; }
          .gnav .gnav__wrap__menu__list p {
            font-size: 1.5rem;
            font-weight: 500; }
            .gnav .gnav__wrap__menu__list p a, .gnav .gnav__wrap__menu__list p a:link a:visited {
              width: 100%;
              height: 56px;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              -webkit-flex-wrap: wrap;
              -moz-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              align-items: center;
              color: #7A7068;
              line-height: 1.0;
              padding: 0 30px;
              background: url(../img/arrow_p01.svg) no-repeat right 15px center;
              background-size: 10px; }
            .gnav .gnav__wrap__menu__list p a:hover {
              color: #534099;
              background: url(../img/arrow_p01.svg) no-repeat right 10px center;
              background-size: 10px;
              background-color: #F5F0E8; }
          .gnav .gnav__wrap__menu__list h3 {
            font-size: 1.5rem;
            font-weight: 500;
            padding: 20px 30px 15px; }
          .gnav .gnav__wrap__menu__list ul {
            margin: 0 30px 25px; }
            .gnav .gnav__wrap__menu__list ul li {
              font-size: 1.4rem; }
              .gnav .gnav__wrap__menu__list ul li a, .gnav .gnav__wrap__menu__list ul li a:link a:visited {
                width: 100%;
                height: 48px;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                -webkit-flex-wrap: wrap;
                -moz-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                align-items: center;
                justify-content: center;
                background: url(../img/arrow_p01.svg) no-repeat right 15px center;
                background-size: 10px;
                background-color: #F5F0E8;
                border-radius: 40px;
                -webkit-border-radius: 40px;
                -moz-border-radius: 40px; }
              .gnav .gnav__wrap__menu__list ul li a:hover {
                background: url(../img/arrow_p01.svg) no-repeat right 10px center;
                background-size: 10px;
                background-color: #fff; }
            .gnav .gnav__wrap__menu__list ul li:nth-child(n + 2) {
              margin-top: 5px; }
        .gnav .gnav__wrap__menu__contact {
          font-size: 1.6rem;
          font-weight: 500;
          line-height: 1.0;
          margin: 30px 30px 0; }
          .gnav .gnav__wrap__menu__contact a, .gnav .gnav__wrap__menu__contact a:link a:visited {
            position: relative;
            color: #fff;
            width: 100%;
            height: 54px;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            background-color: #534099;
            border-radius: 27px;
            -webkit-border-radius: 27px;
            -moz-border-radius: 27px; }
            .gnav .gnav__wrap__menu__contact a img, .gnav .gnav__wrap__menu__contact a:link a:visited img {
              width: 16px;
              margin-right: 6px; }
          .gnav .gnav__wrap__menu__contact a:hover {
            color: #fff;
            background-color: #403083; }
        .gnav .gnav__wrap__menu .accordion-area {
          list-style: none;
          width: 100%;
          margin: 0 auto; }
          .gnav .gnav__wrap__menu .accordion-area ul {
            margin: 0 0 5px;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            justify-content: space-between; }
            .gnav .gnav__wrap__menu .accordion-area ul li {
              width: 49.6%;
              margin-bottom: 3px; }
              .gnav .gnav__wrap__menu .accordion-area ul li a {
                position: relative;
                width: 100%;
                height: 42px;
                color: #F5F0E8;
                font-size: 1.2rem;
                font-weight: 500;
                line-height: 1.3;
                letter-spacing: 0.05em;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                -webkit-flex-wrap: wrap;
                -moz-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                align-items: center;
                justify-content: center;
                background-color: #5699B2;
                padding: 0 10px;
                border-radius: 4px;
                -webkit-border-radius: 4px;
                -moz-border-radius: 4px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .gnav {
    background-color: #E8E2D9;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 6000; }
    .gnav .gnav__wrap {
      position: relative;
      height: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      padding: 80px 90px 80px 0; }
      .gnav .gnav__wrap__head {
        display: none; }
      .gnav .gnav__wrap__menu {
        width: 70%;
        margin: 0 auto;
        border-top: 1px solid #D4CFC6; }
        .gnav .gnav__wrap__menu__list {
          border-bottom: 1px solid #D4CFC6; }
          .gnav .gnav__wrap__menu__list p {
            font-size: 1.5rem;
            font-weight: 500; }
            .gnav .gnav__wrap__menu__list p a, .gnav .gnav__wrap__menu__list p a:link a:visited {
              width: 100%;
              height: 52px;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              -webkit-flex-wrap: wrap;
              -moz-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              align-items: center;
              color: #7A7068;
              line-height: 1.0;
              padding: 0 30px;
              background: url(../img/arrow_p01.svg) no-repeat right 15px center;
              background-size: 8px; }
            .gnav .gnav__wrap__menu__list p a:hover {
              background: url(../img/arrow_p01.svg) no-repeat right 10px center;
              background-size: 8px;
              background-color: #F5F0E8; }
          .gnav .gnav__wrap__menu__list h3 {
            font-size: 1.5rem;
            font-weight: 500;
            padding: 20px 30px 15px; }
          .gnav .gnav__wrap__menu__list ul {
            margin: 0 30px 20px; }
            .gnav .gnav__wrap__menu__list ul li {
              font-size: 1.3rem;
              font-weight: 500; }
              .gnav .gnav__wrap__menu__list ul li a {
                width: 100%;
                height: 46px;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                -webkit-flex-wrap: wrap;
                -moz-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                align-items: center;
                justify-content: center;
                background: url(../img/arrow_p01.svg) no-repeat right 15px center;
                background-size: 8px;
                background-color: #F5F0E8;
                border-radius: 40px;
                -webkit-border-radius: 40px;
                -moz-border-radius: 40px; }
            .gnav .gnav__wrap__menu__list ul li:nth-child(n + 2) {
              margin-top: 5px; }
        .gnav .gnav__wrap__menu__contact {
          font-size: 1.6rem;
          margin: 30px 30px 0; }
          .gnav .gnav__wrap__menu__contact a, .gnav .gnav__wrap__menu__contact a:link a:visited {
            position: relative;
            color: #fff;
            font-weight: 500;
            width: 100%;
            height: 52px;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            background-color: #534099;
            border-radius: 26px;
            -webkit-border-radius: 26px;
            -moz-border-radius: 26px; }
            .gnav .gnav__wrap__menu__contact a img, .gnav .gnav__wrap__menu__contact a:link a:visited img {
              width: 14px;
              margin-right: 6px; }
          .gnav .gnav__wrap__menu__contact a:hover {
            color: #fff;
            background-color: #403083; }
        .gnav .gnav__wrap__menu .accordion-area {
          list-style: none;
          width: 100%;
          margin: 0 auto; }
          .gnav .gnav__wrap__menu .accordion-area ul {
            margin: 0 0 5px;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            justify-content: space-between; }
            .gnav .gnav__wrap__menu .accordion-area ul li {
              width: 49.6%;
              margin-bottom: 3px; }
              .gnav .gnav__wrap__menu .accordion-area ul li a {
                position: relative;
                width: 100%;
                height: 42px;
                color: #F5F0E8;
                font-size: 1.2rem;
                font-weight: 500;
                line-height: 1.3;
                letter-spacing: 0.05em;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                -webkit-flex-wrap: wrap;
                -moz-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                align-items: center;
                justify-content: center;
                background-color: #5699B2;
                padding: 0 10px;
                border-radius: 4px;
                -webkit-border-radius: 4px;
                -moz-border-radius: 4px; } }
@media screen and (max-width: 767px) {
  .gnav {
    background-color: #E8E2D9;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 6000; }
    .gnav .gnav__wrap {
      position: relative;
      height: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      padding-bottom: 60px; }
      .gnav .gnav__wrap__head {
        position: relative;
        width: 100%;
        height: 60px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        align-items: center;
        padding: 0 4%; }
        .gnav .gnav__wrap__head__logo {
          position: relative;
          width: 94px; }
          .gnav .gnav__wrap__head__logo p {
            width: 100%; }
            .gnav .gnav__wrap__head__logo p img {
              width: 100%; }
      .gnav .gnav__wrap__menu {
        width: 100%;
        margin: 10px auto 0;
        border-top: 1px solid #D4CFC6; }
        .gnav .gnav__wrap__menu__list {
          border-bottom: 1px solid #D4CFC6; }
          .gnav .gnav__wrap__menu__list p {
            font-size: 1.4rem;
            font-weight: 500; }
            .gnav .gnav__wrap__menu__list p a {
              width: 100%;
              height: 50px;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              -webkit-flex-wrap: wrap;
              -moz-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              align-items: center;
              color: #7A7068;
              line-height: 1.0;
              padding: 0 30px;
              background: url(../img/arrow_p01.svg) no-repeat right 15px center;
              background-size: 8px; }
          .gnav .gnav__wrap__menu__list h3 {
            font-size: 1.4rem;
            font-weight: 500;
            padding: 15px 30px 12px; }
          .gnav .gnav__wrap__menu__list ul {
            margin: 0 30px 20px; }
            .gnav .gnav__wrap__menu__list ul li {
              font-size: 1.3rem; }
              .gnav .gnav__wrap__menu__list ul li a {
                width: 100%;
                height: 40px;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                -webkit-flex-wrap: wrap;
                -moz-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                align-items: center;
                justify-content: center;
                background: url(../img/arrow_p01.svg) no-repeat right 15px center;
                background-size: 8px;
                background-color: #F5F0E8;
                border-radius: 40px;
                -webkit-border-radius: 40px;
                -moz-border-radius: 40px; }
            .gnav .gnav__wrap__menu__list ul li:nth-child(n + 2) {
              margin-top: 5px; }
        .gnav .gnav__wrap__menu__contact {
          font-size: 1.5rem;
          margin: 20px 30px 0; }
          .gnav .gnav__wrap__menu__contact a {
            position: relative;
            color: #fff;
            font-weight: 500;
            width: 100%;
            height: 46px;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            background-color: #534099;
            border-radius: 23px;
            -webkit-border-radius: 23px;
            -moz-border-radius: 23px; }
            .gnav .gnav__wrap__menu__contact a img {
              width: 14px;
              margin-right: 6px; }
        .gnav .gnav__wrap__menu .accordion-area {
          list-style: none;
          width: 100%;
          margin: 0 auto; }
          .gnav .gnav__wrap__menu .accordion-area ul {
            margin: 0 0 5px;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            justify-content: space-between; }
            .gnav .gnav__wrap__menu .accordion-area ul li {
              width: 49.6%;
              margin-bottom: 3px; }
              .gnav .gnav__wrap__menu .accordion-area ul li a {
                position: relative;
                width: 100%;
                height: 42px;
                color: #F5F0E8;
                font-size: 1.2rem;
                font-weight: 500;
                line-height: 1.3;
                letter-spacing: 0.05em;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                -webkit-flex-wrap: wrap;
                -moz-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                align-items: center;
                justify-content: center;
                background-color: #5699B2;
                padding: 0 10px;
                border-radius: 4px;
                -webkit-border-radius: 4px;
                -moz-border-radius: 4px; } }

/* ########## nav_menu ########## */
/* ########## contact_btn ########## */
@media screen and (min-width: 1024px) {
  .contact_btn {
    display: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .contact_btn {
    display: none; } }
@media screen and (max-width: 767px) {
  .contact_btn {
    position: fixed;
    width: 20%;
    bottom: 10px;
    right: 10px;
    z-index: 1000; }
    .contact_btn img {
      width: 100%; } }

/* ########## contact_btn ########## */
@media screen and (min-width: 1024px) {
  .footer {
    position: relative;
    width: 100%;
    margin-top: 160px; }
    .footer__cta {
      position: relative;
      width: 100%;
      padding-right: 100px;
      z-index: 3; }
      .footer__cta__contact {
        position: relative;
        width: 90%;
        height: 600px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        background: url(../img/footer_cta_backimg.png) no-repeat center center;
        background-size: cover;
        background-color: #534099;
        margin: 0 auto 220px;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px; }
        .footer__cta__contact__detail {
          position: relative;
          width: 100%;
          margin: 0 auto; }
          .footer__cta__contact__detail__desc {
            position: relative;
            width: 100%; }
            .footer__cta__contact__detail__desc p {
              width: 72%;
              color: #fff;
              font-size: 1.5rem;
              line-height: 2.0;
              margin: 30px auto 0; }
            .footer__cta__contact__detail__desc h4 {
              width: 380px;
              margin: 40px auto 0; }
    .footer__detail {
      position: relative;
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      background: url(../img/footer_foot_backimg01.svg) no-repeat bottom -138px right -20px;
      background-size: 333px;
      background-color: #E8E2D9;
      padding: 100px 100px 0 0;
      border-radius: 20px 20px 0 0;
      -webkit-border-radius: 20px 20px 0 0;
      -moz-border-radius: 20px 20px 0 0; }
      .footer__detail__left {
        position: relative;
        width: 300px;
        margin-left: 4%; }
        .footer__detail__left__desc {
          position: relative;
          width: 100%; }
          .footer__detail__left__desc h3 {
            font-size: 1.6rem;
            font-weight: 700;
            margin-bottom: 20px; }
          .footer__detail__left__desc h4 {
            position: relative;
            width: 100%;
            text-align: center;
            font-size: 1.3rem;
            border: 1px solid #D4CFC6;
            font-weight: 500;
            padding: 12px 0;
            margin-top: 20px;
            border-radius: 25px;
            -webkit-border-radius: 25px;
            -moz-border-radius: 25px; }
          .footer__detail__left__desc p {
            width: 200px;
            margin-bottom: 35px; }
            .footer__detail__left__desc p img {
              width: 100%; }
          .footer__detail__left__desc ul {
            position: relative;
            width: 100%; }
            .footer__detail__left__desc ul li {
              font-size: 1.3rem; }
            .footer__detail__left__desc ul li:nth-child(n + 2) {
              margin-top: 8px; }
      .footer__detail__right {
        position: relative;
        flex: 1;
        padding-right: 4%; }
        .footer__detail__right__nav {
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: flex-end; }
          .footer__detail__right__nav__list {
            position: relative;
            width: 230px; }
            .footer__detail__right__nav__list p {
              font-size: 1.5rem;
              font-weight: 500; }
            .footer__detail__right__nav__list p:nth-child(n + 2) {
              margin-top: 15px; }
            .footer__detail__right__nav__list ul {
              position: relative;
              width: 100%;
              margin-top: 12px;
              padding-bottom: 5px; }
              .footer__detail__right__nav__list ul li {
                position: relative;
                line-height: 1.4;
                font-size: 1.2rem;
                padding-left: 14px; }
                .footer__detail__right__nav__list ul li a, .footer__detail__right__nav__list ul li a:link a:visited {
                  position: relative;
                  color: #7A7068; }
                .footer__detail__right__nav__list ul li a::after {
                  position: absolute;
                  bottom: -2px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #534099;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .footer__detail__right__nav__list ul li a:hover {
                  color: #534099; }
                .footer__detail__right__nav__list ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
              .footer__detail__right__nav__list ul li:nth-child(n + 2) {
                margin-top: 10px; }
              .footer__detail__right__nav__list ul li::after {
                content: '';
                position: absolute;
                top: 50%;
                left: 2px;
                width: 6px;
                height: 1px;
                background-color: #534099;
                transform: translateY(-50%);
                -webkit-transform: translateY(-50%); }
            .footer__detail__right__nav__list h6 {
              font-size: 1.5rem;
              font-weight: 700;
              margin-top: 25px; }
              .footer__detail__right__nav__list h6 a, .footer__detail__right__nav__list h6 a:link a:visited {
                position: relative;
                width: 100%;
                height: 50px;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                -webkit-flex-wrap: wrap;
                -moz-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                align-items: center;
                justify-content: center;
                color: #fff;
                letter-spacing: 0.05em;
                line-height: 1.0;
                background-color: #534099;
                border-radius: 25px;
                -webkit-border-radius: 25px;
                -moz-border-radius: 25px; }
                .footer__detail__right__nav__list h6 a img, .footer__detail__right__nav__list h6 a:link a:visited img {
                  width: 20px;
                  padding-right: 6px; }
              .footer__detail__right__nav__list h6 a:hover {
                color: #fff;
                background-color: #403083; }
      .footer__detail__copy {
        position: relative;
        width: 92%;
        padding: 40px 0 60px;
        margin: 80px auto 0;
        border-top: 1px solid #D4CFC6; }
        .footer__detail__copy p {
          text-align: center;
          font-family: "Jost", sans-serif;
          font-size: 1.1rem;
          font-weight: 400;
          line-height: 1.0;
          letter-spacing: 0.05em; }
      .footer__detail__copy::after {
        content: '';
        position: absolute;
        top: -1px;
        left: 0;
        width: 300px;
        height: 1px;
        background-color: #534099; }
    .footer__detail::after {
      position: absolute;
      content: '';
      width: 591px;
      height: 238px;
      top: -238px;
      left: 0;
      background: url(../img/foot_backimg03.svg) no-repeat 0 0;
      background-size: 100%;
      z-index: 1; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .footer {
    position: relative;
    width: 100%;
    margin-top: 140px; }
    .footer__cta {
      position: relative;
      width: 100%;
      padding-right: 90px;
      z-index: 3; }
      .footer__cta__contact {
        position: relative;
        width: 90%;
        height: 600px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        background: url(../img/footer_cta_backimg.png) no-repeat center center;
        background-size: cover;
        background-color: #534099;
        margin: 0 auto 180px;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px; }
        .footer__cta__contact__detail {
          position: relative;
          width: 100%;
          margin: 0 auto; }
          .footer__cta__contact__detail__desc {
            position: relative;
            width: 100%; }
            .footer__cta__contact__detail__desc p {
              width: 80%;
              color: #fff;
              font-size: 1.5rem;
              line-height: 2.0;
              margin: 25px auto 0; }
            .footer__cta__contact__detail__desc h4 {
              width: 360px;
              margin: 30px auto 0; }
    .footer__detail {
      position: relative;
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between;
      background: url(../img/footer_foot_backimg01.svg) no-repeat right -20px bottom -138px;
      background-size: 300px;
      background-color: #E8E2D9;
      padding: 100px 90px 0 5%;
      border-radius: 20px 20px 0 0;
      -webkit-border-radius: 20px 20px 0 0;
      -moz-border-radius: 20px 20px 0 0; }
      .footer__detail__left {
        position: relative;
        width: 44%; }
        .footer__detail__left__desc {
          position: relative;
          width: 100%; }
          .footer__detail__left__desc h3 {
            font-size: 1.6rem;
            font-weight: 700;
            margin-bottom: 20px; }
          .footer__detail__left__desc h4 {
            position: relative;
            width: 100%;
            text-align: center;
            font-size: 1.2rem;
            border: 1px solid #D4CFC6;
            font-weight: 500;
            padding: 12px 0;
            margin-top: 20px;
            border-radius: 25px;
            -webkit-border-radius: 25px;
            -moz-border-radius: 25px; }
          .footer__detail__left__desc p {
            width: 160px;
            margin-bottom: 30px; }
            .footer__detail__left__desc p img {
              width: 100%; }
          .footer__detail__left__desc ul {
            position: relative;
            width: 100%; }
            .footer__detail__left__desc ul li {
              font-size: 1.2rem; }
            .footer__detail__left__desc ul li:nth-child(n + 2) {
              margin-top: 8px; }
      .footer__detail__right {
        position: relative;
        width: 50%;
        padding-right: 5%; }
        .footer__detail__right__nav {
          width: 100%; }
          .footer__detail__right__nav__list {
            position: relative;
            width: 100%; }
            .footer__detail__right__nav__list p {
              font-size: 1.5rem;
              font-weight: 500;
              margin-bottom: 15px; }
            .footer__detail__right__nav__list ul {
              position: relative;
              width: 100%;
              margin-top: -5px;
              padding-bottom: 20px; }
              .footer__detail__right__nav__list ul li {
                position: relative;
                line-height: 1.4;
                font-size: 1.2rem;
                font-weight: 500;
                padding-left: 14px; }
                .footer__detail__right__nav__list ul li a, .footer__detail__right__nav__list ul li a:link a:visited {
                  position: relative;
                  color: #7A7068; }
                .footer__detail__right__nav__list ul li a::after {
                  position: absolute;
                  bottom: -2px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #534099;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .footer__detail__right__nav__list ul li a:hover {
                  color: #534099; }
                .footer__detail__right__nav__list ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
              .footer__detail__right__nav__list ul li:nth-child(n + 2) {
                margin-top: 10px; }
              .footer__detail__right__nav__list ul li::after {
                content: '';
                position: absolute;
                top: 50%;
                left: 2px;
                width: 6px;
                height: 1px;
                background-color: #534099;
                transform: translateY(-50%);
                -webkit-transform: translateY(-50%); }
            .footer__detail__right__nav__list h6 {
              font-size: 1.5rem;
              font-weight: 700;
              margin-top: 25px; }
              .footer__detail__right__nav__list h6 a, .footer__detail__right__nav__list h6 a:link a:visited {
                position: relative;
                width: 100%;
                height: 50px;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                -webkit-flex-wrap: wrap;
                -moz-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                align-items: center;
                justify-content: center;
                color: #fff;
                letter-spacing: 0.05em;
                line-height: 1.0;
                background-color: #534099;
                border-radius: 25px;
                -webkit-border-radius: 25px;
                -moz-border-radius: 25px; }
                .footer__detail__right__nav__list h6 a img, .footer__detail__right__nav__list h6 a:link a:visited img {
                  width: 20px;
                  padding-right: 6px; }
              .footer__detail__right__nav__list h6 a:hover {
                color: #fff;
                background-color: #403083; }
      .footer__detail__copy {
        position: relative;
        width: 95%;
        padding: 30px 0 40px;
        margin: 80px 0 0;
        border-top: 1px solid #D4CFC6; }
        .footer__detail__copy p {
          text-align: center;
          font-family: "Jost", sans-serif;
          font-size: 1rem;
          font-weight: 400;
          line-height: 1.0;
          letter-spacing: 0.05em; }
    .footer__detail::after {
      position: absolute;
      content: '';
      width: 460px;
      height: 240px;
      top: -240px;
      left: 0;
      background: url(../img/foot_backimg03.svg) no-repeat right top;
      background-size: 120%;
      z-index: 1; } }
@media screen and (max-width: 767px) {
  .footer {
    position: relative;
    width: 100%;
    margin-top: 120px; }
    .footer__cta {
      position: relative;
      width: 100%;
      z-index: 3; }
      .footer__cta__contact {
        position: relative;
        width: 100%;
        height: 650px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        background: url(../img/sp_footer_cta_backimg.png) no-repeat center center;
        background-size: cover;
        background-color: #534099;
        margin: 0 auto 160px;
        border-radius: 18px;
        -webkit-border-radius: 18px;
        -moz-border-radius: 18px; }
        .footer__cta__contact__detail {
          position: relative;
          width: 100%; }
          .footer__cta__contact__detail__desc {
            position: relative;
            width: 76%;
            margin: 0 auto; }
            .footer__cta__contact__detail__desc p {
              text-align: justify;
              color: #fff;
              font-size: 1.5rem;
              line-height: 2.0;
              margin: 20px auto 0; }
            .footer__cta__contact__detail__desc h4 {
              width: 100%;
              margin: 30px auto 0; }
    .footer__detail {
      position: relative;
      width: 100%;
      background: url(../img/sp_footer_foot_backimg01.svg) no-repeat right -20px bottom -12px;
      background-size: 180px;
      background-color: #E8E2D9;
      padding: 65px 0 0;
      border-radius: 18px 18px 0 0;
      -webkit-border-radius: 18px 18px 0 0;
      -moz-border-radius: 18px 18px 0 0; }
      .footer__detail__left {
        position: relative;
        width: 100%;
        padding: 0 12%; }
        .footer__detail__left__desc {
          position: relative;
          width: 100%; }
          .footer__detail__left__desc h3 {
            text-align: center;
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 15px; }
          .footer__detail__left__desc h4 {
            position: relative;
            width: 100%;
            text-align: center;
            font-size: 1.3rem;
            border: 1px solid #D4CFC6;
            font-weight: 500;
            padding: 10px 0;
            margin-top: 20px;
            border-radius: 25px;
            -webkit-border-radius: 25px;
            -moz-border-radius: 25px; }
          .footer__detail__left__desc p {
            width: 160px;
            margin: 0 auto 35px; }
            .footer__detail__left__desc p img {
              width: 100%; }
          .footer__detail__left__desc ul {
            position: relative;
            width: 100%; }
            .footer__detail__left__desc ul li {
              font-size: 1.3rem; }
            .footer__detail__left__desc ul li:nth-child(n + 2) {
              margin-top: 8px; }
      .footer__detail__right {
        display: none; }
        .footer__detail__right__nav {
          display: none; }
      .footer__detail__copy {
        width: 92%;
        border-top: 1px solid #D4CFC6;
        margin: 65px auto 0;
        padding: 25px 0 40px; }
        .footer__detail__copy p {
          text-align: center;
          font-family: "Jost", sans-serif;
          font-size: 1rem;
          font-weight: 400;
          line-height: 1.0;
          letter-spacing: 0.05em; }
    .footer__detail::after {
      position: absolute;
      content: '';
      width: 160px;
      height: 140px;
      top: -140px;
      left: 0;
      background: url(../img/foot_backimg03.svg) no-repeat right top;
      background-size: 160%;
      z-index: 1; } }

/* ###### title_sp ##### */
@media screen and (min-width: 1024px) {
  .title_sp {
    position: relative;
    width: 100%;
    padding-bottom: 45px; }
    .title_sp h1 {
      font-family: "Shippori Mincho B1", serif;
      font-size: 4rem;
      font-weight: 600;
      line-height: 1.5; }
    .title_sp h2 {
      font-family: "Shippori Mincho B1", serif;
      font-size: 4rem;
      font-weight: 600;
      line-height: 1.5; }
    .title_sp p {
      font-family: "Jost", sans-serif;
      font-weight: 450;
      line-height: 1.0;
      letter-spacing: 0.1em;
      font-size: 1.2rem;
      background: url(../img/cat_foot_b.svg) no-repeat 0px 0px;
      background-size: 11px;
      padding-left: 17px;
      margin-bottom: 10px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .title_sp {
    position: relative;
    width: 100%;
    padding-bottom: 40px; }
    .title_sp h1 {
      font-family: "Shippori Mincho B1", serif;
      font-weight: 600;
      font-size: 3.6rem;
      line-height: 1.5; }
    .title_sp h2 {
      font-family: "Shippori Mincho B1", serif;
      font-weight: 600;
      font-size: 3.6rem;
      line-height: 1.5; }
    .title_sp p {
      font-family: "Jost", sans-serif;
      font-weight: 450;
      line-height: 1.0;
      letter-spacing: 0.1em;
      font-size: 1.3rem;
      background: url(../img/cat_foot_b.svg) no-repeat 0px 2px;
      background-size: 10px;
      padding-left: 16px;
      margin-bottom: 10px; } }
@media screen and (max-width: 767px) {
  .title_sp {
    position: relative;
    width: 100%;
    padding-bottom: 30px; }
    .title_sp h1 {
      font-family: "Shippori Mincho B1", serif;
      font-weight: 600;
      font-size: 2.4rem;
      line-height: 1.5; }
    .title_sp h2 {
      font-family: "Shippori Mincho B1", serif;
      font-weight: 600;
      font-size: 2.4rem;
      line-height: 1.5; }
    .title_sp p {
      font-family: "Jost", sans-serif;
      font-weight: 450;
      line-height: 1.0;
      letter-spacing: 0.1em;
      font-size: 1.1rem;
      line-height: 1.2;
      background: url(../img/cat_foot_b.svg) no-repeat 0 1px;
      background-size: 10px;
      padding-left: 16px;
      margin-bottom: 10px; } }

/* ###### title_sp ##### */
/* ###### cta_title_sp ##### */
@media screen and (min-width: 1024px) {
  .cta_title_sp {
    position: relative;
    width: 100%;
    text-align: center; }
    .cta_title_sp h2 {
      color: #fff;
      font-size: 3rem;
      font-weight: 700;
      line-height: 1.5; }
      .cta_title_sp h2 br {
        display: none; }
    .cta_title_sp p {
      color: #fff;
      font-family: "Jost", sans-serif;
      font-weight: 450;
      line-height: 1.0;
      letter-spacing: 0.1em;
      font-size: 1.2rem;
      margin-bottom: 10px; }
      .cta_title_sp p img {
        width: 17px;
        padding-right: 6px;
        padding-bottom: 1px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .cta_title_sp {
    position: relative;
    width: 100%;
    text-align: center; }
    .cta_title_sp h2 {
      color: #fff;
      font-weight: 600;
      font-size: 2.8rem;
      line-height: 1.7; }
    .cta_title_sp p {
      color: #fff;
      font-family: "Jost", sans-serif;
      font-weight: 450;
      line-height: 1.0;
      letter-spacing: 0.1em;
      font-size: 1.3rem;
      margin-bottom: 10px; }
      .cta_title_sp p img {
        width: 17px;
        padding-right: 6px;
        padding-bottom: 1px; } }
@media screen and (max-width: 767px) {
  .cta_title_sp {
    position: relative;
    width: 100%;
    text-align: center; }
    .cta_title_sp h2 {
      color: #fff;
      font-weight: 700;
      font-size: 2rem;
      line-height: 1.7; }
    .cta_title_sp p {
      color: #fff;
      font-family: "Jost", sans-serif;
      font-weight: 450;
      line-height: 1.0;
      letter-spacing: 0.1em;
      font-size: 1.1rem;
      line-height: 1.2;
      margin-bottom: 10px; }
      .cta_title_sp p img {
        width: 17px;
        padding-right: 6px;
        padding-bottom: 1px; } }

/* ###### cta_title_sp ##### */
@media screen and (min-width: 1024px) {
  .company {
    position: relative;
    width: 100%; }
    .company__desc {
      position: relative;
      width: 860px;
      margin: 140px auto 0;
      border-top: 1px solid #D4CFC6; }
      .company__desc dl {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        border-bottom: 1px solid #D4CFC6;
        padding: 30px 2px; }
        .company__desc dl dt {
          position: relative;
          width: 240px;
          font-size: 1.5rem;
          font-weight: 700;
          padding-left: 14px; }
        .company__desc dl dt::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #534099;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
        .company__desc dl dd {
          flex: 1;
          font-size: 1.5rem;
          line-height: 2.0; }
          .company__desc dl dd a {
            color: #534099;
            font-weight: 500; }
            .company__desc dl dd a img {
              width: 22px;
              padding-left: 8px;
              padding-bottom: 8px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .company {
    position: relative;
    width: 100%; }
    .company__desc {
      width: 90%;
      margin: 120px auto 0;
      border-top: 1px solid #D4CFC6; }
      .company__desc dl {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        border-bottom: 1px solid #D4CFC6;
        padding: 25px 2px; }
        .company__desc dl dt {
          position: relative;
          width: 200px;
          font-size: 1.5rem;
          font-weight: 700;
          padding-left: 14px; }
        .company__desc dl dt::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #534099;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
        .company__desc dl dd {
          flex: 1;
          font-size: 1.5rem;
          line-height: 2.0; } }
@media screen and (max-width: 767px) {
  .company {
    position: relative;
    width: 100%; }
    .company__desc {
      position: relative;
      width: 88%;
      margin: 80px auto 0;
      border-top: 1px solid #D4CFC6; }
      .company__desc dl {
        border-bottom: 1px solid #D4CFC6;
        padding: 20px 2px; }
        .company__desc dl dt {
          position: relative;
          font-size: 1.3rem;
          font-weight: 700;
          padding-left: 14px; }
        .company__desc dl dt::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #534099;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
        .company__desc dl dd {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 10px;
          padding-left: 14px; } }

@media screen and (min-width: 1024px) {
  .blog {
    position: relative;
    width: 100%; }
    .blog__archive {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .blog__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 60px; }
        .blog__archive__nav ul {
          position: relative;
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: center; }
          .blog__archive__nav ul li {
            font-size: 1.4rem;
            margin: 0 10px; }
            .blog__archive__nav ul li a, .blog__archive__nav ul li a:link a:visited {
              width: 230px;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              -webkit-flex-wrap: wrap;
              -moz-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              justify-content: center;
              padding: 10px 0;
              border: 1px solid #D4CFC6;
              border-radius: 40px;
              -webkit-border-radius: 40px;
              -moz-border-radius: 40px;
              background: url(../img/arrow_b01.svg) no-repeat top 50% right 15px;
              background-size: 8px; }
            .blog__archive__nav ul li a:hover {
              background-color: #fff; }
      .blog__archive__list {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto; }
        .blog__archive__list__sp {
          position: relative;
          width: 31.5%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: column;
          margin-right: 2.75%; }
          .blog__archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px;
            overflow: hidden; }
            .blog__archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .blog__archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.2rem;
              font-weight: 500;
              color: #fff; }
            .blog__archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .blog__archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .blog__archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .blog__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 20px; }
            .blog__archive__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 700;
              margin-bottom: 30px; }
          .blog__archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding: 18px 0 0; }
            .blog__archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.2rem;
              line-height: 1.0;
              font-weight: 500; }
              .blog__archive__list__sp__option li.cat_style a, .blog__archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #534099;
                background-color: #fff;
                padding: 8px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .blog__archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .blog__archive__list__sp__option li.time_style {
              font-size: 1.1rem; }
              .blog__archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .blog__archive__list__sp:nth-child(3n) {
          margin-right: 0; }
        .blog__archive__list__sp:nth-child(n + 4) {
          margin-top: 45px; }
        .blog__archive__list__none {
          position: relative;
          width: 100%;
          background-color: #fff;
          padding: 40px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px; }
          .blog__archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
      .blog__archive h4 {
        max-width: 340px;
        margin: 45px auto 0; }
    .blog__detail {
      position: relative;
      width: 860px;
      margin: 80px auto 0; }
      .blog__detail__title {
        position: relative;
        width: 100%; }
        .blog__detail__title h1 {
          font-family: "Shippori Mincho B1", serif;
          font-size: 3.6rem;
          font-weight: 600;
          line-height: 1.5; }
        .blog__detail__title p {
          font-family: "Jost", sans-serif;
          font-weight: 450;
          line-height: 1.0;
          letter-spacing: 0.1em;
          font-size: 1.2rem;
          background: url(../img/cat_foot_b.svg) no-repeat 0px 0px;
          background-size: 11px;
          padding-left: 17px;
          margin-bottom: 10px; }
        .blog__detail__title__option {
          position: relative;
          width: 100%;
          margin-top: auto;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding: 20px 0 0; }
          .blog__detail__title__option li.cat_style {
            position: relative;
            font-size: 1.2rem;
            line-height: 1.0;
            font-weight: 500; }
            .blog__detail__title__option li.cat_style a, .blog__detail__title__option li.cat_style a:link a:visited {
              position: relative;
              display: block;
              color: #534099;
              background-color: #fff;
              padding: 8px 20px;
              border-radius: 20px;
              -webkit-border-radius: 20px;
              -moz-border-radius: 20px; }
            .blog__detail__title__option li.cat_style a:hover {
              color: #fff;
              background-color: #534099; }
          .blog__detail__title__option li.time_style {
            font-size: 1.1rem; }
            .blog__detail__title__option li.time_style img {
              width: 18px;
              padding-right: 6px;
              padding-bottom: 1px; }
      .blog__detail__eyecatch {
        position: relative;
        width: 100%;
        margin-top: 60px; }
        .blog__detail__eyecatch p {
          width: 100%; }
          .blog__detail__eyecatch p img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
      .blog__detail__contents {
        position: relative;
        width: 100%;
        margin-top: 60px; }
        .blog__detail__contents h2 {
          font-size: 3rem;
          font-weight: 700;
          padding-top: 120px;
          margin-top: -40px; }
        .blog__detail__contents h3 {
          font-size: 2.2rem;
          color: #534099;
          font-weight: 700;
          background: url(../img/cat_foot_p.svg) no-repeat 0 center;
          background-size: 14px;
          padding-left: 22px;
          margin-top: 40px; }
        .blog__detail__contents p {
          font-size: 1.6rem;
          line-height: 2.0;
          margin-top: 30px; }
          .blog__detail__contents p a, .blog__detail__contents p a:link a:visited {
            color: #534099;
            border-bottom: 1px solid #534099; }
          .blog__detail__contents p a:hover {
            color: #7A7068;
            border-bottom: 1px solid #7A7068; }
        .blog__detail__contents ul.list_style01 {
          font-size: 1.6rem;
          margin-top: 35px; }
          .blog__detail__contents ul.list_style01 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
          .blog__detail__contents ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .blog__detail__contents ul.list_style02 {
          color: #666;
          font-size: 1.6rem;
          margin-top: 40px;
          background-color: #fff;
          padding: 30px 45px 45px;
          border-radius: 14px;
          -webkit-border-radius: 14px;
          -moz-border-radius: 14px; }
          .blog__detail__contents ul.list_style02 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
            .blog__detail__contents ul.list_style02 li a, .blog__detail__contents ul.list_style02 li a:link a:visited {
              position: relative;
              color: #534099; }
            .blog__detail__contents ul.list_style02 li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #534099;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .blog__detail__contents ul.list_style02 li a:hover {
              color: #534099; }
            .blog__detail__contents ul.list_style02 li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .blog__detail__contents ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .blog__detail__contents figure {
          position: relative;
          width: 100%;
          margin-top: 40px; }
          .blog__detail__contents figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .blog__detail__contents figure figcaption {
            font-size: 1.1rem;
            text-align: center;
            padding-top: 12px; }
    .blog__bottom-archive {
      position: relative;
      width: 90%;
      margin: 140px auto 0; }
      .blog__bottom-archive .title_sp {
        margin-top: 100px; }
      .blog__bottom-archive__list {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto; }
        .blog__bottom-archive__list__sp {
          position: relative;
          width: 31.5%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: column;
          margin-right: 2.75%; }
          .blog__bottom-archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px;
            overflow: hidden; }
            .blog__bottom-archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .blog__bottom-archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.2rem;
              font-weight: 500;
              color: #fff; }
            .blog__bottom-archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .blog__bottom-archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .blog__bottom-archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .blog__bottom-archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 20px; }
            .blog__bottom-archive__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 700;
              margin-bottom: 30px; }
          .blog__bottom-archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding: 18px 0 0; }
            .blog__bottom-archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.2rem;
              line-height: 1.0;
              font-weight: 500; }
              .blog__bottom-archive__list__sp__option li.cat_style a, .blog__bottom-archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #534099;
                background-color: #fff;
                padding: 8px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .blog__bottom-archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .blog__bottom-archive__list__sp__option li.time_style {
              font-size: 1.1rem; }
              .blog__bottom-archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .blog__bottom-archive__list__sp:nth-child(3n) {
          margin-right: 0; }
        .blog__bottom-archive__list__sp:nth-child(4) {
          display: none; }
        .blog__bottom-archive__list__none {
          position: relative;
          width: 100%;
          background-color: #fff;
          padding: 40px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px; }
          .blog__bottom-archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
      .blog__bottom-archive h4 {
        max-width: 340px;
        margin: 45px auto 0; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .blog {
    position: relative;
    width: 100%; }
    .blog__archive {
      position: relative;
      width: 90%;
      margin: 100px auto 0; }
      .blog__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 60px; }
        .blog__archive__nav ul {
          position: relative;
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: center; }
          .blog__archive__nav ul li {
            width: 30%;
            font-size: 1.3rem;
            margin: 0 10px; }
            .blog__archive__nav ul li a, .blog__archive__nav ul li a:link a:visited {
              width: 100%;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              -webkit-flex-wrap: wrap;
              -moz-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              justify-content: center;
              padding: 10px 0;
              border: 1px solid #D4CFC6;
              border-radius: 40px;
              -webkit-border-radius: 40px;
              -moz-border-radius: 40px;
              background: url(../img/arrow_b01.svg) no-repeat top 50% right 15px;
              background-size: 8px; }
            .blog__archive__nav ul li a:hover {
              background-color: #fff; }
      .blog__archive__list {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto; }
        .blog__archive__list__sp {
          position: relative;
          width: 48%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: column; }
          .blog__archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px;
            overflow: hidden; }
            .blog__archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .blog__archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.1rem;
              font-weight: 500;
              color: #fff; }
            .blog__archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .blog__archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .blog__archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .blog__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 15px; }
            .blog__archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.7;
              font-weight: 700;
              margin-bottom: 25px; }
          .blog__archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding-top: 15px; }
            .blog__archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .blog__archive__list__sp__option li.cat_style a, .blog__archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #534099;
                background-color: #fff;
                padding: 8px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .blog__archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .blog__archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .blog__archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .blog__archive__list__sp:nth-child(n + 3) {
          margin-top: 35px; }
        .blog__archive__list__none {
          position: relative;
          width: 100%;
          background-color: #fff;
          padding: 30px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px; }
          .blog__archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
    .blog__detail {
      position: relative;
      width: 90%;
      margin: 60px auto 0; }
      .blog__detail__title {
        position: relative;
        width: 100%; }
        .blog__detail__title h1 {
          font-family: "Shippori Mincho B1", serif;
          font-weight: 600;
          font-size: 3.2rem;
          line-height: 1.5; }
        .blog__detail__title p {
          font-family: "Jost", sans-serif;
          font-weight: 450;
          line-height: 1.0;
          letter-spacing: 0.1em;
          font-size: 1.3rem;
          background: url(../img/cat_foot_b.svg) no-repeat 0px 2px;
          background-size: 10px;
          padding-left: 16px;
          margin-bottom: 10px; }
        .blog__detail__title__option {
          position: relative;
          width: 100%;
          margin-top: auto;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding-top: 20px; }
          .blog__detail__title__option li.cat_style {
            position: relative;
            font-size: 1.1rem;
            line-height: 1.0;
            font-weight: 500; }
            .blog__detail__title__option li.cat_style a, .blog__detail__title__option li.cat_style a:link a:visited {
              position: relative;
              display: block;
              color: #534099;
              background-color: #fff;
              padding: 8px 20px;
              border-radius: 20px;
              -webkit-border-radius: 20px;
              -moz-border-radius: 20px; }
            .blog__detail__title__option li.cat_style a:hover {
              color: #fff;
              background-color: #534099; }
          .blog__detail__title__option li.time_style {
            font-size: 1rem; }
            .blog__detail__title__option li.time_style img {
              width: 18px;
              padding-right: 6px;
              padding-bottom: 1px; }
      .blog__detail__eyecatch {
        position: relative;
        width: 100%;
        margin-top: 45px; }
        .blog__detail__eyecatch p {
          width: 100%; }
          .blog__detail__eyecatch p img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
      .blog__detail__contents {
        position: relative;
        width: 100%;
        margin-top: 60px; }
        .blog__detail__contents h2 {
          font-size: 2.8rem;
          font-weight: 700;
          padding-top: 100px;
          margin-top: -40px; }
        .blog__detail__contents h3 {
          font-size: 2rem;
          color: #534099;
          font-weight: 700;
          background: url(../img/cat_foot_p.svg) no-repeat 0 center;
          background-size: 14px;
          padding-left: 22px;
          margin-top: 35px; }
        .blog__detail__contents p {
          font-size: 1.6rem;
          line-height: 2.0;
          margin-top: 25px; }
          .blog__detail__contents p a, .blog__detail__contents p a:link a:visited {
            color: #534099;
            border-bottom: 1px solid #534099; }
          .blog__detail__contents p a:hover {
            color: #7A7068;
            border-bottom: 1px solid #7A7068; }
        .blog__detail__contents ul.list_style01 {
          font-size: 1.6rem;
          margin-top: 30px; }
          .blog__detail__contents ul.list_style01 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
          .blog__detail__contents ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .blog__detail__contents ul.list_style02 {
          color: #666;
          font-size: 1.6rem;
          margin-top: 35px;
          background-color: #fff;
          padding: 25px 40px 40px;
          border-radius: 14px;
          -webkit-border-radius: 14px;
          -moz-border-radius: 14px; }
          .blog__detail__contents ul.list_style02 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
            .blog__detail__contents ul.list_style02 li a, .blog__detail__contents ul.list_style02 li a:link a:visited {
              position: relative;
              color: #534099; }
            .blog__detail__contents ul.list_style02 li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #534099;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .blog__detail__contents ul.list_style02 li a:hover {
              color: #534099; }
            .blog__detail__contents ul.list_style02 li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .blog__detail__contents ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .blog__detail__contents figure {
          position: relative;
          width: 100%;
          margin-top: 35px; }
          .blog__detail__contents figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .blog__detail__contents figure figcaption {
            font-size: 1rem;
            text-align: center;
            padding-top: 12px; }
    .blog__bottom-archive {
      position: relative;
      width: 90%;
      margin: 140px auto 0; }
      .blog__bottom-archive .title_sp {
        margin-top: 80px; }
      .blog__bottom-archive__list {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto; }
        .blog__bottom-archive__list__sp {
          position: relative;
          width: 48%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: column; }
          .blog__bottom-archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px;
            overflow: hidden; }
            .blog__bottom-archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .blog__bottom-archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.1rem;
              font-weight: 500;
              color: #fff; }
            .blog__bottom-archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .blog__bottom-archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .blog__bottom-archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .blog__bottom-archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 15px; }
            .blog__bottom-archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.7;
              font-weight: 700;
              margin-bottom: 25px; }
          .blog__bottom-archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding-top: 15px; }
            .blog__bottom-archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .blog__bottom-archive__list__sp__option li.cat_style a, .blog__bottom-archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #534099;
                background-color: #fff;
                padding: 8px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .blog__bottom-archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .blog__bottom-archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .blog__bottom-archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .blog__bottom-archive__list__sp:nth-child(n + 3) {
          margin-top: 35px; }
        .blog__bottom-archive__list__none {
          position: relative;
          width: 100%;
          background-color: #fff;
          padding: 30px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px; }
          .blog__bottom-archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
      .blog__bottom-archive h4 {
        width: 320px;
        margin: 40px auto 0; } }
@media screen and (max-width: 767px) {
  .blog {
    position: relative;
    width: 100%; }
    .blog__archive {
      position: relative;
      width: 100%;
      margin: 80px auto 0; }
      .blog__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 60px; }
        .blog__archive__nav ul {
          width: 88%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: space-between;
          margin: 0 auto; }
          .blog__archive__nav ul li {
            position: relative;
            width: 48.5%;
            font-size: 1.2rem; }
            .blog__archive__nav ul li a {
              width: 100%;
              height: 40px;
              font-weight: 500;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              align-items: center;
              justify-content: center;
              background: url(../img/arrow_b01.svg) no-repeat top 50% right 10px;
              background-size: 6px;
              border-radius: 21px;
              -webkit-border-radius: 21px;
              -moz-border-radius: 21px;
              border: 1px solid #D4CFC6; }
          .blog__archive__nav ul li:nth-child(n+3) {
            margin-top: 8px; }
      .blog__archive__list {
        position: relative;
        width: 88%;
        margin: 0 auto; }
        .blog__archive__list__sp {
          position: relative;
          width: 100%; }
          .blog__archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px;
            overflow: hidden; }
            .blog__archive__list__sp__img img {
              width: 100%; }
            .blog__archive__list__sp__img .caption {
              display: none; }
            .blog__archive__list__sp__img .mask {
              display: none; }
          .blog__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 15px; }
            .blog__archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.6;
              font-weight: 700;
              margin-bottom: 20px; }
          .blog__archive__list__sp__option {
            width: 100%;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding-top: 10px; }
            .blog__archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .blog__archive__list__sp__option li.cat_style a {
                position: relative;
                color: #534099;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                align-items: center;
                height: 30px;
                background-color: #fff;
                padding: 0 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
            .blog__archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .blog__archive__list__sp__option li.time_style img {
                width: 17px;
                padding-right: 5px; }
        .blog__archive__list__sp:nth-child(n+2) {
          margin-top: 35px; }
        .blog__archive__list__sp:nth-child(4) {
          display: none; }
        .blog__archive__list__none {
          position: relative;
          width: 100%;
          border-radius: 50px;
          -webkit-border-radius: 50px;
          -moz-border-radius: 50px;
          background-color: #E8E2D9;
          padding: 25px 0;
          margin: 0 auto; }
          .blog__archive__list__none p {
            text-align: center;
            font-size: 1.3rem; }
    .blog__detail {
      position: relative;
      width: 100%;
      margin: 40px auto 0; }
      .blog__detail__title {
        position: relative;
        width: 88%;
        margin: 0 auto; }
        .blog__detail__title h1 {
          font-family: "Shippori Mincho B1", serif;
          font-weight: 600;
          font-size: 2.2rem;
          line-height: 1.5; }
        .blog__detail__title p {
          font-family: "Jost", sans-serif;
          font-weight: 450;
          line-height: 1.0;
          letter-spacing: 0.1em;
          font-size: 1.1rem;
          line-height: 1.2;
          background: url(../img/cat_foot_b.svg) no-repeat 0 1px;
          background-size: 10px;
          padding-left: 16px;
          margin-bottom: 10px; }
        .blog__detail__title__option {
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding-top: 15px; }
          .blog__detail__title__option li.cat_style {
            position: relative;
            font-size: 1.1rem;
            line-height: 1.0;
            font-weight: 500; }
            .blog__detail__title__option li.cat_style a {
              position: relative;
              color: #534099;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              align-items: center;
              height: 30px;
              background-color: #fff;
              padding: 0 20px;
              border-radius: 20px;
              -webkit-border-radius: 20px;
              -moz-border-radius: 20px; }
          .blog__detail__title__option li.time_style {
            font-size: 1rem; }
            .blog__detail__title__option li.time_style img {
              width: 17px;
              padding-right: 5px; }
      .blog__detail__eyecatch {
        position: relative;
        width: 100%;
        margin-top: 40px; }
        .blog__detail__eyecatch p {
          width: 100%; }
          .blog__detail__eyecatch p img {
            width: 100%; }
      .blog__detail__contents {
        position: relative;
        width: 100%;
        margin-top: 45px; }
        .blog__detail__contents h2 {
          width: 88%;
          font-size: 2.2rem;
          font-weight: 700;
          padding-top: 100px;
          margin: -40px auto 0; }
        .blog__detail__contents h3 {
          width: 88%;
          font-size: 1.8rem;
          color: #534099;
          font-weight: 700;
          background: url(../img/cat_foot_p.svg) no-repeat 0 center;
          background-size: 12px;
          padding-left: 18px;
          margin: 35px auto 0; }
        .blog__detail__contents p {
          width: 88%;
          text-align: justify;
          font-size: 1.55rem;
          line-height: 2.0;
          margin: 25px auto 0; }
          .blog__detail__contents p a, .blog__detail__contents p a:link a:visited {
            color: #534099;
            border-bottom: 1px solid #534099; }
          .blog__detail__contents p a:hover {
            color: #7A7068;
            border-bottom: 1px solid #7A7068; }
        .blog__detail__contents ul.list_style01 {
          width: 88%;
          font-size: 1.55rem;
          margin: 30px auto 0; }
          .blog__detail__contents ul.list_style01 li {
            position: relative;
            line-height: 1.8;
            margin-top: 12px;
            padding-left: 14px; }
          .blog__detail__contents ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .blog__detail__contents ul.list_style02 {
          width: 88%;
          color: #666;
          font-size: 1.55rem;
          margin-top: 35px;
          background-color: #fff;
          padding: 8px 20px 20px;
          border-radius: 12px;
          -webkit-border-radius: 12px;
          -moz-border-radius: 12px;
          margin: 30px auto 0; }
          .blog__detail__contents ul.list_style02 li {
            position: relative;
            line-height: 1.8;
            margin-top: 12px;
            padding-left: 14px; }
            .blog__detail__contents ul.list_style02 li a {
              position: relative;
              color: #534099; }
          .blog__detail__contents ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .blog__detail__contents figure {
          position: relative;
          width: 88%;
          margin: 30px auto 0; }
          .blog__detail__contents figure img {
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px; }
          .blog__detail__contents figure figcaption {
            font-size: 1rem;
            text-align: center;
            padding-top: 10px; }
    .blog__bottom-archive {
      position: relative;
      width: 100%;
      margin: 120px auto 0; }
      .blog__bottom-archive .title_sp {
        width: 88%;
        margin: 60px auto 0; }
      .blog__bottom-archive__list {
        position: relative;
        width: 88%;
        margin: 0 auto; }
        .blog__bottom-archive__list__sp {
          position: relative;
          width: 100%; }
          .blog__bottom-archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px;
            overflow: hidden; }
            .blog__bottom-archive__list__sp__img img {
              width: 100%; }
            .blog__bottom-archive__list__sp__img .caption {
              display: none; }
            .blog__bottom-archive__list__sp__img .mask {
              display: none; }
          .blog__bottom-archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 15px; }
            .blog__bottom-archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.6;
              font-weight: 700;
              margin-bottom: 20px; }
          .blog__bottom-archive__list__sp__option {
            width: 100%;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding-top: 10px; }
            .blog__bottom-archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .blog__bottom-archive__list__sp__option li.cat_style a {
                position: relative;
                color: #534099;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                align-items: center;
                height: 30px;
                background-color: #fff;
                padding: 0 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
            .blog__bottom-archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .blog__bottom-archive__list__sp__option li.time_style img {
                width: 17px;
                padding-right: 5px; }
        .blog__bottom-archive__list__sp:nth-child(n+2) {
          margin-top: 35px; }
        .blog__bottom-archive__list__sp:nth-child(4) {
          display: none; }
        .blog__bottom-archive__list__none {
          position: relative;
          width: 100%;
          border-radius: 50px;
          -webkit-border-radius: 50px;
          -moz-border-radius: 50px;
          background-color: #E8E2D9;
          padding: 25px 0;
          margin: 0 auto; }
          .blog__bottom-archive__list__none p {
            text-align: center;
            font-size: 1.3rem; }
      .blog__bottom-archive h4 {
        width: 82%;
        margin: 35px auto 0; } }

@media screen and (min-width: 1024px) {
  .privacy {
    position: relative;
    width: 100%; }
    .privacy__desc {
      position: relative;
      width: 860px;
      margin: 140px auto 0; }
      .privacy__desc h2 {
        font-size: 3rem;
        font-weight: 700; }
      .privacy__desc h2:nth-child(n + 2) {
        margin-top: 80px; }
      .privacy__desc h3 {
        font-size: 2.2rem;
        color: #534099;
        font-weight: 700;
        margin-top: 40px; }
      .privacy__desc p {
        font-size: 1.5rem;
        line-height: 2.0;
        margin-top: 30px; }
      .privacy__desc ul.list_style01 {
        font-size: 1.5rem;
        margin-top: 30px; }
        .privacy__desc ul.list_style01 li {
          line-height: 1.8;
          margin-top: 20px; }
      .privacy__desc ul.list_style02 {
        font-size: 1.5rem;
        margin-top: 30px; }
        .privacy__desc ul.list_style02 li {
          position: relative;
          line-height: 1.8;
          margin-top: 20px;
          padding-left: 14px; }
        .privacy__desc ul.list_style02 li::after {
          content: '';
          position: absolute;
          top: 14px;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #534099;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
      .privacy__desc__contact {
        position: relative;
        width: 100%;
        background-color: #fff;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        padding: 60px 60px;
        margin-top: 40px; }
        .privacy__desc__contact dl {
          color: #666;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          border-bottom: 1px solid #D4CFC6;
          padding: 20px 2px; }
          .privacy__desc__contact dl dt {
            position: relative;
            width: 200px;
            font-size: 1.5rem;
            font-weight: 500;
            padding-left: 14px; }
          .privacy__desc__contact dl dt::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
          .privacy__desc__contact dl dd {
            flex: 1;
            font-size: 1.5rem;
            line-height: 2.0; }
            .privacy__desc__contact dl dd a {
              color: #534099;
              font-weight: 500; }
              .privacy__desc__contact dl dd a img {
                width: 22px;
                padding-left: 8px;
                padding-bottom: 8px; }
        .privacy__desc__contact dl:first-of-type {
          border-top: 1px solid #D4CFC6; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .privacy {
    position: relative;
    width: 100%; }
    .privacy__desc {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .privacy__desc h2 {
        font-size: 2.8rem;
        font-weight: 700; }
      .privacy__desc h2:nth-child(n + 2) {
        margin-top: 80px; }
      .privacy__desc h3 {
        font-size: 2rem;
        color: #534099;
        font-weight: 700;
        margin-top: 35px; }
      .privacy__desc p {
        font-size: 1.5rem;
        line-height: 2.0;
        margin-top: 25px; }
      .privacy__desc ul.list_style01 {
        font-size: 1.5rem;
        margin-top: 25px; }
        .privacy__desc ul.list_style01 li {
          line-height: 1.8;
          margin-top: 20px; }
      .privacy__desc ul.list_style02 {
        font-size: 1.5rem;
        margin-top: 30px; }
        .privacy__desc ul.list_style02 li {
          position: relative;
          line-height: 1.8;
          margin-top: 20px;
          padding-left: 14px; }
        .privacy__desc ul.list_style02 li::after {
          content: '';
          position: absolute;
          top: 14px;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #534099;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
      .privacy__desc__contact {
        position: relative;
        width: 100%;
        background-color: #fff;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        padding: 40px 40px;
        margin-top: 35px; }
        .privacy__desc__contact dl {
          color: #666;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          border-bottom: 1px solid #D4CFC6;
          padding: 20px 2px; }
          .privacy__desc__contact dl dt {
            position: relative;
            width: 180px;
            font-size: 1.5rem;
            font-weight: 500;
            padding-left: 14px; }
          .privacy__desc__contact dl dt::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
          .privacy__desc__contact dl dd {
            flex: 1;
            font-size: 1.5rem;
            line-height: 2.0; }
            .privacy__desc__contact dl dd a {
              color: #534099;
              font-weight: 500; }
              .privacy__desc__contact dl dd a img {
                width: 22px;
                padding-left: 8px;
                padding-bottom: 8px; }
        .privacy__desc__contact dl:first-of-type {
          border-top: 1px solid #D4CFC6; } }
@media screen and (max-width: 767px) {
  .privacy {
    position: relative;
    width: 100%; }
    .privacy__desc {
      position: relative;
      width: 88%;
      margin: 80px auto 0; }
      .privacy__desc h2 {
        font-size: 2.2rem;
        font-weight: 700; }
      .privacy__desc h2:nth-child(n + 2) {
        margin-top: 60px; }
      .privacy__desc h3 {
        font-size: 2rem;
        color: #534099;
        font-weight: 700;
        margin-top: 30px; }
      .privacy__desc p {
        text-align: justify;
        font-size: 1.5rem;
        line-height: 2.0;
        margin-top: 20px; }
      .privacy__desc ul.list_style01 {
        font-size: 1.5rem;
        margin-top: 25px; }
        .privacy__desc ul.list_style01 li {
          text-align: justify;
          line-height: 1.8;
          margin-top: 15px; }
      .privacy__desc ul.list_style02 {
        font-size: 1.5rem;
        margin-top: 25px; }
        .privacy__desc ul.list_style02 li {
          text-align: justify;
          position: relative;
          line-height: 1.8;
          margin-top: 20px;
          padding-left: 14px; }
        .privacy__desc ul.list_style02 li::after {
          content: '';
          position: absolute;
          top: 14px;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #534099;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
      .privacy__desc__contact {
        position: relative;
        width: 100%;
        background-color: #fff;
        border-radius: 18px;
        -webkit-border-radius: 18px;
        -moz-border-radius: 18px;
        padding: 25px 25px;
        margin-top: 30px; }
        .privacy__desc__contact dl {
          color: #666;
          border-bottom: 1px solid #D4CFC6;
          padding: 15px 2px; }
          .privacy__desc__contact dl dt {
            position: relative;
            font-size: 1.3rem;
            font-weight: 500;
            padding-left: 14px;
            margin-bottom: 10px; }
          .privacy__desc__contact dl dt::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
          .privacy__desc__contact dl dd {
            flex: 1;
            font-size: 1.5rem;
            line-height: 1.8;
            padding-left: 14px; }
            .privacy__desc__contact dl dd a {
              color: #534099;
              font-weight: 500; }
              .privacy__desc__contact dl dd a img {
                width: 22px;
                padding-left: 8px;
                padding-bottom: 8px; }
        .privacy__desc__contact dl:first-of-type {
          border-top: 1px solid #D4CFC6; } }

@media screen and (min-width: 1024px) {
  .staff {
    position: relative;
    width: 100%; }
    .staff__list {
      position: relative;
      width: 80%;
      margin: 140px auto 0; }
      .staff__list__sp {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        background-color: #fff;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        padding: 60px 60px; }
        .staff__list__sp__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .staff__list__sp__img p {
            width: 100%; }
            .staff__list__sp__img p img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
        .staff__list__sp__txt {
          position: relative;
          width: 50%; }
          .staff__list__sp__txt h2 {
            font-size: 2.2rem;
            color: #534099;
            font-weight: 700;
            background: url(../img/cat_foot_p.svg) no-repeat 0 center;
            background-size: 14px;
            padding-left: 22px;
            margin-bottom: 30px; }
          .staff__list__sp__txt h3 {
            color: #666;
            font-size: 1.8rem;
            font-weight: 700;
            margin-top: 35px; }
          .staff__list__sp__txt p {
            font-size: 1.5rem;
            line-height: 2.0;
            background-color: #F5F0E8;
            padding: 35px 35px;
            margin-top: 20px;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .staff__list__sp__txt dl {
            color: #666;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            border-bottom: 1px dotted #D4CFC6;
            padding: 20px 2px; }
            .staff__list__sp__txt dl dt {
              position: relative;
              width: 100px;
              font-size: 1.4rem;
              font-weight: 700;
              padding-left: 2px; }
            .staff__list__sp__txt dl dd {
              flex: 1;
              font-size: 1.5rem;
              line-height: 2.0; }
          .staff__list__sp__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6; }
      .staff__list__sp:nth-child(n + 2) {
        margin-top: 45px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .staff {
    position: relative;
    width: 100%; }
    .staff__list {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .staff__list__sp {
        position: relative;
        width: 100%;
        background-color: #fff;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        padding: 45px 45px; }
        .staff__list__sp__img {
          position: relative;
          width: 100%;
          padding-bottom: 35px; }
          .staff__list__sp__img p {
            width: 50%;
            margin: 0 auto; }
            .staff__list__sp__img p img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
        .staff__list__sp__txt {
          position: relative;
          width: 100%; }
          .staff__list__sp__txt h2 {
            font-size: 2rem;
            color: #534099;
            font-weight: 700;
            background: url(../img/cat_foot_p.svg) no-repeat 0 center;
            background-size: 14px;
            padding-left: 22px;
            margin-bottom: 30px; }
          .staff__list__sp__txt h3 {
            color: #666;
            font-size: 1.8rem;
            font-weight: 700;
            margin-top: 30px; }
          .staff__list__sp__txt p {
            font-size: 1.5rem;
            line-height: 2.0;
            background-color: #F5F0E8;
            padding: 30px 30px;
            margin-top: 20px;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .staff__list__sp__txt dl {
            color: #666;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            border-bottom: 1px dotted #D4CFC6;
            padding: 20px 2px; }
            .staff__list__sp__txt dl dt {
              position: relative;
              width: 100px;
              font-size: 1.3rem;
              font-weight: 700; }
            .staff__list__sp__txt dl dd {
              flex: 1;
              font-size: 1.5rem;
              line-height: 2.0; }
              .staff__list__sp__txt dl dd br {
                display: none; }
          .staff__list__sp__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6; }
      .staff__list__sp:nth-child(n + 2) {
        margin-top: 45px; } }
@media screen and (max-width: 767px) {
  .staff {
    position: relative;
    width: 100%; }
    .staff__list {
      position: relative;
      width: 88%;
      margin: 80px auto 0; }
      .staff__list__sp {
        position: relative;
        width: 100%;
        background-color: #fff;
        border-radius: 18px;
        -webkit-border-radius: 18px;
        -moz-border-radius: 18px;
        padding: 25px 25px; }
        .staff__list__sp__img {
          position: relative;
          width: 100%;
          padding-bottom: 20px; }
          .staff__list__sp__img p {
            width: 100%; }
            .staff__list__sp__img p img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
        .staff__list__sp__txt {
          position: relative;
          width: 100%; }
          .staff__list__sp__txt h2 {
            font-size: 1.6rem;
            color: #534099;
            font-weight: 700;
            background: url(../img/cat_foot_p.svg) no-repeat 0 center;
            background-size: 12px;
            padding-left: 18px;
            margin-bottom: 15px; }
          .staff__list__sp__txt h3 {
            color: #666;
            font-size: 1.5rem;
            font-weight: 700;
            line-height: 1.8;
            margin-top: 25px; }
          .staff__list__sp__txt p {
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            background-color: #F5F0E8;
            padding: 20px 20px;
            margin-top: 15px;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px; }
          .staff__list__sp__txt dl {
            color: #666;
            border-bottom: 1px dotted #D4CFC6;
            padding: 15px 2px; }
            .staff__list__sp__txt dl dt {
              position: relative;
              font-size: 1.3rem;
              font-weight: 700;
              margin-bottom: 8px; }
            .staff__list__sp__txt dl dd {
              font-size: 1.5rem;
              line-height: 1.8; }
          .staff__list__sp__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6; }
      .staff__list__sp:nth-child(n + 2) {
        margin-top: 35px; } }

@media screen and (min-width: 1024px) {
  .contact {
    position: relative;
    width: 100%; }
    .contact__desc {
      position: relative;
      width: 860px;
      margin: 140px auto 0; }
      .contact__desc p {
        font-size: 1.5rem;
        line-height: 2.0; }
        .contact__desc p img {
          width: 20px;
          padding: 0 8px 8px 0; }
      .contact__desc p:nth-child(n + 2) {
        margin-top: 30px; }
    .contact__form {
      position: relative;
      width: 90%;
      margin: 80px auto 0;
      background-color: #fff;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px;
      padding: 80px 0; }
      .contact__form dl {
        width: 860px;
        margin: 0 auto;
        color: #666;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        padding: 25px 3px;
        border-bottom: 1px dotted #D4CFC6; }
        .contact__form dl dt {
          position: relative;
          width: 220px;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          font-size: 1.5rem;
          font-weight: 500;
          padding-left: 14px; }
          .contact__form dl dt img {
            width: 20px;
            padding-left: 8px; }
        .contact__form dl dt::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #534099;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
        .contact__form dl dd {
          flex: 1;
          font-size: 1.5rem;
          line-height: 2.0; }
      .contact__form dl:first-of-type {
        border-top: 1px dotted #D4CFC6; }
      .contact__form__check {
        width: 860px;
        padding: 40px 40px;
        background-color: #F5F0E8;
        margin: 30px auto 0;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px; }
        .contact__form__check p {
          text-align: center;
          font-size: 1.3rem;
          line-height: 2.0;
          margin-bottom: 20px; }
          .contact__form__check p a {
            color: #534099;
            border-bottom: 1px solid #534099;
            font-weight: 500; }
        .contact__form__check .confirmArea {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          font-size: 1.5rem;
          font-weight: 500;
          background-color: #fff;
          border-radius: 40px;
          -webkit-border-radius: 40px;
          -moz-border-radius: 40px;
          padding: 20px 0; }
          .contact__form__check .confirmArea .wpcf7-acceptance {
            font-weight: 500;
            letter-spacing: 0.05em; }
        .contact__form__check .error {
          font-size: 1.1rem !important;
          font-weight: 500 !important;
          letter-spacing: 0.1em;
          color: #e2717c !important;
          display: block !important;
          padding-top: 10px !important; }
      .contact__form__btn {
        width: 100%;
        margin-top: 45px; }
      .contact__form__complete {
        position: relative;
        width: 860px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 2.0;
        letter-spacing: 0.05em;
        background-color: #F5F0E8;
        padding: 55px 60px 60px;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        margin: 0 auto; }
        .contact__form__complete .title_sp {
          padding-bottom: 40px; }
      .contact__form__bottom {
        position: relative;
        width: 100%;
        margin-top: 80px; }
        .contact__form__bottom p {
          text-align: center;
          font-size: 1.2rem; }
          .contact__form__bottom p br {
            display: none; }
          .contact__form__bottom p a {
            color: #534099; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .contact {
    position: relative;
    width: 100%; }
    .contact__desc {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .contact__desc p {
        font-size: 1.5rem;
        line-height: 2.0; }
        .contact__desc p img {
          width: 20px;
          padding: 0 8px 8px 0; }
      .contact__desc p:nth-child(n + 2) {
        margin-top: 25px; }
    .contact__form {
      position: relative;
      width: 90%;
      margin: 80px auto 0;
      background-color: #fff;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px;
      padding: 45px 45px; }
      .contact__form dl {
        color: #666;
        padding: 25px 3px;
        border-bottom: 1px dotted #D4CFC6; }
        .contact__form dl dt {
          position: relative;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          font-size: 1.5rem;
          font-weight: 500;
          padding-left: 14px;
          margin-bottom: 15px; }
          .contact__form dl dt img {
            width: 20px;
            padding-left: 8px; }
        .contact__form dl dt::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #534099;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
        .contact__form dl dd {
          flex: 1;
          font-size: 1.5rem;
          line-height: 2.0; }
      .contact__form dl:first-of-type {
        border-top: 1px dotted #D4CFC6; }
      .contact__form__check {
        width: 100%;
        padding: 30px 30px;
        background-color: #F5F0E8;
        margin-top: 30px;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px; }
        .contact__form__check p {
          width: 100%;
          text-align: center;
          font-size: 1.1rem;
          line-height: 1.8;
          margin: 0 auto 20px; }
          .contact__form__check p a {
            color: #534099;
            border-bottom: 1px solid #534099;
            font-weight: 500; }
        .contact__form__check .confirmArea {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          font-size: 1.5rem;
          font-weight: 500;
          background-color: #fff;
          border-radius: 40px;
          -webkit-border-radius: 40px;
          -moz-border-radius: 40px;
          padding: 20px 0; }
          .contact__form__check .confirmArea .wpcf7-acceptance {
            font-weight: 500;
            letter-spacing: 0.05em; }
        .contact__form__check .error {
          font-size: 1.1rem !important;
          font-weight: 500 !important;
          letter-spacing: 0.1em;
          color: #e2717c !important;
          display: block !important;
          padding-top: 10px !important; }
      .contact__form__btn {
        width: 100%;
        margin-top: 35px; }
      .contact__form__complete {
        position: relative;
        width: 100%;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 2.0;
        letter-spacing: 0.05em;
        background-color: #F5F0E8;
        padding: 45px 45px 45px;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px; }
        .contact__form__complete .title_sp {
          padding-bottom: 30px; }
      .contact__form__bottom {
        position: relative;
        width: 100%;
        margin-top: 80px; }
        .contact__form__bottom p {
          text-align: center;
          line-height: 1.8;
          font-size: 1.1rem; }
          .contact__form__bottom p a {
            color: #534099;
            font-weight: 500; } }
@media screen and (max-width: 767px) {
  .contact {
    position: relative;
    width: 100%; }
    .contact__desc {
      position: relative;
      width: 88%;
      margin: 80px auto 0; }
      .contact__desc p {
        text-align: justify;
        font-size: 1.5rem;
        line-height: 2.0; }
        .contact__desc p img {
          width: 20px;
          padding: 0 6px 8px 2px; }
      .contact__desc p:nth-child(n + 2) {
        margin-top: 20px; }
    .contact__form {
      position: relative;
      width: 100%;
      margin: 60px auto 0;
      background-color: #fff;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px;
      padding: 45px 0; }
      .contact__form dl {
        color: #666;
        padding: 20px 6%;
        border-bottom: 1px dotted #D4CFC6; }
        .contact__form dl dt {
          position: relative;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          font-size: 1.5rem;
          font-weight: 500;
          margin-bottom: 12px; }
          .contact__form dl dt img {
            width: 18px;
            padding-left: 6px; }
        .contact__form dl dd {
          font-size: 1.5rem;
          line-height: 2.0; }
      .contact__form dl:first-of-type {
        border-top: 1px dotted #D4CFC6; }
      .contact__form__check {
        width: 88%;
        padding: 20px 20px;
        background-color: #F5F0E8;
        border-radius: 18px;
        -webkit-border-radius: 18px;
        -moz-border-radius: 18px;
        margin: 25px auto 0; }
        .contact__form__check p {
          text-align: justify;
          font-size: 1.2rem;
          line-height: 1.8;
          margin-bottom: 15px;
          padding: 0 5px; }
          .contact__form__check p a {
            color: #534099;
            border-bottom: 1px solid #534099;
            font-weight: 500; }
        .contact__form__check .confirmArea {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          font-size: 1.5rem;
          font-weight: 500;
          background-color: #fff;
          padding: 15px 0;
          border-radius: 40px;
          -webkit-border-radius: 40px;
          -moz-border-radius: 40px; }
          .contact__form__check .confirmArea .wpcf7-acceptance {
            font-weight: 500;
            letter-spacing: 0.05em; }
            .contact__form__check .confirmArea .wpcf7-acceptance span.wpcf7-list-item {
              margin: 0; }
        .contact__form__check .error {
          font-size: 1rem !important;
          letter-spacing: 0.1em !important;
          font-weight: 500 !important;
          color: #e2717c !important;
          display: block !important;
          padding-top: 10px !important; }
      .contact__form__btn {
        width: 88%;
        margin: 35px auto 0; }
      .contact__form__complete {
        position: relative;
        width: 88%;
        text-align: justify;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 2.0;
        letter-spacing: 0.05em;
        background-color: #F5F0E8;
        padding: 30px 30px;
        border-radius: 18px;
        -webkit-border-radius: 18px;
        -moz-border-radius: 18px;
        margin: 0 auto; }
        .contact__form__complete .title_sp {
          padding-bottom: 25px; }
      .contact__form__bottom {
        position: relative;
        width: 88%;
        margin: 60px auto 0; }
        .contact__form__bottom p {
          text-align: justify;
          font-size: 1.1rem;
          line-height: 1.8; }
          .contact__form__bottom p br {
            display: none; }
          .contact__form__bottom p a {
            color: #534099;
            font-weight: 500; } }

@media screen and (min-width: 1024px) {
  .faq {
    position: relative;
    width: 100%; }
    .faq__container {
      position: relative;
      width: 860px;
      margin: 140px auto 0;
      background-color: #fff;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px;
      padding: 40px 60px 60px; }
      .faq__container ul {
        width: 100%; }
        .faq__container ul li {
          font-size: 1.5rem;
          border-bottom: 1px dotted #D4CFC6; }
          .faq__container ul li a {
            position: relative;
            display: block;
            width: 100%;
            color: #534099;
            padding: 20px 15px;
            background: url(../img/arrow_b03.svg) no-repeat right 5px center;
            background-size: 10px; }
          .faq__container ul li a::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
    .faq__list {
      position: relative;
      width: 860px;
      margin: 0 auto;
      padding-top: 120px; }
      .faq__list h2 {
        font-size: 3rem;
        color: #534099;
        font-weight: 700;
        background: url(../img/cat_foot_p.svg) no-repeat 0 center;
        background-size: 14px;
        padding-left: 22px;
        margin-bottom: 40px; }
      .faq__list .faq_list {
        width: 100%;
        border: 1px solid #D4CFC6;
        border-radius: 14px;
        -webkit-border-radius: 14px;
        -moz-border-radius: 14px;
        margin-top: 15px; }
        .faq__list .faq_list label {
          position: relative;
          width: 100%;
          display: block;
          cursor: pointer;
          letter-spacing: 0.1em;
          padding: 23px 70px 23px 30px;
          transition: all .8s; }
          .faq__list .faq_list label dl {
            position: relative;
            width: 100%;
            font-weight: 500;
            line-height: 1.7;
            color: #666;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            align-items: center; }
            .faq__list .faq_list label dl dt {
              width: 42px; }
              .faq__list .faq_list label dl dt span.question {
                display: block;
                width: 42px;
                height: 42px;
                background: url(../../img/faq_img/question_icon.svg) no-repeat 0 center;
                background-size: 100%; }
            .faq__list .faq_list label dl dd {
              flex: 1;
              font-size: 1.8rem;
              padding-left: 12px; }
        .faq__list .faq_list label:hover {
          background-color: #E8E2D9; }
        .faq__list .faq_list input {
          display: none; }
        .faq__list .faq_list__answer {
          height: 0;
          overflow-y: hidden;
          transition: height 0.4s ease, opacity 0.4s ease;
          opacity: 0; }
          .faq__list .faq_list__answer__detail {
            position: relative;
            background-color: #fff;
            margin: 1px 30px 30px !important;
            padding: 40px 40px;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
            .faq__list .faq_list__answer__detail h3 {
              color: #666;
              font-size: 1.8rem;
              font-weight: 500;
              line-height: 1.6;
              margin-top: 45px; }
            .faq__list .faq_list__answer__detail h4 {
              width: 340px;
              margin: 30px auto 0; }
            .faq__list .faq_list__answer__detail p {
              color: #666;
              font-size: 1.5rem;
              line-height: 2.0; }
              .faq__list .faq_list__answer__detail p img {
                width: 100%; }
            .faq__list .faq_list__answer__detail p:nth-child(n+2) {
              margin-top: 30px; }
        .faq__list .faq_list label::before {
          position: absolute;
          content: '';
          width: 40px;
          height: 40px;
          top: 50%;
          right: 10px;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          background: url(../../img/faq_img/open_icon.svg) no-repeat 0 0;
          background-size: 40px;
          padding-left: 10px;
          z-index: 3; }
        .faq__list .faq_list input:checked + label::before {
          background: url(../../img/faq_img/close_icon.svg) no-repeat 0 0;
          background-size: 40px; }
        .faq__list .faq_list span.question {
          color: #534099; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .faq {
    position: relative;
    width: 100%; }
    .faq__container {
      position: relative;
      width: 90%;
      margin: 120px auto 0;
      background-color: #fff;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px;
      padding: 20px 40px 40px; }
      .faq__container ul {
        width: 100%; }
        .faq__container ul li {
          font-size: 1.5rem;
          border-bottom: 1px dotted #D4CFC6; }
          .faq__container ul li a {
            position: relative;
            display: block;
            width: 100%;
            color: #534099;
            padding: 20px 15px;
            background: url(../img/arrow_b03.svg) no-repeat right 5px center;
            background-size: 10px; }
          .faq__container ul li a::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
    .faq__list {
      position: relative;
      width: 90%;
      padding-top: 100px;
      margin: 0 auto; }
      .faq__list h2 {
        font-size: 2.8rem;
        color: #534099;
        font-weight: 700;
        line-height: 1.7;
        background: url(../img/cat_foot_p.svg) no-repeat 0 18px;
        background-size: 14px;
        padding-left: 22px;
        margin-bottom: 30px; }
      .faq__list .faq_list {
        width: 100%;
        border: 1px solid #D4CFC6;
        border-radius: 14px;
        -webkit-border-radius: 14px;
        -moz-border-radius: 14px;
        margin: 12px auto 0; }
        .faq__list .faq_list label {
          position: relative;
          width: 100%;
          display: block;
          cursor: pointer;
          letter-spacing: 0.1em;
          padding: 20px 60px 20px 20px;
          transition: all .8s; }
          .faq__list .faq_list label dl {
            position: relative;
            width: 100%;
            color: #666;
            font-weight: 500;
            line-height: 1.7;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            align-items: center; }
            .faq__list .faq_list label dl dt {
              width: 38px; }
              .faq__list .faq_list label dl dt span.question {
                display: block;
                width: 38px;
                height: 38px;
                background: url(../../img/faq_img/question_icon.svg) no-repeat 0 center;
                background-size: 100%; }
            .faq__list .faq_list label dl dd {
              flex: 1;
              font-size: 1.6rem;
              padding-left: 12px; }
        .faq__list .faq_list input {
          display: none; }
        .faq__list .faq_list__answer {
          height: 0;
          overflow-y: hidden;
          transition: height 0.4s ease, opacity 0.4s ease;
          opacity: 0; }
          .faq__list .faq_list__answer__detail {
            position: relative;
            background-color: #fff;
            margin: 0 15px 15px !important;
            padding: 30px 35px;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px; }
            .faq__list .faq_list__answer__detail h3 {
              color: #666;
              font-size: 1.6rem;
              font-weight: 500;
              line-height: 1.6; }
            .faq__list .faq_list__answer__detail h4 {
              width: 340px;
              margin: 25px auto 0; }
            .faq__list .faq_list__answer__detail p {
              color: #666;
              font-size: 1.5rem;
              line-height: 2.0; }
              .faq__list .faq_list__answer__detail p img {
                width: 100%; }
            .faq__list .faq_list__answer__detail p:nth-child(n+2) {
              margin-top: 25px; }
        .faq__list .faq_list label::before {
          position: absolute;
          content: '';
          width: 36px;
          height: 36px;
          top: 50%;
          right: 8px;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          background: url(../../img/faq_img/open_icon.svg) no-repeat 0 0;
          background-size: 36px;
          padding-left: 10px;
          z-index: 3; }
        .faq__list .faq_list input:checked + label::before {
          background: url(../../img/faq_img/close_icon.svg) no-repeat 0 0;
          background-size: 36px; }
        .faq__list .faq_list span.question {
          color: #534099; } }
@media screen and (max-width: 767px) {
  .faq {
    position: relative;
    width: 100%; }
    .faq__container {
      position: relative;
      width: 88%;
      margin: 80px auto 0;
      background-color: #fff;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px;
      padding: 10px 25px 25px; }
      .faq__container ul {
        width: 100%; }
        .faq__container ul li {
          font-size: 1.5rem;
          border-bottom: 1px dotted #D4CFC6; }
          .faq__container ul li a {
            position: relative;
            display: block;
            width: 100%;
            color: #534099;
            line-height: 1.8;
            padding: 15px 30px 15px 0;
            background: url(../img/arrow_b03.svg) no-repeat right 5px center;
            background-size: 10px; }
    .faq__list {
      position: relative;
      width: 88%;
      padding-top: 80px;
      margin: 0 auto; }
      .faq__list h2 {
        font-size: 1.8rem;
        color: #534099;
        line-height: 1.8;
        font-weight: 700;
        background: url(../img/cat_foot_p.svg) no-repeat 0 10px;
        background-size: 12px;
        padding-left: 18px;
        margin-bottom: 20px; }
      .faq__list .faq_list {
        width: 100%;
        border: 1px solid #D4CFC6;
        margin: 12px auto 0;
        border-radius: 12px;
        -webkit-border-radius: 12px;
        -moz-border-radius: 12px; }
        .faq__list .faq_list label {
          position: relative;
          width: 100%;
          display: block;
          padding: 15px 50px 15px 15px;
          transition: all .8s; }
          .faq__list .faq_list label dl {
            position: relative;
            width: 100%;
            font-size: 1.5rem;
            font-weight: 500;
            line-height: 1.7;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            align-items: center; }
            .faq__list .faq_list label dl dt {
              width: 32px; }
              .faq__list .faq_list label dl dt span.question {
                display: block;
                width: 32px;
                height: 32px;
                background: url(../../img/faq_img/question_icon.svg) no-repeat 0 center;
                background-size: 100%; }
            .faq__list .faq_list label dl dd {
              flex: 1;
              padding-left: 10px; }
        .faq__list .faq_list input {
          display: none; }
        .faq__list .faq_list__answer {
          height: 0;
          overflow-y: hidden;
          transition: height 0.4s ease, opacity 0.4s ease;
          opacity: 0; }
          .faq__list .faq_list__answer__detail {
            position: relative;
            background-color: #fff;
            margin: 0 10px 10px !important;
            padding: 20px 20px;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px; }
            .faq__list .faq_list__answer__detail h3 {
              color: #666;
              font-size: 1.6rem;
              font-weight: 500;
              line-height: 1.6; }
            .faq__list .faq_list__answer__detail h4 {
              width: 100%;
              margin-top: 20px; }
            .faq__list .faq_list__answer__detail p {
              color: #666;
              text-align: justify;
              font-size: 1.5rem;
              line-height: 2.0; }
              .faq__list .faq_list__answer__detail p img {
                width: 100%; }
            .faq__list .faq_list__answer__detail p:nth-child(n+2) {
              margin-top: 20px; }
        .faq__list .faq_list label::before {
          position: absolute;
          content: '';
          width: 30px;
          height: 30px;
          top: 50%;
          right: 0;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          background: url(../../img/faq_img/open_icon.svg) no-repeat 0 0;
          background-size: 30px;
          padding-left: 10px;
          z-index: 3; }
        .faq__list .faq_list input:checked + label::before {
          background: url(../../img/faq_img/close_icon.svg) no-repeat 0 0;
          background-size: 30px; }
        .faq__list .faq_list span.question {
          color: #534099; } }

@media screen and (min-width: 1024px) {
  .flow {
    position: relative;
    width: 100%;
    padding-right: 100px; }
    .flow__desc {
      position: relative;
      width: 90%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      margin: 140px auto 0; }
      .flow__desc__txt {
        position: relative;
        width: 50%;
        padding-right: 60px; }
        .flow__desc__txt h2 {
          font-size: 3rem;
          line-height: 1.8;
          font-weight: 700; }
        .flow__desc__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 30px; }
      .flow__desc__img {
        position: relative;
        width: 50%; }
        .flow__desc__img figure {
          position: relative;
          width: 100%; }
          .flow__desc__img figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .flow__desc__img figure figcaption {
            font-size: 1.1rem;
            text-align: right;
            padding-top: 10px; }
    .flow__step {
      position: relative;
      width: 90%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 120px auto 0; }
      .flow__step__left {
        position: relative;
        width: 260px; }
      .flow__step__right {
        position: relative;
        flex: 1;
        margin-top: -45px; }
        .flow__step__right__list {
          position: relative;
          width: 100%;
          margin-top: -55px;
          padding-top: 100px;
          z-index: 3; }
          .flow__step__right__list h6.flow_stomp {
            position: absolute;
            top: 47px;
            left: 50%;
            width: 62px;
            z-index: 100;
            transform: translateX(-50%);
            -webkit-transform: translateX(-50%); }
            .flow__step__right__list h6.flow_stomp img {
              width: 100%; }
          .flow__step__right__list .footprint-1,
          .flow__step__right__list .footprint-2 {
            opacity: 0;
            transform: translateY(0);
            transition: opacity 0.8s ease, transform 0.8s ease; }
          .flow__step__right__list .footprint-2 {
            transition-delay: 0.6s;
            /* 2つ目を少し遅らせる */ }
          .flow__step__right__list .flow_stomp.is-visible .footprint-1,
          .flow__step__right__list .flow_stomp.is-visible .footprint-2 {
            opacity: 1;
            transform: translateY(0); }
          .flow__step__right__list__sp {
            position: relative;
            width: 100%;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            border: 1px solid #D4CFC6;
            border-radius: 20px;
            -webkit-border-radius: 20px;
            -moz-border-radius: 20px;
            padding: 45px 45px; }
            .flow__step__right__list__sp h6.step_num {
              position: absolute;
              top: -20px;
              left: -20px;
              width: 100px;
              z-index: 3; }
              .flow__step__right__list__sp h6.step_num img {
                width: 100%; }
            .flow__step__right__list__sp__img {
              position: relative;
              width: 50%;
              padding-right: 40px; }
              .flow__step__right__list__sp__img figure {
                position: relative;
                width: 100%; }
                .flow__step__right__list__sp__img figure img {
                  width: 100%;
                  border-radius: 14px;
                  -webkit-border-radius: 14px;
                  -moz-border-radius: 14px; }
                .flow__step__right__list__sp__img figure figcaption {
                  font-size: 1.1rem;
                  padding-top: 10px; }
            .flow__step__right__list__sp__desc {
              position: relative;
              width: 50%; }
              .flow__step__right__list__sp__desc h3 {
                font-size: 2.2rem;
                color: #534099;
                line-height: 1.8;
                font-weight: 700; }
              .flow__step__right__list__sp__desc p {
                font-size: 1.5rem;
                line-height: 2.0;
                margin-top: 20px; }
        .flow__step__right .complete {
          background-color: #fff;
          border: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .flow {
    position: relative;
    width: 100%;
    padding-right: 90px; }
    .flow__desc {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .flow__desc__txt {
        position: relative;
        width: 100%; }
        .flow__desc__txt h2 {
          font-size: 2.8rem;
          line-height: 1.8;
          font-weight: 700; }
        .flow__desc__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 25px; }
      .flow__desc__img {
        display: none; }
    .flow__step {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .flow__step__left {
        display: none; }
      .flow__step__right {
        position: relative;
        width: 100%; }
        .flow__step__right__list {
          position: relative;
          width: 100%;
          z-index: 3; }
          .flow__step__right__list h6.flow_stomp {
            position: absolute;
            top: -46px;
            left: 50%;
            width: 52px;
            z-index: 100;
            transform: translateX(-50%);
            -webkit-transform: translateX(-50%); }
            .flow__step__right__list h6.flow_stomp img {
              width: 100%; }
          .flow__step__right__list .flow_stomp svg {
            width: 52px;
            height: 52px; }
          .flow__step__right__list .footprint-1,
          .flow__step__right__list .footprint-2 {
            opacity: 0;
            transform: translateY(0);
            transition: opacity 0.8s ease, transform 0.8s ease; }
          .flow__step__right__list .footprint-2 {
            transition-delay: 0.6s;
            /* 2つ目を少し遅らせる */ }
          .flow__step__right__list .flow_stomp.is-visible .footprint-1,
          .flow__step__right__list .flow_stomp.is-visible .footprint-2 {
            opacity: 1;
            transform: translateY(0); }
          .flow__step__right__list__sp {
            position: relative;
            width: 100%;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            border: 1px solid #D4CFC6;
            border-radius: 20px;
            -webkit-border-radius: 20px;
            -moz-border-radius: 20px;
            padding: 35px 35px; }
            .flow__step__right__list__sp h6.step_num {
              position: absolute;
              top: -20px;
              left: -20px;
              width: 80px;
              z-index: 3; }
              .flow__step__right__list__sp h6.step_num img {
                width: 100%; }
            .flow__step__right__list__sp__img {
              position: relative;
              width: 50%;
              padding-right: 35px; }
              .flow__step__right__list__sp__img figure {
                position: relative;
                width: 100%; }
                .flow__step__right__list__sp__img figure img {
                  width: 100%;
                  border-radius: 14px;
                  -webkit-border-radius: 14px;
                  -moz-border-radius: 14px; }
                .flow__step__right__list__sp__img figure figcaption {
                  font-size: 1rem;
                  padding-top: 10px; }
            .flow__step__right__list__sp__desc {
              position: relative;
              width: 50%; }
              .flow__step__right__list__sp__desc h3 {
                font-size: 1.6rem;
                color: #534099;
                line-height: 1.8;
                font-weight: 700; }
              .flow__step__right__list__sp__desc p {
                font-size: 1.5rem;
                line-height: 2.0;
                margin-top: 20px; }
        .flow__step__right__list:nth-child(n + 2) {
          margin-top: 40px; }
        .flow__step__right .complete {
          background-color: #fff;
          border: none; } }
@media screen and (max-width: 767px) {
  .flow {
    position: relative;
    width: 100%; }
    .flow__desc {
      position: relative;
      width: 88%;
      margin: 80px auto 0; }
      .flow__desc__txt {
        position: relative;
        width: 100%; }
        .flow__desc__txt h2 {
          font-size: 2.2rem;
          line-height: 1.8;
          font-weight: 700; }
        .flow__desc__txt p {
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .flow__desc__img {
        display: none; }
    .flow__step {
      position: relative;
      width: 88%;
      margin: 100px auto 0; }
      .flow__step__left {
        display: none; }
      .flow__step__right {
        position: relative;
        width: 100%; }
        .flow__step__right__list {
          position: relative;
          width: 100%;
          z-index: 3; }
          .flow__step__right__list h6.flow_stomp {
            position: absolute;
            top: -36px;
            left: 50%;
            width: 42px;
            z-index: 100;
            transform: translateX(-50%);
            -webkit-transform: translateX(-50%); }
            .flow__step__right__list h6.flow_stomp img {
              width: 100%; }
          .flow__step__right__list .flow_stomp svg {
            width: 42px;
            height: 42px; }
          .flow__step__right__list .footprint-1,
          .flow__step__right__list .footprint-2 {
            opacity: 0;
            transform: translateY(0);
            transition: opacity 0.8s ease, transform 0.8s ease; }
          .flow__step__right__list .footprint-2 {
            transition-delay: 0.6s;
            /* 2つ目を少し遅らせる */ }
          .flow__step__right__list .flow_stomp.is-visible .footprint-1,
          .flow__step__right__list .flow_stomp.is-visible .footprint-2 {
            opacity: 1;
            transform: translateY(0); }
          .flow__step__right__list__sp {
            position: relative;
            width: 100%;
            border: 1px solid #D4CFC6;
            border-radius: 18px;
            -webkit-border-radius: 18px;
            -moz-border-radius: 18px;
            padding: 25px 25px; }
            .flow__step__right__list__sp h6.step_num {
              position: absolute;
              top: -12px;
              left: -12px;
              width: 60px;
              z-index: 3; }
              .flow__step__right__list__sp h6.step_num img {
                width: 100%; }
            .flow__step__right__list__sp__img {
              position: relative;
              width: 100%;
              padding-bottom: 20px; }
              .flow__step__right__list__sp__img figure {
                position: relative;
                width: 100%; }
                .flow__step__right__list__sp__img figure img {
                  width: 100%;
                  border-radius: 12px;
                  -webkit-border-radius: 12px;
                  -moz-border-radius: 12px; }
                .flow__step__right__list__sp__img figure figcaption {
                  font-size: 1rem;
                  padding-top: 10px; }
            .flow__step__right__list__sp__desc {
              position: relative;
              width: 100%; }
              .flow__step__right__list__sp__desc h3 {
                font-size: 1.6rem;
                color: #534099;
                line-height: 1.8;
                font-weight: 700; }
              .flow__step__right__list__sp__desc p {
                text-align: justify;
                font-size: 1.5rem;
                line-height: 2.0;
                margin-top: 15px; }
        .flow__step__right__list:nth-child(n + 2) {
          margin-top: 30px; }
        .flow__step__right .complete {
          background-color: #fff;
          border: none; } }

@media screen and (min-width: 1024px) {
  .pet-life {
    position: relative;
    width: 100%;
    padding-right: 100px; }
    .pet-life__desc {
      position: relative;
      width: 90%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 140px auto 0; }
      .pet-life__desc__txt {
        position: relative;
        width: 50%;
        padding-right: 60px; }
        .pet-life__desc__txt h2 {
          font-size: 3rem;
          line-height: 1.8;
          font-weight: 700; }
        .pet-life__desc__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 30px; }
      .pet-life__desc__img {
        position: relative;
        width: 50%; }
        .pet-life__desc__img figure {
          position: relative;
          width: 100%; }
          .pet-life__desc__img figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .pet-life__desc__img figure figcaption {
            font-size: 1.1rem;
            text-align: right;
            padding-top: 10px; }
    .pet-life__point01 {
      position: relative;
      width: 90%;
      margin: 120px auto 0;
      background-color: #fff;
      padding: 60px 60px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .pet-life__point01__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 20px; }
        .pet-life__point01__title p {
          width: 420px; }
          .pet-life__point01__title p img {
            width: 100%; }
      .pet-life__point01__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        .pet-life__point01__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .pet-life__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .pet-life__point01__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .pet-life__point01__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .pet-life__point01__detail__txt {
          position: relative;
          width: 50%; }
          .pet-life__point01__detail__txt h3 {
            font-size: 2.2rem;
            color: #534099;
            font-weight: 700; }
          .pet-life__point01__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .pet-life__point01__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; }
    .pet-life__point02 {
      position: relative;
      width: 90%;
      margin: 45px auto 0;
      background-color: #fff;
      padding: 60px 60px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .pet-life__point02__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 20px; }
        .pet-life__point02__title p {
          width: 420px; }
          .pet-life__point02__title p img {
            width: 100%; }
      .pet-life__point02__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        .pet-life__point02__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .pet-life__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .pet-life__point02__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .pet-life__point02__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .pet-life__point02__detail__txt {
          position: relative;
          width: 50%; }
          .pet-life__point02__detail__txt h3 {
            font-size: 2.2rem;
            color: #534099;
            font-weight: 700; }
          .pet-life__point02__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .pet-life__point02__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; }
    .pet-life__desc02 {
      position: relative;
      width: 95%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-top: 140px; }
      .pet-life__desc02__txt {
        position: relative;
        width: 47%;
        padding-left: 60px; }
        .pet-life__desc02__txt h2 {
          font-size: 3rem;
          line-height: 1.8;
          font-weight: 700; }
        .pet-life__desc02__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 30px; }
      .pet-life__desc02__img {
        position: relative;
        width: 53%; }
        .pet-life__desc02__img figure {
          position: relative;
          width: 100%; }
          .pet-life__desc02__img figure img {
            width: 100%;
            border-radius: 0 14px 14px 0;
            -webkit-border-radius: 0 14px 14px 0;
            -moz-border-radius: 0 14px 14px 0; }
          .pet-life__desc02__img figure figcaption {
            font-size: 1.1rem;
            text-align: right;
            padding-top: 10px; }
    .pet-life__case {
      position: relative;
      width: 90%;
      margin: 120px auto 0;
      padding: 60px 60px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px;
      background-color: #E8E2D9; }
      .pet-life__case__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 20px; }
        .pet-life__case__title p {
          width: 420px; }
          .pet-life__case__title p img {
            width: 100%; }
      .pet-life__case__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        .pet-life__case__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .pet-life__case__detail__img figure {
            position: relative;
            width: 100%; }
            .pet-life__case__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .pet-life__case__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .pet-life__case__detail__txt {
          position: relative;
          width: 50%; }
          .pet-life__case__detail__txt h3 {
            font-size: 2.2rem;
            color: #534099;
            line-height: 1.8;
            font-weight: 700; }
          .pet-life__case__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .pet-life__case__detail__txt p {
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; }
          .pet-life__case__detail__txt h4 {
            max-width: 320px;
            margin-top: 30px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .pet-life {
    position: relative;
    width: 100%;
    padding-right: 90px; }
    .pet-life__desc {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .pet-life__desc__txt {
        position: relative;
        width: 100%;
        padding-bottom: 25px; }
        .pet-life__desc__txt h2 {
          font-size: 2.8rem;
          line-height: 1.7;
          font-weight: 700; }
        .pet-life__desc__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 25px; }
      .pet-life__desc__img {
        position: relative;
        width: 100%; }
        .pet-life__desc__img figure {
          position: relative;
          width: 100%; }
          .pet-life__desc__img figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .pet-life__desc__img figure figcaption {
            font-size: 1rem;
            text-align: right;
            padding-top: 10px; }
    .pet-life__point01 {
      position: relative;
      width: 90%;
      margin: 100px auto 0;
      background-color: #fff;
      padding: 45px 45px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .pet-life__point01__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 15px; }
        .pet-life__point01__title p {
          width: 360px; }
          .pet-life__point01__title p img {
            width: 100%; }
      .pet-life__point01__detail {
        position: relative;
        width: 100%; }
        .pet-life__point01__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .pet-life__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .pet-life__point01__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .pet-life__point01__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .pet-life__point01__detail__txt {
          position: relative;
          width: 100%; }
          .pet-life__point01__detail__txt h3 {
            font-size: 2rem;
            color: #534099;
            font-weight: 700; }
          .pet-life__point01__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .pet-life__point01__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; }
    .pet-life__point02 {
      position: relative;
      width: 90%;
      margin: 40px auto 0;
      background-color: #fff;
      padding: 45px 45px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .pet-life__point02__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 15px; }
        .pet-life__point02__title p {
          width: 360px; }
          .pet-life__point02__title p img {
            width: 100%; }
      .pet-life__point02__detail {
        position: relative;
        width: 100%; }
        .pet-life__point02__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .pet-life__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .pet-life__point02__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .pet-life__point02__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .pet-life__point02__detail__txt {
          position: relative;
          width: 100%; }
          .pet-life__point02__detail__txt h3 {
            font-size: 2rem;
            color: #534099;
            font-weight: 700; }
          .pet-life__point02__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .pet-life__point02__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; }
    .pet-life__desc02 {
      position: relative;
      width: 95%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-top: 120px; }
      .pet-life__desc02__txt {
        position: relative;
        width: 100%;
        padding-left: 5%;
        padding-top: 25px; }
        .pet-life__desc02__txt h2 {
          font-size: 2.8rem;
          line-height: 1.7;
          font-weight: 700; }
        .pet-life__desc02__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 25px; }
      .pet-life__desc02__img {
        position: relative;
        width: 100%; }
        .pet-life__desc02__img figure {
          position: relative;
          width: 100%; }
          .pet-life__desc02__img figure img {
            width: 100%;
            border-radius: 0 14px 14px 0;
            -webkit-border-radius: 0 14px 14px 0;
            -moz-border-radius: 0 14px 14px 0; }
          .pet-life__desc02__img figure figcaption {
            font-size: 1rem;
            text-align: right;
            padding-top: 10px; }
    .pet-life__case {
      position: relative;
      width: 90%;
      margin: 100px auto 0;
      background-color: #E8E2D9;
      padding: 45px 45px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .pet-life__case__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 15px; }
        .pet-life__case__title p {
          width: 360px; }
          .pet-life__case__title p img {
            width: 100%; }
      .pet-life__case__detail {
        position: relative;
        width: 100%; }
        .pet-life__case__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .pet-life__case__detail__img figure {
            position: relative;
            width: 100%; }
            .pet-life__case__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .pet-life__case__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .pet-life__case__detail__txt {
          position: relative;
          width: 100%; }
          .pet-life__case__detail__txt h3 {
            font-size: 2rem;
            color: #534099;
            line-height: 1.8;
            font-weight: 700; }
          .pet-life__case__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .pet-life__case__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; }
          .pet-life__case__detail__txt h4 {
            width: 320px;
            margin: 30px auto 0; } }
@media screen and (max-width: 767px) {
  .pet-life {
    position: relative;
    width: 100%; }
    .pet-life__desc {
      position: relative;
      width: 88%;
      margin: 80px auto 0; }
      .pet-life__desc__txt {
        position: relative;
        width: 100%;
        padding-bottom: 20px; }
        .pet-life__desc__txt h2 {
          font-size: 2.2rem;
          line-height: 1.8;
          font-weight: 700; }
        .pet-life__desc__txt p {
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .pet-life__desc__img {
        position: relative;
        width: 100%; }
        .pet-life__desc__img figure {
          position: relative;
          width: 100%; }
          .pet-life__desc__img figure img {
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px; }
          .pet-life__desc__img figure figcaption {
            font-size: 1rem;
            text-align: right;
            padding-top: 10px; }
    .pet-life__point01 {
      position: relative;
      width: 88%;
      margin: 100px auto 0;
      background-color: #fff;
      padding: 25px 25px;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .pet-life__point01__title {
        position: absolute;
        width: 100%;
        top: -15px;
        left: 0; }
        .pet-life__point01__title p {
          width: 200px; }
          .pet-life__point01__title p img {
            width: 100%; }
      .pet-life__point01__detail {
        position: relative;
        width: 100%; }
        .pet-life__point01__detail__img {
          position: relative;
          width: 100%; }
          .pet-life__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .pet-life__point01__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .pet-life__point01__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .pet-life__point01__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .pet-life__point01__detail__txt h3 {
            font-size: 1.8rem;
            color: #534099;
            font-weight: 700; }
          .pet-life__point01__detail__txt h5 {
            color: #534099;
            font-size: 1.5rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 8px; }
          .pet-life__point01__detail__txt p {
            color: #666;
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; }
    .pet-life__point02 {
      position: relative;
      width: 88%;
      margin: 35px auto 0;
      background-color: #fff;
      padding: 25px 25px;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .pet-life__point02__title {
        position: absolute;
        width: 100%;
        top: -15px;
        left: 0; }
        .pet-life__point02__title p {
          width: 200px; }
          .pet-life__point02__title p img {
            width: 100%; }
      .pet-life__point02__detail {
        position: relative;
        width: 100%; }
        .pet-life__point02__detail__img {
          position: relative;
          width: 100%; }
          .pet-life__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .pet-life__point02__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .pet-life__point02__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .pet-life__point02__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .pet-life__point02__detail__txt h3 {
            font-size: 1.8rem;
            color: #534099;
            font-weight: 700; }
          .pet-life__point02__detail__txt h5 {
            color: #534099;
            font-size: 1.5rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 8px; }
          .pet-life__point02__detail__txt p {
            color: #666;
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; }
    .pet-life__desc02 {
      position: relative;
      width: 94%;
      margin-top: 100px; }
      .pet-life__desc02__txt {
        position: relative;
        width: 100%;
        padding-left: 6%; }
        .pet-life__desc02__txt h2 {
          font-size: 2.2rem;
          line-height: 1.8;
          font-weight: 700; }
        .pet-life__desc02__txt p {
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .pet-life__desc02__img {
        position: relative;
        width: 100%;
        padding-bottom: 20px; }
        .pet-life__desc02__img figure {
          position: relative;
          width: 100%; }
          .pet-life__desc02__img figure img {
            width: 100%;
            border-radius: 0 12px 12px 0;
            -webkit-border-radius: 0 12px 12px 0;
            -moz-border-radius: 0 12px 12px 0; }
          .pet-life__desc02__img figure figcaption {
            font-size: 1rem;
            text-align: right;
            padding-top: 10px; }
    .pet-life__case {
      position: relative;
      width: 88%;
      margin: 100px auto 0;
      background-color: #E8E2D9;
      padding: 30px 30px;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .pet-life__case__title {
        position: absolute;
        width: 100%;
        top: -15px;
        left: 0; }
        .pet-life__case__title p {
          width: 200px; }
          .pet-life__case__title p img {
            width: 100%; }
      .pet-life__case__detail {
        position: relative;
        width: 100%; }
        .pet-life__case__detail__img {
          position: relative;
          width: 100%; }
          .pet-life__case__detail__img figure {
            position: relative;
            width: 100%; }
            .pet-life__case__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .pet-life__case__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .pet-life__case__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .pet-life__case__detail__txt h3 {
            font-size: 1.8rem;
            line-height: 1.6;
            color: #534099;
            font-weight: 700; }
          .pet-life__case__detail__txt h5 {
            color: #534099;
            font-size: 1.5rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 8px; }
          .pet-life__case__detail__txt p {
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; }
          .pet-life__case__detail__txt h4 {
            width: 100%;
            margin-top: 20px; } }

@media screen and (min-width: 1024px) {
  .concept {
    position: relative;
    width: 100%;
    padding-right: 100px; }
    .concept__desc {
      position: relative;
      width: 90%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      margin: 140px auto 0; }
      .concept__desc__txt {
        position: relative;
        width: 50%;
        padding-right: 60px; }
        .concept__desc__txt h2 {
          font-size: 3rem;
          line-height: 1.8;
          font-weight: 700; }
        .concept__desc__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 30px; }
      .concept__desc__img {
        position: relative;
        width: 50%; }
        .concept__desc__img figure {
          position: relative;
          width: 100%; }
          .concept__desc__img figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .concept__desc__img figure figcaption {
            font-size: 1.1rem;
            text-align: right;
            padding-top: 10px; }
    .concept__point01 {
      position: relative;
      width: 90%;
      margin: 120px auto 0;
      background-color: #fff;
      padding: 60px 60px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .concept__point01__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 20px; }
        .concept__point01__title p {
          width: 648px; }
          .concept__point01__title p img {
            width: 100%; }
      .concept__point01__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        .concept__point01__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .concept__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .concept__point01__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .concept__point01__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .concept__point01__detail__txt {
          position: relative;
          width: 50%; }
          .concept__point01__detail__txt h3 {
            font-size: 2.2rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .concept__point01__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .concept__point01__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; }
          .concept__point01__detail__txt dl {
            color: #666;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            border-bottom: 1px dotted #D4CFC6;
            padding: 20px 2px; }
            .concept__point01__detail__txt dl dt {
              position: relative;
              width: 200px;
              font-size: 1.4rem;
              font-weight: 700;
              padding-left: 2px; }
            .concept__point01__detail__txt dl dd {
              flex: 1;
              font-size: 1.5rem;
              line-height: 2.0; }
          .concept__point01__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 30px; }
          .concept__point01__detail__txt h4 {
            max-width: 320px;
            margin-top: 30px; }
    .concept__point02 {
      position: relative;
      width: 90%;
      margin: 45px auto 0;
      background-color: #fff;
      padding: 60px 60px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .concept__point02__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 20px; }
        .concept__point02__title p {
          width: 648px; }
          .concept__point02__title p img {
            width: 100%; }
      .concept__point02__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        .concept__point02__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .concept__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .concept__point02__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .concept__point02__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .concept__point02__detail__txt {
          position: relative;
          width: 50%; }
          .concept__point02__detail__txt h3 {
            font-size: 2.2rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .concept__point02__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .concept__point02__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; }
          .concept__point02__detail__txt dl {
            color: #666;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            border-bottom: 1px dotted #D4CFC6;
            padding: 20px 2px; }
            .concept__point02__detail__txt dl dt {
              position: relative;
              width: 200px;
              font-size: 1.4rem;
              font-weight: 700;
              padding-left: 2px; }
            .concept__point02__detail__txt dl dd {
              flex: 1;
              font-size: 1.5rem;
              line-height: 2.0; }
          .concept__point02__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 30px; }
          .concept__point02__detail__txt h4 {
            max-width: 320px;
            margin-top: 30px; }
    .concept__point03 {
      position: relative;
      width: 90%;
      margin: 45px auto 0;
      background-color: #fff;
      padding: 60px 60px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .concept__point03__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 20px; }
        .concept__point03__title p {
          width: 648px; }
          .concept__point03__title p img {
            width: 100%; }
      .concept__point03__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        align-items: center; }
        .concept__point03__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .concept__point03__detail__img figure {
            position: relative;
            width: 100%; }
            .concept__point03__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .concept__point03__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .concept__point03__detail__txt {
          position: relative;
          width: 50%; }
          .concept__point03__detail__txt h3 {
            font-size: 2.2rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .concept__point03__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .concept__point03__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; }
          .concept__point03__detail__txt dl {
            color: #666;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            border-bottom: 1px dotted #D4CFC6;
            padding: 20px 2px; }
            .concept__point03__detail__txt dl dt {
              position: relative;
              width: 200px;
              font-size: 1.4rem;
              font-weight: 700;
              padding-left: 2px; }
            .concept__point03__detail__txt dl dd {
              flex: 1;
              font-size: 1.5rem;
              line-height: 2.0; }
          .concept__point03__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 30px; }
          .concept__point03__detail__txt h4 {
            max-width: 320px;
            margin-top: 30px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .concept {
    position: relative;
    width: 100%;
    padding-right: 90px; }
    .concept__desc {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .concept__desc__txt {
        position: relative;
        width: 100%;
        padding-bottom: 25px; }
        .concept__desc__txt h2 {
          font-size: 2.8rem;
          line-height: 1.7;
          font-weight: 700; }
        .concept__desc__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 25px; }
      .concept__desc__img {
        position: relative;
        width: 100%; }
        .concept__desc__img figure {
          position: relative;
          width: 100%; }
          .concept__desc__img figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .concept__desc__img figure figcaption {
            font-size: 1rem;
            text-align: right;
            padding-top: 10px; }
    .concept__point01 {
      position: relative;
      width: 90%;
      margin: 100px auto 0;
      background-color: #fff;
      padding: 45px 45px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .concept__point01__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 15px; }
        .concept__point01__title p {
          width: 560px; }
          .concept__point01__title p img {
            width: 100%; }
      .concept__point01__detail {
        position: relative;
        width: 100%; }
        .concept__point01__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .concept__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .concept__point01__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .concept__point01__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .concept__point01__detail__txt {
          position: relative;
          width: 100%; }
          .concept__point01__detail__txt h3 {
            font-size: 2rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .concept__point01__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .concept__point01__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; }
          .concept__point01__detail__txt h4 {
            width: 320px;
            margin: 30px auto 0; }
          .concept__point01__detail__txt dl {
            color: #666;
            border-bottom: 1px dotted #D4CFC6;
            padding: 20px 2px; }
            .concept__point01__detail__txt dl dt {
              position: relative;
              font-size: 1.3rem;
              font-weight: 700;
              margin-bottom: 10px; }
            .concept__point01__detail__txt dl dd {
              font-size: 1.5rem;
              line-height: 2.0; }
              .concept__point01__detail__txt dl dd br {
                display: none; }
          .concept__point01__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 25px; }
    .concept__point02 {
      position: relative;
      width: 90%;
      margin: 40px auto 0;
      background-color: #fff;
      padding: 45px 45px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .concept__point02__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 15px; }
        .concept__point02__title p {
          width: 560px; }
          .concept__point02__title p img {
            width: 100%; }
      .concept__point02__detail {
        position: relative;
        width: 100%; }
        .concept__point02__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .concept__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .concept__point02__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .concept__point02__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .concept__point02__detail__txt {
          position: relative;
          width: 100%; }
          .concept__point02__detail__txt h3 {
            font-size: 2rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .concept__point02__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .concept__point02__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; }
          .concept__point02__detail__txt h4 {
            width: 320px;
            margin: 30px auto 0; }
          .concept__point02__detail__txt dl {
            color: #666;
            border-bottom: 1px dotted #D4CFC6;
            padding: 20px 2px; }
            .concept__point02__detail__txt dl dt {
              position: relative;
              font-size: 1.3rem;
              font-weight: 700;
              margin-bottom: 10px; }
            .concept__point02__detail__txt dl dd {
              font-size: 1.5rem;
              line-height: 2.0; }
              .concept__point02__detail__txt dl dd br {
                display: none; }
          .concept__point02__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 25px; }
    .concept__point03 {
      position: relative;
      width: 90%;
      margin: 40px auto 0;
      background-color: #fff;
      padding: 45px 45px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .concept__point03__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 15px; }
        .concept__point03__title p {
          width: 560px; }
          .concept__point03__title p img {
            width: 100%; }
      .concept__point03__detail {
        position: relative;
        width: 100%; }
        .concept__point03__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .concept__point03__detail__img figure {
            position: relative;
            width: 100%; }
            .concept__point03__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .concept__point03__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .concept__point03__detail__txt {
          position: relative;
          width: 100%; }
          .concept__point03__detail__txt h3 {
            font-size: 2rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .concept__point03__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .concept__point03__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; }
          .concept__point03__detail__txt h4 {
            width: 320px;
            margin: 30px auto 0; }
          .concept__point03__detail__txt dl {
            color: #666;
            border-bottom: 1px dotted #D4CFC6;
            padding: 20px 2px; }
            .concept__point03__detail__txt dl dt {
              position: relative;
              font-size: 1.3rem;
              font-weight: 700;
              margin-bottom: 10px; }
            .concept__point03__detail__txt dl dd {
              font-size: 1.5rem;
              line-height: 2.0; }
              .concept__point03__detail__txt dl dd br {
                display: none; }
          .concept__point03__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 25px; } }
@media screen and (max-width: 767px) {
  .concept {
    position: relative;
    width: 100%; }
    .concept__desc {
      position: relative;
      width: 88%;
      margin: 80px auto 0; }
      .concept__desc__txt {
        position: relative;
        width: 100%;
        padding-bottom: 20px; }
        .concept__desc__txt h2 {
          font-size: 2.2rem;
          line-height: 1.8;
          font-weight: 700; }
        .concept__desc__txt p {
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .concept__desc__img {
        position: relative;
        width: 100%; }
        .concept__desc__img figure {
          position: relative;
          width: 100%; }
          .concept__desc__img figure img {
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px; }
          .concept__desc__img figure figcaption {
            font-size: 1rem;
            text-align: right;
            padding-top: 10px; }
    .concept__point01 {
      position: relative;
      width: 88%;
      margin: 100px auto 0;
      background-color: #fff;
      padding: 25px 25px;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .concept__point01__title {
        position: absolute;
        width: 100%;
        top: -15px;
        left: 0; }
        .concept__point01__title p {
          width: 90%; }
          .concept__point01__title p img {
            width: 100%; }
      .concept__point01__detail {
        position: relative;
        width: 100%; }
        .concept__point01__detail__img {
          position: relative;
          width: 100%; }
          .concept__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .concept__point01__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .concept__point01__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .concept__point01__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .concept__point01__detail__txt h3 {
            font-size: 1.8rem;
            color: #534099;
            line-height: 1.7;
            font-weight: 700; }
          .concept__point01__detail__txt h5 {
            color: #534099;
            font-size: 1.5rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 8px; }
          .concept__point01__detail__txt p {
            color: #666;
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; }
          .concept__point01__detail__txt h4 {
            width: 100%;
            margin-top: 20px; }
          .concept__point01__detail__txt dl {
            color: #666;
            border-bottom: 1px dotted #D4CFC6;
            padding: 15px 2px; }
            .concept__point01__detail__txt dl dt {
              position: relative;
              font-size: 1.3rem;
              font-weight: 700;
              margin-bottom: 8px; }
            .concept__point01__detail__txt dl dd {
              text-align: justify;
              font-size: 1.5rem;
              line-height: 1.8; }
          .concept__point01__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 15px; }
    .concept__point02 {
      position: relative;
      width: 88%;
      margin: 35px auto 0;
      background-color: #fff;
      padding: 25px 25px;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .concept__point02__title {
        position: absolute;
        width: 100%;
        top: -15px;
        left: 0; }
        .concept__point02__title p {
          width: 90%; }
          .concept__point02__title p img {
            width: 100%; }
      .concept__point02__detail {
        position: relative;
        width: 100%; }
        .concept__point02__detail__img {
          position: relative;
          width: 100%; }
          .concept__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .concept__point02__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .concept__point02__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .concept__point02__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .concept__point02__detail__txt h3 {
            font-size: 1.8rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .concept__point02__detail__txt h5 {
            color: #534099;
            font-size: 1.5rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 8px; }
          .concept__point02__detail__txt p {
            color: #666;
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; }
          .concept__point02__detail__txt h4 {
            width: 100%;
            margin-top: 20px; }
          .concept__point02__detail__txt dl {
            color: #666;
            border-bottom: 1px dotted #D4CFC6;
            padding: 15px 2px; }
            .concept__point02__detail__txt dl dt {
              position: relative;
              font-size: 1.3rem;
              font-weight: 700;
              margin-bottom: 8px; }
            .concept__point02__detail__txt dl dd {
              text-align: justify;
              font-size: 1.5rem;
              line-height: 1.8; }
          .concept__point02__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 15px; }
    .concept__point03 {
      position: relative;
      width: 88%;
      margin: 35px auto 0;
      background-color: #fff;
      padding: 25px 25px;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .concept__point03__title {
        position: absolute;
        width: 100%;
        top: -15px;
        left: 0; }
        .concept__point03__title p {
          width: 90%; }
          .concept__point03__title p img {
            width: 100%; }
      .concept__point03__detail {
        position: relative;
        width: 100%; }
        .concept__point03__detail__img {
          position: relative;
          width: 100%; }
          .concept__point03__detail__img figure {
            position: relative;
            width: 100%; }
            .concept__point03__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .concept__point03__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .concept__point03__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .concept__point03__detail__txt h3 {
            font-size: 1.8rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .concept__point03__detail__txt h5 {
            color: #534099;
            font-size: 1.5rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 8px; }
          .concept__point03__detail__txt p {
            color: #666;
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; }
          .concept__point03__detail__txt h4 {
            width: 100%;
            margin-top: 20px; }
          .concept__point03__detail__txt dl {
            color: #666;
            border-bottom: 1px dotted #D4CFC6;
            padding: 15px 2px; }
            .concept__point03__detail__txt dl dt {
              position: relative;
              font-size: 1.3rem;
              font-weight: 700;
              margin-bottom: 8px; }
            .concept__point03__detail__txt dl dd {
              text-align: justify;
              font-size: 1.5rem;
              line-height: 1.8; }
          .concept__point03__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 15px; } }

@media screen and (min-width: 1024px) {
  .performance {
    position: relative;
    width: 100%;
    padding-right: 100px; }
    .performance__desc {
      position: relative;
      width: 90%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 140px auto 0; }
      .performance__desc__txt {
        position: relative;
        width: 50%;
        padding-right: 60px; }
        .performance__desc__txt h2 {
          font-size: 3rem;
          line-height: 1.8;
          font-weight: 700; }
        .performance__desc__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 30px; }
      .performance__desc__img {
        position: relative;
        width: 50%; }
        .performance__desc__img figure {
          position: relative;
          width: 100%; }
          .performance__desc__img figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .performance__desc__img figure figcaption {
            font-size: 1.1rem;
            text-align: right;
            padding-top: 10px; }
    .performance__point01 {
      position: relative;
      width: 90%;
      margin: 160px auto 0;
      background-color: #fff;
      padding: 60px 0;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .performance__point01__title {
        position: absolute;
        width: 100%;
        top: -82px;
        left: 20px; }
        .performance__point01__title p {
          width: 675px; }
          .performance__point01__title p img {
            width: 100%; }
      .performance__point01__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 60px 60px; }
        .performance__point01__desc h3 {
          font-size: 2.2rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .performance__point01__desc p {
          color: #666;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .performance__point01__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 60px 60px 0; }
        .performance__point01__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .performance__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .performance__point01__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .performance__point01__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .performance__point01__detail__txt {
          position: relative;
          width: 50%; }
          .performance__point01__detail__txt h5 {
            color: #7A7068;
            font-size: 1.8rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 11px;
            background-size: 12px;
            padding-left: 20px; }
          .performance__point01__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; }
    .performance__point02 {
      position: relative;
      width: 90%;
      margin: 45px auto 0;
      background-color: #fff;
      padding: 60px 0;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .performance__point02__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 20px; }
        .performance__point02__title p {
          width: 675px; }
          .performance__point02__title p img {
            width: 100%; }
      .performance__point02__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 60px 60px; }
        .performance__point02__desc h3 {
          font-size: 2.2rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .performance__point02__desc p {
          color: #666;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .performance__point02__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        align-items: center;
        padding: 0 60px; }
        .performance__point02__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .performance__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .performance__point02__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .performance__point02__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .performance__point02__detail__txt {
          position: relative;
          width: 50%; }
          .performance__point02__detail__txt h3 {
            font-size: 2.2rem;
            color: #534099;
            line-height: 1.8;
            font-weight: 700; }
          .performance__point02__detail__txt h5 {
            color: #7A7068;
            font-size: 1.8rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 11px;
            background-size: 12px;
            padding-left: 20px; }
          .performance__point02__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; }
    .performance__point03 {
      position: relative;
      width: 90%;
      margin: 45px auto 0;
      background-color: #fff;
      padding: 60px 60px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .performance__point03__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 20px; }
        .performance__point03__title p {
          width: 675px; }
          .performance__point03__title p img {
            width: 100%; }
      .performance__point03__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        align-items: center; }
        .performance__point03__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .performance__point03__detail__img figure {
            position: relative;
            width: 100%; }
            .performance__point03__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .performance__point03__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .performance__point03__detail__txt {
          position: relative;
          width: 50%; }
          .performance__point03__detail__txt h3 {
            font-size: 2.2rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .performance__point03__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .performance__point03__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; }
          .performance__point03__detail__txt dl {
            color: #666;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            border-bottom: 1px dotted #D4CFC6;
            padding: 20px 2px; }
            .performance__point03__detail__txt dl dt {
              position: relative;
              width: 200px;
              font-size: 1.4rem;
              font-weight: 700;
              padding-left: 2px; }
            .performance__point03__detail__txt dl dd {
              flex: 1;
              font-size: 1.5rem;
              line-height: 2.0; }
          .performance__point03__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 30px; }
          .performance__point03__detail__txt h4 {
            max-width: 320px;
            margin-top: 30px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .performance {
    position: relative;
    width: 100%;
    padding-right: 90px; }
    .performance__desc {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .performance__desc__txt {
        position: relative;
        width: 100%;
        padding-bottom: 25px; }
        .performance__desc__txt h2 {
          font-size: 2.8rem;
          line-height: 1.7;
          font-weight: 700; }
        .performance__desc__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 25px; }
      .performance__desc__img {
        position: relative;
        width: 100%; }
        .performance__desc__img figure {
          position: relative;
          width: 100%; }
          .performance__desc__img figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .performance__desc__img figure figcaption {
            font-size: 1rem;
            text-align: right;
            padding-top: 10px; }
    .performance__point01 {
      position: relative;
      width: 90%;
      margin: 140px auto 0;
      background-color: #fff;
      padding: 45px 0;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .performance__point01__title {
        position: absolute;
        width: 100%;
        top: -70px;
        left: 15px; }
        .performance__point01__title p {
          width: 580px; }
          .performance__point01__title p img {
            width: 100%; }
      .performance__point01__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 45px 45px; }
        .performance__point01__desc h3 {
          font-size: 2rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .performance__point01__desc p {
          color: #666;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .performance__point01__detail {
        position: relative;
        width: 100%;
        padding: 45px 45px 0; }
        .performance__point01__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .performance__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .performance__point01__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .performance__point01__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .performance__point01__detail__txt {
          position: relative;
          width: 100%; }
          .performance__point01__detail__txt h5 {
            color: #7A7068;
            font-size: 1.8rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 11px;
            background-size: 12px;
            padding-left: 20px; }
          .performance__point01__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; }
    .performance__point02 {
      position: relative;
      width: 90%;
      margin: 40px auto 0;
      background-color: #fff;
      padding: 45px 0;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .performance__point02__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 15px; }
        .performance__point02__title p {
          width: 580px; }
          .performance__point02__title p img {
            width: 100%; }
      .performance__point02__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 45px 45px; }
        .performance__point02__desc h3 {
          font-size: 2rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .performance__point02__desc p {
          color: #666;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .performance__point02__detail {
        position: relative;
        width: 100%;
        padding: 0 45px; }
        .performance__point02__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .performance__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .performance__point02__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .performance__point02__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .performance__point02__detail__txt {
          position: relative;
          width: 100%; }
          .performance__point02__detail__txt h3 {
            font-size: 2rem;
            color: #534099;
            line-height: 1.8;
            font-weight: 700; }
          .performance__point02__detail__txt h5 {
            color: #7A7068;
            font-size: 1.8rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 11px;
            background-size: 12px;
            padding-left: 20px; }
          .performance__point02__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; }
    .performance__point03 {
      position: relative;
      width: 90%;
      margin: 40px auto 0;
      background-color: #fff;
      padding: 45px 45px;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .performance__point03__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 15px; }
        .performance__point03__title p {
          width: 580px; }
          .performance__point03__title p img {
            width: 100%; }
      .performance__point03__detail {
        position: relative;
        width: 100%; }
        .performance__point03__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .performance__point03__detail__img figure {
            position: relative;
            width: 100%; }
            .performance__point03__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .performance__point03__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .performance__point03__detail__txt {
          position: relative;
          width: 100%; }
          .performance__point03__detail__txt h3 {
            font-size: 2rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .performance__point03__detail__txt h5 {
            color: #534099;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px; }
          .performance__point03__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; }
          .performance__point03__detail__txt h4 {
            width: 320px;
            margin: 30px auto 0; }
          .performance__point03__detail__txt dl {
            color: #666;
            border-bottom: 1px dotted #D4CFC6;
            padding: 20px 2px; }
            .performance__point03__detail__txt dl dt {
              position: relative;
              font-size: 1.3rem;
              font-weight: 700;
              margin-bottom: 10px; }
            .performance__point03__detail__txt dl dd {
              font-size: 1.5rem;
              line-height: 2.0; }
              .performance__point03__detail__txt dl dd br {
                display: none; }
          .performance__point03__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 25px; } }
@media screen and (max-width: 767px) {
  .performance {
    position: relative;
    width: 100%; }
    .performance__desc {
      position: relative;
      width: 88%;
      margin: 80px auto 0; }
      .performance__desc__txt {
        position: relative;
        width: 100%;
        padding-bottom: 20px; }
        .performance__desc__txt h2 {
          font-size: 2.2rem;
          line-height: 1.8;
          font-weight: 700; }
        .performance__desc__txt p {
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .performance__desc__img {
        position: relative;
        width: 100%; }
        .performance__desc__img figure {
          position: relative;
          width: 100%; }
          .performance__desc__img figure img {
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px; }
          .performance__desc__img figure figcaption {
            font-size: 1rem;
            text-align: right;
            padding-top: 10px; }
    .performance__point01 {
      position: relative;
      width: 88%;
      margin: 100px auto 0;
      background-color: #fff;
      padding: 25px 0;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .performance__point01__title {
        position: absolute;
        width: 100%;
        top: -43px;
        left: 0; }
        .performance__point01__title p {
          width: 90%; }
          .performance__point01__title p img {
            width: 100%; }
      .performance__point01__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 25px 25px; }
        .performance__point01__desc h3 {
          font-size: 1.8rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .performance__point01__desc p {
          color: #666;
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .performance__point01__detail {
        position: relative;
        width: 100%;
        padding: 25px 25px 0; }
        .performance__point01__detail__img {
          position: relative;
          width: 100%; }
          .performance__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .performance__point01__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .performance__point01__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .performance__point01__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .performance__point01__detail__txt h5 {
            color: #7A7068;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 8px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 9px;
            background-size: 10px;
            padding-left: 16px; }
          .performance__point01__detail__txt p {
            color: #666;
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; }
    .performance__point02 {
      position: relative;
      width: 88%;
      margin: 63px auto 0;
      background-color: #fff;
      padding: 25px 0;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .performance__point02__title {
        position: absolute;
        width: 100%;
        top: -43px;
        left: 0; }
        .performance__point02__title p {
          width: 90%; }
          .performance__point02__title p img {
            width: 100%; }
      .performance__point02__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 25px 25px; }
        .performance__point02__desc h3 {
          font-size: 1.8rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .performance__point02__desc p {
          color: #666;
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .performance__point02__detail {
        position: relative;
        width: 100%;
        padding: 0 25px; }
        .performance__point02__detail__img {
          position: relative;
          width: 100%; }
          .performance__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .performance__point02__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .performance__point02__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .performance__point02__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .performance__point02__detail__txt h3 {
            font-size: 1.8rem;
            color: #534099;
            line-height: 1.8;
            font-weight: 700; }
          .performance__point02__detail__txt h5 {
            color: #7A7068;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 8px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 9px;
            background-size: 10px;
            padding-left: 16px; }
          .performance__point02__detail__txt p {
            color: #666;
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; }
    .performance__point03 {
      position: relative;
      width: 88%;
      margin: 35px auto 0;
      background-color: #fff;
      padding: 25px 25px;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .performance__point03__title {
        position: absolute;
        width: 100%;
        top: -15px;
        left: 0; }
        .performance__point03__title p {
          width: 90%; }
          .performance__point03__title p img {
            width: 100%; }
      .performance__point03__detail {
        position: relative;
        width: 100%; }
        .performance__point03__detail__img {
          position: relative;
          width: 100%; }
          .performance__point03__detail__img figure {
            position: relative;
            width: 100%; }
            .performance__point03__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .performance__point03__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .performance__point03__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .performance__point03__detail__txt h3 {
            font-size: 1.8rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .performance__point03__detail__txt h5 {
            color: #534099;
            font-size: 1.5rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 8px; }
          .performance__point03__detail__txt p {
            color: #666;
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; }
          .performance__point03__detail__txt h4 {
            width: 100%;
            margin-top: 20px; }
          .performance__point03__detail__txt dl {
            color: #666;
            border-bottom: 1px dotted #D4CFC6;
            padding: 15px 2px; }
            .performance__point03__detail__txt dl dt {
              position: relative;
              font-size: 1.3rem;
              font-weight: 700;
              margin-bottom: 8px; }
            .performance__point03__detail__txt dl dd {
              text-align: justify;
              font-size: 1.5rem;
              line-height: 1.8; }
          .performance__point03__detail__txt dl:first-of-type {
            border-top: 1px dotted #D4CFC6;
            margin-top: 15px; } }

@media screen and (min-width: 1024px) {
  .storage {
    position: relative;
    width: 100%;
    padding-right: 100px; }
    .storage__desc {
      position: relative;
      width: 90%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      margin: 140px auto 0; }
      .storage__desc__txt {
        position: relative;
        width: 50%;
        padding-right: 60px; }
        .storage__desc__txt h2 {
          font-size: 3rem;
          line-height: 1.8;
          font-weight: 700; }
        .storage__desc__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 30px; }
      .storage__desc__img {
        position: relative;
        width: 50%; }
        .storage__desc__img figure {
          position: relative;
          width: 100%; }
          .storage__desc__img figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .storage__desc__img figure figcaption {
            font-size: 1.1rem;
            text-align: right;
            padding-top: 10px; }
    .storage__point01 {
      position: relative;
      width: 90%;
      margin: 120px auto 0;
      background-color: #fff;
      padding: 60px 0;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .storage__point01__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 20px; }
        .storage__point01__title p {
          width: 648px; }
          .storage__point01__title p img {
            width: 100%; }
      .storage__point01__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 60px 60px; }
        .storage__point01__desc h3 {
          font-size: 2.2rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .storage__point01__desc p {
          color: #666;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 30px; }
      .storage__point01__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 0 60px; }
        .storage__point01__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .storage__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .storage__point01__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .storage__point01__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .storage__point01__detail__txt {
          position: relative;
          width: 50%; }
          .storage__point01__detail__txt h3 {
            font-size: 2.2rem;
            line-height: 1.8;
            color: #534099;
            font-weight: 700; }
          .storage__point01__detail__txt h5 {
            color: #7A7068;
            font-size: 1.8rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 11px;
            background-size: 12px;
            padding-left: 20px; }
          .storage__point01__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; }
    .storage__point02 {
      position: relative;
      width: 90%;
      margin: 45px auto 0;
      background-color: #fff;
      padding: 60px 0;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .storage__point02__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 20px; }
        .storage__point02__title p {
          width: 648px; }
          .storage__point02__title p img {
            width: 100%; }
      .storage__point02__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 60px 60px; }
        .storage__point02__desc h3 {
          font-size: 2.2rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .storage__point02__desc p {
          color: #666;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 30px; }
      .storage__point02__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        align-items: center;
        padding: 0 60px; }
        .storage__point02__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .storage__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .storage__point02__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .storage__point02__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .storage__point02__detail__txt {
          position: relative;
          width: 50%; }
          .storage__point02__detail__txt h3 {
            font-size: 2.2rem;
            line-height: 1.8;
            color: #534099;
            font-weight: 700; }
          .storage__point02__detail__txt h5 {
            color: #7A7068;
            font-size: 1.8rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 11px;
            background-size: 12px;
            padding-left: 20px; }
          .storage__point02__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; }
    .storage__point03 {
      position: relative;
      width: 90%;
      margin: 45px auto 0;
      background-color: #fff;
      padding: 60px 0;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .storage__point03__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 20px; }
        .storage__point03__title p {
          width: 648px; }
          .storage__point03__title p img {
            width: 100%; }
      .storage__point03__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 60px 60px; }
        .storage__point03__desc h3 {
          font-size: 2.2rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .storage__point03__desc p {
          color: #666;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .storage__point03__detail {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 60px 60px 0; }
        .storage__point03__detail__img {
          position: relative;
          width: 50%;
          padding-right: 45px; }
          .storage__point03__detail__img figure {
            position: relative;
            width: 100%; }
            .storage__point03__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .storage__point03__detail__img figure figcaption {
              font-size: 1.1rem;
              padding-top: 10px; }
        .storage__point03__detail__txt {
          position: relative;
          width: 50%; }
          .storage__point03__detail__txt h3 {
            font-size: 2.2rem;
            line-height: 1.8;
            color: #534099;
            font-weight: 700; }
          .storage__point03__detail__txt h5 {
            color: #7A7068;
            font-size: 1.8rem;
            line-height: 1.8;
            font-weight: 700;
            background: url(../img/dog_foot_b.svg) no-repeat 0 11px;
            background-size: 12px;
            padding-left: 20px; }
          .storage__point03__detail__txt h5:nth-child(n + 2) {
            margin-top: 40px; }
          .storage__point03__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 30px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .storage {
    position: relative;
    width: 100%;
    padding-right: 90px; }
    .storage__desc {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .storage__desc__txt {
        position: relative;
        width: 100%;
        padding-bottom: 25px; }
        .storage__desc__txt h2 {
          font-size: 2.8rem;
          line-height: 1.7;
          font-weight: 700; }
        .storage__desc__txt p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 25px; }
      .storage__desc__img {
        position: relative;
        width: 100%; }
        .storage__desc__img figure {
          position: relative;
          width: 100%; }
          .storage__desc__img figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .storage__desc__img figure figcaption {
            font-size: 1rem;
            text-align: right;
            padding-top: 10px; }
    .storage__point01 {
      position: relative;
      width: 90%;
      margin: 100px auto 0;
      background-color: #fff;
      padding: 45px 0;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .storage__point01__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 15px; }
        .storage__point01__title p {
          width: 580px; }
          .storage__point01__title p img {
            width: 100%; }
      .storage__point01__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 45px 45px; }
        .storage__point01__desc h3 {
          font-size: 2rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .storage__point01__desc p {
          color: #666;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 25px; }
      .storage__point01__detail {
        position: relative;
        width: 100%;
        padding: 0 45px; }
        .storage__point01__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .storage__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .storage__point01__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .storage__point01__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .storage__point01__detail__txt {
          position: relative;
          width: 100%; }
          .storage__point01__detail__txt h3 {
            font-size: 2rem;
            color: #534099;
            line-height: 1.8;
            font-weight: 700; }
          .storage__point01__detail__txt h5 {
            color: #7A7068;
            font-size: 1.8rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 11px;
            background-size: 12px;
            padding-left: 20px; }
          .storage__point01__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; }
    .storage__point02 {
      position: relative;
      width: 90%;
      margin: 40px auto 0;
      background-color: #fff;
      padding: 45px 0;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .storage__point02__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 15px; }
        .storage__point02__title p {
          width: 580px; }
          .storage__point02__title p img {
            width: 100%; }
      .storage__point02__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 45px 45px; }
        .storage__point02__desc h3 {
          font-size: 2rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .storage__point02__desc p {
          color: #666;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 25px; }
      .storage__point02__detail {
        position: relative;
        width: 100%;
        padding: 0 45px; }
        .storage__point02__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .storage__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .storage__point02__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .storage__point02__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .storage__point02__detail__txt {
          position: relative;
          width: 100%; }
          .storage__point02__detail__txt h3 {
            font-size: 2rem;
            color: #534099;
            line-height: 1.8;
            font-weight: 700; }
          .storage__point02__detail__txt h5 {
            color: #7A7068;
            font-size: 1.8rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 10px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 11px;
            background-size: 12px;
            padding-left: 20px; }
          .storage__point02__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; }
    .storage__point03 {
      position: relative;
      width: 90%;
      margin: 40px auto 0;
      background-color: #fff;
      padding: 45px 0;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; }
      .storage__point03__title {
        position: absolute;
        width: 100%;
        top: -20px;
        left: 15px; }
        .storage__point03__title p {
          width: 580px; }
          .storage__point03__title p img {
            width: 100%; }
      .storage__point03__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 45px 45px; }
        .storage__point03__desc h3 {
          font-size: 2rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .storage__point03__desc p {
          color: #666;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .storage__point03__detail {
        position: relative;
        width: 100%;
        padding: 45px 45px 0; }
        .storage__point03__detail__img {
          position: relative;
          width: 100%;
          padding-bottom: 25px; }
          .storage__point03__detail__img figure {
            position: relative;
            width: 100%; }
            .storage__point03__detail__img figure img {
              width: 100%;
              border-radius: 14px;
              -webkit-border-radius: 14px;
              -moz-border-radius: 14px; }
            .storage__point03__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .storage__point03__detail__txt {
          position: relative;
          width: 100%; }
          .storage__point03__detail__txt h3 {
            font-size: 2rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .storage__point03__detail__txt h5 {
            color: #7A7068;
            font-size: 1.8rem;
            line-height: 1.8;
            font-weight: 700;
            background: url(../img/dog_foot_b.svg) no-repeat 0 11px;
            background-size: 12px;
            padding-left: 20px; }
          .storage__point03__detail__txt h5:nth-child(n + 2) {
            margin-top: 30px; }
          .storage__point03__detail__txt p {
            color: #666;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 25px; } }
@media screen and (max-width: 767px) {
  .storage {
    position: relative;
    width: 100%; }
    .storage__desc {
      position: relative;
      width: 88%;
      margin: 80px auto 0; }
      .storage__desc__txt {
        position: relative;
        width: 100%;
        padding-bottom: 20px; }
        .storage__desc__txt h2 {
          font-size: 2.2rem;
          line-height: 1.8;
          font-weight: 700; }
        .storage__desc__txt p {
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .storage__desc__img {
        position: relative;
        width: 100%; }
        .storage__desc__img figure {
          position: relative;
          width: 100%; }
          .storage__desc__img figure img {
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px; }
          .storage__desc__img figure figcaption {
            font-size: 1rem;
            text-align: right;
            padding-top: 10px; }
    .storage__point01 {
      position: relative;
      width: 88%;
      margin: 100px auto 0;
      background-color: #fff;
      padding: 25px 0;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .storage__point01__title {
        position: absolute;
        width: 100%;
        top: -15px;
        left: 0; }
        .storage__point01__title p {
          width: 90%; }
          .storage__point01__title p img {
            width: 100%; }
      .storage__point01__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 25px 25px; }
        .storage__point01__desc h3 {
          font-size: 1.8rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .storage__point01__desc p {
          color: #666;
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .storage__point01__detail {
        position: relative;
        width: 100%;
        padding: 0 25px; }
        .storage__point01__detail__img {
          position: relative;
          width: 100%; }
          .storage__point01__detail__img figure {
            position: relative;
            width: 100%; }
            .storage__point01__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .storage__point01__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .storage__point01__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .storage__point01__detail__txt h3 {
            font-size: 1.8rem;
            color: #534099;
            line-height: 1.8;
            font-weight: 700; }
          .storage__point01__detail__txt h5 {
            color: #7A7068;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 8px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 9px;
            background-size: 10px;
            padding-left: 16px; }
          .storage__point01__detail__txt p {
            color: #666;
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; }
    .storage__point02 {
      position: relative;
      width: 88%;
      margin: 35px auto 0;
      background-color: #fff;
      padding: 25px 0;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .storage__point02__title {
        position: absolute;
        width: 100%;
        top: -15px;
        left: 0; }
        .storage__point02__title p {
          width: 90%; }
          .storage__point02__title p img {
            width: 100%; }
      .storage__point02__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 25px 25px; }
        .storage__point02__desc h3 {
          font-size: 1.8rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .storage__point02__desc p {
          color: #666;
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 20px; }
      .storage__point02__detail {
        position: relative;
        width: 100%;
        padding: 0 25px; }
        .storage__point02__detail__img {
          position: relative;
          width: 100%; }
          .storage__point02__detail__img figure {
            position: relative;
            width: 100%; }
            .storage__point02__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .storage__point02__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .storage__point02__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .storage__point02__detail__txt h3 {
            font-size: 1.8rem;
            color: #534099;
            line-height: 1.8;
            font-weight: 700; }
          .storage__point02__detail__txt h5 {
            color: #7A7068;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            margin-top: 8px;
            background: url(../img/dog_foot_b.svg) no-repeat 0 9px;
            background-size: 10px;
            padding-left: 16px; }
          .storage__point02__detail__txt p {
            color: #666;
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; }
    .storage__point03 {
      position: relative;
      width: 88%;
      margin: 35px auto 0;
      background-color: #fff;
      padding: 25px 0;
      border-radius: 18px;
      -webkit-border-radius: 18px;
      -moz-border-radius: 18px; }
      .storage__point03__title {
        position: absolute;
        width: 100%;
        top: -15px;
        left: 0; }
        .storage__point03__title p {
          width: 90%; }
          .storage__point03__title p img {
            width: 100%; }
      .storage__point03__desc {
        position: relative;
        width: 100%;
        border-bottom: 1px dotted #D4CFC6;
        padding: 0 25px 25px; }
        .storage__point03__desc h3 {
          font-size: 1.8rem;
          color: #534099;
          line-height: 1.8;
          font-weight: 700; }
        .storage__point03__desc p {
          color: #666;
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 15px; }
      .storage__point03__detail {
        position: relative;
        width: 100%;
        padding: 25px 25px 0; }
        .storage__point03__detail__img {
          position: relative;
          width: 100%; }
          .storage__point03__detail__img figure {
            position: relative;
            width: 100%; }
            .storage__point03__detail__img figure img {
              width: 100%;
              border-radius: 12px;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px; }
            .storage__point03__detail__img figure figcaption {
              font-size: 1rem;
              padding-top: 10px; }
        .storage__point03__detail__txt {
          position: relative;
          width: 100%;
          padding-top: 20px; }
          .storage__point03__detail__txt h3 {
            font-size: 1.8rem;
            line-height: 1.7;
            color: #534099;
            font-weight: 700; }
          .storage__point03__detail__txt h5 {
            color: #7A7068;
            font-size: 1.6rem;
            line-height: 1.8;
            font-weight: 700;
            background: url(../img/dog_foot_b.svg) no-repeat 0 9px;
            background-size: 10px;
            padding-left: 16px; }
          .storage__point03__detail__txt h5:nth-child(n + 2) {
            margin-top: 25px; }
          .storage__point03__detail__txt p {
            color: #666;
            text-align: justify;
            font-size: 1.5rem;
            line-height: 2.0;
            margin-top: 20px; } }

@media screen and (min-width: 1024px) {
  .event {
    position: relative;
    width: 100%; }
    .event__archive {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .event__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 60px; }
        .event__archive__nav ul {
          position: relative;
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: center; }
          .event__archive__nav ul li {
            font-size: 1.4rem;
            margin: 0 10px; }
            .event__archive__nav ul li a, .event__archive__nav ul li a:link a:visited {
              width: 230px;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              -webkit-flex-wrap: wrap;
              -moz-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              justify-content: center;
              padding: 10px 0;
              border: 1px solid #D4CFC6;
              border-radius: 40px;
              -webkit-border-radius: 40px;
              -moz-border-radius: 40px;
              background: url(../img/arrow_b01.svg) no-repeat top 50% right 15px;
              background-size: 8px; }
            .event__archive__nav ul li a:hover {
              background-color: #fff; }
      .event__archive__list {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto; }
        .event__archive__list__sp {
          position: relative;
          width: 31.5%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: column;
          margin-right: 2.75%;
          background-color: #fff;
          border-radius: 14px;
          -webkit-border-radius: 14px;
          -moz-border-radius: 14px; }
          .event__archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px 14px 0 0;
            -webkit-border-radius: 14px 14px 0 0;
            -moz-border-radius: 14px 14px 0 0;
            overflow: hidden; }
            .event__archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .event__archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.2rem;
              font-weight: 500;
              color: #fff; }
            .event__archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .event__archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .event__archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .event__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 20px;
            padding-bottom: 30px; }
            .event__archive__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 700;
              margin: 0 30px; }
          .event__archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding: 18px 28px; }
            .event__archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.2rem;
              line-height: 1.0;
              font-weight: 500; }
              .event__archive__list__sp__option li.cat_style a, .event__archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #7A7068;
                background-color: #F5F0E8;
                padding: 8px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .event__archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .event__archive__list__sp__option li.time_style {
              font-size: 1.1rem;
              line-height: 1.6;
              padding-left: 20px; }
              .event__archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .event__archive__list__sp:nth-child(3n) {
          margin-right: 0; }
        .event__archive__list__sp:nth-child(n + 4) {
          margin-top: 40px; }
        .event__archive__list__none {
          position: relative;
          width: 100%;
          background-color: #fff;
          padding: 40px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px; }
          .event__archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
      .event__archive h4 {
        max-width: 340px;
        margin: 45px auto 0; }
    .event__detail {
      position: relative;
      width: 860px;
      margin: 80px auto 0; }
      .event__detail__title {
        position: relative;
        width: 100%; }
        .event__detail__title h1 {
          font-family: "Shippori Mincho B1", serif;
          font-size: 3.6rem;
          font-weight: 600;
          line-height: 1.5; }
        .event__detail__title p {
          font-family: "Jost", sans-serif;
          font-weight: 450;
          line-height: 1.0;
          letter-spacing: 0.1em;
          font-size: 1.2rem;
          background: url(../img/cat_foot_b.svg) no-repeat 0px 0px;
          background-size: 11px;
          padding-left: 17px;
          margin-bottom: 10px; }
        .event__detail__title__option {
          position: relative;
          width: 100%;
          margin-top: auto;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding: 20px 0 0; }
          .event__detail__title__option li.cat_style {
            position: relative;
            font-size: 1.2rem;
            line-height: 1.0;
            font-weight: 500; }
            .event__detail__title__option li.cat_style a, .event__detail__title__option li.cat_style a:link a:visited {
              position: relative;
              display: block;
              color: #534099;
              background-color: #fff;
              padding: 8px 20px;
              border-radius: 20px;
              -webkit-border-radius: 20px;
              -moz-border-radius: 20px; }
            .event__detail__title__option li.cat_style a:hover {
              color: #fff;
              background-color: #534099; }
          .event__detail__title__option li.time_style {
            font-size: 1.1rem; }
            .event__detail__title__option li.time_style img {
              width: 18px;
              padding-right: 6px;
              padding-bottom: 1px; }
      .event__detail__eyecatch {
        position: relative;
        width: 100%;
        margin-top: 60px; }
        .event__detail__eyecatch p {
          width: 100%; }
          .event__detail__eyecatch p img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
      .event__detail__contents {
        position: relative;
        width: 100%;
        margin-top: 60px; }
        .event__detail__contents h2 {
          font-size: 3rem;
          font-weight: 700;
          margin-top: 80px; }
        .event__detail__contents h3 {
          font-size: 2.2rem;
          color: #534099;
          font-weight: 700;
          background: url(../img/cat_foot_p.svg) no-repeat 0 center;
          background-size: 14px;
          padding-left: 22px;
          margin-top: 40px; }
        .event__detail__contents h4 {
          max-width: 340px;
          margin: 35px auto 0;
          padding-bottom: 10px; }
        .event__detail__contents p {
          font-size: 1.6rem;
          line-height: 2.0;
          margin-top: 30px; }
          .event__detail__contents p a, .event__detail__contents p a:link a:visited {
            color: #534099;
            border-bottom: 1px solid #534099; }
          .event__detail__contents p a:hover {
            color: #7A7068;
            border-bottom: 1px solid #7A7068; }
        .event__detail__contents dl {
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          margin-top: 35px;
          border-top: 1px solid #D4CFC6; }
          .event__detail__contents dl dt {
            position: relative;
            width: 30%;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            align-items: center;
            font-size: 1.4rem;
            font-weight: 700;
            padding: 20px 0 20px 14px;
            border-bottom: 1px solid #D4CFC6; }
          .event__detail__contents dl dt::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
          .event__detail__contents dl dd {
            width: 70%;
            font-size: 1.5rem;
            line-height: 2.0;
            padding: 20px 2px;
            border-bottom: 1px solid #D4CFC6; }
        .event__detail__contents ul.list_style01 {
          font-size: 1.6rem;
          margin-top: 35px; }
          .event__detail__contents ul.list_style01 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
          .event__detail__contents ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .event__detail__contents ul.list_style02 {
          color: #666;
          font-size: 1.6rem;
          margin-top: 40px;
          background-color: #fff;
          padding: 30px 45px 45px;
          border-radius: 14px;
          -webkit-border-radius: 14px;
          -moz-border-radius: 14px; }
          .event__detail__contents ul.list_style02 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
            .event__detail__contents ul.list_style02 li a, .event__detail__contents ul.list_style02 li a:link a:visited {
              position: relative;
              color: #534099; }
            .event__detail__contents ul.list_style02 li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #534099;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .event__detail__contents ul.list_style02 li a:hover {
              color: #534099; }
            .event__detail__contents ul.list_style02 li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .event__detail__contents ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .event__detail__contents figure {
          position: relative;
          width: 100%;
          margin-top: 40px; }
          .event__detail__contents figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .event__detail__contents figure figcaption {
            font-size: 1.1rem;
            text-align: center;
            padding-top: 12px; }
    .event__reserve {
      position: relative;
      width: 100%;
      margin: 0 auto;
      padding-top: 120px; }
      .event__reserve .title_sp {
        position: relative;
        width: 860px;
        margin: 0 auto; }
      .event__reserve__desc {
        position: relative;
        width: 860px;
        margin: 0 auto; }
        .event__reserve__desc p {
          font-size: 1.5rem;
          line-height: 2.0; }
      .event__reserve__end {
        position: relative;
        width: 860px;
        background-color: #fff;
        padding: 40px 0;
        border-radius: 100px;
        -webkit-border-radius: 100px;
        -moz-border-radius: 100px;
        margin: 80px auto 0; }
        .event__reserve__end p {
          text-align: center;
          font-size: 1.5rem; }
      .event__reserve__form {
        position: relative;
        width: 90%;
        margin: 80px auto 0;
        background-color: #fff;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        padding: 80px 0; }
        .event__reserve__form dl {
          width: 860px;
          margin: 0 auto;
          color: #666;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          padding: 25px 3px;
          border-bottom: 1px dotted #D4CFC6; }
          .event__reserve__form dl dt {
            position: relative;
            width: 220px;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            font-size: 1.5rem;
            font-weight: 500;
            padding-left: 14px; }
            .event__reserve__form dl dt img {
              width: 20px;
              padding-left: 8px; }
          .event__reserve__form dl dt::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
          .event__reserve__form dl dd {
            flex: 1;
            font-size: 1.5rem;
            line-height: 2.0; }
        .event__reserve__form dl:first-of-type {
          border-top: 1px dotted #D4CFC6; }
        .event__reserve__form__check {
          width: 860px;
          padding: 40px 40px;
          background-color: #F5F0E8;
          margin: 30px auto 0;
          border-radius: 20px;
          -webkit-border-radius: 20px;
          -moz-border-radius: 20px; }
          .event__reserve__form__check p {
            text-align: center;
            font-size: 1.3rem;
            line-height: 2.0;
            margin-bottom: 20px; }
            .event__reserve__form__check p a {
              color: #534099;
              border-bottom: 1px solid #534099;
              font-weight: 500; }
          .event__reserve__form__check .confirmArea {
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            font-weight: 500;
            background-color: #fff;
            border-radius: 40px;
            -webkit-border-radius: 40px;
            -moz-border-radius: 40px;
            padding: 20px 0; }
            .event__reserve__form__check .confirmArea .wpcf7-acceptance {
              font-weight: 500;
              letter-spacing: 0.05em; }
          .event__reserve__form__check .error {
            font-size: 1.1rem !important;
            font-weight: 500 !important;
            letter-spacing: 0.1em;
            color: #e2717c !important;
            display: block !important;
            padding-top: 10px !important; }
        .event__reserve__form__btn {
          width: 100%;
          margin-top: 45px; }
        .event__reserve__form__complete {
          position: relative;
          width: 860px;
          font-size: 1.5rem;
          font-weight: 500;
          line-height: 2.0;
          letter-spacing: 0.05em;
          background-color: #F5F0E8;
          padding: 55px 60px 60px;
          border-radius: 20px;
          -webkit-border-radius: 20px;
          -moz-border-radius: 20px;
          margin: 0 auto; }
          .event__reserve__form__complete .title_sp {
            padding-bottom: 40px; }
    .event__bottom-archive {
      position: relative;
      width: 90%;
      margin: 140px auto 0; }
      .event__bottom-archive .title_sp {
        margin-top: 100px; }
      .event__bottom-archive__list {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto; }
        .event__bottom-archive__list__sp {
          position: relative;
          width: 31.5%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: column;
          margin-right: 2.75%;
          background-color: #fff;
          border-radius: 14px;
          -webkit-border-radius: 14px;
          -moz-border-radius: 14px; }
          .event__bottom-archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px 14px 0 0;
            -webkit-border-radius: 14px 14px 0 0;
            -moz-border-radius: 14px 14px 0 0;
            overflow: hidden; }
            .event__bottom-archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .event__bottom-archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.2rem;
              font-weight: 500;
              color: #fff; }
            .event__bottom-archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .event__bottom-archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .event__bottom-archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .event__bottom-archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 20px;
            padding-bottom: 30px; }
            .event__bottom-archive__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 700;
              margin: 0 30px; }
          .event__bottom-archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding: 18px 28px; }
            .event__bottom-archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.2rem;
              line-height: 1.0;
              font-weight: 500; }
              .event__bottom-archive__list__sp__option li.cat_style a, .event__bottom-archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #7A7068;
                background-color: #F5F0E8;
                padding: 8px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .event__bottom-archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .event__bottom-archive__list__sp__option li.time_style {
              font-size: 1.1rem;
              line-height: 1.6;
              padding-left: 20px; }
              .event__bottom-archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .event__bottom-archive__list__sp:nth-child(3n) {
          margin-right: 0; }
        .event__bottom-archive__list__sp:nth-child(4) {
          display: none; }
        .event__bottom-archive__list__none {
          position: relative;
          width: 100%;
          background-color: #fff;
          padding: 40px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px; }
          .event__bottom-archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
      .event__bottom-archive h4 {
        max-width: 340px;
        margin: 45px auto 0; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .event {
    position: relative;
    width: 100%; }
    .event__archive {
      position: relative;
      width: 90%;
      margin: 100px auto 0; }
      .event__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 60px; }
        .event__archive__nav ul {
          position: relative;
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: center; }
          .event__archive__nav ul li {
            width: 30%;
            font-size: 1.3rem;
            margin: 0 10px; }
            .event__archive__nav ul li a, .event__archive__nav ul li a:link a:visited {
              width: 100%;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              -webkit-flex-wrap: wrap;
              -moz-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              justify-content: center;
              padding: 10px 0;
              border: 1px solid #D4CFC6;
              border-radius: 40px;
              -webkit-border-radius: 40px;
              -moz-border-radius: 40px;
              background: url(../img/arrow_b01.svg) no-repeat top 50% right 15px;
              background-size: 8px; }
            .event__archive__nav ul li a:hover {
              background-color: #fff; }
      .event__archive__list {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto; }
        .event__archive__list__sp {
          position: relative;
          width: 48%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: column;
          background-color: #fff;
          border-radius: 14px;
          -webkit-border-radius: 14px;
          -moz-border-radius: 14px; }
          .event__archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px 14px 0 0;
            -webkit-border-radius: 14px 14px 0 0;
            -moz-border-radius: 14px 14px 0 0;
            overflow: hidden; }
            .event__archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .event__archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.1rem;
              font-weight: 500;
              color: #fff; }
            .event__archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .event__archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .event__archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .event__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 15px;
            padding-bottom: 25px; }
            .event__archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.7;
              font-weight: 700;
              margin: 0 25px; }
          .event__archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding: 15px 23px; }
            .event__archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .event__archive__list__sp__option li.cat_style a, .event__archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #7A7068;
                background-color: #F5F0E8;
                padding: 8px 15px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .event__archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .event__archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .event__archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .event__archive__list__sp:nth-child(n + 3) {
          margin-top: 30px; }
        .event__archive__list__none {
          position: relative;
          width: 100%;
          background-color: #fff;
          padding: 30px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px; }
          .event__archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
    .event__detail {
      position: relative;
      width: 90%;
      margin: 60px auto 0; }
      .event__detail__title {
        position: relative;
        width: 100%; }
        .event__detail__title h1 {
          font-family: "Shippori Mincho B1", serif;
          font-weight: 600;
          font-size: 3.2rem;
          line-height: 1.5; }
        .event__detail__title p {
          font-family: "Jost", sans-serif;
          font-weight: 450;
          line-height: 1.0;
          letter-spacing: 0.1em;
          font-size: 1.3rem;
          background: url(../img/cat_foot_b.svg) no-repeat 0px 2px;
          background-size: 10px;
          padding-left: 16px;
          margin-bottom: 10px; }
        .event__detail__title__option {
          position: relative;
          width: 100%;
          margin-top: auto;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding-top: 20px; }
          .event__detail__title__option li.cat_style {
            position: relative;
            font-size: 1.1rem;
            line-height: 1.0;
            font-weight: 500; }
            .event__detail__title__option li.cat_style a, .event__detail__title__option li.cat_style a:link a:visited {
              position: relative;
              display: block;
              color: #534099;
              background-color: #fff;
              padding: 8px 20px;
              border-radius: 20px;
              -webkit-border-radius: 20px;
              -moz-border-radius: 20px; }
            .event__detail__title__option li.cat_style a:hover {
              color: #fff;
              background-color: #534099; }
          .event__detail__title__option li.time_style {
            font-size: 1rem; }
            .event__detail__title__option li.time_style img {
              width: 18px;
              padding-right: 6px;
              padding-bottom: 1px; }
      .event__detail__eyecatch {
        position: relative;
        width: 100%;
        margin-top: 45px; }
        .event__detail__eyecatch p {
          width: 100%; }
          .event__detail__eyecatch p img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
      .event__detail__contents {
        position: relative;
        width: 100%;
        margin-top: 60px; }
        .event__detail__contents h2 {
          font-size: 2.8rem;
          font-weight: 700;
          margin-top: 60px; }
        .event__detail__contents h3 {
          font-size: 2rem;
          color: #534099;
          font-weight: 700;
          background: url(../img/cat_foot_p.svg) no-repeat 0 center;
          background-size: 14px;
          padding-left: 22px;
          margin-top: 35px; }
        .event__detail__contents h4 {
          width: 320px;
          margin: 30px auto 0;
          padding-bottom: 10px; }
        .event__detail__contents p {
          font-size: 1.6rem;
          line-height: 2.0;
          margin-top: 25px; }
          .event__detail__contents p a, .event__detail__contents p a:link a:visited {
            color: #534099;
            border-bottom: 1px solid #534099; }
          .event__detail__contents p a:hover {
            color: #7A7068;
            border-bottom: 1px solid #7A7068; }
        .event__detail__contents dl {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          border-top: 1px solid #D4CFC6;
          margin: 30px auto 0; }
          .event__detail__contents dl dt {
            position: relative;
            width: 30%;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            font-size: 1.5rem;
            font-weight: 500;
            border-bottom: 1px solid #D4CFC6;
            padding: 20px 2px 20px 14px; }
          .event__detail__contents dl dt::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
          .event__detail__contents dl dd {
            width: 70%;
            font-size: 1.5rem;
            line-height: 2.0;
            border-bottom: 1px solid #D4CFC6;
            padding: 20px 2px 20px 0; }
        .event__detail__contents ul.list_style01 {
          font-size: 1.6rem;
          margin-top: 30px; }
          .event__detail__contents ul.list_style01 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
          .event__detail__contents ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .event__detail__contents ul.list_style02 {
          color: #666;
          font-size: 1.6rem;
          margin-top: 35px;
          background-color: #fff;
          padding: 25px 40px 40px;
          border-radius: 14px;
          -webkit-border-radius: 14px;
          -moz-border-radius: 14px; }
          .event__detail__contents ul.list_style02 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
            .event__detail__contents ul.list_style02 li a, .event__detail__contents ul.list_style02 li a:link a:visited {
              position: relative;
              color: #534099; }
            .event__detail__contents ul.list_style02 li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #534099;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .event__detail__contents ul.list_style02 li a:hover {
              color: #534099; }
            .event__detail__contents ul.list_style02 li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .event__detail__contents ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .event__detail__contents figure {
          position: relative;
          width: 100%;
          margin-top: 35px; }
          .event__detail__contents figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .event__detail__contents figure figcaption {
            font-size: 1rem;
            text-align: center;
            padding-top: 12px; }
    .event__reserve {
      position: relative;
      width: 90%;
      margin: 0 auto;
      padding-top: 120px; }
      .event__reserve__desc {
        position: relative;
        width: 100%; }
        .event__reserve__desc p {
          font-size: 1.6rem;
          line-height: 2.0; }
      .event__reserve__end {
        position: relative;
        width: 100%;
        background-color: #fff;
        padding: 30px 0;
        border-radius: 100px;
        -webkit-border-radius: 100px;
        -moz-border-radius: 100px;
        margin: 80px auto 0; }
        .event__reserve__end p {
          text-align: center;
          font-size: 1.5rem; }
      .event__reserve__form {
        position: relative;
        width: 100%;
        margin: 80px auto 0;
        background-color: #fff;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        padding: 45px 45px; }
        .event__reserve__form dl {
          color: #666;
          padding: 25px 3px;
          border-bottom: 1px dotted #D4CFC6; }
          .event__reserve__form dl dt {
            position: relative;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            font-size: 1.5rem;
            font-weight: 500;
            padding-left: 14px;
            margin-bottom: 15px; }
            .event__reserve__form dl dt img {
              width: 20px;
              padding-left: 8px; }
          .event__reserve__form dl dt::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
          .event__reserve__form dl dd {
            flex: 1;
            font-size: 1.5rem;
            line-height: 2.0; }
        .event__reserve__form dl:first-of-type {
          border-top: 1px dotted #D4CFC6; }
        .event__reserve__form__check {
          width: 100%;
          padding: 30px 30px;
          background-color: #F5F0E8;
          margin-top: 30px;
          border-radius: 20px;
          -webkit-border-radius: 20px;
          -moz-border-radius: 20px; }
          .event__reserve__form__check p {
            width: 100%;
            text-align: center;
            font-size: 1.1rem;
            line-height: 1.8;
            margin: 0 auto 20px; }
            .event__reserve__form__check p a {
              color: #534099;
              border-bottom: 1px solid #534099;
              font-weight: 500; }
          .event__reserve__form__check .confirmArea {
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            font-weight: 500;
            background-color: #fff;
            border-radius: 40px;
            -webkit-border-radius: 40px;
            -moz-border-radius: 40px;
            padding: 20px 0; }
            .event__reserve__form__check .confirmArea .wpcf7-acceptance {
              font-weight: 500;
              letter-spacing: 0.05em; }
          .event__reserve__form__check .error {
            font-size: 1.1rem !important;
            font-weight: 500 !important;
            letter-spacing: 0.1em;
            color: #e2717c !important;
            display: block !important;
            padding-top: 10px !important; }
        .event__reserve__form__btn {
          width: 100%;
          margin-top: 35px; }
        .event__reserve__form__complete {
          position: relative;
          width: 100%;
          font-size: 1.5rem;
          font-weight: 500;
          line-height: 2.0;
          letter-spacing: 0.05em;
          background-color: #F5F0E8;
          padding: 45px 45px 45px;
          border-radius: 20px;
          -webkit-border-radius: 20px;
          -moz-border-radius: 20px; }
          .event__reserve__form__complete .title_sp {
            padding-bottom: 30px; }
    .event__bottom-archive {
      position: relative;
      width: 90%;
      margin: 140px auto 0; }
      .event__bottom-archive .title_sp {
        margin-top: 80px; }
      .event__bottom-archive__list {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto; }
        .event__bottom-archive__list__sp {
          position: relative;
          width: 48%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: column;
          background-color: #fff;
          border-radius: 14px;
          -webkit-border-radius: 14px;
          -moz-border-radius: 14px; }
          .event__bottom-archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px 14px 0 0;
            -webkit-border-radius: 14px 14px 0 0;
            -moz-border-radius: 14px 14px 0 0;
            overflow: hidden; }
            .event__bottom-archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .event__bottom-archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.1rem;
              font-weight: 500;
              color: #fff; }
            .event__bottom-archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .event__bottom-archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .event__bottom-archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .event__bottom-archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 15px;
            padding-bottom: 25px; }
            .event__bottom-archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.7;
              font-weight: 700;
              margin: 0 25px; }
          .event__bottom-archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding: 15px 23px; }
            .event__bottom-archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .event__bottom-archive__list__sp__option li.cat_style a, .event__bottom-archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #7A7068;
                background-color: #F5F0E8;
                padding: 8px 15px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .event__bottom-archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .event__bottom-archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .event__bottom-archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .event__bottom-archive__list__sp:nth-child(n + 3) {
          margin-top: 30px; }
        .event__bottom-archive__list__none {
          position: relative;
          width: 100%;
          background-color: #fff;
          padding: 30px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px; }
          .event__bottom-archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
      .event__bottom-archive h4 {
        width: 320px;
        margin: 40px auto 0; } }
@media screen and (max-width: 767px) {
  .event {
    position: relative;
    width: 100%; }
    .event__archive {
      position: relative;
      width: 100%;
      margin: 80px auto 0; }
      .event__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 60px; }
        .event__archive__nav ul {
          width: 88%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: space-between;
          margin: 0 auto; }
          .event__archive__nav ul li {
            position: relative;
            width: 48.5%;
            font-size: 1.2rem; }
            .event__archive__nav ul li a {
              width: 100%;
              height: 40px;
              font-weight: 500;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              align-items: center;
              justify-content: center;
              background: url(../img/arrow_b01.svg) no-repeat top 50% right 10px;
              background-size: 6px;
              border-radius: 21px;
              -webkit-border-radius: 21px;
              -moz-border-radius: 21px;
              border: 1px solid #D4CFC6; }
          .event__archive__nav ul li:nth-child(n+3) {
            margin-top: 8px; }
      .event__archive__list {
        position: relative;
        width: 88%;
        margin: 0 auto; }
        .event__archive__list__sp {
          position: relative;
          width: 100%;
          background-color: #fff;
          border-radius: 12px;
          -webkit-border-radius: 12px;
          -moz-border-radius: 12px; }
          .event__archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 12px 12px 0 0;
            -webkit-border-radius: 12px 12px 0 0;
            -moz-border-radius: 12px 12px 0 0;
            overflow: hidden; }
            .event__archive__list__sp__img img {
              width: 100%; }
            .event__archive__list__sp__img .caption {
              display: none; }
            .event__archive__list__sp__img .mask {
              display: none; }
          .event__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding: 15px 25px 20px; }
            .event__archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.7;
              font-weight: 700; }
          .event__archive__list__sp__option {
            position: relative;
            width: 100%;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding: 20px 22px; }
            .event__archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .event__archive__list__sp__option li.cat_style a {
                position: relative;
                color: #534099;
                background-color: #F5F0E8;
                padding: 6px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
            .event__archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .event__archive__list__sp__option li.time_style img {
                width: 16px;
                padding-right: 5px; }
        .event__archive__list__sp:nth-child(n+2) {
          margin-top: 20px; }
        .event__archive__list__sp:nth-child(4) {
          display: none; }
        .event__archive__list__none {
          position: relative;
          width: 100%;
          border-radius: 50px;
          -webkit-border-radius: 50px;
          -moz-border-radius: 50px;
          background-color: #E8E2D9;
          padding: 25px 0;
          margin: 0 auto; }
          .event__archive__list__none p {
            text-align: center;
            font-size: 1.3rem; }
    .event__detail {
      position: relative;
      width: 100%;
      margin: 40px auto 0; }
      .event__detail__title {
        position: relative;
        width: 88%;
        margin: 0 auto; }
        .event__detail__title h1 {
          font-family: "Shippori Mincho B1", serif;
          font-weight: 600;
          font-size: 2.2rem;
          line-height: 1.5; }
        .event__detail__title p {
          font-family: "Jost", sans-serif;
          font-weight: 450;
          line-height: 1.0;
          letter-spacing: 0.1em;
          font-size: 1.1rem;
          line-height: 1.2;
          background: url(../img/cat_foot_b.svg) no-repeat 0 1px;
          background-size: 10px;
          padding-left: 16px;
          margin-bottom: 10px; }
        .event__detail__title__option {
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding-top: 15px; }
          .event__detail__title__option li.cat_style {
            position: relative;
            font-size: 1.1rem;
            line-height: 1.0;
            font-weight: 500; }
            .event__detail__title__option li.cat_style a {
              position: relative;
              color: #534099;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              align-items: center;
              height: 30px;
              background-color: #fff;
              padding: 0 20px;
              border-radius: 20px;
              -webkit-border-radius: 20px;
              -moz-border-radius: 20px; }
          .event__detail__title__option li.time_style {
            font-size: 1rem; }
            .event__detail__title__option li.time_style img {
              width: 17px;
              padding-right: 5px; }
      .event__detail__eyecatch {
        position: relative;
        width: 100%;
        margin-top: 40px; }
        .event__detail__eyecatch p {
          width: 100%; }
          .event__detail__eyecatch p img {
            width: 100%; }
      .event__detail__contents {
        position: relative;
        width: 100%;
        margin-top: 45px; }
        .event__detail__contents h2 {
          width: 88%;
          font-size: 2.2rem;
          font-weight: 700;
          margin: 60px auto 0; }
        .event__detail__contents h3 {
          width: 88%;
          font-size: 1.8rem;
          color: #534099;
          font-weight: 700;
          background: url(../img/cat_foot_p.svg) no-repeat 0 center;
          background-size: 12px;
          padding-left: 18px;
          margin: 35px auto 0; }
        .event__detail__contents h4 {
          width: 82%;
          margin: 25px auto 0;
          padding-bottom: 10px; }
        .event__detail__contents p {
          width: 88%;
          text-align: justify;
          font-size: 1.55rem;
          line-height: 2.0;
          margin: 25px auto 0; }
          .event__detail__contents p a, .event__detail__contents p a:link a:visited {
            color: #534099;
            border-bottom: 1px solid #534099; }
          .event__detail__contents p a:hover {
            color: #7A7068;
            border-bottom: 1px solid #7A7068; }
        .event__detail__contents dl {
          width: 88%;
          border-bottom: 1px solid #D4CFC6;
          margin: 25px auto 0; }
          .event__detail__contents dl dt {
            position: relative;
            font-size: 1.3rem;
            font-weight: 500;
            padding-left: 14px;
            padding: 15px 2px 0 14px;
            margin-bottom: 10px;
            border-top: 1px solid #D4CFC6; }
          .event__detail__contents dl dt::after {
            content: '';
            position: absolute;
            top: 24px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099; }
          .event__detail__contents dl dd {
            font-size: 1.5rem;
            line-height: 1.8;
            padding: 0 0 15px 14px; }
        .event__detail__contents ul.list_style01 {
          width: 88%;
          font-size: 1.55rem;
          margin: 30px auto 0; }
          .event__detail__contents ul.list_style01 li {
            position: relative;
            line-height: 1.8;
            margin-top: 12px;
            padding-left: 14px; }
          .event__detail__contents ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .event__detail__contents ul.list_style02 {
          width: 88%;
          color: #666;
          font-size: 1.55rem;
          margin-top: 35px;
          background-color: #fff;
          padding: 13px 25px 25px;
          border-radius: 12px;
          -webkit-border-radius: 12px;
          -moz-border-radius: 12px;
          margin: 30px auto 0; }
          .event__detail__contents ul.list_style02 li {
            position: relative;
            line-height: 1.8;
            margin-top: 12px;
            padding-left: 14px; }
            .event__detail__contents ul.list_style02 li a {
              position: relative;
              color: #534099; }
          .event__detail__contents ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .event__detail__contents figure {
          position: relative;
          width: 88%;
          margin: 30px auto 0; }
          .event__detail__contents figure img {
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px; }
          .event__detail__contents figure figcaption {
            font-size: 1rem;
            text-align: center;
            padding-top: 10px; }
    .event__reserve {
      position: relative;
      width: 100%;
      padding-top: 80px; }
      .event__reserve .title_sp {
        position: relative;
        width: 88%;
        margin: 0 auto; }
      .event__reserve__desc {
        position: relative;
        width: 88%;
        margin: 0 auto; }
        .event__reserve__desc p {
          text-align: justify;
          font-size: 1.5rem;
          line-height: 2.0; }
      .event__reserve__end {
        position: relative;
        width: 88%;
        border-radius: 50px;
        -webkit-border-radius: 50px;
        -moz-border-radius: 50px;
        background-color: #fff;
        padding: 25px 0;
        margin: 60px auto 0; }
        .event__reserve__end p {
          text-align: center;
          font-size: 1.3rem; }
      .event__reserve__form {
        position: relative;
        width: 100%;
        margin: 60px auto 0;
        background-color: #fff;
        border-radius: 18px;
        -webkit-border-radius: 18px;
        -moz-border-radius: 18px;
        padding: 45px 0; }
        .event__reserve__form dl {
          color: #666;
          padding: 20px 6%;
          border-bottom: 1px dotted #D4CFC6; }
          .event__reserve__form dl dt {
            position: relative;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            font-size: 1.5rem;
            font-weight: 500;
            margin-bottom: 12px; }
            .event__reserve__form dl dt img {
              width: 18px;
              padding-left: 6px; }
          .event__reserve__form dl dd {
            font-size: 1.5rem;
            line-height: 2.0; }
        .event__reserve__form dl:first-of-type {
          border-top: 1px dotted #D4CFC6; }
        .event__reserve__form__check {
          width: 88%;
          padding: 20px 20px;
          background-color: #F5F0E8;
          border-radius: 18px;
          -webkit-border-radius: 18px;
          -moz-border-radius: 18px;
          margin: 25px auto 0; }
          .event__reserve__form__check p {
            text-align: justify;
            font-size: 1.2rem;
            line-height: 1.8;
            margin-bottom: 15px;
            padding: 0 5px; }
            .event__reserve__form__check p a {
              color: #534099;
              border-bottom: 1px solid #534099;
              font-weight: 500; }
          .event__reserve__form__check .confirmArea {
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            font-weight: 500;
            background-color: #fff;
            padding: 15px 0;
            border-radius: 40px;
            -webkit-border-radius: 40px;
            -moz-border-radius: 40px; }
            .event__reserve__form__check .confirmArea .wpcf7-acceptance {
              font-weight: 500;
              letter-spacing: 0.05em; }
          .event__reserve__form__check .error {
            font-size: 1rem !important;
            letter-spacing: 0.1em !important;
            font-weight: 500 !important;
            color: #e2717c !important;
            display: block !important;
            padding-top: 10px !important; }
        .event__reserve__form__btn {
          width: 88%;
          margin: 35px auto 0; }
        .event__reserve__form__complete {
          position: relative;
          width: 88%;
          text-align: justify;
          font-size: 1.5rem;
          font-weight: 500;
          line-height: 2.0;
          letter-spacing: 0.05em;
          background-color: #F5F0E8;
          padding: 30px 30px;
          border-radius: 18px;
          -webkit-border-radius: 18px;
          -moz-border-radius: 18px;
          margin: 0 auto; }
          .event__reserve__form__complete .title_sp {
            padding-bottom: 25px; }
    .event__bottom-archive {
      position: relative;
      width: 100%;
      margin: 120px auto 0; }
      .event__bottom-archive .title_sp {
        width: 88%;
        margin: 60px auto 0; }
      .event__bottom-archive__list {
        position: relative;
        width: 88%;
        margin: 0 auto; }
        .event__bottom-archive__list__sp {
          position: relative;
          width: 100%;
          background-color: #fff;
          border-radius: 12px;
          -webkit-border-radius: 12px;
          -moz-border-radius: 12px; }
          .event__bottom-archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 12px 12px 0 0;
            -webkit-border-radius: 12px 12px 0 0;
            -moz-border-radius: 12px 12px 0 0;
            overflow: hidden; }
            .event__bottom-archive__list__sp__img img {
              width: 100%; }
            .event__bottom-archive__list__sp__img .caption {
              display: none; }
            .event__bottom-archive__list__sp__img .mask {
              display: none; }
          .event__bottom-archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding: 15px 25px 20px; }
            .event__bottom-archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.7;
              font-weight: 700; }
          .event__bottom-archive__list__sp__option {
            position: relative;
            width: 100%;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding: 20px 22px; }
            .event__bottom-archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .event__bottom-archive__list__sp__option li.cat_style a {
                position: relative;
                color: #534099;
                background-color: #F5F0E8;
                padding: 6px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
            .event__bottom-archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .event__bottom-archive__list__sp__option li.time_style img {
                width: 16px;
                padding-right: 5px; }
        .event__bottom-archive__list__sp:nth-child(n+2) {
          margin-top: 20px; }
        .event__bottom-archive__list__sp:nth-child(4) {
          display: none; }
        .event__bottom-archive__list__none {
          position: relative;
          width: 100%;
          border-radius: 50px;
          -webkit-border-radius: 50px;
          -moz-border-radius: 50px;
          background-color: #E8E2D9;
          padding: 25px 0;
          margin: 0 auto; }
          .event__bottom-archive__list__none p {
            text-align: center;
            font-size: 1.3rem; }
      .event__bottom-archive h4 {
        width: 82%;
        margin: 35px auto 0; } }

@media screen and (min-width: 1024px) {
  .works {
    position: relative;
    width: 100%; }
    .works__archive {
      position: relative;
      width: 90%;
      margin: 120px auto 0; }
      .works__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 60px; }
        .works__archive__nav ul {
          position: relative;
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: center; }
          .works__archive__nav ul li {
            font-size: 1.4rem;
            margin: 0 10px; }
            .works__archive__nav ul li a, .works__archive__nav ul li a:link a:visited {
              width: 230px;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              -webkit-flex-wrap: wrap;
              -moz-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              justify-content: center;
              padding: 10px 0;
              border: 1px solid #D4CFC6;
              border-radius: 40px;
              -webkit-border-radius: 40px;
              -moz-border-radius: 40px;
              background: url(../img/arrow_b01.svg) no-repeat top 50% right 15px;
              background-size: 8px; }
            .works__archive__nav ul li a:hover {
              background-color: #fff; }
      .works__archive__list {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto; }
        .works__archive__list__sp {
          position: relative;
          width: 31.5%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: column;
          margin-right: 2.75%; }
          .works__archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px;
            overflow: hidden; }
            .works__archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .works__archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.2rem;
              font-weight: 500;
              color: #fff; }
            .works__archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .works__archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .works__archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .works__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 20px; }
            .works__archive__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 700;
              margin-bottom: 30px; }
          .works__archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding: 18px 0 0; }
            .works__archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.2rem;
              line-height: 1.0;
              font-weight: 500; }
              .works__archive__list__sp__option li.cat_style a, .works__archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #534099;
                background-color: #fff;
                padding: 8px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .works__archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .works__archive__list__sp__option li.time_style {
              font-size: 1.1rem; }
              .works__archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .works__archive__list__sp:nth-child(3n) {
          margin-right: 0; }
        .works__archive__list__sp:nth-child(n + 4) {
          margin-top: 45px; }
        .works__archive__list__none {
          position: relative;
          width: 100%;
          background-color: #fff;
          padding: 40px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px; }
          .works__archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
      .works__archive h4 {
        max-width: 340px;
        margin: 45px auto 0; }
    .works__detail {
      position: relative;
      width: 860px;
      margin: 80px auto 0; }
      .works__detail__title {
        position: relative;
        width: 100%; }
        .works__detail__title h1 {
          font-family: "Shippori Mincho B1", serif;
          font-size: 3.6rem;
          font-weight: 600;
          line-height: 1.5; }
        .works__detail__title p {
          font-family: "Jost", sans-serif;
          font-weight: 450;
          line-height: 1.0;
          letter-spacing: 0.1em;
          font-size: 1.2rem;
          background: url(../img/cat_foot_b.svg) no-repeat 0px 0px;
          background-size: 11px;
          padding-left: 17px;
          margin-bottom: 10px; }
        .works__detail__title__option {
          position: relative;
          width: 100%;
          margin-top: auto;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding: 20px 0 0; }
          .works__detail__title__option li.cat_style {
            position: relative;
            font-size: 1.2rem;
            line-height: 1.0;
            font-weight: 500; }
            .works__detail__title__option li.cat_style a, .works__detail__title__option li.cat_style a:link a:visited {
              position: relative;
              display: block;
              color: #534099;
              background-color: #fff;
              padding: 8px 20px;
              border-radius: 20px;
              -webkit-border-radius: 20px;
              -moz-border-radius: 20px; }
            .works__detail__title__option li.cat_style a:hover {
              color: #fff;
              background-color: #534099; }
          .works__detail__title__option li.time_style {
            font-size: 1.1rem; }
            .works__detail__title__option li.time_style img {
              width: 18px;
              padding-right: 6px;
              padding-bottom: 1px; }
      .works__detail__eyecatch {
        position: relative;
        width: 100%;
        margin-top: 60px; }
        .works__detail__eyecatch p {
          width: 100%; }
          .works__detail__eyecatch p img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
      .works__detail__contents {
        position: relative;
        width: 100%;
        margin-top: 60px; }
        .works__detail__contents h2 {
          font-size: 3rem;
          font-weight: 700;
          padding-top: 120px;
          margin-top: -40px; }
        .works__detail__contents h3 {
          font-size: 2.2rem;
          color: #534099;
          font-weight: 700;
          background: url(../img/cat_foot_p.svg) no-repeat 0 center;
          background-size: 14px;
          padding-left: 22px;
          margin-top: 40px; }
        .works__detail__contents p {
          font-size: 1.6rem;
          line-height: 2.0;
          margin-top: 30px; }
          .works__detail__contents p a, .works__detail__contents p a:link a:visited {
            color: #534099;
            border-bottom: 1px solid #534099; }
          .works__detail__contents p a:hover {
            color: #7A7068;
            border-bottom: 1px solid #7A7068; }
        .works__detail__contents ul.list_style01 {
          font-size: 1.6rem;
          margin-top: 35px; }
          .works__detail__contents ul.list_style01 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
          .works__detail__contents ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .works__detail__contents ul.list_style02 {
          color: #666;
          font-size: 1.6rem;
          margin-top: 40px;
          background-color: #fff;
          padding: 30px 45px 45px;
          border-radius: 14px;
          -webkit-border-radius: 14px;
          -moz-border-radius: 14px; }
          .works__detail__contents ul.list_style02 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
            .works__detail__contents ul.list_style02 li a, .works__detail__contents ul.list_style02 li a:link a:visited {
              position: relative;
              color: #534099; }
            .works__detail__contents ul.list_style02 li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #534099;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .works__detail__contents ul.list_style02 li a:hover {
              color: #534099; }
            .works__detail__contents ul.list_style02 li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .works__detail__contents ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .works__detail__contents figure {
          position: relative;
          width: 100%;
          margin-top: 40px; }
          .works__detail__contents figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .works__detail__contents figure figcaption {
            font-size: 1.1rem;
            text-align: center;
            padding-top: 12px; }
    .works__bottom-archive {
      position: relative;
      width: 100%;
      margin: 140px auto 0; }
      .works__bottom-archive .title_sp {
        width: 90%;
        margin: 100px auto 0; }
      .works__bottom-archive__list {
        position: relative;
        width: calc(100% + 100px);
        margin-right: -100px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        padding-left: 5%;
        padding-bottom: 55px; }
        .works__bottom-archive__list__sp {
          position: relative;
          width: 25%; }
          .works__bottom-archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px;
            overflow: hidden; }
            .works__bottom-archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .works__bottom-archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.2rem;
              font-weight: 500;
              color: #fff; }
            .works__bottom-archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .works__bottom-archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .works__bottom-archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .works__bottom-archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 20px; }
            .works__bottom-archive__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 700;
              margin-bottom: 30px; }
          .works__bottom-archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding-top: 15px; }
            .works__bottom-archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.2rem;
              line-height: 1.0;
              font-weight: 500; }
              .works__bottom-archive__list__sp__option li.cat_style a, .works__bottom-archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #534099;
                background-color: #fff;
                padding: 8px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .works__bottom-archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .works__bottom-archive__list__sp__option li.time_style {
              font-size: 1.1rem; }
              .works__bottom-archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .works__bottom-archive__list__none {
          position: relative;
          width: calc((100% - 100px));
          background-color: #fff;
          padding: 40px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px;
          margin-left: auto;
          margin-right: calc(100px + (100% - 100px) * 0.05); }
          .works__bottom-archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
        .works__bottom-archive__list .swiper-pagination {
          position: absolute;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: center;
          bottom: 0 !important;
          padding-right: 100px;
          z-index: 10; }
          .works__bottom-archive__list .swiper-pagination span {
            display: block;
            width: 12px;
            height: 12px;
            background-color: #E8E2D9 !important;
            margin: 0 7px !important;
            border-radius: 50%;
            -webkit-border-radius: 50%;
            -moz-border-radius: 50%;
            cursor: pointer;
            opacity: 1; }
          .works__bottom-archive__list .swiper-pagination .swiper-pagination-bullet-active {
            background-color: #534099 !important; }
      .works__bottom-archive h4 {
        max-width: 340px;
        margin: 45px auto 0; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .works {
    position: relative;
    width: 100%; }
    .works__archive {
      position: relative;
      width: 90%;
      margin: 100px auto 0; }
      .works__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 60px; }
        .works__archive__nav ul {
          position: relative;
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: center; }
          .works__archive__nav ul li {
            width: 30%;
            font-size: 1.3rem;
            margin: 0 10px; }
            .works__archive__nav ul li a, .works__archive__nav ul li a:link a:visited {
              width: 100%;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              -webkit-flex-wrap: wrap;
              -moz-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              justify-content: center;
              padding: 10px 0;
              border: 1px solid #D4CFC6;
              border-radius: 40px;
              -webkit-border-radius: 40px;
              -moz-border-radius: 40px;
              background: url(../img/arrow_b01.svg) no-repeat top 50% right 15px;
              background-size: 8px; }
            .works__archive__nav ul li a:hover {
              background-color: #fff; }
      .works__archive__list {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto; }
        .works__archive__list__sp {
          position: relative;
          width: 48%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: column; }
          .works__archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px;
            overflow: hidden; }
            .works__archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .works__archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.1rem;
              font-weight: 500;
              color: #fff; }
            .works__archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .works__archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .works__archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .works__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 15px; }
            .works__archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.7;
              font-weight: 700;
              margin-bottom: 25px; }
          .works__archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding-top: 15px; }
            .works__archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .works__archive__list__sp__option li.cat_style a, .works__archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #534099;
                background-color: #fff;
                padding: 8px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .works__archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .works__archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .works__archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .works__archive__list__sp:nth-child(n + 3) {
          margin-top: 35px; }
        .works__archive__list__none {
          position: relative;
          width: 100%;
          background-color: #fff;
          padding: 30px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px; }
          .works__archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
    .works__detail {
      position: relative;
      width: 90%;
      margin: 60px auto 0; }
      .works__detail__title {
        position: relative;
        width: 100%; }
        .works__detail__title h1 {
          font-family: "Shippori Mincho B1", serif;
          font-weight: 600;
          font-size: 3.2rem;
          line-height: 1.5; }
        .works__detail__title p {
          font-family: "Jost", sans-serif;
          font-weight: 450;
          line-height: 1.0;
          letter-spacing: 0.1em;
          font-size: 1.3rem;
          background: url(../img/cat_foot_b.svg) no-repeat 0px 2px;
          background-size: 10px;
          padding-left: 16px;
          margin-bottom: 10px; }
        .works__detail__title__option {
          position: relative;
          width: 100%;
          margin-top: auto;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding-top: 20px; }
          .works__detail__title__option li.cat_style {
            position: relative;
            font-size: 1.1rem;
            line-height: 1.0;
            font-weight: 500; }
            .works__detail__title__option li.cat_style a, .works__detail__title__option li.cat_style a:link a:visited {
              position: relative;
              display: block;
              color: #534099;
              background-color: #fff;
              padding: 8px 20px;
              border-radius: 20px;
              -webkit-border-radius: 20px;
              -moz-border-radius: 20px; }
            .works__detail__title__option li.cat_style a:hover {
              color: #fff;
              background-color: #534099; }
          .works__detail__title__option li.time_style {
            font-size: 1rem; }
            .works__detail__title__option li.time_style img {
              width: 18px;
              padding-right: 6px;
              padding-bottom: 1px; }
      .works__detail__eyecatch {
        position: relative;
        width: 100%;
        margin-top: 45px; }
        .works__detail__eyecatch p {
          width: 100%; }
          .works__detail__eyecatch p img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
      .works__detail__contents {
        position: relative;
        width: 100%;
        margin-top: 60px; }
        .works__detail__contents h2 {
          font-size: 2.8rem;
          font-weight: 700;
          padding-top: 100px;
          margin-top: -40px; }
        .works__detail__contents h3 {
          font-size: 2rem;
          color: #534099;
          font-weight: 700;
          background: url(../img/cat_foot_p.svg) no-repeat 0 center;
          background-size: 14px;
          padding-left: 22px;
          margin-top: 35px; }
        .works__detail__contents p {
          font-size: 1.6rem;
          line-height: 2.0;
          margin-top: 25px; }
          .works__detail__contents p a, .works__detail__contents p a:link a:visited {
            color: #534099;
            border-bottom: 1px solid #534099; }
          .works__detail__contents p a:hover {
            color: #7A7068;
            border-bottom: 1px solid #7A7068; }
        .works__detail__contents ul.list_style01 {
          font-size: 1.6rem;
          margin-top: 30px; }
          .works__detail__contents ul.list_style01 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
          .works__detail__contents ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .works__detail__contents ul.list_style02 {
          color: #666;
          font-size: 1.6rem;
          margin-top: 35px;
          background-color: #fff;
          padding: 25px 40px 40px;
          border-radius: 14px;
          -webkit-border-radius: 14px;
          -moz-border-radius: 14px; }
          .works__detail__contents ul.list_style02 li {
            position: relative;
            line-height: 1.8;
            margin-top: 15px;
            padding-left: 14px; }
            .works__detail__contents ul.list_style02 li a, .works__detail__contents ul.list_style02 li a:link a:visited {
              position: relative;
              color: #534099; }
            .works__detail__contents ul.list_style02 li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #534099;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .works__detail__contents ul.list_style02 li a:hover {
              color: #534099; }
            .works__detail__contents ul.list_style02 li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .works__detail__contents ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .works__detail__contents figure {
          position: relative;
          width: 100%;
          margin-top: 35px; }
          .works__detail__contents figure img {
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px; }
          .works__detail__contents figure figcaption {
            font-size: 1rem;
            text-align: center;
            padding-top: 12px; }
    .works__bottom-archive {
      position: relative;
      width: 100%;
      margin: 140px auto 0; }
      .works__bottom-archive .title_sp {
        width: 90%;
        margin: 80px auto 0; }
      .works__bottom-archive__list {
        position: relative;
        width: calc(100% + 90px);
        margin-right: -90px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        padding-left: 5%;
        padding-bottom: 50px; }
        .works__bottom-archive__list__sp {
          position: relative;
          width: 25%; }
          .works__bottom-archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px;
            overflow: hidden; }
            .works__bottom-archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .works__bottom-archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.1rem;
              font-weight: 500;
              color: #fff; }
            .works__bottom-archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .works__bottom-archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .works__bottom-archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .works__bottom-archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 15px; }
            .works__bottom-archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.7;
              font-weight: 700;
              margin-bottom: 25px; }
          .works__bottom-archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding-top: 15px; }
            .works__bottom-archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .works__bottom-archive__list__sp__option li.cat_style a, .works__bottom-archive__list__sp__option li.cat_style a:link a:visited {
                position: relative;
                display: block;
                color: #534099;
                background-color: #fff;
                padding: 8px 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
              .works__bottom-archive__list__sp__option li.cat_style a:hover {
                color: #fff;
                background-color: #534099; }
            .works__bottom-archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .works__bottom-archive__list__sp__option li.time_style img {
                width: 18px;
                padding-right: 6px;
                padding-bottom: 1px; }
        .works__bottom-archive__list__none {
          position: relative;
          width: calc((100% - 100px) * 0.9);
          background-color: #fff;
          padding: 30px 0;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px;
          margin-left: auto;
          margin-right: calc(100px + (100% - 100px) * 0.05); }
          .works__bottom-archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
        .works__bottom-archive__list .swiper-pagination {
          position: absolute;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: center;
          bottom: 0 !important;
          padding-right: 90px;
          z-index: 10; }
          .works__bottom-archive__list .swiper-pagination span {
            display: block;
            width: 12px;
            height: 12px;
            background-color: #E8E2D9 !important;
            margin: 0 7px !important;
            border-radius: 50%;
            -webkit-border-radius: 50%;
            -moz-border-radius: 50%;
            cursor: pointer;
            opacity: 1; }
          .works__bottom-archive__list .swiper-pagination .swiper-pagination-bullet-active {
            background-color: #534099 !important; }
      .works__bottom-archive h4 {
        width: 320px;
        margin: 40px auto 0; } }
@media screen and (max-width: 767px) {
  .works {
    position: relative;
    width: 100%; }
    .works__archive {
      position: relative;
      width: 100%;
      margin: 80px auto 0; }
      .works__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 60px; }
        .works__archive__nav ul {
          width: 88%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          justify-content: space-between;
          margin: 0 auto; }
          .works__archive__nav ul li {
            position: relative;
            width: 48.5%;
            font-size: 1.2rem; }
            .works__archive__nav ul li a {
              width: 100%;
              height: 40px;
              font-weight: 500;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              align-items: center;
              justify-content: center;
              background: url(../img/arrow_b01.svg) no-repeat top 50% right 10px;
              background-size: 6px;
              border-radius: 21px;
              -webkit-border-radius: 21px;
              -moz-border-radius: 21px;
              border: 1px solid #D4CFC6; }
          .works__archive__nav ul li:nth-child(n+3) {
            margin-top: 8px; }
      .works__archive__list {
        position: relative;
        width: 88%;
        margin: 0 auto; }
        .works__archive__list__sp {
          position: relative;
          width: 100%; }
          .works__archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px;
            overflow: hidden; }
            .works__archive__list__sp__img img {
              width: 100%; }
            .works__archive__list__sp__img .caption {
              display: none; }
            .works__archive__list__sp__img .mask {
              display: none; }
          .works__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 15px; }
            .works__archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.6;
              font-weight: 700;
              margin-bottom: 20px; }
          .works__archive__list__sp__option {
            width: 100%;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding-top: 10px; }
            .works__archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .works__archive__list__sp__option li.cat_style a {
                position: relative;
                color: #534099;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                align-items: center;
                height: 30px;
                background-color: #fff;
                padding: 0 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
            .works__archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .works__archive__list__sp__option li.time_style img {
                width: 17px;
                padding-right: 5px; }
        .works__archive__list__sp:nth-child(n+2) {
          margin-top: 35px; }
        .works__archive__list__sp:nth-child(4) {
          display: none; }
        .works__archive__list__none {
          position: relative;
          width: 100%;
          border-radius: 50px;
          -webkit-border-radius: 50px;
          -moz-border-radius: 50px;
          background-color: #E8E2D9;
          padding: 25px 0;
          margin: 0 auto; }
          .works__archive__list__none p {
            text-align: center;
            font-size: 1.3rem; }
    .works__detail {
      position: relative;
      width: 100%;
      margin: 40px auto 0; }
      .works__detail__title {
        position: relative;
        width: 88%;
        margin: 0 auto; }
        .works__detail__title h1 {
          font-family: "Shippori Mincho B1", serif;
          font-weight: 600;
          font-size: 2.2rem;
          line-height: 1.5; }
        .works__detail__title p {
          font-family: "Jost", sans-serif;
          font-weight: 450;
          line-height: 1.0;
          letter-spacing: 0.1em;
          font-size: 1.1rem;
          line-height: 1.2;
          background: url(../img/cat_foot_b.svg) no-repeat 0 1px;
          background-size: 10px;
          padding-left: 16px;
          margin-bottom: 10px; }
        .works__detail__title__option {
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding-top: 15px; }
          .works__detail__title__option li.cat_style {
            position: relative;
            font-size: 1.1rem;
            line-height: 1.0;
            font-weight: 500; }
            .works__detail__title__option li.cat_style a {
              position: relative;
              color: #534099;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              align-items: center;
              height: 30px;
              background-color: #fff;
              padding: 0 20px;
              border-radius: 20px;
              -webkit-border-radius: 20px;
              -moz-border-radius: 20px; }
          .works__detail__title__option li.time_style {
            font-size: 1rem; }
            .works__detail__title__option li.time_style img {
              width: 17px;
              padding-right: 5px; }
      .works__detail__eyecatch {
        position: relative;
        width: 100%;
        margin-top: 40px; }
        .works__detail__eyecatch p {
          width: 100%; }
          .works__detail__eyecatch p img {
            width: 100%; }
      .works__detail__contents {
        position: relative;
        width: 100%;
        margin-top: 45px; }
        .works__detail__contents h2 {
          width: 88%;
          font-size: 2.2rem;
          font-weight: 700;
          padding-top: 100px;
          margin: -40px auto 0; }
        .works__detail__contents h3 {
          width: 88%;
          font-size: 1.8rem;
          color: #534099;
          font-weight: 700;
          background: url(../img/cat_foot_p.svg) no-repeat 0 center;
          background-size: 12px;
          padding-left: 18px;
          margin: 35px auto 0; }
        .works__detail__contents p {
          width: 88%;
          text-align: justify;
          font-size: 1.55rem;
          line-height: 2.0;
          margin: 25px auto 0; }
          .works__detail__contents p a, .works__detail__contents p a:link a:visited {
            color: #534099;
            border-bottom: 1px solid #534099; }
          .works__detail__contents p a:hover {
            color: #7A7068;
            border-bottom: 1px solid #7A7068; }
        .works__detail__contents ul.list_style01 {
          width: 88%;
          font-size: 1.55rem;
          margin: 30px auto 0; }
          .works__detail__contents ul.list_style01 li {
            position: relative;
            line-height: 1.8;
            margin-top: 12px;
            padding-left: 14px; }
          .works__detail__contents ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .works__detail__contents ul.list_style02 {
          width: 88%;
          color: #666;
          font-size: 1.55rem;
          margin-top: 35px;
          background-color: #fff;
          padding: 8px 20px 20px;
          border-radius: 12px;
          -webkit-border-radius: 12px;
          -moz-border-radius: 12px;
          margin: 30px auto 0; }
          .works__detail__contents ul.list_style02 li {
            position: relative;
            line-height: 1.8;
            margin-top: 12px;
            padding-left: 14px; }
            .works__detail__contents ul.list_style02 li a {
              position: relative;
              color: #534099; }
          .works__detail__contents ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #534099;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .works__detail__contents figure {
          position: relative;
          width: 88%;
          margin: 30px auto 0; }
          .works__detail__contents figure img {
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px; }
          .works__detail__contents figure figcaption {
            font-size: 1rem;
            text-align: center;
            padding-top: 10px; }
    .works__bottom-archive {
      position: relative;
      width: 100%;
      margin: 120px auto 0; }
      .works__bottom-archive .title_sp {
        width: 88%;
        margin: 60px auto 0; }
      .works__bottom-archive__list {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        padding-left: 6%;
        padding-bottom: 40px; }
        .works__bottom-archive__list__sp {
          position: relative;
          width: 25%; }
          .works__bottom-archive__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px;
            overflow: hidden; }
            .works__bottom-archive__list__sp__img img {
              width: 100%; }
            .works__bottom-archive__list__sp__img .caption {
              display: none; }
            .works__bottom-archive__list__sp__img .mask {
              display: none; }
          .works__bottom-archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 15px; }
            .works__bottom-archive__list__sp__desc h3 {
              font-size: 1.6rem;
              line-height: 1.6;
              font-weight: 700;
              margin-bottom: 20px; }
          .works__bottom-archive__list__sp__option {
            width: 100%;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid #D4CFC6;
            padding-top: 10px; }
            .works__bottom-archive__list__sp__option li.cat_style {
              position: relative;
              font-size: 1.1rem;
              line-height: 1.0;
              font-weight: 500; }
              .works__bottom-archive__list__sp__option li.cat_style a {
                position: relative;
                color: #534099;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flex;
                display: -o-flex;
                display: flex;
                align-items: center;
                height: 30px;
                background-color: #fff;
                padding: 0 20px;
                border-radius: 20px;
                -webkit-border-radius: 20px;
                -moz-border-radius: 20px; }
            .works__bottom-archive__list__sp__option li.time_style {
              font-size: 1rem; }
              .works__bottom-archive__list__sp__option li.time_style img {
                width: 17px;
                padding-right: 5px; }
        .works__bottom-archive__list__none {
          position: relative;
          width: 100%;
          padding-right: 6%; }
          .works__bottom-archive__list__none p {
            text-align: center;
            font-size: 1.3rem;
            border-radius: 50px;
            -webkit-border-radius: 50px;
            -moz-border-radius: 50px;
            background-color: #E8E2D9;
            padding: 25px 0; }
        .works__bottom-archive__list .swiper-pagination {
          position: absolute;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          justify-content: center;
          bottom: 0px !important;
          left: 0;
          z-index: 10; }
          .works__bottom-archive__list .swiper-pagination span {
            display: block;
            width: 12px;
            height: 12px;
            background-color: #E8E2D9 !important;
            margin: 0 6px !important;
            border-radius: 50%;
            -webkit-border-radius: 50%;
            -moz-border-radius: 50%;
            opacity: 1; }
          .works__bottom-archive__list .swiper-pagination .swiper-pagination-bullet-active {
            background-color: #534099 !important; }
      .works__bottom-archive h4 {
        width: 82%;
        margin: 35px auto 0; } }

@media screen and (min-width: 1024px) {
  .notfound {
    position: relative;
    width: 100%; }
    .notfound__desc {
      position: relative;
      width: 860px;
      margin: 140px auto 0; }
      .notfound__desc p {
        text-align: center;
        font-size: 1.5rem;
        line-height: 2.0; }
      .notfound__desc h4 {
        max-width: 340px;
        margin: 45px auto 0; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .notfound {
    position: relative;
    width: 100%; }
    .notfound__desc {
      width: 90%;
      margin: 120px auto 0; }
      .notfound__desc p {
        text-align: center;
        font-size: 1.5rem;
        line-height: 2.0; }
      .notfound__desc h4 {
        width: 320px;
        margin: 40px auto 0; } }
@media screen and (max-width: 767px) {
  .notfound {
    position: relative;
    width: 100%; }
    .notfound__desc {
      position: relative;
      width: 88%;
      margin: 80px auto 0; }
      .notfound__desc p {
        text-align: center;
        font-size: 1.5rem;
        line-height: 2.0; }
      .notfound__desc h4 {
        width: 82%;
        margin: 35px auto 0; } }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

@media screen and (min-width: 1024px) {
  html, body {
    font-size: 62.5%;
    overflow: visible; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  html, body {
    font-size: 62.5%;
    overflow: visible; } }
@media screen and (max-width: 767px) {
  html, body {
    font-size: 62.5%;
    overflow: visible;
    overflow-x: hidden; } }

body {
  height: 100%;
  color: #7A7068;
  background-color: #F5F0E8;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
  font-size: 10px;
  font-size: 1.0rem;
  font-feature-settings: "palt";
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%; }

@media screen and (min-width: 1024px) {
  ol, ul {
    list-style: none;
    font-weight: 500;
    letter-spacing: 0.05em; }

  h1 {
    font-weight: 400;
    letter-spacing: 0.025em; }

  h2 {
    font-weight: 400;
    letter-spacing: 0.025em; }

  h3 {
    font-weight: 400;
    letter-spacing: 0.05em; }

  h4 {
    font-weight: 400;
    letter-spacing: 0.05em; }

  h5 {
    font-weight: 400;
    letter-spacing: 0.05em; }

  h6 {
    font-weight: 400;
    letter-spacing: 0.05em; }

  p {
    font-weight: 500;
    letter-spacing: 0.05em; }

  dl {
    font-weight: 500;
    letter-spacing: 0.05em; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  ol, ul {
    list-style: none;
    font-weight: 500;
    letter-spacing: 0.05em; }

  h1 {
    font-weight: 400;
    letter-spacing: 0.025em; }

  h2 {
    font-weight: 400;
    letter-spacing: 0.025em; }

  h3 {
    font-weight: 400;
    letter-spacing: 0.05em; }

  h4 {
    font-weight: 400;
    letter-spacing: 0.05em; }

  h5 {
    font-weight: 400;
    letter-spacing: 0.05em; }

  h6 {
    font-weight: 400;
    letter-spacing: 0.05em; }

  p {
    font-weight: 500;
    letter-spacing: 0.05em; }

  dl {
    font-weight: 500;
    letter-spacing: 0.05em; } }
@media screen and (max-width: 767px) {
  ol, ul {
    list-style: none;
    font-weight: 500;
    letter-spacing: 0.05em; }

  h1 {
    font-weight: 500;
    letter-spacing: 0.025em; }

  h2 {
    font-weight: 500;
    letter-spacing: 0.025em; }

  h3 {
    font-weight: 500;
    letter-spacing: 0.05em; }

  h4 {
    font-weight: 500;
    letter-spacing: 0.05em; }

  h5 {
    font-weight: 500;
    letter-spacing: 0.05em; }

  h6 {
    font-weight: 500;
    letter-spacing: 0.05em; }

  p {
    font-weight: 500;
    letter-spacing: 0.05em; }

  dl {
    font-weight: 500;
    letter-spacing: 0.05em; } }
caption, th, td {
  font-weight: normal;
  text-align: left;
  vertical-align: top; }

img {
  max-width: 100%;
  height: auto;
  width: auto;
  border: 0;
  vertical-align: bottom; }

a, a:link a:visited {
  color: #7A7068;
  transition: all .3s;
  text-decoration: none; }

a:hover {
  color: #534099;
  text-decoration: none; }

a.imghover:link img {
  transition: all .3s; }

a.imghover:hover img {
  filter: alpha(opacity=80);
  opacity: 0.8; }

.imghover {
  transition: all .3s; }

.imghover:hover {
  filter: alpha(opacity=80);
  opacity: 0.8; }

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input:-internal-autofill-selected {
  background-color: #F5F0E8; }

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(0); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-delay: 0.6s;
  opacity: 0; }

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(20px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
@keyframes transformLeftRight {
  0% {
    transform: translateX(-100%); }
  100% {
    transform: translateX(0); } }
@keyframes transformRightLeft {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(100%); } }
@keyframes slide-left {
  from {
    opacity: 0;
    transform: translateX(-60px); }
  to {
    opacity: 1;
    transform: translateX(0); } }
/* ########## container ########## */
@media screen and (min-width: 1024px) {
  .container {
    position: relative;
    width: 100%;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    -moz-animation: fadeIn 2s ease 0s 1 normal;
    -o-animation: fadeIn 2s ease 0s 1 normal; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .container {
    position: relative;
    width: 100%;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    -moz-animation: fadeIn 2s ease 0s 1 normal;
    -o-animation: fadeIn 2s ease 0s 1 normal; } }
@media screen and (max-width: 767px) {
  .container {
    position: relative;
    width: 100%;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    -moz-animation: fadeIn 2s ease 0s 1 normal;
    -o-animation: fadeIn 2s ease 0s 1 normal; } }

/* ########## container ########## */
/* ########## page_contents ########## */
@media screen and (min-width: 1024px) {
  .page_contents {
    position: relative;
    width: 100%;
    padding: 100px 100px 0 0;
    background: url(../img/foot_backimg01.svg) no-repeat top 0 left 10px;
    background-size: 333px;
    background-color: #F5F0E8;
    /* ### header ### */
    /* ### header ### */
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents__header {
      position: relative;
      width: 90%;
      max-width: 1600px;
      height: 180px;
      margin: 0 auto;
      border-bottom: 1px solid #D4CFC6; }
      .page_contents__header__title {
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        z-index: 5; }
        .page_contents__header__title .title_sp {
          padding-bottom: 0; }
          .page_contents__header__title .title_sp p, .page_contents__header__title .title_sp h1 {
            opacity: 0;
            clip-path: inset(0 100% 0 0);
            transition: clip-path 0.8s ease, opacity 0.3s ease; }
            .page_contents__header__title .title_sp p.is-active, .page_contents__header__title .title_sp h1.is-active {
              opacity: 1;
              clip-path: inset(0 0% 0 0); }
    .page_contents__bread {
      position: relative;
      width: 100%;
      padding-top: 20px;
      max-width: 1600px; }
      .page_contents__bread ul {
        position: relative;
        width: 90%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin: 0 auto; }
        .page_contents__bread ul li {
          position: relative;
          font-size: 1.1rem; }
          .page_contents__bread ul li a, .page_contents__bread ul li a:link a:visited {
            position: relative;
            color: #666;
            font-weight: 500; }
          .page_contents__bread ul li a::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #534099;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .page_contents__bread ul li a:hover {
            color: #534099; }
          .page_contents__bread ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .page_contents__bread ul li.bread_list {
          padding-left: 29px; }
        .page_contents__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          width: 8px;
          height: 8px;
          top: 5px;
          left: 12px;
          background: url(../img/arrow_b01.svg) no-repeat 0 0;
          background-size: 8px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_contents {
    position: relative;
    width: 100%;
    padding: 80px 90px 0 0;
    background: url(../img/foot_backimg01.svg) no-repeat top 0 left 10px;
    background-size: 300px;
    background-color: #F5F0E8;
    /* ### header ### */
    /* ### header ### */
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents__header {
      position: relative;
      width: 90%;
      height: 160px;
      margin: 0 auto;
      border-bottom: 1px solid #D4CFC6; }
      .page_contents__header__title {
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        z-index: 5; }
        .page_contents__header__title .title_sp {
          padding-bottom: 0; }
          .page_contents__header__title .title_sp p, .page_contents__header__title .title_sp h1 {
            opacity: 0;
            clip-path: inset(0 100% 0 0);
            transition: clip-path 0.8s ease, opacity 0.3s ease; }
            .page_contents__header__title .title_sp p.is-active, .page_contents__header__title .title_sp h1.is-active {
              opacity: 1;
              clip-path: inset(0 0% 0 0); }
    .page_contents__bread {
      position: relative;
      width: 100%;
      padding-top: 20px; }
      .page_contents__bread ul {
        position: relative;
        width: 90%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin: 0 auto; }
        .page_contents__bread ul li {
          position: relative;
          font-size: 1.1rem; }
          .page_contents__bread ul li a, .page_contents__bread ul li a:link a:visited {
            position: relative;
            color: #666;
            font-weight: 500; }
          .page_contents__bread ul li a::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #534099;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .page_contents__bread ul li a:hover {
            color: #534099; }
          .page_contents__bread ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .page_contents__bread ul li.bread_list {
          padding-left: 29px; }
        .page_contents__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          width: 8px;
          height: 8px;
          top: 5px;
          left: 12px;
          background: url(../img/arrow_b01.svg) no-repeat 0 0;
          background-size: 8px; } }
@media screen and (max-width: 767px) {
  .page_contents {
    position: relative;
    padding-top: 60px;
    background: url(../img/foot_backimg01.svg) no-repeat top 0 left 5px;
    background-size: 160px;
    background-color: #F5F0E8;
    /* ### header ### */
    /* ### header ### */
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents__header {
      position: relative;
      width: 100%;
      height: 130px;
      padding: 0 6%;
      border-bottom: 1px solid #D4CFC6; }
      .page_contents__header__title {
        position: absolute;
        top: 50%;
        left: 6%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        z-index: 5; }
        .page_contents__header__title .title_sp {
          padding-bottom: 0; }
          .page_contents__header__title .title_sp p, .page_contents__header__title .title_sp h1 {
            opacity: 0;
            clip-path: inset(0 100% 0 0);
            transition: clip-path 0.8s ease, opacity 0.3s ease; }
            .page_contents__header__title .title_sp p.is-active, .page_contents__header__title .title_sp h1.is-active {
              opacity: 1;
              clip-path: inset(0 0% 0 0); }
    .page_contents__bread {
      position: relative;
      width: 100%;
      padding-top: 15px; }
      .page_contents__bread ul {
        position: relative;
        width: 88%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin: 0 auto; }
        .page_contents__bread ul li {
          position: relative;
          font-size: 1rem; }
          .page_contents__bread ul li a, .page_contents__bread ul li a:link a:visited {
            position: relative;
            color: #666;
            font-weight: 500; }
          .page_contents__bread ul li a::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #534099;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .page_contents__bread ul li a:hover {
            color: #534099; }
          .page_contents__bread ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .page_contents__bread ul li.bread_list {
          padding-left: 26px; }
        .page_contents__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          width: 6px;
          height: 6px;
          top: 5px;
          left: 10px;
          background: url(../img/arrow_b01.svg) no-repeat 0 0;
          background-size: 6px; } }

/* ########## page_contents ########## */
/* ########## page_contents02 ########## */
@media screen and (min-width: 1024px) {
  .page_contents02 {
    position: relative;
    width: 100%;
    padding: 100px 0 0 0;
    background: url(../img/foot_backimg01.svg) no-repeat top 0 left 10px;
    background-size: 333px;
    background-color: #F5F0E8;
    /* ### header ### */
    /* ### header ### */
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents02__header {
      position: relative;
      width: 95%;
      max-width: 1600px;
      margin-left: 5%; }
      .page_contents02__header__title {
        position: relative;
        width: 100%;
        height: 180px; }
        .page_contents02__header__title .title_sp {
          position: absolute;
          top: 50%;
          left: 0;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          z-index: 5;
          padding-bottom: 0; }
          .page_contents02__header__title .title_sp p, .page_contents02__header__title .title_sp h1 {
            opacity: 0;
            clip-path: inset(0 100% 0 0);
            transition: clip-path 2.8s ease, opacity 0.3s ease; }
            .page_contents02__header__title .title_sp p.is-active, .page_contents02__header__title .title_sp h1.is-active {
              opacity: 1;
              clip-path: inset(0 0% 0 0); }
      .page_contents02__header__img {
        position: relative;
        width: 100%;
        height: 450px;
        background-color: #E8E2D9;
        border-radius: 20px 0 0 20px;
        -webkit-border-radius: 20px 0 0 20px;
        -moz-border-radius: 20px 0 0 20px; }
        .page_contents02__header__img p {
          position: absolute;
          font-size: 1.1rem;
          z-index: 3;
          bottom: 20px;
          right: calc(100px + 5%);
          color: #fff; }
        .page_contents02__header__img__detail {
          position: relative;
          width: 100%;
          height: 450px;
          background-color: #E8E2D9;
          border-radius: 20px 0 0 20px;
          -webkit-border-radius: 20px 0 0 20px;
          -moz-border-radius: 20px 0 0 20px;
          overflow: hidden; }
    .page_contents02__bread {
      position: relative;
      width: 100%;
      padding: 20px 100px 0 0;
      max-width: 1600px; }
      .page_contents02__bread ul {
        position: relative;
        width: 90%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin: 0 auto; }
        .page_contents02__bread ul li {
          position: relative;
          font-size: 1.1rem; }
          .page_contents02__bread ul li a, .page_contents02__bread ul li a:link a:visited {
            position: relative;
            color: #666;
            font-weight: 500; }
          .page_contents02__bread ul li a::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #534099;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .page_contents02__bread ul li a:hover {
            color: #534099; }
          .page_contents02__bread ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .page_contents02__bread ul li.bread_list {
          padding-left: 29px; }
        .page_contents02__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          width: 8px;
          height: 8px;
          top: 5px;
          left: 12px;
          background: url(../img/arrow_b01.svg) no-repeat 0 0;
          background-size: 8px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_contents02 {
    position: relative;
    width: 100%;
    padding: 80px 0 0 0;
    background: url(../img/foot_backimg01.svg) no-repeat top 0 left 10px;
    background-size: 300px;
    background-color: #F5F0E8;
    /* ### header ### */
    /* ### header ### */
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents02__header {
      position: relative;
      width: 95%;
      margin-left: 5%; }
      .page_contents02__header__title {
        position: relative;
        width: 100%;
        height: 160px; }
        .page_contents02__header__title .title_sp {
          position: absolute;
          top: 50%;
          left: 0;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          z-index: 5;
          padding-bottom: 0; }
          .page_contents02__header__title .title_sp p, .page_contents02__header__title .title_sp h1 {
            opacity: 0;
            clip-path: inset(0 100% 0 0);
            transition: clip-path 2.8s ease, opacity 0.3s ease; }
            .page_contents02__header__title .title_sp p.is-active, .page_contents02__header__title .title_sp h1.is-active {
              opacity: 1;
              clip-path: inset(0 0% 0 0); }
      .page_contents02__header__img {
        position: relative;
        width: 100%;
        height: 350px;
        background-color: #E8E2D9;
        border-radius: 20px 0 0 20px;
        -webkit-border-radius: 20px 0 0 20px;
        -moz-border-radius: 20px 0 0 20px; }
        .page_contents02__header__img p {
          position: absolute;
          font-size: 1rem;
          z-index: 3;
          bottom: 20px;
          right: calc(90px + 5%);
          color: #fff; }
        .page_contents02__header__img__detail {
          position: relative;
          width: 100%;
          height: 350px;
          background-color: #E8E2D9;
          border-radius: 20px 0 0 20px;
          -webkit-border-radius: 20px 0 0 20px;
          -moz-border-radius: 20px 0 0 20px;
          overflow: hidden; }
    .page_contents02__bread {
      position: relative;
      width: 100%;
      padding: 20px 90px 0 0; }
      .page_contents02__bread ul {
        position: relative;
        width: 90%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin: 0 auto; }
        .page_contents02__bread ul li {
          position: relative;
          font-size: 1.1rem; }
          .page_contents02__bread ul li a, .page_contents02__bread ul li a:link a:visited {
            position: relative;
            color: #666;
            font-weight: 500; }
          .page_contents02__bread ul li a::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #534099;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .page_contents02__bread ul li a:hover {
            color: #534099; }
          .page_contents02__bread ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .page_contents02__bread ul li.bread_list {
          padding-left: 29px; }
        .page_contents02__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          width: 8px;
          height: 8px;
          top: 5px;
          left: 12px;
          background: url(../img/arrow_b01.svg) no-repeat 0 0;
          background-size: 8px; } }
@media screen and (max-width: 767px) {
  .page_contents02 {
    position: relative;
    padding-top: 60px;
    background: url(../img/foot_backimg01.svg) no-repeat top 0 left 5px;
    background-size: 160px;
    background-color: #F5F0E8;
    /* ### header ### */
    /* ### header ### */
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents02__header {
      position: relative;
      width: 94%;
      margin-left: 6%; }
      .page_contents02__header__title {
        position: relative;
        width: 100%;
        height: 130px; }
        .page_contents02__header__title .title_sp {
          position: absolute;
          top: 50%;
          left: 0;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          z-index: 5;
          padding-bottom: 0; }
          .page_contents02__header__title .title_sp p, .page_contents02__header__title .title_sp h1 {
            opacity: 0;
            clip-path: inset(0 100% 0 0);
            transition: clip-path 1.8s ease, opacity 0.3s ease; }
            .page_contents02__header__title .title_sp p.is-active, .page_contents02__header__title .title_sp h1.is-active {
              opacity: 1;
              clip-path: inset(0 0% 0 0); }
      .page_contents02__header__img {
        position: relative;
        width: 100%;
        height: 250px;
        background-color: #E8E2D9;
        border-radius: 12px 0 0 12px;
        -webkit-border-radius: 12px 0 0 12px;
        -moz-border-radius: 12px 0 0 12px; }
        .page_contents02__header__img p {
          position: absolute;
          font-size: 1rem;
          z-index: 3;
          bottom: 15px;
          right: 6%;
          color: #fff; }
        .page_contents02__header__img__detail {
          position: relative;
          width: 100%;
          height: 250px;
          background-color: #E8E2D9;
          border-radius: 12px 0 0 12px;
          -webkit-border-radius: 12px 0 0 12px;
          -moz-border-radius: 12px 0 0 12px;
          overflow: hidden; }
    .page_contents02__bread {
      position: relative;
      width: 100%;
      padding-top: 15px; }
      .page_contents02__bread ul {
        position: relative;
        width: 88%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin: 0 auto; }
        .page_contents02__bread ul li {
          position: relative;
          font-size: 1rem; }
          .page_contents02__bread ul li a, .page_contents02__bread ul li a:link a:visited {
            position: relative;
            color: #666;
            font-weight: 500; }
          .page_contents02__bread ul li a::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #534099;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .page_contents02__bread ul li a:hover {
            color: #534099; }
          .page_contents02__bread ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .page_contents02__bread ul li.bread_list {
          padding-left: 26px; }
        .page_contents02__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          width: 6px;
          height: 6px;
          top: 5px;
          left: 10px;
          background: url(../img/arrow_b01.svg) no-repeat 0 0;
          background-size: 6px; } }

/* ########## page_contents02 ########## */
/* ########## page_contents03 ########## */
@media screen and (min-width: 1024px) {
  .page_contents03 {
    position: relative;
    width: 100%;
    padding: 100px 100px 0 0;
    background: url(../img/foot_backimg01.svg) no-repeat top 0 left 10px;
    background-size: 333px;
    background-color: #F5F0E8;
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents03__bread {
      position: relative;
      width: 100%;
      max-width: 1600px; }
      .page_contents03__bread ul {
        position: relative;
        width: 90%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin: 0 auto; }
        .page_contents03__bread ul li {
          position: relative;
          font-size: 1.1rem; }
          .page_contents03__bread ul li a, .page_contents03__bread ul li a:link a:visited {
            position: relative;
            color: #666;
            font-weight: 500; }
          .page_contents03__bread ul li a::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #534099;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .page_contents03__bread ul li a:hover {
            color: #534099; }
          .page_contents03__bread ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .page_contents03__bread ul li.bread_list {
          padding-left: 29px; }
        .page_contents03__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          width: 8px;
          height: 8px;
          top: 5px;
          left: 12px;
          background: url(../img/arrow_b01.svg) no-repeat 0 0;
          background-size: 8px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_contents03 {
    position: relative;
    width: 100%;
    padding: 80px 90px 0 0;
    background: url(../img/foot_backimg01.svg) no-repeat top 0 left 10px;
    background-size: 300px;
    background-color: #F5F0E8;
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents03__bread {
      display: none; } }
@media screen and (max-width: 767px) {
  .page_contents03 {
    position: relative;
    padding-top: 60px;
    background: url(../img/foot_backimg01.svg) no-repeat top 0 left 5px;
    background-size: 160px;
    background-color: #F5F0E8;
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents03__bread {
      display: none; } }

/* ########## page_contents03 ########## */
/* ########## page_contents__detail ########## */
@media screen and (min-width: 1024px) {
  .page_contents__detail {
    position: relative;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_contents__detail {
    position: relative;
    width: 100%; } }
@media screen and (max-width: 767px) {
  .page_contents__detail {
    position: relative;
    width: 100%; } }

/* ########## page_contents__detail ########## */
/* ########## pagenavi ########## */
@media screen and (min-width: 1024px) {
  .wp-pagenavi {
    position: relative;
    width: 100%;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    font-size: 1.2rem;
    font-family: "Jost", sans-serif;
    letter-spacing: 0.05em;
    background-color: #E8E2D9;
    margin-top: 120px;
    padding: 17px 0;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi {
    position: relative;
    width: 100%;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    font-size: 1.2rem;
    font-family: "Jost", sans-serif;
    letter-spacing: 0.05em;
    background-color: #E8E2D9;
    margin-top: 120px;
    padding: 17px 0;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    position: relative;
    width: 100%;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    font-family: "Jost", sans-serif;
    letter-spacing: 0.05em;
    background-color: #E8E2D9;
    padding: 12px 0;
    margin-top: 100px; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi span.pages {
    display: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi span.pages {
    display: none; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi span.pages {
    display: none; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi span.current {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 52px;
    height: 52px;
    color: #F5F0E8;
    font-weight: 600;
    background-color: #534099;
    margin: 0 5px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi span.current {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    color: #F5F0E8;
    font-weight: 600;
    background-color: #534099;
    margin: 0 4px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border: none; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi span.current {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 42px;
    font-size: 1.1rem;
    color: #F5F0E8;
    font-weight: 600;
    background-color: #534099;
    margin: 0 3px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.first {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 52px;
    margin-right: 30px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.first {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 48px;
    margin-right: 40px; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi a.first {
    position: absolute;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 42px;
    top: 15px;
    left: 0;
    font-size: 1.1rem; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.last {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 52px;
    margin-left: 30px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.last {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 48px;
    margin-left: 40px; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi a.last {
    position: absolute;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 42px;
    top: 15px;
    right: 0;
    font-size: 1.1rem; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.page:link, a.page:visited {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 52px;
    height: 52px;
    font-weight: 500;
    background-color: #F5F0E8;
    margin: 0 5px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.page:link, a.page:visited {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    font-weight: 500;
    background-color: #F5F0E8;
    margin: 0 4px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%; } }

@media screen and (max-width: 767px) {
  .wp-pagenavi a.page {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 42px;
    font-weight: 500;
    font-size: 1.1rem;
    background-color: #F5F0E8;
    margin: 0 3px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.page:hover {
    background-color: #fff; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.page:hover {
    background-color: #fff; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.previouspostslink {
    position: absolute;
    top: 17px;
    left: 4%;
    display: block;
    height: 52px;
    line-height: 52px;
    font-size: 1.2rem;
    font-weight: 500;
    background: url(../img/arrow_b02.svg) no-repeat 0 center;
    background-size: 10px;
    padding: 0 0 0 18px;
    border: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.previouspostslink {
    position: absolute;
    top: 17px;
    left: 4%;
    display: block;
    height: 48px;
    line-height: 48px;
    font-size: 1.1rem;
    font-weight: 500;
    background: url(../img/arrow_b02.svg) no-repeat 0 center;
    background-size: 10px;
    padding: 0 0 0 18px;
    border: none; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi a.previouspostslink {
    display: none; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.nextpostslink {
    position: absolute;
    top: 17px;
    right: 4%;
    display: block;
    height: 52px;
    line-height: 52px;
    font-size: 1.2rem;
    font-weight: 500;
    background: url(../img/arrow_b01.svg) no-repeat right center;
    background-size: 10px;
    padding: 0 18px 0 0;
    border: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.nextpostslink {
    position: absolute;
    top: 17px;
    right: 4%;
    display: block;
    height: 48px;
    line-height: 48px;
    font-size: 1.1rem;
    font-weight: 500;
    background: url(../img/arrow_b01.svg) no-repeat right center;
    background-size: 10px;
    padding: 0 18px 0 0;
    border: none; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi a.nextpostslink {
    display: none; } }

/* ########## pagenavi ########## */
/* ########## page_contents_block ########## */
@media screen and (min-width: 1024px) {
  .page_contents_block {
    width: 100%;
    z-index: 10; } }

@media screen and (min-width: 1024px) {
  .page_contents_block:nth-child(n+2) {
    width: 100%;
    z-index: 10; } }

/* ########## page_contents_block ########## */
/* ########## page_contents_list ########## */
@media screen and (min-width: 1024px) {
  .page_contents_list {
    width: 100%; }
    .page_contents_list ul {
      width: 100%; }
      .page_contents_list ul li {
        position: relative;
        font-size: 1.4rem;
        margin-bottom: 12px; }
        .page_contents_list ul li a, .page_contents_list ul li a:link a:visited {
          display: block;
          width: 100%;
          font-weight: 500;
          padding-left: 14px; }
        .page_contents_list ul li a:hover {
          color: #7A7068; }
      .page_contents_list ul li::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 2px;
        width: 6px;
        height: 1px;
        background-color: #534099;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%); }
      .page_contents_list ul .link-current a {
        position: relative;
        color: #534099 !important;
        font-weight: 600; }
      .page_contents_list ul .link-current a::after {
        content: '';
        position: absolute;
        top: 5px;
        right: 40px;
        width: 10px;
        height: 10px;
        background: url(../img/arrow_bl.svg) no-repeat center center;
        background-size: 10px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_contents_list {
    display: none; } }
@media screen and (max-width: 767px) {
  .page_contents_list {
    display: none; } }

/* ########## page_contents_list ########## */
/* ########## feature__contents ########## */
@media screen and (min-width: 1024px) {
  .feature__contents {
    position: relative;
    width: 90%;
    margin: 140px auto 0; }
    .feature__contents .title_sp {
      margin-top: 100px; }
    .feature__contents__list {
      position: relative;
      width: 100%;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      .feature__contents__list__sp {
        position: relative;
        width: 31.5%;
        overflow: hidden;
        margin-right: 2.75%; }
        .feature__contents__list__sp a {
          position: relative;
          width: 100%;
          display: block;
          overflow: hidden; }
          .feature__contents__list__sp a .feature__contents__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 14px;
            -webkit-border-radius: 14px;
            -moz-border-radius: 14px;
            overflow: hidden; }
            .feature__contents__list__sp a .feature__contents__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .feature__contents__list__sp a .feature__contents__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-size: 1.2rem;
              color: #fff;
              letter-spacing: 0.1em; }
            .feature__contents__list__sp a .feature__contents__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .feature__contents__list__sp a .feature__contents__list__sp__img:hover img {
            transform: scale(1.1); }
          .feature__contents__list__sp a .feature__contents__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .feature__contents__list__sp a .feature__contents__list__sp__txt {
            position: relative;
            width: 100%;
            height: 72px;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center; }
            .feature__contents__list__sp a .feature__contents__list__sp__txt h3 {
              color: #534099;
              font-size: 1.8rem;
              font-weight: 700;
              line-height: 1.6; }
        .feature__contents__list__sp .arrow {
          overflow: hidden;
          position: absolute;
          top: 50%;
          right: 0;
          width: 32px;
          height: 32px;
          background-color: #fff;
          border: 1px solid #D4CFC6;
          border-radius: 50%;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          z-index: 5; }
        .feature__contents__list__sp .arrow:before,
        .feature__contents__list__sp .arrow:after {
          content: "";
          position: absolute;
          top: 0;
          right: 0;
          width: 29px;
          height: 31px;
          background: url(../img/arrow_p01.svg) no-repeat center center;
          background-size: 10px;
          animation-fill-mode: forwards;
          animation-duration: 0.3s; }
        .feature__contents__list__sp .arrow:after {
          transform: translateX(-100%); }
        .feature__contents__list__sp a:hover .arrow:before {
          animation-name: transformRightLeft;
          /* 修正: hover時のアニメーションを指定 */
          animation-delay: 0s; }
        .feature__contents__list__sp a:hover .arrow:after {
          animation-name: transformLeftRight;
          /* 修正: hover時のアニメーションを指定 */
          animation-delay: 0.2s; }
      .feature__contents__list__sp:nth-child(3n) {
        margin-right: 0; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .feature__contents {
    position: relative;
    width: 90%;
    margin: 120px auto 0; }
    .feature__contents .title_sp {
      margin-top: 80px; }
    .feature__contents__list {
      position: relative;
      width: 100%;
      border-top: 1px solid #D4CFC6; }
      .feature__contents__list__sp {
        position: relative;
        width: 100%;
        overflow: hidden;
        border-bottom: 1px solid #D4CFC6; }
        .feature__contents__list__sp a {
          position: relative;
          width: 100%;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: center;
          overflow: hidden;
          padding: 30px 0; }
          .feature__contents__list__sp a .feature__contents__list__sp__img {
            position: relative;
            width: 30%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px;
            overflow: hidden; }
            .feature__contents__list__sp a .feature__contents__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .feature__contents__list__sp a .feature__contents__list__sp__img .caption {
              display: none; }
            .feature__contents__list__sp a .feature__contents__list__sp__img .mask {
              display: none; }
          .feature__contents__list__sp a .feature__contents__list__sp__txt {
            position: relative;
            flex: 1;
            padding-left: 25px; }
            .feature__contents__list__sp a .feature__contents__list__sp__txt h3 {
              color: #534099;
              font-size: 1.8rem;
              font-weight: 700;
              line-height: 1.6; }
        .feature__contents__list__sp .arrow {
          display: none; } }
@media screen and (max-width: 767px) {
  .feature__contents {
    position: relative;
    width: 88%;
    margin: 120px auto 0; }
    .feature__contents .title_sp {
      margin-top: 60px; }
    .feature__contents__list {
      position: relative;
      width: 100%; }
      .feature__contents__list__sp {
        position: relative;
        width: 100%;
        overflow: hidden; }
        .feature__contents__list__sp a {
          position: relative;
          width: 100%;
          display: block;
          overflow: hidden; }
          .feature__contents__list__sp a .feature__contents__list__sp__img {
            position: relative;
            width: 100%;
            border-radius: 12px;
            -webkit-border-radius: 12px;
            -moz-border-radius: 12px;
            overflow: hidden; }
            .feature__contents__list__sp a .feature__contents__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .feature__contents__list__sp a .feature__contents__list__sp__img .caption {
              display: none; }
            .feature__contents__list__sp a .feature__contents__list__sp__img .mask {
              display: none; }
          .feature__contents__list__sp a .feature__contents__list__sp__txt {
            position: relative;
            width: 100%;
            height: 60px;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center; }
            .feature__contents__list__sp a .feature__contents__list__sp__txt h3 {
              color: #534099;
              font-size: 1.6rem;
              font-weight: 700;
              line-height: 1.6; }
        .feature__contents__list__sp .arrow {
          overflow: hidden;
          position: absolute;
          top: 50%;
          right: 0;
          width: 30px;
          height: 30px;
          background-color: #fff;
          border: 1px solid #D4CFC6;
          border-radius: 50%;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          z-index: 5; }
        .feature__contents__list__sp .arrow:before,
        .feature__contents__list__sp .arrow:after {
          content: "";
          position: absolute;
          top: 0;
          right: 0;
          width: 27px;
          height: 29px;
          background: url(../img/arrow_p01.svg) no-repeat center center;
          background-size: 8px;
          animation-fill-mode: forwards;
          animation-duration: 0.3s; }
        .feature__contents__list__sp .arrow:after {
          transform: translateX(-100%); }
        .feature__contents__list__sp a:hover .arrow:before {
          animation-name: transformRightLeft;
          /* 修正: hover時のアニメーションを指定 */
          animation-delay: 0s; }
        .feature__contents__list__sp a:hover .arrow:after {
          animation-name: transformLeftRight;
          /* 修正: hover時のアニメーションを指定 */
          animation-delay: 0.2s; }
      .feature__contents__list__sp:nth-child(n+2) {
        margin-top: 30px; } }

/* ########## feature__contents ########## */
/* ########## form_style ########## */
@media screen and (min-width: 1024px) {
  span.input_font {
    font-size: 1.2rem;
    padding-top: 10px; }

  span.wpcf7-not-valid-tip {
    font-size: 1.2rem;
    font-weight: 500;
    color: #e2717c;
    padding-top: 6px; }

  .error {
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: #e2717c !important;
    display: block !important;
    padding-top: 6px !important; }

  p.contact_font_style01 {
    font-size: 1.2rem;
    padding-top: 10px; }

  p.contact_font_style02 {
    font-size: 1.2rem;
    padding-top: 10px;
    padding-bottom: 5px; }

  p.contact_font_style03 {
    font-size: 1.2rem;
    padding-bottom: 5px; }

  /* contact form7 */
  input.input_title01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: none;
    padding: 12px 0;
    width: 100%; }

  input.input_text01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 70%;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_text02 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 100%;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_text03 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 120px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    margin: 0 10px; }

  input.input_zip01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 200px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_date01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 260px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_tel01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 50%;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  .select_style01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    padding: 12px 20px;
    width: 260px;
    margin-left: 5px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 10px;
    background-color: #fff; }

  .select_style02 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    padding: 12px 20px;
    width: 130px;
    margin-left: 5px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 10px;
    background-color: #fff; }

  .wpcf7-checkbox {
    display: block;
    width: 50%; }
    .wpcf7-checkbox .wpcf7-list-item {
      display: block;
      width: 100%;
      font-size: 1.6rem;
      margin-left: 0 !important; }
    .wpcf7-checkbox .wpcf7-list-item:nth-child(n+2) {
      margin-top: 6px; }

  .wpcf7-response-output {
    position: relative;
    width: 860px;
    color: #e2717c;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    background-color: #F5F0E8;
    padding: 35px 10px !important;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border: none !important;
    margin: 60px auto 0 !important; }

  h6.form_btn_style01 {
    position: relative;
    width: 360px;
    height: 60px;
    margin: 0 auto; }
    h6.form_btn_style01 input {
      position: relative;
      cursor: pointer;
      width: 100%;
      height: 60px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      margin: 0 auto;
      color: #fff;
      font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
      display: block !important;
      text-align: center;
      font-size: 1.6rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      line-height: 1.0;
      background-color: #534099;
      transition: all .3s;
      border: none;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px; }
    h6.form_btn_style01 input:hover {
      background-color: #403083; }

  h6.form_btn_style01::after {
    content: '';
    position: absolute;
    cursor: pointer;
    top: 11px;
    right: 11px;
    width: 38px;
    height: 38px;
    background: url(../img/arrow_p01.svg) no-repeat center center;
    background-size: 12px;
    background-color: #fff;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    transition: all .3s; }

  h6.form_btn_style02 {
    position: relative;
    width: 360px;
    height: 60px;
    margin: 0 auto; }
    h6.form_btn_style02 input {
      position: relative;
      cursor: pointer;
      width: 360px;
      height: 60px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      margin: 15px auto 0;
      color: #534099;
      font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
      display: block !important;
      text-align: center;
      font-size: 1.6rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      line-height: 1.0;
      background-color: #fff;
      border: none;
      transition: all .3s;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px;
      border: 1px solid #D4CFC6; }
    h6.form_btn_style02 input:hover {
      background-color: #F5F0E8; }

  h6.form_btn_style02::after {
    content: '';
    cursor: pointer;
    position: absolute;
    top: 11px;
    left: 11px;
    width: 38px;
    height: 38px;
    background: url(../img/arrow_w02.svg) no-repeat center center;
    background-size: 10px;
    background-color: #534099;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    transition: all .3s; }

  /* contact form7 */
  textarea {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    line-height: 2.0;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 20px;
    width: 100%;
    height: 200px;
    border-radius: 14px;
    -webkit-border-radius: 14px;
    -moz-border-radius: 14px; }

  ::placeholder {
    color: #ccc;
    font-weight: 400;
    font-size: 1.6rem; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  span.input_font {
    font-size: 1.1rem;
    padding-top: 10px; }

  span.wpcf7-not-valid-tip {
    font-size: 1.1rem;
    font-weight: 500;
    color: #e2717c;
    padding-top: 6px; }

  .error {
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: #e2717c !important;
    display: block !important;
    padding-top: 6px !important; }

  .wpcf7-list-item {
    margin: 0 !important; }

  p.contact_font_style01 {
    font-size: 1.1rem;
    padding-top: 10px; }

  p.contact_font_style02 {
    font-size: 1.1rem;
    padding-top: 10px;
    padding-bottom: 5px; }

  p.contact_font_style03 {
    font-size: 1.1rem;
    padding-bottom: 5px; }

  /* contact form7 */
  input.input_title01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: none;
    padding: 12px 0;
    width: 100%; }

  input.input_text01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 80%;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_text02 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 100%;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_text03 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 100px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    margin: 0 10px; }

  input.input_zip01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 35%;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_date01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 220px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_tel01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 12px 20px;
    width: 80%;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  .select_style01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.075em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 10px;
    background-color: #fff;
    padding: 12px 20px;
    width: 220px;
    margin-left: 5px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  .select_style02 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.075em;
    font-weight: 500;
    border: 1px solid #D4CFC6;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 10px;
    background-color: #fff;
    padding: 12px 20px;
    width: 120px;
    margin-left: 5px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  .wpcf7-checkbox {
    display: block;
    width: 100%; }
    .wpcf7-checkbox .wpcf7-list-item {
      display: block;
      width: 100%;
      font-size: 1.6rem;
      margin-left: 0 !important; }
    .wpcf7-checkbox .wpcf7-list-item:nth-child(n+2) {
      margin-top: 6px; }

  .wpcf7-response-output {
    position: relative;
    width: 100%;
    color: #e2717c;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    background-color: #F5F0E8;
    padding: 35px 5px !important;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border: none !important;
    margin: 45px 0 0 !important; }

  h6.form_btn_style01 {
    position: relative;
    width: 340px;
    height: 56px;
    margin: 0 auto; }
    h6.form_btn_style01 input {
      position: relative;
      cursor: pointer;
      width: 100%;
      height: 56px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      margin: 0 auto;
      color: #fff;
      font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
      display: block !important;
      text-align: center;
      font-size: 1.6rem;
      font-weight: 700;
      letter-spacing: 0.05em;
      line-height: 1.0;
      background-color: #534099;
      transition: all .3s;
      border: none;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px; }
    h6.form_btn_style01 input:hover {
      background-color: #403083; }

  h6.form_btn_style01::after {
    content: '';
    position: absolute;
    top: 11px;
    right: 11px;
    width: 34px;
    height: 34px;
    background: url(../img/arrow_p01.svg) no-repeat center center;
    background-size: 10px;
    background-color: #fff;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    transition: all .3s; }

  h6.form_btn_style02 {
    position: relative;
    width: 340px;
    height: 56px;
    margin: 0 auto; }
    h6.form_btn_style02 input {
      position: relative;
      cursor: pointer;
      width: 100%;
      height: 56px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      margin: 15px auto 0;
      color: #534099;
      font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
      display: block !important;
      text-align: center;
      font-size: 1.6rem;
      font-weight: 700;
      letter-spacing: 0.05em;
      line-height: 1.0;
      background-color: #fff;
      border: none;
      transition: all .3s;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px;
      border: 1px solid #D4CFC6; }
    h6.form_btn_style02 input:hover {
      background-color: #F5F0E8; }

  h6.form_btn_style02::after {
    content: '';
    position: absolute;
    top: 11px;
    left: 11px;
    width: 34px;
    height: 34px;
    background: url(../img/arrow_w02.svg) no-repeat center center;
    background-size: 10px;
    background-color: #534099;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    transition: all .3s; }

  /* contact form7 */
  textarea {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    line-height: 2.0;
    border: 1px solid #D4CFC6;
    background-color: #fff;
    padding: 20px;
    width: 100%;
    height: 200px;
    border-radius: 14px;
    -webkit-border-radius: 14px;
    -moz-border-radius: 14px; }

  ::placeholder {
    color: #ccc;
    font-weight: 400;
    font-size: 1.6rem; } }
@media screen and (max-width: 767px) {
  span.input_font {
    font-size: 1.1rem;
    padding-top: 10px; }

  span.wpcf7-not-valid-tip {
    font-size: 1.1rem;
    font-weight: 500;
    color: #e2717c;
    padding-top: 5px; }

  .error {
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: #e2717c !important;
    display: block !important;
    padding-top: 5px !important; }

  p.contact_font_style01 {
    font-size: 1.1rem;
    margin-top: 8px; }

  p.contact_font_style02 {
    font-size: 1.1rem;
    margin-top: 8px;
    padding-bottom: 5px; }

  p.contact_font_style03 {
    font-size: 1.1rem;
    padding-bottom: 5px; }

  /* contact form7 */
  input.input_title01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: none;
    padding: 0;
    width: 100%; }

  input.input_text01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid #D4CFC6;
    padding: 12px;
    width: 100%;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_text02 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid #D4CFC6;
    padding: 12px;
    width: 100%;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_text03 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid #D4CFC6;
    padding: 12px;
    width: 80px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    margin: 0 6px 0 8px; }

  input.input_tel01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid #D4CFC6;
    padding: 12px;
    width: 100%;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_zip01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid #D4CFC6;
    padding: 12px;
    width: 50%;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  input.input_date01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid #D4CFC6;
    padding: 12px;
    width: 180px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px; }

  .select_style01 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid #D4CFC6;
    padding: 10px;
    width: 180px;
    margin-left: 5px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 8px; }

  .select_style02 {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid #D4CFC6;
    padding: 10px;
    width: 100px;
    margin-left: 5px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 8px; }

  .wpcf7-checkbox {
    display: block;
    width: 100%; }
    .wpcf7-checkbox .wpcf7-list-item {
      display: block;
      width: 100%;
      font-size: 1.3rem;
      font-weight: 500;
      margin-left: 0 !important; }
    .wpcf7-checkbox .wpcf7-list-item:nth-child(n+2) {
      margin-top: 4px; }

  .wpcf7-response-output {
    position: relative;
    width: 88%;
    color: #e2717c;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.05em;
    background-color: #F5F0E8;
    padding: 25px 25px !important;
    border-radius: 18px;
    -webkit-border-radius: 18px;
    -moz-border-radius: 18px;
    border: none !important;
    margin: 40px auto 0 !important; }

  h6.form_btn_style01 {
    position: relative;
    width: 100%;
    height: 52px; }
    h6.form_btn_style01 input {
      position: relative;
      width: 100%;
      height: 52px;
      font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.0;
      letter-spacing: 0.05em;
      background-color: #534099;
      border: none;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px; }

  h6.form_btn_style01::after {
    content: '';
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    background: url(../img/arrow_p01.svg) no-repeat center center;
    background-size: 10px;
    background-color: #fff;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%; }

  h6.form_btn_style02 {
    position: relative;
    width: 100%;
    height: 52px; }
    h6.form_btn_style02 input {
      position: relative;
      width: 100%;
      height: 52px;
      font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #534099;
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 1.0;
      letter-spacing: 0.05em;
      background-color: #fff;
      border: none;
      margin-top: 15px;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px;
      border: 1px solid #D4CFC6; }

  h6.form_btn_style02::after {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    width: 32px;
    height: 32px;
    background: url(../img/arrow_w02.svg) no-repeat center center;
    background-size: 10px;
    background-color: #534099;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%; }

  /* contact form7 */
  textarea {
    color: #666;
    font-size: 1.6rem;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 2.0;
    border: 1px solid #D4CFC6;
    padding: 12px;
    width: 100%;
    height: 200px;
    border-radius: 12px;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px; }

  ::placeholder {
    color: #ccc;
    font-weight: 400;
    font-size: 1.6rem; } }
/* ########## form_style ########## */
/* ########## page_contents__delimiter ########## */
@media screen and (min-width: 1024px) {
  .page_contents__delimiter {
    position: relative;
    width: 100%;
    height: 50px;
    background: url(../img/lh_mark.svg) no-repeat center center;
    background-size: 50px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_contents__delimiter {
    position: relative;
    width: 100%;
    height: 46px;
    background: url(../img/lh_mark.svg) no-repeat center center;
    background-size: 46px; } }
@media screen and (max-width: 767px) {
  .page_contents__delimiter {
    position: relative;
    width: 100%;
    height: 40px;
    background: url(../img/lh_mark.svg) no-repeat center center;
    background-size: 40px; } }

@media screen and (min-width: 1024px) {
  .page_contents__delimiter::after {
    position: absolute;
    content: '';
    width: 47.5%;
    height: 1px;
    border-top: 1px solid #D4CFC6;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_contents__delimiter::after {
    position: absolute;
    content: '';
    width: 47%;
    height: 1px;
    border-top: 1px solid #D4CFC6;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%); } }
@media screen and (max-width: 767px) {
  .page_contents__delimiter::after {
    position: absolute;
    content: '';
    width: 44%;
    height: 1px;
    border-top: 1px solid #D4CFC6;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%); } }

@media screen and (min-width: 1024px) {
  .page_contents__delimiter::before {
    position: absolute;
    content: '';
    width: 47.5%;
    height: 1px;
    border-top: 1px solid #D4CFC6;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_contents__delimiter::before {
    position: absolute;
    content: '';
    width: 47%;
    height: 1px;
    border-top: 1px solid #D4CFC6;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%); } }
@media screen and (max-width: 767px) {
  .page_contents__delimiter::before {
    position: absolute;
    content: '';
    width: 44%;
    height: 1px;
    border-top: 1px solid #D4CFC6;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%); } }

/* ########## page_contents__delimiter ########## */
/* ########## class_style ########## */
@media screen and (min-width: 1024px) {
  #ui-datepicker-div {
    width: 260px;
    padding: 1rem !important;
    border: 1px solid #D4CFC6; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  #ui-datepicker-div {
    width: 260px;
    padding: 1rem !important;
    border: 1px solid #D4CFC6; } }
@media screen and (max-width: 767px) {
  #ui-datepicker-div {
    width: 280px;
    padding: 1rem !important;
    border: 1px solid #D4CFC6; } }

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button, html
.ui-button.ui-state-disabled:hover, html
.ui-button.ui-state-disabled:active {
  font-family: "Jost", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  padding: 5px 5px !important; }

.ui-widget-header {
  font-family: "Jost", sans-serif !important;
  color: #333 !important;
  font-weight: 600 !important; }

table.ui-datepicker-calendar th {
  font-family: "Jost", sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important; }

@media screen and (min-width: 1024px) {
  .mt_0 {
    margin-top: 0 !important; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mt_0 {
    margin-top: 0 !important; } }
@media screen and (max-width: 767px) {
  .mt_0 {
    margin-top: 0 !important; } }

@media screen and (min-width: 1024px) {
  .img_border01 {
    border: 1px solid #D4CFC6; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .img_border01 {
    border: 1px solid #D4CFC6; } }
@media screen and (max-width: 767px) {
  .img_border01 {
    border: 1px solid #D4CFC6; } }

@media screen and (min-width: 1024px) {
  .fadein {
    opacity: 0;
    transform: translate(0, 15px);
    transition: all 1000ms; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .fadein {
    opacity: 0;
    transform: translate(0, 15px);
    transition: all 1000ms; } }

@media screen and (min-width: 1024px) {
  .fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }

@media screen and (max-width: 767px) {
  .sp_fadein {
    opacity: 0;
    transform: translate(0, 15px);
    transition: all 1000ms; } }

@media screen and (max-width: 767px) {
  .sp_fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }

@media screen and (min-width: 1024px) {
  .fadein_left {
    opacity: 0;
    transform: translate(-20px, 0);
    transition: all 1000ms; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .fadein_left {
    opacity: 0;
    transform: translate(20px, 0);
    transition: all 1000ms; } }

@media screen and (min-width: 1024px) {
  .fadein_left.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .fadein_left.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }

@media screen and (max-width: 767px) {
  .sp_fadein_left {
    opacity: 0;
    transform: translate(-10px, 0);
    transition: all 1000ms; } }

@media screen and (max-width: 767px) {
  .sp_fadein_left.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }

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

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

@media screen and (min-width: 1024px) {
  .sticky {
    position: sticky;
    position: -webkit-sticky;
    top: 120px; } }

.f_black_style01 {
  color: #666; }

.f_black_style02 {
  color: #666;
  font-weight: 500; }

.f_red_style01 {
  color: #e2717c; }

.f_red_style02 {
  color: #e2717c;
  font-weight: 500; }

/* ########## class_style ########## */
/* ########## recaptcha ########## */
.grecaptcha-badge {
  visibility: hidden; }

/* ########## recaptcha ########## */
