@charset "UTF-8";
/*
    Template: swell
    Theme Name: CAMELLIA WEB SITE
    Theme URI: 
    Description: カメリアコンサルティングのWEBサイト用テーマ
    Version: 1.0.0
*/

/*------------------
１）共通パーツ
------------------*/
/* 文章 */
p,
th,
td,
dt,
dd {
  /*   font-family: "Zen Old Mincho", serif; */
}
/* 見出し */
h2 {
  color: #073061 !important;
}
/* コンテンツとfooter間の余白消去 */
#content {
  margin-bottom: 0px;
}

/* 下層ページh1タイトル & 見出し高さ 24.12.16 */
.c-pageTitle {
  font-size: 2.5rem;
}
.l-topTitleArea {
  min-height: 300px;
}

/* フッター ウィジェット余白消去 24.12.16 */
.w-footer__box {
  padding-bottom: 0px;
}
.l-footer__widgetArea {
  padding-bottom: 0px;
}
/* フッター内SNSリンクサイズ変更 24.12.16 */
.l-footer__foot .c-iconList__link {
  font-size: 22px;
}

/*①カード型サムネイル リンク・ホバー機能の実装 & スタイル調整*/
/*実装箇所：「サービス案内」 更新：24.11.22*/
.thumbnail01 .swell-block-column.swl-has-mb--s {
  padding-bottom: 0px;
}
.thumbnail01 {
  height: 100%;
}
.thumbnail01__title {
  color: #000; /*追加24.12.10*/
}
.thumbnail01__title-color01 {
  color: #000; /*追加24.12.10*/
}
.thumbnail01__link {
  transition: opacity 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.thumbnail01__link--no-action {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.thumbnail01__link:hover {
  opacity: 0.6;
}
.thumbnail01__img {
}
.thumbnail01__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 300 / 200;
  object-fit: cover;
}
.thumbnail01__title {
  text-align: center;
  font-size: 1.1em;
  font-weight: 600;
  padding-top: 0.2em;
}
.thumbnail01__text {
  font-size: 0.9em;
  padding-inline: 1em;
  padding-top: 1em;
  padding-bottom: 1.5em;
  color: #333;
}
.thumbnail01__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2em;
  font-size: 0.9em;
  padding-block: 0.5em;
  text-align: center;
  background-color: #0c6cbc;
  color: #fff;
}
.thumbnail01__button svg {
  fill: #fff;
}

/*カード型サムネイル 役員紹介 24.12.24*/
.thumbnail02__heading {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 0em;
}
.thumbnail02__heading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -16px;
  transform: translateY(-50%);
  display: block;
  width: 2px;
  height: 100%;
  background-color: #0c6cbc;
}

.thumbnail02__tags {
  margin-top: 0.4em;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em;
}
.thumbnail02__tag {
  color: #000000;
  display: grid;
  place-items: center;
  padding-inline: 0.4em;
  border: 1px solid #cccccc;
  border-radius: 4px;
  background-color: #ffffff;
  font-size: 0.6em;
}

/*カード型サムネイル③ コンサルティング実績 24.1.20*/
@media (max-width: 768px) {
  .case__contents > .wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
  }
  .case__contents .p-postListWrap {
    width: 100%;
  }
  /* 見出し高さの調整 */
  .case__contents .wp-block-heading {
    height: fit-content;
  }
  /* 実績の横幅調整 */
  .case__contents .wp-block-group {
    width: 100%;
  }
  /* 実績内容を横並び */
  .case__contents .p-postList__body {
    display: flex;
    gap: calc(20 / 16 * 1rem);
  }
  .case__contents .wp-block-heading {
    max-width: 270px;
  }
  .case__contents .wp-block-heading {
    max-width: none;
  }
}
.thumbnail03__wrapper .swell-block-columns__inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .thumbnail03__wrapper .swell-block-columns__inner {
    flex-direction: column;
  }
}
.case__contents .swell-block-column {
  width: calc(100% / 3 - var(--swl-clmn-mrgn--x));
}
@media (max-width: 768px) {
  .case__contents .swell-block-column {
    width: calc(100% - var(--swl-clmn-mrgn--x));
  }
}
.thumbnail03 .swell-block-column.swl-has-mb--s {
  padding-bottom: 0px;
}
.thumbnail03 {
  height: 100%;
}
.thumbnail03__link {
  transition: opacity 0.3s ease;
}
.thumbnail03__container {
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  .thumbnail03__container {
    flex-direction: row;
  }
}
.thumbnail03__link:hover {
  opacity: 0.6;
}
.thumbnail03__img {
  flex: 1;
}
.thumbnail03__img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 300 / 200;
  object-fit: cover;
}
.thumbnail03__texts {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding-inline: 1em;
  padding-bottom: 1em;
}
@media (max-width: 768px) {
  .thumbnail03__texts {
    align-items: start;
    padding-top: 1em;
    gap: 20px;
  }
}
.thumbnail03__title {
  color: #000; /*追加24.12.10*/
  text-align: center;
  font-size: 1.1em;
  font-weight: 600;
  padding-top: 0.2em;
}
.thumbnail03__title-color01 {
  color: #000; /*追加24.12.10*/
}
.thumbnail03__text {
  font-size: 0.9em;
  color: #333;
}
.thumbnail03__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2em;
  font-size: 0.9em;
  padding-block: 0.5em;
  text-align: center;
  background-color: #0c6cbc;
  color: #fff;
}
.thumbnail03__button svg {
  fill: #fff;
}

/*②Q&A項目の背景色 */
/*実装箇所：「Q&A項目」 更新：24.12.7*/
.faq_q {
  background-color: #f2f7fd !important;
}
.faq_a {
  background-color: #fdfdfd !important;
}

/* ③役員紹介 役員名の位置調整 24.12.16 */
/* アンカー:officer-introduction */
.officer-introduction .wp-block-cover {
  position: relative;
}
.officer-introduction .wp-block-cover__inner-container {
  position: absolute;
  bottom: 50px;
}

/* ④役員紹介画像hover時のスタイル変更 */
@media (any-hover: hover){
  .js-member-link:hover{
    cursor: pointer;
  }
} 

/*------------------
２）TOP
------------------*/
/* スライダータイトル */
.p-postSlider__title {
  padding-left: 10px;
}
/* NEWSセクション 追加24.12.10 */
/* アンカー:news__contents */
.news__contents > .wp-block-group__inner-container {
  display: flex;
  gap: 40px;
}
@media (max-width: 768px) {
  .news__contents > .wp-block-group__inner-container {
    gap: 0px;
    flex-direction: column;
  }
}
.news__contents .p-postListWrap {
  width: 100%;
}
/* 見出し高さの調整 */
.news__contents .wp-block-heading {
  height: fit-content;
}
/* newsの横幅調整 */
.news__contents .wp-block-group {
  width: 100%;
}
/* news内容を横並び */
.news__contents .p-postList__body {
  display: flex;
  gap: calc(20 / 16 * 1rem);
}

/* TOP NEWSセクション 調整 24.12.16 */
/* ターム位置調整 */
.news__contents .c-postThumb__cat {
  position: relative;
}
/* 日付-ターム間調整 */
.news__contents .p-postList__meta {
  display: flex;
  gap: 20px;
}
/* ヘッド幅調整*/
.news__contents .p-postList__meta {
  min-width: 250px;
}
/* レスポンシブ調整 */
@media (max-width: 768px) {
  .news__contents .p-postList__body {
    flex-direction: column;
    gap: 10px;
  }
}

/* About Us クリック範囲の調整 */
/* アンカー:about-us__contents */
.about-us__contents .p-postList__item {
  margin-bottom: 0px;
}
/* セクションタイトル装飾 */
.title-text__decoration01 {
  position: relative !important;
  width: fit-content;
  padding-bottom: 1em !important;
  margin-inline: auto !important;
}
.title-text__decoration01::after {
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
  content: "" !important;
  display: block;
  width: 50%;
  height: 2px;
  background-color: #073061;
}

/*------------------
３）お問い合わせフォーム
------------------*/
/* フォーム初期化 */
.wpcf7-list-item {
  margin: 0;
}
.wpcf7-not-valid-tip {
  position: absolute;
  bottom: calc(-25 / 16 * 1rem);
}
.contact-form__checkbox .wpcf7-not-valid-tip {
  bottom: calc(-8 / 16 * 1rem);
  left: calc(-45 / 16 * 1rem);
}
/* 各フォームの初期化 */
.contact-form__input,
.contact-form__submit-button,
.contact-form__textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.contact-form__input,
.contact-form__textarea {
  outline: 1px solid #ccc;
}
.contact-form__input:focus,
.contact-form__textarea:focus {
  background-color: #fff;
}
/* コンタクトフォーム */
.contact-form {
  max-width: 960px;
  margin-inline: auto;
}
.contact-form__fields {
  display: flex;
  flex-direction: column;
  gap: calc(50 / 16 * 1rem);
}
@media screen and (max-width: 767px) {
  .contact-form__fields {
    gap: calc(30 / 16 * 1rem);
  }
}
.contact-form__field {
  display: flex;
  gap: calc(30 / 16 * 1rem);
}
@media screen and (max-width: 767px) {
  .contact-form__field {
    flex-direction: column;
    gap: calc(10 / 16 * 1rem);
  }
}
.contact-form__field-head {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  min-width: 200px;
  gap: calc(8 / 16 * 1rem);
}
@media screen and (max-width: 767px) {
  .contact-form__field-head {
    flex-direction: row;
    align-items: center;
    gap: calc(16 / 16 * 1rem);
  }
}
.contact-form__field-label {
  font-size: 16px;
  font-weight: 600;
}
label.contact-form__field-label,
.p-contact-form__radio label,
.wpcf7-list-item-label {
  cursor: pointer;
  width: fit-content;
}
.contact-form__field-tag {
  padding: calc(2 / 16 * 1rem) calc(12 / 16 * 1rem);
  border-radius: 50px;
  background-color: #0c6cbc;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  width: fit-content;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .contact-form__field-tag {
    font-size: 10px;
  }
}
.contact-form__field-item {
  flex-grow: 1;
}
/* フィールドフォーム共通 */
.contact-form__input,
.contact-form__textarea {
  padding-top: calc(16 / 16 * 1rem);
  padding-bottom: calc(16 / 16 * 1rem);
  padding-left: calc(16 / 16 * 1rem);
  padding-right: calc(16 / 16 * 1rem);
  border-radius: 4px;
  background-color: #eee;
  width: 100%;
  font-size: 16px;
  font-weight: 400;
  line-height: calc(27 / 18 * 1em);
  letter-spacing: calc(0.9 / 18 * 1em);
}
@media screen and (max-width: 767px) {
  .contact-form__input {
    padding-top: calc(12 / 16 * 1rem);
    padding-bottom: calc(12 / 16 * 1rem);
    font-size: 16px;
    line-height: calc(21 / 14 * 1em);
    letter-spacing: calc(0.7 / 14 * 1em);
  }
}
.contact-form__input::placeholder {
  color: #b9b9b9;
}
/* お問い合わせカテゴリ */
.p-contact-form__radio {
  display: flex;
  flex-wrap: wrap;
  column-gap: calc(20 / 16 * 1rem);
  row-gap: 0px;
}
@media screen and (max-width: 767px) {
  .p-contact-form__radio {
    flex-direction: column;
    justify-content: center;
    gap: 8px;
  }
}
.p-contact-form__radio label {
  font-size: 16px;
  display: flex;
  gap: calc(4 / 16 * 1rem);
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-contact-form__radio label {
    font-size: 16px;
  }
}
/* プライバシーポリシー */
.contact-form__privacy {
  font-size: 16px;
}
.contact-form__privacy input {
  cursor: pointer;
}
.contact-form__privacy label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.contact-form__privacy-link {
  text-decoration: underline;
  transition: opacity 0.3s ease;
}
.contact-form__privacy-link:hover {
  opacity: 0.7;
}
/* サブミットボタン */
.p-contact-form__submit {
  text-align: center;
}
.contact-form__submit-button {
  cursor: pointer;
  padding: calc(10 / 16 * 1rem) calc(100 / 16 * 1rem);
  border-radius: 50px;
  background-color: #0c6cbc;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  outline: 1px solid transparent;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .contact-form__submit-button {
    padding: calc(10 / 16 * 1rem) calc(100 / 16 * 1rem);
    font-size: 16px;
  }
}
.contact-form__submit-button:hover {
  opacity: 0.8;
}
.contact-form__submit-button:disabled,
.contact-form__submit-button:disabled:hover {
  cursor: not-allowed;
  opacity: 0.4;
}
.contact-form__submit-button:focus {
  outline: 2px solid #ccc;
}
/* エラーメッセージ */
.wpcf7-not-valid-tip {
  font-size: 16px;
  bottom: calc(-50 / 16 * 1rem);
}
@media screen and (max-width: 767px) {
  .wpcf7-not-valid-tip {
    font-size: 16px;
    bottom: calc(-40 / 16 * 1rem);
  }
}
@media screen and (max-width: 400px) {
  .wpcf7-not-valid-tip {
    bottom: calc(-45 / 16 * 1rem);
  }
}
.p-contact-form__radio + .wpcf7-not-valid-tip,
.contact-form__textarea + .wpcf7-not-valid-tip {
  bottom: calc(-25 / 16 * 1rem);
}
/* スピナー非表示 */
.wpcf7-spinner {
  display: none;
}
/* プライバシー中央寄せ */
.contact-form__privacy {
  text-align: center; /*追加24.12.10*/
}

/*------------------
4）個別投稿ページ 24.12.17
------------------*/
/* 関連記事を4列表示にする */
@media (min-width: 600px) {
  .-related .p-postList__item {
    width: calc(100% / 4);
  }
}
/* 個別投稿ページのコンテンツ下余白 24.12.24*/
.single #content {
  margin-bottom: 80px;
}

/*------------------
5）パンクズ 25.1.26
------------------*/
/* パンクズリスト フォントサイズ */
.p-breadcrumb__list {
  font-size: 12px;
}
@media (min-width: 600px) {
  .p-breadcrumb__list {
    font-size: 14px;
  }
}
.p-breadcrumb__list {
  flex-wrap: wrap;
}
/* パンクズスタイル調整 25.2.23 */
.p-breadcrumb.-bg-on {
	box-shadow: none !important;
	background: none!important;
}
/*------------------
6）ボタンスタイル 25.1.26
------------------*/
/* ボタンスタイルの統一 */
.c-btn_style01,
.c-ttl404 + .post_content .is-style-more_btn {
  max-width: 300px;
}
@media (max-width: 375px) {
  .c-btn_style01,
  .c-ttl404 + .post_content .is-style-more_btn {
    max-width: 240px;
  }
}
.c-btn_style01 a,
.c-ttl404 + .post_content .is-style-more_btn a {
  width: 100%;
  padding: 0.8em 1em;
  font-size: 1rem;
}

/*------------------
7）TOP ブログコンテンツ 25.1.26
------------------*/
/* トップ ブログ */
/* .blog__contents > .wp-block-group__inner-container {
  display: flex;
  gap: 40px;
} */
/* @media (max-width: 768px) {
  .blog__contents > .wp-block-group__inner-container {
    gap: 0px;
    flex-direction: column;
  }
} */

/* 見出し高さの調整 */
.blog__contents .wp-block-heading {
  height: fit-content;
  min-width: 120px;
}
/* タイトルの横幅調整 */
.blog__contents .wp-block-group {
  width: 100%;
}
/* トップ ブログ 1/23 */
@media (max-width: 768px) {
  .blog__contents .wp-block-columns {
    gap: 0px;
  }
  .blog__contents .p-postList__link {
    display: flex;
    gap: 1em;
  }
  
  .blog__contents .p-postList__thumb,
  .blog__contents .p-postListWrap {
    max-width: 300px;
	min-width: 30%; 
	width: 100%;
  }
  .blog__contents .c-postThumb__figure {
    height: 100%;
  }
  .blog__contents img {
    object-fit: cover;
/* 	max-height: 300px; */
	width: 100%;
  }
}

/* TOP ブログ タイトルとコンテンツの並び */
@media (max-width: 768px) {
.blog__contents-group .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 16px;
    align-items: center;
}
.blog__contents .swell-block-columns {
	--swl-clmn-mrgn--x: 0 !important;
}
}

/*------------------
7）TOP 社員紹介 25.1.26
------------------*/
/* 社員紹介 */
.p-employee__wrapper .swell-block-columns__inner {
  justify-content: center;
}
/* トップ 役員紹介 1/23 */
@media (max-width: 768px) {
  .officer-introduction .wp-block-cover__inner-container {
    bottom: 10%;
  }
  .officer-introduction .wp-block-cover {
    min-height: 280px;
  }
  .officer-introduction .wp-block-cover p {
    font-size: 0.8em;
    margin-bottom: 0px;
  }
}
/* 社員紹介 画像オーバーレイ 25.1.29 */
.officer-introduction .wp-block-cover__background.has-background-dim {
 background:	linear-gradient(to bottom, transparent 0%, black 100%);
}


/*------------------
7）SPメニュー 25.1.26
------------------*/
/* スマホメニュー */
/* デフォルトのメニューを削除 */
.c-widget__title.-spmenu,
.p-spMenu__nav {
  display: none;
}
.p-spMenu__body {
  margin-top: -20px;
}
.swell-block-accordion__body a {
  width: 100%;
  display: block;
}
.l-header-sp__title {
  padding: 0.4em 1em !important;
}
.l-header-sp__menu {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-weight: 400;
  justify-content: space-between;
  border-bottom: 1px solid var(--color_border);
}
.l-header-sp__menu a {
  display: block;
  padding: 1em;
  width: 100%;
}
/* ホームのボーダー削除 */
.l-header-sp__menu.border__none-bottom {
  border-bottom: none;
}
/* アコーディオン */
.p-accordion .swell-block-accordion__title {
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 0.4em;
  padding-bottom: 0.4em;
}


/*------------------
8）フッターメニュー 25.1.26
------------------*/
/* フッターのギャップ */
.l-footer__menu .wp-block-group__inner-container,
.l-footer__menu .swell-block-accordion__item {
  display: flex;
  flex-direction: column;
  gap: 0.4em;
}
.l-footer__menu .swell-block-accordion__label {
  max-width: 300px;
}
/* フッターメニュートグル */
.l-footer__menu .wp-block-group__inner-container p,
.l-footer__menu .swell-block-accordion__item span {
  font-size: 16px;
  margin-bottom: 0px !important;
}

.l-footer__menu .swell-block-accordion__item {
  margin-bottom: 0px;
  margin-top: 0px;
}
.l-footer__menu .swell-block-accordion__title {
  padding: 0px;
  background: inherit !important;
}
.l-footer__menu .swell-block-accordion__body {
  padding: 0.2em 1em;
  margin-bottom: 0.8em;
}
.l-footer__menu .swell-block-accordion__body p {
  font-size: 16px; /* 14px→16pxに変更 25.3.1 */
  margin-bottom: 0px;
}

.l-footer__menu .swell-block-accordion__title {
  justify-content: start;
}
/* フッターの調整 */
.l-footer__menu .swell-block-columns__inner {
  margin-left: auto;
  justify-content: end;
}
/* フッターロゴ クリック幅調整 25.2.23 */
.l-footer-logo a {
	width: fit-content;
	margin-inline: auto;
}

/*------------------
9）ヘッダーメニュー
------------------*/
/* ヘッダーメニュー調整（PC）25.2.23 */
.mega-menu > .mega-menu-item > .mega-sub-menu {
	top: 112px !important;
}

@media (min-width: 960px) and (max-width: 1080px) {
  header.l-header{
    zoom: 0.85;
  }
}

#mega-menu-wrap-header_menu #mega-menu-header_menu > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link, #mega-menu-wrap-header_menu #mega-menu-header_menu > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link{
  margin-left: 0!important;
}

/* ヘッダー言語切替ボタン調整25.3.14 */
.add-lang{
  display: flex;
  align-items: center;
}

.add-lang__btn{
  font-size: 14px;
  &[disabled]{
    pointer-events: none;
    opacity: 0.5;
  }
}

.l-header__customBtn.sp_{
  display: none!important;
}

@media not all and (min-width: 960px) {
  .w-header.pc_:has(.add-lang){
    display: flex!important;
  }
}

/*------------------
10）余白調整
------------------*/
/* 404ページ余白調整 25.2.23 */
/* 検索ページ余白調整 25.2.26 */
.c-ttl404 + .post_content,
.search .l-content {
	margin-bottom: 100px !important;
}
/* ブログ新着一覧、カテゴリー/アーカイブページ余白調整 25.3.1 */

#sidebar {
	margin-bottom: 100px !important;
}
/* ブログ一覧 余白調整 25.3.1 */
.page-template-default .l-container {
	margin-bottom: 0px !important;
}

/*------------------
11）画像調整
------------------*/
/*画像クリックのポップアップ禁止 25.2.23*/
.wp-block-image img {
	pointer-events: none !important;
}
/*画像のアスペクト固定 25.2.23*/
img {
	aspect-ratio: 100 / 80 !important;
	object-fit: cover;
}
/*代表画像のアスペクト固定 25.2.23*/
.p-aspect-image-pc img {
	aspect-ratio: 350 / 470 !important;
}
.p-aspect-image-sp img {
	aspect-ratio: 350 / 500 !important;
}
/*ヘッダーロゴのアスペクト固定 25.2.23*/
.l-header__logo img,
.l-fixHeader__logo img {
	aspect-ratio: 240 / 80 !important;
}


/*------------------
12）実績リストの作成
------------------*/
.achievements{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.thumbnail03{
  background-color: #fff;
  box-shadow: var(--swl-box_shadow);
  color: #333;
}

.achievements-list{
  display: grid;
  gap: 40px;
}

@media (max-width: 768px) {
  .achievements{
    grid-template-columns: 1fr;
  }
}