@charset "utf-8";
/**
 *
 * CSS information
 * file name	: resp.css
 * Break point : 767px 
 *
 */

/* PC時（767px以上）では非表示＝改行しない */
@media (min-width: 768px) {
	.sp-br {
		display: none;
	}
}

@media (max-width: 767px) {
	/*/////////////////////////////////////////////////////////////////////////////////


// 再利用する要素 //
	  

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

	html {
		font-size: 56.25%; /*約9px相当*/
	}

	body {
		line-height: 1.6;
		font-feature-settings: "palt";
	}

	/* ---------------------------------- セクション余白 */

	.sec_head,
	.sec_body,
	.sec_foot,
	.sec_only {
		padding: 4rem 0;
	}

	.sec_inner_bg {
		padding: 4rem 4vw;
	}

	.inner_bg {
		padding: 4rem 4vw;
	}

	/* ----------------------------------  */

	.head_lead {
		font-size: 2rem;
		font-weight: 700;
		letter-spacing: 0;
		margin-bottom: 1.8rem;
	}

	.head_note {
		line-height: 1.8;
	}

	.ttl_sec {
		font-size: 2.4rem;
		letter-spacing: 0;
		padding-top: 2rem;
	}

	.ttl_sec::before {
		width: 3.6rem;
	}

	.ttl_note {
		margin-top: 1.5rem;
		font-size: 1.4rem;
		font-weight: 500;
	}

	.ttl_inside {
		font-size: 2rem;
		margin-top: 4rem;
	}

	.ttl_blue,
	.ttl_blue.-lg {
		font-size: 1.8rem;
	}

	.c-line-heading {
		font-size: 2rem;
		padding-top: 2rem;
	}

	.link_button {
		max-width: 19rem;
		min-height: 4.8rem;
		font-size: 1.5rem;
		margin-inline: auto;
	}

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


// ページヘッド //
	  

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

	.page-head {
		padding: 10rem 0 3rem;
	}
	.page-head__inner {
		min-width: auto;
		padding: 0 5vw;
	}
	.page-head__inner .title {
		row-gap: 1.6rem;
	}
	.page-head__inner .title ._en {
		font-size: 1.6rem;
		font-weight: 700;
		color: var(--color-main);
		letter-spacing: 0;
	}
	.page-head__inner .title ._jp {
		font-size: 2.5rem;
		letter-spacing: 0;
		line-height: 1.3;
	}

	/* パンくずリスト */
	.breadcrumb {
		display: none;
	}

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


// トップページ //
	  

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

	/* ---------------------------------- セクション余白 */

	.top_sec_head {
		padding: 4.5rem 0 4rem;
	}

	.top_sec_body,
	.top_sec_foot {
		padding: 4rem 0;
	}

	/* ---------------------------------- 見出し */

	.top_ttl {
		font-size: 2.8rem;
		letter-spacing: 0.05em;
		padding-bottom: 2rem;
		margin: 0.5rem 0 2.5rem;
	}

	.top_ttl::after {
		width: 5rem;
	}

	.top_ttl_head {
		font-size: 1.7rem;
		font-weight: 600;
		letter-spacing: 0;
	}

	/* 見出し下の説明文 */
	.top_ttl_lead {
		margin-bottom: 3rem;
	}

	.top_ttl_lead br {
		display: none;
	}

	.home .ttl_h3 {
		font-size: 1.9rem;
		border: none;
		padding: 0 0 0 1.5rem;
		margin-bottom: 2rem;
	}

	.home .ttl_h3::before {
		background: linear-gradient(
			180deg,
			var(--color-main) 0 50%,
			var(--color-acc) 50% 100%
		);
		width: 0.4rem;
		height: 2.7rem;
		bottom: 0;
		top: 0;
	}

	.ttl_h3_lead {
		margin-bottom: 4rem;
	}

	/* ---------------------------------- メインビジュアル */

	.p-mv {
		margin-top: 7rem;
	}

	.p-mv__copy {
		display: none;
	}

	/* ---------------------------------- クラスタについて */

	.top_about {
		flex-direction: column;
		gap: 2.5rem;
	}

	.top_about_box {
		width: 100% !important;
	}

	.top_about_box:nth-of-type(2) {
		display: flex;
		flex-direction: column;
	}

	.top_about_catch {
		font-size: 2.5rem;
		font-weight: 600;
	}

	.top_about_lead {
		font-size: 2rem;
		width: 100%;
		margin-top: 0;
	}

	.top_about_note {
		margin: 1.5rem 0 3rem;
		line-height: 1.8;
	}

	/* ---------------------------------- グループホーム */

	.top_gh_list {
		grid-template-columns: 1fr;
		gap: 2rem;
		margin-bottom: 4rem;
	}

	.top_gh_image {
		aspect-ratio: auto;
		max-width: 100%;
	}

	.top_gh_text {
		padding: 2.5rem;
	}

	.top_gh_name span {
		font-size: 2rem;
		color: var(--color-main);
		padding-right: 0.7rem;
	}

	.top_gh_note {
		font-size: 1.6rem;
		margin-top: 1.7rem;
	}

	.top_link_icon {
		margin-top: 1.5rem;
	}

	/* ---------------------------------- 居宅介護支援 */

	.top_cc_list {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		margin-top: 0;
	}

	.top_cc_item {
		padding: 2.5rem;
		gap: 1.5rem;
	}

	.top_cc_head {
		flex-direction: column;
		gap: 1.5rem;
	}

	.top_cc_name span {
		color: var(--color-main);
		font-weight: 600;
		padding-right: 0.7rem;
	}

	.top_cc_note {
		font-size: 1.6rem;
	}

	/* ---------------------------------- 採用情報 */

	.flex_box {
		flex-direction: column;
	}

	.top_voice_ttl {
		padding-top: 4rem;
		margin-bottom: 2rem;
		border-top: 1px solid transparent;
	}

	.top_voice .swiper-slide {
		flex-direction: column;
		gap: 0.5rem;
	}

	.top_voice .swiper-slide div {
		width: 100%;
		padding: 2rem 2.5rem;
		max-height: 18rem;
		min-height: 15rem;
		box-shadow: none;
	}

	/* ---------------------------------- お知らせ */

	.top_news {
		flex-direction: column;
	}

	.top_news_head,
	.top_news_body {
		display: flex;
		flex-direction: column;
		width: 100%;
		padding-right: 0;
	}

	.top_news_body {
		margin-top: 4rem;
	}

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


// 会社概要 //
	  

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

	/* サービス */
	.service {
		margin-top: 3rem;
	}

	.service_list {
		grid-template-columns: 1fr; /* 2列→1列 */
		gap: 2rem;
	}

	.service_item {
		padding: 2.2rem;
	}

	.service_ttl {
		gap: 1.5rem;
	}

	.service_ttl .name {
		font-size: 1.8rem;
		font-weight: 600;
		color: var(--color-main);
	}

	.service_ttl .icon {
		background-color: var(--color-bg-deep);
	}

	.service_note {
		margin: 2rem 0 2rem;
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.service_nav {
		margin: 0;
	}

	.service_nav .list {
		border-radius: var(--radius-4);
	}

	.service_nav .link {
		padding: 1.5rem 2rem;
		font-size: 1.4rem;
		font-weight: 600;
		font-feature-settings: normal;
	}

	/* ボタンリンク */
	a.btn {
		width: 100%;
		max-width: 28rem;
		padding: 1.5rem;
		margin: 3rem auto 0;
	}

	a.btn .name {
		font-size: 1.4rem;
	}

	a.btn .icon svg {
		width: 1rem;
	}

	/* 会社概要 */
	.outline {
		margin-top: 3rem;
	}

	.outline dl {
		flex-direction: column;
	}

	.outline dt,
	.outline dd {
		width: 100%;
		line-height: 1.6;
	}

	.outline dt {
		font-size: 1.7rem;
		font-weight: 600;
		padding: 1.2rem 0 0;
		border-bottom: 1px solid transparent;
	}

	.outline dt:first-of-type {
		border-top: 1px solid var(--color-border);
	}

	.outline dd:last-of-type {
		border-bottom: 1px solid transparent;
	}

	.outline dd {
		padding: 1.2rem 0;
	}

	.outline :is(dt:first-of-type, dd:first-of-type) {
		padding-top: 1.2rem;
	}

	.outline .list {
		gap: 1.2rem;
		font-size: 1.5rem;
		letter-spacing: 0.02em;
	}

	.outline .list span {
		font-size: 1.6rem;
		font-weight: 600;
	}

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


// グループホーム //
	  

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

	/* ========== 施設の概要 */
	.ghData {
		flex-direction: column;
		gap: 3rem;
		margin-top: 2rem;
	}

	.ghData_box {
		width: 100%;
	}

	.ghData_box.-left {
		order: 2;
	}

	.ghData_box.-right {
		order: 1;
		margin-top: 1rem;
	}

	.ghData_box dt {
		width: 24%;
		font-size: 1.5rem;
		font-weight: 600;
		color: var(--color-main);
	}

	.ghData_box dd {
		width: 76%;
		font-size: 1.5rem;
	}

	.ghData_box :is(dt, dd) {
		padding: 1rem 0;
	}

	/* ========== 利用条件 */
	.ghUse {
		margin-top: 2.3rem;
	}

	.ghUse_list {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem 1rem;
		margin-top: 2rem;
	}

	.ghUse_item {
		padding: 2rem;
		font-size: 1.5rem;
	}

	.ghUse_item span {
		top: -1.4rem;
		width: 2.5rem;
		height: 2.5rem;
		font-size: 1.2rem;
	}

	/* ========== 利用料金 */
	.title_h3 {
		font-size: 2rem;
		padding-bottom: 1.2rem;
		margin: 3rem 0 2rem;
	}

	.title_h4 {
		font-size: 1.6rem;
	}

	.title_h4.-lg {
		font-size: 1.8rem;
	}

	.fee_list.-column {
		grid-template-columns: 1fr;
		gap: 1.8rem;
		margin-top: 2rem;
	}

	.fee_item.-col::before {
		top: auto;
		transform: translateY(0);
		right: auto;
		bottom: -3rem;
		left: 50%;
		transform: translateX(-50%);
	}

	.fee_item_body {
		padding: 1.5rem 1rem;
	}

	.fee_item_body .num span {
		font-size: 2.8rem;
	}

	.foot_note {
		font-size: 1.3rem;
		margin: 1.5rem 0.2rem 0.5rem;
	}

	.foot_note.-n2 {
		margin-top: 0.7rem;
	}

	.foot_note_box {
		padding: 1.2rem;
		margin-top: 2rem;
	}

	.foot_note_box p {
		font-size: 1.3rem;
	}

	/* ========== 介護度別合計 */
	.total {
		padding: 2rem;
		margin-top: 2rem;
	}

	.total_column {
		flex-direction: column;
	}

	.total_head {
		width: 100%;
		margin: 0 0 1.5rem;
	}

	.total_head_inner label {
		font-size: 1.5rem;
	}

	.total .form_select {
		width: 100%;
	}

	.total select {
		padding: 1.5rem 2rem;
	}

	.form_select::after {
		right: 5%;
	}

	.total_name {
		margin-top: 0.5rem;
		margin-bottom: 3.5rem;
		font-size: 1.5rem;
	}

	.total_name .level {
		font-size: 1.4rem;
		padding: 0.4rem 1.2rem;
		margin-right: 1rem;
	}

	.total_name .date {
		top: auto;
		bottom: -23px;
		font-size: 1.2rem;
	}

	.total_head.-bg {
		padding: 1.5rem 1rem 1rem;
		margin-bottom: 2rem;
	}

	.total_head_inner .note {
		font-size: 1.4rem;
		font-weight: 400;
	}

	.total_head_inner .num {
		font-size: 2rem;
		font-weight: 600;
		padding-top: 0;
	}

	/* テーブル */
	.total_table-wrapper {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch; /* ← iOSで必須 */
	}

	.total_table {
		min-width: 330px;
		width: 100%;
		margin-bottom: 1.5rem;
		border-collapse: collapse;
	}

	.total_table thead th {
		font-size: 1.3rem;
		font-weight: 400;
		letter-spacing: 0;
		padding-bottom: 0.8rem;
	}

	.total_table tbody th {
		font-size: 1.4rem;
	}

	.total_table td {
		font-size: 1.5rem;
	}

	.total_table .box {
		height: 4rem;
	}

	/* スクロールボタンの配置 */
	.total_table-controls {
		text-align: center;
		color: var(--color-light);
		display: none;
	}

	.total_table-controls button {
		font-size: 1.4rem;
		font-weight: 600;
		cursor: pointer;
	}

	.total_table-controls span {
		display: inline-block;
		padding: 0 0.7rem;
		font-size: 1.4rem;
	}

	/* ========== アクセスマップ */
	.gMap {
		margin-top: 3rem;
		padding-top: 56.25%; /* 16:9 に変更 */
	}

	/* ========== 関連書類 */
	.doc_list {
		gap: 1.2rem;
		margin-top: 3rem;
	}

	.doc_list._col3,
	.doc_list._col2 {
		grid-template-columns: 1fr;
	}

	.doc_list._col4 {
		gap: 1rem;
		grid-template-columns: repeat(2, 1fr);
	}

	a.btn.-sp {
		width: 100%;
		max-width: 95%;
		padding: 1rem;
		margin: 0 auto;
		background: none;
		outline: none;
	}

	.doc_list._col4 a.btn.-sp {
		max-width: 100%;
	}

	a.btn.-sp .name {
		font-size: 1.4rem;
	}

	a.btn:hover {
		border: 2px solid var(--color-border);
	}

	a.btn.-sp:hover .name {
		color: var(--color-main);
	}

	a.btn:hover .icon svg {
		fill: var(--color-main);
	}

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


// 居宅介護支援 //
	  

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

	/* ---------------------------------- Intro */
	.ccIntro::after {
		width: 10rem;
		margin: 4rem auto 0;
		height: calc(tan(60deg) * 5rem / 2);
	}

	.ccIntro_ttl .sm {
		font-size: 1.7rem;
	}

	.ccIntro_ttl .lg {
		font-size: 2.2rem;
		margin-top: 1.2rem;
	}

	.ccIntro_list {
		grid-template-columns: 1fr; /* 1カラムに */
		gap: 1.5rem;
		margin-top: 3rem;
	}

	.ccIntro_item {
		padding: 2rem;
		gap: 1.5rem;
	}

	.ccIntro_item .icon {
		width: 5rem;
	}

	.ccIntro_item .note {
		line-height: 1.5;
	}

	/* ---------------------------------- Document */
	.ccDoc {
		grid-template-columns: 1fr; /* 縦並び */
		gap: 2rem;
		padding: 1.5rem;
		margin-top: 3rem;
	}

	.ccDoc_head {
		max-width: 100%;
	}

	.ccDoc_head .name {
		font-size: 1.9rem;
		text-align: center;
		margin-top: 0.5rem;
		margin-bottom: 1.5rem;
	}

	.ccDoc_head .nameS {
		font-size: 1.7rem;
		text-align: center;
		margin-top: 1rem;
	}

	.ccDoc_head .note {
		gap: 1.2rem;
		text-align: justify;
		text-justify: inter-ideograph; /* IE・Edgeで日本語の均等割り付けに対応 */
	}

	.ccDoc_boby .list {
		margin-top: 1rem;
	}

	.ccDoc_boby .item {
		padding: 1.8rem;
	}

	.ccDoc_boby .heading {
		gap: 1rem;
		font-size: 1.8rem;
		line-height: 1.5;
	}

	.ccDoc_boby .note {
		text-align: justify;
		text-justify: inter-ideograph; /* IE・Edgeで日本語の均等割り付けに対応 */
	}

	/* ---------------------------------- ページ内リンク */
	.page-carecenter .nav_inside {
		padding-top: 3rem;
	}

	.nav_inside .list.-col3 {
		grid-template-columns: 1fr;
	}

	.nav_inside .list.-col4 {
		grid-template-columns: 1fr;
	}

	.nav_inside .item:not(:last-child) {
		border-right: none; /* 横の罫線を消す */
		border-bottom: 1px solid var(--color-border); /* 縦並び用の区切り */
	}

	.nav_inside .link {
		font-size: 1.5rem;
		padding: 1.5rem;
	}

	/* ---------------------------------- 事業所案内 */
	.ccOffice_name {
		flex-direction: column;
		align-items: center;
		gap: 1.8rem;
	}

	.ccOffice_name .place {
		padding: 0.6rem 1.8rem;
		width: auto;
	}

	.ccOffice_name .name {
		font-size: 2rem;
	}

	.ccOffice_name .name span {
		font-size: 1.6rem;
	}

	.ccOffice_data {
		flex-direction: column;
		gap: 3rem;
		margin-top: 3rem;
	}

	.ccOffice_data .box.-left,
	.ccOffice_data .box.-right {
		width: 100%;
	}

	.ccOffice_data .box dl {
		font-size: 1.5rem;
		border-top: 1px solid var(--color-border);
	}

	.ccOffice_data .box :is(dt, dd) {
		width: 100%;
		padding: 1.3rem 0;
	}

	.ccOffice_data .box :is(dt:first-of-type, dd:first-of-type) {
		padding-top: 1.3rem;
	}

	.ccOffice_data .box dt {
		color: var(--color-main);
		font-size: 1.6rem;
		font-weight: 600;
		padding-bottom: 0;
		border-bottom: 1px solid transparent;
	}

	.ccOffice_data .box dd {
		padding-top: 0.8rem;
	}

	.ccOffice_data .box.-right .gMap {
		padding-top: 56.25%;
	}

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


// 採用情報 //
	  

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

	/* ===== リード部分 ===== */
	.recTtl {
		margin-bottom: 3rem;
	}

	.recTtl :is(span, p) {
		padding: 0.5rem 1.1rem;
		font-size: 1.2rem;
		font-weight: 600;
	}

	.recLead {
		font-size: 2.4rem;
		text-align: center;
		margin-bottom: 1.5rem;
	}

	.recLead_note {
		font-size: 1.5rem;
		line-height: 1.7;
	}

	.page-recruit .nav_inside {
		padding-top: 3rem;
	}

	/* ===== 働く環境 ===== */
	.recWork_list {
		grid-template-columns: 1fr; /* 1カラムに */
		grid-template-rows: auto;
		gap: 1.2rem;
		margin-top: 2.5rem;
	}

	.recWork_item {
		padding: 1.5rem;
	}

	.recWork_item .heading {
		gap: 1.5rem;
	}

	.recWork_item .icon {
		width: 5.2rem;
	}

	.recWork_item .name {
		font-size: 1.8rem;
	}

	.recWork_item .note {
		padding: 1rem 1rem 0;
	}

	.recWork_item .note p {
		font-size: 1.5rem;
	}

	/* ===== スタッフの一日（タブ） ===== */
	.tab_list {
		flex-direction: column;
	}
	.tab_item {
		width: 100%;
		font-size: 1.5rem;
		padding: 1.2rem;
	}
	.panel_item {
		padding: 3rem 2rem;
	}

	/* ===== スタッフの一日（タイムライン） ===== */
	.recDay {
		flex-direction: column; /* 左右カラムを縦積みに */
		gap: 5rem;
	}

	.recDay_box {
		width: 100%;
	}

	.recDay_ttl {
		margin-bottom: 3rem;
	}

	.recDay_ttl span {
		font-size: 1.6rem;
		padding: 0.2rem 1.8rem;
	}

	.recDay_item {
		display: flex;
		flex-direction: row; /* 時間＋本文は横並びを維持 */
		align-items: flex-start;
		margin-left: 0;
		padding-bottom: 2rem;
	}

	.recDay_item::before {
		left: 6.8rem; /* タイムラインの縦線をtimeの右に移動 */
	}

	.recDay_item .time {
		flex: 0 0 6rem; /* 左カラムを固定幅に */
		text-align: right;
		padding-right: 1.5rem;
		font-size: 1.5rem;
	}

	.recDay_item .body {
		flex: 1;
		padding-left: 3rem; /* 丸アイコン分 */
		position: relative;
	}

	.recDay_item .body::before {
		left: 0;
		width: 1.8rem;
		height: 1.8rem;
	}

	/* 最初と最後の丸だけ大きめに調整 */
	.recDay_item:first-of-type .body:before,
	.recDay_item:last-of-type .body:before {
		left: -0.2rem;
		width: 2.2rem;
		height: 2.2rem;
	}

	.recDay_item .name {
		font-size: 1.6rem;
		margin-bottom: 0.8rem;
	}

	.recDay_item .text {
		font-size: 1.4rem;
		padding: 0.5rem 0 0;
	}

	/* ===== 先輩の声 ===== */
	.recVoice {
		margin-top: 4rem;
	}

	.recVoice_list {
		grid-template-columns: 1fr; /* 1カラム */
		gap: 2.5rem;
	}

	.recVoice_item {
		padding: 2.5rem 1.5rem;
	}

	.recVoice_item .name {
		top: -1.1rem;
		font-size: 1.5rem;
	}

	/* ===== 募集要項 ===== */
	.recRequ {
		padding: 3rem 2rem;
		margin-top: 3rem;
	}
	.recRequ :is(dt, dd) {
		padding: 1.3rem 0;
		border-bottom: 1px solid var(--color-border);
	}
	.recRequ dd:first-of-type {
		padding-top: 1.3rem;
	}
	.recRequ dt {
		width: 100%;
		font-size: 1.6rem;
		font-weight: 600;
		padding-bottom: 0;
		border-bottom: 1px solid transparent;
	}
	.recRequ dd {
		width: 100%;
		font-size: 1.5rem;
		padding-top: 1rem;
	}

	.recRequ dd:last-of-type {
		border-bottom: 1px solid transparent;
	}

	/* ===== フッターボタン ===== */
	.recFoot_link .button {
		padding: 1rem 2rem;
	}

	.recFoot_link .name {
		font-size: 1.6rem;
		padding: 0 2rem;
	}

	.recFoot_link .icon {
		height: 3.6rem;
		width: 3.6rem;
	}

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


// お問い合わせ // 採用問い合わせ //
	  

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

	.page-inquiry .sec_only {
		padding: 0 0 4rem;
	}

	.form_inner {
		padding: 0 5vw;
	}

	.page-contact .ttl_sec {
		font-size: 2.2rem;
		color: var(--color-main);
	}

	/* ---------------------------------- 電話で */
	.tel_box {
		padding: 1.5rem;
		margin: 0 -5vw;
		width: calc(100% - -10vw);
	}

	.tel_box .name {
		font-size: 1.4rem;
	}

	.tel_box .number {
		font-size: 3.2rem;
		flex-wrap: wrap;
		text-align: center;
	}

	.tel_box .number::before {
		width: 2.4rem;
		height: 2.4rem;
		margin-right: 1rem;
	}

	.tel_box .note {
		font-size: 1.4rem;
		margin-top: 0.8rem;
		text-align: center;
	}

	/* グループホーム電話リスト */
	.tel_list {
		grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
		gap: 1rem;
		margin-top: 4rem;
	}

	.tel_item {
		padding: 1.3rem;
	}

	.tel_item .icon {
		width: 3.6rem;
		height: 3.6rem;
	}

	.tel_item .icon svg {
		width: 1.8rem;
		height: 1.8rem;
	}

	.tel_item .name span {
		font-size: 1.6rem;
	}

	.tel_item .number {
		font-size: 2.6rem;
		margin: 0.8rem 0 0 -2.5rem;
	}

	/* 居宅介護支援リスト */
	.tel_cc_list {
		grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
		gap: 1rem;
		margin: 1rem 0 0;
	}

	.tel_cc_item {
		padding: 1.3rem;
	}

	.tel_cc_item .name span {
		font-size: 1.6rem;
		display: inline-block;
		margin-left: 0.5rem;
	}

	.tel_cc_item .icon {
		width: 3.6rem;
		height: 3.6rem;
	}

	.tel_cc_item .icon svg {
		width: 1.8rem;
		height: 1.8rem;
	}

	.tel_cc_item .number {
		flex-direction: row;
		gap: 1.5rem;
		font-size: 2.6rem;
		margin: 0.8rem 0 0 -2.5rem;
	}

	.form.box {
		padding: 3rem 0;
	}

	/* ---------------------------------- フォームで（SP最適化） */
	.form_title {
		font-size: 2.2rem;
		margin-top: 4rem;
	}

	.form_notes {
		font-size: 1.4rem;
		margin-top: 2rem;
	}

	.form {
		margin-top: 4rem;
	}

	.form_sepa {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}

	.form_sepa_text {
		padding-inline: 1rem;
	}

	/* グリッド → 縦並び */
	.form_block_grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.form_label {
		font-size: 1.6rem;
		margin-bottom: 1.5rem;
	}

	.form_label.req::before,
	.form_label.any::before {
		font-size: 1.3rem;
	}

	.form_body {
		margin-bottom: 2rem;
	}

	.form_note {
		font-size: 1.2rem;
		margin: 0.3rem 0 0 0.3rem;
	}

	/* 短い入力欄も100%に */
	.form_body .-short {
		width: 100% !important;
	}

	.form_privacy {
		height: 18rem;
		font-size: 1.3rem;
	}

	.form_agree {
		gap: 1.5rem;
		padding-top: 2.5rem;
	}

	.form_agree .note {
		font-size: 1.3rem;
		text-align: center;
		padding: 0 1rem;
	}

	/* ボタン */
	.form_button {
		width: 100%;
		margin-top: 4rem;
	}

	.form_button input[type="submit"] {
		width: 100%;
		font-size: 1.8rem;
		padding: 1.8rem;
		background-color: var(--color-main);
	}

	.form_button .icon {
		right: 2rem;
	}

	/* 入力系 */
	select,
	textarea,
	.wpcf7
		input:is(
			[type="text"],
			[type="email"],
			[type="tel"],
			[type="number"],
			[type="date"]
		) {
		padding: 1.6rem;
		font-size: 16px;
	}

	/* ラジオボタン */
	.wpcf7-radio {
		flex-wrap: wrap;
		gap: 1rem 1.5rem;
		font-size: 1.5rem;
	}

	input[type="radio"] + span {
		gap: 1rem;
	}

	/* チェックボックス */
	input[type="checkbox"] + span {
		font-size: 1.5rem;
	}

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


// お知らせ //
	  

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

	/* ========== 一覧ページ */

	/* ヘッダー縦並び */
	.news_head {
		flex-direction: column;
		align-items: center;
		gap: 2.3rem;
	}

	.news_cat_list {
		display: flex;
		flex-wrap: wrap; /* 自動改行 */
		gap: 0.5rem 2rem;
		justify-content: center;
	}

	.news_cat_item a {
		font-size: 1.3rem;
		padding: 0.3rem 0;
		white-space: normal; /* 折り返しOK */
	}

	.news_cat_item a::after {
		height: 1px;
		bottom: -1px;
	}

	.post-type-archive .news_cat_item .is-index,
	.news_cat_item .is-current {
		border-bottom: 1px solid var(--color-main);
	}

	/* 年選択幅調整 */
	.news_head select,
	.news_select_year {
		width: 100%;
		max-width: 100%;
		font-size: 1.4rem;
		padding: 0.8rem 3rem 0.8rem 1.5rem;
	}

	/* ========== 記事一覧（トップページ共通） */

	.news_item_link {
		padding: 1.8rem 0.5rem 1.5rem;
	}

	.news_meta {
		flex-wrap: wrap; /* 小さい画面で折り返しOK */
		gap: 1rem;
		margin-bottom: 1.2rem;
	}

	.news_meta_date {
		font-size: 1.5rem;
	}

	.news_meta_cat {
		padding: 0.3rem 0;
		min-width: 10rem;
	}

	.news_name {
		font-size: 1.5rem;
		margin-right: 3rem;
	}

	/* ページネーション */
	nav.pagination {
		margin-top: 4rem;
	}

	nav.pagination ul {
		gap: 0.5rem;
	}

	nav.pagination li,
	nav.pagination li a,
	nav.pagination li .current {
		width: 3.4rem;
		height: 3.4rem;
		font-size: 1.4rem;
	}

	nav.pagination li .prev,
	nav.pagination li .next {
		font-size: 1.2rem;
	}

	/* ========== 記事ページ */

	.post_inner {
		padding: 0 5vw;
	}

	.post_head {
		padding-bottom: 1.5rem;
		margin-bottom: 2rem;
	}

	.post_meta {
		gap: 1.5rem;
		max-width: fit-content;
		justify-items: center;
		padding: 0.5rem 0.8rem 0.5rem 1rem;
	}

	.post_date {
		font-size: 1.3rem;
	}

	.post_cat {
		font-size: 1.1rem;
		padding: 0.2rem 0.8rem;
	}

	.post_name {
		font-size: 1.8rem;
		font-weight: 500;
		margin-top: 2rem;
	}

	.post_body > p {
		margin-bottom: 2rem;
		font-size: 1.5rem;
	}

	.post_body > img {
		width: 100%;
		height: auto;
		margin-top: 0.5rem;
		margin-bottom: 2.5rem;
	}

	/* ---------------- ページネーション ---------------- */
	.post_navigation {
		margin-top: 3rem;
		padding-top: 2.5rem;
	}

	.post_navigation_inner {
		flex-direction: column;
		gap: 1.5rem;
	}

	.post_navlink.prev,
	.post_navlink.next {
		display: none;
	}

	.post_navlink .name {
		max-width: 100%;
		font-size: 1.3rem;
	}

	.post_navlink.back a {
		display: block;
		width: 100%;
		text-align: center;
		font-size: 1.3rem;
		padding: 0.5rem 1rem;
	}

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


// 個人情報保護方針 // サイト利用について //
	  

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

	.inst_head {
		text-align: left;
		margin-bottom: 3rem;
	}

	.inst_body ol.circle > li {
		text-indent: 0;
		padding-left: 0;
		font-size: 1.5rem;
		line-height: 1.8;
	}

	.inst_body ol.circle > li:before {
		width: 2.4rem;
		height: 2.4rem;
		font-size: 1.2rem;
		margin-top: -0.4rem;
		margin-right: 0.8rem;
	}

	.inst_body ol.circle > li span {
		display: inline-block;
		font-size: 1.6rem;
		padding-bottom: 0.5rem;
	}

	.inst_body ol.circle > li + li {
		margin-top: 2rem;
	}

	.inst_body ol.circle.is-indent {
		margin-top: 2rem;
		margin-left: 1.5rem;
	}

	.inst_body ol.number {
		margin-left: 1.5rem;
		margin-top: 0.5rem;
	}

	.inst_body ol.number > li {
		text-indent: -1.5rem;
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.inst_body ol.number > li::before {
		font-size: 1.3rem;
		margin-right: 0.3rem;
	}

	.inst_body ol.number > li + li {
		margin-top: 0.6rem;
	}

	/*/////////////////////////////////////////////////////////////////////////////////
// ページトップ //
/////////////////////////////////////////////////////////////////////////////////*/

	.page_top {
		right: 2rem;
		bottom: 1.5rem;
	}

	.page_top a span {
		font-size: 1.2rem;
	}

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


// フッター //
	  

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

	/* --- フッターの上段（.foot-contact） --- */
	.foot-contact {
		grid-template-columns: 1fr; /* 縦並びにする */
		gap: 2rem; /* 間隔を小さめに */
	}

	.foot-contact .inner {
		grid-template-columns: 1fr; /* 全部縦並び */
		grid-template-rows: auto;
		grid-column-gap: 0;
		grid-row-gap: 1rem;
		padding: 2rem;
	}

	/* アイコンを小さめに */
	.foot-contact .icon {
		width: 6rem;
		height: 6rem;
	}

	.foot-contact .icon svg {
		width: 1.5rem;
	}

	/* タイトル縮小 */
	.foot-contact .title ._en {
		font-size: 1.6rem;
	}
	.foot-contact .title ._jp {
		font-size: 2.2rem;
	}

	.foot-contact .note {
		line-height: 1.6;
		font-size: 1.5rem;
		padding-right: 2rem;
	}

	.foot-contact .note br {
		display: none;
	}

	/* --- フッター全体（.l-footer） --- */
	.l-footer {
		padding: 4rem 0 3rem;
	}

	.footer-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 3rem;
	}

	.footer-info .logo {
		width: 14rem;
	}

	.footer-info .address {
		display: none;
	}

	.footer-nav {
		width: 100%;
	}

	.footer-nav .list {
		flex-direction: column;
		gap: 0;
		border-bottom: 1px solid var(--color-blue-500);
	}
	.footer-nav .item {
		gap: 0;
	}

	.footer-nav .item a {
		font-size: 1.4rem;
		padding: 1.2rem 0;
		border-top: 1px solid var(--color-blue-500);
		position: relative;
	}

	.footer-nav .item a::before {
		content: "→";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 0;
		font-size: 1.2rem;
		cursor: var(--color-white);
	}

	.footer-bottom {
		margin-top: 3rem;
		text-align: center;
	}

	.footer-bottom small {
		font-size: 1rem;
	}
}
