@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/*==================================
共通
==================================*/
/* SP */
@media screen and (max-width:599px) {
	.sp-center {
		text-align: center;
	}
}

/* kiwi maru フォント（レギュラー） */
.kiwi-maru-regular {
  font-family: "Kiwi Maru", serif;
  font-weight: 400;
  font-style: normal;
}

/* kiwi maru フォント（ミディアム） */
.kiwi-maru-medium {
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  font-style: normal;
}

/* フッター直前の余白削除 */
#before_footer_widget {
	margin-top: 0;
}

/*==================================
TOPページ／MV
==================================*/
/* SP時テキスト下寄せ */
@media screen and (max-width:959px) {
	.p-mainVisual__textLayer {
		justify-content: flex-end;
		height: 50%;
		margin-top: 50%;
		transform: translate(-50%, 15%);
	}
}

/* テキストエリアインナー幅 */
.swell-block-columns.mv-heading {
	max-width: 1196px;
    margin-inline: auto;
    width: 100%;
}

/* H2の２行目ずらし */
.mv_title_custom br + span {
  margin-left: 0.5em; /* ← 好みで調整（例：8pxや1emでもOK） */
  display: inline-block; /* インラインブロックでマージン有効化 */
}

/* “てよかった”部分 */
h2.mv_title_custom {
	font-size: min(42px, calc(26/375*100vw));
}
	
/* “あ”と“い”の大文字部分 */
h2.mv_title_custom .large {
	font-size: min(68px, calc(50/375*100vw));
}


/*==================================
TOPページ／バナーセクション
==================================*/
/* セクションの余白調整 */
.top_banner_sec {
	padding: 0 0 100px !important;
}

@media screen and (max-width:959px) {
	.top_banner_sec {
		background: url(http://test0011.kankomaru.com/wp-content/uploads/2025/11/bg_banner-sec_sp.png) no-repeat bottom left / cover !important;
	}
}


/*==================================
TOPページ／お知らせセクション
==================================*/
/* セクションの余白調整 */
.top_news_sec {
	padding: 0 0 56px !important;
}


/*==================================
TOPページ／施設一覧表セクション
==================================*/
/* インナー背景余白・背景色 */
.top_facility_inner {
	padding: 56px 80px;
	border-radius: 30px;
	background: #fff;
}

@media screen and (max-width:959px) {
	.top_facility_inner {
		padding: 40px 6vw;
		border-radius: 20px;
	}
}

/* テーブル余白 */
.top_facility_table td {
	padding: 24px 20px;
}

@media screen and (max-width:599px) {
	.top_facility_table td {
		padding: 20px 16px;
	}
}

/* PDFのflex調整 */
.swell-block-columns.top_facility_pdf .swell-block-columns__inner {
	justify-content: flex-end;
}

@media screen and (max-width:599px) {
	.swell-block-columns.top_facility_pdf .swell-block-columns__inner {
		justify-content: flex-start; 
	}
}

@media screen and (min-width:960px) {
	.top_facility_pdf .swell-block-column {
		width: auto;
	}
}

/* 吹き出し */
@media screen and (min-width:960px) {
	.top_facility_img-balloon_col img {
        height: 98px;
        width: auto;
	}
}

.top_facility_img-balloon_col img {
	object-fit: contain;
}


/*==================================
TOPページ／求人情報セクション
==================================*/
.top_recruit_custom {
    border-radius: 30px;
    overflow: hidden;
}

/* 編集画面で背景色をつけたことにより付与されたpaddingを0にする */
.padding_0  {
	padding: 0 !important;
}

/* インナー背景色 */
.top_recruit_custom .swell-block-columns__inner {
	background: #85A965;
}

/* テキストエリア余白 */
.top_recruit_custom .top_recruit_custom_item-text {
	position: relative;
	padding: 64px 32px 64px min(100px, calc(100/1440*100vw));
}

@media screen and (max-width:959px) {
	.top_recruit_custom .top_recruit_custom_item-text {
		padding: 48px 24px 48px 48px;
	}
}

@media screen and (max-width:599px) {
	.top_recruit_custom .top_recruit_custom_item-text {
		padding: 40px 32px 20px;
	}
}

/* 認証マーク */
.top_recruit_custom .top_recruit_custom_item-text:before {
	position: absolute;
	content: "";
	top: 56px;
	right: 0;
	aspect-ratio: 1/1;
	width: min(190px, 16vw);
	height: auto;
	background: url(http://test0011.kankomaru.com/wp-content/uploads/2025/10/認定マーク-1-1.png) no-repeat center center / contain;
	z-index: 10;
}

@media screen and (max-width:959px) {
	.top_recruit_custom .top_recruit_custom_item-text:before {
		top: 30px;
        right: 0;
		width: 120px;
	}
}

@media screen and (max-width:599px) {
	.top_recruit_custom .top_recruit_custom_item-text:before {
		top: 40px;
		right: 32px;
		width: clamp(84px, calc(120/599*100vw),120px);
	}
}

/* 画像エリア */
.top_recruit_custom .top_recruit_custom_item-img .wp-block-image {
	height: 100%;
}

.top_recruit_custom .top_recruit_custom_item-img .wp-block-image img {
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width:599px) {
	.top_recruit_custom .top_recruit_custom_item-img {
		height: min(400px, calc(400 / 599 * 100vw));
	}
	.top_recruit_custom .top_recruit_custom_item-img img {
		object-position: center 21%;
	}
}

/* ボタン背景色 */
.top-recruit_btn a {
	background: #EDEDC7;
}


/*==================================
ワークライフマネジメントページ
==================================*/
/* くるみんマーク余白 */
.worklife_kurumin {
	padding: 20px 30px;
    border: 1px solid #cdcdcd;
	border-radius: 10px;
}

@media screen and (max-width:600px) {
	.worklife_kurumin {
		padding: 20px 16px;
	}
}

/* くるみんマーク画像サイズ */
@media screen and (max-width:600px) {
	.worklife_kurumin img {
		max-width: 160px;
		margin-right: auto;
		margin-left: auto;
	}
}


/*==================================
介護でお悩みの方へページ／タイトル
==================================*/
/* サービス紹介３カラム */
.nursing_service_col {
	border-radius: 15px;
	overflow: hidden;
}

@media screen and (max-width:599px) {
	.nursing_service_col a:not(:root:root) {
		flex-direction: row;
		gap: 20px;
		padding: 10px 24px;
	}
	
	.nursing_service_col .swell-block-box-menu__figure:not(:root) {
		margin-bottom: 0;
	}
	
	.nursing_service_col img {
		width: 70px;
		height: 70px;
	}
	
	.nursing_service_col .swell-block-box-menu__text {
		display: block;
		flex: 1;
		align-self: center;
		line-height: 1;
		text-align: left;
	}
}

/* グリーン */
.nursing_service_col.green {
	border: 2px solid #b8dcb8;
}

/* 水色 */
.nursing_service_col.blue {
	border: 2px solid #b7e5ff;
}

/* ピンク */
.nursing_service_col.pink {
	border: 2px solid #ffc5d5;
}

@media screen and (max-width:599px) {
	.nursing_service_col.green,
	.nursing_service_col.blue,
	.nursing_service_col.pink {
		border-width: 1px;
	}
}


/* サービス紹介タイトル */
.nursing_service-title-green::before,
.nursing_service-title-pink::before,
.nursing_service-title-blue::before {
	opacity: 1 !important;
}

/* ピンク */
.nursing_service-title-pink::before {
	background: linear-gradient(135deg, transparent 25%, #ff7592 25%, #ff7592 50%, transparent 50%, transparent 75%, #ff7592 75%, #ff7592) !important;
	background-size: 4px 4px !important;
}

/* 水色 */
.nursing_service-title-blue::before {
	background: linear-gradient(135deg, transparent 25%, #58cdff 25%, #58cdff 50%, transparent 50%, transparent 75%, #58cdff 75%, #58cdff) !important;
	background-size: 4px 4px !important;
}


/*==================================
料金案内ページ
==================================*/
.price_box-radius .swell-block-box-menu__item {
	border-radius: 10px;
    overflow: hidden;
}


/*==================================
施設詳細ページ
==================================*/
/* ラベル緑 */
.label_green {
	border-left-color: #98cc6b;
	background: #dff4cc;;
}

/* ラベルピンク */
.label_pink {
	border-left-color: #ff7592;
    background: #ffeef2;
}

/* ラベル青 */
.label_blue {
	border-left-color: #95d8f5;
    background: #f0faff;
}

/* セクションタイトルピンク */
.section-title_pink:not(:root):before {
	border-color: #ff7592;
}

/* セクションタイトル青 */
.section-title_blue:not(:root):before {
		border-color: #95d8f5;
}

/* SP時カラム入れ替え */
@media screen and (max-width:599px) {
	.sp-column-reverse .swell-block-columns__inner {
		flex-direction: column-reverse;
	}
}

/* 線なし・余白なしカラム */
.no-border-padding_col:not(:root:root) {
	padding: 0;
	border: none;
}

/* 画像角丸 */
.img-radius img {
	overflow: hidden;
	border-radius: 5px;
}

/* 動画角丸 */
.movie-radius {
	overflow: hidden;
	border-radius: 5px;
}

/* スライダー単体の角丸 */
.radius_col {
	overflow: hidden;
	border-radius: 5px;
}

/* スライダーテキストありカラム角丸 */
.radius_col .n2-section-smartslider {
	overflow: hidden;
	border-radius: 5px;
}


/* PDFリンク */
.pdf-link {
	gap: 24px;
}

.pdf-link .swell-block-linkList__item {
	padding-left: 15px;
}

.pdf-link .swell-block-linkList__item .swell-block-linkList__link {
    color: var(--color_link);
}

.pdf-link .swell-block-linkList__item::before {
	content: "\f1c1";
	position: absolute;
	top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

/* やさとブログ */
.yasato_blog .p-blogCard .p-blogCard__inner {
	background: #6fba2c3b;
}

/*==================================
施設へのアクセス案内ページ
==================================*/
/* 説明リスト */
.dl_custom .swell-block-dl__dt {
	background-color: #f6f6f6;
    color: #333;
}



/*==================================
採用情報ページ
==================================*/
.text-shadow {
	text-shadow:  2px 2px 4px rgba(0, 0, 0, 0.2),
 -2px -2px 4px rgba(0, 0, 0, 0.2),
 -2px 2px 4px rgba(0, 0, 0, 0.2),
  2px -2px 4px rgba(0, 0, 0, 0.2),
  2px 0 4px rgba(0, 0, 0, 0.2),
 -2px 0 2px rgba(0, 0, 0, 0.2),
  0 2px 4px rgba(0, 0, 0, 0.2),
  0 -2px 4px rgba(0, 0, 0, 0.2);
}


/*=============================
お問い合わせページ
=============================*/
.cf7__list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px;
}

.cf7__list dt {
	width: 35%;
	padding: 30px 20px;
	background: #eeeeee;
	border-bottom: 1px solid #fff;
}

.cf7__list dd {
	width: 65%; 
	padding: 30px 20px;
	background: #f6f6f6;
	border-bottom: 1px solid #fff;
}

.cf7__list dt.cf7__section-title,
.cf7__list dd.cf7__description {
	margin-top: 30px;
	background: none;
}

/* 必須・任意 */
.cf7__required,
.cf7__optional {
  margin-left: 15px;
  padding: 3px 6px;
  color: #fff;
  font-size: 12px;
  vertical-align: 1px;
}

.cf7__required {
  background: #BE1D1D;
}

.cf7__optional {
  background: #878D8E;
}

/* input・textarea */
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
  width: 100%;
  padding: 15px 20px;
  background: #fff;
}

/* ドロップダウンメニュー */
.cf7__select {
  position: relative;
}

.cf7__select:before {
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 10;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid #000;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  pointer-events: none;
  content: '';
}

.cf7__select select {
  width: 100%;
  padding: 19px 20px;
  background: #F4F4F4;
  color: #a5a5a5;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* チェックボックス・ラジオボタン */
.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding: 15px 0 10px;
}

/* 縦並び（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item {
  display: block;
  margin: 0;
}

/* マウスカーソル（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item label {
  cursor: pointer;
}

/* チェックボックス・ラジオボタン */
input[type="checkbox"],
input[type="radio"] {
  position: relative;
  width: 18px;
  height: 18px;
  margin-right: 2px;
  border: 1px solid #bcbcbc;
  vertical-align: -3px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* チェックボックス */
input[type="checkbox"]:checked {
  border: 1px solid #6fba2c;
  background:  #6fba2c;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 2px;
  left: 5px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: '';
}

/* ラジオボタン */
input[type="radio"] {
  border-radius: 50%;
}

input[type="radio"]:checked:before {
	position: absolute;
	content: '';
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #6fba2c;
}

/* プレースホルダー */
/* Google Chrome / Safari / Mozilla Firefox / Opera */
.cf7__list dd input[type="text"]::placeholder,
.cf7__list dd input[type="tel"]::placeholder,
.cf7__list dd input[type="email"]::placeholder,
.cf7__list dd textarea::placeholder {
  color: #a5a5a5;
}

/* Microsoft Edge */
.cf7__list dd input[type="text"]::-ms-input-placeholder,
.cf7__list dd input[type="tel"]::-ms-input-placeholder,
.cf7__list dd input[type="email"]::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder {
  color: #a5a5a5;
}

/* Internet Explorer */
.cf7__list dd input[type="text"]:-ms-input-placeholder,
.cf7__list dd input[type="tel"]:-ms-input-placeholder,
.cf7__list dd input[type="email"]:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder {
  color: #a5a5a5;
}

/* 送信・確認ボタン */
.confirm_button_container p {
	display: flex;
	justify-content: center;
	gap: 30px;
}

.cf7__button {
  padding-left: 72px;
  text-align: center;
}

input[type="submit"],
input[type="button"]{
	width: 260px;
	height: 60px;
	border-radius: 8px;
	background: #6fba2c;
	color: #fff;
	transition: opacity .6s;
}

input[type="button"]{
  background: #ecaf73;
}

input[type="submit"]:hover,
input[type="button"]:hover {
  opacity: .6;
}

/* ajax-loader */
.wpcf7-spinner {
  vertical-align: middle;
}

@media screen and (max-width: 599px) {
	.cf7__list dt {
		width: 100%;
		padding: 20px;
		background: #efefef;
		border: none;
  }

  .cf7__list dd {
	  width: 100%;
	  padding: 0 20px 20px;
	  border: none;
  }

	.cf7__list dd.cf7__description {
		margin-top: 0;
	}
	

  /* 送信ボタン */
	input[type="submit"],
	input[type="button"]{
    width: 180px;
    height: 56px;
  }
}
	
	
/*==================================
フッター
==================================*/
/* フッターナビ上 */
@media screen and (min-width:600px) {
	.footer-nav_custom {
		gap: 20px;
	}
}

@media screen and (max-width:599px) {
	.footer-nav_custom {
		gap: 0.5em 1.55em;
	}
}

/* フッターナビ下 */
.justify-end {
	justify-content: flex-end;
}

@media screen and (min-width:600px) {
	.justify-end {
		gap: 16px;
	}
}

/* 認証マーク */
.footer_mark_custom img {
	width: 100px;
}

@media screen and (max-width:599px) {
	.footer_mark_custom {
		margin-bottom: 0;
	}
	
	.footer_mark_custom img {
		width: 80px;
	}
}

/* ロゴエリア */
@media screen and (max-width:599px) {
	.swell-block-columns__inner .flex_sp-reverse {
		flex-direction: column-reverse;
	}
}

@media screen and (max-width:599px) {
	.swell-block-column.footer_logo-area {
		margin-bottom: 2rem;
	}
}

/* ロゴ */
.footer-logo_custom img {
	width: 164px;
}

@media screen and (max-width:599px) {
	.footer-logo_custom img {
		width: 120px;
	}
}


/*==================================
コピーライト
==================================*/
.l-footer .copyright {
	text-align: right;
}


/*==================================
追従ボタン
==================================*/
/* ボタン全体配置 */
.fixed-btn {
	position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
	margin: 0;
	padding: 24px 16px;
	border-radius: 20px 0px 0px 20px;
	background: rgba(247,247,247,0.7);
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
	z-index: 100;
}

@media screen and (max-width:599px) {
	.fixed-btn {
		position: fixed;
		right: 0;
		top: unset;
		bottom: 100px;
		transform: translateY(0);
		padding: 16px 10px;
	}
}

/* ボタン画像サイズ */
.fixed-btn img {
	width: 42px;
}

@media screen and (max-width:599px) {
	.fixed-btn img {
		width: 32px;
	}
}