/* =============================================================

	Base

* ============================================================= */
:root {
	--bg-color   : #ffffff;
	--text-color : #000000;
	--link-color : #ef821d;
}
html {
	scroll-padding-top: 110px;
}
@media screen and (max-width:1040px) {
	html {
		scroll-padding-top: 70px;
	}
}
body {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size:18px;
	line-height:1.75;
	letter-spacing:1px;
	font-weight: 400;
	color: var(--text-color);
	background-color: var(--bg-color);
	min-width: 375px;
}
a {
	-webkit-transition:all 0.4s ease;
	   -moz-transition:all 0.4s ease;
	    -ms-transition:all 0.4s ease;
	     -o-transition:all 0.4s ease;
	        transition:all 0.4s ease;
}
a:link, a:visited {
	color:var(--link-color);
	text-decoration: none;
}
a:hover, a:active {
	color:var(--link-color);
	text-decoration: underline;
}
img {
	vertical-align: top;
	max-width:100%;
	height:auto;
}
/* 768px以下では電話番号リンクを無効にする */
@media screen and (min-width: 768px) { 
	a[href^="tel:"] { 
		pointer-events: none;
	}
}
/* Chromeのみ「image-rendering」を指定（ぼやけを解消） */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	img {
		image-rendering: -webkit-optimize-contrast;
	}
}
/* ScrollRevealの初期チラつきを防止 */
.scroll {
  visibility: hidden;
}
/* 管理バーの編集ガイドを非表示 */
.veu_admin_bar_disable_button, .veu_adminEdit { display:none; }
/* ログイン時のツールバー処理 */
body.admin-bar #header { top: 32px !important; }
body.admin-bar #global_nav .global_menu { top: 54px !important; }
@media screen and ( max-width: 782px ) {
	body.admin-bar #header { top: 46px !important; }
	body.admin-bar #global_nav .global_menu { top: 68px !important; }
}
@media screen and ( max-width: 600px ) {
	html { margin-top: 0px !important; }
	body.admin-bar #top_image { margin-top: 46px; }
	body.admin-bar.active #header { top: 0px !important; }
	body.admin-bar.active #global_nav .global_menu { top: 22px !important; }
}
@media screen and (min-width:  0px) and (max-width:1040px) {
}
@media screen and (min-width:  0px) and (max-width: 767px) {
}
@media screen and (min-width:  0px) and (max-width: 575px) {
}



/******************************/
/* header */
/******************************/
#header {
	position: fixed;
	top: 0;
	left:0;
	right:0;
	z-index: 1000;
	background-color: rgba(255,255,255,1);
	width: 100%;
}
#header .header_wrap {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: auto;
	height: 110px;
	padding: 0 40px;
}
/* header_logo */
#header .header_logo {
	font-size: 0;
	padding: 0;
	margin: 0 auto 0 0;
}
/* header_nav */
#header .header_nav {
	list-style-type: none;
	display: flex;
	align-items: center;
	justify-content: center;
}
#header .header_nav > li {
	padding: 0 30px 0 0;
}
#header .header_nav > li:not(:last-child) {
	border-right: 2px solid var(--text-color);
	margin: 0 30px 0 0;
}
#header .header_nav > li a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-size:18px;
	line-height:1;
	letter-spacing:0px;
	font-weight: 700;
	text-decoration: none;
	color: var(--text-color);
	transition:all 0.2s ease;
}
#header .header_nav > li a:hover {
	color:var(--link-color);
}
/* header_nav_button */
#header .header_nav_button {
	position: absolute;
	top: 22px;
	right: 20px;
	width:  46px;
	height: 26px;
    cursor: pointer;
	display: none;
}
#header .header_nav_button > .menu_line {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: var(--text-color);
	transition:all 0.2s ease;
}
#header .header_nav_button > .menu_line_top {
	top: 7px;
}
#header .header_nav_button > .menu_line_bottom {
	top: 17px;
}
#header .header_nav_button.active > .menu_line_top {
	transform: translateY(5px) rotate(12deg);
}
#header .header_nav_button.active > .menu_line_bottom {
	transform: translateY(-5px) rotate(-12deg);
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#header .header_wrap {
		height: 70px;
		padding: 0 20px;
	}
	#header .header_logo {
		width: 160px;
		margin: 0 auto;
	}
	#header .header_nav {
		display: none;
	}
	#header .header_nav_button {
		display: block;
	}
}



/******************************/
/* global_nav */
/******************************/
#global_nav {
	box-sizing: border-box;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	position: fixed;
	z-index:999;
	top: -150vh;
	bottom: 150vh;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 100%;
	min-width: 375px;
	background-color: #ef821d;
	overflow: auto;
	padding: 0;
	transition:all 0.4s ease;
}
#global_nav.active {
	top: 0;
	bottom: 0;
}
.global_inner {
    width: 600px;
    max-width: 100%;
	padding: 130px 30px 30px 30px;
}
.global_inner > h2 {
	font-size:36px;
	line-height:1;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	color: #ffffff;
}
.global_inner > ul {
	list-style-type: none;
	margin: 30px 0 0 0;
}
.global_inner > ul li {
	margin: 12px 0 0 0;
}
.global_inner > ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-size:20px;
	line-height:1.35;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	color: #000000;
	background-color: #ffffff;
	border-radius: 10px;
	width: 100%;
	height: 124px;
}
.global_inner > ul li a span {
	font-size:34px;
}
.global_inner > ul li a:hover {
	opacity: 0.5;
}
.global_inner > ul li:nth-child(n+3) a {
	height: 72px;	
}
.global_inner > .about {
	font-size: 18px;
	line-height:1.5;
	letter-spacing:1px;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	margin: 100px 0 0 0;
}
.global_inner > .about .name::before {
	display: block;
	content: '';
	background-image: url(../../img/menu_logo.svg);
	width: 66px;
	height: 57px;
	margin: 0 auto 17px auto;
}
.global_inner > .about .address {
	font-size: 16px;
	letter-spacing:0px;
	color: #ffffff;
	margin: 5px 0 0 0;
}
.global_inner > .about .address a {
	text-decoration: none;
	color: #ffffff;
}
.global_inner > .about .copy {
	font-size: 14px;
	letter-spacing:0px;
	margin: 15px 0 0 0;
}



/******************************/
/* footer */
/******************************/
#footer {
	background-color: #ef821d;
}
#footer .footer_wrap {
	text-align: center;
	width: 1000px;
	max-width: 100%;
	padding: 50px 20px;
	margin: 0 auto;
}
#footer .footer_logo {
	font-size: 0;
	padding: 0;
	margin: 0 auto;
}
#footer .footer_address {
	font-size: 17px;
	line-height:1.6;
	letter-spacing:1px;
	font-weight: 500;
	text-decoration: none;
	color: #ffffff;
	margin: 15px 0 0 0;
}
#footer .footer_nav {
	list-style-type: none;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 20px;
}
#footer .footer_nav > li {
	font-size: 0;
	padding: 0;
	margin: 0;
}
#footer .footer_nav > li:not(:first-child) {
	margin: 0 0 0 20px;
}
#footer .footer_nav > li::before {
	display: inline-block;
	content: '';
	background-image: url(../../img/fooder_arrow.svg);
	background-size: auto;
	background-repeat: no-repeat;
	background-position: center center;
	width: 5.5px;
	height: 7.8px;
	margin-right: 5px;
}
#footer .footer_nav > li a {
	font-size: 13px;
	line-height:1.6;
	letter-spacing:0px;
	font-weight: 500;
	text-decoration: none;
	color: #ffffff;
}
#footer .footer_nav > li a:hover {
	opacity: 0.5;
}
#footer .footer_copy {
	font-size: 12px;
	line-height:1.6;
	letter-spacing:1px;
	font-weight: 500;
	color: #ffffff;
	margin: 20px 0 0 0;
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#footer .footer_wrap {
		padding: 20px;
	}
	#footer .footer_logo {
		width: 130px;
	}
	#footer .footer_address ,
	#footer .footer_nav {
		display: none;
	}
	#footer .footer_copy {
		margin: 0;
	}
}



/******************************/
/* about */
/******************************/
#about {
	background-color: #ef821d;
	padding: 0 0 100px 0;
	overflow:hidden;
}
/* main_image */
#about .main_image {
	position: relative;
	background-color: #eeeeee;
	height: 600px;
	margin: 110px 0 0 0;
	overflow: hidden;
}
#about .main_image > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#about .main_image_slick {
	display: none;
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#about {
		padding: 0 0 15px 0;
	}
	#about .main_image {
		display: none;
	}
	#about .main_image_slick {
		display: none;
		background-color: #eeeeee;
		margin: 70px 0 0 0;
		overflow: hidden;
	}
	#about .main_image_slick.slick-initialized {
		display: block;
	}
	#about .main_image_slick div {
		height: 600px;
	}
	#about .main_image_slick div img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}
@media screen and (min-width:  0px) and (max-width: 767px) {
	#about .main_image_slick div {
		height: 400px;
	}
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#about {
		padding: 0 0 15px 0;
	}
	#about .main_image_slick div {
		height: 300px;
	}
}
/* explanation_box */
#about .explanation_box {
	width: 1000px;
	max-width: 100%;
	padding: 0;
	margin: -420px auto 0 auto;
}
#about .explanation_box > .logo {
	max-width: 677.6px;
	margin: 0 auto;
}
#about .explanation_box > h2 {
	font-size: 40px;
	line-height:1.3;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	color: #ffffff;
	border-top: 4px solid #ffffff;
	border-bottom: 4px solid #ffffff;
	padding: 20px 0;
}
#about .explanation_box > p {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 18px;
	line-height:1.75;
	letter-spacing:0px;
	font-weight: 700;
	text-align: left;
	color: #ffffff;
	margin: 25px 0 0 0;
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#about .explanation_box {
		padding: 0 30px;
		margin: -420px auto 0 auto;
	}
	#about .explanation_box > .logo {
		padding: 0 35px;
	}
}
@media screen and (min-width:  0px) and (max-width: 767px) {
	#about .explanation_box {
		margin: -30vw auto 0 auto;
	}
	#about .explanation_box > h2 {
		font-size: 24px;
	}
}
/* osusume_box */
#about .osusume_box {
	position: relative;
	z-index: 1;
	text-align: center;
	width: 1086px;
	max-width: 100%;
	height: 100%;
	margin: 40px auto 0 auto;
}
#about .osusume_box > .pc {
	position: relative;
	display: block;
}
#about .osusume_box > .pc .all2 ,
#about .osusume_box > .pc .all3 ,
#about .osusume_box > .pc .all4 ,
#about .osusume_box > .pc .all5 {
	position: absolute;
	top: 0;
	left: 0;
}
#about .osusume_box > h2 ,
#about .osusume_box > .sp {
	position: relative;
	display: none;
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#about .osusume_box > h2 {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 24px;
		line-height:1.35;
		letter-spacing:0px;
		font-weight: 700;
		text-align: center;
		color: #ffffff;
		background-color: #000000;
		height: 50px;
		margin: 0 calc( 2% + 15px ) 20px;
	}
	#about .osusume_box > h2::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		border-width: 25px 0px 25px 15px;
		border-color: transparent transparent transparent #ef821d;
		border-style: solid;
		width: 0px;
		height: 0px;
	}
	#about .osusume_box > h2::after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1;
		border-width: 25px 15px 25px 0px;
		border-color: transparent #ef821d transparent transparent;
		border-style: solid;
		width: 0px;
		height: 0px;
	}
	#about .osusume_box > .pc {
		display: none;
	}
	#about .osusume_box > .sp {
		display: block;
	}
	#about .osusume_box > .sp .all2 ,
	#about .osusume_box > .sp .all3 ,
	#about .osusume_box > .sp .all4 ,
	#about .osusume_box > .sp .all5 {
		position: absolute;
		top: 0;
		left: 0;
	}
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#about .osusume_box > h2 {
		font-size: 18px;
	}
}
/* point_box */
#about .point_box {
	position: relative;
	background-color: #ffffff;
	border-radius: 50px;
	max-width: 1200px;
	padding: 220px 100px 110px 100px;
	margin: -180px auto 0 auto;
}
@media screen and (min-width:  0px) and (max-width:1240px) {
	#about .point_box {
		margin: -16vw 15px 0 15px;
	}
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#about .point_box {
		border-radius: 20px;
		padding: 17vw 30px 80px 30px;
	}
}
#about .point_box > .read {
	font-size: 30px;
	line-height:1.45;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	color: #000000;
}
#about .point_box > .read span {
	color: #ef821d;
}
#about .point_box > .read br {
	display: none;
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#about .point_box > .read {
		font-size: 4vw;
	}
	#about .point_box > .read br {
		display: block;
	}
}
@media screen and (min-width:  0px) and (max-width: 375px) {
	#about .point_box > .read {
		font-size: 15px;
	}
}
/* title */
#about .point_box > h3 {
	width: 534px;
	max-width: 100%;
	margin: 60px auto 0 auto;
}
@media screen and (min-width:  0px) and (max-width: 767px) {
	#about .point_box > h3 {
		width: 400px;
		margin: 40px auto 0 auto;
	}
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#about .point_box > h3 {
		width: 300px;
		margin: 40px auto 0 auto;
	}
}
/* point */
#about .point_box > .point {
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	margin: 20px 0 0 0;
}
#about .point_box > .point li {
	width: 30%;
}
#about .point_box > .point li h4 {
	font-size: 22px;
	line-height:1.35;
	letter-spacing:0px;
	font-weight: 700;
	text-align: left;
	color: #000000;
	border-left: 4px solid #ef821d;
	padding: 0 0 0 15px;
}
#about .point_box > .point li div.pc {
	text-align: center;
	margin: 25px 0 0 0;
}
#about .point_box > .point li div.sp {
	display: none;
}
#about .point_box > .point li p {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:17px;
	line-height:1.65;
	letter-spacing:0px;
	font-weight: 500;
	margin: 20px 0 0 0;
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#about .point_box > .point {
		display: block;
		width: 800px;
		max-width: 100%;
		margin: 20px auto 0;
	}
	#about .point_box > .point li {
		width: 100%;
	}
	#about .point_box > .point li:not(:first-child) {
		margin: 30px 0 0 0;		
	}
	#about .point_box > .point li h4 {
		border-left: none;
		padding: 0;
		padding-left:1em;
		text-indent:-1em;
	}
	#about .point_box > .point li h4 br {
		display: none;
	}
	#about .point_box > .point li h4::before {
		content: '\25CF';
		color: #ef821d;
	}
	#about .point_box > .point li div.pc {
		display: none;
	}
	#about .point_box > .point li div.sp {
		display: block;
		float: right;
		width: 100px;
		margin: 15px 0 0 15px;
	}
	#about .point_box > .point li p {
		margin: 10px 0 0 0;
	}
}
/* flow */
#about .point_box > .flow {
	list-style-type: none;
	width: 800px;
	max-width: 100%;
	margin: 35px auto 0;
}
#about .point_box > .flow li {
	position: relative;
	font-size:25px;
	line-height:1.5;
	letter-spacing:4px;
	font-weight: 700;
	text-align: center;
	color: #000000;
	background-color: #ffffff;
	border: 2px solid #ef821d;
	border-radius: 15px;
	padding: 20px 10px;
	margin: 0 0 50px 0;
}
#about .point_box > .flow li:first-child ,
#about .point_box > .flow li:last-child {
	font-size:30px;
	line-height:1.25;
	color: #000000;
	background-color: #f5ad6a;
}
#about .point_box > .flow li::after {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -52px;
	content: '';
	background-image: url(../../img/open_flow_arrow.svg);
	background-size: auto;
	background-repeat: no-repeat;
	background-position: center center;
	width: 39px;
	height: 50px;
	margin: 0 auto;
}
#about .point_box > .flow li:last-child {
	margin: 0;
}
#about .point_box > .flow li:last-child::after {
	display: none;
}
#about .point_box > .notes {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:13px;
	line-height:2;
	letter-spacing:0px;
	font-weight: 400;
	text-align: center;
	color: #000000;
	margin: 7px 0 0 0;
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#about .point_box > .flow {
		margin: 20px auto 0;
	}
	#about .point_box > .flow li {
		font-size:20px;
		line-height:1.5;
		letter-spacing:2px;
		border-radius: 10px;
		padding: 10px 0;
		margin: 0 0 30px 0;
	}
	#about .point_box > .flow li:first-child ,
	#about .point_box > .flow li:last-child {
		font-size:25px;
		line-height:1.20;
		color: #000000;
		background-color: #f5ad6a;
	}
	#about .point_box > .flow li::after {
		bottom: -32px;
		width: 23.4px;
		height: 30px;
	}
}
/* button */
#about .button {
	background-color: transparent !important;
	margin: 65px auto 0 auto;
}
#about .button > p {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size:18px;
	line-height:1.75;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	color: #000000;
	margin: 0 0 10px 0;
}
#about .button > p::before {
	content: '';
	width: 1px;
	height: 40px;
	background-color: #000000;
	margin-right: 20px;
	transform: rotate(-35deg);
}
#about .button > p::after {
	content: '';
	width: 1px;
	height: 40px;
	background-color: #000000;
	margin-left: 20px;
	transform: rotate(35deg);
}
#about .button > a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size:25px;
	line-height:1.5;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	color: #ffffff;
	background-color: #000000;
	width: 440px;
	max-width: 100%;
	height: 100px;
	margin: 0 auto;
}
#about .button > a:hover {
	opacity: 0.5;
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#about .button > p {
		font-size:16px;
	}
	#about .button {
		margin: 50px auto 0 auto;
	}
	#about .button > a {
		font-size:18px;
		height: 75px;
	}
}



/******************************/
/* pecoteria */
/******************************/
#pecoteria {
	background-color: #69bc82;
	padding: 100px 0 200px 0;
	margin: 20px 0 0 0;
	overflow:hidden;
}
#pecoteria .pecoteria_wrap {
	position: relative;
	background-color: #ffffff;
	border-radius: 50px;
	max-width: 1200px;
	padding: 115px 30px 130px 30px;
	margin: 0 auto;
}
@media screen and (min-width:  0px) and (max-width:1240px) {
	#pecoteria .pecoteria_wrap {
		margin: 0 15px;
	}
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#pecoteria {
		padding: 15px 0;
	}
	#pecoteria .pecoteria_wrap {
		border-radius: 20px;
		padding: 100px 30px 130px 30px;
	}
}
@media screen and (min-width:  0px) and (max-width: 767px) {
	#pecoteria .pecoteria_wrap {
		padding: 50px 30px 130px 30px;
	}
}
/* ellipse */
#pecoteria .ellipse01 {
	content: '';
	position: absolute;
	top: -135px;
	left: -235px;
	background-image: url(../../img/pecoteria_ellipse01.svg);
	background-size: auto;
	background-repeat: no-repeat;
	background-position: center center;
	width: 505px;
	height: 743px;
}
#pecoteria .ellipse02 {
	content: '';
	position: absolute;
	top: -550px;
	right: -700px;
	background-image: url(../../img/pecoteria_ellipse02.svg);
	background-size: auto;
	background-repeat: no-repeat;
	background-position: center center;
	width: 983px;
	height: 1284px;
}
#pecoteria .ellipse03 {
	content: '';
	position: absolute;
	bottom: -660px;
	left: -590px;
	background-image: url(../../img/pecoteria_ellipse03.svg);
	background-size: auto;
	background-repeat: no-repeat;
	background-position: center center;
	width: 1709px;
	height: 995px;
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#pecoteria .ellipse01 {
		top: -30px;
		left: -60px;
		width: 176px;
		height: 259px;
	}
	#pecoteria .ellipse02 {
		top: -170px;
		right: -230px;
		width: 345px;
		height: 450px;
	}
	#pecoteria .ellipse03 {
		bottom: -180px;
		left: -180px;
		width: 600px;
		height: 350px;
	}
}
/* title_box */
#pecoteria .title_box > h2 {
	width: 777px;
	max-width: 100%;
	margin: 0 auto;
}
#pecoteria .title_box > div {
	width: 777px;
	max-width: 100%;
	margin: 40px auto 0 auto;
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#pecoteria .title_box > div {
		margin: 20px auto 0 auto;
	}
}
/* smartphone_box */
#pecoteria .smartphone_box {
	width: 1117px;
	max-width: 100%;
	margin: 70px auto 0 auto;
}
#pecoteria .smartphone_box > .pc {
	position: relative;
	display: block;
}
#pecoteria .smartphone_box > .pc .all2 ,
#pecoteria .smartphone_box > .pc .all3 {
	position: absolute;
	top: 0;
	left: 0;
}
#pecoteria .smartphone_box > .sp {
	display: none;
}
#pecoteria .smartphone_box > .list {
	display: none;
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#pecoteria .smartphone_box > .pc {
		display: none;
	}
	#pecoteria .smartphone_box > .sp {
		display: block;
	}
	#pecoteria .smartphone_box > .list {
		display: block;
	}
	#pecoteria .smartphone_box > .list li {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size:30px;
		line-height:1.25;
		letter-spacing:0px;
		font-weight: 700;
		text-align: center;
		color: #ffffff;
		background-color: #ef821d;
		border-radius: 20px;
		height: 100px;
		padding: 0 5px;
		margin: 0 0 5px 0;
	}
	#pecoteria .smartphone_box > .list li:nth-child(even) {
		background-color: #ef5f1d;
	}
}
@media screen and (min-width:  0px) and (max-width: 767px) {
	#pecoteria .smartphone_box > .list li {
		font-size:24px;
	}
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#pecoteria .smartphone_box {
		margin: 30px auto 0 auto;
	}
	#pecoteria .smartphone_box > .list li {
		font-size:15px;
		border-radius: 10px;
		height: 50px;
	}
}
/* news_box */
#pecoteria .news_box {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size:30px;
	line-height:1;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	color: #ffffff;
	background-color: #009d3b;
	width: 1000px;
	max-width: 100%;
	height: 75px;
	margin: 50px auto 0 auto;
}
#pecoteria .news_box > span {
	display: inline-block;
	color: #009d3b;
	background-color: #ffffff;
	border-radius: 5px;
	padding: 0px 10px 5px 10px;
	margin: 0 20px 0 0;
	animation: blinking 0.5s infinite alternate;
}
@keyframes blinking {
	0%   { color: #009d3b; }
	30%  { color: #009d3b; }
	100% { color: #ffffff; }
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#pecoteria .news_box {
		display: none;
	}
}
/* info_box */
#pecoteria .info_box {
	text-align: center;
	background-image : linear-gradient(to right, #6c6c6c 2px, transparent 2px);
	background-size: 15px 2px;
	background-repeat: repeat-x;
	background-position: left center;
	width: 1000px;
	max-width: 100%;
	margin: 70px auto 0 auto;
}
#pecoteria .info_box > h4 {
	display: inline-block;
	font-family: "Montserrat", sans-serif;
	font-size:16px;
	line-height:1;
	letter-spacing:3px;
	font-weight: 500;
	text-align: center;
	color: #000000;
	background-color: #ffffff;
	padding: 0 10px 10px 10px;
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#pecoteria .info_box {
		margin: 35px auto 0 auto;
	}
	#pecoteria .info_box > h4 {
		font-size:14px;
		letter-spacing:2px;
	}
}
/* title */
#pecoteria h3.title {
	width: 644px;
	max-width: 100%;
	margin: 60px auto 0 auto;
}
#pecoteria h3.title:nth-of-type(2) {
	margin: 100px auto 0 auto;
}
@media screen and (min-width:  0px) and (max-width: 767px) {
	#pecoteria h3.title {
		width: 400px;
		margin: 40px auto 0 auto;
	}
	#pecoteria h3.title:nth-of-type(2) {
		margin: 65px auto 0 auto;
	}
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#pecoteria h3.title {
		width: 300px;
		margin: 15px auto 0 auto;
	}
	#pecoteria h3.title:nth-of-type(2) {
		margin: 35px auto 0 auto;
	}
}
/* table */
#pecoteria .table {
	width: 1000px;
	max-width: 100%;
	margin: 20px auto 0 auto;
}
#pecoteria .table th {
	font-family: "Montserrat", sans-serif;
	font-size:20px;
	line-height:1;
	letter-spacing:3px;
	font-weight: 500;
	text-align: left;
	color: #717071;
	padding: 0 0 10px 0;
}
#pecoteria .table th::before {
	content: '\25BC';
}
#pecoteria .table th:nth-child(2) {
	color: #5bb676;
}
#pecoteria .table td {
	position: relative;
	font-size:18px;
	line-height:1.75;
	letter-spacing:0px;
	font-weight: 500;
	text-align: left;
	vertical-align: middle;
	color: #5e5e5e;
	background-color: #ffffff;
	border: 1px solid #5bb676;
	padding: 30px 35px;
}
#pecoteria .table td:nth-child(1)::before {
	position: absolute;
	top: 0;
	bottom 0;
	right: -25px;
	z-index: 1;
	content: '';
	background-image: url(../../img/before_after_arrow.svg);
	background-size: auto;
	background-repeat: no-repeat;
	background-position: center center;
	width: 42.7px;
	height: 100%;
}
#pecoteria .table td:nth-child(2) {
	font-size:25px;
	line-height:1.35;
	letter-spacing:0px;
	font-weight: 700;
	text-align: left;
	color: #ef821d;
	background-color: #ffffc9;
	padding: 30px 55px;
}
#pecoteria .table td:first-child {
	border-left: 2px solid #5bb676;
}
#pecoteria .table td:last-child {
	border-right: 2px solid #5bb676;
}
#pecoteria .table tr:nth-child(2) td {
	border-top: 2px solid #5bb676;
}
#pecoteria .table tr:last-child td {
	border-bottom: 2px solid #5bb676;
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#pecoteria .table {
		width: 100%;
	}
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#pecoteria .table {
		margin: 10px auto 0 auto;
	}
	#pecoteria .table tr {
		border-bottom: 10px solid #ffffff;
	}
	#pecoteria .table th {
		display: none;
	}
	#pecoteria .table td {
		display: block;
		font-size:16px;
		line-height:1.5;
		text-align: center;
		padding: 8px 0;
		width: 100%;
	}
	#pecoteria .table td:nth-child(1) {
		border-top: 2px solid #5bb676;
		border-bottom: none;
		border-left: 2px solid #5bb676;
		border-right: 2px solid #5bb676;
	}
	#pecoteria .table td:nth-child(1)::before {
		position: absolute;
		top: auto;
		bottom: -14px;
		left: 0;
		right: 0;
		z-index: 1;
		content: '';
		background-image: url(../../img/before_after_arrow_s.svg);
		background-size: auto;
		background-repeat: no-repeat;
		background-position: center center;
		width: 100%;
		height: 20px;
	}
	#pecoteria .table td:nth-child(2) {
		font-size:18px;
		line-height:1.3;
		letter-spacing:0px;
		font-weight: 700;
		text-align: center;
		border-top: 1px solid #5bb676;
		border-bottom: 2px solid #5bb676;
		border-left: 2px solid #5bb676;
		border-right: 2px solid #5bb676;
		padding: 15px 10px;
	}
	#pecoteria .table tr:nth-child(2) td:nth-child(2) {
		border-top: 1px solid #5bb676;
	}
	#pecoteria .table tr:last-child td:nth-child(1) {
		border-bottom: none;
	}
}
/* text */
#pecoteria .text {
	font-size:19.5px;
	line-height:1.5;
	letter-spacing:0px;
	font-weight: 500;
	text-align: center;
	color: var(--text-color);
	margin: 15px auto 0;
}
#pecoteria .text br {
	display: none;
}
@media screen and (min-width:  0px) and (max-width: 767px) {
	#pecoteria .text br {
		display: block;
	}
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#pecoteria .text {
		font-size:13px;
	}
}
/* flow */
#pecoteria .flow {
	list-style-type: none;
	width: 800px;
	max-width: 100%;
	margin: 20px auto 0;
}
#pecoteria .flow > li {
	position: relative;
	font-size:25px;
	line-height:1.5;
	letter-spacing:4px;
	font-weight: 700;
	text-align: center;
	color: #009d3b;
	background-color: #ffffff;
	border: 2px solid #009d3b;
	border-radius: 15px;
	padding: 20px 10px;
	margin: 0 0 50px 0;
}
#pecoteria .flow > li:first-child {
	font-size:30px;
	line-height:1.25;
	color: #ffffff;
	background-color: #009d3b;
}
#pecoteria .flow > li:last-child {
	font-size:30px;
	line-height:1.25;
	color: #ffffff;
	background-color: #ef821d;
	border: 2px solid #ef821d;
}
#pecoteria .flow > li::after {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -52px;
	content: '';
	background-image: url(../../img/introduce_flow_arrow.svg);
	background-size: auto;
	background-repeat: no-repeat;
	background-position: center center;
	width: 39px;
	height: 50px;
	margin: 0 auto;
}
#pecoteria .flow > li:last-child {
	margin: 0;
}
#pecoteria .flow > li:last-child::after {
	display: none;
}
#pecoteria .notes {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:13px;
	line-height:2;
	letter-spacing:0px;
	font-weight: 400;
	text-align: center;
	color: #000000;
	margin: 7px 0 0 0;
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#pecoteria .flow > li {
		font-size:14px;
		line-height:1.5;
		letter-spacing:0px;
		border-radius: 10px;
		color: #000000;
		padding: 10px 0;
		margin: 0 0 30px 0;
	}
	#pecoteria .flow > li:first-child ,
	#pecoteria .flow > li:last-child {
		font-size:18px;
		line-height:1.2;
	}
	#pecoteria .flow > li::after {
		bottom: -32px;
		width: 23.4px;
		height: 30px;
	}
}
/* button */
#pecoteria .button {
	background-color: transparent !important;
	margin: 70px auto 0 auto;
}
#pecoteria .button > p {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size:18px;
	line-height:1.75;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	color: var(--text-color);
	margin: 0 0 10px 0;
}
#pecoteria .button > p::before {
	content: '';
	width: 1px;
	height: 40px;
	background-color: #000000;
	margin-right: 20px;
	transform: rotate(-35deg);
}
#pecoteria .button > p::after {
	content: '';
	width: 1px;
	height: 40px;
	background-color: #000000;
	margin-left: 20px;
	transform: rotate(35deg);
}
#pecoteria .button > a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size:25px;
	line-height:1.5;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	color: #ffffff;
	background-color: #000000;
	width: 440px;
	max-width: 100%;
	height: 100px;
	margin: 0 auto;
}
#pecoteria .button > a:hover {
	opacity: 0.5;
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#pecoteria .button > p {
		font-size:16px;
	}
	#pecoteria .button {
		margin: 50px auto 0 auto;
	}
	#pecoteria .button > a {
		font-size:18px;
		height: 75px;
	}
}



/******************************/
/* contact */
/******************************/
#contact {
	background-color: #ffffff;
	padding: 150px 0 200px 0;
}
#contact .contact_wrap {
	display: flex;
	justify-content: space-between;
	max-width: 1000px;
	margin: 0 auto;
}
/* box_text */
#contact .box_text {
	max-width: 100%;
}
#contact .box_text > h3 {
	font-size:34px;
	line-height:1.6;
	letter-spacing:0px;
	font-weight: 700;
	text-align: left;
	color: #009d3b;
}
#contact .box_text > p {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:16px;
	line-height:2.25;
	letter-spacing:0px;
	font-weight: 500;
	color: #6c6c6c;
	text-align: left;
	margin: 15px 0 0 0;
}
#contact .box_text > p.pc {
	display: block;
}
#contact .box_text > p.sp {
	display: none;
}
#contact .box_text > .button {
	background-color: transparent !important;
	margin: 30px 0 0 0;
}
#contact .box_text > .button a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:16px;
	line-height:1;
	letter-spacing:0px;
	font-weight: 500;
	text-decoration: none;
	color: #ffffff;
	background-color: #009d3b;
	border-radius: 3px;
	padding: 0 10px 0 15px;
	width: 250px;
	height: 30px;
	transition:all 0.4s ease;
}
#contact .box_text > .button a::after {
	display: inline-block;
	content: '';
	background-image: url(../../img/button_arrow.svg);
	background-size: auto;
	background-repeat: no-repeat;
	background-position: center center;
	width: 9px;
	height: 15px;
}
#contact .box_text > .button a:hover {
	opacity: 0.5;
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#contact {
		padding: 50px 30px 70px 30px;
	}
	#contact .contact_wrap {
		display: block;
	}
	#contact .box_text {
		margin: 0 auto;
	}
	#contact .box_text > h3 {
		text-align: center;
	}
	#contact .box_text > p.pc {
		display: none;
	}
	#contact .box_text > p.sp {
		display: block;
		line-height:1.5;
		text-align: center;
	}
	#contact .box_text > .button {
		text-align: center;
		margin: 20px 0 0 0;
	}
	#contact .box_text > .button a {
		display: inline-block;
		text-decoration: underline;
		text-align: center;
		color: #6c6c6c;
		background-color: transparent;
		border-radius: 0;
		width: auto;
		height: auto;
		padding: 0;
		transition:all 0.4s ease;
	}
	#contact .box_text > .button a::after {
		display: none;
	}
}
/* box_form */
#contact .box_form {
	width: 530px;
	max-width: 100%;
}
#contact .form_table {
	width: 100%;
}
#contact .form_table th ,
#contact .form_table td {
	display: block;
	font-size:12px;
	line-height:2;
	letter-spacing:0px;
	font-weight: 400;
	text-align: left;
	color: #6c6c6c;
	width: 100%;
}
#contact .form_table tr:not(:first-child) th {
	margin-top: 20px;
}
#contact .form_button {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-top: 40px;
}
#contact input {
	font-size:16px;
	line-height:2.2;
	letter-spacing:0px;
	font-weight: 400;
	color: #6c6c6c;
	background-color: #f3f3f3;
	border-radius:0px;
	border: none !important;
	width:100%;
	height:50px;
	padding:0 20px;
	margin: 0;
}
#contact textarea {
	font-size:16px;
	line-height:2.2;
	letter-spacing:0px;
	font-weight: 400;
	color: #6c6c6c;
	background-color: #f3f3f3;
	border-radius:0px;
	border: none !important;
	width:100%;
	height:350px;
	padding:15px 20px;
	margin: 0;
}
#contact input::placeholder ,
#contact textarea::placeholder {
	font-size:16px;
	line-height:2.2;
	letter-spacing:0px;
	font-weight: 400;
	color: #bbbbbb;
}
#contact input:focus,
#contact textarea:focus {
	background-color: #eeeeee;
	border: none !important;
	outline: none !important;
	box-shadow:none !important;
}
#contact input[type="submit"] {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:25px;
	line-height:1.5;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	color: #ffffff;
	background-color: #009d3b;
	width: 370px;
	max-width: 100%;
	height: 100px;
	margin: 0 auto;
	transition:all 0.4s ease;
	cursor: pointer;
}
#contact input[type="submit"]:hover {
	opacity: 0.5;
}
@media screen and (min-width:  0px) and (max-width:1040px) {
	#contact .box_form {
		width: 600px;
		margin: 30px auto 0 auto;
	}
	#contact textarea {
		height:200px;
	}
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#contact input[type="submit"] {
		font-size:18px;
		height: 75px;
	}
}
/* wpcf7 エラーメッセージ */
.wpcf7 .wpcf7-form-control-wrap {
	display: block;
	position: relative;
}
.wpcf7 .wpcf7-form-control-wrap input:has(+ .wpcf7-not-valid-tip) ,
.wpcf7 .wpcf7-form-control-wrap textarea:has(+ .wpcf7-not-valid-tip) {
	background-color: #fce5e8 !important;
}
.wpcf7 .wpcf7-form-control-wrap input:has(+ .wpcf7-not-valid-tip):focus ,
.wpcf7 .wpcf7-form-control-wrap textarea:has(+ .wpcf7-not-valid-tip):focus {
	background-color: #eeeeee !important;
}
.wpcf7 .wpcf7-not-valid-tip {
	position: absolute;
	top: -20px;
	right: 5px;
	display: inline-block;
	font-size: 10px;
	line-height: 2;
	letter-spacing:1px;
	font-weight: 400;
	color: #ffffff;
	background-color: #eb6877;
	border-radius: 5px;
	padding: 4px 5px 4px 15px;
	margin: 0;
}
.wpcf7 .wpcf7-not-valid-tip:before {
	content: "";
	position: absolute;
	bottom: -20px;
	right: 20px;
	border: 10px solid transparent;
	border-top: 10px solid #eb6877;
}
.wpcf7 form .wpcf7-response-output {
	font-size:16px;
	line-height:1.7;
	letter-spacing:0px;
	font-weight: 500;
	text-align: center;
	color:#000000;
	margin: 40px auto 0 auto;
	padding: 10px 20px;
	border: 2px solid #00a0d2;
	background-color: #00a0d2;
}
.wpcf7 form.init .wpcf7-response-output {
	display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
	display: none;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232;
	background-color: #dc3232;
}
.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28;
	background-color: #f56e28;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border-color: #ffb900;
	background-color: #ffb900;
}



/******************************/
/* contact thanks */
/* notfound */
/******************************/
#thanks {
	background-color: #ffffff;
}
#thanks .thanks_wrap {
	max-width: 1000px;
	padding: 300px 0 220px 0;
	margin: 0 auto;
}
@media screen and (max-width: 1040px) {
	#thanks {
		display: flex;
		align-items: center;
		justify-content: center;
		height: calc( 100vh - 99px );
	}
	#thanks .thanks_wrap {
		padding: 50px 30px 0 30px;
	}
}
@media screen and (max-height: 640px) {
	#thanks {
		height: auto;
	}
	#thanks .thanks_wrap {
		padding: 100px 30px 60px 30px;
	}
}
#thanks h3 {
	font-size:38px;
	line-height:1.5;
	letter-spacing:0;
	font-weight: 700;
	text-align: center;
	color:#ef821d;
}
#thanks p {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:16px;
	line-height:2.25;
	letter-spacing:0px;
	font-weight: 500;
	text-align: center;
	color: #6c6c6c;
	margin: 30px 0 0 0;
}
#thanks .button {
	background-color: transparent !important;
	margin: 50px 0 0 0;
}
#thanks .button > a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size:25px;
	line-height:1.5;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	color: #ffffff;
	background-color: #000000;
	width: 440px;
	max-width: 100%;
	height: 100px;
	margin: 0 auto;
	transition:all 0.4s ease;
}
#thanks .button > a:hover {
	opacity: 0.5;
}
@media screen and (max-width: 575px) {
	#thanks h3 {
		font-size:26px;
	}
	#thanks p {
		text-align: left;
	}
	#thanks p br {
		display: none;
	}
	#thanks .button > a {
		font-size:18px;
		width: 250px;
		height: 75px;
	}
}



/******************************/
/* policy */
/******************************/
#policy {
	background-color: #ffffff;
}
#policy .policy_wrap {
	max-width: 1000px;
	padding: 300px 0 220px 0;
	margin: 0 auto;
}
@media screen and (max-width: 1020px) {
	#policy .policy_wrap {
		padding: 140px 30px 90px 30px;
	}
}
#policy h2 {
	font-size:38px;
	line-height:1.5;
	letter-spacing:0;
	font-weight: 700;
	text-align: center;
	color:#ef821d;
	margin-bottom: 60px;
}
#policy h5 ,
#policy h6 {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:16px;
	line-height:2.25;
	letter-spacing:0px;
	font-weight: 500;
	text-align: left;
	color: #6c6c6c;
	margin-top: 30px;
}
#policy p {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:16px;
	line-height:2.25;
	letter-spacing:0px;
	font-weight: 500;
	text-align: left;
	color: #6c6c6c;
}
#policy .button {
	background-color: transparent !important;
	margin: 120px 0 0 0;
}
#policy .button > a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size:25px;
	line-height:1.5;
	letter-spacing:0px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	color: #ffffff;
	background-color: #000000;
	width: 440px;
	max-width: 100%;
	height: 100px;
	margin: 0 auto;
}
#policy .button > a:hover {
	opacity: 0.5;
}
@media screen and (min-width:  0px) and (max-width: 575px) {
	#policy h2 {
		font-size:26px;
		margin-bottom: 20px;
	}
	#policy p {
		line-height:1.5;
	}
	#policy .button {
		margin: 50px auto 0 auto;
	}
	#policy .button > a {
		font-size:18px;
		height: 75px;
	}
}
