html {
	scroll-behavior: smooth;
}

/* プロフィールカード */
.profile-card {
	display: flex;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	margin-bottom: 30px;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

/* 左側（写真部分） */
.profile-image {
	flex: 0 0 280px;
	padding: 20px;
	/*background-color: #f9f9f9;*/
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.profile-image img {
	width: 100%;
	max-width: 260px;
	border-radius: 50%;
	border: 4px solid #eee;
}

/* 基本情報 */
.basic-info {
	/* margin-top: 20px; */
	width: 100%;
}

.basic-info p {
	margin: 0;
	font-size: 14px;
	text-align: center;
}

.basic-info .label {
	display: inline-block;
	width: 70px;
	font-weight: bold;
}

/* 右側（吹き出し部分） */
.profile-content {
	flex: 1;
	padding: 30px;
	position: relative;
}

/* 吹き出し */
.speech-bubble {
	position: relative;
	background-color: #e1f5fe;
	border-radius: 15px;
	padding: 20px;
	margin-top: 20px;
}

/* 吹き出しの三角形部分 */
.speech-bubble:before {
	content: '';
	position: absolute;
	left: -20px;
	top: 20px;
	border-width: 10px;
	border-style: solid;
	border-color: transparent #e1f5fe transparent transparent;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
	.profile-card {
		flex-direction: column;
	}

	.profile-image {
		flex: none;
		width: 100%;
	}

	.speech-bubble:before {
		left: 50%;
		top: -20px;
		transform: translateX(-50%);
		border-color: transparent transparent #e1f5fe transparent;
	}
}




#support-project .fl-txt .tkj2 img {
	max-width: 140px !important;
}

#support-project .fl-txt img {
	max-width: 80px;
}

#support-project .fl-txt {
	align-items: center;
}

#support-project h3 {
	margin-bottom: 0;
}




.facility-card {
	display: flex;
	flex-direction: row;
	overflow: hidden;
	margin-bottom: 30px;
}

@media (max-width: 768px) {
	.facility-card {
		flex-direction: column;
	}
}

.info-container {
	flex: 1;
	padding: 20px;
}

.image-container {
	flex: 1;
	max-width: 40%;
}

@media (max-width: 768px) {
	.image-container {
		max-width: 100%;
	}
}

.facility-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.title-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

.title-left {
	display: flex;
	align-items: center;
	white-space: nowrap;
}

.image-container img {
	border-radius: 8px;
}

.badge {
	max-width: 56px;
	float: left;
}

.badge.tkj {
	max-width: 98px;
	float: left;
}

.info-table {
	width: 100%;
	border-collapse: collapse;
}

.info-row {
	border-top: 1px dashed #ccc;
}

.info-label {
	padding: 15px 10px;
	width: 80px;
	vertical-align: top;
}

.info-value {
	padding: 15px 10px;
}




.services-container {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 0;
	padding-bottom: 50%;
	margin: 50px auto;
	max-width: 800px;
	width: 90%;
}

.service-image {
	position: absolute;
	width: 40%;
	max-width: 300px;
	min-width: 180px;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	transition: transform 0.3s ease;
	cursor: pointer;
	border: 3px solid white;
	z-index: 1;
	object-fit: cover;
}

.service-image:hover {
	transform: scale(1.05);
	z-index: 10;
}

#child-support {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

#child-support:hover {
	transform: translateX(-50%) scale(1.05);
}

#family-support {
	bottom: -10%;
	left: 33%;
	transform: translateX(-50%);
}

#family-support:hover {
	transform: translateX(-50%) scale(1.05);
}

#community-support {
	bottom: -10%;
	left: 66%;
	transform: translateX(-50%);
}

#community-support:hover {
	transform: translateX(-50%) scale(1.05);
}

@media (max-width: 768px) {
	.services-container {
		padding-bottom: 80%;
		margin: 0 auto;
	}

	.service-image {
		width: 45%;
		min-width: 120px;
	}

	#child-support {
		top: 10%;
	}

	#family-support {
		bottom: 0;
		left: 30%;
	}

	#community-support {
		bottom: 0;
		left: 70%;
	}
}

@media (max-width: 480px) {
	.service-image {
		width: 50%;
		min-width: 100px;
	}
}


/*section,*/
section {
	overflow: hidden;
	padding-top: 8rem;
	padding-bottom: 8rem;
}

section.chead {
	padding-top: 3rem;
	padding-bottom: 3rem;
	overflow: hidden;
	display: block;
	z-index: 98;
	position: relative;
}

section.bg-sub {
	background: #F5F5F0;
}



/* メールを送信するボタンのスタイル */
.submit-button-container {
	display: flex;
	justify-content: center;
	margin: 30px 0;
}

.submit-button {
	background-color: var(--color-theme);
	/* 上品な青緑色 */
	color: white;
	border: none;
	border-radius: 4px;
	padding: 12px 40px;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	letter-spacing: 0.5px;
}

.submit-button:hover {
	background-color: var(--color-theme-darken);
	/* ホバー時は少し暗めの色 */
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.submit-button:active {
	transform: translateY(0);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* フォーカス時のアウトラインを追加して、アクセシビリティを向上 */
.submit-button:focus {
	outline: 2px solid #00c8ff;
	outline-offset: 2px;
}



/* モバイル用の採用情報ボタンのスタイル */
.recruitment-button {
	position: absolute;
	z-index: 9999;
	right: 0;
	top: 400px;
	/* スライダーのドットに重ならないよう調整 */
}

.recruitment-link {
	display: flex;
	align-items: center;
	background-color: #fde047;
	padding: 10px 5px 10px 12px;
	text-decoration: none;
	color: black;
	border-radius: 10px 0 0 10px;
	border: solid 4px #fff;
	border-right: none;
	border-right-width: 0;
	font-size: 14px;
}

a.recruitment-link:visited,
a.recruitment-link {
	color: black;
	font-size: 16px;
	line-height: 1.2;
}

.location {
	display: flex;
}

.l-item01 {
	width: 10%;
	margin-right: 3%;
}

.l-item01 img {
	border-radius: 5px;
}

.l-item02 {
	width: 87%;
}

.circle {
	width: 20px;
	height: 20px;
	background-color: black;
	border-radius: 50%;
	margin-left: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.arrow {
	width: 6px;
	height: 6px;
	border-top: 2px solid white;
	border-right: 2px solid white;
	transform: rotate(45deg);
	margin-left: -2px;
}

/* レスポンシブ対応 */
@media screen and (min-width: 768px) {
	.recruitment-button {
		top: calc(100% * 1/3);
		transform: translateY(-50%);
		bottom: auto;
	}

	.recruitment-link {
		writing-mode: vertical-rl;
		padding: 2rem 2rem;
		border-radius: 2rem 0 0 2rem;
		border: solid 5px #fff;
		border-right: none;
		border-right-width: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	.circle {
		margin-left: 0;
		margin-top: 8px;
	}
}

.table-qa.w-100 {
	width: 100%;
}

.table-qa {
	border-bottom-width: 0;
	border-left-width: 0;
	border-right-width: 0;
	border-top-width: 0;
	border-spacing: 10px;
	border-collapse: separate;
	border-radius: 20px;
}

.table-qa th.top-tab {
	background-color: #91d8f9;
}

.table-qa th {
	background-color: #d7f8ff;
	font-weight: bold;
	letter-spacing: 0.02em;
	padding: 18px 20px;
	text-align: left;
	vertical-align: top;
	border-radius: 5px;
	box-shadow: 0 0 10px 1px rgba(210, 207, 199, 0.2);
}

.table-qa td {
	background-color: #fff;
	padding: 18px 20px;
	vertical-align: middle;
	border-radius: 5px;
	text-align: center;
	box-shadow: 0 0 10px 1px rgba(210, 207, 199, 0.2);
}

.table-qa th.need {
	min-width: 200px;
}

.table-qa th.need:before {
	background-color: #E08752;
	color: #FFF;
	content: "必須";
	display: block;
	float: left;
	font-size: 11px;
	font-weight: normal;
	margin-right: 10px;
	text-align: center;
	width: 30px;
}

.table-qa th.no-need {
	padding-left: 50px;
}

.qr {
	max-width: 100px;
}

.rit {
	float: right;
}

.btn {
	color: var(--color-theme);
	font-family: "新ゴ M", Shin Go Medium;
	letter-spacing: .05em;
	line-height: 60px;
	width: 200px;
	height: 60px;
	margin: auto;
	position: relative;
	display: block;
	overflow: hidden;
	transition: 0.5s;
}

.btn.w150 {
	width: 150px;
}

.btn:after {
	font-family: "FontAwesome";
	font-size: 2.4rem;
	content: "\f138";
	position: absolute;
	right: 20px;
}

.btn:hover:after {
	animation: fuwafuwa 3.5s linear infinite;
}

@keyframes fuwafuwa {
	0% {
		transform: translateX(0)
	}

	7% {
		/* 0.5秒時点 = (0.5/3.5)*100 ≈ 7% */
		transform: translateX(-4px)
	}

	14% {
		/* 1秒時点 */
		transform: translateX(0)
	}

	100% {
		/* 残りの3.5秒は動かない */
		transform: translateX(0)
	}
}

.btn.blue {
	position: relative;
	display: block;
	color: #fff !important;
	text-align: center;
	background-color: var(--color-theme);
	width: 92%;
	max-width: 620px;
	border-radius: 10px;
	letter-spacing: 0.02em;
	transition: 0.5s;
}

.btn.s a {
	position: relative;
	display: block;
	color: #fff !important;
	text-align: center;
	letter-spacing: 0.15em;
	background-color: var(--color-theme-light);
	width: 80%;
	max-width: 500px;
	margin: 2rem auto 2rem;
	padding: 0.9rem 0 0.9rem;
	border-radius: 30vw;
	transition: 0.5s;
	box-shadow: 0 0 12px 4px rgba(0, 0, 0, .15);
}

.btn a:hover {
	background-color: var(--color-theme);
}

.btn.white a {
	color: #fff;
	background-color: var(--color-theme-light);
}

.btn.white a:hover {
	color: #fff;
	background-color: var(--color-theme-darken);
}

#home .btn.s a {
	margin: 4rem auto 5rem;
}



#home .title {
	text-align: center;
	display: block;
	font-family: "新ゴ M", Shin Go Medium;
	font-size: 1.8rem;
	line-height: 1.4;
	margin-bottom: 0.4rem;
}
#home span.title {
	display: block;
	width:100%;
}
#home .sub-bg,
#home #office,
#home .works {
	background: #F5F5F0;
}

#home #recruit img {
	border-radius: 15px;
}

.swiper-pagination-bullet-active {
	opacity: 1;
	background: var(--color-theme) !important;
}

#links .flex.box3 {
	justify-content: center;
}

#links .flex.box3 .f-item {
	margin-bottom: 2rem;
}

#links .flex.box3 img {
	border-radius: 7px;
	box-shadow: 0 0 5px 1px rgba(0, 0, 0, .12);
}

hr {
	border: none;
	border-top: 4px dotted #ccc;
	width: 100%;
	margin-bottom: 4rem;
}

.pc-max50 {
	max-width: 50%;
	margin-left: auto;
	margin-right: auto;
}

.pc-max60 {
	max-width: 60%;
	margin-left: auto;
	margin-right: auto;
}

.pc-max70 {
	max-width: 70%;
	margin-left: auto;
	margin-right: auto;
}

.pc-max80 {
	max-width: 80%;
	margin-left: auto;
	margin-right: auto;
}



.flex.box1 .f-item,
.flex.box1 .f-item:first-child {
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.fl-txt {
	display: flex;
	text-align: left;
	align-items: flex-end;
	/*241111*/
}

.fl-txt span {
	align-self: center;
}

.fl-txt img {
	height: 100px;
	width: auto;
	margin-right: 2rem;
}

.flex.box2-1 {
	background: #fff;
	border-radius: 15px;
	padding: 5rem 4rem;
	margin-bottom: 4rem;
}

.flex.box2-1 .f-item h3 {
	/*float: left;*/
}

.flex.box2-1 .f-item:nth-child(3n) {
	width: 100%;
	margin: 3rem 0 0;
}

.flex.box2-1 .f-item .box6 {
	width: 80%;
	margin-top: 1rem;
}

.flex.box2-1 .f-item .box6 .f-item {
	width: 15%;
	justify-content: center;
	margin-right: 2%;
	margin-bottom: 0;
}

.flex.box2-1 .f-item .box6 .f-item:nth-child(3) {
	width: 15%;
	justify-content: center;
	margin-right: 2%;
	margin-left: 0;
	margin-top: 0;
}

.flex.box2-1 .f-item .box6 .f-item:nth-child(6) {
	width: 15%;
	justify-content: center;
	margin-right: 0;
	margin-left: 0;
	margin-top: 0;
}

#office .flex.box2-1 h3 {
	margin-bottom: 0;
}

.flex.box3x2 {
	justify-content: center;
}

#office .t-icon {
	display: flex;
	align-items: center;
}

.o-icon img,
#office .t-icon img {
	border-radius: 7px;
}

#office .t-icon .item-image {
	width: 60px;
	height: auto;
	margin-right: 10px;
}

#office .t-icon .item-text {
	white-space: nowrap;
	font-size: 1.4rem;
	line-height: 1.2;
}

.contact label,
.contact span.maru {
	color: var(--color-theme);
	/*border-radius: 10rem;
	background: var(--color-red);
	color: #fff;
	font-size: 10px;
	padding: 0.1rem 0.8rem;
	margin: 0 1rem;
	display: inline-block;*/
}

.contact label {
	margin-bottom: 0 0 1.5rem;
	padding: 0;
	display: block;
}

.contact .box {
	display: inline-block;
}

.contact input[type=checkbox] {
	float: left;
}

.contact .cf-text {
	height: 2.4em;
	width: 100%;
	padding: 0 16px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #ccc inset;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.contact .cf-ttarea {
	width: 100%;
	padding: 16px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #ccc inset;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.contact .cf-text:focus,
.contact .cf-ttarea:focus {
	outline: 0;
	box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.contact form br {
	line-height: 0;
	height: 0;
}


.logo .gray {
	font-size: 11px;
	color: #888;
	font-family: 'Playfair Display', serif;
	font-weight: 500;
	letter-spacing: 0.08em;
}




#g-nav.panelactive {
	/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
	position: fixed;
	z-index: 999;
	top: 0;
	width: 100%;
	height: 100vh;
}

/*丸の拡大*/
.circle-bg {
	position: fixed;
	z-index: 99;
	/*background: var(--color-theme-darken);
	border-radius: 50%;
	transform: scale(0);
	top: calc(50% - 50px);
	left: calc(50% - 50px);*/
	transition: all 0.6s;
}

.circle-bg.circleactive {
	width: 100%;
	height: 100%;
	background: var(--color-theme-darken);
	transition: all 0.6s;
}

.info {
	color: #fff;
	margin: 5rem auto 0;
	font-size: calc(1.6rem + ((1vw - 0.54rem) * 0.5556));
	line-height: 1;
}

.num {
	font-size: calc(2.4rem + ((1vw - 0.54rem) * 0.5556));
}

a.reserve:hover,
a.tell:hover,
.yellow {
	color: goldenrod;
}


#g-nav-list {
	display: none;
	/*はじめは表示なし*/
	/*ナビの数が増えた場合縦スクロール*/
	position: fixed;
	z-index: 99;
	width: 100%;
	height: 100vh;
	overflow: auto;
}

#g-nav.panelactive #g-nav-list {
	display: block;
	/*クラスが付与されたら出現*/
}

/*ナビゲーション*/
#g-nav ul {
	display: block;
	position: absolute;
	z-index: 999;
	/*width: 50%;*/
	top: 20px;
	right: 0;
	transform: none;
}

#g-nav.panelactive ul {
	display: block;
}

#g-nav.panelactive ul li {
	animation-name: gnaviAnime;
	/*animation-duration: 1.5s;*/
	animation-delay: .2s;
	/*0.2 秒遅らせて出現*/
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes gnaviAnime {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/*リストのレイアウト設定*/
#g-nav li {
	text-align: left;
	list-style: none;
	float: left;
}

#g-nav li a {
	color: var(--color-theme);
	padding: 10px;
	display: block;
	text-transform: uppercase;
}

.g-nav-list {
	font-size: 1.8rem;
}

#g-nav li.pc a {
	padding: 0 20px;
}

.g-nav-list img {
	max-height: 52px;
}

.works .box3 .f-item {
	margin-bottom: 3rem;
}

.works .box3 .text {
	/*text-align: center;*/
	width: 100%;
	display: block;
	color: var(--color-base);
}

.works .clinfo {
	font-weight: 300;
	font-size: 1.2rem;
	color: var(--color-gray);
	margin-top: 2rem;
	margin-bottom: 4rem;
}


section.chead {
	background: url(https://tumugiokayama.com/cms/wp-content/themes/tumugi/assets/img/ch-bg.png);
}













.mv {
	margin: 90px 0 0;
	padding: 0;
}

.mv .slide-title img {
	width: 150px;
	margin: 80px 0 0 -150px;
}

.mv .l-inner {
	padding-bottom: 0;
}

.mv .swiper-fade .swiper-slide {
	-webkit-transition-property: opacity, -webkit-transform !important;
	transition-property: opacity, -webkit-transform !important;
	transition-property: opacity, transform !important;
	transition-property: opacity, transform, -webkit-transform !important;
	pointer-events: none;
}

.mv .swiper-fade .swiper-slide-active {
	pointer-events: auto;
}


.mv .slide {
	text-align: left;
	align-content: end;
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}

.mv .slide-media {
	position: absolute;
	z-index: -1;
	background: #fff;
	width: 100%;
	height: 100%;
	border-radius: 30px;
	border: solid 15px #fff;
}

.swiper-pagination-bullets {
	bottom: 24px !important;
}


.mv .slide-title,
.mv .slide-text,
.mv .slide-link {
	-webkit-animation: 2s var(--easing) both;
	animation: 2s var(--easing) both;
	opacity: 0;
}

.mv .slide-title {
	font-size: clamp(36px, calc(2.25rem + ((1vw - 7.68px) * 6.8452)), 82px);
	letter-spacing: 0.05;
	line-height: 1.15;
	margin-bottom: 1rem;
	width: 100%;
	padding: 0;
	color: var(--color-theme);
}

.mv .slide-text {
	font-size: 1.7rem;
	font-family: 'Zen Maru Gothic', sans-serif;
	margin: 1rem 0;
	-webkit-animation-delay: 0.2s;
	animation-delay: 0.2s;
	color: var(--color-theme);
}

.mv .slide-button {
	display: inline-block;
	color: var(--color-theme-light);
	font-size: 1.6rem;
}

.mv .swiper-slide.anm-started .slide-title,
.mv .swiper-slide.anm-started .slide-text,
.mv .swiper-slide.anm-started .slide-link {
	-webkit-animation-name: mv-fadeIn;
	animation-name: mv-fadeIn;
}


.mv .swiper-slide.anm-finished .slide-title,
.mv .swiper-slide.anm-finished .slide-text,
.mv .swiper-slide.anm-finished .slide-link {
	-webkit-animation-name: mv-fadeOut;
	animation-name: mv-fadeOut;
}

@-webkit-keyframes mv-fadeIn {
	0% {
		-webkit-transform: translateY(6rem);
		transform: translateY(6rem);
		opacity: 0;
	}

	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes mv-fadeIn {
	0% {
		-webkit-transform: translateY(6rem);
		transform: translateY(6rem);
		opacity: 0;
	}

	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
}

@-webkit-keyframes mv-fadeOut {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}

	100% {
		-webkit-transform: translateY(-6rem);
		transform: translateY(-6rem);
		opacity: 0;
	}
}

@keyframes mv-fadeOut {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}

	100% {
		-webkit-transform: translateY(-6rem);
		transform: translateY(-6rem);
		opacity: 0;
	}
}

.sns {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: flex-start;
}

.s-item {
	width: 10vw;
	max-width: 50px;
	margin: 0 5px;
}


.name {
	font-size: 1.8rem;
}

.job {
	font-size: 1.4rem;
	color: var(--color-theme);
	margin-bottom: 1.5rem;
}

.card03 p {
	text-align: left;
}

.panelactive .logo .gray,
.panelactive .bloginfo {
	color: #fff !important;
}









.mv-img {
	width: 100%;
	text-align: center;
	background: #DFE6EA;
	margin: 0;
	padding: 0;
	line-height: 0;
	overflow: hidden;
}

.breadcrumb {
	display: flex;
	align-items: center;
	width: 88%;
	margin: 1rem auto;
}

.breadcrumb li {
	margin: 0 1rem 0 0;
}

.flex.box2 {
	align-items: center;
}

.box2 .f-item {
	margin-bottom: 2.4rem;
}

.box2 a {
	display: flex;
	align-items: center;
}

.box2 a div.o-img {
	width: 30%;
}

.box2 a div.o-img img {
	border-radius: 10px;
}

.box2 a div.o-text {
	width: 65%;
	margin-left: 5%;
}

#home .o-text .title {
	text-align: left;
}




@media print,
screen and (min-width: 767px) {
	/* ここにPC向けのCSS指定 */

	.pc {
		display: block;
	}

	.sp {
		display: none;
	}

	.flex.box1 .f-item,
	.flex.box1 .f-item:first-child {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.l-inner {
		position: relative;
		-webkit-box-sizing: content-box;
		box-sizing: content-box;
		max-width: 1100px;
		margin: 0 auto;
		padding: 0;
	}

	dt {
		width: 20%;
		padding: 10px;
		margin: 0;
		border-bottom: #acc1ca dotted 1px;
		justify-content: center;
	}

	dd {
		width: 80%;
		padding: 10px;
		margin: 0;
		border-bottom: #acc1ca dotted 1px;
	}

	.box3 .f-item {
		width: 30%;
		justify-content: center;
		margin-right: 0;
		margin-left: 0;
	}

	.box3 .f-item:nth-child(2),
	.box3 .f-item:nth-child(3n+2) {
		margin-right: 5%;
		margin-left: 5%;
	}





	.box3x2 {
		margin-bottom: 4rem;
	}


	.loop_css1,
	.loop_css2 {
		top: 30vw;
	}

	#home .slide-media img.no1,
	#home .slide-media img.no2,
	#home .slide-media img.no3 {
		position: absolute;
		top: 110px;
		left: 2vw;
		width: 100%;
		height: 100%;
		-o-object-fit: contain;
		object-fit: contain;
	}

	#home header {
		min-height: 0 !important;
	}

	#home main {
		padding-top: 0 !important;
	}

	main {
		padding-top: 100px;
	}

	main.news,
	main.contact {
		/*background: url(https://i-soda.co.jp/wp/wp-content/themes/soda2023/assets/img/banner_news.png);*/
		background-position: 60vw -60px;
		background-repeat: no-repeat;
		background-size: 430px;
	}

	main.about,
	main.works {
		/*background: url(https://i-soda.co.jp/wp/wp-content/themes/soda2023/assets/img/banner_works.png);*/
		background-position: 60vw 0px;
		background-repeat: no-repeat;
		background-size: 375px;
	}

	.mv-img img {
		max-width: 1400px;
		height: auto;
	}

	.mv .slide {
		max-width: 100%;
		align-content: start;
		height: 550px;
	}

	.mv .slide-media {
		width: 100%;
		height: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.mv .slide .slide-content {
		padding-top: 3vw;
		max-width: 880px;
		margin-left: auto;
		margin-right: auto;
	}

	.slide-media img {
		right: 10%;
		-o-object-fit: contain;
		object-fit: contain;
	}

	.logo {
		width: 100%;
		display: flex;
		z-index: 9999;
	}

	.logo .logo_inner {
		float: left;
		padding: 1vw 0 0 2.5vw;
	}

	.logo .logo_inner img {
		max-width: 250px;
	}

	.bloginfo {
		font-size: 12px;
		font-family: 'Noto Sans JP', sans-serif;
		color: #777;
		float: left;
		margin: 2vw 0 0 10px;
	}

	.sns {
		width: 30%;
		justify-content: flex-end;
	}

	.s-item {
		width: 4vw;
		;
	}

	.c__header {
		right: 0;
		width: 360px
	}

	.c__header_inner {
		padding: 16px
	}

	.c__header_reserve {
		height: 65px;
		margin-right: 20px;
		padding: 0 40px;
		border-radius: 33px;
		/*opacity: 0;
		animation: bounceIn .5s ease forwards;
		animation-delay: .2s*/
	}

	.c__header_reserve .icon {
		width: 22px;
		margin-right: 16px
	}

	.c__header_reserve .label {
		font-size: 17px
	}

	.c__header_nav {
		width: 65px;
		height: 65px;
		/*opacity: 0;
		animation: bounceIn .5s ease forwards;
		animation-delay: .4s*/
	}

	.c__header_nav:after,
	.c__header_nav:before {
		width: 20px;
		height: 3px
	}

	.c__header_nav:before {
		transform: translate(-50%, calc(-50% - 4px))
	}

	.c__header_nav:after {
		transform: translate(-50%, calc(-50% + 4px))
	}

	.c__header_nav.is-open:after,
	.c__header_nav.is-open:before {
		width: 25px;
		height: 3px
	}
}

@media print,
screen and (min-width: 767px) and (max-width:1024px) {

	/* ここにタブレット向けのCSS指定 */
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	.l-inner {
		position: relative;
		-webkit-box-sizing: content-box;
		box-sizing: content-box;
		max-width: 960px;
		margin: 0 auto;
		padding: 0 10rem;
	}

	.bloginfo {
		margin: 1.5vw 0 0 10px;
	}


	#home .slide-media img.no1,
	#home .slide-media img.no2,
	#home .slide-media img.no3 {
		position: absolute;
		top: 12vw;
		left: -30vw;
		width: 130%;
		height: 130%;
		-o-object-fit: contain;
		object-fit: contain;
	}

	.mv .slide-title {
		font-size: 52px;
	}

	.mv .slide {
		height: 800px;
	}

	.mv .slide .slide-content {
		margin-top: -10vw;
	}

	.slide-media img {
		right: 10%;
		-o-object-fit: cover;
		object-fit: cover;
	}

	.mv .slide-text,
	.mv .slide-title {
		text-align: center;
	}

	.mv .slide-title img {
		width: 15vw;
		margin: 20vw 0 0 -15vw;
	}

	.logo {
		left: 0;
		display: flex;
	}

	.logo .logo_inner {
		max-width: 200px;
		width: auto;
		height: 11.73333vw;
		padding: 1vw 0 0 2.5vw;
	}

	.box6 .f-item {
		width: 15%;
		justify-content: center;
		margin-right: 2%;
		margin-left: 0;
	}

	.box6 .f-item:last-child {
		margin-right: 0;
	}

	/*241031 0031 .box3 .f-item {
		width: 42%;
		flex-grow: 1;
		justify-content: center;
		margin-right: 0;
		margin-left: 0;
	}

	.box3 .f-item:nth-child(odd) {
		margin-right: 3%;
		margin-left: 0;
	}

	.box3 .f-item:nth-child(even) {
		margin-right: 0;
		margin-left: 3%;
	}*/

	.c__header {
		right: 0;
		width: 25vw
	}

	.c__header_inner {
		padding: 1.11111vw
	}

	.c__header_reserve {
		height: 4.51389vw;
		margin-right: 1.38889vw;
		padding: 0 2.77778vw;
		border-radius: 2.29167vw
	}

	.c__header_reserve .icon {
		width: 1.52778vw;
		margin-right: 1.11111vw
	}

	.c__header_reserve .label {
		font-size: 1.18056vw
	}

	.c__header_nav {
		width: 4.51389vw;
		height: 4.51389vw
	}

	.c__header_nav:after,
	.c__header_nav:before {
		width: 1.38889vw;
		height: .20833vw
	}

	.c__header_nav.is-open:after,
	.c__header_nav.is-open:before {
		width: 1.73611vw;
		height: .20833vw
	}
}



















@media screen and (max-width: 767px) {

	/* ここにSP（スマホ）向けのCSS指定 */

	.sp {
		display: block;
	}

	.br-sp {
		display: block;
	}

	.badge.tkj {
		float: right;
	}

	.l-item01 {
		width: 20%;
		margin-right: 3%;
	}

	.l-item02 {
		width: 77%;
	}

	.pc {
		display: none;
	}

	.mv {
		margin: 62px 0 0;
		padding: 0;
	}

	#recruit dt {
		width: 26%;
		padding: 10px;
		margin: 0;
		border-bottom: #acc1ca dotted 1px;
		font-size: 1.4rem;
	}

	#recruit dd {
		width: 74%;
		padding: 10px;
		margin: 0;
		border-bottom: #acc1ca dotted 1px;
	}

	section.chead {
		padding-top: 2.25rem !important;
		padding-bottom: 1.25rem !important;
	}

	section.chead h1 {
		font-size: 2.6rem;
		font-size: calc(2.0rem +((1vw - 0.54rem)* 0.5556));
		line-height: 1;
	}

	section.chead .txt-key {
		font-size: 1.2rem;
		margin-top: 0.4rem;
	}

	section {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}

	.btn.blue {
		width: 100%;
	}

	h5 {
		font-size: 1.6rem !important;
		margin-top: 1.8rem !important;
		margin-bottom: 1.2rem !important;
		letter-spacing: 0.015em !important;
		line-height: 1.6 !important;
	}

	.pc-max50,
	.pc-max60,
	.pc-max70,
	.pc-max80 {
		max-width: 100%;
	}

	#katudou .box2 #hidamari-net.f-item,
	#katudou .box2 #tamariba.f-item,
	#katudou .box2 #happy-circle.f-item {
		width: 100% !important;
		margin-right: 0;
		margin-bottom: 0;
	}

	#katudou .box2 .f-item {
		width: 100% !important;
	}

	#katudou h3.sp {
		text-align: center;
	}

	.box5 .f-item:nth-child(1),
	.box5 .f-item {
		width: 100%;
		text-align: center;
	}

	#links .flex.box3 {
		justify-content: center;
	}

	#links .flex.box3 .f-item {
		width: 48% !important;
		margin: 0 1% 2rem;
	}

	#office .t-icon .item-text {
		white-space: nowrap;
		font-size: 1.2rem;
		line-height: 1.2;
	}

	.flex.box3x2 {
		margin-bottom: 4rem;
	}

	.flex.box3x2 .f-item:first-child,
	.box2 .f-item .o-icon .f-item {
		margin-bottom: 0;
	}

	#home h2 {
		margin-bottom: 0;
	}

	#home .flex.box3 .f-item a {
		display: flex;
		align-items: center;
	}

	#home .flex.box3 .f-item a div {
		/*width: 47%;*/
	}

	#home .flex.box3 .f-item a div:nth-child(even) {
		width: 50%;
		margin-left: 3%;
	}

	.box3x2 .f-item {
		width: 33%;
	}

	#home .flex.box6.o-icon {
		justify-content: flex-start;
	}

	#home .flex.box6.o-icon .f-item {
		width: 15%;
		justify-content: center;
		margin-right: 2%;
		margin-left: 0;
	}

	#home .flex.box6.o-icon .f-item.w30 {
		width: 28%;
	}

	#home .flex.box6.o-icon .f-item:first-child {
		margin-bottom: 0;
	}

	#home .flex.box6.o-icon .f-item:last-child {
		margin-right: 0;
	}

	#home .flex.box6.o-icon .f-item:nth-child(even) {
		width: 15%;
		margin-left: 0%;
	}

	#home .flex.box6 .f-item {
		width: 48%;
	}

	#home .flex.box6 .f-item:nth-child(even) {
		width: 48%;
		margin-left: 4%;
	}

	.l-inner {
		position: relative;
		-webkit-box-sizing: content-box;
		box-sizing: content-box;
		max-width: 960px;
		margin: 0 auto;
		padding: 0 10rem;
	}

	h1 {
		font-size: 3.0rem;
		font-size: calc(3.0rem +((1vw - 0.54rem)* 0.5556));
	}

	.f-item:first-child {
		margin-bottom: 2rem;
	}

	.about dt {
		width: 100%;
		padding: 10px 0 0;
		border-bottom: none;
		justify-content: left;
	}

	.about dd {
		width: 100%;
		padding: 0 0 10px;
		margin: 0;
		border-bottom: #acc1ca dotted 1px;
		justify-content: left;
	}

	#subpage .breadcrumb {
		display: block;
		width: 88%;
		margin: 1rem auto;
	}

	#subpage .breadcrumb li {
		float: left;
		margin: 0 1rem 0 0;
		white-space: nowrap;
	}

	.btn.s a {
		font-size: 1.4rem;
		line-height: 1.3;
	}


	header {
		/*min-height: 80px;*/
	}

	#home main {
		padding-top: 0 !important;
	}

	main {
		padding-top: 62px;
	}

	/*
	main.news,
	main.contact {
		background: url(https://i-soda.co.jp/wp/wp-content/themes/soda2023/assets/img/banner_news.png);
		background-position: 38vw top;
		background-repeat: no-repeat;
		background-size: 300px;
	}

	main.about,
	main.works {
		background: url(https://i-soda.co.jp/wp/wp-content/themes/soda2023/assets/img/banner_works.png);
		background-position: 40vw 10px;
		background-repeat: no-repeat;
		background-size: 280px;
	}
*/
	#home h3,
	#home h6 {
		text-align: center !important;
	}

	/*h3 {
		font-size: calc(3.6rem + ((1vw - 0.54rem) * 0.5556)) !important;
		margin-top: 4rem !important;
		text-align: left !important;
	}*/

	.subpage h3 {
		font-size: calc(3rem + ((1vw - 0.54rem) * 0.5556)) !important;
	}

	h6 {
		text-align: left !important;
	}

	#home .slide-media img.no1,
	#home .slide-media img.no2,
	#home .slide-media img.no3 {
		position: absolute;
		top: 20px;
		left: -210px;
		width: 150%;
		height: 150%;
		-o-object-fit: contain;
		object-fit: contain;
	}

	#home header {
		min-height: 0 !important;
	}

	.works .icon {
		font-size: 0.8rem !important;
	}

	.works .box3 .text {
		/* 241031 0011 font-size: 1.4rem;
		line-height: 1.5;*/
	}

	.ticker ul li a {
		justify-content: start;
	}

	.logo {
		width: 40%;
		left: 0;
		display: flex;
	}

	.logo .logo_inner {
		min-width: 210px;
		width: auto;
		height: 11.73333vw;
		padding: 2.2vw 0 0 2.5vw;
	}

	.bloginfo {
		display: none;
	}

	.mv .slide-title img {
		width: 18vw;
		margin: 20vw 0 0 -15vw;
	}

	.mv .slide {
		height: 560px;
		align-content: start;
		display: grid;
	}

	.mv .slide .slide-content {
		margin-top: 20px;
	}

	.mv .slide-text,
	.mv .slide-title {
		text-align: center;
	}

	.box3 .f-item {
		width: 43%;
		flex-grow: 1;
		justify-content: center;
		margin-bottom: 3rem;
	}

	#home .box3 .f-item {
		width: 100%;
		flex-grow: 1;
		justify-content: center;
		margin-right: 0;
		margin-bottom: 3rem;
	}

	#home .box3 .f-item img {
		width: 100%;
	}

	.box3 .f-item:nth-child(odd) {
		margin-right: 2%;
		margin-left: 0;
	}

	.box3 .f-item:nth-child(even) {
		margin-right: 0;
		margin-left: 2%;
	}


	#home .box3 .f-item:first-child {
		width: 100% !important;
		margin-bottom: 3rem;
	}

	#home .box3 .f-item:nth-child(even) {
		margin-right: 2%;
		margin-left: 0;
	}

	#home .box3 .f-item:nth-child(odd) {
		margin-right: 0;
		margin-left: 2%;
	}

	.c__header {
		right: 0;
		width: 50%
	}

	.c__header_inner {
		padding: 2.13333vw 2.13333vw 0 0
	}

	.c__header_reserve {
		height: 11.73333vw;
		margin-right: 3.46667vw;
		padding: 0 5.33333vw;
		border-radius: 6.66667vw
	}

	.c__header_reserve .icon {
		width: 3.2vw;
		margin-right: 2.13333vw
	}

	.c__header_reserve .label {
		font-size: 3.2vw
	}

	.c__header_nav {
		width: 11.73333vw;
		height: 11.73333vw
	}

	.c__header_nav:after,
	.c__header_nav:before {
		width: 5.33333vw;
		height: .53333vw
	}

	.c__header_nav:before {
		transform: translate(-50%, calc(-50% - 3px))
	}

	.c__header_nav:after {
		transform: translate(-50%, calc(-50% + 3px))
	}
}




























#mascot-character p {
	text-align: center;
}

.fish {
	width: 80px;
}


.info-box {
	z-index: 999;
}

.ticker {
	margin: 0 auto 5rem;
	width: 100%;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.ticker ul {
	position: relative;
}

.ticker ul li {
	width: 92%;
	padding: 0 3%;
	line-height: 1;
	display: none;
	vertical-align: middle;
	margin: 0 auto;
	position: relative !important;
}

.ticker ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
}

.ticker ul li a span {
	text-align: left;
	line-height: 1.1;
}

.ticker ul li img {
	vertical-align: middle;
	margin-right: 10px;
}

picture,
source {
	overflow: hidden;
	display: block;
	line-height: 0;
}

html {
	/* ベースのフォントサイズを10pxとする */
	font-size: 62.5%;
}

body {
	font-family: "ナウ-GM";
	font-size: 1.6rem;
	font-weight: normal;
	min-height: 0vw;
	line-height: 1.8;
}

em {
	font-size: 1.2rem;
	margin-right: 1rem;
	margin-bottom: 0.75rem;
}




h1,
h2,
h3 {
	/*font-family: 'Maru Folk Medium', '丸フォーク M';*/
	/*font-family: "ゴシックMB101 B", Gothic MB101 Bold;*/
	font-family: "新ゴ M", Shin Go Medium;
	color: #612A1E;
}

h4,
h5,
h6 {
	font-family: "新ゴ M", Shin Go Medium;
}

h4 {
	color: var(--color-theme);
}

h1,
h2,
.txt-key {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	display: block;
}



h2 {
	background-color: var(--color-theme);
	color: #fff;
	width: 100%;
	text-align: center;
	padding: 12px 15px;
	border-radius: 99px;
	margin-bottom: 3rem;
}


#home h2 {
	margin-bottom: 0.25rem;
	/*color: #612A1E;*/
}

/*	
h2 {
	color: var(--color-theme);
}
h2 .line,
h2 span {
	display: inline-block;
}

h2 .line:after,
h2 span:after {
	background: radial-gradient(circle farthest-side, var(--color-theme), var(--color-theme) 20%, transparent 30%, transparent);
	background-size: 8px;
	content: '';
	display: inline-block;
	height: 14px;
	width: 100%;
}
*/
.txt-key {
	color: var(--color-theme);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.4rem;
	margin-top: 0.8rem;
}

#home .txt-key {
	margin-bottom: 4rem;
}

h5 {
	font-size: 1.8rem;
	margin-top: 2rem;
	margin-bottom: 1.5rem;
	letter-spacing: 0.025em;
}

.ticker em,
.day {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.4rem;
}

.red {
	color: var(--color-red);
}

.txt-ll {
	font-size: 2.4rem;
}


.txt-l,
.menu {
	font-size: 1.8rem;
	font-weight: 500;
}

.txt-m {
	font-size: 1.6rem;
}

.txt-s {
	font-size: 1.4rem;
	line-height: 1;
}

.txt-ss {
	font-size: 1.24rem;
}

.catch-copy {
	font-size: 1.4rem;
	margin-bottom: 1rem;
}

h1 {
	font-size: 4.0rem;
	font-size: calc(4.0rem + ((1vw - 0.54rem) * 0.5556));
	min-height: 0vw;
	line-height: 1.1;
}

h2 {
	font-size: 2.4rem;
	font-size: calc(2.1rem + ((1vw - 0.54rem) * 0.5556));
	min-height: 0vw;
	line-height: 1.1;
}

h3 {
	font-size: 2rem;
	font-size: calc(2rem + ((1vw - 0.54rem) * 0.5556));
	color: var(--color-theme);
	line-height: 1.2;
	margin-top: 8rem;
	margin-bottom: 2rem;
}

#office h3 {
	margin-top: 0;
	margin-bottom: 0;
}

#katudou .box2 .f-item {
	margin-bottom: 4rem;
}

#katudou .box2 #hidamari-net.f-item,
#katudou .box2 #tamariba.f-item,
#katudou .box2 #happy-circle.f-item {
	width: 38%;
	margin-right: 2%;
	align-self: flex-start;
}

#katudou .box2 .f-item {
	width: 60%;
}

#katudou .f-item:last-child {
	margin-left: 0;
}

.subpage h3 {

	font-size: 3.2rem;
	letter-spacing: 0.03em;
	font-size: calc(3.2rem + ((1vw - 0.54rem) * 0.5556));
	min-height: 0vw;
	line-height: 1.2;
	margin-top: 4rem;
	margin-bottom: 2.5rem;
}

h3 span {
	width: 100%;
	display: block;
	text-align: center;
	font-size: 1.6rem;
}

h4 {
	font-size: 2.0rem;
	font-size: calc(2.0rem +((1vw - 0.54rem)* 0.5556));
	min-height: 0vw;
}

#home h4 {
	margin-bottom: 2rem;
}

h6 {
	width: 100%;
	display: block;
	font-size: 1.8rem;
	line-height: 1.25;
	margin-bottom: 1rem;
}



ol,
dl {
	display: flex;
	flex-wrap: wrap;
	/*margin-bottom: 3rem !important;*/
}

ol li {
	width: 100%;
	padding: 10px;
	background-color: var(--color-gray);
	margin: 0 0 1px 0;
	display: flex;
	justify-content: center;
}

.bg-gray ol li,
.bg-gray dt,
.bg-gray dd {
	background-color: var(--color-base);
}



p,
img,
ul,
ol,
li {
	margin: 0;
	padding: 0;
	list-style: none;
	list-style-type: none;
}



nav {
	height: 0;
	position: relative;
	z-index: 9999;
}

main {
	display: block;
	overflow: hidden;
	width: 100%;
}

#news .f-item:nth-child(1) {
	margin-right: 0;
	padding-right: 0;
	border-right: none;
}

#news .list {
	width: auto;
}



em {
	font-style: normal;
	font-weight: normal;
}


img,
a img {
	width: 100%;
	height: auto;
}

.brs {
	border-radius: 15px;
}

.cover-bottom {
	margin-bottom: 0;
}

.cover-top {
	margin-bottom: 3rem;
	margin-top: -1px;
}

main .inner,
footer .inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 1rem;
	/*display: block;*/
	clear: both;
}

main .inner.min {
	min-height: 200px;
	margin-bottom: 4rem;
}

footer .inner {
	width: 90%;
}

#news-detail .date {
	padding: 0 0 1rem;
	font-size: 1.4rem;
}

.ctr {
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block;
}

.flex {
	display: flex;
	justify-content: center;
	align-items: center;
	/*align-items: flex-start;*/
	flex-wrap: wrap;
}

.f-item {
	width: 100%;
	text-align: left;
}

.f-item p {
	text-align: left;
	letter-spacing: 0.5px;
	margin-bottom: 1rem;
}

.f-item .ul {
	margin-bottom: 1rem;
}

footer .f-item {
	margin-left: 0;
	margin-right: 0;
	width: 33%;
	text-align: left;
}

footer {
	position: relative;
	background-color: var(--color-theme);
	color: #fff;
	text-align: center;
	overflow: hidden;
	/*margin-top: 3rem;*/
	padding: 3rem 0 3rem;
}

footer .copy {
	margin-top: 3rem;
	font-size: 1.2rem;
}

footer a {
	color: #fff;
}

footer a:hover {
	color: var(--color-theme-light);
}

footer a:visited {
	color: #fff;
}

footer .f-logo {
	width: 100%;
	margin: 0 auto 2rem;
}

footer .f-logo img {
	width: 180px;
	margin-bottom: 1rem;
}

footer .address {
	text-align: center;
}

footer .address .txt-s {
	/*line-height: 2;*/
	letter-spacing: 0.1em;
}

footer .p-policy {
	margin-top: 2rem;
}

.sns {
	display: flex;
	width: 100%;
	/*justify-content: right;*/
	align-items: flex-start;
}





.topics {
	text-align: left;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: #ddd solid 1px;
}

.i-tb {
	display: table;
}

.icon {
	margin-right: 1rem;
	margin-left: 0.5rem;
	border-radius: 0.25rem;
	color: #fff;
	padding: 0;
	font-size: 1.4rem;
	display: inline-block;
	width: 82px;
	text-align: center;
	line-height: 1.4;
	font-family: Arial, Helvetica, sans-serif;
}

.works .icon {
	margin: 0.25rem 0.5rem 0.25rem 0;
	border-radius: 5rem;
	width: auto;
	color: #fff;
	background: var(--color-theme);
	padding: 0.4rem 0.5rem 0.3rem;
	font-size: 1.2rem;
	display: inline-block;
	text-align: center;
	line-height: 1;
}

.icon.news {
	background: var(--color-theme);
}

.icon.important {
	background: var(--color-theme-darken);
}

.icon.b-poster {
	background: #3db0d3;
}

.icon.c-booklets {
	background: #35c9a9;
}

.icon.d-ci {
	background: #eb5a2e;
}

.icon.e-envelopes {
	background: #eb2e9683;
}

.icon.f-novelty {
	background: #eb2e8d;
}

.icon.g-package {
	background: #564275;
}

.icon.h-character {
	background: #f88f39;
}

.icon.i-comic {
	background: #f3bd1c;
}

.icon.j-signboard {
	background: #792721;
}

.icon.k-web {
	background: #4851d1;
}

.icon.l-movie,
.icon.m-photograph,
.icon.n-other {
	background: #333;
}


.pagenation {
	display: inline;
	width: 100%;
}









/*　コンテンツヘッダー　.l-section　*/


.l-section .l-inner {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

[class*=swiper]:focus {
	outline: none;
}

.slide-media {
	position: relative;
	overflow: hidden;
}



.slide-media img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}




.swiper-button-prev,
.swiper-button-next {
	display: grid;
	place-content: center;
	width: 5rem;
	height: 5rem;
	cursor: pointer;
	-webkit-transition: var(--transition);
	transition: var(--transition);
}

.swiper-button-prev::before,
.swiper-button-next::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	border-radius: 50%;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	width: 1.2rem;
	height: 1.2rem;
	content: "";
	border: solid var(--color-gray);
	border-width: 3px 3px 0 0;
}

.swiper-button-prev::after {
	margin-left: 0.4rem;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.swiper-button-next::after {
	margin-right: 0.4rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.swiper-button-disabled {
	pointer-events: none;
	opacity: 0;
}

.card03 {
	overflow: hidden;
	margin-top: 3rem;
	margin-bottom: 3rem;
}

.card03 .swiper {
	overflow: visible;
}

.card03 .slide-media img {
	-o-object-fit: contain;
	object-fit: contain;
}

.card03 .swiper-button-prev,
.card03 .swiper-button-next {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	margin: auto;
}

.card03 .swiper-button-prev::before,
.card03 .swiper-button-next::before {
	background-color: rgba(0, 0, 0, 0.3);
	/*-webkit-box-shadow: var(--box-shadow-dark);
	box-shadow: var(--box-shadow-dark);*/
}

.card03 .swiper-button-prev::after,
.card03 .swiper-button-next::after {
	border-color: #fff;
}

.card03 .swiper-button-prev {
	right: calc(100% - 1.6rem);
}

.card03 .swiper-button-next {
	left: calc(100% - 1.6rem);
}

.card03 .swiper-a:not(.swiper-initialized) {
	padding: 0;
}

.card03 .swiper-a:not(.swiper-initialized) .swiper-button-prev,
.card03 .swiper-a:not(.swiper-initialized) .swiper-button-next {
	display: none;
}

.card03 .swiper-a:not(.swiper-initialized) .swiper-wrapper {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 16px;
	margin-bottom: 8rem;
	padding-left: 6rem;
	padding-right: 6rem;
	width: auto;
}

.card03 .swiper-b:not(.swiper-initialized) {
	padding: 0;
}

.card03 .swiper-b:not(.swiper-initialized) .swiper-button-prev,
.card03 .swiper-b:not(.swiper-initialized) .swiper-button-next {
	display: none;
}

.card03 .swiper-b:not(.swiper-initialized) .swiper-wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	max-width: 980px;
	margin: 0 auto;
}

.card03 .slide {
	overflow: hidden;
	border-radius: 4px;
}

.card03 .slide-media {
	padding-top: 100%;
	/*62.5*/
}

.card03 .slide-content {
	padding: 0.25rem;
	text-align: center;
}








@-webkit-keyframes mv-fadeIn {
	0% {
		-webkit-transform: translateY(6rem);
		transform: translateY(6rem);
		opacity: 0;
	}

	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes mv-fadeIn {
	0% {
		-webkit-transform: translateY(6rem);
		transform: translateY(6rem);
		opacity: 0;
	}

	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
}

@-webkit-keyframes mv-fadeOut {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}

	100% {
		-webkit-transform: translateY(-6rem);
		transform: translateY(-6rem);
		opacity: 0;
	}
}

@keyframes mv-fadeOut {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}

	100% {
		-webkit-transform: translateY(-6rem);
		transform: translateY(-6rem);
		opacity: 0;
	}
}















/*ナビ ///////////////////////////*/


.reserve {
	padding: 0 4vw;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background-color: var(--color-red);
	box-shadow: 0 0 3px 3px rgba(0, 0, 0, .10);
	transition: .3s;
	color: var(--color-base);
	position: fixed;
	height: 40px;
	font-size: 1.4rem;
	cursor: pointer;
	z-index: 99;
	right: 68px;
	top: 14px;
	border-radius: 20vw;
}



#home h3 {
	text-align: center;
}

.text {
	width: 100%;
	display: block;
}

/* バナー本体 */
.news-banner {
	position: relative;
	display: block;
	height: 40px;
	width: 100%;
	margin: -8rem auto 6rem;
	overflow: hidden;
	border: #ddd solid 1px;
	border-radius: none;
	background-color: #fff;
	opacity: 0.8;
	z-index: 99;
}

/* バナー内コンテンツ */
.news-banner__content {
	display: inline-block;
	line-height: 40px;
	padding-left: 100%;
	white-space: nowrap;
	animation: animate-banner 20s linear infinite;
	z-index: 999;
}

/* バナー内の要素をすべて選択 */
.news-banner__content>* {
	display: inline-block;
}

/* 横にスクロールさせるアニメーション */
@keyframes animate-banner {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-100%);
	}
}

#news-detail .date,
#news-detail strong {
	color: var(--color-theme);
}

.pc {
	display: none !important;
}

.br-pc {
	display: none;
}

p {
	text-align: left;
	margin-bottom: 2rem;
}

/*////////////////////////////////*/
/*スマホ・タブレット共通*/
/*////////////////////////////////*/

@media screen and (max-width:1024px) {
	.instagram-button {
		position: fixed;
		bottom: 20px;
		left: 50%;
		transform: translateX(-50%);
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		background: linear-gradient(to right, #833ab4, #fd1d1d);
		color: white;
		text-decoration: none;
		padding: 12px 24px;
		border-radius: 9999px;
		width: 240px;
		font-family: system-ui, -apple-system, sans-serif;
		font-weight: 600;
		font-size: 18px;
		transition: all 0.3s ease;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
		opacity: 1;
		visibility: visible;
		z-index: 99999;
	}

	.instagram-button.sp {
		position: fixed !important;
	}

	.instagram-button.hide {
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s, visibility 0.3s;
	}

	.instagram-button:hover {
		transform: translateX(-50%) scale(1.05);
		box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
	}

	.instagram-icon {
		width: 24px;
		height: 24px;
		fill: currentColor;
	}

	a.instagram-button:visited {
		color: #fff;
	}

	.pc {
		display: none !important;
	}

	.c__header {
		position: fixed;
		top: 0;
		z-index: 9999;
	}

	.c__header_btns {
		display: flex;
		justify-content: flex-end
	}

	.c__header_reserve {
		display: inline-flex;
		background-color: var(--color-yellow);
		justify-content: center;
		align-items: center;
		/*transition: .3s;
		box-shadow: 0 0 12px 4px rgba(0, 0, 0, .15)*/
	}

	.c__header_reserve .icon {
		height: auto
	}

	.c__header_reserve .label {
		font-weight: 700;
		color: #612A1E;
	}

	.c__header_reserve:hover {
		background-color: var(--color-theme);
	}

	.c__header_nav {
		position: relative;
		border-radius: 50%;
		background-color: var(--color-theme);
		/*box-shadow: 0 0 12px 4px rgba(0, 0, 0, .15);*/
		cursor: pointer;
		transition: .3s
	}

	.c__header_nav:hover {
		background-color: var(--color-yellow);
	}

	.c__header_nav:hover:after,
	.c__header_nav:hover:before {
		background-color: var(--color-theme)
	}

	.c__header_nav:after,
	.c__header_nav:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		display: block;
		background-color: #fff;
		border-radius: 3px;
		transition: transform .3s
	}

	.c__header_nav.active:before {
		transform: translate(-50%, -50%) rotate(45deg)
	}

	.c__header_nav.active:after {
		transform: translate(-50%, -50%) rotate(-45deg)
	}

	#g-nav ul {
		display: none;
		position: absolute;
		z-index: 999;
		width: 100%;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.g-nav-list {
		font-size: 2.4rem;
		font-size: calc(2.4rem + ((1vw - 0.54rem) * 0.5556));
	}

	/*リストのレイアウト設定*/
	#g-nav li {
		text-align: center;
		list-style: none;
		float: none;
	}

	#g-nav li a {
		color: #fff;
		text-decoration: none;
		padding: 5px 0;
		display: block;
		text-transform: uppercase;
		letter-spacing: 0.1em;
	}

	#news-detail .date,
	#news-detail strong {
		color: var(--color-theme);
	}

	.card03 .swiper-button-prev {
		right: calc(100% - -4rem);
	}

	.card03 .swiper-button-next {
		left: calc(100% - -4rem);
	}

	footer .p-policy {
		margin-bottom: 2rem;
	}

	main .inner {
		/*width: 88%;
		margin: 0 6%;*/
		padding: 0 5%;
	}

}




/*////////////////////////
ここからPC
////////////////////////*/

@media only screen and (min-width: 1024px) {

	.br-pc,
	.pc {
		display: block !important;
	}

	.br-sp,
	.sp {
		display: none !important;
	}

	#news-detail hr {
		border-bottom: solid 1px var(--color-theme-light);
		margin-top: 0.5rem;
		margin-bottom: 0.5rem;
	}

	#news-detail .date,
	#news-detail strong {
		color: var(--color-theme);
	}

	.card03 .slide img {
		-webkit-transition: var(--transition);
		transition: var(--transition);
	}

	.card03 .slide:hover img {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}

	.card03 .slide {
		max-width: 380px;
		/*max-height: 300px;*/
	}

	section.chead {
		padding-top: 5rem !important;
		padding-bottom: 3rem !important;
		text-align: center;
	}

	section.pf {
		padding-top: 0;
		padding-bottom: 8rem;
	}

	section.parking {
		padding-bottom: 2rem;
	}

	footer .f-logo {
		/*241031 1547 width: 60%;
		float: left;*/
		text-align: left;
		margin: 0;
	}

	footer .f-logo img {
		/*241031 1547 float: left;*/
		width: 250px;
		margin-right: 30px;
	}

	footer .address {
		text-align: left;
		line-height: 1.65;
	}

	.btn a,
	.btn-syosai a {
		margin: 5rem auto 0;
		color: #fff !important;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
		opacity: 1;
	}

	.flex {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		align-items: none;
	}

	.works .flex {
		align-items: flex-start;
	}

	.flex.box1 .f-item,
	.flex.box1 .f-item:first-child {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 4rem;
	}

	.flex.box1 .f-item h3 {
		margin-top: 0;
		margin-bottom: 0;
		margin-left: 0;
		margin-right: 0;
	}

	.flex.box1 .f-item h5 {
		margin-top: 0;
		margin-bottom: 1rem;
		margin-left: 0;
		margin-right: 0;
	}

	.flex.box3 {
		align-items: flex-start;
	}

	header .logo img {
		vertical-align: middle;
	}

	.inner {
		width: 980px;
		margin: auto;
		margin-top: 2rem;
	}

	.f-item {
		width: 48%;
		justify-content: center;
	}

	.f-item:first-child {
		margin-right: 2%;
	}

	.f-item:last-child {
		margin-left: 2%;
	}


	.box3 .f-item {
		width: 30%;
		justify-content: center;
		margin-right: 0;
		margin-left: 0;
	}

	.box3 .f-item:nth-child(2),
	.box3 .f-item:nth-child(3n+2) {
		margin-right: 5%;
		margin-left: 5%;
	}

	.box4 .f-item {
		width: 22.5%;
		justify-content: center;
	}

	.box4 .f-item {
		margin-right: 3%;
	}

	.box4 .f-item:last-child {
		margin-right: 0;
		margin-left: 0;
	}

	.flex.box5 {
		align-items: flex-start;
	}

	.box5 .f-item:nth-child(1) {
		width: 28%;
	}

	.box5 .f-item {
		width: 18%;
		margin-right: 0;
	}

	.box5 .f-item:last-child {
		margin-right: 0;
		margin-left: 0;
	}

	footer .box5 li:first-child,
	footer .box5 li.bld {
		font-size: 1.6rem;
		font-weight: bold;
	}

	footer .box5 li {
		font-size: 1.2rem;
		line-height: 2.24;
	}

	.box3x2 .f-item,
	.box6 .f-item {
		width: 15%;
		justify-content: center;
		margin-right: 2%;
		margin-left: 0;
	}

	.box3x2 .f-item.w30,
	.box6 .f-item.w30 {
		width: 28%;
	}

	.box3x2 .f-item:last-child,
	.box6 .f-item:last-child {
		margin-right: 0;
	}

	.f-item p {
		margin: 0 0 1.5rem;
	}

	.p-policy {
		justify-content: center;
		width: 45%;
		order: 2;
		text-align: right;
		margin-left: 5%;
	}

	.tab-sp {
		display: none !important;
	}

	.swiper-button-prev::before,
	.swiper-button-next::before {
		-webkit-transition: var(--transition);
		transition: var(--transition);
	}

	.swiper-button-prev:hover::before,
	.swiper-button-next:hover::before {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}

}

/*////////////////////////////////*/
/*スマホ以外に対応　1440px～　*/
/*////////////////////////////////*/

@media only screen and (min-width: 1440px) {
	/*.inner.pf {
		max-width: 1920px;
		width: auto;
		margin: 3rem auto 0;
		padding-left: 6rem;
		padding-right: 6rem;
	}*/

	.card03 .l-inner {
		max-width: 1600px;
	}

	/*
	.box3 .f-item {
		width: 18%;
		justify-content: center;
		margin-right: 2.5% !important;
		margin-left: 0 !important;
	}

	.box3 .f-item:nth-child(5n) {
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.box3 .f-item:nth-child(2),
	.box3 .f-item:nth-child(3n+2) {
		margin-right: 0;
		margin-left: 0;
	}*/
}

/*////////////////////////////////*/
/*スマホ以外に対応　600px～　*/
/*////////////////////////////////*/

@media only screen and (min-width:600px) {


	#home img.mv.sp {
		margin-top: -5rem;
		float: left;
	}

	.text {
		width: auto;
		display: inline;
	}
}


































/*////////////////////////////////*/
/*common ///////////////////////////*/
:root {
	--easing: cubic-bezier(.2, 1, .2, 1);
	--transition: .8s var(--easing);
	--color-base: #1A1A1A;
	--color-gray: #333;
	--color-blue: #CCE1FB;
	--color-red: #eb4a61;
	--color-yellow: #ffcc00;
	--color-theme: #00c9f7;
	--color-theme-light: #E5F6FD;
	--color-theme-darken: #00A0E9;
	--box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
	--box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
	--box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
	--box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff, .2);
}

* {
	margin: 0;
	padding: 0;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

::-moz-selection {
	color: #fff;
	background: var(--color-theme);
}

::selection {
	color: #fff;
	background: var(--color-theme);
}

.bc-sep {
	margin: 0 1rem;
}

a {
	text-decoration: none;
	color: var(--color-theme);
	-webkit-transition: all 0.25s;
	-moz-transition: all 0.25s;
	-ms-transition: all 0.25s;
	-o-transition: all 0.25s;
	transition: all 0.25s;
	opacity: 1;
}

#questionnaire a {
	text-decoration: underline !important;
	display: block;
}

a:hover {
	opacity: 0.6;
}

a:visited {
	color: var(--color-theme-darken);
}

a:visited.reserve {
	color: #fff;
}

strong {
	font-family: "UD新ゴ R";
}

.clear {
	clear: both;
}

.mt-0 {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.mt-1 {
	margin-top: 1rem;
}

.mt-2 {
	margin-top: 2rem;
}

.mt-3 {
	margin-top: 3rem;
}

.mt-4 {
	margin-top: 4rem;
}

.mt-5 {
	margin-top: 5rem;
}

.mt-6 {
	margin-top: 6rem;
}

.mt-7 {
	margin-top: 7rem;
}

.mt-8 {
	margin-top: 8rem;
}

.mt-9 {
	margin-top: 9rem;
}

.mt-10 {
	margin-top: 10rem;
}

.mb-0 {
	margin-bottom: 0 !important;
}

.mb-1 {
	margin-bottom: 1rem;
}

.mb-2 {
	margin-bottom: 2rem;
}

.mb-3 {
	margin-bottom: 3rem;
}

.mb-4 {
	margin-bottom: 4rem;
}

.mb-5 {
	margin-bottom: 5rem;
}

.mb-6 {
	margin-bottom: 6rem;
}

.mb-7 {
	margin-bottom: 7rem;
}

.mb-8 {
	margin-bottom: 8rem;
}

.mb-9 {
	margin-bottom: 9rem;
}

.mb-10 {
	margin-bottom: 10rem;
}

.pager {
	margin-top: 4rem;
	margin-bottom: 4rem;
}

.pager .pagination {
	text-align: center;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.pager .pagination li {
	margin: 0 2px;
	padding: 0;
	display: inline-block;
	background: #fff;
	width: 50px;
	height: 50px;
	text-align: center;
	position: relative;
	border-radius: 15rem;
	border: var(--color-theme) solid 1px;
}

.pager .pagination li.current {
	width: auto;
	border: none;
	display: flex;
	align-items: center;
	width: 120px;
	height: 70px;
	padding: 0;
	border-radius: 15rem;
}

.pager .pagination li.pre,
.pager .pagination li.next {
	display: inline-block;
	width: 70px;
	height: 70px;
	text-align: center;
}

.pager .pagination li a {
	vertical-align: middle;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	display: table;
	color: var(--color-theme);
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.pager .pagination li a span {
	display: table-cell;
	vertical-align: middle;
}

.pager .pagination li a:hover,
.pager .pagination li a.active {
	color: #fff;
	background: var(--color-theme);
	border-color: var(--color-theme-darken);
	border-radius: 15rem;
}

.pager .pagination li.current a:hover,
.pager .pagination li.current a.active {
	color: var(--color-theme-darken);
	background: none;
}