@charset "UTF-8";
/* ------------------------------------------------- *
 *        ＠レイアウトCSS　　　　　　　　　　　　　　　　　　
 * ------------------------------------------------- */
html {
  font-size: 100%;
  font-size: 62.5%;
  word-break: break-all; }

body {
  background: #f5efec;
  color: #333;
  font-family: "din-2014, sans-serif", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
  letter-spacing: 1px; }

a:link, a:active, a:visited {
  color: #333;
  text-decoration: none; }
a:hover {
  opacity: 0.8; }

table {
  border-collapse: collapse; }

.wrapper, header nav ul, .wrap-footer {
  margin: 0 auto;
  max-width: 1100px; }

#single-details, #category {
  margin-bottom: 5rem;
  margin-top: 3rem;
  margin: auto;
  width: 62%; }
  @media only screen and (max-width: 767px) {
    #single-details, #category {
      padding: 0 1.5rem;
      width: 100%; } }

.wrapper {
  position: relative; }
  .wrapper img {
    height: auto;
    max-width: 100%; }
  .wrapper a img:hover {
    opacity: 0.8;
    transition: 0.3s; }

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

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

/* ------------------------------------------------- *
 *        ＠ヘッダー　　　　　　　　　　　　　　　　　　
 * ------------------------------------------------- */
header {
  background: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); }
  header .wrapper {
    display: flex;
    align-items: flex-end;
    padding: 1rem 0; }
    @media only screen and (max-width: 767px) {
      header .wrapper {
        display: block;
        padding: 1.5rem;
        margin-bottom: 0; } }
    @media only screen and (max-width: 767px) {
      header .wrapper .area-flex {
        display: flex;
        align-items: flex-end;
        margin-bottom: 1rem; }
        header .wrapper .area-flex .right-area {
          display: flex;
          justify-content: flex-end;
          margin-left: auto;
          width: 38%; }
          header .wrapper .area-flex .right-area .box-line-sp {
            font-size: 1rem;
            margin-right: 1rem;
            text-align: center; }
            header .wrapper .area-flex .right-area .box-line-sp img {
              margin: .2rem auto .4rem;
              width: 40px; }
          header .wrapper .area-flex .right-area .box-tel-sp {
            font-size: 1rem;
            text-align: center; }
            header .wrapper .area-flex .right-area .box-tel-sp i.fa-phone {
              color: #d30016;
              display: block;
              font-size: 3.2rem;
              line-height: 5rem;
              text-align: center; } }
    header .wrapper .logo img {
      width: 200px; }
      @media only screen and (max-width: 767px) {
        header .wrapper .logo img {
          width: 180px; } }
    header .wrapper .company-name {
      font-size: 1.2rem;
      margin-bottom: .5rem; }
      @media only screen and (max-width: 767px) {
        header .wrapper .company-name {
          font-size: 1rem;
          margin-bottom: .3rem;
          text-align: left; } }
    header .wrapper .content-area {
      align-items: center;
      margin-left: auto;
      display: flex;
      justify-content: flex-end;
      width: 55%; }
      header .wrapper .content-area .box-line, header .wrapper .content-area .box-tel {
        font-size: 1.2rem;
        font-weight: 700;
        line-height: 1.2;
        text-align: center;
        width: 15%; }
      header .wrapper .content-area .box-line .img-icon, header .wrapper .content-area .box-tel .img-icon {
        width: 40%;
        margin: 0 auto .5rem; }
  header nav {
    border-top: 1px solid #83807e;
    border-bottom: 1px solid #83807e; }
    header nav ul {
      font-size: 1.4rem;
      display: flex;
      justify-content: center;
      padding: 1rem; }
      @media only screen and (max-width: 767px) {
        header nav ul {
          justify-content: flex-start;
          overflow-x: auto;
          font-size: 1.6rem; } }
      header nav ul li {
        list-style: none;
        padding: 0 4rem;
        border-right: 1px solid #333; }
        @media only screen and (max-width: 767px) {
          header nav ul li {
            display: inline-block;
            flex: 0 0 auto;
            padding: 0 1.5rem; } }
        header nav ul li:first-child {
          border-left: 1px solid #83807e; }
        header nav ul li a {
          color: #333;
          font-weight: bold; }
          header nav ul li a:link, header nav ul li a:active, header nav ul li a:visited {
            color: #333;
            font-weight: bold; }
          header nav ul li a:link i, header nav ul li a:active i, header nav ul li a:visited i, header nav ul li a i {
            padding-left: 1rem; }

/* ------------------------------------------------- *
 *        ＠トップページ　　　　　　　　　　　　　　　　　　
 * ------------------------------------------------- */
.mainvisual {
  margin: 0 0 2rem;
  width: 100%; }

.list-title {
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 2.5rem;
  border-bottom: 2px solid #F08400;
  font-weight: bold;
  padding-bottom: .5rem; }
  @media only screen and (max-width: 767px) {
    .list-title {
      width: 90%;
      margin: 1rem auto 1.5rem; } }

#item-list .category-title {
  background: #ff6e14;
  color: #fff;
  font-size: 2rem;
  margin-bottom: 3rem;
  padding: 1rem;
  text-align: center;
  width: 100%; }
  @media only screen and (max-width: 767px) {
    #item-list .category-title {
      font-size: 1.8rem;
      margin-bottom: 2rem;
      padding: .5rem; } }
#item-list .item-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin-bottom: 4rem; }
  @media only screen and (max-width: 767px) {
    #item-list .item-wrap {
      margin-bottom: 1rem; } }
  #item-list .item-wrap .item {
    background: #fff;
    border: 1px solid #F08400;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    padding: 2rem;
    width: 45%; }
    @media only screen and (max-width: 767px) {
      #item-list .item-wrap .item {
        margin: 0 auto 2rem;
        padding: 1.5rem;
        width: 90%; } }
    #item-list .item-wrap .item h3 {
      border-bottom: solid 2px #ff6e14;
      font-size: 2rem;
      padding-bottom: .5rem;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        #item-list .item-wrap .item h3 {
          font-size: 1.8rem; } }
    #item-list .item-wrap .item .logo {
      margin: auto;
      width: 80%; }
    #item-list .item-wrap .item .catch-text {
      font-size: 1.6rem;
      margin-bottom: 1rem;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        #item-list .item-wrap .item .catch-text {
          font-size: 1.4rem; } }
    #item-list .item-wrap .item .btn-cv span {
      display: block;
      font-size: 1.6rem; }
      @media only screen and (max-width: 767px) {
        #item-list .item-wrap .item .btn-cv span {
          font-size: 1.4rem; } }

.text-info {
  padding: 0 2rem; }
  .text-info p {
    font-size: 1.2rem; }
  .text-info .number-text {
    text-align: right;
    margin-top: 1rem; }

.contact-area {
  display: flex;
  margin: 5rem auto;
  align-items: center; }
  @media only screen and (max-width: 767px) {
    .contact-area {
      display: block;
      margin: 2rem auto 5rem;
      width: 95%; } }
  .contact-area .mail-btn, .contact-area .line-btn {
    width: 50%; }
    @media only screen and (max-width: 767px) {
      .contact-area .mail-btn, .contact-area .line-btn {
        width: auto;
        height: auto; } }
  .contact-area .mail-btn a, .contact-area .line-btn a {
    display: block;
    padding: 2rem;
    text-align: center;
    font-weight: bold; }
  .contact-area .mail-btn p, .contact-area .line-btn p {
    font-size: 2.8rem;
    color: #fff; }
  .contact-area .mail-btn i, .contact-area .line-btn i {
    padding-right: 1rem; }
  .contact-area .mail-btn {
    margin-right: 1.5rem; }
    @media only screen and (max-width: 767px) {
      .contact-area .mail-btn {
        margin-right: 0;
        margin-bottom: 1rem;
        padding-top: 2rem; } }
    .contact-area .mail-btn a {
      padding: 3.2rem;
      background: #fff;
      border: 2px solid #F08400;
      color: #F08400;
      font-size: 1.8rem; }
      @media only screen and (max-width: 767px) {
        .contact-area .mail-btn a {
          font-size: 1.6rem; } }
  .contact-area .line-btn a {
    background: #ff6e14;
    color: #fff;
    font-size: 2.5rem; }
    .contact-area .line-btn a .text-02 {
      font-size: 1.2rem; }
  .contact-area .line-btn img {
    width: 20px;
    margin-right: 1rem; }

/* ///////// POPUPタブデザイン ////////////*/
.cover-eml {
  background: rgba(0, 0, 0, 0.7);
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 100; }
  .cover-eml .contents {
    width: 60%;
    background: #fff;
    margin: auto;
    margin-top: 15%;
    box-shadow: 0px 0px 15px -5px #000;
    border-radius: 1.5rem;
    border: 2px solid #F08400; }
    @media only screen and (max-width: 767px) {
      .cover-eml .contents {
        width: 95%;
        margin-top: 25%; } }
    .cover-eml .contents .sub-txt {
      position: relative;
      text-align: center;
      color: #333;
      font-weight: bold;
      font-size: 1.8rem;
      background: #F08400;
      border-radius: 1rem 1rem 0 0;
      color: #fff;
      padding: 1rem; }
      .cover-eml .contents .sub-txt::after {
        content: '';
        position: absolute;
        bottom: -10px;
        left: 50%;
        margin-left: -10px;
        border-width: 15px 15px 0;
        border-style: solid;
        border-color: #F08400 transparent transparent; }
    .cover-eml .contents .pop-up-tab {
      display: flex;
      justify-content: center;
      padding: 2.5rem 0 3rem; }
      @media only screen and (max-width: 767px) {
        .cover-eml .contents .pop-up-tab {
          display: block;
          padding: 2rem .5rem; } }
      .cover-eml .contents .pop-up-tab li {
        margin-right: 1.5rem;
        font-weight: bold;
        text-align: center;
        list-style: none; }
        @media only screen and (max-width: 767px) {
          .cover-eml .contents .pop-up-tab li {
            margin-right: 0;
            margin-bottom: 1rem; } }
        .cover-eml .contents .pop-up-tab li a {
          display: block;
          width: 100%;
          padding: 2.5rem;
          border-radius: 2.5rem;
          color: #fff;
          font-size: 1.8rem; }
          @media only screen and (max-width: 767px) {
            .cover-eml .contents .pop-up-tab li a {
              padding: 2rem 1.5rem;
              font-size: 1.6rem; } }
        .cover-eml .contents .pop-up-tab li .linkbtn1 {
          background: #ff6e14;
          border-bottom: 5px solid #c54f00;
          padding: 2.5rem 3.5rem; }
        .cover-eml .contents .pop-up-tab li .linkbtn2 {
          background: #837167;
          border-bottom: 5px solid #706058; }
        .cover-eml .contents .pop-up-tab li i {
          padding-right: 1rem; }
        .cover-eml .contents .pop-up-tab li:last-child {
          margin-right: 0; }

/* ------------------------------------------------- *
 *        ＠電話問い合わせページ　　　　　　　　　　　　　　　
 * ------------------------------------------------- */
.tel-contact .contents h3.ttl {
  background: #F08400;
  padding: 1.5rem 2rem;
  margin-bottom: 1.5rem !important;
  font-size: 1.4rem;
  color: #fff; }
.tel-contact .contents p {
  font-size: 1.4rem !important;
  margin-bottom: 0 !important; }
  .tel-contact .contents p.text-info {
    font-size: 1.5rem !important;
    margin-bottom: 1rem !important;
    padding: 0 !important; }
    @media only screen and (max-width: 767px) {
      .tel-contact .contents p.text-info {
        font-size: 1.3rem !important;
        padding: 0 2rem !important; } }
  .tel-contact .contents p.small-text {
    font-size: 1.1rem !important;
    line-height: 0.8;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .tel-contact .contents p.small-text {
        padding: 1rem 0 0; } }
.tel-contact .contents .inner-box {
  display: flex; }
  @media only screen and (max-width: 767px) {
    .tel-contact .contents .inner-box {
      display: block;
      text-align: center; } }
  .tel-contact .contents .inner-box a {
    width: 40%;
    margin-right: 2rem; }
    @media only screen and (max-width: 767px) {
      .tel-contact .contents .inner-box a {
        width: 100%;
        margin-right: 0; } }
    .tel-contact .contents .inner-box a:link, .tel-contact .contents .inner-box a:active, .tel-contact .contents .inner-box a:visited {
      color: #d30016 !important;
      font-size: 3.5rem; }
      @media only screen and (max-width: 767px) {
        .tel-contact .contents .inner-box a:link, .tel-contact .contents .inner-box a:active, .tel-contact .contents .inner-box a:visited {
          font-size: 3rem; } }
.tel-contact .contents i {
  padding-right: 1rem; }
.tel-contact .contents dl {
  width: 70%;
  align-items: center;
  margin-bottom: 2rem !important; }
  @media only screen and (max-width: 767px) {
    .tel-contact .contents dl {
      width: 100%;
      display: block !important;
      margin: 2rem auto 0; }
      .tel-contact .contents dl dt, .tel-contact .contents dl dd {
        width: 100% !important;
        margin-bottom: 0 !important; } }

/* ------------------------------------------------- *
 *        ＠お問い合わせフォーム　　　　　　　　　　　　　　　　
 * ------------------------------------------------- */
#contact-form .req {
  background: #d30016;
  border-radius: 5px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  margin-left: 1rem;
  padding: .1rem .5rem; }
#contact-form input[type=text], #contact-form input[type=email] {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  display: block;
  margin-top: 1rem;
  padding: 0.5rem 1rem;
  width: 50%; }
  @media only screen and (max-width: 767px) {
    #contact-form input[type=text], #contact-form input[type=email] {
      width: 100%; } }
#contact-form textarea {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  display: block;
  margin-top: 1rem;
  padding: 0.5rem 1rem;
  width: 50%;
  width: 100%; }
  @media only screen and (max-width: 767px) {
    #contact-form textarea {
      width: 100%; } }
  #contact-form textarea::placeholder {
    color: #ddd; }
#contact-form .under-contact-title .under-contact-text {
  margin-bottom: 0; }
#contact-form .wpcf7-list-item {
  display: block;
  margin: 0; }
#contact-form .item-sex .wpcf7-list-item {
  border: 1px solid #666;
  border-radius: 5px;
  display: inline-block;
  margin-right: 2rem;
  padding: .5rem 5rem; }
  @media only screen and (max-width: 767px) {
    #contact-form .item-sex .wpcf7-list-item {
      padding: .5rem 4rem; } }
#contact-form .wpcf7-form-control-wrap select {
  appearance: auto;
  border: 1px solid #666;
  border-radius: 5px;
  padding: .5rem 1rem;
  margin-right: 1rem;
  -webkit-appearance: auto; }
  @media only screen and (max-width: 767px) {
    #contact-form .wpcf7-form-control-wrap select {
      width: 100%; } }
#contact-form .under-contact-checkbox {
  text-align: center; }
#contact-form input[type=button] {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  color: #888;
  display: block;
  margin: 3rem auto 0;
  padding: .2rem 2rem;
  text-align: center;
  width: 8rem; }
  @media only screen and (max-width: 767px) {
    #contact-form input[type=button] {
      width: 100%; } }
#contact-form input[type=submit] {
  background: #ff6e14;
  border-radius: 5px;
  color: #fff;
  display: block;
  font-size: 2rem;
  font-weight: 700;
  margin: auto;
  padding: 1rem 1rem;
  width: 50%; }
#contact-form .form-consultation {
  margin: 5rem 0; }
  #contact-form .form-consultation dt p, #contact-form .form-consultation dd p {
    margin-bottom: 0; }
  #contact-form .form-consultation dt {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 30%; }
    @media only screen and (max-width: 767px) {
      #contact-form .form-consultation dt {
        justify-content: left;
        width: 100%; } }
    #contact-form .form-consultation dt small {
      display: block; }
      @media only screen and (max-width: 767px) {
        #contact-form .form-consultation dt small {
          display: inline; } }
  #contact-form .form-consultation dd {
    width: 70%; }
    @media only screen and (max-width: 767px) {
      #contact-form .form-consultation dd {
        padding: 1rem 1rem 2rem;
        width: 100%; } }
  #contact-form .form-consultation input[type=text], #contact-form .form-consultation input[type=email], #contact-form .form-consultation input[type=tel] {
    border: 1px solid #666;
    border-radius: 5px;
    display: block;
    margin-top: 1rem;
    padding: .5rem 1rem;
    width: 70%; }
    @media only screen and (max-width: 767px) {
      #contact-form .form-consultation input[type=text], #contact-form .form-consultation input[type=email], #contact-form .form-consultation input[type=tel] {
        width: 100%; } }

/* ------------------------------------------------- *
 *        ＠詳細ページ　　　　　　　　　　　　　　　　　　
 * ------------------------------------------------- */
#single-details .single-inner, #category .single-inner {
  margin: 10rem auto; }
  @media only screen and (max-width: 767px) {
    #single-details .single-inner, #category .single-inner {
      margin: 3rem auto 5rem; } }

#single-details .single-inner h3, #category .single-inner h3 {
  font-size: 2.4rem;
  border-left: 5px solid #F08400;
  padding-left: 1rem;
  margin-bottom: 2rem; }

#single-details .single-inner .item-inner, #category .single-inner .item-inner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem; }
  @media only screen and (max-width: 767px) {
    #single-details .single-inner .item-inner, #category .single-inner .item-inner {
      display: block; } }

#single-details .single-inner .item-inner .box-banner, #category .single-inner .item-inner .box-banner {
  width: 43%; }
  @media only screen and (max-width: 767px) {
    #single-details .single-inner .item-inner .box-banner, #category .single-inner .item-inner .box-banner {
      width: 100%;
      margin-bottom: 1.5rem; } }

#single-details .single-inner .item-inner .box-banner .banner, #category .single-inner .item-inner .box-banner .banner {
  margin: 0 auto; }

#single-details .single-inner .item-inner .box-banner .banner img, #category .single-inner .item-inner .box-banner .banner img {
  width: 100%; }

#single-details .single-inner .item-inner .box-text, #category .single-inner .item-inner .box-text {
  width: 55%;
  font-weight: bold; }
  @media only screen and (max-width: 767px) {
    #single-details .single-inner .item-inner .box-text, #category .single-inner .item-inner .box-text {
      width: 100%; } }

#single-details .single-inner .item-inner .box-text .box-point, #category .single-inner .item-inner .box-text .box-point {
  margin-bottom: 2rem; }

#single-details .single-inner .item-inner .box-text .box-point .ttl-point, #category .single-inner .item-inner .box-text .box-point .ttl-point {
  background: #F08400;
  color: #fff;
  padding: 1rem 1.5rem;
  font-size: 1.6rem;
  margin-bottom: 1rem; }

#single-details .single-inner .item-inner .box-text .box-point .ttl-point i, #category .single-inner .item-inner .box-text .box-point .ttl-point i {
  padding-right: .5rem; }

#single-details .single-inner .item-inner .box-text .box-point .text-point, #category .single-inner .item-inner .box-text .box-point .text-point {
  font-size: 1.4rem; }

#single-details .single-inner .item-inner .box-text .btn-cv, #category .single-inner .item-inner .box-text .btn-cv {
  margin: 0 auto 1rem; }

#single-details .single-inner .item-inner .box-text .btn-cv a, #category .single-inner .item-inner .box-text .btn-cv a {
  width: 100%;
  margin-top: auto;
  background: #c91432;
  color: #fff;
  font-size: 1.6rem;
  padding: 1.5rem;
  text-align: center; }

#single-details .single-inner .item-inner .box-text .btn-cv a i, #category .single-inner .item-inner .box-text .btn-cv a i {
  padding-left: 2rem; }

#single-details .single-inner .item-inner .box-text .btn-cv a:hover, #category .single-inner .item-inner .box-text .btn-cv a:hover {
  background: #e53552; }

#single-details .single-inner .item-inner .box-text .text-number {
  text-align: right; }

#category {
  margin: 8rem auto; }
  #category .single-inner .item-inner .box-text .text-number {
    text-align: right; }
  #category .category-title {
    font-size: 2.2rem;
    border-bottom: 2px solid #F08400;
    color: #F08400;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    text-align: center; }
  #category .single-inner {
    margin: 5rem auto; }

/* ------------------------------------------------- *
 *        ＠カテゴリーページ　　　　　　　　　　　　　　　　　　
 * ------------------------------------------------- */
@media only screen and (max-width: 767px) {
  #category {
    margin: 3rem auto 5rem; } }
/* ------------------------------------------------- *
 *        ＠固定ページ　　　　　　　　　　　　　　　　　　
 * ------------------------------------------------- */
#page-content {
  margin: auto;
  padding: 3rem 0 5rem;
  width: 80%; }
  @media only screen and (max-width: 767px) {
    #page-content {
      padding: 0rem 0 2rem;
      width: 90%; } }
  #page-content a:link, #page-content a:active, #page-content a:visited {
    color: #33aef9;
    text-decoration: underline; }
  #page-content a:hover {
    color: #258ecd; }
  #page-content h1 {
    border-bottom: 3px solid #F08400;
    font-size: 2.4rem;
    margin: 2rem 0;
    padding: .5rem 1rem; }
    @media only screen and (max-width: 767px) {
      #page-content h1 {
        font-size: 2rem;
        margin: 2rem 0 1rem; } }
  #page-content h2 {
    font-size: 2rem;
    border-left: 5px solid #F08400;
    padding: .3rem 1rem;
    margin: 3rem 0; }
  #page-content h3 {
    font-size: 2rem;
    margin: 4rem 0 2rem; }
    @media only screen and (max-width: 767px) {
      #page-content h3 {
        font-size: 1.8rem;
        margin: 3rem 0 2rem; } }
  #page-content ul {
    margin: 3rem 0;
    padding-left: 2rem; }
    #page-content ul li {
      font-size: 1.6rem;
      line-height: 1.8;
      margin-bottom: 1rem; }
  #page-content dl {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 5rem; }
    #page-content dl dt {
      background: #f9f9f9;
      font-size: 1.6rem;
      font-weight: 700;
      margin-bottom: 1rem;
      padding: 1rem;
      text-align: center;
      width: 20%; }
    #page-content dl dd {
      font-size: 1.6rem;
      margin-bottom: 1rem;
      padding: 1rem 2rem;
      width: 80%; }
  #page-content p {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 2rem; }
  #page-content #page-re {
    font-size: 1.6rem;
    margin: 10rem auto;
    text-align: center;
    width: 50%; }
    @media only screen and (max-width: 767px) {
      #page-content #page-re {
        width: 100%; } }
    #page-content #page-re h1 {
      margin-bottom: 4rem; }
    #page-content #page-re .loading {
      display: block;
      margin: 5rem auto; }

/* ------------------------------------------------- *
 *        ＠フッター　　　　　　　　　　　　　　　　　　
 * ------------------------------------------------- */
footer {
  background: #F08400;
  padding: 3rem 0; }
  @media only screen and (max-width: 767px) {
    footer {
      padding: 3rem 1.5rem; } }
  footer #page-top {
    opacity: 0;
    position: fixed;
    right: 10px;
    transform: translateY(100px);
    z-index: 2; }
    footer #page-top a {
      align-items: center;
      border: 1px solid #fff;
      background: #F08400;
      color: #fff;
      display: flex;
      font-size: .9rem;
      height: 40px;
      justify-content: center;
      text-align: center;
      text-transform: uppercase;
      text-decoration: none;
      transition: all 0.3s;
      width: 40px; }
      footer #page-top a:hover {
        background: #777; }
    footer #page-top.UpMove {
      animation: UpAnime 0.5s forwards; }
    footer #page-top.DownMove {
      animation: DownAnime 0.5s forwards; }
  footer .wrap-footer .navi-area {
    display: flex; }
    footer .wrap-footer .navi-area .footer-navi ul {
      list-style: none;
      margin: 1rem 0 3rem 0;
      display: flex;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        footer .wrap-footer .navi-area .footer-navi ul {
          display: block; } }
      footer .wrap-footer .navi-area .footer-navi ul li {
        font-size: 1.3rem;
        margin-right: 2rem;
        padding-left: 1.5rem;
        position: relative; }
        @media only screen and (max-width: 767px) {
          footer .wrap-footer .navi-area .footer-navi ul li {
            margin-bottom: 1.5rem; } }
        footer .wrap-footer .navi-area .footer-navi ul li::before {
          border-top: solid 2px #fff;
          border-right: solid 2px #fff;
          content: "";
          display: block;
          height: 6px;
          left: 0;
          margin: -3px 0 0;
          position: absolute;
          top: 48%;
          transform: rotate(45deg);
          width: 6px;
          -webkit-transform: rotate(45deg); }
        footer .wrap-footer .navi-area .footer-navi ul li a:link, footer .wrap-footer .navi-area .footer-navi ul li a:active, footer .wrap-footer .navi-area .footer-navi ul li a:visited, footer .wrap-footer .navi-area .footer-navi ul li a:hover {
          color: #fff; }
    footer .wrap-footer .navi-area .img-privacy {
      background: #fff;
      height: 100px;
      margin-left: auto;
      padding: .5rem;
      width: 100px; }
      footer .wrap-footer .navi-area .img-privacy img {
        width: 100%; }
  footer .wrap-footer .information-area p.text-company {
    color: #fff; }
    footer .wrap-footer .information-area p.text-company:first-child {
      margin-bottom: 1.5rem; }
  footer .wrap-footer a {
    color: #fff; }
    footer .wrap-footer a:link, footer .wrap-footer a:active, footer .wrap-footer a:visited {
      color: #fff; }
  footer .copy {
    color: #fff;
    font-size: 1.3rem;
    padding: 1rem 0 0;
    text-align: center; }

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0); }
  to {
    opacity: 1;
    transform: translateY(100px); } }
/* ------------------------------------------------- *
 *        ＠装飾系CSS　　　　　　　　　　　　　　　　　　
 * ------------------------------------------------- */
.txt-red {
  color: #ff3469;
  font-weight: 700; }

.txt-green {
  color: #01913a;
  font-weight: 700; }

.txt-blue {
  color: #2366d9;
  font-weight: 700; }

.txt-yellow {
  color: #f4cb0a;
  font-weight: 700; }

.txt-marker {
  background-image: linear-gradient(transparent 50%, #efff04 50%); }

.size10 {
  font-size: 1rem; }

.size12 {
  font-size: 1.2rem; }

.size14 {
  font-size: 1.4rem; }

.size16 {
  font-size: 1.6rem; }

.size18 {
  font-size: 1.8rem; }

.size20 {
  font-size: 2rem; }

.size22 {
  font-size: 2.2rem; }

.size24 {
  font-size: 2.4rem; }

.size26 {
  font-size: 2.6rem; }

.size28 {
  font-size: 2.8rem; }

.size30 {
  font-size: 3rem; }

.marker-animation {
  background-image: -webkit-linear-gradient(left, transparent 50%, #fffa99 50%);
  background-image: -moz-linear-gradient(left, transparent 50%, #fffa99 50%);
  background-image: -ms-linear-gradient(left, transparent 50%, #fffa99 50%);
  background-image: -o-linear-gradient(left, transparent 50%, #fffa99 50%);
  background-image: linear-gradient(left, transparent 50%, #fffa99 50%);
  background-repeat: repeat-x;
  background-size: 200% .8em;
  background-position: 0 .5em;
  font-weight: bold;
  transition: all 4s linear; }
  .marker-animation.active {
    background-position: -100% .5em; }

.marker-yellow {
  background-image: -webkit-linear-gradient(left, transparent 50%, #efff04 50%);
  background-image: -moz-linear-gradient(left, transparent 50%, #efff04 50%);
  background-image: -ms-linear-gradient(left, transparent 50%, #efff04 50%);
  background-image: -o-linear-gradient(left, transparent 50%, #efff04 50%);
  background-image: linear-gradient(left, transparent 50%, #efff04 50%); }

.marker-red {
  background-image: -webkit-linear-gradient(left, transparent 50%, #facac8 50%);
  background-image: -moz-linear-gradient(left, transparent 50%, #facac8 50%);
  background-image: -ms-linear-gradient(left, transparent 50%, #facac8 50%);
  background-image: -o-linear-gradient(left, transparent 50%, #facac8 50%);
  background-image: linear-gradient(left, transparent 50%, #facac8 50%); }

.marker-green {
  background-image: -webkit-linear-gradient(left, transparent 50%, #c8fad4 50%);
  background-image: -moz-linear-gradient(left, transparent 50%, #c8fad4 50%);
  background-image: -ms-linear-gradient(left, transparent 50%, #c8fad4 50%);
  background-image: -o-linear-gradient(left, transparent 50%, #c8fad4 50%);
  background-image: linear-gradient(left, transparent 50%, #c8fad4 50%); }

.marker-bule {
  background-image: -webkit-linear-gradient(left, transparent 50%, #c8f5fa 50%);
  background-image: -moz-linear-gradient(left, transparent 50%, #c8f5fa 50%);
  background-image: -ms-linear-gradient(left, transparent 50%, #c8f5fa 50%);
  background-image: -o-linear-gradient(left, transparent 50%, #c8f5fa 50%);
  background-image: linear-gradient(left, transparent 50%, #c8f5fa 50%); }

.marker-purple {
  background-image: -webkit-linear-gradient(left, transparent 50%, #ebc8fa 50%);
  background-image: -moz-linear-gradient(left, transparent 50%, #ebc8fa 50%);
  background-image: -ms-linear-gradient(left, transparent 50%, #ebc8fa 50%);
  background-image: -o-linear-gradient(left, transparent 50%, #ebc8fa 50%);
  background-image: linear-gradient(left, transparent 50%, #ebc8fa 50%); }

.waku {
  border: 2px solid #DDD;
  font-size: 1.6rem;
  line-height: 1.8;
  margin: 0 0 6rem;
  padding: 2rem 2.5rem; }

.waku-dot {
  background: #f5f5f5;
  border: 3px dotted #cacaca;
  font-size: 1.6rem;
  line-height: 1.8;
  margin: 0 0 6rem;
  padding: 2rem 2.5rem; }

.waku-dot-b {
  border: 3px dotted #ff6e14;
  font-size: 1.6rem;
  line-height: 1.8;
  margin: 0 0 6rem;
  padding: 2rem 2.5rem; }
  .waku-dot-b span {
    font-weight: 700;
    color: #ff6e14; }

.point {
  border: 1px solid #222;
  font-size: 1.6rem;
  line-height: 1.8;
  margin: 0 0 6rem;
  padding: 2.5rem 2.5rem 2rem 2.5rem;
  position: relative; }
  .point:before {
    background: #222;
    content: "POINT";
    color: #FFF;
    display: inline-block;
    font-size: 1.6rem;
    left: 50%;
    line-height: 1;
    padding: 6px 0;
    position: absolute;
    text-align: center;
    top: 0;
    transform: translate(-50%, -50%);
    width: 140px; }
  .point p, .point ul, .point ol, .point dl {
    margin: 0; }

.memo {
  font-size: 1.6rem;
  line-height: 1.8;
  border: 1px solid #222;
  margin: 0 0 6rem;
  padding: 2rem 2.5rem;
  position: relative; }
  .memo:before {
    background-color: #FFF;
    background-image: url(../img/icon/icon-memo-left.png), url(../img/icon/icon-memo-right.png);
    background-repeat: no-repeat;
    background-position: 8%,92%;
    content: "MEMO";
    display: inline-block;
    font-size: 1.6rem;
    left: 50%;
    line-height: 1;
    padding: .5rem;
    position: absolute;
    text-align: center;
    top: 0;
    transform: translate(-50%, -50%);
    width: 120px; }
  .memo p, .memo ul, .memo ol, .memo dl {
    margin: 0; }

blockquote {
  background: #f3f3f3;
  padding: 2rem 4rem 2.5rem;
  margin: 4rem 0 4rem 2.5rem;
  position: relative; }
  @media only screen and (max-width: 767px) {
    blockquote {
      margin: 3rem 0 3rem 1.5rem;
      padding: 1rem 1.5rem 1rem 2.5rem; } }
  blockquote::before {
    background: url(../img/icon/icon-blockquote.png) no-repeat;
    background-size: contain;
    content: "";
    left: -2.5rem;
    height: 50px;
    position: absolute;
    top: 30%;
    width: 50px; }
    @media only screen and (max-width: 767px) {
      blockquote::before {
        height: 30px;
        left: -15px;
        width: 30px; } }
  blockquote p {
    margin: 0 !important; }
    @media only screen and (max-width: 767px) {
      blockquote p {
        font-size: 1.4rem; } }
  blockquote cite {
    display: block;
    text-align: right; }

.center, center {
  font-size: 1.8rem;
  line-height: 2.1;
  text-align: center; }

.center img, center img {
  margin: auto; }

.btn-cv {
  width: 100%;
  margin: auto auto 0; }
  .btn-cv a {
    text-align: center;
    display: block;
    font-weight: bold;
    width: 100%;
    margin-top: auto;
    background: #d30016;
    color: #fff;
    font-size: 1.8rem;
    padding: 1rem;
    border-radius: 5rem;
    border-bottom: 4px solid #950110; }
    @media only screen and (max-width: 767px) {
      .btn-cv a {
        font-size: 1.6rem; } }
    .btn-cv a i {
      padding-right: 1rem; }
    .btn-cv a:hover {
      background: #ff001b; }

.accordion .accordion-title {
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  position: relative; }
  .accordion .accordion-title::after {
    border-right: solid 2px #333;
    border-top: solid 2px #333;
    content: "";
    display: block;
    height: 8px;
    position: absolute;
    right: 25px;
    top: 38%;
    transform: rotate(135deg);
    transition: transform .3s ease-in-out, top .3s ease-in-out;
    width: 8px; }
  .accordion .accordion-title.open::after {
    top: 45%;
    transform: rotate(-45deg); }
.accordion .accordion-content {
  font-size: 1.6rem;
  line-height: 1.8;
  display: none;
  padding-top: 2rem; }

.table-scroll {
  max-height: 300px;
  margin: 5rem 0;
  overflow: auto;
  width: 100%; }
  .table-scroll table {
    margin: 0;
    border-spacing: 0;
    table-layout: auto; }
    .table-scroll table td {
      background: #FFF;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      padding: 5px;
      white-space: nowrap; }
    .table-scroll table th {
      background: #dfe6e9;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      left: 0;
      position: sticky;
      top: 0;
      white-space: nowrap; }
    .table-scroll table tr:first-child th {
      border-top: 1px solid #ccc; }
    .table-scroll table th:first-child {
      border-left: 1px solid #ccc; }
    .table-scroll table tr:first-child th:first-child {
      z-index: 1; }

.img-center img {
  margin: auto; }

/*# sourceMappingURL=design.css.map */

/*# sourceMappingURL=design.css.map */
