/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 29 2026 | 11:19:58 */
/* 
@media (max-width: 640px) 
@media (min-width: 960px) 
var(--color_main)
サブカラーの設定
var(--color_deep01)
var(--color_deep02)
var(--color_deep03)
*/

/* =========================
  コンテンツヘッダー
========================= */
.l-topTitleArea {
  position: relative;
  min-height: 400px !important;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.l-topTitleArea .c-pageTitle {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #3A4268;
	text-shadow:
    0 0 10px rgba(255, 255, 255, 0.8),
    0 0 20px rgba(255, 255, 255, 0.6);
  border: none;
  padding: 0 !important;
}
.l-topTitleArea .c-pageTitle__subTitle {
  order: -1;
  margin-left: 0;
  margin-bottom: 0.4em;
  color: #00558F; 
}
.l-topTitleArea .c-pageTitle::before,
.l-topTitleArea .c-pageTitle::after {
  content: none;
}
.l-topTitleArea .c-pageTitle__subTitle {
  order: -1;
  margin-left: 0;
  margin-bottom: 0.4em;
}
@media (min-width: 769px) {
  .l-topTitleArea .c-pageTitle {
    font-size: 40px;
  }
}
@media (max-width: 768px) {
  .l-topTitleArea {
    min-height: 260px !important;
  }
  .l-topTitleArea .c-pageTitle {
    font-size: 2rem;
    letter-spacing: 0.08em;
  }
}


/* =========================
  サイトマップぺージ
========================= */
.post_content .custom-sitemap {
	display: grid;
	gap: 40px;
}
.post_content .custom-sitemap__section {
	padding-bottom: 32px;
	border-bottom: 1px solid #ddd;
}
.post_content .custom-sitemap__title {
	margin: 0 0 20px;
}
.post_content .custom-sitemap__section {
	margin-bottom: 50px;
}
.post_content .custom-sitemap__section:last-child {
	margin-bottom: 0;
}
.custom-sitemap__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.post_content .custom-sitemap__list li {
	position: relative;
	padding-left: 18px;
}

.post_content .custom-sitemap__list li::before {
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--color_main);
	content: "";
}

.post_content .custom-sitemap__list a {
	color: inherit;
	text-decoration: none;
}

.post_content .custom-sitemap__list a:hover {
	color: var(--color_main);
}

.post_content .custom-sitemap__list .children {
	grid-column: 1 / -1;
	margin-top: 12px;
	padding-left: 20px;
}
@media screen and (max-width: 767px) {
.post_content .custom-sitemap {
		gap: 32px;
	}
.post_content.custom-sitemap__list {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

/* =========================
  明治薬品の想いページ
========================= */
.about-text{
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
}
.msg-dark .swl-format-2 {
  border-bottom-color: #fff;
}
.strength-sec .swl-format-2 {
  border-bottom-width: 3px;
  padding-bottom: 3px;
}
.movie-cover .wp-block-cover__image-background {
  object-fit: contain;
}
.movie-btn .swl-format-14 {
  border-color: #fff;
}
.movie-btn a {
  border-radius: 0;
  border-color: #fff;
  color: #fff;
  background-color: transparent;
  transition: 0.3s;
}
.movie-btn a:hover {
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
  border-color: #fff;
}

@media screen and (max-width: 959px) {
  .sec-ttl-row .wp-block-separator {
    width: 40px;
    max-width: 40px;
    flex: none;
  }
  .strength-no-row .swl-fz:not(.u-fz-l) {
    font-size: 26px !important;
  }
  .strength-no-row .swl-fz.u-fz-l {
    font-size: 22px !important;
  }
  .person-row > .swell-block-columns__inner {
    row-gap: 0.5rem;
  }
  .person-row .swell-block-column:first-child p:last-child {
    margin-bottom: 0;
  }
  .person-rev > .swell-block-columns__inner {
    flex-direction: column-reverse;
  }
}

@media screen and (max-width: 599px) {
  .strength-no-row .swl-fz:not(.u-fz-l) {
    font-size: 24px !important;
  }
  .strength-rev > .swell-block-columns__inner {
    flex-direction: column-reverse;
  }
  .person-label .swl-fz:not(.u-fz-xl) {
    font-size: 56px !important;
  }
  .person-label .swl-fz.u-fz-xl {
    font-size: 22px !important;
  }
  .person-name .swl-fz:not([class*="u-fz"]) {
    font-size: 28px !important;
  }
  .person-row .swl-format-22 .swl-fz.u-fz-xl {
    font-size: 22px !important;
  }
}

/* =========================
  初めての方へ/FAQページ
========================= */
:root {
  --nav-offset: calc(var(--swl-headerH) + 8px);
}
@media (min-width: 600px) and (max-width: 959px) {
  :root {
    --nav-offset: 156px;
  }
}
.guide-anchor-item .wp-block-paragraph {
  display: flex;
  align-items: center;
  width: 100%;
  padding:15px;
}
.guide-anchor-item .swl-inline-icon {
  margin-left: auto;
}
.group-link-wrap:hover .guide-anchor-item,
.group-link-wrap:active .guide-anchor-item,
.group-link-wrap:focus .guide-anchor-item {
  background: #00558F;
  border-color: #00558F;
}
.group-link-wrap:hover .guide-anchor-item *,
.group-link-wrap:active .guide-anchor-item *,
.group-link-wrap:focus .guide-anchor-item * {
  color: #fff !important;
}
.guide-card {
  position: relative;
  background: #fff;
  border: 1px solid #ccd6e0;
  border-radius: 8px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .10);
  padding: 36px 12px 28px;
  text-align: center;
  transition: box-shadow .2s, transform .2s;
}
.guide-card:hover {
  transform: translateY(-2px);
}

@media (min-width: 600px) {
  .guide-anchor-list {
    position: sticky !important;
    top: var(--nav-offset);
    align-self: flex-start;
  }
  .has-guide-nav > .swell-block-columns__inner {
    flex-wrap: nowrap;
    align-items: flex-start;
  }
}

@media (max-width: 959px) {
  .guide-anchor-item .wp-block-paragraph {
    padding: 16px !important;
  }
}


/* =========================
  定期コースページ
========================= */
.subsc-card {
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .10);
  height: 100%;
}

.subsc-tab.is-style-default {
  border: none;
}
.subsc-tab .c-tabList {
  gap: 6px;
  border-bottom: 1px solid #00558F;
  padding: 0;
  align-items: flex-end;
}
.subsc-tab.is-style-default > .c-tabList .c-tabList__button {
  background: #f5f5f5;
  border: 1px solid #ddd;
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  color: #999;
  font-weight: 500;
  padding: 10px 28px;
}
.subsc-tab.is-style-default > .c-tabList .c-tabList__button[aria-selected="true"] {
  background: #fff;
  border-color: #00558F;
  color: #00558F;
  font-weight: 700;
  padding: 15px 32px;
  position: relative;
  z-index: 1;
  margin-bottom: -1px;
}
.subsc-tab.is-style-default > .c-tabList .c-tabList__button:not([aria-selected="true"]):hover,
.subsc-tab.is-style-default > .c-tabList .c-tabList__button:not([aria-selected="true"]):focus-visible {
  background: #eaf1f7;
  border-color: #00558F;
  color: #00558F;
  cursor: pointer;
}
.subsc-tab.is-style-default > .c-tabBody {
  border: none;
  padding: 28px 0 0;
}
.subsc-tab.is-style-default > .c-tabBody .c-tabBody__item {
  border: none;
  padding: 0;
}

.benefit-card {
  border: 1px solid var(--color_main);
  border-radius: 6px;
  background: #fff;
  padding: 24px 32px;
}
.benefit-card .swl-format-23 {
  margin-top: -25px;
  margin-left: 24px;
}

hr.benefit-line,
hr.benefit-line.is-style-wide {
  border: none !important;
  border-top: 1px dotted #00558F !important;
  background: none !important;
  height: auto !important;
  opacity: 1;
  margin: 8px 0 10px;
}

@media (max-width: 599px) {
  .subsc-tab .c-tabList {
    gap: 4px;
  }
  .subsc-tab .c-tabList .c-tabList__item {
    flex: 1;
    min-width: 0;
  }
  .subsc-tab.is-style-default > .c-tabList .c-tabList__button {
    width: 100%;
    padding: 10px 4px;
    font-size: 12px;
    white-space: nowrap;
  }
  .subsc-tab.is-style-default > .c-tabList .c-tabList__button[aria-selected="true"] {
    padding: 13px 4px;
  }
  .price-line {
    white-space: nowrap;
  }
  .price-line .swl-fz.u-fz-xl {
    font-size: 26px !important;
  }
  .price-line .swl-bg-color {
    font-size: 16px;
    padding: 2px 6px;
  }
  .benefit-card .swl-format-23 {
    width: 64px;
    font-size: 14px;
    padding: 12px 0 20px;
    margin-top: -25px;
    margin-left: -10px;
  }
}

/* =========================
  会社概要ページ
========================= */
.philosophy-ttl {
  line-height: 1.3;
  margin-top: -0.2em;
}
.philosophy-ttl ruby {
  ruby-position: under;
}
.philosophy-ttl rt {
  font-size: 0.3em;
  color: #00558F;
  letter-spacing: 0.05em;
  ruby-align: center;
  text-align: center;
  margin-top: 0.5em;
}

.quality-box .swl-inline-color {
  display: inline-block;
  padding-right: 18px;
  margin-right: 20px;
  border-right: 1px solid #707070;
  line-height: 1.2;
}
.quality-list {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
hr.quality-line {
  border: none;
  border-top: 1px dotted #aaa;
  background: none;
  height: auto;
}
.swell-block-fullWide.quality-hero-wide {
  background-position: center top !important;
  padding-top: 150px !important;
  padding-bottom: 150px !important;
}
.swell-block-fullWide.quality-wide {
  margin-top: -120px;
  position: relative;
  z-index: 1;
  background: transparent !important;
}
.quality-box {
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .10);
  padding: 48px 56px;
}

.wp-block-table.company-table table th,
.wp-block-table.company-table table td {
  padding-top: 20px;
  padding-bottom: 20px;
}

.facility-block > .swell-block-columns__inner {
  align-items: stretch !important;
}
.facility-block .swell-block-column:has(img) {
  display: flex;
}
.facility-block .swell-block-column:has(img) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.group-companies-block .swell-block-column {
  display: flex;
  flex-direction: column;
}
.group-companies-block .wp-block-group.-border01.group-card-box {
  padding: 20px 24px;
  border-top-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.group-companies-block .group-card-title {
  line-height: 1.3;
  min-height: 3.0em;
}

.history-table table,
.history-table th,
.history-table td {
  border: none !important;
}
.history-table td:first-child {
  position: relative !important;
  padding-left: 24px;
}
.history-table td:first-child::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 2.0em;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #00558F;
  z-index: 2;
}
.history-table tr td:first-child::after {
  content: "";
  position: absolute;
  left: 7.5px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #00558F;
  z-index: 1;
}
.history-table tr:first-child td:first-child::after {
  top: 2.0em;
}
.history-table tr:last-child td:first-child::after {
  bottom: auto;
  height: 2.0em;
}
.history-table td {
  padding-top: 18px;
  padding-bottom: 18px;
}
.history-table {
  text-align: center;
}
.history-table table {
  width: auto !important;
  margin: 0 auto !important;
}
.history-table td {
  text-align: left;
}

.swell-block-fullWide.history-photo-wide {
  margin-top: -96px;
  position: relative;
  z-index: 1;
  background: transparent !important;
}

@media (max-width: 959px) {
  .philosophy-item p:nth-of-type(1) .swl-fz {
    font-size: 36px !important;
  }
  .philosophy-item p:nth-of-type(2) .swl-fz {
    font-size: 40px !important;
  }
  .swell-block-fullWide.quality-hero-wide {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
  }
  .swell-block-fullWide.quality-wide {
    margin-top: -100px !important;
  }
  .wp-block-table.company-table table {
    --swl-cell1-width: 180px !important;
  }
  .history-spacer {
    height: 0px !important;
  }
}

@media (max-width: 599px) {
  .philosophy-item p:nth-of-type(1) .swl-fz {
    font-size: 26px !important;
  }
  .philosophy-item p:nth-of-type(2) .swl-fz {
    font-size: 30px !important;
  }
  .swell-block-fullWide.quality-hero-wide {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .swell-block-fullWide.quality-wide {
    margin-top: -80px !important;
  }
  .wp-block-group.quality-box {
    padding: 24px 20px !important;
  }
  .quality-policy-text .u-fz-xl {
    font-size: 20px !important;
  }
  .quality-box .swl-inline-color {
    padding-right: 12px;
    margin-right: 12px;
  }
  .wp-block-table.company-table table {
    --swl-cell1-width: 140px !important;
  }
  .facility-block > .swell-block-columns__inner {
    flex-direction: column;
  }
  .facility-block .swell-block-column:has(img) {
    order: 1;
  }
  .facility-block .swell-block-column:not(:has(img)) {
    order: 2;
  }
  .swell-block-fullWide.history-photo-wide {
    margin-top: -48px;
  }
 
}