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

	300/400/500/700
	font-family: "M PLUS 1p", sans-serif;
	font-family: "Roboto", sans-serif;

-----------------------

	400
	font-family: "Kosugi Maru", sans-serif;

-----------------------

	font-family: "Noto Serif JP", serif;
	font-family: "Noto Sans JP", sans-serif;

-----------------------

1760/1200/800px(700 / 650 / 560px)

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

body{
	position: relative;
	font-family:'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
	font-size: 100%;
	font-weight: 400;
	line-height: 1.75;
	color: #424040;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
	@media screen and (min-width:1760px) {
		body{
			font-size: 112.5%;
		}
	}
	@media screen and (max-width:1200px) {
		body{
			font-size: 93.75%;
		}
	}
	@media screen and (max-width:1000px) {
		body{
			font-size: 87.5%;
		}
	}

body.active{
	overflow: hidden;
	height: 100%;
}

/* =========================
ユーティリティ
========================= */
:root {
	--cont-lg: 1280px;
	--cont-md: 1152px;
	--box-shadow: 0 6px 28px rgba(0, 0, 0, 0.1);
	--box-shadow-small: 0 6px 6px rgba(0, 0, 0, 0.1);
	--black: #424040;
	--deepblack: #313131;
	--gray: #7b7979;
	--silver: #bbbbbb;
	--pale-gray: #dfddda;
	--light-gray: #f1f1f1;
	--white: #ffffff;
	--blue: #0096d9;
	--navy: #3a5686;
	--ocean: #0072b0;
	--cyan: #6cbfd1;
	--blue-gray: #bdd5e1;
	--pale-blue: #ebf7fc;
	--light-blue: #d1ebf8;
	--smoky-blue: #74a1ab;
	--smoky-light-blue: #dae7ee;
	--purple: #ab90c5;
	--cyan-green: #009e93;
	--dark-green: #476b3d;
	--green: #74ca69;
	--clear-green: #84c35a;
	--pale-green: #e0f0d6;
	--lime: #c4d700;
	--pale-lime: #eaf1a6;
	--light-lime: #f6f9d9;
	--yellow: #f6c600;
	--lemon: #f4d95c;
	--tomato: #d75f00;
	--orange: #f0a041;
	--pale-orange: #f9e7d9;
	--coral: #ee7e72;
}

.black				{ color: var(--black); }
.deepblack			{ color: var(--deepblack); }
.gray				{ color: var(--gray); }
.silver				{ color: var(--silver); }
.pale-gray			{ color: var(--pale-gray); }
.light-gray			{ color: var(--light-gray); }
.white				{ color: var(--white); }
.blue				{ color: var(--blue); }
.navy				{ color: var(--navy); }
.ocean				{ color: var(--ocean); }
.cyan				{ color: var(--cyan); }
.blue-gray			{ color: var(--blue-gray); }
.pale-blue			{ color: var(--pale-blue); }
.light-blue			{ color: var(--light-blue); }
.smoky-blue			{ color: var(--smoky-blue); }
.smoky-light-blue	{ color: var(--smoky-light-blue); }
.purple				{ color: var(--purple); }
.cyan-green			{ color: var(--cyan-green); }
.dark-green			{ color: var(--dark-green); }
.green				{ color: var(--green); }
.clear-green		{ color: var(--clear-green); }
.pale-green			{ color: var(--pale-green); }
.lime				{ color: var(--lime); }
.pale-lime			{ color: var(--pale-lime); }
.light-lime			{ color: var(--light-lime); }
.yellow				{ color: var(--yellow); }
.lemon				{ color: var(--lemon); }
.tomato				{ color: var(--tomato); }
.orange				{ color: var(--orange); }
.pale-orange		{ color: var(--pale-orange); }
.coral				{ color: var(--coral); }

.bg-black			{ background: var(--black); }
.bg-deepblack		{ background: var(--deepblack); }
.bg-gray			{ background: var(--gray); }
.bg-silver			{ background: var(--silver); }
.bg-pale-gray		{ background: var(--pale-gray); }
.bg-light-gray		{ background: var(--light-gray); }
.bg-white			{ background: var(--white); }
.bg-blue			{ background: var(--blue); }
.bg-navy			{ background: var(--navy); }
.bg-ocean			{ background: var(--ocean); }
.bg-cyan			{ background: var(--cyan); }
.bg-blue-gray		{ background: var(--blue-gray); }
.bg-pale-blue		{ background: var(--pale-blue); }
.bg-light-blue		{ background: var(--light-blue); }
.bg-smoky-blue		{ background: var(--smoky-blue); }
.bg-smoky-light-blue{ background: var(--smoky-light-blue); }
.bg-purple			{ background: var(--purple); }
.bg-cyan-green		{ background: var(--cyan-green); }
.bg-dark-green		{ background: var(--dark-green); }
.bg-green			{ background: var(--green); }
.bg-clear-green		{ background: var(--clear-green); }
.bg-pale-green		{ background: var(--pale-green); }
.bg-light-lime		{ background: var(--light-lime); }
.bg-lime			{ background: var(--lime); }
.bg-pale-lime		{ background: var(--pale-lime); }
.bg-yellow			{ background: var(--yellow); }
.bg-lemon			{ background: var(--lemon); }
.bg-tomato			{ background: var(--tomato); }
.bg-orange			{ background: var(--orange); }
.bg-pale-orange		{ background: var(--pale-orange); }
.bg-coral			{ background: var(--coral); }



/* =========================
リンク 共通フォントスタイル
========================= */
/* リンク
-----------------------*/
a{
	color: var(--black);
	text-decoration: none;
}
a[href^="tel:"] {
	pointer-events: none;
	cursor: default;
}
a.link{
	color: var(--ocean);
	text-decoration: underline;
}
a.underline{
	text-decoration: underline;
}
	@media screen and (max-width:800px) {
		a[href^="tel:"] {
			pointer-events: auto;
			cursor: pointer;
		}
	}
a.link-none{
	pointer-events: none; 
}
/* テキストリンク
-----------------------*/
a.arw-blue{
	color: var(--ocean);
	text-decoration: underline;
	background: url(../images/common/icon-arw-blue.webp) no-repeat calc(100% - .25em) .3em;
	padding-right: 1.5em;
	background-size: auto 1em;
	transition: .1s background-position;
}
a.arw-blue:hover{
	background-position: calc(100%) .25em;
}
a.arw-square-blue{
	color: var(--ocean);
	background: url(../images/common/icon-arw-square-blue.webp) no-repeat left .3em;
	padding-left: 1.5em;
	background-size: auto 1em;
}
a.arw-square-blue:hover{
	text-decoration: underline;
}


/* Googleマップリンク
-----------------------*/
a.googlemap{
	display: inline-block;
	font-size: .9375em;
	color: #0072b0;
	text-decoration: underline;
	padding: .25em 0 .25em 1em;
	background: url(../images/common/googlemap.png) no-repeat left .625em;
	background-size: auto 1em;
}
/* 外部リンクジャンプ リンク青 
-----------------------*/
a.link-jump{
	color: var(--ocean);
	text-decoration: underline;
	padding-right: 1.5em;
	background: url(../images/common/link.png) no-repeat right .25em;
	background-size: 1em auto;
}


/* ノーマルボタン ※背景var くの字など組み合わせ型
-----------------------*/
a.btn-medium{
	max-width: 270px;
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	padding: 1em;
	border-radius: 5em;
	font-feature-settings: "palt";
	line-height: 1.2;
	position: relative;
	top: 0;
	transition: .2s all;
}
a.btn-medium:hover{
	top: 3px;
	box-shadow: 0 4px 4px rgba(0, 0, 0, .1);
}

/* くの字 版*/
a.arw-clip:before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1em;
	margin: auto;
	width: 15px;
	height: 15px;
	clip-path: polygon(40% 0, 90% 50%, 40% 100%, 30% 90%, 70% 50%, 30% 10%);
	transition: .3s right;
}
a.arw-clip:hover:before{
	right: .5em;
}

/* トライアングル 版*/
a.arw-triangle:before {
	position: absolute;
	bottom: .5em;
	right: .5em;
	width: 1em;
	height: 1em;
	aspect-ratio: 1;
	clip-path: polygon(0 100%,100% 0,100% 100%);
	content: "";
}
/* 矢印 → 版*/
a.arw-symbol-kakumaru{
	position: relative;
}
a.arw-symbol-kakumaru:before{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 2.5em;
	height: 2.5em;
	line-height: 2.5em;
	text-align: center;
	content: "";
	background-image: url(../images/common/icon-arw-symbol.webp);
	background-repeat: no-repeat;
	background-size: 1em;
	background-position: center;
	border-radius: .75em 0;
}
/* before のボーダーカラー */
a.before-bgc-white:before		{background-color: var(--white);}
a.before-bgc-blue:before		{background-color: var(--blue);}
a.before-bgc-navy:before		{background-color: var(--navy);}
a.before-bgc-ocean:before		{background-color: var(--ocean);}
a.before-bgc-pale-blue:before		{background-color: var(--pale-blue);}
a.before-bgc-cyan-green:before	{background-color: var(--cyan-green);}
a.before-bgc-clear-green:before	{background-color: var(--clear-green);}


/* 共通フォントスタイル
-----------------------------------*/
.c-white-transparent{
	color: rgba(255, 255, 255, .5);
}
.c-white		{color: var(--white);}
.c-black		{color: var(--deepblack);}
.c-green		{color: var(--dark-green);}
.c-blue			{color: var(--ocean);}
.c-lightblue	{color: var(--blue);}
.c-lightgreen	{color: var(--clear-green);}
.c-greengray	{color: var(--smoky-blue);}
.c-grey			{color: var(--gray);}
.c-red			{color: var(--tomato);}
.c-yellow		{color: var(--lime);}


/* font-family
-----------------------------------*/
.mplus{
	font-family: "M PLUS 1p", sans-serif;
}
.kosugi{
	font-family: "Kosugi Maru", sans-serif;
}
.min{
	font-family: "Noto Serif JP", serif;
}
.roboto{
	font-family: "Roboto", sans-serif;
}

/* font-weight
-----------------------------------*/
.em{
	font-weight: bold;
}
.em500{
	font-weight: 500;
}

/* font-size
-----------------------------------*/
.large{
	font-size: 1.125em;
}
.x-large{
	font-size: 1.25em;
}
.xx-large{
	font-size: 1.375em;
}
.xxx-large{
	font-size: 1.5625em;
}
.small{
	font-size: .875em;
}
.x-small{
	font-size: .75em;
}
.xx-small{
	font-size: .5em;
}
.medium{
	font-size: .9375em;
}
.x-medium{
	font-size: 1.0625em;
}

/* line-height / spacing / other
-----------------------------------*/
.lh{
	line-height: 1.9;
}
.lh15{
	line-height: 1.5;
}
.lh1{
	line-height: 1.0;
}
.ltr-space{
	letter-spacing: 4px;
}
.ltr-tsume{
	letter-spacing: -3px;
}

.marker{
	background: linear-gradient(transparent 88%, #ffe682 12%);
}
.inline-block{
	display: inline-block;
}
	@media screen and (max-width:800px) {
		br.tab-none{
			display: none;
		}
	}
	@media screen and (max-width:560px) {
		br.sp-none{
			display: none;
		}
	}
/* =========================
	mt
========================= */
.mtxs{
	margin-top: .5em;
}
.mts{
	margin-top: .875em;
}
.mt-normal{
	margin-top: 1em;
}
.mt{
	margin-top: 1.5em;
}
.mtm{
	margin-top: 2em;
}
.mtl{
	margin-top: 3em;
}
.mtxl{
	margin-top: 4em;
}


/*-----------------------
header
-----------------------*/
header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 75;
}
header h1{
	display: inline-block;
}
header h1 a{
	width: calc(200px + 3em);
	display: block;
	padding: .625rem 1rem .325rem 10%;
	z-index: 75;
}
	@media screen and (max-width:800px) {
		header h1 a{
			width: calc(120px + 2.5em);
		}
	}

.header-rgba header:before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, .625);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	content: "";
	z-index: -1;
}

/*-----------------------
	humbergermenu
-----------------------*/
.hamburger-icon{
	position: absolute;
	top: 0;
	right: 0;
	width: 34px;
	height: 34px;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 75;
	transition: .3s all;
	padding: 1.25rem 2rem 1.25rem;
	cursor: pointer;
}
.hamburger-icon span,
.hamburger-icon span::before,
.hamburger-icon span::after{
	content: "";
	display: block;
	height: 4px;
	width: 34px;
	border-radius: 6px;
	background-color: var(--black);
	position: absolute;
	transition: .2s all;
}
	@media screen and (max-width:800px) {
		.hamburger-icon{
			padding: .75em 1.25em;
		}
	}

.hamburger-icon span:before {
	bottom: 8px;
}
.hamburger-icon span:after {
	top: 8px;
}
#nav-check{
	display: none;
}
#nav-check:checked ~ .hamburger-icon span{
	background-color: transparent;
}
#nav-check:checked ~ .hamburger-icon span::before{
	bottom: 0;
	transform: rotate(45deg);
}
#nav-check:checked ~ .hamburger-icon span::after{
	top: 0;
	transform: rotate(-45deg);
}
.overlay{
	background: rgba(0, 0, 0, .75);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 100%;
	left: 0;
	z-index: 50;
}
#nav-check:checked ~ .overlay {
	top: 0;
}
.overlay nav{
	margin-left: auto;
	overflow-y: scroll;
	background: var(--light-blue);
	width: 95%;
	max-height: 700px;
	height: 100%;
	border-radius: 0 0 0 3em;
}
	@media screen and (max-width:800px) {
		.overlay nav{
			max-width: calc(350px - 35px);
			max-height: none;
			border-radius: 0;
		}
	}

/*------------------------------*/
.sitemap-flex{
	margin: 55px auto 0;
	max-width: var(--cont-md);
	width: 90%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2.5%;
}
	.sitemap-flex.is-footer {
		width: 100%;
		margin-top: 2.5em;
	}
.sitemap-flex .clm{
	width: calc(100% / 4 - 2.5%);
	line-height: 1.5;
}
	@media screen and (max-width:800px) {
		.sitemap-flex{
			width: 100%;
			gap: 0;
			margin-top: 2.5em;
		}
		.sitemap-flex .clm{
			width: 100%;
			padding: 0;
		}
		.sitemap-flex.is-footer {
			margin-top: 0;
		}
		.sitemap-flex.is-footer .clm{
			width: calc(100% / 2);
			margin-top: 1rem;
			padding-top: 1rem;
			border-top: 1px solid var(--pale-gray);
		}
	}

.sitemap-flex .clm a{display: block;}

.sitemap-flex .clm .prnt {
	font-weight: 500; 
	color: var(--ocean);
	font-size: clamp(16px, calc(0.47vw + 13.38px), 19px);
	font-family: "M PLUS 1p", sans-serif;
	line-height: 1.25;
	padding: 11px 0;
}
.sitemap-flex .clm .prnt a{
	display: block;
	color: var(--ocean);
	padding-left: 1.25em;
	background: url(../images/common/icon-arw-square-blue.webp) no-repeat left .125em;
	background-size: 14px auto;
}
	.sitemap-flex.is-footer .clm .prnt a{
		font-size: clamp(15px, calc(0.47vw + 12.38px), 18px);
	}
.sitemap-flex .clm .cld{
	margin-bottom: 1em;
}
.sitemap-flex .clm .cld li > a{
	font-family: "M PLUS 1p", sans-serif;
	color: var(--deepblack);
	position: relative;
	padding-left: 1.5em;
	padding-top: .5em;
	padding-bottom: .25em;
}
.sitemap-flex .clm .cld li > a::after {
		content: '';
		position: absolute;
		top: .9em;
		left: 0;
		margin: auto;
		background: var(--ocean);
		width: .75em;
		height: .75em;
		clip-path: polygon(40% 0, 90% 50%, 40% 100%, 30% 90%, 70% 50%, 30% 10%);
	}
.sitemap-flex .clm .sub-cld a{
	position: relative;
	font-size: .9375em;
	color: var(--gray);
	margin-left: 1.5rem;
	padding-left: 1rem;
	padding-top: 4px;
	padding-bottom: 4px;
}
	.sitemap-flex .clm .sub-cld a:before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		background: var(--silver);
		width: .75rem;
		height: 1px;
	}
.sitemap-flex .topics-clm{
	font-size: .9375em;
}
.sitemap-flex .clm .prnt a,
.sitemap-flex .clm .cld li > a,
.sitemap-flex .clm .sub-cld a{
	position: relative; left: 0; transition: .3s left;
}
.sitemap-flex .clm .prnt a:hover,
.sitemap-flex .clm .cld li > a:hover,
.sitemap-flex .clm .sub-cld a:hover{
	position: relative; left: 5px;
}

	@media screen and (max-width:800px) {
		.sitemap-flex .clm .prnt {
			border-top: 1px solid var(--blue-gray);
			padding: .75em 6%;
		}
			.sitemap-flex.is-footer .clm .prnt{
				border-top: none;
				padding: .5em 0;
			}
		.sitemap-flex .clm .cld{
			padding: 0 6%;
		}
			.sitemap-flex.is-footer .clm .cld{
				padding: 0;
			}
		.sitemap-flex .clm .sp-border-none{
			border-top: none;
			padding-top: 0;
		}
		.sitemap-flex .clm .sub-cld a{
			font-size: 1em;
		}
		.sitemap-flex .topics-clm {
			margin-bottom: 2.5em;
		}
		.sitemap-flex .topics-clm .prnt{
			padding-top: 1.5em;
		}
	}

/*-----------------------
	fixed side nav
-----------------------*/
#fixed-side-nav{
	width: 86px;
	position: fixed;
	bottom: 0;
	right: 0;
	font-size: .75em;
	font-weight: 500;
	font-family: "M PLUS 1p", sans-serif;
	line-height: 1.5;
	text-align: center;
	background: #0096d9;
	border-radius: 1em 0 0 0;
	overflow: hidden;
	z-index: 9;
}
	@media screen and (min-width:801px) {
		#fixed-side-nav{
			transition: .5s right;
		}
		#fixed-side-nav.rightscroll{
			right: -92px;
		}
	}

	@media screen and (max-width:800px) {
		#fixed-side-nav{
			width: 100%;
			left: 0;
			font-size: 10px;
			border-radius: 0;
			box-sizing: border-box;
			padding-bottom: env(safe-area-inset-bottom);
			transform: translate3d(0, 0, 0);
		}
		#fixed-side-nav ul{
			display: flex;
			flex-wrap: wrap;
		}
		#fixed-side-nav li{
			width: calc(100% / 5);
		}
	}
#fixed-side-nav li a{
	color: #fff;
	display: block;
	padding-top: .625rem;
	padding-bottom: .625rem;
}
	#fixed-side-nav li a:hover{
		background: #26a6df;
	}
#fixed-side-nav li a span{
	width: 26px;
	height: 26px;
	display: block;
	margin: 0 auto .5em;
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	position: relative;
	transition: .1s top;
	top: 0;
}
	#fixed-side-nav li a:hover span{
		top: .325em;
	}
	@media screen and (max-width:800px) {
		#fixed-side-nav li a span{
			width: 20px;
			height: 20px;
			margin-bottom: .25em;
		}
		#fixed-side-nav li a{
			padding-top: 1rem;
			padding-bottom: 1rem;
		}
	}

#fixed-side-nav li:nth-child(1) a span{
	background-image: url(../images/common/icon-access.png);
}
#fixed-side-nav li:nth-child(2) a span{
	background-image: url(../images/common/icon-schedule.png);
}
#fixed-side-nav li:nth-child(3) a span{
	background-image: url(../images/common/icon-online.png);
}
#fixed-side-nav li:nth-child(4) a span{
	background-image: url(../images/common/icon-first.png);
}
#fixed-side-nav li:nth-child(5) a span{
	background-image: url(../images/common/icon-trim.png);
}


/*-----------------------
	fixed side nav
-----------------------*/
#fixed-side-nav{
	width: 86px;
	position: fixed;
	bottom: 0;
	right: 0;
	font-size: .75em;
	font-weight: 500;
	font-family: "M PLUS 1p", sans-serif;
	line-height: 1.5;
	text-align: center;
	background: var(--blue);
	border-radius: 1em 0 0 0;
	overflow: hidden;
	z-index: 9;
}
	@media screen and (min-width:801px) {
		#fixed-side-nav{
			transition: .5s right;
		}
		#fixed-side-nav.rightscroll{
			right: -92px;
		}
	}

	@media screen and (max-width:800px) {
		#fixed-side-nav{
			width: 100%;
			left: 0;
			font-size: 10px;
			border-radius: 0;
			box-sizing: border-box;
			padding-bottom: env(safe-area-inset-bottom);
			transform: translate3d(0, 0, 0);
		}
		#fixed-side-nav ul{
			display: flex;
			flex-wrap: wrap;
		}
		#fixed-side-nav li{
			width: calc(100% / 5);
		}
	}
#fixed-side-nav li a{
	color: var(--white);
	display: block;
	padding-top: .625rem;
	padding-bottom: .625rem;
}
	#fixed-side-nav li a:hover{
		background: #149edc;
	}
#fixed-side-nav li a span{
	width: 26px;
	height: 26px;
	display: block;
	margin: 0 auto .5em;
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	position: relative;
	transition: .1s top;
	top: 0;
}
	#fixed-side-nav li a:hover span{
		top: .325em;
	}
	@media screen and (max-width:800px) {
		#fixed-side-nav li a span{
			width: 20px;
			height: 20px;
			margin-bottom: .25em;
		}
		#fixed-side-nav li a{
			padding-top: 1rem;
			padding-bottom: 1rem;
		}
	}

#fixed-side-nav li:nth-child(1) a span{
	background-image: url(../images/common/icon-access.png);
}
#fixed-side-nav li:nth-child(2) a span{
	background-image: url(../images/common/icon-schedule.png);
}
#fixed-side-nav li:nth-child(3) a span{
	background-image: url(../images/common/icon-online.png);
}
#fixed-side-nav li:nth-child(4) a span{
	background-image: url(../images/common/icon-first.png);
}
#fixed-side-nav li:nth-child(5) a span{
	background-image: url(../images/common/icon-trim.png);
}

/*-----------------------
	footer
-----------------------*/
#subpage footer{
	margin-top: .5rem;
}
footer{
	background: var(--light-gray) url(../images/common/footer.webp) repeat-x center top;
	padding-bottom: 2em;
}
	@media screen and (max-width:800px) {
		footer{
			padding-bottom: 3em;
		}
	}

#loop-eng{
	width: 100%;
	overflow: hidden;
}
.loop-area {
	width: 100%;
	display: flex;
	overflow: hidden;
}
.loop-area div{
	color: rgba(255,255,255,.5);
	white-space: nowrap;
	padding-right: 1.5rem;
	font-size: 8vw;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 300;
	line-height: 1;
	letter-spacing: .125em;
	animation: loop 20s linear 2.4s infinite normal both;
	position: relative;
	top: -5px;
}
	@keyframes loop {
		from {
			transform: translateX(0);
		}
		to {
			transform: translateX(-100%);
		}
	}
	@media screen and (max-width:800px) {
		.loop-area div{
			font-size: 12.5vw;
		}
	}

.footer-wrap{
	max-width: var(--cont-md);
	width: calc(100% - 12%);
	margin: 0 auto;
}
.footer-hos-info{
	border-bottom: 1px solid var(--pale-gray);
	padding-bottom: 2.75em;
}
	@media screen and (max-width:800px) {
		.footer-hos-info{
			border-bottom: none;
			padding-bottom: .75em;
			padding: 0 3%;
		}
	}

.copylight{
	border-top: 1px solid var(--pale-gray);
	color: #a1a0a0;
	font-family: "M PLUS 1p", sans-serif;
	font-size: .75em;
	padding: 2em 0;
	text-align: center;
}
.footer-snsicon {
	width: 100%;
	justify-content: flex-end;
	margin-top: 1em;
	margin-bottom: 1em;
}
.footer-snsicon li{
	width: 32px;
	padding: .25em 0;
	margin: 0 6px;
}
.footer-mark{
	width: 150px;
	height: 74px;
	aspect-ratio: 180 / 89;
	background: url(../images/common/f-logo.svg) no-repeat top left;
	background-size: contain;
	text-indent: -9999px;
	margin-bottom: 1em;
}
@media screen and (max-width:800px) {
	.footer-mark{
		width: 120px;
		height: auto;
		margin: 0 auto 1em;
	}
}
.info-shinryo,
.info-web-u {
	line-height: 1.3;
}
.info-shinryo {
	margin-bottom: .75em;
}
.info-shinryo .tit,
.info-web-u .tit {
	margin-bottom: .5em;
}
.info-shinryo .tit span {
	display: block;
}
.info-shinryo span,
.info-web-u span{
	display: inline-block;
	font-size: .875em;
	padding: 0 .5em;
	border-radius: 4px;
	line-height: 22px;
}
.info-shinryo .txt {
	padding-left: .5em;
}
.info-web-u .tit {
	margin-right: .5em;
}

/*-----------------------
　下層の共通フォント・ボタン
-----------------------*/
/*　セクションタイトル　*/
.section-tit{
	font-size: 2em;
	font-weight: 500;
}
.section-tit-eng{
	font-size: 2.5em;
	font-weight: 500;
	line-height: .75;
	font-family: "Roboto", sans-serif;
}
	@media screen and (max-width:1200px) {
		.section-tit{
			font-size: 1.875em;
		}
		.section-tit-eng{
			font-size: 2em;
		}
	}
	@media screen and (max-width:800px) {
		.section-tit{
			font-size: 1.71428571429em;
		}
	}

/*　セクション見出し小見出し・コピー　*/
.section-midashi{
	font-size: 1.875em;
}
.section-komidashi,
.copy-normal{
	font-size: 1.6875em;
	line-height: 1.5;
}
.copy-medium{
	font-size: 1.25em;
	line-height: 1.6;
}
.copy-small{
	font-size: 1.125em;
	line-height: 1.6;
}
	@media screen and (max-width:1200px) {
		.section-midashi{
			font-size: 1.75em;
		}
		.section-komidashi{
			font-size: 1.57142857143em;
		}
		.copy-normal{
			font-size: 1.5em;
		}
	}
	@media screen and (max-width:800px) {
		.section-midashi{
			font-size: 1.71428571em;
		}
		.section-komidashi{
			font-size: 1.42857142857em;
		}
		.copy-medium{
			font-size: 1.21428571429em;
		}
		.copy-small{
			font-size: 1em;
		}
	}
.bg-komidashi-blue{
	background: var(--blue);
	color: var(--white);
	font-weight: bold;
	padding: .75em 1em;
	border-radius: .25em;
	margin-bottom: 1em;
	line-height: 1.4;
}
.bgb-komidashi-blue{
	background: var(--pale-blue);
	color: var(--blue);
	border-bottom: 2px solid;
	font-weight: bold;
	padding: .75em 1em;
	margin-bottom: 1em;
	line-height: 1.4;
}
.line-komidashi-gray{
	border-bottom: 1px solid var(--pale-gray);
	font-weight: bold;
	padding-bottom: .25em;
	margin-bottom: 1em;
	line-height: 1.4;
}
.line-komidashi-green{
	color: var(--dark-green);
	border-bottom: 1px solid;
	font-weight: bold;
	padding-bottom: .25em;
	margin-bottom: 1em;
	line-height: 1.4;
}
.sideline-komidashi{
	border-left: 7px solid;
	border-bottom: 1px solid;
	font-weight: bold;
	margin-bottom: 1em;
	padding-bottom: .625em;
	padding-top: .25em;
	padding-left: .625em;
	line-height: 1.4;
}

/*TEL フォント*/
.tel-txt{
	font-family: "Roboto", sans-serif;
	font-size: clamp(27px, calc(0.47vw + 24.38px), 30px);
	line-height: 1.5;
	padding-left: 1.25rem;
	background: url(../images/common/icon-tel-white.png) no-repeat left center;
	background-size: .625em auto;
}
.tel-txt-std{
	font-family: "Roboto", sans-serif;
	font-size: clamp(27px, calc(0.47vw + 24.38px), 30px);
	line-height: 1.5;
	padding-left: 1.25rem;
	background: url(../images/common/icon-tel.png) no-repeat left center;
	background-size: .625em auto;
}
.tel-txt-std-small{
	font-family: "Roboto", sans-serif;
	font-size: clamp(23px, calc(1.09vw + 16.88px), 30px);
	line-height: 1.5;
	padding-left: 1.25rem;
	background: url(../images/common/icon-tel.png) no-repeat left center;
	background-size: .625em auto;
}
.tel-txt-blue{
	font-family: "Roboto", sans-serif;
	font-size: clamp(27px, calc(0.47vw + 24.38px), 30px);
	line-height: 1.5;
	padding-left: 1.25rem;
	background: url(../images/common/icon-tel-blue.png) no-repeat left center;
	background-size: .625em auto;
}



/* web受付・順番待ち関連 */
a.btn-web-uketsuke,
a.btn-junban{
	line-height: 1.25;
	font-weight: bold;
	display: block;
	padding: 1em;
	border-radius: 1em;
	top: 0;
	position: relative;
	transition: .2s all;
	box-shadow: var(--box-shadow-small);
}
a.btn-web-uketsuke:hover,
a.btn-junban:hover{
	top: 4px;
	opacity: .9;
}
a.btn-web-uketsuke{
	background-color: var(--blue);
	color: var(--white);
}
a.btn-junban{
	background-color: var(--white);
	color: var(--blue);
}
/* flexあり */
a.btn-web-uketsuke .flex,
a.btn-junban .flex{
	align-items: center;
}
a.btn-web-uketsuke .flex .mark,
a.btn-junban .flex .mark{
	width: 2.5em;
	height: auto;
}
a.btn-web-uketsuke .flex .txt,
a.btn-junban .flex .txt{
	width: calc(100% - 2.5em);
	padding-left: .625em;
}

	@media screen and (max-width:800px) {
		a.btn-web-uketsuke,
		a.btn-junban{
			font-size: 13px;
			text-align: center;
			padding-left: 0;
			padding-right: 0;
		}
		a.btn-web-uketsuke .flex .mark,
		a.btn-junban .flex .mark{
			margin: auto;
			margin-bottom: .25em;
		}
		a.btn-web-uketsuke .flex .txt,
		a.btn-junban .flex .txt{
			width: 100%;
			padding-left: 0;
		}
		/*ハンバーガーナビ*/
		.humberger-web-uketsuke-junban{
			padding: 0 5% 3em;
			text-align: left;
		}
		.humberger-web-uketsuke-junban a.btn-web-uketsuke,
		.humberger-web-uketsuke-junban a.btn-junban{
			padding-left: 1em;
			padding-top: 1em;
			padding-bottom: .625em;
			text-align: left;
		}
		.humberger-web-uketsuke-junban a.btn-web-uketsuke .txt,
		.humberger-web-uketsuke-junban a.btn-junban .txt{
			width: calc(100% - 2.75em);
			padding-left: .75em;
		}
	}


/*-----------------------
	icon / onepoint
-----------------------*/
.icon-normal{
	padding-left: 1.5em;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 1em auto;
}
.icon-large{
	padding-left: 1.75em;
	padding-top: .25em;
	padding-bottom: .25em;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 1.375em auto;
}
.icon-xlarge{
	padding-left: 2.5em;
	padding-top: .25em;
	padding-bottom: .25em;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 2em auto;
}

.icon-pos-top{
	background-position: left .25em;
}

.icon-searchglass{
	background-image: url(../images/common/icon-searchglass.webp);
}
.icon-paw-blue{
	background-image: url(../images/common/icon-paw-blue.webp);
}
.icon-paw-white{
	background-image: url(../images/common/icon-paw-white.webp);
}
.icon-junban-white{
	background-image: url(../images/common/icon-junban-white.webp);
}
.icon-calender-white{
	background-image: url(../images/common/icon-schedule.png);
}
.icon-caution-red{
	background-image: url(../images/common/icon-caution-red.webp);
}
.icon-info-red{
	background-image: url(../images/common/icon-info-red.webp);
}
.icon-shinryo{
	background-image: url(../images/faq/icon-shinryo.webp);
}
.icon-clinic{
	background-image: url(../images/faq/icon-clinic.webp);
}
.icon-yobo{
	background-image: url(../images/faq/icon-yobo.webp);
}
.icon-blog{
	background-image: url(../images/trimming/icon-blog.webp);
}
.icon-instagram{
	background-image: url(../images/common/instagram.webp);
}
.icon-line{
	background-image: url(../images/common/line.webp);
}

/* 専門外来 */
.icon-junkanki{
	background-image: url(../images/common/icon-junkan.webp);
}
.icon-eye{
	background-image: url(../images/common/icon-eye.webp);
}


/*病気アイコン*/
.icon-naika-blue{
	background-image: url(../images/shinryo/icon-naika.webp);
}
.icon-geka-blue{
	background-image: url(../images/shinryo/icon-geka.webp);
}
.icon-kusuri-blue{
	background-image: url(../images/shinryo/icon-yobo.webp);
}
.icon-comment-blue{
	background-image: url(../images/shinryo/icon-soudan.webp);
}
/*パーキングアイコン*/
.parkingmark{
	display: inline-block;
	background: var(--blue);
	font-family: "M PLUS 1p", sans-serif;
	font-size: .875em;
	font-weight: bold;
	color: var(--white);
	width: 1.25em;
	height: 1.25em;
	line-height: 1.25;
	text-align: center;
	border-radius: .25em;
	margin-right: .25em;
	position: relative;
	top: -3px;
}
/*ワンポイント*/
.onepoint-circle{
	position: relative;
	padding-left: 1.25em;
}
.onepoint-circle:before{
	position: absolute;
	top: calc(.5em + 1px);
	left: 0;
	width: .75em;
	height: .75em;
	content: "";
	border-radius: 50%;
}
.onepoint-circle-navy:before{
	background: var(--navy);
}
.onepoint-circle-blue:before{
	background: var(--blue);
}

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

.clm2{
	width: 48%;
}
.clm2-block{
	width: 48%;
}
.clm3{
	width: calc(100% / 3);
}
/*右サムネイル*/
.clm2-thumb:nth-child(odd){
	width: calc(66.66666%  - 1.5em);
	padding-right: 1.5rem;
}
.clm2-thumb:nth-child(even){
	width: 33.33333%;
}

	@media screen and (max-width:800px) {
		.clm2-block,
		.clm2-thumb:nth-child(odd),
		.clm2-thumb:nth-child(even){
			width: 100%;
		}
		.clm2-block:nth-child(even),
		.clm2-thumb:nth-child(even){
			margin-top: 1.375rem;
		}
		.clm2-thumb:nth-child(odd){
			padding-right: 0;
		}
		img.width350{
			max-width: 350px;
			width: 100%;
			display: block;
			margin: 0 auto;
		}
		img.width150{
			max-width: 150px;
			width: 100%;
			display: block;
			margin: 0 auto;
		}
	}

/*-----------------------
	list / dl
-----------------------*/
.list-disc > li{
	list-style-type: disc;
	list-style-position: outside;
	margin-left: 1.5em;
	margin-bottom: .25em;
}
.list-caution > li{
	position: relative;
	list-style-position: outside;
	padding-left: 1.5em;
	margin-bottom: .25em;
}
.list-caution > li:before{
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
}
.list-flex {
	display: flex;
	flex-wrap: wrap;
}
.list-flex > li{
	margin-right: 1.5em;
}
.dl-clm2-table {
	display: flex;
	flex-wrap: wrap;
	border: 1px solid var(--pale-gray);
	border-bottom: none;
}
.dl-clm2-table dt{
	background: var(--light-gray);
	width: 10em;
	padding: 1em;
	border-bottom: 1px solid var(--pale-gray);
}
.dl-clm2-table dd{
	width: calc(100% - 10em);
	padding: 1em;
	border-bottom: 1px solid var(--pale-gray);
}
	@media screen and (max-width:800px) {
		.dl-clm2-table dt{
			width: 100%;
			padding: .25em .5em;
		}
		.dl-clm2-table dd{
			width: 100%;
			padding-bottom: 1.25em;
		}
	}


/*-----------------------
svg / kakumaru /bgbox
-----------------------*/
.fill-white {
	fill: var(--white);
}
.fill-yellow{
	fill: var(--pale-lime);
}
.kakumaru{
	border-radius: .75em;
}
.x-kakumaru{
	border-radius: 1em;
}
.xx-kakumaru{
	border-radius: 1.5em;
}

/* ノーマルbgbox ※背景var組み合わせ型*/
.bgbox{
	padding: 1.75em 2.25em 1.5em;
}
.bgbox-small{
	padding: 1em 1.25em;
}
.bgbox-xsmall{
	padding: .25em .75em;
}

/*カラー指定有り*/
.bgbox-lightgreen{
	background: var(--pale-green);
	padding: 1.75em 2.25em 1.5em;
}
.bgbox-lightblue{
	background: var(--pale-blue);
	padding: 1.75em 2.25em 1.5em;
}
.bgbox-white{
	background: var(--white);
	padding: 1.75em 2.25em 1.5em;
}
.bgbox-greengray{
	background: var(--smoky-blue);
	padding: 1.75em 2.25em 1.5em;
}
.bgbox-gray{
	background: var(--light-gray);
	padding: 1.75em 2.25em 1.5em;
}
.borderbox-grey{
	border: 1px solid var(--pale-gray);
	padding: 1.75rem 2.25rem 1.5rem;
}


	@media screen and (max-width:900px) {
		.bgbox,
		.bgbox-lightgreen,
		.bgbox-lightblue,
		.bgbox-white,
		.borderbox-grey,
		.bgbox-gray,
		.bgbox-greengray{
			padding: 1.25em;
		}
	}

/*-----------------------
 スマホ横スクロール
-----------------------*/
	@media screen and (max-width:700px) {
		.img-scroll{
			width: 106%;
			overflow-x: scroll;
			padding: .25rem;
		}
		.img-scroll-topics{
			width: calc(100% + 1.5em);
			overflow-x: scroll;
			padding: .25rem;
		}
		.img-scroll-inner{
			width: 720px;
		}
		.img-scroll-inner-small{
			width: 540px;
		}
	}
/*-----------------------
 アコーディオン
-----------------------*/
.acd--std summary{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 1em 1.5em 1em 1.25em;
	cursor: pointer;
}
.acd--std summary::-webkit-details-marker {
	display: none;
}
.acd--std summary::before,
.acd--std summary::after {
	width: 3px;
	height: .9em;
	border-radius: 5px;
	content: '';
}
.acd--std summary::before {
	position: absolute;
	right: 1.5em;
	rotate: 90deg;
}
.acd--std summary::after {
	transition: rotate .3s;
}
.acd--std[open] summary::after {
	rotate: 90deg;
}
.acd--std .cont{
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 1em 0 0 0;
	transition: transform .5s, opacity .5s;
}
.acd--std[open] .cont {
	transform: none;
	opacity: 1;
}
/* helthcare */
.acd-vaccine summary{
	font-weight: bold;
	margin-top: 1em;
	background: var(--ocean);
	color: var(--white);
	border-radius: 4em;
}
.acd-vaccine summary::before,
.acd-vaccine summary::after {
	background: var(--white);
}
/* faq */
.acd-style-faq summary{
	border-radius: .25em;
	padding-left: 0;
	padding-top: 1.375em;
	padding-bottom: 1.375em;
	font-size: 1.0625em;
	line-height: 1.5;
	background: var(--light-gray);
	border: 1px solid var(--light-gray);
	transition: .6s all;
}
.acd-style-faq summary:hover{
	background: #f9f9f9;
}
.acd-style-faq summary::before,
.acd-style-faq summary::after {
	background: var(--black);
}

