@charset "UTF-8";
/* CSS Document */
@import url('normalize.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Zen+Maru+Gothic&display=swap');



a {
	color: #444;
}
@media (hover: hover) {
	a:hover,
	a:active {
		color:#555555;
		text-decoration:none;
	}
	a:hover img {
		opacity:0.6;
	}
}

body,html {
	height:100%;
}
html {
	scroll-behavior: smooth;
}
body {
	background:#E5F8FF;
	color: #555555;
	font-family: "Zen Maru Gothic", "メイリオ", Meiryo,"HiraKakuPro-W3","ヒラギノ角ゴ Pro W3","Helvetica Neue", Helvetica, "Arial", "ＭＳ Ｐゴシック",sans-serif;
  font-weight: 500;
  font-style: normal;
	letter-spacing: 1px;
	overflow-x: hidden;
	border: none!important;
}


a {
	text-decoration:underline;
}
a:hover,
a:active {
	text-decoration: none;
}

a:hover img {
	opacity:0.6;
	filter: alpha(opacity=60);
}
img {
	border:0;
	vertical-align:middle;
	max-width:100%;
	height:auto;
}
ul, li, dl, dt, dd, p {
	margin:0;
	padding:0;
}

ul {
	list-style:none;
	letter-spacing:-0.4em;
	font-size:0;
}
li {
	letter-spacing:normal;
}
dl	{list-style-type: none;}
em,i {
	font-style:normal;
	vertical-align: middle;
}

h1, h2 {
	margin:0;
	padding:0;
	font-weight: 400;

}
h2 a {
	text-decoration: none;
}
h2 a:hover {
	color: #F8BD5E;
}
hr {
	height:0px;
	margin:2em 0 0 0;
	border:none;
}

.contents > section,
.bg_white > section {
		padding-bottom: 40px;
	}

figure {
	margin: 0 0 15px 0;
	padding: 0;
}

.textR {
	text-align:right !important;
}
.textC {
	text-align:center !important;
}


/* LIST COMMON */
ul.liststyle,
ul.wp-block-list {
	margin-left:1.4rem;
	padding-bottom:20px;
	margin-bottom: 10px;
	margin-top: 5px;
}
ol {
	margin:0;
	padding-bottom: 15px;
    padding-left: 2em;
}
dd ul.liststyle,
li ul.liststyle {
	padding-bottom: 0;
	margin-bottom: 0;
}
ul.liststyle li,
ul.wp-block-list li,
ol li {
	margin-bottom:15px;
	line-height: 1.4;
}

ul.liststyle > li::before,
ul.wp-block-list li::before {
	content: "•";
	display:inline-block;
	margin-left:-1.4em;
	width:1.4em;
	text-align:center;
}

ul.liststyle.listNotice > li {
	margin-bottom: 5px;
	font-size: 14px;
}
ul.liststyle.listNotice > li:before {
	content: "※";
	display:inline-block;
	margin-left:-1.4em;
	width:1.4em;
}
ul.liststyle.listNotice2 > li:before {
	content: "＊";
	display:inline-block;
	margin-left:-1.4em;
	width:1.4em;
}
ul.liststyle.listNotice2 > li {
	font-size: 15px;
}
dl.dl_list {
	margin: 0 auto;
}
dl.dl_list dt {
	text-align: left;
}

dl.dl_list dd {
margin-bottom:10px;
text-align: left;
}



/* COMMON */

.btn_area {
	text-align: center;
	padding: 10px 0;
}
.btn {
	display: block;
	text-align: center;
	text-decoration: none;
	color: #fff;
	position: relative;
	width: 85%;
	max-width: 450px;
	line-height: 60px;
	margin: 0 auto;
	cursor: pointer;
  transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
	font-size: 28px;
	border-radius: 10px;
	padding-right: 10px;
}
.btn:hover {
	text-decoration: none;
	opacity: .7;
	color: #fff;
}
.btn::after {
	content: "";
	width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #fff;
	position: absolute;
	right: 12px;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.bg_pink {
	background-color: #C93A7C;
}
.bg_blue {
	background-color: #0092E3;
}
.bg_green {
	background-color: #399D25;
}
.txt_pink {
	color: #C93A7C;
}
.txt_blue {
	color: #0092E3;
}
.txt_green {
	color: #399D25;
}
.bg_white {
	background-color: #fff;
	padding-top: 40px;
}

h2 {
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	color: #FBA61C;
}

h2 span {
	display:inline-block;
	position: relative;
	line-height: 26px;
	margin-bottom: 20px;
}
h2 span::before {
	content: "";
	display: block;
	width: 26px;
	height: 26px;
	background-color: #FBA61C;
	border-radius: 50%;
	position: absolute;
	left: -35px;
top: 0;
bottom: 0;
margin: auto 0;	
}
h2 span::after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	background-color: #fff;
	border-radius: 50%;
	position: absolute;
	left: -18px;
top: 5px;
}



.main {
	width: 90vw;
	margin: 0 auto;
	text-align: center;
}

h3, h4 {
	font-weight: 600;
	margin-bottom: 10px;
}

/* FOOTER COMMON */

footer {
	padding: 50px 0 0 0;
	text-align: center;
}
footer figure {
	text-align: center;
	width: 230px;
	margin: 0 auto 20px auto;
}
footer p {
	text-align: center;
}
.footer_cr {
	background-color: #A8E8FF;
	text-align: center;
	color: #707070;
	font-size: 12px;
	padding: 5px 0;
	margin-top: 20px;
}



#pagetop {
	position: fixed;
  right: 0;
  bottom: 20px;
  opacity: 0.6;
	z-index: 500;
}

#pagetop a {
  display: block;
  width: 40px;
  height: 40px;
  text-decoration: none;
    position:  relative;
	color: #FBA61C;
}
#pagetop a::before {
    content:  '';
    width: 20px;
    height: 20px;
    display:  block;
    border-top: solid 2px;
    border-right: solid 2px;
    transform: rotate(-45deg);
    position:  absolute;
    top: 10px;
    bottom:  0;
    left:  0;
    right:  0;
    margin:  auto;
}

/* HEADER COMMON */
.wrapper {
	position: relative;
}
header {
	margin: 0 auto;
	padding: 5px 0;
	width: 100%;
}
nav ul a {
	text-decoration: none;
	font-weight: 700;
	display: block;
	border-radius: 5px;
	text-align: center;
	padding: 0 15px;
	line-height: 50px;
}
nav ul .recruit_link a {
	background-color: #399D25;
	
	
	color: #fff;
}
nav ul a:hover {
	opacity: .7;
	text-decoration: none;
}
nav ul li:not([class]) a:hover {
	background-color: #A8E8FF;
}
header {
	position: relative;
}

.site_logo {
	width: 260px;
	height: 260px;
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	font-weight: 600;
	font-size: 20px;
	z-index: 5;
	position: absolute;
	left: -10px;
	top: -60px;
	padding: 40px 15px 0 15px;
}
.site_logo img {
	width: calc(100% - 30px);
}

#headerdiv {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
}
#headerdiv.fixed {
	background: rgba(3,110,183,.8);
}



/* TOP COMMON */
.topimg {
	background-image: url("../img/main.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 40vh;
	position: relative;
	background-position: top center;
}
.img_catch {
	position: absolute;
	bottom: 0;
	left: 0;
}
.catch_bg {
	background-color: rgba(251,166,28,0.90);
	height: 68px;
	line-height: 68px;
	margin-bottom: 5px;
	border-radius: 0 34px 34px 0;
	font-size: 30px;
	font-weight: bold;
	text-align: left;
	color: #fff;
	padding: 0 5vw;
}
.everyday {
	width: 336px;
	height: 336px;
	position: absolute;
	right: 0;
	bottom: -130px;
	background-image: url("../img/icon-arrow2.png");
	background-size: 336px auto;
	background-repeat: no-repeat;
	padding: 22px 37px;
	z-index: 5;
}

.everyday .everyday_inner {
	background-color: #fff;
	width: 262px;
	height: 262px;
	border-radius: 50%;
	font-size: 50px;
	font-weight: bold;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.2;

}


.lead {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	line-height: 1.6;
	z-index: 5;
	padding: 40px 0;
}
.lead strong {
	position: relative;
	display: inline-block;
	z-index: 5;
}
.lead strong span {
	position: relative;
	display: inline-block;
	z-index: 5;
}
.lead strong::after {
	content: "";
	display: block;
	background-color: #FBA61C;
	opacity: .5;
	width: 100%;
	height: 10px;
	position: absolute;
	left: 0;
	bottom: 2px;
	z-index: 0;
}

.person h2 {
	font-size: 20px;
	position: relative;
	padding: 0 20px;
	margin-bottom: 10px;
}

.person h2::before {
	content: "";
	  width: 2px;
  height: 30px;
  background: black;
  transform: rotate(-45deg);
	position: absolute;
	left: 0;
	top: 0;

}

.person h2::after {
	content: "";
	width: 2px;
	height: 30px;
	background: black;
	transform: rotate(45deg);
	position: absolute;
	right: 0;
	top: 0;
}
.person h2.txt_pink::before,
.person h2.txt_pink::after {
	background: #C93A7C
}
.person h2.txt_blue::before,
.person h2.txt_blue::after {
	background: #0092E3
}
.person .flex_box figure {
	border-radius: 10px;
	overflow: hidden;
}
.person .btn {
	width: 80%;
}
#recruit h2 {
	color: #399D25;
}
#recruit h2 span::before {
	background-color: #399D25;
	border-radius: 50%;
}
#recruit .inner {
	border:3px solid #399D25;
	border-radius: 20px;
	padding: 25px 50px;
	text-align: center;
	display: inline-block;
	margin: 0 auto;
}

#recruit p {
	font-size: 20px;
	font-weight: bold;
}
p.memo {
	font-size: 14px !important;
	font-weight: normal !important;
}

h3 {
	font-size: 26px;
	font-weight: bold;
}
.gmap {
   width: 100%;
  aspect-ratio: 16 / 9;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* -------------------------------------- */
/* ----- SP(max-width: 767px)  ----- */
@media screen and (max-width: 767.9px) {
	
	html {
		font-size: 62.5%;
		padding:0;
		margin:0;
	}
	body {
		font-size: 1.5rem;
		line-height:1.8;
		padding:0 ;
		margin:0;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		-webkit-text-size-adjust: 100%;
		box-sizing:border-box;
		word-wrap:break-word;
		overflow-wrap:break-word;
	}
	.sptab_only, .sp_only {display:block !important;}
	.tab_only,pctab_only {display: none;}
	
	.spSmall,
	small {
		font-size: 1.2rem;
	}

	p, li, dt, dd, td, th {
		font-size:1.5rem;
		line-height:1.8;
	}

	input, button, select, textarea {
		font-size:1.5rem;
	}
	dl.dl_list dt {
		font-weight: 500;
	}
	dl.dl_list dd {
		margin-bottom:30px;
		padding-left: 1em;
		box-sizing: border-box;
	}
	header {
		padding: 0;
	}
	.site_logo {
		width: 40vw;
		height: 40vw;
		left: -5vw;
    top: -10vw;
    padding: 5vw 15px 0 15px;
		
	}
	
	.menu {
		z-index:1000;
	}
	
	
	/* HEADER SP */
	
	/* TOP SP */
	
	.person .flex_box .kaitai {
		padding-bottom: 120px;
		background-image: url(../img/icon-arrow.png);
    background-position: bottom 20px center;
    background-repeat: no-repeat;
    background-size: 96px auto;
		
	}
	#shopinfo h3 {
		text-align: left;
	}
	#recruit p {
		font-size: 18px;
	}
	footer p {
		font-size: 14px;
	}
}

/* SP and TABLET */
@media screen and (max-width: 1109.9px) {
		.pc_only {display:none !important;}
	
	.menu {
		z-index:1000;
	}
	.navbar_toggle {
		z-index:9999;
		position: absolute;
		right: 5vw;
		top: 3vw;
	}
	.navbar_toggle_icon {
		position: relative;
		display: block;
		height: 2px;
		width: 30px;
		background: #0092E3;
		-webkit-transition: ease .5s;
		transition: ease .5s;
	}
	.navbar_toggle_icon:nth-child(1) {
		top: 0;
	}
	.navbar_toggle_icon:nth-child(2) {
		margin: 8px 0;
	}
	.navbar_toggle_icon:nth-child(3) {
		top: 0;
	}
	/*OPEN時の動き*/
	.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
		top: 10px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		opacity: 0;
	}
	.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
		top: -10px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.menu {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
		-webkit-transition:ease .5s;
		transition:ease .5s;
		width: 100%;
		position: relative;
		position: absolute;
		text-align: left;
		background: rgba(255,255,255,0.80);
		padding: 50px 0 20px 0;
	}
	.menu ul.gnav {
		
	}
	.menu ul.gnav > li {
		padding: 0 5vw;
		box-sizing: border-box;
		margin-bottom: 5px;
		font-size: 2rem;
	}

	.menu ul.gnav > li > a {
		display: block;
		padding: .8em;
		text-decoration: none;

	}
	.menu ul.gnav > li:not([class]) > a {
		
		background-color: #C7EBFF;

	}
	/*OPEN時の動き*/
	.menu.open {
		-webkit-transform:translateX(0);
		transform:translateX(0);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}


	.btn,
	h2 {
	font-size: 22px;
	}
	h3 {
			font-size: 20px;
		}
	
	.lead {
			font-size: 18px;
		}
/* TOP SP and TABLET */
	.img_catch {
		display: none;
	}
	.everyday {
		    width: 156px;
    height: 148px;
		background-size: 156px auto;
		    padding: 11px 17px;
		bottom: -40px;
	}
	.everyday .everyday_inner {
		    width: 122px;
    height: 122px;
    border-radius: 50%;
    font-size: 18px;
	}
	.img_catch.img_catchsp {
		display: block;
		position: relative;
		padding: 50px 15px 15px 0;
	}
	.img_catch.img_catchsp .catch_bg {
		font-size: 20px;
		height: 48px;
    line-height: 48px;
    border-radius: 0 24px 24px 0;
	}
	
	#recruit .inner {
		padding: 15px;
	}
	
}
@media screen and (max-width: 400px) {

.lead {
	font-size: 16px;
	}
}
/* -------------------- */
/* ----- TABLET ONLY ----- */
@media screen and (min-width: 768px) and (max-width: 1109.9px) {

	.tab_only {
		display: block !important;
	}
	.topimg {
		height: 60vh;
	}
	.img_catch.img_catchsp {
	    width: calc(24em + 20vw);
	}
	.person .flex_box {
		grid-gap: 14vw;
        background-image: url(../img/icon-arrow.png);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: 10vw auto;
    }
	.person .flex_box > div {
		width: 40vw;
	}
}



/* -------------------- */
/* ----- TABLET and PC----- */

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

	body {
		padding:0;
		margin:0;
		text-align:center;
		font-size:15px;
		line-height:1.8;
		word-wrap:break-word;
		overflow-wrap:break-word;
	}

	.sp_only {display: none !important;}
	.sptab_only {display: block !important;}
	nav .sptab_only {
		display: inline-block !important;
		margin-left: 5px;
	}

	p {
		font-size:15px;
		line-height:1.8;
	}
	ul {
		list-style:none;
		letter-spacing:-0.4em;
		word-spacing: -1em;
		font-size:0;
	}
	li {
		letter-spacing:normal;
		word-spacing:normal;
	}
	li, dt, dd, td, th {
		font-size:15px;
		line-height:1.8;
	}
	input, button, select, textarea {
		font-size:15px;
	}

	section section {
		padding-bottom: 30px;
	}
	a[href^="tel:"]{
		pointer-events: none;
		color: #707070;
		text-decoration:none;
	 }
	dl.dl_list dt {
		float:left;
		clear:both;
		width:4em;
	}

	dl.dl_list dd {
		padding-left:4.5em;
	}
	
	#recruit .btn {
		width: 400px;
	}
	.flex_box {
		display: flex;
		justify-content: center;
	}
	.andSubArea {
		justify-content: space-between;
	}
	.subArea {
		width: 25%;
	}
	
	/* HEADER TAB and PC */
	#headerdiv.fixed .sitenameArea img {
	width:80px;
}

	/* FOOTER TAB and PC */
	
	

	/* TOP TABLET and PC */
	#shopinfo .flex_box {
		align-items: center;
		flex-direction: row-reverse;
	}
	#shopinfo .gmap {
		width: 40vw;
	}
	#shopinfo .text_area {
		padding-left: 15px;
		text-align: left;
		
	}

}



/* -------------------- */
/* ------- PC -------- */

@media screen and (min-width: 1110px) {
	body,html {
		height:100%;
		padding:0;
		margin:0;
		width:100%;
	}
	body {
		min-width:1110px;
	}
	.drawer {
		display: none;
	}
	nav ul {
	display: flex;
		grid-gap: 10px;
		justify-content: flex-end;
		align-items: center;
		padding-right: 10px;
}

	
	.sptab_only,
	.tab_only, 
	nav .sptab_only{
		display: none !important;
	}
	.pc_only {
		display: block;
	}
	/* HEADER PC */

	header {
		width: 100%;
	}
	

	.main {
		width: 1110px;
		margin: 0 auto;
	}
	
	/* FOOTER FIX PC */
	body,
	.wrapper {
		display: flex;
		flex-direction: column;
		min-height: 100vh;
	}

	#footer_area {
		margin-top: auto;
	}
	
	/* TOP */
	.img_catchsp.img_catch {
		display: none;
	}
	.topimg {
		min-height: 600px;
	}
	.person .flex_box {
	grid-gap: 150px;
	background-image: url("../img/icon-arrow.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 96px auto;
	
}
	.person .flex_box figure {
		width: 305px;
	}
	#shopinfo .text_area {
		padding-left: 30px;
		
	}
}

#instalist {
	background-image: url("../img/bg_kumo.png");
	background-repeat: no-repeat;
	background-size:cover;
	background-position: top center;
	padding: 30px 0 50px 0;
}

.insta-container {
	display: flex;
	grid-gap: 15px;
	flex-wrap: wrap;
}
.insta-container li {
	width: calc((100% - 30px) / 3);
	aspect-ratio: 1/1;
}
.insta-container li a {
	display: block;
	overflow: hidden;
	border:1px solid #EEEEEE;
	box-sizing: border-box;
}
.insta-container li a img {
	object-fit: cover;
}
@media screen and (max-width: 767.9px) {
.insta-container li {
	width: calc((100% - 15px) / 2);
}
}
@media screen and (min-width: 1110px) {
#instalist {
	padding: 40px 0 100px 0;
	}
}