@charset "utf-8";
:root {--main-color: #006F7E;}
:root {--accent-color: #FF2600;}
:root {--text-color: #5F5F5F;}
html, body {
	overflow-x: hidden;
}
body::before{
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: center / cover no-repeat url("../img/bg2.png");
	position: fixed;
	top: 0;
	z-index: -1; /* 背景を最背面に */
}
/* SWELLのデフォルト背景色を取り除く */
.l-mainContent,
.l-article,
.l-mainContent__inner,
.post_content {
	background-color: transparent !important;
}
#body_wrap, #content {
	background-color: transparent !important;
}
/* トップページでは#contentの幅制限を完全に解除 */
.home #content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.home main, .front-page main{
	overflow: hidden;
}
.home section, .front-page section{
	width: 100%;
	position: relative;
	overflow: visible;
}
.inner{
	width: 90%;
	max-width: 940px;
	margin: 0 auto;
    position: relative;
}
.home h1, .home h2, .home h3, .home h4, .home h5, .home h6,
.front-page h1, .front-page h2, .front-page h3, .front-page h4, .front-page h5, .front-page h6 {
	line-height: 1.4;
	letter-spacing: 0.1em;
	color: var(--main-color);
}
.home p, .home a, .home li,
.front-page p, .front-page a, .front-page li {
	line-height: 1.8;
	letter-spacing: 0.1em;
	color: var(--text-color);
}

@media (min-width: 769px) and (max-width: 1279px) {
	.inner{
		max-width: 73.438vw;
	}
}
@media screen and (max-width: 768px) {
	.inner{
		max-width: 520px;
	}
}
/*==================================================================================================*/
/*共通記述*/
.title {
	font-size: 27px;
	font-weight: 700;	
	text-align: center;
	color: var(--main-color);
}
.title span {
	display: block;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0;
	text-align: center;
	margin-top: 2px;
}
.btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 198px;
	height: 35px;
	font-size: 14px;
	color: #FFF !important;
	border: solid 1px var(--main-color);
	background: var(--main-color);
	margin: 0 auto;
	position: relative;
	transition: .5s;
}
.btn:hover{
	background: #FFF;
	color: var(--main-color) !important;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.title{
		font-size: 2.109vw;
	}
	.title span{
		font-size: 0.781vw;
	}
	.btn{
		max-width: 15.469vw;
		height: 2.734vw;
		font-size: 1.094vw;
	}
}
@media screen and (max-width: 768px) {
	.title{
		font-size: 20px;
	}
}
/*==================================================================================================*/
/*-*/
header{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	height: 50px;
	position: fixed;
	top: 0;
	z-index: 10000;
}
header h1{
	width: 123px;
	position: fixed;
	top: 30px;
	left: 20px;
}
header h1 a,
header h1 img{
	display: block;
	width: 100%;
	height: 100%;
}
.openbtn1{
	display: none;
}
nav,
nav ul,
nav ul li{
	width: fit-content;
	height: 100%;
}
nav img{
	display: none;
}
nav ul li a{
	display: flex;
	align-items: center;
	width: fit-content;
	height: 100%;
	font-family: "Noto Sans JP";
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
	color: #1E1E1E;
	padding: 0 19px;
}
nav ul li a.tel{
	font-size: 19px;
	font-weight: 700;
	color: #FFF;
	border-radius: 50px 0 0 50px;
	background: var(--accent-color);
}
@media (min-width: 769px) and (max-width: 1279px) {
	header{
		height: 3.906vw;
	}
	header h1{
		width: 9.609vw;
		top: 2.344vw;
		left: 1.563vw;
	}
	nav ul li a{
		font-size: 1.094vw;
		padding: 0 1.484vw;
	}
	nav ul li a.tel{
		font-size: 1.484vw;
		border-radius: 3.906vw 0 0 3.906vw;
	}
}
@media screen and (max-width: 768px) {
	header h1{
		top: 10px;
		left: 10px;
	}
	.openbtn1{
		display: block;
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
		width: 66px;
		height: 66px;
		z-index: 10000;
	}
	.openbtn1 span:nth-of-type(1),
	.openbtn1 span:nth-of-type(2),
	.openbtn1 span:nth-of-type(3){
		display: inline-block;
		transition: all .4s;
		width: 34px;
		height: 1.5px;
		left: 16px;
		background: var(--main-color);
		position: absolute;
	}
	.openbtn1 span:nth-of-type(1) { top:22px;}
	.openbtn1 span:nth-of-type(2) { top:32px;}
	.openbtn1 span:nth-of-type(3) { top:42px;}

	.pcNav .openbtn1 span:nth-of-type(1) {
		top: 32px;
		transform: rotate(-45deg);
	}
	.pcNav .openbtn1 span:nth-of-type(2){
		opacity: 0;
	}
	.pcNav .openbtn1 span:nth-of-type(3){
		top: 32px;
		transform: rotate(45deg);
	}
	nav,
	nav ul,
	nav ul li{
		width: 100%;
		height: auto;
	}
	nav{
		height: 100vh;
		padding: 100px 5%;
		background: rgba(255,255,255,0.90);
		position: fixed;
		top: -100vh;
		transition: .5s;
		z-index: 9999;
		overflow-y: auto;
	}
	.pcNav nav{
		top: 0;
	}
	nav img{
		display: block;
		max-width: 160px;
		margin: 0 auto;
		margin-bottom: 30px;
	}
	nav ul{
		max-width: 400px;
		margin: 0 auto;
	}
	nav ul li a{
		width: 100%;
		justify-content: center;
		padding: 10px 0;
	}
	nav ul li a.tel{
		font-size: 16px;
		border-radius: 50px;
		margin-top: 40px;
	}
}
/*==================================================================================================*/
/*ファーストビュー-FV*/
.home .fv, .front-page .fv{
	padding-top: 50px;
}
.home .fv .inner, .front-page .fv .inner{
	max-width: 1280px;
}
.home .fv .inner div, .front-page .fv .inner div{
	align-content: center;
	height: 750px;
	position: relative;
	z-index: 2;
}
.home .fv .inner div p:nth-child(1), .front-page .fv .inner div p:nth-child(1){
	width: fit-content;
	font-size: 18px;
	font-weight: 700;
	color: #FFF;
	border-radius: 50px;
	background: var(--main-color);
	padding: 2px 23px 2px;
}
.fv .inner div h2{
	font-size: 50px;
	font-weight: 700;
	line-height: 1.8;
	color: var(--main-color);
	margin-bottom: 20px;
}
.fv .inner div h2 + p{
	font-size: 20px;
	letter-spacing: 0.15em;
	line-height: 2;
	color: #5C6D6F;
	margin-bottom: 20px;
}
.fv .inner div img{
	width: 334px;
	border-radius: 10px;
}
.fv .inner div + img{
	width: 647px;
	aspect-ratio: 1 / 1;
	border: solid 20px var(--main-color);
	border-radius: 50%;
	position: absolute;
	top: 50%;
    right: -10px;
    transform: translateY(-50%);
	z-index: 1;
}
.fv .inner::after{
	display: block;
	content: "";
	width: 1000px;
	height: 647px;
	background: var(--main-color);
	position: absolute;
	top: 50%;
    right: -700px;
    transform: translateY(-50%);
}
@media (min-width: 769px) and (max-width: 1279px) {
	.fv{
		padding-top: 3.906vw;
	}
	.fv .inner{
		max-width: 100vw;
	}
	.fv .inner div{
		height: 58.594vw;
	}
	.fv .inner div p:nth-child(1){
		font-size: 1.406vw;
		border-radius: 3.906vw;
		padding: 0.156vw 1.797vw 0.156vw;
	}
	.fv .inner div h2{
		font-size: 3.906vw;
		margin-bottom: 1.563vw;
	}
	.fv .inner div h2 + p{
		font-size: 1.563vw;
		margin-bottom: 1.563vw;
	}
	.fv .inner div img{
		width: 26.094vw;
		border-radius: 0.781vw;
	}
	.fv .inner div + img{
		width: 50.547vw;
		border: solid 1.563vw var(--main-color);
		right: -0.781vw;
	}
	.fv .inner::after{
		width: 78.125vw;
		height: 50.547vw;
		right: -54.687vw;
	}
}
@media screen and (max-width: 768px) {
	.fv{
		padding-top: 150px;
		padding-bottom: 60px;
	}
	.fv .inner{
		max-width: 520px;
	}
	.fv .inner div{
		height: auto;
	}
	.fv .inner div p:nth-child(1){
		font-size: 15px;
		padding: 2px 15px 3px;
	}
	.fv .inner div h2{
		font-size: 30px;
	}
	.fv .inner div h2 + p{
		font-size: 16px;
	}
	.fv .inner div img{
		width: 100%;
	}
	.fv .inner div + img{
		width: 400px;
		aspect-ratio: 1 / 1;
		border: solid 10px var(--main-color);
		top: -100px;
		right: -100px;
		transform: none;
		opacity: .3;
	}
	.fv .inner::after{
		display: none;
	}
	.news {
		padding-left: 5%;
		padding-right: 5%;
	}
}
/*==================================================================================================*/
/*お知らせ-NEWS*/
.block{
	width: 94%;
	max-width: 780px;
	border-radius: 10px;
	background: #FFF;
	box-shadow: 0 4px 24px 0 rgba(0,0,0,0.05);
	margin: 0 auto;
}
.block .title{
	width: fit-content;
}
.news{
	padding-top: 20px;
	padding-bottom: 40px;
}
.news .inner{
	max-width: 630px;
}
.newsList{
	max-width: 475px;
}
.newsList li:not(:last-child){
	margin-bottom: 15px;
}
.newsList li a div{
	width: 155px;
}
.day{
	width: fit-content;
	font-size: 10px;
	font-weight: 700;
	color: #8A8A8A;
}
.tag{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 68px;
	height: 20px;
	font-size: 10px;
	color: var(--main-color);
	border: solid 1px var(--main-color);
	border-radius: 11px;
}
.newsList h3{
	width: calc( 100% - 180px );
	font-size: 14px;
	border-width: 700;
	color: var(--main-color);
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
}
.news .btn{
	position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}
/* ページネーション */
.navigation.pagination {
	margin-top: 40px;
}
.pagination .nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	border: 1px solid var(--main-color);
	color: var(--main-color);
	font-size: 14px;
	transition: .3s;
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover {
	background: var(--main-color);
	color: #fff;
}
.pagination .page-numbers.dots {
	border: none;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.block{
		max-width: 60.938vw;
		border-radius: 0.781vw;
	}
	.news{
		padding-top: 1.563vw;
		padding-bottom: 3.125vw;
	}
	.news .inner{
		max-width: 49.219vw;
	}
	.newsList{
		max-width: 37.109vw;
	}
	.newsList li:not(:last-child){
		margin-bottom: 1.172vw;
	}
	.newsList li a div{
		width: 12.109vw;
	}
	.day{
		font-size: 0.781vw;
	}
	.tag{
		width: 5.313vw;
		height: 1.563vw;
		font-size: 0.781vw;
		border-radius: 0.859vw;
	}
	.newsList h3{
		width: calc( 100% - 14.063vw );
		font-size: 1.094vw;
	}
	.news .btn{
		bottom: -1.562vw;
	}
}
@media screen and (max-width: 768px) {
	.block{
		width: 90%;
		max-width: 93%;
	}
	.block .title{
		width: 100%;
		margin-bottom: 20px;
	}
	.newsList{
		max-width: 100%;
	}
	.newsList li a div{
		width: 100%;
		justify-content: flex-start;
	}
	.newsList .day{
		margin-right: 10px;
	}
	.newsList h3{
		width: 100%;
		margin-top: 10px;
	}
}
/*==================================================================================================*/
/*「サークル」に込めた、仲間と和の想い。-ABOUT*/
.home .about, .front-page .about{
	padding: 145px 0 160px;
}
.home .about .inner div, .front-page .about .inner div{
	max-width: 296px;
	position: relative;
	z-index: 2;
}
.home .about .inner div img, .front-page .about .inner div img{
	display: block;
	width: 123px;
	margin: 0 auto;
	margin-bottom: 20px;
}
.home .about .inner div .title, .front-page .about .inner div .title{
	color: #464646;
	margin-bottom: 30px;
}
.home .about .inner div .title span, .front-page .about .inner div .title span{
	color: var(--main-color);
}
.home .about .inner div p, .front-page .about .inner div p{
	font-size: 13px;
	letter-spacing: 0.12em;
	line-height: 2.4;
	color: var(--main-color);
	margin-bottom: 20px;
}

.home .about .inner div + img, .front-page .about .inner div + img,
.home .about .inner div + img + img, .front-page .about .inner div + img + img{
	width: 282px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	box-shadow: 0 4px 14px 0 rgba(0,0,0,0.35);
	position: absolute;
}
.home .about .inner div + img, .front-page .about .inner div + img{
	top: -60px;
	right: 332px;
}
.about .inner div + img + img{
	width: 400px;
	bottom: -70px;
	right: -40px;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.about{
		padding: 11.328vw 0 12.5vw;
	}
	.about .inner div{
		max-width: 23.125vw;
	}
	.about .inner div img{
		width: 9.609vw;
		margin-bottom: 1.563vw;
	}
	.about .inner div .title{
		margin-bottom: 2.344vw;
	}
	.about .inner div p{
		font-size: 1.016vw;
		margin-bottom: 1.563vw;
	}

	.about .inner div + img,
	.about .inner div + img + img{
		width: 22.031vw;
	}
	.about .inner div + img{
		top: -4.687vw;
		right: 25.938vw;
	}
	.about .inner div + img + img{
		width: 31.25vw;
		bottom: -5.469vw;
		right: -3.125vw;
	}
}
@media screen and (max-width: 768px) {
	.about{
		padding: 100px 0 200px;
	}
	.about .inner div{
		max-width: 100%;
	}
	.about .inner div + img,
	.about .inner div + img + img{
		width: 150px;
		opacity: .8;
	}
	.about .inner div + img{
		top: auto;
		bottom: -180px;
		right: 60px;
		z-index: 1;
	}
	.about .inner div + img + img{
		width: 200px;
		bottom: -150px;
		right: -80px;
	}
}
/*==================================================================================================*/
/*当院の3つの特徴-FEATURES*/
.home .features .inner, .front-page .features .inner{
	padding: 85px 0 70px;
	border-top: solid 1px var(--main-color);
}
.home .features .title, .front-page .features .title{
	margin-bottom: 20px;
}
.home .features ul li, .front-page .features ul li{
	max-width: 290px;
	position: relative;
}
.home .features ul li img, .front-page .features ul li img{
	aspect-ratio: 1.8 / 1;
	margin-bottom: 5px;
}
.home .features ul li h3, .front-page .features ul li h3{
	font-size: 18px;
	font-weight: 700;
	color: var(--main-color);
	margin-bottom: 5px;
}
.home .features ul li p, .front-page .features ul li p{
	font-size: 13px;
	color: #5F5F5F;
}
.home .features ul li::before, .front-page .features ul li::before{
	display: flex;
	align-items: center;
	justify-content: center;
	content: "01";
	width: 68px;
	height: 68px;
	font-size: 28px;
	letter-spacing: 0;
	color: #FFF;
	border-radius: 50%;
	background: var(--accent-color);
	position: absolute;
	top: -20px;
	right: -10px;
}
.features ul li:nth-child(2)::before{
	content: "02";
}
.features ul li:nth-child(3)::before{
	content: "03";
}
@media (min-width: 769px) and (max-width: 1279px) {
	.features .inner{
		padding: 6.641vw 0 5.469vw;
	}
	.features .title{
		margin-bottom: 1.563vw;
	}
	.features ul li{
		max-width: 22.656vw;
	}
	.features ul li img{
		margin-bottom: 0.391vw;
	}
	.features ul li h3{
		font-size: 1.406vw;
		margin-bottom: 0.391vw;
	}
	.features ul li p{
		font-size: 1.016vw;
	}
	.features ul li::before{
		width: 5.313vw;
		height: 5.313vw;
		font-size: 2.188vw;
		top: -1.562vw;
		right: -0.781vw;
	}
}
@media screen and (max-width: 768px) {
	.features .inner{
		padding: 40px 0;
		border-top: none;
	}
	.features ul{
		max-width: 90%;
		margin: 0 0 0 auto; /* 右に寄せるため左をautoに */
	}
	.features ul li{
		max-width: 100%;
	}
	.features ul li:not(:last-child){
		margin-bottom: 20px;
	}
	.features ul li h3{
		font-size: 16px;
	}
	.features ul li::before{
		width: 50px;
		height: 50px;
		font-size: 24px;
	}
}
/*==================================================================================================*/
/*診療科目-INTERNIST SPCIALTY*/
.home .type, .front-page .type{
	max-width: 668px;
	padding: 20px;
}
.home .type .inner, .front-page .type .inner{
	width: 100%;
}
.type .title{
	width: calc( 100% - 430px );
}
.type ul{
	width: 430px;
}
.type ul li{
	width: 100px;
	height: 135px;
}
.type ul li .type-item{
	display: flex;
	align-content: center;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	background: #EDF7F5;
}
.type ul li img{
	width: 64px;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	margin-bottom: 10px;
}
.type ul li h4{
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	color: var(--main-color);
}
@media (min-width: 769px) and (max-width: 1279px) {
	.type{
		max-width: 52.188vw;
		padding: 1.563vw;
	}
	.type .title{
		width: calc( 100% - 33.594vw );
	}
	.type ul{
		width: 33.594vw;
	}
	.type ul li{
		width: 7.813vw;
		height: 10.547vw;
	}
	.type ul li .type-item{
		border-radius: 0.781vw;
	}
	.type ul li img{
		width: 5vw;
		margin-bottom: 0.781vw;
	}
	.type ul li h4{
		font-size: 1.094vw;
	}
}
@media screen and (max-width: 768px) {
	.type{
		max-width: 93%;
		padding: 20px 5%; /* 左右に余白 */
	}
	.type .inner {
		display: block; /* フレックス解除してタイトルを中央に */
	}
	.type .title{
		width: 100%;
		text-align: center;
		margin-bottom: 30px;
	}
	.type ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.type ul li{
		width: 48%; /* 2カラム */
		height: 120px;
		margin-bottom: 4%;
	}
	.type ul li img{
		width: 45px;
		margin-bottom: 5px;
	}
	.type ul li h4{
		font-size: 14px;
	}

}
/*==================================================================================================*/
/*-column*/
.home .column, .front-page .column{
	padding: 80px 0;
}
.home .columnSlider .slick-track, .front-page .columnSlider .slick-track {
	display: flex !important; /* スライドの高さを一定にする */
}
.home .columnSlider .slick-slide, .front-page .columnSlider .slick-slide {
	height: auto;
}
.home .columnSlider .slick-slide > div, .front-page .columnSlider .slick-slide > div {
	height: 100%;
}
.home .columnBox, .front-page .columnBox{
	height: 100%; /* 全高をいっぱいに使う */
	min-height: 410px;
	padding: 20px;

	border-radius: 20px;
	background: #EDF7F5;
	margin: 0 10px;
}
.home .columnBox p:nth-child(1), .front-page .columnBox p:nth-child(1){
	width: fit-content;
	font-size: 10px;
	font-weight: 400; /* 太字解除 */
	color: var(--main-color);
	margin-bottom: 10px;
}
.home .columnBox img, .front-page .columnBox img{
	aspect-ratio: 1.3 / 1;
	border-radius: 10px;
	margin-bottom: 8px;
}
.home .columnBox h3, .front-page .columnBox h3{
	font-size: 18px;
	font-weight: 700;
	color: var(--main-color);
	margin-bottom: 8px;
}
.home .columnBox .column-content,
.home .columnBox .column-content p,
.front-page .columnBox .column-content,
.front-page .columnBox .column-content p{
	font-size: 13px;
	font-weight: 400; /* 太字解除 */
	color: #5f5f5f; /* 指定の色 */
	background: transparent !important; /* 背景色解除 */
	border: none !important; /* 枠線解除 */
	padding: 0 !important;
}

@media (min-width: 769px) and (max-width: 1279px) {
	.column{
		padding: 6.25vw 0;
	}
	.columnBox{
		width: 21.484vw;
		min-height: 32.031vw;
		padding: 1.563vw;
		border-radius: 1.563vw;
		margin: 0 0.781vw;
	}
	.columnBox p:nth-child(1){
		font-size: 0.781vw;
		padding: 0 1.172vw;
		border-radius: 0.781vw;
		margin-bottom: 1vw;
	}
	.columnBox img{
		border-radius: 0.781vw;
		margin-bottom: 0.625vw;
	}
	.columnBox h3{
		font-size: 1.406vw;
		margin-bottom: 0.625vw;
	}
	.columnBox p:last-child{
		font-size: 1.016vw;
	}
}
@media screen and (max-width: 768px) {
	.column{
		padding: 60px 0;
	}
}
@media screen and (max-width: 520px) {
	.columnBox{
		padding: 15px;
		margin: 0 5px;
	}
}
/*==================================================================================================*/
/*アクセス-access*/
.home .access, .front-page .access{
	padding: 35px 0;
	margin-bottom: 60px;
}
.access .title{
	width: calc( 100% - 507px );
}
.home .access .title::before, .front-page .access .title::before{
	display: block;
	content: "";
	width: 55px;
	height: 55px;
	background: center / cover no-repeat url("../img/icon-map.svg");
	margin: 0 auto;
	margin-bottom: 10px;
}
.home .access .inner div, .front-page .access .inner div{
	max-width: 507px;
}
.home .access .inner div p:nth-child(1), .front-page .access .inner div p:nth-child(1){
	font-size: 14px;
	letter-spacing: 0;
	font-weight: 700;
	color: var(--main-color);
}
.home .access .inner div p:nth-child(2), .front-page .access .inner div p:nth-child(2){
	font-size: 10px;
	font-weight: 700;
	color: #8A8A8A;
	margin-bottom: 20px;
}
.home .access .inner div dl, .front-page .access .inner div dl{
	width: 50%;
}
.home .access .inner div dl:nth-child(3), .front-page .access .inner div dl:nth-child(3){
	padding-right: 17px;
	border-right: solid 1px #B2B2B2;
}
.home .access .inner div dl:nth-child(4), .front-page .access .inner div dl:nth-child(4){
	padding-left: 17px;
}
.home .access .inner div dl dt, .front-page .access .inner div dl dt{
	margin-bottom: 8px;
}
.home .access .inner div dl dd, .front-page .access .inner div dl dd{
	font-size: 10px;
	font-weight: 700;
	color: #8A8A8A;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.access{
		padding: 2.734vw 0;
		margin-bottom: 4.688vw;
	}
	.access .title{
		width: calc( 100% - 39.609vw );
	}
	.access .title::before{
		width: 4.297vw;
		height: 4.297vw;
		margin-bottom: 0.781vw;
	}
	.access .inner div{
		max-width: 39.609vw;
	}
	.access .inner div p:nth-child(1){
		font-size: 1.094vw;
	}
	.access .inner div p:nth-child(2){
		font-size: 0.781vw;
		margin-bottom: 1.563vw;
	}
	.access .inner div dl:nth-child(3){
		padding-right: 1.328vw;
	}
	.access .inner div dl:nth-child(4){
		padding-left: 1.328vw;
	}
	.access .inner div dl dt{
		margin-bottom: 0.625vw;
	}
	.access .inner div dl dd{
		font-size: 0.781vw;
	}
}
@media screen and (max-width: 768px) {
	.access{
		padding: 40px 5%; /* 左右に余白 */
		margin-bottom: 30px;
	}
	.access .title{
		width: 100%;
		text-align: center; /* 中央寄せ */
		margin-bottom: 30px;
	}
	.access .title span {
		display: block; /* 英語を2行目 */
	}
	.access .title::before{
		width: 45px;
		height: 45px;
	}
	.access .inner div{
		max-width: 100%;
	}
	.access .inner div dl{
		width: 100% !important;
		padding: 0 !important;
		border: none !important;
		margin-bottom: 20px;
	}
	.access .inner div dl:last-child {
		margin-bottom: 0;
	}
}
/*==================================================================================================*/
/*footer*/
iframe{
	width: 100%;
	aspect-ratio: 4 / 1;
	position: relative;
	z-index: 10;
}
footer{
	height: 560px;
	padding-top: 40px;
	background-image: linear-gradient(rgba(0,111,126,0.00) 30%, rgba(0,111,126,1.00));
	position: relative;
	z-index: 10;
}
footer .inner div{
	width: fit-content;
}
footer h2{
	max-width: 190px;
	margin-bottom: 15px;
}
footer h2 + ul{
	width: 325px;
	margin-bottom: 40px;
}
footer h2 + ul li{
	width: fit-content;
}
footer h2 + ul li span{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 20px;
	font-size: 11px;
	font-weight: 700;
	color: #FFF;
	padding: 1px 0 0 0;
	border-radius: 50px;
	background: var(--main-color);
}
footer h2 + ul + p{
	font-size: 10px;
	font-weight: 700;
	color: var(--main-color);
}
footer h2 + ul + p + a{
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--main-color);
}
footer .inner div + ul{
	width: 321px;
}
footer .inner div + ul li{
	width: fit-content;
	font-size: 10px;
}
footer .inner div + ul li a{
	font-size: 12px;
	color: #1E1E1E;
}
small{
	display: block;
	width: 100%;
	font-size: 10px;
	letter-spacing: 0.2em;
	text-align: center;
	color: #FFF;
	padding: 18px 0;
	position: absolute;
	bottom: 0;
}
@media (min-width: 769px) and (max-width: 1279px) {
	footer{
		height: 43.75vw;
		padding-top: 3.125vw;
	}
	footer h2{
		max-width: 14.844vw;
		margin-bottom: 1.172vw;
	}
	footer h2 + ul{
		width: 25.391vw;
		margin-bottom: 3.125vw;
	}
	footer h2 + ul li span{
		width: 5.938vw;
		height: 1.563vw;
		font-size: 0.859vw;
		border-radius: 3.906vw;
		padding: 0.078vw 0 0 0;
	}
	footer h2 + ul + p{
		font-size: 0.781vw;
	}
	footer h2 + ul + p + a{
		font-size: 1.719vw;
	}
	footer .inner div + ul{
		width: 25.078vw;
	}
	footer .inner div + ul li{
		font-size: 0.781vw;
	}
	footer .inner div + ul li a{
		font-size: 0.938vw;
	}
	small{
		font-size: 0.781vw;
		padding: 1.406vw 0;
	}
}
@media screen and (max-width: 768px) {
	iframe{
		width: 100%;
		aspect-ratio: 2 / 1;
	}
}

/* 固定ページ・投稿：タイトルとパンくずの余白を詰める */
body:not(.home) .p-pageTitle, body:not(.home) .p-pageTitle.-onimg {
    margin-bottom: 0 !important;
    min-height: 250px !important; /* 高さを固定せず、最小高さを指定して調整 */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: var(--main-color) !important;
		position: relative;
		overflow: hidden;
		background-position: center !important;
		background-size: cover !important;
}
.p-pageTitle__title {
	font-size: 32px !important;
	font-weight: 700 !important;
	color: #fff !important;
	text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
.p-pageTitle__sub {
	display: block;
	font-size: 14px;
	color: #fff;
	text-align: center;
	margin-top: 10px;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
	body:not(.home) .p-pageTitle, body:not(.home) .p-pageTitle.-onimg {
		height: 250px !important;
		min-height: 250px !important;
	}
	.p-pageTitle__title {
		font-size: 24px !important;
	}
}

/* パンくずリストの全幅化と余白強制調整 (100vw手法) */
body:not(.home) .c-breadcrumb, 
body:not(.home) .p-breadcrumb {
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    margin-top: 0 !important;
    margin-bottom: 100px !important;
    padding: 15px 5% !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border-bottom: 1px solid #ddd !important;
    box-sizing: border-box !important;
}

/* コンテンツエリアの余白を詰める */
body:not(.home) #content.l-content.l-container {
    padding-top: 0 !important;
}

/* パンくずリスト内の中身（リスト）の分割を修正 */
.p-breadcrumb__list {
    display: flex !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
}

.p-breadcrumb__item {
    width: auto !important;
    margin-right: 1.5em !important;
}

.p-breadcrumb__item {
    width: auto !important;
    margin-right: 1.5em !important;
}