@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600&display=swap');

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template: cocoon-master
Version: 1.1.3
*/


/* ==================================================
   Lucidusum
================================================== */


/* --------------------------------------------------
   Color

   water     #82c9c7
   paper     #fcfaf7
   lemon     #feffd5
   text      #9f6c52
-------------------------------------------------- */


/* ==================================================
   Cocoon reset
================================================== */

.header-container {
  display: none;
}

html,
body,
.container,
.content,
.content-in,
.main,
.main-in,
#content,
#main {
  background: #82c9c7 !important;
}

.main,
.content,
.content-in {
  box-shadow: none !important;
}

/* Cocoon main の余白を Lucidusum では使わない */
.main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body {
  margin: 0;

  color: #9f6c52;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    YuGothic,
    sans-serif;
}


/* ==================================================
   Page
================================================== */

.lucidusum-home {
  box-sizing: border-box;

  width: 100%;
  max-width: 900px;

  margin: 0 auto;
  padding: 92px 24px 60px;

  background: transparent;
}


/* ==================================================
   Intro
================================================== */

.lucidusum-intro {
  box-sizing: border-box;

  width: 100%;
  max-width: 760px;

  margin: 0 auto 64px;
  padding: 0 76px;

  text-align: center;
}


/* Lucidusum */

.lucidusum-intro h1 {
  margin: 0;

  color: #feffd5;

  font-family: "Cormorant Garamond", serif;
  font-size: 82px;
  font-weight: 600;
  line-height: 1;

  letter-spacing: 0.015em;

  text-align: center;
}


/* tagline */

.lucidusum-tagline {
  margin: 58px 0 0;

  color: #feffd5;

  font-family: "Cormorant Garamond", serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7;

  letter-spacing: 0.025em;

  text-align: center;
}


/* ==================================================
   Main links
================================================== */

.lucidusum-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  gap: 28px;

  margin-top: 48px;
}

.lucidusum-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  box-sizing: border-box;
  min-width: 134px;

  padding: 9px 22px;

  border: 1px solid #feffd5;
  border-radius: 999px;

  background: #feffd5;

  color: #9f6c52;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Sans",
    "Yu Gothic",
    YuGothic,
    sans-serif;

  font-size: 13px;
  font-weight: 400;
  line-height: 1.3;

  text-decoration: none;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.lucidusum-links a:hover {
  color: #9f6c52;

  opacity: 0.82;
  transform: translateY(-1px);
}


/* ==================================================
   Timeline
================================================== */

.lucidusum-timeline {
  width: 100%;
}


/* ==================================================
   Post paper
================================================== */

.lucidusum-post {
  box-sizing: border-box;

  width: 100%;
  max-width: 760px;

  margin: 0 auto 46px;
  padding: 68px 76px 64px;

  background: #fcfaf7;

  color: #9f6c52;
}

.lucidusum-post:last-of-type {
  margin-bottom: 0;
}


/* ==================================================
   Date
================================================== */

.lucidusum-date {
  width: 100%;
  max-width: 520px;

  margin: 0 auto 38px;

  color: #9f6c52;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Sans",
    "Yu Gothic",
    YuGothic,
    sans-serif;

  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;

  letter-spacing: 0.025em;
}

.lucidusum-date span {
  margin-left: 14px;

  font-size: 12px;

  opacity: 0.82;
}


/* ==================================================
   Body
================================================== */

.lucidusum-body {
  width: 100%;
  max-width: 520px;

  margin-left: auto;
  margin-right: auto;

  color: #9f6c52;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    YuGothic,
    sans-serif;

  font-size: 18px;
  font-weight: 400;
  line-height: 1.7;

  letter-spacing: 0.015em;

  text-align: left;
}

.lucidusum-body p {
  margin: 0 0 12px;
}

.lucidusum-body > :first-child {
  margin-top: 0;
}

.lucidusum-body > :last-child {
  margin-bottom: 0;
}


/* Body links */

.lucidusum-body a {
  color: #9f6c52;

  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}


/* ==================================================
   Images
================================================== */

.lucidusum-body figure {
  width: 100%;

  margin: 0 auto 40px;
}

.lucidusum-body img {
  display: block;

  width: 100%;
  max-width: 100%;
  height: auto;

  margin: 0 auto 40px;
}

.lucidusum-body figure img {
  margin: 0 auto;
}

.lucidusum-body figcaption {
  margin-top: 10px;

  color: #9f6c52;

  font-size: 12px;
  line-height: 1.7;

  opacity: 0.82;

  text-align: left;
}


/* ==================================================
   Category / Tags
================================================== */

.lucidusum-taxonomy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;

  gap: 10px 18px;

  width: 100%;
  max-width: 520px;

  margin: 48px auto 0;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Sans",
    "Yu Gothic",
    YuGothic,
    sans-serif;

  font-size: 12px;
  line-height: 1.6;
}


/* Cocoon icons off */

.lucidusum-taxonomy .cat-link::before,
.lucidusum-taxonomy .tag-link::before {
  display: none !important;
}


/* Category */

.lucidusum-taxonomy .cat-link {
  display: inline-flex !important;
  align-items: center;

  padding: 5px 12px !important;
  margin: 0 !important;

  border: 1px solid rgba(159, 108, 82, 0.65) !important;
  border-radius: 999px !important;

  background: transparent !important;
  box-shadow: none !important;

  color: #9f6c52 !important;

  font-size: 11px;
  font-weight: 400;

  text-decoration: none !important;
}


/* Tags */

.lucidusum-taxonomy .tag-link {
  display: inline !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  box-shadow: none !important;

  color: #9f6c52 !important;

  font-size: 12px;
  font-weight: 400;

  text-decoration: none !important;
}

.lucidusum-taxonomy .cat-link:hover,
.lucidusum-taxonomy .tag-link:hover {
  opacity: 0.68;
}


/* ==================================================
   Pagination
================================================== */

.lucidusum-pagination {
  width: 100%;
  max-width: 760px;

  margin: 72px auto 0;

  color: #feffd5;

  text-align: center;
}

.lucidusum-pagination a,
.lucidusum-pagination .page-numbers {
  color: #feffd5;
  text-decoration: none;
}


/* ==================================================
   Tablet
================================================== */

@media screen and (max-width: 834px) {

  .lucidusum-home {
    max-width: 100%;

    padding: 72px 20px 60px;
  }

  .lucidusum-intro {
    max-width: 680px;

    margin-bottom: 56px;

    padding-left: 54px;
    padding-right: 54px;
  }

  .lucidusum-intro h1 {
    font-size: 66px;
  }

  .lucidusum-tagline {
    margin-top: 44px;

    font-size: 16px;
  }

  .lucidusum-links {
    gap: 16px;

    margin-top: 38px;
  }

  .lucidusum-links a {
    min-width: 120px;

    padding: 8px 18px;

    font-size: 12px;
  }

  .lucidusum-post {
    max-width: 680px;

    margin-bottom: 40px;

    padding: 58px 54px 56px;
  }

  .lucidusum-date {
    max-width: 500px;

    margin-bottom: 34px;

    font-size: 13px;
  }

  .lucidusum-body {
    max-width: 500px;

    font-size: 17px;
  }

  .lucidusum-taxonomy {
    max-width: 500px;
  }
}


/* ==================================================
   Mobile
================================================== */

@media screen and (max-width: 600px) {

  .lucidusum-home {
    padding: 66px 16px 50px;
  }

  .lucidusum-intro {
    width: 100%;

    margin-bottom: 56px;

    padding: 0 30px;
  }

  .lucidusum-intro h1 {
    font-size: 54px;

    letter-spacing: 0.02em;
  }

  .lucidusum-tagline {
    margin-top: 42px;

    font-size: 14px;
    line-height: 1.8;
  }

.lucidusum-links {
  gap: 14px;
  margin-top: 34px;
  justify-content: center;
  width: auto;
}

.lucidusum-links a {
  min-width: 0;
  padding: 8px 10px;
  font-size: 11px;
}

  .lucidusum-post {
    width: 100%;

    margin-bottom: 32px;

    padding: 42px 30px 46px;
  }

  .lucidusum-date {
    max-width: 100%;

    margin-bottom: 32px;

    font-size: 12px;
  }

  .lucidusum-date span {
    margin-left: 10px;

    font-size: 11px;
  }

.lucidusum-body {
  max-width: 100%;
  font-size: 16px;
  line-height: 1.65;
}

.lucidusum-body p {
  margin-bottom: 8px;
}

  .lucidusum-body figure,
  .lucidusum-body img {
    margin-bottom: 34px;
  }

  .lucidusum-taxonomy {
    max-width: 100%;

    gap: 9px 14px;

    margin-top: 38px;
  }

  .lucidusum-taxonomy .cat-link {
    padding: 4px 10px !important;

    font-size: 10px;
  }

  .lucidusum-taxonomy .tag-link {
    font-size: 11px;
  }

}


/* ==================================================
   Small mobile
================================================== */

@media screen and (max-width: 390px) {

  .lucidusum-home {
    padding-left: 12px;
    padding-right: 12px;
  }

  .lucidusum-intro {
    padding-left: 24px;
    padding-right: 24px;
  }

  .lucidusum-intro h1 {
    font-size: 48px;
  }

  .lucidusum-links {
    gap: 8px;
  }

  .lucidusum-links a {
    padding: 7px 12px;

    font-size: 10px;
  }

  .lucidusum-post {
    padding-left: 26px;
    padding-right: 26px;
  }

}

/* ==================================================
   Footer
================================================== */

.footer,
.footer-bottom,
.footer-in,
.footer-bottom-logo,
.footer-bottom-content {
  background: transparent !important;
}

.footer,
.footer a,
.footer-bottom,
.footer-bottom a {
  color: #feffd5 !important;

  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400;
  letter-spacing: 0.025em;
}

.footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.footer-bottom,
.footer-bottom-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* フッター上段リンク */

.footer-menu {
  color: #feffd5 !important;
}

.footer-menu a {
  color: #feffd5 !important;

  font-family: "Cormorant Garamond", serif !important;
  font-size: 14px;
  font-weight: 400;

  text-decoration: none;
}

/* フッターメニューの縦線 */

.menu-footer li,
.menu-footer li a {
  border-color: #feffd5 !important;
}

@media screen and (max-width: 600px) {

  /* ===== Footer compact ===== */

  .footer-bottom-content,
  .navi-footer-in {
    text-align: center !important;
  }

  .navi-footer-in .menu-footer {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: nowrap !important;

    width: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .navi-footer-in > .menu-footer li.menu-item {
    width: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .navi-footer-in .menu-footer li + li {
    border-left: 1px solid #feffd5 !important;
  }

  .navi-footer-in .menu-footer li a {
    display: block !important;
    padding: 0 14px !important;

    font-family: "Cormorant Garamond", serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0.025em !important;

    color: #feffd5 !important;
  }

  .copyright {
    margin-top: 10px !important;

    font-family: "Cormorant Garamond", serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;

    color: #feffd5 !important;
  }

}

/* ==================================================
   Archive
================================================== */

.lucidusum-archive {
  padding-top: 72px;
}

.lucidusum-archive-head {
  box-sizing: border-box;

  width: 100%;
  max-width: 760px;

  margin: 0 auto 46px;
  padding: 0 76px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  color: #feffd5;
}

.lucidusum-archive-name {
  color: #feffd5;

  font-family: "Cormorant Garamond", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;

  letter-spacing: 0.025em;
}

.lucidusum-archive-back {
  color: #feffd5 !important;

  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-weight: 400;

  letter-spacing: 0.025em;

  text-decoration: none !important;
}

.lucidusum-archive-back:hover {
  opacity: 0.7;
}

@media screen and (max-width: 834px) {

  .lucidusum-archive-head {
    max-width: 680px;

    padding-left: 54px;
    padding-right: 54px;
  }

}

@media screen and (max-width: 600px) {

  .lucidusum-archive {
    padding-top: 52px;
  }

  .lucidusum-archive-head {
    margin-bottom: 32px;

    padding-left: 30px;
    padding-right: 30px;
  }

  .lucidusum-archive-name {
    font-size: 18px;
  }

  .lucidusum-archive-back {
    font-size: 13px;
  }

}

/* ==================================================
   Mobile Footer 間調整
================================================== */

@media screen and (max-width: 600px) {

  body,
  .container,
  .content,
  .content-in,
  .main,
  .main-in {
    min-height: 0 !important;
    height: auto !important;
  }

}

/* ==================================================
   Lucidusum リンク
================================================== */

.lucidusum-logo a,
.lucidusum-logo a:visited,
.lucidusum-logo a:hover,
.lucidusum-logo a:active {
  color: inherit;
  text-decoration: none;
}

/* ==================================================
   Fixed Pages
================================================== */

body.page .article {
  box-sizing: border-box;

  width: 100%;
  max-width: 760px;

  margin: 72px auto 100px;
  padding: 68px 76px 64px;

  background: #fcfaf7;
  color: #9f6c52;
}

/* Page title */

body.page .entry-title {
  margin: 0 0 48px;

  color: #9f6c52;

  font-size: 22px;
  font-weight: 400;
  line-height: 1.5;
}


/* Cocoonの日付など */

body.page .date-tags {
  display: none;
}


/* Page content */

body.page .entry-content {
  margin: 0;

  color: #9f6c52;

  font-size: 18px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.015em;
}

body.page .wpcf7 label,
body.page .wpcf7 input,
body.page .wpcf7 textarea,
body.page .wpcf7 .wpcf7-submit {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.015em;
}

body.page .wpcf7 label {
  display: block;
  margin-bottom: 18px;
}

/* Contact Form 入力欄 */

body.page .wpcf7 input[type="text"],
body.page .wpcf7 input[type="email"],
body.page .wpcf7 textarea {
  background-color: #fff;
  border: 1px solid #ead8ce;
  color: #9f6c52;
  box-shadow: none;
}

body.page .wpcf7 input[type="submit"] {
  background-color: #f3e8e1;
  color: #9f6c52;
  border: none;
}


/* Contact form labels */

.form-ja,
.form-en {
  display: block;
}

.form-en {
  margin-top: 3px;
  margin-bottom: 8px;
}


/* Tablet */

@media screen and (max-width: 834px) {

  body.page .article {
    max-width: 680px;

    margin-top: 60px;
    padding: 58px 54px 56px;
  }

}


/* Mobile */

@media screen and (max-width: 600px) {

  body.page .article {
    width: calc(100% - 32px);

    margin: 48px auto 50px;
    padding: 42px 30px 46px;
  }

  body.page .entry-title {
    margin-bottom: 38px;
    font-size: 20px;
  }

  body.page .entry-content {
    font-size: 16px;
  }

}

/* Lucidusum もどる */

body.page .lucidusum-page-back {
  margin: 60px 0 0;
  text-align: left;
}

body.page .lucidusum-page-back a {
  color: #9f6c52;
  text-decoration: none;
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  letter-spacing: 0.025em;
}

body.page .lucidusum-page-back a:hover {
  opacity: 0.7;
}

/* Fixed Pages font */

body.page .entry-title,
body.page .entry-content,
body.page .entry-content p,
body.page .wpcf7 label,
body.page .wpcf7 input,
body.page .wpcf7 textarea,
body.page .wpcf7 .wpcf7-submit {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    YuGothic,
    sans-serif !important;
}

/* ==================================================
   Footer hover
================================================== */

.footer a:hover {
  background: transparent !important;
  opacity: 0.7;
}