@import url("../font-awesome/css/all.min.css");
html { scroll-behavior: smooth; }
html * { color: #222; }
body { overflow-x: hidden; }
h2, h3, h4 {
  font-family: shippori-mincho,'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  color: #333;
  font-weight: 400;
}
h3 { font-size: 3.6rem; }
h4 { font-size: 2.0rem; letter-spacing: 0.05em; }
.deco-let {
  margin-bottom: 48px;
  padding-left: 80px;
  font-size: 2.0rem;
  font-family: garamond-premier-pro,'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #333;
  box-sizing: border-box;
}
.deco-let span {
  color: #888;
  position: relative;
}
.deco-let span::before {
  content: '';
  display: block;
  width: 64px;
  height: 1px;
  background: #888;
  position: absolute;
  top: 50%;
  left: -80px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}
p { font-size: 1.6rem; line-height: 2.0; }
@media (max-width: 559.99px) {
  h3 { font-size: 3.0rem; }
}
/* .contents */
.contents { width: 90%; margin: 0 auto; }
.contents.wid-1200 { max-width: 1200px; }
.contents.wid-1040 { max-width: 1040px; }
.contents.wid-800 { max-width: 800px; }
.contents.wid-640 { max-width: 640px; }
/* .morebtn */
.morebtn-cover {
  width: 100%;
  box-sizing: border-box;
}
.morebtn {
  display: block;
  font-size: 1.6rem;
  font-family: garamond-premier-pro,'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  float: right;
}
.morebtn-contents {
  align-items: center;
  justify-content: end;
  column-gap: 36px;
  position: relative;
}
.morebtn-contents .arrow {
  position: relative;
  z-index: 50;
}
.morebtn-contents .arrow::before,
.morebtn-contents .arrow::after {
  content: '';
  display: block;
  background: #222;
  position: absolute;
  right: -60px;
}
.morebtn-contents .arrow::before {
  width: 80px;
  height: 0.5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}
.morebtn-contents .arrow::after {
  width: 12px;
  height: 0.5px;
  top: calc(50% - 4px);
  -webkit-transform: translateY(-50%) rotate(38deg);
  -moz-transform: translateY(-50%) rotate(38deg);
  transform: translateY(-50%) rotate(38deg);
}
.morebtn-contents .circle {
  width: 40px;
  height: 40px;
  border: 1px solid #ccc;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: relative;
  transition: border .5s ease;
}
.morebtn:hover .morebtn-contents .circle { border: 1px solid transparent; }
.morebtn .morebtn-contents .circle::before,
.morebtn .morebtn-contents .circle::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border: 1px solid transparent;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  transition: border .5s ease;
}
@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
.morebtn:hover .morebtn-contents .circle::before,
.morebtn:hover .morebtn-contents .circle::after {
  border: 1px solid #ccc;
  animation: pulsate 2s linear infinite;
}
.morebtn:hover .morebtn-contents .circle::after {
  animation-delay: 1s;
}
/* .gradientbtn */
.gradientbtn {
  display: block;
  width: max-content;
  padding: 16px 40px;
  font-size: 1.6rem;
  -webkit-border-radius: 64px;
  -moz-border-radius: 64px;
  border-radius: 64px;
  background-image: linear-gradient(90deg, rgba(219, 213, 93, 1), rgba(60, 188, 233, 1));
}
.gradientbtn span { color: #fff; }

/***********************************************

  - header

************************************************/
#flNav {
  display: block;
  width: 100vw;
  height: calc(84vh + 1px);
  background: rgba(246,246,246,0.9);
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  transition: opacity .5s ease;
  z-index: 99999;
  overflow-y: scroll;
}
#flNav.show {
  opacity: 1.0;
  pointer-events: auto;
}
#flNav.hide {
  opacity: 0;
  pointer-events: none;
}
#wrapper > .header.contact.google-form,
#wrapper > .fl-navbtn {
  position: fixed;
  top: 16px;
  opacity: 1.0;
  transition: opacity .5s ease;
  z-index: 999999;
  pointer-events: auto;
}
#wrapper > .header.contact.google-form.hide,
#wrapper > .fl-navbtn.hide {
  opacity: 0;
  pointer-events: none;
}
#wrapper > .header.contact.google-form {
  right: 68px;
}
#wrapper > .fl-navbtn {
  right: 16px;
  cursor: pointer;
}
header > .contents { justify-content: space-between; margin-top: 12px; }
header .logo-box h1 a { display: block; padding: 8px 0; }
header > .contents .nav-box { position: relative; }
header > .contents .nav-box .contact.google-form,
header > .contents .nav-box .fl-navbtn { position: absolute; z-index: 999999; }
header > .contents .nav-box .contact.google-form {
  width: 42px;
  height: 37px;
  top: 0;
  right: 52px;
}
header > .contents .nav-box .fl-navbtn {
  top: 8px;
  right: 0;
  cursor: pointer;
}
.header.contact.google-form a { display: block; }
.header.fl-navbtn {
  width: 36px;
  height: 36px;
}
@media (max-width: 599.9px) {
  header > .contents { width: 90%; margin: 8px auto 0;}
  header > .contents .nav-box .contact.google-form {
    right: 40px;
    margin-top: 0;
  }
  .header.fl-navbtn {
    width: 28px;
    height: 28px;
  }
  #wrapper > .header.contact.google-form {
    right: 56px;
    margin-top: -8px;
  }
}
.header.fl-navbtn .container {
  width: inherit;
  height: inherit;
  position: relative;
}
.header.fl-navbtn .container > span {
  display: block;
  width: 100%;
  height: 1px;
  background: #888;
  position: absolute;
  left: 50%;
  transition: top .5s ease,
              bottom .5s ease,
              left .5s ease,
              right .5s ease,
              background .5s ease,
              width .5s ease;
}
.header.fl-navbtn .container > span:nth-of-type(1) {
  top: 4px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
}
.header.fl-navbtn .container > span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.header.fl-navbtn .container > span:nth-of-type(3) {
  bottom: 4px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
}
.header.fl-navbtn.open .container > span { width: 80%; }
.header.fl-navbtn.open .container > span:nth-of-type(1) {
  top: 50%;
  -webkit-transform: translate(-50%,-50%) rotate(45deg);
  -moz-transform: translate(-50%,-50%) rotate(45deg);
  transform: translate(-50%,-50%) rotate(45deg);
}
.header.fl-navbtn.open .container > span:nth-of-type(2) {
  background: transparent;
}
.header.fl-navbtn.open .container > span:nth-of-type(3) {
  bottom: calc(50% - 2px);
  -webkit-transform: translate(-50%,-50%) rotate(-45deg);
  -moz-transform: translate(-50%,-50%) rotate(-45deg);
  transform: translate(-50%,-50%) rotate(-45deg);
}
#flNavList {
  width: max-content;
  margin: 0 auto;
  padding: 80px 0;
}
#flNavList > li {
  margin-bottom: 32px;
}
#flNavList > li a {
  display: block;
  padding: 8px 16px;
  font-size: 2rem;
  font-family: shippori-mincho,'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  text-align: center;
}
@media (max-width: 559.99px) {
  #flNavList > li a {
    font-size: 2.0rem;
  }
}
#flNavList > li a.ethicalworks {
  color: #3cbee8;
}
/* mainnav */
#mainNav {
  width: max-content;
  padding-right: 132px;
  transition: opacity .5s ease;
}
#mainNav.show {
  opacity: 1.0;
  pointer-events: auto;
}
#mainNav.hide {
  opacity: 0;
  pointer-events: none;
}
#mainNav > ul {
  column-gap: 16px;
}
#mainNav > ul li a { display: block; }
#mainNav > ul > li > a {
  padding: 12px 0;
  font-family: shippori-mincho,'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  font-size: 1.4rem;
  position: relative;
  transition: all .5s ease;
}
#mainNav > ul > li.nav-menu-168 > a { color: #3cbee8; }
#mainNav > ul > li > a::before {
  content: '';
  display: block;
  width: 0;
  height: 1px;
  background: #aaa;
  position: absolute;
  bottom: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
  transition: width .5s ease;
}
#mainNav > ul > li > a:hover::before {
  width: 100%;
}
/***********************************************

  - index トップページ

************************************************/
.index .contents h3 { margin-bottom: 24px; }
.index .contents p { line-height: 2.4; }
/* ----------
  - news
  ---------- */
#news.index {
  padding: 120px 0;
}
@media (max-width: 559.99px) {
  #news.index {
    padding: 80px 0;
  }
}
/* ----------
  - ethicalworks
  ---------- */
#ethicalworks.index {
  padding: 120px 0 240px;
  background: #f2f2f2;
  position: relative;
}
#ethicalworks.index::after {
  content: url('../img/top/library_bottom.png');
  display: block;
  position: absolute;
  bottom: -4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media (max-width: 559.99px) {
  #ethicalworks.index {
    padding: 80px 0 224px;
  }
}
/***********************************************

  - アーカイブ

************************************************/
/*
  - news
*/
#news_post_List {
  width: fit-content;
  max-width: 1200px;
  margin: 0 auto 80px;
}
#news_post_List > li {
  width: 100%;
  margin-bottom: 32px;
}
#news_post_List > li:last-child { margin-bottom: 0; }
#news_post_List > li > div { column-gap: 16px; }
#news_post_List > li .latest_flag { margin: 2px 0 12px; }
#news_post_List > li h4 { font-size: 1.6rem; font-family: unset; }
@media (max-width: 559.99px) {
  #news_post_List {
    margin: 0 auto 40px;
  }
  #news_post_List > li {
    margin-bottom: 24px;
  }
  #news_post_List > li > div { column-gap: 16px; row-gap: 8px; flex-wrap: wrap; }
  #news_post_List > li .latest_flag { margin: 2px 0 12px; }
}
/*
  - ethicalworks
*/
#ethicalworks_pinned_post_List > li { position: relative; }
/*#ethicalworks_pinned_post_List > li {
  width: calc((100% - 40px) / 2);
  position: relative;
}
@media (max-width: 639.99px) {
  #ethicalworks_pinned_post_List > li { width: 100%; }
}*/
#ethicalworks_pinned_post_List > li::before,
#ethicalworks_pinned_post_List > li::after {
  display: block;
  position: absolute;
  top: -24px;
  z-index: 100;
}
#ethicalworks_pinned_post_List > li::before {
  content: url('../img/illust/pin-left.png');
  left: 8px;
}
#ethicalworks_pinned_post_List > li::after {
  content: url('../img/illust/pin-right.png');
  right: 8px;
}
#ethicalworks_pinned_post_List, #ethicalworks_post_List {
  margin-bottom: 40px;
  flex-wrap: wrap;
  gap: 40px 40px;
}
#ethicalworks_pinned_post_List > li,
#ethicalworks_post_List > li { width: calc((100% - 40px* 2) / 3); }
@media (max-width: 860px) and (min-width: 640px) {
  #ethicalworks_pinned_post_List > li,
  #ethicalworks_post_List > li { width: calc((100% - 40px) / 2); }
}
@media (max-width: 639.99px) {
  #ethicalworks_pinned_post_List > li,
  #ethicalworks_post_List > li { width: 100%; }
}
#ethicalworks_pinned_post_List .imagebox, #ethicalworks_post_List .imagebox {
  margin-bottom: 16px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  overflow: hidden;
}
#ethicalworks_pinned_post_List .imagebox img, #ethicalworks_post_List .imagebox img {
  display: block;
  width: 100%;
  transition: transform .8s ease;
}
#ethicalworks_pinned_post_List > li a:hover .imagebox img,
#ethicalworks_post_List > li a:hover .imagebox img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  transform: scale(1.1);
}
#ethicalworks_pinned_post_List .textbox, #ethicalworks_post_List .textbox { margin-bottom: 20px; }
#ethicalworks_pinned_post_List .textbox .title,
#ethicalworks_post_List .textbox .title {
  margin-bottom: 12px;
  font-size: 1.6rem;
}
#ethicalworks_pinned_post_List .textbox .date .date,
#ethicalworks_post_List .textbox .date .date { margin-right: 8px; }

/* .date */
.date {
  font-size: 1.4rem;
  color: #888;
}
/*@media (max-width: 559.99px) {
  .date {
    margin-bottom: 8px;
  }
}*/
/* NEWタグ */
.new {
  padding: 5px 8px;
  font-size: 1.2rem;
  font-family: shippori-mincho,'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  color: #fff;
  background: #e8d63c;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
/* タクソノミー(ハッシュタグ) */
#tagList {
  flex-wrap: wrap;
}
#tagList > li {
  margin-right: 8px;
  margin-bottom: 8px;
}
#tagList > li a {
  display: block;
  padding: 4px 12px;
  font-size: 1.2rem;
  color: #999;
  background: #fff;
  border: 1px solid #999;
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
  border-radius: 40px;
}
#tagList > li a span { color: #999; }

/***********************************************

  - シングルページ

************************************************/
.single.news .main_article > .date.flex {
  margin-top: 16px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.single.news .main_article > .date.flex .new { margin-left: 8px; }
.single.news .main_article article .imagebox {
  margin-bottom: 40px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  overflow: hidden;
}
.single.news .main_article article .textbox a { word-break: break-all; }
.single.news .main_article .otp { margin-top: 80px; }

/* ethicalworks */
.single.ethicalworks .main_article > .date { margin-top: 16px; margin-bottom: 40px; }
.single.ethicalworks .main_article > .date .new { margin-left: 8px; }
.single.ethicalworks .main_article .imagebox {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 40px;
}
.single.ethicalworks .main_article .textbox .extra {
  margin-bottom: 28px;
  padding: 24px;
  background: #f2f2f2;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  box-sizing: border-box;
}
.single.ethicalworks .main_article .textbox .extra .extra_content {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  font-size: 1.4rem;
  column-gap: 12px;
}
.single.ethicalworks .main_article .textbox .extra .extra_content:nth-of-type(2) { margin-top: 16px; }
.single.ethicalworks .main_article .textbox .extra .extra_content .title { font-weight: bold; }
.single.ethicalworks .main_article article .attachment { margin-top: 40px; }
.single.ethicalworks .main_article .otp { margin-top: 80px; }

/* attachment */
/*.single .main_article article h3 { margin-bottom: 24px !important; }*/
.single .main_article article .attachment { margin-top: 64px; }
.single #attachment_list {
  flex-wrap: wrap;
  gap: 20px 16px;
}
.single #attachment_list > li a {
  display: block;
  padding: 12px 28px;
  font-size: 1.4rem;
  color: #222;
  border: 1px solid #ddd;
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
  border-radius: 40px;
  position: relative;
  overflow: hidden;
}
.single #attachment_list > li a::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #e5e5e5;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
  transition: all .5s ease;
  z-index: -1;
}
.single #attachment_list > li a:hover::before {
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.single #attachment_list > li a i { margin-right: 8px; }

/***********************************************

  - 中ページ

************************************************/
main #inner-title {
  width: 100%;
}
main #inner-title h2 {
  width: max-content;
  height: max-content;
  margin: 0 auto;
  padding: 120px 0;
  font-size: 4.0rem;
  font-family: shippori-mincho,'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  text-align: center;
  text-orientation: upright;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.05em;
}
main #main-content h2 { margin-bottom: 16px; font-size: 2.2rem; }
main #main-content h3 {
  margin-bottom: 16px;
  width: 100%;
  font-size: 1.8rem;
  line-height: 1.8;
  box-sizing: border-box;
  position: relative;
}
/*main #main-content h3::before {
  content: '';
  display: block;
  width: 4px;
  height: 18px;
  background: #ccc;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}*/
main #main-content p { margin-bottom: 24px; }
main #main-content { position: relative; padding-bottom: 304px;  border-bottom: 1px solid #ddd;}
main #main-content::after {
  content: url('../img/top/library_bottom.png');
  display: block;
  position: absolute;
  bottom: -4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
}

/*main #main-content.archive,
main #main-content.single {
  padding-bottom: 0;
}*/
main #main-content .deco-let {
  margin-bottom: 64px;
}
/*@media (max-width: 639.99px) {
  main #main-content { padding-bottom: 80px; }
}*/
@media (max-width: 599.99px) {
  main #main-content { padding-bottom: 224px; }
  main #inner-title h2 {
    padding: 80px 0;
    font-size: 3.0rem;
  }
}
/* --------------------
  - materials
-------------------- */
.materials.page ul {
  flex-wrap: wrap;
  gap: 40px;
}
.materials.page ul > li a {
  display: block;
}
.materials.page ul > li {
  width: calc((100% - 40px * 3) / 4);
}
@media (max-width: 1040px) and (min-width: 640px) {
  .materials.page ul > li {
    width: calc((100% - 40px) / 2);
  }
}
@media (max-width: 639.99px) {
  .materials.page ul > li {
    width: 100%;
  }
}
.materials.page ul > li .imagebox {
  margin-bottom: 16px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  overflow: hidden;
}
.materials.page ul > li a .imagebox img {
  transition: transform .5s ease;
}
.materials.page ul > li a:hover .imagebox img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  transform: scale(1.2);
}
.materials.page ul > li h3 {
  padding: 0 !important;
  font-size: 1.6rem !important;
}
.materials.page ul > li h3::before {
  content: none !important;
}
.materials.page ul > li h3 i {
  margin-right: 8px;
  color: #9e3d3e;
}

/* --------------------
  - privacy-policy
-------------------- */
main #main-content.privacy-policy h2.main_title {
  margin-bottom: 40px;
  font-size: 3.2rem;
}
.privacy-policy .contents .oneblock:not(:last-of-type) {
  margin-bottom: 80px;
}
.privacy-policy .section { margin-bottom: 64px; }
.privacy-policy .section ul li {
  margin-bottom: 8px;
  padding-left: 24px;
  font-size: 1.6rem;
  position: relative;
}
.privacy-policy .section ul li::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: #ccc;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  position: absolute;
  top: 50%;
  left: 4px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}
/* --------------------
  - sitemap
-------------------- */
#sitemapNavList > li {
  border-bottom: 1px solid #e5e5e5;
}
#sitemapNavList > li:last-child {
  border-bottom: none;
}
#sitemapNavList > li a {
  display: block;
  padding: 18px 0 18px 24px;
  font-size: 1.6rem;
  position: relative;
}
#sitemapNavList > li a::before,
#sitemapNavList > li a::after {
  content: '';
  display: block;
  width: 8px;
  height: 1px;
  background: #aaa;
  position: absolute;
  left: 4px;
}
#sitemapNavList > li a::before {
  top: calc(50% + 3px);
  -webkit-transform: translateY(-50%) rotate(-45deg);
  -moz-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
}
#sitemapNavList > li a::after {
  top: calc(50% - 3px);
  -webkit-transform: translateY(-50%) rotate(45deg);
  -moz-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
/* --------------------
  - 404
-------------------- */
.page-404 { margin-top: 64px; }
.page-404 h2 { margin-bottom: -24px; font-size: 16.0rem; color: #aaa; }
.page-404 h3 { margin-bottom: 40px; font-size: 6.0rem; color: #aaa; }
.page-404 p { font-size: 2.4rem; }
.page-404 p small { font-size: 1.4rem; }
.page-404 p:nth-of-type(2) { margin-bottom: 40px; }
.page-404 a { margin-bottom: 80px; }

/* --------------------
  - ページナビゲーション
-------------------- */
.wp-pagenavi {
  display: block;
  margin: 64px auto 0;
  width: fit-content;
  max-width: 1040px;
  font-size: 1.4rem;
}
.wp-pagenavi > span.pages {
  margin-right: 8px;
  padding: 8px 12px;
}
.wp-pagenavi > span,
.wp-pagenavi > a {
  border: 1px solid #ddd;
  margin-right: 4px;
  padding: 8px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.wp-pagenavi > span.current {
  background: #f2f2f2;
  font-weight: bold;
  overflow: hidden;
}

/********************************************

 footer

********************************************/
footer { border-top: 1px solid #ddd; }
footer .foot-content {
  width: 90%;
  max-width: 1200px;
  padding-top: 80px;
  margin: 0 auto;
}
footer .left, footer .right { width: max-content; }
footer .left { float: left; }
footer h2 { margin-bottom: 64px; }
footer h2 a { display: block; }
footer .textbox { font-size: 1.6rem; }
footer .management, footer .address { margin-bottom: 12px; }
footer .postalcode {
  padding-left: 18px;
  position: relative;
}
footer .postalcode::before {
  content: '〒';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}
footer .tel { margin-bottom: 40px; }
footer .management_link a { display: block; }
footer .right { float: right; }
footer .contact_link { margin-bottom: 24px; }
footer .contact_link a { display: block; }
#footNavList { margin-bottom: 40px; column-gap: 24px; }
#footNavList > li a {
  display: block;
  width: fit-content;
  font-size: 1.4rem;
  text-decoration: none;
}
#footNavList > li a.ethicalworks {
  color: #3cbee8;
}
.foot_sns { align-items: center; justify-content: end; }
.foot_sns .lead {
  margin-right: 24px;
  font-size: 1.4rem;
  font-family: serif;
  letter-spacing: 0.05em;
  color: #888;
}
.foot_sns .sns_links { align-items: center; }
.foot_sns .sns_links li { margin-left: 24px; }
.foot_sns .sns_links li:first-child { margin-left: 0; }
.foot_sns .sns_links li:last-child { margin-left: 20px; }
.foot_sns .sns_links li a { display: block; }
.foot_sns .sns_links li i { font-size: 2.8rem; }
.foot_sns .sns_links li img { width: 48px; }
@media (max-width: 780px) {
  footer .textbox { width: 90%; }
  footer .left, footer .right { width: 100%; float: none; }
  footer .left { margin-bottom: 40px; }
  footer .right { text-align: left; }
  #footNavList > li {
    margin-bottom: 16px;
  }
  .foot_sns { justify-content: flex-start; }
}
footer .copyright {
  width: 100%;
  margin-top: 80px;
  padding: 40px 0;
  border-top: 1px solid #ddd;
}
footer small {
  display: block;
  width: max-content;
  margin: 0 auto;
  font-size: 1.2rem;
  text-align: center;
  color: #888;
}
@media (max-width: 599px) {
  footer h2 { margin-bottom: 40px; }
  footer .textbox { width: 100%; font-size: 1.4rem; }
  footer .management_link a { text-align: center; }
  footer .contact_link { margin-bottom: 40px; }
  footer .contact_link a { text-align: center; }
  #footNavList > li a {
    text-align: center;
    width: unset;
  }
  .foot_sns .lead {
    font-size: 1.2rem;
  }
  .foot_sns { justify-content: center; }
  .foot_sns .sns_links li { margin-left: 20px; }
  .foot_sns .sns_links li:first-child { margin-left: 0; }
  .foot_sns .sns_links li:last-child { margin-left: 16px; }
  footer .copyright {
    margin-top: 40px;
    padding: 16px 0;
  }
}
/* ----------
  - taxonomies
  ---------- */
#taxonomies.contents {
  padding: 120px 0;
}
#ethicalworks_taxonomiy_list {
  flex-wrap: wrap;
  gap: 40px 40px;
}
@media (max-width: 599px) {
  #taxonomies.contents {
    padding: 80px 0;
  }
  #ethicalworks_taxonomiy_list {
    flex-wrap: wrap;
    gap: 24px 40px;
  }
  #ethicalworks_taxonomiy_list a.morebtn {
    font-size: 1.4rem;
  }
  #ethicalworks_taxonomiy_list .morebtn-contents .arrow::before,
  #ethicalworks_taxonomiy_list .morebtn-contents .arrow::after {
    right: -40px;
  }
  #ethicalworks_taxonomiy_list .morebtn-contents .arrow::before {
    width: 48px;
  }
  #ethicalworks_taxonomiy_list .morebtn-contents {
    column-gap: 16px;
  }
}
/********************************************

 組合員用ログインページ

********************************************/
#user-login {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
}
#login-form {
  width: max-content;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#login-form .cover {
  position: relative;
}
#login-form .logo img {
  display: block;
  width: max-content;
  margin: 0 auto 24px;
}
#loginform .form-group {
  justify-content: space-between;
  align-items: center;
}
#loginform .form-group.form-section {
  margin-top: 12px;
}
#loginform .form-group label {
  margin-right: 12px;
  font-size: 1.4rem;
}
#loginform .form-group input {
  padding: 4px;
}
#loginform .btn-horizon #wp-submit {
  display: block;
  width: fit-content;
  margin: 24px auto 40px;
  padding: 16px 56px;
  font-size: 1.8rem;
  font-weight: bold;
  background: #e5e5e5;
  border: 1px solid #ccc;
  -webkit-border-radius: 64px;
  -moz-border-radius: 64px;
  border-radius: 64px;
  transition: all .5s ease;
  cursor: pointer;
}
#loginform .btn-horizon #wp-submit:hover {
  color: #fff;
  background: #2a528f;
}
#loginform .forgetpswd {
  display: block;
  margin-bottom: 24px;
  text-align: center;
  text-decoration: underline;
  font-size: 1.2rem;
}
#loginform .gradientbtn {
  width: max-content;
  margin: 0 auto;
}
