@charset "utf-8";

/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width : 769px ){
#pc------------------------------------------- {
}
body {
	overflow-x: hidden;
}
h1 {
	text-align: left;
	margin-top: 25px;
	margin-left: 25px;
	margin-bottom: 70px;
}
#helo h2 {
	margin-bottom: 80px;
}
#helo p.text {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.5em;
	margin-top: 40px;
}





#about .inner {
/*	background-image: url("../images/pc/about_bg.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;*/
	margin-top: 150px;
	position: relative;
}
#about .inner .bg-shape {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150%;
  height: 110%;
  background: #0a5f55;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
#about .inner .content {
  position: relative;
  z-index: 1;
}
#about .inner .flex {
	display: flex;
	width: 1148px;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
}
#about .inner .flex:nth-child(even) {
	flex-direction: row-reverse;
	margin-top: 70px;
	margin-bottom: 70px;
}
#about .inner .flex figure {
	overflow: hidden;
}
#about .inner .flex p {
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	width: 552px;
	line-height: 2em;
}
#about .inner+figure+p {
	margin-top: 220px;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.5em;
}
#about .flex2 {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: left;
	gap: 120px;
	margin-top: 90px;
	margin-bottom: 90px;
}
#about .flex2 p {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.9em;
}
#about .flex2 p .color01 {
	color: #005A52;
}
#about .flex2 p .color02 {
	color: #f6d100;
}
#about .flex2 p .color03 {
	color: #95c73c;
}
#about .flex2 p .color04 {
	color: #f18f69;
}
#about .flex2 p .color05 {
	color: #329e63;
}





#store .inner {
/*	background-image: url("../images/pc/about_bg.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;*/
	margin-top: 150px;
	position: relative;
	color: #fff;
	padding-bottom: 90px;
}
#store .inner .bg-shape {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150%;
  height: 110%;
  background: #0a5f55;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
#store .inner .content {
  position: relative;
  z-index: 1;
}
#store h2 {
	font-size: 48px;
	font-weight: bold;
	padding-top: 50px;
	margin-bottom: 35px;
}
#store h2+p {
	font-size: 24px;
	margin-bottom: 55px;
}
#store ul {
	border: 1px solid #fff;
	width: 900px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 60px;
	padding-bottom: 60px;
}
#store ul li {
	font-size: 28px;
	line-height: 2em;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: left;
	font-weight: 500;
}
#store ul li span:first-child {
	width: 350px;
	text-align: justify;
	text-justify: inter-ideograph;
	display: block;
	text-align-last: justify;
}
#store ul li span:nth-of-type(2) {
	margin-right: 12px;
	margin-left: 12px;
}





footer .btn a {
	width: 1100px;
	height: 100px;
	background-color: #0A5F55;
	display: block;
	margin-left: auto;
	margin-right: auto;
	color: #fff;
	margin-top: 120px;
	line-height: 100px;
	font-size: 28px;
	text-decoration: none;
	font-weight: 500;
	transition: 0.3s;
}
footer .btn a:hover {
	opacity: 0.7;
	transition: 0.3s;
}
footer .btn+p {
	font-size: 24px;
	margin-top: 60px;
	margin-bottom: 80px;
}
footer small {
	display: block;
	margin-top: 70px;
	padding-bottom: 20px;
	font-size: 12px;
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
h1 {
	display: none;
}

/* =====================
   helo
===================== */
#helo h2 {
	margin-bottom: 18.67vw; /* 70px */
	margin-top: 18.67vw;    /* 70px */
	width: 56.8vw;          /* 213px */
	margin-left: auto;
	margin-right: auto;
}

#helo p.sp {
	width: 85.33vw; /* 320px */
	margin-left: auto;
	margin-right: auto;
}

#helo p.sp + p {
	font-size: 4.53vw; /* 17px */
	font-weight: 500;
	line-height: 1.5em;
	margin-top: 10.67vw; /* 40px */
}

/* =====================
   about
===================== */
#about {
	margin-top: 15vw;
}
#about .inner {
	position: relative;
	background-color: #005952;
}

#about .inner .content {
	position: relative;
	z-index: 1;
}

#about .inner .flex {
	margin-left: auto;
	margin-right: auto;
}

#about .inner .flex:nth-child(even) {
	margin-top: 13.33vw;   /* 50px */
	margin-bottom: 13.33vw;
}

#about .inner .flex figure {
	overflow: hidden;
}

#about .inner .flex p {
	color: #fff;
	font-size: 3.73vw; /* 14px */
	font-weight: 500;
	line-height: 2em;
	margin-top: 10.67vw; /* 40px */
}

#about .inner +figure+ p {
	margin-top: 15vw; /* 140px */
	font-size: 5.07vw;   /* 19px */
	font-weight: 500;
	line-height: 1.5em;
}

#about .flex2 {
	text-align: left;
	margin-top: 21.33vw; /* 80px */
	margin-bottom: 8vw;  /* 30px */
}

#about .flex2 h2 {
	width: 51.2vw; /* 192px */
	margin-left: auto;
	margin-right: auto;
}

#about .flex2 p {
	font-size: 3.73vw; /* 14px */
	font-weight: 500;
	line-height: 1.9em;
	margin-left: 13.33vw; /* 50px */
	margin-top: 8vw;      /* 30px */
}

#about .flex2 p .color01 { color: #005A52; }
#about .flex2 p .color02 { color: #f6d100; }
#about .flex2 p .color03 { color: #95c73c; }
#about .flex2 p .color04 { color: #f18f69; }
#about .flex2 p .color05 { color: #329e63; }

#about .flex2 + figure {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

/* =====================
   store
===================== */
#store {
	margin-top: 15vw;
}
#store .inner {
	position: relative;
	color: #fff;
	background-color: #005952;
}

#store .inner .content {
	position: relative;
	z-index: 1;
}

#store h2 {
	font-size: 5.6vw; /* 21px */
	font-weight: bold;
	padding-top: 2.67vw; /* 10px */
	margin-bottom: 2.67vw;
}

#store h2 + p {
	font-size: 3.73vw; /* 14px */
	margin-bottom: 6.67vw; /* 25px */
}

#store ul {
	border: 1px solid #fff; /* pxのまま */
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 2.67vw;  /* 10px */
	padding-bottom: 2.67vw;
}

#store ul li {
	font-size: 3.2vw; /* 12px */
	line-height: 2em;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: left;
	font-weight: 500;
}

#store ul li span:first-child {
	width: 40vw; /* 150px */
	text-align: justify;
	text-justify: inter-ideograph;
	display: block;
	text-align-last: justify;
}

#store ul li span:nth-of-type(2) {
	margin-right: 1.33vw; /* 5px */
	margin-left: 1.33vw;
}

/* =====================
   footer
===================== */
footer .btn a {
	width: 100%;
	height: 16.8vw; /* 63px */
	background-color: #0A5F55;
	display: block;
	margin-left: auto;
	margin-right: auto;
	color: #fff;
	margin-top: 18.67vw; /* 70px */
	line-height: 16.8vw;
	font-size: 4.27vw; /* 16px */
	text-decoration: none;
	font-weight: 500;
	transition: 0.3s;
}

footer .btn a:hover {
	opacity: 0.7;
	transition: 0.3s;
}

footer .btn + p {
	font-size: 3.73vw; /* 14px */
	margin-top: 10.67vw; /* 40px */
	margin-bottom: 10.67vw;
}

footer h2 {
	width: 86.4vw; /* 324px */
	margin-left: auto;
	margin-right: auto;
}

footer small {
	display: block;
	margin-top: 16vw; /* 60px */
	padding-bottom: 2.67vw; /* 10px */
	font-size: 3.2vw; /* 12px */
}
}



/*===============================================
●画面の横幅が400pxまで
===============================================*/
@media screen and (max-width:400px){
/*===============================================
●sp400
===============================================*/
#sp400------------------------------------------- {
}
}



/*===============================================
●画面の横幅が320pxまで
===============================================*/
@media screen and (max-width:320px){
/*===============================================
●sp320
===============================================*/
#sp320------------------------------------------- {
}
}



/*===============================================
●画面の横幅が481pxから768pxまで
===============================================*/
@media screen and (min-width:481px) and (max-width:768px) {
/*===============================================
●tablet
===============================================*/
#tab------------------------------------------- {
}
}