/********************************/
/*サイト共通*/
@font-face {
  font-family: 'NotoSansJP';
  src: url('../fonts/NotoSansJP-VariableFont_wght.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* フォント読み込み中の表示制御 */
}

@font-face {
  font-family: 'NotoSansJP-Black';
  src: url('../fonts/NotoSansJP-Black.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap; /* フォント読み込み中の表示制御 */
}

@font-face {
  font-family: 'Poppins-Black';
  src:url('../fonts/Poppins-Black.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* Container for the Google Map */
.wpmapblockrender{
  position: relative;
  z-index: 1; 
}

body{
	min-height:100vh;
	min-width:1024px;
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
  	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
  	font-family:'NotoSansJP', sans-serif;
}@media screen and (max-width:768px){
	body{
		min-width:280px;
		max-width:100%;
	}
}

body::before{
	content:"";
	display:block;
	width:100%;
	height:64px;
	margin:0;
	padding:0;
	background-image:url(../img/index_background.svg);
	background-repeat:no-repeat;
	background-size:100%;
	background-position:bottom;
	background-attachment:fixed;
	position:fixed;
	left:0;
	bottom:0;
	z-index:100;
}

header{
	margin:0;
	padding:0.5em 1em 0.5em 1em;
	max-height:64px;
	background:var(--oldlace);
	display:flex;
	flex-wrap:wrap;
	gap:1em;
	align-items:center;
	position:relative;
}

.header__logo--regular{
	font-family:'Poppins-Black','NotoSansJP';
	font-weight:600;
	color:var(--gray);
	line-height:1;
	display:flex;
	align-items:center;
	gap:0.25em;
	width:fit-content;
}
.header__logo--regular strong{
	font-size:16px;
	display:inline-block;
}
.header__logo--regular span{
	display:inline-block;
	font-size:12px;
}

.header__logo--regular img{
	filter: drop-shadow(0 0 2px #FFF);
}

footer{
	margin:auto 0 0 0;
	padding:1em 1.5em 120px 1.5em;
	min-height:64px;
	background-color:var(--yellow);
}

footer *{
	font-size:0.8rem;
	margin:0;
	padding:0;
	list-style:none;
}

footer p ~ *{
	margin:1em 0 0 0;
	padding:0;
}

footer address{
	margin:0 0 1em 0;
}

footer address dl{
	margin:0;
	padding:0;
	font-size:0.8em;
}

footer address dl dd{
	margin:0;
	padding:0;
}

footer .footer__logo--center{
	width:fit-content;
	margin:0 auto 2rem auto;
	padding:0;
}

footer .footer__col--02{
	display:flex;
	flex-wrap:wrap;
	margin-bottom:1em;
	gap:2rem;
}@media screen and (max-width:768px){
	footer .footer__col--02{
		display:block;
	}
	footer *{
		text-align:center;
	}
}

footer .ft__cel--01{
	flex:0 0 300px;
}

footer .ft__cel--02{
	flex:1 1 auto;
}


footer button{
	margin-top:auto;
	background:transparent;
	border:none;
	border-radius:0.5rem;
	cursor:pointer;
	outline:none;
	margin:0;
	padding:0;
	appearance:none;
	width:100%;
	height:64px;
}

footer button a{
	width:auto;
	height:100%;
	text-align:center;
	text-decoration:none;
	color:#FFF;
	font-size:1.2rem;
	font-weight:800;
	border-radius:0.5rem;
	display:flex!important;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}

footer button a:hover{
	text-decoration:none;
}


footer .ft__link--bnr{
	margin:1em auto 0 auto;
	padding:0;
	width:fit-content;
}

footer .ft__link--bnr li{
	margin:1em 0 0 0;
	padding:0;
}

footer .ft__link--bnr li img{
	display:block;
	width:100%;
	height:auto;
}

footer .theme-song h6::before{
	content:"\2022";
}

footer hr{
	margin-bottom:1em;
}

.instagram{
	font-family:'MrsSaintDelafield-Regular', serif;
	font-weight:800;
	font-size:1.8em;
	line-height:1;
	overflow:hidden;
	margin:0 0 1rem 0;
	padding:0;
}

.instagram a{
	text-decoration:none;
	background-color:#FFF;
	background-image:url(../img/instagram.svg);
	background-repeat:no-repeat;
	background-size:1.5rem;
	border-radius:1.5rem;
	background-position:0.8rem center;
	display:block;
	padding:0.25em 0.25em 0.25em 1.8em;
	overflow:hidden;
	letter-spacing:0.1em;
	width:100%;
	height:36px;
	text-align:left;
}

.instagram a:hover{
	text-decoration:none;
}


/*INDEX*/

.Index__Main--visual{
	width:100%;
	min-height:calc(100vh - 64px);
	margin:0;
	padding:0;
	position:relative;
	display:flex;
	flex-direction:column;
	background-repeat:no-repeat;
	background-position:left bottom;
	background-size:cover;
	z-index:0;
}@media screen and (max-width:768px){
	.Index__Main--visual{
		background-position:left bottom;
	}
}

.Index__Main--visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.3);
}

.index__catchphrase--top{
	width:60%;
	margin:0;
	padding:2em;
	z-index:1;
	color:#FFF;
	text-shadow: 0px 0px 8px rgba(0, 0, 0, 1) , 0px 0px 1px rgba(0, 0, 0, 1);
}@media screen and (max-width:768px){
	.index__catchphrase--top{
		margin:0;
		padding:1em;
		width:fit-content;
		font-size:0.7em
	}
}

.index__catchphrase--top h1{
	font-size:2em;
	font-family:NotoSansJP-Black;
	line-height:1.4;
}

.index__catchphrase--top h1 em{
	display:block;
	font-size:0.6em;
	font-style:normal!important;
}

.index__catchphrase--top h1 .mobile{
	display:none;
}@media screen and (max-width:768px){
	.index__catchphrase--top h1 .mobile{
		display:block;
	}
}

.index__catchphrase--top p{
	font-size:1.4em;
	font-weight:500;
}

.index__catchphrase--top ul{
	font-size:1.2em;
	font-weight:500;
	margin:1em 0 1em 0;
	padding:0;
	list-style:none;
}

.index__catchphrase--top ul li{
	margin-left:1.5em;
}

.index__catchphrase--top ul li::before{
	content: "\2611 ";
	margin-right:0.5em;
	margin-left:-1.5em;
}

.index__catchphrase--top p.ask__btn{
	background:var(--yellow);
	padding:0.5em;
	font-size:1.6em;
	font-family:NotoSansJP-Black;
	line-height:1.4;
	width:fit-content;
	border-radius:0.25em;
	position:relative;
	transition:all 0.5s;
	top:0;
	left:0;
}

.index__catchphrase--top p.ask__btn a{
	color:#FFF;
}

.index__catchphrase--top p.ask__btn:hover{
	top:-0.1em;
	left:-0.1em;
}

.index__catchphrase--top p.ask__btn a:hover{
	text-decoration:none;
}


/*ページ共通*/
.text__align--center{
	text-align:center!important;
}

.multiply{
	mix-blend-mode:multiply;
}

.catchphrase{
	font-family: 'NotoSansJP-Black';
	font-size:1.2em;
	color:var(--brown);
}



.mybutton button{
	display:block;
	background:var(--yellow);
	margin:auto;
	padding:0.5em 1em 0.5em 1em;
	font-size:1em;
	font-family:NotoSansJP-Black;
	line-height:1.4;
	width:100%;
	border:none;
	border-radius:0.25em;
	position:relative;
	transition:all 0.5s;
	top:0;
	left:0;
	cursor: pointer;
	text-align:center;
}

ul.check{
	list-style:none;
	margin:0;
	padding:0;
	color:var(--brown);
	font-weight:800;
}

ul.check li{
	border-bottom:solid 2px var(--green);
	margin:0;
	padding:0.5em 0 0.5em 0;
}

ul.check li::before{
	content:"\2714";
	display:inline-block;
	margin-right:0.5em;
}

ul.keywords{
	margin:0.8em;
	padding:0;
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	gap:1em;
}

ul.keywords li{
	flex:0 1 auto;
	min-width:calc(25.3% - 1em);
}

ul.keywords li::before{
	content:"\25CF";
	font-size:0.6em;
	vertical-align:middle;
	display:inline-block;
	margin:0 0.25em 0.25em 0;
}

ul.step{
	list-style:none;
	margin:0 auto 0 auto;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:1em 0.25em;
	align-items:center;
	overflow:hidden;
}@media screen and (max-width:768px){
	ul.step{
		flex-direction:column;
	}
}

ul.step li{
	flex:0 1 17%;
	min-width:100px;
	margin:0;
	padding:0;
}@media screen and (max-width:768px){
	ul.step li{
		max-width:180px;
	}
}

ul.step li:nth-child(2n){
	flex:0 1 auto;
	min-width:24px;
	height:2px;
	background:#000;
	overflow:hidden;
	margin:0 0 1px 0;
	padding:0;
}@media screen and (max-width:768px){
	ul.step li:nth-child(2n){
		width:2em;
		transform: rotate(90deg);
		margin:0;
	}
}

ul.step li figure{
	width:100%;
	min-width:100px;
	max-width:180px;
	margin:auto;
}@media screen and (max-width:768px){
	ul.step li figure{
		max-width:180px;
	}
}

ul.step li figure img{
	width:100%;
}

ul.step li figcaption{
	font-size:0.8rem;
	white-space:nowrap;
	overflow:hidden;
	font-weight:800;
	text-align:center;
}

.Page__title--wrap{
	margin:0;
	padding:1rem 2rem 1rem 2rem;
	width:100%;
	height:128px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	overflow:hidden;
	position: relative;
	z-index:0;
	}
	
.Page__title--wrap::after{
    content:"";
    width:100%;
    height:100%;
    display:block;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    z-index:-1;
}

.Page__title--wrap h1{
	color:#FFF;
	font-size:1.5em;
	font-weight:500;
	text-shadow:0px 0px 4px rgba(100, 30, 0, 1), 0px 0px 3px rgba(100, 30, 0, 1), 0px 0px 2px rgba(100, 30, 0, 1), 0px 0px 1px rgba(100, 30, 0, 1);
	z-index:100;
}

.Page__Wrap--Default{
	width:auto;
	margin:0;
	padding:0 4rem 0 4rem;
	display:flex;
	flex-wrap:wrap;
}@media screen and (max-width:768px){
	.Page__Wrap--Default{
		display:block;
		padding:0;
	}
}

.Page__Wrap--Default main{
	flex:0 0 calc(100% - 400px);
	margin:0;
	padding:0;
}

.Page__Wrap--Default section{
	margin:0;
	padding:1rem 1rem 2rem 1rem;
}

/*段組み*/
div.flexcolum__wrap--auto{
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	justify-content:space-between;
}

div.flexcolum__wrap--auto div.item__cel--trisection h3{
	width:100%;
	margin:0!important;
	padding:0.5em!important;
	text-align:center;
	border-left:none!important;
	font-size:0.8rem!important;
}

div.flexcolum__wrap--auto div.item__cel--trisection{
	flex:0 1 calc(33.33% - 1rem);
	background:var(--oldlace);
	padding:0.5em 1em 0.5em 1em;
}@media screen and (max-width:768px){
	div.flexcolum__wrap--auto div.item__cel--trisection{
		flex:1 1 auto;
		padding:0.5em;
	}
	
	div.flexcolum__wrap--auto div.item__cel--trisection br{
		display:none;
	}
	
	div.flexcolum__wrap--auto div.item__cel--trisection h3{
		margin:0!important;
		padding:0.5em!important;
		text-align:left!important;
		border-left:none!important;
		font-size:0.8rem!important;
	}

	div.flexcolum__wrap--auto div.item__cel--trisection p{
		margin:0!important;
		padding:0.5em!important;
		text-align:left!important;
	}
	
	div.flexcolum__wrap--auto div.item__cel--trisection img{
		float:left;
	}
}

div.item__cel--trisection img{
	display:block;
	margin:auto;
}




div.item__cel--trisection p{
	font-size:0.8rem!important;
}

div.item__cel--trisection::after{
	content:"";
	display:block;
	clear:both;
}

.item__cel--3{
	flex:1 0 calc(30% - 1rem);
}@media screen and (max-width:768px){
	.item__cel--3{
		flex:0 0 100%;
	}
}

.item__cel--7{
	flex:1 0 calc(70% - 1rem);
}@media screen and (max-width:768px){
	.item__cel--7{
		flex:0 0 100%;
	}
}

.Page__Wrap--Default main h2{
	font-size:1.2em;
	font-family:'NotoSansJP-Black';
	background:var(--yellow);
	margin:2em 0 1em 0;
	padding:0.5em;
	position:relative;
	display:flex;
	align-items:center;
}

.Page__Wrap--Default main h2::before{
	content:"●";
	content:"\25CF";
	color:#FFF;
	display:inline-block;
	margin-right:0.5em;
	font-size:0.6em;
}

.Page__Wrap--Default main h2::after{
	content:"";
	width:100%;
	height:100%;
	background:var(--gray);
	position:absolute;
	top:5%;
	left:2px;
	transform:rotate(0.8deg);
	z-Index:-1;
}

.Page__Wrap--Default main h2:first-child{
	margin-top:0;
}

.Page__Wrap--Default section h3{
	font-family:'Sawarabi Gothic';
	font-size:1em;
	line-height:1.2;
	font-weight:500;
	color:#000;
	width:fit-content;
	background:var(--oldlace);
	padding:0.25em;
	border-left:solid 5px var(--yellow);
}

.Page__Wrap--Default section p + h4{
	margin-top:1.5em;
}

.Page__Wrap--Default section h4{
	margin:0 0 1em -0.5em;
	padding:0;
	color:var(--general-brown);
}
.Page__Wrap--Default section h4::before{
	content:"\3010";
}

.Page__Wrap--Default section h4::after{
	content:"\3011";
}

.Page__Wrap--Default section h5{
	font-size:0.9em;
	margin:1.25em 0 0.75em 0;
	color:var(--brown);
	display:flex;
	align-items:center;
}

.Page__Wrap--Default section h5::before{
	content:"";
	display:block;
	width:0.8em;
	height:4px;
	margin:0 0.25em 0 0;
	padding:0;
	border-radius:2px;
	background:var(--brown);
	font-size:0.9em;
}

.Page__Wrap--Default section h5 + p{
	font-size:0.8em!important;
	line-height:1.4;
}

.Page__Wrap--Default section h6{
	font-size:0.8em;
	font-weight:500;
	color:var(--dark--red);
}
.Page__Wrap--Default section h6::before{
	content:"\203B";
	display:inline-block;
	margin-right:0.25em;
}

.Page__Wrap--Default section h6 + p{
	font-size:0.8em!important;
	line-height:1.4;
	color:var(--dark--red);
}


/*こんなお悩み*/
.nayami{
	max-width:100%;
	height:auto;
	display:block;
	margin:auto;
}
/*サイドバー*/

.aside__image--center{
	width:100%;
	margin:0;
	padding:0 0 1rem 0;
}

.aside__image--center img{
	display:block;
	margin:auto;
}

.Page__Wrap--Default aside{
	margin:0;
	padding:1rem;
	flex:1 1 400px;
}
.Page__Wrap--Default aside h3{
	font-size:1.2em;
	color:var(--brown);
	font-family:'NotoSansJP-Black';
	margin-bottom:1rem;
	padding:0.5em;
	text-align:center;
}

.Page__Wrap--Default aside h3::before{
	content: "\2500";
	display:inline-block;
	margin-right:0.25em;
}

.Page__Wrap--Default aside h3::after{
	content: "\2500";
	display:inline-block;
	margin-left:0.25em;
}

.Page__Wrap--Default aside h4{
	font-size:1.2em;
	color:var(--brown);
	font-family:'NotoSansJP-Black';
	margin-bottom:1rem;
	padding:0.5em;
	text-align:center;
}

.Page__Wrap--Default aside h4::before{
	content: "\2500";
	display:inline-block;
	margin-right:0.25em;
}

.Page__Wrap--Default aside h4::after{
	content: "\2500";
	display:inline-block;
	margin-left:0.25em;
}


/*インスタdemo*/
.instademo{
	width:fit-content;
	display:flex;
	flex-wrap:wrap;
	gap:0.25em;
	margin:auto;
	padding:0;
}

.instademo figure{
	flex:0 1 calc(26.5% - 0.5em);
	aspect-ratio:1/1;
	margin:0;
	padding:0;
	overflow:hidden;
}

.instademo figure img{
	width:100%;
	height:auto;
	aspect-ratio:1/1;
	object-fit:cover;
}

/*バナー*/

ul.bnr{
	width:100%;
	margin:0;
	padding:0 0 1rem 0;
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	gap:1rem;
}

ul.bnr li{
	margin:0;
	padding:0;
	flex:1;
	width:100%;
	border:solid 1px #EEE;
	overflow:hidden;
}

ul.bnr li a{
	width:100%;
	min-height:100%;
	display:block;
	overflow:hidden;
}

ul.bnr li a img{
	display:block;
	margin:0 auto 0 auto;
	padding:0;
	object-fit:cover;
	width:100%;
	height:auto;
}
