@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
@import url('https://fonts.googleapis.com/css?family=Great+Vibes|Playball&display=swap');
html {
	overflow-y: scroll;
	font-size: 82.5%;
}
body {
	line-height: 1.0;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 300;
	font-style: normal;
	color: #111;
}
a, a:link, a:active, a:visited {
	transition: all 0.5s ease-out;
	outline: none;
	text-decoration: none;
}
.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}
* {
	box-sizing: border-box;
}
ul {
	padding: 0;
}
li {
	list-style-type: none;
}
dd {
	margin-left: 0;
}
.flow {
	padding-left: 120px;
	position: relative;
}
.flow::before {
	content: "";
	width: 15px;
	height: 100%;
	background: #eee;
	margin-left: -8px;
	display: block;
	position: absolute;
	top: 0;
	left: 120px;
}
.flow>li {
	position: relative;
}
.flow>li:not(:last-child) {
	margin-bottom: 8vh;
}
.flow>li .icon {
	font-size: 18px;
	font-weight:bold;
	color: #fff;
	background: rgb(26,26,114);
	background: -moz-linear-gradient(left, rgba(26,26,114, 1) 0%, rgba(102, 213, 233, 1) 100%);
	background: -webkit-linear-gradient(left, rgba(26,26,114, 1) 0%, rgba(102, 213, 233, 1) 100%);
	background: linear-gradient(to right, rgba(26,26,114, 1) 0%, rgba(102, 213, 233, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1a1a72', endColorstr='#66d5e9', GradientType=1);
	padding: 8px 20px;
	display: block;
	position: absolute;
	top: 0;
	left: -120px;
	z-index: 100;
}
.flow>li .icon::after {
	content: "";
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #66d5e9;
	position: absolute;
	top: 50%;
	left: 100%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.flow>li dl {
	padding-left: 70px;
	position: relative;
}
.flow>li dl::before, .flow>li dl::after {
	content: "";
	display: block;
	position: absolute;
	top: 15px;
}
.flow>li dl::before {
	width: 7px;
	height: 7px;
	margin-top: -3px;
	background: #6b90db;
	border-radius: 50%;
	left: -4px;
}
.flow>li dl::after {
	width: 50px;
	border-bottom: 1px dashed #999;
	position: absolute;
	left: 5px;
}
.flow>li dl dt {
	font-size: 23px;
	font-weight: 600;
	color: #1a1a72;
	margin-bottom: 1vh;
}
.flow>li dl dd {
	font-size: 16px;
	margin-bottom: 1vh;
	line-height: 180%
}

@media screen and (max-width: 667px) {

.flow>li dl::after {
	width: 20px;
	border-bottom: 1px dashed #999;
	position: absolute;
	left: 5px;
}

.flow>li dl {
    padding-left: 30px;
    position: relative;
  }
  
  .flow>li dl dd {
    font-size: 12px;
    margin-bottom: 1vh;
    line-height: 180%;
}  

}


.mida_p {
 padding: 1rem 2rem;
    border-left: 5px dotted #0f5606;
    background: #f4f7eb;
    font-size: 25px;
    text-align: left;
    font-weight: bold;
}


.oshirase ul{
  width: 100%;
    max-width: 950px;
    margin: 0 auto;
    
    padding: 10px;
    box-sizing: border-box;
    position: relative;
    font-size: 18px;
    line-height: 160%;
}
.oshirase  li{
  display: flex;
  padding:15px;
  border-bottom:1px solid #000;
}

.oshirase .day{
font-weight: bold;
  
}
.oshirase .label{
  background-color:blue;
  border-radius:3px;
  color:#fff;
  padding:2px 5px;
  margin:0 20px;
}
.oshirase .text{
padding: 0px 25px;
    margin: 0px 0px 10px;

  
}

@media screen and (max-width: 667px) {

.oshirase  li{
  display: block;
  padding:0px;
  border-bottom:1px solid #000;
}

.oshirase .label {
    background-color: #0f5606;
    border-radius: 3px;
    color: #fff;
    padding: 2px 5px;
    margin: 10px 0px 10px;
    width: 30%;
}

.oshirase .text{
  width: 100%;
  margin: 10px 0px 10px;
  padding: 0px;
  font-size:16px;
}
}


.qa-list dl {
	position: relative;
	margin: 0;
	padding: 28px 80px 28px 30px;
	border-bottom: 1px solid #ddd;
}
.qa-list dl:first-child {
	border-top: 1px solid #ddd;
}
.qa-list dl dt {
	position: relative;
	margin: 0;
	padding: 0 0 0 50px;
	font-weight: bold;
	font-size: 20px;
}
.qa-list dl dt::before {
	font-size: 22px;
	line-height: 1;
	position: absolute;
	top: 3px;
	left: 0;
	display: block;
	content: 'Q.';
	color: #1a1a72;
}
.qa-list dl dd::before {
	font-size: 22px;
	line-height: 1;
	position: absolute;
	top: 3px;
	left: 2px;
	display: block;
	content: 'A.';
	font-weight: bold;
	color: #3285bf;
}
.qa-list dl dd {
	position: relative;
	display: none;
	height: auto;
	margin: 20px 0 0;
	padding: 0 0 0 50px;
}
.qa-list dl dd p {
	margin: 30px 0 0;
}
.qa-list dl dd p:first-child {
	margin-top: 0;
}
@media screen and (max-width: 767px) {
	.qa-list dl {
		position: relative;
		padding: 15px 40px 15px 10px;
	}
	.qa-list dl::before {
		top: 20px;
		right: 20px;
		width: 7px;
		height: 7px;
	}
	.qa-list dl dt {
		padding: 0 0 0 30px;
		font-size: 14px;
		line-height: 180%;
	}
	.qa-list dl dt::before {
		font-size: 14px;
		top: 3px;
		left: 5px;
		content: 'Q.';
	}
	.qa-list dl dd::before {
		font-size: 14px;
		top: 5px;
		left: 5px;
		content: 'A.';
	}
	.qa-list dl dd {
		margin: 10px 0 0;
		padding: 0 0 0 30px;
		font-size: 14px;
	}
	.qa-list dl dd p {
		margin: 30px 0 0;
	}
	.qa-list dl dd p:first-child {
		margin-top: 0;
	}
}
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_qa {
	overflow-x: hidden;
	margin: 0 auto;
	color: #333333;
}
.cp_qa .cp_actab {
	padding: 20px 0;
	border-bottom: 1px dotted #cccccc;
}
.cp_qa label {
	font-size: 20px;
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 10px 20px 0px 60px;
	cursor: pointer;
	text-align: left;
}
.cp_qa .cp_actab-content {
	font-size: 1.3em;
	position: relative;
	overflow: hidden;
	height: 0;
	margin: 0px 0px 0px 45px;
	padding: 0 14px;
	-webkit-transition: 0.4s ease;
	transition: 0.4s ease;
	opacity: 0;
}
.cp_qa .cp_actab input[type=checkbox]:checked~.cp_actab-content {
	height: auto;
	padding: 14px;
	opacity: 1;
	text-align: left;
}
.cp_qa .cp_plus {
	font-size: 2.4em;
	line-height: 100%;
	position: absolute;
	z-index: 5;
	margin: 5px 0 0 10px;
	-webkit-transition: 0.4s ease;
	transition: 0.4s ease;
}
.cp_qa .cp_actab input[type=checkbox]:checked~.cp_plus {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.cp_qa .cp_actab input[type=checkbox] {
	display: none;
}
.c_link a:link {
	color: #000;
}
.c_link a:visited {
	color: #000;
}
.c_link a:hover {
	color: #0f5606;
	;
}
.c_link a:active {
	color: #0f5606;
	;
}
.c123 {
	position: relative;
	padding: 1.5rem;
	text-align: center;
	background: #ffd60;
	font-size: 20px;
	line-height: 200%;
}
.c123:before, .c123:after {
	position: absolute;
	content: '';
}
.c123:before {
	top: -40px;
	left: calc(50% - 40px);
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #fff8d3;
}
.c123:after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff8d3;
}
.c123 i {
	font-size: 30px;
	font-size: 3rem;
	line-height: 60px;
	position: absolute;
	z-index: 1;
	top: -40px;
	left: calc(50% - 40px);
	width: 80px;
	height: 60px;
	text-align: center;
}
.c123 span {
	position: relative;
	z-index: 1;
}
.tal-c_1 {
	text-align: center;
	font-size: 20px;
}
.f-18_1 {
	font-size: 18px;
}
@media only screen and (max-width: 680px) {
	.tal-c_1 {
		text-align: left;
		font-size: 16px;
	}
	.f-18_1 {
		font-size: 16px;
	}
}
@media screen and (min-width: 880px) {
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}
}
@media screen and (max-width: 880px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
}
@media only screen and (max-width: 480px) {
	html {
		font-size: 55%;
	}
}
.box6 {
	padding: 0.5em 1em;
	margin: 2em 0;
	background: #fafbfc;
    border: dashed 2px #727275;
	/*“_ü*/
}
.box6 p {
	margin: 0;
	padding: 0;
}
.box27 {
	position: relative;
	margin: 0px 30px 50px 10px;
	padding: 0.5em 1em;
	border: solid 3px #0f5606;
}
.box27 .box-title {
	position: absolute;
	display: inline-block;
	top: -27px;
	left: -3px;
	padding: 5px 15px 5px;
	height: auto;
	line-height: 25px;
	font-size: 20px;
	background: #0f5606;
	color: #ffffff;
	font-weight: bold;
	border-radius: 5px 5px 0 0;
}
.box27 p {
	margin: 10px 0px 10px;
	padding: 0;
	font-size: 18px;
}
.box30 {
	margin: 2em 0;
	background: #fcfdf7;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}
.box30 .box-title {
	font-size: 2em;
	background: #0f5606;
	padding: 4px;
	text-align: center;
	color: #FFF;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.box30 p {
	padding: 15px 20px;
	margin: 0;
}

@media screen and (max-width: 667px) {

.box30 .box-title {
	font-size: 1.4em;

}
}

.box4 {
	padding: 8px 19px;
	margin: 2em 0;
	color: #000;
	background: #fff;
	border-top: solid 5px #0f5606;
	border-bottom: solid 5px #0f5606;
}
.box4 p {
	margin: 0;
	padding: 0;
	font-weight: bold;
	font-size: 1.3em;
}
.company1 {
	position: relative;
	height: 65px;
	margin-right: 190px;
	padding: 1rem 2rem 0 2rem;
	word-break: break-all;
	color: #fff;
	background: #0f5606;
	margin-bottom: 10px;
}
.company1:after {
	position: absolute;
	top: 0;
	right: -56px;
	width: 0;
	height: 0;
	content: '';
	border-width: 65px 55px 0 0;
	border-style: solid;
	border-color: #1a1a72 transparent transparent transparent;
}
.company1 span {
	font-size: 40px;
	font-size: 4rem;
	position: absolute;
	top: 0;
	right: -150px;
	display: block;
	padding-top: 3px;
	padding-left: 16px;
	color: #000;
}
.company1 p {
	font-size: 16px;
}
/*line@*/

.line_top {
	border: 2px solid #28c00a;
	width: 240px;
	margin: auto;
}
.line_side {
	border: 2px solid #28c00a;
	width: 100%;
	margin: auto;
}
.line_ttl {
	background: #28c00a;
	padding: 10px 0;
	text-align: center;
	color: #fff;
	font-size: 130%;
	font-weight: bold;
}
.line_top div, .line_side div {
	margin: 15px auto;
	width: 90%;
}
.line_text {
	line-height: 1.5em;
	text-align: left;
	font-size: 14px;
	margin-bottom: 10px;
	text-align: center;
}
.line_img {
	margin: 5px auto;
	width: auto;
	text-align: center;
}
.line_qr img {
	width: 40%;
}
.line_btn img {
	width: 40%;
}
/*---------------------------------------------------------slide*/

.slider_fade {
	position: relative;
}
.slider_fade>li {
	position: absolute;
	list-style: none;
	visibility: hidden;
	animation: anime_slider_fade 12s 0s infinite;
}
.slider_fade>li:nth-of-type(2) {
	animation-delay: 4s;
}
.slider_fade>li:nth-of-type(3) {
	animation-delay: 8s;
}
@keyframes anime_slider_fade {
	0% {
		visibility: visible;
		opacity: 0;
	}
	15% {
		opacity: 1;
	}
	33.3% {
		opacity: 1;
	}
	48.3% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
/*---------------------------------------------------------common*/

img {
	width: 100%;
	height: auto;
}
.tac {
	text-align: center;
}
.s_policy {
	width: 96%;
	font-size: 16px;
	border-top: none;
	margin: 0px auto 0;
	line-height: 1.5;
	box-sizing: border-box;
	max-width: 900px;
}
.s_policy dt {
	float: left;
	padding: 10px;
}
.s_policy dd {
	margin-left: 30px;
	padding: 10px;
}
.s_policy1 {
	width: 96%;
	font-size: 16px;
	border-top: none;
	margin: 0px auto 0;
	line-height: 1.5;
	box-sizing: border-box;
	max-width: 900px;
}
.s_policy1 dt {
	float: left;
	padding: 10px;
}
.s_policy1 dd {
	margin-left: 110px;
	padding: 10px;
}
/*---------------------------------------------------------page-top*/

#page-top {
	display: block;
	position: fixed;
	z-index: 10;
	bottom: 10px;
	right: 10px;
	font-size: 12px;
	width: 60px;
	height: 60px;
	line-height: 60px;
	background: #cdecf6;
	color: #fff;
	text-align: center;
	text-decoration: none;
	border-radius: 50%;
	box-sizing: border-box;
	box-shadow: 0px 0px 0px 5px #cdecf6;
	margin: 0 auto;
	border: dashed 2px;
	border-color: #fff;
}
#page-top:hover {
	background: #eaf8fd;
	;
}
.p_t_arrow {
	display: block;
	margin: 25px auto 0;
	width: 16px;
	height: 16px;
	border-top: 2px solid #58585a;
	border-right: 2px solid #58585a;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	vertical-align: middle;
}
/*---------------------------------------------------------contain*/

header {
	width: 100%;
	height: 70px;
	background: rgba(255, 255, 255, 1);
	position: absolute;
	z-index: 10;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
header h1 {
	font-size: 8px;
	line-height: 15px;
	height: 30px;
	color: #111;
	padding-left: 5px;
	letter-spacing: 1px;
}
.navigation {
	height: 70px;
	font-weight: 500;
	letter-spacing: 1px;
}
.nav-container {
	width: 100%;
}
#logo {
	min-width: 200px;
	max-width: 400px;
	padding: 0 0 0 5px;
	box-sizing: border-box;
	float: left;
	width: 100%;
	height: 65px;
	overflow: hidden;
	margin-top: -25px;
}
#logo img {
	width: 100%;
	height: auto;
}
nav {
	float: right;
}
nav ul {
	list-style: none;
	padding: 0;
	max-width: 700px;
	margin: 0 auto;
}
nav ul li {
	float: left;
	position: relative;
	margin: 17px 0 0 0;
}
nav ul li a {
	display: block;
	padding: 0 5px;
	line-height: 1.2;
	text-decoration: none;
	font-size: 12px;
	color: #111;
}
nav ul li.nopc {
	display: none;
}
nav ul li a:hover, nav ul li a:visited:hover {
	color: #58585a;
}
nav ul li a br {
	display: none;
}
.sns {
	width: 20px;
}
.sns img {
	width: 20px;
	height: auto;
}
/* Mobile navigation */

.nav-mobile {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	background: #0f5606;
	height: 70px;
	width: 70px;
	z-index: 10;
}
@media only screen and (max-width: 2000px) {
	header {
		height: 70px;
		position: fixed;
		box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	}
	.navigation {
		height: 70px;
	}
	.nav-mobile {
		display: block;
		position: fixed;
		text-align: center;
		height: 70px;
	}
	nav {
		width: 100%;
		background: #f4f7eb;
		box-shadow: 0 5px 3px -3px rgba(0, 0, 0, 0.2) inset;
	}
	.nav-list {
		z-index: 8;
		padding: 30px 10px 50px;
		text-align: center;
	}
	.nav-list:after {
		content: "";
		display: inline-block;
		width: 100%;
		height: 0;
	}
	nav ul {
		display: none;
	}
	nav ul li {
		float: none;
		text-align: center;
		width: calc(100%/4 - 2%);
		height: 110px;
		position: relative;
		line-height: 1.5;
		vertical-align: top;
		border-radius: 5px;
		display: inline-block;
		margin: 10px 2px 0 2px;
		box-sizing: border-box;
		background-color: #fff;
		box-shadow: 0 0 5px rgba(0, 0, 0, 0.08);
	}
	nav ul li.nopc {
		display: inline-block;
	}
	nav ul li a {
		font-size: 13px;
		margin-bottom: 0px;
		color: #111;
		height: 110px;
		padding-top: 65px;
		display: block;
		box-sizing: border-box;
		transition: .4s;
		font-family: "Noto Sans JP", sans-serif;
		font-style: normal;
		border-radius: 5px;
	}
	nav ul li a br {
		display: block;
	}
	nav ul li a:hover {
		background: #f4f7eb;
	}
	nav ul li ul li a {
		padding-left: 30px;
	}
	nav ul li:after {
		position: absolute;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		color: #111;
		left: 50%;
		margin-left: -17px;
		top: 10px;
		font-size: 35px;
	}
	nav ul li:hover:after {
		color: #222;
	}
	nav ul li:nth-child(1):after {
		content: '\f192';
		/*home*/
		color: #10652d;
		/*blue*/
	}
	nav ul li:nth-child(2):after {
		content: '\f2b5';
		color: #0d14ef;
	}
	nav ul li:nth-child(3):after {
		content: '\f0c5';
		/*home*/
		color: #52bc76;
		/*yamabuki*/
	}
	nav ul li:nth-child(4):after {
		content: '\f058';
		/*Fork and knife */
		color: #b19372;
		/*red*/
	}
	nav ul li:nth-child(5):after {
		content: '\f1ad';
		/*pen*/
		color: #0b0b0b;
	}
	nav ul li:nth-child(6):after {
		content: '\f0e0';
		/*pen*/
		color: #1a1a72;
	}
	nav ul li:nth-child(7):after {
		content: url('https://api.iconify.design/fa-brands:twitter.svg?color=%231DA1F2&height=40');
		vertical-align: -0.125em;
		margin-top: 5px;
		margin-left: -20px;
		color: #1DA1F2;
		/*orange*/
	}
	nav ul li:nth-child(8):after {
		content: '\f015';
		color: #CA0A37;
	}
	nav ul li:nth-child(9):after {
		content: '\f0e0';
		/*pin*/
		color: #BDD402;
	}
	nav ul li:nth-child(10):after {
		content: '\f118';
		color: #F8B900;
	}
	nav ul li i {
		position: absolute;
		font-family: "Font Awesome 5 Free";
		font-weight: 400;
		color: #111;
		left: 50%;
		margin-left: -7px;
		top: 50px;
		font-size: 15px;
	}
	nav ul li.inst {
		background: -webkit-linear-gradient(50deg, #b19372 0%, #f13f79 30%, #427eff 80%) no-repeat;
		background: linear-gradient(50deg, #b19372 0%, #f13f79 30%, #427eff 80%) no-repeat;
	}
	nav ul li.fb {
		background: rgba(59, 89, 152, 1);
	}
	nav ul li.line {
		background: rgba(29, 205, 0, 1);
	}
	.nav-dropdown {
		position: static;
	}
}
@media screen and (min-width: 2001px) {
	.nav-list {
		display: block !important;
	}
}
#nav-toggle {
	position: absolute;
	left: 18px;
	top: 22px;
	cursor: pointer;
	padding: 10px 35px 16px 0px;
}
#nav-toggle span, #nav-toggle span:before, #nav-toggle span:after {
	cursor: pointer;
	border-radius: 2px;
	height: 4px;
	width: 35px;
	background: #fff;
	position: absolute;
	display: block;
	content: "";
	transition: all 300ms ease-in-out;
}
#nav-toggle span:before {
	top: -10px;
}
#nav-toggle span:after {
	bottom: -10px;
}
#nav-toggle.active span {
	background-color: transparent;
}
#nav-toggle.active span:before, #nav-toggle.active span:after {
	top: 0;
}
#nav-toggle.active span:before {
	transform: rotate(45deg);
}
#nav-toggle.active span:after {
	transform: rotate(-45deg);
}
.tel, .map {
	position: absolute;
	right: 75px;
	top: 10px;
	cursor: pointer;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: #b72504;
	font-family: "Font Awesome 5 Free";
	font-size: 20px;
	padding: 15px 0 0 0;
	box-sizing: border-box;
}
.map {
	right: 130px;
	background-color: #1a1a72;
}
.tel a, .map a {
	color: #fff;
}
@media only screen and (max-width: 580px) {
	nav ul li {
		width: calc(120%/3 - 2%);
	}
	.nav-list {
		padding-top: 10px;
	}
	.tel, .map {
		position: absolute;
		width: 45px;
		height: 45px;
		right: 73px;
		padding: 12px 0 0 0;
		top: 20px;
	}
	.map {
		right: 122px;
	}
}
/* -------------------------------------------------------------/nav */

#container {
	width: 100%;
	height: 1000px;
	padding-top: 70px;
}
#container1 {
	width: 100%;
	height: 720px;
	padding-top: 70px;
}
#container3 {
	width: 100%;
	padding-top: 130px;
}
@media screen and (max-width: 1350px) {
	#container3 {
		width: 100%;
		padding-top: 0px;
	}
}
@media screen and (max-width: 1200px) {
	#container1 {
		width: 100%;
		height: 620px;
		padding-top: 70px;
	}
	#container3 {
		width: 100%;
		padding-top: 30px;
	}
}
@media screen and (max-width: 1100px) {
	#container1 {
		width: 100%;
		height: 520px;
		padding-top: 70px;
	}
	#container3 {
		width: 100%;
		padding-top: 30px;
	}
}
@media screen and (max-width: 940px) {
	#container1 {
		width: 100%;
		height: 450px;
		padding-top: 70px;
	}
	#container3 {
		width: 100%;
		padding-top: 0px;
	}
}
@media screen and (max-width: 840px) {
	#container1 {
		width: 100%;
		height: 400px;
		padding-top: 70px;
	}
	#container3 {
		width: 100%;
		padding-top: 30px;
	}
}
@media screen and (max-width: 740px) {
	#container1 {
		width: 100%;
		height: 400px;
		padding-top: 70px;
	}
	#container3 {
		width: 100%;
		padding-top: 0px;
	}
}
@media screen and (max-width: 640px) {
	#container1 {
		width: 100%;
		height: 300px;
		padding-top: 70px;
	}
	#container3 {
		width: 100%;
		padding-top: 30px;
	}
}
@media screen and (max-width: 540px) {
	#container1 {
		width: 100%;
		height: auto;
		padding-top: 70px;
	}
}
@media screen and (max-width: 480px) {
	#container1 {
		width: 100%;
		height: 230px;
		padding-top: 70px;
	}
}
#container2 {
	width: 100%;
	padding-top: 120px;
}
.main {
	width: 96%;
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
	padding-top: 20px;
	position: relative;
}
.main img {
	width: 100%;
	max-width: 100%;
	height: auto;
	animation-name: fadein;
	animation-duration: 2s;
	animation-iteration-count: 1;
}
.catch {
	font-size: 6.266vw;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	justify-content: center;
	align-items: center;
	letter-spacing: 2px;
	top: 850px;
	font-family: 'Playball';
	margin-left: 20px;
	animation-name: fadein;
	animation-duration: 2s;
	animation-iteration-count: 1;
}
@media only screen and (max-width: 1380px) {
	.catch {
		top: 600px;
	}
}
@media only screen and (max-width: 1280px) {
	.catch {
		display: none;
	}
	#container2 {
		width: 100%;
		padding-top: 0px;
	}
}
.gotorecruit a {
	position: absolute;
	width: 130px;
	height: 130px;
	border-radius: 50%;
	bottom: 90px;
	right: 90px;
	background-color: #FBFAE1;
	color: #333;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 15px;
	font-weight: bold;
	line-height: 2;
	box-shadow: 0px 0px 0px 5px #FBFAE1, 0px 0px 10px rgba(0, 0, 0, 0.95);
	border: dashed 2px;
	border-color: #58585a;
	letter-spacing: 2px;
}
.gotorecruit a:hover {
	background-color: #52bc76;
	border-color: #fff;
	color: #fff;
	box-shadow: 0px 0px 0px 5px #52bc76, 0px 0px 10px rgba(0, 0, 0, 0.95);
}
@keyframes fadein {
	from {
		opacity: 0;
		transform: translateY(-40px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/*---------------------------------------------------------news*/

#news {
	padding: 20px 20px 20px 20px;
}
.head01 {
	margin: 0 0 20px;
	font-size: 28px;
	text-align: center;
	letter-spacing: 4px;
	font-weight: 400;
}
.max_w {
	max-width: 100%;
	width: 96%;
	height: auto;
	margin: 0px auto;
	position: relative;
}
.max1200 {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.news_li {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	border-bottom: #ccc solid 1px;
	padding: 20px;
	box-sizing: border-box;
	position: relative;
	font-size: 18px;
	line-height:160%;
}
.news_date {
	color: #000;
	margin-right: 10px;
	font-weight: bold;
}
.news_cat {
	line-height: 1;
	padding: 6px 0 3px;
	width: 70px;
	border-radius: 5px;
	color: #fff;
	margin-right: 10px;
	font-size: 11px;
	display: inline-block;
	text-align: center;
}
.cat_color01 {
	background-color: #8DC21E;
}
.cat_color02 {
	background-color: #b19372;
}
.cat_color03 {
	background-color: #E36702;
}
.news_title a {
	color: #000;
}
.news_title a:hover {
	color: #ccc;
}
.btn01 a {
	padding: 14px 20px;
	width: 50%;
	text-align: center;
	border: 1px solid #ccc;
	background-color: #fff;
	margin: 40px auto 0;
	font-size: 15px;
	border-radius: 20px;
	font-weight: 400;
	color: #000;
	display: block;
}
.btn01 a:hover {
	border: 1px solid #edf8cd;
	background-color: #edf8cd;
	color: #222;
}

@media only screen and (max-width: 600px) {
	.btn01 a {
	width: 100%;
}
}	
	
@media only screen and (max-width: 800px) {
	.gotorecruit a {
		position: absolute;
		width: 100px;
		height: 100px;
		font-size: 11px;
		letter-spacing: 1px;
		bottom: 10px;
		right: 10px;
	}
}
@media only screen and (max-width: 600px) {
	.news_li {
		width: 100%;
		padding: 80px 20px 20px 20px;
		margin-top: 20px;
		font-size: 20px;
		line-height: 200%;
	}
	.news_date {
		position: absolute;
		left: 0;
		top: 0;
		font-size: 12px;
	}
	.news_cat {
		position: absolute;
		right: 0;
		top: 0;
	}
	.news_title {
		position: absolute;
		left: 0;
		top: 23px;
		font-size: 12px;
		line-height: 180%;
		margin-top: 12px;
	}
}
/*---------------------------------------------------------nav_middle*/

#nav_middle {
	width: 100%;
	height: auto;
	background-color: #f4f7eb;
}
#nav_middle ul {
	padding: 30px 10px 50px;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto;
}
#nav_middle ul li {
	text-align: center;
	width: calc(100%/4 - 2%);
	height: 120px;
	position: relative;
	line-height: 1.5;
	vertical-align: top;
	border-radius: 5px;
	display: inline-block;
	margin: 10px 2px 0 2px;
	box-sizing: border-box;
	background-color: #fff;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.08);
}
#nav_middle ul li a {
	width: 100%;
	font-size: 14px;
	margin-bottom: 0px;
	color: #111;
	height: 120px;
	padding-top: 70px;
	display: block;
	box-sizing: border-box;
	transition: .4s;
	font-family: "Noto Sans JP", sans-serif;
	font-style: normal;
	border-radius: 5px;
}
#nav_middle ul li a:hover {
	background: #effbfc;
	;
}
#nav_middle ul li ul li a {
	padding-left: 30px;
}
#nav_middle ul li:after {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #fff;
	left: 50%;
	margin-left: -17px;
	top: 20px;
	font-size: 35px;
}
#nav_middle ul li:hover:after {
	color: #fff;
}
#nav_middle ul li:nth-child(1):after {
	content: '\f192';
	/*home*/
	color: #10652d;
	/*blue*/
}
#nav_middle ul li:nth-child(2):after {
	content: '\f2b5';
	color: #0d14ef;
}
#nav_middle ul li:nth-child(3):after {
	content: '\f0c5';
	/*home*/
	color: #52bc76;
	/*yamabuki*/
}
#nav_middle ul li:nth-child(4):after {
	content: '\f058';
	/*Fork and knife */
	color: #b19372;
	/*red*/
}
#nav_middle ul li:nth-child(5):after {
	content: '\f1ad';
	/*pen*/
	color: #0b0b0b;
}
#nav_middle ul li:nth-child(6):after {
	content: '\f0e0';
	/*pen*/
	color: #1a1a72;
}
#nav_middle ul li:nth-child(7):after {
	content: url('https://api.iconify.design/fa-brands:twitter.svg?color=%231DA1F2&height=40');
	vertical-align: -0.125em;
	margin-top: 5px;
	margin-left: -20px;
	color: #1DA1F2;
	/*orange*/
}
#nav_middle ul li:nth-child(8):after {
	content: '\f015';
	color: #CA0A37;
}
#nav_middle ul li:nth-child(9):after {
	content: '\f0e0';
	/*pin*/
	color: #999;
	/*kimidori*/
}
#nav_middle ul li:nth-child(10):after {
	content: '\f118';
	color: #F8B900;
}
@media only screen and (max-width: 800px) {
	#nav_middle ul li {
		width: calc(120%/3 - 2%);
	}
}
/*---------------------------------------------------------nav_middle*/

#nav_middle1 {
	width: 100%;
	height: auto;
}
#nav_middle1 ul {
	padding: 30px 10px 50px;
	text-align: leftr;
	max-width: 1200px;
	margin: 0 auto;
}
#nav_middle1 ul li {
	text-align: center;
	width: calc(145%/6 - 2%);
	height: 50px;
	position: relative;
	line-height: 1.5;
	vertical-align: top;
	border-radius: 5px;
	display: inline-block;
	margin: 10px 2px 0 22px;
	box-sizing: border-box;
	background-color: #fff;
}
#nav_middle1 ul li a {
	width: 100%;
	font-size: 14px;
	margin-bottom: 0px;
	color: #111;
	height: 30px;
	padding-top: 8px;
	display: block;
	box-sizing: border-box;
	transition: .4s;
	font-family: "Noto Sans JP", sans-serif;
	font-style: normal;
	border-radius: 5px;
}
#nav_middle1 ul li a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
#nav_middle1 ul li ul li a {
	padding-left: 30px;
}
#nav_middle1 ul li:after {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #fff;
	left: 50%;
	margin-left: -17px;
	top: 10px;
	font-size: 35px;
}
#nav_middle1 ul li:hover:after {
	color: #fff;
}
@media only screen and (max-width: 800px) {
	#nav_middle1 ul li {
		width: calc(130%/3 - 2%);
	}
}
/*---------------------------------------------------------nav_middle*/

#nav_middle2 {
	width: 100%;
	height: auto;
}
#nav_middle2 ul {
	padding: 30px 10px 50px;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto;
}
#nav_middle2 ul li {
	text-align: center;
	width: calc(110%/6 - 2%);
	height: 50px;
	position: relative;
	line-height: 1.5;
	vertical-align: top;
	border-radius: 5px;
	display: inline-block;
	margin: 10px 2px 0 12px;
	box-sizing: border-box;
	background-color: #fff;
	box-shadow: 0 0 5px #cbcbcb;
}
#nav_middle2 ul li a {
	width: 100%;
	font-size: 14px;
	margin-bottom: 0px;
	color: #111;
	height: 30px;
	padding-top: 8px;
	display: block;
	box-sizing: border-box;
	transition: .4s;
	font-family: "Noto Sans JP", sans-serif;
	font-style: normal;
	border-radius: 5px;
}
#nav_middle2 ul li a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
#nav_middle2 ul li ul li a {
	padding-left: 30px;
}
#nav_middle2 ul li:after {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #fff;
	left: 50%;
	margin-left: -17px;
	top: 10px;
	font-size: 35px;
}
#nav_middle2 ul li:hover:after {
	color: #fff;
}
@media only screen and (max-width: 800px) {
	#nav_middle2 ul li {
		width: calc(130%/3 - 2%);
	}
}
/*---------------------------------------------------------top_concept*/

#concept {
	padding: 40px 0;
}
.title_box {
	text-align: center;
}
.head02, .head02color {
	margin: 0 0 20px;
	font-size: 2.8rem;
	text-align: center;
	letter-spacing: 2px;
	font-weight: 400;
	position: relative;
	padding: 0 38px 0 40px;
	box-sizing: border-box;
	display: inline-block;
	justify-content: center;
}
.head03 {
	margin: 0 0 0;
	font-size: 16px;
	text-align: center;
	letter-spacing: 4px;
	font-weight: 400;
	position: relative;
	padding: 0 40px;
	box-sizing: border-box;
	display: inline-block;
	justify-content: center;
}
.head03:before {
	content: 'ç¹ï½¼';
	font-size: 30px;
	color: #ccc;
	/*pink*/
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -15px;
}
.head03:after {
	content: 'ç¹ï½¼';
	font-size: 30px;
	color: #ccc;
	/*blue*/
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -15px;
}
.top_concept {
	display: flex;
	justify-content: space-between;
	padding: 50px 0 0;
}
.tc_ph {
	display: inline-block;
	width: calc(90%/3 - 1%);
	text-align: center;
	font-size: 18px;
	margin-bottom: 20px;
}
.tc_ph img {
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
	border-radius: 5px;
	box-sizing: border-box;
}
.tc_ph span {
	display: block;
	margin-top: 10px;
}
.tc_ph1 {
	display: inline-block;
	width: calc(90%/4 - 1%);
	text-align: center;
	font-size: 18px;
	margin-bottom: 20px;
}
.tc_ph1 img {
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
	border-radius: 5px;
	box-sizing: border-box;
}
.tc_ph1 span {
	display: block;
	margin-top: 10px;
}
@media only screen and (max-width: 600px) {
	.top_concept {
		display: block;
		text-align: center;
	}
	.head02, .head02color {
		margin: 0 0 20px;
		font-size: 2.5rem;
		text-align: center;
		letter-spacing: 2px;
		font-weight: bold;
		position: relative;
		padding: 0 38px 0 40px;
		box-sizing: border-box;
		display: inline-block;
		justify-content: center;
		line-height: 130%;
	}
}
/*---------------------------------------------------------footer*/

#footer {
	height: auto;
	text-align: center;
	background-color: #fefefe;
	color: #333;
	padding: 0px 0;
	width: 100%;
	line-height: 180%;
}
#f_inner {
	display: flex;
	justify-content: space-between;
}
#f_left, #f_right {
	width: 50%;
	display: inline-block;
	border-right: 1px #ddd solid;
	box-sizing: border-box;
	padding: 0px 10% 20px;
	margin-bottom: 20px;
	font-size: 15px;
	line-height: 2;
}
#f_right {
	border: none;
	padding: 60px 1% 0px;
}
#f_right h2 {
	font-size: 16px;
	font-family: "Noto Sans JP", sans-serif;
	border: 1px #0f5606 solid;
	border-radius: 20px;
	width: 200px;
	display: inline-block;
}
#f_left a {
	color: #222;
}
#f_left img {
	margin-top: 80px;
	width: 90%;
	height: auto;
	max-width: 500px;
}
#f_left h2 {
	font-size: 16px;
	font-family: "Noto Sans JP", sans-serif;
	border: 1px #0f5606 solid;
	border-radius: 20px;
	width: 200px;
	display: inline-block;
}

#f_left .fb img {
	width: 43px;
	height: auto;
	margin-top: 30px;
}
.btn02 {
	padding: 14px 0 10px;
	width: 150px;
	text-align: center;
	border: 1px solid #f4f7eb;
	background-color: #f4f7eb;
	margin: 10px auto;
	font-size: 16px;
	border-radius: 20px;
	font-weight: 400;
	line-height: 1;
	color: #000;
}
.btn02:hover {
	border: 1px solid #edf8cd;
	/*kimidori*/
	background-color: #edf8cd;
	/*kimidori*/
	color: #fff;
}
.open {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	border-top: none;
	font-size: 14px;
}
.open dt {
	font-weight: 800;
	width: 40%;
	line-height: 2;
	padding: 10px;
	box-sizing: border-box;
	text-align: right;
	font-family: "Noto Sans JP", sans-serif;
}
.open dd {
	padding: 10px;
	width: 60%;
	box-sizing: border-box;
	line-height: 2;
	text-align: left;
}
@media only screen and (max-width: 600px) {
	.open dt {
		width: 100%;
		font-family: "Noto Sans JP", sans-serif;
		text-align: center;
		padding: 0px;
	}
	.open dd {
		width: 100%;
		text-align: center;
		padding: 0px;
	}
	#f_right {
		border: none;
		padding: 0px 1% 0px;
	}
	#f_left img {
		margin-top: 30px;
		width: 90%;
		height: auto;
		max-width: 500px;
	}
}
.copy {
	font-size: 12px;
	text-align: center;
}
@media only screen and (max-width: 880px) {
	#f_inner {
		display: block;
	}
	.tc_ph {
		width: calc(100%/1 - 10%);
	}
	.tc_ph1 {
		width: calc(100%/1 - 10%);
	}
	#f_left, #f_right {
		width: 90%;
	}
	#f_left {
		border-right: none;
		border-bottom: 1px solid #fff;
	}
}
/*---------------------------------------------------------campany*/

.main_c {
	width: 100%;
	text-align: center;
	height: 100px;
	overflow: hidden;
	background-color: #f4f7eb;
	position: relative;
	padding-top: 5px;
}
.main_c h2 {
	font-style: normal;
	font-size: 30px;
	padding-top: 30px;
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	font-weight:bold;
}
@media only screen and (max-width: 880px) {
	.main_c h2 {
		font-weight:bold;
		font-style: normal;
		font-size: 35px;
		padding-top: 10px;
		position: relative;
		display: inline-block;
		box-sizing: border-box;
		line-height: 140%;
	}
}
@media only screen and (max-width: 680px) {
	.main_c h2 {
		font-weight:bold;
		font-style: normal;
		font-size: 20px;
		padding-top: 10px;
		position: relative;
		display: inline-block;
		box-sizing: border-box;
		line-height: 200%;
	}
}
.bbg01 {
	position: absolute;
	right: 20%;
	bottom: 20px;
	width: 40px;
}
.bbg02 {
	position: absolute;
	left: 20%;
	bottom: 20px;
	width: 30px;
}
.bbg03 {
	position: absolute;
	right: -30px;
	bottom: -10px;
	width: 35px;
	animation: r3 2s linear infinite alternate;
}
@media only screen and (max-width: 480px) {
	.bbg01 {
		right: 5%;
	}
	.bbg02 {
		left: 5%;
	}
}
@keyframes r3 {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(20deg);
	}
}
@keyframes r4 {
	0% {
		transform: rotate(-10deg);
	}
	100% {
		transform: rotate(10deg);
	}
}
.swiper-custom-parent {
	width: 98%;
	max-width: 900px;
	position: relative;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 50px;
	z-index: 0;
}
.swiper-container {
	width: 100%;
	max-width: 700px;
	height: 400px;
	margin: auto;
	border-radius: 20px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.swiper-slide {
	text-align: center;
	font-size: 18px;
	background: #fff;
}
@media only screen and (max-width: 800px) {
	.swiper-container {
		height: 320px;
	}
}
@media only screen and (max-width: 600px) {
	.swiper-container {
		height: 280px;
	}
}
@media only screen and (max-width: 480px) {
	.swiper-container {
		height: 220px;
	}
	.swiper-button-prev {
		left: -2%;
		right: auto;
	}
	.swiper-button-next {
		right: -2%;
		left: auto;
	}
}
#introduce, #events {
	padding: 40px 0px 0px 0px;
	text-align: center;
}
#idea {
	width: 100%;
	background-color: #fcf5f5;
	padding: 80px 0;
	height: 200px;
}
#policy, #access {
	width: 100%;
	padding: 60px 0px 20px 0px;
}
#detail, #recruit {
	width: 100%;
	padding: 80px 0;
}
#class {
	width: 100%;
	background-color: #f8f0da;
	padding: 80px 0;
}
#flow {
	padding: 80px 0;
}
#effort {
	width: 100%;
	background-color: #f8f0da;
	padding: 80px 0;
	height: auto;
}
.idea_box {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	padding: 80px 0;
}
.idea_img {
	width: 220px;
	height: 220px;
	display: block;
	position: absolute;
	top: 40px;
	right: 15%;
	border-radius: 50%;
	overflow: hidden;
	z-index: 0;
	opacity: 1;
}
.idea_img02 {
	width: 200px;
	height: 200px;
	display: block;
	position: absolute;
	bottom: 40px;
	left: 15%;
	border-radius: 50%;
	overflow: hidden;
	z-index: 0;
	opacity: 1;
}
.idea_img img, .idea_img02 img {
	width: 150%;
	height: auto;
	margin-left: -25%;
}
.line img {
	width: 236px;
	height: auto;
}
.head04 {
	font-size: 2.2rem;
	font-weight: 400;
	margin-bottom: 30px;
	color: #000;
	border-bottom: 7px dotted #0f5606;
	padding-bottom: 10px;
	width: 60%;
	margin: 0px auto 0px;
	text-align: center;
	line-height: 180%;
}
.head_small {
	font-size: 2.6rem;
}
@media only screen and (max-width: 1000px) {
	.head04 {
		width: 80%;
		font-size: 22px;
	}
}
@media only screen and (max-width: 600px) {
	.head04 {
		width: 95%;
		font-size: 22px;
	}
}
/*-----------------------------------------------------border-bottomæ¿¶E²*/

.bb_yamabuki {
	border-bottom: 7px dotted #b19372;
}
.bb_blue {
	border-bottom: 7px dotted #0fc0f3;
}
.bb_pink {
	border-bottom: 7px dotted #f6e3ce;
}
.bb_gr {
	border-bottom: 7px dotted ##aace3a;
}
/*-----------------------------------------------------background-coloræ¿¶E²*/

.bc_blue {
	background-color: #dcf0f6;
}
.bc_pink {
	background-color: #f9ecf2;
}
.text01 {
	font-size: 15px;
	margin: 30px 0 0;
	line-height: 2;
	text-align: center;
}
.table01 {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	font-size: 16px;
	border-top: none;
	margin: 20px auto 0;
	line-height: 1.5;
	box-sizing: border-box;
	max-width: 900px;
}
.table01 dt {
	font-weight: bold;
	width: 80px;
	padding: 10px;
	border-bottom: 5px solid #58585a;
	box-sizing: border-box;
}
.table01 dd {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 40px 10px 10px 20px;
	width: calc(100%/ - 0%);
	border-bottom: 5px solid #b19372;
	box-sizing: border-box;
	vertical-align: middle;
	font-size: 25px;
}
@media only screen and (max-width: 600px) {
	.table01 dd {
		font-size: 18px;
	}
	.table01 {
		width: 90%;
	}
}
.policy_deco {
	font-size: 10px;
	display: block;
	background-color: #58585a;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	padding-top: 15px;
	box-sizing: border-box;
}
.policy_deco span {
	display: inline-block;
	margin-top: -5px;
	font-size: 30px;
	font-weight: 800;
	font-style: normal;
}
.policy_deco1 {
	font-size: 10px;
	display: block;
	background-color: #58585a;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	padding-top: 15px;
	box-sizing: border-box;
}
.policy_deco1 span {
	display: inline-block;
	margin-top: -5px;
	font-size: 20px;
	font-weight: 800;
	font-style: normal;
}
.table02 {
	max-width: 700px;
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #b19372;
	width: 100%;
	font-size: 14px;
	border-top: none;
	margin: 0px;
	line-height: 1.5;
	box-sizing: border-box;
	text-align: center;
}
.table02 dt {
	width: 50%;
	padding: 15px;
	border-top: 1px solid #b19372;
	box-sizing: border-box;
	font-weight: bold;
	background-color: #edf8cd;
	color: #222;
}
.table02 dd {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 15px;
	width: 50%;
	border-left: 1px solid #b19372;
	border-top: 1px solid #b19372;
	box-sizing: border-box;
	background-color: #fff;
}
@media only screen and (max-width: 800px) {
	.idea_img {
		right: 10%;
		opacity: 0.4;
	}
	.idea_img02 {
		left: 10%;
		opacity: 0.4;
	}
	.table02 {
		width: 95%;
		margin: 10px;
	}
}
@media only screen and (max-width: 480px) {
	.idea_img {
		top: 0px;
		right: 0%;
	}
	.idea_img02 {
		left: 0%;
		bottom: 0;
	}
}
.t_head {
	font-weight: bold;
	color: #b19372;
}
.class_box {
	width: 100%;
	max-width: calc(700px + 4%);
	margin: 0 auto;
	padding: 25px 10px 0px 10px;
	box-sizing: border-box;
	text-align: left;
}
.class_box1 {
	width: 100%;
	max-width: calc(500px + 4%);
	margin: 0 auto;
	padding: 25px 10px 0px 10px;
	box-sizing: border-box;
	text-align: left;
}
.table03 {
	max-width: calc(700px + 4%);
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #b19372;
	width: 100%;
	font-size: 14px;
	border-top: none;
	margin: 20px auto 0;
	line-height: 1.5;
	box-sizing: border-box;
	background-color: #fff;
}
.table03 dt {
	width: 25%;
	padding: 15px;
	border-top: 1px solid #b19372;
	box-sizing: border-box;
}
.table03 dd {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 15px;
	width: 25%;
	border-left: 1px solid #b19372;
	.class_box p {
		font-size: 18px;
		margin-top: 20px;
		line-height: 200%;
		text-align: left;
	}
	border-top: 1px solid #b19372;
	box-sizing: border-box;
}
/*---------------------------------------------------------concept*/

.flow_box {
	display: flex;
	flex-wrap: wrap;
	width: 98%;
	max-width: 1200px;
	margin: 0 auto;
}
.flow01, .flow02 {
	width: 49%;
	padding: 50px 20px;
	box-sizing: border-box;
	display: inline-block;
	display: flex;
	flex-wrap: wrap;
	min-width: 350px;
}
.flow01 {
	margin-right: 2%;
}
.flow01_head {
	font-size: 20px;
	font-weight: 800;
	color: #fff;
	display: inline-block;
	width: 90%;
	border-radius: 5px;
	margin: 0 auto 40px;
	padding: 12px 0 10px;
	text-align: center;
	letter-spacing: 8px;
	border: dashed 2px;
	border-color: rgba(255, 255, 255, 0.5);
}
.head_pink {
	background-color: #F066A6;
	box-shadow: 0px 0px 0px 5px #F066A6;
}
.head_blue {
	background-color: #03BDF2;
	box-shadow: 0px 0px 0px 5px #03BDF2;
}
.table04 {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	font-size: 14px;
	border-top: none;
	margin: 20px auto 0;
	line-height: 1.5;
	box-sizing: border-box;
	max-width: 900px;
}
.table04 dt {
	font-weight: bold;
	width: 25%;
	padding-top: 10px;
	box-sizing: border-box;
	position: relative;
}
.table04 dd {
	padding: 10px;
	width: 75%;
	box-sizing: border-box;
	vertical-align: middle;
	font-size: 20px;
	position: relative;
	text-align: center;
}
.flow_time {
	font-size: 19px;
	display: block;
	background-color: #693906;
	width: 100%;
	border-radius: 5px;
	color: #fff;
	text-align: center;
	padding: 7px 0 2px;
	font-weight: 800;
	font-style: normal;
	line-height: 1;
}
.table04 dt:after {
	content: "";
	height: calc(100% - 55px);
	width: 2px;
	position: absolute;
	left: 48%;
	background-color: transparent;
	border-right: 5px dotted #BDD402;
	top: 50px;
}
.table04 dt.after_none:after {
	display: none;
}
.flow_img {
	width: 100%;
	margin: 0 auto;
	height: auto;
	display: block;
	border-radius: 10px;
	overflow: hidden;
	max-width: 300px;
}
.flow_img img {
	width: 100%;
	height: auto;
}
.flow_text {
	display: block;
	text-align: center;
	margin-top: 10px;
	font-size: 22px;
}
.flow_text_s {
	display: block;
	text-align: center;
	margin-top: 5px;
	font-size: 14px;
}
@media only screen and (max-width: 800px) {
	.flow01, .flow02 {
		width: 100%;
		padding: 50px 20px;
		margin: 0 auto;
		min-width: 350px;
	}
	.flow01 {
		margin-bottom: 20px;
	}
}
/*---------------------------------------------------------torikumi*/

.table05 {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	font-size: 14px;
	border-top: none;
	margin: 20px auto 0;
	line-height: 1.5;
	box-sizing: border-box;
	max-width: 1200px;
}
.table05 dt {
	font-weight: bold;
	width: 15%;
	padding: 10px;
	box-sizing: border-box;
}
.table05 dd {
	padding: 10px;
	width: 47.5%;
	box-sizing: border-box;
	vertical-align: middle;
	font-size: 25px;
	font-weight: 800;
	text-align: left;
}
.plf01 dl {
	width: 100%;
}
.plf01 dt {
	float: left;
	font-size: 15px;
	padding-top: 10px;
	line-height: 1.8;
	display: block;
	padding-right: 20px;
	font-weight: normal;
	width: 20%;
}
.plf01 dd {
	margin-left: 60px;
	font-size: 15px;
	padding-top: 10px;
	line-height: 1.8;
	display: block;
	padding-right: 20px;
	font-weight: normal;
	width: 100%;
}
.plf02 dl {
	width: 100%;
}
.plf02 dt {
	float: left;
	font-size: 20px;
	padding-bottom: 20px;
	line-height: 180%;
}
.plf02 dd {
	font-size: 20px;
	margin-left: 80px;
	padding-bottom: 20px;
	line-height: 180%;
}
.efb {
	font-size: 25px;
	font-weight: 500;
	text-align: left;
	vertical-align: middle;
}
.effort_deco {
	font-size: 11px;
	display: block;
	background-color: #b19372;
	width: 80px;
	height: 80px;
	padding-top: 10px;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
	box-shadow: 0px 0px 0px 5px #b19372;
	margin: 0 auto;
	border: dashed 2px;
	border-color: rgba(255, 255, 255, 0.5);
}
.effort_deco span {
	display: inline-block;
	margin-top: 0px;
	font-size: 35px;
	font-weight: 800;
	font-style: normal;
}
.img_effort {
	width: 100%;
	border-radius: 10px;
	overflow: hidden;
	display: block;
	margin-bottom: 10px;
}
.text_effort {
	font-size: 20px;
	padding-top: 10px;
	line-height: 1.8;
	display: block;
	font-weight: 300;
}
.text_effort1 {
	font-size: 15px;
	padding-top: 10px;
	line-height: 1.8;
	display: block;
	padding-right: 20px;
	font-weight: normal;
}
.f-20_1 {
	font-size: 20px;
}
@media only screen and (max-width: 800px) {
	.img_effort {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	.plf01 dt {
		width: 100%;
	}
	.plf01 dd {
		width: 100%;
	}
	.table05 {
		max-width: 550px;
		display: block;
	}
	.table05 dt {
		width: 100%;
	}
	.table05 dd {
		width: 100%;
		text-align: center;
	}
	.effort_deco {
		font-size: 10px;
		width: 60px;
		height: 60px;
		padding-top: 10px;
	}
	.effort_deco span {
		font-size: 23px;
	}
	.plf02 dt {
		float: left;
		font-size: 18px;
		padding-bottom: 20px;
		line-height: 180%;
	}
	.plf02 dd {
		font-size: 18px;
		margin-left: 30px;
		padding-bottom: 20px;
		line-height: 180%;
	}
}
@media only screen and (max-width: 680px) {
	.plf02 dt {
		float: left;
		font-size: 16px;
		padding-bottom: 20px;
		line-height: 180%;
	}
	.plf02 dd {
		font-size: 16px;
		margin-left: 30px;
		padding-bottom: 20px;
		line-height: 180%;
	}
}
.bg_orange {
	background-color: #E7752E;
	box-shadow: 0px 0px 0px 5px #E7752E;
}
.bg_yamabuki {
	background-color: #b19372;
	box-shadow: 0px 0px 0px 5px #b19372;
	border: dashed 2px #f1e1b1;
}
.bg_pink {
	background-color: #0f5606;
	box-shadow: 0px 0px 0px 5px #0f5606;
	border: dashed 2px #f08ebc;
}
.bg_mizuiro {
	background-color: #8fd2f4;
	box-shadow: 0px 0px 0px 5px #8fd2f4;
	border: dashed 2px #59cff0;
}
/*---------------------------------------------------------events*/

.month {
	font-size: 16px;
	display: block;
	width: 80px;
	height: 80px;
	padding-top: 15px;
	border-radius: 50%;
	color: #222;
	text-align: center;
	box-sizing: border-box;
	margin: 0 auto;
	border: dashed 2px;
	border-color: #ffb565;
	line-height: 150%;
	font-weight: 800;
}
.month span {
	display: inline-block;
	margin-top: -10px;
	font-size: 12px;
	font-weight: 800;
	font-style: normal;
	letter-spacing: 2px;
}
.month1 {
	font-size: 20px;
	display: block;
	width: 80px;
	height: 80px;
	padding-top: 10px;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
	margin: 5px auto;
	border: dashed 2px;
	border-color: #fff;
	font-weight: 500;
}
.month1 span {
	display: inline-block;
	margin-top: -10px;
	font-size: 12px;
	font-weight: 800;
	font-style: normal;
	letter-spacing: 2px;
}
@media only screen and (max-width: 800px) {
	.month {
		font-size: 12px;
		width: 60px;
		height: 60px;
		padding-top: 12px;
	}
	.month span {
		font-size: 10px;
		margin-top: -5px;
	}
	.month1 {
		font-size: 14px;
		width: 60px;
		height: 60px;
		padding-top: 10px;
		font-weight: 800;
	}
	.month1 span {
		font-size: 10px;
		margin-top: -5px;
	}
	.efb {
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		vertical-align: middle;
	}
	.cp_qa label {
		font-size: 18px;
	}
}
/*---------------------------------------------------------table*/

table {
	margin: 0px auto;
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
}
.tbl-r02{
	margin-bottom:20px;
}

.tbl-r02 th {
	background: #f4f7eb;
	border: 1px solid #ccc;
	color: #222;
	padding: 10px;
	vertical-align: middle;
	width: 9%;
	text-align:center;
	font-weight:bold;
}
.tbl-r02 td {
	border: 1px solid #ccc;
	padding: 10px;
	font-weight: 300;
	vertical-align: middle;
	width: 10%;
}
.tbl-r03 th {
	background: #FBFAE1;
	border: 1px solid #ccc;
	color: #222;
	padding: 10px;
}
.tbl-r03 td {
	border: 1px solid #ccc;
	padding: 10px;
	font-weight: 300;
	vertical-align: middle;
}
@media screen and (max-width: 640px) {
	.last td:last-child {
		border-bottom: solid 1px #ccc;
		width: 100%;
	}
	.tbl-r02 {
		width: 100%;
	}
	.tbl-r02 th, .tbl-r02 td {
		display: block;
		width: 100%;
	}
	.text_effort {
		text-align: left;
		font-size: 16px;
	}
	.text_effort1 {
		text-align: center;
	}
	.f-20_1 {
		font-size: 18px;
	}
	.box27 .box-title {
		font-size: 18px;
	}
	.box27 p {
		font-size: 16px;
    text-align: left;
	}
	#logo {
		min-width: 250px;
		max-width: 250px;
		padding: 0 0 0 5px;
		box-sizing: border-box;
		float: left;
		width: 20%;
		height: 50px;
		overflow: hidden;
		margin-top: -10px;
	}
	#logo img {
		width: 100%;
		height: auto;
	}
}
/*---------------------------------------------------------table*/

.tbl-r03 {
	font-size: 18px;
	padding: 15px;
}
.tbl-r03 th {
	background: #edf8cd;
	border: 1px solid #ccc;
	color: #222;
	padding: 10px;
}
.tbl-r03 td {
	border: 1px solid #ccc;
	padding: 10px;
	font-weight: 300;
}
@media screen and (max-width: 640px) {
	.tbl-r03 {
		font-size: 12px;
		padding: 10px;
	}
	.box27 {
		position: relative;
		margin: 40px 0px 40px;
		padding: 0.5em 1em;
		border: solid 3px #0f5606;
	}
}