/*
Theme Name: cip
*/

/*----------------------------
* reset
*----------------------------*/
*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role='list'],ol[role='list']{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}ul{list-style-type: none}

/*----------------------------
* 共通
*----------------------------*/
html {
	scroll-behavior: smooth;
}
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	background-color: #EDECE2;
}
body.loading {
    visibility: hidden;
    opacity: 0;
}
body.loaded {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.5s ease-in;
}
img {
	width: 100%;
	height: auto;
}
a {
	text-decoration: none;
	cursor: pointer;
}
.header-top-margin{
	margin-top:50px;
}
.font-aboreto{
	font-family: "Aboreto", system-ui;
	font-weight: 400;
	font-style: normal;
}
.pc-only{
	display: block;
}
.sp-only{
	display: none;
}
.pc-only2{
	display: block;
}
.sp-only2{
	display: none;
}
@media (max-width: 1024px) {
	.pc-only{
		display: none;
	}
	.sp-only{
		display: block;
	}
}
@media (max-width: 768px) {
	.pc-only2{
		display: none;
	}
	.sp-only2{
		display: block;
	}
}

/*----------------------------
* ヘッダー
*----------------------------*/
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 0 15px 20px;
	color: #000000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	background-color: #3E8893;
	height:50px;
	border-bottom:1px solid #DDCDBC;
}

.header__logo-area {
	display: flex;
	align-items: center;
}

.header__logo {
	width: 95px;
	min-width: 95px;
}

.header__logo-text {
	margin:0 25px;
	font-size:10px;
	color:#DDCDBC;
}

.navbar {
	margin-left: auto;
	display: flex;
	align-items: center;
}

.navbar .nav-links {
	text-align: left;
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	transition: transform 0.3s ease;
	font-size: 14px;
	font-weight: 500;
}

.navbar .nav-links li {
	margin-right: 40px;
}

.navbar .nav-links li:last-child {
	margin-right: 0;
}

.navbar .nav-links a {
	color: #DDCDBC;
	text-decoration: none;
}

.menu-toggle {
	display: none;
	flex-direction: column;
	background: none;
	border: none;
	cursor: pointer;
	padding: 15px 14px;
	position: relative;
	z-index: 20;
	border-left:1px solid #DDCDBC;
}

.menu-toggle .bar {
	width: 22px;
	height: 1px;
	background: #DDCDBC;
	transition: all 0.3s;
}

.menu-toggle .bar2 {
	margin:8px 0;
}

.menu-toggle.active {
	border:none;
	margin-right: 10px;
}

.menu-toggle.active .bar1 {
	transform: rotate(45deg);
	position: absolute;
	top: 15px;
	right: 5px;
}

.menu-toggle.active .bar2 {
	display: none;
}

.menu-toggle.active .bar3 {
	transform: rotate(-45deg);
	position: absolute;
	top: 15px;
	right: 5px;
}

.header__btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 50px;
	text-decoration: none;
	transition: 0.3s;
	background-color: #DDCDBC;
}

.header__btn a::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 37px;
    width: 20px;
    height: 1px;
    border-radius: 9999px;
    background-color: #3E8890;
    transform: translateY(-50%);
}
.header__btn a::after {
	content: '';
    position: absolute;
    top: 50%;
    right: 34px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #3E8890;
    transform: translateY(-50%);
}
.header__btn-text {
	color:#3E8890;
	font-weight: 700;
	margin: 0 70px 0 32px;
}
@media (max-width: 1155px) {
	.navbar .nav-links {
		font-size: 12px;
	}
	.navbar .nav-links li {
		margin-right: 20px;
	}
}
@media (max-width: 1024px) {
	.navbar {
		margin: 0;
	}

	.navbar .nav-links {
		display: flex;
		position: fixed;
		top: 0;
		right: -50%;
		width: 50%;
		height: 100%;
		background-color: #3E8890;
		flex-direction: column;
		align-items: flex-start;
		padding-top: 60px;
		transform: translateX(100%);
		transition: transform 0.3s ease;
	}

	.navbar .nav-links.active {
		transform: translateX(0);
		right: 0;
		z-index: 18;
	}

	.navbar .nav-links li {
		font-size:14px;
		margin: 20px 0 20px 30px;
	}

	.navbar .nav-links li:last-child {
		margin-right: 10px;
	}

	.menu-toggle {
		display: flex;
	}

	.overlay {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		z-index: 15;
	}

	.overlay.active {
		display: block;
	}

	.header__btn a {
		height: auto;
		background-color: transparent;
	}

	.header__btn a::before {
		display: none;
	}
	.header__btn a::after {
		display: none;
	}
	.header__btn-text {
		color:#DDCDBC;
		margin: 0;
		font-weight: 500;
	}
}

/*----------------------------
* メインビジュアル
*----------------------------*/
.main-visual__area{
	background-image: url("img/bg-img_PC.jpg");
	background-position: center;
	background-size: cover;
}
.main-visual__wrapper{
	display: flex;
}
.main-visual-img-area{
	width: 60%;
	position: relative;
}
.main-visual-img{
	padding-top:10px;
	padding-left:10px;
}
.main-deco-circle-img{
	position: absolute;
	width: 27%;
	top:0;
	left:0;
}
.main-text-area{
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 40%;
	padding:0 40px;
}
.main-text-title{
	color: #DDCDBC;
	font-size:36px;
	font-weight: 500;
	line-height: 1.6
}
.btn a {
	display: flex;
	align-items: center;
	position: relative;
	width: 204px;
	height: 50px;
	text-decoration: none;
	transition: 0.3s;
	border: 1px solid #DDCDBC;
	border-radius: 9999px;
}
.btn a:hover {
	opacity: 0.7;
}
.btn {
	margin-top: 40px;
}
.btn a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 23px;
	width: 20px;
	height: 1px;
	border-radius: 9999px;
	background-color: #DDCDBC;
	transform: translateY(-50%);
}
.btn a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #DDCDBC;
	transform: translateY(-50%);
}
.btn-text {
	color: #DDCDBC;
	font-size: 16px;
	margin-left:18px;
}
@media (max-width: 1024px) {
	.main-text-title{
		font-size:32px;
	}
}
@media (max-width: 768px) {
	.main-visual__area{
		background-image: url("img/bg-img_SP.jpg");
	}
	.main-visual__wrapper{
		display: block;
	}
	.main-visual-img-area{
		width: 100%;
		position: relative;
	}
	.main-visual-img{
		padding-right: 10px;
	}
	.main-deco-circle-img{
		width: 42%;
	}
	.main-text-area{
		width: 100%;
		padding:0 30px;
		margin-top:-80px;
		position: relative;
		z-index: 1;
	}
	.btn {
		margin-top: 30px;
	}
}

/*----------------------------
* Concept
*----------------------------*/
.concept__area{
	padding-top:160px;
	color: #DDCDB8;
}
.concept__wrapper{
	display: flex;
	gap:5%;
	margin:0 min(180px,12%);
}
.concept__left-area{
	width: 57%;
}
.concept__right-area{
	width: 43%;
	min-width: 450px;
}
.concept__title{
	position: relative;
	font-size:48px;
	line-height: 1.6;
	padding-left: 35px;
}
.concept__title::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 28px;
	height: 1px;
	background-color: #DDCDBC;
	transform: translateY(-50%);
}
.concept__sub-title{
	margin:20px 0;
	font-size:28px;
	font-weight: 500;
	line-height: 2;
}
.concept__text{
	font-size:16px;
	font-weight: 500;
	line-height: 2.2;
}
.circle-wrapper {
	position: relative;
	width: 450px;
	height: 420px;
	margin-top: 30px;
}
.circle {
	width: 245px;
	height: 245px;
	border: 1.5px solid #DDCDBC;
	border-radius: 50%;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	background-color: transparent;
}
.circle-top {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.circle-left {
	bottom: 0;
	left: 0;
}
.circle-right {
	bottom: 0;
	right: 0;
}
.circle-inner{
	text-align: center;
}
.circle-title{
	font-size:30px;
	font-weight: 500;
	line-height: 1.6;
	margin-bottom:5px;
}
.circle-text{
	list-style-type: disc;
	padding-left:30px;
	font-size:14px;
	font-weight: 500;
	line-height: 1.6;
	text-align: left;
}
.circle-inner-top{
	margin-bottom:30px;
}
.circle-inner-left{
	margin-top:20px;
	margin-right:10px;
}
.circle-inner-right{
	margin-top:20px;
	margin-left:10px;
}
.concept-img-area{
	margin-top:100px;
	display: flex;
}
.concept-img1{
	margin-top:clamp(50px, 10vw, 230px);
}
.concept-img2-area{
	margin-left:clamp(10px, 3vw, 20px);
	margin-right: clamp(20px, 5vw, 64px);
}
.concept-img2-wrapper{
	position: relative;
	display: inline-block;
	overflow: visible;
}
.concept-img2-wrapper::after {
	content: "";
	position: absolute;
	right: -30%;
	bottom: -50%;
	width: 70%;
	height: 90%;
	background: url("img/concept-deco-circle_PC.png") no-repeat center/contain;
}
.concept-img3{
	margin-top:clamp(20px, 5vw, 50px);
	z-index: 1;
}
.concept-deco-circle-img{
	position: absolute;
	right: 0;
	bottom: 0;
}
.recommend-area{
	margin:70px min(180px,12%) 0 min(180px,12%);
	display: flex;
	padding-bottom:120px;
}
.recommend-title{
	font-size:28px;
	line-height: 1.8;
	min-width: 260px;
	padding-top:80px;
	margin-right: 40px;
}
.recommend-wrapper{
	display: flex;
	gap:25px
}
.recommend-inner{
	width: 25%;
}
.recommend-text{
	margin-top:25px;
	font-size:18px;
	font-weight: 500;
	line-height: 1.8;
	text-align: center;
}
@media (max-width: 1024px) {
	.concept__wrapper{
		display: block;
	}
	.concept__left-area{
		width: 100%;
	}
	.circle-wrapper {
		margin:10px auto 30px auto;
	}
	.recommend-area{
		flex-direction: column;
	}
	.recommend-title{
		padding-top:0;
		margin-right: 0;
		margin-bottom:20px;
	}
}
@media (max-width: 768px) {
	.concept__area{
		padding-top:160px;
	}
	.concept__wrapper{
		margin:0 20px;
	}
	.concept__title{
		font-size:40px;
	}
	.concept__sub-title{
		margin:0 0 20px;
		font-size:22px;
		line-height: 1.8;
	}
	.concept__text{
		font-size:14px;
		line-height: 1.8;
	}
	.circle-wrapper {
		width: 350px;
		height: 326px;
	}
	.circle {
		width: 192px;
		height: 192px;
	}
	.circle-title{
		font-size:24px;
		line-height: 1.6;
	}
	.circle-text{
		font-size:12px;
		line-height: 1.6;
	}
	.concept-img-area{
		margin-top:60px;
		display: block;
	}
	.concept-img2-area{
		margin: 0;
		width: 80%;
	}
	.concept-img2-wrapper{
		position: relative;
		display: inline-block;
		overflow: visible;
	}
	.concept-img2-wrapper::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: -95%;
		width: 70%;
		height: 115%;
		background: url("img/concept-deco-circle_SP.png") no-repeat left/contain;
	}
	.concept-img1-3-area{
		display: flex;
		margin-top: -50px;
	}
	.concept-img1{
		margin-top:clamp(50px, 40vw, 250px);;
		margin-right: -50px;
	}
	.concept-img3{
		margin-top:0;
		z-index: 1;
	}
	.concept-deco-circle-img{
		position: absolute;
		right: 0;
		bottom: 0;
	}
	.recommend-area{
		margin:70px 20px 0 20px;
		padding-bottom:90px;
	}
	.recommend-title{
		font-size:22px;
	}
	.recommend-wrapper{
		flex-wrap: wrap;
		gap:30px 50px;
	}
	.recommend-inner{
		width: calc((100% - 50px)/2);
	}
	.recommend-text{
		margin-top:10px;
		font-size:14px;
	}
}

/*----------------------------
* menu
*----------------------------*/
.menu__area{
	padding:120px min(180px,12%);
	color: #3E8890;
}
.menu__title{
	position: relative;
	font-size:48px;
	line-height: 1.6;
	padding-left: 35px;
}
.menu__title::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 28px;
	height: 1px;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.menu__sub-title{
	font-size:28px;
	font-weight: 500;
	line-height: 2;
	margin:20px 0 40px;
}
.plan__area{
	display: flex;
	gap:18px;
	align-items: stretch;
}
.plan__wrapper{
	width: calc(100% / 3 - 9px);
	background-color: #FFFEF2;
	border:1px solid #3E8890;
	border-radius: 10px;
	padding:20px 30px 30px 30px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.plan__inner {
	display: flex;
	flex-direction: column;
}
.category__area{
	display: flex;
	gap:5px;
	color: #FFFFFF;
	font-size:14px;
	font-weight: 500;
	line-height: 1.8;
}
.category-first{
	background-color: #69B2B9;
	border-radius: 4px;
	padding:0 8px;
}
.category-recommend{
	background-color: #3E8890;
	border-radius: 4px;
	padding:0 8px;
}
.plan__title{
	margin:15px 0 5px;
	font-size:24px;
	font-weight: 700;
	line-height: 1.3;
}
.plan__sub-text{
	margin-top:10px;
	font-size:16px;
	font-weight: 500;
	line-height: 1.8;
	padding:10px 0 30px;
}
.amount__area{
	display: flex;
	align-items: center;
}
.amount__area img{
	width: 14px;
	height: 14px;
	margin:0 5px 0 20px;
}
.plan__amount{
	font-size:24px;
	font-weight: 700;
	line-height: 1.8;
}
.plan__time{
	font-size:14px;
	font-weight: 500;
	line-height: 1.8;
}
.plan__coupon{
	font-size:14px;
	font-weight: 500;
	line-height: 1.8;
}
.font-red{
	color: #AF3A00;
	font-weight: 700;
}
.plan__text{
	margin-top:10px;
	border-top:1px solid #3E8890;
	font-size:16px;
	font-weight: 500;
	line-height: 1.8;
	padding:10px 0 30px;
}
.plan-btn a {
	display: flex;
	align-items: center;
	position: relative;
	width: 204px;
	height: 50px;
	text-decoration: none;
	transition: 0.3s;
	border: 1px solid #3E8890;
	border-radius: 9999px;
}
.plan-btn a:hover {
	opacity: 0.7;
}
.plan-btn a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 23px;
	width: 20px;
	height: 1px;
	border-radius: 9999px;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.plan-btn a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.plan-btn-text {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	margin-left:18px;
}
@media (max-width: 1024px) {
	.plan__area{
		flex-direction: column;
		align-items: center;
	}
	.plan__wrapper{
		width: 70%;
	}
}
@media (max-width: 768px) {
	.menu__area{
		padding:70px 20px 80px;
	}
	.menu__title{
		font-size:40px;
		line-height: 1.6;
	}
	.menu__sub-title{
		font-size:22px;
		line-height: 1.8;
		margin:0 0 20px;
	}
	.plan__area{
		gap:10px;
	}
	.plan__wrapper{
		width: 100%;
	}
	.category__area{
		font-size:12px;
	}
	.plan__title{
		font-size:22px;
		line-height: 1.8;
	}
	.plan__amount{
		font-size:22px;
	}
	.plan__text{
		font-size:14px;
	}
}
/*----------------------------
* Therapist
*----------------------------*/
.therapist__area{
	position: relative;
	background:url('img/therapist-bg_PC.jpg') top center no-repeat,#E2DFC6;
	background-size: 100% auto;
}
.therapist__area::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20%;
    background-color: #E2DFC6;
    z-index: 0;
}
.therapist__wrapper{
	padding:120px min(180px,12%) 0 min(180px,12%);
}
.therapist__title{
	position: relative;
	font-size:48px;
	line-height: 1.6;
	padding-left: 35px;
	color: #DDCDBC;
}
.therapist__title::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 28px;
	height: 1px;
	background-color: #DDCDBC;
	transform: translateY(-50%);
}
.therapist__sub-title{
	font-size:28px;
	font-weight: 500;
	line-height: 2;
	margin:20px 0 40px;
	color: #DDCDBC;
}
.person__area{
	display: flex;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	position: relative;
	z-index: 1;
	gap:18px;
	padding-left: min(180px, 12%);
	padding-right: min(180px, 12%);
	padding-bottom:5px;
	scroll-padding-left: min(180px, 12%);
}
.person__area::-webkit-scrollbar {
	display: none;
}
.person__wrapper{
	width: calc(100% / 4 - 13.5px);
	min-width: 250px;
	flex-shrink: 0;
	background-color: #FFFEF2;
	border:1px solid #3E8890;
	border-top-left-radius: 300px;
	border-top-right-radius: 300px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	padding:20px;
	scroll-snap-align: start;
}
.person__inner{
	text-align: center;
	color: #3E8890;
}
.person__inner img{
	margin: 0 auto;
	width: 120px;
	height: 120px;
	object-fit: cover;
	border-radius: 50%;
	border:1px solid #69B2B9;
}
.person-name{
	margin-top:10px;
	font-size:20px;
	font-weight: 700;
	line-height: 1.8;
}
.person-role{
	font-size:16px;
	font-weight: 700;
	line-height: 1.8;
}
.person-text{
	margin-top:15px;
	text-align: left;
	font-size:16px;
	font-weight: 500;
	line-height: 1.8;
	display: grid;
    grid-template-rows: 35px 330px 100px; /* 3行を共有 */
    gap: 2em; /* 各段落間の余白 */
}
@media (max-width: 1024px) {
	.therapist__area{
		background:url('img/therapist-bg_SP.png') top center no-repeat,#E2DFC6;
		background-size: 100% auto;
	}
}
@media (max-width: 768px) {
	.therapist__wrapper{
		padding:80px 20px 0 20px;
	}
	.therapist__title{
		font-size:40px;
		line-height: 1.6;
	}
	.therapist__sub-title{
		font-size:22px;
		line-height: 1.8;
		margin:0 0 20px;
	}
	.person__area{
		gap:16px;
		padding-left: 20px;
		padding-right: 20px;
		scroll-padding-left: 20px;
	}
	.person-name{
		font-size:18px;
	}
	.person-role{
		font-size:14px;
	}
	.person-text{
		font-size:14px;
	}
}
/*----------------------------
* News
*----------------------------*/
.news__area{
	padding:80px min(180px,12%);
	color: #3E8890;
	background-color: #E2DFC6;
}
.news__wrapper{
	display: flex;
}
.news__title-area{
	width: 20%;
	min-width: 230px;
}
.news__title{
	position: relative;
	font-size:48px;
	line-height: 1.6;
	padding-left: 35px;
}
.news__title::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 28px;
	height: 1px;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.news__post-area{
	width: 80%;
	margin-top:20px;
}
.post-list{
	border-top:1px solid #3E8890;
}
.post-list:last-of-type{
	border-bottom:1px solid #3E8890;
}
.post-item{
	margin:20px 0;
	display: flex;
	gap:30px;
}
.post-date,
.post-title {
	display: inline;
	font-size:14px;
	font-weight: 500;
	line-height: 1.8;
}
.news-btn{
	margin-top:32px;
	display: flex;
	justify-content:flex-end;
}
.news-btn a {
	display: flex;
	align-items: center;
	position: relative;
	width: 204px;
	height: 50px;
	text-decoration: none;
	transition: 0.3s;
	border: 1px solid #3E8890;
	border-radius: 9999px;
}
.news-btn a:hover {
	opacity: 0.7;
}
.news-btn a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 23px;
	width: 20px;
	height: 1px;
	border-radius: 9999px;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.news-btn a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.news-btn-text {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	margin-left:18px;
}

@media (max-width: 768px) {
	.news__area{
		padding:70px 20px 80px 20px;
	}
	.news__wrapper{
		flex-direction: column;
	}
	.news__title-area{
		width: 100%;
	}
	.news__title{
		font-size:40px;
	}
	.news__post-area{
		width: 100%;
	}
	.post-item{
		margin:15px 0;
	}
	.news-btn{
		margin-top:40px;
		justify-content:flex-start;
	}
}

/*----------------------------
* Access
*----------------------------*/
.access__area{
	padding:80px min(180px,12%);
	color: #3E8890;
}
.access__wrapper{
	display: flex;
	gap:20px;
}
.access__address-area,
.access__map-area{
	width: 50%;
}
.access__title{
	position: relative;
	font-size:48px;
	line-height: 1.6;
	padding-left: 35px;
}
.access__title::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 28px;
	height: 1px;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.address{
	margin-top:20px;
	font-size:16px;
	font-weight: 500;
	line-height: 2.3;
}
.address a{
	text-decoration: none;
	color: inherit;
}
.access__map-area{
	border: 1px solid #3E8890;
	border-radius: 10px;
	overflow: hidden;
	margin-top:100px;
	min-height: 450	px;
}
.sns__area{
	margin-top:80px;
	display: flex;
	justify-content: center;
	gap:20px;
}
.sns-btn img{
	width: 28px;
	margin-left:18px;
}
.sns-btn a {
	display: flex;
	align-items: center;
	position: relative;
	width: 204px;
	height: 50px;
	text-decoration: none;
	transition: 0.3s;
	border: 1px solid #3E8890;
	border-radius: 9999px;
}
.sns-btn a:hover {
	opacity: 0.7;
}
.sns-btn a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 23px;
	width: 20px;
	height: 1px;
	border-radius: 9999px;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.sns-btn a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.sns-btn-text {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	margin-left:10px;
}
@media (max-width: 768px) {
	.access__area{
		padding:80px 20px 60px 20px;
	}
	.access__wrapper{
		flex-direction: column;
		gap:15px;
	}
	.access__address-area,
	.access__map-area{
		width: 100%;
	}
	.access__map-area{
		margin-top:10px;
	}
	.access__title{
		font-size:40px;
	}
	.address{
		margin-top:10px;
		font-size:14px;
		line-height: 1.8;
	}
	.access__map-area{
		min-width: none;
		height: 300px;
	}
	.sns__area{
		margin-top:60px;
		flex-direction: column;
		align-items: center;
	}
}

/*----------------------------
* フッター
*----------------------------*/
footer{
	background-color: #3E8890;
	color:#DDCDBC;
}
.footer-area{
	display: flex;
	justify-content: space-between;
	gap:50px;
	padding:80px min(180px,12%) 120px;
}
.footer-nav{
	display: grid;
	grid-auto-flow: column;     /* 列方向にアイテムを並べる */
	grid-auto-rows: auto;       /* 各行の高さ自動調整 */
	grid-template-rows: repeat(3, auto); /* 3行に並べる */
	gap: 10px 70px;              /* 行間・列間の余白 */
	list-style: none;
	padding: 0;
	margin: 0;
}
.footer-nav li{
	font-size:16px;
	font-weight: 500;
	line-height: 2.6;
}
.copyright{
	text-align: center;
	font-size:10px;
	font-weight: 500;
	line-height: 1.6;
	padding-bottom:30px;
}
@media (max-width: 768px) {
	.footer-area{
		display: flex;
		justify-content: space-between;
		padding:60px 20px 100px;
		gap:20px;
	}
	.footer-logo{
		width: 165px;
	}
	.footer-nav{
		display: grid;
		grid-auto-flow: row; /* ← 縦方向にアイテムを流す */
		grid-template-rows: none; /* 行数指定は不要 */
		gap:0;
	}
	.footer-nav li{
		font-size:14px;
	}
	.copyright{
		text-align: center;
		font-size:10px;
		font-weight: 500;
		line-height: 1.6;
		padding-bottom:30px;
	}
}

/*----------------------------
* News 一覧
*----------------------------*/
.news-list__area{
	padding:80px min(180px,12%);
	color: #3E8890;
}
.news-list__title{
	position: relative;
	font-size:48px;
	line-height: 1.6;
	padding-left: 35px;
	margin-bottom:30px;
}
.news-list__title::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 28px;
	height: 1px;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.news-list-btn{
	margin-top:40px;
	display: flex;
}
.news-list-btn a {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	width: 204px;
	height: 50px;
	text-decoration: none;
	transition: 0.3s;
	border: 1px solid #3E8890;
	border-radius: 9999px;
}
.news-list-btn a:hover {
	opacity: 0.7;
}
.news-list-btn a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 23px;
	width: 20px;
	height: 1px;
	border-radius: 9999px;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.news-list-btn a::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 20px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.news-list-btn-text {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	margin-right:18px;
}
.pagination{
	margin-top:30px;
}
.pagination .nav-links{
	display: flex;
    justify-content: center;
    font-size: 16px;
	gap:20px;
}
.pagination .nav-links a{
	color: #3E8890;
}
@media (max-width: 768px) {
	.news-list__area{
		padding:60px 20px;
	}
	.news-list__title{
		font-size:40px;
		margin-bottom:20px;
	}
}
/*----------------------------
* 投稿ページ
*----------------------------*/
.news-content-area{
	padding:80px min(180px,12%);
	color: #3E8890;
}
.news-link a {
	position: relative;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	padding-left:30px;
}
.news-link a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 3px;
	width: 20px;
	height: 1px;
	border-radius: 9999px;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.news-link a::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.news-content-wrapper{
	border-top:1px solid #3E8890;
	border-bottom:1px solid #3E8890;
	margin:10px 0 30px;
	padding:20px 0 30px;
}
.news-content-date{
	font-size:14px;
	font-weight: 500;
	line-height: 1.8;
}
.news-content-title{
	font-size:22px;
	font-weight: 500;
	line-height: 1.8;
	margin-bottom:10px;
}
.news-content{
	font-size:16px;
	font-weight: 500;
	line-height: 1.8;
}
.news-content p{
	margin-top:30px;
}
.news-content-btn{
	margin-top:40px;
	display: flex;
}
.news-content-btn a {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	width: 204px;
	height: 50px;
	text-decoration: none;
	transition: 0.3s;
	border: 1px solid #3E8890;
	border-radius: 9999px;
}
.news-content-btn a:hover {
	opacity: 0.7;
}
.news-content-btn a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 23px;
	width: 20px;
	height: 1px;
	border-radius: 9999px;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.news-content-btn a::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 20px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.news-content-btn-text {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	margin-right:18px;
}
/* 画像の配置の設定 */
.alignleft img{
	float:left;
	margin-right: 20px;
}
.alignright img{
	float:right;
	margin-left: 20px;
}
.aligncenter img{
	margin:0 auto;
}
.news-content img{
	padding-top:10px;
	padding-bottom:10px;
}
.news-content-wrapper a{
	text-decoration: underline;
}
@media (max-width: 768px) {
	.news-content-area{
		padding:50px 20px;
	}
	.news-link a {
		font-size: 12px;
	}
	.news-content{
		font-size:14px;
	}
}
/*----------------------------
* プライバシーポリシー
*----------------------------*/
.privacy-policy__area{
	padding:80px min(180px,12%);
	color: #3E8890;
}
.privacy-policy__title{
	position: relative;
	font-size:48px;
	line-height: 1.6;
	padding-left: 35px;
	margin-bottom:30px;
}
.privacy-policy__title::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 28px;
	height: 1px;
	background-color: #3E8890;
	transform: translateY(-50%);
}
.privacy-policy__text{
	font-size: 16px;
	line-height: 1.6;
}
.privacy-policy__text p{
	margin-bottom:20px;
}

@media (max-width: 768px) {
	.privacy-policy__area{
		padding:80px 20px;
	}
	.privacy-policy__title{
		font-size:40px;
		line-height: 1.3;
	}
	.privacy-policy__text{
		font-size: 14px;
	}
}