/*
 1600px　↑ min-width
 1200px　↓ max-width
  990px　↓ max-width
  767px　↓ max-width

------------
header	高さ:76px 990で62px
枠				max-with:1180px width:90%

*/

/*---------------------------
  common
---------------------------*/
body{
	color: #444;
	font-family:'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
	font-size: 100%;
	font-weight: 400;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
html{
	scroll-padding-top: 76px;
}
	@media screen and (max-width: 1200px){
		body{
			font-size: 14px;
		}
	}
	@media screen and (max-width: 990px){
		html{
			scroll-padding-top: 62px;
		}
	}

img{
	max-width: 100%;
	height: auto;
}

/* =========================
共通ユーティリティ
========================= */
:root {
	--gray: #777777;
	--vividgreen: #2b9c20;
	--green: #207a18;
	--deepgreen: #4a7764;
	--olivegreen: #6a8128;
	--olive: #8b9131;
	--limegreen: #96b932;
	--skyblue: #71c2db;
	--blue: #0078c7;
	--yellow: #f8e666;
	--tomato: #d04b1f;
	--orange: #f8992b;
	--beige: #deb37b;
	--brown: #8e6424;
	--darkbrown: #5a4c00;
	--cream: #f7f4ea;
	--ivory: #f3eedf;
	--mintcream: #f0f7e2;
	--mint: #e8f0ea;
	--pale: #eaf2f0;
	--palegray: #e7e4dc;
	--beigecream: #ece2c9;
	--lightgray: #eeeeee;
	--white: #ffffff;
}
/* --------- カラー用クラス --------- */
/* テキスト色 */
.gray {color: var(--gray);}
.vividgreen {color: var(--vividgreen);}
.green {color: var(--green);}
.deepgreen {color: var(--deepgreen);}
.olivegreen {color: var(--olivegreen);}
.olive {color: var(--olive);}
.limegreen {color: var(--limegreen);}
.skyblue {color: var(--skyblue);}
.blue {color: var(--blue);}
.yellow {color: var(--yellow);}
.tomato {color: var(--tomato);}
.orange {color: var(--orange);}
.beige {color: var(--beige);}
.brown {color: var(--brown);}
.darkbrown {color: var(--darkbrown);}
.cream {color: var(--cream);}
.ivory {color: var(--ivory);}
.mintcream {color: var(--mintcream);}
.mint {color: var(--mint);}
.pale {color: var(--pale);}
.palegray {color: var(--palegray);}
.beigecream {color: var(--beigecream);}
.lightgray {color: var(--lightgray);}
.white {color: var(--white);}
/* 背景色 */
.bg-gray {background-color: var(--gray);}
.bg-vividgreen {background-color: var(--vividgreen);}
.bg-green {background-color: var(--green);}
.bg-deepgreen {background-color: var(--deepgreen);}
.bg-olivegreen {background-color: var(--olivegreen);}
.bg-olive {background-color: var(--olive);}
.bg-limegreen {background-color: var(--limegreen);}
.bg-skyblue {background-color: var(--skyblue);}
.bg-blue {background-color: var(--blue);}
.bg-yellow {background-color: var(--yellow);}
.bg-tomato {background-color: var(--tomato);}
.bg-orange {background-color: var(--orange);}
.bg-beige {background-color: var(--beige);}
.bg-brown {background-color: var(--brown);}
.bg-darkbrown {background-color: var(--darkbrown);}
.bg-cream {background-color: var(--cream);}
.bg-ivory {background-color: var(--ivory);}
.bg-mintcream {background-color: var(--mintcream);}
.bg-mint {background-color: var(--mint);}
.bg-pale {background-color: var(--pale);}
.bg-palegray {background-color: var(--palegray);}
.bg-beigecream {background-color: var(--beigecream);}
.bg-lightgray {background-color: var(--lightgray);}
.bg-white {background-color: var(--white);}
/* svg色 */
.fill-deepgreen {fill: var(--deepgreen);}
.fill-olivegreen {fill: var(--olivegreen);}
.fill-olive {fill: var(--olive);}
.fill-skyblue {fill: var(--skyblue);}
.fill-yellow {fill: var(--yellow);}
.fill-orange {fill: var(--orange);}
.fill-cream {fill: var(--cream);}
.fill-beige {fill: var(--beige);}
.fill-beigecream {fill: var(--beigecream);}
.fill-palegray {fill: var(--palegray);}
.fill-white {fill: var(--white);}

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

/* --------- 角丸クラス --------- */
.radius-small {border-radius: 0.5em;}
.radius-normal {border-radius: 1em;}
.radius-large {border-radius: 1.375em;}
.radius-max {border-radius: 5em;}

/* ---------  txt --------- */
.inline-block{
	display: inline-block;
}
.underline{
	text-decoration: underline;
}
.normal{
	font-weight: normal;
}
.em{
	font-weight: bold;
}
.em300{
	font-weight: 300;
}
.em400{
	font-weight: 400;
}
.em500{
	font-weight: 500;
}
.em600{
	font-weight: 600;
}
.em700{
	font-weight: 700;
}
.txt-r{
	text-align: right;
}
.txt-c{
	text-align: center;
}
.txt-l{
	text-align: left;
}
.lh-15 {
	line-height: 1.5;
}
.lh-20 {
	line-height: 2.0;
}
.lh-13 {
	line-height: 1.3;
}
	@media screen and (max-width: 990px){
		.br-none{display: none}
	}
	@media screen and (max-width: 767px){
		.sp-txt-c{
			text-align: center;
		}
	}

/* ---------  mt/margin --------- */
.mtxs{
	margin-top: .5em;
}
.mts{
	margin-top: 1em;
}
.mt{
	margin-top: 1.5em;
}
.mtm{
	margin-top: 2.25em;
}

/* ------ background ---- */
.bg-noise{
	background-image: url(../images/common/bg-noise.png);
	background-size: 78px auto;
	background-repeat: repeat;
	background-position: center;
}

/* ------ list ---- */
.list-square li{
	list-style-type: square;
	list-style-position: outside;
	margin-left: 1.5em;
}
.list-disc li{
	list-style-type: disc;
	list-style-position: outside;
	margin-left: 1.5em;
}
.list-decimal li{
	list-style-type: decimal;
	list-style-position: outside;
	margin-left: 1.5em;
}
.list-flex li{
	padding-right: .75em;
}


/*---------------------------
  link
---------------------------*/
a {
	color: inherit;
	text-decoration: none;
}
a:hover {
	opacity: .85;
	filter: contrast(1.05);
}
a:active {
	opacity: .75;
}
a.link{
	color: #00a2e6; 
	text-decoration: underline;
}
a[href^="tel:"] {
	pointer-events: none;
	cursor: default;
}
	@media screen and (max-width: 767px){
		a[href^="tel:"] {
			pointer-events: auto;
			cursor: pointer;
		}
	}

.disabled{
	pointer-events: none;
	cursor: decimal;
}
.btn-shadow {
	box-shadow: 0 2px 4px rgba(150,150,150,.5);
}
/* btn ------------------ */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1.125em 1.75em 1em;
	line-height: 1.5;
	font-weight: 600;
	border-radius: 5em;
	cursor: pointer;
	transition: all .3s;
	text-decoration: none;
	border: none;
}
.btn-long {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1.125em 2.5em 1em;
	line-height: 1.5;
	font-weight: 600;
	border-radius: 5em;
	cursor: pointer;
	transition: all .3s;
	text-decoration: none;
	border: none;
}
.linkjump-white{
	padding-right: 2em;
	background-image: url(../images/common/icon-linkjump-white.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1em auto;
}
.linkjump-blue{
	padding-right: 2em;
	background-image: url(../images/common/icon-linkjump-blue.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1em auto;
}
.linkjump-skyblue{
	padding-right: 2em;
	background-image: url(../images/common/icon-linkjump-skyblue.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1em auto;
}
.link-green{
	padding-right: 2em;
	background-image: url(../images/common/icon-arw-green.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1em auto;
}
.link-white{
	padding-right: 2em;
	background-image: url(../images/common/icon-arw-white.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1em auto;
}
.link-pdf{
	padding-right: 2em;
	background-image: url(../images/common/icon-pdf.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1.25em auto;
}
.link-plus-white{
	padding-right: 2.75em;
	background-image: url(../images/common/icon-plus-white.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1em auto;
}

/* ボタンサークルアイコン */
.btn-circle-icon {
	display: inline-block;
	font-weight: bold;
	padding: 1.25em 4.25em 1.25em 4.5em;
	border-radius: 5em;
	position: relative;
}
	.junban-btn{
		background-color: var(--vividgreen);
		color: var(--white);
	}
	.yoyaku-btn{
		background-color: var(--limegreen);
		color: var(--white);
	}
.btn-circle-icon::before {
	content: "";
	position: absolute;
	left: 1.25em;
	top: 50%;
	transform: translateY(-50%);
	width: 2.25em;
	height: 2.25em;
	background-size: contain;
	background-repeat: no-repeat;
}
	.junban-btn::before {
		background-image: url(../images/shinryo/icon-junban.png);
	}
	.yoyaku-btn::before {
		background-image: url(../images/shinryo/icon-yoyaku.png);
	}

.btn-circle-icon::after {
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
	width: 1em;
	height: 1em;
	background-image: url(../images/common/icon-linkjump-white.png);
	background-size: contain;
	background-repeat: no-repeat;
}

/*---------------------------
  flex
---------------------------*/
.flex{
	display: flex;
	flex-wrap: wrap;
}
.space-between{
	justify-content: space-between;
}
.space-around{
	justify-content: space-around;
}
.flex-end{
	justify-content: flex-end;
}
.row-reverse{
	flex-direction: row-reverse; 
}
.align-center{
	align-items: center;
}
.clm2-block,
.clm2-sect,
.clm2-check{
	width: 47.5%;
}

/* 2clm 左タイトル・右body(txt) */
.clm2-tit{
	width: 20%;
}
.clm2-body{
	width: 75%;
}
/* 2clm 左txt・右短いtxt */
.clm2-txt .left{
	width: 62%;
}
.clm2-txt .right{
	width: 33%;
}
/* 2clm list */
.clm2-list li{
	width: 47.5%;
	margin-bottom: 2em;
}
/* 3clm list */
.clm3-list li{
	width: calc(100% / 3 - 1em);
}
.clm3-list li:nth-child(3n + 1){
	margin-right: 1em;
}
.clm3-list li:nth-child(3n + 2){
	margin: 0 .5em;
}
.clm3-list li:nth-child(3n + 3){
	margin-left: 1em;
}
/* 3clm */
.clm3-grid{
	width: calc(100% / 3 - 2.5%);
}
/* 4clm */
.clm4-block{
	width: calc(100% / 4 - 1.5em);
}


	@media screen and (max-width: 767px){
		.clm2-block,
		.clm2-sect,
		.clm2-check{
			width: 100%;
		}
		.clm2-block:nth-child(odd){
			margin-bottom: 1em;
		}
		.clm2-sect:nth-child(odd){
			margin-bottom: 2.25em;
		}
		/* 2clm 左タイトル・右body */
		.clm2-tit{
			width: 100%;
		}
		.clm2-body{
			width: 100%;
			margin-top: 1em;
		}
		/* 2clm 左txt・右短いtxt */
		.clm2-txt .left{
			width: 100%;
		}
		.clm2-txt .right{
			width: 100%;
			margin-top: 1em;
		}
		/* 2clm list */
		.clm2-list li{
			width: 100%;
		}
		/* 3clm list */
		.clm3-list li{
			width: 100%;
		}
		.clm3-list li:nth-child(3n + 1){
			margin-right: 0;
		}
		.clm3-list li:nth-child(3n + 2){
			margin: 0;
		}
		.clm3-list li:nth-child(3n + 3){
			margin-left: 0;
		}
		/* 4clm */
		.clm4-block{
			width: calc(100% / 2 - .5em);
			margin-bottom: .5em;
		}

	}

/*
----------------------------------
	hr
----------------------------------*/
.hr-line-dotted{
	background: url(../images/common/hr-line-dotted.png) repeat-x left top;
	background-size: auto 3px;
	width: 100%;
	height: 3px;
	position: relative;
}
.hr-normal{
	width: 100%;
	height: 1px;
}
/*---------------------------
  header
---------------------------*/
header{
	position:fixed;
	z-index: 100;
	top: .75em;
	left: .5em;
	height: 76px;
	line-height: 76px;
	width: calc(100% - 1em);
	margin: 0 auto;
	background: #fff;
	border-radius: 1em;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.header{
	width: calc(100% - 1.5em);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
h1.logo a{
	position: relative;
	display: block;
	width: 314px;
	height: 40px;
	background: url("../images/common/logo.png") no-repeat center;
	background-size: auto 100%;
	text-indent: -9999px;
}
	@media screen and (max-width: 1200px){
		h1.logo a{
			width: 235px;
			height: 30px;
		}
	}
	@media screen and (max-width: 990px){
		header{
			height: 62px;
			line-height: 62px;
		}
	}

.gmenu{
	margin-left: auto;
	margin-right: auto;
	padding-right: 36px;
}
.acd-gmenu,
.acd-gmenu > ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 13px;
}
.acd-gmenu > ul > li{
		font-weight: 400;
		padding-right: 1em;
		margin-right: 2.125em;
		position: relative;
		font-family: "M PLUS 1p", sans-serif;
}
	@media screen and (max-width: 1200px){
		.acd-gmenu > ul > li{
			margin-right: 1.5em;
		}
	}
	@media screen and (max-width: 990px){
		.gmenu{
			display: none;
		}
	}
	.acd-gmenu > ul > li:before{
			content: "⌄";
			font-size: 18px;
			position: absolute;
			top: -.25em;
			right: 0;
			font-weight: 900;
	}
	.acd-gmenu > ul > li:hover a.tgl{
		font-weight: 700;
	}

/* dropdown ------- */
.dropdown{
	width: calc(100% + 8em);
	position: absolute;
	top: 76px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 14px;
}
.down_list{
	background: #fff;
	box-shadow: 0 2px 2px rgba(200, 200, 200, .5);
	border-radius: 0 0 1.5em 1.5em;
	padding: 0 1em 1em 1em;
	transition: .3s all;
	overflow: hidden;
	opacity: 0;
	transform: scaleY(0);
	transform-origin: center top;
	height: 0;
}
.acd-gmenu > ul > li:hover .down_list{
	overflow: visible;
	opacity: 1.0;
	transform: scaleY(1.0);
	height: auto;
}
.down_list li{
	margin-bottom: .5em;
}
.down_list li:last-child{
	margin-bottom: .25em;
}
.down_list a{
	display: block;
	padding: .25em .5em;
	line-height: 1.5;
}
.down_list a:hover{
	border-radius: 5em;
}
	.acd-gmenu > ul > li:nth-child(1) .down_list a:hover{
			background: var(--skyblue);
			color: var(--white);
	}
	.acd-gmenu > ul > li:nth-child(2) .down_list a:hover{
			background: var(--yellow);
	}
	.acd-gmenu > ul > li:nth-child(3) .down_list a:hover{
			background: var(--orange);
	}
	.acd-gmenu > ul > li:nth-child(4) .down_list a:hover{
			background: var(--olive);
			color: var(--white);
	}
	.acd-gmenu > ul > li:nth-child(5) .down_list a:hover{
			background: var(--beige);
	}
a.onlineshop{
	background: #444;
	color: #fff;
	font-family: "Roboto", sans-serif;
	line-height: 2;
	padding: 0 .75em;
	border-radius: 5em;
}

/* humberger menu ------- */
.hamburger {
	position: absolute;
	z-index: 1001;
	top: calc(50% - 12.5px);
	right: 1em;
	width: 36px;
	height: 25px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	cursor: pointer;
}
.hamburger span {
	display: block;
	height: 4px;
	background-color: #444;
	border-radius: 2px;
	transition: 0.3s;
}
.overlay-menu {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	transition: 0.3s;
	background-color: var(--ivory);
	background-image: url(../images/common/bg-noise.png);
	background-size: 78px auto;
	background-repeat: repeat;
	background-position: center;
	opacity: 0;
	pointer-events: none;
	line-height: 1.75;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
#hamburger-tgl:checked ~ .overlay-menu {
	opacity: 1;
	pointer-events: auto;
}
#hamburger-tgl:checked ~ .hamburger span:nth-child(1) {
	transform: rotate(45deg) translate(10px, 10px);
}
#hamburger-tgl:checked ~ .hamburger span:nth-child(2) {
	opacity: 0;
}
#hamburger-tgl:checked ~ .hamburger span:nth-child(3) {
	transform: rotate(-45deg) translate(5px, -5px);
}
.overlay-inner{
	width: 92%;
	margin: 0 auto;
	padding: 7em 0 4em;
}
	@media screen and (max-width: 767px){
		.overlay-inner{
			padding-top: 5em;
		}
	}

/*---------------------------
  footer / sitenavi
---------------------------*/
footer{
	background: var(--palegray);
	padding-top: 3em;
	position: relative;
	z-index: 1;
}
.footer-inner,
.sitenav-inner{
	width: 90%;
	margin: 0 auto;
	padding-bottom: 1em;
}
.footer-inner a,
.sitenav-list a{
	transition: .3s all;
}
.footer-inner a:hover,
.sitenav-list a:hover{
	color: var(--green);
}
.footer-inner .f-link a:hover{
	color: var(--white);
}

ul.footer-list,
ul.sitenav-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 2.25em;
}
.footer-list > li,
.sitenav-list > li{
	width: calc(100% / 6 - 2em);
}
	.footer-list > li{
		font-size: clamp(12px, 1.21212121vw, 14px);
		/*clamp  (12 / 990 *100)vw */
	}
	..sitenav-list > li{
		font-size: clamp(12px, 1.21212121vw, 15px);
		/*clamp  (12 / 990 *100)vw */
	}

a.ctglink{
	font-weight: bold;
	border-bottom: 1px solid var(--gray);
	background-image: url(../images/common/icon-arw-cream.png);
	background-repeat: no-repeat;
	background-position: calc(100% - .25em) 1em;
	background-size: 1em auto;
	display: block;
	padding: .75em 0;
}
a.ctglink:hover{
	background-position: 100% 1em;
}
.sublink{
	margin: .5em 0 .75em;
}
.sublink > li{
	background-image: url(../images/common/icon-maru-gray.png);
	background-size: .625em auto;
	background-position: left 1em;
	background-repeat: no-repeat;
	line-height: 1.5;
	padding: .5em 0 .5em 1.25em;
}
.sublink > li.maru-none{
	background-image: none;
}
	@media screen and (max-width: 990px){
		.footer-list > li,
		.sitenav-list > li{
			width: calc(100% / 3 - 2em);
			margin-bottom: 1em;
		}
		.sublink > li{
			background-position: left 1em;
		}
	}
	@media screen and (max-width: 767px){
		.footer-list > li,
		.sitenav-list > li{
			width: calc(100% / 2 - 1em);
		}
	}

.f-icon-first{
	padding-right: 1.25em;
	background: url(../images/common/icon-visit-first-gray.png) no-repeat right .3em;
	background-size: 1em auto;
}
.footer-information,
.sitenav-information{
	background-color: #444;
	color: var(--white);
	position: relative;
	font-size: clamp(13px, 1.313131vw, 15px);
	/*clamp  (13 / 990 *100)vw */
}
	.footer-information{
			padding-top: 3em;
	}
	.sitenav-information{
		padding-top: 2em;
		padding-bottom: 2em;
		margin-bottom: 3em;
		border-radius: 3em;
	}

.f-info-flex {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2em;
}
.f-logo{
	width: calc(300px + 2em);
}
.f-link {
	width: calc(160px + 2em);
}
.f-adress {
	flex: 1;
}
.f-logo,
.f-adress{
	border-right: 1px solid var(--gray);
}
.f-logoimg{
	position: relative;
	display: block;
	width: 300px;
	height: 48px;
	background: url("../images/common/f-logo.png") no-repeat left center;
	background-size: auto 100%;
	text-indent: -9999px;
	top: -3px;
}
.flink-jump{
	display: inline-block;
	padding-right: 1.25em;
	background-image: url(../images/common/icon-linkjump-white.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1em auto;
}
.copylight{
	font-size: clamp(11px, 1.11111111111vw, 12px);
	/*clamp  (11 / 990 *100)vw */
	color: var(--gray);
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: end;
	margin-top: 3.25em;
}
.copylight div{
	margin-left: 1.75em;
}
.copylight div.roboto{
	position: relative;
	top: 1px;
}

	@media screen and (max-width: 990px){
		.f-logo{
			width: 100%;
			margin-bottom: 2em;
			border-right: none;
		}
	}
	@media screen and (max-width: 767px){
		.f-info-flex {
			flex-direction: column;
			gap: 1em 0;
			text-align: center;
		}
		.f-logo,
		.f-adress,
		.f-link  {
			width: 100%;
		}
		.f-logo{
			margin-top: 1em;
			margin-bottom: 1.5em;
		}
		.f-adress{
			border-right: none;
		}
		.f-logoimg{
			width: 283px;
			height: 45px;
			margin-left: auto;
			margin-right: auto;
		}
		.copylight{
			justify-content: center;
			align-items: center;
		}
	}
a.pagetop{
	width: 78px;
	height: 78px;
	line-height: 78px;
	position: absolute;
	top: -2.5em;
	right: 1em;
	background: url(../images/common/bg-pagetop.png);
	background-size: contain;
	color: var(--white);
	font-size: 11px;
	font-weight: bold;
	text-align: center;
}
a.pagetop:hover {
	opacity: 1;
	filter: contrast(1);
}
a.pagetop:active {
	opacity: 1;
}
	@media screen and (max-width: 767px){
		a.pagetop{
			right: calc(50% - 39px);

		}
	}

/*---------------------------
  modal
---------------------------*/
body.modal-open {
	overflow: hidden;
}
.modal {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background: rgba(0,0,0,0.75);
	display: flex;
	justify-content: center;
	align-items: center;
	overflow-y: auto;
	transition: opacity 0.4s ease, visibility 0.4s ease;
	z-index: 9999;
}
.modal-content {
	background: #fff;
	max-width: 500px;
	width: 90%;
	max-height: 80vh;
	padding: 2.5em 1.5em;
	border-radius: 0.75em;
	position: relative;
	overflow-y: auto;
	transform: translateY(-20px);
	transition: transform 0.4s ease;
}
.modal.show {
	opacity: 1;
	visibility: visible;
}
.modal.show .modal-content {
	transform: translateY(0);
}
.modal-bg-close,
.close {
	cursor: pointer;
}
.modal-bg-close{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.close {
	position: absolute;
	top: 0;
	right: .5em;
	font-size: 2em;
}
/*---------------------------
  アコーディオン
---------------------------*/

.acd-box {
	position: relative;
	overflow: hidden;
}
.acd-box input[type="checkbox"] {
	display: none;
}
.ac-label {
	display: block;
	cursor: pointer;
	font-weight: 700;
	padding-right: 1em;
	user-select: none;
	padding:1em 0;
	text-align: center;
}
.ac-label::after {
	content: "＋";
	display: inline-block;
	width: 10px;
	height: 10px;
	position: absolute;
	right: 2em;
	top: 1em;
}
.ac-body {
	height: 0;
	overflow: hidden;
	transition: .3s;
	padding: 0 2.25em;
}
.acd-box input[type="checkbox"]:checked ~ .ac-body {
	height: auto;
	overflow: visible;
	padding: 1.5em 2.25em 2em;
}
.acd-box input[type="checkbox"]:checked + .ac-label::after {
	content: "ー";
}

/*---------------------------
  img-scroll
---------------------------*/
	@media screen and (max-width: 990px){

		.img-scroll {
			overflow-x: auto;
			-webkit-overflow-scrolling: touch;
			width: 100%;
		}
		.img-scroll img {
			max-width: 620px;
			height: auto;
			display: block;
		}
		.img-scroll::-webkit-scrollbar {
			height: 6px;
		}
		.img-scroll::-webkit-scrollbar-thumb {
			background: #bbb;
			border-radius: 3px;
		}
	}


/*---------------------------
  pankuzu
---------------------------*/
/* パンくず -*/
.pankuzu{
	font-size: clamp(10px, 1.3037809648vw, 12px);
	/*clamp  (10 / 767px *100)vw */
}
.pankuzu a{
	padding-right: 1.25em;
	margin-right: 1em;
	position: relative;
	text-decoration: underline;
}
.pankuzu a:before{
	position: absolute;
	top: 0;
	right: 0;
	content: ">";
	font-family: "Roboto", sans-serif;
}
/*
----------------------------------
	font size　
----------------------------------*/
/* セクションタイトル */
.sectiontitle{
	font-family: "M PLUS 1p", sans-serif;
	font-size: clamp(23px, 2.32323232vw, 32px);
	/*clamp  (23px / 990px *100)vw */
	font-weight: 700;
	line-height: 1.4;
	padding-left: 1.75em;
}
	@media screen and (max-width: 767px){
		.sectiontitle{
			font-weight: bold;
		}
	}
	.icon-paw{
		background: url(../images/common/icon-paw.png) no-repeat 0 0;
		background-size: auto 1.25em;
	}
	.icon-tree{
		background: url(../images/common/icon-tree.png) no-repeat 0 0;
		background-size: auto 1.25em;
	}
	.icon-clover{
		background: url(../images/common/icon-clover.png) no-repeat 0 0;
		background-size: auto 1.25em;
	}

	.icon-heartcheck{
		background: url(../images/shinryo/icon-heart1.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}
	.icon-heart{
		background: url(../images/shinryo/icon-heart2.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}
	.icon-ope{
		background: url(../images/shinryo/icon-ope.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}
	.icon-trim{
		background: url(../images/care/icon-cut.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}
	.icon-senior{
		background: url(../images/care/icon-senior.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}
	.icon-food{
		background: url(../images/care/icon-food.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}
	.icon-dental{
		background: url(../images/care/icon-dental.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}
	.icon-family{
		background: url(../images/care/icon-family.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}
	.icon-philosophy{
		background: url(../images/about/icon-philosophy.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}
	.icon-staff{
		background: url(../images/about/icon-staff.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}
	.icon-facility{
		background: url(../images/about/icon-facility.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}

	.icon-dentalclass{
		background: url(../images/lesson/icon-dentalclass.png) no-repeat 0 .1em;
		background-size: auto 1.25em;
	}

/* 大コピー */
.copy-large {
	font-weight: 400;
	font-family: "M PLUS 1p", sans-serif;
	font-size: clamp(20px, 2.02020202vw, 26px);
	/*clamp  (20 / 990px *100)vw */
	line-height: 1.5;
 }
/* 中コピー */
.copy-medium {
	font-weight: 400;
	font-family: "M PLUS 1p", sans-serif;
	font-size: clamp(18px, 1.81818182vw, 24px);
	/*clamp  (18 / 990px *100)vw */
	line-height: 1.5;
}
/* 見出し（下線ライン） */
.midashi {
	font-weight: 600;
	font-size: clamp(18px, 1.81818182vw, 23px);
	/*clamp  (18 / 990px*100)vw */
	line-height: 1.5;
	border-bottom: 3px solid #ccc;
	padding-bottom: .25em;
	margin-bottom: .75em;
	position: relative;
}
.midashi:before{
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 32px;
	height: 3px;
	background: var(--vividgreen);
	content: "";
}
/* 見出し(normal） */
.midashi-normal{
	font-weight: 600;
	font-size: clamp(18px, 1.81818182vw, 23px);
	/*clamp  (18 / 990px*100)vw */
}
/* 見出し（少し小さい・normal） */
.midashi-down-normal{
	font-weight: 600;
	font-size: clamp(18px, 1.81818182vw, 20px);
	/*clamp  (18 / 990px*100)vw */
}

/* 小見出し（下線ライン） */
.sub-midashi {
	font-weight: 600;
	font-size: clamp(14px, 1.41414141vw, 18px);
	/*clamp  (14 / 990px*100)vw */
	line-height: 1.5;
	border-bottom: 1px solid #ccc;
	padding-bottom: .25em;
	margin-bottom: .75em;
	position: relative;
}
/* 小見出し（横線ライン） */
.sub-midashi-line {
	font-weight: 600;
	font-size: clamp(14px, 1.41414141vw, 18px);
	/*clamp  (14 / 990px*100)vw */
	line-height: 1.5;
	padding-left: .5em;
	border-left: 6px solid var(--vividgreen);
	margin-bottom: .25em;
	position: relative;
}
/* 小見出し（ノーマル） */
.sub-midashi-normal {
	font-weight: 600;
	font-size: clamp(14px, 1.41414141vw, 18px);
	/*clamp  (14 / 990px*100)vw */
	line-height: 1.5;
	position: relative;
}
/* 囲い */
.sub-midashi-bg {
	font-weight: 600;
	font-size: clamp(14px, 1.41414141vw, 16px);
	/*clamp  (14 / 990px*100)vw */
	line-height: 1.5;
	position: relative;
	padding: .5em 1em;
}

/* 下線ライン */
.txt-underline{
	font-weight: 600;
	font-size: clamp(14px, 1.41414141vw, 16px);
	/*clamp  (14 / 990px*100)vw */
	line-height: 1.5;
	border-bottom: 1px solid #ccc;
	padding-bottom: .25em;
	position: relative;
}

/* 電話 */
.tel-large {
	line-height: 1.5;
	font-family: "Roboto", sans-serif;
	font-size: clamp(26px, 2.62626263vw, 37px);
	/*clamp  (26 / 990 *100)vw */
}
.tel-small {
	line-height: 1.5;
	font-family: "Roboto", sans-serif;
	font-size: clamp(20px, 2.02020202vw, 26px);
	/*clamp  (20 / 990 *100)vw */
}
	.icon-tel{
		padding-left: 1em;
		background-image: url(../images/common/icon-tel.png);
		background-repeat: no-repeat;
		background-position: left .25em;
		background-size: .75em auto;
	}
	.icon-tel-white{
		padding-left: 1em;
		background-image: url(../images/common/icon-tel-white.png);
		background-repeat: no-repeat;
		background-position: left .25em;
		background-size: .75em auto;
	}

/* フォント調整 */
.txt-up{
	font-size: 1.0625em;
}
.txt-down{
	font-size: .9375em;
}
.xxx-large{
	font-size: 1.5em;
}
.xx-large{
	font-size: 1.375em;
}
.x-large{
	font-size: 1.25em;
}
.large{
	font-size: 1.125em;
}
.small{
	font-size: .875em;
}
.xsmall{
	font-size: .75em;
}
