@charset "utf-8";


@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&display=swap');

@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");

@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");

@import url("inview.css");


:root {

	
    --primary-color: #8ac5c3;		
    --primary-text-color: #fff;		
    --secondary-color: #f9bdbb;		
    --secondary-text-color: #fff;	
	
	
    --main-font: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	
	
    --heading-font: "Caveat", var(--main-font);
	
	
    --bg1-height: 50px;
}


@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


@keyframes animation1 {
	0% {left: -200px;}
	100% {left: 0px;}
}


@keyframes rotate1 {
	0% {transform: rotate(0deg);}
	30% {transform: rotate(-4deg);}
	80% {transform: rotate(4deg);}
	100% {transform: rotate(0deg);}
}


html,body {height: 100%;}
body * {box-sizing: border-box;}

body {
	margin: 0;padding:0;
	font-family: var(--main-font);	
	-webkit-text-size-adjust: none;
	color: #999;			
	line-height: 2.2;		
	animation: opa1 0.5s 0.2s both;	
	background-color: #faf9f7;	
}

body.home {
	background-image: url('../images/kazari2.png'), url('../images/kazari3.png');
	background-repeat: no-repeat;
	background-position: 75vw -5vw, -10vw 30vw;
	background-size: 30vw, 30vw;
}


figure {margin: 0;}
dd {margin: 0;}
nav,ul,li {margin: 0;padding: 0;}
nav ul {list-style: none;}


table {border-collapse:collapse;}


img {border: none;max-width: 100%;height: auto;vertical-align: middle;}


video {max-width: 100%;}


iframe {width: 100%;}


input {font-size: 1rem;}
section {margin: 5vw;}


a {
	color: #999;		
	transition: 0.3s;	
}


a:hover {
	color: var(--primary-color);	
}


#container {
	height: 100%;
	max-width: 1800px;				
	display: flex;					
	flex-direction: column;			
	justify-content: space-between;	
	margin: 0 auto;
}


#contents {
	flex: 1;
}

header {
	position: relative;
}

#logo img {display: block;}
#logo {
	margin: 0;
	width: 35vw;		
	padding-left: 10px;	
	padding-top: 10px;	
}

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

	
	#logo {
		width: 25vw;	
	}

	}



.home #logo {
	position: absolute;z-index: 1;
	left: 0px;
	top: 0px;
}


.swing {
	animation-name: rotate1;				
	animation-fill-mode: both;
	animation-duration: 5S;					
	animation-iteration-count: infinite;	
	animation-timing-function: linear;		
}

#menubar {display: none;}

.large-screen #menubar {display: block;}
.small-screen #menubar.display-block {display: block;}

#menubar_hdr.display-none {display: none;}

.ddmenu_parent ul {display: none;}

#menubar a {
	display: block;text-decoration: none;
	padding: 0.3rem 1.5rem;	
}

.large-screen #menubar {
	margin: 4rem 0;	
}

	
	@media screen and (min-width:900px) {

	
	body:not(.home).large-screen #menubar {
		position: absolute;
		right: 4rem;	
		top: 0px;		
	}

	}


.large-screen #menubar > nav > ul {
	display: flex;				
	justify-content: flex-end;	
	gap: 1rem;					
}
.home.large-screen #menubar > nav > ul {
	justify-content: center;	
}


.large-screen #menubar li {
	position: relative;	
	text-align: center;	
}
.large-screen #menubar li a {
	background: #fff;
	border-radius: 100px;
	border: 1px solid var(--primary-color);	
}
.large-screen #menubar > nav > ul > li > a {
	box-shadow: 0px 7px var(--primary-color);
}
.large-screen #menubar > nav > ul > li > a:hover {
	box-shadow: 0px 3px var(--primary-color);
}


.large-screen #menubar li a:hover {
	position: relative;
	top: 1px;
}


.large-screen #menubar ul ul,
.small-screen #menubar ul ul {
	animation: opa1 0.5s 0.1s both;	
}


a.ddmenu::before {
	content: "▼";	
	display: inline-block;
	color: var(--primary-color);	
	transform: scale(1, 0.7);		
	margin-right: 5px;				
}

.large-screen #menubar ul ul {
	position: absolute;z-index: 100;
	width: 100%;
	padding-top: 10px;
}

.large-screen #menubar ul ul li {
	margin-top: 5px;	
}
.large-screen #menubar ul ul a {
	background: #fff;		
}


.small-screen #menubar.display-block {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding-top: 90px;
	background: #fff;			
	animation: animation1 0.2s both;	
}


.small-screen nav > ul > li {
	border: 1px solid #ccc;	
	margin: 1rem;			
	border-radius: 10px;	
	padding: 0 2rem;		
}


#menubar_hdr {
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 30px;			
	top: 30px;				
	padding: 16px 14px;		
	width: 46px;			
	height: 46px;			
	display: flex;					
	flex-direction: column;			
	justify-content: space-between;	
	background: var(--primary-color);	
}


#menubar_hdr span {
	display: block;
	transition: 0.3s;	
	border-top: 1.5px solid #fff;	
}


#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
	transform-origin: center center;	
	width: 20px;						
}


#menubar_hdr.ham span:nth-of-type(1){
	transform: rotate(45deg) translate(3.8px, 5px);	
}


#menubar_hdr.ham span:nth-of-type(3){
	transform: rotate(-45deg) translate(3.8px, -5px);	
}


#menubar_hdr.ham span:nth-of-type(2){
	display: none;	
}


main {
	flex: 1;
	padding-top: 1rem;		
	padding-bottom: 3rem;	
}


main h2 {
	font-size: 2rem;		
	font-weight: normal;	
	color: var(--primary-color);	
	border-bottom: 1px solid var(--primary-color);	
	padding-left: 0.5rem;	
}


main h2.type1 {
	margin: 0; padding: 0; border: none;
	font-family: var(--heading-font);	
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
main h2.type1 span {
	display: block;
	font-size: 1rem;
	text-align: right;	
}

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

	
	main h2.type1 {
		width: 20vw;	
		flex: 0 0 auto;
		line-height: 1;
		transform: rotate(-10deg);	
		margin-right: 2rem;			
		font-size: 4rem;			
	}
	main h2.type1 span {
		margin-top: 2rem;	
	}

	}



main h3 {
	padding-left: 0.5rem;	
}


main p {
	padding-left: 0.5rem;	
}
	
	@media screen and (min-width:700px) {

	
	.list-side-title {
		display: flex;	
		justify-content: center;	
		align-items: flex-start;	
		gap: 3%;					
	}

	}


	
	@media screen and (min-width:500px) {

	
	.list-side-title .list-menu {
		display: grid;
		grid-template-columns: repeat(2, 1fr);	
		gap: 2rem;	
	}

	}



.list * {
	margin: 0;
}


.list {
	position: relative;
    display: flex;
	flex-direction: column;
	padding: 1rem;			
	background: #fff;		
	box-shadow: 5px 5px 20px rgba(0,0,0,0.1);	
	margin-bottom: 3%;
}

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

	
	.list {
		margin-bottom: 0;
	}

	}


.list h4 {
	color: #555;	
}


.list h4 .price {
	background: var(--primary-color);	
	color: var(--primary-text-color);	
	border-radius: 100px;	
	padding: 0.3rem 1rem;	
	margin-left: 1rem;		
	font-size: 0.8rem;		
}


.list p {
	margin: 0;padding: 0;
	font-size: 0.85rem;	
	line-height: 1.8;	
}


.list .newicon {
	position: absolute;
	left: -5px;	
	top: -10px;	
	background: var(--secondary-color);	
	color: var(--secondary-text-color);	
	font-size: 0.7rem;	
	width: 5em;			
	line-height: 5em;	
	border-radius: 50%;	
	text-align: center;	
}


.list figure img {
	margin-bottom: 0.5rem;	
}

small {font-size: 100%;}


footer a {
	text-decoration: none;
	color: inherit;
}


#copyright {
	font-size: 0.8rem;		
	text-align: center;		
	padding: 10px;			
}


footer .pr {display: block;}


ul.icons {
	list-style: none;
	margin: 0;padding: 0;
	display: flex;	
	align-self: center;
	justify-content: center;
	color: var(--primary-color);	
}
ul.icons li {
	margin-right: 10px;	
}
.icons i {
	font-size: 40px;	
}



.new dd {
	padding-bottom: 1rem;
}


.new dt span {
	display: inline-block;
	text-align: center;
	line-height: 1.8;		
	border-radius: 3px;		
	padding: 0 0.5rem;		
	width: 8rem;			
	transform: scale(0.8);	
	background: #fff;		
	color:#777;				
	border: 1px solid #ccc;	
}


.new .icon-bg1 {
	background: var(--primary-color);	
	color: var(--primary-text-color);	
	border-color: transparent;			
}


.new .icon-bg2 {
	background: var(--secondary-color);	
	color: var(--secondary-text-color);	
	border-color: transparent;			
}

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

	
	.new {
		display: grid;	
		grid-template-columns: auto 1fr;	
		padding-left: 1rem;		
		padding-right: 1rem;	
	}

	}




.slick-slide {
  will-change: transform;
}


.mainimg-slick {
	margin: 3rem;	
}


.mainimg-slick div {
	border-radius: 2vw 20vw 2vw 20vw;
}


ul.slick-dots {
	margin:0;padding: 0;
	line-height: 1;
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 30px;	
}


ul.slick-dots li {
	display: inline-block;
	margin: 0 10px;
	cursor: pointer;
}


ul.slick-dots li button {
	border: none;padding: 0;
	display: block;
	text-indent: -9999px;	
	width: 12px;			
	height: 12px;			
	border-radius: 50%;		
	cursor: pointer;		
	background: #ccc;			
}


ul.slick-dots li.slick-active button {
	background: var(--primary-color);	
}



.thumbnail-slide {
	background: #fff;	
	padding: 20px 10px;	
}


.thumbnail-slide .slick-slide {
    margin: 0 10px;	
}


.bg1 a {color: inherit;}
.bg1 {
	background-position: top center, bottom center;	
	background-size: 100% var(--bg1-height);		
	background-repeat: no-repeat;		
	padding-top: var(--bg1-height);		
	padding-bottom: var(--bg1-height);	
	background-image: url('../images/bg1_top.png'), url('../images/bg1_bottom.png');	
}

.bg1-inner {
	background: #cbf0ef;	
	padding-top: var(--bg1-height);		
	padding-bottom: var(--bg1-height);	
}


.bg1-inner > section {
	margin-top: 0;
	margin-bottom: 0;
}



.ta1 caption {
	font-weight: bold;		
	padding: 0.2rem 1rem;		
	background: #afa5a0;	
	color: #fff;			
	margin-bottom: 1rem;	
	border-radius: 5px;		
}


.ta1 {
	table-layout: fixed;
	border-top: 1px solid #999;	
	width: 100%;				
	margin-bottom: 2rem;		
}


.ta1 tr {
	border-bottom: 1px solid #999;	
}


.ta1 th, .ta1 td {
	padding: 1rem;		
	word-break: break-all;	
}


.ta1 th {
	width: 30%;			
	text-align: left;	
	background: #efebe9;	
}

	
	@media screen and (min-width:900px) {

		
		.ta1 th {
			width: 20%;		
		}

	}


.pagetop-show {display: block;}


.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	position: fixed;	
	right: 20px;		
	bottom: 20px;		
	color: #fff;		
	font-size: 1.5rem;	
	background: rgba(0,0,0,0.2);	
	width: 60px;		
	line-height: 60px;	
	border-radius: 50%;	
}


.color-check {
	background: linear-gradient(transparent 70%, yellow 70%);
}


.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: var(--primary-color) !important;}
.l {text-align: left !important;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb0 {margin-bottom: 0px !important;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: rgba(0,0,0,0.03);border: 1px solid #ccc; border-radius: 3px;word-break: break-all;}
.small {font-size: 0.7em;}
.large {font-size: 2em; letter-spacing: 0.1em;}
.pc {display: none;}
.dn {display: none !important;}
.responsive-br {display: none;}


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

	.responsive-br {display: block;}

	}


	
	@media screen and (min-width:900px) {

	.ws {width: 48%;display: inline;}
	.sh {display: none;}
	.pc {display: block;}

	}



#footerindex{
    margin:10px;
    display:flex;
    gap:3vw;
    font-size:0.8rem;
}
footer li{
    list-style: none; padding-left: 0;
}
footer hr{
	background-color: #8ac5c3; height: 5px; border: none;
}

#footerindex {
	list-style: none;
	margin: 0;padding: 0;
	display: flex;
	align-self: center;
	justify-content: center;
}
#meddy{
    width:50px;
}
@media screen and (min-width:900px) {
	.guidance-staff {
	font-size: 0.7rem
	}
}
@media screen and (max-width:420px) {
	.guidance-staff {
	font-size: 0.7rem
	}
}