@charset "utf-8";

/* noto-sans-jp-200 - latin */
/*
@font-face {
  font-display: swap;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 200;
  src: url('../css/fonts/noto-sans-jp-v54-latin-200.woff2') format('woff2');
}
*/

html {
	/* ルートのフォントサイズを10pxに設定しておく */
	font-size: 62.5%;
	/*scroll-behavior: smooth;*/
}

body {
	/* ルートのフォントサイズを1.6em（16pxと同等のサイズ）に設定 */
	font-size: 1.6em;
	font-family: "BIZ UDGothic", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic","ヒラギノ角ゴ Pro W2", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/* font-family: "Noto Sans JP", sans-serif; */
	color: #3C3C3C;
	line-height: 2;
}

a[href^="tel:"] {
	color: inherit;
	pointer-events: none;
	text-decoration:none;
	display: inline-block;
}
/*　ウェブアクセシビリティの為フォーカス非表示解除
@media screen and ( max-width: 1180px ){

	button:focus {
		outline: unset;
	}

	a {
		transition: unset;
	}

	a:focus {
		outline: unset;
		outline-offset: unset;
	}

}
*/
@media screen and ( max-width: 559px ){

	a[href^="tel:"] {
		color: inherit;
		pointer-events: auto;
	}

}

ul{ padding: 0; list-style-type: none;}

.pc{ display: block ; }
.tab{ display: block ; }
.sp{ display: none ; }

@media screen and ( max-width: 1024px ){
	.tab{ display: none ; }
}

@media screen and ( max-width: 559px ){
	.pc{ display: none ; }
	.sp{ display: block ; }
}

a{
	color: #3C3C3C;
	transition: .5s;
}

a:hover{
	opacity: 0.6;
	color: #3C3C3C;
	text-decoration: none;
}

img{ max-width: 100%;}

dl, ol, ul {
    margin-top: 0;
    margin-bottom: 0;
}

p {
    margin-bottom: 0;
}

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

.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;}
.btn {
	padding: 1rem 2rem;
	font-size: 1.6rem;
}
.font-red {color: #CC0000;}
.font-25 {font-size: 2.5rem;}
.font-24 {font-size: 2.4rem;}
.font-23 {font-size: 2.3rem;}
.font-22 {font-size: 2.2rem;}
.font-21 {font-size: 2.1rem;}
.font-20 {font-size: 2rem;}
.font-19 {font-size: 1.9rem;}
.font-18 {font-size: 1.8rem;}
.font-17 {font-size: 1.7rem;}
.font-16 {font-size: 1.6rem;}
.font-15 {font-size: 1.5rem;}
.font-14 {font-size: 1.4rem;}
.font-13 {font-size: 1.3rem;}
.font-12 {font-size: 1.2rem;}
.font-11 {font-size: 1.1rem;}
.font-10 {font-size: 1rem;}

.pc-pd15 {margin-left: 15px; margin-right: 15px;}

.mg-b2{ margin-bottom: 2rem;}
.mg-b3{ margin-bottom: 3rem;}
.mg-b4{ margin-bottom: 4rem;}
.mg-b5{ margin-bottom: 5rem;}
.mg-b6{ margin-bottom: 6rem;}
.mg-b7{ margin-bottom: 7rem;}
.mg-b8{ margin-bottom: 8rem;}
.mg-b9{ margin-bottom: 9rem;}
.mg-b10{ margin-bottom: 10rem;}
.mg-b11{ margin-bottom: 11rem;}
.mg-b12{ margin-bottom: 12rem;}
.mg-b13{ margin-bottom: 13rem;}
.mg-b14{ margin-bottom: 14rem;}
.mg-b15{ margin-bottom: 15rem;}

.pdt15{ padding-top: 15rem; }
.pdb15{ padding-bottom: 15rem; }
.pd-9{ padding-top: 9rem; padding-bottom: 9rem; }


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

	.mg-b2{ margin-bottom: 1rem;}
	.mg-b3{ margin-bottom: 1.5rem;}
	.mg-b4{ margin-bottom: 2rem;}
	.mg-b5{ margin-bottom: 2.5rem;}
	.mg-b6{ margin-bottom: 3rem;}
	.mg-b7{ margin-bottom: 4rem;}
	.mg-b8{ margin-bottom: 4rem;}
	.mg-b9{ margin-bottom: 5rem;}
	.mg-b10{ margin-bottom: 5rem;}
	.mg-b11{ margin-bottom: 6rem;}
	.mg-b12{ margin-bottom: 6rem;}
	.mg-b13{ margin-bottom: 6.5rem;}
	.mg-b14{ margin-bottom: 7rem;}
	.mg-b15{ margin-bottom: 10rem;}
	
	.pdt15{ padding-top: 8rem; }
	.pdb15{ padding-bottom: 8rem; }
	.pd-9{ padding-top: 5rem; padding-bottom: 5rem; }

}

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

article{
	max-width: 142rem;
	width: 100%;
	padding-left: 3rem;
	padding-right: 3rem;
	margin-left: auto;
	margin-right: auto;
}

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

}

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

}

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

.header_area{
	display: flex;
	justify-content: space-between;
/*----------------*/
	max-width: 142rem;
	width: 100%;
	padding-left: 3rem;
	padding-right: 3rem;
	margin-left: auto;
	margin-right: auto;
}

.head_logo{
	max-width: 38rem;
}

@media (max-width: 1180px) {

	.head_logo{
		max-width: 30rem;
	}

}

@media (max-width: 820px) {

	.head_logo{
		max-width: 30vw;
	}

}

@media (max-width: 767px) {

	.header_area {
		padding-left: 1rem;
		padding-right: 0;
	}

}

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

.main-navigation{
	width: 100%;
}

.main-navigation ul{
	display: flex;
	justify-content: space-between;
}

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

.main_image{
	margin-bottom: 10rem;
}

.main_image .top_main_slider{
	position: relative;
}

.main_image .top_main_slider .slider {
	width: 100%;
	margin: 0 auto;
	position: absolute;
	top: 0;
	z-index: 0;
}

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

	.main_image{
		margin-top: 2rem;
	}

}

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

	.main_image{
		margin-top: 4rem;
	}

	.main_image .top_main_slider .slider {
		overflow: hidden;/*表示ズレ対策*/
	}

}

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

	.main_image{
		margin-top: 0;
	}

}

.main_image .top_main_slider .slider img {
	width: 100%;
	height: auto;
}

.main_image .top_main_slider .control-buttons {
	text-align: center;
	margin-top: 0;
	position: absolute;
	bottom: 0;
	bottom: 2.5rem;
	right: 46%;
}

.main_image .top_main_slider .control-buttons button {
	border: none;
	background: #fff;
	color: #454545;
	width: 4rem;
	margin: 0;
	border-radius: 50%;
	cursor: pointer;
	font-size: 19px;
	border: 0.3rem solid #454545;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 0;
	transition: .5s;
}

.main_image .top_main_slider .control-buttons button img{
	min-width: 1.8rem;
	transition: opacity 0.2s ease;
}

.main_image .top_main_slider .control-buttons button img:hover{
	/* opacity: 0.7; */
}

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

.main_image .top_main_slider .control-buttons {
	right: 45%;
}

}

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

.main_image .top_main_slider .control-buttons {
	right: 44.5%;
}

}

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

	.main_image .top_main_slider .control-buttons {
		right: 43.5%;
		bottom: 0.4rem;
	}

}

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

	.main_image .top_main_slider .control-buttons {
		right: 42.5%;
	}

}

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

	.main_image .top_main_slider .control-buttons {
		right: 40.5%;
		bottom: -0.5rem;
	}

}

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

	.main_image .top_main_slider .control-buttons {
		right: 39.5%;
	}

}

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

	.main_image .top_main_slider .control-buttons {
		right: 34%;
		bottom: 6.0rem;
	}

	.main_image .top_main_slider .control-buttons button {
		width: 2.8rem;
		font-size: 16px;
	}

}

.main_image .top_main_slider .control-buttons button:hover {
	background: #D1414D;
	border: 0.3rem solid #D1414D;
}

.main_image .top_main_slider .image {
	pointer-events: none;
	position: relative;
	z-index: 0;
}

.main_image .top_main_slider .slick-prev {
	top: 45%;
	left: 11%;
	z-index: 1;
}

.main_image .top_main_slider .slick-next {
	top: 45%;
	right: 15%;
	z-index: 1;
}

.main_image .top_main_slider .slick-prev:before {
	content: url(../img/left.png);
	display: inline-block;
	transform: scale(0.5);
}

.main_image .top_main_slider .slick-next:before {
	content: url(../img/right.png);
	display: inline-block;
	transform: scale(0.5);
}

.main_image .top_main_slider .slick-dots {
	bottom: 3rem;
	margin-left: -2.5rem;
	margin-right: 2.5rem;
}

.main_image .top_main_slider .slick-dots li button {
	padding: 0;
}

.main_image .top_main_slider .slick-dots li button:before {
	font-size: 2rem;
	background: #fff;
	color: #eee;
	/* border: 0.2rem solid #333; */
	opacity: 1;
}

.main_image .top_main_slider .slick-dots li {
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: #fff;
	border: 0.2rem solid #3C3C3C;
	/* margin-left: -4.5rem; */
}

.main_image .top_main_slider .slick-dots li.slick-active {
	background: #D1414D;
	border: 0.2rem solid #D1414D;
}

.main_image .top_main_slider .slick-dots li button:before{
	content: none;
}

.main_image .top_main_slider .slick-dots li.slick-active button:before {
	opacity: .75;
	color: #D1414D;
	content: none;
}

.main_image .sp_i{
	display: none;
}

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

	.main_image .top_main_slider .slick-prev {
		left: 5%;
	}

	.main_image .top_main_slider .slick-next {
		right: 10%;
	}

}

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


	.main_image .top_main_slider .slick-prev {
		top: 40%;
		left: 1%;
	}

	.main_image .top_main_slider .slick-next {
		top: 40%;
		right: 8%;
	}

	.main_image .top_main_slider .slick-dots {
		bottom: 1rem;
	}

}

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

	.main_image .top_main_slider .slick-prev:before {
		transform: scale(0.3);
	}

	.main_image .top_main_slider .slick-next:before {
		transform: scale(0.3);
	}

	.main_image .top_main_slider .slick-prev {
		left: 0%;
	}

	.main_image .top_main_slider .slick-next {
		right: 10%;
	}

	.main_image .top_main_slider .slick-dots {
		bottom: 0rem;
	}

}

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

	.main_image {
		/* margin-bottom: 10rem; */
		margin-bottom: 15rem;
		height: 145vw;
	}

	_::-webkit-full-page-media, _:future, :root .main_image{
		height: 130vw;
	}

	_::-webkit-full-page-media, _:future, :root .main_image .sp{
		display: none;
	}

	_::-webkit-full-page-media, _:future, :root .main_image .sp_i{
		display: block;
	}

	.main_image .top_main_slider .slick-prev {
		left: -6%;
	}

	.main_image .top_main_slider .slick-next {
		right: 15%;
	}

	.main_image .top_main_slider .slick-dots {
		bottom: 6rem;
	}

}

/**/

.main_image .catch_area{
	position: absolute;
	top: 15vw;
	left: 55vw;
	z-index: 0;
}

.main_image .catch_area .inside{

}

.main_image .catch_area .inside ul{
	font-size: 4rem;
	font-weight: 700;
}

.main_image .catch_area .inside ul li{
	width: 40rem;
	height: 8rem;
	background: #14808F;
	color: #fff;
	border-radius: 10rem;
	margin-bottom: 4rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.main_image .catch_area .inside ul li:last-child{
	margin-bottom: 0;
}

@media (max-width: 1180px) {

	.main_image .catch_area {
		top: 15vw;
		left: 60vw;
	}

	.main_image .catch_area .inside ul {
		font-size: 2.5vw;
	}

	.main_image .catch_area .inside ul li {
		width: 25vw;
		height: 5vw;
		margin-bottom: 1vw;
	}

}

@media (max-width: 559px) {

	.main_image .catch_area {
		top: 40vw;
		left: 23vw;
	}

	_::-webkit-full-page-media, _:future, :root .main_image .catch_area{
		top: 30vw;
	}

	.main_image .catch_area .inside ul {
		font-size: 6.0vw;
	}

	.main_image .catch_area .inside ul li {
		width: 55vw;
		height: 14vw;
		margin-bottom: 7vw;
    }

}

/**/

header{
	background: #fff;
	display: flex;
	align-items: center;
	height: 13rem;

	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 2;
}

@media (max-width: 1180px) {

	header{
		height: 8rem;
	}

}

@media (max-width: 767px) {

	header{
		height: 6rem;
	}

}

/* --- 基本的なスタイル --- */

.menu-container {
	display: flex;
	justify-content: flex-end; /* PCではメニューを右寄せ */
	align-items: center;
	padding: 0;
	position: relative;
	width: 65%;
}

.hamburger-button {
	display: none; /* 通常時は非表示 */
	flex-direction: column;
	justify-content: space-around;
	width: 6rem;
	height: 6rem;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	z-index: 10; /* メニューより手前に表示 */
}
/*　ウェブアクセシビリティの為フォーカス非表示解除
.hamburger-button:focus {
	outline: none;
}
*/
.bar {
	display: block;
	width: 2.5rem;
	height: 0.2rem;
	background-color: #fff;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.main-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	font-size: 1.6rem;
	font-weight: bold;
	align-items: center;
	border-right: 0.1rem solid #43b5cc;
}

.main-navigation li {
	width: 25%;
	color: #2B2B2B;
	border-left: 0.1rem solid #43b5cc;
}

.main-navigation li:last-child {
	border-right: 0.1rem solid #43b5cc;
}

.main-navigation li div{
	max-width: 4.5rem;
}

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

	.main-navigation li {
		
	}

}

@media (max-width: 1180px) {

	.menu-container {
		/* width: auto; */
	}

}

.main-navigation li:last-child {
	margin-right: 0;
}

.main-navigation li:last-child::first-letter {
	color: #fff;
}

.main-navigation a {
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.main-navigation a::first-letter {
	/* color: #5DBD6E; */
}

.main-navigation a div{
	width: 100%;
}

.main-navigation a p{
	width: 100%;
	text-align: center;
	margin-bottom: 0;
}

.menu-container .head_mail {
	display: none;
}

@media (max-width: 1180px) {

	.main-navigation a p{
		font-size: 1.3vw;
	}

	.main-navigation li div {
		max-width: 3.2vw;
	}

}

/* --- スマートフォン表示 (1400px以下) --- */
@media (max-width: 666px) {

	.menu-container {
		right: 0;
		width: 12.1rem;
		height: 6rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

/**/

	.menu-container .head_mail{
		display: flex;
		align-items: center;
		justify-content: center;
		background: #D1414D;
		width: 6rem;
		height: 6rem;
	}

	.menu-container .head_mail a{
		display: flex;
		justify-content: center;
	}

	.menu-container .head_mail div{
		max-width: 3rem;
		margin-top: -2rem;
	}

	.menu-container .head_mail p{
		position: absolute;
		top: 3.5rem;
		font-size: clamp(1rem, 2.4vw, 1.3rem);
		color: #fff;
		width: 6rem;
		text-align: center;
	}

/**/

	.hamburger-button {
		display: flex;
		align-items: center;
		background: #D1414D;
	}

	/* 初期状態で非表示にしてチラつきを防ぐ */
	.main-navigation {
	opacity: 0;
	pointer-events: none;
	}

	/* ページ準備完了後に表示可能に */
	.main-navigation.ready {
	opacity: 1;
	pointer-events: auto;
	transition: opacity 0.3s ease, transform 0.4s ease-in-out;
	}

	/* メニューをふわっと出す感じに変更（右スライドではなく全体フェード） */
	.main-navigation.open {
	transform: none !important;
	opacity: 1;
	transition: opacity 0.4s ease;
	}

	/* 閉じるとき */
	.main-navigation:not(.open) {
	opacity: 0;
	transition: opacity 0.4s ease;
	}

	/* ▼▼▼ アニメーションの核となる部分 ▼▼▼ */
	.main-navigation {
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		max-width: unset;
		height: 100vh;
		background-color: rgba(255, 255, 255, 1);
		box-shadow: 2px 0 5px rgba(0,0,0,0.2);
		display: flex;
		justify-content: center;
		align-items: baseline;

		/* ▼ ここを変更 ▼ */
		transform: scale(1.05);        /* 少し拡大した状態 */
		opacity: 0;                    /* 非表示 */
		visibility: hidden;            /* 非表示クリック防止 */
		transition:
			opacity 0.4s ease,
			transform 0.4s ease,
			visibility 0s 0.4s;         /* フェードアウト後にvisibilityをOFF */
		z-index: -1;
	}

	/* ★メニューが開いた時のスタイル */
	.main-navigation.open {
		transform: scale(1);           /* 通常サイズに戻す */
		opacity: 1;                    /* フェードイン */
		visibility: visible;           /* 表示 */
		transition:
			opacity 0.4s ease,
			transform 0.4s ease;
		z-index: -1;                 /* 前面に出す */
	}
	/* ▲▲▲ アニメーションの核となる部分 ▲▲▲ */

		.main-navigation ul {
			margin-top: 6rem;
			flex-direction: column;
			width: 100%;
			border-top: 0.1rem solid #F0F0F0;
			border-right: none;
		}

		.main-navigation li {
			width: 100%;
			margin: 0 0;
			text-align: center;
			border-left: none;
			border-bottom: 0.1rem solid #F0F0F0;
			padding-top: 0.2rem;
			padding-left: 1.5rem;
			padding-right: 1.5rem;
			padding-bottom: 0.2rem;
		}
		
		.main-navigation li:last-child {
		    border-right: none;
		}

	.main-navigation li.sub p {
		font-size: 3.0vw;
	}

	.main-navigation li.sub p::before {
		content: '・';
		color: #14808F;
		margin-left: 3rem;
	}

	.main-navigation li a {
		text-decoration: none;
		display: flex;
		justify-content: left;
		align-items: center;
		flex-wrap: nowrap;
		transition: 0s;
	}

	.main-navigation li a.call_bt {
		background: #D1414D;
		justify-content: center;
		border-radius: 6rem;
		margin-top: 1rem;
		margin-bottom: 1rem;
		color: #fff;
		height: 5.4rem;
	}

	.main-navigation li a.call_bt p {
		width: auto;
		font-size: 2.8vw;
		line-height: 1.5;
		margin-right: 1rem;
		text-align: left;
	}

	.main-navigation li a.call_bt .call {
		max-width: unset;
		display: flex;
		width: fit-content;
		align-items: center;
		margin-top: 0;
	}

	.main-navigation li a.call_bt .call .phone {
		max-width: 2rem;
		margin-top: -0.2rem;
	}

	.main-navigation li a.call_bt .call .number {
		max-width: unset;
		font-family: "Akshar", sans-serif;
		margin-top: unset;
		font-size: 5.5vw;
		line-height: 1;
	}

	.main-navigation li a:hover {
		text-decoration: underline;
	}

	.main-navigation li a div {
		max-width: 6.0vw;
		margin-top: -0.5rem;
		margin-right: 0.5rem;
	}

	.main-navigation a p {
		width: auto;
		font-size: 3.5vw;
	}

	.hamburger-button .bar:nth-child(1) {
		position: absolute;
		top: 1.5rem;
	}

	.hamburger-button .bar:nth-child(2) {
		position: absolute;
		top: 2.2rem;
	}

	.hamburger-button .bar:nth-child(3) {
		position: absolute;
		top: 2.9rem;
	}

	.hamburger-button .text {
		position: absolute;
		top: 3.5rem;
		color: #fff;
		font-size: clamp(1rem, 2.4vw, 1.3rem);
	}

	.hamburger-button .text::before {
		content: 'メニュー';
	}

	.hamburger-button.open .text::before {
		content: '閉じる';
	}


	/* --- ↓↓↓ ここからが「×」印のスタイル --- */
	/* メニューが開いている時（.openクラスが付与された時）のスタイル */
	.hamburger-button.open .bar:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.hamburger-button.open .bar:nth-child(2) {
		opacity: 0;
	}

	.hamburger-button.open .bar:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

}

@media (max-width: 559px) {

	.main-navigation {
		width: 100%;
		overflow: hidden;
	}

	.main-navigation ul {
		font-size: 2.0rem;
	}

}

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

footer{
	padding-top: 25rem;
	background: #14808F;
	padding-bottom: 2rem;
	position: relative;
	/* z-index: -1; */
}

footer::before{
	content: '';
	width: 100%;
	height: 5rem;
	position: absolute;
	background: #EFFBDD;
	top: -5rem;
}

footer .footer{
	max-width: 142rem;
	width: 100%;
	padding-left: 3rem;
	padding-right: 3rem;
	margin-left: auto;
	margin-right: auto;
}

footer .footer .footer_area{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 5rem;
}

footer .footer .footer_area .footer_data{
	
}

footer .footer .footer_area .footer_data .logo{
	max-width: 35rem;
	margin-bottom: 2rem;
}

footer .footer .footer_area .footer_data .address{
	color: #fff;
	font-size: 1.4rem;
}

footer .footer .footer_area .footer_link{
	width: 60%;
	display: flex;
	flex-wrap: wrap;
}

footer .footer .footer_area .footer_link li{
	width: 30%;
	margin-right: 5%;
	border-bottom: 0.1rem dotted #fff;
	display: flex;
	align-items: center;
	margin-bottom: 0.5rem;
}

footer .footer .footer_area .footer_link li:nth-child(3n){
	margin-right: 0;
}

footer .footer .footer_area .footer_link li::before{
	content: url(../img/menu-i.png);
	display: inline-block;
	transform: scale(0.5);
	margin-top: 0.5rem;
}

footer .footer .footer_area .footer_link li a{
	color: #fff;
	text-decoration: underline;
}

footer .footer .footer_area .footer_link li a:hover{
	text-decoration: none;
}

footer .footer .copy{
	text-align: center;
	font-size: 1.4rem;
	color: #fff;
}

@media (max-width: 1180px) {

	footer .footer .footer_area .footer_link li {
		width: 45%;
		margin-right: 5%;
	}

	footer .footer .footer_area .footer_link li:nth-child(3n){
		margin-right: 5%;
	}

	footer .footer .footer_area .footer_link li:nth-child(2n){
		margin-right: 0;
	}

}

@media (max-width: 820px) {

	footer .footer .footer_area .footer_data .logo {
		max-width: 35vw;
	}

	footer .footer .footer_area .footer_link li {
		font-size: 1.6vw;
	}

}

@media (max-width: 559px) {

	footer{
		padding-top: 12rem;
		padding-bottom: 8rem;
	}

	footer .footer .footer_area {
		flex-wrap: wrap;
	}

	footer .footer .footer_area .footer_data {
		margin-bottom: 2rem;
	}

	footer .footer .footer_area .footer_data .logo {
		max-width: 100%;
	}

	footer .footer .footer_area .footer_link {
		width: 100%;
	}

	footer .footer .footer_area .footer_link li {
		width: 100%;
		font-size: 3.4vw;
		margin-right: 0%;
		border-bottom: 0.1rem dotted #ffffff9e;
		line-height: 1;
	}

	footer .footer .footer_area .footer_link li:nth-child(3n){
		margin-right: 0%;
	}

	footer .footer .copy{
		text-align: left;
		font-size: 1.2rem;
		width: 75%;
	}

}

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

.page_top{
    max-width: 5rem;
    position: fixed;
    right: 2rem;
    bottom: 2rem;
    z-index: 1;
}

@media (max-width: 1180px) {

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

}

@media (max-width: 767px) {

	.page_top/*,#openModalBtn*/ {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0.4s ease;
	}

	.page_top.show/*,#openModalBtn.show*/ {
	opacity: 1;
	visibility: visible;
	}

	.page_top img {
	cursor: pointer;
	transition: transform 0.2s ease;
	}

	.page_top img:hover {
	transform: scale(1.1);
	}

}


@media (max-width: 559px) {

	.page_top{
		right: 1rem;
		bottom: 7rem;
	}

}

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


/* ボタン（デフォルトは非表示） */
.mobile-only {
	display: none; /* PCでは非表示 */
}

/* モーダルの共通スタイル（hidden状態） */
.modal {
	position: fixed;
	inset: 0;
	display: none; /* 非表示 */
	align-items: center;
	justify-content: center;
	z-index: 1200;
}

/* モーダルが表示されるときのクラス */
.modal.is-open {
	display: flex;
}

/* 透過オーバーレイ */
.modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.5);
	backdrop-filter: blur(2px);
}

/* モーダルコンテント */
.modal__content {
	position: relative;
	z-index: 2;
	width: calc(100% - 40px);
	max-width: 480px;
	background: #fff;
	border-radius: 1rem 1rem 0 0;
	padding: 8rem 2.5rem 1.25rem;
	box-shadow: 0 10px 30px rgba(0,0,0,0.2);
	margin-top: 5svh;
	height: 95svh;
}

.modal__header {
	display:flex;
	align-items:center;
	justify-content: space-between;
	gap: .5rem;
}

.modal__title {
	font-size: 1.1rem;
	margin: 0;
}

.btn {
	display: inline-block;
	padding: .5rem .9rem;
	border-radius: 8px;
	border: none;
	background: #D1414D;
	color: #fff;
	font-weight: 600;
	cursor: pointer;

	position: fixed;
	bottom: 0;
	width: 100%;
	border-radius: 1rem 1rem 0 0;
	height: 6rem;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

.btn:hover {
	color: #fff;
}

.btn .icon{
	max-width: 2.5rem;
	margin-right: 1rem;
}

.btn--ghost {
	background: transparent;
	color: #111;
	border: 1px solid #ddd;
}

.close-btn {
	background: transparent;
	border: none;
	font-size: 3.5rem;
	line-height: 1;
	cursor: pointer;
	position: absolute;
	width: 5rem;
	height: 6rem;
	top: 0;
	right: 0;
/*
	right: 3svh;
	top: 5svh;
*/
	box-shadow: 0 10px 30px rgba(0,0,0,0.2);
	color: #111;
}

#exampleModalTitle{
	display: none;
}

.modal__body{
	overflow: scroll;
	height: 83svh;
}

.modal_office_list{
	
}

.modal_office_list li{
	border: 0.1rem solid #14808F;
	border-radius: 1rem;
	margin-bottom: 2rem;
}

.modal_office_list li .name{
	text-align: center;
	color: #14808F;
	font-size: 3.8vw;
	margin-top: 1rem;
	margin-bottom: 0.5rem;
}

.modal_office_list li .tel{
	font-family: "Akshar", sans-serif;
	display: flex;
	justify-content: center;
	align-items: baseline;
	color: #14808F;
	font-size: 6.3vw;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 1rem;
}

.modal_office_list li .tel small{
	font-size: 50%;
}

.modal_office_list li .call_bt{
	
}

.modal_office_list li .call_bt a{
	background: #D1414D;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4rem;
	max-width: 60%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5rem;
}

.modal_office_list li .call_bt a .icon{
	max-width: 2.0rem;
	margin-right: 1rem;
}

/* スマホ幅でボタンを表示させる */
@media (max-width: 767px) {
	.mobile-only {
		/* display: inline-block; */
	}
}

/* キーボードフォーカスの視覚化 */
/*
:focus {
	outline: 3px solid rgba(37,99,235,0.25);
	outline-offset: 2px;
}
*/

/* スキップリンクは通常非表示、フォーカス時に表示 */
.skip-link {
	position: absolute;
	top: -4.8rem;
	left: 0;
	background: #000;
	color: #fff;
	padding: 0.8rem 1.6rem;
	z-index: 100;
	text-decoration: none;
	transition: top 0.0s;
}

.skip-link:focus {
	top: 0;
	outline-offset: 0 !important;
}
