@import url('https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&family=Noto+Sans+JP:wght@400;500;700&display=swap');:root {
  --main_width:1200px;
}/*
img , svg {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}*/

body {
  /* 本文・ボタンは BIZ UDGothic、見出し（h1〜h6）は Noto Sans JP（Figma のルール） */
  font-family: 'BIZ UDGothic', sans-serif;
  font-size:16px;
  font-style: normal;
  font-weight: normal;
  color: #333;
  overflow: scroll;
  overflow-x: hidden;

}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Noto Sans JP', sans-serif;
}


.basecolor01{
	color:#FFFFFF;
}
.basecolor02{
	color:#F7F7F7;
}
.btncolors{
	color:#333333;
}
.txtcolors{
	color:#333333;
}
.colorenjoy{
	/*楽しむ*/
	color:#F6A87A;
}
.colorlive{
	/*住む*/
	color:#5AC2D0;
}
.colorexperience{
	/*経験*/
	color:#FFD966;
}
.colorwork{
	/*働く*/
	color:#66B2A3;
}
.colorconsultation{
	/*相談*/
	color:#E0C7E8;
}
header {
    position: relative;
    top: 0;
}
.nsjp-1 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  letter-spacing: 0.05em;
  font-style: normal;
}
.nsjp-2 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  letter-spacing: 0.05em;
  font-style: bold;
}

.bizu_r {
  font-family: "BIZ UDGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.bizu_b {
  font-family: "BIZ UDGothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}
/*中見出し（48px）*/
.mid-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 1.7;
  color: #333;
  margin: 0px 0 30px 0;
}
.is-sp-title {
  display: none;
}
.br-gap {
  display: inline-block;
  width: 0;
}
.is-sp-photo {
  display: none;
}
/*小見出し（28px）*/
.sub-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.4;
  color: #333;
}
/*本文①（Bold / 16px / 行間225%）*/
.text-bold {
  font-family: 'BIZ UDGothic', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 2.25;
  color: #333;
}
/*本文②（Regular / 16px / 行間200%）*/
.text-normal {
  font-family: 'BIZ UDGothic', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 2.0;
  color: #333;
}

.mt140{
  margin-top:140px;
}
.mt70{
  margin-top:70px;
}
.mb140{
  margin-bottom:140px;
}
.ml0{
  margin-left:0px!important;
}
.corner{
 /*角*/
 border-radius: 8px;
}
h2.heading {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    letter-spacing: 0.05em;
    font-style: normal;
    font-weight: bold;
    font-size: 48px;
    margin: 0px 0 30px 0;
}
a.bthd {
	display: block;
	width: 240px;
	height: 56px;
	background-color: #333333;
	color: #FFFFFF;
	text-align: center;
	line-height: 3.4em;
	letter-spacing: 0.1em;
	border-radius: 36px;
	margin-right: 20px;
	background-image: url(img/icon/fluent_arrow-left-13-filled.png);
	background-repeat: no-repeat;
	background-size: 16px;
	background-position: 200px 20px;
	padding-left: 30px;
	margin: 30px auto 0;
	font-family: 'BIZ UDGothic', sans-serif;
	text-decoration: none;
	font-size: 16px;
	text-align: left;
	transition: background-color 0.6s ease, background-position 0.3s ease;
}
a:hover.bthd {
	background-color: #333333;
	background-position: 204px 20px;
}
a {
	text-decoration: none;
}
/*-top-----------------------------------------------*/
.t_top{
    background-repeat: no-repeat;
    position: relative;
    margin-bottom: 100px;
    width: 100%;
    height: 784px;
    background-size: cover;
    z-index: -3;
	.top_warp{
		width: 1138px;
		margin: 0 0 0 80px;
		text-align: left;
		position: relative;
		color:#FFFFFF;
		h1{		
			padding-top: 32px;
			margin-top: 0;
			margin-bottom: 0;
		}
		h1 a{
			width: 222px;
			height: 83px;
			display: block;

		}
		h2{		
			font-family: 'Noto Sans JP', sans-serif;
  			font-weight: 700; /* Bold */
  			font-size: 64px;
  			line-height: 1.35; /* 135% */
  			letter-spacing: 0.1em; /* 10% */
			margin-top: 230px;
			margin-bottom: 25px;
		}
		p{
			line-height: 1.8;
			font-size: 18px;
  			letter-spacing: 0.1em; /* 10% */
			color: #FFFFFF;		
		}
	}
}
/* メインビジュアルの写真：重ねた写真を右上から円形に広げて切り替え（動きは footer.php） */
.t_top__slides {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: -3;
}
.t_top__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.t_top__slide.is-active {
  opacity: 1;
  z-index: 1;
}
.t_top__img {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 0 0;
}
/* 写真ごとに 1.1倍 → 1倍 へゆっくり縮める（時間は footer.php の JS で切り替え＋表示の合計に設定） */
@keyframes tTopZoom {
  from { transform: scale(1.1); }
  to   { transform: scale(1); }
}
.t_top__img.is-zoom {
  animation: tTopZoom 12s linear forwards;
}
@media (prefers-reduced-motion: reduce) {
  .t_top__img.is-zoom {
    animation: none;
  }
}
.t_top::after{
	content: "";
	width: 100%;
    height: 784px;
	background: linear-gradient(to right, rgba(26, 26, 26, 0.65) 0%, rgba(26, 26, 26, 0.05) 100%);
	z-index: -2;
	position: absolute;
    top: 0;
}
/*t_important-----------------------------------------------*/

/* 全体（背景画像の上に乗る想定） */
.t_important {
width: 100%;
    padding: 0px;
    box-sizing: border-box;
    position: relative;

    right: 0;
    box-sizing: border-box;
	/* 半透明ボックス */
	.important_warp-inner {
        max-width: 63%;
        margin: 0 0 0 auto;
        background: rgba(255, 255, 255, 0.95);
        padding: 5px 45px;
        border-radius: 12px 0px 0px 12px;
        box-shadow: 0 1px 10px 2px rgba(0, 0, 0, 0.1);
        height: 260px;
        margin-top: -125px;
        margin-bottom: 80px;		
	}

	/* タイトル */
	.title {
        font-family: "Noto Sans JP", sans-serif;
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 16px;
        position: relative;
        padding-left: 35px;
        background-image: url(img/icon/attention-circle.png);
        background-repeat: no-repeat;
        background-position: left 5px;
	}
	/* リスト */
	.list {
  	list-style: none;
  	padding: 0;
  	margin: 0;
  	font-family: "BIZ UDGothic", sans-serif;
	/* 各行 */
		li {
  			display: flex;
  			gap: 24px;
  			padding: 6px 0 10px;
  			/* border-bottom: 1px solid #eee; */
			a{
				color: #333333;
				text-decoration: none;
				position: relative;
				display: inline-block;
			}
			a::after{
				content: "";
				position: absolute;
				left: 0;
				bottom: 0;
				width: 100%;
				height: 1px;
				background: currentColor;
				opacity: 0;
				transition: opacity 0.6s ease;
			}
			a:hover::after{
				opacity: 1;
			}
		}
		/* 日付 */
		.date {
	  		min-width: 80px;
  			color: #333333;
	  		font-size: 14px;
		}
		/* テキスト */
		.text {
  			flex: 1;
  			min-width: 0;
  			font-size: 16px;
  			color: #333;
		  	/* 1行省略（…） */
  			white-space: nowrap;
  			overflow: hidden;
  			text-overflow: ellipsis;
			/* リンクが inline-block だと中の文字に「…」が付かず途中で切れるため inline にする */
			a {
				display: inline;
			}
		}
		.cat_warp {
		            width: 130px;

		}
		.cat {
			width: max-content;
			font-size: 14px;
			text-align: center;
			border: 1px solid #333333;
			background-color: #F7F7F7;
			border-radius: 4px;
			height: 24px;
			line-height: 1.6em;
			padding: 0 10px;
			display: block;
		}
	}
		a.t_important_bth {
			display: block;
			width: 130px;
			height: 36px;
			color: #333333;
			text-align: center;
			line-height: 2.2em;
			letter-spacing: 0.1em;
			margin-right: 20px;
			background-image: url(img/icon/fluent_arrow-left-12-filled-red.png);
			background-repeat: no-repeat;
			background-size: 16px;
			background-position: 110px 10px;
			margin: 0 auto;
			font-family: 'BIZ UDGothic', sans-serif;
			text-decoration: none;
			font-size: 16px;
			text-align: left;
			margin: 20px 0 0 auto;
			position: relative;
			transition: background-position 0.3s ease;
		}
		a.t_important_bth::after {
			content: "";
			position: absolute;
			left: 0;
			bottom: 4px;
			width: 100%;
			height: 1px;
			background: currentColor;
			opacity: 0;
			transition: opacity 0.6s ease;
		}
		a.t_important_bth:hover {
			background-position: 115px 10px;
		}
		a.t_important_bth:hover::after {
			opacity: 1;
		}
}

/*-top-aboutus----------------------------------------------*/
.t_aboutus{
	/* background-color: #FFFFFF; */
    padding: 0px 0 110px 0px;
    position: relative;
	margin-top: 0px;	
    margin-bottom: 140px;
	.aboutus_warp{
		width: 1138px;
		margin: 0 auto;
		text-align: left;
		position: relative;
		.aboutus_warp_detail{
			width: 400px;
			h3.mid-title {
				font-size: 36px;
			}
			p{
				width: 325px;
				margin-bottom: 40px;
			}
			a.bthd {
				display: block;
				width: 360px;
				height: 72px;
				line-height: 4.4em;
				font-size: 16px;
				text-align: left;
				background-position: 300px 30px;
			}
			a:hover.bthd {
				background-position: 304px 30px;
			}			
		}
		.aboutuslink_warp{
			display: flex;
			margin-bottom: 160px;
			a{
				color: #333333;
			}
			a.trylink{
				width: 540px;
				height: 200px;
				display: block;
				background-image: url(img/trylink.png);
                padding: 20px;
				margin-right: 60px;
				position: relative;
				box-sizing: border-box;
				border: 1px solid transparent;
				border-radius: 36px;
				transition: border-color 0.3s ease;
				background-size: 103%;
				background-position: -6px -3px;
				h3{
					  font-family: 'Noto Sans JP', sans-serif;
					  font-size: 26px;
					  font-weight: bold;
					  letter-spacing: 0.1em;
					  text-align: center;
					  margin-top: 16px;
					  margin-bottom: 10px;
					  padding-left: 30px; /* Figma では中央より15px右 */
				}
				p{
					text-align: center;
                    font-size: 16px;
                    line-height: 1.8em;
					margin-top: -11px;
					padding-left: 30px;
				}
				div.bthd {
                    display: block;
                    width: 160px;
                    height: 40px;
                    background-color: #333333;
                    color: #FFFFFF;
                    text-align: center;
                    line-height: 2.8em;
                    letter-spacing: 0.1em;
                    border-radius: 36px;
                    margin-right: 20px;
                    background-image: url(img/icon/fluent_open-12-filled.png);
                    background-repeat: no-repeat;
                    background-size: 16px;
                    background-position: 129px 12px;
                    transition: background-position 0.3s ease;
                    padding-left: 26px;
                    margin: 0 auto;
                    font-family: 'BIZ UDGothic', sans-serif;
                    text-decoration: none;
                    font-size: 14px;
                    text-align: left;
					position: absolute;
                    bottom: 11px; /* 枠線1px込みで下から12px */
                    right: 16px; /* 枠線1px込みで右から17px */
				}
			}
			a.trylink:hover{
				border-color: #66B2A3;
			}
			a.trylink:hover div.bthd{
				background-position: 133px 8px;
			}
			a.supportlink{
				width: 540px;
				height: 200px;
				display: block;
				position: relative;
				z-index: 0;
				background-image: url(img/supportlink.png);
				border-radius: 36px;
				overflow: hidden;
                padding: 17px 20px 20px 48px;
				color: #FFFFFF;
				h3{
					font-family: 'Noto Sans JP', sans-serif;
					font-size: 24px;
					font-weight: bold;
					letter-spacing: 0.1em;
					text-align: left;
					margin-top: 0px;
					margin-bottom: 13px;
				}
				p{
					font-family: 'BIZ UDGothic', sans-serif;
                    width: 220px;
                    margin-bottom: 0;
                    margin-top: 0;
                    line-height: 2em;
                    font-weight: normal;
				}
			}			
			a.supportlink::after{
				content: "";
				position: absolute;
				inset: 0;
				background-image: url(img/supportlink_hover.png);
				opacity: 0;
				transition: opacity 0.6s ease;
				z-index: -1;
			}
			a.supportlink:hover::after{
				opacity: 1;
			}
		}
		.aboutuslink_warp a.supportlink .btn-sp {
			position: absolute;
			right: 16px;
			bottom: 12px;
			display: flex;
			align-items: center;
			gap: 12px;
			width: 160px;
			height: 40px;
			padding: 0 0 0 24px;
			box-sizing: border-box;
			background: #333;
			color: #fff;
			border-radius: 999px;
			font-size: 14px;
			font-family: 'BIZ UDGothic', sans-serif;
			white-space: nowrap;
			z-index: 1;
		}
		.aboutuslink_warp a.supportlink .btn-sp img {
			width: 22px;
			height: 22px;
			filter: brightness(0) invert(1);
		}
		.aboutuslink_warp-sp{
			display: none;
		}
	}
	.aboutus_warp::after{
        background-image: url(img/biwako.png);
        width: 340px;
        height: 475px;
        display: block;
        content: "";
        position: absolute;
        bottom: -150px;
        left: -150px;
        z-index: -2;
        background-size: auto;
		background-repeat: no-repeat;		
	}
	.aboutus_photo {
		position: absolute;
		right: 0;
		bottom: 0px;
		width: 56%;
			ul {
				padding: 0;
				margin: 0;
				display: flex;
				flex-wrap: wrap;
				list-style: none;
				width: 100%;
			}
			ul li {
				text-indent: -99999px;
				background-repeat: no-repeat;
				background-size: 100%;
				background-position: center;
				width: 300px;
				height: 300px;
				background-size: cover;
			}
			ul li.no1 {
				width: 100%;
				height: 480px;
				background-image: url(img/main_visual.png);
				border-radius: 240px 0 0 240px;
			}
	}

}

/*-top-news----------------------------------------------*/
.t_service{
	background-color: #F9F7F3;
	padding:140px 0 140px 0px;
	position: relative;
	text-align:center;
	.service_warp{
		ul {
			list-style: none;
			display: flex;
			flex-wrap: wrap;
			width: 1138px;
			margin: 60px auto 0;
			li {
				a{
					color: #333333;
					display: block;
					width: 100%;
					height: auto;
				}
				width: 340px;
        			height: 388px;
				background-color: #FFFFFF;
				border-radius: 36px;
				box-shadow: 0px 4px 16px 2px rgba(0, 0, 0, 0.08);
				margin-right: 39px;
				margin-bottom: 50px;
				position: relative;
				box-sizing: border-box;
				border: 1px solid transparent;
				transition: border-color 0.3s ease, box-shadow 0.3s ease;
				.img {
					border-radius: 36px 36px 0px 0px;
					overflow: hidden;
					height: 200px;
				}
				.box {
					padding: 32px;
					text-align:left;
					h4.sub-title {
						margin: 0;
						text-align: left;
					}
					p {
						font-size: 16px;
						line-height: 2.0;
						margin-top: 10px;
						margin-bottom: 0;
					}
					.arrow {
						text-indent: -9999px;
						width: 32px;
						height: 32px;
						background-color: #333333;
						border-radius: 32px;
						position: absolute;
						right: 30px;
						background-image: url(img/icon/fluent_arrow-left-13-filled.png);
						background-repeat: no-repeat;
						background-size: 16px;
						background-position: center;
						bottom: 15px;
						background-position: 10px;
						transition: background-position 0.3s ease;
					}
				}
				a:hover .arrow {
					background-position: 13px;
				}
			}
			li:hover {
				box-shadow: none;
			}
			li:nth-child(3) {
				margin-right: 0px;
			}
			li:nth-child(6) {
				margin-right: 0px;
			}
			li.circle {
			                width: 340px;
			                height: 340px;
			                border-radius: 340px;
				h4.sub-title {
		                        margin: 15px 0;
		                        text-align: center;
					span{
						font-size:22px;
					}
				}
			        .box {
			                position: relative;
			                padding: 60px 40px;
			                text-align: left;
			                height: 340px;
					p{
			                        padding: 0 16px;
					}
			        }

		                .arrow {
			                    text-indent: -9999px;
			                    width: 32px;
			                    height: 32px;
			                    background-color:unset;
			                    border-radius: 32px;
			                    position: absolute;
			                    right: 150px;
			                    background-image: url(img/icon/fluent_arrow-left-12-filled.png);
			                    background-repeat: no-repeat;
			                    background-size: 18px;
			                    background-position: center;
			                    bottom: 30px
		                    }
			}
			li.circle:hover {
				border-color: #AEAEAE;
			}
		}
	}
	.service_warp ul li[data-purpose="ask"] .box {
		padding-top: 20px;
	}
}
/*-top-t_move_in-----------------------------------------*/
.t_move_in{
	background-color: #FFFFFF;
	padding:140px 0 140px 0px;
	position: relative;
	text-align:center;
	.move_in_warp{
	text-align:left;
	width: 1138px;
        margin: 60px auto 0;
	position: relative;
		.moein1_warp,.moein2_warp {
			width: 1138px;
			height: 96px;
			margin: 0 auto;
			display: flex;
			flex-wrap: wrap;
			background-color: #FFFFFF;
			border-radius: 36px;
			padding: 0px;
			box-sizing: border-box;
			box-shadow: 0px 4px 16px 2px rgba(0, 0, 0, 0.08);
			margin-bottom: 40px;
			color: #333333;
			text-decoration: none;
			transition: box-shadow 0.3s ease;
			.title {
				width: 400px;
				padding: 10px;
				border-radius: 36px;
				text-align: center;
					h3{
						letter-spacing: 0.05em;
						font-size: 24px;
						padding: 0;
						margin: 0;
						line-height: 3em;
						padding-left: 70px;
						text-align: left;
						font-family: "Noto Sans JP", sans-serif;
						font-optical-sizing: auto;
					}
			}
			.txt {
				width: 648px;
				height: auto;
				padding: 20px;
				border-left: 1px solid #AEAEAE;
				box-sizing: border-box;
				margin: 15px 0;
				position: relative;
					p {
						line-height: 2.5em;
						display: block;
						margin: auto;
						height: 40px;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%);
						width: 520px;
						font-weight: bold;
						padding-left: 30px;
					}
			}
			.link {
		                background-color: #333333;
		                width: 90px;
		                box-sizing: border-box;
		                border-radius: 0px 36px 36px 0;
		                text-align: center;
		                color: #FFFFFF;
		                text-decoration: none;
		                line-height: 4em;
		                letter-spacing: 0.1em;
		                background-image: url(img/icon/fluent_arrow-left-13-filled.png);
		                background-repeat: no-repeat;
		                background-size: 16px;
		                background-position: 37px 43px;
		                transition: background-color 0.3s ease, background-position 0.3s ease;
			}
		}
		.moein1_warp:hover .link,
		.moein2_warp:hover .link {
			/* background-color: #444444; */
			background-position: 42px 43px;
		}
		.moein1_warp:hover,
		.moein2_warp:hover {
			box-shadow: inset 0 0 0 1px #AEAEAE;
		}
		.moein1_warp h3{
			background-image: url(img/icon/fa-regular_smile.png);
			background-repeat: no-repeat;
			background-size: 25px;
			background-position: 30px 23px;
		}
		.moein2_warp h3{
			background-image: url(img/icon/fluent-mdl2_family.png);
			background-repeat: no-repeat;
			background-size: 25px;
			background-position: 30px 22px;
		}

		.moein3_warp{
			width:1138px;
			height:480px;
			margin: 140px auto 0;
			padding: 55px 93px;
			display: block;
			position: relative;
			z-index: 0;
			overflow: hidden;
			box-sizing: border-box;
			color: #333333;
			text-decoration: none;
			border-radius: 40px;
			h3{
				padding-left: 60px;
				background-image: url(img/recruitment_parson.png);
				background-repeat: no-repeat;
				margin-top: 0px;
			}
			h4{
				width:351px;
				height:164px;
			}
			p{
				font-size:18px;
				letter-spacing: 0.1em;
				font-weight: bold;
				line-height: 36px;
			}

		}
		.moein3_warp::before {
			content: "";
			position: absolute;
			inset: 0;
			background-image: url(img/recruitment_top_1_left.png);
			background-repeat: no-repeat;
			background-position: right top;
			z-index: -2;
			transform: scale(1);
			transition: transform 0.6s ease;
		}
		.moein3_warp::after {
			content: "";
			position: absolute;
			inset: 0;
			background-image: url(img/recruitment_top.png);
			background-repeat: no-repeat;
			background-position: left top;
			z-index: -1;
		}
		.moein3_warp:hover::before {
			transform: scale(1.08);
		}
		.moein3_warp .bthd {
			display: block;
			width: 280px;
			height: 64px;
			background-color: #333333;
			color: #FFFFFF;
			line-height: 3.2em;
			letter-spacing: 0.1em;
			border-radius: 36px;
			font-family: 'BIZ UDGothic', sans-serif;
			text-decoration: none;
			background-image: url(img/icon/fluent_open-12-filled.png);
			background-repeat: no-repeat;
			background-position: 230px 22px;
			font-size: 18px;
			position: absolute;
			bottom: 50px;
			right: 60px;
			text-align: left;
			padding-left: 30px;
			box-sizing: border-box;
			/*border-right: 5px solid #ffffff;*/
			/*border-bottom: 5px solid #FFFFFF;*/
		}
		.moein3_warp:hover .bthd {
			background-position: 234px 22px;
			background-color: #333333;
		}
	}
	.moein3_warp-sp {
		display: none;
	}

}

/*-top-news----------------------------------------------*/
.t_news{
	background-color: #F9F7F3;
	padding:140px 0 140px 0px;
	position: relative;
	text-align:center;
	.news_warp{
	background-color: #FFFFFF;
	text-align:left;
	width: 1138px;
        margin: 50px auto 0;
        display: flex;
        height: 572px;
        border-radius: 36px;
        box-sizing: border-box;
        padding: 60px;
        flex-wrap: wrap;
		ul{
		width:100%;
	        margin: 0px auto 40px;
		list-style: none;
		padding:0px;
			li {
				height: 40px;
				border-bottom: 1px solid #D6D6D6;
				padding-top: 15px;
				padding-bottom: 15px;
				box-sizing: content-box;
				line-height: 2.5em;
				display: flex;
				span {
					width: 85px;
					margin-right: 35px;
					font-size: 14px;
				}
				.cat_warp {
    				display: flex;
                    width: 220px;					
				}		
				a {
					color: #333333;
					text-decoration: none;
					position: relative;

					flex-wrap: wrap;
		
					.cat_important {
						width: 50px;
                        margin-right: 8px;
                        font-size: 14px;
                        text-align: center;
                        border: 1px solid #d01212;
                        background-color: #F7F7F7;
                        border-radius: 4px;
                        height: 24px;
                        margin-top: 8px;
                        line-height: 1.8em;
					}
					.cat {
                        width: auto;
                        margin-right: 25px;
                        font-size: 14px;
                        text-align: center;
                        border: 1px solid #333333;
                        background-color: #F7F7F7;
                        border-radius: 4px;
                        height: 24px;
                        margin-top: 8px;
                        line-height: 1.8em;
                        padding: 0 10px;
					}
					p.title{
						margin:0;
						padding:0;
						max-width: 100%;
						width: auto;
						display: inline-block;
						height: auto;
						white-space: nowrap;
						overflow: hidden;
						text-overflow: ellipsis;
						position: relative;
					}

				}
				a:hover {
					color: #444444;
					text-decoration: none;
					.cat {
						border: 1px solid #444444;

					}
				}
			}
		}
	}
}
.t_news .news_warp ul li p.title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: currentColor;
	opacity: 0;
	transition: opacity 1s ease;
}
.t_news .news_warp ul li a:hover p.title::after {
	opacity: 1;
}
/* 長いタイトルで日付・カテゴリー欄が縮まないように固定し、タイトルは省略表示 */
.t_news .news_warp ul li > span,
.t_news .news_warp ul li .cat_warp {
	flex-shrink: 0;
}
.t_news .news_warp ul li > a {
	flex: 1;
	min-width: 0;
}
/*-top-product----------------------------------------------*/
.t_product{
	background-color: #FFFFFF;
	padding:140px 0 140px 0px;
	position: relative;
	.product_warp{
		width: 1138px;
		margin: 0 auto;
		text-align: left;
		.product_warp_detail{
			width: 400px;
			p{
				width: 300px;
				margin-bottom: 40px;
			}
		}
	}
	.product_photo {
		position: absolute;
		right: 0;
		top: 140px;
		width: 56%;
			ul {
				padding: 0;
				margin: 0;
				display: flex;
				flex-wrap: wrap;
				list-style: none;
				width: 100%;
			}
			ul li {
				text-indent: -99999px;
				background-repeat: no-repeat;
				background-size: 100%;
				background-position: center;
				width: 300px;
				height: 300px;
				background-size: cover;
			}
			ul li.no1 {
				width: 60%;
				height: 360px;
				background-image: url(img/top_products5.png);
				border-radius: 200px 0 0 200px;
				background-position: bottom;
			}
			ul li.no2 {
				width: 40%;
				height: 360px;
				background-image: url(img/top_products6.png);
				background-position: bottom;
			}

	}

}



/*-top-public_relations-------------------------------------*/
.public_relations {
	background-color: #F9F7F3;
	padding:140px 0 140px 0px;
	.public_relations_warp{
			width: 1138px;
			margin: 0 auto;
			text-align: center;

	}
	.public_relations_content{
        	background-color: #FFFFFF;
		margin: 0 auto;
		width: 1138px;
		margin: 50px auto 0;
		display: flex;
		/* height: 435px; */
		border-radius: 36px;
		box-sizing: border-box;
		padding: 60px 60px;
		flex-wrap: wrap;
		.content {
			width: 790px;
			height: auto;
			.title {
				display: flex;
				flex-wrap: wrap;
				border-bottom: 1px solid #AEAEAE;
				padding-bottom: 10px;
				h4 {
					margin: 0;
					width: 190px;
					text-align: left;
				}
				p {
					margin-left: 0px;
					margin-top: 10px;
					margin-bottom: 0;
				}

			}
			.editor-warp {
				display: flex;
				flex-wrap: wrap;
				margin-top: 20px;
				.editor1 {
					width: 380px;
					text-align: left;
				}
				.editor2 {
					width: 380px;
					text-align: left;
					margin-left: 30px;
				}
				p {
					margin-top: 0px;
					margin-bottom: 0;
				}
			}
		}
		.download {
			width: 210px;
			margin-left: 18px;
			display: flex;
			padding: 0 0px 0px 0px;
			flex-wrap: wrap;
			height: 200px;
			.download img {
				width: 100%;
			}
			a.link_box {
				height: 200px;
			}
			a.download_link {
				text-decoration: none;
				color: #333333;
				background-image: url(img/icon/fe_document2.png);
				background-repeat: no-repeat;
				background-size: 24px;
				background-position: 0px 0px;
				width: 100%;
				height: 25px;
				margin-top: 0px;
				text-align: center;
			}
			a.download_link span {
				position: relative;
				display: inline-block;
			}
			a.download_link span::after {
				content: "";
				position: absolute;
				left: 0;
				bottom: 0;
				width: 100%;
				height: 1px;
				background: currentColor;
				opacity: 0;
				transition: opacity 0.6s ease;
			}
			a.download_link:hover span::after {
				opacity: 1;
			}
		}
	}
}


/*-top-Information_disclosure-------------------------------------*/
.info_are {
	background-color: #ffffff;
	padding:140px 0 140px 0px;
		.info_warp {
			width: 1138px;
			height: 160px;
			margin: 0 auto;
			display: flex;
			flex-wrap: wrap;
			background-color: #FFFFFF;
			border-radius: 36px;
			padding: 0px;
			box-sizing: border-box;
			box-shadow: 0px 4px 16px 2px rgba(0, 0, 0, 0.08);
			color: #333333;
			text-decoration: none;
			transition: box-shadow 0.3s ease;
			.title {
				width: 256px;
				padding: 10px;
				border-radius: 36px;
				text-align: center;
					h3{
						letter-spacing: 0.1em;
						font-size: 24px;
						padding: 0;
						margin: 0;
						line-height: 5.8em;
						background-image: url(img/icon/fe_document.png);
						background-repeat: no-repeat;
						background-size: 38px;
						background-position: 30px 50px;
						padding-left: 40px;
						font-family: "Noto Sans JP", sans-serif;
						font-optical-sizing: auto;
					}
			}
			.txt {
				width: 700px;
				height: auto;
				padding: 20px;
				border-left: 1px solid #AEAEAE;
				box-sizing: border-box;
				margin: 10px 0;
				position: relative;
					p {
						line-height: 2.5em;
						display: block;
						margin: auto;
						height: 80px;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%);
						width: 520px;
						font-weight: bold;
					}
			}
			.link {
				display: block;
				background-color: #333333;
				width: 180px;
				box-sizing: border-box;
				border-radius: 0px 36px 36px 0;
				text-align: center;
				color:#FFFFFF;
				text-decoration: none;
				line-height: 8em;
				letter-spacing: 0.1em;
				background-image: url(img/icon/fluent_arrow-left-13-filled.png);
				background-repeat: no-repeat;
				background-size: 16px;
				background-position: 80px 90px;
				transition: background-color 0.3s ease, background-position 0.3s ease;
			}
		}
		.info_warp:hover .link {
			background-color: #333333;
			background-position: 84px 90px;
		}
		.info_warp:hover {
			box-shadow: inset 0 0 0 1px #AEAEAE;
		}
}


/*-top-contact_are------------------------------------------------*/
.contact_are {
	background-color: #F9F7F3;
	padding:140px 0 140px 0px;
	font-size: 16px;
	letter-spacing: 0.1em;
	text-align:center;
	a {
	    color: #333333;
	    text-decoration: none;
	}
	p.txt_01{
		margin: 0 0 30px 0;
	}
	p.txt_02{
		margin: 0 0 0 0;
	}
	.contact_warp {
		background-color: #FFFFFF;
		width: 1440px;
		margin: 0 auto;
		width: 1137px;
		margin: 50px auto 0;
		display: flex;
		height: 280px;
		border-radius: 36px;
		box-sizing: border-box;
		padding: 15px 15px;
	}
	.tel_are {
		width: 50%;
		padding-top: 49px;
		border-right: 1px solid #AEAEAE;
		box-sizing: border-box;
			a.telbth {
				display: block;
				width: 365px;
				height: 70px;
				color: #333333;
				text-align: center;
				line-height: 2.1em;
				font-size: 32px;
				letter-spacing: 0.1em;
				border-radius: 36px;
				margin-right: 20px;
				background-image: url(img/icon/solar_phone-linear.png);
				background-repeat: no-repeat;
				background-size: 38px;
				background-position: 20px 20px;
				padding-left: 30px;
				margin: 0 auto;
				font-weight: bold;
				font-family: "Noto Sans JP", sans-serif;
        		}
/*			a.telbth:hover {
				background-color: #444444;
			}
*/
	}
	.mail_are {
		width: 50%;
		padding-top: 49px;
			a.mailbth {
				display: block;
				width: 365px;
				height: 70px;
				background-color: #333333;
				color: #FFFFFF;
				text-align: center;
				line-height: 2.8em;
				font-size: 24px;
				letter-spacing: 0.1em;
				border-radius: 36px;
				margin-right: 20px;
				background-image: url(img/icon/mail2.png);
				background-repeat: no-repeat;
				background-size: 31px;
				background-position: 40px;
				padding-left: 30px;
				margin: 0 auto;
				font-weight: bold;
				font-family: "Noto Sans JP", sans-serif;
        		}
			a.mailbth:hover {
				background-color: #333333;
			}
	}

}
/*--splide__slide----------------------------------------------*/
.splide__slide {
  height: 240px;
	@media (max-width: 780px) {
		height: 180px;
	}
}
.splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* ←重要（トリミングして埋める） */
}
/*-breadcrumbs-----------------------------------------------*/
#breadcrumbs{
    width: 1138px;
    margin: 0 auto;
    height: 48px;
    /* line-height: 2.9em; */
    padding-top: 12px;
  	font-family: 'BIZ UDGothic', sans-serif;
  	font-weight: 400;
  	font-size: 14px;
  	line-height: 2.0;
  	color: #333;
		.breadcrumbs_warp{
			display: flex;
			a{
				color: #333;
				display: inline;
				margin-right: 20px;
            	position: relative;				
			}
			/* a::after{
				content: "＞";
            	display: block;
            	width: 16px;
            	height: 24px;
            	position: absolute;
            	right: -35px;
            	top: 0px;		
			} */
			span {
    			margin-right: 20px;
			}
			p{
				margin: 0;
			}
		}
}
/*-kotei-----------------------------------------------*/
div#pagetop_image {
    height: 300px;
    margin-top: 96px;
    background-size: cover;
    background-position: center;
    background-color: #5bc3d0;
    position: relative;
	.page_image_warp {
		width: 1138px;
		margin: 0 auto;
		padding-top: 60px;
		position: relative;
		h2 {
    		font-size: 48px;
    		color: #FFFFFF;
    		margin-top: 0px;
    		display: block;
    		width: 100%;
			font-family: "Noto Sans JP", sans-serif;
			span{
				font-size: 25px;
				margin-left: 20px;
				letter-spacing: 0.1em;							
			}			
		}
		p{
    		color: #FFFFFF;
			margin: 0;		
		}		
	}
}
	div#pagetop_image::before {
	content: "";
        background: linear-gradient(to right, rgba(26, 26, 26, 1) 0%, rgba(26, 26, 26, 1) 10%, rgba(26, 26, 26, 0.05) 100%);
        position: absolute;
        top: 0;
        width: 100%;
	height: 300px;
	}
div#pagetop_image.sp {
    display: none;
	@media (max-width: 780px) {
		display: block;
	}	
}
div#pagetop_image.pc {
    display: block;
	@media (max-width: 780px) {
		display: none;
	}
}


/*--footer-----------------------------------------------------*/

footer #menu {
	background: url("img/footer.png");
	background-repeat: repeat;
	background-position: bottom center;
	padding:83px 0 120px 0px;
	background-size: 40%;
	a {
	    color: #333333;
	    text-decoration: none;
	}
	.menu-warp{
		width: 1137px;
		margin:0 auto;
		display: flex;
	}
	.address{
		width: 410px;
	        margin-right: 20px;
	}
	p.mbox {
		font-size: 12.5px !important;
	}
	.address a.logo {
		display: block;
		width: 155px;
		height: 60px;
		margin-bottom: 10px;
	}
	.address a.contact {
		display: block;
		width: 176px;
		height: 56px;
		background-color: #FFFFFF;
		color: #333333;
		text-align: center;
		line-height: 3.5em;
		font-size: 16px;
		letter-spacing: 0.01em;
		border-radius: 36px;
		margin-right: 20px;
		background-image: url(img/icon/mail3.png);
		background-repeat: no-repeat;
		background-size: 20px;
		background-position: 20px;
		padding-left: 25px;
	        border: 1px solid #FFFFFF;
        	box-sizing: border-box;
		box-shadow: 0px 4px 16px 2px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(174, 174, 174, 0);
		transition: box-shadow 0.6s ease;
	}
	.address a.contact:hover {
		box-shadow: 0px 4px 16px 2px rgba(0, 0, 0, 0), inset 0 0 0 1px rgba(174, 174, 174, 1);
	}
	.address a.recruitment {
		display: block;
		width: 176px;
		height: 56px;
		text-align: center;
		line-height: 3.5em;
		font-size: 16px;
		letter-spacing: 0.01em;
		border-radius: 36px;
		background: url(img/recruitment-f.png);
		background-size: 175px;
		background-position: center center;
		position: relative;
		overflow: hidden;
		/* box-shadow: inset 0 0 0 1px rgba(102, 178, 163, 0); */
		transition: box-shadow 0.6s ease;
		border: 1px solid rgb(243 241 237);
	}
	.address a.recruitment::after {
		content: "";
		background: url(img/recruitment_parson.png);
		background-size: 100%;
		background-position: center center;
		position: absolute;
		right: -2px;
		bottom: 0px;
		z-index: 1;
		width: 50px;
		height: 28px;
		display: block;

	}
	.address a.recruitment::before {
		content: "";
		background: url(img/icon/fluent_open-12-filled.png);
		background-size: 100%;
		background-position: center center;
		position: absolute;
		right: 10px;
		top: 10px;
		z-index: 1;
		width: 14px;
		height: 14px;
		display: block;
	}
	.address a.recruitment:hover {
		/* box-shadow: inset 0 0 0 1px #66b2a3; */
		border: 1px solid #66b2a3;
	}
	.address .link-warp {
		display: flex;
		margin-top: 25px;
	}
	.menu-list a.about_bth {
		margin-top: 13px;
        	display: block;
	        width: 280px;
	        height: 56px;
	        background-color: #FFFFFF;
	        color: #333333;
	        text-align: center;
		line-height: 3.7em;
	        font-size: 15px;
	        letter-spacing: 0.01em;
	        border-radius: 36px;
	        background-repeat: no-repeat;
		background-size: 20px;
	        background-position: 20px;
	        border: 1px solid #FFFFFF;
	        box-sizing: border-box;
	        box-shadow: 0px 4px 16px 2px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(174, 174, 174, 0);
	        margin-bottom: 20px;
	        transition: box-shadow 0.6s ease;
	}
	.menu-list a.about_bth:hover {
		box-shadow: 0px 4px 16px 2px rgba(0, 0, 0, 0), inset 0 0 0 1px rgba(174, 174, 174, 1);
	}
	.menu-list{
		margin-right: 20px;
		margin-top: 40px;
	}
	.one{
		width: 310px;
	}
	.two{
		width: 190px;
	}
	.last{
		margin-right:0px;
		width: 160px;
	}
	.menu-list ul{
		margin:0px;
		list-style: none;
		padding:0px;
	}
	.menu-list ul li{
		margin:0px;
		font-size:16px;
		letter-spacing: 0.05em;
		line-height: 2.8;
		font-weight: normal;
	}
	.menu-list ul li a {
		position: relative;
		display: inline-block;
	}
	.menu-list ul li a::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background: currentColor;
		opacity: 0;
		transition: opacity 0.6s ease;
		top: 35px;
	}
	.menu-list ul li a:hover::after {
		opacity: 1;
	}
	.address p{
		font-size: 16px;
	        letter-spacing: 0.1em;
	        margin-right: 20px;
	        line-height: 1.8;
        	margin: 0 0 20px 0;
		font-weight: normal;
	}
	.menu-list h5{
		font-size:18px;
		letter-spacing: 0.1em;
		line-height: 3.6;
	        margin: 0;
	}
	.menu-list > a:not(.about_bth) {
		position: relative;
		display: inline-block;
	}
	.menu-list > a:not(.about_bth)::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 8px;
		width: 100%;
		height: 1px;
		background: currentColor;
		opacity: 0;
		transition: opacity 0.6s ease;
	}
	.menu-list > a:not(.about_bth):hover::after {
		opacity: 1;
	}

}
footer #copy {
    height: 48px;
    background-color: #333333;
    color: #FFFFFF;
    padding: 12px 0px;
	a {
	    color: #ffffff;
	    text-decoration: none;
	}
	.footer-warp{
		width: 1137px;
		margin:0 auto;
		display: flex;
		.site-info {
			width:400px;
			margin:0;
			height: auto;
			letter-spacing: 0.1em;
			font-size: 12px;
		}
		.site-list {
			width: 170px;
			margin: 0px 0px 0px auto;
			height: auto;
			text-align: right;
			font-size: 14px;
			letter-spacing: 0.05em;
	        }
		.site-list.last {
			margin-left: 0px !important;
			width: 120px;
		}
	}

}



/*--menu-----------------------------------------------------*/

nav #menu {
    background: url(img/footer.png);
    background-repeat: repeat;
    background-position: bottom center;
    padding: 55px 0 75px 0px;
    background-size: 40%;
	a {
	    color: #333333;
	    text-decoration: none;
	}
	.menu-warp{
		width: 1250px;
		margin:0 auto;
		display: flex;
	}
	.address{
		width: 410px;
		margin-right: 130px;
	}
	.address a.logo {
		display: block;
		width: 155px;
		height: 60px;
		margin-bottom: 10px;
	}
	.address a.contact {
		display: block;
	        width: 176px;
	        height: 56px;
	        background-color: #FFFFFF;
		color: #333333;
	        text-align: center;
		line-height: 3.5em;
	        font-size: 16px;
	        letter-spacing: 0.01em;
	        border-radius: 36px;
	        margin-right: 20px;
	        background-image: url(img/icon/mail3.png);
	        background-repeat: no-repeat;
	        background-size: 20px;
	        background-position: 20px;
	        padding-left: 25px;
	        border: 1px solid #FFFFFF;
	        box-sizing: border-box;
	        box-shadow: 0px 4px 16px 2px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(174, 174, 174, 0);
	        transition: box-shadow 0.6s ease;
	}
	.address a.contact:hover {
		box-shadow: 0px 4px 16px 2px rgba(0, 0, 0, 0), inset 0 0 0 1px rgba(174, 174, 174, 1);
	}
	.address a.recruitment {
		display: block;
		width: 176px;
		height: 56px;
		text-align: center;
		line-height: 3.5em;
		font-size: 16px;
		letter-spacing: 0.01em;
		border-radius: 36px;
		background: url(img/recruitment-f.png);
		background-size: 175px;
		background-position: center center;
		position: relative;
		overflow: hidden;
		/* box-shadow: inset 0 0 0 1px rgba(102, 178, 163, 0); */
		transition: box-shadow 0.6s ease;
		border: 1px solid rgb(243 241 237);
	}
	.address a.recruitment::after {
		content: "";
		background: url(img/recruitment_parson.png);
		background-size: 100%;
		background-position: center center;
		position: absolute;
		right: -2px;
		bottom: 0px;
		z-index: 1;
		width: 50px;
		height: 28px;
		display: block;

	}
	.address a.recruitment::before {
		content: "";
		background: url(img/icon/fluent_open-12-filled.png);
		background-size: 100%;
		background-position: center center;
		position: absolute;
		right: 10px;
		top: 10px;
		z-index: 1;
		width: 14px;
		height: 14px;
		display: block;
	}
	.address a.recruitment:hover {
		/* box-shadow: inset 0 0 0 1px #66b2a3; */
		border: 1px solid #66b2a3;
	}
	.address .link-warp {
		display: flex;
		margin-top: 40px;
	}
	.menu-list a.about_bth {
        	display: block;
	        width: 280px;
	        height: 56px;
	        background-color: #FFFFFF;
	        color: #333333;
	        text-align: center;
	        line-height: 3.7em;
        	font-size: 15px;
	        letter-spacing: 0.01em;
	        border-radius: 36px;
	        background-repeat: no-repeat;
		background-size: 20px;
	        background-position: 20px;
	        border: 1px solid #FFFFFF;
	        box-sizing: border-box;
	        box-shadow: 0px 4px 16px 2px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(174, 174, 174, 0);
	        margin-bottom: 20px;
	        transition: box-shadow 0.6s ease;
	        margin-top: 13px;
	}
	.menu-list a.about_bth:hover {
		box-shadow: 0px 4px 16px 2px rgba(0, 0, 0, 0), inset 0 0 0 1px rgba(174, 174, 174, 1);
	}
	.menu-list{
		margin-right: 20px;
		margin-top: -20px;
	}
	.one{
		width: 310px;
	}
	.two{
		width: 190px;
	}
	.last{
		margin-right:0px;
		width: 160px;
	}
	.last{
		margin-right:0px;
	}
	.menu-list ul{
		margin:0px;
		list-style: none;
		padding:0px;
	}
	.menu-list ul li{
		margin:0px;
		font-size:16px;
		letter-spacing: 0.05em;
		line-height: 2.8;
		font-weight: normal;
	}
	.menu-list ul li a {
		position: relative;
		display: inline-block;
	}
	.menu-list ul li a::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background: currentColor;
		opacity: 0;
		transition: opacity 0.6s ease;
		top: 35px;
	}
	.menu-list ul li a:hover::after {
		opacity: 1;
	}
	.address p{
		font-size: 16px;
	        letter-spacing: 0.1em;
	        margin-right: 20px;
	        line-height: 1.8;
        	margin: 0 0 20px 0;
		font-weight: normal;
	}
	.menu-list h5{
		font-size:18px;
		letter-spacing: 0.1em;
		line-height: 3.6;
	        margin: 0;
	}
	.menu-list > a:not(.about_bth) {
		position: relative;
		display: inline-block;
	}
	.menu-list > a:not(.about_bth)::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 8px;
		width: 100%;
		height: 1px;
		background: currentColor;
		opacity: 0;
		transition: opacity 0.6s ease;
	}
	.menu-list > a:not(.about_bth):hover::after {
		opacity: 1;
	}

	a.telbth {
        display: block;
        width: 365px;
        height: 60px;
        color: #333333;
        text-align: center;
        line-height: 1.8em;
        font-size: 32px;
        letter-spacing: 0.1em;
        /* border-radius: 36px; */
        margin-right: 20px;
        background-image: url(img/icon/solar_phone-linear.png);
        background-repeat: no-repeat;
        background-size: 38px;
        background-position: 10px 15px;
        padding-left: 0px;
        margin: 30px 0 0 0;
        font-weight: bold;
        font-family: "Noto Sans JP", sans-serif;
       	}
	p.txt_02 {
        margin: 0 0 0 0;
        text-align: center;
        width: 365px;
        height: auto;
	}
}
#beheight01::before,
#beheight02::before,
#beheight03::before,
#beheight04::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: #f9f7f3;
	z-index: -1;
}
.mt0 {
    margin-top: 0;
}


/* スマホのときだけ改行する（<br class="sp_br">） */
br.sp_br {
	display: none;
}
@media (max-width: 780px) {
	br.sp_br {
		display: inline;
	}
}


/*--responsive（header / footer）-----------------------------*/

/* タブレット・小さめのPC */
@media (max-width: 1290px) {
	/* メニュー（開いたとき）：中身に合わせた高さにし、入りきらない場合はスクロール */
	.modal-container {
		height: auto;
		max-height: 100vh;
		max-height: 100dvh;
		overflow-y: auto;
	}
	.modal-container[aria-hidden="false"] {
		overflow-y: auto;
	}
	nav #menu .menu-warp {
		width: auto;
		margin: 0 40px;
		flex-wrap: wrap;
	}
	nav #menu .address {
		width: 100%;
		margin: 0 0 40px 0;
	}
	nav #menu .menu-list {
		margin-top: 0;
	}
}

@media (max-width: 1180px) {
	/* ヘッダー */
	.header_warp .header_warp_area {
		width: auto;
		margin: 0 -18px 0 30px;
	}

	/* お問い合わせ */
	.contact_are .contact_warp {
		width: auto;
		margin: 50px 20px 0;
	}
	.contact_are .tel_are a.telbth,
	.contact_are .mail_are a.mailbth {
		width: 90%;
		max-width: 365px;
	}

	/* フッター */
	footer #menu .menu-warp {
		width: auto;
		margin: 0 40px;
		flex-wrap: wrap;
	}
	footer #menu .address {
		width: 100%;
		margin: 0;
	}
	footer #menu .address .link-warp {
		margin-top: 30px;
	}
	footer #copy .footer-warp {
		width: auto;
		margin: 0 40px;
	}
}

/* スマホ */
@media (max-width: 780px) {
	/* ヘッダー */
	.header_warp {
		height: 64px;
	}
	.header_warp .header_warp_area {
		height: 64px;
		margin: 0;
		padding-top: 0;
		display: flex;
		align-items: center;
		width: 100%;
		padding: 0 20px;
	}
	.header_warp .header_warp_area h1 {
		margin: 0;
	}
	.header_warp .header_warp_area h1 a {
		width: 230px;
	}
	.header_warp .header_warp_area h1 img {
		display: block;
		width: 255px;
		height: auto;
	}
	/* 採用サイトへのリンクはメニュー内にあるため、スマホのヘッダーでは非表示 */
	.header_warp .header_warp_area .header_recruitment {
		display: none;
	}
	div#pagetop_image {
		margin-top: 64px;
	}

	/* ハンバーガーボタン */
	.hamburger-warp {
		width: 64px;
		height: 64px;
		border-radius: 0 0 0 30px;
	}
	.hamburger {
		right: 17px;
		top: 22px;
		width: 30px;
		height: 24px;
	}
	.hamburger-line::before {
		top: 8px;
	}
	.hamburger-line::after {
		top: 16px;
	}
	.hamburger[aria-expanded="true"] .hamburger-line {
		transform: translateY(8px) rotate(-45deg);
	}
	.hamburger[aria-expanded="true"] .hamburger-line::before {
		transform: translateY(-8px) translateX(15px) rotate(45deg);
	}
	.hamburger[aria-expanded="true"] .hamburger-line::after {
		transform: translateY(-16px) rotate(90deg);
	}
	span.menu_text {
		display: none;
		left: 0;
		bottom: 6px;
		width: 100%;
		text-align: center;
		font-size: 10px;
	}

	/* メニュー（開いたとき） */
	.modal-container[aria-hidden="false"] {
		border-radius: 0 0 24px 24px;
	}
	nav #menu {
		padding: 30px 0 30px;
		background-size: 100%;
	}
	nav #menu .menu-warp {
		margin: 0 20px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 20px;
	}
	nav #menu .address {
		grid-column: 1 / -1;
		margin-bottom: 10px;
	}
	nav #menu .menu-list.one {
		grid-column: 1 / -1;
	}
	nav #menu .address a.logo {
		/* display: none; */
	}
	nav #menu a.telbth {
		width: 100%;
		max-width: 290px;
		height: 45px;
		font-size: 30px;
		background-size: 22px;
		background-position: 0px 15px;
		padding-left: 50px;
		text-align: left;
		margin: 10px auto;
		background-size: 35px;
	}
	nav #menu p.txt_02 {
		width: auto;
		text-align: center;
		font-size: 16px;
	}
	nav #menu .address .link-warp {
		margin-top: 24px;
		gap: 10px;
	}
	nav #menu .address a.contact,
	nav #menu .address a.recruitment {
		width: calc(50% - 5px);
		margin-right: 0;
		font-size: 14px;
		height: 50px;
	}
	nav #menu .address a.recruitment {
		background-size: cover;
	}
	nav #menu .menu-list,
	nav #menu .one,
	nav #menu .two,
	nav #menu .last {
		width: 100%;
		margin: 20px 0 20px 0;
	}
	nav #menu .menu-list h5 {
		line-height: 2.4;
		font-size: 18px;
	}
	nav #menu .menu-list.one h5 {
		line-height: 2.4;
		font-size: 20px;
		text-align: center;
	}
	nav #menu .menu-list ul li {
		font-size: 15px;
	}
	nav #menu .menu-list a.about_bth {
		width: 100%;
		margin-bottom: 12px;
		font-size: 15px;
		height: 51px;
		line-height: 3.3em;
		letter-spacing: 0.1em;
	}

	/* お問い合わせ */
	.contact_are {
		padding: 70px 0;
	}
	.contact_are h2.heading {
		font-size: 28px;
		margin-bottom: 20px;
	}
	.contact_are > p {
		margin: 0 20px;
		font-size: 16px;
		letter-spacing: 0.05em;
		line-height: 1.8;
	}
	.contact_are .contact_warp {
		flex-direction: column;
		height: auto;
		margin: 30px 20px 0;
		padding: 30px 20px;
		border-radius: 24px;
	}
	.contact_are p.txt_01 {
		margin-bottom: 16px;
	}
	.contact_are p.txt_02 {
		margin: -5px 0 0 0;
		font-size: 16px;
	}
	.contact_are .tel_are,
	.contact_are .mail_are {
		width: 100%;
		padding-top: 0;
	}
	.contact_are .tel_are {
		border-right: none;
		border-bottom: 1px solid #AEAEAE;
		padding-bottom: 30px;
	}
	.contact_are .mail_are {
		padding-top: 30px;
	}
	.contact_are .tel_are a.telbth {
		width: 100%;
		height: 56px;
		font-size: 33px;
		line-height: 56px;
		background-size: 33px;
		background-position: 0px 18px;
	}
	.contact_are .mail_are a.mailbth {
		width: 90%;
		height: 56px;
		font-size: 20px;
		line-height: 53px;
		background-size: 24px;
		background-position: 30px center;
	}

	/* フッター */
	footer #menu {
		padding: 50px 0 60px;
		background-size: 100%;
	}
	footer #menu .menu-warp {
		margin: 0 20px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 20px;
	}
	footer #menu .address,
	footer #menu .menu-list.one {
		grid-column: 1 / -1;
	}
	footer #menu .address p {
		font-size: 16px;
		letter-spacing: 0.05em;
	}
	footer #menu p.mbox {
		font-size: 13.5px !important;
	}
	footer #menu p.mbox br {
		display: block;
	}
	footer #menu p.mbox span {
		display: block;
	}
	footer #menu .address .link-warp {
		gap: 10px;
		margin-top: 20px;
	}
	footer #menu .address a.contact,
	footer #menu .address a.recruitment {
		width: calc(50% - 5px);
		margin-right: 0;
		font-size: 14px;
		height: 50px;
	}
	footer #menu .address a.recruitment {
		background-size: cover;
	}
	footer #menu .menu-list,
	footer #menu .one,
	footer #menu .two,
	footer #menu .last {
		width: 100%;
		margin: 30px 0 0 0;
	}
	footer #menu .menu-list.two,
	footer #menu .menu-list.last {
		display: none;
	}
	footer #menu .menu-list h5 {
		line-height: 2.4;
		font-size: 20px;
		text-align: center;
	}
	footer #menu .menu-list ul li {
		font-size: 14px;
	}
	footer #menu .menu-list a.about_bth {
		width: 90%;
		margin-bottom: 20px;
		font-size: 15px;
		height: 51px;
		margin-left: auto;
		margin-right: auto;
		line-height: 3.3em;
		letter-spacing: 0.1em;
	}
	footer #copy {
		height: auto;
		padding: 12px 0;
	}
	footer #copy .footer-warp {
		margin: 0 20px;
		flex-wrap: wrap;
		justify-content: center;
	}
	footer #copy .footer-warp .site-list,
	footer #copy .footer-warp .site-list.last {
		width: auto;
		margin: 0 12px !important;
		font-size: 13px;
	}
	footer #copy .footer-warp .site-info {
		width: 100%;
		order: 2;
		margin-top: 8px;
		text-align: center;
		font-size: 11px;
		letter-spacing: 0.05em;
	}
}


/* 小さいスマホ */
@media (max-width: 480px) {
	footer #copy .footer-warp .site-info {
		margin-top: 30px;
	}
}

@media (max-width: 400px) {
	footer #copy .footer-warp .site-list,
	footer #copy .footer-warp .site-list.last {
		width: 50%;
		margin: 0 0 8px !important;
		font-size: 12px;
		text-align: center;
	}
	footer #copy .footer-warp .site-info {
		margin-top: 10px;
	}
	.contact_are .tel_are a.telbth {
		background-position: 0px 18px;
		background-size: 33px;
	}
	.js-pagetop {
		bottom: 40px;
		border: 1px solid #FFFFFF;
	}
	.t_move_in .move_in_warp .moein3_warp-sp .bthd {
		display: block;
		box-sizing: border-box;
		width: 54%;
		height: 56px;
		background-color: #333333;
		color: #FFFFFF;
		line-height: 56px;
		letter-spacing: 0.1em;
		border-radius: 36px;
		font-family: 'BIZ UDGothic', sans-serif;
		text-decoration: none;
		background-image: url(img/icon/fluent_open-12-filled.png);
		background-repeat: no-repeat;
		background-size: 16px;
		background-position: 220px center;
		font-size: 16px;
		position: absolute;
		bottom: 30px;
		left: 23%;
		text-align: left;
		padding-left: 24px;
	}
}

@media (max-width: 398px) {
	.t_service.bizu_r h2.mid-title {
		width: 70% !important;
	}
}


/*--responsive（下層ページ共通：ページ上部の写真・パンくず・本文枠）--*/

@media (max-width: 1180px) {
	div#pagetop_image .page_image_warp {
		width: auto;
		margin: 0 40px;
	}
	#breadcrumbs {
		width: auto;
		margin: 0 40px;
	}
	.site-main {
		width: auto;
		margin: 0 40px 140px;
	}
}

@media (max-width: 780px) {
	div#pagetop_image {
		height: auto;
		min-height: 300px;
	}
	div#pagetop_image::before {
		height: auto;
		top: 0;
		bottom: 0;
		/* モバイルは文字が幅いっぱいに広がり、グラデーション右側の薄い部分に
		   かかって読みにくくなるため、全面を均一に暗くする */
		background: rgba(26, 26, 26, 0.55);
	}
	div#pagetop_image .page_image_warp {
		margin: 0 20px;
		padding-top: 100px;
		padding-bottom: 24px;
	}
	div#pagetop_image .page_image_warp h2 {
		font-size: 28px;
		margin-bottom: 12px;
	}
	div#pagetop_image .page_image_warp h2 span {
		font-size: 16px;
		margin-left: 10px;
	}
	div#pagetop_image .page_image_warp p {
		font-size: 17px;
		line-height: 1.8;
	}
	div#pagetop_image .page_image_warp p br {
		display: none;
	}
	#breadcrumbs {
		height: auto;
		margin: 0 20px;
		padding: 8px 0;
		font-size: 12px;
	}
	#breadcrumbs .breadcrumbs_warp {
		flex-wrap: wrap;
		font-size: 14px;
	}
	#breadcrumbs .breadcrumbs_warp a,
	#breadcrumbs .breadcrumbs_warp span {
		margin-right: 10px;
	}
	.site-main {
		margin: 0 20px 70px;
	}
}


/*--responsive（トップページ）-------------------------------*/

/* タブレット・小さめのPC */
@media (max-width: 1180px) {
	/* メインビジュアル */
	.t_top .top_warp {
		width: auto;
		margin: 0 40px;
	}

	/* 採用・奨学金のリンク／湖北会について */
	.t_aboutus .aboutus_warp {
		width: auto;
		margin: 0 40px;
	}
	.t_aboutus .aboutus_warp .aboutuslink_warp {
		flex-wrap: wrap;
		gap: 30px;
	}
	.t_aboutus .aboutus_warp .aboutuslink_warp a.trylink,
	.t_aboutus .aboutus_warp .aboutuslink_warp a.supportlink {
		margin: 0;
		margin: 0 auto;
	}
	.t_aboutus .aboutus_warp .aboutus_warp_detail {
		width: 36%;
	}
	.t_aboutus .aboutus_warp .aboutus_warp_detail h3.mid-title {
		font-size: 33px;
	}
	.t_aboutus .aboutus_warp .aboutus_warp_detail p {
		width: auto;
	}
	.t_aboutus .aboutus_warp .aboutus_warp_detail a.bthd {
		width: 100%;
		max-width: 360px;
		background-position: right 30px center;
	}
	.t_aboutus .aboutus_warp .aboutus_warp_detail a:hover.bthd {
		background-position: right 26px center;
	}

	/* 湖北会が大切にしていること */
	.t_service .service_warp ul {
		width: auto;
		margin: 60px 40px 0;
		padding: 0;
		justify-content: center;
		column-gap: 30px;
	}
	.t_service .service_warp ul li {
		margin-right: 0;
	}

	/* 施設利用・ご家族・採用 */
	.t_move_in .move_in_warp {
		width: auto;
		margin: 60px 40px 0;
	}
	.t_move_in .move_in_warp .moein1_warp,
	.t_move_in .move_in_warp .moein2_warp {
		width: auto;
		height: auto;
		min-height: 96px;
		flex-wrap: nowrap;
	}
	.t_move_in .move_in_warp .moein1_warp .title,
	.t_move_in .move_in_warp .moein2_warp .title {
		width: 320px;
		flex-shrink: 0;
		display: flex;
		align-items: center;
	}
	.t_move_in .move_in_warp .moein1_warp .title h3,
	.t_move_in .move_in_warp .moein2_warp .title h3 {
		font-size: 20px;
		padding-left: 56px;
	}
	.t_move_in .move_in_warp .moein1_warp h3,
	.t_move_in .move_in_warp .moein2_warp h3 {
		background-position: 20px center;
	}
	.t_move_in .move_in_warp .moein1_warp .txt,
	.t_move_in .move_in_warp .moein2_warp .txt {
		flex: 1;
		width: auto;
		display: flex;
		align-items: center;
	}
	.t_move_in .move_in_warp .moein1_warp .txt p,
	.t_move_in .move_in_warp .moein2_warp .txt p {
		position: static;
		transform: none;
		width: auto;
		height: auto;
		line-height: 1.8;
	}
	.t_move_in .move_in_warp .moein1_warp .link,
	.t_move_in .move_in_warp .moein2_warp .link {
		flex-shrink: 0;
		background-position: center;
	}
	.t_move_in .move_in_warp .moein1_warp:hover .link,
	.t_move_in .move_in_warp .moein2_warp:hover .link {
		background-position: calc(50% + 4px) center;
	}
	.t_move_in .move_in_warp .moein3_warp {
		width: auto;
		/* background-size: cover; */
		/* background-position: left center; */
		border-radius: 36px;
		/* height: auto; */
		/* min-height: 480px; */
		padding: 50px 60px 50px;
	}
	/* 採用サイトへのボタンは本文の下に配置 */
	.t_move_in .move_in_warp a.bthd {
		right: auto;
		left: 60px;
		bottom: 36px;
	}
	.t_move_in .move_in_warp .moein3_warp .bthd {
		bottom: 20px;
		right: 20px;
	}

	/* お知らせ */
	.t_news .news_warp {
		width: auto;
		height: auto;
		margin: 50px 40px 0;
	}
	.t_news .news_warp ul li {
		height: auto;
		min-height: 40px;
		align-items: center;
	}
	.t_news .news_warp ul li .cat_warp {
		flex-shrink: 0;
	}
	.t_news .news_warp ul li > a {
		flex: 1;
		min-width: 0;
		line-height: 1.6;
	}

	/* 商品 */
	.t_product .product_warp .product_warp_detail h3.mid-title {
		font-size: 32px;
	}
	.product_warp h3.mid-title {
		font-size: 33px !important;
		width: 100%;
	}

	/* 商品 */
	.t_product .product_warp {
		width: auto;
		margin: 0 40px;
	}
	.t_product .product_warp .product_warp_detail {
		width: 36%;
	}
	.t_product .product_warp .product_warp_detail p {
		width: auto;
	}

	/* 広報誌 */
	.public_relations .public_relations_warp {
		width: auto;
		margin: 0 40px;
	}
	.public_relations .public_relations_content {
		width: 100%;
		display: block;
	}
	.public_relations .public_relations_content .content {
		flex: 1 1 400px;
		width: auto;
	}
	.public_relations .public_relations_content .content .editor-warp {
		flex-wrap: nowrap;
		gap: 30px;
	}
	.public_relations .public_relations_content .content .editor-warp .editor1,
	.public_relations .public_relations_content .content .editor-warp .editor2 {
		width: auto;
		flex: 1;
		margin-left: 0;
	}
	.public_relations .public_relations_content .download {
		flex-shrink: 0;
		width: 200px;
		margin: 30px auto 60px;
	}

	/* 情報公開 */
	.info_are .info_warp {
		width: auto;
		margin: 0 40px;
		flex-wrap: nowrap;
	}
	.info_are .info_warp .title {
		flex-shrink: 0;
	}
	.info_are .info_warp .txt {
		flex: 1;
		width: auto;
		display: flex;
		align-items: center;
	}
	.info_are .info_warp .txt p {
		position: static;
		transform: none;
		width: auto;
		height: auto;
		line-height: 2;
	}
	.info_are .info_warp .link {
		flex-shrink: 0;
	}
}

/* スマホ */
@media (max-width: 780px) {
	.home-main .mid-title {
		font-size: 34px;
		margin-bottom: 22px;
		width: 100%;
		margin: 0 auto 22px;
	}
	.home-main .sub-title {
		font-size: 24px;
	}
	.home-main h3.mid-title br {
		display: none;
	}

	/* メインビジュアル */
	.t_top,
	.t_top::after {
		height: 600px;
	}
	.t_top {
		background-position: center;
		margin-bottom: 0;
	}
	.t_top__img {
		background-position: center;
	}
	.t_top .top_warp {
		margin: 0 20px;
	}
	.t_top .top_warp h1 {
		padding-top: 16px;
	}
	.t_top .top_warp h1 a {
		width: 150px;
		height: auto;
	}
	.t_top .top_warp h1 img {
		display: block;
		width: 100%;
		height: auto;
	}
	.t_top .top_warp h2 {
		font-size: 36px;
		margin-top: 150px;
		margin-bottom: 20px;
	}
	.t_top .top_warp p {
		font-size: 16px;
	}
	.t_top .top_warp p br {
		display: none;
	}

	/* 重要なお知らせ */
	.t_important .important_warp-inner {
		max-width: none;
		width: calc(100% - 20px);
		height: auto;
		padding: 5px 20px 20px;
		margin-top: -60px;
		margin-bottom: 50px;
	}
	.t_important .title {
		font-size: 18px;
		margin-bottom: 10px;
	}
	.t_important .list li {
		flex-wrap: wrap;
		align-items: center;
		gap: 4px 12px;
		padding: 18px 0;
		border-bottom: 1px solid #eee;
	}
	.t_important .list .cat_warp {
		width: auto;
	}
	.t_important .list .text {
		flex: 1 1 100%;
		min-width: 0;
		font-size: 16px;
		margin: 16px 0 0;
	}
	.t_important a.t_important_bth {
		margin-top: 12px;
		font-size: 16px;
		width: 130px;
		background-position: 100px 10px;
	}

	/* 採用・奨学金のリンク／湖北会について */
	.t_aboutus {
		padding-bottom: 0;
		margin-bottom: 70px;
	}
	.t_aboutus .aboutus_warp {
		margin: 0 20px;
	}
	.t_aboutus .aboutus_warp .aboutuslink_warp.is-pc {
		display: none;
	}
	.t_aboutus .aboutus_warp .aboutuslink_warp-sp.is-sp {
		display: flex;
		flex-direction: column;
		gap: 20px;
		margin-bottom: 170px;
	}
	.aboutuslink_warp-sp a.trylink-sp,
	.aboutuslink_warp-sp a.supportlink-sp {
		position: relative;
		display: block;
		width: 360px;
		min-height: 180px;
		box-sizing: border-box;
		border-radius: 24px;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		text-decoration: none;
		overflow: hidden;
		margin: 0 auto;
	}
	.aboutuslink_warp-sp a.trylink-sp {
		background-image: url(img/sp/trylink_sp.png);
		padding: 20px 20px 16px;
		color: #333;
		border-radius: 30px;
	}
	.aboutuslink_warp-sp a.trylink-sp h3 {
		font-size: 24px;
		font-weight: 700;
		margin: 0 0 8px;
		line-height: 1.4;
		font-family: 'Noto Sans JP';
		width: 190px;
	}
	.aboutuslink_warp-sp a.trylink-sp p {
		font-size: 18px;
		margin: 0;
		line-height: 1.6;
		padding-top: 7px;
	}
	.aboutuslink_warp-sp a.supportlink-sp {
		background-image: url(img/sp/supportlink_sp.png);
		padding: 30px 20px 16px;
		color: #fff;
		font-family: 'Noto Sans JP';
		border-radius: 30px;
	}
	.aboutuslink_warp-sp a.supportlink-sp h3 {
		font-size: 24px;
		font-weight: 700;
		margin: 0 0 8px;
		line-height: 1.4;
		letter-spacing: 0.1em;
	}
	.aboutuslink_warp-sp a.supportlink-sp p {
		font-size: 16px;
		margin: 0;
		line-height: 1.8;
		max-width: 65%;
		padding-top: 20px;
		/* line-height: 1.6; */
	}
	.aboutuslink_warp-sp .btn-sp {
		position: absolute;
		right: 6px;
		bottom: 22px;
		display: flex;
		align-items: center;
		gap: 6px;
		height: 40px;
		padding: 0 27px;
		background: #333;
		color: #fff;
		border-radius: 999px;
		font-size: 16px;
		white-space: nowrap;
		font-family: 'Noto Sans JP';
		width: 150px;
	}
	.aboutuslink_warp-sp .btn-sp img {
		width: 18px;
		height: 18px;
		filter: brightness(0) invert(1);
	}
	.t_aboutus .aboutus_warp .aboutus_warp_detail {
		width: auto;
	}
	.t_aboutus .aboutus_warp .aboutus_warp_detail h3.mid-title {
		font-size: 33px;
		/* margin: 0px 0 0px 0; */
		width: 100%;
	}
	.t_aboutus .aboutus_warp .aboutus_warp_detail p {
		margin-bottom: 30px;
	}
	.t_aboutus .aboutus_warp .aboutus_warp_detail a.bthd {
		height: 60px;
		line-height: 60px;
		width: 90%;
		/* display: block; */
		margin-left: 5% !important;
	}
	.t_aboutus .aboutus_warp::after {
		bottom: 200px;
		left: 0px;
	}
	.t_aboutus .is-pc-title {
		display: none;
	}
	.t_aboutus .is-sp-title {
		display: block;
		font-size: 33px;
		width: 100%;
		margin: 0 0 20px;
	}
	.t_aboutus .aboutus_photo.is-pc-photo {
		display: none;
	}
	.t_aboutus .aboutus_photo.is-sp-photo {
		display: block;
		position: static;
		width: 100%;
		margin: 20px 0px 20px 20px;
	}
	.t_aboutus .aboutus_photo ul li.no1 {
		height: 200px;
		border-radius: 120px 0 0 120px;
	}

	/* 湖北会が大切にしていること */
	.t_service {
		padding: 70px 0;
	}
	.t_service > p {
		margin: 0 20px;
		font-size: 16px;
		line-height: 1.8;
	}
	.t_service .service_warp ul {
		margin: 30px 20px 0;
	}
	.t_service .service_warp ul li {
		width: 100%;
		height: auto;
		margin-bottom: 24px;
		border-radius: 24px;
	}
	.t_service .service_warp ul li .img {
		border-radius: 24px 24px 0 0;
		height: 120px;
		position: relative;
	}
	.t_service .service_warp ul li .img img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		position: absolute;
		top: 0px;
	}
	.t_service .service_warp ul li[data-purpose="work"] .img img {
		object-position: center;
	}
	.t_service .service_warp ul li[data-purpose="live"] .img img {
		object-position: center center;
	}
	.t_service .service_warp ul li[data-purpose="enjoy"] .img img {
		object-position: center center;
	}
	.t_service .service_warp ul li[data-purpose="try"] .img img {
		object-position: top;
	}
	.t_service .service_warp ul li[data-purpose="ask"] .img img {
		object-position: center center;
	}
	.t_service .service_warp ul li .box {
		padding: 20px 24px 20px;
	}
	.t_service .service_warp ul li:not(.circle) .box h4.sub-title br {
		display: none;
	}
	.t_service .service_warp ul li .box h4.sub-title .br-gap {
		width: 15px;
	}
	.t_service .service_warp ul li .box p {
		font-size: 16px;
		line-height: 1.8;
		padding: 0 !important;
	}
	.t_service .service_warp ul li .box p br {
		display: none;
	}
	.t_service .service_warp ul li .box .arrow {
		right: 14px;
		bottom: 14px;
		background-position: 8px;
	}
	.t_service .service_warp ul li.circle {
		width: 300px;
		height: 300px;
		border-radius: 50%;
		margin: 10px auto 0;
		width: 100%;
		height: 240px;
		margin-bottom: 24px;
		border-radius: 24px;
	}
	.t_service .service_warp ul li.circle .box {
		height: 260px;
		padding: 10px 30px;
	}
	.t_service .service_warp ul li[data-purpose="ask"] .box {
	}
	.t_service .service_warp ul li.circle h4.sub-title span {
		font-size: 20px;
	}
	.t_service .service_warp ul li.circle .arrow {
		right: auto;
		left: 50%;
		margin-left: -16px;
		bottom: 40px;
	}

	/* 施設利用・ご家族・採用 */
	.t_move_in {
		padding: 70px 0;
	}
	.t_move_in > p {
		margin: 0 20px;
		font-size: 16px;
		line-height: 1.8;
		text-align: left;
	}
	.t_move_in .move_in_warp {
		margin: 30px 20px 0;
	}
	.t_move_in .move_in_warp .moein1_warp,
	.t_move_in .move_in_warp .moein2_warp {
		display: flex;
		flex-direction: column;
		align-items: center;
		position: relative;
		height: auto;
		padding: 25px 20px 35px;
		border-radius: 24px;
		margin-bottom: 20px;
	}
	.t_move_in .move_in_warp .moein1_warp .title,
	.t_move_in .move_in_warp .moein2_warp .title {
		width: auto;
		padding: 0;
		text-align: center;
	}
	.t_move_in .move_in_warp .moein1_warp .title h3,
	.t_move_in .move_in_warp .moein2_warp .title h3 {
		font-size: 25px;
		line-height: 1.6;
		padding-left: 0;
		padding-top: 33px;
		text-align: center;
		border-bottom: 1px solid #AEAEAE;
		padding-bottom: 7px;
		margin-bottom: 10px;
	}
	.t_move_in .move_in_warp .moein1_warp h3,
	.t_move_in .move_in_warp .moein2_warp h3 {
		background-size: 28px;
		background-position: center top;
		background-repeat: no-repeat;
	}
	.t_move_in .move_in_warp .moein1_warp .txt,
	.t_move_in .move_in_warp .moein2_warp .txt {
		display: block;
		border-left: none;
		margin: 8px 0 0;
		padding: 0;
		width: 100%;
	}
	.t_move_in .move_in_warp .moein1_warp .txt p,
	.t_move_in .move_in_warp .moein2_warp .txt p {
		position: static;
		transform: none;
		top: auto;
		left: auto;
		width: 100%;
		height: auto;
		font-size: 16px;
		padding-left: 0;
		font-weight: normal;
		text-align: left;
		line-height: 2;
	}
	.t_move_in .move_in_warp .moein1_warp .link,
	.t_move_in .move_in_warp .moein2_warp .link {
		position: absolute;
		top: auto;
		right: 16px;
		bottom: 16px;
		width: 38px;
		height: 38px;
		border-radius: 50%;
		background-position: center;
	}
	.t_move_in .move_in_warp .moein3_warp.is-pc {
		display: none;
	}
	.t_move_in .move_in_warp .moein3_warp-sp.is-sp {
		display: block;
		position: relative;
		width: auto;
		height: auto;
		margin: 50px -20px 0;
		padding: 30px 20px 100px;
		border-radius: 0;
		box-sizing: border-box;
		background-image: url(img/sp/trylink_sp2.png);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		color: #333333;
		text-decoration: none;
	}
	.t_move_in .move_in_warp .moein3_warp-sp h3 {
		font-size: 18px;
		text-align: center;
		background-image: url(img/recruitment_parson.png);
		background-size: 36px auto;
		background-position: center top;
		background-repeat: no-repeat;
		padding-left: 0;
		padding-top: 26px;
		margin-top: 0;
		font-weight: bold;
		text-align: left;
		width: 190px;
	}
	.t_move_in .move_in_warp .moein3_warp-sp h4 {
		width: 240px;
		height: auto;
		font-size: 24px;
		margin: 0;
	}
	.t_move_in .move_in_warp .moein3_warp-sp .bthd {
		display: block;
		box-sizing: border-box;
		width: 260px;
		height: 56px;
		background-color: #333333;
		color: #FFFFFF;
		line-height: 56px;
		letter-spacing: 0.1em;
		border-radius: 36px;
		font-family: 'BIZ UDGothic', sans-serif;
		text-decoration: none;
		background-image: url(img/icon/fluent_open-12-filled.png);
		background-repeat: no-repeat;
		background-size: 16px;
		background-position: 220px center;
		font-size: 16px;
		position: absolute;
		bottom: 25px;
		left: 20px;
		text-align: left;
		padding-left: 24px;
	}
	.t_move_in .move_in_warp a.bthd {
		width: 260px;
		height: 56px;
		line-height: 56px;
		font-size: 16px;
		bottom: 24px;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		background-position: 220px center;
	}
	.t_move_in .move_in_warp a:hover.bthd {
		background-position: 224px center;
	}

	/* お知らせ */
	.t_news {
		padding: 70px 0;
	}
	.t_news .news_warp {
		margin: 30px 20px 0;
		padding: 20px 20px 30px;
		border-radius: 24px;
	}
	.t_news .news_warp ul {
		margin-bottom: 0;
	}
	.t_news .news_warp ul li {
		height: auto;
		flex-wrap: wrap;
		align-items: center;
		line-height: 1.8;
		padding: 18px 0;
	}
	.t_news .news_warp ul li span {
		width: auto;
		margin-right: 12px;
	}
	.t_news .news_warp ul li .cat_warp {
		width: auto;
	}
	.t_news .news_warp ul li a .cat_important,
	.t_news .news_warp ul li a .cat {
		margin-top: 0;
		margin-right: 8px;
	}
	.t_news .news_warp ul li > a {
		flex: 1 1 100%;
		width: 100%;
		min-width: 0;
		margin-top: 16px;
		font-size: 16px;
	}
	.t_news .news_warp a.bthd {
		margin-top: 30px;
	}

	/* 商品 */
	.t_product {
		padding: 70px 0;
	}
	.t_product .product_warp {
		margin: 0 20px;
	}
	.t_product .product_warp .product_warp_detail {
		width: auto;
	}
	.t_product .product_warp .product_warp_detail h3.mid-title {
		font-size: 24px;
	}
	.t_product .is-pc-title {
		display: none;
	}
	.t_product .is-sp-title {
		display: block;
		font-size: 33px;
		width: 90%;
	}
	.t_product .product_warp .product_warp_detail p {
		margin-bottom: 0;
	}
	.t_product .product_warp a.bthd.ml0 {
		display: block;
		width: 240px;
		margin: 30px auto !important;
	}
	.t_product .product_photo {
		position: static;
		width: calc(100% - 20px);
		margin: 40px 0 0 auto;
	}
	.t_product .product_photo ul li.no1,
	.t_product .product_photo ul li.no2 {
		height: 180px;
	}
	.t_product .product_photo ul li.no1 {
		border-radius: 90px 0 0 90px;
	}

	/* 広報誌 */
	.public_relations {
		padding: 70px 0;
	}
	.public_relations .public_relations_warp {
		margin: 0 20px;
	}
	.public_relations .public_relations_warp > p {
		font-size: 16px;
		line-height: 1.8;
		text-align: left;
	}
	.public_relations .public_relations_content {
		flex-direction: column;
		margin-top: 30px;
		padding: 30px 20px;
		border-radius: 24px;
	}
	.public_relations .public_relations_content .content {
		flex: none;
	}
	.public_relations .public_relations_content .content .title h4 {
		width: auto;
		margin-right: 0;
		font-size: 28px;
		margin: 0 auto;
	}
	.public_relations .public_relations_content .content .title p {
		font-size: 16px;
		text-align: center;
		width: 100%;
		padding-bottom: 10px;
	}
	.public_relations .public_relations_content .content .editor-warp {
		flex-direction: column;
		gap: 0;
	}
	.public_relations .public_relations_content .content .editor-warp ul {
		margin: 0;
		font-size: 16px;
	}
	.public_relations .public_relations_content .download {
		width: 100%;
		height: auto;
		margin: 30px 0 0;
		justify-content: center;
		display: block;
	}
	.public_relations .public_relations_content .download a.link_box {
		height: auto;
	}
	.public_relations .public_relations_content .download a.link_box img {
		display: block;
		width: 180px;
		height: auto;
		margin: 0 auto 10px;
	}
	.public_relations .public_relations_content .download a.download_link {
		width: auto;
		padding-left: 32px;
		line-height: 15px;
		font-size: 16px;
		padding-bottom: 20px;
		padding-top: 4px;
	}

	/* 情報公開 */
	.info_are {
		padding: 50px 0 70px;
	}
	.info_are .info_warp {
		display: flex;
		flex-direction: column;
		align-items: center;
		position: relative;
		height: auto;
		margin: 0 20px;
		padding: 25px 20px 55px;
		border-radius: 24px;
	}
	.info_are .info_warp .title {
		width: auto;
		padding: 0;
		text-align: center;
		width: 100%;
	}
	.info_are .info_warp .title h3 {
		display: block;
		font-size: 22px;
		line-height: 1.6;
		padding-top: 33px;
		padding-left: 0;
		text-align: center;
		background-size: 28px;
		background-position: center top;
		background-repeat: no-repeat;
		border-bottom: 1px solid #AEAEAE;
		padding-bottom: 7px;
		margin-bottom: 10px;
	}
	.info_are .info_warp .txt {
		display: block;
		border-left: none;
		margin: 8px 0 0;
		padding: 0;
		width: 100%;
	}
	.info_are .info_warp .txt p {
		position: static;
		transform: none;
		top: auto;
		left: auto;
		width: 100%;
		height: auto;
		font-size: 16px;
		line-height: 1.8;
		font-weight: normal;
		text-align: left;
	}
	.info_are .info_warp .txt p br {
		display: none;
	}
	.info_are .info_warp .link {
		position: absolute;
		top: auto;
		right: 16px;
		bottom: 16px;
		width: 38px;
		height: 38px;
		line-height: 38px;
		border-radius: 50%;
		font-size: 0;
		background-position: center;
	}
	.info_are .info_warp:hover .link {
		background-position: center;
	}
}


/* =========================================================
 * B案 top のフォント指定（Figma「湖北会本サイト1106」B案 > top に合わせる）
 * 見出し … Noto Sans JP Bold ／ 本文・ボタン … BIZ UDGothic
 * 字間：本文 0.05em、ボタン・ラベル・小見出し 0.1em
 * 文字サイズ・行間は PC のみ（スマホは既存の調整を優先）
 * ボタン等の行間は高さ・中央揃えに使っているため変更しない
 * ========================================================= */

/* ---- 見出し（Noto Sans JP Bold） ---- */
.home-main .mid-title,
.home-main .t_service .service_warp .box h4.sub-title,
.home-main .t_aboutus .trylink h3,
.home-main .t_aboutus .supportlink h3,
.home-main .t_aboutus .trylink-sp h3,
.home-main .t_aboutus .supportlink-sp h3,
.home-main .t_move_in .move_in_warp .title h3,
.home-main .public_relations .content .title h4.sub-title,
.home-main .info_are .info_warp .title h3,
.contact_are h2.heading,
.contact_are .tel_are a.telbth,
.contact_are .mail_are a.mailbth {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
}
.home-main .mid-title,
.home-main .public_relations .content .title h4.sub-title,
.contact_are h2.heading {
	letter-spacing: 0.05em;
}
.home-main .t_aboutus .aboutus_warp_detail h3.mid-title,
.home-main .t_service .service_warp .box h4.sub-title,
.home-main .t_aboutus .trylink h3,
.home-main .t_aboutus .supportlink h3,
.home-main .t_aboutus .trylink-sp h3,
.home-main .t_aboutus .supportlink-sp h3,
.home-main .t_move_in .move_in_warp .title h3,
.home-main .info_are .info_warp .title h3,
.contact_are .tel_are a.telbth,
.contact_are .mail_are a.mailbth {
	letter-spacing: 0.1em;
}

/* ---- 本文（BIZ UDGothic Regular・字間 0.05em） ---- */
.home-main .t_aboutus .aboutus_warp_detail p.text-normal,
.home-main .t_service > p,
.home-main .t_service .service_warp .box p,
.home-main .t_move_in > p,
.home-main .t_news .news_warp ul li p.title,
.home-main .t_important .list .text,
.home-main .t_product .product_warp_detail p.text-normal,
.home-main .public_relations .public_relations_warp > p,
.home-main .public_relations .content .title p,
.home-main .t_move_in .moein3_warp h3.text-normal {
	font-family: 'BIZ UDGothic', sans-serif;
	font-weight: 400;
	letter-spacing: 0.05em;
}
/* 字間 0.1em の本文 */
.home-main .kouhoushi-latest-mokuji,
.home-main .public_relations .download_link span,
.contact_are > p,
.contact_are .tel_are p,
.contact_are .mail_are p {
	font-family: 'BIZ UDGothic', sans-serif;
	font-weight: 400;
	letter-spacing: 0.1em;
}

/* ---- 太字の本文・リード（BIZ UDGothic Bold） ---- */
.home-main .t_top .top_warp p.text-normal,
.home-main .t_move_in .move_in_warp .txt p,
.home-main .info_are .info_warp .txt p,
.home-main .t_move_in .moein3_warp p.text-normal,
.home-main .t_aboutus .trylink p,
.home-main .t_aboutus .trylink-sp p {
	font-family: 'BIZ UDGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.home-main .t_aboutus .supportlink p,
.home-main .t_aboutus .supportlink-sp p {
	font-family: 'BIZ UDGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.05em;
}

/* ---- 小見出し・ボタン・ラベル（BIZ UDGothic Bold・字間 0.1em） ---- */
.home-main .t_important .title,
.home-main .bthd,
.home-main .t_aboutus .btn-sp,
.home-main .info_are .info_warp .link,
.home-main .t_news .news_warp ul li .cat,
.home-main .t_news .news_warp ul li .cat_important,
.home-main .t_important .list .cat,
footer #menu .address .link-warp a,
footer #menu .menu-list a.about_bth,
footer #menu .menu-list h5,
.menu_text {
	font-family: 'BIZ UDGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.js-pagetop {
	font-family: 'BIZ UDGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.05em;
}

/* ---- 日付・「一覧をみる」（BIZ UDGothic Regular・字間 0.1em） ---- */
.home-main .t_news .news_warp ul li > span,
.home-main .t_important .list .date,
.home-main .t_important a.t_important_bth {
	font-family: 'BIZ UDGothic', sans-serif;
	font-weight: 400;
	letter-spacing: 0.1em;
}

/* ---- フッター ---- */
footer #menu .menu-list ul,
footer #menu .menu-list ul a {
	font-family: 'BIZ UDGothic', sans-serif;
	font-weight: 400;
	letter-spacing: 0.05em;
}
footer #menu .address p {
	font-family: 'BIZ UDGothic', sans-serif;
	letter-spacing: 0.05em;
}
footer #menu .address p + p,
footer #menu .address p.mbox,
footer #menu .address p.mbox span {
	letter-spacing: 0.1em;
}
footer #copy .footer-warp .site-list a {
	font-family: 'BIZ UDGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.05em;
}
footer #copy .footer-warp .site-info {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	letter-spacing: 0.1em;
}

/* ---- 文字サイズ・行間（PC のみ） ---- */
@media (min-width: 781px) {
	.home-main .t_top .top_warp p.text-normal { font-size: 18px; line-height: 1.8; }

	.home-main .t_important .title { font-size: 18px; line-height: 36px; }
	.home-main .t_important .list .date,
	.home-main .t_important a.t_important_bth,
	.home-main .t_important .list .cat { font-size: 14px; }

	.home-main .t_aboutus .trylink h3 { font-size: 26px; line-height: 48px; }
	.home-main .t_aboutus .trylink p { font-size: 16px; }
	.home-main .t_aboutus .supportlink h3 { font-size: 24px; line-height: 48px; }
	.home-main .t_aboutus .supportlink p { font-size: 16px; line-height: 32px; }
	.home-main .t_aboutus .trylink .bthd,
	.home-main .t_aboutus .supportlink .btn-sp { font-size: 14px; }

	.home-main .t_aboutus .aboutus_warp_detail h3.mid-title { font-size: 36px; line-height: 1.3; }
	.home-main .t_aboutus .aboutus_warp_detail p.text-normal { font-size: 16px; line-height: 32px; }

	.home-main .t_service h2.mid-title { font-size: 48px; line-height: 80px; }
	.home-main .t_service > p { font-size: 16px; line-height: 32px; }
	.home-main .t_service .service_warp .box h4.sub-title { font-size: 28px; line-height: 48px; }
	/* 2行の見出し（伝えたい／知りたい）は行間を詰めて矢印と重ならないように */
	.home-main .t_service .service_warp li:not(.circle) .box h4.sub-title:has(br) { line-height: 40px; }
	.home-main .t_service .service_warp li.circle .box h4.sub-title span { font-size: 20px; }
	/* 円形カードは幅が狭いため字間を詰める */
	.home-main .t_service .service_warp li.circle .box h4.sub-title { letter-spacing: 0.05em; }
	.home-main .t_service .service_warp li.circle .box p { letter-spacing: 0; }
	.home-main .t_service .service_warp li.circle .box { padding: 44px 30px; }
	.home-main .t_service .service_warp .box p { font-size: 16px; line-height: 32px; }

	.home-main .t_move_in > p { font-size: 16px; line-height: 32px; }
	.home-main .t_move_in .move_in_warp .title h3 { font-size: 24px; }
	/* 説明文の幅：字間が広がった分、枠（.txt）に収まる範囲で広げる */
	.home-main .t_move_in .move_in_warp .txt p { width: 600px; }
	.home-main .t_move_in .move_in_warp .txt p { font-size: 16px; line-height: 36px; }
	.home-main .t_move_in .moein3_warp h3.text-normal { font-size: 16px; line-height: 32px; }
	.home-main .t_move_in .moein3_warp p.text-normal { font-size: 18px; line-height: 36px; }
	.home-main .t_move_in .moein3_warp h4.mid-title { font-size: 48px; line-height: 82px; white-space: nowrap; }
	.home-main .t_move_in .moein3_warp .bthd { font-size: 18px; }

	.home-main .t_news h2.mid-title { font-size: 48px; line-height: 80px; }
	.home-main .t_news .news_warp ul li > span,
	.home-main .t_news .news_warp ul li .cat,
	.home-main .t_news .news_warp ul li .cat_important { font-size: 14px; }

	.home-main .t_product .product_warp_detail h3.mid-title { font-size: 48px; line-height: 72px; }
	.home-main .t_product .product_warp_detail p.text-normal { font-size: 16px; line-height: 32px; }

	.home-main .public_relations h3.mid-title { font-size: 48px; line-height: 80px; }
	.home-main .public_relations .public_relations_warp > p { font-size: 16px; line-height: 32px; }
	.home-main .public_relations .content .title h4.sub-title { font-size: 28px; }
	.home-main .public_relations .content .title p { font-size: 16px; line-height: 32px; }
	.home-main .kouhoushi-latest-mokuji { font-size: 16px; line-height: 2.2; }
	.home-main .public_relations .download_link span { font-size: 16px; line-height: 2; }

	.home-main .info_are .info_warp .title h3 { font-size: 24px; }
	.home-main .info_are .info_warp .txt p { width: 640px; }
	.home-main .info_are .info_warp .txt p { font-size: 16px; line-height: 36px; }

	.contact_are h2.heading { font-size: 48px; line-height: 80px; }
	.contact_are .mail_are a.mailbth { font-size: 24px; }
	.contact_are > p,
	.contact_are .tel_are p,
	.contact_are .mail_are p { font-size: 16px; line-height: 32px; }

	footer #menu .menu-list h5 { font-size: 18px; }
	footer #menu .menu-list a.about_bth,
	footer #menu .address .link-warp a { font-size: 16px; }
	footer #menu .address p { font-size: 16px; line-height: 32px; }
	footer #menu .address p.mbox,
	footer #menu .address p.mbox span { font-size: 12px; }
	footer #copy .footer-warp .site-list a { font-size: 14px; }
	footer #copy .footer-warp .site-info { font-size: 12px; }
	.menu_text { font-size: 14px; }
}

/* =========================================================
 * 重要なお知らせ（Figma B案 top：1022×260 の数値に合わせる／PCのみ）
 * ========================================================= */
@media (min-width: 1181px) {
	.t_important .important_warp-inner {
		position: relative;
		max-width: none;
		width: 1022px;
		height: 260px;
		box-sizing: border-box;
		padding: 17px 33px 0 50px;
		margin-top: -124px; /* メインビジュアルに24px重ねる */
		background: #FFFFFF;
		border-radius: 8px 0 0 8px;
		box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	}
	.t_important .title {
		margin: 0;
		line-height: 36px;
		padding-left: 40px;
		background-size: 24px;
		background-position: 0 6px;
	}
	.t_important .list {
		margin-top: 8px;
	}
	.t_important .list li {
		height: 48px;
		box-sizing: border-box;
		padding: 0;
		gap: 0;
		align-items: center;
	}
	.t_important .list .date {
		width: 117px;
		min-width: 117px;
		flex-shrink: 0;
		line-height: 32px;
	}
	.t_important .list .cat_warp {
		width: 157px;
		flex-shrink: 0;
	}
	.t_important .list .cat {
		box-sizing: border-box;
		height: 24px;
		padding: 0 8px;
		line-height: 22px;
		border-radius: 4px;
	}
	.t_important .list .text {
		line-height: 32px;
	}
	.t_important a.t_important_bth {
		position: absolute;
		left: 871px;
		top: 208px;
		width: 119px;
		height: 36px;
		margin: 0;
		line-height: 36px;
		background-position: 103px 10px;
	}
	.t_important a.t_important_bth:hover {
		background-position: 108px 10px;
	}
	/* 矢印がホバーで右へ動いても切れないよう枠に余裕を持たせ、下線は文字の幅だけにする */
	.t_important a.t_important_bth {
		width: 124px;
	}
	.t_important a.t_important_bth::after {
		width: 76px;
	}
}

/* =========================================================
 * 湖北会が大切にしていること（Figma B案 top：1440×1268 の数値に合わせる／PCのみ）
 * カード 340×388（線 1px 込み）、列の間 59px・段の間 52px
 * ========================================================= */
@media (min-width: 1181px) {
	.t_service {
		padding: 122px 0 140px;
	}
	.t_service h2.mid-title {
		margin: 0 0 10px;
	}
	.t_service > p {
		margin: 0;
	}
	.t_service .service_warp ul {
		padding: 0;
		margin: 56px auto 0;
		gap: 52px 59px;
	}
	.t_service .service_warp ul li,
	.t_service .service_warp ul li:nth-child(3),
	.t_service .service_warp ul li:nth-child(6) {
		margin: 0;
	}
	.t_service .service_warp ul li {
		border-color: #EEEEEE; /* ホバー時の色は front-page.php の <style> で上書き */
	}

	/* カードの中：写真200px の下に 見出し（上220・左32）／説明（上272・幅284）／矢印（右24・下24） */
	.t_service .service_warp ul li .box,
	.t_service .service_warp ul li[data-purpose="ask"] .box {
		padding: 19px 23px 0 31px;
	}
	.t_service .service_warp ul li .box p {
		margin-top: 4px;
	}
	/* Figma の説明文は改行なしで幅284px に自然に折り返す */
	.t_service .service_warp ul li:not(.circle) .box p br {
		display: none;
	}
	.t_service .service_warp ul li[data-purpose="ask"] .box p {
		margin-top: 3px;
	}
	.t_service .service_warp ul li .box .arrow {
		right: 23px;
		bottom: 23px;
	}

	/* 円形カード：段の中で上下中央。「事業所・サービス名」上78／「から探す」上114／説明 左52・上174・幅235／矢印 左右中央・上282 */
	.t_service .service_warp ul li.circle {
		align-self: center;
	}
	.t_service .service_warp ul li.circle .box,
	.home-main .t_service .service_warp li.circle .box {
		padding: 0;
	}
	.t_service .service_warp ul li.circle .box h4.sub-title {
		position: absolute;
		top: 77px;
		left: 0;
		right: 0;
		margin: 0;
		text-align: center;
		line-height: 48px;
	}
	.t_service .service_warp ul li.circle .box h4.sub-title span {
		display: block;
		margin-top: -12px;
		font-size: 20px;
		line-height: 48px;
	}
	.t_service .service_warp ul li.circle .box p {
		position: absolute;
		top: 173px;
		left: 51px;
		width: 235px;
		margin: 0;
		padding: 0;
		line-height: 32px;
	}
	.t_service .service_warp ul li.circle .arrow {
		left: calc(50% - 12px); /* 円の左右中央（Figma は中央より18px右にずれていた） */
		right: auto;
		top: 282px;
		bottom: auto;
		width: 28px;
		height: 28px;
		background-size: 18px;
		background-position: 4px center;
	}
	/* ホバーで右へ4px（カード共通の 13px だと24pxの枠からはみ出して切れる） */
	.t_service .service_warp ul li.circle a:hover .arrow {
		background-position: 8px center;
	}
}

/* =========================================================
 * 対象誘導・採用情報（Figma B案 top の数値に合わせる／PCのみ）
 * ========================================================= */
@media (min-width: 1181px) {
	/* 対象誘導：説明文 上132／行 1139×96・上224・間40 */
	.t_move_in {
		padding-top: 132px;
	}
	.t_move_in > p {
		margin-top: 0;
	}
	/* 行の線（#EEEEEE）＋影。ホバー時は既存の線（#AEAEAE）だけになる */
	.t_move_in .move_in_warp .moein1_warp,
	.t_move_in .move_in_warp .moein2_warp {
		box-shadow: inset 0 0 0 1px #EEEEEE, 0 4px 16px 2px rgba(0, 0, 0, 0.08);
	}
	.t_move_in .move_in_warp .moein1_warp:hover,
	.t_move_in .move_in_warp .moein2_warp:hover {
		box-shadow: inset 0 0 0 1px #AEAEAE;
	}
	/* アイコン 左37・上35／見出し 左85 */
	.t_move_in .move_in_warp .moein1_warp .title h3,
	.t_move_in .move_in_warp .moein2_warp .title h3 {
		padding-left: 75px;
		background-position: 27px 25px;
	}
	/* 説明 左429（区切り線から28px） */
	.t_move_in .move_in_warp .moein1_warp .txt p,
	.t_move_in .move_in_warp .moein2_warp .txt p {
		padding-left: 4px;
	}

	/* 採用情報：1138×480・角丸36、対象誘導の下に144px */
	.t_move_in .move_in_warp .moein3_warp {
		margin-top: 144px;
		padding: 52px 93px;
		border-radius: 36px;
	}
	/* 小見出し 左150・上52（イラスト 48×26） */
	.t_move_in .move_in_warp .moein3_warp h3 {
		margin: 0;
		line-height: 32px;
		padding-left: 57px;
		background-size: 48px auto;
		background-position: 0 3px;
	}
	/* 見出し 上107／本文 上294 */
	.t_move_in .move_in_warp .moein3_warp h4 {
		margin: 23px 0 0;
	}
	.t_move_in .move_in_warp .moein3_warp p {
		margin: 23px 0 0;
	}
	/* ボタン 280×64・角丸38、右59・下53／文字 左32・アイコン 左232・上24 */
	.t_move_in .move_in_warp .moein3_warp .bthd {
		right: 59px;
		bottom: 53px;
		border-radius: 38px;
		padding-left: 32px;
		background-position: 232px 24px;
	}
	.t_move_in .move_in_warp .moein3_warp:hover .bthd {
		background-position: 236px 24px;
	}
}

/* ハンバーガーメニュー内の見出しもフッターと同じ BIZ UDGothic Bold（Figma） */
nav #menu .menu-list h5 {
	font-family: 'BIZ UDGothic', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1em;
}

/* =========================================================
 * スマホ：採用サイト／奨学金バナー（Figma B案 TOP_sp：360×160・角丸36・左右16・間32）
 * 幅は画面に合わせて縮む（最大360px）。ボタンは右下基準なので狭い画面でもはみ出さない
 * ========================================================= */
@media (max-width: 780px) {
	.t_aboutus .aboutus_warp .aboutuslink_warp-sp.is-sp {
		gap: 32px;
	}
	.aboutuslink_warp-sp a.trylink-sp,
	.aboutuslink_warp-sp a.supportlink-sp {
		/* 親に左右20pxの余白があるため、画面幅基準で端から16pxにする */
		width: min(360px, calc(100vw - 32px));
		max-width: none;
		margin-left: calc((100% - min(360px, calc(100vw - 32px))) / 2);
		margin-right: 0;
		min-height: 0;
		height: 160px;
		border-radius: 36px;
	}
	/* やってみたい：見出し 左32・1行目の中心40／2行目の中心73、説明 左34・上97 */
	.aboutuslink_warp-sp a.trylink-sp {
		padding: 24px 0 0 32px;
	}
	.aboutuslink_warp-sp a.trylink-sp h3 {
		margin: 0;
		line-height: 33px;
	}
	.aboutuslink_warp-sp a.trylink-sp p {
		margin: 7px 0 0 2px;
		padding: 0;
		font-size: 14px;
		line-height: 24px;
	}
	/* 奨学金：見出し 左32・上23、説明 左33・上80 */
	.aboutuslink_warp-sp a.supportlink-sp {
		padding: 23px 0 0 32px;
	}
	.aboutuslink_warp-sp a.supportlink-sp h3 {
		margin: 0;
		line-height: 48px;
	}
	.aboutuslink_warp-sp a.supportlink-sp p {
		margin: 9px 0 0 1px;
		padding: 0;
		max-width: none;
		font-size: 14px;
		line-height: 24px;
	}
	/* ボタン 140×40 */
	.aboutuslink_warp-sp .btn-sp {
		width: 140px;
		box-sizing: border-box;
		padding: 0 0 0 24px;
		font-family: 'BIZ UDGothic', sans-serif;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0.1em;
	}
	.aboutuslink_warp-sp a.trylink-sp .btn-sp {
		right: 19px;
		bottom: 15px;
		gap: 7px;
	}
	.aboutuslink_warp-sp .btn-sp img {
		width: 16px;
		height: 16px;
	}
	.aboutuslink_warp-sp a.supportlink-sp .btn-sp {
		right: 16px;
		bottom: 16px;
		gap: 4px;
	}
	.aboutuslink_warp-sp a.supportlink-sp .btn-sp img {
		width: 22px;
		height: 22px;
	}
}

/* =========================================================
 * スマホ トップの文字サイズ・行間・字間（Figma B案 TOP_sp に合わせる）
 * ========================================================= */
@media (max-width: 780px) {
	/* メインビジュアル */
	.home-main .t_top .top_warp h2 { font-size: 40px; line-height: 54px; }
	.home-main .t_top .top_warp p.text-normal { font-size: 18px; line-height: 32.4px; }

	/* 重要なお知らせ */
	.home-main .t_important .title { line-height: 36px; }
	.home-main .t_important .list .date,
	.home-main .t_important .list .text { line-height: 32px; }
	.home-main .t_important a.t_important_bth { font-size: 14px; line-height: 36px; }

	/* 湖北会とは・商品紹介の見出し（32px） */
	.home-main .t_aboutus h3.mid-title.is-sp-title,
	.home-main .t_product h3.mid-title.is-sp-title {
		font-size: 32px;
		line-height: 51.2px;
		letter-spacing: 0.1em;
	}

	/* セクション見出し（36px） */
	.home-main .t_service h2.mid-title { font-size: 36px; line-height: 65px; }
	.home-main .t_news h2.mid-title { font-size: 36px; line-height: 80px; }
	.home-main .public_relations h3.mid-title { font-size: 36px; line-height: 62px; }
	.contact_are h2.heading { font-size: 36px; line-height: 62px; }

	/* 本文（16px・行間32px） */
	.home-main .t_service > p,
	.home-main .t_service .service_warp .box p,
	.home-main .t_move_in > p,
	.home-main .t_news .news_warp ul li p.title,
	.home-main .public_relations .public_relations_warp > p,
	.home-main .public_relations .content .title p,
	.home-main .public_relations .download_link span,
	.contact_are > p,
	.contact_are .tel_are p,
	.contact_are .mail_are p {
		line-height: 32px;
	}
	.home-main .kouhoushi-latest-mokuji li { line-height: 35.2px; }
	.home-main .info_are .info_warp .txt p { line-height: 36px; }

	/* 湖北会が大切にしていること：カード */
	.home-main .t_service .service_warp li:not(.circle) .box h4.sub-title {
		font-size: 20px;
		line-height: 48px;
		letter-spacing: 0.05em;
	}
	.home-main .t_service .service_warp li.circle .box h4.sub-title {
		line-height: 48px;
		letter-spacing: 0.05em;
	}
	.home-main .t_service .service_warp li.circle .box h4.sub-title span {
		letter-spacing: 0.05em;
	}

	/* 奨学金バナーの説明 */
	.home-main .t_aboutus .aboutuslink_warp-sp a.supportlink-sp p { letter-spacing: 0.1em; }

	/* 対象誘導・情報公開の見出し（24px） */
	.home-main .t_move_in .move_in_warp .title h3,
	.home-main .info_are .info_warp .title h3 {
		font-size: 24px;
	}

	/* 採用情報 */
	.home-main .t_move_in .move_in_warp .moein3_warp-sp h3 {
		line-height: 32px;
		letter-spacing: 0.05em;
	}
	.home-main .t_move_in .move_in_warp .moein3_warp-sp h4 {
		font-size: 26px;
		line-height: 46px;
	}

	/* お問い合わせ：電話番号 32px／メールフォームは BIZ UDGothic Bold 16px */
	.contact_are .tel_are a.telbth { font-size: 32px; }
	.contact_are .mail_are a.mailbth {
		font-family: 'BIZ UDGothic', sans-serif;
		font-size: 16px;
	}
}

/* スマホ：「事業所・サービス名から探す」カード（Figma TOP_sp：角丸36・高さ256）／湖北会とは の見出しの改行 */
@media (max-width: 780px) {
	.t_service .service_warp ul li.circle {
		height: 256px;
		border-radius: 36px;
	}
	.t_service .service_warp ul li.circle .box {
		position: relative;
		height: 256px;
		padding: 0;
	}
	/* 見出し 上19（行の高さ48）／「から探す」は行の中心が上から83 */
	.t_service .service_warp ul li.circle .box h4.sub-title {
		position: absolute;
		top: 18px;
		left: 0;
		right: 0;
		margin: 0;
		text-align: center;
		line-height: 48px;
	}
	.t_service .service_warp ul li.circle .box h4.sub-title br {
		display: inline;
	}
	.t_service .service_warp ul li.circle .box h4.sub-title span {
		display: block;
		margin-top: -8px;
		line-height: 48px;
	}
	/* 説明 左32・上108・幅304（改行なし） */
	.t_service .service_warp ul li.circle .box p {
		position: absolute;
		top: 107px;
		left: 31px;
		right: 23px;
		margin: 0;
	}
	/* 矢印 24px・上232・左右中央 */
	.t_service .service_warp ul li.circle .arrow {
		top: 200px;
		bottom: auto;
		left: calc(50% - 12px);
		margin-left: 0;
		width: 24px;
		height: 24px;
		background-size: 16px;
		background-position: center;
	}
	/* 「一人ひとりの人生に、／深く寄り添う。」は Figma どおりこの位置で改行 */
	.home-main .t_aboutus h3.mid-title.is-sp-title br {
		display: inline;
	}
	.home-main .t_aboutus h3.mid-title.is-sp-title {
		white-space: nowrap;
	}
}

/* スマホ：見出しが狭い画面で変な位置で折り返さないよう、1行に収める見出しは画面幅に合わせて縮める
 * （393px 以上は Figma どおりのサイズ。左右の余白20pxを引いた幅 ÷（文字数 ×（1＋字間）） */
@media (max-width: 780px) {
	.home-main .t_service h2.mid-title {
		white-space: nowrap; /* 「湖北会が大切に／していること」で改行（sp_br） */
	}
	.home-main .t_aboutus h3.mid-title.is-sp-title {
		font-size: min(32px, calc((100vw - 40px) / 11)); /* 「一人ひとりの人生に、」10文字・字間0.1em */
	}
	.home-main .public_relations h3.mid-title {
		white-space: nowrap;
		font-size: min(36px, calc((100vw - 40px) / 9.45)); /* 「広報「こほくかい」」9文字・字間0.05em */
	}
	/* 「施設利用をご検討の方へ」11文字・字間0.1em：375px 以上は 24px */
	.home-main .t_move_in .move_in_warp .moein1_warp .title h3,
	.home-main .t_move_in .move_in_warp .moein2_warp .title h3 {
		font-size: min(24px, calc((100vw - 85px) / 12.1));
	}
}

@media (max-width: 400px) {
	.t_service .service_warp ul li.circle .arrow {
		top: 210px;
	}
}

/* スマホ：「事業所・サービス名から探す」の矢印はホバーで右へ4px（共通の 13px だと24pxの枠からはみ出して切れる） */
@media (max-width: 1180px) {
	.t_service .service_warp ul li.circle .arrow {
		background-position: 4px center;
	}
	.t_service .service_warp ul li.circle a:hover .arrow {
		background-position: 8px center;
	}
}

/* ページ上部：事業所詳細の小さいラベル（見出し h2 内の <p>）は BIZ UDGothic Bold（Figma） */
#pagetop_image .page_image_warp h2 p {
	font-family: 'BIZ UDGothic', sans-serif;
	font-weight: 700;
}

/* ボタンの文字を上下中央に（行間をボタンの高さと同じにする） */
.home-main .t_news a.bthd,
.home-main .t_product a.bthd,
.home-main .public_relations a.bthd {
	line-height: 56px;
}
@media (min-width: 781px) {
	.t_move_in .move_in_warp .moein3_warp .bthd {
		line-height: 64px;
	}
	.contact_are .tel_are a.telbth,
	.contact_are .mail_are a.mailbth {
		line-height: 70px;
	}
	footer #menu .menu-list a.about_bth {
		line-height: 56px;
	}
}
@media (max-width: 780px) {
	.contact_are .mail_are a.mailbth {
		line-height: 56px;
	}
}

/* PC：Figma どおりの太さ・字間に戻す（奨学金の説明は Bold／円形カードは見出し0.1em・本文0.05em） */
@media (min-width: 1181px) {
	.t_aboutus .aboutus_warp .aboutuslink_warp a.supportlink p {
		font-weight: 700;
	}
	.home-main .t_service .service_warp li.circle .box h4.sub-title,
	.home-main .t_service .service_warp li.circle .box h4.sub-title span {
		letter-spacing: 0.1em;
	}
	.home-main .t_service .service_warp li.circle .box p {
		letter-spacing: 0.05em;
		/* 14文字×（16px＋字間）がちょうど235pxで折り返してしまうため、幅を少し広げる（左右中央は維持） */
		left: 49px;
		width: 240px;
	}
}

/* スマホ：「はたらく」の写真の表示位置 */
@media (max-width: 780px) {
	.t_service .service_warp ul li[data-purpose="work"] .img img {
		object-position: center -60px;
	}
}

/* reCAPTCHA のバッジ（右下のマーク）をサイト全体で非表示にする */
.grecaptcha-badge {
	visibility: hidden;
}

/* 重要なお知らせ：ホバー下線の位置を「お知らせ」と揃える（文字の下 PC 10px／781〜1180px 5.6px／スマホ 8px）
   .text は「…」省略のため overflow:hidden なので、線が切れないよう下に余白を足して打ち消す */
.t_important .list .text {
	padding-bottom: 12px;
	margin-bottom: -12px;
}
.t_important .list li a::after {
	bottom: -10px;
}
@media (max-width: 780px) {
	.t_important .list li a::after {
		bottom: -8px;
	}
}
@media (min-width: 781px) and (max-width: 1180px) {
	.t_important .list li a::after {
		bottom: -5.6px;
	}
}

/* お知らせ：PC のホバー下線を文字の下 10px にする（行の高さ40pxのままだと12px離れるため2px上げる） */
@media (min-width: 1181px) {
	.t_news .news_warp ul li p.title::after {
		bottom: 2px;
	}
}

/* お問い合わせ：電話番号を Figma（B案 top）の位置に合わせる
   電話番号は行の高さ48px・見出しとの間31px／営業時間は電話番号の4px下（行の高さ70pxだと10〜17px下がっていた） */
@media (min-width: 781px) {
	.contact_are .tel_are a.telbth {
		height: 48px;
		line-height: 48px;
		margin-top: 31px;
		background-position: 20px center;
	}
	.contact_are .tel_are p.txt_01 {
		margin-bottom: 0;
	}
	.contact_are .tel_are p.txt_02 {
		margin-top: 4px;
	}
}